Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nuUUm-0001G8-IZ for pgsql-hackers@arkaria.postgresql.org; Fri, 27 May 2022 07:34:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nuUUk-0003Fj-Dj for pgsql-hackers@arkaria.postgresql.org; Fri, 27 May 2022 07:34:50 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nuUUj-0003EV-HL for pgsql-hackers@lists.postgresql.org; Fri, 27 May 2022 07:34:50 +0000 Received: from esa1.fujitsucc.c3s2.iphmx.com ([68.232.152.245]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nuUUa-0002ud-8E for pgsql-hackers@lists.postgresql.org; Fri, 27 May 2022 07:34:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1653636880; x=1685172880; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=IYG2NU7DQJpYCFAYm9w60+NM1OUpxgRaAQ/712maNec=; b=k3YknJzgJVejtKRGi/WBobHLbIwDk+iKNG/+rJgzA1ZiVJJmpiXszXzo ybx8YOPxeGmAeYZl8/5ZbyMzSMEX2htBloJdt/Zqftjby1tbGhoDyThD7 BHmXNUV6Shpym4RV6y6YlRAVzAXAnBwWFwWvQkuFcZ0r/sINZv51mf4kr vefEZ9pcfoNab+UVHzNF4RqHmtGKi1qifJU1Y9D1FyQEx//UZnzK2P5Lt 5e3qDHS+J37wNvhkJE9jDzNt5lqooqyqkbibE3YFMiUvn93AcQ5C5HZ32 c8XIHx6AECr72Cs88tgETvG2YmTL3RAMywj26KbgUZNwakSPc00y12Hvn Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10359"; a="64961356" X-IronPort-AV: E=Sophos;i="5.91,254,1647270000"; d="scan'208,223";a="64961356" Received: from mail-os0jpn01lp2108.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.108]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 May 2022 16:34:35 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k9Ys8FL0zJgp8kn35ihoCJyzSir19BaP2CAmsryqevDkPjvLlTCVRjm+WQyHwLe8MhFt3B86rOJvh4cfgxDut3Otej+Vz48r5FmIR3+ny7XX/fkCr9a9ZUmTPoCU1rxN3q8wlhYjvN74yjnQ89yx8D7MMTiV7gUUQVTvTS9cdSMmLV3KRv04Z5R/vwUYZpV14cXxI+RLYeiuT9K2UonvSJI+pkoTwUxxPYr0ToaB1ppBHH9BlAvOEGAcJy507txmXfujO470+bCWrLNOsl7hLfhYX9IJDmQV4S2JbwyS3fZOaOdYkvuh4Q3LDEblEmehMjKxb1cvC3ve61VxB4bF6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=s8KTyNaDBmqBarB4EwZug2Rqb0HV7k69mWF7kaUdAFg=; b=jEcEAU2gURln1T9+C1qp06HuE8ungOoVUOf9GKOLc5PFFJ+NvSbDUaZ/BtndnaYK7m/E5HhH7Tf+0CsRMMOzgiwYBNzrUbBBrAux6Kwp2HyApQsPkZRtdlwEcdq6QY48I80g20TAPJsP2+tM4uYthuwcK8i1+bYwmi25k3D/hiw76dD4WTtYlnlV6bshZMGaSEsbTsebtQnEr3QsDxpN/+4wJburVfdsVioi3tp0SoyXS43JA8O458l/3d9j0+J7WQkFweZASzpSLfEzjFRU2lYFn3tZpeFjZUddwuXcdtOCQGJKQtYX5GJ7KacXlTAH+nXzTAaWE4fk9StvFrPwig== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.onmicrosoft.com; s=selector2-fujitsu-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=s8KTyNaDBmqBarB4EwZug2Rqb0HV7k69mWF7kaUdAFg=; b=E2ZzEFE0ZEa2g4s6DlZAF1atRvS+RDmF4AxjA8biRcKmQaSvXyvPkryBCYOIWzO4fLdSMMLgAA57QSVXRSnl8BBEjFGG8kRd57rTLRI3PeQJmXfU/88pqZkFfvS1Wwaj39l26852I3/BeVA//PDIJrwxYyUsh6jEUueYNvzptN8= Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com (2603:1096:604:bb::12) by OS3PR01MB7032.jpnprd01.prod.outlook.com (2603:1096:604:121::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.13; Fri, 27 May 2022 07:34:32 +0000 Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::fcd7:9667:ec81:d1d5]) by OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::fcd7:9667:ec81:d1d5%5]) with mapi id 15.20.5293.013; Fri, 27 May 2022 07:34:32 +0000 From: "houzj.fnst@fujitsu.com" To: Justin Pryzby , Amit Kapila CC: Alvaro Herrera , Tomas Vondra , Peter Eisentraut , "pgsql-hackers@lists.postgresql.org" , Tom Lane Subject: RE: bogus: logical replication rows/cols combinations Thread-Topic: bogus: logical replication rows/cols combinations Thread-Index: AQHYWLvr7qvS4uM3yUKV0WvFroYQ260BNqCAgAJOWACAAA3ygIABsfiAgABU3ACAAL2rgIABB3iAgABQf4CAAIkuAIAAC2YAgAJXawCAAH7VgIAARB0AgAAL/ACAAAGAAIAADnIAgAAILoCAB3TIAIACZU0AgACgnACAApNYgIAAjccAgAA9WkCAAYqnAIABhIMQgAS6/QCAAHg7gIAELAqAgAB2hACAACZiAIAA1MIAgAZvn1CABL2cAIAAAdKAgAAahcA= Date: Fri, 27 May 2022 07:34:32 +0000 Message-ID: References: <202205161320.butjtubabvgj@alvherre.pgsql> <20220519120724.GO19626@telsasoft.com> <165764.1652970286@sss.pgh.pa.us> <20220527055331.GF19626@telsasoft.com> In-Reply-To: <20220527055331.GF19626@telsasoft.com> Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d6f5b473-b9cf-46f3-ed03-08da3fb35783 x-ms-traffictypediagnostic: OS3PR01MB7032:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TW6vyR37renZS2I3ZoHGEyqcWA6kf8qufCLAk+pGMd0LX/ic6VWMP3ZuwOY3efMs8sNvRzPP38Xc8FJNmUo+vkoVXORMjmnho/g3T8EJulW8YCqiq/vgLX0IREXPBluUOTevPF6IFt3atWbGccS6POU0jtU/RJ6Qu1jr03MRkXEJgY/BdZ87fB/B92WUeqaiGMYE3L+E7EXzR00Sf8ETTD081ixF5CSGM9lQ0Dlzaca8GCghl4Auw1iYcE1mKkdXZirRxG8EnfdywZ12gXK3V/v1ESG4Pkr+2cIgeEGGk32nNitzFPV7dQi1N5LzLzSYz9+oirKSuMAoiPYRL0DYTOEP3TyilxpX5Ba7PVlWUk2xGyXtHE96frMYmZMJTBJ2Wj5k5xLlT8ao57rHOO/Fjm8woapZKdtDb2S24c8jycTuppnT+XVmLdNbU3V2ArkMyUb94oAifT4Fdnb2dnePqqWU28jNyC4FSQlWaQAQXGioy6g0Ku7Tz0hk4Qcb9gRctGJfSt0WL6PbQibViBAcOzymSDOzy3pElRMvZsTbdnkx0ZUfQQGGnGM5N99LG9tzasHENkkG6iFrkYaDHo8CV4DA7CFHbZSVYGr0IjO8vaDVpQM9nIPCIzTO9meWPhPRxIHBDjGU0fgxuBKxSh4DkZT1nmDABSkQ4mPdkdFAXuYoD9m+wUddFxx/gjOJpOlS8waXPN2KRizeIfecDoApiw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS0PR01MB5716.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(8936002)(316002)(38100700002)(2906002)(122000001)(54906003)(110136005)(53546011)(186003)(66446008)(38070700005)(85182001)(66556008)(52536014)(8676002)(7696005)(66476007)(4326008)(66946007)(55016003)(6506007)(64756008)(9686003)(26005)(82960400001)(86362001)(33656002)(5660300002)(71200400001)(508600001)(76116006)(99936003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?B?SElSMENLS0RLR0FjeGExWWptbXIvOTVNSGZyRWpYQ21qYUQ5QUUzZVM0?= =?iso-2022-jp?B?WnZUcnA0UDZIVWVSbTFRZTI3N3d0Y3dvWWM1YlVVVFcxM1F6NDViVUUz?= =?iso-2022-jp?B?UHB4UU9RbkJHaERVZEhnTC9UZDJITXN6c0xvVU95NU9HSmxyc3lua2pX?= =?iso-2022-jp?B?U2NpOFg5cmd6RVY1R2tsWUJnc3hoT1Z3ZDdVWVdVczl4ZVE1bDVpZ1da?= =?iso-2022-jp?B?KzVSdk9PdzVJcllhejArTTNramJZRnpNSjlieWhqc2kvODRjUGNCbjM0?= =?iso-2022-jp?B?OW9BMUFKTjlnY2Fmbnk5L1JKUmYybCsxaWc4TTBrbWFqdksyZUxsZS9K?= =?iso-2022-jp?B?dElGdXNRaXgwTFlwTHVyUXdYL1ZvdnR2QkJwQXlKelRiTTd4VGNaazlJ?= =?iso-2022-jp?B?dEZuc05SbXNlNzZyUmtFV0YvY2QybWx5ZG5pSFZCeHkyWEZDbmxVL0dO?= =?iso-2022-jp?B?N1Q5MjRlT0NEeFN2NittMDJoUVNkSkt4Z3RxN3hEcEpreElhb044ZWxr?= =?iso-2022-jp?B?VnQ3U2JzbWJHczFjM1BvOGRwOHpRRnVOOUgybEcxcCt2anc2Q25JVGVj?= =?iso-2022-jp?B?ZWx3SFAwaEtwVGgxeUErSmx2L3htL3dCZmtKaDNlMUsveTNGbkFBRU1U?= =?iso-2022-jp?B?TUxDaU9oYVdkbEhxdE1UaVpWN0ZNUklPa0FLbzVzczBUek1SZktmVmg5?= =?iso-2022-jp?B?Vm00UHkxSlRBNGJYK2lXMEVaOTdZOHZ3MEpqQzVDUG9zN2Y2RW5Zcy9l?= =?iso-2022-jp?B?TEZDZGo4NmZRNTQwV2FhNlk1ckIySUhLRlJFZTBMc1kwZjZTdnRnQW5V?= =?iso-2022-jp?B?M3ZvVXlMd3hXZE1haGpTU05JSytqNzNDVFZqc1A5T3F3YkVKMEJuMHV2?= =?iso-2022-jp?B?dHR5K3FJTDk5czRYc0owWFVJRWVHTTZiN2dDclJ1QUhRWitoMmhQZjJZ?= =?iso-2022-jp?B?NmRqTnlQWGxTdFRiWGhtd0lIT0trb1dxb0NMV0tZZ1F2L1A4L0l4WElP?= =?iso-2022-jp?B?R3lEWW1adFIyNGRMUzVtY2IrbzVNNjlIRGcwMW43U3pKcEw0aUZoejZK?= =?iso-2022-jp?B?R1hKSlltM01jV2NudkJra2dJSFd5anBqblduRFdRMEZTWkZtZE5zVThi?= =?iso-2022-jp?B?WEtXM0JkNXZFck9PVSszVzBpVEwzVjRVUFlPcUpUNzBCR3hJbVhuZVli?= =?iso-2022-jp?B?VmJtOVVnREtiSzhHS1NremdMMmZ4dnpPVjRIVmlzUkk0VEd5bEJLd2Zw?= =?iso-2022-jp?B?UWRWa3JYWnU3TDBQUGZ4dHJiejlCa1FhUUlLczREMWU1eGlaWGRpR2ZM?= =?iso-2022-jp?B?NDhFLytPU0NKYmQ3WFR3Z1J0WjFOM0NhbkFyRU1sNHBBVVc5OVErREIy?= =?iso-2022-jp?B?UFN6dUFOL20vZGZZeTN0ZExrWVNIN2VPaVQxOStXcnYrSWtZb0JnQ2NM?= =?iso-2022-jp?B?UVUyLzk5WCswem5oTWMyTHZTWHVzMVdnSCtJUjR4dzNhc3RsSHFwVDRt?= =?iso-2022-jp?B?VXZUWGMzc1huMVRYZHJJclc0bllxSTJJTk9qcHNuaGprUzM4cHkrSDJv?= =?iso-2022-jp?B?SEZ0aFZmNVVwMTNMQURlMDBvSVZ3TVRUSFdhTnhiSERtYngrMXN3OWNr?= =?iso-2022-jp?B?Q1IxcmpaQzNWZE9PZDEyajVRU1lJZ0JlWXlsMERBV2FVSXh1cXZMQkpC?= =?iso-2022-jp?B?d1o1TUVXUVdpbnVDZHlDZzkyalZ0ME84dGlJbC8yTzhPcGVsc21nRkQv?= =?iso-2022-jp?B?eFI3YnRFemF5SEZ2d09vNlE3dmgycGNsOEt4eGdpN0dCSGROSFNuUXVN?= =?iso-2022-jp?B?bTJTRG1rWWw5L091TDN5eVJ5bGwweEtEdnkzMVdJRUw1dGhZNVBQWkt5?= =?iso-2022-jp?B?OUJNSE1QampvdUlCd1Zacjk2cnFCNWY4T2M3Z1ZCVmtGU3VIQktMYm8x?= =?iso-2022-jp?B?YUdaRERGUXgxNG1ldm51ZWpoUUdHWVNkUU5KREY3T1k4TUpYN1dQY2NW?= =?iso-2022-jp?B?SjNoTGs1THRtU1JLOS8zalJramtyMlQzRnJ5Ny8xeGZDUGlXSlRYbU5j?= =?iso-2022-jp?B?Nm8wUkhQeEpiN1Y2RTA2azRlbU1zNnVGT0dWeWszTDB0cnk1YWhEbHpJ?= =?iso-2022-jp?B?dE11Zzc1bWpYT0VJbkpLSnd3SERHeFhpeFN1VmJ4S3E1R1BUMWRlRFdi?= =?iso-2022-jp?B?TkN6RWt4U0wvV1dJdDB1THUyNUJFUmlUNzFyamNCYzdGOE9TUWtBMzR5?= =?iso-2022-jp?B?UWJMem0wNzJyTm9XaStsWWdUM3BWV09YTFR6OEFxZnhCV2c1Tk5QMVNq?= =?iso-2022-jp?B?NmNhTVhrdDBobDdBYWhXdXdBaXUxUW1YT0ozcmdYOTVPU3pFMXM5eFNx?= =?iso-2022-jp?B?NzJwN0NuOFhjNjJOQ1c2OG5oZmcwWjUxZHlpdkhmbldyZDhubkc1Yko1?= =?iso-2022-jp?B?bEZyNldtUzVtK2lNay9iU1orVGxtNExYTnZ3R1pKYkRDdmQrWDhxNURv?= =?iso-2022-jp?B?RWcyWWhMNzVBV3JWdlRGL0tKNUdSVHZGZzgrZz09?= Content-Type: multipart/mixed; boundary="_003_OS0PR01MB5716FFBE5AACA8707C3420E994D89OS0PR01MB5716jpnp_" MIME-Version: 1.0 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS0PR01MB5716.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d6f5b473-b9cf-46f3-ed03-08da3fb35783 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 May 2022 07:34:32.5993 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: JbC/B8a/K7ExeG7rzNnRRbJrTe4TLs05aI13K2RBh0gwqmRV4BBaXH7HfgpZai4g8a+lA6XmKyC8CORDrRzvWw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB7032 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_003_OS0PR01MB5716FFBE5AACA8707C3420E994D89OS0PR01MB5716jpnp_ Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable On Friday, May 27, 2022 1:54 PM Justin Pryzby wrote: >=20 > On Fri, May 27, 2022 at 11:17:00AM +0530, Amit Kapila wrote: > > On Tue, May 24, 2022 at 11:03 AM houzj.fnst@fujitsu.com > wrote: > > > > > > On Friday, May 20, 2022 11:06 AM Amit Kapila > wrote: > > > > > > Thanks for pointing it out. Here is the new version patch which add t= his > version check. > > > > I have added/edited a few comments and ran pgindent. The attached > > looks good to me. I'll push this early next week unless there are more > > comments/suggestions. >=20 > A minor doc review. > Note that I also sent some doc comments at > 20220519120724.GO19626@telsasoft.com. >=20 > + lists among publications in which case ALTER > PUBLICATION > + command will be successful but later the WalSender in publisher > + or the >=20 > COMMA in which >=20 > remove "command" ? >=20 > s/in publisher/on the publisher/ >=20 > + Subscription having several publications in which the same table has = been > + published with different column lists is not supported. >=20 > Either "Subscriptions having .. are not supported"; or, "A subscription h= aving .. > is not supported". Thanks for the comments. Here is the new version patch set which fixes thes= e. Best regards, Hou zj --_003_OS0PR01MB5716FFBE5AACA8707C3420E994D89OS0PR01MB5716jpnp_ Content-Type: application/octet-stream; name="0001-language-fixes-on-HEAD-from-Justin.patch" Content-Description: 0001-language-fixes-on-HEAD-from-Justin.patch Content-Disposition: attachment; filename="0001-language-fixes-on-HEAD-from-Justin.patch"; size=3068; creation-date="Fri, 27 May 2022 07:33:00 GMT"; modification-date="Fri, 27 May 2022 07:34:31 GMT" Content-Transfer-Encoding: base64 RnJvbSA4M2E2ZTg1MTAwYTE3MzEyNDM5NmY4ZDRhYzI5ZmYxNzAzMTlmMGE0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiaG91emouZm5zdCIgPGhvdXpqLmZuc3RAY24uZnVqaXRzdS5j b20+CkRhdGU6IEZyaSwgMjcgTWF5IDIwMjIgMTU6MjQ6NTIgKzA4MDAKU3ViamVjdDogW1BBVENI XSBsYW5ndWFnZSBmaXhlcyBmcm9tIEp1c3RpbgoKLS0tCiBkb2Mvc3JjL3NnbWwvY2F0YWxvZ3Mu c2dtbCAgICAgICAgICAgfCA2ICsrKy0tLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNh dGlvbi5jIHwgMiArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgIHwgMiAr LQogMyBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwgYi9kb2Mvc3JjL3NnbWwvY2F0YWxv Z3Muc2dtbAppbmRleCBjMDBjOTNkLi45ODA4MTgwIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwv Y2F0YWxvZ3Muc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbApAQCAtOTcwMSw3 ICs5NzAxLDcgQEAgU0NSQU0tU0hBLTI1NiQ8cmVwbGFjZWFibGU+Jmx0O2l0ZXJhdGlvbiBjb3Vu dCZndDs8L3JlcGxhY2VhYmxlPjo8cmVwbGFjZWFibGU+JmwKIAogICAgICA8cm93PgogICAgICAg PGVudHJ5PjxsaW5rIGxpbmtlbmQ9InZpZXctcGctcHVibGljYXRpb24tdGFibGVzIj48c3RydWN0 bmFtZT5wZ19wdWJsaWNhdGlvbl90YWJsZXM8L3N0cnVjdG5hbWU+PC9saW5rPjwvZW50cnk+Ci0g ICAgICA8ZW50cnk+cHVibGljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBvZiB0aGVpciBhc3NvY2lh dGVkIHRhYmxlczwvZW50cnk+CisgICAgICA8ZW50cnk+cHVibGljYXRpb25zIGFuZCBpbmZvcm1h dGlvbiBhYm91dCB0aGVpciBhc3NvY2lhdGVkIHRhYmxlczwvZW50cnk+CiAgICAgIDwvcm93Pgog CiAgICAgIDxyb3c+CkBAIC0xMTY0NSw3ICsxMTY0NSw3IEBAIFNFTEVDVCAqIEZST00gcGdfbG9j a3MgcGwgTEVGVCBKT0lOIHBnX3ByZXBhcmVkX3hhY3RzIHBweAogCiAgIDxwYXJhPgogICAgVGhl IHZpZXcgPHN0cnVjdG5hbWU+cGdfcHVibGljYXRpb25fdGFibGVzPC9zdHJ1Y3RuYW1lPiBwcm92 aWRlcwotICAgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG1hcHBpbmcgYmV0d2VlbiBwdWJsaWNhdGlv bnMgYW5kIGluZm9ybWF0aW9uIG9mCisgICBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWFwcGluZyBi ZXR3ZWVuIHB1YmxpY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gYWJvdXQKICAgIHRhYmxlcyB0aGV5 IGNvbnRhaW4uICBVbmxpa2UgdGhlIHVuZGVybHlpbmcgY2F0YWxvZwogICAgPGxpbmsgbGlua2Vu ZD0iY2F0YWxvZy1wZy1wdWJsaWNhdGlvbi1yZWwiPjxzdHJ1Y3RuYW1lPnBnX3B1YmxpY2F0aW9u X3JlbDwvc3RydWN0bmFtZT48L2xpbms+LAogICAgdGhpcyB2aWV3IGV4cGFuZHMgcHVibGljYXRp b25zIGRlZmluZWQgYXMgPGxpdGVyYWw+Rk9SIEFMTCBUQUJMRVM8L2xpdGVyYWw+CkBAIC0xMTcw NSw3ICsxMTcwNSw3IEBAIFNFTEVDVCAqIEZST00gcGdfbG9ja3MgcGwgTEVGVCBKT0lOIHBnX3By ZXBhcmVkX3hhY3RzIHBweAogICAgICAgPC9wYXJhPgogICAgICAgPHBhcmE+CiAgICAgICAgTmFt ZXMgb2YgdGFibGUgY29sdW1ucyBpbmNsdWRlZCBpbiB0aGUgcHVibGljYXRpb24uIFRoaXMgY29u dGFpbnMgYWxsCi0gICAgICAgdGhlIGNvbHVtbnMgb2YgdGhlIHRhYmxlIHdoZW4gdGhlIHVzZXIg ZGlkbid0IHNwZWNpZnkgdGhlIGNvbHVtbiBsaXN0CisgICAgICAgdGhlIGNvbHVtbnMgb2YgdGhl IHRhYmxlIHdoZW4gdGhlIHVzZXIgZGlkbid0IHNwZWNpZnkgYSBjb2x1bW4gbGlzdAogICAgICAg IGZvciB0aGUgdGFibGUuCiAgICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgPC9yb3c+CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMgYi9zcmMvYmFja2Vu ZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMKaW5kZXggOGM3ZmNhNi4uMmY3MDZmNiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jCisrKyBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYwpAQCAtMTA3Nyw3ICsxMDc3LDcgQEAgZ2V0X3B1 YmxpY2F0aW9uX25hbWUoT2lkIHB1YmlkLCBib29sIG1pc3Npbmdfb2spCiB9CiAKIC8qCi0gKiBS ZXR1cm5zIGluZm9ybWF0aW9uIG9mIHRhYmxlcyBpbiBhIHB1YmxpY2F0aW9uLgorICogUmV0dXJu cyBpbmZvcm1hdGlvbiBhYm91dCB0YWJsZXMgaW4gYSBwdWJsaWNhdGlvbi4KICAqLwogRGF0dW0K IHBnX2dldF9wdWJsaWNhdGlvbl90YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykKZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X3Byb2MuZGF0CmluZGV4IDg3YWE1NzEuLjg2ZjEzMjkgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRh dApAQCAtMTE2NzMsNyArMTE2NzMsNyBAQAogICBwcm9zcmMgPT4gJ3BnX3Nob3dfcmVwbGljYXRp b25fb3JpZ2luX3N0YXR1cycgfSwKIAogIyBwdWJsaWNhdGlvbnMKLXsgb2lkID0+ICc2MTE5Jywg ZGVzY3IgPT4gJ2dldCBpbmZvcm1hdGlvbiBvZiB0YWJsZXMgaW4gYSBwdWJsaWNhdGlvbicsCit7 IG9pZCA9PiAnNjExOScsIGRlc2NyID0+ICdnZXQgaW5mb3JtYXRpb24gYWJvdXQgdGFibGVzIGlu IGEgcHVibGljYXRpb24nLAogICBwcm9uYW1lID0+ICdwZ19nZXRfcHVibGljYXRpb25fdGFibGVz JywgcHJvcm93cyA9PiAnMTAwMCcsIHByb3JldHNldCA9PiAndCcsCiAgIHByb3ZvbGF0aWxlID0+ ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJywgcHJvYXJndHlwZXMgPT4gJ3RleHQnLAogICBw cm9hbGxhcmd0eXBlcyA9PiAne3RleHQsb2lkLGludDJ2ZWN0b3IscGdfbm9kZV90cmVlfScsIHBy b2FyZ21vZGVzID0+ICd7aSxvLG8sb30nLAotLSAKMi43LjIud2luZG93cy4xCgo= --_003_OS0PR01MB5716FFBE5AACA8707C3420E994D89OS0PR01MB5716jpnp_ Content-Type: application/octet-stream; name="v6-0001-Prohibit-combining-publications-with-different-co.patch" Content-Description: v6-0001-Prohibit-combining-publications-with-different-co.patch Content-Disposition: attachment; filename="v6-0001-Prohibit-combining-publications-with-different-co.patch"; size=22969; creation-date="Fri, 27 May 2022 07:34:00 GMT"; modification-date="Fri, 27 May 2022 07:34:32 GMT" Content-Transfer-Encoding: base64 RnJvbSAyMDE3MjE3NzY3ODI4MDljM2JiOTliYjZmZjhmYmRlZGIwMjQ4M2FiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbWl0IEthcGlsYSA8YWthcGlsYUBwb3N0Z3Jlc3FsLm9yZz4K RGF0ZTogRnJpLCAyNyBNYXkgMjAyMiAwODozMDozMyArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjVd IFByb2hpYml0IGNvbWJpbmluZyBwdWJsaWNhdGlvbnMgd2l0aCBkaWZmZXJlbnQgY29sdW1uCiBs aXN0cy4KClRoZSBtYWluIHB1cnBvc2Ugb2YgaW50cm9kdWNpbmcgYSBjb2x1bW4gbGlzdCBpcyB0 byBoYXZlIHN0YXRpY2FsbHkKZGlmZmVyZW50IHNoYXBlcyBvbiBwdWJsaXNoZXIgYW5kIHN1YnNj cmliZXIgb3IgaGlkZSBzZW5zaXRpdmUgY29sdW1uCmRhdGEuIEluIGJvdGggY2FzZXMsIGl0IGRv ZXNuJ3Qgc2VlbSB0byBtYWtlIHNlbnNlIHRvIGNvbWJpbmUgY29sdW1uCmxpc3RzLgoKU28sIHdl IGRpc2FsbG93IHRoZSBjYXNlcyB3aGVyZSB0aGUgY29sdW1uIGxpc3QgaXMgZGlmZmVyZW50IGZv ciB0aGUgc2FtZQp0YWJsZSB3aGVuIGNvbWJpbmluZyBwdWJsaWNhdGlvbnMuIEl0IGNhbiBiZSBs YXRlciBleHRlbmRlZCB0byBjb21iaW5lIHRoZQpjb2x1bW4gbGlzdHMgZm9yIHNlbGVjdGl2ZSBj YXNlcyB3aGVyZSByZXF1aXJlZC4KClJlcG9ydGVkLWJ5OiBBbHZhcm8gSGVycmVyYQpBdXRob3I6 IEhvdSBaaGlqaWUKUmV2aWV3ZWQtYnk6IEFtaXQgS2FwaWxhLCBBbHZhcm8gSGVycmVyYSwgU2hp IFl1LCBUYWthbWljaGkgT3N1bWksIEp1c3RpbiBQcnl6YnkKRGlzY3Vzc2lvbjogaHR0cHM6Ly9w b3N0Z3IuZXMvbS8yMDIyMDQyNTE1NDgubXVkcTdqYnFuaDdyQGFsdmhlcnJlLnBnc3FsCi0tLQog ZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9wdWJsaWNhdGlvbi5zZ21sICAgICB8ICAxMiArKy0KIGRv Yy9zcmMvc2dtbC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5zZ21sICAgfCAgIDUgKwogc3JjL2Jh Y2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jICAgICB8ICAyOCArKysrKy0KIHNyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMgfCAgNzIgKysrKysrLS0tLS0t LQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vcGdvdXRwdXQvcGdvdXRwdXQuYyB8ICA4MCArKysr KysrLS0tLS0tLS0KIHNyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMV9jb2x1bW5fbGlzdC5wbCAg fCAxNTAgKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCAxODEg aW5zZXJ0aW9ucygrKSwgMTY2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dt bC9yZWYvYWx0ZXJfcHVibGljYXRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfcHVi bGljYXRpb24uc2dtbAppbmRleCBlMmNjZTQ5Li5mMDM5MzNhIDEwMDY0NAotLS0gYS9kb2Mvc3Jj L3NnbWwvcmVmL2FsdGVyX3B1YmxpY2F0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9h bHRlcl9wdWJsaWNhdGlvbi5zZ21sCkBAIC0xMTYsNyArMTE2LDE3IEBAIEFMVEVSIFBVQkxJQ0FU SU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVO QU1FIFRPIDxyCiAKICAgICAgPHBhcmE+CiAgICAgICBPcHRpb25hbGx5LCBhIGNvbHVtbiBsaXN0 IGNhbiBiZSBzcGVjaWZpZWQuICBTZWUgPHhyZWYKLSAgICAgIGxpbmtlbmQ9InNxbC1jcmVhdGVw dWJsaWNhdGlvbiIvPiBmb3IgZGV0YWlscy4KKyAgICAgIGxpbmtlbmQ9InNxbC1jcmVhdGVwdWJs aWNhdGlvbiIvPiBmb3IgZGV0YWlscy4gTm90ZSB0aGF0IGEgc3Vic2NyaXB0aW9uCisgICAgICBo YXZpbmcgc2V2ZXJhbCBwdWJsaWNhdGlvbnMgaW4gd2hpY2ggdGhlIHNhbWUgdGFibGUgaGFzIGJl ZW4gcHVibGlzaGVkCisgICAgICB3aXRoIGRpZmZlcmVudCBjb2x1bW4gbGlzdHMgaXMgbm90IHN1 cHBvcnRlZC4gU28sIGNoYW5naW5nIHRoZSBjb2x1bW4KKyAgICAgIGxpc3RzIG9mIHRoZSB0YWJs ZXMgYmVpbmcgc3Vic2NyaWJlZCBjb3VsZCBjYXVzZSBpbmNvbnNpc3RlbmN5IG9mIGNvbHVtbgor ICAgICAgbGlzdHMgYW1vbmcgcHVibGljYXRpb25zLCBpbiB3aGljaCBjYXNlIDxjb21tYW5kPkFM VEVSIFBVQkxJQ0FUSU9OPC9jb21tYW5kPgorICAgICAgd2lsbCBiZSBzdWNjZXNzZnVsIGJ1dCBs YXRlciB0aGUgV2FsU2VuZGVyIG9uIHRoZSBwdWJsaXNoZXIgb3IgdGhlCisgICAgICBzdWJzY3Jp YmVyIG1heSB0aHJvdyBhbiBlcnJvci4gSW4gdGhpcyBzY2VuYXJpbywgdGhlIHVzZXIgbmVlZHMg dG8KKyAgICAgIHJlY3JlYXRlIHRoZSBzdWJzY3JpcHRpb24gYWZ0ZXIgYWRqdXN0aW5nIHRoZSBj b2x1bW4gbGlzdCBvciBkcm9wIHRoZQorICAgICAgcHJvYmxlbWF0aWMgcHVibGljYXRpb24gdXNp bmcKKyAgICAgIDxsaXRlcmFsPkFMVEVSIFNVQlNDUklQVElPTiAuLi4gRFJPUCBQVUJMSUNBVElP TjwvbGl0ZXJhbD4gYW5kIHRoZW4gYWRkCisgICAgICBpdCBiYWNrIGFmdGVyIGFkanVzdGluZyB0 aGUgY29sdW1uIGxpc3QuCiAgICAgIDwvcGFyYT4KIAogICAgICA8cGFyYT4KZGlmZiAtLWdpdCBh L2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5zZ21sIGIvZG9jL3NyYy9zZ21s L3JlZi9jcmVhdGVfc3Vic2NyaXB0aW9uLnNnbWwKaW5kZXggMjAzYmI0MS4uZjZmODJhMCAxMDA2 NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfc3Vic2NyaXB0aW9uLnNnbWwKKysrIGIv ZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfc3Vic2NyaXB0aW9uLnNnbWwKQEAgLTM1Niw2ICszNTYs MTEgQEAgQ1JFQVRFIFNVQlNDUklQVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ c3Vic2NyaXB0aW9uX25hbWU8L3JlcGxhY2VhYmwKICAgPC9wYXJhPgogCiAgIDxwYXJhPgorICAg U3Vic2NyaXB0aW9ucyBoYXZpbmcgc2V2ZXJhbCBwdWJsaWNhdGlvbnMgaW4gd2hpY2ggdGhlIHNh bWUgdGFibGUgaGFzIGJlZW4KKyAgIHB1Ymxpc2hlZCB3aXRoIGRpZmZlcmVudCBjb2x1bW4gbGlz dHMgYXJlIG5vdCBzdXBwb3J0ZWQuCisgIDwvcGFyYT4KKworICA8cGFyYT4KICAgIFdlIGFsbG93 IG5vbi1leGlzdGVudCBwdWJsaWNhdGlvbnMgdG8gYmUgc3BlY2lmaWVkIHNvIHRoYXQgdXNlcnMg Y2FuIGFkZAogICAgdGhvc2UgbGF0ZXIuIFRoaXMgbWVhbnMKICAgIDxsaW5rIGxpbmtlbmQ9ImNh dGFsb2ctcGctc3Vic2NyaXB0aW9uIj48c3RydWN0bmFtZT5wZ19zdWJzY3JpcHRpb248L3N0cnVj dG5hbWU+PC9saW5rPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0 aW9uY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCmluZGV4 IDY5MGNkYWEuLjgzZTZlYWUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNj cmlwdGlvbmNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRz LmMKQEAgLTE3NTQsNiArMTc1NCwxMSBAQCBBbHRlclN1YnNjcmlwdGlvbk93bmVyX29pZChPaWQg c3ViaWQsIE9pZCBuZXdPd25lcklkKQogLyoKICAqIEdldCB0aGUgbGlzdCBvZiB0YWJsZXMgd2hp Y2ggYmVsb25nIHRvIHNwZWNpZmllZCBwdWJsaWNhdGlvbnMgb24gdGhlCiAgKiBwdWJsaXNoZXIg Y29ubmVjdGlvbi4KKyAqCisgKiBOb3RlIHRoYXQgd2UgZG9uJ3Qgc3VwcG9ydCB0aGUgY2FzZSB3 aGVyZSB0aGUgY29sdW1uIGxpc3QgaXMgZGlmZmVyZW50IGZvcgorICogdGhlIHNhbWUgdGFibGUg aW4gZGlmZmVyZW50IHB1YmxpY2F0aW9ucyB0byBhdm9pZCBzZW5kaW5nIHVud2FudGVkIGNvbHVt bgorICogaW5mb3JtYXRpb24gZm9yIHNvbWUgb2YgdGhlIHJvd3MuIFRoaXMgY2FuIGhhcHBlbiB3 aGVuIGJvdGggdGhlIGNvbHVtbgorICogbGlzdCBhbmQgcm93IGZpbHRlciBhcmUgc3BlY2lmaWVk IGZvciBkaWZmZXJlbnQgcHVibGljYXRpb25zLgogICovCiBzdGF0aWMgTGlzdCAqCiBmZXRjaF90 YWJsZV9saXN0KFdhbFJlY2VpdmVyQ29ubiAqd3Jjb25uLCBMaXN0ICpwdWJsaWNhdGlvbnMpCkBA IC0xNzYxLDE3ICsxNzY2LDIzIEBAIGZldGNoX3RhYmxlX2xpc3QoV2FsUmVjZWl2ZXJDb25uICp3 cmNvbm4sIExpc3QgKnB1YmxpY2F0aW9ucykKIAlXYWxSY3ZFeGVjUmVzdWx0ICpyZXM7CiAJU3Ry aW5nSW5mb0RhdGEgY21kOwogCVR1cGxlVGFibGVTbG90ICpzbG90OwotCU9pZAkJCXRhYmxlUm93 WzJdID0ge1RFWFRPSUQsIFRFWFRPSUR9OworCU9pZAkJCXRhYmxlUm93WzNdID0ge1RFWFRPSUQs IFRFWFRPSUQsIE5BTUVBUlJBWU9JRH07CiAJTGlzdAkgICAqdGFibGVsaXN0ID0gTklMOworCWJv b2wJCWNoZWNrX2NvbHVtbmxpc3QgPSAod2FscmN2X3NlcnZlcl92ZXJzaW9uKHdyY29ubikgPj0g MTUwMDAwKTsKIAogCWluaXRTdHJpbmdJbmZvKCZjbWQpOwotCWFwcGVuZFN0cmluZ0luZm9TdHJp bmcoJmNtZCwgIlNFTEVDVCBESVNUSU5DVCB0LnNjaGVtYW5hbWUsIHQudGFibGVuYW1lXG4iCi0J CQkJCQkgICAiICBGUk9NIHBnX2NhdGFsb2cucGdfcHVibGljYXRpb25fdGFibGVzIHRcbiIKKwlh cHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZjbWQsICJTRUxFQ1QgRElTVElOQ1QgdC5zY2hlbWFuYW1l LCB0LnRhYmxlbmFtZSBcbiIpOworCisJLyogR2V0IGNvbHVtbiBsaXN0cyBmb3IgZWFjaCByZWxh dGlvbiBpZiB0aGUgcHVibGlzaGVyIHN1cHBvcnRzIGl0ICovCisJaWYgKGNoZWNrX2NvbHVtbmxp c3QpCisJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoJmNtZCwgIiwgdC5hdHRuYW1lc1xuIik7CisK KwlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZjbWQsICJGUk9NIHBnX2NhdGFsb2cucGdfcHVibGlj YXRpb25fdGFibGVzIHRcbiIKIAkJCQkJCSAgICIgV0hFUkUgdC5wdWJuYW1lIElOICgiKTsKIAln ZXRfcHVibGljYXRpb25zX3N0cihwdWJsaWNhdGlvbnMsICZjbWQsIHRydWUpOwogCWFwcGVuZFN0 cmluZ0luZm9DaGFyKCZjbWQsICcpJyk7CiAKLQlyZXMgPSB3YWxyY3ZfZXhlYyh3cmNvbm4sIGNt ZC5kYXRhLCAyLCB0YWJsZVJvdyk7CisJcmVzID0gd2FscmN2X2V4ZWMod3Jjb25uLCBjbWQuZGF0 YSwgY2hlY2tfY29sdW1ubGlzdCA/IDMgOiAyLCB0YWJsZVJvdyk7CiAJcGZyZWUoY21kLmRhdGEp OwogCiAJaWYgKHJlcy0+c3RhdHVzICE9IFdBTFJDVl9PS19UVVBMRVMpCkBAIC0xNzk1LDcgKzE4 MDYsMTQgQEAgZmV0Y2hfdGFibGVfbGlzdChXYWxSZWNlaXZlckNvbm4gKndyY29ubiwgTGlzdCAq cHVibGljYXRpb25zKQogCQlBc3NlcnQoIWlzbnVsbCk7CiAKIAkJcnYgPSBtYWtlUmFuZ2VWYXIo bnNwbmFtZSwgcmVsbmFtZSwgLTEpOwotCQl0YWJsZWxpc3QgPSBsYXBwZW5kKHRhYmxlbGlzdCwg cnYpOworCisJCWlmIChjaGVja19jb2x1bW5saXN0ICYmIGxpc3RfbWVtYmVyKHRhYmxlbGlzdCwg cnYpKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9U X1NVUFBPUlRFRCksCisJCQkJCWVycm1zZygiY2Fubm90IHVzZSBkaWZmZXJlbnQgY29sdW1uIGxp c3RzIGZvciB0YWJsZSBcIiVzLiVzXCIgaW4gZGlmZmVyZW50IHB1YmxpY2F0aW9ucyIsCisJCQkJ CQkgICBuc3BuYW1lLCByZWxuYW1lKSk7CisJCWVsc2UKKwkJCXRhYmxlbGlzdCA9IGxhcHBlbmQo dGFibGVsaXN0LCBydik7CiAKIAkJRXhlY0NsZWFyVHVwbGUoc2xvdCk7CiAJfQpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMuYyBiL3NyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMKaW5kZXggOTk0YzdhMC4uNjcwYzZm YyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMu YworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3luYy5jCkBAIC03 NTMsMTcgKzc1Myw2IEBAIGZldGNoX3JlbW90ZV90YWJsZV9pbmZvKGNoYXIgKm5zcG5hbWUsIGNo YXIgKnJlbG5hbWUsCiAJLyoKIAkgKiBHZXQgY29sdW1uIGxpc3RzIGZvciBlYWNoIHJlbGF0aW9u LgogCSAqCi0JICogRm9yIGluaXRpYWwgc3luY2hyb25pemF0aW9uLCBjb2x1bW4gbGlzdHMgY2Fu IGJlIGlnbm9yZWQgaW4gZm9sbG93aW5nCi0JICogY2FzZXM6Ci0JICoKLQkgKiAxKSBvbmUgb2Yg dGhlIHN1YnNjcmliZWQgcHVibGljYXRpb25zIGZvciB0aGUgdGFibGUgaGFzbid0IHNwZWNpZmll ZAotCSAqIGFueSBjb2x1bW4gbGlzdAotCSAqCi0JICogMikgb25lIG9mIHRoZSBzdWJzY3JpYmVk IHB1YmxpY2F0aW9ucyBoYXMgcHViYWxsdGFibGVzIHNldCB0byB0cnVlCi0JICoKLQkgKiAzKSBv bmUgb2YgdGhlIHN1YnNjcmliZWQgcHVibGljYXRpb25zIGlzIGRlY2xhcmVkIGFzIEFMTCBUQUJM RVMgSU4KLQkgKiBTQ0hFTUEgdGhhdCBpbmNsdWRlcyB0aGlzIHJlbGF0aW9uCi0JICoKIAkgKiBX ZSBuZWVkIHRvIGRvIHRoaXMgYmVmb3JlIGZldGNoaW5nIGluZm8gYWJvdXQgY29sdW1uIG5hbWVz IGFuZCB0eXBlcywKIAkgKiBzbyB0aGF0IHdlIGNhbiBza2lwIGNvbHVtbnMgdGhhdCBzaG91bGQg bm90IGJlIHJlcGxpY2F0ZWQuCiAJICovCkBAIC03NzEsNyArNzYwLDcgQEAgZmV0Y2hfcmVtb3Rl X3RhYmxlX2luZm8oY2hhciAqbnNwbmFtZSwgY2hhciAqcmVsbmFtZSwKIAl7CiAJCVdhbFJjdkV4 ZWNSZXN1bHQgKnB1YnJlczsKIAkJVHVwbGVUYWJsZVNsb3QgKnNsb3Q7Ci0JCU9pZAkJCWF0dHJz Um93W10gPSB7SU5UMk9JRH07CisJCU9pZAkJCWF0dHJzUm93W10gPSB7SU5UMlZFQ1RPUk9JRH07 CiAJCVN0cmluZ0luZm9EYXRhIHB1Yl9uYW1lczsKIAkJYm9vbAkJZmlyc3QgPSB0cnVlOwogCkBA IC03ODYsMTkgKzc3NSwxNyBAQCBmZXRjaF9yZW1vdGVfdGFibGVfaW5mbyhjaGFyICpuc3BuYW1l LCBjaGFyICpyZWxuYW1lLAogCiAJCS8qCiAJCSAqIEZldGNoIGluZm8gYWJvdXQgY29sdW1uIGxp c3RzIGZvciB0aGUgcmVsYXRpb24gKGZyb20gYWxsIHRoZQotCQkgKiBwdWJsaWNhdGlvbnMpLiBX ZSB1bm5lc3QgdGhlIGludDJ2ZWN0b3IgdmFsdWVzLCBiZWNhdXNlIHRoYXQgbWFrZXMKLQkJICog aXQgZWFzaWVyIHRvIGNvbWJpbmUgbGlzdHMgYnkgc2ltcGx5IGFkZGluZyB0aGUgYXR0bnVtcyB0 byBhIG5ldwotCQkgKiBiaXRtYXAgKHdpdGhvdXQgaGF2aW5nIHRvIHBhcnNlIHRoZSBpbnQydmVj dG9yIGRhdGEpLiBUaGlzCi0JCSAqIHByZXNlcnZlcyBOVUxMIHZhbHVlcywgc28gdGhhdCBpZiBv bmUgb2YgdGhlIHB1YmxpY2F0aW9ucyBoYXMgbm8KLQkJICogY29sdW1uIGxpc3QsIHdlJ2xsIGtu b3cgdGhhdC4KKwkJICogcHVibGljYXRpb25zKS4KIAkJICovCiAJCXJlc2V0U3RyaW5nSW5mbygm Y21kKTsKIAkJYXBwZW5kU3RyaW5nSW5mbygmY21kLAotCQkJCQkJICJTRUxFQ1QgRElTVElOQ1Qg dW5uZXN0IgorCQkJCQkJICJTRUxFQ1QgRElTVElOQ1QiCisJCQkJCQkgIiAgKENBU0UgV0hFTiAo YXJyYXlfbGVuZ3RoKGdwdC5hdHRycywgMSkgPSBjLnJlbG5hdHRzKSIKKwkJCQkJCSAiICAgVEhF TiBOVUxMIEVMU0UgZ3B0LmF0dHJzIEVORCkiCiAJCQkJCQkgIiAgRlJPTSBwZ19wdWJsaWNhdGlv biBwLCIKLQkJCQkJCSAiICBMQVRFUkFMIHBnX2dldF9wdWJsaWNhdGlvbl90YWJsZXMocC5wdWJu YW1lKSBncHQiCi0JCQkJCQkgIiAgTEVGVCBPVVRFUiBKT0lOIHVubmVzdChncHQuYXR0cnMpIE9O IFRSVUUiCi0JCQkJCQkgIiBXSEVSRSBncHQucmVsaWQgPSAldSIKKwkJCQkJCSAiICBMQVRFUkFM IHBnX2dldF9wdWJsaWNhdGlvbl90YWJsZXMocC5wdWJuYW1lKSBncHQsIgorCQkJCQkJICIgIHBn X2NsYXNzIGMiCisJCQkJCQkgIiBXSEVSRSBncHQucmVsaWQgPSAldSBBTkQgYy5vaWQgPSBncHQu cmVsaWQiCiAJCQkJCQkgIiAgIEFORCBwLnB1Ym5hbWUgSU4gKCAlcyApIiwKIAkJCQkJCSBscmVs LT5yZW1vdGVpZCwKIAkJCQkJCSBwdWJfbmFtZXMuZGF0YSk7CkBAIC04MTMsMjYgKzgwMCw0MyBA QCBmZXRjaF9yZW1vdGVfdGFibGVfaW5mbyhjaGFyICpuc3BuYW1lLCBjaGFyICpyZWxuYW1lLAog CQkJCQkJCW5zcG5hbWUsIHJlbG5hbWUsIHB1YnJlcy0+ZXJyKSkpOwogCiAJCS8qCi0JCSAqIE1l cmdlIHRoZSBjb2x1bW4gbGlzdHMgKGZyb20gZGlmZmVyZW50IHB1YmxpY2F0aW9ucykgYnkgY3Jl YXRpbmcgYQotCQkgKiBzaW5nbGUgYml0bWFwIHdpdGggYWxsIHRoZSBhdHRudW1zLiBJZiB3ZSBm aW5kIGEgTlVMTCB2YWx1ZSwgdGhhdAotCQkgKiBtZWFucyBvbmUgb2YgdGhlIHB1YmxpY2F0aW9u cyBoYXMgbm8gY29sdW1uIGxpc3QgZm9yIHRoZSB0YWJsZQotCQkgKiB3ZSdyZSBzeW5jaW5nLgor CQkgKiBXZSBkb24ndCBzdXBwb3J0IHRoZSBjYXNlIHdoZXJlIHRoZSBjb2x1bW4gbGlzdCBpcyBk aWZmZXJlbnQgZm9yCisJCSAqIHRoZSBzYW1lIHRhYmxlIHdoZW4gY29tYmluaW5nIHB1YmxpY2F0 aW9ucy4gU2VlIGNvbW1lbnRzIGF0b3AKKwkJICogZmV0Y2hfdGFibGVfbGlzdC4gU28gdGhlcmUg c2hvdWxkIGJlIG9ubHkgb25lIHJvdyByZXR1cm5lZC4KKwkJICogQWx0aG91Z2ggd2UgYWxyZWFk eSBjaGVja2VkIHRoaXMgd2hlbiBjcmVhdGluZyB0aGUgc3Vic2NyaXB0aW9uLCB3ZQorCQkgKiBz dGlsbCBuZWVkIHRvIGNoZWNrIGhlcmUgaW4gY2FzZSB0aGUgY29sdW1uIGxpc3Qgd2FzIGNoYW5n ZWQgYWZ0ZXIKKwkJICogY3JlYXRpbmcgdGhlIHN1YnNjcmlwdGlvbiBhbmQgYmVmb3JlIHRoZSBz eW5jIHdvcmtlciBpcyBzdGFydGVkLgorCQkgKi8KKwkJaWYgKHR1cGxlc3RvcmVfdHVwbGVfY291 bnQocHVicmVzLT50dXBsZXN0b3JlKSA+IDEpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQllcnJj b2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkJZXJybXNnKCJjYW5ub3Qg dXNlIGRpZmZlcmVudCBjb2x1bW4gbGlzdHMgZm9yIHRhYmxlIFwiJXMuJXNcIiBpbiBkaWZmZXJl bnQgcHVibGljYXRpb25zIiwKKwkJCQkJCSAgIG5zcG5hbWUsIHJlbG5hbWUpKTsKKworCQkvKgor CQkgKiBHZXQgdGhlIGNvbHVtbiBsaXN0IGFuZCBidWlsZCBhIHNpbmdsZSBiaXRtYXAgd2l0aCB0 aGUgYXR0bnVtcy4KKwkJICoKKwkJICogSWYgd2UgZmluZCBhIE5VTEwgdmFsdWUsIGl0IG1lYW5z IGFsbCB0aGUgY29sdW1ucyBzaG91bGQgYmUKKwkJICogcmVwbGljYXRlZC4KIAkJICovCiAJCXNs b3QgPSBNYWtlU2luZ2xlVHVwbGVUYWJsZVNsb3QocHVicmVzLT50dXBsZWRlc2MsICZUVFNPcHNN aW5pbWFsVHVwbGUpOwotCQl3aGlsZSAodHVwbGVzdG9yZV9nZXR0dXBsZXNsb3QocHVicmVzLT50 dXBsZXN0b3JlLCB0cnVlLCBmYWxzZSwgc2xvdCkpCisJCWlmICh0dXBsZXN0b3JlX2dldHR1cGxl c2xvdChwdWJyZXMtPnR1cGxlc3RvcmUsIHRydWUsIGZhbHNlLCBzbG90KSkKIAkJewogCQkJRGF0 dW0JCWNmdmFsID0gc2xvdF9nZXRhdHRyKHNsb3QsIDEsICZpc251bGwpOwogCi0JCQkvKiBOVUxM IG1lYW5zIGVtcHR5IGNvbHVtbiBsaXN0LCBzbyB3ZSdyZSBkb25lLiAqLwotCQkJaWYgKGlzbnVs bCkKKwkJCWlmICghaXNudWxsKQogCQkJewotCQkJCWJtc19mcmVlKGluY2x1ZGVkX2NvbHMpOwot CQkJCWluY2x1ZGVkX2NvbHMgPSBOVUxMOwotCQkJCWJyZWFrOwotCQkJfQorCQkJCUFycmF5VHlw ZSAgKmFycjsKKwkJCQlpbnQJCQluZWxlbXM7CisJCQkJaW50MTYJICAgKmVsZW1zOwogCi0JCQlp bmNsdWRlZF9jb2xzID0gYm1zX2FkZF9tZW1iZXIoaW5jbHVkZWRfY29scywKLQkJCQkJCQkJCQkg ICBEYXR1bUdldEludDE2KGNmdmFsKSk7CisJCQkJYXJyID0gRGF0dW1HZXRBcnJheVR5cGVQKGNm dmFsKTsKKwkJCQluZWxlbXMgPSBBUlJfRElNUyhhcnIpWzBdOworCQkJCWVsZW1zID0gKGludDE2 ICopIEFSUl9EQVRBX1BUUihhcnIpOworCisJCQkJZm9yIChuYXR0ID0gMDsgbmF0dCA8IG5lbGVt czsgbmF0dCsrKQorCQkJCQlpbmNsdWRlZF9jb2xzID0gYm1zX2FkZF9tZW1iZXIoaW5jbHVkZWRf Y29scywgZWxlbXNbbmF0dF0pOworCQkJfQogCiAJCQlFeGVjQ2xlYXJUdXBsZShzbG90KTsKIAkJ fQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vcGdvdXRwdXQvcGdvdXRwdXQu YyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Bnb3V0cHV0L3Bnb3V0cHV0LmMKaW5kZXggNDJj MDZhZi4uOGRlYWU1NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vcGdvdXRw dXQvcGdvdXRwdXQuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291 dHB1dC5jCkBAIC05NzksMzAgKzk3OSwzMSBAQCBwZ291dHB1dF9jb2x1bW5fbGlzdF9pbml0KFBH T3V0cHV0RGF0YSAqZGF0YSwgTGlzdCAqcHVibGljYXRpb25zLAogCQkJCQkJICBSZWxhdGlvblN5 bmNFbnRyeSAqZW50cnkpCiB7CiAJTGlzdENlbGwgICAqbGM7CisJYm9vbAkJZmlyc3QgPSB0cnVl OworCVJlbGF0aW9uCXJlbGF0aW9uID0gUmVsYXRpb25JZEdldFJlbGF0aW9uKGVudHJ5LT5wdWJs aXNoX2FzX3JlbGlkKTsKIAogCS8qCiAJICogRmluZCBpZiB0aGVyZSBhcmUgYW55IGNvbHVtbiBs aXN0cyBmb3IgdGhpcyByZWxhdGlvbi4gSWYgdGhlcmUgYXJlLAotCSAqIGJ1aWxkIGEgYml0bWFw IG1lcmdpbmcgYWxsIHRoZSBjb2x1bW4gbGlzdHMuCi0JICoKLQkgKiBBbGwgdGhlIGdpdmVuIHB1 YmxpY2F0aW9uLXRhYmxlIG1hcHBpbmdzIG11c3QgYmUgY2hlY2tlZC4KKwkgKiBidWlsZCBhIGJp dG1hcCB1c2luZyB0aGUgY29sdW1uIGxpc3RzLgogCSAqCiAJICogTXVsdGlwbGUgcHVibGljYXRp b25zIG1pZ2h0IGhhdmUgbXVsdGlwbGUgY29sdW1uIGxpc3RzIGZvciB0aGlzCiAJICogcmVsYXRp b24uCiAJICoKKwkgKiBOb3RlIHRoYXQgd2UgZG9uJ3Qgc3VwcG9ydCB0aGUgY2FzZSB3aGVyZSB0 aGUgY29sdW1uIGxpc3QgaXMgZGlmZmVyZW50CisJICogZm9yIHRoZSBzYW1lIHRhYmxlIHdoZW4g Y29tYmluaW5nIHB1YmxpY2F0aW9ucy4gU2VlIGNvbW1lbnRzIGF0b3AKKwkgKiBmZXRjaF90YWJs ZV9saXN0LiBCdXQgb25lIGNhbiBsYXRlciBjaGFuZ2UgdGhlIHB1YmxpY2F0aW9uIHNvIHdlIHN0 aWxsCisJICogbmVlZCB0byBjaGVjayBhbGwgdGhlIGdpdmVuIHB1YmxpY2F0aW9uLXRhYmxlIG1h cHBpbmdzIGFuZCByZXBvcnQgYW4KKwkgKiBlcnJvciBpZiBhbnkgcHVibGljYXRpb25zIGhhdmUg YSBkaWZmZXJlbnQgY29sdW1uIGxpc3QuCisJICoKIAkgKiBGT1IgQUxMIFRBQkxFUyBhbmQgRk9S IEFMTCBUQUJMRVMgSU4gU0NIRU1BIGltcGxpZXMgImRvbid0IHVzZSBjb2x1bW4KLQkgKiBsaXN0 IiBzbyBpdCB0YWtlcyBwcmVjZWRlbmNlLgorCSAqIGxpc3QiLgogCSAqLwogCWZvcmVhY2gobGMs IHB1YmxpY2F0aW9ucykKIAl7CiAJCVB1YmxpY2F0aW9uICpwdWIgPSBsZmlyc3QobGMpOwogCQlI ZWFwVHVwbGUJY2Z0dXBsZSA9IE5VTEw7CiAJCURhdHVtCQljZmRhdHVtID0gMDsKLQotCQkvKgot CQkgKiBBc3N1bWUgdGhlcmUncyBubyBjb2x1bW4gbGlzdC4gT25seSBpZiB3ZSBmaW5kIHBnX3B1 YmxpY2F0aW9uX3JlbAotCQkgKiBlbnRyeSB3aXRoIGEgY29sdW1uIGxpc3Qgd2UnbGwgc3dpdGNo IGl0IHRvIGZhbHNlLgotCQkgKi8KLQkJYm9vbAkJcHViX25vX2xpc3QgPSB0cnVlOworCQlCaXRt YXBzZXQgICpjb2xzID0gTlVMTDsKIAogCQkvKgogCQkgKiBJZiB0aGUgcHVibGljYXRpb24gaXMg Rk9SIEFMTCBUQUJMRVMgdGhlbiBpdCBpcyB0cmVhdGVkIHRoZSBzYW1lIGFzCkBAIC0xMDExLDYg KzEwMTIsOCBAQCBwZ291dHB1dF9jb2x1bW5fbGlzdF9pbml0KFBHT3V0cHV0RGF0YSAqZGF0YSwg TGlzdCAqcHVibGljYXRpb25zLAogCQkgKi8KIAkJaWYgKCFwdWItPmFsbHRhYmxlcykKIAkJewor CQkJYm9vbAkJcHViX25vX2xpc3QgPSB0cnVlOworCiAJCQkvKgogCQkJICogQ2hlY2sgZm9yIHRo ZSBwcmVzZW5jZSBvZiBhIGNvbHVtbiBsaXN0IGluIHRoaXMgcHVibGljYXRpb24uCiAJCQkgKgpA QCAtMTAyNCw1MSArMTAyNyw0OCBAQCBwZ291dHB1dF9jb2x1bW5fbGlzdF9pbml0KFBHT3V0cHV0 RGF0YSAqZGF0YSwgTGlzdCAqcHVibGljYXRpb25zLAogCiAJCQlpZiAoSGVhcFR1cGxlSXNWYWxp ZChjZnR1cGxlKSkKIAkJCXsKLQkJCQkvKgotCQkJCSAqIExvb2t1cCB0aGUgY29sdW1uIGxpc3Qg YXR0cmlidXRlLgotCQkJCSAqCi0JCQkJICogTm90ZTogV2UgdXBkYXRlIHRoZSBwdWJfbm9fbGlz dCB2YWx1ZSBkaXJlY3RseSwgYmVjYXVzZSBpZgotCQkJCSAqIHRoZSB2YWx1ZSBpcyBOVUxMLCB3 ZSBoYXZlIG5vIGxpc3QgKGFuZCB2aWNlIHZlcnNhKS4KLQkJCQkgKi8KKwkJCQkvKiBMb29rdXAg dGhlIGNvbHVtbiBsaXN0IGF0dHJpYnV0ZS4gKi8KIAkJCQljZmRhdHVtID0gU3lzQ2FjaGVHZXRB dHRyKFBVQkxJQ0FUSU9OUkVMTUFQLCBjZnR1cGxlLAogCQkJCQkJCQkJCSAgQW51bV9wZ19wdWJs aWNhdGlvbl9yZWxfcHJhdHRycywKIAkJCQkJCQkJCQkgICZwdWJfbm9fbGlzdCk7CiAKLQkJCQkv KgotCQkJCSAqIEJ1aWxkIHRoZSBjb2x1bW4gbGlzdCBiaXRtYXAgaW4gdGhlIHBlci1lbnRyeSBj b250ZXh0LgotCQkJCSAqCi0JCQkJICogV2UgbmVlZCB0byBtZXJnZSBjb2x1bW4gbGlzdHMgZnJv bSBhbGwgcHVibGljYXRpb25zLCBzbyB3ZQotCQkJCSAqIHVwZGF0ZSB0aGUgc2FtZSBiaXRtYXBz ZXQuIElmIHRoZSBjb2x1bW4gbGlzdCBpcyBudWxsLCB3ZQotCQkJCSAqIGludGVycHJldCBpdCBh cyByZXBsaWNhdGluZyBhbGwgY29sdW1ucy4KLQkJCQkgKi8KKwkJCQkvKiBCdWlsZCB0aGUgY29s dW1uIGxpc3QgYml0bWFwIGluIHRoZSBwZXItZW50cnkgY29udGV4dC4gKi8KIAkJCQlpZiAoIXB1 Yl9ub19saXN0KQkvKiB3aGVuIG5vdCBudWxsICovCiAJCQkJewogCQkJCQlwZ291dHB1dF9lbnN1 cmVfZW50cnlfY3h0KGRhdGEsIGVudHJ5KTsKIAotCQkJCQllbnRyeS0+Y29sdW1ucyA9IHB1Yl9j b2xsaXN0X3RvX2JpdG1hcHNldChlbnRyeS0+Y29sdW1ucywKLQkJCQkJCQkJCQkJCQkJCSAgY2Zk YXR1bSwKLQkJCQkJCQkJCQkJCQkJCSAgZW50cnktPmVudHJ5X2N4dCk7CisJCQkJCWNvbHMgPSBw dWJfY29sbGlzdF90b19iaXRtYXBzZXQoY29scywgY2ZkYXR1bSwKKwkJCQkJCQkJCQkJCQllbnRy eS0+ZW50cnlfY3h0KTsKKworCQkJCQkvKgorCQkJCQkgKiBJZiBjb2x1bW4gbGlzdCBpbmNsdWRl cyBhbGwgdGhlIGNvbHVtbnMgb2YgdGhlIHRhYmxlLAorCQkJCQkgKiBzZXQgaXQgdG8gTlVMTC4K KwkJCQkJICovCisJCQkJCWlmIChibXNfbnVtX21lbWJlcnMoY29scykgPT0gUmVsYXRpb25HZXRO dW1iZXJPZkF0dHJpYnV0ZXMocmVsYXRpb24pKQorCQkJCQl7CisJCQkJCQlibXNfZnJlZShjb2xz KTsKKwkJCQkJCWNvbHMgPSBOVUxMOworCQkJCQl9CiAJCQkJfQorCisJCQkJUmVsZWFzZVN5c0Nh Y2hlKGNmdHVwbGUpOwogCQkJfQogCQl9CiAKLQkJLyoKLQkJICogRm91bmQgYSBwdWJsaWNhdGlv biB3aXRoIG5vIGNvbHVtbiBsaXN0LCBzbyB3ZSdyZSBkb25lLiBCdXQgZmlyc3QKLQkJICogZGlz Y2FyZCBjb2x1bW4gbGlzdCB3ZSBtaWdodCBoYXZlIGZyb20gcHJlY2VkaW5nIHB1YmxpY2F0aW9u cy4KLQkJICovCi0JCWlmIChwdWJfbm9fbGlzdCkKKwkJaWYgKGZpcnN0KQogCQl7Ci0JCQlpZiAo Y2Z0dXBsZSkKLQkJCQlSZWxlYXNlU3lzQ2FjaGUoY2Z0dXBsZSk7Ci0KLQkJCWJtc19mcmVlKGVu dHJ5LT5jb2x1bW5zKTsKLQkJCWVudHJ5LT5jb2x1bW5zID0gTlVMTDsKLQotCQkJYnJlYWs7CisJ CQllbnRyeS0+Y29sdW1ucyA9IGNvbHM7CisJCQlmaXJzdCA9IGZhbHNlOwogCQl9Ci0KLQkJUmVs ZWFzZVN5c0NhY2hlKGNmdHVwbGUpOworCQllbHNlIGlmICghYm1zX2VxdWFsKGVudHJ5LT5jb2x1 bW5zLCBjb2xzKSkKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCWVycmNvZGUoRVJSQ09ERV9GRUFU VVJFX05PVF9TVVBQT1JURUQpLAorCQkJCQllcnJtc2coImNhbm5vdCB1c2UgZGlmZmVyZW50IGNv bHVtbiBsaXN0cyBmb3IgdGFibGUgXCIlcy4lc1wiIGluIGRpZmZlcmVudCBwdWJsaWNhdGlvbnMi LAorCQkJCQkJICAgZ2V0X25hbWVzcGFjZV9uYW1lKFJlbGF0aW9uR2V0TmFtZXNwYWNlKHJlbGF0 aW9uKSksCisJCQkJCQkgICBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWxhdGlvbikpKTsKIAl9 CQkJCQkJCS8qIGxvb3AgYWxsIHN1YnNjcmliZWQgcHVibGljYXRpb25zICovCisKKwlSZWxhdGlv bkNsb3NlKHJlbGF0aW9uKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlw dGlvbi90LzAzMV9jb2x1bW5fbGlzdC5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMV9j b2x1bW5fbGlzdC5wbAppbmRleCAxOTgxMmUxLi43ZjAzMWJjIDEwMDY0NAotLS0gYS9zcmMvdGVz dC9zdWJzY3JpcHRpb24vdC8wMzFfY29sdW1uX2xpc3QucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2Ny aXB0aW9uL3QvMDMxX2NvbHVtbl9saXN0LnBsCkBAIC0yMCw2ICsyMCw3IEBAICRub2RlX3N1YnNj cmliZXItPmFwcGVuZF9jb25mKCdwb3N0Z3Jlc3FsLmNvbmYnLAogJG5vZGVfc3Vic2NyaWJlci0+ c3RhcnQ7CiAKIG15ICRwdWJsaXNoZXJfY29ubnN0ciA9ICRub2RlX3B1Ymxpc2hlci0+Y29ubnN0 ciAuICcgZGJuYW1lPXBvc3RncmVzJzsKK215ICRvZmZzZXQgPSAwOwogCiBzdWIgd2FpdF9mb3Jf c3Vic2NyaXB0aW9uX3N5bmMKIHsKQEAgLTM2MSwxMyArMzYyLDEzIEBAIGlzKCAkcmVzdWx0LCBx cSgxfGFiYwogMnx4eXopLCAndXBkYXRlIG9uIGNvbHVtbiB0YWIyLmMgaXMgbm90IHJlcGxpY2F0 ZWQnKTsKIAogCi0jIFRFU1Q6IGFkZCBhIHRhYmxlIHRvIHR3byBwdWJsaWNhdGlvbnMgd2l0aCBk aWZmZXJlbnQgY29sdW1uIGxpc3RzLCBhbmQKKyMgVEVTVDogYWRkIGEgdGFibGUgdG8gdHdvIHB1 YmxpY2F0aW9ucyB3aXRoIHNhbWUgY29sdW1uIGxpc3RzLCBhbmQKICMgY3JlYXRlIGEgc2luZ2xl IHN1YnNjcmlwdGlvbiByZXBsaWNhdGluZyBib3RoIHB1YmxpY2F0aW9ucwogJG5vZGVfcHVibGlz aGVyLT5zYWZlX3BzcWwoCiAJJ3Bvc3RncmVzJywgcXEoCiAJQ1JFQVRFIFRBQkxFIHRhYjUgKGEg aW50IFBSSU1BUlkgS0VZLCBiIGludCwgYyBpbnQsIGQgaW50KTsKIAlDUkVBVEUgUFVCTElDQVRJ T04gcHViMiBGT1IgVEFCTEUgdGFiNSAoYSwgYik7Ci0JQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjMg Rk9SIFRBQkxFIHRhYjUgKGEsIGQpOworCUNSRUFURSBQVUJMSUNBVElPTiBwdWIzIEZPUiBUQUJM RSB0YWI1IChhLCBiKTsKIAogCS0tIGluc2VydCBhIGNvdXBsZSBpbml0aWFsIHJlY29yZHMKIAlJ TlNFUlQgSU5UTyB0YWI1IFZBTFVFUyAoMSwgMTEsIDExMSwgMTExMSk7CkBAIC0zODgsOCArMzg5 LDcgQEAgd2FpdF9mb3Jfc3Vic2NyaXB0aW9uX3N5bmMoJG5vZGVfc3Vic2NyaWJlcik7CiAKICRu b2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOwogCi0jIGluc2VydCBkYXRh IGFuZCBtYWtlIHN1cmUgYWxsIHRoZSBjb2x1bW5zICh1bmlvbiBvZiB0aGUgY29sdW1ucyBsaXN0 cykKLSMgZ2V0IGZ1bGx5IHJlcGxpY2F0ZWQKKyMgaW5zZXJ0IGRhdGEgYW5kIG1ha2Ugc3VyZSB0 aGUgY29sdW1ucyBpbiBjb2x1bW4gbGlzdCBnZXQgZnVsbHkgcmVwbGljYXRlZAogJG5vZGVfcHVi bGlzaGVyLT5zYWZlX3BzcWwoCiAJJ3Bvc3RncmVzJywgcXEoCiAJSU5TRVJUIElOVE8gdGFiNSBW QUxVRVMgKDMsIDMzLCAzMzMsIDMzMzMpOwpAQCAtMzk5LDQyICszOTksMTIgQEAgJG5vZGVfcHVi bGlzaGVyLT5zYWZlX3BzcWwoCiAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ3N1 YjEnKTsKIAogaXMoICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VM RUNUICogRlJPTSB0YWI1IE9SREVSIEJZIGEiKSwKLQlxcSgxfDExfDExMTEKLTJ8MjJ8MjIyMgot M3wzM3wzMzMzCi00fDQ0fDQ0NDQpLAorCXFxKDF8MTF8CisyfDIyfAorM3wzM3wKKzR8NDR8KSwK IAknb3ZlcmxhcHBpbmcgcHVibGljYXRpb25zIHdpdGggb3ZlcmxhcHBpbmcgY29sdW1uIGxpc3Rz Jyk7CiAKLSMgYW5kIGZpbmFsbHksIHJlbW92ZSB0aGUgY29sdW1uIGxpc3QgZm9yIG9uZSBvZiB0 aGUgcHVibGljYXRpb25zLCB3aGljaAotIyBtZWFucyByZXBsaWNhdGluZyBhbGwgY29sdW1ucyAo cmVtb3ZpbmcgdGhlIGNvbHVtbiBsaXN0KSwgYnV0IGZpcnN0IGFkZAotIyB0aGUgbWlzc2luZyBj b2x1bW4gdG8gdGhlIHRhYmxlIG9uIHN1YnNjcmliZXIKLSRub2RlX3B1Ymxpc2hlci0+c2FmZV9w c3FsKAotCSdwb3N0Z3JlcycsIHFxKAotCUFMVEVSIFBVQkxJQ0FUSU9OIHB1YjMgU0VUIFRBQkxF IHRhYjU7Ci0pKTsKLQotJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKAotCSdwb3N0Z3Jlcycs IHFxKAotCUFMVEVSIFNVQlNDUklQVElPTiBzdWIxIFJFRlJFU0ggUFVCTElDQVRJT047Ci0JQUxU RVIgVEFCTEUgdGFiNSBBREQgQ09MVU1OIGMgSU5UOwotKSk7Ci0KLXdhaXRfZm9yX3N1YnNjcmlw dGlvbl9zeW5jKCRub2RlX3N1YnNjcmliZXIpOwotCi0kbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNx bCgKLQkncG9zdGdyZXMnLCBxcSgKLQlJTlNFUlQgSU5UTyB0YWI1IFZBTFVFUyAoNSwgNTUsIDU1 NSwgNTU1NSk7Ci0pKTsKLQotJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdzdWIx Jyk7Ci0KLWlzKCAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVD VCAqIEZST00gdGFiNSBPUkRFUiBCWSBhIiksCi0JcXEoMXwxMXwxMTExfAotMnwyMnwyMjIyfAot M3wzM3wzMzMzfAotNHw0NHw0NDQ0fAotNXw1NXw1NTU1fDU1NSksCi0JJ292ZXJsYXBwaW5nIHB1 YmxpY2F0aW9ucyB3aXRoIG92ZXJsYXBwaW5nIGNvbHVtbiBsaXN0cycpOwogCiAjIFRFU1Q6IGNy ZWF0ZSBhIHRhYmxlIHdpdGggYSBjb2x1bW4gbGlzdCwgdGhlbiBjaGFuZ2UgdGhlIHJlcGxpY2EK ICMgaWRlbnRpdHkgYnkgcmVwbGFjaW5nIGEgcHJpbWFyeSBrZXkgKGJ1dCB1c2UgYSBkaWZmZXJl bnQgY29sdW1uIGluCkBAIC05MDAsNTcgKzg3MCwyMSBAQCBpcyggJG5vZGVfc3Vic2NyaWJlci0+ c2FmZV9wc3FsKAogM3wpLAogCSdwYXJ0aXRpb25zIHdpdGggZGlmZmVyZW50IHJlcGxpY2EgaWRl bnRpdGllcyBub3QgcmVwbGljYXRlZCBjb3JyZWN0bHknKTsKIAotIyBURVNUOiBXaXRoIGEgdGFi bGUgaW5jbHVkZWQgaW4gbXVsdGlwbGUgcHVibGljYXRpb25zLCB3ZSBzaG91bGQgdXNlIGEKLSMg dW5pb24gb2YgdGhlIGNvbHVtbiBsaXN0cy4gU28gd2l0aCBjb2x1bW4gbGlzdHMgKGEsYikgYW5k IChhLGMpIHdlCi0jIHNob3VsZCByZXBsaWNhdGUgKGEsYixjKS4KLQotJG5vZGVfcHVibGlzaGVy LT5zYWZlX3BzcWwoCi0JJ3Bvc3RncmVzJywgcXEoCi0JQ1JFQVRFIFRBQkxFIHRlc3RfbWl4XzEg KGEgaW50IFBSSU1BUlkgS0VZLCBiIGludCwgYyBpbnQpOwotCUNSRUFURSBQVUJMSUNBVElPTiBw dWJfbWl4XzEgRk9SIFRBQkxFIHRlc3RfbWl4XzEgKGEsIGIpOwotCUNSRUFURSBQVUJMSUNBVElP TiBwdWJfbWl4XzIgRk9SIFRBQkxFIHRlc3RfbWl4XzEgKGEsIGMpOwotCi0JLS0gaW5pdGlhbCBk YXRhCi0JSU5TRVJUIElOVE8gdGVzdF9taXhfMSBWQUxVRVMgKDEsIDIsIDMpOwotKSk7Ci0KLSRu b2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgKLQkncG9zdGdyZXMnLCBxcSgKLQlDUkVBVEUgVEFC TEUgdGVzdF9taXhfMSAoYSBpbnQgUFJJTUFSWSBLRVksIGIgaW50LCBjIGludCk7Ci0JQUxURVIg U1VCU0NSSVBUSU9OIHN1YjEgU0VUIFBVQkxJQ0FUSU9OIHB1Yl9taXhfMSwgcHViX21peF8yOwot KSk7Ci0KLXdhaXRfZm9yX3N1YnNjcmlwdGlvbl9zeW5jKCRub2RlX3N1YnNjcmliZXIpOwotCi0k bm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKLQkncG9zdGdyZXMnLCBxcSgKLQlJTlNFUlQgSU5U TyB0ZXN0X21peF8xIFZBTFVFUyAoNCwgNSwgNik7Ci0pKTsKLQotJG5vZGVfcHVibGlzaGVyLT53 YWl0X2Zvcl9jYXRjaHVwKCdzdWIxJyk7Ci0KLWlzKCAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3Bz cWwoCi0JCSdwb3N0Z3JlcycsICJTRUxFQ1QgKiBGUk9NIHRlc3RfbWl4XzEgT1JERVIgQlkgYSIp LAotCXFxKDF8MnwzCi00fDV8NiksCi0JJ2EgbWl4IG9mIHB1YmxpY2F0aW9ucyBzaG91bGQgdXNl IGEgdW5pb24gb2YgY29sdW1uIGxpc3QnKTsKLQogCi0jIFRFU1Q6IFdpdGggYSB0YWJsZSBpbmNs dWRlZCBpbiBtdWx0aXBsZSBwdWJsaWNhdGlvbnMsIHdlIHNob3VsZCB1c2UgYQotIyB1bmlvbiBv ZiB0aGUgY29sdW1uIGxpc3RzLiBJZiBhbnkgb2YgdGhlIHB1YmxpY2F0aW9ucyBpcyBGT1IgQUxM Ci0jIFRBQkxFUywgd2Ugc2hvdWxkIHJlcGxpY2F0ZSBhbGwgY29sdW1ucy4KKyMgVEVTVDogV2l0 aCBhIHRhYmxlIGluY2x1ZGVkIGluIHRoZSBwdWJsaWNhdGlvbnMgd2hpY2ggaXMgRk9SIEFMTCBU QUJMRVMsIGl0CisjIG1lYW5zIHJlcGxpY2F0ZSBhbGwgY29sdW1ucy4KIAogIyBkcm9wIHVubmVj ZXNzYXJ5IHRhYmxlcywgc28gYXMgbm90IHRvIGludGVyZmVyZSB3aXRoIHRoZSBGT1IgQUxMIFRB QkxFUwogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCiAJJ3Bvc3RncmVzJywgcXEoCi0JRFJP UCBUQUJMRSB0YWIxLCB0YWIyLCB0YWIzLCB0YWI0LCB0YWI1LCB0YWI2LCB0YWI3LCB0ZXN0X21p eF8xLAorCURST1AgVEFCTEUgdGFiMSwgdGFiMiwgdGFiMywgdGFiNCwgdGFiNSwgdGFiNiwgdGFi NywKIAkJCSAgIHRlc3RfcGFydCwgdGVzdF9wYXJ0X2EsIHRlc3RfcGFydF9iLCB0ZXN0X3BhcnRf YywgdGVzdF9wYXJ0X2Q7CiApKTsKIAogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCiAJJ3Bv c3RncmVzJywgcXEoCiAJQ1JFQVRFIFRBQkxFIHRlc3RfbWl4XzIgKGEgaW50IFBSSU1BUlkgS0VZ LCBiIGludCwgYyBpbnQpOwotCUNSRUFURSBQVUJMSUNBVElPTiBwdWJfbWl4XzMgRk9SIFRBQkxF IHRlc3RfbWl4XzIgKGEsIGIpOworCUNSRUFURSBQVUJMSUNBVElPTiBwdWJfbWl4XzMgRk9SIFRB QkxFIHRlc3RfbWl4XzIgKGEsIGIsIGMpOwogCUNSRUFURSBQVUJMSUNBVElPTiBwdWJfbWl4XzQg Rk9SIEFMTCBUQUJMRVM7CiAKIAktLSBpbml0aWFsIGRhdGEKQEAgLTk3NiwxMiArOTEwLDExIEBA ICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOwogaXMoICRub2RlX3N1 YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUICogRlJPTSB0ZXN0X21peF8y IiksCiAJcXEoMXwyfDMKIDR8NXw2KSwKLQknYSBtaXggb2YgcHVibGljYXRpb25zIHNob3VsZCB1 c2UgYSB1bmlvbiBvZiBjb2x1bW4gbGlzdCcpOworCSdhbGwgY29sdW1ucyBzaG91bGQgYmUgcmVw bGljYXRlZCcpOwogCiAKLSMgVEVTVDogV2l0aCBhIHRhYmxlIGluY2x1ZGVkIGluIG11bHRpcGxl IHB1YmxpY2F0aW9ucywgd2Ugc2hvdWxkIHVzZSBhCi0jIHVuaW9uIG9mIHRoZSBjb2x1bW4gbGlz dHMuIElmIGFueSBvZiB0aGUgcHVibGljYXRpb25zIGlzIEZPUiBBTEwKLSMgVEFCTEVTIElOIFND SEVNQSwgd2Ugc2hvdWxkIHJlcGxpY2F0ZSBhbGwgY29sdW1ucy4KKyMgVEVTVDogV2l0aCBhIHRh YmxlIGluY2x1ZGVkIGluIHRoZSBwdWJsaWNhdGlvbiB3aGljaCBpcyBGT1IgQUxMIFRBQkxFUwor IyBJTiBTQ0hFTUEsIGl0IG1lYW5zIHJlcGxpY2F0ZSBhbGwgY29sdW1ucy4KIAogJG5vZGVfc3Vi c2NyaWJlci0+c2FmZV9wc3FsKAogCSdwb3N0Z3JlcycsIHFxKApAQCAtOTkzLDcgKzkyNiw3IEBA ICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAogCSdwb3N0Z3JlcycsIHFxKAogCURST1AgVEFC TEUgdGVzdF9taXhfMjsKIAlDUkVBVEUgVEFCTEUgdGVzdF9taXhfMyAoYSBpbnQgUFJJTUFSWSBL RVksIGIgaW50LCBjIGludCk7Ci0JQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1Yl9taXhfNSBGT1IgVEFC TEUgdGVzdF9taXhfMyAoYSwgYik7CisJQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1Yl9taXhfNSBGT1Ig VEFCTEUgdGVzdF9taXhfMyAoYSwgYiwgYyk7CiAJQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1Yl9taXhf NiBGT1IgQUxMIFRBQkxFUyBJTiBTQ0hFTUEgcHVibGljOwogCiAJLS0gaW5pdGlhbCBkYXRhCkBA IC0xMDE3LDcgKzk1MCw3IEBAICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3Vi MScpOwogaXMoICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNU ICogRlJPTSB0ZXN0X21peF8zIiksCiAJcXEoMXwyfDMKIDR8NXw2KSwKLQknYSBtaXggb2YgcHVi bGljYXRpb25zIHNob3VsZCB1c2UgYSB1bmlvbiBvZiBjb2x1bW4gbGlzdCcpOworCSdhbGwgY29s dW1ucyBzaG91bGQgYmUgcmVwbGljYXRlZCcpOwogCiAKICMgVEVTVDogQ2hlY2sgaGFuZGxpbmcg b2YgcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QgLSBpZiBhIHBhcnRpdGlvbiBpcwpAQCAtMTA3 NCw3ICsxMDA3LDcgQEAgaXMoICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgKICMgVEVTVDog TXVsdGlwbGUgcHVibGljYXRpb25zIHdoaWNoIHB1Ymxpc2ggc2NoZW1hIG9mIHBhcmVudCB0YWJs ZSBhbmQKICMgcGFydGl0aW9uLiBUaGUgcGFydGl0aW9uIGlzIHB1Ymxpc2hlZCB0aHJvdWdoIHR3 byBwdWJsaWNhdGlvbnMsIG9uY2UKICMgdGhyb3VnaCBhIHNjaGVtYSAoc28gbm8gY29sdW1uIGxp c3QpIGNvbnRhaW5pbmcgdGhlIHBhcmVudCwgYW5kIHRoZW4KLSMgYWxzbyBkaXJlY3RseSAod2l0 aCBhIGNvbHVtbnMgbGlzdCkuIFRoZSBleHBlY3RlZCBvdXRjb21lIGlzIHRoZXJlIGlzCisjIGFs c28gZGlyZWN0bHkgKHdpdGggYWxsIGNvbHVtbnMpLiBUaGUgZXhwZWN0ZWQgb3V0Y29tZSBpcyB0 aGVyZSBpcwogIyBubyBjb2x1bW4gbGlzdC4KIAogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwo CkBAIC0xMDg2LDcgKzEwMTksNyBAQCAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKIAlDUkVB VEUgVEFCTEUgdF8xIFBBUlRJVElPTiBPRiBzMS50IEZPUiBWQUxVRVMgRlJPTSAoMSkgVE8gKDEw KTsKIAogCUNSRUFURSBQVUJMSUNBVElPTiBwdWIxIEZPUiBBTEwgVEFCTEVTIElOIFNDSEVNQSBz MTsKLQlDUkVBVEUgUFVCTElDQVRJT04gcHViMiBGT1IgVEFCTEUgdF8xKGIpOworCUNSRUFURSBQ VUJMSUNBVElPTiBwdWIyIEZPUiBUQUJMRSB0XzEoYSwgYiwgYyk7CiAKIAktLSBpbml0aWFsIGRh dGEKIAlJTlNFUlQgSU5UTyBzMS50IFZBTFVFUyAoMSwgMiwgMyk7CkBAIC0xMjMzLDYgKzExNjYs NTEgQEAgaXMoICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgKIAkncHVibGljYXRpb24gY29u dGFpbmluZyBib3RoIHBhcmVudCBhbmQgY2hpbGQgcmVsYXRpb24nKTsKIAogCisjIFRFU1Q6IFdp dGggYSB0YWJsZSBpbmNsdWRlZCBpbiBtdWx0aXBsZSBwdWJsaWNhdGlvbnMgd2l0aCBkaWZmZXJl bnQgY29sdW1uCisjIGxpc3RzLCB3ZSBzaG91bGQgY2F0Y2ggdGhlIGVycm9yIHdoZW4gY3JlYXRp bmcgdGhlIHN1YnNjcmlwdGlvbi4KKworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywgcXEoCisJQ1JFQVRFIFRBQkxFIHRlc3RfbWl4XzEgKGEgaW50IFBSSU1BUlkgS0VZLCBi IGludCwgYyBpbnQpOworCUNSRUFURSBQVUJMSUNBVElPTiBwdWJfbWl4XzEgRk9SIFRBQkxFIHRl c3RfbWl4XzEgKGEsIGIpOworCUNSRUFURSBQVUJMSUNBVElPTiBwdWJfbWl4XzIgRk9SIFRBQkxF IHRlc3RfbWl4XzEgKGEsIGMpOworKSk7CisKKyRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgn cG9zdGdyZXMnLCBxcSgKKwlEUk9QIFNVQlNDUklQVElPTiBzdWIxOworCUNSRUFURSBUQUJMRSB0 ZXN0X21peF8xIChhIGludCBQUklNQVJZIEtFWSwgYiBpbnQsIGMgaW50KTsKKykpOworCitteSAo JGNtZHJldCwgJHN0ZG91dCwgJHN0ZGVycikgPSAkbm9kZV9zdWJzY3JpYmVyLT5wc3FsKAorCSdw b3N0Z3JlcycsIHFxKAorCUNSRUFURSBTVUJTQ1JJUFRJT04gc3ViMSBDT05ORUNUSU9OICckcHVi bGlzaGVyX2Nvbm5zdHInIFBVQkxJQ0FUSU9OIHB1Yl9taXhfMSwgcHViX21peF8yOworKSk7CisK K29rKCAkc3RkZXJyID1+CisJICBxci9jYW5ub3QgdXNlIGRpZmZlcmVudCBjb2x1bW4gbGlzdHMg Zm9yIHRhYmxlICJwdWJsaWMudGVzdF9taXhfMSIgaW4gZGlmZmVyZW50IHB1YmxpY2F0aW9ucy8s CisJJ2RpZmZlcmVudCBjb2x1bW4gbGlzdHMgZGV0ZWN0ZWQnKTsKKworIyBURVNUOiBJZiB0aGUg Y29sdW1uIGxpc3QgaXMgY2hhbmdlZCBhZnRlciBjcmVhdGluZyB0aGUgc3Vic2NyaXB0aW9uLCB3 ZQorIyBzaG91bGQgY2F0Y2ggdGhlIGVycm9yIHJlcG9ydGVkIGJ5IHdhbHNlbmRlci4KKworJG5v ZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgcXEoCisJQUxURVIgUFVCTElDQVRJ T04gcHViX21peF8xIFNFVCBUQUJMRSB0ZXN0X21peF8xIChhLCBjKTsKKykpOworCiskbm9kZV9z dWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgcXEoCisJQ1JFQVRFIFNVQlNDUklQVElP TiBzdWIxIENPTk5FQ1RJT04gJyRwdWJsaXNoZXJfY29ubnN0cicgUFVCTElDQVRJT04gcHViX21p eF8xLCBwdWJfbWl4XzI7CispKTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVw KCdzdWIxJyk7CisKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsIHFxKAor CUFMVEVSIFBVQkxJQ0FUSU9OIHB1Yl9taXhfMSBTRVQgVEFCTEUgdGVzdF9taXhfMSAoYSwgYik7 CisJSU5TRVJUIElOVE8gdGVzdF9taXhfMSBWQUxVRVMoMSwgMSwgMSk7CispKTsKKworJG9mZnNl dCA9ICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfbG9nKAorCXFyL2Nhbm5vdCB1c2UgZGlmZmVy ZW50IGNvbHVtbiBsaXN0cyBmb3IgdGFibGUgInB1YmxpYy50ZXN0X21peF8xIiBpbiBkaWZmZXJl bnQgcHVibGljYXRpb25zLywKKwkkb2Zmc2V0KTsKKwogJG5vZGVfc3Vic2NyaWJlci0+c3RvcCgn ZmFzdCcpOwogJG5vZGVfcHVibGlzaGVyLT5zdG9wKCdmYXN0Jyk7CiAKLS0gCjEuOC4zLjEKCg== --_003_OS0PR01MB5716FFBE5AACA8707C3420E994D89OS0PR01MB5716jpnp_--