From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 3E586D80A5F for ; Tue, 22 Aug 2023 05:59:08 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=7VroNTNgBkrOeEslRiZqjZ09BphjBiRrDE1PkuSaI7E=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type; s=20140610; t=1692683946; v=1; b=OK1qakwYcQt3lh+9QYe02n+Z/G3ZE4lmFYLOAJzKphdZFR8Iu8OnJ6XnqJ5NLXHh7StAKrGR 2piDfAK3sCqq3rZ7evKp6M3JNmfPO9RrA9dW0as0NlFMAirEoEGGvMxsN+Ois9a1vdtNhx0K/f7 P/+zu9VcApX64HCHpY7HMSbI= X-Received: by 127.0.0.2 with SMTP id J1HMYY7687511xbNYOo73iRv; Mon, 21 Aug 2023 22:59:06 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web10.2324.1692683945447650773 for ; Mon, 21 Aug 2023 22:59:06 -0700 X-IronPort-AV: E=McAfee;i="6600,9927,10809"; a="372679405" X-IronPort-AV: E=Sophos;i="6.01,192,1684825200"; d="scan'208,223";a="372679405" X-Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Aug 2023 22:59:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10809"; a="801529259" X-IronPort-AV: E=Sophos;i="6.01,192,1684825200"; d="scan'208,223";a="801529259" X-Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga008.fm.intel.com with ESMTP; 21 Aug 2023 22:59:04 -0700 X-Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 21 Aug 2023 22:59:04 -0700 X-Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Mon, 21 Aug 2023 22:59:04 -0700 X-Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.103) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Mon, 21 Aug 2023 22:59:03 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZbWKpvqlFBuXAUOBs6YPicozhqY396eYPJjP6GmME4qGGyXdW9fqBIYzEpLAS/2di8gzJbZgq4JUroX2ycURVF/THX6Tv6ObeUcZ+qkdldYXu+L5Ai5xvXwqDaYv28JQm4mGszVZ+9jBht3IV4+VjoN4atc3vXxn3PIrXnEc4/GJTmI7QZz3/5QfGOY4iUzrVw0rKlrZhxJQne/W+/3huo4Inx+tPItryOq4IJ8yYmKbcj1EaHRbzUWhzDPKK1NH9mVUBFvlKCAc5t64e7lHGJ5TF4btBuUuQ5IbqGQhpNomVw8nChhgGgUT5Zek47nb9B7RRMuph4DUmbgtXhhQ2Q== 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=z/jtkEh0pNKtYiuMCgAncuBkVkfGRuKJ/snu4v9TNA4=; b=SzDHTHeCZYZLiW1EhpphZ8eOYZ6Ktk/kSJRXVCDy+8C/ffuwnlWnauRhJH/s/RsEr14O1xrUlRnqMKmBWC3g6eR/pwm78ZDb3r5mTNMYSvMynwmj5ymVGwtZH7N62OmpCXKUj6Ne5f7m23UEHiF5klvY8OTL+vGjXf/o343/LK5859t4H4TNxPOzMgE2pujWVerppLnpuXW/bUZ+Gr/kwlceoifQii8rAz6Tb8hNKeIYsrcE1PQ5u70QYFGwKhB8GyNe7ziQx+ebarTKjYifBf1pb0kQHHAPNTxa8SmQbKLqV7CufBSFvDP41Pj2C8IXJ//pdTUHtzoUNf801wpT4g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none X-Received: from PH0PR11MB4870.namprd11.prod.outlook.com (2603:10b6:510:34::16) by SJ0PR11MB5600.namprd11.prod.outlook.com (2603:10b6:a03:3ab::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug 2023 05:59:01 +0000 X-Received: from PH0PR11MB4870.namprd11.prod.outlook.com ([fe80::ab09:552d:a8ba:805c]) by PH0PR11MB4870.namprd11.prod.outlook.com ([fe80::ab09:552d:a8ba:805c%3]) with mapi id 15.20.6699.022; Tue, 22 Aug 2023 05:59:01 +0000 From: "Sheng Wei" To: "devel@edk2.groups.io" , "Yao, Jiewen" CC: "Wang, Jian J" , "Xu, Min M" , "Chen, Zeyi" , "Wang, Fiona" , "Lu, Xiaoyu1" , "Jiang, Guomin" , "Kinney, Michael D" , "Sheng, W" Subject: Re: [edk2-devel] [PATCH V7 0/2] Support RSA4096 and RSA3072 Thread-Topic: [edk2-devel] [PATCH V7 0/2] Support RSA4096 and RSA3072 Thread-Index: AQHZy0CxRi9+mBtrj0G49W0wUVJp4q/15FsQ Date: Tue, 22 Aug 2023 05:59:01 +0000 Message-ID: References: <1779E466B0A8FFE7.8497@groups.io> In-Reply-To: <1779E466B0A8FFE7.8497@groups.io> Accept-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR11MB4870:EE_|SJ0PR11MB5600:EE_ x-ms-office365-filtering-correlation-id: 54a53c4c-de65-40a8-d35c-08dba2d4e24c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: bOammH/VCeEOKRPzMdJaNvrV57oBQlo79Z822KZmd0cploLwSolFcpqPauuq0EYltkQyeEULF+rTJiMv7iO88zmsu0HjYa7Dl4Ft+KOeDax65U/TaOUUlHzR4x9q4rcSw+vAeKAZ8LuZH/FctLhj4n956A3zIEwhcn9Js0lxymjzA3ix0YSByjuPyWktGuedzaUozAE+JaFhnX5AfVdIH6a82XtChndUisLmEcL7FVqe9vATyyPc6N6Io0z9Xjw63Lyeh7M2uCAGcQFKamj8Y3zuIXSUH05QazFBLdP58dnMNesnL4qawasVq2zpMn8k/TfNBpfNIgbx9gX9haOGbl0zQTXPSufN3oySX74h39bIuDf847CkN+JzTldsGxOwHFPHoD6GO4jPfcUWofu7Tb1UNKe2xUGo9LmBVFV1Eed7fc4MlT/5jqWwQiIEc9YbVG+KOtJzeWOPj7YssAgn3ancoYET0j9Euk4BAB1DULjJHB6uxE1FsBDuUjqp6lHX2F9VEx+trm+1jZhiOHmVGQoDuIXGFhnRQKIt8JslzGi1xmsnGQwLOq0iE62w6D4pm0Dt1pinv7G5FGB8GLhGIipFYHFj50U/8kjtrKBuf6n/BTigx1h9C4h+ipMJpttW9lV9sWjXsvO4YQ0I6O4IbQ== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?gb2312?B?NjBFSEg5K0RWUDF4eHdtcWVxN2RFcXZrbkNSekE4eFI1YkUyYlM2ZUJGc1U2?= =?gb2312?B?ek9LUFFPUURRVkkzNGZpQ0xydnlBWmN0aWNoa2Vkclk4Ri9KaDF4RVl3TFkx?= =?gb2312?B?c1FYMm45YS9EWVE0Tkd4aWd4dktnS25BcU1ONHpadXNUeTczb1hYVmd5eWRZ?= =?gb2312?B?eVgwUFZxcGRmVG5QSWlrLzBwRGJ0eVluamVUSGl5dyt0RHV1bGdNQTdxZmhR?= =?gb2312?B?dFBwUnNBcko5KzBwLzBMbjdTM1U1RkhKNy9vekxNWStZTitYRkxDTXNZMmgv?= =?gb2312?B?dEdnMExzOVdmc1RkR2ErbkNBb0JZNEo3MXdOc2VJbllTMXlPbHlnVTZEQlJi?= =?gb2312?B?cEJvNGVKTkt0bE9pbmJnbVhiMFgweS9XamFnUlFjZmVtazdOcFl4SkpweW1z?= =?gb2312?B?ZnBYR1FOMXY0K29pNnZXWnlPL0tQc1Zxem5PdEsxSmZIMmIyVDIycm5ITVJL?= =?gb2312?B?T1pwZmxKSnlheTlKYzhpQ0wvRHVtYkh1eldiekkvS1o3OTFhWG9EMHpiQ3Rs?= =?gb2312?B?Ukp6T2hHV2JjQ0Q3Q1ZYV053K08zbTZSWUV6UkwzU1ZWOVFpZy81VUNoQmU2?= =?gb2312?B?YUk1VDZITXA1S3k5WFFtcXVvNlN1NW1PaU5rWEtWcERDQTJIaW82aGM3V3Az?= =?gb2312?B?WmNlOHpKSVBlbFhTT1J6SWJqZ0ZhcHVnMDFOVjAyWmJZdWluaEd5ZVpBbCtK?= =?gb2312?B?V0YwRnliWGRkK3BicEFjbWpaWjEva0JDY3NMaDRFQXVSRmJMaFJiTmtZQURr?= =?gb2312?B?UEc1Q3NhbHE5Y1pGUWh5WVZBeFRUMnZuMituNEtPY3lVbWJML3h6bkEwd1Ay?= =?gb2312?B?Q204U25XRnVCdzc4Y25xQVlzbFp0a2N2amxTaHBFaEVVNzkyeDQzRmNrSzdu?= =?gb2312?B?VnhuanZDWDZXOVlpQUc1UVdybXVyb21JMklXQnRwd0ZwMStGTmE4TGJkVmF5?= =?gb2312?B?NFIreXMxejBTQVZWdUlKSTBIOHIxWFdzOHNGS3E4YVlUQ2E1Q3NuaVViektY?= =?gb2312?B?eHdpY0pKN2NLN3c3RCt3REtRSzBNeG9YOEVIZEFPNkdNOWkrOXR6N0RxLyto?= =?gb2312?B?OG82SnIzTC9IWE1rZERMZDNBM3JGOHF1WnhmNGwrN052cTVxU0h0eEEvd2l2?= =?gb2312?B?N0VxZ3pPWnJqZnRxZWRmbGk2TGdhdDZNOENzQStMRndPaVQ0SDJoR1daVnpQ?= =?gb2312?B?SFlNUTBGZ1o3dU5VekNyN0d3dTFIR1MyTmRidDFqV3Vramg4d1ZCNS9sMHNy?= =?gb2312?B?RkxGdTBscVp5SVpsb0g0VlFya1dwZWxpRG95OHdJeEhWQ0dIdHhlNlBpbTVM?= =?gb2312?B?VjNHc2FjKzNxZHZVbTNGZFBLcEllSjJ5TEw1T1hQV3pxQm5DbGgwWFJTaWZK?= =?gb2312?B?N2ExNnhsNmlzZVhFazZwYnBSYy9QODhJZW1HTzhlcHFjQ2d1SVpENStUQTEy?= =?gb2312?B?amZzcEZNZlNyZWdNMzBsdk9Mc0xNSXRzNDhVWGExZVRqTDJIVnQ2bkRGYnhl?= =?gb2312?B?Q0JMQ204MUh0NHViV3Rscy83cVRUbzlZV3lidzloS1BsSjZDTzlwaFVwTk80?= =?gb2312?B?cFNoZmMrWGJHWnZLNG5WZXMxRlRkNE1ZRmpqcytjUW5KOWlJaGprSlphd1Jv?= =?gb2312?B?dVVVblEza2dUUi9yWTJhYldIYlFqVm5VcFIvQ3poeW41bFI0UDNtTkY5WXFx?= =?gb2312?B?N09iK0I5NW5sWlZxWFRDaWwyK3llcDNZODRXeHYySm9sRFNlN2hlU0dJT1lq?= =?gb2312?B?RVVJeFR1SXFNUkRUeWFxU2pJbUJxTTJHUlBtSEVUYnk0UzVzdXUvY2hCak5L?= =?gb2312?B?UlBuVWxUM2d4VFFaQVNvTmZCNnEwNERnWVIvOXM0bExCSTZYWDN2Rm1yTmNK?= =?gb2312?B?cHNMT0hzZE5TTTBGUy8rMnpFYnliVWpSK0dLNFFRR2Z4ZTNCSW9jUUQ4QVlj?= =?gb2312?B?cnNuWlUrVjlNRjdGTldiMTZSV0RaTFp6clp3V0Z3Z1g4Wm5YdUJwOUhVbWJC?= =?gb2312?B?TitpOGdvR3lZQkE2d25MRENkTmJrUENnV1pmWjY0bHB1cUdmOC9yVnh4OTlJ?= =?gb2312?B?UkdqWHBSL2Z4cHZjTzErQitqc2tPdXh3VTkrTHR0Q0tOb1VqR3JxY2loRjlp?= =?gb2312?Q?SJYc=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4870.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 54a53c4c-de65-40a8-d35c-08dba2d4e24c X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Aug 2023 05:59:01.6154 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GsgcT/kw3PbPrpxRy0Io9CjXsq7ymAr8dLv0JPT6HL6QzTzkwlmeLfTtqQXO1CF9xInO+cVzGWRRtJ4bCUDKVQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5600 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,w.sheng@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: gbuiAVZBZxCokXSffnA4fF4Px7686176AA= Content-Language: en-US Content-Type: multipart/mixed; boundary="_004_PH0PR11MB48700A8839C22B1CF9DC572DE11FAPH0PR11MB4870namp_" X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=OK1qakwY; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") --_004_PH0PR11MB48700A8839C22B1CF9DC572DE11FAPH0PR11MB4870namp_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGkgSmlld2VuLA0KSSB1cGRhdGUgdGhlIHBhdGNoIFY2IHRvIFY3LCBkcm9wIHJhdyBSU0EzSyBh bmQgUlNBNEsuIFRoZSBjaGFuZ2UgaXMgaW4gU2VjdXJpdHlQa2cuDQpBbmQgSSBkaWQgYWxsIHRo ZSB0ZXN0cyB3aGljaCBhcmUgbGlzdGVkIGluIHRoZSBjb3ZlciBsZXR0ZXIuIEkgZ290IHRoZSBl eHBlY3RlZCByZXN1bHRzLg0KQ291bGQgeW91IGhlbHAgdG8gcmV2aWV3L21lcmdlIHRoaXMgVjcg cGF0Y2ggZm9yIHNlY3VyZSBib290IGZlYXR1cmUgPw0KVGhhbmsgeW91Lg0KQlINClNoZW5nIFdl aQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3Jv dXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIFNoZW5nDQo+IFdlaQ0K PiBTZW50OiAyMDIzxOo41MIxMMjVIDEwOjI0DQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0K PiBDYzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKDQo+ IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBYdSwgTWluIE0gPG1pbi5tLnh1QGludGVsLmNvbT47 IENoZW4sIFpleWkNCj4gPHpleWkuY2hlbkBpbnRlbC5jb20+OyBXYW5nLCBGaW9uYSA8ZmlvbmEu d2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlhb3l1MQ0KPiA8eGlhb3l1MS5sdUBpbnRlbC5jb20+OyBK aWFuZywgR3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsgS2lubmV5LA0KPiBNaWNoYWVs IEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0g W1BBVENIIFY3IDAvMl0gU3VwcG9ydCBSU0E0MDk2IGFuZCBSU0EzMDcyDQo+IA0KPiBQYXRjaCBW NzoNCj4gRHJvcCByYXcgUlNBMzA3MiBhbmQgUlNBNDA5Ni4gT25seSB1c2UgZ0VmaUNlcnRYNTA5 R3VpZCBmb3IgUlNBMzA3MiBhbmQNCj4gUlNBNDA5NiBEbyB0aGUgcG9zaXRpdmUgdGVzdHMgYW5k IHRoZSBuZWdhdGl2ZSB0ZXN0cyBiZWxvdy4gQW5kIGdvdCBhbGwgdGhlDQo+IGV4cGVjdGVkIHJl c3VsdHMuDQo+IA0KPiBQYXRjaCBWNjoNCj4gUmVtb3ZlIHRoZSBjaGFuZ2VzIGluIE1kZVBrZy4N Cj4gVGhlIGNoYW5nZXMgb2YgcGF0Y2ggdjYgYXJlIGluIENyeXB0b1BrZyBhbmQgU2VjdXJpdHlQ a2cuDQo+IFNldCBzaWduYXR1cmUgdHlwZSB0byBnRWZpQ2VydFg1MDlHdWlkIHdoZW4gZW5yb2xs IFJTQTMwNzIvUlNBNDA5NiBLRUsuDQo+IFRoaXMgc2lnbmF0dXJlIHR5cGUgaXMgdXNlZCB0byBj aGVjayB0aGUgc3VwcG9ydGVkIHNpZ25hdHVyZSBhbmQgc2hvdyB0aGUNCj4gc3RyaW5ncy4NCj4g DQo+IFBhdGNoIFY1Og0KPiBVc2luZyBkZWZpbmUgS0VZX1RZUEVfUlNBU1NBIHRvIHJlcGxhY2Ug dGhlIG1hZ2ljIG51bWJlci4NCj4gDQo+IFBhdGNoIFY0Og0KPiBEZXRlcm1pbmUgdGhlIFJTQSBh bGdvcml0aG0gYnkgYSBzdXBwb3J0ZWQgYWxnb3JpdGhtIGxpc3QuDQo+IA0KPiBQYXRjaCBWMzoN Cj4gU2VsZWN0IFNIQSBhbGdvcml0aG0gYXV0b21hdGljbHkgZm9yIGEgdW5zaWduZWQgZWZpIGlt YWdlLg0KPiANCj4gUGF0Y2ggVjI6DQo+IERldGVybWluZSB0aGUgU0hBIGFsZ29yaXRobSBieSBh IHN1cHBvcnRlZCBhbGdvcml0aG0gbGlzdC4NCj4gQ3JlYXRlIFNIQSBjb250ZXh0IGZvciBlYWNo IGFsZ29yaXRobS4NCj4gDQo+IFRlc3QgQ2FzZToNCj4gMS4gRW5yb2xsIGEgUlNBNDA5NiBDZXJ0 LCBhbmQgZXhlY3V0ZSBhbiBSU0E0MDk2IHNpZ25lZCBlZmkgaW1hZ2UgdW5kZXINCj4gVUVGSSBz aGVsbC4NCj4gMi4gRW5yb2xsIGEgUlNBMzA3MiBDZXJ0LCBhbmQgZXhlY3V0ZSBhbiBSU0EzMDcy IHNpZ25lZCBlZmkgaW1hZ2UgdW5kZXINCj4gVUVGSSBzaGVsbC4NCj4gMy4gRW5yb2xsIGEgUlNB MjA0OCBDZXJ0LCBhbmQgZXhlY3V0ZSBhbiBSU0EyMDQ4IHNpZ25lZCBlZmkgaW1hZ2UgdW5kZXIN Cj4gVUVGSSBzaGVsbC4NCj4gNC4gRW5yb2xsIGFuIHVuc2lnbmVkIGVmaSBpbWFnZSwgZXhlY3V0 ZSB0aGUgdW5zaWduZWQgZWZpIGltYWdlIHVuZGVyIFVFRkkNCj4gc2hlbGwNCj4gDQo+IFRlc3Qg UmVzdWx0Og0KPiBQYXNzDQo+IA0KPiBOZWdhdGl2ZSBUZXN0IENhc2U6DQo+IDEpIEVucm9sbCBh IFJTQTIwNDggQ2VydCwgZXhlY3V0ZSBhbiB1bnNpZ25lZCBlZmkgaW1hZ2UuDQo+IDIpIEVucm9s bCBhIFJTQTIwNDggQ2VydCwgZXhlY3V0ZSBhIFJTQTQwOTYgc2lnbmVkIGVmaSBpbWFnZS4NCj4g MykgRW5yb2xsIGEgUlNBNDA5NiBDZXJ0LCBleGVjdXRlIGEgUlNBMzA3MiBzaWduZWQgZWZpIGlt YWdlLg0KPiA0KSBFbnJvbGwgYSBSU0E0MDk2IENlcnQgdG8gYm90aCBEQiBhbmQgREJYLCBleGVj dXRlIHRoZSBSU0E0MDk2IHNpZ25lZCBlZmkNCj4gaW1hZ2UuDQo+IA0KPiBUZXN0IFJlc3VsdDoN Cj4gR2V0ICJBY2Nlc3MgRGVuaWVkIiB3aGVuIHRyeSB0byBleGVjdXRlIHRoZSBlZmkgaW1hZ2Uu DQo+IA0KPiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+IENjOiBKaWFu IEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiBDYzogTWluIFh1IDxtaW4ubS54dUBp bnRlbC5jb20+DQo+IENjOiBaZXlpIENoZW4gPHpleWkuY2hlbkBpbnRlbC5jb20+DQo+IENjOiBG aW9uYSBXYW5nIDxmaW9uYS53YW5nQGludGVsLmNvbT4NCj4gQ2M6IFhpYW95dSBMdSA8eGlhb3l1 MS5sdUBpbnRlbC5jb20+DQo+IENjOiBHdW9taW4gSmlhbmcgPGd1b21pbi5qaWFuZ0BpbnRlbC5j b20+DQo+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4N Cj4gDQo+IFNoZW5nIFdlaSAoMik6DQo+ICAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGli OiBhZGQgc2hhMzg0IGFuZCBzaGE1MTIgdG8NCj4gICAgIEltYWdlVGltZXN0YW1wVmVyaWZ5DQo+ ICAgU2VjdXJpdHlQa2cvU2VjdXJlQm9vdDogU3VwcG9ydCBSU0EgNTEyIGFuZCBSU0EgMzg0DQo+ IA0KPiAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0VHMuYyAgIHwgICAz ICstDQo+ICAuLi4vTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFNlcnZpY2UuYyAgICAgfCAy MTggKysrKysrKysrKysrKysrLS0tDQo+ICAuLi4vQXV0aFZhcmlhYmxlTGliL0F1dGhTZXJ2aWNl SW50ZXJuYWwuaCAgICAgfCAgIDQgKy0NCj4gIC4uLi9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxpYi9B dXRoVmFyaWFibGVMaWIuYyB8ICA0MiArKy0tDQo+ICAuLi4vRHhlSW1hZ2VWZXJpZmljYXRpb25M aWIuYyAgICAgICAgICAgICAgICAgfCAgNzMgKysrLS0tDQo+ICAuLi4vU2VjdXJlQm9vdENvbmZp Z0R4ZS5pbmYgICAgICAgICAgICAgICAgICAgfCAgIDggKw0KPiAgLi4uL1NlY3VyZUJvb3RDb25m aWdJbXBsLmMgICAgICAgICAgICAgICAgICAgIHwgIDUwICsrKy0NCj4gIC4uLi9TZWN1cmVCb290 Q29uZmlnSW1wbC5oICAgICAgICAgICAgICAgICAgICB8ICAgNyArDQo+ICAuLi4vU2VjdXJlQm9v dENvbmZpZ1N0cmluZ3MudW5pICAgICAgICAgICAgICAgfCAgIDIgKw0KPiAgOSBmaWxlcyBjaGFu Z2VkLCAzMjQgaW5zZXJ0aW9ucygrKSwgODMgZGVsZXRpb25zKC0pDQo+IA0KPiAtLQ0KPiAyLjI2 LjIud2luZG93cy4xDQo+IA0KPiANCj4gDQo+IA0KPiANCg0KDQoKLT0tPS09LT0tPS09LT0tPS09 LT0tPS0KR3JvdXBzLmlvIExpbmtzOiBZb3UgcmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0byB0 aGlzIGdyb3VwLgpWaWV3L1JlcGx5IE9ubGluZSAoIzEwNzk0Myk6IGh0dHBzOi8vZWRrMi5ncm91 cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzEwNzk0MwpNdXRlIFRoaXMgVG9waWM6IGh0dHBzOi8vZ3Jv dXBzLmlvL210LzEwMDY1NjkxOC83Njg2MTc2Ckdyb3VwIE93bmVyOiBkZXZlbCtvd25lckBlZGsy Lmdyb3Vwcy5pbwpVbnN1YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vu c3ViIFtyZWJlY2NhQG9wZW5mdy5pb10KLT0tPS09LT0tPS09LT0tPS09LT0tPS0KCg0K --_004_PH0PR11MB48700A8839C22B1CF9DC572DE11FAPH0PR11MB4870namp_ Content-Type: application/octet-stream; name="0000-cover-letter.patch" Content-Description: 0000-cover-letter.patch Content-Disposition: attachment; filename="0000-cover-letter.patch"; size=2736; creation-date="Tue, 22 Aug 2023 05:58:30 GMT"; modification-date="Tue, 22 Aug 2023 05:58:59 GMT" Content-Transfer-Encoding: base64 RnJvbSBkYTUwNDc1NjIwNTVhMTI0OGMwYWYxNjU1MDk4MTQ0YjA5YzQ0MTRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTaGVuZyBXZWkgPHcuc2hlbmdAaW50ZWwuY29tPgpEYXRlOiBX ZWQsIDkgQXVnIDIwMjMgMTY6Mjg6MzIgKzA4MDAKU3ViamVjdDogW1BBVENIIFY3IDAvMl0gU3Vw cG9ydCBSU0E0MDk2IGFuZCBSU0EzMDcyCgpQYXRjaCBWNzoKRHJvcCByYXcgUlNBMzA3MiBhbmQg UlNBNDA5Ni4gT25seSB1c2UgZ0VmaUNlcnRYNTA5R3VpZCBmb3IgUlNBMzA3MiBhbmQgUlNBNDA5 NgpEbyB0aGUgcG9zaXRpdmUgdGVzdHMgYW5kIHRoZSBuZWdhdGl2ZSB0ZXN0cyBiZWxvdy4gQW5k IGdvdCBhbGwgdGhlIGV4cGVjdGVkIHJlc3VsdHMuCgpQYXRjaCBWNjoKUmVtb3ZlIHRoZSBjaGFu Z2VzIGluIE1kZVBrZy4KVGhlIGNoYW5nZXMgb2YgcGF0Y2ggdjYgYXJlIGluIENyeXB0b1BrZyBh bmQgU2VjdXJpdHlQa2cuClNldCBzaWduYXR1cmUgdHlwZSB0byBnRWZpQ2VydFg1MDlHdWlkIHdo ZW4gZW5yb2xsIFJTQTMwNzIvUlNBNDA5NiBLRUsuClRoaXMgc2lnbmF0dXJlIHR5cGUgaXMgdXNl ZCB0byBjaGVjayB0aGUgc3VwcG9ydGVkIHNpZ25hdHVyZSBhbmQgc2hvdyB0aGUgc3RyaW5ncy4K ClBhdGNoIFY1OgpVc2luZyBkZWZpbmUgS0VZX1RZUEVfUlNBU1NBIHRvIHJlcGxhY2UgdGhlIG1h Z2ljIG51bWJlci4KClBhdGNoIFY0OgpEZXRlcm1pbmUgdGhlIFJTQSBhbGdvcml0aG0gYnkgYSBz dXBwb3J0ZWQgYWxnb3JpdGhtIGxpc3QuCgpQYXRjaCBWMzoKU2VsZWN0IFNIQSBhbGdvcml0aG0g YXV0b21hdGljbHkgZm9yIGEgdW5zaWduZWQgZWZpIGltYWdlLgoKUGF0Y2ggVjI6CkRldGVybWlu ZSB0aGUgU0hBIGFsZ29yaXRobSBieSBhIHN1cHBvcnRlZCBhbGdvcml0aG0gbGlzdC4KQ3JlYXRl IFNIQSBjb250ZXh0IGZvciBlYWNoIGFsZ29yaXRobS4KClRlc3QgQ2FzZToKMS4gRW5yb2xsIGEg UlNBNDA5NiBDZXJ0LCBhbmQgZXhlY3V0ZSBhbiBSU0E0MDk2IHNpZ25lZCBlZmkgaW1hZ2UgdW5k ZXIgVUVGSSBzaGVsbC4gCjIuIEVucm9sbCBhIFJTQTMwNzIgQ2VydCwgYW5kIGV4ZWN1dGUgYW4g UlNBMzA3MiBzaWduZWQgZWZpIGltYWdlIHVuZGVyIFVFRkkgc2hlbGwuIAozLiBFbnJvbGwgYSBS U0EyMDQ4IENlcnQsIGFuZCBleGVjdXRlIGFuIFJTQTIwNDggc2lnbmVkIGVmaSBpbWFnZSB1bmRl ciBVRUZJIHNoZWxsLiAKNC4gRW5yb2xsIGFuIHVuc2lnbmVkIGVmaSBpbWFnZSwgZXhlY3V0ZSB0 aGUgdW5zaWduZWQgZWZpIGltYWdlIHVuZGVyIFVFRkkgc2hlbGwKClRlc3QgUmVzdWx0OgpQYXNz CgpOZWdhdGl2ZSBUZXN0IENhc2U6CjEpIEVucm9sbCBhIFJTQTIwNDggQ2VydCwgZXhlY3V0ZSBh biB1bnNpZ25lZCBlZmkgaW1hZ2UuCjIpIEVucm9sbCBhIFJTQTIwNDggQ2VydCwgZXhlY3V0ZSBh IFJTQTQwOTYgc2lnbmVkIGVmaSBpbWFnZS4KMykgRW5yb2xsIGEgUlNBNDA5NiBDZXJ0LCBleGVj dXRlIGEgUlNBMzA3MiBzaWduZWQgZWZpIGltYWdlLgo0KSBFbnJvbGwgYSBSU0E0MDk2IENlcnQg dG8gYm90aCBEQiBhbmQgREJYLCBleGVjdXRlIHRoZSBSU0E0MDk2IHNpZ25lZCBlZmkgaW1hZ2Uu CgpUZXN0IFJlc3VsdDoKR2V0ICJBY2Nlc3MgRGVuaWVkIiB3aGVuIHRyeSB0byBleGVjdXRlIHRo ZSBlZmkgaW1hZ2UuCgpDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+CkNjOiBK aWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPgpDYzogTWluIFh1IDxtaW4ubS54dUBp bnRlbC5jb20+CkNjOiBaZXlpIENoZW4gPHpleWkuY2hlbkBpbnRlbC5jb20+CkNjOiBGaW9uYSBX YW5nIDxmaW9uYS53YW5nQGludGVsLmNvbT4KQ2M6IFhpYW95dSBMdSA8eGlhb3l1MS5sdUBpbnRl bC5jb20+CkNjOiBHdW9taW4gSmlhbmcgPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+CkNjOiBNaWNo YWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4KClNoZW5nIFdlaSAoMik6 CiAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliOiBhZGQgc2hhMzg0IGFuZCBzaGE1MTIg dG8KICAgIEltYWdlVGltZXN0YW1wVmVyaWZ5CiAgU2VjdXJpdHlQa2cvU2VjdXJlQm9vdDogU3Vw cG9ydCBSU0EgNTEyIGFuZCBSU0EgMzg0CgogQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGli L1BrL0NyeXB0VHMuYyAgIHwgICAzICstCiAuLi4vTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0 aFNlcnZpY2UuYyAgICAgfCAyMTggKysrKysrKysrKysrKysrLS0tCiAuLi4vQXV0aFZhcmlhYmxl TGliL0F1dGhTZXJ2aWNlSW50ZXJuYWwuaCAgICAgfCAgIDQgKy0KIC4uLi9MaWJyYXJ5L0F1dGhW YXJpYWJsZUxpYi9BdXRoVmFyaWFibGVMaWIuYyB8ICA0MiArKy0tCiAuLi4vRHhlSW1hZ2VWZXJp ZmljYXRpb25MaWIuYyAgICAgICAgICAgICAgICAgfCAgNzMgKysrLS0tCiAuLi4vU2VjdXJlQm9v dENvbmZpZ0R4ZS5pbmYgICAgICAgICAgICAgICAgICAgfCAgIDggKwogLi4uL1NlY3VyZUJvb3RD b25maWdJbXBsLmMgICAgICAgICAgICAgICAgICAgIHwgIDUwICsrKy0KIC4uLi9TZWN1cmVCb290 Q29uZmlnSW1wbC5oICAgICAgICAgICAgICAgICAgICB8ICAgNyArCiAuLi4vU2VjdXJlQm9vdENv bmZpZ1N0cmluZ3MudW5pICAgICAgICAgICAgICAgfCAgIDIgKwogOSBmaWxlcyBjaGFuZ2VkLCAz MjQgaW5zZXJ0aW9ucygrKSwgODMgZGVsZXRpb25zKC0pCgotLSAKMi4yNi4yLndpbmRvd3MuMQoK --_004_PH0PR11MB48700A8839C22B1CF9DC572DE11FAPH0PR11MB4870namp_ Content-Type: application/octet-stream; name="0001-CryptoPkg-Library-BaseCryptLib-add-sha384-and-sha512.patch" Content-Description: 0001-CryptoPkg-Library-BaseCryptLib-add-sha384-and-sha512.patch Content-Disposition: attachment; filename="0001-CryptoPkg-Library-BaseCryptLib-add-sha384-and-sha512.patch"; size=1745; creation-date="Tue, 22 Aug 2023 05:58:30 GMT"; modification-date="Tue, 22 Aug 2023 05:59:00 GMT" Content-Transfer-Encoding: base64 RnJvbSA2Y2FkZWI0MzM1NzUxMzc3NDVkMjY1YjE1MTNkNDJiYzhmOGYwNjlkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTaGVuZyBXZWkgPHcuc2hlbmdAaW50ZWwuY29tPgpEYXRlOiBU dWUsIDI1IEp1bCAyMDIzIDE2OjQ2OjA3ICswODAwClN1YmplY3Q6IFtQQVRDSCBWNyAxLzJdIENy eXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYjogYWRkIHNoYTM4NCBhbmQgc2hhNTEyCiB0byBJ bWFnZVRpbWVzdGFtcFZlcmlmeQoKUmVnaXN0ZXIgYW5kIGluaXRpYWxpemUgc2hhMzg0L3NoYTUx MiBkaWdlc3QgYWxnb3JpdGhtcyBmb3IgUEtDUyM3IEhhbmRsaW5nLgoKUkVGOiBodHRwczovL2J1 Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTM0MTMKCkNjOiBKaWV3ZW4gWWFv IDxqaWV3ZW4ueWFvQGludGVsLmNvbT4KQ2M6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRl bC5jb20+CkNjOiBNaW4gWHUgPG1pbi5tLnh1QGludGVsLmNvbT4KQ2M6IFpleWkgQ2hlbiA8emV5 aS5jaGVuQGludGVsLmNvbT4KQ2M6IEZpb25hIFdhbmcgPGZpb25hLndhbmdAaW50ZWwuY29tPgpD YzogWGlhb3l1IEx1IDx4aWFveXUxLmx1QGludGVsLmNvbT4KQ2M6IEd1b21pbiBKaWFuZyA8Z3Vv bWluLmppYW5nQGludGVsLmNvbT4KQ2M6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPgoKQ2hhbmdlLUlkOiBJMjA4YTYxOGUzZjZlYjEyNzA0ZTUyOGFiODQyNDk0 MDgyZGUxNDY0ZApTaWduZWQtb2ZmLWJ5OiBTaGVuZyBXZWkgPHcuc2hlbmdAaW50ZWwuY29tPgot LS0KIENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9Qay9DcnlwdFRzLmMgfCAzICsrLQog MSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9Qay9DcnlwdFRzLmMgYi9DcnlwdG9Q a2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRUcy5jCmluZGV4IDAyN2RiYjY4NDIuLjk0 NGJjZjhkMzggMTAwNjQ0Ci0tLSBhL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9Qay9D cnlwdFRzLmMKKysrIGIvQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0VHMu YwpAQCAtNTkxLDcgKzU5MSw4IEBAIEltYWdlVGltZXN0YW1wVmVyaWZ5ICgKICAgLy8gUmVnaXN0 ZXIgJiBJbml0aWFsaXplIG5lY2Vzc2FyeSBkaWdlc3QgYWxnb3JpdGhtcyBmb3IgUEtDUyM3IEhh bmRsaW5nLg0KICAgLy8NCiAgIGlmICgoRVZQX2FkZF9kaWdlc3QgKEVWUF9tZDUgKCkpID09IDAp IHx8IChFVlBfYWRkX2RpZ2VzdCAoRVZQX3NoYTEgKCkpID09IDApIHx8DQotICAgICAgKEVWUF9h ZGRfZGlnZXN0IChFVlBfc2hhMjU2ICgpKSA9PSAwKSB8fCAoKEVWUF9hZGRfZGlnZXN0X2FsaWFz IChTTl9zaGExV2l0aFJTQUVuY3J5cHRpb24sIFNOX3NoYTFXaXRoUlNBKSkgPT0gMCkpDQorICAg ICAgKEVWUF9hZGRfZGlnZXN0IChFVlBfc2hhMjU2ICgpKSA9PSAwKSB8fCAoRVZQX2FkZF9kaWdl c3QgKEVWUF9zaGEzODQgKCkpID09IDApIHx8DQorICAgICAgKEVWUF9hZGRfZGlnZXN0IChFVlBf c2hhNTEyICgpKSA9PSAwKSB8fCAoKEVWUF9hZGRfZGlnZXN0X2FsaWFzIChTTl9zaGExV2l0aFJT QUVuY3J5cHRpb24sIFNOX3NoYTFXaXRoUlNBKSkgPT0gMCkpDQogICB7DQogICAgIHJldHVybiBG QUxTRTsNCiAgIH0NCi0tIAoyLjI2LjIud2luZG93cy4xCgo= --_004_PH0PR11MB48700A8839C22B1CF9DC572DE11FAPH0PR11MB4870namp_ Content-Type: application/octet-stream; name="0002-SecurityPkg-SecureBoot-Support-RSA4096-and-RSA3072.patch" Content-Description: 0002-SecurityPkg-SecureBoot-Support-RSA4096-and-RSA3072.patch Content-Disposition: attachment; filename="0002-SecurityPkg-SecureBoot-Support-RSA4096-and-RSA3072.patch"; size=32095; creation-date="Tue, 22 Aug 2023 05:58:31 GMT"; modification-date="Tue, 22 Aug 2023 05:59:00 GMT" Content-Transfer-Encoding: base64 RnJvbSBkYTUwNDc1NjIwNTVhMTI0OGMwYWYxNjU1MDk4MTQ0YjA5YzQ0MTRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTaGVuZyBXZWkgPHcuc2hlbmdAaW50ZWwuY29tPgpEYXRlOiBX ZWQsIDI2IEp1bCAyMDIzIDE2OjAxOjEwICswODAwClN1YmplY3Q6IFtQQVRDSCBWNyAyLzJdIFNl Y3VyaXR5UGtnL1NlY3VyZUJvb3Q6IFN1cHBvcnQgUlNBNDA5NiBhbmQgUlNBMzA3MgoKUkVGOiBo dHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTM0MTMKCkNoYW5n ZS1JZDogSWMxMzU5NWZmYjA1ODFhMTc4ZGI3MWQyMzFiYTM0ZjE3ODYyZmE1ZDgKQ2M6IEppZXdl biBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPgpDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5n QGludGVsLmNvbT4KQ2M6IE1pbiBYdSA8bWluLm0ueHVAaW50ZWwuY29tPgpDYzogWmV5aSBDaGVu IDx6ZXlpLmNoZW5AaW50ZWwuY29tPgpDYzogRmlvbmEgV2FuZyA8ZmlvbmEud2FuZ0BpbnRlbC5j b20+ClNpZ25lZC1vZmYtYnk6IFNoZW5nIFdlaSA8dy5zaGVuZ0BpbnRlbC5jb20+Ci0tLQogLi4u L0xpYnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1dGhTZXJ2aWNlLmMgICAgIHwgMjE4ICsrKysrKysr KysrKysrKy0tLQogLi4uL0F1dGhWYXJpYWJsZUxpYi9BdXRoU2VydmljZUludGVybmFsLmggICAg IHwgICA0ICstCiAuLi4vTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFZhcmlhYmxlTGliLmMg fCAgNDIgKystLQogLi4uL0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliLmMgICAgICAgICAgICAgICAg IHwgIDczICsrKy0tLQogLi4uL1NlY3VyZUJvb3RDb25maWdEeGUuaW5mICAgICAgICAgICAgICAg ICAgIHwgICA4ICsKIC4uLi9TZWN1cmVCb290Q29uZmlnSW1wbC5jICAgICAgICAgICAgICAgICAg ICB8ICA1MCArKystCiAuLi4vU2VjdXJlQm9vdENvbmZpZ0ltcGwuaCAgICAgICAgICAgICAgICAg ICAgfCAgIDcgKwogLi4uL1NlY3VyZUJvb3RDb25maWdTdHJpbmdzLnVuaSAgICAgICAgICAgICAg IHwgICAyICsKIDggZmlsZXMgY2hhbmdlZCwgMzIyIGluc2VydGlvbnMoKyksIDgyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1 dGhTZXJ2aWNlLmMgYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxpYi9BdXRoU2Vy dmljZS5jCmluZGV4IGQ4MWM1ODFkNzguLjMzOTAyMWI3OWMgMTAwNjQ0Ci0tLSBhL1NlY3VyaXR5 UGtnL0xpYnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1dGhTZXJ2aWNlLmMKKysrIGIvU2VjdXJpdHlQ a2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFNlcnZpY2UuYwpAQCAtMjksMTIgKzI5LDEy NSBAQCBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudAogI2luY2x1 ZGUgPFByb3RvY29sL1ZhcmlhYmxlUG9saWN5Lmg+DQogI2luY2x1ZGUgPExpYnJhcnkvVmFyaWFi bGVQb2xpY3lMaWIuaD4NCiANCisjZGVmaW5lIFNIQV9ESUdFU1RfU0laRV9NQVggU0hBNTEyX0RJ R0VTVF9TSVpFDQorDQorLyoqDQorICBSZXRyaWV2ZXMgdGhlIHNpemUsIGluIGJ5dGVzLCBvZiB0 aGUgY29udGV4dCBidWZmZXIgcmVxdWlyZWQgZm9yIGhhc2ggb3BlcmF0aW9ucy4NCisNCisgIElm IHRoaXMgaW50ZXJmYWNlIGlzIG5vdCBzdXBwb3J0ZWQsIHRoZW4gcmV0dXJuIHplcm8uDQorDQor ICBAcmV0dXJuICBUaGUgc2l6ZSwgaW4gYnl0ZXMsIG9mIHRoZSBjb250ZXh0IGJ1ZmZlciByZXF1 aXJlZCBmb3IgaGFzaCBvcGVyYXRpb25zLg0KKyAgQHJldHZhbCAgMCAgIFRoaXMgaW50ZXJmYWNl IGlzIG5vdCBzdXBwb3J0ZWQuDQorDQorKiovDQordHlwZWRlZg0KK1VJTlRODQorKEVGSUFQSSAq RUZJX0hBU0hfR0VUX0NPTlRFWFRfU0laRSkoDQorICBWT0lEDQorICApOw0KKw0KKy8qKg0KKyAg SW5pdGlhbGl6ZXMgdXNlci1zdXBwbGllZCBtZW1vcnkgcG9pbnRlZCBieSBTaGExQ29udGV4dCBh cyBoYXNoIGNvbnRleHQgZm9yDQorICBzdWJzZXF1ZW50IHVzZS4NCisNCisgIElmIEhhc2hDb250 ZXh0IGlzIE5VTEwsIHRoZW4gcmV0dXJuIEZBTFNFLg0KKyAgSWYgdGhpcyBpbnRlcmZhY2UgaXMg bm90IHN1cHBvcnRlZCwgdGhlbiByZXR1cm4gRkFMU0UuDQorDQorICBAcGFyYW1bb3V0XSAgSGFz aENvbnRleHQgIFBvaW50ZXIgdG8gSGFzaGNvbnRleHQgYmVpbmcgaW5pdGlhbGl6ZWQuDQorDQor ICBAcmV0dmFsIFRSVUUgICBIYXNoIGNvbnRleHQgaW5pdGlhbGl6YXRpb24gc3VjY2VlZGVkLg0K KyAgQHJldHZhbCBGQUxTRSAgSGFzaCBjb250ZXh0IGluaXRpYWxpemF0aW9uIGZhaWxlZC4NCisg IEByZXR2YWwgRkFMU0UgIFRoaXMgaW50ZXJmYWNlIGlzIG5vdCBzdXBwb3J0ZWQuDQorDQorKiov DQordHlwZWRlZg0KK0JPT0xFQU4NCisoRUZJQVBJICpFRklfSEFTSF9JTklUKSgNCisgIE9VVCAg Vk9JRCAgKkhhc2hDb250ZXh0DQorICApOw0KKw0KKy8qKg0KKyAgRGlnZXN0cyB0aGUgaW5wdXQg ZGF0YSBhbmQgdXBkYXRlcyBIYXNoIGNvbnRleHQuDQorDQorICBUaGlzIGZ1bmN0aW9uIHBlcmZv cm1zIEhhc2ggZGlnZXN0IG9uIGEgZGF0YSBidWZmZXIgb2YgdGhlIHNwZWNpZmllZCBzaXplLg0K KyAgSXQgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyB0byBjb21wdXRlIHRoZSBkaWdlc3Qg b2YgbG9uZyBvciBkaXNjb250aW51b3VzIGRhdGEgc3RyZWFtcy4NCisgIEhhc2ggY29udGV4dCBz aG91bGQgYmUgYWxyZWFkeSBjb3JyZWN0bHkgaW5pdGlhbGl6ZWQgYnkgSGFzaEluaXQoKSwgYW5k IHNob3VsZCBub3QgYmUgZmluYWxpemVkDQorICBieSBIYXNoRmluYWwoKS4gQmVoYXZpb3Igd2l0 aCBpbnZhbGlkIGNvbnRleHQgaXMgdW5kZWZpbmVkLg0KKw0KKyAgSWYgSGFzaENvbnRleHQgaXMg TlVMTCwgdGhlbiByZXR1cm4gRkFMU0UuDQorICBJZiB0aGlzIGludGVyZmFjZSBpcyBub3Qgc3Vw cG9ydGVkLCB0aGVuIHJldHVybiBGQUxTRS4NCisNCisgIEBwYXJhbVtpbiwgb3V0XSAgSGFzaENv bnRleHQgIFBvaW50ZXIgdG8gdGhlIEhhc2ggY29udGV4dC4NCisgIEBwYXJhbVtpbl0gICAgICAg RGF0YSAgICAgICAgIFBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBjb250YWluaW5nIHRoZSBkYXRhIHRv IGJlIGhhc2hlZC4NCisgIEBwYXJhbVtpbl0gICAgICAgRGF0YVNpemUgICAgIFNpemUgb2YgRGF0 YSBidWZmZXIgaW4gYnl0ZXMuDQorDQorICBAcmV0dmFsIFRSVUUgICBTSEEtMSBkYXRhIGRpZ2Vz dCBzdWNjZWVkZWQuDQorICBAcmV0dmFsIEZBTFNFICBTSEEtMSBkYXRhIGRpZ2VzdCBmYWlsZWQu DQorICBAcmV0dmFsIEZBTFNFICBUaGlzIGludGVyZmFjZSBpcyBub3Qgc3VwcG9ydGVkLg0KKw0K KyoqLw0KK3R5cGVkZWYNCitCT09MRUFODQorKEVGSUFQSSAqRUZJX0hBU0hfVVBEQVRFKSgNCisg IElOIE9VVCAgVk9JRCAgICAgICAgKkhhc2hDb250ZXh0LA0KKyAgSU4gICAgICBDT05TVCBWT0lE ICAqRGF0YSwNCisgIElOICAgICAgVUlOVE4gICAgICAgRGF0YVNpemUNCisgICk7DQorDQorLyoq DQorICBDb21wbGV0ZXMgY29tcHV0YXRpb24gb2YgdGhlIEhhc2ggZGlnZXN0IHZhbHVlLg0KKw0K KyAgVGhpcyBmdW5jdGlvbiBjb21wbGV0ZXMgaGFzaCBjb21wdXRhdGlvbiBhbmQgcmV0cmlldmVz IHRoZSBkaWdlc3QgdmFsdWUgaW50bw0KKyAgdGhlIHNwZWNpZmllZCBtZW1vcnkuIEFmdGVyIHRo aXMgZnVuY3Rpb24gaGFzIGJlZW4gY2FsbGVkLCB0aGUgSGFzaCBjb250ZXh0IGNhbm5vdA0KKyAg YmUgdXNlZCBhZ2Fpbi4NCisgIEhhc2ggY29udGV4dCBzaG91bGQgYmUgYWxyZWFkeSBjb3JyZWN0 bHkgaW5pdGlhbGl6ZWQgYnkgSGFzaEluaXQoKSwgYW5kIHNob3VsZCBub3QgYmUNCisgIGZpbmFs aXplZCBieSBIYXNoRmluYWwoKS4gQmVoYXZpb3Igd2l0aCBpbnZhbGlkIEhhc2ggY29udGV4dCBp cyB1bmRlZmluZWQuDQorDQorICBJZiBIYXNoQ29udGV4dCBpcyBOVUxMLCB0aGVuIHJldHVybiBG QUxTRS4NCisgIElmIEhhc2hWYWx1ZSBpcyBOVUxMLCB0aGVuIHJldHVybiBGQUxTRS4NCisgIElm IHRoaXMgaW50ZXJmYWNlIGlzIG5vdCBzdXBwb3J0ZWQsIHRoZW4gcmV0dXJuIEZBTFNFLg0KKw0K KyAgQHBhcmFtW2luLCBvdXRdICBIYXNoQ29udGV4dCAgUG9pbnRlciB0byB0aGUgSGFzaCBjb250 ZXh0Lg0KKyAgQHBhcmFtW291dF0gICAgICBIYXNoVmFsdWUgICAgUG9pbnRlciB0byBhIGJ1ZmZl ciB0aGF0IHJlY2VpdmVzIHRoZSBIYXNoIGRpZ2VzdA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdmFsdWUuDQorDQorICBAcmV0dmFsIFRSVUUgICBIYXNoIGRpZ2VzdCBjb21wdXRh dGlvbiBzdWNjZWVkZWQuDQorICBAcmV0dmFsIEZBTFNFICBIYXNoIGRpZ2VzdCBjb21wdXRhdGlv biBmYWlsZWQuDQorICBAcmV0dmFsIEZBTFNFICBUaGlzIGludGVyZmFjZSBpcyBub3Qgc3VwcG9y dGVkLg0KKw0KKyoqLw0KK3R5cGVkZWYNCitCT09MRUFODQorKEVGSUFQSSAqRUZJX0hBU0hfRklO QUwpKA0KKyAgSU4gT1VUICBWT0lEICAgKkhhc2hDb250ZXh0LA0KKyAgT1VUICAgICBVSU5UOCAg Kkhhc2hWYWx1ZQ0KKyAgKTsNCisNCit0eXBlZGVmIHN0cnVjdCB7DQorICBVSU5UMzIgICAgICAg ICAgICAgICAgICAgICAgIEhhc2hTaXplOw0KKyAgRUZJX0hBU0hfR0VUX0NPTlRFWFRfU0laRSAg ICBHZXRDb250ZXh0U2l6ZTsNCisgIEVGSV9IQVNIX0lOSVQgICAgICAgICAgICAgICAgSW5pdDsN CisgIEVGSV9IQVNIX1VQREFURSAgICAgICAgICAgICAgVXBkYXRlOw0KKyAgRUZJX0hBU0hfRklO QUwgICAgICAgICAgICAgICBGaW5hbDsNCisgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAg KipIYXNoU2hhQ3R4Ow0KKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAqT2lkVmFsdWU7 DQorICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgIE9pZExlbmd0aDsNCit9IEVGSV9IQVNI X0lORk87DQorDQogLy8NCiAvLyBQdWJsaWMgRXhwb25lbnQgb2YgUlNBIEtleS4NCiAvLw0KIENP TlNUIFVJTlQ4ICBtUnNhRVtdID0geyAweDAxLCAweDAwLCAweDAxIH07DQogDQotQ09OU1QgVUlO VDggIG1TaGEyNTZPaWRWYWx1ZVtdID0geyAweDYwLCAweDg2LCAweDQ4LCAweDAxLCAweDY1LCAw eDAzLCAweDA0LCAweDAyLCAweDAxIH07DQorVUlOVDggIG1TaGEyNTZPaWRWYWx1ZVtdID0geyAw eDYwLCAweDg2LCAweDQ4LCAweDAxLCAweDY1LCAweDAzLCAweDA0LCAweDAyLCAweDAxIH07DQor VUlOVDggIG1TaGEzODRPaWRWYWx1ZVtdID0geyAweDYwLCAweDg2LCAweDQ4LCAweDAxLCAweDY1 LCAweDAzLCAweDA0LCAweDAyLCAweDAyIH07DQorVUlOVDggIG1TaGE1MTJPaWRWYWx1ZVtdID0g eyAweDYwLCAweDg2LCAweDQ4LCAweDAxLCAweDY1LCAweDAzLCAweDA0LCAweDAyLCAweDAzIH07 DQorDQorRUZJX0hBU0hfSU5GTyAgbUhhc2hJbmZvW10gPSB7DQorICB7U0hBMjU2X0RJR0VTVF9T SVpFLCBTaGEyNTZHZXRDb250ZXh0U2l6ZSwgU2hhMjU2SW5pdCwgU2hhMjU2VXBkYXRlLCBTaGEy NTZGaW5hbCwgJm1IYXNoU2hhMjU2Q3R4LCBtU2hhMjU2T2lkVmFsdWUsIDl9LA0KKyAge1NIQTM4 NF9ESUdFU1RfU0laRSwgU2hhMzg0R2V0Q29udGV4dFNpemUsIFNoYTM4NEluaXQsIFNoYTM4NFVw ZGF0ZSwgU2hhMzg0RmluYWwsICZtSGFzaFNoYTM4NEN0eCwgbVNoYTM4NE9pZFZhbHVlLCA5fSwN CisgIHtTSEE1MTJfRElHRVNUX1NJWkUsIFNoYTUxMkdldENvbnRleHRTaXplLCBTaGE1MTJJbml0 LCBTaGE1MTJVcGRhdGUsIFNoYTUxMkZpbmFsLCAmbUhhc2hTaGE1MTJDdHgsIG1TaGE1MTJPaWRW YWx1ZSwgOX0sDQorfTsNCiANCiAvLw0KIC8vIFJlcXVpcmVtZW50IGZvciBkaWZmZXJlbnQgc2ln bmF0dXJlIHR5cGUgd2hpY2ggaGF2ZSBiZWVuIGRlZmluZWQgaW4gVUVGSSBzcGVjLg0KQEAgLTEw OTAsMjYgKzEyMDMsMjggQEAgQXV0aFNlcnZpY2VJbnRlcm5hbENvbXBhcmVUaW1lU3RhbXAgKAog fQ0KIA0KIC8qKg0KLSAgQ2FsY3VsYXRlIFNIQTI1NiBkaWdlc3Qgb2YgU2lnbmVyQ2VydCBDb21t b25OYW1lICsgVG9wbGV2ZWxDZXJ0IHRic0NlcnRpZmljYXRlDQorICBDYWxjdWxhdGUgU0hBIGRp Z2VzdCBvZiBTaWduZXJDZXJ0IENvbW1vbk5hbWUgKyBUb3BsZXZlbENlcnQgdGJzQ2VydGlmaWNh dGUNCiAgIFNpZ25lckNlcnQgYW5kIFRvcGxldmVsQ2VydCBhcmUgaW5zaWRlIHRoZSBzaWduZXIg Y2VydGlmaWNhdGUgY2hhaW4uDQogDQorICBAcGFyYW1baW5dICBIYXNoQWxnSWQgICAgICAgICAg IEhhc2ggYWxnb3JpdGhtIGluZGV4DQogICBAcGFyYW1baW5dICBTaWduZXJDZXJ0ICAgICAgICAg IEEgcG9pbnRlciB0byBTaWduZXJDZXJ0IGRhdGEuDQogICBAcGFyYW1baW5dICBTaWduZXJDZXJ0 U2l6ZSAgICAgIExlbmd0aCBvZiBTaWduZXJDZXJ0IGRhdGEuDQogICBAcGFyYW1baW5dICBUb3BM ZXZlbENlcnQgICAgICAgIEEgcG9pbnRlciB0byBUb3BMZXZlbENlcnQgZGF0YS4NCiAgIEBwYXJh bVtpbl0gIFRvcExldmVsQ2VydFNpemUgICAgTGVuZ3RoIG9mIFRvcExldmVsQ2VydCBkYXRhLg0K LSAgQHBhcmFtW291dF0gU2hhMjU2RGlnZXN0ICAgICAgIFNoYTI1NiBkaWdlc3QgY2FsY3VsYXRl ZC4NCisgIEBwYXJhbVtvdXRdIFNoYURpZ2VzdCAgICAgICAgICAgU2hhIGRpZ2VzdCBjYWxjdWxh dGVkLg0KIA0KICAgQHJldHVybiBFRklfQUJPUlRFRCAgICAgICAgICBEaWdlc3QgcHJvY2VzcyBm YWlsZWQuDQotICBAcmV0dXJuIEVGSV9TVUNDRVNTICAgICAgICAgIFNIQTI1NiBEaWdlc3QgaXMg c3VjY2Vzc2Z1bGx5IGNhbGN1bGF0ZWQuDQorICBAcmV0dXJuIEVGSV9TVUNDRVNTICAgICAgICAg IFNIQSBEaWdlc3QgaXMgc3VjY2Vzc2Z1bGx5IGNhbGN1bGF0ZWQuDQogDQogKiovDQogRUZJX1NU QVRVUw0KLUNhbGN1bGF0ZVByaXZBdXRoVmFyU2lnbkNoYWluU0hBMjU2RGlnZXN0ICgNCitDYWxj dWxhdGVQcml2QXV0aFZhclNpZ25DaGFpblNIQURpZ2VzdCAoDQorICBJTiAgICAgVUlOVDggIEhh c2hBbGdJZCwNCiAgIElOICAgICBVSU5UOCAgKlNpZ25lckNlcnQsDQogICBJTiAgICAgVUlOVE4g IFNpZ25lckNlcnRTaXplLA0KICAgSU4gICAgIFVJTlQ4ICAqVG9wTGV2ZWxDZXJ0LA0KICAgSU4g ICAgIFVJTlROICBUb3BMZXZlbENlcnRTaXplLA0KLSAgT1VUICAgIFVJTlQ4ICAqU2hhMjU2RGln ZXN0DQorICBPVVQgICAgVUlOVDggICpTaGFEaWdlc3QNCiAgICkNCiB7DQogICBVSU5UOCAgICAg ICAqVGJzQ2VydDsNCkBAIC0xMTE5LDYgKzEyMzQsMTEgQEAgQ2FsY3VsYXRlUHJpdkF1dGhWYXJT aWduQ2hhaW5TSEEyNTZEaWdlc3QgKAogICBCT09MRUFOICAgICBDcnlwdG9TdGF0dXM7DQogICBF RklfU1RBVFVTICBTdGF0dXM7DQogDQorICBpZiAoSGFzaEFsZ0lkID49IChzaXplb2YgKG1IYXNo SW5mbykgLyBzaXplb2YgKEVGSV9IQVNIX0lORk8pKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0lO Rk8sICIlYSBVbnN1cHBvcnRlZCBIYXNoIEFsZ29yaXRobSAlZFxuIiwgX19mdW5jX18sIEhhc2hB bGdJZCkpOw0KKyAgICByZXR1cm4gRUZJX0FCT1JURUQ7DQorICB9DQorDQogICBDZXJ0Q29tbW9u TmFtZVNpemUgPSBzaXplb2YgKENlcnRDb21tb25OYW1lKTsNCiANCiAgIC8vDQpAQCAtMTE0MSw4 ICsxMjYxLDggQEAgQ2FsY3VsYXRlUHJpdkF1dGhWYXJTaWduQ2hhaW5TSEEyNTZEaWdlc3QgKAog ICAvLw0KICAgLy8gRGlnZXN0IFNpZ25lckNlcnQgQ04gKyBUb3BMZXZlbENlcnQgdGJzQ2VydGlm aWNhdGUNCiAgIC8vDQotICBaZXJvTWVtIChTaGEyNTZEaWdlc3QsIFNIQTI1Nl9ESUdFU1RfU0la RSk7DQotICBDcnlwdG9TdGF0dXMgPSBTaGEyNTZJbml0IChtSGFzaEN0eCk7DQorICBaZXJvTWVt IChTaGFEaWdlc3QsIG1IYXNoSW5mb1tIYXNoQWxnSWRdLkhhc2hTaXplKTsNCisgIENyeXB0b1N0 YXR1cyA9IG1IYXNoSW5mb1tIYXNoQWxnSWRdLkluaXQgKCoobUhhc2hJbmZvW0hhc2hBbGdJZF0u SGFzaFNoYUN0eCkpOw0KICAgaWYgKCFDcnlwdG9TdGF0dXMpIHsNCiAgICAgcmV0dXJuIEVGSV9B Qk9SVEVEOw0KICAgfQ0KQEAgLTExNTAsOCArMTI3MCw4IEBAIENhbGN1bGF0ZVByaXZBdXRoVmFy U2lnbkNoYWluU0hBMjU2RGlnZXN0ICgKICAgLy8NCiAgIC8vICdcMCcgaXMgZm9yY2VkIGluIENl cnRDb21tb25OYW1lLiBObyBvdmVyZmxvdyBpc3N1ZQ0KICAgLy8NCi0gIENyeXB0b1N0YXR1cyA9 IFNoYTI1NlVwZGF0ZSAoDQotICAgICAgICAgICAgICAgICAgIG1IYXNoQ3R4LA0KKyAgQ3J5cHRv U3RhdHVzID0gbUhhc2hJbmZvW0hhc2hBbGdJZF0uVXBkYXRlICgNCisgICAgICAgICAgICAgICAg ICAgKihtSGFzaEluZm9bSGFzaEFsZ0lkXS5IYXNoU2hhQ3R4KSwNCiAgICAgICAgICAgICAgICAg ICAgQ2VydENvbW1vbk5hbWUsDQogICAgICAgICAgICAgICAgICAgIEFzY2lpU3RyTGVuIChDZXJ0 Q29tbW9uTmFtZSkNCiAgICAgICAgICAgICAgICAgICAgKTsNCkBAIC0xMTU5LDEyICsxMjc5LDEy IEBAIENhbGN1bGF0ZVByaXZBdXRoVmFyU2lnbkNoYWluU0hBMjU2RGlnZXN0ICgKICAgICByZXR1 cm4gRUZJX0FCT1JURUQ7DQogICB9DQogDQotICBDcnlwdG9TdGF0dXMgPSBTaGEyNTZVcGRhdGUg KG1IYXNoQ3R4LCBUYnNDZXJ0LCBUYnNDZXJ0U2l6ZSk7DQorICBDcnlwdG9TdGF0dXMgPSBtSGFz aEluZm9bSGFzaEFsZ0lkXS5VcGRhdGUgKCoobUhhc2hJbmZvW0hhc2hBbGdJZF0uSGFzaFNoYUN0 eCksIFRic0NlcnQsIFRic0NlcnRTaXplKTsNCiAgIGlmICghQ3J5cHRvU3RhdHVzKSB7DQogICAg IHJldHVybiBFRklfQUJPUlRFRDsNCiAgIH0NCiANCi0gIENyeXB0b1N0YXR1cyA9IFNoYTI1NkZp bmFsIChtSGFzaEN0eCwgU2hhMjU2RGlnZXN0KTsNCisgIENyeXB0b1N0YXR1cyA9IG1IYXNoSW5m b1tIYXNoQWxnSWRdLkZpbmFsICgqKG1IYXNoSW5mb1tIYXNoQWxnSWRdLkhhc2hTaGFDdHgpLCBT aGFEaWdlc3QpOw0KICAgaWYgKCFDcnlwdG9TdGF0dXMpIHsNCiAgICAgcmV0dXJuIEVGSV9BQk9S VEVEOw0KICAgfQ0KQEAgLTE1MTYsOSArMTYzNiwxMCBAQCBEZWxldGVDZXJ0c0Zyb21EYiAoCiAv KioNCiAgIEluc2VydCBzaWduZXIncyBjZXJ0aWZpY2F0ZXMgZm9yIGNvbW1vbiBhdXRoZW50aWNh dGVkIHZhcmlhYmxlIHdpdGggVmFyaWFibGVOYW1lDQogICBhbmQgVmVuZG9yR3VpZCBpbiBBVVRI X0NFUlRfREJfREFUQSB0byAiY2VydGRiIiBvciAiY2VydGRidiIgYWNjb3JkaW5nIHRvDQotICB0 aW1lIGJhc2VkIGF1dGhlbnRpY2F0ZWQgdmFyaWFibGUgYXR0cmlidXRlcy4gQ2VydERhdGEgaXMg dGhlIFNIQTI1NiBkaWdlc3Qgb2YNCisgIHRpbWUgYmFzZWQgYXV0aGVudGljYXRlZCB2YXJpYWJs ZSBhdHRyaWJ1dGVzLiBDZXJ0RGF0YSBpcyB0aGUgU0hBIGRpZ2VzdCBvZg0KICAgU2lnbmVyQ2Vy dCBDb21tb25OYW1lICsgVG9wTGV2ZWxDZXJ0IHRic0NlcnRpZmljYXRlLg0KIA0KKyAgQHBhcmFt W2luXSAgSGFzaEFsZ0lkICAgICAgICAgSGFzaCBhbGdvcml0aG0gaW5kZXguDQogICBAcGFyYW1b aW5dICBWYXJpYWJsZU5hbWUgICAgICBOYW1lIG9mIGF1dGhlbnRpY2F0ZWQgVmFyaWFibGUuDQog ICBAcGFyYW1baW5dICBWZW5kb3JHdWlkICAgICAgICBWZW5kb3IgR1VJRCBvZiBhdXRoZW50aWNh dGVkIFZhcmlhYmxlLg0KICAgQHBhcmFtW2luXSAgQXR0cmlidXRlcyAgICAgICAgQXR0cmlidXRl cyBvZiBhdXRoZW50aWNhdGVkIHZhcmlhYmxlLg0KQEAgLTE1MzYsNiArMTY1Nyw3IEBAIERlbGV0 ZUNlcnRzRnJvbURiICgKICoqLw0KIEVGSV9TVEFUVVMNCiBJbnNlcnRDZXJ0c1RvRGIgKA0KKyAg SU4gICAgIFVJTlQ4ICAgICBIYXNoQWxnSWQsDQogICBJTiAgICAgQ0hBUjE2ICAgICpWYXJpYWJs ZU5hbWUsDQogICBJTiAgICAgRUZJX0dVSUQgICpWZW5kb3JHdWlkLA0KICAgSU4gICAgIFVJTlQz MiAgICBBdHRyaWJ1dGVzLA0KQEAgLTE1NTYsMTIgKzE2NzgsMTYgQEAgSW5zZXJ0Q2VydHNUb0Ri ICgKICAgVUlOVDMyICAgICAgICAgICAgIENlcnREYXRhU2l6ZTsNCiAgIEFVVEhfQ0VSVF9EQl9E QVRBICAqUHRyOw0KICAgQ0hBUjE2ICAgICAgICAgICAgICpEYk5hbWU7DQotICBVSU5UOCAgICAg ICAgICAgICAgU2hhMjU2RGlnZXN0W1NIQTI1Nl9ESUdFU1RfU0laRV07DQorICBVSU5UOCAgICAg ICAgICAgICAgU2hhRGlnZXN0W1NIQV9ESUdFU1RfU0laRV9NQVhdOw0KIA0KICAgaWYgKChWYXJp YWJsZU5hbWUgPT0gTlVMTCkgfHwgKFZlbmRvckd1aWQgPT0gTlVMTCkgfHwgKFNpZ25lckNlcnQg PT0gTlVMTCkgfHwgKFRvcExldmVsQ2VydCA9PSBOVUxMKSkgew0KICAgICByZXR1cm4gRUZJX0lO VkFMSURfUEFSQU1FVEVSOw0KICAgfQ0KIA0KKyAgaWYgKEhhc2hBbGdJZCA+PSAoc2l6ZW9mICht SGFzaEluZm8pIC8gc2l6ZW9mIChFRklfSEFTSF9JTkZPKSkpIHsNCisgICAgcmV0dXJuIEVGSV9J TlZBTElEX1BBUkFNRVRFUjsNCisgIH0NCisNCiAgIGlmICgoQXR0cmlidXRlcyAmIEVGSV9WQVJJ QUJMRV9OT05fVk9MQVRJTEUpICE9IDApIHsNCiAgICAgLy8NCiAgICAgLy8gR2V0IHZhcmlhYmxl ICJjZXJ0ZGIiLg0KQEAgLTE2MTgsMjAgKzE3NDQsMjIgQEAgSW5zZXJ0Q2VydHNUb0RiICgKICAg Ly8gQ29uc3RydWN0IG5ldyBkYXRhIGNvbnRlbnQgb2YgdmFyaWFibGUgImNlcnRkYiIgb3IgImNl cnRkYnYiLg0KICAgLy8NCiAgIE5hbWVTaXplICAgICAgPSAoVUlOVDMyKVN0ckxlbiAoVmFyaWFi bGVOYW1lKTsNCi0gIENlcnREYXRhU2l6ZSAgPSBzaXplb2YgKFNoYTI1NkRpZ2VzdCk7DQorICBD ZXJ0RGF0YVNpemUgID0gbUhhc2hJbmZvW0hhc2hBbGdJZF0uSGFzaFNpemU7DQogICBDZXJ0Tm9k ZVNpemUgID0gc2l6ZW9mIChBVVRIX0NFUlRfREJfREFUQSkgKyAoVUlOVDMyKUNlcnREYXRhU2l6 ZSArIE5hbWVTaXplICogc2l6ZW9mIChDSEFSMTYpOw0KICAgTmV3Q2VydERiU2l6ZSA9IChVSU5U MzIpRGF0YVNpemUgKyBDZXJ0Tm9kZVNpemU7DQogICBpZiAoTmV3Q2VydERiU2l6ZSA+IG1NYXhD ZXJ0RGJTaXplKSB7DQogICAgIHJldHVybiBFRklfT1VUX09GX1JFU09VUkNFUzsNCiAgIH0NCiAN Ci0gIFN0YXR1cyA9IENhbGN1bGF0ZVByaXZBdXRoVmFyU2lnbkNoYWluU0hBMjU2RGlnZXN0ICgN CisgIFN0YXR1cyA9IENhbGN1bGF0ZVByaXZBdXRoVmFyU2lnbkNoYWluU0hBRGlnZXN0ICgNCisg ICAgICAgICAgICAgSGFzaEFsZ0lkLA0KICAgICAgICAgICAgICBTaWduZXJDZXJ0LA0KICAgICAg ICAgICAgICBTaWduZXJDZXJ0U2l6ZSwNCiAgICAgICAgICAgICAgVG9wTGV2ZWxDZXJ0LA0KICAg ICAgICAgICAgICBUb3BMZXZlbENlcnRTaXplLA0KLSAgICAgICAgICAgICBTaGEyNTZEaWdlc3QN CisgICAgICAgICAgICAgU2hhRGlnZXN0DQogICAgICAgICAgICAgICk7DQorDQogICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQogICAgIHJldHVybiBTdGF0dXM7DQogICB9DQpAQCAtMTY2Myw3 ICsxNzkxLDcgQEAgSW5zZXJ0Q2VydHNUb0RiICgKIA0KICAgQ29weU1lbSAoDQogICAgIChVSU5U OCAqKVB0ciArICBzaXplb2YgKEFVVEhfQ0VSVF9EQl9EQVRBKSArIE5hbWVTaXplICogc2l6ZW9m IChDSEFSMTYpLA0KLSAgICBTaGEyNTZEaWdlc3QsDQorICAgIFNoYURpZ2VzdCwNCiAgICAgQ2Vy dERhdGFTaXplDQogICAgICk7DQogDQpAQCAtMTc5MCw2ICsxOTE4LDM2IEBAIENsZWFuQ2VydHNG cm9tRGIgKAogICByZXR1cm4gU3RhdHVzOw0KIH0NCiANCisvKioNCisgIEZpbmQgaGFzaCBhbGdv cml0aG0gaW5kZXgNCisNCisgIEBwYXJhbVtpbl0gIFNpZ0RhdGEgICAgICBQb2ludGVyIHRvIHRo ZSBQS0NTIzcgbWVzc2FnZQ0KKyAgQHBhcmFtW2luXSAgU2lnRGF0YVNpemUgIExlbmd0aCBvZiB0 aGUgUEtDUyM3IG1lc3NhZ2UNCisNCisgIEByZXR2YWwgVUlOVDggICAgICAgIEhhc2ggQWxnb3Jp dGhtIEluZGV4DQorKiovDQorVUlOVDgNCitGaW5kSGFzaEFsZ29yaXRobUluZGV4ICgNCisgIElO ICAgICBVSU5UOCAgICAgICAgICpTaWdEYXRhLA0KKyAgSU4gICAgIFVJTlQzMiAgICAgICAgU2ln RGF0YVNpemUNCispDQorew0KKyAgVUlOVDggaTsNCisNCisgIGZvciAoaSA9IDA7IGkgPCAoc2l6 ZW9mIChtSGFzaEluZm8pIC8gc2l6ZW9mIChFRklfSEFTSF9JTkZPKSk7IGkrKykgew0KKyAgICBp ZiAoICAoICAoU2lnRGF0YVNpemUgPj0gKDEzICsgbUhhc2hJbmZvW2ldLk9pZExlbmd0aCkpDQor ICAgICAgICAgICYmICggICgoKihTaWdEYXRhICsgMSkgJiBUV09fQllURV9FTkNPREUpID09IFRX T19CWVRFX0VOQ09ERSkNCisgICAgICAgICAgICAmJiAoQ29tcGFyZU1lbSAoU2lnRGF0YSArIDEz LCBtSGFzaEluZm9baV0uT2lkVmFsdWUsIG1IYXNoSW5mb1tpXS5PaWRMZW5ndGgpID09IDApKSkN CisgICAgICB8fCAoKCAgKFNpZ0RhdGFTaXplID49ICgzMiArICBtSGFzaEluZm9baV0uT2lkTGVu Z3RoKSkpDQorICAgICAgICAmJiAoICAoKCooU2lnRGF0YSArIDIwKSAmIFRXT19CWVRFX0VOQ09E RSkgPT0gVFdPX0JZVEVfRU5DT0RFKQ0KKyAgICAgICAgICAmJiAoQ29tcGFyZU1lbSAoU2lnRGF0 YSArIDMyLCBtSGFzaEluZm9baV0uT2lkVmFsdWUsIG1IYXNoSW5mb1tpXS5PaWRMZW5ndGgpID09 IDApKSkpDQorICAgIHsNCisgICAgICBicmVhazsNCisgICAgfQ0KKyAgfQ0KKyAgcmV0dXJuIGk7 DQorfQ0KKw0KIC8qKg0KICAgUHJvY2VzcyB2YXJpYWJsZSB3aXRoIEVGSV9WQVJJQUJMRV9USU1F X0JBU0VEX0FVVEhFTlRJQ0FURURfV1JJVEVfQUNDRVNTIHNldA0KIA0KQEAgLTE4NTcsOCArMjAx NSw5IEBAIFZlcmlmeVRpbWVCYXNlZFBheWxvYWQgKAogICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgICAgICAgQ2VydFN0YWNrU2l6ZTsNCiAgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAg ICAqQ2VydHNJbkNlcnREYjsNCiAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICBDZXJ0 c1NpemVpbkRiOw0KLSAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgIFNoYTI1NkRpZ2Vz dFtTSEEyNTZfRElHRVNUX1NJWkVdOw0KKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAg IFNoYURpZ2VzdFtTSEFfRElHRVNUX1NJWkVfTUFYXTsNCiAgIEVGSV9DRVJUX0RBVEEgICAgICAg ICAgICAgICAgICAqQ2VydERhdGFQdHI7DQorICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAg ICAgSGFzaEFsZ0lkOw0KIA0KICAgLy8NCiAgIC8vIDEuIFRvcExldmVsQ2VydCBpcyB0aGUgdG9w LWxldmVsIGlzc3VlciBjZXJ0aWZpY2F0ZSBpbiBzaWduYXR1cmUgU2lnbmVyIENlcnQgQ2hhaW4N CkBAIC0xOTI4LDcgKzIwODcsNyBAQCBWZXJpZnlUaW1lQmFzZWRQYXlsb2FkICgKIA0KICAgLy8N CiAgIC8vIFNpZ25lZERhdGEuZGlnZXN0QWxnb3JpdGhtcyBzaGFsbCBjb250YWluIHRoZSBkaWdl c3QgYWxnb3JpdGhtIHVzZWQgd2hlbiBwcmVwYXJpbmcgdGhlDQotICAvLyBzaWduYXR1cmUuIE9u bHkgYSBkaWdlc3QgYWxnb3JpdGhtIG9mIFNIQS0yNTYgaXMgYWNjZXB0ZWQuDQorICAvLyBzaWdu YXR1cmUuIE9ubHkgYSBkaWdlc3QgYWxnb3JpdGhtIG9mIFNIQS0yNTYsIFNIQS0zODQgb3IgU0hB LTUxMiBpcyBhY2NlcHRlZC4NCiAgIC8vDQogICAvLyAgICBBY2NvcmRpbmcgdG8gUEtDUyM3IERl ZmluaXRpb24gKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmMyMzE1KToNCiAgIC8v ICAgICAgICBTaWduZWREYXRhIDo6PSBTRVFVRU5DRSB7DQpAQCAtMTk3MiwxNCArMjEzMSw5IEBA IFZlcmlmeVRpbWVCYXNlZFBheWxvYWQgKAogICAvLw0KICAgLy8gRXhhbXBsZSBnZW5lcmF0ZWQg d2l0aDogaHR0cHM6Ly93aWtpLmFyY2hsaW51eC5vcmcvdGl0bGUvVW5pZmllZF9FeHRlbnNpYmxl X0Zpcm13YXJlX0ludGVyZmFjZS9TZWN1cmVfQm9vdCNNYW51YWxfcHJvY2Vzcw0KICAgLy8NCisg IEhhc2hBbGdJZCA9IEZpbmRIYXNoQWxnb3JpdGhtSW5kZXggKFNpZ0RhdGEsIFNpZ0RhdGFTaXpl KTsNCiAgIGlmICgoQXR0cmlidXRlcyAmIEVGSV9WQVJJQUJMRV9USU1FX0JBU0VEX0FVVEhFTlRJ Q0FURURfV1JJVEVfQUNDRVNTKSAhPSAwKSB7DQotICAgIGlmICggICggIChTaWdEYXRhU2l6ZSA+ PSAoMTMgKyBzaXplb2YgKG1TaGEyNTZPaWRWYWx1ZSkpKQ0KLSAgICAgICAgICAmJiAoICAoKCoo U2lnRGF0YSArIDEpICYgVFdPX0JZVEVfRU5DT0RFKSAhPSBUV09fQllURV9FTkNPREUpDQotICAg ICAgICAgICAgIHx8IChDb21wYXJlTWVtIChTaWdEYXRhICsgMTMsICZtU2hhMjU2T2lkVmFsdWUs IHNpemVvZiAobVNoYTI1Nk9pZFZhbHVlKSkgIT0gMCkpKQ0KLSAgICAgICAmJiAoICAoU2lnRGF0 YVNpemUgPj0gKDMyICsgc2l6ZW9mIChtU2hhMjU2T2lkVmFsdWUpKSkNCi0gICAgICAgICAgJiYg KCAgKCgqKFNpZ0RhdGEgKyAyMCkgJiBUV09fQllURV9FTkNPREUpICE9IFRXT19CWVRFX0VOQ09E RSkNCi0gICAgICAgICAgICAgfHwgKENvbXBhcmVNZW0gKFNpZ0RhdGEgKyAzMiwgJm1TaGEyNTZP aWRWYWx1ZSwgc2l6ZW9mIChtU2hhMjU2T2lkVmFsdWUpKSAhPSAwKSkpKQ0KLSAgICB7DQorICAg IGlmIChIYXNoQWxnSWQgPj0gKHNpemVvZiAobUhhc2hJbmZvKSAvIHNpemVvZiAoRUZJX0hBU0hf SU5GTykpKSB7DQogICAgICAgcmV0dXJuIEVGSV9TRUNVUklUWV9WSU9MQVRJT047DQogICAgIH0N CiAgIH0NCkBAIC0yMTcwLDE5ICsyMzI0LDIwIEBAIFZlcmlmeVRpbWVCYXNlZFBheWxvYWQgKAog ICAgICAgICBnb3RvIEV4aXQ7DQogICAgICAgfQ0KIA0KLSAgICAgIGlmIChDZXJ0c1NpemVpbkRi ID09IFNIQTI1Nl9ESUdFU1RfU0laRSkgew0KKyAgICAgIGlmICgoSGFzaEFsZ0lkIDwgKHNpemVv ZiAobUhhc2hJbmZvKSAvIHNpemVvZiAoRUZJX0hBU0hfSU5GTykpKSAmJiAoQ2VydHNTaXplaW5E YiA9PSBtSGFzaEluZm9bSGFzaEFsZ0lkXS5IYXNoU2l6ZSkpIHsNCiAgICAgICAgIC8vDQogICAg ICAgICAvLyBDaGVjayBoYXNoIG9mIHNpZ25lciBjZXJ0IENvbW1vbk5hbWUgKyBUb3AtbGV2ZWwg aXNzdWVyIHRic0NlcnRpZmljYXRlIGFnYWluc3QgZGF0YSBpbiBDZXJ0RGINCiAgICAgICAgIC8v DQogICAgICAgICBDZXJ0RGF0YVB0ciA9IChFRklfQ0VSVF9EQVRBICopKFNpZ25lckNlcnRzICsg MSk7DQotICAgICAgICBTdGF0dXMgICAgICA9IENhbGN1bGF0ZVByaXZBdXRoVmFyU2lnbkNoYWlu U0hBMjU2RGlnZXN0ICgNCisgICAgICAgIFN0YXR1cyAgICAgID0gQ2FsY3VsYXRlUHJpdkF1dGhW YXJTaWduQ2hhaW5TSEFEaWdlc3QgKA0KKyAgICAgICAgICAgICAgICAgICAgICAgIEhhc2hBbGdJ ZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICBDZXJ0RGF0YVB0ci0+Q2VydERhdGFCdWZmZXIs DQogICAgICAgICAgICAgICAgICAgICAgICAgUmVhZFVuYWxpZ25lZDMyICgoVUlOVDMyICopJihD ZXJ0RGF0YVB0ci0+Q2VydERhdGFMZW5ndGgpKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICBU b3BMZXZlbENlcnQsDQogICAgICAgICAgICAgICAgICAgICAgICAgVG9wTGV2ZWxDZXJ0U2l6ZSwN Ci0gICAgICAgICAgICAgICAgICAgICAgICBTaGEyNTZEaWdlc3QNCisgICAgICAgICAgICAgICAg ICAgICAgICBTaGFEaWdlc3QNCiAgICAgICAgICAgICAgICAgICAgICAgICApOw0KLSAgICAgICAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSB8fCAoQ29tcGFyZU1lbSAoU2hhMjU2RGlnZXN0LCBDZXJ0 c0luQ2VydERiLCBDZXJ0c1NpemVpbkRiKSAhPSAwKSkgew0KKyAgICAgICAgaWYgKEVGSV9FUlJP UiAoU3RhdHVzKSB8fCAoQ29tcGFyZU1lbSAoU2hhRGlnZXN0LCBDZXJ0c0luQ2VydERiLCBDZXJ0 c1NpemVpbkRiKSAhPSAwKSkgew0KICAgICAgICAgICBnb3RvIEV4aXQ7DQogICAgICAgICB9DQog ICAgICAgfSBlbHNlIHsNCkBAIC0yMjE1LDYgKzIzNzAsNyBAQCBWZXJpZnlUaW1lQmFzZWRQYXls b2FkICgKICAgICAgIC8vDQogICAgICAgQ2VydERhdGFQdHIgPSAoRUZJX0NFUlRfREFUQSAqKShT aWduZXJDZXJ0cyArIDEpOw0KICAgICAgIFN0YXR1cyAgICAgID0gSW5zZXJ0Q2VydHNUb0RiICgN CisgICAgICAgICAgICAgICAgICAgICAgSGFzaEFsZ0lkLA0KICAgICAgICAgICAgICAgICAgICAg ICBWYXJpYWJsZU5hbWUsDQogICAgICAgICAgICAgICAgICAgICAgIFZlbmRvckd1aWQsDQogICAg ICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZXMsDQpkaWZmIC0tZ2l0IGEvU2VjdXJpdHlQa2cv TGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFNlcnZpY2VJbnRlcm5hbC5oIGIvU2VjdXJpdHlQ a2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFNlcnZpY2VJbnRlcm5hbC5oCmluZGV4IGIy MDJlNjEzYmMuLmY3YmY3NzFkNTUgMTAwNjQ0Ci0tLSBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvQXV0 aFZhcmlhYmxlTGliL0F1dGhTZXJ2aWNlSW50ZXJuYWwuaAorKysgYi9TZWN1cml0eVBrZy9MaWJy YXJ5L0F1dGhWYXJpYWJsZUxpYi9BdXRoU2VydmljZUludGVybmFsLmgKQEAgLTkyLDcgKzkyLDkg QEAgZXh0ZXJuIFVJTlQzMiAgbU1heENlcnREYlNpemU7CiBleHRlcm4gVUlOVDMyICBtUGxhdGZv cm1Nb2RlOw0KIGV4dGVybiBVSU5UOCAgIG1WZW5kb3JLZXlTdGF0ZTsNCiANCi1leHRlcm4gVk9J RCAgKm1IYXNoQ3R4Ow0KK2V4dGVybiBWT0lEICAqbUhhc2hTaGEyNTZDdHg7DQorZXh0ZXJuIFZP SUQgICptSGFzaFNoYTM4NEN0eDsNCitleHRlcm4gVk9JRCAgKm1IYXNoU2hhNTEyQ3R4Ow0KIA0K IGV4dGVybiBBVVRIX1ZBUl9MSUJfQ09OVEVYVF9JTiAgKm1BdXRoVmFyTGliQ29udGV4dEluOw0K IA0KZGlmZiAtLWdpdCBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1dGhW YXJpYWJsZUxpYi5jIGIvU2VjdXJpdHlQa2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFZh cmlhYmxlTGliLmMKaW5kZXggZGM2MWFlODQwYy4uMGU3MTY5M2Y1ZCAxMDA2NDQKLS0tIGEvU2Vj dXJpdHlQa2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFZhcmlhYmxlTGliLmMKKysrIGIv U2VjdXJpdHlQa2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFZhcmlhYmxlTGliLmMKQEAg LTI2LDEyICsyNiwxNCBAQCBVSU5UMzIgIG1NYXhDZXJ0RGJTaXplOwogVUlOVDMyICBtUGxhdGZv cm1Nb2RlOw0KIFVJTlQ4ICAgbVZlbmRvcktleVN0YXRlOw0KIA0KLUVGSV9HVUlEICBtU2lnbmF0 dXJlU3VwcG9ydFtdID0geyBFRklfQ0VSVF9TSEExX0dVSUQsIEVGSV9DRVJUX1NIQTI1Nl9HVUlE LCBFRklfQ0VSVF9SU0EyMDQ4X0dVSUQsIEVGSV9DRVJUX1g1MDlfR1VJRCB9Ow0KK0VGSV9HVUlE ICBtU2lnbmF0dXJlU3VwcG9ydFtdID0geyBFRklfQ0VSVF9TSEExX0dVSUQsIEVGSV9DRVJUX1NI QTI1Nl9HVUlELCBFRklfQ0VSVF9TSEEzODRfR1VJRCwgRUZJX0NFUlRfU0hBNTEyX0dVSUQsIEVG SV9DRVJUX1JTQTIwNDhfR1VJRCwgRUZJX0NFUlRfWDUwOV9HVUlEIH07DQogDQogLy8NCiAvLyBI YXNoIGNvbnRleHQgcG9pbnRlcg0KIC8vDQotVk9JRCAgKm1IYXNoQ3R4ID0gTlVMTDsNCitWT0lE ICAqbUhhc2hTaGEyNTZDdHggPSBOVUxMOw0KK1ZPSUQgICptSGFzaFNoYTM4NEN0eCA9IE5VTEw7 DQorVk9JRCAgKm1IYXNoU2hhNTEyQ3R4ID0gTlVMTDsNCiANCiBWQVJJQUJMRV9FTlRSWV9QUk9Q RVJUWSAgbUF1dGhWYXJFbnRyeVtdID0gew0KICAgew0KQEAgLTkxLDcgKzkzLDcgQEAgVkFSSUFC TEVfRU5UUllfUFJPUEVSVFkgIG1BdXRoVmFyRW50cnlbXSA9IHsKICAgfSwNCiB9Ow0KIA0KLVZP SUQgICoqbUF1dGhWYXJBZGRyZXNzUG9pbnRlcls5XTsNCitWT0lEICAqKm1BdXRoVmFyQWRkcmVz c1BvaW50ZXJbMTFdOw0KIA0KIEFVVEhfVkFSX0xJQl9DT05URVhUX0lOICAqbUF1dGhWYXJMaWJD b250ZXh0SW4gPSBOVUxMOw0KIA0KQEAgLTEyMCw3ICsxMjIsNiBAQCBBdXRoVmFyaWFibGVMaWJJ bml0aWFsaXplICgKICAgVUlOVDMyICAgICAgVmFyQXR0cjsNCiAgIFVJTlQ4ICAgICAgICpEYXRh Ow0KICAgVUlOVE4gICAgICAgRGF0YVNpemU7DQotICBVSU5UTiAgICAgICBDdHhTaXplOw0KICAg VUlOVDggICAgICAgU2VjdXJlQm9vdE1vZGU7DQogICBVSU5UOCAgICAgICBTZWN1cmVCb290RW5h YmxlOw0KICAgVUlOVDggICAgICAgQ3VzdG9tTW9kZTsNCkBAIC0xMzUsOSArMTM2LDE4IEBAIEF1 dGhWYXJpYWJsZUxpYkluaXRpYWxpemUgKAogICAvLw0KICAgLy8gSW5pdGlhbGl6ZSBoYXNoIGNv bnRleHQuDQogICAvLw0KLSAgQ3R4U2l6ZSAgPSBTaGEyNTZHZXRDb250ZXh0U2l6ZSAoKTsNCi0g IG1IYXNoQ3R4ID0gQWxsb2NhdGVSdW50aW1lUG9vbCAoQ3R4U2l6ZSk7DQotICBpZiAobUhhc2hD dHggPT0gTlVMTCkgew0KKyAgbUhhc2hTaGEyNTZDdHggPSBBbGxvY2F0ZVJ1bnRpbWVQb29sIChT aGEyNTZHZXRDb250ZXh0U2l6ZSAoKSk7DQorICBpZiAobUhhc2hTaGEyNTZDdHggPT0gTlVMTCkg ew0KKyAgICByZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQorICB9DQorDQorICBtSGFzaFNo YTM4NEN0eCA9IEFsbG9jYXRlUnVudGltZVBvb2wgKFNoYTM4NEdldENvbnRleHRTaXplICgpKTsN CisgIGlmIChtSGFzaFNoYTM4NEN0eCA9PSBOVUxMKSB7DQorICAgIHJldHVybiBFRklfT1VUX09G X1JFU09VUkNFUzsNCisgIH0NCisNCisgIG1IYXNoU2hhNTEyQ3R4ID0gQWxsb2NhdGVSdW50aW1l UG9vbCAoU2hhNTEyR2V0Q29udGV4dFNpemUgKCkpOw0KKyAgaWYgKG1IYXNoU2hhNTEyQ3R4ID09 IE5VTEwpIHsNCiAgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KICAgfQ0KIA0KQEAg LTM1NiwxNCArMzY2LDE2IEBAIEF1dGhWYXJpYWJsZUxpYkluaXRpYWxpemUgKAogICBBdXRoVmFy TGliQ29udGV4dE91dC0+QXV0aFZhckVudHJ5ICAgICAgICA9IG1BdXRoVmFyRW50cnk7DQogICBB dXRoVmFyTGliQ29udGV4dE91dC0+QXV0aFZhckVudHJ5Q291bnQgICA9IEFSUkFZX1NJWkUgKG1B dXRoVmFyRW50cnkpOw0KICAgbUF1dGhWYXJBZGRyZXNzUG9pbnRlclswXSAgICAgICAgICAgICAg ICAgPSAoVk9JRCAqKikmbUNlcnREYlN0b3JlOw0KLSAgbUF1dGhWYXJBZGRyZXNzUG9pbnRlclsx XSAgICAgICAgICAgICAgICAgPSAoVk9JRCAqKikmbUhhc2hDdHg7DQotICBtQXV0aFZhckFkZHJl c3NQb2ludGVyWzJdICAgICAgICAgICAgICAgICA9IChWT0lEICoqKSZtQXV0aFZhckxpYkNvbnRl eHRJbjsNCi0gIG1BdXRoVmFyQWRkcmVzc1BvaW50ZXJbM10gICAgICAgICAgICAgICAgID0gKFZP SUQgKiopJihtQXV0aFZhckxpYkNvbnRleHRJbi0+RmluZFZhcmlhYmxlKSwNCi0gIG1BdXRoVmFy QWRkcmVzc1BvaW50ZXJbNF0gICAgICAgICAgICAgICAgID0gKFZPSUQgKiopJihtQXV0aFZhckxp YkNvbnRleHRJbi0+RmluZE5leHRWYXJpYWJsZSksDQotICBtQXV0aFZhckFkZHJlc3NQb2ludGVy WzVdICAgICAgICAgICAgICAgICA9IChWT0lEICoqKSYobUF1dGhWYXJMaWJDb250ZXh0SW4tPlVw ZGF0ZVZhcmlhYmxlKSwNCi0gIG1BdXRoVmFyQWRkcmVzc1BvaW50ZXJbNl0gICAgICAgICAgICAg ICAgID0gKFZPSUQgKiopJihtQXV0aFZhckxpYkNvbnRleHRJbi0+R2V0U2NyYXRjaEJ1ZmZlciks DQotICBtQXV0aFZhckFkZHJlc3NQb2ludGVyWzddICAgICAgICAgICAgICAgICA9IChWT0lEICoq KSYobUF1dGhWYXJMaWJDb250ZXh0SW4tPkNoZWNrUmVtYWluaW5nU3BhY2VGb3JDb25zaXN0ZW5j eSksDQotICBtQXV0aFZhckFkZHJlc3NQb2ludGVyWzhdICAgICAgICAgICAgICAgICA9IChWT0lE ICoqKSYobUF1dGhWYXJMaWJDb250ZXh0SW4tPkF0UnVudGltZSksDQorICBtQXV0aFZhckFkZHJl c3NQb2ludGVyWzFdICAgICAgICAgICAgICAgICA9IChWT0lEICoqKSZtSGFzaFNoYTI1NkN0eDsN CisgIG1BdXRoVmFyQWRkcmVzc1BvaW50ZXJbMl0gICAgICAgICAgICAgICAgID0gKFZPSUQgKiop Jm1IYXNoU2hhMzg0Q3R4Ow0KKyAgbUF1dGhWYXJBZGRyZXNzUG9pbnRlclszXSAgICAgICAgICAg ICAgICAgPSAoVk9JRCAqKikmbUhhc2hTaGE1MTJDdHg7DQorICBtQXV0aFZhckFkZHJlc3NQb2lu dGVyWzRdICAgICAgICAgICAgICAgICA9IChWT0lEICoqKSZtQXV0aFZhckxpYkNvbnRleHRJbjsN CisgIG1BdXRoVmFyQWRkcmVzc1BvaW50ZXJbNV0gICAgICAgICAgICAgICAgID0gKFZPSUQgKiop JihtQXV0aFZhckxpYkNvbnRleHRJbi0+RmluZFZhcmlhYmxlKSwNCisgIG1BdXRoVmFyQWRkcmVz c1BvaW50ZXJbNl0gICAgICAgICAgICAgICAgID0gKFZPSUQgKiopJihtQXV0aFZhckxpYkNvbnRl eHRJbi0+RmluZE5leHRWYXJpYWJsZSksDQorICBtQXV0aFZhckFkZHJlc3NQb2ludGVyWzddICAg ICAgICAgICAgICAgICA9IChWT0lEICoqKSYobUF1dGhWYXJMaWJDb250ZXh0SW4tPlVwZGF0ZVZh cmlhYmxlKSwNCisgIG1BdXRoVmFyQWRkcmVzc1BvaW50ZXJbOF0gICAgICAgICAgICAgICAgID0g KFZPSUQgKiopJihtQXV0aFZhckxpYkNvbnRleHRJbi0+R2V0U2NyYXRjaEJ1ZmZlciksDQorICBt QXV0aFZhckFkZHJlc3NQb2ludGVyWzldICAgICAgICAgICAgICAgICA9IChWT0lEICoqKSYobUF1 dGhWYXJMaWJDb250ZXh0SW4tPkNoZWNrUmVtYWluaW5nU3BhY2VGb3JDb25zaXN0ZW5jeSksDQor ICBtQXV0aFZhckFkZHJlc3NQb2ludGVyWzEwXSAgICAgICAgICAgICAgICAgPSAoVk9JRCAqKikm KG1BdXRoVmFyTGliQ29udGV4dEluLT5BdFJ1bnRpbWUpLA0KICAgQXV0aFZhckxpYkNvbnRleHRP dXQtPkFkZHJlc3NQb2ludGVyICAgICAgPSBtQXV0aFZhckFkZHJlc3NQb2ludGVyOw0KICAgQXV0 aFZhckxpYkNvbnRleHRPdXQtPkFkZHJlc3NQb2ludGVyQ291bnQgPSBBUlJBWV9TSVpFIChtQXV0 aFZhckFkZHJlc3NQb2ludGVyKTsNCiANCmRpZmYgLS1naXQgYS9TZWN1cml0eVBrZy9MaWJyYXJ5 L0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliL0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliLmMgYi9TZWN1 cml0eVBrZy9MaWJyYXJ5L0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliL0R4ZUltYWdlVmVyaWZpY2F0 aW9uTGliLmMKaW5kZXggNWQ4ZGJkNTQ2OC4uODhiMmQzYzZjMSAxMDA2NDQKLS0tIGEvU2VjdXJp dHlQa2cvTGlicmFyeS9EeGVJbWFnZVZlcmlmaWNhdGlvbkxpYi9EeGVJbWFnZVZlcmlmaWNhdGlv bkxpYi5jCisrKyBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvRHhlSW1hZ2VWZXJpZmljYXRpb25MaWIv RHhlSW1hZ2VWZXJpZmljYXRpb25MaWIuYwpAQCAtMTYyMCw3ICsxNjIwLDcgQEAgRG9uZToKICAg ICAgIGluIHRoZSBzZWN1cml0eSBkYXRhYmFzZSAiZGIiLCBhbmQgbm8gdmFsaWQgc2lnbmF0dXJl IG5vciBhbnkgaGFzaCB2YWx1ZSBvZiB0aGUgaW1hZ2UgbWF5DQogICAgICAgYmUgcmVmbGVjdGVk IGluIHRoZSBzZWN1cml0eSBkYXRhYmFzZSAiZGJ4Ii4NCiAgICAgT3RoZXJ3aXNlLCB0aGUgaW1h Z2UgaXMgbm90IHNpZ25lZCwNCi0gICAgICBUaGUgU0hBMjU2IGhhc2ggdmFsdWUgb2YgdGhlIGlt YWdlIG11c3QgbWF0Y2ggYSByZWNvcmQgaW4gdGhlIHNlY3VyaXR5IGRhdGFiYXNlICJkYiIsIGFu ZA0KKyAgICAgIFRoZSBoYXNoIHZhbHVlIG9mIHRoZSBpbWFnZSBtdXN0IG1hdGNoIGEgcmVjb3Jk IGluIHRoZSBzZWN1cml0eSBkYXRhYmFzZSAiZGIiLCBhbmQNCiAgICAgICBub3QgYmUgcmVmbGVj dGVkIGluIHRoZSBzZWN1cml0eSBkYXRhIGJhc2UgImRieCIuDQogDQogICBDYXV0aW9uOiBUaGlz IGZ1bmN0aW9uIG1heSByZWNlaXZlIHVudHJ1c3RlZCBpbnB1dC4NCkBAIC0xNjkwLDYgKzE2OTAs OCBAQCBEeGVJbWFnZVZlcmlmaWNhdGlvbkhhbmRsZXIgKAogICBFRklfU1RBVFVTICAgICAgICAg ICAgICAgICAgICBWYXJTdGF0dXM7DQogICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICBW YXJBdHRyOw0KICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgSXNGb3VuZDsNCisgIFVJ TlQ4ICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2hBbGc7DQorICBCT09MRUFOICAgICAgICAg ICAgICAgICAgICAgICBJc0ZvdW5kSW5EYXRhYmFzZTsNCiANCiAgIFNpZ25hdHVyZUxpc3QgICAg ID0gTlVMTDsNCiAgIFNpZ25hdHVyZUxpc3RTaXplID0gMDsNCkBAIC0xNjk5LDYgKzE3MDEsNyBA QCBEeGVJbWFnZVZlcmlmaWNhdGlvbkhhbmRsZXIgKAogICBBY3Rpb24gICAgICAgICAgICA9IEVG SV9JTUFHRV9FWEVDVVRJT05fQVVUSF9VTlRFU1RFRDsNCiAgIElzVmVyaWZpZWQgICAgICAgID0g RkFMU0U7DQogICBJc0ZvdW5kICAgICAgICAgICA9IEZBTFNFOw0KKyAgSXNGb3VuZEluRGF0YWJh c2UgPSBGQUxTRTsNCiANCiAgIC8vDQogICAvLyBDaGVjayB0aGUgaW1hZ2UgdHlwZSBhbmQgZ2V0 IHBvbGljeSBzZXR0aW5nLg0KQEAgLTE4MzcsNDAgKzE4NDAsNTAgQEAgRHhlSW1hZ2VWZXJpZmlj YXRpb25IYW5kbGVyICgKICAgLy8NCiAgIGlmICgoU2VjRGF0YURpciA9PSBOVUxMKSB8fCAoU2Vj RGF0YURpci0+U2l6ZSA9PSAwKSkgew0KICAgICAvLw0KLSAgICAvLyBUaGlzIGltYWdlIGlzIG5v dCBzaWduZWQuIFRoZSBTSEEyNTYgaGFzaCB2YWx1ZSBvZiB0aGUgaW1hZ2UgbXVzdCBtYXRjaCBh IHJlY29yZCBpbiB0aGUgc2VjdXJpdHkgZGF0YWJhc2UgImRiIiwNCisgICAgLy8gVGhpcyBpbWFn ZSBpcyBub3Qgc2lnbmVkLiBUaGUgaGFzaCB2YWx1ZSBvZiB0aGUgaW1hZ2UgbXVzdCBtYXRjaCBh IHJlY29yZCBpbiB0aGUgc2VjdXJpdHkgZGF0YWJhc2UgImRiIiwNCiAgICAgLy8gYW5kIG5vdCBi ZSByZWZsZWN0ZWQgaW4gdGhlIHNlY3VyaXR5IGRhdGEgYmFzZSAiZGJ4Ii4NCiAgICAgLy8NCi0g ICAgaWYgKCFIYXNoUGVJbWFnZSAoSEFTSEFMR19TSEEyNTYpKSB7DQotICAgICAgREVCVUcgKChE RUJVR19JTkZPLCAiRHhlSW1hZ2VWZXJpZmljYXRpb25MaWI6IEZhaWxlZCB0byBoYXNoIHRoaXMg aW1hZ2UgdXNpbmcgJXMuXG4iLCBtSGFzaFR5cGVTdHIpKTsNCi0gICAgICBnb3RvIEZhaWxlZDsN Ci0gICAgfQ0KKyAgICBIYXNoQWxnID0gc2l6ZW9mIChtSGFzaCkgLyBzaXplb2YgKEhBU0hfVEFC TEUpOw0KKyAgICB3aGlsZSAoSGFzaEFsZyA+IDApIHsNCisgICAgICBIYXNoQWxnLS07DQorICAg ICAgaWYgKChtSGFzaFtIYXNoQWxnXS5HZXRDb250ZXh0U2l6ZSA9PSBOVUxMKSB8fCAobUhhc2hb SGFzaEFsZ10uSGFzaEluaXQgPT0gTlVMTCkgfHwgKG1IYXNoW0hhc2hBbGddLkhhc2hVcGRhdGUg PT0gTlVMTCkgfHwgKG1IYXNoW0hhc2hBbGddLkhhc2hGaW5hbCA9PSBOVUxMKSkgew0KKyAgICAg ICAgY29udGludWU7DQorICAgICAgfQ0KKyAgICAgIGlmICghSGFzaFBlSW1hZ2UgKEhhc2hBbGcp KSB7DQorICAgICAgICBjb250aW51ZTsNCisgICAgICB9DQogDQotICAgIERiU3RhdHVzID0gSXNT aWduYXR1cmVGb3VuZEluRGF0YWJhc2UgKA0KLSAgICAgICAgICAgICAgICAgRUZJX0lNQUdFX1NF Q1VSSVRZX0RBVEFCQVNFMSwNCi0gICAgICAgICAgICAgICAgIG1JbWFnZURpZ2VzdCwNCi0gICAg ICAgICAgICAgICAgICZtQ2VydFR5cGUsDQotICAgICAgICAgICAgICAgICBtSW1hZ2VEaWdlc3RT aXplLA0KLSAgICAgICAgICAgICAgICAgJklzRm91bmQNCi0gICAgICAgICAgICAgICAgICk7DQot ICAgIGlmIChFRklfRVJST1IgKERiU3RhdHVzKSB8fCBJc0ZvdW5kKSB7DQotICAgICAgLy8NCi0g ICAgICAvLyBJbWFnZSBIYXNoIGlzIGluIGZvcmJpZGRlbiBkYXRhYmFzZSAoREJYKS4NCi0gICAg ICAvLw0KLSAgICAgIERFQlVHICgoREVCVUdfSU5GTywgIkR4ZUltYWdlVmVyaWZpY2F0aW9uTGli OiBJbWFnZSBpcyBub3Qgc2lnbmVkIGFuZCAlcyBoYXNoIG9mIGltYWdlIGlzIGZvcmJpZGRlbiBi eSBEQlguXG4iLCBtSGFzaFR5cGVTdHIpKTsNCi0gICAgICBnb3RvIEZhaWxlZDsNCisgICAgICBE YlN0YXR1cyA9IElzU2lnbmF0dXJlRm91bmRJbkRhdGFiYXNlICgNCisgICAgICAgICAgICAgICAg ICAgRUZJX0lNQUdFX1NFQ1VSSVRZX0RBVEFCQVNFMSwNCisgICAgICAgICAgICAgICAgICAgbUlt YWdlRGlnZXN0LA0KKyAgICAgICAgICAgICAgICAgICAmbUNlcnRUeXBlLA0KKyAgICAgICAgICAg ICAgICAgICBtSW1hZ2VEaWdlc3RTaXplLA0KKyAgICAgICAgICAgICAgICAgICAmSXNGb3VuZA0K KyAgICAgICAgICAgICAgICAgICApOw0KKyAgICAgIGlmIChFRklfRVJST1IgKERiU3RhdHVzKSB8 fCBJc0ZvdW5kKSB7DQorICAgICAgICAvLw0KKyAgICAgICAgLy8gSW1hZ2UgSGFzaCBpcyBpbiBm b3JiaWRkZW4gZGF0YWJhc2UgKERCWCkuDQorICAgICAgICAvLw0KKyAgICAgICAgREVCVUcgKChE RUJVR19JTkZPLCAiRHhlSW1hZ2VWZXJpZmljYXRpb25MaWI6IEltYWdlIGlzIG5vdCBzaWduZWQg YW5kICVzIGhhc2ggb2YgaW1hZ2UgaXMgZm9yYmlkZGVuIGJ5IERCWC5cbiIsIG1IYXNoVHlwZVN0 cikpOw0KKyAgICAgICAgZ290byBGYWlsZWQ7DQorICAgICAgfQ0KKw0KKyAgICAgIERiU3RhdHVz ID0gSXNTaWduYXR1cmVGb3VuZEluRGF0YWJhc2UgKA0KKyAgICAgICAgICAgICAgICAgICBFRklf SU1BR0VfU0VDVVJJVFlfREFUQUJBU0UsDQorICAgICAgICAgICAgICAgICAgIG1JbWFnZURpZ2Vz dCwNCisgICAgICAgICAgICAgICAgICAgJm1DZXJ0VHlwZSwNCisgICAgICAgICAgICAgICAgICAg bUltYWdlRGlnZXN0U2l6ZSwNCisgICAgICAgICAgICAgICAgICAgJklzRm91bmQNCisgICAgICAg ICAgICAgICAgICAgKTsNCisgICAgICBpZiAoIUVGSV9FUlJPUiAoRGJTdGF0dXMpICYmIElzRm91 bmQpIHsNCisgICAgICAgIC8vDQorICAgICAgICAvLyBJbWFnZSBIYXNoIGlzIGluIGFsbG93ZWQg ZGF0YWJhc2UgKERCKS4NCisgICAgICAgIC8vDQorICAgICAgICBJc0ZvdW5kSW5EYXRhYmFzZSA9 IFRSVUU7DQorICAgICAgfQ0KICAgICB9DQogDQotICAgIERiU3RhdHVzID0gSXNTaWduYXR1cmVG b3VuZEluRGF0YWJhc2UgKA0KLSAgICAgICAgICAgICAgICAgRUZJX0lNQUdFX1NFQ1VSSVRZX0RB VEFCQVNFLA0KLSAgICAgICAgICAgICAgICAgbUltYWdlRGlnZXN0LA0KLSAgICAgICAgICAgICAg ICAgJm1DZXJ0VHlwZSwNCi0gICAgICAgICAgICAgICAgIG1JbWFnZURpZ2VzdFNpemUsDQotICAg ICAgICAgICAgICAgICAmSXNGb3VuZA0KLSAgICAgICAgICAgICAgICAgKTsNCi0gICAgaWYgKCFF RklfRVJST1IgKERiU3RhdHVzKSAmJiBJc0ZvdW5kKSB7DQotICAgICAgLy8NCi0gICAgICAvLyBJ bWFnZSBIYXNoIGlzIGluIGFsbG93ZWQgZGF0YWJhc2UgKERCKS4NCi0gICAgICAvLw0KKyAgICBp ZiAoSXNGb3VuZEluRGF0YWJhc2UpIHsNCiAgICAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQogICAg IH0NCiANCmRpZmYgLS1naXQgYS9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2Vj dXJlQm9vdENvbmZpZ0R4ZS9TZWN1cmVCb290Q29uZmlnRHhlLmluZiBiL1NlY3VyaXR5UGtnL1Zh cmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RDb25maWdE eGUuaW5mCmluZGV4IDE2NzFkNWJlN2MuLjA2MDJhY2Y3MDIgMTAwNjQ0Ci0tLSBhL1NlY3VyaXR5 UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RD b25maWdEeGUuaW5mCisrKyBiL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1 cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RDb25maWdEeGUuaW5mCkBAIC04Miw2ICs4MiwxNCBA QAogICAjIyBTT01FVElNRVNfUFJPRFVDRVMgICAgICAjIyBHVUlEICAgICAgICAgICAgIyBVbmlx dWUgSUQgZm9yIHRoZSB0eXBlIG9mIHRoZSBzaWduYXR1cmUuDQogICBnRWZpQ2VydFNoYTI1Nkd1 aWQNCiANCisgICMjIFNPTUVUSU1FU19DT05TVU1FUyAgICAgICMjIEdVSUQgICAgICAgICAgICAj IFVuaXF1ZSBJRCBmb3IgdGhlIHR5cGUgb2YgdGhlIHNpZ25hdHVyZS4NCisgICMjIFNPTUVUSU1F U19QUk9EVUNFUyAgICAgICMjIEdVSUQgICAgICAgICAgICAjIFVuaXF1ZSBJRCBmb3IgdGhlIHR5 cGUgb2YgdGhlIHNpZ25hdHVyZS4NCisgIGdFZmlDZXJ0U2hhMzg0R3VpZA0KKw0KKyAgIyMgU09N RVRJTUVTX0NPTlNVTUVTICAgICAgIyMgR1VJRCAgICAgICAgICAgICMgVW5pcXVlIElEIGZvciB0 aGUgdHlwZSBvZiB0aGUgc2lnbmF0dXJlLg0KKyAgIyMgU09NRVRJTUVTX1BST0RVQ0VTICAgICAg IyMgR1VJRCAgICAgICAgICAgICMgVW5pcXVlIElEIGZvciB0aGUgdHlwZSBvZiB0aGUgc2lnbmF0 dXJlLg0KKyAgZ0VmaUNlcnRTaGE1MTJHdWlkDQorDQogICAjIyBTT01FVElNRVNfQ09OU1VNRVMg ICAgICAjIyBWYXJpYWJsZTpMImRiIg0KICAgIyMgU09NRVRJTUVTX1BST0RVQ0VTICAgICAgIyMg VmFyaWFibGU6TCJkYiINCiAgICMjIFNPTUVUSU1FU19DT05TVU1FUyAgICAgICMjIFZhcmlhYmxl OkwiZGJ4Ig0KZGlmZiAtLWdpdCBhL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9T ZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RDb25maWdJbXBsLmMgYi9TZWN1cml0eVBrZy9W YXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZS9TZWN1cmVCb290Q29uZmln SW1wbC5jCmluZGV4IDBlMzE1MDJiMWIuLjU5MTI3ZTBjOGQgMTAwNjQ0Ci0tLSBhL1NlY3VyaXR5 UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RD b25maWdJbXBsLmMKKysrIGIvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3Vy ZUJvb3RDb25maWdEeGUvU2VjdXJlQm9vdENvbmZpZ0ltcGwuYwpAQCAtMTg0Nyw3ICsxODQ3LDcg QEAgSGFzaFBlSW1hZ2UgKAogICBTZWN0aW9uSGVhZGVyID0gTlVMTDsNCiAgIFN0YXR1cyAgICAg ICAgPSBGQUxTRTsNCiANCi0gIGlmIChIYXNoQWxnICE9IEhBU0hBTEdfU0hBMjU2KSB7DQorICBp ZiAoKEhhc2hBbGcgPj0gSEFTSEFMR19NQVgpKSB7DQogICAgIHJldHVybiBGQUxTRTsNCiAgIH0N CiANCkBAIC0xODU2LDggKzE4NTYsMjUgQEAgSGFzaFBlSW1hZ2UgKAogICAvLw0KICAgWmVyb01l bSAobUltYWdlRGlnZXN0LCBNQVhfRElHRVNUX1NJWkUpOw0KIA0KLSAgbUltYWdlRGlnZXN0U2l6 ZSA9IFNIQTI1Nl9ESUdFU1RfU0laRTsNCi0gIG1DZXJ0VHlwZSAgICAgICAgPSBnRWZpQ2VydFNo YTI1Nkd1aWQ7DQorICAgc3dpdGNoIChIYXNoQWxnKSB7DQorICAgIGNhc2UgSEFTSEFMR19TSEEy NTY6DQorICAgICAgbUltYWdlRGlnZXN0U2l6ZSA9IFNIQTI1Nl9ESUdFU1RfU0laRTsNCisgICAg ICBtQ2VydFR5cGUgICAgICAgID0gZ0VmaUNlcnRTaGEyNTZHdWlkOw0KKyAgICAgIGJyZWFrOw0K Kw0KKyAgICBjYXNlIEhBU0hBTEdfU0hBMzg0Og0KKyAgICAgIG1JbWFnZURpZ2VzdFNpemUgPSBT SEEzODRfRElHRVNUX1NJWkU7DQorICAgICAgbUNlcnRUeXBlICAgICAgICA9IGdFZmlDZXJ0U2hh Mzg0R3VpZDsNCisgICAgICBicmVhazsNCisNCisgICAgY2FzZSBIQVNIQUxHX1NIQTUxMjoNCisg ICAgICBtSW1hZ2VEaWdlc3RTaXplID0gU0hBNTEyX0RJR0VTVF9TSVpFOw0KKyAgICAgIG1DZXJ0 VHlwZSAgICAgICAgPSBnRWZpQ2VydFNoYTUxMkd1aWQ7DQorICAgICAgYnJlYWs7DQorDQorICAg IGRlZmF1bHQ6DQorICAgICAgcmV0dXJuIEZBTFNFOw0KKyAgfQ0KIA0KICAgQ3R4U2l6ZSA9IG1I YXNoW0hhc2hBbGddLkdldENvbnRleHRTaXplICgpOw0KIA0KQEAgLTIyNTEsNiArMjI2OCw3IEBA IEVucm9sbEltYWdlU2lnbmF0dXJlVG9TaWdEQiAoCiAgIFVJTlQzMiAgICAgICAgICAgICAgICAg ICAgIEF0dHI7DQogICBXSU5fQ0VSVElGSUNBVEVfVUVGSV9HVUlEICAqR3VpZENlcnREYXRhOw0K ICAgRUZJX1RJTUUgICAgICAgICAgICAgICAgICAgVGltZTsNCisgIFVJTlQzMiAgICAgICAgICAg ICAgICAgICAgIEhhc2hBbGc7DQogDQogICBEYXRhICAgICAgICAgPSBOVUxMOw0KICAgR3VpZENl cnREYXRhID0gTlVMTDsNCkBAIC0yMjg5LDggKzIzMDcsMjAgQEAgRW5yb2xsSW1hZ2VTaWduYXR1 cmVUb1NpZ0RCICgKICAgfQ0KIA0KICAgaWYgKG1TZWNEYXRhRGlyLT5TaXplT2ZDZXJ0ID09IDAp IHsNCi0gICAgaWYgKCFIYXNoUGVJbWFnZSAoSEFTSEFMR19TSEEyNTYpKSB7DQotICAgICAgU3Rh dHVzID0gIEVGSV9TRUNVUklUWV9WSU9MQVRJT047DQorICAgIFN0YXR1cyA9IEVGSV9TRUNVUklU WV9WSU9MQVRJT047DQorICAgIEhhc2hBbGcgPSBzaXplb2YgKG1IYXNoKSAvIHNpemVvZiAoSEFT SF9UQUJMRSk7DQorICAgIHdoaWxlIChIYXNoQWxnID4gMCkgew0KKyAgICAgIEhhc2hBbGctLTsN CisgICAgICBpZiAoKG1IYXNoW0hhc2hBbGddLkdldENvbnRleHRTaXplID09IE5VTEwpIHx8ICht SGFzaFtIYXNoQWxnXS5IYXNoSW5pdCA9PSBOVUxMKSB8fCAobUhhc2hbSGFzaEFsZ10uSGFzaFVw ZGF0ZSA9PSBOVUxMKSB8fCAobUhhc2hbSGFzaEFsZ10uSGFzaEZpbmFsID09IE5VTEwpKSB7DQor ICAgICAgICBjb250aW51ZTsNCisgICAgICB9DQorICAgICAgaWYgKEhhc2hQZUltYWdlIChIYXNo QWxnKSkgew0KKyAgICAgICAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQorICAgICAgICBicmVhazsN CisgICAgICB9DQorICAgIH0NCisgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAg IERFQlVHICgoREVCVUdfRVJST1IsICJGYWlsIHRvIGdldCBoYXNoIGRpZ2VzdDogJXIiLCBTdGF0 dXMpKTsNCiAgICAgICBnb3RvIE9OX0VYSVQ7DQogICAgIH0NCiAgIH0gZWxzZSB7DQpAQCAtMzc2 NCw2ICszNzk0LDEwIEBAIExvYWRTaWduYXR1cmVMaXN0ICgKICAgICAgIExpc3RUeXBlID0gU1RS SU5HX1RPS0VOIChTVFJfTElTVF9UWVBFX1NIQTEpOw0KICAgICB9IGVsc2UgaWYgKENvbXBhcmVH dWlkICgmTGlzdFdhbGtlci0+U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0U2hhMjU2R3VpZCkpIHsN CiAgICAgICBMaXN0VHlwZSA9IFNUUklOR19UT0tFTiAoU1RSX0xJU1RfVFlQRV9TSEEyNTYpOw0K KyAgICB9IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmTGlzdFdhbGtlci0+U2lnbmF0dXJlVHlwZSwg JmdFZmlDZXJ0U2hhMzg0R3VpZCkpIHsNCisgICAgICBMaXN0VHlwZSA9IFNUUklOR19UT0tFTiAo U1RSX0xJU1RfVFlQRV9TSEEzODQpOw0KKyAgICB9IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmTGlz dFdhbGtlci0+U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0U2hhNTEyR3VpZCkpIHsNCisgICAgICBM aXN0VHlwZSA9IFNUUklOR19UT0tFTiAoU1RSX0xJU1RfVFlQRV9TSEE1MTIpOw0KICAgICB9IGVs c2UgaWYgKENvbXBhcmVHdWlkICgmTGlzdFdhbGtlci0+U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0 WDUwOVNoYTI1Nkd1aWQpKSB7DQogICAgICAgTGlzdFR5cGUgPSBTVFJJTkdfVE9LRU4gKFNUUl9M SVNUX1RZUEVfWDUwOV9TSEEyNTYpOw0KICAgICB9IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmTGlz dFdhbGtlci0+U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0WDUwOVNoYTM4NEd1aWQpKSB7DQpAQCAt NDAxMSw2ICs0MDQ1LDEyIEBAIEZvcm1hdEhlbHBJbmZvICgKICAgfSBlbHNlIGlmIChDb21wYXJl R3VpZCAoJkxpc3RFbnRyeS0+U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0U2hhMjU2R3VpZCkpIHsN CiAgICAgTGlzdFR5cGVJZCA9IFNUUklOR19UT0tFTiAoU1RSX0xJU1RfVFlQRV9TSEEyNTYpOw0K ICAgICBEYXRhU2l6ZSAgID0gMzI7DQorICB9IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmTGlzdEVu dHJ5LT5TaWduYXR1cmVUeXBlLCAmZ0VmaUNlcnRTaGEzODRHdWlkKSkgew0KKyAgICBMaXN0VHlw ZUlkID0gU1RSSU5HX1RPS0VOIChTVFJfTElTVF9UWVBFX1NIQTM4NCk7DQorICAgIERhdGFTaXpl ICAgPSA0ODsNCisgIH0gZWxzZSBpZiAoQ29tcGFyZUd1aWQgKCZMaXN0RW50cnktPlNpZ25hdHVy ZVR5cGUsICZnRWZpQ2VydFNoYTUxMkd1aWQpKSB7DQorICAgIExpc3RUeXBlSWQgPSBTVFJJTkdf VE9LRU4gKFNUUl9MSVNUX1RZUEVfU0hBNTEyKTsNCisgICAgRGF0YVNpemUgICA9IDY0Ow0KICAg fSBlbHNlIGlmIChDb21wYXJlR3VpZCAoJkxpc3RFbnRyeS0+U2lnbmF0dXJlVHlwZSwgJmdFZmlD ZXJ0WDUwOVNoYTI1Nkd1aWQpKSB7DQogICAgIExpc3RUeXBlSWQgPSBTVFJJTkdfVE9LRU4gKFNU Ul9MSVNUX1RZUEVfWDUwOV9TSEEyNTYpOw0KICAgICBEYXRhU2l6ZSAgID0gMzI7DQpkaWZmIC0t Z2l0IGEvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdE eGUvU2VjdXJlQm9vdENvbmZpZ0ltcGwuaCBiL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGlj YXRlZC9TZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RDb25maWdJbXBsLmgKaW5kZXggMzdj NjZmMWI5NS4uZmY2ZTczMDFhZiAxMDA2NDQKLS0tIGEvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRo ZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdEeGUvU2VjdXJlQm9vdENvbmZpZ0ltcGwuaAorKysg Yi9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZS9T ZWN1cmVCb290Q29uZmlnSW1wbC5oCkBAIC04Miw2ICs4Miw4IEBAIGV4dGVybiAgRUZJX0lGUl9H VUlEX0xBQkVMICAqbUVuZExhYmVsOwogI2RlZmluZSBNQVhfRElHRVNUX1NJWkUgIFNIQTUxMl9E SUdFU1RfU0laRQ0KIA0KICNkZWZpbmUgV0lOX0NFUlRfVUVGSV9SU0EyMDQ4X1NJWkUgIDI1Ng0K KyNkZWZpbmUgV0lOX0NFUlRfVUVGSV9SU0EzMDcyX1NJWkUgIDM4NA0KKyNkZWZpbmUgV0lOX0NF UlRfVUVGSV9SU0E0MDk2X1NJWkUgIDUxMg0KIA0KIC8vDQogLy8gU3VwcG9ydCBoYXNoIHR5cGVz DQpAQCAtOTgsNiArMTAwLDExIEBAIGV4dGVybiAgRUZJX0lGUl9HVUlEX0xBQkVMICAqbUVuZExh YmVsOwogLy8NCiAjZGVmaW5lIENFUl9QVUJLRVlfTUlOX1NJWkUgIDI1Ng0KIA0KKy8vDQorLy8g RGVmaW5lIEtleVR5cGUgZm9yIHB1YmxpYyBrZXkgc3RvcmluZyBmaWxlDQorLy8NCisjZGVmaW5l IEtFWV9UWVBFX1JTQVNTQSAgMA0KKw0KIC8vDQogLy8gVHlwZXMgb2YgZXJyb3JzIG1heSBvY2N1 ciBkdXJpbmcgY2VydGlmaWNhdGUgZW5yb2xsbWVudC4NCiAvLw0KZGlmZiAtLWdpdCBhL1NlY3Vy aXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJv b3RDb25maWdTdHJpbmdzLnVuaSBiL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9T ZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RDb25maWdTdHJpbmdzLnVuaQppbmRleCAwZDAx NzAxZGU3Li4xNzdjNTg1ODM3IDEwMDY0NAotLS0gYS9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhl bnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZS9TZWN1cmVCb290Q29uZmlnU3RyaW5ncy51bmkK KysrIGIvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdE eGUvU2VjdXJlQm9vdENvbmZpZ1N0cmluZ3MudW5pCkBAIC0xMjQsNiArMTI0LDggQEAgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQKICNzdHJpbmcgU1RSX0xJU1Rf VFlQRV9YNTA5ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJYNTA5Ig0K ICNzdHJpbmcgU1RSX0xJU1RfVFlQRV9TSEExICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTICJTSEExIg0KICNzdHJpbmcgU1RSX0xJU1RfVFlQRV9TSEEyNTYgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTSEEyNTYiDQorI3N0cmluZyBTVFJfTElTVF9U WVBFX1NIQTM4NCAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlNIQTM4NCIN Cisjc3RyaW5nIFNUUl9MSVNUX1RZUEVfU0hBNTEyICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiU0hBNTEyIg0KICNzdHJpbmcgU1RSX0xJU1RfVFlQRV9YNTA5X1NIQTI1NiAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJYNTA5X1NIQTI1NiINCiAjc3RyaW5nIFNU Ul9MSVNUX1RZUEVfWDUwOV9TSEEzODQgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAi WDUwOV9TSEEzODQiDQogI3N0cmluZyBTVFJfTElTVF9UWVBFX1g1MDlfU0hBNTEyICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlg1MDlfU0hBNTEyIg0KLS0gCjIuMjYuMi53aW5kb3dz LjEKCg== --_004_PH0PR11MB48700A8839C22B1CF9DC572DE11FAPH0PR11MB4870namp_--