From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=helo; client-ip=104.47.36.72; helo=nam02-sn1-obe.outbound.protection.outlook.com; envelope-from=leo.duran@amd.com; receiver=edk2-devel@lists.01.org Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0072.outbound.protection.outlook.com [104.47.36.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id CDC7C2095B080 for ; Tue, 17 Oct 2017 09:37:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=hmWKGfiDAHwHpwcohCFDePUdJgmDd5SNzTqMxamqg4s=; b=pUwyTt7a0QHpPGnVlepoa10G6Gj9OQ/x/jKxCBTYmlymxhCZ8PLwHLD/WlLMPCuhcwwj1S4PnLyIe4sref6Zm+3pflbo65WbUTGpuB3U8M8XmiZ+Jj1JolHyRZAe3w20HZV7Wbil9ncmlvlOocW+dS3DCcCXA2eGpYcZKpMscuc= Received: from DM5PR12MB1243.namprd12.prod.outlook.com (10.168.237.22) by DM5PR12MB1241.namprd12.prod.outlook.com (10.168.237.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Tue, 17 Oct 2017 16:40:50 +0000 Received: from DM5PR12MB1243.namprd12.prod.outlook.com ([10.168.237.22]) by DM5PR12MB1243.namprd12.prod.outlook.com ([10.168.237.22]) with mapi id 15.20.0077.022; Tue, 17 Oct 2017 16:40:50 +0000 From: "Duran, Leo" To: 'Laszlo Ersek' , "Yao, Jiewen" CC: "edk2-devel@lists.01.org" , Paolo Bonzini , "Ni, Ruiyu" , "Kinney, Michael D" , "Justen, Jordan L" , "Gao, Liming" Thread-Topic: [PATCH v5 1/2] UefiCpuPkg/SmmCpuFeaturesLib: Use global variables to replace macros Thread-Index: AQHTQsmHT6q8s1uDn0G572ZIQNr16aLoF+FAgAARNYCAAAaiAIAAFpkA Date: Tue, 17 Oct 2017 16:40:50 +0000 Message-ID: References: <1507751131-32404-1-git-send-email-leo.duran@amd.com> <1507751131-32404-2-git-send-email-leo.duran@amd.com> <585e96dd-b15d-0710-9ad7-825e85f47b22@redhat.com> In-Reply-To: <585e96dd-b15d-0710-9ad7-825e85f47b22@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=leo.duran@amd.com; x-originating-ip: [165.204.77.1] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DM5PR12MB1241; 20:ib13dsjSxA+h+Yn8fOPTcHzpeHPokUp/5FzBnkpS8psijkDog9Jzb2zzypzzgc35+aC6eIklLsiQQPRx+fb4zpXULG3VGjteaJlqz54IsGRKsgo6r/JRB8/+Lw17QhLKS1feMFQ4tQ+HwAQgBEVhXREDLl02ulHgPrSCMshMsnByaky+l8swRX0Ltyhytr85KmqOiyDgW+8YpTAn4m1QyTbwgnIHNqmAm4IMZSucdQW6N7olsHX1na0thOGWD4nI x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-correlation-id: 0ddd55fe-2b55-4b93-301e-08d5157dd35f x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:DM5PR12MB1241; x-ms-traffictypediagnostic: DM5PR12MB1241: x-exchange-antispam-report-test: UriScan:(20558992708506)(767451399110)(788757137089)(162533806227266)(228905959029699); x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(100000703101)(100105400095)(10201501046)(6055026)(6041248)(20161123560025)(20161123562025)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR12MB1241; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR12MB1241; x-forefront-prvs: 04631F8F77 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(376002)(39860400002)(346002)(24454002)(377454003)(189002)(52314003)(199003)(13464003)(6306002)(16200700003)(53946003)(6246003)(15188155005)(53936002)(9686003)(4326008)(74316002)(2950100002)(7736002)(305945005)(2900100001)(16799955002)(93886005)(68736007)(6116002)(25786009)(316002)(478600001)(229853002)(53546010)(54356999)(76176999)(53376002)(966005)(54906003)(50986999)(97736004)(7696004)(14454004)(86362001)(33656002)(575784001)(101416001)(5660300001)(66066001)(6506006)(55016002)(6436002)(3660700001)(102836003)(8676002)(3846002)(81156014)(110136005)(99286003)(81166006)(8936002)(3280700002)(2906002)(77096006)(106356001)(105586002)(189998001)(559001)(579004)(569006); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR12MB1241; H:DM5PR12MB1243.namprd12.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Oct 2017 16:40:50.2556 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1241 Subject: Re: [PATCH v5 1/2] UefiCpuPkg/SmmCpuFeaturesLib: Use global variables to replace macros X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Oct 2017 16:37:17 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGFzemxvIEVyc2VrIFtt YWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMTcsIDIw MTcgMTA6MTUgQU0NCj4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IER1 cmFuLCBMZW8NCj4gPGxlby5kdXJhbkBhbWQuY29tPg0KPiBDYzogZWRrMi1kZXZlbEBsaXN0cy4w MS5vcmc7IFBhb2xvIEJvbnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+OyBOaSwNCj4gUnVpeXUg PHJ1aXl1Lm5pQGludGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEDQo+IDxtaWNoYWVsLmQua2lu bmV5QGludGVsLmNvbT47IEp1c3RlbiwgSm9yZGFuIEwNCj4gPGpvcmRhbi5sLmp1c3RlbkBpbnRl bC5jb20+OyBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJl OiBbUEFUQ0ggdjUgMS8yXSBVZWZpQ3B1UGtnL1NtbUNwdUZlYXR1cmVzTGliOiBVc2UgZ2xvYmFs DQo+IHZhcmlhYmxlcyB0byByZXBsYWNlIG1hY3Jvcw0KPiANCj4gT24gMTAvMTcvMTcgMTY6NTAs IFlhbywgSmlld2VuIHdyb3RlOg0KPiA+IEkgdGhpbmsgaXQgaXMgdW5uZWNlc3NhcnkuIEFsbCBp bnRlbCBDUFUgaXMgdXNpbmcgc2FtZSBvZmZzZXQuIEFsbCBhbWQgQ1BVIGlzDQo+IHVzaW5nIHNh bWUgb2Zmc2V0LiBJdCBjYW4gYmUgaWRlbnRpZmllZCBlYXNpbHkgYnkgY29kZS4NCj4gPiBBZGRp bmcgYSBuZXcgQVBJIG5vdyBpcyBhbHNvIGFuIGluY29tcGF0aWJsZSBjaGFuZ2UgYmVjYXVzZSB0 aGF0IHJlcXVpcmVzDQo+IGFsbCBleGlzdGluZyBmZWF0dXJlbGliIGNoYW5nZSB0byBhZGQgYSBu ZXcgQVBJLiBXZSBoYXZlIGxvdHMgb2YgY2xvc2Ugc291cmNlDQo+IHBsYXRmb3JtIHVzaW5nIGl0 cyBvd24gZmVhdHVyZWxpYi4NCj4gPg0KPiA+IE1heSBJIGtub3cgd2hhdCBwcm9ibGVtIHdlIGFy ZSB0cnlpbmcgdG8gcmVzb2x2ZSBieSBhZGRpbmcgYSBuZXcgQVBJPw0KPiANCj4gUUVNVSAoYW5k IGhlbmNlIE9WTUYpIHVzZXMgdGhlIEFNRCBzYXZlIHN0YXRlIG1hcCBldmVuIHdoZW4gaXQNCj4g ZW11bGF0ZXMgSW50ZWwgQ1BVcy4NCj4gDQo+IFRoZSByZWFzb24gaXMgdGhhdCB0aGUgSW50ZWwg U0RNIGRvZXMgbm90IHNwZWNpZnkgdGhlIEludGVsIHNhdmUgc3RhdGUgbWFwIGluDQo+IHN1ZmZp Y2llbnQgZGV0YWlsIChmb3IgZW11bGF0aW9uIGJ5IFFFTVUpLCB3aGlsZSB0aGUgQU1EIHNwZWMg ZG9lcy4gU28sIGFzDQo+IGFuIGVtdWxhdGlvbiB0YXJnZXQsIG9ubHkgdGhlIEFNRCBvbmUgaXMg aW1wbGVtZW50YWJsZSBpbiBRRU1VIChhbmQNCj4gc3VwcG9ydGFibGUgaW4gT1ZNRiksIHJlZ2Fy ZGxlc3Mgb2Ygd2hldGhlciBRRU1VIHJlcG9ydHMgdGhlIHZpcnR1YWwgQ1BVDQo+IG1hbnVmYWN0 dXJlciBhcyBJbnRlbCB2cy4gQU1ELg0KPiANCj4gSWYgUGlTbW1DcHVEeGVTbW0gdXNlZCBhIENQ VUlEIGNoZWNrLCBzYXcgIkludGVsIiBhcyBtYW51ZmFjdHVyZXIsIGFuZA0KPiB0aGVuIHVzZWQg dGhlIEludGVsIGRlZmluaXRpb24gb2YgdGhlIHNhdmUgc3RhdGUgbWFwLCB0aGVuDQo+IFBpU21t Q3B1RHhlU21tIHdvdWxkIGJyZWFrIG9uIFFFTVUgLyBhcyBwYXJ0IG9mIE9WTUYuDQo+IA0KTGF6 bG8sDQpBZ3JlZWQuLi4gV2hpY2ggaXMgd2h5IEkgcHJvcG9zZWQgaGF2aW5nIFBpU21tQ3B1RHhl U21tIGludm9rZSB0aGUgbGlicmFyeSBBUEkgaW5zdGVhZCBvZiBkb2luZyB0aGUgY2hlY2sgb24g aXRzIG93bi4NCkFuZCBzaW5jZSBPVk1GIGhhcyBpdHMgaW5zdGFuY2Ugb2YgdGhlIGxpYnJhcnks IHRoZW4geW91IHNob3VsZCBiZSBmaW5lLg0KDQpCdXQgYW55d2F5LA0KSSdtIGxvb2tpbmcgYXQg ZHJvcHBpbmcgdGhpcyB3aG9sZSBwYXRjaCBzZXJpZXMsIGlmIGFuIGluc3RhbmNlIG9mIFNtbUNw dUZlYXR1cmVzTGliIGNhbiBkZWFsIHdpdGggdGhlIG9mZnNldCBpc3N1ZXMuDQoNClRoYW5rcywN Ckxlby4NCg0KPiBUaGFua3MsDQo+IExhc3psbw0KPiANCj4gPg0KPiA+DQo+ID4gdGhhbmsgeW91 IQ0KPiA+IFlhbywgSmlld2VuDQo+ID4NCj4gPg0KPiA+PiDlnKggMjAxN+W5tDEw5pyIMTfml6Xv vIzkuIvljYgxMDoyMO+8jER1cmFuLCBMZW8gPGxlby5kdXJhbkBhbWQuY29tPg0KPiDlhpnpgZPv vJoNCj4gPj4NCj4gPj4gWWFvLCBMYXpsbywgZXQgYWwsDQo+ID4+DQo+ID4+IEZvciB0aGUgU1JB TV9TQVZFX1NUQVRFX01BUF9PRkZTRVQ6DQo+ID4+IEkgcHJvcG9zZSByZXR1cm5pbmcgdGhlIHZh bHVlIGJ5IGEgZnVuY3Rpb24gaW4gU21tQ3B1RmVhdHVyZXNMaWIuLi4NCj4gSGVyZSdzIHRoZSBy YXRpb25hbGU6DQo+ID4+IC0gVGhlIHZhbHVlIGlzIGZpeGVkIHBlciBDUFUgYXJjaGl0ZWN0dXJl LCBzbyB0aGlzIHF1YWxpZmllcyBhcyBhIENQVSBmZWF0dXJlLg0KPiA+PiAtIFRoZSBsb2dpYyBm b3IgQ1BVIGFyY2hpdGVjdHVyZSBkZXRlY3Rpb24gd291bGQgYmUgaW4gb25lIHBsYWNlDQo+ID4+ IChlLmcuLCBQaVNtbUNwdUR4ZVNtbSB3b3VsZCBjYWxsIHRoZSBsaWJyYXJ5IGZ1bmN0aW9uKQ0K PiA+PiAtIFRoZSBPVk1GIGFuZCBRdWFyayBpbnN0YW5jZXMgb2YgdGhlIGxpYnJhcnkgY291bGQg anVzdCByZXR1cm4gdGhlDQo+IGN1cnJlbnQgKGRlZmF1bHQpIHZhbHVlLCBzbyBubyBjb21wYXRp YmlsaXR5IGlzc3Vlcy4NCj4gPj4NCj4gPj4gaWYgeW91IGFncmVlIHdpdGggdGhpcyBpcyBhbiBh Y2NlcHRhYmxlIHNvbHV0aW9uLCBJIHdpbGwgc3VibWl0IGEgcmV2aXNlZA0KPiBwYXRjaC1zZXQg dG8gYWRkcmVzcyBqdXN0IHRoZSBTUkFNX1NBVkVfU1RBVEVfTUFQX09GRlNFVC4NCj4gPj4gKEJU VywgSSdtIHJlLWV2YWx1YXRpbmcgdGhlIGNoYW5nZXMgc3VibWl0dGVkIGZvciB0aGUgUFNEIG9m ZnNldCwNCj4gPj4gd2l0aCB0aGUgZ29hbCBvZiBqdXN0IHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVl IGFuZCBkcm9wcGluZyB0aG9zZQ0KPiA+PiBjaGFuZ2VzKQ0KPiA+Pg0KPiA+PiBUaGFua3MsDQo+ ID4+IExlby4NCj4gPj4NCj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+PiBG cm9tOiBEdXJhbiwgTGVvDQo+ID4+PiBTZW50OiBXZWRuZXNkYXksIE9jdG9iZXIgMTEsIDIwMTcg Mjo0NiBQTQ0KPiA+Pj4gVG86IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4+PiBDYzogRHVy YW4sIExlbyA8bGVvLmR1cmFuQGFtZC5jb20+OyBKaWV3ZW4gWWFvDQo+ID4+PiA8amlld2VuLnlh b0BpbnRlbC5jb20+OyBSdWl5dSBOaSA8cnVpeXUubmlAaW50ZWwuY29tPjsgTWljaGFlbCBEDQo+ ID4+PiBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgSm9yZGFuIEp1c3Rlbg0K PiA+Pj4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBMaW1pbmcgR2FvIDxsaW1pbmcuZ2Fv QGludGVsLmNvbT4NCj4gPj4+IFN1YmplY3Q6IFtQQVRDSCB2NSAxLzJdIFVlZmlDcHVQa2cvU21t Q3B1RmVhdHVyZXNMaWI6IFVzZSBnbG9iYWwNCj4gPj4+IHZhcmlhYmxlcyB0byByZXBsYWNlIG1h Y3Jvcw0KPiA+Pj4NCj4gPj4+IFNldCBnbG9iYWwgdmFyaWFibGVzIG9uIENvbnN0cnVjdG9yIGZ1 bmN0aW9uIGJhc2VkIG9uIENQVUlEIGNoZWNrcy4NCj4gPj4+IFRoZSB2YXJpYWJsZXMgcmVwbGFj ZSBJbnRlbCBtYWNyb3MgdG8gYWxsb3cgc3VwcG9ydCBvbiBBTUQgeDg2IHN5c3RlbXMuDQo+ID4+ Pg0KPiA+Pj4gU3BlY2lmaWNhbGx5LCB0aGUgcmVwbGFjZWQgbWFjcm9zIGFyZToNCj4gPj4+IDEp IFNSQU1fU0FWRV9TVEFURV9NQVBfT0ZGU0VUDQo+ID4+PiAyKSBUWFRfU01NX1BTRF9PRkZTRVQN Cj4gPj4+DQo+ID4+PiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4+ PiBDYzogUnVpeXUgTmkgPHJ1aXl1Lm5pQGludGVsLmNvbT4NCj4gPj4+IENjOiBNaWNoYWVsIEQg S2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPj4+IENjOiBKb3JkYW4gSnVz dGVuIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPg0KPiA+Pj4gQ2M6IExpbWluZyBHYW8gPGxp bWluZy5nYW9AaW50ZWwuY29tPg0KPiA+Pj4gQ29udHJpYnV0ZWQtdW5kZXI6IFRpYW5vQ29yZSBD b250cmlidXRpb24gQWdyZWVtZW50IDEuMQ0KPiA+Pj4gU2lnbmVkLW9mZi1ieTogTGVvIER1cmFu IDxsZW8uZHVyYW5AYW1kLmNvbT4NCj4gPj4+IC0tLQ0KPiA+Pj4gLi4uL0xpYnJhcnkvU21tQ3B1 RmVhdHVyZXNMaWIvSWEzMi9TbWlFbnRyeS5TICAgICAgfCAyOCArKysrKystLS0tDQo+ID4+PiAu Li4vTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9JYTMyL1NtaUVudHJ5LmFzbSAgICB8IDI5ICsr KysrKystLS0tDQo+ID4+PiAuLi4vTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9JYTMyL1NtaUVu dHJ5Lm5hc20gICB8IDQzDQo+ICsrKysrKysrKysrKy0tLQ0KPiA+Pj4gLQ0KPiA+Pj4gVWVmaUNw dVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1NtbUNvbW1vbi5oICAgfCA0OA0KPiA+Pj4g KysrKysrKysrKysrKysrKysrDQo+ID4+PiAuLi4vTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9T bW1DcHVGZWF0dXJlc0xpYi5jICB8IDU5DQo+ID4+PiArKysrKysrKysrKysrKysrKystLS0tDQo+ ID4+PiAuLi4vU21tQ3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNMaWIuaW5mICAgICAgICB8 ICAzICsrDQo+ID4+PiAuLi4vU21tQ3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNMaWJTdG0u aW5mICAgICB8ICAzICsrDQo+ID4+PiBVZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNM aWIvU21tU3RtLmMgICAgICB8IDM5DQo+ID4+PiArKysrKysrKysrKystLQ0KPiA+Pj4gLi4uL0xp YnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvWDY0L1NtaUVudHJ5LlMgICAgICAgfCAyOCArKysrKyst LS0tDQo+ID4+PiAuLi4vTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9YNjQvU21pRW50cnkuYXNt ICAgICB8IDMwICsrKysrKystLS0tDQo+ID4+PiAuLi4vTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xp Yi9YNjQvU21pRW50cnkubmFzbSAgICB8IDQ3DQo+ICsrKysrKysrKysrKy0tLQ0KPiA+Pj4gLS0N Cj4gPj4+IDExIGZpbGVzIGNoYW5nZWQsIDI4MiBpbnNlcnRpb25zKCspLCA3NSBkZWxldGlvbnMo LSkgIGNyZWF0ZSBtb2RlDQo+ID4+PiAxMDA2NDQgVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZl YXR1cmVzTGliL1NtbUNvbW1vbi5oDQo+ID4+Pg0KPiA+Pj4gZGlmZiAtLWdpdCBhL1VlZmlDcHVQ a2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9JYTMyL1NtaUVudHJ5LlMNCj4gPj4+IGIvVWVm aUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL0lhMzIvU21pRW50cnkuUw0KPiA+Pj4g aW5kZXggNGMwZjhjOC4uYzdiNDlkNyAxMDA2NDQNCj4gPj4+IC0tLSBhL1VlZmlDcHVQa2cvTGli cmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9JYTMyL1NtaUVudHJ5LlMNCj4gPj4+ICsrKyBiL1VlZmlD cHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9JYTMyL1NtaUVudHJ5LlMNCj4gPj4+IEBA IC0xLDYgKzEsOCBAQA0KPiA+Pj4gIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPj4+IC0tLS0tLS0tLS0tDQo+ID4+ PiAjDQo+ID4+PiAjIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTYsIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzDQo+ID4+PiByZXNlcnZlZC48QlI+DQo+ID4+PiArIyBDb3B5cmlnaHQgKGMp IDIwMTcsIEFNRCBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPiAjDQo+ID4+ PiAjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgICMgYXJlIGxp Y2Vuc2VkIGFuZA0KPiA+Pj4gbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25k aXRpb25zIG9mIHRoZSBCU0QgTGljZW5zZSAgIw0KPiA+Pj4gd2hpY2ggYWNjb21wYW5pZXMgdGhp cyBkaXN0cmlidXRpb24uICBUaGUgZnVsbCB0ZXh0IG9mIHRoZSBsaWNlbnNlDQo+ID4+PiBtYXkg YmUgZm91bmQgYXQgQEAgLTI4LDYgKzMwLDkgQEAgQVNNX0dMT0JBTA0KPiBBU01fUEZYKGdTdG1T bWJhc2UpDQo+ID4+PiBBU01fR0xPQkFMDQo+ID4+PiBBU01fUEZYKGdTdG1YZFN1cHBvcnRlZCkg IEFTTV9HTE9CQUwgIEFTTV9QRlgoRmVhdHVyZVBjZEdldA0KPiA+Pj4gKFBjZENwdVNtbVN0YWNr R3VhcmQpKSAgQVNNX0dMT0JBTA0KPiBBU01fUEZYKGdTdG1TbWlIYW5kbGVySWR0cikNCj4gPj4+ ICtBU01fR0xPQkFMICBBU01fUEZYKGdTdG1Qc2RPZmZzZXQpDQo+ID4+PiArQVNNX0dMT0JBTCAg QVNNX1BGWChnU3RtR2R0U2l6ZSkNCj4gPj4+ICtBU01fR0xPQkFMICBBU01fUEZYKGdTdG1HZHRQ dHIpDQo+ID4+Pg0KPiA+Pj4gLmVxdSAgICAgICAgICAgIE1TUl9JQTMyX01JU0NfRU5BQkxFLCAw eDFBMA0KPiA+Pj4gLmVxdSAgICAgICAgICAgIE1TUl9FRkVSLCAweGMwMDAwMDgwDQo+ID4+PiBA QCAtMzYsMTIgKzQxLDEzIEBAIEFTTV9HTE9CQUwgIEFTTV9QRlgoZ1N0bVNtaUhhbmRsZXJJZHRy KSAgIw0KPiAjDQo+ID4+PiBDb25zdGFudHMgcmVsYXRpbmcgdG8gVFhUX1BST0NFU1NPUl9TTU1f REVTQ1JJUFRPUiAgIw0KPiA+Pj4gLS5lcXUgICAgICAgICAgICBEU0NfT0ZGU0VULCAweGZiMDAN Cj4gPj4+IC0uZXF1ICAgICAgICAgICAgRFNDX0dEVFBUUiwgMHg0OA0KPiA+Pj4gLS5lcXUgICAg ICAgICAgICBEU0NfR0RUU0laLCAweDUwDQo+ID4+PiAtLmVxdSAgICAgICAgICAgIERTQ19DUywg MHgxNA0KPiA+Pj4gLS5lcXUgICAgICAgICAgICBEU0NfRFMsIDB4MTYNCj4gPj4+IC0uZXF1ICAg ICAgICAgICAgRFNDX1NTLCAweDE4DQo+ID4+PiArIyAuZXF1ICAgICAgICAgIERTQ19PRkZTRVQs ICAgMHhmYjAwDQo+ID4+PiArIyAuZXF1ICAgICAgICAgIERTQ19HRFRQVFIsICAgMHg0OA0KPiA+ Pj4gKyMgLmVxdSAgICAgICAgICBEU0NfR0RUU0laLCAgIDB4NTANCj4gPj4+ICsjDQo+ID4+PiAr LmVxdSAgICAgICAgICAgIERTQ19DUywgICAgICAgMHgxNA0KPiA+Pj4gKy5lcXUgICAgICAgICAg ICBEU0NfRFMsICAgICAgIDB4MTYNCj4gPj4+ICsuZXF1ICAgICAgICAgICAgRFNDX1NTLCAgICAg ICAweDE4DQo+ID4+PiAuZXF1ICAgICAgICAgICAgRFNDX09USEVSU0VHLCAweDFBDQo+ID4+Pg0K PiA+Pj4gLmVxdSAgICAgICAgICAgIFBST1RFQ1RfTU9ERV9DUywgMHgwOA0KPiA+Pj4gQEAgLTU1 LDExICs2MSwxMSBAQCBfU3RtU21pRW50cnlQb2ludDoNCj4gPj4+ICAgICAuYnl0ZSAweGJiICAg ICAgICAgICAgICAgICAgICAgICAgICAjIG1vdiBieCwgaW1tMTYNCj4gPj4+ICAgICAud29yZCBf U3RtR2R0RGVzYyAtIF9TdG1TbWlFbnRyeVBvaW50ICsgMHg4MDAwDQo+ID4+PiAgICAgLmJ5dGUg MHgyZSwweGExICAgICAgICAgICAgICAgICAgICAgIyBtb3YgYXgsIGNzOltvZmZzZXQxNl0NCj4g Pj4+IC0gICAgLndvcmQgRFNDX09GRlNFVCArIERTQ19HRFRTSVoNCj4gPj4+ICtBU01fUEZYKGdT dG1HZHRTaXplKTogLnNwYWNlIDIgICAgICAgICAgIyAud29yZCBEU0NfT0ZGU0VUICsNCj4gRFND X0dEVFNJWg0KPiA+Pj4gICAgIGRlY2wgICAgJWVheA0KPiA+Pj4gICAgIG1vdmwgICAgJWVheCwg JWNzOiglZWRpKSAgICAgICAgICAgICMgbW92IGNzOltieF0sIGF4DQo+ID4+PiAgICAgLmJ5dGUg MHg2NiwweDJlLDB4YTEgICAgICAgICAgICAgICAgIyBtb3YgZWF4LCBjczpbb2Zmc2V0MTZdDQo+ ID4+PiAtICAgIC53b3JkICAgRFNDX09GRlNFVCArIERTQ19HRFRQVFINCj4gPj4+ICtBU01fUEZY KGdTdG1HZHRQdHIpOiAuc3BhY2UgMiAgICAgICAgICAgIyAud29yZCBEU0NfT0ZGU0VUICsNCj4g RFNDX0dEVFBUUg0KPiA+Pj4gICAgIG1vdncgICAgJWF4LCAlY3M6MiglZWRpKQ0KPiA+Pj4gICAg IG1vdncgICAgJWF4LCAlYnAgICAgICAgICAgICAgICAgICAgICMgZWJwID0gR0RUIGJhc2UNCj4g Pj4+ICAgICAuYnl0ZSAweDY2DQo+ID4+PiBAQCAtMTY3LDcgKzE3MywxMSBAQCBYZERvbmU6DQo+ ID4+PiAgICAgbW92bCAgICAlY3IwLCAlZWJ4DQo+ID4+PiAgICAgb3JsICAgICAkMHgwODAwMTAw MjMsICVlYnggICAgICAgICAgICAgIyBlbmFibGUgcGFnaW5nICsgV1AgKyBORSArIE1QICsgUEUN Cj4gPj4+ICAgICBtb3ZsICAgICVlYngsICVjcjANCj4gPj4+IC0gICAgbGVhbCAgICBEU0NfT0ZG U0VUKCVlZGkpLCVlYngNCj4gPj4+ICsNCj4gPj4+ICsgICAgbW92bCAgICAkQVNNX1BGWChnU3Rt UHNkT2Zmc2V0KSwgJWVieCAgIyBsZWFsICAgIERTQ19PRkZTRVQoJWVkaSksDQo+ID4+PiAlZWJ4 DQo+ID4+PiArICAgIG1vdnp4dyAgKCVlYngpLCAlZXNpDQo+ID4+PiArICAgIGxlYWwgICAgKCVl ZGksICVlc2kpLCAlZWJ4DQo+ID4+PiArDQo+ID4+PiAgICAgbW92dyAgICBEU0NfRFMoJWVieCks JWF4DQo+ID4+PiAgICAgbW92bCAgICAlZWF4LCAlZHMNCj4gPj4+ICAgICBtb3Z3ICAgIERTQ19P VEhFUlNFRyglZWJ4KSwlYXgNCj4gPj4+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkv U21tQ3B1RmVhdHVyZXNMaWIvSWEzMi9TbWlFbnRyeS5hc20NCj4gPj4+IGIvVWVmaUNwdVBrZy9M aWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL0lhMzIvU21pRW50cnkuYXNtDQo+ID4+PiBpbmRleCA5 MWRjMWViLi40ZGJlMjc2IDEwMDY0NA0KPiA+Pj4gLS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5L1Nt bUNwdUZlYXR1cmVzTGliL0lhMzIvU21pRW50cnkuYXNtDQo+ID4+PiArKysgYi9VZWZpQ3B1UGtn L0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvSWEzMi9TbWlFbnRyeS5hc20NCj4gPj4+IEBAIC0x LDUgKzEsNyBAQA0KPiA+Pj4gOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPj4+IC0tLS0tLS0tLS0tIDsgIDsgQ29w eXJpZ2h0IChjKSAyMDA5IC0gMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbA0KPiA+Pj4gcmln aHRzIHJlc2VydmVkLjxCUj4NCj4gPj4+ICs7IENvcHlyaWdodCAoYykgMjAxNywgQU1EIEluY29y cG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+IDsNCj4gPj4+IDsgVGhpcyBwcm9ncmFt IGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyAgOyBhcmUgbGljZW5zZWQgYW5kDQo+ID4+ PiBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEJT RCBMaWNlbnNlICA7DQo+ID4+PiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4g IFRoZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vuc2UgbWF5IGJlDQo+IGZvdW5kIGF0DQo+ID4+PiBA QCAtMjksMTMgKzMxLDE0IEBAIE1TUl9FRkVSX1hEICAgRVFVICAgICAwODAwaA0KPiA+Pj4gOw0K PiA+Pj4gOyBDb25zdGFudHMgcmVsYXRpbmcgdG8gVFhUX1BST0NFU1NPUl9TTU1fREVTQ1JJUFRP UiAgOw0KPiA+Pj4gLURTQ19PRkZTRVQgICAgRVFVICAgICAwZmIwMGgNCj4gPj4+IC1EU0NfR0RU UFRSICAgIEVRVSAgICAgNDhoDQo+ID4+PiAtRFNDX0dEVFNJWiAgICBFUVUgICAgIDUwaA0KPiA+ Pj4gLURTQ19DUyAgICAgICAgRVFVICAgICAxNGgNCj4gPj4+IC1EU0NfRFMgICAgICAgIEVRVSAg ICAgMTZoDQo+ID4+PiAtRFNDX1NTICAgICAgICBFUVUgICAgIDE4aA0KPiA+Pj4gLURTQ19PVEhF UlNFRyAgRVFVICAgICAxQWgNCj4gPj4+ICs7IERTQ19PRkZTRVQgRVFVICAgICAwZmIwMGgNCj4g Pj4+ICs7IERTQ19HRFRQVFIgRVFVICAgICA0OGgNCj4gPj4+ICs7IERTQ19HRFRTSVogRVFVICAg ICA1MGgNCj4gPj4+ICs7DQo+ID4+PiArRFNDX0NTICAgICAgIEVRVSAgICAgMTRoDQo+ID4+PiAr RFNDX0RTICAgICAgIEVRVSAgICAgMTZoDQo+ID4+PiArRFNDX1NTICAgICAgIEVRVSAgICAgMTho DQo+ID4+PiArRFNDX09USEVSU0VHIEVRVSAgICAgMUFoDQo+ID4+Pg0KPiA+Pj4gUFJPVEVDVF9N T0RFX0NTIEVRVSAgIDA4aA0KPiA+Pj4gUFJPVEVDVF9NT0RFX0RTIEVRVSAgIDIwaA0KPiA+Pj4g QEAgLTU0LDYgKzU3LDkgQEAgRVhURVJOREVGICAgZ1N0bVNtYmFzZTpEV09SRA0KPiA+Pj4gRVhU RVJOREVGICAgZ1N0bVhkU3VwcG9ydGVkOkJZVEUNCj4gPj4+IEVYVEVSTkRFRiAgIEZlYXR1cmVQ Y2RHZXQgKFBjZENwdVNtbVN0YWNrR3VhcmQpOkJZVEUNCj4gPj4+IEVYVEVSTkRFRiAgIGdTdG1T bWlIYW5kbGVySWR0cjpGV09SRA0KPiA+Pj4gK0VYVEVSTkRFRiAgIGdTdG1Qc2RPZmZzZXQ6V09S RA0KPiA+Pj4gK0VYVEVSTkRFRiAgIGdTdG1HZHRTaXplOldPUkQNCj4gPj4+ICtFWFRFUk5ERUYg ICBnU3RtR2R0UHRyOldPUkQNCj4gPj4+DQo+ID4+PiAgICAgLmNvZGUNCj4gPj4+DQo+ID4+PiBA QCAtNjMsMTEgKzY5LDExIEBAIF9TdG1TbWlFbnRyeVBvaW50Og0KPiA+Pj4gICAgIERCICAgICAg MGJiaCAgICAgICAgICAgICAgICAgICAgICAgIDsgbW92IGJ4LCBpbW0xNg0KPiA+Pj4gICAgIERX ICAgICAgb2Zmc2V0IF9TdG1HZHREZXNjIC0gX1N0bVNtaUVudHJ5UG9pbnQgKyA4MDAwaA0KPiA+ Pj4gICAgIERCICAgICAgMmVoLCAwYTFoICAgICAgICAgICAgICAgICAgIDsgbW92IGF4LCBjczpb b2Zmc2V0MTZdDQo+ID4+PiAtICAgIERXICAgICAgRFNDX09GRlNFVCArIERTQ19HRFRTSVoNCj4g Pj4+ICtnU3RtR2R0U2l6ZSAgIERXICAgID8gICAgICAgICAgICAgICAgICAgOyBEU0NfT0ZGU0VU ICsgRFNDX0dEVFNJWg0KPiA+Pj4gICAgIGRlYyAgICAgZWF4DQo+ID4+PiAgICAgbW92ICAgICBj czpbZWRpXSwgZWF4ICAgICAgICAgICAgICAgOyBtb3YgY3M6W2J4XSwgYXgNCj4gPj4+ICAgICBE QiAgICAgIDY2aCwgMmVoLCAwYTFoICAgICAgICAgICAgICA7IG1vdiBlYXgsIGNzOltvZmZzZXQx Nl0NCj4gPj4+IC0gICAgRFcgICAgICBEU0NfT0ZGU0VUICsgRFNDX0dEVFBUUg0KPiA+Pj4gK2dT dG1HZHRQdHIgICAgRFcgICAgPyAgICAgICAgICAgICAgICAgICA7IERTQ19PRkZTRVQgKyBEU0Nf R0RUUFRSDQo+ID4+PiAgICAgbW92ICAgICBjczpbZWRpICsgMl0sIGF4ICAgICAgICAgICAgOyBt b3YgY3M6W2J4ICsgMl0sIGVheA0KPiA+Pj4gICAgIG1vdiAgICAgYnAsIGF4ICAgICAgICAgICAg ICAgICAgICAgIDsgZWJwID0gR0RUIGJhc2UNCj4gPj4+ICAgICBEQiAgICAgIDY2aA0KPiA+Pj4g QEAgLTE3NCw3ICsxODAsMTAgQEAgZ1N0bVhkU3VwcG9ydGVkICAgICBEQiAgICAgIDENCj4gPj4+ ICAgICBtb3YgICAgIGVieCwgY3IwDQo+ID4+PiAgICAgb3IgICAgICBlYngsIDA4MDAxMDAyM2gg ICAgICAgICAgICAgOyBlbmFibGUgcGFnaW5nICsgV1AgKyBORSArIE1QICsgUEUNCj4gPj4+ICAg ICBtb3YgICAgIGNyMCwgZWJ4DQo+ID4+PiAtICAgIGxlYSAgICAgZWJ4LCBbZWRpICsgRFNDX09G RlNFVF0NCj4gPj4+ICsNCj4gPj4+ICsgICAgbW92enggICBlc2ksIHdvcmQgcHRyIFtnU3RtUHNk T2Zmc2V0XSAgIDsgbGVhICAgICBlYngsIFtlZGkgKw0KPiBEU0NfT0ZGU0VUXQ0KPiA+Pj4gKyAg ICBsZWEgICAgIGVieCwgW2VkaSArIGVzaV0gICAgICAgICAgICAgICAgOw0KPiA+Pj4gKw0KPiA+ Pj4gICAgIG1vdiAgICAgYXgsIFtlYnggKyBEU0NfRFNdDQo+ID4+PiAgICAgbW92ICAgICBkcywg ZWF4DQo+ID4+PiAgICAgbW92ICAgICBheCwgW2VieCArIERTQ19PVEhFUlNFR10NCj4gPj4+IGRp ZmYgLS1naXQNCj4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvSWEzMi9T bWlFbnRyeS5uYXNtDQo+ID4+PiBiL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xp Yi9JYTMyL1NtaUVudHJ5Lm5hc20NCj4gPj4+IGluZGV4IDAwYzBmMDY3Li4wMjM5MjNhIDEwMDY0 NA0KPiA+Pj4gLS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL0lhMzIv U21pRW50cnkubmFzbQ0KPiA+Pj4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1 cmVzTGliL0lhMzIvU21pRW50cnkubmFzbQ0KPiA+Pj4gQEAgLTEsNSArMSw3IEBADQo+ID4+PiA7 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPiA+Pj4gLS0tLS0tLS0tLS0gOyAgOyBDb3B5cmlnaHQgKGMpIDIwMTYgLSAy MDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsDQo+ID4+PiByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiA+Pj4gKzsgQ29weXJpZ2h0IChjKSAyMDE3LCBBTUQgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRz IHJlc2VydmVkLjxCUj4gOw0KPiA+Pj4gOyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlp bmcgbWF0ZXJpYWxzICA7IGFyZSBsaWNlbnNlZCBhbmQNCj4gPj4+IG1hZGUgYXZhaWxhYmxlIHVu ZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNEIExpY2Vuc2UgIDsNCj4gPj4+ IHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLiAgVGhlIGZ1bGwgdGV4dCBvZiB0 aGUgbGljZW5zZQ0KPiA+Pj4gbWF5IGJlIGZvdW5kIGF0IEBAIC0yNSwxNyArMjcsMTggQEAgIDsg IDsgQ29uc3RhbnRzIHJlbGF0aW5nIHRvDQo+ID4+PiBUWFRfUFJPQ0VTU09SX1NNTV9ERVNDUklQ VE9SICA7IC0lZGVmaW5lIERTQ19PRkZTRVQgMHhmYjAwIC0NCj4gJWRlZmluZQ0KPiA+Pj4gRFND X0dEVFBUUiAweDQ4IC0lZGVmaW5lIERTQ19HRFRTSVogMHg1MCAtJWRlZmluZSBEU0NfQ1MNCj4g Pj4+IDB4MTQgLSVkZWZpbmUgRFNDX0RTIDB4MTYgLSVkZWZpbmUgRFNDX1NTIDB4MTggLSVkZWZp bmUNCj4gRFNDX09USEVSU0VHDQo+ID4+PiAweDFhDQo+ID4+PiArOyAlZGVmaW5lIERTQ19PRkZT RVQgICAweGZiMDANCj4gPj4+ICs7ICVkZWZpbmUgRFNDX0dEVFBUUiAgIDB4NDgNCj4gPj4+ICs7 ICVkZWZpbmUgRFNDX0dEVFNJWiAgIDB4NTANCj4gPj4+ICs7DQo+ID4+PiArJWRlZmluZSAgIERT Q19DUyAgICAgICAweDE0DQo+ID4+PiArJWRlZmluZSAgIERTQ19EUyAgICAgICAweDE2DQo+ID4+ PiArJWRlZmluZSAgIERTQ19TUyAgICAgICAweDE4DQo+ID4+PiArJWRlZmluZSAgIERTQ19PVEhF UlNFRyAweDFhDQo+ID4+Pg0KPiA+Pj4gJWRlZmluZSBQUk9URUNUX01PREVfQ1MgMHg4DQo+ID4+ PiAlZGVmaW5lIFBST1RFQ1RfTU9ERV9EUyAweDIwDQo+ID4+PiAtJWRlZmluZSBUU1NfU0VHTUVO VCAweDQwDQo+ID4+PiArJWRlZmluZSBUU1NfU0VHTUVOVCAgICAgMHg0MA0KPiA+Pj4NCj4gPj4+ IGV4dGVybiBBU01fUEZYKFNtaVJlbmRlenZvdXMpDQo+ID4+PiBleHRlcm4gQVNNX1BGWChGZWF0 dXJlUGNkR2V0IChQY2RDcHVTbW1TdGFja0d1YXJkKSkgQEAgLTUxLDYNCj4gPj4+ICs1NCwxMCBA QCBnbG9iYWwgQVNNX1BGWChnU3RtU21iYXNlKSAgZ2xvYmFsDQo+ID4+PiBBU01fUEZYKGdTdG1Y ZFN1cHBvcnRlZCkgIGV4dGVybiBBU01fUEZYKGdTdG1TbWlIYW5kbGVySWR0cikNCj4gPj4+DQo+ ID4+PiArZXh0ZXJuIEFTTV9QRlgoZ1N0bVBzZE9mZnNldCkNCj4gPj4+ICtnbG9iYWwgQVNNX1BG WChnU3RtR2R0U2l6ZSkNCj4gPj4+ICtnbG9iYWwgQVNNX1BGWChnU3RtR2R0UHRyKQ0KPiA+Pj4g Kw0KPiA+Pj4gQVNNX1BGWChnU3RtU21pQ3IzKSAgICAgIEVRVSBTdG1TbWlDcjNQYXRjaCAtIDQN Cj4gPj4+IEFTTV9QRlgoZ1N0bVNtaVN0YWNrKSAgICBFUVUgU3RtU21pU3RhY2tQYXRjaCAtIDQN Cj4gPj4+IEFTTV9QRlgoZ1N0bVNtYmFzZSkgICAgICBFUVUgU3RtU21iYXNlUGF0Y2ggLSA0DQo+ ID4+PiBAQCAtNjIsMTAgKzY5LDE4IEBAIEJJVFMgMTYNCj4gPj4+IEFTTV9QRlgoZ2NTdG1TbWlI YW5kbGVyVGVtcGxhdGUpOg0KPiA+Pj4gX1N0bVNtaUVudHJ5UG9pbnQ6DQo+ID4+PiAgICAgbW92 ICAgICBieCwgX1N0bUdkdERlc2MgLSBfU3RtU21pRW50cnlQb2ludCArIDB4ODAwMA0KPiA+Pj4g LSAgICBtb3YgICAgIGF4LFtjczpEU0NfT0ZGU0VUICsgRFNDX0dEVFNJWl0NCj4gPj4+ICsNCj4g Pj4+ICsgICAgbW92ICAgICBlYXgsIEFTTV9QRlgoZ1N0bUdkdFNpemUpICAgICA7IG1vdiAgICAg YXgsIFtjczpEU0NfT0ZGU0VUICsNCj4gPj4+IERTQ19HRFRTSVpdDQo+ID4+PiArICAgIG1vdiAg ICAgc2ksIFtjczplYXhdICAgICAgICAgICAgICAgICAgOw0KPiA+Pj4gKyAgICBtb3YgICAgIGF4 LCBbY3M6c2ldICAgICAgICAgICAgICAgICAgIDsNCj4gPj4+ICsNCj4gPj4+ICAgICBkZWMgICAg IGF4DQo+ID4+PiAgICAgbW92ICAgICBbY3M6YnhdLCBheA0KPiA+Pj4gLSAgICBtb3YgICAgIGVh eCwgW2NzOkRTQ19PRkZTRVQgKyBEU0NfR0RUUFRSXQ0KPiA+Pj4gKw0KPiA+Pj4gKyAgICBtb3Yg ICAgIGVheCwgQVNNX1BGWChnU3RtR2R0UHRyKSAgICAgIDsgbW92ICAgICBlYXgsIFtjczpEU0Nf T0ZGU0VUICsNCj4gPj4+IERTQ19HRFRQVFJdDQo+ID4+PiArICAgIG1vdiAgICAgc2ksIFtjczpl YXhdICAgICAgICAgICAgICAgICAgOw0KPiA+Pj4gKyAgICBtb3YgICAgIGVheCwgW2NzOnNpXSAg ICAgICAgICAgICAgICAgIDsNCj4gPj4+ICsNCj4gPj4+ICAgICBtb3YgICAgIFtjczpieCArIDJd LCBlYXgNCj4gPj4+ICAgICBtb3YgICAgIGVicCwgZWF4ICAgICAgICAgICAgICAgICAgICAgIDsg ZWJwID0gR0RUIGJhc2UNCj4gPj4+IG8zMiBsZ2R0ICAgIFtjczpieF0gICAgICAgICAgICAgICAg ICAgICAgIDsgbGdkdCBmd29yZCBwdHIgY3M6W2J4XQ0KPiA+Pj4gQEAgLTE2Niw3ICsxODEsMTAg QEAgU3RtWGRTdXBwb3J0ZWRQYXRjaDoNCj4gPj4+ICAgICBtb3YgICAgIGVieCwgY3IwDQo+ID4+ PiAgICAgb3IgICAgICBlYngsIDB4ODAwMTAwMjMgICAgICAgICAgICAgOyBlbmFibGUgcGFnaW5n ICsgV1AgKyBORSArIE1QICsgUEUNCj4gPj4+ICAgICBtb3YgICAgIGNyMCwgZWJ4DQo+ID4+PiAt ICAgIGxlYSAgICAgZWJ4LCBbZWRpICsgRFNDX09GRlNFVF0NCj4gPj4+ICsNCj4gPj4+ICsgICAg bW92enggICBlc2ksIHdvcmQgW0FTTV9QRlgoZ1N0bVBzZE9mZnNldCldICA7IGxlYSAgICAgZWJ4 LCBbZWRpICsNCj4gPj4+IERTQ19PRkZTRVRdDQo+ID4+PiArICAgIGxlYSAgICAgZWJ4LCBbZWRp ICsgZXNpXSAgICAgICAgICAgICAgICAgICAgOw0KPiA+Pj4gKw0KPiA+Pj4gICAgIG1vdiAgICAg YXgsIFtlYnggKyBEU0NfRFNdDQo+ID4+PiAgICAgbW92ICAgICBkcywgZWF4DQo+ID4+PiAgICAg bW92ICAgICBheCwgW2VieCArIERTQ19PVEhFUlNFR10NCj4gPj4+IEBAIC0yNzEsNSArMjg5LDgg QEAgX1N0bVNtaUhhbmRsZXI6DQo+ID4+PiAgICAgOyBTVE0gaW5pdCBmaW5pc2gNCj4gPj4+ICAg ICBqbXAgICAgIENvbW1vbkhhbmRsZXINCj4gPj4+DQo+ID4+PiArQVNNX1BGWChnU3RtR2R0U2l6 ZSkgICAgICAgICAgIDogUkVTVyAgICAgIDENCj4gPj4+ICtBU01fUEZYKGdTdG1HZHRQdHIpICAg ICAgICAgICAgOiBSRVNXICAgICAgMQ0KPiA+Pj4gKw0KPiA+Pj4gQVNNX1BGWChnY1N0bVNtaUhh bmRsZXJTaXplKSAgIDogRFcgICAgICAgICQgLSBfU3RtU21pRW50cnlQb2ludA0KPiA+Pj4gQVNN X1BGWChnY1N0bVNtaUhhbmRsZXJPZmZzZXQpIDogRFcgICAgICAgIF9TdG1TbWlIYW5kbGVyIC0N Cj4gPj4+IF9TdG1TbWlFbnRyeVBvaW50DQo+ID4+PiBkaWZmIC0tZ2l0IGEvVWVmaUNwdVBrZy9M aWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1NtbUNvbW1vbi5oDQo+ID4+PiBiL1VlZmlDcHVQa2cv TGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9TbW1Db21tb24uaA0KPiA+Pj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gPj4+IGluZGV4IDAwMDAwMDAuLjc4YjNhNWINCj4gPj4+IC0tLSAvZGV2L251 bGwNCj4gPj4+ICsrKyBiL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9TbW1D b21tb24uaA0KPiA+Pj4gQEAgLTAsMCArMSw0OCBAQA0KPiA+Pj4gKy8qKiBAZmlsZQ0KPiA+Pj4g KyAgQ29tbW9uIGRlY2xhcmF0aW9ucw0KPiA+Pj4gKw0KPiA+Pj4gKyAgQ29weXJpZ2h0IChjKSAy MDE3LCBBTUQgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gPj4+ICsN Cj4gPj4+ICsgIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgIGFy ZSBsaWNlbnNlZCBhbmQNCj4gPj4+ICsgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFu ZCBjb25kaXRpb25zIG9mIHRoZSBCU0QgTGljZW5zZQ0KPiA+Pj4gKyB3aGljaCBhY2NvbXBhbmll cyB0aGlzIGRpc3RyaWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vuc2UNCj4gPj4+ ICsgbWF5IGJlIGZvdW5kIGF0ICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxp Y2Vuc2UucGhwLg0KPiA+Pj4gKw0KPiA+Pj4gKyAgVEhFIFBST0dSQU0gSVMgRElTVFJJQlVURUQg VU5ERVIgVEhFIEJTRCBMSUNFTlNFIE9OIEFOICJBUw0KPiBJUyINCj4gPj4+IEJBU0lTLA0KPiA+ Pj4gKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TIE9GIEFOWSBLSU5ELCBF SVRIRVINCj4gPj4+IEVYUFJFU1MgT1IgSU1QTElFRC4NCj4gPj4+ICsNCj4gPj4+ICsqKi8NCj4g Pj4+ICsNCj4gPj4+ICsjaWZuZGVmIF9TTU1fQ09NTU9OX0hfDQo+ID4+PiArI2RlZmluZSBfU01N X0NPTU1PTl9IXw0KPiA+Pj4gKw0KPiA+Pj4gKyNpbmNsdWRlIDxSZWdpc3Rlci9BbWQvQ3B1aWQu aD4NCj4gPj4+ICsNCj4gPj4+ICsvLw0KPiA+Pj4gKy8vIERlZmluaXRpb25zIGZvciBBTUQgc3lz dGVtcyBhcmUgYmFzZWQgb24gY29udGVudHMgb2YgdGhlIC8vDQo+ID4+PiArQU1ENjQgQXJjaGl0 ZWN0dXJlIFByb2dyYW1tZXIncyBNYW51YWwgLy8gVm9sdW1lIDI6IFN5c3RlbQ0KPiA+Pj4gK1By b2dyYW1taW5nLCBTZWN0aW9uIDEwIFN5c3RlbS1NYW5hZ2VtZW50IE1vZGUgLy8gI2RlZmluZQ0K PiA+Pj4gK0FNRF9TTVJBTV9TQVZFX1NUQVRFX01BUF9PRkZTRVQgMHhmZTAwDQo+ID4+PiArI2Rl ZmluZSAgICAgICBBTURfU01NX1BTRF9PRkZTRVQgICAgICAgICAweGZjMDANCj4gPj4+ICsNCj4g Pj4+ICsvLw0KPiA+Pj4gKy8vIEV4dGVybmFsIGdsb2JhbCB2YXJpYWJsZXMgZm9yIFNNUkFNIG9m ZnNldHMgLy8gZXh0ZXJuIFVJTlQxNg0KPiA+Pj4gK2dTbXJhbVN0YXRlTWFwT2Zmc2V0OyBleHRl cm4gVUlOVDE2ICBnU21tUHNkT2Zmc2V0Ow0KPiA+Pj4gKw0KPiA+Pj4gKw0KPiA+Pj4gKy8qKg0K PiA+Pj4gKyAgRGV0ZXJtaW5lIGlmIHRoZSBzdGFuZGFyZCBDUFUgc2lnbmF0dXJlIGlzICJBdXRo ZW50aWNBTUQiLg0KPiA+Pj4gKw0KPiA+Pj4gKyAgQHJldHZhbCBUUlVFICBUaGUgQ1BVIHNpZ25h dHVyZSBtYXRjaGVzLg0KPiA+Pj4gKyAgQHJldHZhbCBGQUxTRSBUaGUgQ1BVIHNpZ25hdHVyZSBk b2VzIG5vdCBtYXRjaC4NCj4gPj4+ICsNCj4gPj4+ICsqKi8NCj4gPj4+ICtCT09MRUFODQo+ID4+ PiArU21tU3RhbmRhcmRTaWduYXR1cmVJc0F1dGhlbnRpY0FNRCAoDQo+ID4+PiArICBWT0lEDQo+ ID4+PiArICApOw0KPiA+Pj4gKw0KPiA+Pj4gKyNlbmRpZg0KPiA+Pj4gZGlmZiAtLWdpdA0KPiA+ Pj4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNM aWIuYw0KPiA+Pj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvU21tQ3B1 RmVhdHVyZXNMaWIuYw0KPiA+Pj4gaW5kZXggMmQyYmM2ZC4uMWMxMjA5NSAxMDA2NDQNCj4gPj4+ IC0tLSBhL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9TbW1DcHVGZWF0dXJl c0xpYi5jDQo+ID4+PiArKysgYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIv U21tQ3B1RmVhdHVyZXNMaWIuYw0KPiA+Pj4gQEAgLTEsMTQgKzEsMTYgQEANCj4gPj4+IC8qKiBA ZmlsZQ0KPiA+Pj4gLVRoZSBDUFUgc3BlY2lmaWMgcHJvZ3JhbW1pbmcgZm9yIFBpU21tQ3B1RHhl U21tIG1vZHVsZS4NCj4gPj4+ICsgIFRoZSBDUFUgc3BlY2lmaWMgcHJvZ3JhbW1pbmcgZm9yIFBp U21tQ3B1RHhlU21tIG1vZHVsZS4NCj4gPj4+DQo+ID4+PiAtQ29weXJpZ2h0IChjKSAyMDEwIC0g MjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPj4+IHJlc2VydmVkLjxCUj4g LVRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgLWFyZQ0KPiA+Pj4g bGljZW5zZWQgYW5kIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9u cyBvZiB0aGUNCj4gPj4+IEJTRCBMaWNlbnNlIC13aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3Ry aWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQgb2YNCj4gPj4+IHRoZSBsaWNlbnNlIG1heSBiZSBmb3Vu ZCBhdCAtDQo+ID4+PiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxpY2Vuc2Uu cGhwDQo+ID4+PiArICBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cw0KPiA+Pj4gKyByZXNlcnZlZC48QlI+ICBDb3B5cmlnaHQgKGMpIDIwMTcs IEFNRCBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMNCj4gPj4+ICsgcmVzZXJ2ZWQuPEJSPg0KPiA+ Pj4NCj4gPj4+IC1USEUgUFJPR1JBTSBJUyBESVNUUklCVVRFRCBVTkRFUiBUSEUgQlNEIExJQ0VO U0UgT04gQU4gIkFTIElTIg0KPiA+Pj4gQkFTSVMsIC1XSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQ UkVTRU5UQVRJT05TIE9GIEFOWSBLSU5ELA0KPiBFSVRIRVINCj4gPj4+IEVYUFJFU1MgT1IgSU1Q TElFRC4NCj4gPj4+ICsgIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlh bHMgIGFyZSBsaWNlbnNlZCBhbmQNCj4gPj4+ICsgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRl cm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBCU0QgTGljZW5zZQ0KPiA+Pj4gKyB3aGljaCBhY2Nv bXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vuc2UN Cj4gPj4+ICsgbWF5IGJlIGZvdW5kIGF0ICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMv YnNkLWxpY2Vuc2UucGhwDQo+ID4+PiArDQo+ID4+PiArICBUSEUgUFJPR1JBTSBJUyBESVNUUklC VVRFRCBVTkRFUiBUSEUgQlNEIExJQ0VOU0UgT04gQU4gIkFTDQo+IElTIg0KPiA+Pj4gQkFTSVMs DQo+ID4+PiArIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlMgT0YgQU5ZIEtJ TkQsIEVJVEhFUg0KPiA+Pj4gRVhQUkVTUyBPUiBJTVBMSUVELg0KPiA+Pj4NCj4gPj4+ICoqLw0K PiA+Pj4NCj4gPj4+IEBAIC0yMiw2ICsyNCw4IEBAIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBS RVNFTlRBVElPTlMgT0YNCj4gQU5ZIEtJTkQsDQo+ID4+PiBFSVRIRVIgRVhQUkVTUyBPUiBJTVBM SUVELg0KPiA+Pj4gI2luY2x1ZGUgPFJlZ2lzdGVyL0NwdWlkLmg+DQo+ID4+PiAjaW5jbHVkZSA8 UmVnaXN0ZXIvU21yYW1TYXZlU3RhdGVNYXAuaD4NCj4gPj4+DQo+ID4+PiArI2luY2x1ZGUgIlNt bUNvbW1vbi5oIg0KPiA+Pj4gKw0KPiA+Pj4gLy8NCj4gPj4+IC8vIE1hY2hpbmUgU3BlY2lmaWMg UmVnaXN0ZXJzIChNU1JzKSAvLyBAQCAtNDEsNiArNDUsNyBAQCBXSVRIT1VUDQo+ID4+PiBXQVJS QU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OUyBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1MgT1IN Cj4gPj4+IElNUExJRUQuDQo+ID4+PiAjZGVmaW5lIFNNTV9GRUFUVVJFU19MSUJfSUEzMl9NQ0Ff Q0FQICAgICAgICAgICAgICAweDE3RA0KPiA+Pj4gI2RlZmluZSAgIFNNTV9DT0RFX0FDQ0VTU19D SEtfQklUICAgICAgICAgICAgICAgICAgQklUNTgNCj4gPj4+DQo+ID4+PiArDQo+ID4+PiAvKioN Cj4gPj4+ICAgSW50ZXJuYWwgd29ya2VyIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHRvIGNvbXBs ZXRlIENQVSBpbml0aWFsaXphdGlvbiBhdA0KPiB0aGUNCj4gPj4+ICAgZW5kIG9mIFNtbUNwdUZl YXR1cmVzSW5pdGlhbGl6ZVByb2Nlc3NvcigpLg0KPiA+Pj4gQEAgLTc3LDYgKzgyLDEzIEBAIEJP T0xFQU4gIG1OZWVkQ29uZmlndXJlTXRycnMgPSBUUlVFOyAgLy8NCj4gQk9PTEVBTg0KPiA+Pj4g Km1TbXJyRW5hYmxlZDsNCj4gPj4+DQo+ID4+PiArLy8NCj4gPj4+ICsvLyBTZXQgZGVmYXVsdCB2 YWx1ZSBmb3IgU01SQU0gb2Zmc2V0IC8vICBmcm9tDQo+ID4+PiArPFJlZ2lzdGVyL1NtcmFtU2F2 ZVN0YXRlTWFwLmg+IC8vDQo+ID4+PiArVUlOVDE2ICBnU21yYW1TdGF0ZU1hcE9mZnNldCA9DQo+ IFNNUkFNX1NBVkVfU1RBVEVfTUFQX09GRlNFVDsNCj4gPj4+ICsNCj4gPj4+ICsNCj4gPj4+IC8q Kg0KPiA+Pj4gICBUaGUgY29uc3RydWN0b3IgZnVuY3Rpb24NCj4gPj4+DQo+ID4+PiBAQCAtOTks NiArMTExLDEzIEBAIFNtbUNwdUZlYXR1cmVzTGliQ29uc3RydWN0b3IgKA0KPiA+Pj4gICBVSU5U TiAgIE1vZGVsSWQ7DQo+ID4+Pg0KPiA+Pj4gICAvLw0KPiA+Pj4gKyAgLy8gT3ZlcnJpZGUgU01S QU0gb2Zmc2V0IGZvciBBTUQNCj4gPj4+ICsgIC8vDQo+ID4+PiArICBpZiAoU21tU3RhbmRhcmRT aWduYXR1cmVJc0F1dGhlbnRpY0FNRCAoKSkgew0KPiA+Pj4gKyAgICBnU21yYW1TdGF0ZU1hcE9m ZnNldCA9DQo+IEFNRF9TTVJBTV9TQVZFX1NUQVRFX01BUF9PRkZTRVQ7ICB9DQo+ID4+PiArDQo+ ID4+PiArICAvLw0KPiA+Pj4gICAvLyBSZXRyaWV2ZSBDUFUgRmFtaWx5IGFuZCBNb2RlbA0KPiA+ Pj4gICAvLw0KPiA+Pj4gICBBc21DcHVpZCAoQ1BVSURfVkVSU0lPTl9JTkZPLCAmUmVnRWF4LCBO VUxMLCBOVUxMLCAmUmVnRWR4KTsNCj4gQEAgLQ0KPiA+Pj4gMjI0LDcgKzI0Myw3IEBAIFNtbUNw dUZlYXR1cmVzSW5pdGlhbGl6ZVByb2Nlc3NvciAoDQo+ID4+PiAgIC8vDQo+ID4+PiAgIC8vIENv bmZpZ3VyZSBTTUJBU0UuDQo+ID4+PiAgIC8vDQo+ID4+PiAtICBDcHVTdGF0ZSA9IChTTVJBTV9T QVZFX1NUQVRFX01BUA0KPiA+Pj4gKikoVUlOVE4pKFNNTV9ERUZBVUxUX1NNQkFTRSArDQo+ID4+ PiBTTVJBTV9TQVZFX1NUQVRFX01BUF9PRkZTRVQpOw0KPiA+Pj4gKyAgQ3B1U3RhdGUgPSAoU01S QU1fU0FWRV9TVEFURV9NQVANCj4gPj4+ICopKFVJTlROKShTTU1fREVGQVVMVF9TTUJBU0UgKw0K PiA+Pj4gKyBnU21yYW1TdGF0ZU1hcE9mZnNldCk7DQo+ID4+PiAgIENwdVN0YXRlLT54ODYuU01C QVNFID0gKFVJTlQzMilDcHVIb3RQbHVnRGF0YS0NCj4gPlNtQmFzZVtDcHVJbmRleF07DQo+ID4+ Pg0KPiA+Pj4gICAvLw0KPiA+Pj4gQEAgLTYzMCwzICs2NDksMjUgQEAgU21tQ3B1RmVhdHVyZXNB bGxvY2F0ZVBhZ2VUYWJsZU1lbW9yeSAoDQo+ID4+PiAgIHJldHVybiBOVUxMOw0KPiA+Pj4gfQ0K PiA+Pj4NCj4gPj4+ICsNCj4gPj4+ICsvKioNCj4gPj4+ICsgIERldGVybWluZSBpZiB0aGUgc3Rh bmRhcmQgQ1BVIHNpZ25hdHVyZSBpcyAiQXV0aGVudGljQU1EIi4NCj4gPj4+ICsNCj4gPj4+ICsg IEByZXR2YWwgVFJVRSAgVGhlIENQVSBzaWduYXR1cmUgbWF0Y2hlcy4NCj4gPj4+ICsgIEByZXR2 YWwgRkFMU0UgVGhlIENQVSBzaWduYXR1cmUgZG9lcyBub3QgbWF0Y2guDQo+ID4+PiArDQo+ID4+ PiArKiovDQo+ID4+PiArQk9PTEVBTg0KPiA+Pj4gK1NtbVN0YW5kYXJkU2lnbmF0dXJlSXNBdXRo ZW50aWNBTUQgKA0KPiA+Pj4gKyAgVk9JRA0KPiA+Pj4gKyAgKQ0KPiA+Pj4gK3sNCj4gPj4+ICsg IFVJTlQzMiAgUmVnRWJ4Ow0KPiA+Pj4gKyAgVUlOVDMyICBSZWdFY3g7DQo+ID4+PiArICBVSU5U MzIgIFJlZ0VkeDsNCj4gPj4+ICsNCj4gPj4+ICsgIEFzbUNwdWlkIChDUFVJRF9TSUdOQVRVUkUs IE5VTEwsICZSZWdFYngsICZSZWdFY3gsICZSZWdFZHgpOw0KPiA+Pj4gKyAgcmV0dXJuIChSZWdF YnggPT0gQ1BVSURfU0lHTkFUVVJFX0FVVEhFTlRJQ19BTURfRUJYICYmDQo+ID4+PiArICAgICAg ICAgIFJlZ0VjeCA9PSBDUFVJRF9TSUdOQVRVUkVfQVVUSEVOVElDX0FNRF9FQ1ggJiYNCj4gPj4+ ICsgICAgICAgICAgUmVnRWR4ID09IENQVUlEX1NJR05BVFVSRV9BVVRIRU5USUNfQU1EX0VEWCk7 DQo+ID4+PiArfQ0KPiA+Pj4gZGlmZiAtLWdpdA0KPiA+Pj4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkv U21tQ3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNMaWIuaW5mDQo+ID4+PiBiL1VlZmlDcHVQ a2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9TbW1DcHVGZWF0dXJlc0xpYi5pbmYNCj4gPj4+ IGluZGV4IDc3OTA4YjAuLjZhMzlkNGIgMTAwNjQ0DQo+ID4+PiAtLS0gYS9VZWZpQ3B1UGtnL0xp YnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNMaWIuaW5mDQo+ID4+PiArKysN Cj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNM aWIuaW5mDQo+ID4+PiBAQCAtMiw2ICsyLDggQEANCj4gPj4+ICMgIFRoZSBDUFUgc3BlY2lmaWMg cHJvZ3JhbW1pbmcgZm9yIFBpU21tQ3B1RHhlU21tIG1vZHVsZS4NCj4gPj4+ICMNCj4gPj4+ICMg IENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTYsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz DQo+ID4+PiByZXNlcnZlZC48QlI+DQo+ID4+PiArIyAgQ29weXJpZ2h0IChjKSAyMDE3LCBBTUQg SW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4gIw0KPiA+Pj4gIyAgVGhpcyBw cm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyAgIyAgYXJlIGxpY2Vuc2VkIGFu ZA0KPiA+Pj4gbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9m IHRoZSBCU0QgTGljZW5zZSAgIw0KPiA+Pj4gd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmli dXRpb24uICBUaGUgZnVsbCB0ZXh0IG9mIHRoZSBsaWNlbnNlDQo+ID4+PiBtYXkgYmUgZm91bmQg YXQgQEAgLTI0LDYgKzI2LDcgQEANCj4gPj4+DQo+ID4+PiBbU291cmNlc10NCj4gPj4+ICAgU21t Q3B1RmVhdHVyZXNMaWIuYw0KPiA+Pj4gKyAgU21tQ29tbW9uLmgNCj4gPj4+ICAgU21tQ3B1RmVh dHVyZXNMaWJOb1N0bS5jDQo+ID4+Pg0KPiA+Pj4gW1BhY2thZ2VzXQ0KPiA+Pj4gZGlmZiAtLWdp dA0KPiA+Pj4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVh dHVyZXNMaWJTdG0uaW5mDQo+ID4+PiBiL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJl c0xpYi9TbW1DcHVGZWF0dXJlc0xpYlN0bS5pbmYNCj4gPj4+IGluZGV4IGRiOGRjZGMuLmE3NmJl ZDYgMTAwNjQ0DQo+ID4+PiAtLS0NCj4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVy ZXNMaWIvU21tQ3B1RmVhdHVyZXNMaWJTdG0uaW5mDQo+ID4+PiArKysNCj4gYi9VZWZpQ3B1UGtn L0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNMaWJTdG0uaW5mDQo+ID4+ PiBAQCAtMyw2ICszLDggQEANCj4gPj4+ICMgIGlzIGluY2x1ZGVkLg0KPiA+Pj4gIw0KPiA+Pj4g IyAgQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdo dHMNCj4gPj4+IHJlc2VydmVkLjxCUj4NCj4gPj4+ICsjICBDb3B5cmlnaHQgKGMpIDIwMTcsIEFN RCBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPiAjDQo+ID4+PiAjICBUaGlz IHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzICAjICBhcmUgbGljZW5zZWQg YW5kDQo+ID4+PiBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMg b2YgdGhlIEJTRCBMaWNlbnNlICAjDQo+ID4+PiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3Ry aWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vuc2UNCj4gPj4+IG1heSBiZSBmb3Vu ZCBhdCBAQCAtMjUsNiArMjcsNyBAQA0KPiA+Pj4NCj4gPj4+IFtTb3VyY2VzXQ0KPiA+Pj4gICBT bW1DcHVGZWF0dXJlc0xpYi5jDQo+ID4+PiArICBTbW1Db21tb24uaA0KPiA+Pj4gICBTbW1TdG0u Yw0KPiA+Pj4gICBTbW1TdG0uaA0KPiA+Pj4NCj4gPj4+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtn L0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvU21tU3RtLmMNCj4gPj4+IGIvVWVmaUNwdVBrZy9M aWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1NtbVN0bS5jDQo+ID4+PiBpbmRleCA0NTAxNWI4Li41 ZjdjM2RiIDEwMDY0NA0KPiA+Pj4gLS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1 cmVzTGliL1NtbVN0bS5jDQo+ID4+PiArKysgYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVh dHVyZXNMaWIvU21tU3RtLmMNCj4gPj4+IEBAIC0yLDYgKzIsOCBAQA0KPiA+Pj4gICBTTU0gU1RN IHN1cHBvcnQgZnVuY3Rpb25zDQo+ID4+Pg0KPiA+Pj4gICBDb3B5cmlnaHQgKGMpIDIwMTUgLSAy MDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+Pj4gcmVzZXJ2ZWQuPEJSPg0K PiA+Pj4gKyAgQ29weXJpZ2h0IChjKSAyMDE3LCBBTUQgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRz IHJlc2VydmVkLjxCUj4NCj4gPj4+ICsNCj4gPj4+ICAgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNj b21wYW55aW5nIG1hdGVyaWFscw0KPiA+Pj4gICBhcmUgbGljZW5zZWQgYW5kIG1hZGUgYXZhaWxh YmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZg0KPiA+Pj4gdGhlIEJTRCBMaWNl bnNlDQo+ID4+PiAgIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLiAgVGhlIGZ1 bGwgdGV4dCBvZiB0aGUgbGljZW5zZQ0KPiA+Pj4gbWF5IGJlIGZvdW5kIGF0IEBAIC0yOCw2ICsz MCw4IEBAICAjaW5jbHVkZSA8UHJvdG9jb2wvTXBTZXJ2aWNlLmg+DQo+ID4+Pg0KPiA+Pj4gI2lu Y2x1ZGUgIlNtbVN0bS5oIg0KPiA+Pj4gKyNpbmNsdWRlICJTbW1Db21tb24uaCINCj4gPj4+ICsN Cj4gPj4+DQo+ID4+PiAjZGVmaW5lIFRYVF9FVlRZUEVfQkFTRSAgICAgICAgICAgICAgICAgIDB4 NDAwDQo+ID4+PiAjZGVmaW5lIFRYVF9FVlRZUEVfU1RNX0hBU0ggICAgICAgICAgICAgIChUWFRf RVZUWVBFX0JBU0UgKyAxNCkNCj4gPj4+IEBAIC05Nyw2ICsxMDEsMjAgQEAgZXh0ZXJuIHZvbGF0 aWxlIFVJTlQ4DQo+IGdjU3RtU21pSGFuZGxlclRlbXBsYXRlW107DQo+ID4+PiBleHRlcm4gQ09O U1QgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgZ2NTdG1TbWlIYW5kbGVyU2l6ZTsNCj4g Pj4+IGV4dGVybiBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnY1N0bVNtaUhh bmRsZXJPZmZzZXQ7DQo+ID4+PiBleHRlcm4gQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ1N0bVhkU3VwcG9ydGVkOw0KPiA+Pj4gK2V4dGVybiBVSU5UMTYgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBnU3RtR2R0U2l6ZTsNCj4gPj4+ICtleHRlcm4gVUlOVDE2ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZ1N0bUdkdFB0cjsNCj4gPj4+ICsNCj4gPj4+ICsvLw0K PiA+Pj4gKy8vIENvbnN0YW50cyByZWxhdGluZyB0byBUWFRfUFJPQ0VTU09SX1NNTV9ERVNDUklQ VE9SIC8vDQo+ID4+PiArI2RlZmluZSBUWFRfUFNEX0dEVFBUUiAgIDB4NDgNCj4gPj4+ICsjZGVm aW5lIFRYVF9QU0RfR0RUU0laRSAgMHg1MA0KPiA+Pj4gKw0KPiA+Pj4gKy8vDQo+ID4+PiArLy8g U2V0IGRlZmF1bHQgdmFsdWUgZm9yIFBTRCBvZmZzZXQgaW4gU01SQU0gLy8gIGZyb20NCj4gPj4+ ICs8UmVnaXN0ZXIvU3RtQXBpLmg+IC8vDQo+ID4+PiArVUlOVDE2ICBnU3RtUHNkT2Zmc2V0ID0g VFhUX1NNTV9QU0RfT0ZGU0VUOw0KPiA+Pj4NCj4gPj4+IC8vDQo+ID4+PiAvLyBWYXJpYWJsZXMg dXNlZCBieSBTTUkgSGFuZGxlcg0KPiA+Pj4gQEAgLTE0NSw2ICsxNjMsMTkgQEAgU21tQ3B1RmVh dHVyZXNMaWJTdG1Db25zdHJ1Y3RvciAoDQo+ID4+PiAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1 cyk7DQo+ID4+Pg0KPiA+Pj4gICAvLw0KPiA+Pj4gKyAgLy8gT3ZlcnJpZGUgUFNEIG9mZnNldCBm b3IgQU1EDQo+ID4+PiArICAvLw0KPiA+Pj4gKyAgaWYgKFNtbVN0YW5kYXJkU2lnbmF0dXJlSXNB dXRoZW50aWNBTUQgKCkpIHsNCj4gPj4+ICsgICAgZ1N0bVBzZE9mZnNldCA9IEFNRF9TTU1fUFNE X09GRlNFVDsgIH0NCj4gPj4+ICsNCj4gPj4+ICsgIC8vDQo+ID4+PiArICAvLyBJbml0aWFsaXpl IFNUTSBnbG9iYWwgdmFyaWFibGVzIGFzc29jaWF0ZWQgd2l0aCBTTUkgSGFuZGxlcg0KPiA+Pj4g KyAvLyBnU3RtR2R0U2l6ZSA9IGdTdG1Qc2RPZmZzZXQgKyBUWFRfUFNEX0dEVFNJWkU7ICBnU3Rt R2R0UHRyICA9DQo+ID4+PiArIGdTdG1Qc2RPZmZzZXQgKyBUWFRfUFNEX0dEVFBUUjsNCj4gPj4+ ICsNCj4gPj4+ICsgIC8vDQo+ID4+PiAgIC8vIExvb2t1cCB0aGUgTVAgU2VydmljZXMgUHJvdG9j b2wNCj4gPj4+ICAgLy8NCj4gPj4+ICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ ID4+PiBAQCAtMjc2LDggKzMwNyw4IEBAIFNtbUNwdUZlYXR1cmVzSW5zdGFsbFNtaUhhbmRsZXIg KA0KPiA+Pj4gICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgUmVnRWR4Ow0KPiA+Pj4g ICBFRklfUFJPQ0VTU09SX0lORk9STUFUSU9OICAgICAgUHJvY2Vzc29ySW5mbzsNCj4gPj4+DQo+ ID4+PiAtICBDb3B5TWVtICgoVk9JRCAqKSgoVUlOVE4pU21CYXNlICsgVFhUX1NNTV9QU0RfT0ZG U0VUKSwNCj4gJmdjU3RtUHNkLA0KPiA+Pj4gc2l6ZW9mIChnY1N0bVBzZCkpOw0KPiA+Pj4gLSAg UHNkID0gKFRYVF9QUk9DRVNTT1JfU01NX0RFU0NSSVBUT1IgKikoVk9JRA0KPiAqKSgoVUlOVE4p U21CYXNlICsNCj4gPj4+IFRYVF9TTU1fUFNEX09GRlNFVCk7DQo+ID4+PiArICBDb3B5TWVtICgo Vk9JRCAqKSgoVUlOVE4pU21CYXNlICsgZ1N0bVBzZE9mZnNldCksICZnY1N0bVBzZCwNCj4gPj4+ IHNpemVvZg0KPiA+Pj4gKyAoZ2NTdG1Qc2QpKTsgIFBzZCA9IChUWFRfUFJPQ0VTU09SX1NNTV9E RVNDUklQVE9SICopKFZPSUQNCj4gPj4+ICsgKikoKFVJTlROKVNtQmFzZSArIGdTdG1Qc2RPZmZz ZXQpOw0KPiA+Pj4gICBQc2QtPlNtbUdkdFB0ciA9IEdkdEJhc2U7DQo+ID4+PiAgIFBzZC0+U21t R2R0U2l6ZSA9IChVSU5UMzIpR2R0U2l6ZTsNCj4gPj4+DQo+ID4+PiBAQCAtNDE2LDcgKzQ0Nyw3 IEBAIFNtbUVuZE9mRHhlRXZlbnROb3RpZnkgKA0KPiA+Pj4gICB9DQo+ID4+Pg0KPiA+Pj4gICBm b3IgKEluZGV4ID0gMDsgSW5kZXggPCBnU21zdC0+TnVtYmVyT2ZDcHVzOyBJbmRleCsrKSB7DQo+ ID4+PiAtICAgIFBzZCA9IChUWFRfUFJPQ0VTU09SX1NNTV9ERVNDUklQVE9SICopKChVSU5UTiln U21zdC0NCj4gPj4+PiBDcHVTYXZlU3RhdGVbSW5kZXhdIC0gU01SQU1fU0FWRV9TVEFURV9NQVBf T0ZGU0VUICsNCj4gPj4+IFRYVF9TTU1fUFNEX09GRlNFVCk7DQo+ID4+PiArICAgIFBzZCA9IChU WFRfUFJPQ0VTU09SX1NNTV9ERVNDUklQVE9SDQo+ID4+PiArICopKChVSU5UTilnU21zdC0+Q3B1 U2F2ZVN0YXRlW0luZGV4XSAtIGdTbXJhbVN0YXRlTWFwT2Zmc2V0ICsNCj4gPj4+ICsgZ1N0bVBz ZE9mZnNldCk7DQo+ID4+PiAgICAgREVCVUcgKChERUJVR19JTkZPLCAiSW5kZXg9JWQgIFBzZD0l cCAgUnNkcD0lcFxuIiwgSW5kZXgsIFBzZCwNCj4gPj4+IFJzZHApKTsNCj4gPj4+ICAgICBQc2Qt PkFjcGlSc2RwID0gKFVJTlQ2NCkoVUlOVE4pUnNkcDsNCj4gPj4+ICAgfQ0KPiA+Pj4gQEAgLTEy NjYsNyArMTI5Nyw3IEBAIE5vdGlmeVN0bVJlc291cmNlQ2hhbmdlICgNCj4gPj4+ICAgVFhUX1BS T0NFU1NPUl9TTU1fREVTQ1JJUFRPUiAgKlBzZDsNCj4gPj4+DQo+ID4+PiAgIGZvciAoSW5kZXgg PSAwOyBJbmRleCA8IGdTbXN0LT5OdW1iZXJPZkNwdXM7IEluZGV4KyspIHsNCj4gPj4+IC0gICAg UHNkID0gKFRYVF9QUk9DRVNTT1JfU01NX0RFU0NSSVBUT1IgKikoKFVJTlROKWdTbXN0LQ0KPiA+ Pj4+IENwdVNhdmVTdGF0ZVtJbmRleF0gLSBTTVJBTV9TQVZFX1NUQVRFX01BUF9PRkZTRVQgKw0K PiA+Pj4gVFhUX1NNTV9QU0RfT0ZGU0VUKTsNCj4gPj4+ICsgICAgUHNkID0gKFRYVF9QUk9DRVNT T1JfU01NX0RFU0NSSVBUT1INCj4gPj4+ICsgKikoKFVJTlROKWdTbXN0LT5DcHVTYXZlU3RhdGVb SW5kZXhdIC0gZ1NtcmFtU3RhdGVNYXBPZmZzZXQgKw0KPiA+Pj4gKyBnU3RtUHNkT2Zmc2V0KTsN Cj4gPj4+ICAgICBQc2QtPkJpb3NId1Jlc291cmNlUmVxdWlyZW1lbnRzUHRyID0NCj4gKFVJTlQ2 NCkoVUlOVE4pU3RtUmVzb3VyY2U7DQo+ID4+PiAgIH0NCj4gPj4+ICAgcmV0dXJuIDsNCj4gPj4+ IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvWDY0L1Nt aUVudHJ5LlMNCj4gPj4+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1g2 NC9TbWlFbnRyeS5TDQo+ID4+PiBpbmRleCAxZjlmOTFjLi41ZjMzODZhIDEwMDY0NA0KPiA+Pj4g LS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1g2NC9TbWlFbnRyeS5T DQo+ID4+PiArKysgYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvWDY0L1Nt aUVudHJ5LlMNCj4gPj4+IEBAIC0xLDYgKzEsOCBAQA0KPiA+Pj4gIy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPj4+ IC0tLS0tLS0tLS0tDQo+ID4+PiAjDQo+ID4+PiAjIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTYs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4+PiByZXNlcnZlZC48QlI+DQo+ID4+ PiArIyBDb3B5cmlnaHQgKGMpIDIwMTcsIEFNRCBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPiAjDQo+ID4+PiAjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBt YXRlcmlhbHMgICMgYXJlIGxpY2Vuc2VkIGFuZA0KPiA+Pj4gbWFkZSBhdmFpbGFibGUgdW5kZXIg dGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBCU0QgTGljZW5zZSAgIw0KPiA+Pj4gd2hp Y2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24uICBUaGUgZnVsbCB0ZXh0IG9mIHRoZSBs aWNlbnNlDQo+ID4+PiBtYXkgYmUgZm91bmQgYXQgQEAgLTI3LDYgKzI5LDkgQEAgQVNNX0dMT0JB TA0KPiBBU01fUEZYKGdTdG1TbWlTdGFjaykNCj4gPj4+IEFTTV9HTE9CQUwNCj4gPj4+IEFTTV9Q RlgoZ1N0bVNtYmFzZSkgIEFTTV9HTE9CQUwgIEFTTV9QRlgoZ1N0bVhkU3VwcG9ydGVkKQ0KPiBB U01fR0xPQkFMDQo+ID4+PiBBU01fUEZYKGdTdG1TbWlIYW5kbGVySWR0cikNCj4gPj4+ICtBU01f R0xPQkFMICBBU01fUEZYKGdTdG1Qc2RPZmZzZXQpDQo+ID4+PiArQVNNX0dMT0JBTCAgQVNNX1BG WChnU3RtR2R0U2l6ZSkNCj4gPj4+ICtBU01fR0xPQkFMICBBU01fUEZYKGdTdG1HZHRQdHIpDQo+ ID4+Pg0KPiA+Pj4gLmVxdSAgICAgICAgICAgIE1TUl9JQTMyX01JU0NfRU5BQkxFLCAweDFBMA0K PiA+Pj4gLmVxdSAgICAgICAgICAgIE1TUl9FRkVSLCAweGMwMDAwMDgwDQo+ID4+PiBAQCAtMzUs MTIgKzQwLDEzIEBAIEFTTV9HTE9CQUwgIEFTTV9QRlgoZ1N0bVNtaUhhbmRsZXJJZHRyKSAgIw0K PiAjDQo+ID4+PiBDb25zdGFudHMgcmVsYXRpbmcgdG8gVFhUX1BST0NFU1NPUl9TTU1fREVTQ1JJ UFRPUiAgIw0KPiA+Pj4gLS5lcXUgICAgICAgICAgICBEU0NfT0ZGU0VULCAweGZiMDANCj4gPj4+ IC0uZXF1ICAgICAgICAgICAgRFNDX0dEVFBUUiwgMHg0OA0KPiA+Pj4gLS5lcXUgICAgICAgICAg ICBEU0NfR0RUU0laLCAweDUwDQo+ID4+PiAtLmVxdSAgICAgICAgICAgIERTQ19DUywgMHgxNA0K PiA+Pj4gLS5lcXUgICAgICAgICAgICBEU0NfRFMsIDB4MTYNCj4gPj4+IC0uZXF1ICAgICAgICAg ICAgRFNDX1NTLCAweDE4DQo+ID4+PiArIyAuZXF1ICAgICAgICAgIERTQ19PRkZTRVQsICAgMHhm YjAwDQo+ID4+PiArIyAuZXF1ICAgICAgICAgIERTQ19HRFRQVFIsICAgMHg0OA0KPiA+Pj4gKyMg LmVxdSAgICAgICAgICBEU0NfR0RUU0laLCAgIDB4NTANCj4gPj4+ICsjDQo+ID4+PiArLmVxdSAg ICAgICAgICAgIERTQ19DUywgICAgICAgMHgxNA0KPiA+Pj4gKy5lcXUgICAgICAgICAgICBEU0Nf RFMsICAgICAgIDB4MTYNCj4gPj4+ICsuZXF1ICAgICAgICAgICAgRFNDX1NTLCAgICAgICAweDE4 DQo+ID4+PiAuZXF1ICAgICAgICAgICAgRFNDX09USEVSU0VHLCAweDFhDQo+ID4+PiAjDQo+ID4+ PiAjIENvbnN0YW50cyByZWxhdGluZyB0byBDUFUgU3RhdGUgU2F2ZSBBcmVhIEBAIC03MSwxMiAr NzcsMTIgQEANCj4gPj4+IF9TdG1TbWlFbnRyeVBvaW50Og0KPiA+Pj4gICAgICMgZml4IEdEVCBk ZXNjcmlwdG9yDQo+ID4+PiAgICAgIw0KPiA+Pj4gICAgIC5ieXRlIDB4MmUsMHhhMSAgICAgICAg ICAgICAgICAgICAgICMgbW92IGF4LCBjczpbb2Zmc2V0MTZdDQo+ID4+PiAtICAgIC53b3JkICAg ICAgRFNDX09GRlNFVCArIERTQ19HRFRTSVoNCj4gPj4+ICtBU01fUEZYKGdTdG1HZHRTaXplKTog LnNwYWNlIDIgICAgICAgICAgIyAud29yZCBEU0NfT0ZGU0VUICsNCj4gRFNDX0dEVFNJWg0KPiA+ Pj4gICAgIC5ieXRlIDB4NDggICAgICAgICAgICAgICAgICAgICAgICAgICMgZGVjIGF4DQo+ID4+ PiAgICAgLmJ5dGUgMHgyZQ0KPiA+Pj4gICAgIG1vdmwgICAgJWVheCwgKCVyZGkpICAgICAgICAg ICAgICAgICMgbW92IGNzOltieF0sIGF4DQo+ID4+PiAgICAgLmJ5dGUgMHg2NiwweDJlLDB4YTEg ICAgICAgICAgICAgICAgIyBtb3YgZWF4LCBjczpbb2Zmc2V0MTZdDQo+ID4+PiAtICAgIC53b3Jk ICAgICAgRFNDX09GRlNFVCArIERTQ19HRFRQVFINCj4gPj4+ICtBU01fUEZYKGdTdG1HZHRQdHIp OiAuc3BhY2UgMiAgICAgICAgICAgIyAud29yZCBEU0NfT0ZGU0VUICsNCj4gRFNDX0dEVFBUUg0K PiA+Pj4gICAgIC5ieXRlIDB4MmUNCj4gPj4+ICAgICBtb3Z3ICAgICVheCwgMiglcmRpKQ0KPiA+ Pj4gICAgIC5ieXRlIDB4NjYsMHgyZQ0KPiA+Pj4gQEAgLTE4Myw3ICsxODksMTEgQEAgQmFzZToN Cj4gPj4+IExvbmdNb2RlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGxvbmcgbW9k ZSAoNjQtYml0IGNvZGUpIHN0YXJ0cyBoZXJlDQo+ID4+PiAgICAgbW92YWJzcSAkQVNNX1BGWChn U3RtU21pSGFuZGxlcklkdHIpLCAlcmF4DQo+ID4+PiAgICAgbGlkdCAgICAoJXJheCkNCj4gPj4+ IC0gICAgbGVhICAgICAoRFNDX09GRlNFVCkoJXJkaSksICVlYngNCj4gPj4+ICsNCj4gPj4+ICsg ICAgbW92bCAgICAkQVNNX1BGWChnU3RtUHNkT2Zmc2V0KSwgJWVieCAgIyBsZWENCj4gKERTQ19P RkZTRVQpKCVyZGkpLA0KPiA+Pj4gJWVieA0KPiA+Pj4gKyAgICBtb3Z6eHcgICglZWJ4KSwgJXJz aQ0KPiA+Pj4gKyAgICBsZWFsICAgICglcmRpLCAlcnNpKSwgJWVieA0KPiA+Pj4gKw0KPiA+Pj4g ICAgIG1vdncgICAgRFNDX0RTKCVyYngpLCAlYXgNCj4gPj4+ICAgICBtb3ZsICAgICVlYXgsJWRz DQo+ID4+PiAgICAgbW92dyAgICBEU0NfT1RIRVJTRUcoJXJieCksICVheA0KPiA+Pj4gZGlmZiAt LWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9YNjQvU21pRW50cnku YXNtDQo+ID4+PiBiL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9YNjQvU21p RW50cnkuYXNtDQo+ID4+PiBpbmRleCBhZDUxZTA3Li4xMDkxM2RmIDEwMDY0NA0KPiA+Pj4gLS0t IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1g2NC9TbWlFbnRyeS5hc20N Cj4gPj4+ICsrKyBiL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9YNjQvU21p RW50cnkuYXNtDQo+ID4+PiBAQCAtMSw1ICsxLDcgQEANCj4gPj4+IDstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4+ PiAtLS0tLS0tLS0tLSA7ICA7IENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTYsIEludGVsIENvcnBv cmF0aW9uLiBBbGwNCj4gPj4+IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4+PiArOyBDb3B5cmln aHQgKGMpIDIwMTcsIEFNRCBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPiA7 DQo+ID4+PiA7IFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgIDsg YXJlIGxpY2Vuc2VkIGFuZA0KPiA+Pj4gbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFu ZCBjb25kaXRpb25zIG9mIHRoZSBCU0QgTGljZW5zZSAgOw0KPiA+Pj4gd2hpY2ggYWNjb21wYW5p ZXMgdGhpcyBkaXN0cmlidXRpb24uICBUaGUgZnVsbCB0ZXh0IG9mIHRoZSBsaWNlbnNlIG1heSBi ZQ0KPiBmb3VuZCBhdA0KPiA+Pj4gQEAgLTMyLDYgKzM0LDEwIEBAIEVYVEVSTkRFRiAgIGdTdG1T bWlTdGFjazpEV09SRA0KPiA+Pj4gRVhURVJOREVGICAgZ1N0bVNtYmFzZTpEV09SRA0KPiA+Pj4g RVhURVJOREVGICAgZ1N0bVhkU3VwcG9ydGVkOkJZVEUNCj4gPj4+IEVYVEVSTkRFRiAgIGdTdG1T bWlIYW5kbGVySWR0cjpGV09SRA0KPiA+Pj4gK0VYVEVSTkRFRiAgIGdTdG1Qc2RPZmZzZXQ6V09S RA0KPiA+Pj4gK0VYVEVSTkRFRiAgIGdTdG1HZHRTaXplOldPUkQNCj4gPj4+ICtFWFRFUk5ERUYg ICBnU3RtR2R0UHRyOldPUkQNCj4gPj4+ICsNCj4gPj4+DQo+ID4+PiBNU1JfSUEzMl9NSVNDX0VO QUJMRSAgRVFVICAgICAxQTBoDQo+ID4+PiBNU1JfRUZFUiAgICAgIEVRVSAgICAgMGMwMDAwMDgw aA0KPiA+Pj4gQEAgLTQwLDEzICs0NiwxNCBAQCBNU1JfRUZFUl9YRCAgIEVRVSAgICAgMDgwMGgN Cj4gPj4+IDsNCj4gPj4+IDsgQ29uc3RhbnRzIHJlbGF0aW5nIHRvIFRYVF9QUk9DRVNTT1JfU01N X0RFU0NSSVBUT1IgIDsNCj4gPj4+IC1EU0NfT0ZGU0VUICAgIEVRVSAgICAgMGZiMDBoDQo+ID4+ PiAtRFNDX0dEVFBUUiAgICBFUVUgICAgIDQ4aA0KPiA+Pj4gLURTQ19HRFRTSVogICAgRVFVICAg ICA1MGgNCj4gPj4+IC1EU0NfQ1MgICAgICAgIEVRVSAgICAgMTRoDQo+ID4+PiAtRFNDX0RTICAg ICAgICBFUVUgICAgIDE2aA0KPiA+Pj4gLURTQ19TUyAgICAgICAgRVFVICAgICAxOGgNCj4gPj4+ IC1EU0NfT1RIRVJTRUcgIEVRVSAgICAgMWFoDQo+ID4+PiArOyBEU0NfT0ZGU0VUIEVRVSAgICAg MGZiMDBoDQo+ID4+PiArOyBEU0NfR0RUUFRSIEVRVSAgICAgNDhoDQo+ID4+PiArOyBEU0NfR0RU U0laIEVRVSAgICAgNTBoDQo+ID4+PiArOw0KPiA+Pj4gK0RTQ19DUyAgICAgICBFUVUgICAgIDE0 aA0KPiA+Pj4gK0RTQ19EUyAgICAgICBFUVUgICAgIDE2aA0KPiA+Pj4gK0RTQ19TUyAgICAgICBF UVUgICAgIDE4aA0KPiA+Pj4gK0RTQ19PVEhFUlNFRyBFUVUgICAgIDFhaA0KPiA+Pj4gOw0KPiA+ Pj4gOyBDb25zdGFudHMgcmVsYXRpbmcgdG8gQ1BVIFN0YXRlIFNhdmUgQXJlYSAgOyBAQCAtNzQs MTIgKzgxLDEyIEBADQo+ID4+PiBfU3RtU21pRW50cnlQb2ludDoNCj4gPj4+ICAgICBEVyAgICAg IG9mZnNldCBfU3RtR2R0RGVzYyAtIF9TdG1TbWlFbnRyeVBvaW50ICsgODAwMGggIDsgYnggPQ0K PiBHZHREZXNjDQo+ID4+PiBvZmZzZXQNCj4gPj4+IDsgZml4IEdEVCBkZXNjcmlwdG9yDQo+ID4+ PiAgICAgREIgICAgICAyZWgsIDBhMWggICAgICAgICAgICAgICAgICAgOyBtb3YgYXgsIGNzOltv ZmZzZXQxNl0NCj4gPj4+IC0gICAgRFcgICAgICBEU0NfT0ZGU0VUICsgRFNDX0dEVFNJWg0KPiA+ Pj4gK2dTdG1HZHRTaXplICAgRFcgICAgPyAgICAgICAgICAgICAgICAgICA7IERTQ19PRkZTRVQg KyBEU0NfR0RUU0laDQo+ID4+PiAgICAgREIgICAgICA0OGggICAgICAgICAgICAgICAgICAgICAg ICAgOyBkZWMgYXgNCj4gPj4+ICAgICBEQiAgICAgIDJlaA0KPiA+Pj4gICAgIG1vdiAgICAgW3Jk aV0sIGVheCAgICAgICAgICAgICAgICAgIDsgbW92IGNzOltieF0sIGF4DQo+ID4+PiAgICAgREIg ICAgICA2NmgsIDJlaCwgMGExaCAgICAgICAgICAgICAgOyBtb3YgZWF4LCBjczpbb2Zmc2V0MTZd DQo+ID4+PiAtICAgIERXICAgICAgRFNDX09GRlNFVCArIERTQ19HRFRQVFINCj4gPj4+ICtnU3Rt R2R0UHRyICAgIERXICAgID8gICAgICAgICAgICAgICAgICAgOyBEU0NfT0ZGU0VUICsgRFNDX0dE VFBUUg0KPiA+Pj4gICAgIERCICAgICAgMmVoDQo+ID4+PiAgICAgbW92ICAgICBbcmRpICsgMl0s IGF4ICAgICAgICAgICAgICAgOyBtb3YgY3M6W2J4ICsgMl0sIGVheA0KPiA+Pj4gICAgIERCICAg ICAgNjZoLCAyZWgNCj4gPj4+IEBAIC0xNzgsNyArMTg1LDEwIEBAIEJhc2U6DQo+ID4+PiBATG9u Z01vZGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBsb25nIG1vZGUgKDY0LWJpdCBj b2RlKSBzdGFydHMgaGVyZQ0KPiA+Pj4gICAgIG1vdiAgICAgcmF4LCBvZmZzZXQgZ1N0bVNtaUhh bmRsZXJJZHRyDQo+ID4+PiAgICAgbGlkdCAgICBmd29yZCBwdHIgW3JheF0NCj4gPj4+IC0gICAg bGVhICAgICBlYngsIFtyZGkgKyBEU0NfT0ZGU0VUXQ0KPiA+Pj4gKw0KPiA+Pj4gKyAgICBtb3Z6 eCAgIHJzaSwgd29yZCBwdHIgW2dTdG1Qc2RPZmZzZXRdICAgOyBsZWEgICAgIGVieCwgW3JkaSAr DQo+IERTQ19PRkZTRVRdDQo+ID4+PiArICAgIGxlYSAgICAgZWJ4LCBbcmRpICsgcnNpXSAgICAg ICAgICAgICAgICA7DQo+ID4+PiArDQo+ID4+PiAgICAgbW92ICAgICBheCwgW3JieCArIERTQ19E U10NCj4gPj4+ICAgICBtb3YgICAgIGRzLCBlYXgNCj4gPj4+ICAgICBtb3YgICAgIGF4LCBbcmJ4 ICsgRFNDX09USEVSU0VHXQ0KPiA+Pj4gZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9T bW1DcHVGZWF0dXJlc0xpYi9YNjQvU21pRW50cnkubmFzbQ0KPiA+Pj4gYi9VZWZpQ3B1UGtnL0xp YnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvWDY0L1NtaUVudHJ5Lm5hc20NCj4gPj4+IGluZGV4IGJj YWM2NDMuLmRmNGM1YTIgMTAwNjQ0DQo+ID4+PiAtLS0gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvU21t Q3B1RmVhdHVyZXNMaWIvWDY0L1NtaUVudHJ5Lm5hc20NCj4gPj4+ICsrKyBiL1VlZmlDcHVQa2cv TGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9YNjQvU21pRW50cnkubmFzbQ0KPiA+Pj4gQEAgLTEs NSArMSw3IEBADQo+ID4+PiA7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+Pj4gLS0tLS0tLS0tLS0gOyAgOyBDb3B5 cmlnaHQgKGMpIDIwMTYgLSAyMDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsDQo+ID4+PiByaWdo dHMgcmVzZXJ2ZWQuPEJSPg0KPiA+Pj4gKzsgQ29weXJpZ2h0IChjKSAyMDE3LCBBTUQgSW5jb3Jw b3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4gOw0KPiA+Pj4gOyBUaGlzIHByb2dyYW0g YW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzICA7IGFyZSBsaWNlbnNlZCBhbmQNCj4gPj4+ IG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNE IExpY2Vuc2UgIDsNCj4gPj4+IHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLiAg VGhlIGZ1bGwgdGV4dCBvZiB0aGUgbGljZW5zZQ0KPiA+Pj4gbWF5IGJlIGZvdW5kIGF0IEBAIC0y OSwxMyArMzEsMTQgQEAgIDsgIDsgQ29uc3RhbnRzIHJlbGF0aW5nIHRvDQo+ID4+PiBUWFRfUFJP Q0VTU09SX1NNTV9ERVNDUklQVE9SICA7IC0lZGVmaW5lIERTQ19PRkZTRVQgMHhmYjAwIC0NCj4g JWRlZmluZQ0KPiA+Pj4gRFNDX0dEVFBUUiAweDQ4IC0lZGVmaW5lIERTQ19HRFRTSVogMHg1MCAt JWRlZmluZSBEU0NfQ1MNCj4gPj4+IDB4MTQgLSVkZWZpbmUgRFNDX0RTIDB4MTYgLSVkZWZpbmUg RFNDX1NTIDB4MTggLSVkZWZpbmUNCj4gRFNDX09USEVSU0VHDQo+ID4+PiAweDFhDQo+ID4+PiAr OyAlZGVmaW5lIERTQ19PRkZTRVQgICAweGZiMDANCj4gPj4+ICs7ICVkZWZpbmUgRFNDX0dEVFBU UiAgIDB4NDgNCj4gPj4+ICs7ICVkZWZpbmUgRFNDX0dEVFNJWiAgIDB4NTANCj4gPj4+ICs7DQo+ ID4+PiArJWRlZmluZSAgIERTQ19DUyAgICAgICAweDE0DQo+ID4+PiArJWRlZmluZSAgIERTQ19E UyAgICAgICAweDE2DQo+ID4+PiArJWRlZmluZSAgIERTQ19TUyAgICAgICAweDE4DQo+ID4+PiAr JWRlZmluZSAgIERTQ19PVEhFUlNFRyAweDFhDQo+ID4+PiA7DQo+ID4+PiA7IENvbnN0YW50cyBy ZWxhdGluZyB0byBDUFUgU3RhdGUgU2F2ZSBBcmVhICA7IEBAIC00NCw5ICs0Nyw5IEBADQo+ID4+ Pg0KPiA+Pj4gJWRlZmluZSBQUk9URUNUX01PREVfQ1MgMHg4DQo+ID4+PiAlZGVmaW5lIFBST1RF Q1RfTU9ERV9EUyAweDIwDQo+ID4+PiAtJWRlZmluZSBMT05HX01PREVfQ1MgMHgzOA0KPiA+Pj4g LSVkZWZpbmUgVFNTX1NFR01FTlQgMHg0MA0KPiA+Pj4gLSVkZWZpbmUgR0RUX1NJWkUgMHg1MA0K PiA+Pj4gKyVkZWZpbmUgTE9OR19NT0RFX0NTICAgIDB4MzgNCj4gPj4+ICslZGVmaW5lIFRTU19T RUdNRU5UICAgICAweDQwDQo+ID4+PiArJWRlZmluZSBHRFRfU0laRSAgICAgICAgMHg1MA0KPiA+ Pj4NCj4gPj4+IGV4dGVybiBBU01fUEZYKFNtaVJlbmRlenZvdXMpDQo+ID4+PiBleHRlcm4gQVNN X1BGWChnU3RtU21pSGFuZGxlcklkdHIpDQo+ID4+PiBAQCAtNjEsNiArNjQsMTAgQEAgZ2xvYmFs IEFTTV9QRlgoZ2NTdG1TbWlIYW5kbGVyVGVtcGxhdGUpDQo+IGdsb2JhbA0KPiA+Pj4gQVNNX1BG WChnY1N0bVNtaUhhbmRsZXJTaXplKSAgZ2xvYmFsDQo+IEFTTV9QRlgoZ2NTdG1TbWlIYW5kbGVy T2Zmc2V0KQ0KPiA+Pj4NCj4gPj4+ICtleHRlcm4gQVNNX1BGWChnU3RtUHNkT2Zmc2V0KQ0KPiA+ Pj4gK2dsb2JhbCBBU01fUEZYKGdTdG1HZHRTaXplKQ0KPiA+Pj4gK2dsb2JhbCBBU01fUEZYKGdT dG1HZHRQdHIpDQo+ID4+PiArDQo+ID4+PiBBU01fUEZYKGdTdG1TbWJhc2UpICAgICAgRVFVIFN0 bVNtYmFzZVBhdGNoIC0gNA0KPiA+Pj4gQVNNX1BGWChnU3RtU21pU3RhY2spICAgIEVRVSBTdG1T bWlTdGFja1BhdGNoIC0gNA0KPiA+Pj4gQVNNX1BGWChnU3RtU21pQ3IzKSAgICAgIEVRVSBTdG1T bWlDcjNQYXRjaCAtIDQNCj4gPj4+IEBAIC03MywxMCArODAsMTggQEAgQklUUyAxNg0KPiA+Pj4g QVNNX1BGWChnY1N0bVNtaUhhbmRsZXJUZW1wbGF0ZSk6DQo+ID4+PiBfU3RtU21pRW50cnlQb2lu dDoNCj4gPj4+ICAgICBtb3YgICAgIGJ4LCBfU3RtR2R0RGVzYyAtIF9TdG1TbWlFbnRyeVBvaW50 ICsgMHg4MDAwDQo+ID4+PiAtICAgIG1vdiAgICAgYXgsW2NzOkRTQ19PRkZTRVQgKyBEU0NfR0RU U0laXQ0KPiA+Pj4gKw0KPiA+Pj4gKyAgICBtb3YgICAgIGVheCwgQVNNX1BGWChnU3RtR2R0U2l6 ZSkgICAgIDsgbW92ICAgICBheCwgW2NzOkRTQ19PRkZTRVQgKw0KPiA+Pj4gRFNDX0dEVFNJWl0N Cj4gPj4+ICsgICAgbW92ICAgICBzaSwgW2NzOmVheF0gICAgICAgICAgICAgICAgICA7DQo+ID4+ PiArICAgIG1vdiAgICAgYXgsIFtjczpzaV0gICAgICAgICAgICAgICAgICAgOw0KPiA+Pj4gKw0K PiA+Pj4gICAgIGRlYyAgICAgYXgNCj4gPj4+ICAgICBtb3YgICAgIFtjczpieF0sIGF4DQo+ID4+ PiAtICAgIG1vdiAgICAgZWF4LCBbY3M6RFNDX09GRlNFVCArIERTQ19HRFRQVFJdDQo+ID4+PiAr DQo+ID4+PiArICAgIG1vdiAgICAgZWF4LCBBU01fUEZYKGdTdG1HZHRQdHIpICAgICAgOyBtb3Yg ICAgIGVheCwgW2NzOkRTQ19PRkZTRVQgKw0KPiA+Pj4gRFNDX0dEVFBUUl0NCj4gPj4+ICsgICAg bW92ICAgICBzaSwgW2NzOmVheF0gICAgICAgICAgICAgICAgICA7DQo+ID4+PiArICAgIG1vdiAg ICAgZWF4LCBbY3M6c2ldICAgICAgICAgICAgICAgICAgOw0KPiA+Pj4gKw0KPiA+Pj4gICAgIG1v diAgICAgW2NzOmJ4ICsgMl0sIGVheA0KPiA+Pj4gbzMyIGxnZHQgICAgW2NzOmJ4XSAgICAgICAg ICAgICAgICAgICAgICAgOyBsZ2R0IGZ3b3JkIHB0ciBjczpbYnhdDQo+ID4+PiAgICAgbW92ICAg ICBheCwgUFJPVEVDVF9NT0RFX0NTDQo+ID4+PiBAQCAtMTY2LDcgKzE4MSwxMCBAQCBCYXNlOg0K PiA+Pj4gQExvbmdNb2RlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgbG9uZyBtb2Rl ICg2NC1iaXQgY29kZSkgc3RhcnRzIGhlcmUNCj4gPj4+ICAgICBtb3YgICAgIHJheCwgQVNNX1BG WChnU3RtU21pSGFuZGxlcklkdHIpDQo+ID4+PiAgICAgbGlkdCAgICBbcmF4XQ0KPiA+Pj4gLSAg ICBsZWEgICAgIGVieCwgW3JkaSArIERTQ19PRkZTRVRdDQo+ID4+PiArDQo+ID4+PiArICAgIG1v dnp4ICAgcnNpLCB3b3JkIFtBU01fUEZYKGdTdG1Qc2RPZmZzZXQpXSAgOyBsZWEgICAgIGVieCwg W3JkaSArDQo+ID4+PiBEU0NfT0ZGU0VUXQ0KPiA+Pj4gKyAgICBsZWEgICAgIGVieCwgW3JkaSAr IHJzaV0gICAgICAgICAgICAgICAgICAgIDsNCj4gPj4+ICsNCj4gPj4+ICAgICBtb3YgICAgIGF4 LCBbcmJ4ICsgRFNDX0RTXQ0KPiA+Pj4gICAgIG1vdiAgICAgZHMsIGVheA0KPiA+Pj4gICAgIG1v diAgICAgYXgsIFtyYnggKyBEU0NfT1RIRVJTRUddDQo+ID4+PiBAQCAtMjYyLDUgKzI4MCw4IEBA IF9TdG1TbWlIYW5kbGVyOg0KPiA+Pj4gICAgIDsgU1RNIGluaXQgZmluaXNoDQo+ID4+PiAgICAg am1wICAgICBDb21tb25IYW5kbGVyDQo+ID4+Pg0KPiA+Pj4gK0FTTV9QRlgoZ1N0bUdkdFNpemUp ICAgICAgICAgICA6IFJFU1cgICAgMQ0KPiA+Pj4gK0FTTV9QRlgoZ1N0bUdkdFB0cikgICAgICAg ICAgICA6IFJFU1cgICAgMQ0KPiA+Pj4gKw0KPiA+Pj4gQVNNX1BGWChnY1N0bVNtaUhhbmRsZXJT aXplKSAgIDogRFcgICAgICAkIC0gX1N0bVNtaUVudHJ5UG9pbnQNCj4gPj4+IEFTTV9QRlgoZ2NT dG1TbWlIYW5kbGVyT2Zmc2V0KSA6IERXICAgICAgX1N0bVNtaUhhbmRsZXIgLQ0KPiA+Pj4gX1N0 bVNtaUVudHJ5UG9pbnQNCj4gPj4+IC0tDQo+ID4+PiAyLjcuNA0KPiA+Pg0KDQo=