From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web12.1228.1575421410162911824 for ; Tue, 03 Dec 2019 17:03:30 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: hao.a.wu@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Dec 2019 17:03:29 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,275,1571727600"; d="scan'208";a="242635193" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga002.fm.intel.com with ESMTP; 03 Dec 2019 17:03:29 -0800 Received: from fmsmsx101.amr.corp.intel.com (10.18.124.199) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 3 Dec 2019 17:03:29 -0800 Received: from shsmsx105.ccr.corp.intel.com (10.239.4.158) by fmsmsx101.amr.corp.intel.com (10.18.124.199) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 3 Dec 2019 17:03:28 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.90]) by SHSMSX105.ccr.corp.intel.com ([169.254.11.72]) with mapi id 14.03.0439.000; Wed, 4 Dec 2019 09:03:26 +0800 From: "Wu, Hao A" To: Philippe Mathieu-Daude , "devel@edk2.groups.io" CC: Antoine Coeur Subject: Re: [PATCH 72/79] SourceLevelDebugPkg/DebugAgent: Fix various typos Thread-Topic: [PATCH 72/79] SourceLevelDebugPkg/DebugAgent: Fix various typos Thread-Index: AQHVqfWe8AulvlNt5Ui/V/QLxXGj86epKTqA Date: Wed, 4 Dec 2019 01:03:26 +0000 Message-ID: References: <20191203161602.15969-1-philmd@redhat.com> <20191203161602.15969-73-philmd@redhat.com> In-Reply-To: <20191203161602.15969-73-philmd@redhat.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: hao.a.wu@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBQaGlsaXBwZSBNYXRoaWV1LURh dWRlIFttYWlsdG86cGhpbG1kQHJlZGhhdC5jb21dDQo+IFNlbnQ6IFdlZG5lc2RheSwgRGVjZW1i ZXIgMDQsIDIwMTkgMTI6MTYgQU0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENjOiBB bnRvaW5lIENvZXVyOyBXdSwgSGFvIEE7IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZGUNCj4gU3ViamVj dDogW1BBVENIIDcyLzc5XSBTb3VyY2VMZXZlbERlYnVnUGtnL0RlYnVnQWdlbnQ6IEZpeCB2YXJp b3VzIHR5cG9zDQo+IA0KPiBGcm9tOiBBbnRvaW5lIENvZXVyIDxjb2V1ckBnbXguZnI+DQo+IA0K PiBGaXggdmFyaW91cyB0eXBvcyBpbiBkb2N1bWVudGF0aW9uLCBjb21tZW50cyBhbmQgZGVidWcg c3RyaW5ncy4NCg0KDQpSZXZpZXdlZC1ieTogSGFvIEEgV3UgPGhhby5hLnd1QGludGVsLmNvbT4N Cg0KQmVzdCBSZWdhcmRzLA0KSGFvIFd1DQoNCg0KPiANCj4gQ2M6IEhhbyBBIFd1IDxoYW8uYS53 dUBpbnRlbC5jb20+DQo+IFJldmlld2VkLWJ5OiBQaGlsaXBwZSBNYXRoaWV1LURhdWRlIDxwaGls bWRAcmVkaGF0LmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogUGhpbGlwcGUgTWF0aGlldS1EYXVkZSA8 cGhpbG1kQHJlZGhhdC5jb20+DQo+IC0tLQ0KPiAgU291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5 L0RlYnVnQWdlbnQvRGVidWdBZ2VudENvbW1vbi9EZWJ1Z01wLmgNCj4gfCAgNiArLS0NCj4gDQo+ IFNvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0RlYnVnQWdlbnRDb21tb24v SWEzMi9BcmNoRGUNCj4gYnVnU3VwcG9ydC5oIHwgIDIgKy0NCj4gDQo+IFNvdXJjZUxldmVsRGVi dWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0RlYnVnQWdlbnRDb21tb24vSWEzMi9EZWJ1Z0UNCj4g eGNlcHRpb24uaCAgIHwgIDIgKy0NCj4gDQo+IFNvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9E ZWJ1Z0FnZW50L0RlYnVnQWdlbnRDb21tb24vWDY0L0FyY2hEZWINCj4gdWdTdXBwb3J0LmggIHwg IDIgKy0NCj4gDQo+IFNvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0RlYnVn QWdlbnRDb21tb24vWDY0L0RlYnVnRXgNCj4gY2VwdGlvbi5oICAgIHwgIDIgKy0NCj4gIFNvdXJj ZUxldmVsRGVidWdQa2cvRGVidWdBZ2VudER4ZS9EZWJ1Z0FnZW50RHhlLmMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfA0KPiAyICstDQo+ICBTb3VyY2VMZXZlbERlYnVnUGtnL0RlYnVn QWdlbnRQZWkvRGVidWdBZ2VudFBlaS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDINCj4gKy0NCj4gDQo+IFNvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0Rl YnVnQWdlbnRDb21tb24vRGVidWdBZ2VudC4NCj4gYyAgICAgICAgICAgIHwgNTIgKysrKysrKysr Ky0tLS0tLS0tLS0NCj4gDQo+IFNvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50 L0R4ZURlYnVnQWdlbnQvRHhlRGVidWdBZ2VudExpDQo+IGIuYyAgICAgICAgIHwgIDIgKy0NCj4g IFNvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0R4ZURlYnVnQWdlbnQvU2Vy aWFsSW8uYw0KPiB8ICA2ICstLQ0KPiANCj4gU291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0Rl YnVnQWdlbnQvU2VjUGVpRGVidWdBZ2VudC9TZWNQZWlEZWJ1Z0FnDQo+IGVudExpYi5jICAgfCAx MCArKy0tDQo+IA0KPiBTb3VyY2VMZXZlbERlYnVnUGtnL0xpYnJhcnkvRGVidWdBZ2VudC9TbW1E ZWJ1Z0FnZW50L1NtbURlYnVnQWdlbnQNCj4gTGliLmMgICAgICAgICB8IDEwICsrLS0NCj4gDQo+ IFNvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0RlYnVnQWdlbnRDb21tb24v SWEzMi9Bc21GdW4NCj4gY3MubmFzbSAgICAgIHwgIDQgKy0NCj4gIDEzIGZpbGVzIGNoYW5nZWQs IDUxIGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdA0KPiBh L1NvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0RlYnVnQWdlbnRDb21tb24v RGVidWdNcC4NCj4gaA0KPiBiL1NvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50 L0RlYnVnQWdlbnRDb21tb24vRGVidWdNcC4NCj4gaA0KPiBpbmRleCA3MWQ3ODAyZDE1NDguLjA3 ZGRjY2FkMzM1ZCAxMDA2NDQNCj4gLS0tDQo+IGEvU291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5 L0RlYnVnQWdlbnQvRGVidWdBZ2VudENvbW1vbi9EZWJ1Z01wLg0KPiBoDQo+ICsrKw0KPiBiL1Nv dXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0RlYnVnQWdlbnRDb21tb24vRGVi dWdNcC4NCj4gaA0KPiBAQCAtMTcsNyArMTcsNyBAQCB0eXBlZGVmIHN0cnVjdCB7DQo+ICB9IERF QlVHX0NQVV9EQVRBOw0KPiANCj4gIHR5cGVkZWYgc3RydWN0IHsNCj4gLSAgU1BJTl9MT0NLICAg ICAgICAgICAgICAgICBNcENvbnRleHRTcGluTG9jazsgICAvLy88IExvY2sgZm9yIHdyaXR0aW5n IE1QIGNvbnRleHQNCj4gKyAgU1BJTl9MT0NLICAgICAgICAgICAgICAgICBNcENvbnRleHRTcGlu TG9jazsgICAvLy88IExvY2sgZm9yIHdyaXRpbmcgTVAgY29udGV4dA0KPiAgICBTUElOX0xPQ0sg ICAgICAgICAgICAgICAgIERlYnVnUG9ydFNwaW5Mb2NrOyAgIC8vLzwgTG9jayBmb3IgYWNjZXNz IGRlYnVnIHBvcnQNCj4gICAgU1BJTl9MT0NLICAgICAgICAgICAgICAgICBNYWlsYm94U3Bpbkxv Y2s7ICAgICAvLy88IExvY2sgZm9yIGFjY2Vzc2luZyBtYWlsIGJveA0KPiAgICBVSU5UOCAgICAg ICAgICAgICAgICAgICAgIENwdUJyZWFrTWFza1tERUJVR19DUFVfTUFYX0NPVU5ULzhdOyAgICAg ICAgLy8vPA0KPiBCaXRtYXNrIG9mIGFsbCBicmVha2luZyBDUFVzDQo+IEBAIC0yNiw4ICsyNiw4 IEBAIHR5cGVkZWYgc3RydWN0IHsNCj4gICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBCc3BJ bmRleDsgICAgICAgICAgICAvLy88IFByb2Nlc3NvciBpbmRleCB2YWx1ZSBvZiBCU1ANCj4gICAg VUlOVDMyICAgICAgICAgICAgICAgICAgICBCcmVha0F0Q3B1SW5kZXg7ICAgICAvLy88IFByb2Nl c3NvciBpbmRleCB2YWx1ZSBvZiB0aGUNCj4gY3VycmVudCBicmVha2luZyBDUFUNCj4gICAgVUlO VDMyICAgICAgICAgICAgICAgICAgICBEZWJ1Z1RpbWVySW5pdENvdW50OyAvLy88IFJlY29yZCBC U1AncyBpbml0IHRpbWVyIGNvdW50DQo+IC0gIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgSXBp U2VudEJ5QXA7ICAgICAgICAgLy8vPCBUUlVSOiBJUEkgaXMgc2VudCBieSBBUC4gVEFMU0U6IElQ SQ0KPiBpcyBzZW50IGJ5IEJTUA0KPiAtICBCT09MRUFOICAgICAgICAgICAgICAgICAgIFJ1bkNv bW1hbmRTZXQ7ICAgICAgIC8vLzwgVFJVRTogUlVOIGNvbW1tYW5kIGlzDQo+IGV4ZWN1dGluZy4g RkFMU0UgOiBSVU4gY29tbWFuZCBoYXMgYmVlbiBleGVjdXRlZC4NCj4gKyAgQk9PTEVBTiAgICAg ICAgICAgICAgICAgICBJcGlTZW50QnlBcDsgICAgICAgICAvLy88IFRSVUU6IElQSSBpcyBzZW50 IGJ5IEFQLiBGQUxTRTogSVBJDQo+IGlzIHNlbnQgYnkgQlNQDQo+ICsgIEJPT0xFQU4gICAgICAg ICAgICAgICAgICAgUnVuQ29tbWFuZFNldDsgICAgICAgLy8vPCBUUlVFOiBSVU4gY29tbWFuZCBp cw0KPiBleGVjdXRpbmcuIEZBTFNFOiBSVU4gY29tbWFuZCBoYXMgYmVlbiBleGVjdXRlZC4NCj4g IH0gREVCVUdfTVBfQ09OVEVYVDsNCj4gDQo+ICBleHRlcm4gREVCVUdfTVBfQ09OVEVYVCB2b2xh dGlsZSAgIG1EZWJ1Z01wQ29udGV4dDsNCj4gZGlmZiAtLWdpdA0KPiBhL1NvdXJjZUxldmVsRGVi dWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0RlYnVnQWdlbnRDb21tb24vSWEzMi9BcmNoDQo+IERl YnVnU3VwcG9ydC5oDQo+IGIvU291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQv RGVidWdBZ2VudENvbW1vbi9JYTMyL0FyY2gNCj4gRGVidWdTdXBwb3J0LmgNCj4gaW5kZXggZDgx NmJkYWVjZGJlLi4zYWNiMDM1MmJmNzYgMTAwNjQ0DQo+IC0tLQ0KPiBhL1NvdXJjZUxldmVsRGVi dWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0RlYnVnQWdlbnRDb21tb24vSWEzMi9BcmNoDQo+IERl YnVnU3VwcG9ydC5oDQo+ICsrKw0KPiBiL1NvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1 Z0FnZW50L0RlYnVnQWdlbnRDb21tb24vSWEzMi9BcmNoDQo+IERlYnVnU3VwcG9ydC5oDQo+IEBA IC0xLDUgKzEsNSBAQA0KPiAgLyoqIEBmaWxlDQo+IC0gIElBMzIgc3BlY2lmaWMgZGVmaW50aW9u cyBmb3IgZGVidWcgYWdlbnQgbGlicmFyeSBpbnN0YW5jZS4NCj4gKyAgSUEzMiBzcGVjaWZpYyBk ZWZpbml0aW9ucyBmb3IgZGVidWcgYWdlbnQgbGlicmFyeSBpbnN0YW5jZS4NCj4gDQo+ICAgIENv cHlyaWdodCAoYykgMjAxMCAtIDIwMTIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4NCj4gICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQNCj4gZGlmZiAtLWdpdA0KPiBhL1NvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1 Z0FnZW50L0RlYnVnQWdlbnRDb21tb24vSWEzMi9EZWJ1DQo+IGdFeGNlcHRpb24uaA0KPiBiL1Nv dXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0RlYnVnQWdlbnRDb21tb24vSWEz Mi9EZWJ1DQo+IGdFeGNlcHRpb24uaA0KPiBpbmRleCA3NTBiM2U0NzI0ZWIuLjkxNDdmYWJlNmMz ZSAxMDA2NDQNCj4gLS0tDQo+IGEvU291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdl bnQvRGVidWdBZ2VudENvbW1vbi9JYTMyL0RlYnUNCj4gZ0V4Y2VwdGlvbi5oDQo+ICsrKw0KPiBi L1NvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0RlYnVnQWdlbnRDb21tb24v SWEzMi9EZWJ1DQo+IGdFeGNlcHRpb24uaA0KPiBAQCAtMSw1ICsxLDUgQEANCj4gIC8qKiBAZmls ZQ0KPiAtICBFeGNlcHRpb24gZGVmaW50aW9ucy4NCj4gKyAgRXhjZXB0aW9uIGRlZmluaXRpb25z Lg0KPiANCj4gICAgQ29weXJpZ2h0IChjKSAyMDEwLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cyByZXNlcnZlZC48QlI+DQo+ICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtUGF0ZW50DQo+IGRpZmYgLS1naXQNCj4gYS9Tb3VyY2VMZXZlbERlYnVnUGtnL0xpYnJh cnkvRGVidWdBZ2VudC9EZWJ1Z0FnZW50Q29tbW9uL1g2NC9BcmNoRA0KPiBlYnVnU3VwcG9ydC5o DQo+IGIvU291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQvRGVidWdBZ2VudENv bW1vbi9YNjQvQXJjaEQNCj4gZWJ1Z1N1cHBvcnQuaA0KPiBpbmRleCA0ZWUxMmI3NzFlOWMuLjFl NDU5NDFhOTkyNyAxMDA2NDQNCj4gLS0tDQo+IGEvU291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5 L0RlYnVnQWdlbnQvRGVidWdBZ2VudENvbW1vbi9YNjQvQXJjaEQNCj4gZWJ1Z1N1cHBvcnQuaA0K PiArKysNCj4gYi9Tb3VyY2VMZXZlbERlYnVnUGtnL0xpYnJhcnkvRGVidWdBZ2VudC9EZWJ1Z0Fn ZW50Q29tbW9uL1g2NC9BcmNoRA0KPiBlYnVnU3VwcG9ydC5oDQo+IEBAIC0xLDUgKzEsNSBAQA0K PiAgLyoqIEBmaWxlDQo+IC0gIFg2NCBzcGVjaWZpYyBkZWZpbnRpb25zIGZvciBkZWJ1ZyBhZ2Vu dCBsaWJyYXJ5IGluc3RhbmNlLg0KPiArICBYNjQgc3BlY2lmaWMgZGVmaW5pdGlvbnMgZm9yIGRl YnVnIGFnZW50IGxpYnJhcnkgaW5zdGFuY2UuDQo+IA0KPiAgICBDb3B5cmlnaHQgKGMpIDIwMTAg LSAyMDEyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICAg IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+IGRpZmYgLS1n aXQNCj4gYS9Tb3VyY2VMZXZlbERlYnVnUGtnL0xpYnJhcnkvRGVidWdBZ2VudC9EZWJ1Z0FnZW50 Q29tbW9uL1g2NC9EZWJ1Zw0KPiBFeGNlcHRpb24uaA0KPiBiL1NvdXJjZUxldmVsRGVidWdQa2cv TGlicmFyeS9EZWJ1Z0FnZW50L0RlYnVnQWdlbnRDb21tb24vWDY0L0RlYnVnDQo+IEV4Y2VwdGlv bi5oDQo+IGluZGV4IDc1MGIzZTQ3MjRlYi4uOTE0N2ZhYmU2YzNlIDEwMDY0NA0KPiAtLS0NCj4g YS9Tb3VyY2VMZXZlbERlYnVnUGtnL0xpYnJhcnkvRGVidWdBZ2VudC9EZWJ1Z0FnZW50Q29tbW9u L1g2NC9EZWJ1Zw0KPiBFeGNlcHRpb24uaA0KPiArKysNCj4gYi9Tb3VyY2VMZXZlbERlYnVnUGtn L0xpYnJhcnkvRGVidWdBZ2VudC9EZWJ1Z0FnZW50Q29tbW9uL1g2NC9EZWJ1Zw0KPiBFeGNlcHRp b24uaA0KPiBAQCAtMSw1ICsxLDUgQEANCj4gIC8qKiBAZmlsZQ0KPiAtICBFeGNlcHRpb24gZGVm aW50aW9ucy4NCj4gKyAgRXhjZXB0aW9uIGRlZmluaXRpb25zLg0KPiANCj4gICAgQ29weXJpZ2h0 IChjKSAyMDEwLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ ICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+IGRpZmYg LS1naXQgYS9Tb3VyY2VMZXZlbERlYnVnUGtnL0RlYnVnQWdlbnREeGUvRGVidWdBZ2VudER4ZS5j DQo+IGIvU291cmNlTGV2ZWxEZWJ1Z1BrZy9EZWJ1Z0FnZW50RHhlL0RlYnVnQWdlbnREeGUuYw0K PiBpbmRleCA3ZWQ0ZWRiODEwYTEuLjMzZmM5ZjM2NDZkYyAxMDA2NDQNCj4gLS0tIGEvU291cmNl TGV2ZWxEZWJ1Z1BrZy9EZWJ1Z0FnZW50RHhlL0RlYnVnQWdlbnREeGUuYw0KPiArKysgYi9Tb3Vy Y2VMZXZlbERlYnVnUGtnL0RlYnVnQWdlbnREeGUvRGVidWdBZ2VudER4ZS5jDQo+IEBAIC00MSw3 ICs0MSw3IEBAIERpc2FibGVEZWJ1Z1RpbWVyRXhpdEJvb3RTZXJ2aWNlICgNCj4gICAgQHBhcmFt W2luXSBTeXN0ZW1UYWJsZSAgICBBIHBvaW50ZXIgdG8gdGhlIEVGSSBTeXN0ZW0gVGFibGUuDQo+ IA0KPiAgICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgIFRoZSBlbnRyeSBwb2ludCBpcyBleGVj dXRlZCBzdWNjZXNzZnVsbHkuDQo+IC0gIEByZXR2YWwgb3RoZXIgICAgICAgICAgICAgU29tZSBl cnJvciBvY2N1cnMgd2hlbiBpbml0aWFsemVkIERlYnVnIEFnZW50Lg0KPiArICBAcmV0dmFsIG90 aGVyICAgICAgICAgICAgIFNvbWUgZXJyb3Igb2NjdXJzIHdoZW4gaW5pdGlhbGl6ZWQgRGVidWcg QWdlbnQuDQo+IA0KPiAgKiovDQo+ICBFRklfU1RBVFVTDQo+IGRpZmYgLS1naXQgYS9Tb3VyY2VM ZXZlbERlYnVnUGtnL0RlYnVnQWdlbnRQZWkvRGVidWdBZ2VudFBlaS5jDQo+IGIvU291cmNlTGV2 ZWxEZWJ1Z1BrZy9EZWJ1Z0FnZW50UGVpL0RlYnVnQWdlbnRQZWkuYw0KPiBpbmRleCA0ZWYxOTQ1 Y2Q4OGUuLmZjMmE4Zjc1YWJmNyAxMDA2NDQNCj4gLS0tIGEvU291cmNlTGV2ZWxEZWJ1Z1BrZy9E ZWJ1Z0FnZW50UGVpL0RlYnVnQWdlbnRQZWkuYw0KPiArKysgYi9Tb3VyY2VMZXZlbERlYnVnUGtn L0RlYnVnQWdlbnRQZWkvRGVidWdBZ2VudFBlaS5jDQo+IEBAIC0yMSw3ICsyMSw3IEBAIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICAgIEBwYXJhbVtpbl0g IFBlaVNlcnZpY2VzICBQb2ludGVyIHRvIFBFSSBTZXJ2aWNlcyBUYWJsZQ0KPiANCj4gICAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICBEZWJ1ZyBBZ2VudCBzdWNjZXNzZnVsbHkgaW5pdGlhbGl6ZWQu DQo+IC0gIEByZXR2YWwgb3RoZXIgICAgICAgICAgU29tZSBlcnJvciBvY2N1cnMgd2hlbiBpbml0 aWFsemVkIERlYnVnIEFnZW50Lg0KPiArICBAcmV0dmFsIG90aGVyICAgICAgICAgIFNvbWUgZXJy b3Igb2NjdXJzIHdoZW4gaW5pdGlhbGl6ZWQgRGVidWcgQWdlbnQuDQo+IA0KPiAgKiovDQo+ICBF RklfU1RBVFVTDQo+IGRpZmYgLS1naXQNCj4gYS9Tb3VyY2VMZXZlbERlYnVnUGtnL0xpYnJhcnkv RGVidWdBZ2VudC9EZWJ1Z0FnZW50Q29tbW9uL0RlYnVnQWdlDQo+IG50LmMNCj4gYi9Tb3VyY2VM ZXZlbERlYnVnUGtnL0xpYnJhcnkvRGVidWdBZ2VudC9EZWJ1Z0FnZW50Q29tbW9uL0RlYnVnQWdl DQo+IG50LmMNCj4gaW5kZXggM2FiNGE4MTU4OWM4Li44MDIxNDM3Y2E5MDMgMTAwNjQ0DQo+IC0t LQ0KPiBhL1NvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0RlYnVnQWdlbnRD b21tb24vRGVidWdBZ2UNCj4gbnQuYw0KPiArKysNCj4gYi9Tb3VyY2VMZXZlbERlYnVnUGtnL0xp YnJhcnkvRGVidWdBZ2VudC9EZWJ1Z0FnZW50Q29tbW9uL0RlYnVnQWdlDQo+IG50LmMNCj4gQEAg LTEsNSArMSw1IEBADQo+ICAvKiogQGZpbGUNCj4gLSAgQ29tbW9uZCBEZWJ1ZyBBZ2VudCBsaWJy YXJ5IGltcGxlbWVudGl0aW9uLiBJdCBtYWlubHkgaW5jbHVkZXMNCj4gKyAgQ29tbW9uZCBEZWJ1 ZyBBZ2VudCBsaWJyYXJ5IGltcGxlbWVudGF0aW9uLiBJdCBtYWlubHkgaW5jbHVkZXMNCj4gICAg dGhlIGZpcnN0IEMgZnVuY3Rpb24gY2FsbGVkIGJ5IGV4Y2VwdGlvbi9pbnRlcnJ1cHQgaGFuZGxl cnMsDQo+ICAgIHJlYWQvd3JpdGUgZGVidWcgcGFja2V0IHRvIGNvbW11bmljYXRpb24gd2l0aCBI T1NUIGJhc2VkIG9uIHRyYW5zZmVyDQo+ICAgIHByb3RvY29sLg0KPiBAQCAtNTk0LDcgKzU5NCw3 IEBAIERlYnVnQWdlbnREYXRhTXNnUHJpbnQgKA0KPiAgICAgIEluZGV4ICsrOw0KPiAgICAgIGlm IChJbmRleCA+PSBMZW5ndGgpIHsNCj4gICAgICAgIC8vDQo+IC0gICAgICAvLyBUaGUgbGFzdCBj aGFyYWN0ZXIgb2YgZGVidWcgbWVzc2FnZSBoYXMgYmVlbiBmb3JhbXR0ZWQgaW4gYnVmZmVyDQo+ ICsgICAgICAvLyBUaGUgbGFzdCBjaGFyYWN0ZXIgb2YgZGVidWcgbWVzc2FnZSBoYXMgYmVlbiBm b3JtYXR0ZWQgaW4gYnVmZmVyDQo+ICAgICAgICAvLw0KPiAgICAgICAgRGVzdEJ1ZmZlciArPSBB c2NpaVNQcmludChEZXN0QnVmZmVyLA0KPiBERUJVR19EQVRBX01BWElNVU1fUkVBTF9EQVRBIC0g KERlc3RCdWZmZXIgLSBCdWZmZXIpLCAiXVxuIik7DQo+ICAgICAgICBTZW5kRGVidWdNc2dQYWNr ZXQgKEJ1ZmZlciwgRGVzdEJ1ZmZlciAtIEJ1ZmZlcik7DQo+IEBAIC03MjMsNyArNzIzLDcgQEAg U2V0RGVidWdTZXR0aW5nICgNCj4gIH0NCj4gDQo+ICAvKioNCj4gLSAgRXhlY3R1ZSBHTyBjb21t YW5kLg0KPiArICBFeGVjdXRlIEdPIGNvbW1hbmQuDQo+IA0KPiAgICBAcGFyYW1baW5dIENwdUNv bnRleHQgICAgICAgIFBvaW50ZXIgdG8gc2F2ZWQgQ1BVIGNvbnRleHQuDQo+IA0KPiBAQCAtMTA4 MSwxMiArMTA4MSwxMiBAQCBEZWNvbXByZXNzRGF0YUluUGxhY2UgKA0KPiAgICBAcGFyYW1bb3V0 XSBJbmNvbXBhdGliaWxpdHlGbGFnIElmIEluY29tcGF0aWJpbGl0eUZsYWcgaXMgbm90IE5VTEws IHJldHVybg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUU6ICBDb21w YXRpYmxlIHBhY2tldCByZWNlaXZlZC4NCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBGQUxTRTogSW5jb21wYXRpYmxlIHBhY2tldCByZWNlaXZlZC4NCj4gLSAgQHBhcmFtW2lu XSAgVGltZW91dCAgICAgICAgICAgICBUaW1lIG91dCB2YWx1ZSB0byB3YWl0IGZvciBhY2tub3ds ZWdlIGZyb20NCj4gSE9TVC4NCj4gKyAgQHBhcmFtW2luXSAgVGltZW91dCAgICAgICAgICAgICBU aW1lIG91dCB2YWx1ZSB0byB3YWl0IGZvciBhY2tub3dsZWRnZSBmcm9tDQo+IEhPU1QuDQo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHVuaXQgaXMgbWljcm9zZWNvbmQu DQo+ICAgIEBwYXJhbVtpbl0gIFNraXBTdGFydFN5bWJvbCAgICAgVFJVRTogIFNraXAgdGltZSBv dXQgd2hlbiByZWFkaW5nIHN0YXJ0DQo+IHN5bWJvbC4NCj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBGQUxTRTogRG9lcyBub3QgU2tpcCB0aW1lIG91dCB3aGVuIHJlYWRpbmcg c3RhcnQgc3ltYm9sLg0KPiANCj4gLSAgQHJldHZhbCBSRVRVUk5fU1VDQ0VTUyAgIEEgdmFsaWQg cGFja2FnZSB3YXMgcmV2ZWl2ZWQgaW4gSW5wdXRQYWNrZXQuDQo+ICsgIEByZXR2YWwgUkVUVVJO X1NVQ0NFU1MgICBBIHZhbGlkIHBhY2thZ2Ugd2FzIHJlY2VpdmVkIGluIElucHV0UGFja2V0Lg0K PiAgICBAcmV0dmFsIFJFVFVSTl9USU1FT1VUICAgVGltZW91dCBvY2N1cnMuDQo+IA0KPiAgKiov DQo+IEBAIC0xMTkwLDE3ICsxMTkwLDE3IEBAIFJlY2VpdmVQYWNrZXQgKA0KPiAgICBSZWNlaXZl IGFja25vd2xlZGdlIHBhY2tldCBPSyBmcm9tIEhPU1QgaW4gc3BlY2lmaWVkIHRpbWUuDQo+IA0K PiAgICBAcGFyYW1baW5dICBDb21tYW5kICAgICAgICAgICAgIFRoZSBjb21tYW5kIHR5cGUgaXNz dWVkIGJ5IFRBUkdFVC4NCj4gLSAgQHBhcmFtW2luXSAgVGltZW91dCAgICAgICAgICAgICBUaW1l IG91dCB2YWx1ZSB0byB3YWl0IGZvciBhY2tub3dsZWdlIGZyb20NCj4gSE9TVC4NCj4gKyAgQHBh cmFtW2luXSAgVGltZW91dCAgICAgICAgICAgICBUaW1lIG91dCB2YWx1ZSB0byB3YWl0IGZvciBh Y2tub3dsZWRnZSBmcm9tDQo+IEhPU1QuDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgVGhlIHVuaXQgaXMgbWljcm9zZWNvbmQuDQo+ICAgIEBwYXJhbVtvdXRdIEJyZWFrUmVj ZWl2ZWQgICAgICAgSWYgQnJlYWtSZWNlaXZlZCBpcyBub3QgTlVMTCwNCj4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBUUlVFIGlzIHJldHVyZWQgaWYgYnJlYWstaW4gc3ltYm9s IHJlY2VpdmVkLg0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFIGlz IHJldHVyZWQgaWYgYnJlYWstaW4gc3ltYm9sIG5vdCByZWNlaXZlZC4NCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBUUlVFIGlzIHJldHVybmVkIGlmIGJyZWFrLWluIHN5bWJv bCByZWNlaXZlZC4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSBp cyByZXR1cm5lZCBpZiBicmVhay1pbiBzeW1ib2wgbm90IHJlY2VpdmVkLg0KPiAgICBAcGFyYW1b b3V0XSBJbmNvbXBhdGliaWxpdHlGbGFnIElmIEluY29tcGF0aWJpbGl0eUZsYWcgaXMgbm90IE5V TEwsIHJldHVybg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUU6ICBD b21wYXRpYmxlIHBhY2tldCByZWNlaXZlZC4NCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBGQUxTRTogSW5jb21wYXRpYmxlIHBhY2tldCByZWNlaXZlZC4NCj4gDQo+IC0gIEBy ZXR2YWwgIFJFVFJVRU5fU1VDQ0VTUyAgU3VjY2VlZCB0byByZWNlaXZlIGFja25vd2xlZ2UgcGFj a2V0IGZyb20NCj4gSE9TVCwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgdHlw ZSBvZiBhY2tub3dsZWdlIHBhY2tldCBzYXZlZCBpbiBBY2suDQo+ICsgIEByZXR2YWwgIFJFVFVS Tl9TVUNDRVNTICAgU3VjY2VlZCB0byByZWNlaXZlIGFja25vd2xlZGdlIHBhY2tldCBmcm9tDQo+ IEhPU1QsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHR5cGUgb2YgYWNrbm93 bGVkZ2UgcGFja2V0IHNhdmVkIGluIEFjay4NCj4gICAgQHJldHZhbCAgUkVUVVJOX1RJTUVPVVQg ICBTcGVjaWZpZWQgdGltZW91dCB2YWx1ZSB3YXMgdXAuDQo+IA0KPiAgKiovDQo+IEBAIC0xNDk3 LDcgKzE0OTcsNyBAQCBDb21wcmVzc0RhdGEgKA0KPiAgfQ0KPiANCj4gIC8qKg0KPiAtICBSZWFk IG1lbW9yeSB3aXRoIHNwZWljaWZlZCB3aWR0aCBhbmQgc2VuZCBwYWNrZXQgd2l0aCByZXNwb25z ZSBkYXRhIHRvDQo+IEhPU1QuDQo+ICsgIFJlYWQgbWVtb3J5IHdpdGggc3BlY2lmaWVkIHdpZHRo IGFuZCBzZW5kIHBhY2tldCB3aXRoIHJlc3BvbnNlIGRhdGEgdG8NCj4gSE9TVC4NCj4gDQo+ICAg IEBwYXJhbVtpbl0gRGF0YSAgICAgICAgUG9pbnRlciB0byByZXNwb25zZSBkYXRhIGJ1ZmZlci4N Cj4gICAgQHBhcmFtW2luXSBDb3VudCAgICAgICBUaGUgbnVtYmVyIG9mIGRhdGEgd2l0aCBzcGVj aWZpZWQgV2lkdGguDQo+IEBAIC0xNjY5LDE2ICsxNjY5LDE2IEBAIFNlbmREYXRhUmVzcG9uc2VQ YWNrZXQgKA0KPiAgICBUcnkgdG8gYXR0YWNoIHRoZSBIT1NULg0KPiANCj4gICAgU2VuZCBpbml0 IGJyZWFrIHBhY2tldCB0byBIT1NUOg0KPiAtICBJZiBubyBhY2tub3dsZWdlIHJlY2VpdmVkIGlu IHNwZWNpZmllZCBUaW1lb3V0LCByZXR1cm4gUkVUVVJOX1RJTUVPVVQuDQo+IC0gIElmIHJlY2Vp dmVkIGFja25vd2xlZ2UsIGNoZWNrIHRoZSByZXZpc2lvbiBvZiBIT1NULg0KPiArICBJZiBubyBh Y2tub3dsZWRnZSByZWNlaXZlZCBpbiBzcGVjaWZpZWQgVGltZW91dCwgcmV0dXJuIFJFVFVSTl9U SU1FT1VULg0KPiArICBJZiByZWNlaXZlZCBhY2tub3dsZWRnZSwgY2hlY2sgdGhlIHJldmlzaW9u IG9mIEhPU1QuDQo+ICAgIFNldCBBdHRhY2ggRmxhZyBpZiBhdHRhY2ggc3VjY2Vzc2Z1bGx5Lg0K PiANCj4gICAgQHBhcmFtW2luXSAgQnJlYWtDYXVzZSAgICAgQnJlYWsgY2F1c2Ugb2YgdGhpcyBi cmVhayBldmVudC4NCj4gLSAgQHBhcmFtW2luXSAgVGltZW91dCAgICAgICAgVGltZSBvdXQgdmFs dWUgdG8gd2FpdCBmb3IgYWNrbm93bGVnZSBmcm9tIEhPU1QuDQo+ICsgIEBwYXJhbVtpbl0gIFRp bWVvdXQgICAgICAgIFRpbWUgb3V0IHZhbHVlIHRvIHdhaXQgZm9yIGFja25vd2xlZGdlIGZyb20N Cj4gSE9TVC4NCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHVuaXQgaXMgbWlj cm9zZWNvbmQuDQo+ICAgIEBwYXJhbVtvdXRdIEJyZWFrUmVjZWl2ZWQgIElmIEJyZWFrUmVjZWl2 ZWQgaXMgbm90IE5VTEwsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUgaXMg cmV0dXJlZCBpZiBicmVhay1pbiBzeW1ib2wgcmVjZWl2ZWQuDQo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEZBTFNFIGlzIHJldHVyZWQgaWYgYnJlYWstaW4gc3ltYm9sIG5vdCByZWNl aXZlZC4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSBpcyByZXR1cm5lZCBp ZiBicmVhay1pbiBzeW1ib2wgcmVjZWl2ZWQuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEZBTFNFIGlzIHJldHVybmVkIGlmIGJyZWFrLWluIHN5bWJvbCBub3QgcmVjZWl2ZWQuDQo+ ICAqKi8NCj4gIFJFVFVSTl9TVEFUVVMNCj4gIEF0dGFjaEhvc3QgKA0KPiBAQCAtMTczMiw4ICsx NzMyLDggQEAgQXR0YWNoSG9zdCAoDQo+ICAgIEBwYXJhbVtpbl0gIEJyZWFrQ2F1c2UgICAgIEJy ZWFrIGNhdXNlIG9mIHRoaXMgYnJlYWsgZXZlbnQuDQo+ICAgIEBwYXJhbVtpbl0gIFByb2Nlc3Nv ckluZGV4IFByb2Nlc3NvciBpbmRleCB2YWx1ZS4NCj4gICAgQHBhcmFtW291dF0gQnJlYWtSZWNl aXZlZCAgSWYgQnJlYWtSZWNlaXZlZCBpcyBub3QgTlVMTCwNCj4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgVFJVRSBpcyByZXR1cmVkIGlmIGJyZWFrLWluIHN5bWJvbCByZWNlaXZlZC4N Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UgaXMgcmV0dXJlZCBpZiBicmVh ay1pbiBzeW1ib2wgbm90IHJlY2VpdmVkLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBUUlVFIGlzIHJldHVybmVkIGlmIGJyZWFrLWluIHN5bWJvbCByZWNlaXZlZC4NCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UgaXMgcmV0dXJuZWQgaWYgYnJlYWstaW4gc3lt Ym9sIG5vdCByZWNlaXZlZC4NCj4gDQo+ICAqKi8NCj4gIFZPSUQNCj4gQEAgLTE3NzcsNyArMTc3 Nyw3IEBAIFNlbmRCcmVha1BhY2tldFRvSG9zdCAoDQo+IA0KPiAgICBJdCByZWNlaXZlZCB0aGUg Y29tbWFuZCBwYWNrZXQgZnJvbSBIT1NULCBhbmQgc2VudCByZXNwb25zZSBkYXRhIHBhY2tldA0K PiB0byBIT1NULg0KPiANCj4gLSAgQHBhcmFtW2luXSAgICAgIFZlY3RvciAgICAgICAgIFZlY3Rv ciB2YWx1ZSBvZiBleGNlcHRpb24gb3IgaW50ZXJydXRwLg0KPiArICBAcGFyYW1baW5dICAgICAg VmVjdG9yICAgICAgICAgVmVjdG9yIHZhbHVlIG9mIGV4Y2VwdGlvbiBvciBpbnRlcnJ1cHQuDQo+ ICAgIEBwYXJhbVtpbiwgb3V0XSBDcHVDb250ZXh0ICAgICBQb2ludGVyIHRvIHNhdmVkIENQVSBj b250ZXh0Lg0KPiAgICBAcGFyYW1baW5dICAgICAgQnJlYWtSZWNlaXZlZCAgVFJVRSBtZWFucyBi cmVhay1pbiBzeW1ib2wgcmVjZWl2ZWQuDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBGQUxTRSBtZWFucyBicmVhay1pbiBzeW1ib2wgbm90IHJlY2VpdmVkLg0KPiBAQCAtMTg4 MSwyMCArMTg4MSwyMCBAQCBDb21tYW5kQ29tbXVuaWNhdGlvbiAoDQo+IA0KPiAgICAgIE1haWxi b3ggPSBHZXRNYWlsYm94UG9pbnRlciAoKTsNCj4gICAgICBpZiAoRGVidWdIZWFkZXItPlNlcXVl bmNlTm8gPT0gTWFpbGJveC0+SG9zdFNlcXVlbmNlTm8pIHsNCj4gLSAgICAgIERlYnVnQWdlbnRN c2dQcmludCAoREVCVUdfQUdFTlRfV0FSTklORywgIlRBUkdFVDogUmVjZWl2ZSBvbmUNCj4gb2xk IGNvbW1hbmRbJXhdIGFnYWlzdCBjb21tYW5kWyV4XVxuIiwgRGVidWdIZWFkZXItPlNlcXVlbmNl Tm8sDQo+IE1haWxib3gtPkhvc3RTZXF1ZW5jZU5vKTsNCj4gKyAgICAgIERlYnVnQWdlbnRNc2dQ cmludCAoREVCVUdfQUdFTlRfV0FSTklORywgIlRBUkdFVDogUmVjZWl2ZSBvbmUNCj4gb2xkIGNv bW1hbmRbJXhdIGFnYWluc3QgY29tbWFuZFsleF1cbiIsIERlYnVnSGVhZGVyLT5TZXF1ZW5jZU5v LA0KPiBNYWlsYm94LT5Ib3N0U2VxdWVuY2VObyk7DQo+ICAgICAgICBTZW5kQWNrUGFja2V0IChN YWlsYm94LT5MYXN0QWNrKTsNCj4gICAgICAgIFJlbGVhc2VNcFNwaW5Mb2NrICgmbURlYnVnTXBD b250ZXh0LkRlYnVnUG9ydFNwaW5Mb2NrKTsNCj4gICAgICAgIGNvbnRpbnVlOw0KPiAgICAgIH0g ZWxzZSBpZiAoRGVidWdIZWFkZXItPlNlcXVlbmNlTm8gPT0gKFVJTlQ4KSAoTWFpbGJveC0+SG9z dFNlcXVlbmNlTm8NCj4gKyAxKSkgew0KPiAgICAgICAgVXBkYXRlTWFpbGJveENvbnRlbnQgKE1h aWxib3gsDQo+IERFQlVHX01BSUxCT1hfSE9TVF9TRVFVRU5DRV9OT19JTkRFWCwgKFVJTlQ4KSBE ZWJ1Z0hlYWRlci0NCj4gPlNlcXVlbmNlTm8pOw0KPiAgICAgIH0gZWxzZSB7DQo+IC0gICAgICBE ZWJ1Z0FnZW50TXNnUHJpbnQgKERFQlVHX0FHRU5UX1dBUk5JTkcsICJSZWNlaXZlIG9uZSBpbnZh bGlkDQo+IGNvbWFtbmRbJXhdIGFnYWlzdCBjb21tYW5kWyV4XVxuIiwgRGVidWdIZWFkZXItPlNl cXVlbmNlTm8sIE1haWxib3gtDQo+ID5Ib3N0U2VxdWVuY2VObyk7DQo+ICsgICAgICBEZWJ1Z0Fn ZW50TXNnUHJpbnQgKERFQlVHX0FHRU5UX1dBUk5JTkcsICJSZWNlaXZlIG9uZSBpbnZhbGlkDQo+ IGNvbW1hbmRbJXhdIGFnYWluc3QgY29tbWFuZFsleF1cbiIsIERlYnVnSGVhZGVyLT5TZXF1ZW5j ZU5vLCBNYWlsYm94LQ0KPiA+SG9zdFNlcXVlbmNlTm8pOw0KPiAgICAgICAgUmVsZWFzZU1wU3Bp bkxvY2sgKCZtRGVidWdNcENvbnRleHQuRGVidWdQb3J0U3BpbkxvY2spOw0KPiAgICAgICAgY29u dGludWU7DQo+ICAgICAgfQ0KPiANCj4gICAgICAvLw0KPiAtICAgIC8vIFNhdmUgQ1BVIGNvbnRl bnQgYmVmb3JlIGV4ZWN1dGluZyBIT1NUIGNvbW1vbmQNCj4gKyAgICAvLyBTYXZlIENQVSBjb250 ZW50IGJlZm9yZSBleGVjdXRpbmcgSE9TVCBjb21tYW5kDQo+ICAgICAgLy8NCj4gICAgICBVcGRh dGVNYWlsYm94Q29udGVudCAoTWFpbGJveCwNCj4gREVCVUdfTUFJTEJPWF9FWENFUFRJT05fQlVG RkVSX1BPSU5URVJfSU5ERVgsIChVSU5UNjQpKFVJTlROKQ0KPiAmQWdlbnRFeGNlcHRpb25CdWZm ZXIuSnVtcEJ1ZmZlcik7DQo+ICAgICAgaWYgKFNldEp1bXAgKCZBZ2VudEV4Y2VwdGlvbkJ1ZmZl ci5KdW1wQnVmZmVyKSAhPSAwKSB7DQo+IEBAIC0yMDE5LDcgKzIwMTksNyBAQCBDb21tYW5kQ29t bXVuaWNhdGlvbiAoDQo+IA0KPiAgICAgICAgfSBlbHNlIHsNCj4gICAgICAgICAgLy8NCj4gLSAg ICAgICAgLy8gSWYgcmV2ZWl2ZWQgSEFMVCBjb21tYW5kLCBuZWVkIHRvIGRlZmVyIHRoZSBHTyBj b21tYW5kDQo+ICsgICAgICAgIC8vIElmIHJlY2VpdmVkIEhBTFQgY29tbWFuZCwgbmVlZCB0byBk ZWZlciB0aGUgR08gY29tbWFuZA0KPiAgICAgICAgICAvLw0KPiAgICAgICAgICBTZW5kQWNrUGFj a2V0IChERUJVR19DT01NQU5EX0hBTFRfUFJPQ0VTU0VEKTsNCj4gICAgICAgICAgSGFsdERlZmVy cmVkID0gRkFMU0U7DQo+IEBAIC0yMzAwLDcgKzIzMDAsNyBAQCBDb21tYW5kQ29tbXVuaWNhdGlv biAoDQo+ICAvKioNCj4gICAgQyBmdW5jdGlvbiBjYWxsZWQgaW4gaW50ZXJydXB0IGhhbmRsZXIu DQo+IA0KPiAtICBAcGFyYW1baW5dIFZlY3RvciAgICAgIFZlY3RvciB2YWx1ZSBvZiBleGNlcHRp b24gb3IgaW50ZXJydXRwLg0KPiArICBAcGFyYW1baW5dIFZlY3RvciAgICAgIFZlY3RvciB2YWx1 ZSBvZiBleGNlcHRpb24gb3IgaW50ZXJydXB0Lg0KPiAgICBAcGFyYW1baW5dIENwdUNvbnRleHQg IFBvaW50ZXIgdG8gc2F2ZSBDUFUgY29udGV4dC4NCj4gDQo+ICAqKi8NCj4gQEAgLTIzNDEsNyAr MjM0MSw3IEBAIEludGVycnVwdFByb2Nlc3MgKA0KPiAgICBpZiAoTXVsdGlQcm9jZXNzb3JEZWJ1 Z1N1cHBvcnQoKSkgew0KPiAgICAgIFByb2Nlc3NvckluZGV4ID0gR2V0UHJvY2Vzc29ySW5kZXgg KCk7DQo+ICAgICAgLy8NCj4gLSAgICAvLyBJZiB0aGlzIHByb2Nlc3NvciBoYXMgYWxyZWF5IGhh bHRlZCBiZWZvcmUsIG5lZWQgdG8gY2hlY2sgaXQgbGF0ZXINCj4gKyAgICAvLyBJZiB0aGlzIHBy b2Nlc3NvciBoYXMgYWxyZWFkeSBoYWx0ZWQgYmVmb3JlLCBuZWVkIHRvIGNoZWNrIGl0IGxhdGVy DQo+ICAgICAgLy8NCj4gICAgICBpZiAoSXNDcHVTdG9wcGVkIChQcm9jZXNzb3JJbmRleCkpIHsN Cj4gICAgICAgIElzc3VlZFZpZXdQb2ludCA9IFByb2Nlc3NvckluZGV4Ow0KPiBAQCAtMjM3Miw3 ICsyMzcyLDcgQEAgSW50ZXJydXB0UHJvY2VzcyAoDQo+IA0KPiAgICBpZiAoTXVsdGlQcm9jZXNz b3JEZWJ1Z1N1cHBvcnQoKSkgew0KPiAgICAgIC8vDQo+IC0gICAgLy8gSWYgUlVOIGNvbW1tYW5k IGlzIGV4ZWN1dGluZywgd2FpdCBmb3IgaXQgZG9uZS4NCj4gKyAgICAvLyBJZiBSVU4gY29tbWFu ZCBpcyBleGVjdXRpbmcsIHdhaXQgZm9yIGl0IGRvbmUuDQo+ICAgICAgLy8NCj4gICAgICB3aGls ZSAobURlYnVnTXBDb250ZXh0LlJ1bkNvbW1hbmRTZXQpIHsNCj4gICAgICAgIENwdVBhdXNlICgp Ow0KPiBkaWZmIC0tZ2l0DQo+IGEvU291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdl bnQvRHhlRGVidWdBZ2VudC9EeGVEZWJ1Z0FnZW50DQo+IExpYi5jDQo+IGIvU291cmNlTGV2ZWxE ZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQvRHhlRGVidWdBZ2VudC9EeGVEZWJ1Z0FnZW50DQo+ IExpYi5jDQo+IGluZGV4IDFmMzg4ZDljMDI4MS4uYmIzN2FhOTliNGQ0IDEwMDY0NA0KPiAtLS0N Cj4gYS9Tb3VyY2VMZXZlbERlYnVnUGtnL0xpYnJhcnkvRGVidWdBZ2VudC9EeGVEZWJ1Z0FnZW50 L0R4ZURlYnVnQWdlbnQNCj4gTGliLmMNCj4gKysrDQo+IGIvU291cmNlTGV2ZWxEZWJ1Z1BrZy9M aWJyYXJ5L0RlYnVnQWdlbnQvRHhlRGVidWdBZ2VudC9EeGVEZWJ1Z0FnZW50DQo+IExpYi5jDQo+ IEBAIC0xLDUgKzEsNSBAQA0KPiAgLyoqIEBmaWxlDQo+IC0gIERlYnVnIEFnZW50IGxpYnJhcnkg aW1wbGVtZW50aXRpb24gZm9yIER4ZSBDb3JlIGFuZCBEeHIgbW9kdWxlcy4NCj4gKyAgRGVidWcg QWdlbnQgbGlicmFyeSBpbXBsZW1lbnRhdGlvbiBmb3IgRHhlIENvcmUgYW5kIER4ciBtb2R1bGVz Lg0KPiANCj4gICAgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog QlNELTItQ2xhdXNlLVBhdGVudA0KPiBkaWZmIC0tZ2l0DQo+IGEvU291cmNlTGV2ZWxEZWJ1Z1Br Zy9MaWJyYXJ5L0RlYnVnQWdlbnQvRHhlRGVidWdBZ2VudC9TZXJpYWxJby5jDQo+IGIvU291cmNl TGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQvRHhlRGVidWdBZ2VudC9TZXJpYWxJby5j DQo+IGluZGV4IDA3ZjQ3MjYyZDI0ZS4uM2U2NDg1MmU5MDI3IDEwMDY0NA0KPiAtLS0gYS9Tb3Vy Y2VMZXZlbERlYnVnUGtnL0xpYnJhcnkvRGVidWdBZ2VudC9EeGVEZWJ1Z0FnZW50L1NlcmlhbElv LmMNCj4gKysrIGIvU291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQvRHhlRGVi dWdBZ2VudC9TZXJpYWxJby5jDQo+IEBAIC05LDcgKzksNyBAQA0KPiAgI2luY2x1ZGUgIkR4ZURl YnVnQWdlbnRMaWIuaCINCj4gDQo+ICAvLw0KPiAtLy8gU2VyaWFsIEkvTyBQcm90b2NvbCBJbnRl cmZhY2UgZGVmaW50aW9ucy4NCj4gKy8vIFNlcmlhbCBJL08gUHJvdG9jb2wgSW50ZXJmYWNlIGRl ZmluaXRpb25zLg0KPiAgLy8NCj4gDQo+ICAvKioNCj4gQEAgLTIzMSw3ICsyMzEsNyBAQCB0eXBl ZGVmIHN0cnVjdCB7DQo+ICB9IERFQlVHX1NFUklBTF9GSUZPOw0KPiANCj4gIC8vDQo+IC0vLyBH bG9iYWwgVmFyaWJsZXMNCj4gKy8vIEdsb2JhbCBWYXJpYWJsZXMNCj4gIC8vDQo+ICBFRklfSEFO RExFICAgICAgICAgICAgICAgICAgIG1TZXJpYWxJb0hhbmRsZSAgICAgICAgPSBOVUxMOw0KPiAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICBtTG9vcGJhY2tCdWZmZXIgICAgICAgID0gMDsN Cj4gQEAgLTM4OSw3ICszODksNyBAQCBTZXJpYWxSZXNldCAoDQo+ICAgIG1TZXJpYWxJb01vZGUu Q29udHJvbE1hc2sgPSBTRVJJQUxfUE9SVF9ERUZBVUxUX0NPTlRST0xfTUFTSzsNCj4gICAgbUxv b3BiYWNrQnVmZmVyID0gMDsNCj4gICAgLy8NCj4gLSAgLy8gTm90IHJlc2V0IHNlcmlhbCBkZXZj aWUgaGFyZHdhcmUgaW5kZWVkLg0KPiArICAvLyBOb3QgcmVzZXQgc2VyaWFsIGRldmljZSBoYXJk d2FyZSBpbmRlZWQuDQo+ICAgIC8vDQo+ICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gIH0NCj4g ZGlmZiAtLWdpdA0KPiBhL1NvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L1Nl Y1BlaURlYnVnQWdlbnQvU2VjUGVpRGVidWcNCj4gQWdlbnRMaWIuYw0KPiBiL1NvdXJjZUxldmVs RGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L1NlY1BlaURlYnVnQWdlbnQvU2VjUGVpRGVidWcN Cj4gQWdlbnRMaWIuYw0KPiBpbmRleCBkYTJhNzVlOTEyNDYuLjUxZTA3ZjcwZTdiYiAxMDA2NDQN Cj4gLS0tDQo+IGEvU291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQvU2VjUGVp RGVidWdBZ2VudC9TZWNQZWlEZWJ1Zw0KPiBBZ2VudExpYi5jDQo+ICsrKw0KPiBiL1NvdXJjZUxl dmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L1NlY1BlaURlYnVnQWdlbnQvU2VjUGVpRGVi dWcNCj4gQWdlbnRMaWIuYw0KPiBAQCAtMSw1ICsxLDUgQEANCj4gIC8qKiBAZmlsZQ0KPiAtICBT RUMgQ29yZSBEZWJ1ZyBBZ2VudCBMaWJyYXJ5IGluc3RhbmNlIGltcGxlbWVudGl0aW9uLg0KPiAr ICBTRUMgQ29yZSBEZWJ1ZyBBZ2VudCBMaWJyYXJ5IGluc3RhbmNlIGltcGxlbWVudGF0aW9uLg0K PiANCj4gICAgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiBAQCAtMTk4LDcgKzE5OCw3IEBAIEdldE1haWxib3hQb2ludGVy ICgNCj4gDQo+ICAgIE1haWxib3hMb2NhdGlvbkluSG9iID0gR2V0TWFpbGJveExvY2F0aW9uRnJv bUhvYiAoKTsNCj4gICAgLy8NCj4gLSAgLy8gQ29tcGFyZSBtYWlsYm94IGluIElEVCBlbnJ5IHdp dGggbWFpbGJveCBpbiBIT0IsDQo+ICsgIC8vIENvbXBhcmUgbWFpbGJveCBpbiBJRFQgZW50cnkg d2l0aCBtYWlsYm94IGluIEhPQiwNCj4gICAgLy8gbmVlZCB0byBmaXggbWFpbGJveCBsb2NhdGlv biBpZiBIT0IgbW92ZWQgYnkgUEVJIENPUkUNCj4gICAgLy8NCj4gICAgaWYgKE1haWxib3hMb2Nh dGlvbkluSG9iICE9IE1haWxib3hMb2NhdGlvbkluSWR0ICYmDQo+IE1haWxib3hMb2NhdGlvbklu SG9iICE9IE5VTEwpIHsNCj4gQEAgLTMyMyw3ICszMjMsNyBAQCBEZWJ1Z0FnZW50Q2FsbGJhY2tN ZW1vcnlEaXNjb3ZlcmVkUHBpICgNCj4gDQo+ICAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBz ZXQgdXAgZGVidWcgZW52aXJvbm1lbnQgZm9yIFNFQyBhbmQgUEVJIHBoYXNlLg0KPiANCj4gLSAg SWYgSW5pdEZsYWcgaXMgREVCVUdfQUdFTlRfSU5JVF9QUkVNRU1fU0VDLCBpdCB3aWxsIG92ZXJp cmRlIElEVCB0YWJsZQ0KPiBlbnRyaWVzDQo+ICsgIElmIEluaXRGbGFnIGlzIERFQlVHX0FHRU5U X0lOSVRfUFJFTUVNX1NFQywgaXQgd2lsbCBvdmVycmlkZSBJRFQgdGFibGUNCj4gZW50cmllcw0K PiAgICBhbmQgaW5pdGlhbGl6ZSBkZWJ1ZyBwb3J0LiBJdCB3aWxsIGVuYWJsZSBpbnRlcnJ1cHQg dG8gc3VwcG9ydCBicmVhay1pbiBmZWF0dXJlLg0KPiAgICBJdCB3aWxsIHNldCB1cCBkZWJ1ZyBh Z2VudCBNYWlsYm94IGluIGNhY2hlLWFzLXJhbWZyb20uIEl0IHdpbGwgYmUgY2FsbGVkDQo+IGJl Zm9yZQ0KPiAgICBwaHlzaWNhbCBtZW1vcnkgaXMgcmVhZHkuDQo+IEBAIC01NDYsNyArNTQ2LDcg QEAgSW5pdGlhbGl6ZURlYnVnQWdlbnQgKA0KPiAgICAgIFNldERlYnVnRmxhZyAoREVCVUdfQUdF TlRfRkxBR19JTklUX0FSQ0gsIERFQlVHX0FSQ0hfU1lNQk9MKTsNCj4gICAgICAvLw0KPiAgICAg IC8vIFJlZ2lzdGVyIGZvciBhIGNhbGxiYWNrIG9uY2UgbWVtb3J5IGhhcyBiZWVuIGluaXRpYWxp emVkLg0KPiAtICAgIC8vIElmIG1lbWVyeSBoYXMgYmVlbiByZWFkeSwgdGhlIGNhbGxiYWNrIGZ1 bnRpb24gd2lsbCBiZSBpbnZva2VkDQo+IGltbWVkaWF0ZWx5DQo+ICsgICAgLy8gSWYgbWVtb3J5 IGhhcyBiZWVuIHJlYWR5LCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gd2lsbCBiZSBpbnZva2VkDQo+ IGltbWVkaWF0ZWx5DQo+ICAgICAgLy8NCj4gICAgICBTdGF0dXMgPSBQZWlTZXJ2aWNlc05vdGlm eVBwaQ0KPiAoJm1EZWJ1Z0FnZW50TWVtb3J5RGlzY292ZXJlZE5vdGlmeUxpc3RbMF0pOw0KPiAg ICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gQEAgLTYyNiw3ICs2MjYsNyBAQCBJbml0 aWFsaXplRGVidWdBZ2VudCAoDQo+ICAgICAgRW5hYmxlSW50ZXJydXB0cyAoKTsNCj4gICAgfQ0K PiAgICAvLw0KPiAtICAvLyBJZiBGdW5jdGlvbiBpcyBub3QgTlVMTCwgaW52b2tlIGl0IGFsd2F5 cyB3aGF0ZXZlciBkZWJ1ZyBhZ2VudCB3YXMNCj4gaW5pdGlhbGl6ZWQgc3VjZXNzc2Z1bGx5IG9y IG5vdC4NCj4gKyAgLy8gSWYgRnVuY3Rpb24gaXMgbm90IE5VTEwsIGludm9rZSBpdCBhbHdheXMg d2hhdGV2ZXIgZGVidWcgYWdlbnQgd2FzDQo+IGluaXRpYWxpemVkIHN1Y2Nlc3NmdWxseSBvciBu b3QuDQo+ICAgIC8vDQo+ICAgIGlmIChGdW5jdGlvbiAhPSBOVUxMKSB7DQo+ICAgICAgRnVuY3Rp b24gKENvbnRleHQpOw0KPiBkaWZmIC0tZ2l0DQo+IGEvU291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJy YXJ5L0RlYnVnQWdlbnQvU21tRGVidWdBZ2VudC9TbW1EZWJ1Z0FnDQo+IGVudExpYi5jDQo+IGIv U291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQvU21tRGVidWdBZ2VudC9TbW1E ZWJ1Z0FnDQo+IGVudExpYi5jDQo+IGluZGV4IGI3NTk5MThlODUzMS4uMzdiMGU4ZjM5NzU5IDEw MDY0NA0KPiAtLS0NCj4gYS9Tb3VyY2VMZXZlbERlYnVnUGtnL0xpYnJhcnkvRGVidWdBZ2VudC9T bW1EZWJ1Z0FnZW50L1NtbURlYnVnQWcNCj4gZW50TGliLmMNCj4gKysrDQo+IGIvU291cmNlTGV2 ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQvU21tRGVidWdBZ2VudC9TbW1EZWJ1Z0FnDQo+ IGVudExpYi5jDQo+IEBAIC0xLDUgKzEsNSBAQA0KPiAgLyoqIEBmaWxlDQo+IC0gIERlYnVnIEFn ZW50IGxpYnJhcnkgaW1wbGVtZW50aXRpb24uDQo+ICsgIERlYnVnIEFnZW50IGxpYnJhcnkgaW1w bGVtZW50YXRpb24uDQo+IA0KPiAgICBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE4LCBJbnRlbCBD b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICAgIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+IEBAIC0xNTIsMTMgKzE1MiwxMyBAQCBS ZXN0b3JlRGVidWdSZWdpc3RlciAoDQo+ICAvKioNCj4gICAgSW5pdGlhbGl6ZSBkZWJ1ZyBhZ2Vu dC4NCj4gDQo+IC0gIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBzZXQgdXAgZGVidWcgZW52aXJv bWVudCBmb3Igc291cmNlIGxldmVsIGRlYnVnDQo+ICsgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0 byBzZXQgdXAgZGVidWcgZW52aXJvbm1lbnQgZm9yIHNvdXJjZSBsZXZlbCBkZWJ1Zw0KPiAgICBp biBTTU0gY29kZS4NCj4gDQo+IC0gIElmIEluaXRGbGFnIGlzIERFQlVHX0FHRU5UX0lOSVRfU01N LCBpdCB3aWxsIG92ZXJpcmRlIElEVCB0YWJsZSBlbnRyaWVzDQo+ICsgIElmIEluaXRGbGFnIGlz IERFQlVHX0FHRU5UX0lOSVRfU01NLCBpdCB3aWxsIG92ZXJyaWRlIElEVCB0YWJsZSBlbnRyaWVz DQo+ICAgIGFuZCBpbml0aWFsaXplIGRlYnVnIHBvcnQuIEl0IHdpbGwgZ2V0IGRlYnVnIGFnZW50 IE1haWxib3ggZnJvbSBHVUlEZWQgSE9CLA0KPiAgICBpdCBpdCBleGlzdHMsIGRlYnVnIGFnZW50 IHdpaWwgY29waWVkIGl0IGludG8gdGhlIGxvY2FsIE1haWxib3ggaW4gU01NIHNwYWNlLg0KPiAt ICBpdCB3aWxsIG92ZXJpcmRlIElEVCB0YWJsZSBlbnRyaWVzIGFuZCBpbml0aWFsaXplIGRlYnVn IHBvcnQuIENvbnRleHQgd2lsbCBiZQ0KPiArICBpdCB3aWxsIG92ZXJyaWRlIElEVCB0YWJsZSBl bnRyaWVzIGFuZCBpbml0aWFsaXplIGRlYnVnIHBvcnQuIENvbnRleHQgd2lsbCBiZQ0KPiAgICBO VUxMLg0KPiAgICBJZiBJbml0RmxhZyBpcyBERUJVR19BR0VOVF9JTklUX0VOVEVSX1NNSSwgZGVi dWcgYWdlbnQgd2lsbCBzYXZlIERlYnVnDQo+ICAgIFJlZ2lzdGVycyBhbmQgZ2V0IGxvY2FsIE1h aWxib3ggaW4gU01NIHNwYWNlLiBDb250ZXh0IHdpbGwgYmUgTlVMTC4NCj4gQEAgLTI5NSw3ICsy OTUsNyBAQCBJbml0aWFsaXplRGVidWdBZ2VudCAoDQo+ICAgICAgTWFpbGJveCA9IEdldE1haWxi b3hQb2ludGVyICgpOw0KPiAgICAgIGlmIChHZXREZWJ1Z0ZsYWcgKERFQlVHX0FHRU5UX0ZMQUdf QUdFTlRfSU5fUFJPR1JFU1MpID09IDEpIHsNCj4gICAgICAgIC8vDQo+IC0gICAgICAvLyBJZiBE ZWJ1ZyBBZ2VudCBoYXMgYmVlbiBjb21tdW5pY2F0b24gc3RhdGUgd2l0aCBIT1NULCB3ZSBuZWVk IHNraXANCj4gKyAgICAgIC8vIElmIERlYnVnIEFnZW50IGhhcyBiZWVuIGNvbW11bmljYXRpb24g c3RhdGUgd2l0aCBIT1NULCB3ZSBuZWVkIHNraXANCj4gICAgICAgIC8vIGFueSBicmVhayBwb2lu dHMgc2V0IGluIFNNTSwgc2V0IFNraXAgQnJlYWtwb2ludCBmbGFnDQo+ICAgICAgICAvLw0KPiAg ICAgICAgbVNraXBCcmVha3BvaW50ID0gVFJVRTsNCj4gZGlmZiAtLWdpdA0KPiBhL1NvdXJjZUxl dmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0RlYnVnQWdlbnRDb21tb24vSWEzMi9Bc21G DQo+IHVuY3MubmFzbQ0KPiBiL1NvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50 L0RlYnVnQWdlbnRDb21tb24vSWEzMi9Bc21GDQo+IHVuY3MubmFzbQ0KPiBpbmRleCBhNWE3MzRh NDYzNTEuLjkxMjI1NmJhNDU1YSAxMDA2NDQNCj4gLS0tDQo+IGEvU291cmNlTGV2ZWxEZWJ1Z1Br Zy9MaWJyYXJ5L0RlYnVnQWdlbnQvRGVidWdBZ2VudENvbW1vbi9JYTMyL0FzbUYNCj4gdW5jcy5u YXNtDQo+ICsrKw0KPiBiL1NvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0Rl YnVnQWdlbnRDb21tb24vSWEzMi9Bc21GDQo+IHVuY3MubmFzbQ0KPiBAQCAtMjI2LDcgKzIyNiw3 IEBAIE5vRXh0clB1c2g6DQo+ICAgICAgcHVzaCAgICBlYnggICAgICAgICA7IHRlbXBvcmFyaWx5 IHNhdmUgdmFsdWUgb2YgZWJ4IG9uIHN0YWNrDQo+ICAgICAgY3B1aWQgICAgICAgICAgICAgICA7 IHVzZSBDUFVJRCB0byBkZXRlcm1pbmUgaWYgRlhTQVZFL0ZYUkVTVE9SIGFuZA0KPiAgICAgICAg ICAgICAgICAgICAgICAgICAgOyBERSBhcmUgc3VwcG9ydGVkDQo+IC0gICAgcG9wICAgICBlYngg ICAgICAgICA7IHJldG9yZSB2YWx1ZSBvZiBlYnggdGhhdCB3YXMgb3ZlcndyaXR0ZW4gYnkgQ1BV SUQNCj4gKyAgICBwb3AgICAgIGVieCAgICAgICAgIDsgcmVzdG9yZSB2YWx1ZSBvZiBlYnggdGhh dCB3YXMgb3ZlcndyaXR0ZW4gYnkgQ1BVSUQNCj4gICAgICBtb3YgICAgIGVheCwgY3I0DQo+ICAg ICAgcHVzaCAgICBlYXggICAgICAgICA7IHB1c2ggY3I0IGZpcnN0bHkNCj4gICAgICB0ZXN0ICAg IGVkeCwgQklUMjQgIDsgVGVzdCBmb3IgRlhTQVZFL0ZYUkVTVE9SIHN1cHBvcnQNCj4gQEAgLTQw Nyw3ICs0MDcsNyBAQCBOb0V4dHJQdXNoOg0KPiAgICAgIG1vdiAgICAgZXNwLCBlYnANCj4gICAg ICBwb3AgICAgIGVicCAgICAgICAgIDsgcmVzdG9yZSBlYnAgbWF5YmUgdXBkYXRlZA0KPiAgICAg IHBvcCAgICAgZXNwICAgICAgICAgOyByZXN0b3JlIGVzcCBtYXliZSB1cGRhdGVkDQo+IC0gICAg c3ViICAgICBlc3AsIDQgKiAzICA7IHJlc3RvcmUgaW50ZXJ1cHQgcHVzaGNlZCBzdGFjaw0KPiAr ICAgIHN1YiAgICAgZXNwLCA0ICogMyAgOyByZXN0b3JlIGludGVycnVwdCBwdXNoY2VkIHN0YWNr DQo+IA0KPiAgICAgIGlyZXRkDQo+IA0KPiAtLQ0KPiAyLjIxLjANCg0K