From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.92.2.42; helo=nam01-sn1-obe.outbound.protection.outlook.com; envelope-from=vanjeff_919@hotmail.com; receiver=edk2-devel@lists.01.org Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-oln040092002042.outbound.protection.outlook.com [40.92.2.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 2FB0A203525E2 for ; Tue, 31 Oct 2017 20:41:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=dXnr5HbeQMoKwMzM7n53LUGl1CLHZ/3dxJ42fRxC/yo=; b=RvxIylFMETWt9JodoF/kTIfSkhJY5VFHGUfJrf1bQE+rO4/QP13tbUpSM9FItmERgQwVSunJqi9ZdGX5al/qx+7aIFG/1WnaDNB16l5TMBHEfj+L5MGV+alnmoG+kH/TrBLz2q1neC/U+2Y6SzSz4rbcZsPgGu6mwpC2ZWwft4s47b3gg17tSEiFxgYyndtC9GMW9kArs9Anl1TL0R+UibAuZ+m0UKpZJgV7RzXSEedLUhaQAfSjaLhNmwid9hswPAKhCwMiq/xyvDTPSgxXFn41obH58bTkrDoueySCiMvxunHRQtXVhBCvhVYJqso36u965vqiE3HmzldOFUg4gw== Received: from BY2NAM01FT062.eop-nam01.prod.protection.outlook.com (10.152.68.56) by BY2NAM01HT140.eop-nam01.prod.protection.outlook.com (10.152.69.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.178.5; Wed, 1 Nov 2017 03:45:49 +0000 Received: from CY1PR19MB0283.namprd19.prod.outlook.com (10.152.68.60) by BY2NAM01FT062.mail.protection.outlook.com (10.152.69.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.178.5 via Frontend Transport; Wed, 1 Nov 2017 03:45:49 +0000 Received: from CY1PR19MB0283.namprd19.prod.outlook.com ([10.163.54.13]) by CY1PR19MB0283.namprd19.prod.outlook.com ([10.163.54.13]) with mapi id 15.20.0178.014; Wed, 1 Nov 2017 03:45:49 +0000 From: Fan Jeff To: "Wang, Jian J" , "Yao, Jiewen" , "edk2-devel@lists.01.org" CC: "Kinney, Michael D" , "Dong, Eric" , "Zeng, Star" Thread-Topic: [PATCH 3/3] UefiCpuPkg/CpuExceptionHandlerLib: Add stack switch support Thread-Index: AQHTUrSw3pJrU3cRZEmMYx4YdaVISaL+y3RDgAAG1oCAAAFSOIAABF6AgAABAoCAAAb6vQ== Date: Wed, 1 Nov 2017 03:45:48 +0000 Message-ID: References: <20171031142412.21680-1-jian.j.wang@intel.com> <20171031142412.21680-4-jian.j.wang@intel.com>, <74D8A39837DF1E4DA445A8C0B3885C503AA0AED6@shsmsx102.ccr.corp.intel.com> , , In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=hotmail.com; x-incomingtopheadermarker: OriginalChecksum:166E9691EB3C6DECFAF69342751DBFAA1C5D114C2E24A35E99AF67F31CA0F0E6; UpperCasedChecksum:52F2BB3B79C5D0154CDAF4C06B9D0DEDEEE25AE232F8559DF492FDEE0F82323D; SizeAsReceived:7863; Count:47 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [OL5LycwbFXUKA/uz0BFMTU8/ZGQg+6nB] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; BY2NAM01HT140; 6:6NspZeM3puajwyPnNAdiRJFNvFSaVH8dDuDyi+YRub/5dW36CZxQWlBq6RgiHRcnFoRooX253NbJmw4Ko/5ZKKY7YfyApmCr2BMlDRWHFCXJE7qC5+EZmM0bLeqChI8VixyKlAAjvqjoCWFr5XxXkiyQ0j6e3BzKbJ9fKxgOofOuRmiIEgHAsHdFmMHTexD6jop1ko4Hb60zw6aNc3JAa/TJXFZbQGGWZ6pAKyf2Ij1b6Mx8bX59bQ6c98yrZKHFcNg7kp8iuGeUStI8qBFuum99hd0blk0piWU8cn/JFgACIPQ0irLUsh9VrYgcjTDzHCB+ymHaEd40eETm+xbCvTzGIRxeBf+9xNOFtFmuM0w=; 5:7R0vN1DytfJCt/tYYlrSL2mu1cWbNPDuPb1TSfrohD/NebdUbcuecDm+wRG1RdfTnH5qnZS4EiQkPjRvfQ+jxpFtGIBhzyYDTcSv/4nBtSdwVYCB+fDHSq5+B/qWO7OF1h7vS4lZopBmOTbofAqvuFnOWQZU1yl/6FsNLp16FJI=; 24:FZzy5zdRh+tf5YjI4pmrp6e1bdJbFwPScbUu/y9kvo1irGsylWjGd9pA0W49QEI7M1t3AbfNaviv4oSzvojsR/97UWrAC7A65tP7Z56YeSU=; 7:gRPKb9TPJ54pVLazQ6yMPrdRXZbkcK3M1fnvpz++bJotzxwBFy1wvOVzoNo5I3DvYrdJffoc57q4G9iE5nkpoIFH5jmmNkt47i6ylpxvxwye6sdnSKlXPDYslJWFKs61cCw88sxfytN/epblbCAAPJjKJi0WbRyNf97n6fL7UqYxPUQDGkoAiWVJ1/pO23APKrmjlcYxbVTzDS+G3PEv2QIVkMboncCjeDTztzOtRTBt6zMswz6LKPqRFcZrJAZa x-incomingheadercount: 47 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: 899c341e-d6b5-4c9e-a69c-08d520db0a94 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201702061074)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322404)(1601125374)(1603101448)(1701031045); SRVR:BY2NAM01HT140; x-ms-traffictypediagnostic: BY2NAM01HT140: x-exchange-antispam-report-test: UriScan:(788757137089)(162533806227266)(130873036417446)(194151415913766)(21748063052155)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(444000031); SRVR:BY2NAM01HT140; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2NAM01HT140; x-forefront-prvs: 0478C23FE0 x-forefront-antispam-report: SFV:NSPM; SFS:(7070007)(98901004); DIR:OUT; SFP:1901; SCL:1; SRVR:BY2NAM01HT140; H:CY1PR19MB0283.namprd19.prod.outlook.com; FPR:; SPF:None; LANG:; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-Network-Message-Id: 899c341e-d6b5-4c9e-a69c-08d520db0a94 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Nov 2017 03:45:48.8827 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2NAM01HT140 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: =?UTF-8?B?562U5aSNOiBbUEFUQ0ggMy8zXSBVZWZpQ3B1UGtnL0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWI6IEFkZCBzdGFjayBzd2l0Y2ggc3VwcG9ydA==?= 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: Wed, 01 Nov 2017 03:42:00 -0000 Content-Language: zh-CN Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SmlhbiwNCg0KWW91IGFyZSByaWdodCEgVGhlIGV4Y2VwdGlvbiBoYW5kbGVyIHNldHVwIGluIER4 ZUlwbFBlaW0gZG9lcyBub3QgbmVlZCBzdGFjayBhdCBhbGwuIFRoYW5rcyB5b3VyIGNsYXJpZmlj YXRpb24uDQoNCkplZmYNCg0Kt6K8/sjLOiBXYW5nLCBKaWFuIEo8bWFpbHRvOmppYW4uai53YW5n QGludGVsLmNvbT4NCreiy83KsbzkOiAyMDE3xOoxMdTCMcjVIDExOjEyDQrK1bz+yMs6IFdhbmcs IEppYW4gSjxtYWlsdG86amlhbi5qLndhbmdAaW50ZWwuY29tPjsgRmFuIEplZmY8bWFpbHRvOnZh bmplZmZfOTE5QGhvdG1haWwuY29tPjsgWWFvLCBKaWV3ZW48bWFpbHRvOmppZXdlbi55YW9AaW50 ZWwuY29tPjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMu MDEub3JnPg0Ks63LzTogS2lubmV5LCBNaWNoYWVsIEQ8bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlA aW50ZWwuY29tPjsgRG9uZywgRXJpYzxtYWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT47IFplbmcs IFN0YXI8bWFpbHRvOnN0YXIuemVuZ0BpbnRlbC5jb20+DQrW98ziOiBSRTogW1BBVENIIDMvM10g VWVmaUNwdVBrZy9DcHVFeGNlcHRpb25IYW5kbGVyTGliOiBBZGQgc3RhY2sgc3dpdGNoIHN1cHBv cnQNCg0KSmVmZiwNCg0KU29ycnkgZm9yIHRoZSBtaXN1bmRlcnN0YW5kaW5nLiBJIHRoaW5rIHN0 YWNrIHN3aXRjaCBjYW5ub3Qgd29yayB3aXRoIE5VTEwgZXhjZXB0aW9uIGhhbmRsZXIuIEJ1dCB3 aXRob3V0IGV4Y2VwdGlvbiBoYW5kbGVyLCB3aGF0IGRvIHdlIG5lZWQgc3RhY2sgc3dpdGNoIGZv cj8NCg0KVGhhbmtzLA0KSmlhbg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLWJvdW5jZXNAbGlzdHMuMDEub3JnXSBP biBCZWhhbGYgT2YgV2FuZywNCj4gSmlhbiBKDQo+IFNlbnQ6IFdlZG5lc2RheSwgTm92ZW1iZXIg MDEsIDIwMTcgMTE6MDkgQU0NCj4gVG86IEZhbiBKZWZmIDx2YW5qZWZmXzkxOUBob3RtYWlsLmNv bT47IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47DQo+IGVkazItZGV2ZWxAbGlz dHMuMDEub3JnDQo+IENjOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRl bC5jb20+OyBEb25nLCBFcmljDQo+IDxlcmljLmRvbmdAaW50ZWwuY29tPjsgWmVuZywgU3RhciA8 c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyXSBbUEFUQ0ggMy8zXSBV ZWZpQ3B1UGtnL0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWI6IEFkZCBzdGFjaw0KPiBzd2l0Y2ggc3Vw cG9ydA0KPg0KPiBKZWZmLA0KPg0KPiBTdGFjayBndWFyZCB3aWxsIHN0aWxsIHdvcmsuIEJ1dCB0 aGUgZGV2ZWxvcGVyIGNhbm5vdCBrbm93IHdoYXShr3MgZ29pbmcgb24NCj4gd2l0aG91dCBleGNl cHRpb24gZHVtcGluZyBtZXNzYWdlIHdoZW4gc3RhY2sgb3ZlcmZsb3cgb2NjdXJzLg0KPg0KPiBU aGFua3MsDQo+IEppYW4NCj4NCj4gRnJvbTogRmFuIEplZmYgW21haWx0bzp2YW5qZWZmXzkxOUBo b3RtYWlsLmNvbV0NCj4gU2VudDogV2VkbmVzZGF5LCBOb3ZlbWJlciAwMSwgMjAxNyAxMDo1OSBB TQ0KPiBUbzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBZYW8sIEppZXdl biA8amlld2VuLnlhb0BpbnRlbC5jb20+Ow0KPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiBD YzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgRG9uZywg RXJpYw0KPiA8ZXJpYy5kb25nQGludGVsLmNvbT47IFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRl bC5jb20+DQo+IFN1YmplY3Q6ILTwuLQ6IFtQQVRDSCAzLzNdIFVlZmlDcHVQa2cvQ3B1RXhjZXB0 aW9uSGFuZGxlckxpYjogQWRkIHN0YWNrDQo+IHN3aXRjaCBzdXBwb3J0DQo+DQo+IEppYW4sDQo+ DQo+IE5vLiBJIHN1Z2dlc3QgdG8gZml4ICMxMDkgaW4gYW5vdGhlciBzZXBhcmF0ZSBwYXRjaC4N Cj4NCj4gQnV0IHRvIGZpeCAjMTA5LCB3ZSBoYXZlIHRvIG1ha2VzIHN1cmUgQXNtV3JpdGVUcigp IGFuZCBzb21lIGRlZmluaXRpb25zIGFyZSBpbg0KPiBNZGVQa2cuDQo+IEJ1dCBJIGhhdmUgbm8g c3Ryb25nIG9waW5pb24gdG8gYWRkIHRoZW0gaW50byBNZGVQa2cgaW4gdGhpcyBwYXRjaC4NCj4N Cj4gSSBoYXZlIGFub3RoZXIgcXVlc3Rpb246IElmIE5VTEwgQ1BVIGV4Y2VwdGlvbiBoYW5kbGVy IGluc3RhbmNlIGlzIGNob3NlbiwNCj4gY291bGQgU3RhY2sgU3dpdGNoIHdvcmsgaWYgUENEIFBj ZENwdVN0YWNrR3VhcmQgaXMgc2V0IHRvIFRSVUUuDQo+DQo+IFRoYW5rcyENCj4gSmVmZg0KPg0K PiC3orz+yMs6IFdhbmcsIEppYW4gSjxtYWlsdG86amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiC3 osvNyrG85DogMjAxN8TqMTHUwjHI1SAxMDo0OA0KPiDK1bz+yMs6IEZhbiBKZWZmPG1haWx0bzp2 YW5qZWZmXzkxOUBob3RtYWlsLmNvbT47IFlhbywNCj4gSmlld2VuPG1haWx0bzpqaWV3ZW4ueWFv QGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLQ0KPiBkZXZl bEBsaXN0cy4wMS5vcmc+DQo+ILOty806IEtpbm5leSwgTWljaGFlbCBEPG1haWx0bzptaWNoYWVs LmQua2lubmV5QGludGVsLmNvbT47IERvbmcsDQo+IEVyaWM8bWFpbHRvOmVyaWMuZG9uZ0BpbnRl bC5jb20+OyBaZW5nLCBTdGFyPG1haWx0bzpzdGFyLnplbmdAaW50ZWwuY29tPg0KPiDW98ziOiBS RTogW1BBVENIIDMvM10gVWVmaUNwdVBrZy9DcHVFeGNlcHRpb25IYW5kbGVyTGliOiBBZGQgc3Rh Y2sgc3dpdGNoDQo+IHN1cHBvcnQNCj4NCj4gSGkgSmVmZiwNCj4NCj4gVGhhbmtzIGZvciB0aGUg ZmVlZGJhY2suIEFyZSB5b3Ugc3VnZ2VzdGluZyB0byBmaXggQnVnemlsbGEgMTA5IGluIHRoaXMg cGF0Y2g/DQo+DQo+IFRoYW5rcywNCj4gSmlhbg0KPg0KPiBGcm9tOiBGYW4gSmVmZiBbbWFpbHRv OnZhbmplZmZfOTE5QGhvdG1haWwuY29tXQ0KPiBTZW50OiBXZWRuZXNkYXksIE5vdmVtYmVyIDAx LCAyMDE3IDEwOjMzIEFNDQo+IFRvOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb208 bWFpbHRvOmppZXdlbi55YW9AaW50ZWwuY29tPj47DQo+IFdhbmcsIEppYW4gSiA8amlhbi5qLndh bmdAaW50ZWwuY29tPG1haWx0bzpqaWFuLmoud2FuZ0BpbnRlbC5jb20+PjsgZWRrMi0NCj4gZGV2 ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4gQ2M6IEtp bm5leSwgTWljaGFlbCBEDQo+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbTxtYWlsdG86bWlj aGFlbC5kLmtpbm5leUBpbnRlbC5jb20+PjsgRG9uZywgRXJpYw0KPiA8ZXJpYy5kb25nQGludGVs LmNvbTxtYWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT4+OyBaZW5nLCBTdGFyDQo+IDxzdGFyLnpl bmdAaW50ZWwuY29tPG1haWx0bzpzdGFyLnplbmdAaW50ZWwuY29tPj4NCj4gU3ViamVjdDogtPC4 tDogW1BBVENIIDMvM10gVWVmaUNwdVBrZy9DcHVFeGNlcHRpb25IYW5kbGVyTGliOiBBZGQgc3Rh Y2sNCj4gc3dpdGNoIHN1cHBvcnQNCj4NCj4gUGVyIGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3Jl Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5LCBUUiBzaG91bGQgYmUgc2V0dXANCj4gKFN1Y2ggYXMg aW4gRHhlSXBsUGVpbSkgZXZlbiB0aG91Z2ggTlVMTCBDcHUgRXhjZXB0aW9uIEhhbmRsZXIgaW5z dGFuY2UgaXMNCj4gY2hvc2VuLg0KPg0KPiBGb3IgbG9uZyB0ZXJtLCBJIGFncmVlIHdlIG5lZWQg dG8gbW92ZSBBc21Xcml0ZVRyLA0KPiBJQTMyX1RBU0tfU1RBVEVfU0VHTUVOVCwgSUEzMl9UU1Nf REVTQ1JJUFRPUiB0byBNZGVQa2coU3VjaCBhcw0KPiBCYXNlTGliKQ0KPiBGb3IgdGhpcyBwYXRj aCwgSSBoYXZlIG5vIHN0cm9uZyBvcGluaW9uLg0KPg0KPg0KPiC3orz+yMs6IFlhbywgSmlld2Vu PG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gt6LLzcqxvOQ6IDIwMTfE6jEx1MIxyNUg OTo1Ng0KPiDK1bz+yMs6IFdhbmcsIEppYW4gSjxtYWlsdG86amlhbi5qLndhbmdAaW50ZWwuY29t PjsgZWRrMi0NCj4gZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAx Lm9yZz4NCj4gs63LzTogS2lubmV5LCBNaWNoYWVsIEQ8bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlA aW50ZWwuY29tPjsgRG9uZywNCj4gRXJpYzxtYWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT47IFpl bmcsIFN0YXI8bWFpbHRvOnN0YXIuemVuZ0BpbnRlbC5jb20+DQo+INb3zOI6IFJlOiBbZWRrMl0g W1BBVENIIDMvM10gVWVmaUNwdVBrZy9DcHVFeGNlcHRpb25IYW5kbGVyTGliOiBBZGQgc3RhY2sN Cj4gc3dpdGNoIHN1cHBvcnQNCj4NCj4gSGkgSmlhbg0KPiBUaGFua3MgZm9yIHRoZSBwYXRjaC4N Cj4NCj4gQ2FuIHdlIG1vdmUgYWxsIElBMzIgZGVmaW5lZCBkYXRhIHN0cnVjdHVyZSBvciBmdW5j dGlvbiB0byBNZGVQa2c/DQo+IFN1Y2ggYXM6IEFzbVdyaXRlVHIsIElBMzJfVEFTS19TVEFURV9T RUdNRU5ULCBJQTMyX1RTU19ERVNDUklQVE9SDQo+DQo+IEkgYW0gYWxzbyBjdXJpb3VzIHdoeSB3 ZSB1c2UgZGlmZmVyZW50IHBvbGljeSBmb3Igb3RoZXIgYm9vdCBtb2RlLg0KPiBDYW4gd2UgdXNl IGNvbnNpc3RlbnQgcG9saWN5Pw0KPiA+ICsgIGlmIChQY2RHZXRCb29sIChQY2RDcHVTdGFja0d1 YXJkKSkgew0KPiA+ICsgICAgLy8NCj4gPiArICAgIC8vIFN0YWNrIEd1YXJkIHdvcmtzIHdpdGgg dGhlIHN1cHBvcnQgb2YgcGFnZSB0YWJsZSBlc3RhYmxpc2hlZCBhbmQNCj4gPiArICAgIC8vIG1l bW9yeSBtYW5hZ2VtZW50LiBTbyB3ZSBoYXZlIHRvIGV4Y2x1ZGUgdGhvc2UgYm9vdCBtb2Rlcw0K PiA+IHdpdGhvdXQNCj4gPiArICAgIC8vIHRoZW0uDQo+ID4gKyAgICAvLw0KPiA+ICsgICAgc3dp dGNoIChHZXRCb290TW9kZUhvYigpKSB7DQo+ID4gKyAgICBjYXNlIEJPT1RfT05fRkxBU0hfVVBE QVRFOg0KPiA+ICsgICAgY2FzZSBCT09UX0lOX1JFQ09WRVJZX01PREU6DQo+ID4gKyAgICBjYXNl IEJPT1RfT05fUzNfUkVTVU1FOg0KPiA+ICsgICAgICBicmVhazsNCj4gPiArDQo+ID4gKyAgICBk ZWZhdWx0Og0KPiA+ICsgICAgICBBcmNoU2V0dXBFeGNwZXRpb25TdGFjayAoSWR0VGFibGUpOw0K PiA+ICsgICAgICBicmVhazsNCj4gPiArICAgIH0NCj4gPiArICB9DQo+DQo+DQo+IFRoYW5rIHlv dQ0KPiBZYW8gSmlld2VuDQo+DQo+DQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g PiBGcm9tOiBXYW5nLCBKaWFuIEoNCj4gPiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDMxLCAyMDE3 IDEwOjI0IFBNDQo+ID4gVG86IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRl dmVsQGxpc3RzLjAxLm9yZz4NCj4gPiBDYzogWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNv bTxtYWlsdG86c3Rhci56ZW5nQGludGVsLmNvbT4+OyBEb25nLA0KPiBFcmljIDxlcmljLmRvbmdA aW50ZWwuY29tPG1haWx0bzplcmljLmRvbmdAaW50ZWwuY29tPj47IFlhbywNCj4gPiBKaWV3ZW4g PGppZXdlbi55YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT4+OyBLaW5u ZXksDQo+IE1pY2hhZWwgRA0KPiA+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbTxtYWlsdG86 bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Pg0KPiA+IFN1YmplY3Q6IFtQQVRDSCAzLzNdIFVl ZmlDcHVQa2cvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYjogQWRkIHN0YWNrIHN3aXRjaA0KPiA+IHN1 cHBvcnQNCj4gPg0KPiA+IElmIFN0YWNrIEd1YXJkIGlzIGVuYWJsZWQgYW5kIHRoZXJlJ3MgcmVh bGx5IGEgc3RhY2sgb3ZlcmZsb3cgaGFwcGVuZWQgZHVyaW5nDQo+ID4gYm9vdCwgYSBQYWdlIEZh dWx0IGV4Y2VwdGlvbiB3aWxsIGJlIHRyaWdnZXJlZC4gQmVjYXVzZSB0aGUgc3RhY2sgaXMgb3V0 IG9mDQo+ID4gdXNhZ2UsIHRoZSBleGNlcHRpb24gaGFuZGxlciwgd2hpY2ggc2hhcmVzIHRoZSBz dGFjayB3aXRoIG5vcm1hbCBVRUZJIGRyaXZlciwNCj4gPiBjYW5ub3QgYmUgZXhlY3V0ZWQgYW5k IGNhbm5vdCBkdW1wIHRoZSBwcm9jZXNzb3IgaW5mb3JtYXRpb24uDQo+ID4NCj4gPiBXaXRob3V0 IHRob3NlIGluZm9ybWF0aW9uLCBpdCdzIHZlcnkgZGlmZmljdWx0IGZvciB0aGUgQklPUyBkZXZl bG9wZXJzIGxvY2F0ZQ0KPiA+IHRoZSByb290IGNhdXNlIG9mIHN0YWNrIG92ZXJmbG93LiBBbmQg d2l0aG91dCBhIHdvcmthYmxlIHN0YWNrLCB0aGUgZGV2ZWxvcGVyDQo+ID4gY2Fubm90IGV2ZW50 IHVzZSBzaW5nbGUgc3RlcCB0byBkZWJ1ZyB0aGUgVUVGSSBkcml2ZXIgd2l0aCBKVEFHIGRlYnVn Z2VyLg0KPiA+DQo+ID4gSW4gb3JkZXIgdG8gbWFrZSBzdXJlIHRoZSBleGNlcHRpb24gaGFuZGxl ciB0byBleGVjdXRlIG5vcm1hbGx5IGFmdGVyIHN0YWNrDQo+ID4gb3ZlcmZsb3cuIFdlIG5lZWQg c2VwYXJhdGUgc3RhY2tzIGZvciBleGNlcHRpb24gaGFuZGxlcnMgaW4gY2FzZSBvZiB1bnVzYWJs ZQ0KPiA+IHN0YWNrLg0KPiA+DQo+ID4gSUEgcHJvY2Vzc29yIGFsbG93cyB0byBzd2l0Y2ggdG8g YSBuZXcgc3RhY2sgZHVyaW5nIGhhbmRsaW5nIGludGVycnVwdCBhbmQNCj4gPiBleGNlcHRpb24u IEJ1dCBYNjQgYW5kIElBMzIgcHJvdmlkZXMgZGlmZmVyZW50IHdheXMgdG8gbWFrZSBpdC4gWDY0 IHByb3ZpZGVzDQo+ID4gaW50ZXJydXB0IHN0YWNrIHRhYmxlIChJU1QpIHRvIGFsbG93IG1heGlt dW0gNyBkaWZmZXJlbnQgZXhjZXB0aW9ucyB0byBoYXZlDQo+ID4gbmV3IHN0YWNrIGZvciBpdHMg aGFuZGxlci4gSUEzMiBkb2Vzbid0IGhhdmUgSVNUIG1lY2hhbmlzbSBhbmQgY2FuIG9ubHkgdXNl DQo+ID4gdGFzayBnYXRlIHRvIGRvIGl0IHNpbmNlIHRhc2sgc3dpdGNoIGFsbG93cyB0byBsb2Fk IGEgbmV3IHN0YWNrIHRocm91Z2ggaXRzDQo+ID4gdGFzay1zdGF0ZSBzZWdtZW50IChUU1MpLg0K PiA+DQo+ID4gTm90ZTogU3RhY2sgc3dpdGNoIG5lZWRzIHRvIGFsbG9jYXRlIG1lbW9yeSBwYWdl cyB0byBiZSBuZXcgc3RhY2tzLiBTbyB0aGlzDQo+ID4gICAgICAgZnVuY3Rpb25hbGl0eSB3b3Jr cyBvbmx5IGluIHRoZSBib290IHBoYXNlcyBjYXBhYmxlIG9mIG1lbW9yeQ0KPiA+ICAgICAgIGFs bG9jYXRpb24gKGJlc2lkZXMgdGhlIHBhZ2luZywgZm9yIHRoZSBzYWtlIG9mIFN0YWNrIEd1YXJk KS4gSW4NCj4gPiAgICAgICBvdGhlciB3b3Jkcywgb25seSBEWEUgcGhhc2UgY2FuIHN1cHBvcnRz IFN0YWNrIEd1YXJkIHdpdGggc3RhY2sgc3dpdGNoLg0KPiA+DQo+ID4gQ2M6IFN0YXIgWmVuZyA8 c3Rhci56ZW5nQGludGVsLmNvbTxtYWlsdG86c3Rhci56ZW5nQGludGVsLmNvbT4+DQo+ID4gQ2M6 IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbTxtYWlsdG86ZXJpYy5kb25nQGludGVsLmNv bT4+DQo+ID4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3 ZW4ueWFvQGludGVsLmNvbT4+DQo+ID4gQ2M6IE1pY2hhZWwgS2lubmV5DQo+IDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbTxtYWlsdG86bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Pg0KPiA+ IFN1Z2dlc3RlZC1ieTogQXllbGxldCBXb2xtYW4NCj4gPGF5ZWxsZXQud29sbWFuQGludGVsLmNv bTxtYWlsdG86YXllbGxldC53b2xtYW5AaW50ZWwuY29tPj4NCj4gPiBDb250cmlidXRlZC11bmRl cjogVGlhbm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4xDQo+ID4gU2lnbmVkLW9mZi1i eTogSmlhbiBKIFdhbmcNCj4gPGppYW4uai53YW5nQGludGVsLmNvbTxtYWlsdG86amlhbi5qLndh bmdAaW50ZWwuY29tPj4NCj4gPiAtLS0NCj4gPiAgLi4uL0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIv Q3B1RXhjZXB0aW9uQ29tbW9uLmggICAgfCAgMjIgKysNCj4gPiAgLi4uL0R4ZUNwdUV4Y2VwdGlv bkhhbmRsZXJMaWIuaW5mICAgICAgICAgICAgICAgICAgfCAgIDUgKw0KPiA+ICAuLi4vTGlicmFy eS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0R4ZUV4Y2VwdGlvbi5jICB8ICAxOSArDQo+ID4gIC4u Li9JYTMyL0FyY2hFeGNlcHRpb25IYW5kbGVyLmMgICAgICAgICAgICAgICAgICAgIHwgMTM1ICsr KysrKysNCj4gPiAgLi4uL0lhMzIvQXJjaEludGVycnVwdERlZnMuaCAgICAgICAgICAgICAgICAg ICAgICAgfCAxMzYgKysrKysrKw0KPiA+ICAuLi4vSWEzMi9FeGNlcHRpb25Uc3NFbnRyeUFzbS5u YXNtICAgICAgICAgICAgICAgICB8IDM5OA0KPiA+ICsrKysrKysrKysrKysrKysrKysrKw0KPiA+ ICAuLi4vUGVpQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi5pbmYgICAgICAgICAgICAgICAgICB8ICAg MSArDQo+ID4gIC4uLi9TZWNQZWlDcHVFeGNlcHRpb25IYW5kbGVyTGliLmluZiAgICAgICAgICAg ICAgIHwgICAzICsNCj4gPiAgLi4uL1NtbUNwdUV4Y2VwdGlvbkhhbmRsZXJMaWIuaW5mICAgICAg ICAgICAgICAgICAgfCAgIDEgKw0KPiA+ICAuLi4vWDY0L0FyY2hFeGNlcHRpb25IYW5kbGVyLmMg ICAgICAgICAgICAgICAgICAgICB8IDEwOCArKysrKysNCj4gPiAgLi4uL0NwdUV4Y2VwdGlvbkhh bmRsZXJMaWIvWDY0L0FyY2hJbnRlcnJ1cHREZWZzLmggfCAgNDAgKysrDQo+ID4gIC4uLi9YNjQv RXhjZXB0aW9uSGFuZGxlckFzbS5TICAgICAgICAgICAgICAgICAgICAgIHwgIDEyICsNCj4gPiAg Li4uL1g2NC9FeGNlcHRpb25IYW5kbGVyQXNtLmFzbSAgICAgICAgICAgICAgICAgICAgfCAgMTIg Kw0KPiA+ICAuLi4vWDY0L0V4Y2VwdGlvbkhhbmRsZXJBc20ubmFzbSAgICAgICAgICAgICAgICAg ICB8ICAxMiArDQo+ID4gIDE0IGZpbGVzIGNoYW5nZWQsIDkwNCBpbnNlcnRpb25zKCspDQo+ID4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+DQo+IFVlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRp b25IYW5kbGVyTGliL0lhMzIvRXhjZXB0aW9uVHNzRW50cnlBc20ubmFzbQ0KPiA+DQo+ID4gZGlm ZiAtLWdpdA0KPiA+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIv Q3B1RXhjZXB0aW9uQ29tbW9uLmgNCj4gPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRp b25IYW5kbGVyTGliL0NwdUV4Y2VwdGlvbkNvbW1vbi5oDQo+ID4gaW5kZXggNzQwYTU4ODI4Yi4u ZmQ0YTI2YTQ1OCAxMDA2NDQNCj4gPiAtLS0gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0 aW9uSGFuZGxlckxpYi9DcHVFeGNlcHRpb25Db21tb24uaA0KPiA+ICsrKyBiL1VlZmlDcHVQa2cv TGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0NwdUV4Y2VwdGlvbkNvbW1vbi5oDQo+ID4g QEAgLTI1LDYgKzI1LDcgQEANCj4gPiAgI2luY2x1ZGUgPExpYnJhcnkvQmFzZU1lbW9yeUxpYi5o Pg0KPiA+ICAjaW5jbHVkZSA8TGlicmFyeS9TeW5jaHJvbml6YXRpb25MaWIuaD4NCj4gPiAgI2lu Y2x1ZGUgPExpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi5oPg0KPiA+ICsjaW5jbHVkZSA8 TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmg+DQo+ID4NCj4gPiAgI2RlZmluZSAgQ1BVX0VY Q0VQVElPTl9OVU0gICAgICAgICAgMzINCj4gPiAgI2RlZmluZSAgQ1BVX0lOVEVSUlVQVF9OVU0g ICAgICAgICAyNTYNCj4gPiBAQCAtMjg4LDUgKzI4OSwyNiBAQCBDb21tb25FeGNlcHRpb25IYW5k bGVyV29ya2VyICgNCj4gPiAgICBJTiBFWENFUFRJT05fSEFORExFUl9EQVRBICAgICAgKkV4Y2Vw dGlvbkhhbmRsZXJEYXRhDQo+ID4gICAgKTsNCj4gPg0KPiA+ICsvKioNCj4gPiArICBMb2FkIGdp dmVuIHNlbGVjdG9yIGludG8gVFIgcmVnaXN0ZXINCj4gPiArDQo+ID4gKyAgQHBhcmFtIFNlbGVj dG9yICAgICAgICAgVGFzayBzZWdtZW50IHNlbGVjdG9yDQo+ID4gKyoqLw0KPiA+ICtWT0lEDQo+ ID4gK0FzbVdyaXRlVHIgKA0KPiA+ICsgIFVJTlQxNiBTZWxlY3Rvcg0KPiA+ICsgICk7DQo+ID4g Kw0KPiA+ICsvKioNCj4gPiArICBTZXR1cCBzZXBhcmF0ZSBzdGFjayBmb3Igc3BlY2lmaWMgZXhj ZXB0aW9ucy4NCj4gPiArDQo+ID4gKyAgQHBhcmFtW2luXSBJZHRUYWJsZSAgICAgICAgSURUIHRh YmxlIGJhc2UuDQo+ID4gKyoqLw0KPiA+ICtWT0lEDQo+ID4gK0VGSUFQSQ0KPiA+ICtBcmNoU2V0 dXBFeGNwZXRpb25TdGFjayAoDQo+ID4gKyAgSU4gSUEzMl9JRFRfR0FURV9ERVNDUklQVE9SICAg ICAgICAgICAqSWR0VGFibGUNCj4gPiArICApOw0KPiA+ICsNCj4gPiAgI2VuZGlmDQo+ID4NCj4g PiBkaWZmIC0tZ2l0DQo+ID4NCj4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFu ZGxlckxpYi9EeGVDcHVFeGNlcHRpb25IYW5kbGVyTGliLmluZg0KPiA+DQo+IGIvVWVmaUNwdVBr Zy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvRHhlQ3B1RXhjZXB0aW9uSGFuZGxlckxp Yi5pbmYNCj4gPiBpbmRleCBmNGE4ZDAxYzgwLi5iMDk5ZWY0ZGFkIDEwMDY0NA0KPiA+IC0tLQ0K PiA+DQo+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvRHhlQ3B1 RXhjZXB0aW9uSGFuZGxlckxpYi5pbmYNCj4gPiArKysNCj4gPg0KPiBiL1VlZmlDcHVQa2cvTGli cmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0R4ZUNwdUV4Y2VwdGlvbkhhbmRsZXJMaWIuaW5m DQo+ID4gQEAgLTMwLDYgKzMwLDcgQEANCj4gPiAgW1NvdXJjZXMuSWEzMl0NCj4gPiAgICBJYTMy L0V4Y2VwdGlvbkhhbmRsZXJBc20uYXNtDQo+ID4gICAgSWEzMi9FeGNlcHRpb25IYW5kbGVyQXNt Lm5hc20NCj4gPiArICBJYTMyL0V4Y2VwdGlvblRzc0VudHJ5QXNtLm5hc20NCj4gPiAgICBJYTMy L0V4Y2VwdGlvbkhhbmRsZXJBc20uUw0KPiA+ICAgIElhMzIvQXJjaEV4Y2VwdGlvbkhhbmRsZXIu Yw0KPiA+ICAgIElhMzIvQXJjaEludGVycnVwdERlZnMuaA0KPiA+IEBAIC00Nyw2ICs0OCw5IEBA DQo+ID4gICAgUGVpRHhlU21tQ3B1RXhjZXB0aW9uLmMNCj4gPiAgICBEeGVFeGNlcHRpb24uYw0K PiA+DQo+ID4gK1tQY2RdDQo+ID4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZENwdVN0YWNrR3VhcmQNCj4gPiArDQo+ID4gIFtQYWNrYWdlc10NCj4gPiAgICBNZGVQa2cvTWRl UGtnLmRlYw0KPiA+ICAgIE1kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQo+ID4gQEAgLTYx LDMgKzY1LDQgQEANCj4gPiAgICBQZUNvZmZHZXRFbnRyeVBvaW50TGliDQo+ID4gICAgTWVtb3J5 QWxsb2NhdGlvbkxpYg0KPiA+ICAgIERlYnVnTGliDQo+ID4gKyAgSG9iTGliDQo+ID4gZGlmZiAt LWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0R4ZUV4Y2Vw dGlvbi5jDQo+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9E eGVFeGNlcHRpb24uYw0KPiA+IGluZGV4IDMxZmViZWM5NzYuLmU5ZGNkMDBlMDIgMTAwNjQ0DQo+ ID4gLS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvRHhlRXhj ZXB0aW9uLmMNCj4gPiArKysgYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxl ckxpYi9EeGVFeGNlcHRpb24uYw0KPiA+IEBAIC0xNiw2ICsxNiw3IEBADQo+ID4gICNpbmNsdWRl ICJDcHVFeGNlcHRpb25Db21tb24uaCINCj4gPiAgI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIu aD4NCj4gPiAgI2luY2x1ZGUgPExpYnJhcnkvTWVtb3J5QWxsb2NhdGlvbkxpYi5oPg0KPiA+ICsj aW5jbHVkZSA8TGlicmFyeS9Ib2JMaWIuaD4NCj4gPg0KPiA+ICBDT05TVCBVSU5UTiAgICBtRG9G YXJSZXR1cm5GbGFnICA9IDA7DQo+ID4NCj4gPiBAQCAtMTU1LDYgKzE1NiwyNCBAQCBJbml0aWFs aXplQ3B1SW50ZXJydXB0SGFuZGxlcnMgKA0KPiA+DQo+ID4gICAgVXBkYXRlSWR0VGFibGUgKElk dFRhYmxlLCAmVGVtcGxhdGVNYXAsICZtRXhjZXB0aW9uSGFuZGxlckRhdGEpOw0KPiA+DQo+ID4g KyAgaWYgKFBjZEdldEJvb2wgKFBjZENwdVN0YWNrR3VhcmQpKSB7DQo+ID4gKyAgICAvLw0KPiA+ ICsgICAgLy8gU3RhY2sgR3VhcmQgd29ya3Mgd2l0aCB0aGUgc3VwcG9ydCBvZiBwYWdlIHRhYmxl IGVzdGFibGlzaGVkIGFuZA0KPiA+ICsgICAgLy8gbWVtb3J5IG1hbmFnZW1lbnQuIFNvIHdlIGhh dmUgdG8gZXhjbHVkZSB0aG9zZSBib290IG1vZGVzDQo+ID4gd2l0aG91dA0KPiA+ICsgICAgLy8g dGhlbS4NCj4gPiArICAgIC8vDQo+ID4gKyAgICBzd2l0Y2ggKEdldEJvb3RNb2RlSG9iKCkpIHsN Cj4gPiArICAgIGNhc2UgQk9PVF9PTl9GTEFTSF9VUERBVEU6DQo+ID4gKyAgICBjYXNlIEJPT1Rf SU5fUkVDT1ZFUllfTU9ERToNCj4gPiArICAgIGNhc2UgQk9PVF9PTl9TM19SRVNVTUU6DQo+ID4g KyAgICAgIGJyZWFrOw0KPiA+ICsNCj4gPiArICAgIGRlZmF1bHQ6DQo+ID4gKyAgICAgIEFyY2hT ZXR1cEV4Y3BldGlvblN0YWNrIChJZHRUYWJsZSk7DQo+ID4gKyAgICAgIGJyZWFrOw0KPiA+ICsg ICAgfQ0KPiA+ICsgIH0NCj4gPiArDQo+ID4gICAgLy8NCj4gPiAgICAvLyBMb2FkIEludGVycnVw dCBEZXNjcmlwdG9yIFRhYmxlDQo+ID4gICAgLy8NCj4gPiBkaWZmIC0tZ2l0DQo+ID4gYS9VZWZp Q3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9JYTMyL0FyY2hFeGNlcHRpb25I YW5kbGVyLmMNCj4gPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGli L0lhMzIvQXJjaEV4Y2VwdGlvbkhhbmRsZXIuYw0KPiA+IGluZGV4IGYyYzM5ZWIxOTMuLjNkNDFk Zjc1YTUgMTAwNjQ0DQo+ID4gLS0tDQo+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlv bkhhbmRsZXJMaWIvSWEzMi9BcmNoRXhjZXB0aW9uSGFuZGxlci5jDQo+ID4gKysrDQo+ID4gYi9V ZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9JYTMyL0FyY2hFeGNlcHRp b25IYW5kbGVyLmMNCj4gPiBAQCAtMTQsNiArMTQsMTkgQEANCj4gPg0KPiA+ICAjaW5jbHVkZSAi Q3B1RXhjZXB0aW9uQ29tbW9uLmgiDQo+ID4NCj4gPiArLy8NCj4gPiArLy8gTGlzdCBvZiBleGNl cHRpb25zIG5lZWRpbmcgc2VwYXJhdGUgc3RhY2sNCj4gPiArLy8NCj4gPiArU1RBVElDIElBMzJf RVhDRVBUSU9OX1RTX0VOVFJZIG1FeGNlcHRpb25zV2l0aFN0YWNrW10gPSB7DQo+ID4gKyAgezYs ICBFeGNlcHRpb25UYXNrU3d0aWNoRW50cnk2fSwgIC8vI1VEOiBJbnZhbGlkIE9wY29kZSBFeGNl cHRpb24NCj4gPiArICB7OCwgIEV4Y2VwdGlvblRhc2tTd3RpY2hFbnRyeTh9LCAgLy8jREY6IERv dWJsZSBGYXVsdCBFeGNlcHRpb24NCj4gPiArICB7MTIsIEV4Y2VwdGlvblRhc2tTd3RpY2hFbnRy eTEyfSwgLy8jU1M6IFN0YWNrIEZhdWx0IEV4Y2VwdGlvbg0KPiA+ICsgIHsxMywgRXhjZXB0aW9u VGFza1N3dGljaEVudHJ5MTN9LCAvLyNHUDogR2VuZXJhbCBQcm90ZWN0aW9uIEV4Y2VwdGlvbg0K PiA+ICsgIHsxNCwgRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5MTR9LCAvLyNQRjogUGFnZS1GYXVs dCBFeGNlcHRpb24NCj4gPiArICB7MTcsIEV4Y2VwdGlvblRhc2tTd3RpY2hFbnRyeTE3fSwgLy8j QUM6IEFsaWdubWVudCBDaGVjayBFeGNlcHRpb24NCj4gPiArICB7MTgsIEV4Y2VwdGlvblRhc2tT d3RpY2hFbnRyeTE4fSAgLy8jTUM6IE1hY2hpbmUtQ2hlY2sgRXhjZXB0aW9uDQo+ID4gK307DQo+ ID4gKw0KPiA+ICAvKioNCj4gPiAgICBSZXR1cm4gYWRkcmVzcyBtYXAgb2YgZXhjZXB0aW9uIGhh bmRsZXIgdGVtcGxhdGUgc28gdGhhdCBDIGNvZGUgY2FuDQo+ID4gZ2VuZXJhdGUNCj4gPiAgICBl eGNlcHRpb24gdGFibGVzLg0KPiA+IEBAIC0xMDcsNiArMTIwLDEyOCBAQCBBcmNoUmVzdG9yZUV4 Y2VwdGlvbkNvbnRleHQgKA0KPiA+ICAgIFN5c3RlbUNvbnRleHQuU3lzdGVtQ29udGV4dElhMzIt PkV4Y2VwdGlvbkRhdGEgPQ0KPiA+IFJlc2VydmVkVmVjdG9yc1tFeGNlcHRpb25UeXBlXS5FeGNl cHRpb25EYXRhOw0KPiA+ICB9DQo+ID4NCj4gPiArLyoqDQo+ID4gKyAgU2V0dXAgc2VwYXJhdGUg c3RhY2sgZm9yIHNwZWNpZmljIGV4Y2VwdGlvbnMuDQo+ID4gKw0KPiA+ICsgICBAcGFyYW1baW5d IElkdFRhYmxlICAgICAgICBJRFQgdGFibGUgYmFzZS4NCj4gPiArKiovDQo+ID4gK1ZPSUQNCj4g PiArRUZJQVBJDQo+ID4gK0FyY2hTZXR1cEV4Y3BldGlvblN0YWNrICgNCj4gPiArICBJTiBJQTMy X0lEVF9HQVRFX0RFU0NSSVBUT1IgICAgICAgICAgICpJZHRUYWJsZQ0KPiA+ICsgICkNCj4gPiAr ew0KPiA+ICsgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgKk5ld0dkdDsNCj4gPiArICBJQTMy X0RFU0NSSVBUT1IgICAgICAgICAgIEdkdERlc2M7DQo+ID4gKyAgVUlOVE4gICAgICAgICAgICAg ICAgICAgICBPbGRHZHRTaXplOw0KPiA+ICsgIFRTU19FTlRSSUVTICAgICAgICAgICAgICAgKlRz c0VudHJ5Ow0KPiA+ICsgIElBMzJfVFNTX0RFU0NSSVBUT1IgICAgICAgKlRzc0Rlc2M7DQo+ID4g KyAgSUEzMl9UQVNLX1NUQVRFX1NFR01FTlQgICAqVHNzOw0KPiA+ICsgIFVJTlROICAgICAgICAg ICAgICAgICAgICAgU3RhY2tCYXNlOw0KPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAg U3RhY2tUb3A7DQo+ID4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBTdGFja1NpemU7DQo+ ID4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBJbmRleDsNCj4gPiArICBVSU5UTiAgICAg ICAgICAgICAgICAgICAgIFZlY3RvcjsNCj4gPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAg IFRzc0Jhc2U7DQo+ID4gKw0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gQWxsb2NhdGUgUnVudGltZSBE YXRhIGZvciB0aGUgR0RUDQo+ID4gKyAgLy8NCj4gPiArICBBc21SZWFkR2R0cigmR2R0RGVzYyk7 DQo+ID4gKyAgT2xkR2R0U2l6ZSA9IEdkdERlc2MuTGltaXQgKyAxOw0KPiA+ICsgIE5ld0dkdCA9 IEFsbG9jYXRlUnVudGltZVplcm9Qb29sKE9sZEdkdFNpemUgKyBzaXplb2YoVFNTX0VOVFJJRVMp DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBJQTMyX0dEVF9BTElH Tk1FTlQpOw0KPiA+ICsgIGlmIChOZXdHZHQgPT0gTlVMTCkgew0KPiA+ICsgICAgcmV0dXJuOw0K PiA+ICsgIH0NCj4gPiArICBOZXdHZHQgPSBBTElHTl9QT0lOVEVSIChOZXdHZHQsIElBMzJfR0RU X0FMSUdOTUVOVCk7DQo+ID4gKw0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gSW5pdGlhbGl6ZSBuZXcg R0RUIGVudHJpZXMNCj4gPiArICAvLw0KPiA+ICsgIENvcHlNZW0oTmV3R2R0LCAoVk9JRCAqKUdk dERlc2MuQmFzZSwgT2xkR2R0U2l6ZSk7DQo+ID4gKyAgR2R0RGVzYy5CYXNlID0gKFVJTlROKShW T0lEKilOZXdHZHQ7DQo+ID4gKyAgR2R0RGVzYy5MaW1pdCA9IChVSU5UMTYpKE9sZEdkdFNpemUg KyBUU1NfT0ZGU0VUIC0gMSk7DQo+ID4gKw0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gUmVzZXJ2ZSBz dGF0Y2sgbWVtb3J5IGZvciBnaXZlbiBleGNlcHRpb25zDQo+ID4gKyAgLy8NCj4gPiArICBTdGFj a1NpemUgPSBBUlJBWV9TSVpFIChtRXhjZXB0aW9uc1dpdGhTdGFjaykgKiBFWENFUFRJT05fU1RB Q0tfU0laRTsNCj4gPiArICBTdGFja1NpemUgPSBFRklfUEFHRVNfVE9fU0laRSAoRUZJX1NJWkVf VE9fUEFHRVMgKFN0YWNrU2l6ZSkpOw0KPiA+ICsgIFN0YWNrQmFzZSA9IChVSU5UNjQpKFVJTlRO KUFsbG9jYXRlUGFnZXMgKEVGSV9TSVpFX1RPX1BBR0VTDQo+ID4gKFN0YWNrU2l6ZSkpOw0KPiA+ ICsgIGlmIChTdGFja0Jhc2UgPT0gMCkgew0KPiA+ICsgICAgRnJlZVBvb2wgKE5ld0dkdCk7DQo+ ID4gKyAgICByZXR1cm47DQo+ID4gKyAgfQ0KPiA+ICsNCj4gPiArICAvLw0KPiA+ICsgIC8vIEZp eHVwIFRTUyBkZXNjcmlwdG9ycyBhbmQgc2VnbWVudHMNCj4gPiArICAvLw0KPiA+ICsgIFRzc0Vu dHJ5ID0gKFZPSUQgKikoR2R0RGVzYy5CYXNlICsgT2xkR2R0U2l6ZSk7DQo+ID4gKw0KPiA+ICsg IFRzc0Jhc2UgPSAoVUlOVE4pKFZPSUQgKikmVHNzRW50cnktPlRzczsNCj4gPiArICBUc3NFbnRy eS0+VHNzU2VnLkxpbWl0MTVfMCAgICAgICAgICAgID0NCj4gPiBzaXplb2YoSUEzMl9UQVNLX1NU QVRFX1NFR01FTlQpIC0gMTsNCj4gPiArICBUc3NFbnRyeS0+VHNzU2VnLkJhc2UxNV8wICAgICAg ICAgICAgID0gKFVJTlQxNilUc3NCYXNlOw0KPiA+ICsgIFRzc0VudHJ5LT5Uc3NTZWcuQmFzZTIz XzE2ICAgICAgICAgICAgPSAoVUlOVDgpKFRzc0Jhc2UgPj4gMTYpOw0KPiA+ICsgIFRzc0VudHJ5 LT5Uc3NTZWcuVHlwZSAgICAgICAgICAgICAgICAgPSBJQTMyX0dEVF9UWVBFX1RTUzsNCj4gPiAr ICBUc3NFbnRyeS0+VHNzU2VnLkxpbWl0MTlfMTZfYW5kX2ZsYWdzID0gMDsNCj4gPiArICBUc3NF bnRyeS0+VHNzU2VnLkJhc2UzMV8yNCAgICAgICAgICAgID0gKFVJTlQ4KShUc3NCYXNlID4+IDI0 KTsNCj4gPiArDQo+ID4gKyAgU3RhY2tUb3AgID0gU3RhY2tCYXNlICsgU3RhY2tTaXplIC0gQ1BV X1NUQUNLX0FMSUdOTUVOVDsNCj4gPiArICBTdGFja1RvcCAgPSAoVUlOVE4pQUxJR05fUE9JTlRF UiAoU3RhY2tUb3AsIENQVV9TVEFDS19BTElHTk1FTlQpOw0KPiA+ICsgIGZvciAoSW5kZXggPSAw OyBJbmRleCA8IEFSUkFZX1NJWkUgKG1FeGNlcHRpb25zV2l0aFN0YWNrKTsgKytJbmRleCkgew0K PiA+ICsgICAgLy8NCj4gPiArICAgIC8vIEZpeHVwIFRTUyBkZXNjcmlwdG9yDQo+ID4gKyAgICAv Lw0KPiA+ICsgICAgVHNzQmFzZSA9IChVSU5UTikoVk9JRCAqKSZUc3NFbnRyeS0+RXhjZXB0aW9u VHNzW0luZGV4XTsNCj4gPiArICAgIFRzc0Rlc2MgPSAmVHNzRW50cnktPkV4Y2VwdGlvblRzc1Nl Z1tJbmRleF07DQo+ID4gKw0KPiA+ICsgICAgVHNzRGVzYy0+TGltaXQxNV8wICAgICAgICAgICAg PSBzaXplb2YoSUEzMl9UQVNLX1NUQVRFX1NFR01FTlQpIC0gMTsNCj4gPiArICAgIFRzc0Rlc2Mt PkJhc2UxNV8wICAgICAgICAgICAgID0gKFVJTlQxNilUc3NCYXNlOw0KPiA+ICsgICAgVHNzRGVz Yy0+QmFzZTIzXzE2ICAgICAgICAgICAgPSAoVUlOVDgpKFRzc0Jhc2UgPj4gMTYpOw0KPiA+ICsg ICAgVHNzRGVzYy0+VHlwZSAgICAgICAgICAgICAgICAgPSBJQTMyX0dEVF9UWVBFX1RTUzsNCj4g PiArICAgIFRzc0Rlc2MtPkxpbWl0MTlfMTZfYW5kX2ZsYWdzID0gMDsNCj4gPiArICAgIFRzc0Rl c2MtPkJhc2UzMV8yNCAgICAgICAgICAgID0gKFVJTlQ4KShUc3NCYXNlID4+IDI0KTsNCj4gPiAr DQo+ID4gKyAgICAvLw0KPiA+ICsgICAgLy8gRml4dXAgVFNTDQo+ID4gKyAgICAvLw0KPiA+ICsg ICAgVHNzID0gJlRzc0VudHJ5LT5FeGNlcHRpb25Uc3NbSW5kZXhdOw0KPiA+ICsgICAgVHNzLT5D UjMgICAgPSBBc21SZWFkQ3IzKCk7DQo+ID4gKyAgICBUc3MtPkVJUCAgICA9IChVSU5UMzIpbUV4 Y2VwdGlvbnNXaXRoU3RhY2tbSW5kZXhdLkVudHJ5UG9pbnQ7DQo+ID4gKyAgICBUc3MtPkVGTEFH UyA9IDB4MjsNCj4gPiArICAgIFRzcy0+RVNQICAgID0gU3RhY2tUb3A7DQo+ID4gKyAgICBUc3Mt PkVTICAgICA9IEFzbVJlYWRFcygpOw0KPiA+ICsgICAgVHNzLT5DUyAgICAgPSBBc21SZWFkQ3Mo KTsNCj4gPiArICAgIFRzcy0+U1MgICAgID0gQXNtUmVhZFNzKCk7DQo+ID4gKyAgICBUc3MtPkRT ICAgICA9IEFzbVJlYWREcygpOw0KPiA+ICsgICAgVHNzLT5GUyAgICAgPSBBc21SZWFkRnMoKTsN Cj4gPiArICAgIFRzcy0+R1MgICAgID0gQXNtUmVhZEdzKCk7DQo+ID4gKyAgICBTdGFja1RvcCAg IC09IEVYQ0VQVElPTl9TVEFDS19TSVpFOw0KPiA+ICsNCj4gPiArICAgIC8vDQo+ID4gKyAgICAv LyBDaGFuZ2Ugc3BlY2lmaWVkIGV4Y2VwdGlvbnMgaW4gSURUIHRvIHVzZSBUU1MNCj4gPiArICAg IC8vDQo+ID4gKyAgICBWZWN0b3IgPSBtRXhjZXB0aW9uc1dpdGhTdGFja1tJbmRleF0uVmVjdG9y Ow0KPiA+ICsNCj4gPiArICAgIElkdFRhYmxlW1ZlY3Rvcl0uQml0cy5PZmZzZXRMb3cgID0gMDsN Cj4gPiArICAgIElkdFRhYmxlW1ZlY3Rvcl0uQml0cy5TZWxlY3RvciAgID0gT2xkR2R0U2l6ZSAr DQo+ID4gRVhDRVBUSU9OX1RTU19TRUwoSW5kZXgpOw0KPiA+ICsgICAgSWR0VGFibGVbVmVjdG9y XS5CaXRzLlJlc2VydmVkXzAgPSAwOw0KPiA+ICsgICAgSWR0VGFibGVbVmVjdG9yXS5CaXRzLkdh dGVUeXBlICAgPSBJQTMyX0lEVF9HQVRFX1RZUEVfVEFTSzsNCj4gPiArICAgIElkdFRhYmxlW1Zl Y3Rvcl0uQml0cy5PZmZzZXRIaWdoID0gMDsNCj4gPiArICB9DQo+ID4gKw0KPiA+ICsgIC8vDQo+ ID4gKyAgLy8gUHVibGlzaCB0aGUgY2hhbmdlcw0KPiA+ICsgIC8vDQo+ID4gKyAgQXNtV3JpdGVH ZHRyKCZHZHREZXNjKTsNCj4gPiArDQo+ID4gKyAgLy8NCj4gPiArICAvLyBMb2FkIHRhc2sgcmVn aXN0ZXINCj4gPiArICAvLw0KPiA+ICsgIEFzbVdyaXRlVHIgKChVSU5UMTYpKE9sZEdkdFNpemUg KyBUU1NfU0VMKSk7DQo+ID4gK30NCj4gPiArDQo+ID4gIC8qKg0KPiA+ICAgIERpc3BsYXkgcHJv Y2Vzc29yIGNvbnRleHQuDQo+ID4NCj4gPiBkaWZmIC0tZ2l0DQo+ID4gYS9VZWZpQ3B1UGtnL0xp YnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9JYTMyL0FyY2hJbnRlcnJ1cHREZWZzLmgNCj4g PiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0lhMzIvQXJjaElu dGVycnVwdERlZnMuaA0KPiA+IGluZGV4IGE4ZDM1NTZhODAuLjc3Y2M2Zjk5MTkgMTAwNjQ0DQo+ ID4gLS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvSWEzMi9B cmNoSW50ZXJydXB0RGVmcy5oDQo+ID4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2Vw dGlvbkhhbmRsZXJMaWIvSWEzMi9BcmNoSW50ZXJydXB0RGVmcy5oDQo+ID4gQEAgLTQxLDQgKzQx LDE0MCBAQCB0eXBlZGVmIHN0cnVjdCB7DQo+ID4gICAgVUlOVDggICAgICAgSG9va0FmdGVyU3R1 YkhlYWRlckNvZGVbSE9PS0FGVEVSX1NUVUJfU0laRV07DQo+ID4gIH0gUkVTRVJWRURfVkVDVE9S U19EQVRBOw0KPiA+DQo+ID4gKyNwcmFnbWEgcGFjayAoMSkNCj4gPiArDQo+ID4gKyNkZWZpbmUg RVhDRVBUSU9OX0xJU1RfTUFYICAgICAgICAgIDcNCj4gPiArI2RlZmluZSBFWENFUFRJT05fU1RB Q0tfU0laRSAgICAgICAgRUZJX1BBR0VfU0laRQ0KPiA+ICsjZGVmaW5lIElBMzJfR0RUX1RZUEVf VFNTICAgICAgICAgICAweDg5DQo+ID4gKyNkZWZpbmUgSUEzMl9HRFRfQUxJR05NRU5UICAgICAg ICAgIDgNCj4gPiArDQo+ID4gKy8vDQo+ID4gKy8vIElBMzIgVFNTIERlZmluaXRpb24NCj4gPiAr Ly8NCj4gPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ICsgIFVJTlQxNiAgICBQcmV2aW91c1Rhc2tM aW5rOyAvLyAwMA0KPiA+ICsgIFVJTlQxNiAgICBSZXNlcnZlZF8yOw0KPiA+ICsgIFVJTlQzMiAg ICBFU1AwOyAgICAgICAgICAgICAvLyAwNA0KPiA+ICsgIFVJTlQxNiAgICBTUzA7ICAgICAgICAg ICAgICAvLyAwOA0KPiA+ICsgIFVJTlQxNiAgICBSZXNlcnZlZF8xMDsNCj4gPiArICBVSU5UMzIg ICAgRVNQMTsgICAgICAgICAgICAgLy8gMEMNCj4gPiArICBVSU5UMTYgICAgU1MxOyAgICAgICAg ICAgICAgLy8gMTANCj4gPiArICBVSU5UMTYgICAgUmVzZXJ2ZWRfMTg7DQo+ID4gKyAgVUlOVDMy ICAgIEVTUDI7ICAgICAgICAgICAgIC8vIDE0DQo+ID4gKyAgVUlOVDE2ICAgIFNTMjsgICAgICAg ICAgICAgIC8vIDE4DQo+ID4gKyAgVUlOVDE2ICAgIFJlc2VydmVkXzI2Ow0KPiA+ICsgIFVJTlQz MiAgICBDUjM7ICAgICAgICAgICAgICAvLyAxQw0KPiA+ICsgIFVJTlQzMiAgICBFSVA7ICAgICAg ICAgICAgICAvLyAyMA0KPiA+ICsgIFVJTlQzMiAgICBFRkxBR1M7ICAgICAgICAgICAvLyAyNA0K PiA+ICsgIFVJTlQzMiAgICBFQVg7ICAgICAgICAgICAgICAvLyAyOA0KPiA+ICsgIFVJTlQzMiAg ICBFQ1g7ICAgICAgICAgICAgICAvLyAyQw0KPiA+ICsgIFVJTlQzMiAgICBFRFg7ICAgICAgICAg ICAgICAvLyAzMA0KPiA+ICsgIFVJTlQzMiAgICBFQlg7ICAgICAgICAgICAgICAvLyAzNA0KPiA+ ICsgIFVJTlQzMiAgICBFU1A7ICAgICAgICAgICAgICAvLyAzOA0KPiA+ICsgIFVJTlQzMiAgICBF QlA7DQo+ID4gKyAgVUlOVDMyICAgIEVTSTsNCj4gPiArICBVSU5UMzIgICAgRURJOw0KPiA+ICsg IFVJTlQxNiAgICBFUzsNCj4gPiArICBVSU5UMTYgICAgUmVzZXJ2ZWRfNzQ7DQo+ID4gKyAgVUlO VDE2ICAgIENTOw0KPiA+ICsgIFVJTlQxNiAgICBSZXNlcnZlZF83ODsNCj4gPiArICBVSU5UMTYg ICAgU1M7DQo+ID4gKyAgVUlOVDE2ICAgIFJlc2VydmVkXzgyOw0KPiA+ICsgIFVJTlQxNiAgICBE UzsNCj4gPiArICBVSU5UMTYgICAgUmVzZXJ2ZWRfODY7DQo+ID4gKyAgVUlOVDE2ICAgIEZTOw0K PiA+ICsgIFVJTlQxNiAgICBSZXNlcnZlZF85MDsNCj4gPiArICBVSU5UMTYgICAgR1M7DQo+ID4g KyAgVUlOVDE2ICAgIFJlc2VydmVkXzk0Ow0KPiA+ICsgIFVJTlQxNiAgICBMRFRTZWdtZW50U2Vs ZWN0b3I7DQo+ID4gKyAgVUlOVDE2ICAgIFJlc2VydmVkXzk4Ow0KPiA+ICsgIFVJTlQxNiAgICBU Ow0KPiA+ICsgIFVJTlQxNiAgICBJT01hcEJhc2VBZGRyZXNzOw0KPiA+ICt9IElBMzJfVEFTS19T VEFURV9TRUdNRU5UOw0KPiA+ICsNCj4gPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ICsgIFVJTlQx NiAgICBMaW1pdDE1XzA7DQo+ID4gKyAgVUlOVDE2ICAgIEJhc2UxNV8wOw0KPiA+ICsgIFVJTlQ4 ICAgICBCYXNlMjNfMTY7DQo+ID4gKyAgVUlOVDggICAgIFR5cGU7DQo+ID4gKyAgVUlOVDggICAg IExpbWl0MTlfMTZfYW5kX2ZsYWdzOw0KPiA+ICsgIFVJTlQ4ICAgICBCYXNlMzFfMjQ7DQo+ID4g K30gSUEzMl9UU1NfREVTQ1JJUFRPUjsNCj4gPiArDQo+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4g PiArICBJQTMyX1RTU19ERVNDUklQVE9SICAgICAgICAgICBUc3NTZWc7DQo+ID4gKyAgSUEzMl9U U1NfREVTQ1JJUFRPUiAgICAgICAgICAgRXhjZXB0aW9uVHNzU2VnW0VYQ0VQVElPTl9MSVNUX01B WF07DQo+ID4gKyAgSUEzMl9UQVNLX1NUQVRFX1NFR01FTlQgICAgICAgVHNzOw0KPiA+ICsgIElB MzJfVEFTS19TVEFURV9TRUdNRU5UICAgICAgIEV4Y2VwdGlvblRzc1tFWENFUFRJT05fTElTVF9N QVhdOw0KPiA+ICt9IFRTU19FTlRSSUVTOw0KPiA+ICsNCj4gPiArI3ByYWdtYSBwYWNrICgpDQo+ ID4gKw0KPiA+ICsjZGVmaW5lIFRTU19TRUwgICAgICAgICAgICAgICBPRkZTRVRfT0YgKFRTU19F TlRSSUVTLCBUc3NTZWcpDQo+ID4gKyNkZWZpbmUgRVhDRVBUSU9OX1RTU19TRUwobikgIE9GRlNF VF9PRiAoVFNTX0VOVFJJRVMsDQo+ID4gRXhjZXB0aW9uVHNzU2VnW25dKQ0KPiA+ICsjZGVmaW5l IFRTU19PRkZTRVQgICAgICAgICAgICBPRkZTRVRfT0YgKFRTU19FTlRSSUVTLCBUc3MpDQo+ID4g Kw0KPiA+ICt0eXBlZGVmIFZPSUQgKCpFWENFUFRJT05fRU5UUlkpIChWT0lEKTsNCj4gPiArDQo+ ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiArICBVSU5UTiAgICAgICAgICAgICBWZWN0b3I7DQo+ ID4gKyAgRVhDRVBUSU9OX0VOVFJZICAgRW50cnlQb2ludDsNCj4gPiArfSBJQTMyX0VYQ0VQVElP Tl9UU19FTlRSWTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgRXhjZXB0aW9uIGhhbmRsaW5nIGVu dHJ5IHRocm91Z2ggdGFzayBnYXRlIGZvciBleGNlcHRpb24gI1VELg0KPiA+ICsgKiovDQo+ID4g K1ZPSUQNCj4gPiArRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5NiAoDQo+ID4gKyAgVk9JRA0KPiA+ ICsgICk7DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArIEV4Y2VwdGlvbiBoYW5kbGluZyBlbnRyeSB0 aHJvdWdoIHRhc2sgZ2F0ZSBmb3IgZXhjZXB0aW9uICNERi4NCj4gPiArICoqLw0KPiA+ICtWT0lE DQo+ID4gK0V4Y2VwdGlvblRhc2tTd3RpY2hFbnRyeTggKA0KPiA+ICsgIFZPSUQNCj4gPiArICAp Ow0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyBFeGNlcHRpb24gaGFuZGxpbmcgZW50cnkgdGhyb3Vn aCB0YXNrIGdhdGUgZm9yIGV4Y2VwdGlvbiAjU1MuDQo+ID4gKyAqKi8NCj4gPiArVk9JRA0KPiA+ ICtFeGNlcHRpb25UYXNrU3d0aWNoRW50cnkxMiAoDQo+ID4gKyAgVk9JRA0KPiA+ICsgICk7DQo+ ID4gKw0KPiA+ICsvKioNCj4gPiArIEV4Y2VwdGlvbiBoYW5kbGluZyBlbnRyeSB0aHJvdWdoIHRh c2sgZ2F0ZSBmb3IgZXhjZXB0aW9uICNHUC4NCj4gPiArICoqLw0KPiA+ICtWT0lEDQo+ID4gK0V4 Y2VwdGlvblRhc2tTd3RpY2hFbnRyeTEzICgNCj4gPiArICBWT0lEDQo+ID4gKyAgKTsNCj4gPiAr DQo+ID4gKy8qKg0KPiA+ICsgRXhjZXB0aW9uIGhhbmRsaW5nIGVudHJ5IHRocm91Z2ggdGFzayBn YXRlIGZvciBleGNlcHRpb24gI1BGLg0KPiA+ICsgKiovDQo+ID4gK1ZPSUQNCj4gPiArRXhjZXB0 aW9uVGFza1N3dGljaEVudHJ5MTQgKA0KPiA+ICsgIFZPSUQNCj4gPiArICApOw0KPiA+ICsNCj4g PiArLyoqDQo+ID4gKyBFeGNlcHRpb24gaGFuZGxpbmcgZW50cnkgdGhyb3VnaCB0YXNrIGdhdGUg Zm9yIGV4Y2VwdGlvbiAjQUMuDQo+ID4gKyAqKi8NCj4gPiArVk9JRA0KPiA+ICtFeGNlcHRpb25U YXNrU3d0aWNoRW50cnkxNyAoDQo+ID4gKyAgVk9JRA0KPiA+ICsgICk7DQo+ID4gKw0KPiA+ICsv KioNCj4gPiArIEV4Y2VwdGlvbiBoYW5kbGluZyBlbnRyeSB0aHJvdWdoIHRhc2sgZ2F0ZSBmb3Ig ZXhjZXB0aW9uICNNQy4NCj4gPiArICoqLw0KPiA+ICtWT0lEDQo+ID4gK0V4Y2VwdGlvblRhc2tT d3RpY2hFbnRyeTE4ICgNCj4gPiArICBWT0lEDQo+ID4gKyAgKTsNCj4gPiArDQo+ID4gICNlbmRp Zg0KPiA+IGRpZmYgLS1naXQNCj4gPg0KPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRp b25IYW5kbGVyTGliL0lhMzIvRXhjZXB0aW9uVHNzRW50cnlBc20ubmFzDQo+ID4gbQ0KPiA+DQo+ IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvSWEzMi9FeGNlcHRp b25Uc3NFbnRyeUFzbS5uYXMNCj4gPiBtDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBp bmRleCAwMDAwMDAwMDAwLi5kYmZiY2ZjZjUxDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKw0K PiA+DQo+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvSWEzMi9F eGNlcHRpb25Uc3NFbnRyeUFzbS5uYXMNCj4gPiBtDQo+ID4gQEAgLTAsMCArMSwzOTggQEANCj4g PiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSA7DQo+ID4gKzsgQ29weXJpZ2h0IChjKSAyMDE3LCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gKzsgVGhpcyBw cm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KPiA+ICs7IGFyZSBsaWNlbnNl ZCBhbmQgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRo ZSBCU0QNCj4gPiBMaWNlbnNlDQo+ID4gKzsgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmli dXRpb24uICBUaGUgZnVsbCB0ZXh0IG9mIHRoZSBsaWNlbnNlIG1heSBiZQ0KPiBmb3VuZA0KPiA+ IGF0DQo+ID4gKzsgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBo cC4NCj4gPiArOw0KPiA+ICs7IFRIRSBQUk9HUkFNIElTIERJU1RSSUJVVEVEIFVOREVSIFRIRSBC U0QgTElDRU5TRSBPTiBBTiAiQVMgSVMiDQo+IEJBU0lTLA0KPiA+ICs7IFdJVEhPVVQgV0FSUkFO VElFUyBPUiBSRVBSRVNFTlRBVElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUg0KPiBFWFBSRVNTDQo+ ID4gT1IgSU1QTElFRC4NCj4gPiArOw0KPiA+ICs7IE1vZHVsZSBOYW1lOg0KPiA+ICs7DQo+ID4g KzsgICBFeGNlcHRpb25Uc3NFbnRyeUFzbS5Bc20NCj4gPiArOw0KPiA+ICs7IEFic3RyYWN0Og0K PiA+ICs7DQo+ID4gKzsgICBJQTMyIENQVSBFeGNlcHRpb24gSGFuZGxlciB3aXRoIFNlcGFyYXRl IFN0YWNrDQo+ID4gKzsNCj4gPiArOyBOb3RlczoNCj4gPiArOw0KPiA+ICs7LS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+ID4gKw0KPiA+ICs7DQo+ID4gKzsgSUEzMiBUU1MgTWVtb3J5IExheW91dCBE ZXNjcmlwdGlvbg0KPiA+ICs7DQo+ID4gK3N0cnVjIElBMzJfVFNTDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgcmVzdyAxDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgcmVzdyAxDQo+ID4gKyAg LkVTUDA6ICAgIHJlc2QgMQ0KPiA+ICsgIC5TUzA6ICAgICByZXN3IDENCj4gPiArICAgICAgICAg ICAgICAgICAgICByZXN3IDENCj4gPiArICAuRVNQMTogICAgcmVzZCAxDQo+ID4gKyAgLlNTMTog ICAgIHJlc3cgMQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgIHJlc3cgMQ0KPiA+ICsgIC5FU1Ay OiAgICByZXNkIDENCj4gPiArICAuU1MyOiAgICAgcmVzdyAxDQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgcmVzdyAxDQo+ID4gKyAgLl9DUjM6ICAgIHJlc2QgMQ0KPiA+ICsgIC5FSVA6ICAgICBy ZXNkIDENCj4gPiArICAuRUZMQUdTOiAgcmVzZCAxDQo+ID4gKyAgLl9FQVg6ICAgIHJlc2QgMQ0K PiA+ICsgIC5fRUNYOiAgICByZXNkIDENCj4gPiArICAuX0VEWDogICAgcmVzZCAxDQo+ID4gKyAg Ll9FQlg6ICAgIHJlc2QgMQ0KPiA+ICsgIC5fRVNQOiAgICByZXNkIDENCj4gPiArICAuX0VCUDog ICAgcmVzZCAxDQo+ID4gKyAgLl9FU0k6ICAgIHJlc2QgMQ0KPiA+ICsgIC5fRURJOiAgICByZXNk IDENCj4gPiArICAuX0VTOiAgICAgcmVzdyAxDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgcmVz dyAxDQo+ID4gKyAgLl9DUzogICAgIHJlc3cgMQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgIHJl c3cgMQ0KPiA+ICsgIC5fU1M6ICAgICByZXN3IDENCj4gPiArICAgICAgICAgICAgICAgICAgICBy ZXN3IDENCj4gPiArICAuX0RTOiAgICAgcmVzdyAxDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg cmVzdyAxDQo+ID4gKyAgLl9GUzogICAgIHJlc3cgMQ0KPiA+ICsgICAgICAgICAgICAgICAgICAg IHJlc3cgMQ0KPiA+ICsgIC5fR1M6ICAgICByZXN3IDENCj4gPiArICAgICAgICAgICAgICAgICAg ICByZXN3IDENCj4gPiArICAuTERUOiAgICAgcmVzdyAxDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgcmVzdyAxDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgcmVzdyAxDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgcmVzdyAxDQo+ID4gK2VuZHN0cnVjDQo+ID4gKw0KPiA+ICs7DQo+ID4gKzsg Q29tbW9uRXhjZXB0aW9uSGFuZGxlcigpDQo+ID4gKzsNCj4gPiArZXh0ZXJuIEFTTV9QRlgoQ29t bW9uRXhjZXB0aW9uSGFuZGxlcikNCj4gPiArDQo+ID4gK1NFQ1RJT04gLmRhdGENCj4gPiArDQo+ ID4gK1NFQ1RJT04gLnRleHQNCj4gPiArDQo+ID4gK0FMSUdOICAgOA0KPiA+ICsNCj4gPiArOw0K PiA+ICs7IGV4Y2VwdGlvbiBoYW5kbGVyIHN0dWIgdGFibGUNCj4gPiArOw0KPiA+ICslbWFjcm8g RGVmRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5IDENCj4gPiArJSVEb0lyZXQ6DQo+ID4gKyAgICBp cmV0ZA0KPiA+ICsNCj4gPiArZ2xvYmFsIEFTTV9QRlgoRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5 JTEpDQo+ID4gK0FTTV9QRlgoRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5JTEpOg0KPiA+ICsgICAg ZGIgICAgICAweDZhICAgICAgICA7IHB1c2ggICNWZWN0b3JOdW0NCj4gPiArICAgIGRiICAgICAg JTEgICAgICAgICAgOyBWZWN0b3JOdW0NCj4gPiArICAgIG1vdiAgICAgZWF4LCBBU01fUEZYKENv bW1vblRhc2tTd3RpY2hFbnRyeVBvaW50KQ0KPiA+ICsgICAgY2FsbCAgICBlYXgNCj4gPiArICAg IG1vdiAgICAgZXNwLCBlYXggICAgOyBSZXN0b3JlIHN0YWNrIHRvcA0KPiA+ICsgICAgam1wICAg ICAlJURvSXJldA0KPiA+ICslZW5kbWFjcm8NCj4gPiArDQo+ID4gK2dsb2JhbCBBU01fUEZYKENv bW1vblRhc2tTd3RpY2hFbnRyeVBvaW50KQ0KPiA+ICtBU01fUEZYKENvbW1vblRhc2tTd3RpY2hF bnRyeVBvaW50KToNCj4gPiArICAgIDsNCj4gPiArICAgIDsgU3RhY2s6DQo+ID4gKyAgICA7ICst LS0tLS0tLS0tLS0tLS0tLS0tLS0rIDwtLSBFQlAgLSA4DQo+ID4gKyAgICA7ICsgICAgICAgVFNT IEJhc2UgICAgICArDQo+ID4gKyAgICA7ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0rIDwtLSBFQlAg LSA0DQo+ID4gKyAgICA7ICsgICAgICBDUFVJRC5FRFggICAgICArDQo+ID4gKyAgICA7ICstLS0t LS0tLS0tLS0tLS0tLS0tLS0rIDwtLSBFQlANCj4gPiArICAgIDsgKyAgICAgICAgIEVJUCAgICAg ICAgICsNCj4gPiArICAgIDsgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgPC0tIEVCUCArIDQNCj4g PiArICAgIDsgKyAgICBWZWN0b3IgTnVtYmVyICAgICsNCj4gPiArICAgIDsgKy0tLS0tLS0tLS0t LS0tLS0tLS0tLSsgPC0tIEVCUCArIDgNCj4gPiArICAgIDsgKyAgICBFcnJvciBDb2RlICAgICAg ICsNCj4gPiArICAgIDsgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4gPiArICAgIDsNCj4gPiAr Ow0KPiA+ICs7IEdldCBUU1Mgb2YgaW50ZXJydXB0ZWQgdGFzaw0KPiA+ICs7DQo+ID4gKyAgICBt b3YgICAgIGVicCwgZXNwICAgICAgICAgICAgICAgICAgICA7IFN0YWNrIGZyYW1lDQo+ID4gKw0K PiA+ICs7IFVzZSBDUFVJRCB0byBkZXRlcm1pbmUgaWYgRlhTQVZFL0ZYUkVTVE9SIGFuZCBERSBh cmUgc3VwcG9ydGVkDQo+ID4gKyAgICBtb3YgICAgIGVheCwgMQ0KPiA+ICsgICAgY3B1aWQNCj4g PiArICAgIHB1c2ggICAgZWR4DQo+ID4gKw0KPiA+ICs7IEdldCBUU1MgYmFzZSBvZiBpbnRlcnJ1 cHRlZCB0YXNrIHRocm91Z2ggUHJldmlvdXNUYXNrTGluayBmaWVsZCBpbg0KPiA+ICs7IGN1cnJl bnQgVFNTIGJhc2UNCj4gPiArICAgIHN1YiAgICAgZXNwLCA4DQo+ID4gKyAgICBzZ2R0ICAgIFtl c3AgKyAyXQ0KPiA+ICsgICAgbW92ICAgICBlYXgsIFtlc3AgKyA0XSAgICAgICAgICAgICAgOyBH RFQgYmFzZQ0KPiA+ICsgICAgYWRkICAgICBlc3AsIDgNCj4gPiArDQo+ID4gKyAgICB4b3IgICAg IGVieCwgZWJ4DQo+ID4gKyAgICBzdHIgICAgIGJ4ICAgICAgICAgICAgICAgICAgICAgICAgICA7 IEN1cnJlbnQgVFINCj4gPiArDQo+ID4gKyAgICBtb3YgICAgIGVjeCwgW2VheCArIGVieCArIDJd DQo+ID4gKyAgICBzaGwgICAgIGVjeCwgOA0KPiA+ICsgICAgbW92ICAgICBjbCwgW2VheCArIGVi eCArIDddDQo+ID4gKyAgICByb3IgICAgIGVjeCwgOCAgICAgICAgICAgICAgICAgICAgICA7IGVj eCA9IEN1cnJlbnQgVFNTIGJhc2UNCj4gPiArICAgIHB1c2ggICAgZWN4ICAgICAgICAgICAgICAg ICAgICAgICAgIDsga2VlcCBpdCBpbiBzdGFjayBmb3IgbGF0ZXIgdXNlDQo+ID4gKw0KPiA+ICsg ICAgbW92enggICBlYngsIHdvcmQgW2VjeF0gICAgICAgICAgICAgOyBQcmV2aW91cyBUYXNrIExp bmsNCj4gPiArICAgIG1vdiAgICAgZWN4LCBbZWF4ICsgZWJ4ICsgMl0NCj4gPiArICAgIHNobCAg ICAgZWN4LCA4DQo+ID4gKyAgICBtb3YgICAgIGNsLCBbZWF4ICsgZWJ4ICsgN10NCj4gPiArICAg IHJvciAgICAgZWN4LCA4ICAgICAgICAgICAgICAgICAgICAgIDsgZWN4ID0gUHJldmlvdXMgVFNT IGJhc2UNCj4gPiArDQo+ID4gKzsNCj4gPiArOyBBbGlnbiBzdGFjayB0byBtYWtlIHN1cmUgdGhh dCBFRklfRlhfU0FWRV9TVEFURV9JQTMyIG9mDQo+ID4gRUZJX1NZU1RFTV9DT05URVhUX0lBMzIN Cj4gPiArOyBpcyAxNi1ieXRlIGFsaWduZWQNCj4gPiArOw0KPiA+ICsgICAgYW5kICAgICBlc3As IDB4ZmZmZmZmZjANCj4gPiArICAgIHN1YiAgICAgZXNwLCAxMg0KPiA+ICsNCj4gPiArOzsgVUlO VDMyICBFZGksIEVzaSwgRWJwLCBFc3AsIEVieCwgRWR4LCBFY3gsIEVheDsNCj4gPiArICAgIHB1 c2ggICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLl9FQVhdDQo+ID4gKyAgICBwdXNoICAgIGR3b3Jk IFtlY3ggKyBJQTMyX1RTUy5fRUNYXQ0KPiA+ICsgICAgcHVzaCAgICBkd29yZCBbZWN4ICsgSUEz Ml9UU1MuX0VEWF0NCj4gPiArICAgIHB1c2ggICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLl9FQlhd DQo+ID4gKyAgICBwdXNoICAgIGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5fRVNQXQ0KPiA+ICsgICAg cHVzaCAgICBkd29yZCBbZWN4ICsgSUEzMl9UU1MuX0VCUF0NCj4gPiArICAgIHB1c2ggICAgZHdv cmQgW2VjeCArIElBMzJfVFNTLl9FU0ldDQo+ID4gKyAgICBwdXNoICAgIGR3b3JkIFtlY3ggKyBJ QTMyX1RTUy5fRURJXQ0KPiA+ICsNCj4gPiArOzsgVUlOVDMyICBHcywgRnMsIEVzLCBEcywgQ3Ms IFNzOw0KPiA+ICsgICAgbW92enggICBlYXgsIHdvcmQgW2VjeCArIElBMzJfVFNTLl9TU10NCj4g PiArICAgIHB1c2ggICAgZWF4DQo+ID4gKyAgICBtb3Z6eCAgIGVheCwgd29yZCBbZWN4ICsgSUEz Ml9UU1MuX0NTXQ0KPiA+ICsgICAgcHVzaCAgICBlYXgNCj4gPiArICAgIG1vdnp4ICAgZWF4LCB3 b3JkIFtlY3ggKyBJQTMyX1RTUy5fRFNdDQo+ID4gKyAgICBwdXNoICAgIGVheA0KPiA+ICsgICAg bW92enggICBlYXgsIHdvcmQgW2VjeCArIElBMzJfVFNTLl9FU10NCj4gPiArICAgIHB1c2ggICAg ZWF4DQo+ID4gKyAgICBtb3Z6eCAgIGVheCwgd29yZCBbZWN4ICsgSUEzMl9UU1MuX0ZTXQ0KPiA+ ICsgICAgcHVzaCAgICBlYXgNCj4gPiArICAgIG1vdnp4ICAgZWF4LCB3b3JkIFtlY3ggKyBJQTMy X1RTUy5fR1NdDQo+ID4gKyAgICBwdXNoICAgIGVheA0KPiA+ICsNCj4gPiArOzsgVUlOVDMyICBF aXA7DQo+ID4gKyAgICBwdXNoICAgIGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5FSVBdDQo+ID4gKw0K PiA+ICs7OyBVSU5UMzIgIEdkdHJbMl0sIElkdHJbMl07DQo+ID4gKyAgICBzdWIgICAgIGVzcCwg OA0KPiA+ICsgICAgc2lkdCAgICBbZXNwXQ0KPiA+ICsgICAgbW92ICAgICBlYXgsIFtlc3AgKyAy XQ0KPiA+ICsgICAgeGNoZyAgICBlYXgsIFtlc3BdDQo+ID4gKyAgICBhbmQgICAgIGVheCwgMHhG RkZGDQo+ID4gKyAgICBtb3YgICAgIFtlc3ArNF0sIGVheA0KPiA+ICsNCj4gPiArICAgIHN1YiAg ICAgZXNwLCA4DQo+ID4gKyAgICBzZ2R0ICAgIFtlc3BdDQo+ID4gKyAgICBtb3YgICAgIGVheCwg W2VzcCArIDJdDQo+ID4gKyAgICB4Y2hnICAgIGVheCwgW2VzcF0NCj4gPiArICAgIGFuZCAgICAg ZWF4LCAweEZGRkYNCj4gPiArICAgIG1vdiAgICAgW2VzcCs0XSwgZWF4DQo+ID4gKw0KPiA+ICs7 OyBVSU5UMzIgIExkdHIsIFRyOw0KPiA+ICsgICAgbW92ICAgICBlYXgsIGVieCAgICA7IGVieCBz dGlsbCBrZWVwcyBzZWxlY3RvciBvZiBpbnRlcnJ1cHRlZCB0YXNrDQo+ID4gKyAgICBwdXNoICAg IGVheA0KPiA+ICsgICAgbW92enggICBlYXgsIHdvcmQgW2VjeCArIElBMzJfVFNTLkxEVF0NCj4g PiArICAgIHB1c2ggICAgZWF4DQo+ID4gKw0KPiA+ICs7OyBVSU5UMzIgIEVGbGFnczsNCj4gPiAr ICAgIHB1c2ggICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLkVGTEFHU10NCj4gPiArDQo+ID4gKzs7 IFVJTlQzMiAgQ3IwLCBDcjEsIENyMiwgQ3IzLCBDcjQ7DQo+ID4gKyAgICBtb3YgICAgIGVheCwg Y3I0DQo+ID4gKyAgICBwdXNoICAgIGVheCAgICAgICAgICAgICA7IHB1c2ggY3I0IGZpcnN0bHkN Cj4gPiArDQo+ID4gKyAgICBtb3YgICAgIGVkeCwgW2VicCAtIDRdICA7IGNwdWlkLmVkeA0KPiA+ ICsgICAgdGVzdCAgICBlZHgsIEJJVDI0ICAgICAgOyBUZXN0IGZvciBGWFNBVkUvRlhSRVNUT1Ig c3VwcG9ydA0KPiA+ICsgICAganogICAgICAuMQ0KPiA+ICsgICAgb3IgICAgICBlYXgsIEJJVDkg ICAgICAgOyBTZXQgQ1I0Lk9TRlhTUg0KPiA+ICsuMToNCj4gPiArICAgIHRlc3QgICAgZWR4LCBC SVQyICAgICAgIDsgVGVzdCBmb3IgRGVidWdnaW5nIEV4dGVuc2lvbnMgc3VwcG9ydA0KPiA+ICsg ICAganogICAgICAuMg0KPiA+ICsgICAgb3IgICAgICBlYXgsIEJJVDMgICAgICAgOyBTZXQgQ1I0 LkRFDQo+ID4gKy4yOg0KPiA+ICsgICAgbW92ICAgICBjcjQsIGVheA0KPiA+ICsNCj4gPiArICAg IG1vdiAgICAgZWF4LCBjcjMNCj4gPiArICAgIHB1c2ggICAgZWF4DQo+ID4gKyAgICBtb3YgICAg IGVheCwgY3IyDQo+ID4gKyAgICBwdXNoICAgIGVheA0KPiA+ICsgICAgeG9yICAgICBlYXgsIGVh eA0KPiA+ICsgICAgcHVzaCAgICBlYXgNCj4gPiArICAgIG1vdiAgICAgZWF4LCBjcjANCj4gPiAr ICAgIHB1c2ggICAgZWF4DQo+ID4gKw0KPiA+ICs7OyBVSU5UMzIgIERyMCwgRHIxLCBEcjIsIERy MywgRHI2LCBEcjc7DQo+ID4gKyAgICBtb3YgICAgIGVheCwgZHI3DQo+ID4gKyAgICBwdXNoICAg IGVheA0KPiA+ICsgICAgbW92ICAgICBlYXgsIGRyNg0KPiA+ICsgICAgcHVzaCAgICBlYXgNCj4g PiArICAgIG1vdiAgICAgZWF4LCBkcjMNCj4gPiArICAgIHB1c2ggICAgZWF4DQo+ID4gKyAgICBt b3YgICAgIGVheCwgZHIyDQo+ID4gKyAgICBwdXNoICAgIGVheA0KPiA+ICsgICAgbW92ICAgICBl YXgsIGRyMQ0KPiA+ICsgICAgcHVzaCAgICBlYXgNCj4gPiArICAgIG1vdiAgICAgZWF4LCBkcjAN Cj4gPiArICAgIHB1c2ggICAgZWF4DQo+ID4gKw0KPiA+ICs7OyBGWF9TQVZFX1NUQVRFX0lBMzIg RnhTYXZlU3RhdGU7DQo+ID4gKzs7IENsZWFyIFRTIGJpdCBpbiBDUjAgdG8gYXZvaWQgRGV2aWNl IE5vdCBBdmFpbGFibGUgRXhjZXB0aW9uICgjTk0pDQo+ID4gKzs7IHdoZW4gZXhlY3V0aW5nIGZ4 c2F2ZS9meHJzdG9yIGluc3RydWN0aW9uDQo+ID4gKyAgICB0ZXN0ICAgIGVkeCwgQklUMjQgIDsg VGVzdCBmb3IgRlhTQVZFL0ZYUkVTVE9SIHN1cHBvcnQuDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgIDsgZWR4IHN0aWxsIGNvbnRhaW5zIHJlc3VsdCBmcm9tIENQVUlEIGFib3ZlDQo+ID4g KyAgICBqeiAgICAgIC4zDQo+ID4gKyAgICBjbHRzDQo+ID4gKyAgICBzdWIgICAgIGVzcCwgNTEy DQo+ID4gKyAgICBtb3YgICAgIGVkaSwgZXNwDQo+ID4gKyAgICBkYiAgICAgIDB4ZiwgMHhhZSwg MHg3IDtmeHNhdmUgW2VkaV0NCj4gPiArLjM6DQo+ID4gKw0KPiA+ICs7OyBVSU5UMzIgIEV4Y2Vw dGlvbkRhdGE7DQo+ID4gKyAgICBwdXNoICAgIGR3b3JkIFtlYnAgKyA4XQ0KPiA+ICsNCj4gPiAr OzsgVUVGSSBjYWxsaW5nIGNvbnZlbnRpb24gZm9yIElBMzIgcmVxdWlyZXMgdGhhdCBEaXJlY3Rp b24gZmxhZyBpbiBFRkxBR3MgaXMNCj4gY2xlYXINCj4gPiArICAgIGNsZA0KPiA+ICsNCj4gPiAr OzsgY2FsbCBpbnRvIGV4Y2VwdGlvbiBoYW5kbGVyDQo+ID4gKyAgICBtb3YgICAgIGVzaSwgZWN4 ICAgICAgICAgICAgOyBLZWVwIFRTUyBiYXNlIHRvIGF2b2lkIG92ZXJ3cml0ZQ0KPiA+ICsgICAg bW92ICAgICBlYXgsIEFTTV9QRlgoQ29tbW9uRXhjZXB0aW9uSGFuZGxlcikNCj4gPiArDQo+ID4g Kzs7IFByZXBhcmUgcGFyYW1ldGVyIGFuZCBjYWxsDQo+ID4gKyAgICBtb3YgICAgIGVkeCwgZXNw DQo+ID4gKyAgICBwdXNoICAgIGVkeCAgICAgICAgICAgICAgICAgOyBFRklfU1lTVEVNX0NPTlRF WFQNCj4gPiArICAgIHB1c2ggICAgZHdvcmQgW2VicCArIDRdICAgICA7IEVGSV9FWENFUFRJT05f VFlQRSAodmVjdG9yIG51bWJlcikNCj4gPiArDQo+ID4gKyAgICA7DQo+ID4gKyAgICA7IENhbGwg RXh0ZXJuYWwgRXhjZXB0aW9uIEhhbmRsZXINCj4gPiArICAgIDsNCj4gPiArICAgIGNhbGwgICAg ZWF4DQo+ID4gKyAgICBhZGQgICAgIGVzcCwgOCAgICAgICAgICAgICAgOyBSZXN0b3JlIHN0YWNr IGJlZm9yZSBjYWxsaW5nDQo+ID4gKyAgICBtb3YgICAgIGVjeCwgZXNpICAgICAgICAgICAgOyBS ZXN0b3JlIFRTUyBiYXNlDQo+ID4gKw0KPiA+ICs7OyBVSU5UMzIgIEV4Y2VwdGlvbkRhdGE7DQo+ ID4gKyAgICBhZGQgICAgIGVzcCwgNA0KPiA+ICsNCj4gPiArOzsgRlhfU0FWRV9TVEFURV9JQTMy IEZ4U2F2ZVN0YXRlOw0KPiA+ICsgICAgbW92ICAgICBlZHgsIFtlYnAgLSA0XSAgOyBjcHVpZC5l ZHgNCj4gPiArICAgIHRlc3QgICAgZWR4LCBCSVQyNCAgICAgIDsgVGVzdCBmb3IgRlhTQVZFL0ZY UkVTVE9SIHN1cHBvcnQNCj4gPiArICAgIGp6ICAgICAgLjQNCj4gPiArICAgIG1vdiAgICAgZXNp LCBlc3ANCj4gPiArICAgIGRiICAgICAgMHhmLCAweGFlLCAweGUgIDsgZnhyc3RvciBbZXNpXQ0K PiA+ICsuNDoNCj4gPiArICAgIGFkZCAgICAgZXNwLCA1MTINCj4gPiArDQo+ID4gKzs7IFVJTlQz MiAgRHIwLCBEcjEsIERyMiwgRHIzLCBEcjYsIERyNzsNCj4gPiArOzsgU2tpcCByZXN0b3JhdGlv biBvZiBEUnggcmVnaXN0ZXJzIHRvIHN1cHBvcnQgZGVidWdnZXJzDQo+ID4gKzs7IHRoYXQgc2V0 IGJyZWFrcG9pbnRzIGluIGludGVycnVwdC9leGNlcHRpb24gY29udGV4dA0KPiA+ICsgICAgYWRk ICAgICBlc3AsIDQgKiA2DQo+ID4gKw0KPiA+ICs7OyBVSU5UMzIgIENyMCwgQ3IxLCBDcjIsIENy MywgQ3I0Ow0KPiA+ICsgICAgcG9wICAgICBlYXgNCj4gPiArICAgIG1vdiAgICAgY3IwLCBlYXgN Cj4gPiArICAgIGFkZCAgICAgZXNwLCA0ICAgIDsgbm90IGZvciBDcjENCj4gPiArICAgIHBvcCAg ICAgZWF4DQo+ID4gKyAgICBtb3YgICAgIGNyMiwgZWF4DQo+ID4gKyAgICBwb3AgICAgIGVheA0K PiA+ICsgICAgbW92ICAgICBkd29yZCBbZWN4ICsgSUEzMl9UU1MuX0NSM10sIGVheA0KPiA+ICsg ICAgcG9wICAgICBlYXgNCj4gPiArICAgIG1vdiAgICAgY3I0LCBlYXgNCj4gPiArDQo+ID4gKzs7 IFVJTlQzMiAgRUZsYWdzOw0KPiA+ICsgICAgcG9wICAgICBkd29yZCBbZWN4ICsgSUEzMl9UU1Mu RUZMQUdTXQ0KPiA+ICsgICAgbW92ICAgICBlYngsIGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5FRkxB R1NdDQo+ID4gKyAgICBidHIgICAgIGVieCwgOSAgICAgIDsgRG8gJ2NsaScNCj4gPiArICAgIG1v diAgICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLkVGTEFHU10sIGVieA0KPiA+ICsNCj4gPiArOzsg VUlOVDMyICBMZHRyLCBUcjsNCj4gPiArOzsgVUlOVDMyICBHZHRyWzJdLCBJZHRyWzJdOw0KPiA+ ICs7OyBCZXN0IG5vdCBsZXQgYW55b25lIG1lc3Mgd2l0aCB0aGVzZSBwYXJ0aWN1bGFyIHJlZ2lz dGVycy4uLg0KPiA+ICsgICAgYWRkICAgICBlc3AsIDI0DQo+ID4gKw0KPiA+ICs7OyBVSU5UMzIg IEVpcDsNCj4gPiArICAgIHBvcCAgICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLkVJUF0NCj4gPiAr DQo+ID4gKzs7IFVJTlQzMiAgR3MsIEZzLCBFcywgRHMsIENzLCBTczsNCj4gPiArOzsgTk9URSAt IG1vZGlmaWVkIHNlZ21lbnQgcmVnaXN0ZXJzIGNvdWxkIGhhbmcgdGhlIGRlYnVnZ2VyLi4uICBX ZQ0KPiA+ICs7OyAgICAgICAgY291bGQgYXR0ZW1wdCB0byBpbnN1bGF0ZSBvdXJzZWx2ZXMgYWdh aW5zdCB0aGlzIHBvc3NpYmlsaXR5LA0KPiA+ICs7OyAgICAgICAgYnV0IHRoYXQgcG9zZXMgcmlz a3MgYXMgd2VsbC4NCj4gPiArOzsNCj4gPiArICAgIHBvcCAgICAgZWF4DQo+ID4gK28xNiBtb3Yg ICAgIFtlY3ggKyBJQTMyX1RTUy5fR1NdLCBheA0KPiA+ICsgICAgcG9wICAgICBlYXgNCj4gPiAr bzE2IG1vdiAgICAgW2VjeCArIElBMzJfVFNTLl9GU10sIGF4DQo+ID4gKyAgICBwb3AgICAgIGVh eA0KPiA+ICtvMTYgbW92ICAgICBbZWN4ICsgSUEzMl9UU1MuX0VTXSwgYXgNCj4gPiArICAgIHBv cCAgICAgZWF4DQo+ID4gK28xNiBtb3YgICAgIFtlY3ggKyBJQTMyX1RTUy5fRFNdLCBheA0KPiA+ ICsgICAgcG9wICAgICBlYXgNCj4gPiArbzE2IG1vdiAgICAgW2VjeCArIElBMzJfVFNTLl9DU10s IGF4DQo+ID4gKyAgICBwb3AgICAgIGVheA0KPiA+ICtvMTYgbW92ICAgICBbZWN4ICsgSUEzMl9U U1MuX1NTXSwgYXgNCj4gPiArDQo+ID4gKzs7IFVJTlQzMiAgRWRpLCBFc2ksIEVicCwgRXNwLCBF YngsIEVkeCwgRWN4LCBFYXg7DQo+ID4gKyAgICBwb3AgICAgIGR3b3JkIFtlY3ggKyBJQTMyX1RT Uy5fRURJXQ0KPiA+ICsgICAgcG9wICAgICBkd29yZCBbZWN4ICsgSUEzMl9UU1MuX0VTSV0NCj4g PiArICAgIGFkZCAgICAgZXNwLCA0ICAgOyBub3QgZm9yIGVicA0KPiA+ICsgICAgYWRkICAgICBl c3AsIDQgICA7IG5vdCBmb3IgZXNwDQo+ID4gKyAgICBwb3AgICAgIGR3b3JkIFtlY3ggKyBJQTMy X1RTUy5fRUJYXQ0KPiA+ICsgICAgcG9wICAgICBkd29yZCBbZWN4ICsgSUEzMl9UU1MuX0VEWF0N Cj4gPiArICAgIHBvcCAgICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLl9FQ1hdDQo+ID4gKyAgICBw b3AgICAgIGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5fRUFYXQ0KPiA+ICsNCj4gPiArOyBTZXQgc2lu Z2xlIHN0ZXAgREIjIHRvIGFsbG93IGRlYnVnZ2VyIHRvIGFibGUgdG8gZ28gYmFjayB0byB0aGUg RUlQDQo+ID4gKzsgd2hlcmUgdGhlIGV4Y2VwdGlvbiBpcyB0cmlnZ2VyZWQuDQo+ID4gKw0KPiA+ ICs7OyBDcmVhdGUgcmV0dXJuIGNvbnRleHQgZm9yIGlyZXRkIGluIHN0dWIgZnVuY3Rpb24NCj4g PiArICAgIG1vdiAgICBlYXgsIGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5fRVNQXSAgICAgIDsgR2V0 IG9sZCBzdGFjayBwb2ludGVyDQo+ID4gKyAgICBtb3YgICAgZWJ4LCBkd29yZCBbZWN4ICsgSUEz Ml9UU1MuRUlQXQ0KPiA+ICsgICAgbW92ICAgIFtlYXggLSAweGNdLCBlYnggICAgICAgICAgICAg ICAgICAgICAgOyBjcmVhdGUgRUlQIGluIG9sZCBzdGFjaw0KPiA+ICsgICAgbW92enggIGVieCwg d29yZCBbZWN4ICsgSUEzMl9UU1MuX0NTXQ0KPiA+ICsgICAgbW92ICAgIFtlYXggLSAweDhdLCBl YnggICAgICAgICAgICAgICAgICAgICAgOyBjcmVhdGUgQ1MgaW4gb2xkIHN0YWNrDQo+ID4gKyAg ICBtb3YgICAgZWJ4LCBkd29yZCBbZWN4ICsgSUEzMl9UU1MuRUZMQUdTXQ0KPiA+ICsgICAgYnRz ICAgIGVieCwgOA0KPiA+ICsgICAgbW92ICAgIFtlYXggLSAweDRdLCBlYnggICAgICAgICAgICAg ICAgICAgICAgOyBjcmVhdGUgZWZsYWdzIGluIG9sZCBzdGFjaw0KPiA+ICsgICAgbW92ICAgIGR3 b3JkIFtlY3ggKyBJQTMyX1RTUy5FRkxBR1NdLCBlYnggICAgOyB1cGRhdGUgZWZsYWdzIGluIG9s ZCBUU1MNCj4gPiArICAgIG1vdiAgICBlYXgsIGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5fRVNQXSAg ICAgIDsgR2V0IG9sZCBzdGFjayBwb2ludGVyDQo+ID4gKyAgICBzdWIgICAgZWF4LCAweGMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA7IG1pbnVzIDEyIGJ5dGUNCj4gPiArICAgIG1vdiAg ICBkd29yZCBbZWN4ICsgSUEzMl9UU1MuX0VTUF0sIGVheCAgICAgIDsgU2V0IG5ldyBzdGFjayBw b2ludGVyDQo+ID4gKw0KPiA+ICs7OyBSZXBsYWNlIHRoZSBFSVAgb2YgaW50ZXJydXB0ZWQgdGFz ayB3aXRoIHN0dWIgZnVuY3Rpb24NCj4gPiArICAgIG1vdiAgICBlYXgsIEFTTV9QRlgoU2luZ2xl U3RlcFN0dWJGdW5jdGlvbikNCj4gPiArICAgIG1vdiAgICBkd29yZCBbZWN4ICsgSUEzMl9UU1Mu RUlQXSwgZWF4DQo+ID4gKw0KPiA+ICsgICAgbW92ICAgICBlY3gsIFtlYnAgLSA4XSAgICAgICAg ICAgICAgICAgICAgICAgOyBHZXQgY3VycmVudCBUU1MgYmFzZQ0KPiA+ICsgICAgbW92ICAgICBl YXgsIGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5fRVNQXSAgICAgOyBSZXR1cm4gY3VycmVudCBzdGFj ayB0b3ANCj4gPiArICAgIG1vdiAgICAgZXNwLCBlYnANCj4gPiArDQo+ID4gKyAgICByZXQNCj4g PiArDQo+ID4gK2dsb2JhbCBBU01fUEZYKFNpbmdsZVN0ZXBTdHViRnVuY3Rpb24pDQo+ID4gK0FT TV9QRlgoU2luZ2xlU3RlcFN0dWJGdW5jdGlvbik6DQo+ID4gKzsNCj4gPiArOyB3ZSBuZWVkIGNs ZWFuIFRTIGJpdCBpbiBDUjAgdG8gZXhlY3V0ZQ0KPiA+ICs7IHg4NyBGUFUvTU1YL1NTRS9TU0Uy L1NTRTMvU1NTRTMvU1NFNCBpbnN0cnVjdGlvbnMuDQo+ID4gKzsNCj4gPiArICAgIGNsdHMNCj4g PiArICAgIGlyZXRkDQo+ID4gKw0KPiA+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gKzsg Vk9JRA0KPiA+ICs7IEFzbVdyaXRlVHIgKA0KPiA+ICs7ICAgVUlOVDE2IFNlbGVjdG9yDQo+ID4g KzsgICApOw0KPiA+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gK2dsb2JhbCBBU01fUEZY KEFzbVdyaXRlVHIpDQo+ID4gK0FTTV9QRlgoQXNtV3JpdGVUcik6DQo+ID4gKyAgICBtb3YgICAg IGVheCwgW2VzcCs0XQ0KPiA+ICsgICAgbHRyICAgICBheA0KPiA+ICsgICAgcmV0DQo+ID4gKw0K PiA+ICtEZWZFeGNlcHRpb25UYXNrU3d0aWNoRW50cnkgNg0KPiA+ICtEZWZFeGNlcHRpb25UYXNr U3d0aWNoRW50cnkgOA0KPiA+ICtEZWZFeGNlcHRpb25UYXNrU3d0aWNoRW50cnkgMTINCj4gPiAr RGVmRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5IDEzDQo+ID4gK0RlZkV4Y2VwdGlvblRhc2tTd3Rp Y2hFbnRyeSAxNA0KPiA+ICtEZWZFeGNlcHRpb25UYXNrU3d0aWNoRW50cnkgMTcNCj4gPiArRGVm RXhjZXB0aW9uVGFza1N3dGljaEVudHJ5IDE4DQo+ID4gKw0KPiA+IGRpZmYgLS1naXQNCj4gPiBh L1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1BlaUNwdUV4Y2VwdGlv bkhhbmRsZXJMaWIuaW5mDQo+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFu ZGxlckxpYi9QZWlDcHVFeGNlcHRpb25IYW5kbGVyTGliLmluZg0KPiA+IGluZGV4IDc1NDQzMjg4 YTkuLjRjMGQ0MzUxMzYgMTAwNjQ0DQo+ID4gLS0tDQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkv Q3B1RXhjZXB0aW9uSGFuZGxlckxpYi9QZWlDcHVFeGNlcHRpb25IYW5kbGVyTGliLmluZg0KPiA+ ICsrKw0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvUGVp Q3B1RXhjZXB0aW9uSGFuZGxlckxpYi5pbmYNCj4gPiBAQCAtMzAsNiArMzAsNyBAQA0KPiA+ICBb U291cmNlcy5JYTMyXQ0KPiA+ICAgIElhMzIvRXhjZXB0aW9uSGFuZGxlckFzbS5hc20NCj4gPiAg ICBJYTMyL0V4Y2VwdGlvbkhhbmRsZXJBc20ubmFzbQ0KPiA+ICsgIElhMzIvRXhjZXB0aW9uVHNz RW50cnlBc20ubmFzbQ0KPiA+ICAgIElhMzIvRXhjZXB0aW9uSGFuZGxlckFzbS5TDQo+ID4gICAg SWEzMi9BcmNoRXhjZXB0aW9uSGFuZGxlci5jDQo+ID4gICAgSWEzMi9BcmNoSW50ZXJydXB0RGVm cy5oDQo+ID4gZGlmZiAtLWdpdA0KPiA+DQo+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2Vw dGlvbkhhbmRsZXJMaWIvU2VjUGVpQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi5pDQo+ID4gbmYNCj4g Pg0KPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1NlY1BlaUNw dUV4Y2VwdGlvbkhhbmRsZXJMaWIuaQ0KPiA+IG5mDQo+ID4gaW5kZXggZDcwYTk5YzEwMC4uYWRi NDE1YmE1YSAxMDA2NDQNCj4gPiAtLS0NCj4gPg0KPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVF eGNlcHRpb25IYW5kbGVyTGliL1NlY1BlaUNwdUV4Y2VwdGlvbkhhbmRsZXJMaWIuaQ0KPiA+IG5m DQo+ID4gKysrDQo+ID4NCj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxl ckxpYi9TZWNQZWlDcHVFeGNlcHRpb25IYW5kbGVyTGliLmkNCj4gPiBuZg0KPiA+IEBAIC0zMCw2 ICszMCw3IEBADQo+ID4gIFtTb3VyY2VzLklhMzJdDQo+ID4gICAgSWEzMi9FeGNlcHRpb25IYW5k bGVyQXNtLmFzbQ0KPiA+ICAgIElhMzIvRXhjZXB0aW9uSGFuZGxlckFzbS5uYXNtDQo+ID4gKyAg SWEzMi9FeGNlcHRpb25Uc3NFbnRyeUFzbS5uYXNtDQo+ID4gICAgSWEzMi9FeGNlcHRpb25IYW5k bGVyQXNtLlMNCj4gPiAgICBJYTMyL0FyY2hFeGNlcHRpb25IYW5kbGVyLmMNCj4gPiAgICBJYTMy L0FyY2hJbnRlcnJ1cHREZWZzLmgNCj4gPiBAQCAtNTcsMyArNTgsNSBAQA0KPiA+ICAgIFByaW50 TGliDQo+ID4gICAgTG9jYWxBcGljTGliDQo+ID4gICAgUGVDb2ZmR2V0RW50cnlQb2ludExpYg0K PiA+ICsgIE1lbW9yeUFsbG9jYXRpb25MaWINCj4gPiArDQo+ID4gZGlmZiAtLWdpdA0KPiA+DQo+ IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvU21tQ3B1RXhjZXB0 aW9uSGFuZGxlckxpYi5pbmYNCj4gPg0KPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRp b25IYW5kbGVyTGliL1NtbUNwdUV4Y2VwdGlvbkhhbmRsZXJMaWIuaW5mDQo+ID4gaW5kZXggNjM0 ZmZjYjIxZC4uNTZiODc1YjdjOCAxMDA2NDQNCj4gPiAtLS0NCj4gPg0KPiBhL1VlZmlDcHVQa2cv TGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1NtbUNwdUV4Y2VwdGlvbkhhbmRsZXJMaWIu aW5mDQo+ID4gKysrDQo+ID4NCj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFu ZGxlckxpYi9TbW1DcHVFeGNlcHRpb25IYW5kbGVyTGliLmluZg0KPiA+IEBAIC0zMCw2ICszMCw3 IEBADQo+ID4gIFtTb3VyY2VzLklhMzJdDQo+ID4gICAgSWEzMi9FeGNlcHRpb25IYW5kbGVyQXNt LmFzbQ0KPiA+ICAgIElhMzIvRXhjZXB0aW9uSGFuZGxlckFzbS5uYXNtDQo+ID4gKyAgSWEzMi9F eGNlcHRpb25Uc3NFbnRyeUFzbS5uYXNtDQo+ID4gICAgSWEzMi9FeGNlcHRpb25IYW5kbGVyQXNt LlMNCj4gPiAgICBJYTMyL0FyY2hFeGNlcHRpb25IYW5kbGVyLmMNCj4gPiAgICBJYTMyL0FyY2hJ bnRlcnJ1cHREZWZzLmgNCj4gPiBkaWZmIC0tZ2l0DQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkv Q3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvQXJjaEV4Y2VwdGlvbkhhbmRsZXIuYw0KPiA+IGIv VWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvWDY0L0FyY2hFeGNlcHRp b25IYW5kbGVyLmMNCj4gPiBpbmRleCA2NWYwY2ZmNjgwLi4yNGYyYTg0ODZhIDEwMDY0NA0KPiA+ IC0tLQ0KPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1g2NC9B cmNoRXhjZXB0aW9uSGFuZGxlci5jDQo+ID4gKysrDQo+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0Nw dUV4Y2VwdGlvbkhhbmRsZXJMaWIvWDY0L0FyY2hFeGNlcHRpb25IYW5kbGVyLmMNCj4gPiBAQCAt MTQsNiArMTQsMTkgQEANCj4gPg0KPiA+ICAjaW5jbHVkZSAiQ3B1RXhjZXB0aW9uQ29tbW9uLmgi DQo+ID4NCj4gPiArLy8NCj4gPiArLy8gTGlzdCBvZiBleGNlcHRpb25zIG5lZWRpbmcgc2VwYXJh dGUgc3RhY2sNCj4gPiArLy8NCj4gPiArU1RBVElDIFVJTlROICBtRXhjZXB0aW9uc1dpdGhTdGFj a1tdID0gew0KPiA+ICsgIDYsICAvLyNVRDogSW52YWxpZCBPcGNvZGUgRXhjZXB0aW9uDQo+ID4g KyAgOCwgIC8vI0RGOiBEb3VibGUgRmF1bHQgRXhjZXB0aW9uDQo+ID4gKyAgMTIsIC8vI1NTOiBT dGFjayBGYXVsdCBFeGNlcHRpb24NCj4gPiArICAxMywgLy8jR1A6IEdlbmVyYWwgUHJvdGVjdGlv biBFeGNlcHRpb24NCj4gPiArICAxNCwgLy8jUEY6IFBhZ2UtRmF1bHQgRXhjZXB0aW9uDQo+ID4g KyAgMTcsIC8vI0FDOiBBbGlnbm1lbnQgQ2hlY2sgRXhjZXB0aW9uDQo+ID4gKyAgMTggIC8vI01D OiBNYWNoaW5lLUNoZWNrIEV4Y2VwdGlvbg0KPiA+ICsgIH07DQo+ID4gKw0KPiA+ICAvKioNCj4g PiAgICBSZXR1cm4gYWRkcmVzcyBtYXAgb2YgZXhjZXB0aW9uIGhhbmRsZXIgdGVtcGxhdGUgc28g dGhhdCBDIGNvZGUgY2FuDQo+ID4gZ2VuZXJhdGUNCj4gPiAgICBleGNlcHRpb24gdGFibGVzLg0K PiA+IEBAIC0xMTIsNiArMTI1LDEwMSBAQCBBcmNoUmVzdG9yZUV4Y2VwdGlvbkNvbnRleHQgKA0K PiA+ICAgIFN5c3RlbUNvbnRleHQuU3lzdGVtQ29udGV4dFg2NC0+RXhjZXB0aW9uRGF0YSA9DQo+ ID4gUmVzZXJ2ZWRWZWN0b3JzW0V4Y2VwdGlvblR5cGVdLkV4Y2VwdGlvbkRhdGE7DQo+ID4gIH0N Cj4gPg0KPiA+ICsvKioNCj4gPiArICBTZXR1cCBzZXBhcmF0ZSBzdGFjayBmb3Igc3BlY2lmaWMg ZXhjZXB0aW9ucy4NCj4gPiArDQo+ID4gKyAgQHBhcmFtW2luXSBJZHRUYWJsZSAgICAgICAgSURU IHRhYmxlIGJhc2UuDQo+ID4gKyoqLw0KPiA+ICtWT0lEDQo+ID4gK0VGSUFQSQ0KPiA+ICtBcmNo U2V0dXBFeGNwZXRpb25TdGFjayAoDQo+ID4gKyAgSU4gSUEzMl9JRFRfR0FURV9ERVNDUklQVE9S ICAgICAgICAgICAqSWR0VGFibGUNCj4gPiArICApDQo+ID4gK3sNCj4gPiArICBWT0lEICAgICAg ICAgICAgICAgICAgICAgICpOZXdHZHQ7DQo+ID4gKyAgSUEzMl9ERVNDUklQVE9SICAgICAgICAg ICBHZHREZXNjOw0KPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgT2xkR2R0U2l6ZTsN Cj4gPiArICBUU1NfRU5UUklFUyAgICAgICAgICAgICAgICpUc3NFbnRyeTsNCj4gPiArICBVSU5U TiAgICAgICAgICAgICAgICAgICAgIFN0YWNrQmFzZTsNCj4gPiArICBVSU5UTiAgICAgICAgICAg ICAgICAgICAgIFN0YWNrVG9wOw0KPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgU3Rh Y2tTaXplOw0KPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgVHNzQmFzZTsNCj4gPiAr ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiA+ICsNCj4gPiArICAvLw0KPiA+ ICsgIC8vIEFsbG9jYXRlIFJ1bnRpbWUgRGF0YSBmb3IgdGhlIEdEVA0KPiA+ICsgIC8vDQo+ID4g KyAgQXNtUmVhZEdkdHIoJkdkdERlc2MpOw0KPiA+ICsgIE9sZEdkdFNpemUgPSBHZHREZXNjLkxp bWl0ICsgMTsNCj4gPiArICBOZXdHZHQgPSBBbGxvY2F0ZVJ1bnRpbWVaZXJvUG9vbChPbGRHZHRT aXplICsgc2l6ZW9mKFRTU19FTlRSSUVTKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICsgSUEzMl9HRFRfQUxJR05NRU5UKTsNCj4gPiArICBpZiAoTmV3R2R0ID09IE5VTEwp IHsNCj4gPiArICAgIHJldHVybjsNCj4gPiArICB9DQo+ID4gKyAgTmV3R2R0ID0gQUxJR05fUE9J TlRFUiAoTmV3R2R0LCBJQTMyX0dEVF9BTElHTk1FTlQpOw0KPiA+ICsNCj4gPiArICAvLw0KPiA+ ICsgIC8vIEluaXRpYWxpemUgbmV3IEdEVCBlbnRyaWVzDQo+ID4gKyAgLy8NCj4gPiArICBDb3B5 TWVtKE5ld0dkdCwgKFZPSUQgKilHZHREZXNjLkJhc2UsIE9sZEdkdFNpemUpOw0KPiA+ICsgIEdk dERlc2MuQmFzZSA9IChVSU5UTikoVk9JRCopTmV3R2R0Ow0KPiA+ICsgIEdkdERlc2MuTGltaXQg PSAoVUlOVDE2KShPbGRHZHRTaXplICsgVFNTX09GRlNFVCAtIDEpOw0KPiA+ICsNCj4gPiArICAv Lw0KPiA+ICsgIC8vIFJlc2VydmUgc3RhdGNrIG1lbW9yeSBmb3Igc3VwcG9ydGVkIGV4Y2VwdGlv bnMNCj4gPiArICAvLw0KPiA+ICsgIFN0YWNrU2l6ZSA9IEFSUkFZX1NJWkUgKG1FeGNlcHRpb25z V2l0aFN0YWNrKSAqIEVYQ0VQVElPTl9TVEFDS19TSVpFOw0KPiA+ICsgIFN0YWNrU2l6ZSA9IEVG SV9QQUdFU19UT19TSVpFIChFRklfU0laRV9UT19QQUdFUyAoU3RhY2tTaXplKSk7DQo+ID4gKyAg U3RhY2tCYXNlID0gKFVJTlQ2NClBbGxvY2F0ZVBhZ2VzIChFRklfU0laRV9UT19QQUdFUyAoU3Rh Y2tTaXplKSk7DQo+ID4gKyAgaWYgKFN0YWNrQmFzZSA9PSAwKSB7DQo+ID4gKyAgICBGcmVlUG9v bCAoTmV3R2R0KTsNCj4gPiArICAgIHJldHVybjsNCj4gPiArICB9DQo+ID4gKw0KPiA+ICsgIC8v DQo+ID4gKyAgLy8gRml4dXAgVFNTIGRlc2NyaXB0b3JzDQo+ID4gKyAgLy8NCj4gPiArICBUc3NF bnRyeSA9IChWT0lEICopKEdkdERlc2MuQmFzZSArIE9sZEdkdFNpemUpOw0KPiA+ICsgIFRzc0Jh c2UgPSAoVUlOVE4pKFZPSUQgKikmVHNzRW50cnktPlRzczsNCj4gPiArDQo+ID4gKyAgVHNzRW50 cnktPlRzc1NlZy5MaW1pdDE1XzAgICAgICAgICAgICA9DQo+ID4gc2l6ZW9mKElBMzJfVEFTS19T VEFURV9TRUdNRU5UKSAtIDE7DQo+ID4gKyAgVHNzRW50cnktPlRzc1NlZy5CYXNlMTVfMCAgICAg ICAgICAgICA9IChVSU5UMTYpVHNzQmFzZTsNCj4gPiArICBUc3NFbnRyeS0+VHNzU2VnLkJhc2Uy M18xNiAgICAgICAgICAgID0gKFVJTlQ4KShUc3NCYXNlID4+IDE2KTsNCj4gPiArICBUc3NFbnRy eS0+VHNzU2VnLlR5cGUgICAgICAgICAgICAgICAgID0gSUEzMl9HRFRfVFlQRV9UU1M7DQo+ID4g KyAgVHNzRW50cnktPlRzc1NlZy5MaW1pdDE5XzE2X2FuZF9mbGFncyA9IDA7DQo+ID4gKyAgVHNz RW50cnktPlRzc1NlZy5CYXNlMzFfMjQgICAgICAgICAgICA9IChVSU5UOCkoVHNzQmFzZSA+PiAy NCk7DQo+ID4gKyAgVHNzRW50cnktPlRzc1NlZy5CYXNlNjNfMzIgICAgICAgICAgICA9IChVSU5U MzIpKFRzc0Jhc2UgPj4gMzIpOw0KPiA+ICsgIFRzc0VudHJ5LT5Uc3NTZWcuUmVzZXJ2ZWQgICAg ICAgICAgICAgPSAwOw0KPiA+ICsNCj4gPiArICAvLw0KPiA+ICsgIC8vIEVuYWJsZSBJbnRlcnJ1 cHQgU3RhY2sgVGFibGUgKElTVCkgZm9yIGVhY2ggcmVxdWlyZWQgZXhjZXB0aW9uDQo+ID4gKyAg Ly8NCj4gPiArICBTdGFja1RvcCAgPSBTdGFja0Jhc2UgKyBTdGFja1NpemUgLSBDUFVfU1RBQ0tf QUxJR05NRU5UOw0KPiA+ICsgIFN0YWNrVG9wICA9IChVSU5UTilBTElHTl9QT0lOVEVSIChTdGFj a1RvcCwgQ1BVX1NUQUNLX0FMSUdOTUVOVCk7DQo+ID4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4 IDwgQVJSQVlfU0laRSAobUV4Y2VwdGlvbnNXaXRoU3RhY2spOyArK0luZGV4KSB7DQo+ID4gKyAg ICAvLw0KPiA+ICsgICAgLy8gRml4dXAgVFNTDQo+ID4gKyAgICAvLw0KPiA+ICsgICAgVHNzRW50 cnktPlRzcy5JU1RbSW5kZXhdID0gU3RhY2tUb3A7DQo+ID4gKyAgICBTdGFja1RvcCAtPSBFWENF UFRJT05fU1RBQ0tfU0laRTsNCj4gPiArDQo+ID4gKyAgICAvLw0KPiA+ICsgICAgLy8gU2V0IHRo ZSBJU1QgZmllbGQgdG8gMSB0byBlbmFibGUgY29ycmVzcG9uZGluZyBJU1QNCj4gPiArICAgIC8v DQo+ID4gKyAgICBJZHRUYWJsZVttRXhjZXB0aW9uc1dpdGhTdGFja1tJbmRleF1dLkJpdHMuUmVz ZXJ2ZWRfMCA9IChVSU5UOCkoSW5kZXggKw0KPiA+IDEpOw0KPiA+ICsgIH0NCj4gPiArDQo+ID4g KyAgLy8NCj4gPiArICAvLyBQdWJsaXNoIHRoZSBjaGFuZ2VzDQo+ID4gKyAgLy8NCj4gPiArICBB c21Xcml0ZUdkdHIoJkdkdERlc2MpOw0KPiA+ICsNCj4gPiArICAvLw0KPiA+ICsgIC8vIExvYWQg dGFzayByZWdpc3Rlcg0KPiA+ICsgIC8vDQo+ID4gKyAgQXNtV3JpdGVUciAoKFVJTlQxNikoT2xk R2R0U2l6ZSArIFRTU19TRUwpKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiAgLyoqDQo+ID4gICAgRGlz cGxheSBDUFUgaW5mb3JtYXRpb24uDQo+ID4NCj4gPiBkaWZmIC0tZ2l0DQo+ID4gYS9VZWZpQ3B1 UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvQXJjaEludGVycnVwdERlZnMu aA0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvWDY0L0Fy Y2hJbnRlcnJ1cHREZWZzLmgNCj4gPiBpbmRleCA5MDY0ODAxMzRhLi41YTkxM2JhZTdiIDEwMDY0 NA0KPiA+IC0tLSBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1g2 NC9BcmNoSW50ZXJydXB0RGVmcy5oDQo+ID4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4 Y2VwdGlvbkhhbmRsZXJMaWIvWDY0L0FyY2hJbnRlcnJ1cHREZWZzLmgNCj4gPiBAQCAtNDMsNCAr NDMsNDQgQEAgdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ICAgIFVJTlQ4ICAgICAgIEhvb2tBZnRlclN0 dWJIZWFkZXJDb2RlW0hPT0tBRlRFUl9TVFVCX1NJWkVdOw0KPiA+ICB9IFJFU0VSVkVEX1ZFQ1RP UlNfREFUQTsNCj4gPg0KPiA+ICsjcHJhZ21hIHBhY2sgKDEpDQo+ID4gKw0KPiA+ICsjZGVmaW5l IEVYQ0VQVElPTl9MSVNUX01BWCAgICAgICAgNw0KPiA+ICsjZGVmaW5lIEVYQ0VQVElPTl9TVEFD S19TSVpFICAgICAgRUZJX1BBR0VfU0laRQ0KPiA+ICsjZGVmaW5lIElBMzJfR0RUX1RZUEVfVFNT ICAgICAgICAgMHg4OQ0KPiA+ICsjZGVmaW5lIElBMzJfR0RUX0FMSUdOTUVOVCAgICAgICAgOA0K PiA+ICsNCj4gPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ICsgIFVJTlQzMiAgICBSZXNlcnZlZF8w Ow0KPiA+ICsgIFVJTlQ2NCAgICBSU1AwOw0KPiA+ICsgIFVJTlQ2NCAgICBSU1AxOw0KPiA+ICsg IFVJTlQ2NCAgICBSU1AyOw0KPiA+ICsgIFVJTlQ2NCAgICBSZXNlcnZlZF8yODsNCj4gPiArICBV SU5UNjQgICAgSVNUWzddOw0KPiA+ICsgIFVJTlQ2NCAgICBSZXNlcnZlZF85MjsNCj4gPiArICBV SU5UMTYgICAgUmVzZXJ2ZWRfMTAwOw0KPiA+ICsgIFVJTlQxNiAgICBJT01hcEJhc2VBZGRyZXNz Ow0KPiA+ICt9IElBMzJfVEFTS19TVEFURV9TRUdNRU5UOw0KPiA+ICsNCj4gPiArdHlwZWRlZiBz dHJ1Y3Qgew0KPiA+ICsgIFVJTlQxNiAgICBMaW1pdDE1XzA7DQo+ID4gKyAgVUlOVDE2ICAgIEJh c2UxNV8wOw0KPiA+ICsgIFVJTlQ4ICAgICBCYXNlMjNfMTY7DQo+ID4gKyAgVUlOVDggICAgIFR5 cGU7DQo+ID4gKyAgVUlOVDggICAgIExpbWl0MTlfMTZfYW5kX2ZsYWdzOw0KPiA+ICsgIFVJTlQ4 ICAgICBCYXNlMzFfMjQ7DQo+ID4gKyAgVUlOVDMyICAgIEJhc2U2M18zMjsNCj4gPiArICBVSU5U MzIgICAgUmVzZXJ2ZWQ7DQo+ID4gK30gSUEzMl9UU1NfREVTQ1JJUFRPUjsNCj4gPiArDQo+ID4g K3R5cGVkZWYgc3RydWN0IHsNCj4gPiArICBJQTMyX1RTU19ERVNDUklQVE9SICAgICAgICAgICBU c3NTZWc7DQo+ID4gKyAgSUEzMl9UQVNLX1NUQVRFX1NFR01FTlQgICAgICAgVHNzOw0KPiA+ICt9 IFRTU19FTlRSSUVTOw0KPiA+ICsNCj4gPiArI3ByYWdtYSBwYWNrICgpDQo+ID4gKw0KPiA+ICsj ZGVmaW5lIFRTU19TRUwgICAgICAgICAgIE9GRlNFVF9PRiAoVFNTX0VOVFJJRVMsIFRzc1NlZykN Cj4gPiArI2RlZmluZSBUU1NfT0ZGU0VUICAgICAgICBPRkZTRVRfT0YgKFRTU19FTlRSSUVTLCBU c3MpDQo+ID4gKw0KPiA+ICAjZW5kaWYNCj4gPiBkaWZmIC0tZ2l0DQo+ID4gYS9VZWZpQ3B1UGtn L0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvRXhjZXB0aW9uSGFuZGxlckFzbS5T DQo+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvRXhj ZXB0aW9uSGFuZGxlckFzbS5TDQo+ID4gaW5kZXggZWRkMzYzY2RhYS4uYmRhZjEzMmNmNSAxMDA2 NDQNCj4gPiAtLS0NCj4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxp Yi9YNjQvRXhjZXB0aW9uSGFuZGxlckFzbS5TDQo+ID4gKysrDQo+ID4gYi9VZWZpQ3B1UGtnL0xp YnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvRXhjZXB0aW9uSGFuZGxlckFzbS5TDQo+ ID4gQEAgLTQyOSw2ICs0MjksMTggQEAgQVNNX1BGWChBc21WZWN0b3JOdW1GaXh1cCk6DQo+ID4g ICAgICBwb3BxICAgICAgJXJicA0KPiA+ICAgICAgcmV0DQo+ID4NCj4gPiArIy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPiA+ICsjIFZPSUQNCj4gPiArIyBBc21Xcml0ZVRyICgNCj4gPiArIyAgIFVJ TlQxNiBTZWxlY3Rvcg0KPiA+ICsjICAgKTsNCj4gPiArIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K PiA+ICtBU01fR0xPQkFMIEFTTV9QRlgoQXNtV3JpdGVUcikNCj4gPiArQVNNX1BGWChBc21Xcml0 ZVRyKToNCj4gPiArICAgIG1vdmwgICAgJWVjeCwgJWVheA0KPiA+ICsgICAgbHRydyAgICAlYXgN Cj4gPiArICAgIHJldA0KPiA+ICsNCj4gPiAgI0VORA0KPiA+DQo+ID4NCj4gPiBkaWZmIC0tZ2l0 DQo+ID4NCj4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQv RXhjZXB0aW9uSGFuZGxlckFzbS5hc20NCj4gPg0KPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVF eGNlcHRpb25IYW5kbGVyTGliL1g2NC9FeGNlcHRpb25IYW5kbGVyQXNtLmFzbQ0KPiA+IGluZGV4 IDcyNmM2NGExNDAuLmFlYzU2ZWY0YmYgMTAwNjQ0DQo+ID4gLS0tDQo+ID4NCj4gYS9VZWZpQ3B1 UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvRXhjZXB0aW9uSGFuZGxlckFz bS5hc20NCj4gPiArKysNCj4gPg0KPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25I YW5kbGVyTGliL1g2NC9FeGNlcHRpb25IYW5kbGVyQXNtLmFzbQ0KPiA+IEBAIC0zODYsNCArMzg2 LDE2IEBAIEFzbVZlY3Rvck51bUZpeHVwICAgUFJPQw0KPiA+ICAgICAgcmV0DQo+ID4gIEFzbVZl Y3Rvck51bUZpeHVwICAgRU5EUA0KPiA+DQo+ID4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4g PiArOyBWT0lEDQo+ID4gKzsgQXNtV3JpdGVUciAoDQo+ID4gKzsgICBVSU5UMTYgU2VsZWN0b3IN Cj4gPiArOyAgICk7DQo+ID4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiArQXNtV3JpdGVU ciBQUk9DIFBVQkxJQw0KPiA+ICsgICAgbW92ICAgICBlYXgsIGVjeA0KPiA+ICsgICAgbHRyICAg ICBheA0KPiA+ICsgICAgcmV0DQo+ID4gK0FzbVdyaXRlVHIgRU5EUA0KPiA+ICsNCj4gPiAgRU5E DQo+ID4gZGlmZiAtLWdpdA0KPiA+DQo+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlv bkhhbmRsZXJMaWIvWDY0L0V4Y2VwdGlvbkhhbmRsZXJBc20ubmFzbQ0KPiA+DQo+IGIvVWVmaUNw dVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvWDY0L0V4Y2VwdGlvbkhhbmRsZXJB c20ubmFzbQ0KPiA+IGluZGV4IGJhODk5M2Q4NGIuLjFlMmFjNDExYjAgMTAwNjQ0DQo+ID4gLS0t DQo+ID4NCj4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQv RXhjZXB0aW9uSGFuZGxlckFzbS5uYXNtDQo+ID4gKysrDQo+ID4NCj4gYi9VZWZpQ3B1UGtnL0xp YnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvRXhjZXB0aW9uSGFuZGxlckFzbS5uYXNt DQo+ID4gQEAgLTM4NSwzICszODUsMTUgQEAgQVNNX1BGWChBc21WZWN0b3JOdW1GaXh1cCk6DQo+ ID4gICAgICBtb3YgICAgIFtyY3ggKyAoQFZlY3Rvck51bSAtIEhvb2tBZnRlclN0dWJIZWFkZXJC ZWdpbildLCBhbA0KPiA+ICAgICAgcmV0DQo+ID4NCj4gPiArOy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPiA+ICs7IFZPSUQNCj4gPiArOyBBc21Xcml0ZVRyICgNCj4gPiArOyAgIFVJTlQxNiBTZWxl Y3Rvcg0KPiA+ICs7ICAgKTsNCj4gPiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICtnbG9i YWwgQVNNX1BGWChBc21Xcml0ZVRyKQ0KPiA+ICtBU01fUEZYKEFzbVdyaXRlVHIpOg0KPiA+ICsg ICAgbW92ICAgICBlYXgsIGVjeA0KPiA+ICsgICAgbHRyICAgICBheA0KPiA+ICsgICAgcmV0DQo+ ID4gKw0KPiA+IC0tDQo+ID4gMi4xNC4xLndpbmRvd3MuMQ0KPg0KPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBlZGsyLWRldmVsIG1haWxpbmcgbGlz dA0KPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5v cmc+DQo+IGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbA0K Pg0KPg0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K PiBlZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiBo dHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCg0K