From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web11.1887.1592552881536552508 for ; Fri, 19 Jun 2020 00:48:01 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=rayXG0rT; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: eric.dong@intel.com) IronPort-SDR: vO92RxWaI0LijtYW1BGfTc+MvQTy82mnWd1c8DhVYyQ/SkpQrLjLf4GBqltczMCwzpIg/7gN/s 14RNMpr7/aAg== X-IronPort-AV: E=McAfee;i="6000,8403,9656"; a="130242931" X-IronPort-AV: E=Sophos;i="5.75,254,1589266800"; d="scan'208";a="130242931" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jun 2020 00:47:59 -0700 IronPort-SDR: pZDa/E1urnWL/9YrlxfvZNThYAVGoBcpUa9uDESRbezoGN9hEf1A1YaS/77BTMio2ovbbOiwXp U2/2fqri/IWw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,254,1589266800"; d="scan'208";a="262242091" Received: from orsmsx106.amr.corp.intel.com ([10.22.225.133]) by fmsmga007.fm.intel.com with ESMTP; 19 Jun 2020 00:47:59 -0700 Received: from orsmsx154.amr.corp.intel.com (10.22.226.12) by ORSMSX106.amr.corp.intel.com (10.22.225.133) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 19 Jun 2020 00:47:59 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by ORSMSX154.amr.corp.intel.com (10.22.226.12) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 19 Jun 2020 00:47:58 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.174) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 19 Jun 2020 00:47:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iBut/Wy89gQiMh156v54QkEgIzaHiCWiES5sn9geV08+XuwOybzXIIbWXeBf9nfj+Bx/xhtPaHzLaT39G4fYW32oQ8REDGal8gww/BwYOohnd4FOt7R2o3655S4ZAroLTqAW/uCgO7Vh+L0vvZclCHSv3nKQxrW5qutj8Ox18v22YotYaikE7szdl9HaW2SCbgytfkm7Lhn5cuaY+6ad/fJnE4iRbJ3q5DCnG/CdRcjpk4xXlz0GhcXAzRJQqb+9iHhTH4jzGHHtBXYOEZrV7f5MGn9dxQMLZsCUwFPPCQi1nud37iukkkSYTESha7vp8TEjby03hA64EAuSYfszsg== 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-SenderADCheck; bh=pg2SJNhqS3jP/0/9wbtGVpjoOioHuGXHGomRAmFuAOc=; b=NOMEx4tw45lehnxrMQcXzC3SWFF1F2+wbt7RAcXrW8kC6O2hFvfq09sSWfAjL2cuNV72TnSmgnsqbyOgiRHWJtjJBNGyYIwhtcCdxRll5u7lkOn51j27LC/+hk5u2mtfEbXnmMAOfpd7nZTIL4UBAIkiiNR3WbTk0/WngYts6xB9wa4sOsWCJo+rdEHAmhIC7pgn6fNVOk9FAt9A8LADGBRTG9nVum1+hcikKN+rSClWx/jK6085qhxRRqlr3cbQWZXpc2PZl25PBAFsKEq7Y+nkSwoutvsS6oKDAMPMeCgnV+0/IXSbO+kouDDJYPK2/zEjpXiKdyTtGRSDhA1eow== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pg2SJNhqS3jP/0/9wbtGVpjoOioHuGXHGomRAmFuAOc=; b=rayXG0rTYpOJqpGXAisuk3F2iyHG73GoLnH7DyMs+lG+0bHismukSBb7bnFPJBsmnVCxzGDdrb7HY75DKcH6PlXMPgA7d4qPSQfXpTP8WE7kF5eNWzvSSDRMQWI//NjesvhfwF1fNUVf8ppTrsHI5MuLwKJuE4DJGsWUpF5hDgw= Received: from DM6PR11MB3274.namprd11.prod.outlook.com (2603:10b6:5:b::26) by DM6PR11MB3019.namprd11.prod.outlook.com (2603:10b6:5:67::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22; Fri, 19 Jun 2020 07:47:55 +0000 Received: from DM6PR11MB3274.namprd11.prod.outlook.com ([fe80::cc01:6f05:1402:e7d7]) by DM6PR11MB3274.namprd11.prod.outlook.com ([fe80::cc01:6f05:1402:e7d7%6]) with mapi id 15.20.3109.021; Fri, 19 Jun 2020 07:47:55 +0000 From: "Dong, Eric" To: "devel@edk2.groups.io" , "thomas.lendacky@amd.com" CC: Brijesh Singh , Ard Biesheuvel , "Justen, Jordan L" , Laszlo Ersek , "Gao, Liming" , "Kinney, Michael D" , "Ni, Ray" Subject: Re: [edk2-devel] [PATCH v9 08/46] UefiCpuPkg: Implement library support for VMGEXIT Thread-Topic: [edk2-devel] [PATCH v9 08/46] UefiCpuPkg: Implement library support for VMGEXIT Thread-Index: AQHWOz05dLSNV8eSi0ONN1AjzdEnMKjeC9YQgABx1wCAASa50A== Date: Fri, 19 Jun 2020 07:47:55 +0000 Message-ID: References: <79f21141-07c6-d63f-7680-1ef08c53ecec@amd.com> In-Reply-To: <79f21141-07c6-d63f-7680-1ef08c53ecec@amd.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bcb20de6-f336-4e4d-4ee1-08d814251411 x-ms-traffictypediagnostic: DM6PR11MB3019: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 0439571D1D x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: feYXFBVWg74J0VTbJmBv6SQHklCqsdAKeHPixXvPsHRape8OgDg5WzKzB43rsOk6hZXlKUnDPhkhJmppa0Ea5MbG+YVFiJjp3IJy2iDZotuNKO2/Jpu08XtKmcIGdWcRAQTwHVT+klX7h7LtkdT7QBtMOhk0CR1+FemluiCMi85IxH4zJm3h1JoFkbakFI3zVwbavmW9e9sq3jgPhRQ8CPHIqECs4NdPDtgC6hlMhKmHx8nfqElWRBXAk/CUbMkwbUn9FbCyJpjUC2fhj9JuoxNjl2Rj/XOG4DzeI2ekzErh3i1sO85RC5AnADJKmZdiQftDFoTNjhwkLKrYNEVwszylcVWglNAkq25mP39wDuGg4kvkZuWoJ7A9RQfaA17UhX0wOclVJ2Lryu4WM37G8w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB3274.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(39860400002)(396003)(346002)(366004)(376002)(136003)(186003)(83380400001)(30864003)(86362001)(107886003)(83080400001)(2906002)(8936002)(26005)(8676002)(478600001)(66446008)(66556008)(66476007)(64756008)(66946007)(5660300002)(966005)(33656002)(7696005)(52536014)(9686003)(54906003)(110136005)(71200400001)(55016002)(316002)(76116006)(45080400002)(6506007)(4326008)(53546011);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: AclEZMwMXRPaagd5Y8AcpozdPewKz48eieeRuTdtTRfuztmGE6r/uKc+ml+fdkH/i660HLoGRG1einK9UjJjD2G+kgGVXztA3F/BsvGot0w9qa3SKlwyiAuyvhhOFwhKQqINHLUSRcGJYAFIeNeSJAbcRi8G/H6owyCqopF55WIqU2sr8LUUDy+nMqgtJW3q+lb/ilLzIa8rv3Nk4b1o7vuVPGBWw32KTNJFSezwx2BWP6KF/erWS9/tFjzQl8oL90LMPIvEODJTT3IxO1Dc6JoIQTjiLeXF1pHzpRrvEBE9qNj2yjm0aOrDR3eAm+e5JqCdfqluoV9h9fU63KFM8cQbO2PVGYupt2MbVeDt7GkfQQbnzU2Zck/AqmegNzEEE6PFGZgT3R5YX+FKkPyP9AZQvErDlCcpRk/EKn/XKqUpBcLsqOd/GwIxuMjenLkiiLgd356y2J+KOoNQnDHgeQmYMtsVfRCyXJj/lkJ1Ab0= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: bcb20de6-f336-4e4d-4ee1-08d814251411 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jun 2020 07:47:55.4030 (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: eAcAtIOFPWwRcx0Hk7PvxboSrRt8UqkOk5IGreFynRIV6VjbndrpIraQ8y6EjE//KvlArSBirsoCjM80e0D8kw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3019 Return-Path: eric.dong@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91 cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YNCj4gTGVuZGFja3ksIFRo b21hcw0KPiBTZW50OiBUaHVyc2RheSwgSnVuZSAxOCwgMjAyMCAxMDowOSBQTQ0KPiBUbzogRG9u ZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENj OiBCcmlqZXNoIFNpbmdoIDxicmlqZXNoLnNpbmdoQGFtZC5jb20+OyBBcmQgQmllc2hldXZlbA0K PiA8YXJkLmJpZXNoZXV2ZWxAYXJtLmNvbT47IEp1c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1 c3RlbkBpbnRlbC5jb20+Ow0KPiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgR2Fv LCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPjsNCj4gS2lubmV5LCBNaWNoYWVsIEQgPG1p Y2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4g U3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjkgMDgvNDZdIFVlZmlDcHVQa2c6IElt cGxlbWVudCBsaWJyYXJ5DQo+IHN1cHBvcnQgZm9yIFZNR0VYSVQNCj4gDQo+IE9uIDYvMTgvMjAg MjoyMyBBTSwgRG9uZywgRXJpYyB3cm90ZToNCj4gPiBIaSBUb20sDQo+ID4NCj4gPiBXaGVuIHVz ZSBWUzIwMTUgdG8gYnVpbGQgdGhpcyBjb2RlLCBpdCByZXBvcnRzIGJlbG93IGVycm9yLiBQbGVh c2UgaGVscCB0bw0KPiBmaXggaXQuDQo+ID4NCj4gPiBrOlxlZGsyXFVlZmlDcHVQa2dcSW5jbHVk ZVxMaWJyYXJ5L1ZtZ0V4aXRMaWIuaDogZXJyb3IgQzIyMjA6IHdhcm5pbmcNCj4gPiB0cmVhdGVk IGFzIGVycm9yIC0gbm8gJ29iamVjdCcgZmlsZSBnZW5lcmF0ZWQNCj4gPiBrOlxlZGsyXFVlZmlD cHVQa2dcSW5jbHVkZVxMaWJyYXJ5L1ZtZ0V4aXRMaWIuaDogd2FybmluZyBDNDMzNTogTWFjDQo+ ID4gZmlsZSBmb3JtYXQgZGV0ZWN0ZWQ6IHBsZWFzZSBjb252ZXJ0IHRoZSBzb3VyY2UgZmlsZSB0 byBlaXRoZXIgRE9TIG9yDQo+ID4gVU5JWCBmb3JtYXQNCj4gDQo+IFRoYXQgaXMgc3RyYW5nZS4u LiAgSSBkaWRuJ3Qgc2VlIHRoaXMgd2hlbiBJIHJhbiB0aHJvdWdoIHRoZSBDSS4gV2hlbiBJIGRv IGEgZmlsZQ0KPiBjb21tYW5kIGFnYWluc3QgdGhlIGZpbGUgaXQgcmVwb3J0czoNCj4gDQo+IFVl ZmlDcHVQa2cvSW5jbHVkZS9MaWJyYXJ5L1ZtZ0V4aXRMaWIuaDogQyBzb3VyY2UsIEFTQ0lJIHRl eHQsIHdpdGggQ1JMRg0KPiBsaW5lIHRlcm1pbmF0b3JzDQo+IA0KPiBJJ2xsIGludmVzdGlnYXRl IHRoaXMgYW5kIHRyeSBhbmQgZmlndXJlIG91dCB3aGF0J3MgZ29pbmcgb24sIGJ1dCBpZiBhbnlv bmUgZWxzZQ0KPiBoYXMgc29tZSBpZGVhcywgcGxlYXNlIGxldCBtZSBrbm93Lg0KDQpIaSBUb20s DQoNCkkgbWV0IHRoaXMgZXJyb3IgYWdhaW4gd2hlbiBJIHRyaWcgYmVsb3cgcGF0Y2ggZnJvbSBB TUQgYWdhaW4gZm9yIENQVSBjaGFuZ2UuDQoiVWVmaUNwdVBrZzogTW92ZSBTdGFuZGFyZFNpZ25h dHVyZUlzQXV0aGVudGljQU1EIHRvIEJhc2VVZWZpQ3B1TGliIg0KDQpJJ20gbm90IHN1cmUgd2hl dGhlciB0aGlzIGlzIHBhdGNoIGlzc3VlLCBvciBvdXIgaW50ZXJuYWwgdGVzdCBzZXZlciBpc3N1 ZS4gSSBoYXZlIHJlcG9ydGVkIHRoaXMgZXJyb3IgdG8gb3VyIGludGVybmFsIHRlYW0gdG8gY2hl Y2sgYWxzby4NClBsZWFzZSBjaGVjayBpdCBmcm9tIHlvdXIgc2lkZSBhbmQgbWFrZSBzdXJlIG5v IGVycm9yIGZyb20geW91ciBzaWRlLiBJIHdpbGwgdXBkYXRlIHRoZSBzdGF0dXMgZnJvbSBteSBz aWRlIHdoZW4gSSBnZXQgdGhlIHVwZGF0ZS4NCg0KVGhhbmtzLA0KRXJpYw0KDQo+IA0KPiBUaGFu a3MsDQo+IFRvbQ0KPiANCj4gPg0KPiA+IFRoYW5rcywNCj4gPiBFcmljDQo+ID4NCj4gPj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogVG9tIExlbmRhY2t5IDx0aG9tYXMu bGVuZGFja3lAYW1kLmNvbT4NCj4gPj4gU2VudDogRnJpZGF5LCBKdW5lIDUsIDIwMjAgOToyNyBQ TQ0KPiA+PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPj4gQ2M6IEJyaWplc2ggU2luZ2gg PGJyaWplc2guc2luZ2hAYW1kLmNvbT47IEFyZCBCaWVzaGV1dmVsDQo+ID4+IDxhcmQuYmllc2hl dXZlbEBhcm0uY29tPjsgRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT47IEp1c3RlbiwN Cj4gPj4gSm9yZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBMYXN6bG8gRXJzZWsN Cj4gPj4gPGxlcnNla0ByZWRoYXQuY29tPjsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwu Y29tPjsgS2lubmV5LA0KPiA+PiBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t PjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPj4gU3ViamVjdDogW1BBVENIIHY5IDA4 LzQ2XSBVZWZpQ3B1UGtnOiBJbXBsZW1lbnQgbGlicmFyeSBzdXBwb3J0IGZvcg0KPiA+PiBWTUdF WElUDQo+ID4+DQo+ID4+IEJaOg0KPiA+Pg0KPiBodHRwczovL25hbTExLnNhZmVsaW5rcy5wcm90 ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMlM0ElMkYlMkZidWcNCj4gPj4NCj4gemlsbGEu dGlhbm9jb3JlLm9yZyUyRnNob3dfYnVnLmNnaSUzRmlkJTNEMjE5OCZhbXA7ZGF0YT0wMiU3QzAx JTdDdA0KPiBobw0KPiA+Pg0KPiBtYXMubGVuZGFja3klNDBhbWQuY29tJTdDZDc1NTU0ZGE0OTU5 NDA3Yzk2NzYwOGQ4MTM1ODc3YmUlN0MzZGQNCj4gODk2MWZlDQo+ID4+DQo+IDQ4ODRlNjA4ZTEx YTgyZDk5NGUxODNkJTdDMCU3QzAlN0M2MzcyODA2MTc5NzUyNTA4NDImYW1wO3NkYXRhPQ0KPiBm QmxLMkINCj4gPj4gRmtSZEFTNUVXY004WVNoZjFac3dmUk4lMkY0MUw3WGVVc2I0WkNzJTNEJmFt cDtyZXNlcnZlZD0wDQo+ID4+DQo+ID4+IFRvIHN1cHBvcnQgaGFuZGxpbmcgI1ZDIGV4Y2VwdGlv bnMgYW5kIGlzc3VpbmcgVk1HRVhJVCBpbnN0cnVjdGlvbnMsDQo+ID4+IGNyZWF0ZSBhIGxpYnJh cnkgd2l0aCBmdW5jdGlvbnMgdGhhdCBjYW4gYmUgdXNlZCB0byBwZXJmb3JtIHRoZXNlDQo+ID4+ ICNWQy9WTUdFWElUIHJlbGF0ZWQgb3BlcmF0aW9ucy4gVGhpcyBpbmNsdWRlcyBmdW5jdGlvbnMg Zm9yOg0KPiA+PiAgICAtIEhhbmRsaW5nICNWQyBleGNlcHRpb25zDQo+ID4+ICAgIC0gUHJlcGFy aW5nIGZvciBhbmQgaXNzdWluZyBhIFZNR0VYSVQNCj4gPj4gICAgLSBQZXJmb3JtaW5nIE1NSU8t cmVsYXRlZCB3cml0ZSBvcGVyYXRpb25zIHRvIHN1cHBvcnQgZmxhc2ggZW11bGF0aW9uDQo+ID4+ ICAgIC0gUGVyZm9ybWluZyBBUCByZWxhdGVkIGJvb3Qgb3BlYXRpb25zDQo+ID4+DQo+ID4+IFRo ZSBiYXNlIGZ1bmN0aW9ucyBpbiB0aGlzIGRyaXZlciB3aWxsIG5vdCBkbyBhbnl0aGluZyBhbmQg d2lsbA0KPiA+PiByZXR1cm4gYW4gZXJyb3IgaWYgYSByZXR1cm4gdmFsdWUgaXMgcmVxdWlyZWQu IEl0IGlzIGV4cGVjdGVkIHRoYXQNCj4gPj4gb3RoZXIgcGFja2FnZXMgKGxpa2UgT3ZtZlBrZykg d2lsbCBjcmVhdGUgYSB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5IHRvDQo+ID4+IGZ1bGx5IHN1cHBv cnQgYW4gU0VWLUVTIGd1ZXN0Lg0KPiA+Pg0KPiA+PiBDYzogRXJpYyBEb25nIDxlcmljLmRvbmdA aW50ZWwuY29tPg0KPiA+PiBDYzogUmF5IE5pIDxyYXkubmlAaW50ZWwuY29tPg0KPiA+PiBDYzog TGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPj4gU2lnbmVkLW9mZi1ieTogVG9t IExlbmRhY2t5IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT4NCj4gPj4gLS0tDQo+ID4+ICAgVWVm aUNwdVBrZy9VZWZpQ3B1UGtnLmRlYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyAr DQo+ID4+ICAgVWVmaUNwdVBrZy9VZWZpQ3B1UGtnLmRzYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgMiArDQo+ID4+ICAgVWVmaUNwdVBrZy9MaWJyYXJ5L1ZtZ0V4aXRMaWJOdWxsL1Zt Z0V4aXRMaWJOdWxsLmluZiB8ICAyNyArKysrKw0KPiA+PiAgIFVlZmlDcHVQa2cvSW5jbHVkZS9M aWJyYXJ5L1ZtZ0V4aXRMaWIuaCAgICAgICAgICAgICAgfCAxMDMNCj4gKysrKysrKysrKysrKysr KysNCj4gPj4gICBVZWZpQ3B1UGtnL0xpYnJhcnkvVm1nRXhpdExpYk51bGwvVm1nRXhpdExpYk51 bGwuYyAgIHwgMTIxDQo+ID4+ICsrKysrKysrKysrKysrKysrKysrDQo+ID4+ICAgVWVmaUNwdVBr Zy9MaWJyYXJ5L1ZtZ0V4aXRMaWJOdWxsL1ZtZ0V4aXRMaWJOdWxsLnVuaSB8ICAxNSArKysNCj4g Pj4gICA2IGZpbGVzIGNoYW5nZWQsIDI3MSBpbnNlcnRpb25zKCspDQo+ID4+DQo+ID4+IGRpZmYg LS1naXQgYS9VZWZpQ3B1UGtnL1VlZmlDcHVQa2cuZGVjIGIvVWVmaUNwdVBrZy9VZWZpQ3B1UGtn LmRlYw0KPiA+PiBpbmRleCBkZjVkMDJiYWU2YjQuLmNiOTJmMzRiNmY1NSAxMDA2NDQNCj4gPj4g LS0tIGEvVWVmaUNwdVBrZy9VZWZpQ3B1UGtnLmRlYw0KPiA+PiArKysgYi9VZWZpQ3B1UGtnL1Vl ZmlDcHVQa2cuZGVjDQo+ID4+IEBAIC01Myw2ICs1Myw5IEBAIFtMaWJyYXJ5Q2xhc3Nlcy5JQTMy LCBMaWJyYXJ5Q2xhc3Nlcy5YNjRdDQo+ID4+ICAgICAjIw0KPiA+Pg0KPiA+PiAgICAgTXBJbml0 TGlifEluY2x1ZGUvTGlicmFyeS9NcEluaXRMaWIuaA0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+PiAr ICAjIyAgQGxpYnJhcnljbGFzcyAgUHJvdmlkZXMgZnVuY3Rpb24gdG8gc3VwcG9ydCBWTUdFWElU IHByb2Nlc3NpbmcuDQo+ID4+DQo+ID4+ICsgIFZtZ0V4aXRMaWJ8SW5jbHVkZS9MaWJyYXJ5L1Zt Z0V4aXRMaWIuaA0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICAgW0d1aWRzXQ0KPiA+Pg0KPiA+ PiAgICAgZ1VlZmlDcHVQa2dUb2tlblNwYWNlR3VpZCAgICAgID0geyAweGFjMDViZjMzLCAweDk5 NWEsIDB4NGVkNCwgeyAweGFhLA0KPiA+PiAweGI4LCAweGVmLCAweDdhLCAweGU4LCAweGYsIDB4 NWMsIDB4YjAgfX0NCj4gPj4NCj4gPj4gICAgIGdNc2VnU21yYW1HdWlkICAgICAgICAgICAgICAg ICA9IHsgMHg1ODAyYmNlNCwgMHhlZWVlLCAweDRlMzMsIHsgMHhhMSwgMHgzMCwNCj4gPj4gMHhl YiwgMHhhZCwgMHgyNywgMHhmMCwgMHhlNCwgMHgzOSB9fQ0KPiA+Pg0KPiA+PiBkaWZmIC0tZ2l0 IGEvVWVmaUNwdVBrZy9VZWZpQ3B1UGtnLmRzYyBiL1VlZmlDcHVQa2cvVWVmaUNwdVBrZy5kc2MN Cj4gPj4gaW5kZXggYWZhMzA0MTI4MjIxLi5mMGU1OGI5MGZmMGEgMTAwNjQ0DQo+ID4+IC0tLSBh L1VlZmlDcHVQa2cvVWVmaUNwdVBrZy5kc2MNCj4gPj4gKysrIGIvVWVmaUNwdVBrZy9VZWZpQ3B1 UGtnLmRzYw0KPiA+PiBAQCAtNTYsNiArNTYsNyBAQCBbTGlicmFyeUNsYXNzZXNdDQo+ID4+DQo+ ID4+DQo+IFBlQ29mZkdldEVudHJ5UG9pbnRMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBlQ29mZkdl dEVudHJ5UG9pbnRMaWIvQmFzZQ0KPiA+PiBQZUNvZmZHZXRFbnRyeVBvaW50TGliLmluZg0KPiA+ Pg0KPiA+Pg0KPiA+Pg0KPiBQZUNvZmZFeHRyYUFjdGlvbkxpYnxNZGVQa2cvTGlicmFyeS9CYXNl UGVDb2ZmRXh0cmFBY3Rpb25MaWJOdWxsL0Jhc2UNCj4gPj4gUGVDb2ZmRXh0cmFBY3Rpb25MaWJ8 UA0KPiA+PiBlQ29mZkV4dHJhQWN0aW9uTGliTnVsbC5pbmYNCj4gPj4NCj4gPj4NCj4gPj4NCj4g VHBtTWVhc3VyZW1lbnRMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvVHBtTWVhc3VyZW1lbnRMaWJO dWxsL1RwDQo+ID4+IG1NZWFzdXJlbWVudExpYk51bGwuaW5mDQo+ID4+DQo+ID4+ICsgIFZtZ0V4 aXRMaWJ8VWVmaUNwdVBrZy9MaWJyYXJ5L1ZtZ0V4aXRMaWJOdWxsL1ZtZ0V4aXRMaWJOdWxsLmlu Zg0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+PiAgIFtMaWJyYXJ5Q2xhc3Nlcy5jb21tb24uU0VDXQ0K PiA+Pg0KPiA+Pg0KPiA+Pg0KPiBQbGF0Zm9ybVNlY0xpYnxVZWZpQ3B1UGtnL0xpYnJhcnkvUGxh dGZvcm1TZWNMaWJOdWxsL1BsYXRmb3JtU2VjTGliTnUNCj4gPj4gUGxhdGZvcm1TZWNMaWJ8bGwu aQ0KPiA+PiBuZg0KPiA+Pg0KPiA+PiBAQCAtMTQzLDYgKzE0NCw3IEBAIFtDb21wb25lbnRzLklB MzIsIENvbXBvbmVudHMuWDY0XQ0KPiA+Pg0KPiA+Pg0KPiBVZWZpQ3B1UGtnL0xpYnJhcnkvU21t Q3B1UGxhdGZvcm1Ib29rTGliTnVsbC9TbW1DcHVQbGF0Zm9ybUhvb2tMaWINCj4gPj4gTnVsbC5p bmYNCj4gPj4NCj4gPj4gICAgIFVlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9T bW1DcHVGZWF0dXJlc0xpYi5pbmYNCj4gPj4NCj4gPj4gICAgIFVlZmlDcHVQa2cvTGlicmFyeS9T bW1DcHVGZWF0dXJlc0xpYi9TbW1DcHVGZWF0dXJlc0xpYlN0bS5pbmYNCj4gPj4NCj4gPj4gKyAg VWVmaUNwdVBrZy9MaWJyYXJ5L1ZtZ0V4aXRMaWJOdWxsL1ZtZ0V4aXRMaWJOdWxsLmluZg0KPiA+ Pg0KPiA+PiAgICAgVWVmaUNwdVBrZy9QaVNtbUNvbW11bmljYXRpb24vUGlTbW1Db21tdW5pY2F0 aW9uUGVpLmluZg0KPiA+Pg0KPiA+PiAgICAgVWVmaUNwdVBrZy9QaVNtbUNvbW11bmljYXRpb24v UGlTbW1Db21tdW5pY2F0aW9uU21tLmluZg0KPiA+Pg0KPiA+PiAgICAgVWVmaUNwdVBrZy9TZWND b3JlL1NlY0NvcmUuaW5mDQo+ID4+DQo+ID4+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJh cnkvVm1nRXhpdExpYk51bGwvVm1nRXhpdExpYk51bGwuaW5mDQo+ID4+IGIvVWVmaUNwdVBrZy9M aWJyYXJ5L1ZtZ0V4aXRMaWJOdWxsL1ZtZ0V4aXRMaWJOdWxsLmluZg0KPiA+PiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiA+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmQ4NzcwYTIxYzM1NQ0KPiA+PiAt LS0gL2Rldi9udWxsDQo+ID4+ICsrKyBiL1VlZmlDcHVQa2cvTGlicmFyeS9WbWdFeGl0TGliTnVs bC9WbWdFeGl0TGliTnVsbC5pbmYNCj4gPj4gQEAgLTAsMCArMSwyNyBAQA0KPiA+PiArIyMgQGZp bGUNCj4gPj4NCj4gPj4gKyMgIFZNR0VYSVQgU3VwcG9ydCBMaWJyYXJ5Lg0KPiA+Pg0KPiA+PiAr Iw0KPiA+Pg0KPiA+PiArIyAgQ29weXJpZ2h0IChDKSAyMDIwLCBBZHZhbmNlZCBNaWNybyBEZXZp Y2VzLCBJbmMuIEFsbCByaWdodHMNCj4gPj4gK3Jlc2VydmVkLjxCUj4NCj4gPj4NCj4gPj4gKyMg IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4+DQo+ID4+ ICsjDQo+ID4+DQo+ID4+ICsjIw0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICtbRGVmaW5lc10N Cj4gPj4NCj4gPj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAw NQ0KPiA+Pg0KPiA+PiArICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBWbWdFeGl0 TGliTnVsbA0KPiA+Pg0KPiA+PiArICBNT0RVTEVfVU5JX0ZJTEUgICAgICAgICAgICAgICAgPSBW bWdFeGl0TGliTnVsbC51bmkNCj4gPj4NCj4gPj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAg ICAgICAgID0gM2NkNzM2OGYtZWY5Yi00YTliLTk1NzEtMmVkOTM4MTM2NzdlDQo+ID4+DQo+ID4+ ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IEJBU0UNCj4gPj4NCj4gPj4gKyAg VkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ID4+DQo+ID4+ICsgIExJQlJB UllfQ0xBU1MgICAgICAgICAgICAgICAgICA9IFZtZ0V4aXRMaWINCj4gPj4NCj4gPj4gKw0KPiA+ Pg0KPiA+PiArW1NvdXJjZXMuY29tbW9uXQ0KPiA+Pg0KPiA+PiArICBWbWdFeGl0TGliTnVsbC5j DQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gK1tQYWNrYWdlc10NCj4gPj4NCj4gPj4gKyAgTWRl UGtnL01kZVBrZy5kZWMNCj4gPj4NCj4gPj4gKyAgVWVmaUNwdVBrZy9VZWZpQ3B1UGtnLmRlYw0K PiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICtbTGlicmFyeUNsYXNzZXNdDQo+ID4+DQo+ID4+ICsg IEJhc2VMaWINCj4gPj4NCj4gPj4gKw0KPiA+Pg0KPiA+PiBkaWZmIC0tZ2l0IGEvVWVmaUNwdVBr Zy9JbmNsdWRlL0xpYnJhcnkvVm1nRXhpdExpYi5oDQo+ID4+IGIvVWVmaUNwdVBrZy9JbmNsdWRl L0xpYnJhcnkvVm1nRXhpdExpYi5oDQo+ID4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4+IGlu ZGV4IDAwMDAwMDAwMDAwMC4uMGIyZjM5MDI2YTRhDQo+ID4+IC0tLSAvZGV2L251bGwNCj4gPj4g KysrIGIvVWVmaUNwdVBrZy9JbmNsdWRlL0xpYnJhcnkvVm1nRXhpdExpYi5oDQo+ID4+IEBAIC0w LDAgKzEsMTAzIEBADQo+ID4+ICsvKiogQGZpbGUNCj4gPj4NCj4gPj4gKyAgUHVibGljIGhlYWRl ciBmaWxlIGZvciB0aGUgVk1HRVhJVCBTdXBwb3J0IGxpYnJhcnkgY2xhc3MuDQo+ID4+DQo+ID4+ ICsNCj4gPj4NCj4gPj4gKyAgVGhpcyBsaWJyYXJ5IGNsYXNzIGRlZmluZXMgc29tZSByb3V0aW5l cyB1c2VkIHdoZW4gaW52b2tpbmcgdGhlDQo+ID4+ICsgVk1HRVhJVA0KPiA+Pg0KPiA+PiArICBp bnN0cnVjdGlvbiBpbiBzdXBwb3J0IG9mIFNFVi1FUyBhbmQgdG8gaGFuZGxlICNWQyBleGNlcHRp b25zLg0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICsgIENvcHlyaWdodCAoQykgMjAyMCwgQWR2 YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLiBBbGwgcmlnaHRzDQo+ID4+ICsgcmVzZXJ2ZWQuPEJS Pg0KPiA+Pg0KPiA+PiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICsqKi8NCj4gPj4NCj4gPj4gKw0KPiA+Pg0K PiA+PiArI2lmbmRlZiBfX1ZNR19FWElUX0xJQl9IX18NCj4gPj4NCj4gPj4gKyNkZWZpbmUgX19W TUdfRVhJVF9MSUJfSF9fDQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyNpbmNsdWRlIDxQcm90 b2NvbC9EZWJ1Z1N1cHBvcnQuaD4NCj4gPj4NCj4gPj4gKyNpbmNsdWRlIDxSZWdpc3Rlci9BbWQv R2hjYi5oPg0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKy8qKg0KPiA+ Pg0KPiA+PiArICBQZXJmb3JtIFZNR0VYSVQuDQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyAg U2V0cyB0aGUgbmVjZXNzYXJ5IGZpZWxkcyBvZiB0aGUgR0hDQiwgaW52b2tlcyB0aGUgVk1HRVhJ VA0KPiA+PiArIGluc3RydWN0aW9uDQo+ID4+IGFuZA0KPiA+Pg0KPiA+PiArICB0aGVuIGhhbmRs ZXMgdGhlIHJldHVybiBhY3Rpb25zLg0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICsgIEBwYXJh bVtpbiwgb3V0XSAgR2hjYiAgICAgICBBIHBvaW50ZXIgdG8gdGhlIEdIQ0INCj4gPj4NCj4gPj4g KyAgQHBhcmFtW2luXSAgICAgICBFeGl0Q29kZSAgIFZNR0VYSVQgY29kZSB0byBiZSBhc3NpZ25l ZCB0byB0aGUNCj4gU3dFeGl0Q29kZQ0KPiA+Pg0KPiA+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZmllbGQgb2YgdGhlIEdIQ0IuDQo+ID4+DQo+ID4+ICsgIEBwYXJhbVtpbl0gICAg ICAgRXhpdEluZm8xICBWTUdFWElUIGluZm9ybWF0aW9uIHRvIGJlIGFzc2lnbmVkIHRvIHRoZQ0K PiA+Pg0KPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3dFeGl0SW5mbzEgZmll bGQgb2YgdGhlIEdIQ0IuDQo+ID4+DQo+ID4+ICsgIEBwYXJhbVtpbl0gICAgICAgRXhpdEluZm8y ICBWTUdFWElUIGluZm9ybWF0aW9uIHRvIGJlIGFzc2lnbmVkIHRvIHRoZQ0KPiA+Pg0KPiA+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3dFeGl0SW5mbzIgZmllbGQgb2YgdGhlIEdI Q0IuDQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyAgQHJldHVybiAgMCAgICAgICAgICAgICAg ICAgIFZNR0VYSVQgc3VjY2VlZGVkLg0KPiA+Pg0KPiA+PiArICBAcmV0dXJuICBPdGhlcnMgICAg ICAgICAgICAgVk1HRVhJVCBwcm9jZXNzaW5nIGRpZCBub3Qgc3VjY2VlZC4gRXhjZXB0aW9uDQo+ ID4+DQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXIgdG8gYmUgcHJv cGFnYXRlZC4NCj4gPj4NCj4gPj4gKw0KPiA+Pg0KPiA+PiArKiovDQo+ID4+DQo+ID4+ICtVSU5U NjQNCj4gPj4NCj4gPj4gK0VGSUFQSQ0KPiA+Pg0KPiA+PiArVm1nRXhpdCAoDQo+ID4+DQo+ID4+ ICsgIElOIE9VVCBHSENCICAgICAgICAgICAgICAgICpHaGNiLA0KPiA+Pg0KPiA+PiArICBJTiAg ICAgVUlOVDY0ICAgICAgICAgICAgICBFeGl0Q29kZSwNCj4gPj4NCj4gPj4gKyAgSU4gICAgIFVJ TlQ2NCAgICAgICAgICAgICAgRXhpdEluZm8xLA0KPiA+Pg0KPiA+PiArICBJTiAgICAgVUlOVDY0 ICAgICAgICAgICAgICBFeGl0SW5mbzINCj4gPj4NCj4gPj4gKyAgKTsNCj4gPj4NCj4gPj4gKw0K PiA+Pg0KPiA+PiArLyoqDQo+ID4+DQo+ID4+ICsgIFBlcmZvcm0gcHJlLVZNR0VYSVQgaW5pdGlh bGl6YXRpb24vcHJlcGFyYXRpb24uDQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyAgUGVyZm9y bXMgdGhlIG5lY2Vzc2FyeSBzdGVwcyBpbiBwcmVwYXJhdGlvbiBmb3IgaW52b2tpbmcgVk1HRVhJ VC4NCj4gPj4gKyBNdXN0DQo+ID4+IGJlDQo+ID4+DQo+ID4+ICsgIGNhbGxlZCBiZWZvcmUgc2V0 dGluZyBhbnkgZmllbGRzIHdpdGhpbiB0aGUgR0hDQi4NCj4gPj4NCj4gPj4gKw0KPiA+Pg0KPiA+ PiArICBAcGFyYW1baW4sIG91dF0gIEdoY2IgICAgICAgQSBwb2ludGVyIHRvIHRoZSBHSENCDQo+ ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyoqLw0KPiA+Pg0KPiA+PiArVk9JRA0KPiA+Pg0KPiA+ PiArRUZJQVBJDQo+ID4+DQo+ID4+ICtWbWdJbml0ICgNCj4gPj4NCj4gPj4gKyAgSU4gT1VUIEdI Q0IgICAgICAgICAgICAgICAgKkdoY2INCj4gPj4NCj4gPj4gKyAgKTsNCj4gPj4NCj4gPj4gKw0K PiA+Pg0KPiA+PiArLyoqDQo+ID4+DQo+ID4+ICsgIFBlcmZvcm0gcG9zdC1WTUdFWElUIGNsZWFu dXAuDQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyAgUGVyZm9ybXMgdGhlIG5lY2Vzc2FyeSBz dGVwcyB0byBjbGVhbnVwIGFmdGVyIGludm9raW5nIFZNR0VYSVQuDQo+ID4+ICsgTXVzdCBiZQ0K PiA+Pg0KPiA+PiArICBjYWxsZWQgYWZ0ZXIgb2J0YWluaW5nIG5lZWRlZCBmaWVsZHMgd2l0aGlu IHRoZSBHSENCLg0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICsgIEBwYXJhbVtpbiwgb3V0XSAg R2hjYiAgICAgICBBIHBvaW50ZXIgdG8gdGhlIEdIQ0INCj4gPj4NCj4gPj4gKw0KPiA+Pg0KPiA+ PiArKiovDQo+ID4+DQo+ID4+ICtWT0lEDQo+ID4+DQo+ID4+ICtFRklBUEkNCj4gPj4NCj4gPj4g K1ZtZ0RvbmUgKA0KPiA+Pg0KPiA+PiArICBJTiBPVVQgR0hDQiAgICAgICAgICAgICAgICAqR2hj Yg0KPiA+Pg0KPiA+PiArICApOw0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICsvKioNCj4gPj4N Cj4gPj4gKyAgSGFuZGxlIGEgI1ZDIGV4Y2VwdGlvbi4NCj4gPj4NCj4gPj4gKw0KPiA+Pg0KPiA+ PiArICBQZXJmb3JtcyB0aGUgbmVjZXNzYXJ5IHByb2Nlc3NpbmcgdG8gaGFuZGxlIGEgI1ZDIGV4 Y2VwdGlvbi4NCj4gPj4NCj4gPj4gKw0KPiA+Pg0KPiA+PiArICBUaGUgYmFzZSBsaWJyYXJ5IGZ1 bmN0aW9uIHJldHVybnMgYW4gZXJyb3IgZXF1YWwgdG8gVkNfRVhDRVBUSU9OLA0KPiA+Pg0KPiA+ PiArICB0byBiZSBwcm9wYWdhdGVkIHRvIHRoZSBzdGFuZGFyZCBleGNlcHRpb24gaGFuZGxpbmcg c3RhY2suDQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyAgQHBhcmFtW2luLCBvdXRdICBFeGNl cHRpb25UeXBlICBQb2ludGVyIHRvIGFuIEVGSV9FWENFUFRJT05fVFlQRQ0KPiA+PiArIHRvIGJl DQo+ID4+IHNldA0KPiA+Pg0KPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGFzIHZhbHVlIHRvIHVzZSBvbiBlcnJvci4NCj4gPj4NCj4gPj4gKyAgQHBhcmFtW2luLCBvdXRd ICBTeXN0ZW1Db250ZXh0ICBQb2ludGVyIHRvIEVGSV9TWVNURU1fQ09OVEVYVA0KPiA+Pg0KPiA+ PiArDQo+ID4+DQo+ID4+ICsgIEByZXR2YWwgIEVGSV9TVUNDRVNTICAgICAgICAgICAgRXhjZXB0 aW9uIGhhbmRsZWQNCj4gPj4NCj4gPj4gKyAgQHJldHZhbCAgRUZJX1VOU1VQUE9SVEVEICAgICAg ICAjVkMgbm90IHN1cHBvcnRlZCwgKG5ldykgZXhjZXB0aW9uDQo+ID4+IHZhbHVlIHRvDQo+ID4+ DQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRlIHByb3Zp ZGVkDQo+ID4+DQo+ID4+ICsgIEByZXR2YWwgIEVGSV9QUk9UT0NPTF9FUlJPUiAgICAgI1ZDIGhh bmRsaW5nIGZhaWxlZCwgKG5ldykgZXhjZXB0aW9uDQo+ID4+IHZhbHVlIHRvDQo+ID4+DQo+ID4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRlIHByb3ZpZGVkDQo+ ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyoqLw0KPiA+Pg0KPiA+PiArRUZJX1NUQVRVUw0KPiA+ Pg0KPiA+PiArRUZJQVBJDQo+ID4+DQo+ID4+ICtWbWdFeGl0SGFuZGxlVmMgKA0KPiA+Pg0KPiA+ PiArICBJTiBPVVQgRUZJX0VYQ0VQVElPTl9UWVBFICAqRXhjZXB0aW9uVHlwZSwNCj4gPj4NCj4g Pj4gKyAgSU4gT1VUIEVGSV9TWVNURU1fQ09OVEVYVCAgU3lzdGVtQ29udGV4dA0KPiA+Pg0KPiA+ PiArICApOw0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICsjZW5kaWYNCj4gPj4NCj4gPj4gZGlm ZiAtLWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9WbWdFeGl0TGliTnVsbC9WbWdFeGl0TGliTnVs bC5jDQo+ID4+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L1ZtZ0V4aXRMaWJOdWxsL1ZtZ0V4aXRMaWJO dWxsLmMNCj4gPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPj4gaW5kZXggMDAwMDAwMDAwMDAw Li4zMGEyMzlkZjI5OGUNCj4gPj4gLS0tIC9kZXYvbnVsbA0KPiA+PiArKysgYi9VZWZpQ3B1UGtn L0xpYnJhcnkvVm1nRXhpdExpYk51bGwvVm1nRXhpdExpYk51bGwuYw0KPiA+PiBAQCAtMCwwICsx LDEyMSBAQA0KPiA+PiArLyoqIEBmaWxlDQo+ID4+DQo+ID4+ICsgIFZNR0VYSVQgQmFzZSBTdXBw b3J0IExpYnJhcnkuDQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyAgQ29weXJpZ2h0IChDKSAy MDIwLCBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuIEFsbCByaWdodHMNCj4gPj4gKyByZXNl cnZlZC48QlI+DQo+ID4+DQo+ID4+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtUGF0ZW50DQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyoqLw0KPiA+Pg0KPiA+PiAr DQo+ID4+DQo+ID4+ICsjaW5jbHVkZSA8QmFzZS5oPg0KPiA+Pg0KPiA+PiArI2luY2x1ZGUgPFVl ZmkuaD4NCj4gPj4NCj4gPj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1ZtZ0V4aXRMaWIuaD4NCj4gPj4N Cj4gPj4gKw0KPiA+Pg0KPiA+PiArLyoqDQo+ID4+DQo+ID4+ICsgIFBlcmZvcm0gVk1HRVhJVC4N Cj4gPj4NCj4gPj4gKw0KPiA+Pg0KPiA+PiArICBTZXRzIHRoZSBuZWNlc3NhcnkgZmllbGRzIG9m IHRoZSBHSENCLCBpbnZva2VzIHRoZSBWTUdFWElUDQo+ID4+ICsgaW5zdHJ1Y3Rpb24NCj4gPj4g YW5kDQo+ID4+DQo+ID4+ICsgIHRoZW4gaGFuZGxlcyB0aGUgcmV0dXJuIGFjdGlvbnMuDQo+ID4+ DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyAgVGhlIGJhc2UgbGlicmFyeSBmdW5jdGlvbiByZXR1cm5z IGFuIGVycm9yIGluIHRoZSBmb3JtIG9mIGENCj4gPj4NCj4gPj4gKyAgR0hDQl9FVkVOVF9JTkpF Q1RJT04gcmVwcmVzZW50aW5nIGEgR1BfRVhDRVBUSU9OLg0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ ID4+ICsgIEBwYXJhbVtpbiwgb3V0XSAgR2hjYiAgICAgICBBIHBvaW50ZXIgdG8gdGhlIEdIQ0IN Cj4gPj4NCj4gPj4gKyAgQHBhcmFtW2luXSAgICAgICBFeGl0Q29kZSAgIFZNR0VYSVQgY29kZSB0 byBiZSBhc3NpZ25lZCB0byB0aGUNCj4gU3dFeGl0Q29kZQ0KPiA+Pg0KPiA+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZmllbGQgb2YgdGhlIEdIQ0IuDQo+ID4+DQo+ID4+ICsgIEBw YXJhbVtpbl0gICAgICAgRXhpdEluZm8xICBWTUdFWElUIGluZm9ybWF0aW9uIHRvIGJlIGFzc2ln bmVkIHRvIHRoZQ0KPiA+Pg0KPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3dF eGl0SW5mbzEgZmllbGQgb2YgdGhlIEdIQ0IuDQo+ID4+DQo+ID4+ICsgIEBwYXJhbVtpbl0gICAg ICAgRXhpdEluZm8yICBWTUdFWElUIGluZm9ybWF0aW9uIHRvIGJlIGFzc2lnbmVkIHRvIHRoZQ0K PiA+Pg0KPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3dFeGl0SW5mbzIgZmll bGQgb2YgdGhlIEdIQ0IuDQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyAgQHJldHVybiAgMCAg ICAgICAgICAgICAgICAgIFZNR0VYSVQgc3VjY2VlZGVkLg0KPiA+Pg0KPiA+PiArICBAcmV0dXJu ICBPdGhlcnMgICAgICAgICAgICAgVk1HRVhJVCBwcm9jZXNzaW5nIGRpZCBub3Qgc3VjY2VlZC4g RXhjZXB0aW9uDQo+ID4+DQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVu dCB0byBiZSBwcm9wYWdhdGVkLg0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICsqKi8NCj4gPj4N Cj4gPj4gK1VJTlQ2NA0KPiA+Pg0KPiA+PiArRUZJQVBJDQo+ID4+DQo+ID4+ICtWbWdFeGl0ICgN Cj4gPj4NCj4gPj4gKyAgSU4gT1VUIEdIQ0IgICAgICAgICAgICAgICAgKkdoY2IsDQo+ID4+DQo+ ID4+ICsgIElOICAgICBVSU5UNjQgICAgICAgICAgICAgIEV4aXRDb2RlLA0KPiA+Pg0KPiA+PiAr ICBJTiAgICAgVUlOVDY0ICAgICAgICAgICAgICBFeGl0SW5mbzEsDQo+ID4+DQo+ID4+ICsgIElO ICAgICBVSU5UNjQgICAgICAgICAgICAgIEV4aXRJbmZvMg0KPiA+Pg0KPiA+PiArICApDQo+ID4+ DQo+ID4+ICt7DQo+ID4+DQo+ID4+ICsgIEdIQ0JfRVZFTlRfSU5KRUNUSU9OICBFdmVudDsNCj4g Pj4NCj4gPj4gKw0KPiA+Pg0KPiA+PiArICBFdmVudC5VaW50NjQgPSAwOw0KPiA+Pg0KPiA+PiAr ICBFdmVudC5FbGVtZW50cy5WZWN0b3IgPSBHUF9FWENFUFRJT047DQo+ID4+DQo+ID4+ICsgIEV2 ZW50LkVsZW1lbnRzLlR5cGUgICA9IEdIQ0JfRVZFTlRfSU5KRUNUSU9OX1RZUEVfRVhDRVBUSU9O Ow0KPiA+Pg0KPiA+PiArICBFdmVudC5FbGVtZW50cy5WYWxpZCAgPSAxOw0KPiA+Pg0KPiA+PiAr DQo+ID4+DQo+ID4+ICsgIHJldHVybiBFdmVudC5VaW50NjQ7DQo+ID4+DQo+ID4+ICt9DQo+ID4+ DQo+ID4+ICsNCj4gPj4NCj4gPj4gKy8qKg0KPiA+Pg0KPiA+PiArICBQZXJmb3JtIHByZS1WTUdF WElUIGluaXRpYWxpemF0aW9uL3ByZXBhcmF0aW9uLg0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ ICsgIFBlcmZvcm1zIHRoZSBuZWNlc3Nhcnkgc3RlcHMgaW4gcHJlcGFyYXRpb24gZm9yIGludm9r aW5nIFZNR0VYSVQuDQo+ID4+ICsgTXVzdA0KPiA+PiBiZQ0KPiA+Pg0KPiA+PiArICBjYWxsZWQg YmVmb3JlIHNldHRpbmcgYW55IGZpZWxkcyB3aXRoaW4gdGhlIEdIQ0IuDQo+ID4+DQo+ID4+ICsN Cj4gPj4NCj4gPj4gKyAgVGhlIGJhc2UgbGlicmFyeSBmdW5jdGlvbiBkb2VzIG5vdGhpbmcuDQo+ ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyAgQHBhcmFtW2luLCBvdXRdICBHaGNiICAgICAgIEEg cG9pbnRlciB0byB0aGUgR0hDQg0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICsqKi8NCj4gPj4N Cj4gPj4gK1ZPSUQNCj4gPj4NCj4gPj4gK0VGSUFQSQ0KPiA+Pg0KPiA+PiArVm1nSW5pdCAoDQo+ ID4+DQo+ID4+ICsgIElOIE9VVCBHSENCICAgICAgICAgICAgICAgICpHaGNiDQo+ID4+DQo+ID4+ ICsgICkNCj4gPj4NCj4gPj4gK3sNCj4gPj4NCj4gPj4gK30NCj4gPj4NCj4gPj4gKw0KPiA+Pg0K PiA+PiArLyoqDQo+ID4+DQo+ID4+ICsgIFBlcmZvcm0gcG9zdC1WTUdFWElUIGNsZWFudXAuDQo+ ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyAgUGVyZm9ybXMgdGhlIG5lY2Vzc2FyeSBzdGVwcyB0 byBjbGVhbnVwIGFmdGVyIGludm9raW5nIFZNR0VYSVQuDQo+ID4+ICsgTXVzdCBiZQ0KPiA+Pg0K PiA+PiArICBjYWxsZWQgYWZ0ZXIgb2J0YWluaW5nIG5lZWRlZCBmaWVsZHMgd2l0aGluIHRoZSBH SENCLg0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICsgIFRoZSBiYXNlIGxpYnJhcnkgZnVuY3Rp b24gZG9lcyBub3RoaW5nLg0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICsgIEBwYXJhbVtpbiwg b3V0XSAgR2hjYiAgICAgICBBIHBvaW50ZXIgdG8gdGhlIEdIQ0INCj4gPj4NCj4gPj4gKw0KPiA+ Pg0KPiA+PiArKiovDQo+ID4+DQo+ID4+ICtWT0lEDQo+ID4+DQo+ID4+ICtFRklBUEkNCj4gPj4N Cj4gPj4gK1ZtZ0RvbmUgKA0KPiA+Pg0KPiA+PiArICBJTiBPVVQgR0hDQiAgICAgICAgICAgICAg ICAqR2hjYg0KPiA+Pg0KPiA+PiArICApDQo+ID4+DQo+ID4+ICt7DQo+ID4+DQo+ID4+ICt9DQo+ ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKy8qKg0KPiA+Pg0KPiA+PiArICBIYW5kbGUgYSAjVkMg ZXhjZXB0aW9uLg0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICsgIFBlcmZvcm1zIHRoZSBuZWNl c3NhcnkgcHJvY2Vzc2luZyB0byBoYW5kbGUgYSAjVkMgZXhjZXB0aW9uLg0KPiA+Pg0KPiA+PiAr DQo+ID4+DQo+ID4+ICsgIFRoZSBiYXNlIGxpYnJhcnkgZnVuY3Rpb24gcmV0dXJucyBhbiBlcnJv ciBlcXVhbCB0byBWQ19FWENFUFRJT04sDQo+ID4+DQo+ID4+ICsgIHRvIGJlIHByb3BhZ2F0ZWQg dG8gdGhlIHN0YW5kYXJkIGV4Y2VwdGlvbiBoYW5kbGluZyBzdGFjay4NCj4gPj4NCj4gPj4gKw0K PiA+Pg0KPiA+PiArICBAcGFyYW1baW4sIG91dF0gIEV4Y2VwdGlvblR5cGUgIFBvaW50ZXIgdG8g YW4gRUZJX0VYQ0VQVElPTl9UWVBFDQo+ID4+ICsgdG8gYmUNCj4gPj4gc2V0DQo+ID4+DQo+ID4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXMgdmFsdWUgdG8gdXNlIG9uIGVy cm9yLg0KPiA+Pg0KPiA+PiArICBAcGFyYW1baW4sIG91dF0gIFN5c3RlbUNvbnRleHQgIFBvaW50 ZXIgdG8gRUZJX1NZU1RFTV9DT05URVhUDQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyAgQHJl dHZhbCAgRUZJX1NVQ0NFU1MgICAgICAgICAgICBFeGNlcHRpb24gaGFuZGxlZA0KPiA+Pg0KPiA+ PiArICBAcmV0dmFsICBFRklfVU5TVVBQT1JURUQgICAgICAgICNWQyBub3Qgc3VwcG9ydGVkLCAo bmV3KSBleGNlcHRpb24NCj4gPj4gdmFsdWUgdG8NCj4gPj4NCj4gPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGUgcHJvdmlkZWQNCj4gPj4NCj4gPj4gKyAgQHJl dHZhbCAgRUZJX1BST1RPQ09MX0VSUk9SICAgICAjVkMgaGFuZGxpbmcgZmFpbGVkLCAobmV3KSBl eGNlcHRpb24NCj4gPj4gdmFsdWUgdG8NCj4gPj4NCj4gPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwcm9wYWdhdGUgcHJvdmlkZWQNCj4gPj4NCj4gPj4gKw0KPiA+Pg0KPiA+ PiArKiovDQo+ID4+DQo+ID4+ICtFRklfU1RBVFVTDQo+ID4+DQo+ID4+ICtFRklBUEkNCj4gPj4N Cj4gPj4gK1ZtZ0V4aXRIYW5kbGVWYyAoDQo+ID4+DQo+ID4+ICsgIElOIE9VVCBFRklfRVhDRVBU SU9OX1RZUEUgICpFeGNlcHRpb25UeXBlLA0KPiA+Pg0KPiA+PiArICBJTiBPVVQgRUZJX1NZU1RF TV9DT05URVhUICBTeXN0ZW1Db250ZXh0DQo+ID4+DQo+ID4+ICsgICkNCj4gPj4NCj4gPj4gK3sN Cj4gPj4NCj4gPj4gKyAgKkV4Y2VwdGlvblR5cGUgPSBWQ19FWENFUFRJT047DQo+ID4+DQo+ID4+ ICsNCj4gPj4NCj4gPj4gKyAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gPj4NCj4gPj4gK30N Cj4gPj4NCj4gPj4gZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9WbWdFeGl0TGliTnVs bC9WbWdFeGl0TGliTnVsbC51bmkNCj4gPj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvVm1nRXhpdExp Yk51bGwvVm1nRXhpdExpYk51bGwudW5pDQo+ID4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4+ IGluZGV4IDAwMDAwMDAwMDAwMC4uODYzOWJjMGU4Y2U5DQo+ID4+IC0tLSAvZGV2L251bGwNCj4g Pj4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L1ZtZ0V4aXRMaWJOdWxsL1ZtZ0V4aXRMaWJOdWxs LnVuaQ0KPiA+PiBAQCAtMCwwICsxLDE1IEBADQo+ID4+ICsvLyAvKiogQGZpbGUNCj4gPj4NCj4g Pj4gKy8vIFZNR0VYSVQgc3VwcG9ydCBsaWJyYXJ5IGluc3RhbmNlLg0KPiA+Pg0KPiA+PiArLy8N Cj4gPj4NCj4gPj4gKy8vIFZNR0VYSVQgc3VwcG9ydCBsaWJyYXJ5IGluc3RhbmNlLg0KPiA+Pg0K PiA+PiArLy8NCj4gPj4NCj4gPj4gKy8vIENvcHlyaWdodCAoQykgMjAyMCwgQWR2YW5jZWQgTWlj cm8gRGV2aWNlcywgSW5jLiBBbGwgcmlnaHRzDQo+ID4+ICtyZXNlcnZlZC48QlI+DQo+ID4+DQo+ ID4+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ Pg0KPiA+PiArLy8NCj4gPj4NCj4gPj4gKy8vICoqLw0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ ICsNCj4gPj4NCj4gPj4gKyNzdHJpbmcgU1RSX01PRFVMRV9BQlNUUkFDVCAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgIlZNR0VYSVQNCj4gc3VwcG9ydA0KPiA+PiBOVUxMIGxpYnJhcnkgaW5z dGFuY2UiDQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gKyNzdHJpbmcgU1RSX01PRFVMRV9ERVND UklQVElPTiAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlZNR0VYSVQNCj4gPj4gc3VwcG9ydCBO VUxMIGxpYnJhcnkgaW5zdGFuY2UuIg0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+IC0tDQo+ID4+ IDIuMjcuMA0KPiA+DQo+IA0KPiANCg==