From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.115; helo=mga14.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 74505210FCF63 for ; Wed, 22 Aug 2018 23:01:31 -0700 (PDT) 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; 22 Aug 2018 23:01:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,277,1531810800"; d="scan'208";a="79372638" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga002.fm.intel.com with ESMTP; 22 Aug 2018 23:01:22 -0700 Received: from FMSMSX110.amr.corp.intel.com (10.18.116.10) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 22 Aug 2018 23:01:22 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx110.amr.corp.intel.com (10.18.116.10) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 22 Aug 2018 23:01:21 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.143]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.150]) with mapi id 14.03.0319.002; Thu, 23 Aug 2018 14:01:18 +0800 From: "Gao, Liming" To: "Zhu, Yonghong" , "edk2-devel@lists.01.org" CC: "Kinney, Michael D" , "Shaw, Kevin W" Thread-Topic: [edk2] [Patch] DSC Spec: Correct expression operator, update some typo and remove IPF Thread-Index: AQHUOefuIAm1me/HKEq/bTsROoftZaTM2Y3w Date: Thu, 23 Aug 2018 06:01:18 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E2E8031@SHSMSX104.ccr.corp.intel.com> References: <1534922116-13656-1-git-send-email-yonghong.zhu@intel.com> In-Reply-To: <1534922116-13656-1-git-send-email-yonghong.zhu@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [Patch] DSC Spec: Correct expression operator, update some typo and remove IPF X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Aug 2018 06:01:31 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IExpbWluZyBHYW8gPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KDQo+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRl dmVsLWJvdW5jZXNAbGlzdHMuMDEub3JnXSBPbiBCZWhhbGYgT2YgWW9uZ2hvbmcgWmh1DQo+IFNl bnQ6IFdlZG5lc2RheSwgQXVndXN0IDIyLCAyMDE4IDEyOjE1IEFNDQo+IFRvOiBlZGsyLWRldmVs QGxpc3RzLjAxLm9yZw0KPiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlA aW50ZWwuY29tPjsgU2hhdywgS2V2aW4gVyA8a2V2aW4udy5zaGF3QGludGVsLmNvbT47IEdhbywg TGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gU3ViamVjdDogW2VkazJdIFtQYXRjaF0g RFNDIFNwZWM6IENvcnJlY3QgZXhwcmVzc2lvbiBvcGVyYXRvciwgdXBkYXRlIHNvbWUgdHlwbyBh bmQgcmVtb3ZlIElQRg0KPiANCj4gMS4gVXBkYXRlIHRoZSBUYWJsZSA1IGFib3V0IHRoZSBleHBy ZXNzaW9uIG9wZXJhdG9yDQo+IDIuIFVwZGF0ZSBzb21lIHR5cG8gYW5kIHJlbW92ZSBzb21lIG5v dCB1c2VkIGl0ZW1zDQo+IDMuIFJlbW92ZSBJUEYNCj4gDQo+IENjOiBMaW1pbmcgR2FvIDxsaW1p bmcuZ2FvQGludGVsLmNvbT4NCj4gQ2M6IE1pY2hhZWwgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbT4NCj4gQ2M6IEtldmluIFcgU2hhdyA8a2V2aW4udy5zaGF3QGludGVsLmNvbT4N Cj4gQ29udHJpYnV0ZWQtdW5kZXI6IFRpYW5vQ29yZSBDb250cmlidXRpb24gQWdyZWVtZW50IDEu MQ0KPiBTaWduZWQtb2ZmLWJ5OiBZb25naG9uZyBaaHUgPHlvbmdob25nLnpodUBpbnRlbC5jb20+ DQo+IC0tLQ0KPiAgLi4uLzIxMV9bY29tcG9uZW50c11fc2VjdGlvbl9wcm9jZXNzaW5nLm1kICAg ICAgICAgfCAgMyArLQ0KPiAgMl9kc2Nfb3ZlcnZpZXcvMjJfYnVpbGRfZGVzY3JpcHRpb25fZmls ZV9mb3JtYXQubWQgfCAzMiArKysrKysrKystLS0tLS0tLQ0KPiAgMl9kc2Nfb3ZlcnZpZXcvMjRf W2J1aWxkb3B0aW9uc11fc2VjdGlvbi5tZCAgICAgICAgfCAgMiArLQ0KPiAgLi4uLzI2X1tsaWJy YXJpZXNdX3NlY3Rpb25fcHJvY2Vzc2luZy5tZCAgICAgICAgICAgfCAgMSAtDQo+ICAuLi4vMjdf W2xpYnJhcnljbGFzc2VzXV9zZWN0aW9uX3Byb2Nlc3NpbmcubWQgICAgICB8ICAxIC0NCj4gIDJf ZHNjX292ZXJ2aWV3LzI4X3BjZF9zZWN0aW9uX3Byb2Nlc3NpbmcubWQgICAgICAgIHwgMTMgKysr Ky0tLQ0KPiAgMl9kc2Nfb3ZlcnZpZXcvMjlfcGNkX3NlY3Rpb25zLm1kICAgICAgICAgICAgICAg ICAgfCAxMCArKystLS0NCj4gIDNfZWRrX2lpX2RzY19maWxlX2Zvcm1hdC8zMTBfcGNkX3NlY3Rp b25zLm1kICAgICAgIHwgNDIgKysrKysrKysrKysrKystLS0tLS0tLQ0KPiAgLi4uLzMxMV9bY29t cG9uZW50c11fc2VjdGlvbnMubWQgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPiAgLi4uLzMz X3BsYXRmb3JtX2RzY19kZWZpbml0aW9uLm1kICAgICAgICAgICAgICAgICAgfCAzOSArKysrKysr LS0tLS0tLS0tLS0tLQ0KPiAgLi4uLzM2X1tidWlsZG9wdGlvbnNdX3NlY3Rpb25zLm1kICAgICAg ICAgICAgICAgICAgfCAgNCArLS0NCj4gIC4uLi8zOV9bbGlicmFyeWNsYXNzZXNdX3NlY3Rpb25z Lm1kICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gIFJFQURNRS5tZCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gIDEzIGZpbGVzIGNoYW5nZWQsIDc2 IGluc2VydGlvbnMoKyksIDc3IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhLzJfZHNj X292ZXJ2aWV3LzIxMV9bY29tcG9uZW50c11fc2VjdGlvbl9wcm9jZXNzaW5nLm1kIGIvMl9kc2Nf b3ZlcnZpZXcvMjExX1tjb21wb25lbnRzXV9zZWN0aW9uX3Byb2Nlc3NpbmcubWQNCj4gaW5kZXgg MGFkZmZkNS4uMTQwZjA5YyAxMDA2NDQNCj4gLS0tIGEvMl9kc2Nfb3ZlcnZpZXcvMjExX1tjb21w b25lbnRzXV9zZWN0aW9uX3Byb2Nlc3NpbmcubWQNCj4gKysrIGIvMl9kc2Nfb3ZlcnZpZXcvMjEx X1tjb21wb25lbnRzXV9zZWN0aW9uX3Byb2Nlc3NpbmcubWQNCj4gQEAgLTEsOSArMSw5IEBADQo+ ICA8IS0tLSBAZmlsZQ0KPiAgICAyLjExIFtDb21wb25lbnRzXSBTZWN0aW9uIFByb2Nlc3NpbmcN Cj4gDQo+IC0gIENvcHlyaWdodCAoYykgMjAwNi0yMDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsgIENvcHlyaWdodCAoYykgMjAwNi0yMDE4LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+IA0KPiAgICBSZWRpc3Ry aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSAob3JpZ2luYWwgZG9jdW1lbnQgZm9ybSkgYW5kICdj b21waWxlZCcNCj4gICAgZm9ybXMgKGNvbnZlcnRlZCB0byBQREYsIGVwdWIsIEhUTUwgYW5kIG90 aGVyIGZvcm1hdHMpIHdpdGggb3Igd2l0aG91dA0KPiAgICBtb2RpZmljYXRpb24sIGFyZSBwZXJt aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoNCj4g DQo+IEBAIC0zOCwxMSArMzgsMTAgQEAgbmV3IHNjb3BpbmcgY2FwYWJpbGl0aWVzLg0KPiAgVGhp cyBzZWN0aW9uIHVzZXMgb25lIG9yIG1vcmUgb2YgdGhlIGZvbGxvd2luZyBzZWN0aW9uIGRlZmlu aXRpb25zOg0KPiANCj4gICogYFtDb21wb25lbnRzXWANCj4gICogYFtDb21wb25lbnRzLklBMzJd YA0KPiAgKiBgW0NvbXBvbmVudHMuWDY0XWANCj4gLSogYFtDb21wb25lbnRzLklQRl1gDQo+ICAq IGBbQ29tcG9uZW50cy5FQkNdYA0KPiAgKiBgW0NvbXBvbmVudHMuY29tbW9uXWANCj4gDQo+ICBF REsgY29tcG9uZW50cyBhcmUgc3BlY2lmaWVkIHVzaW5nIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGgg dG8gdGhlIEVESyBJTkYgZmlsZS4NCj4gDQo+IGRpZmYgLS1naXQgYS8yX2RzY19vdmVydmlldy8y Ml9idWlsZF9kZXNjcmlwdGlvbl9maWxlX2Zvcm1hdC5tZCBiLzJfZHNjX292ZXJ2aWV3LzIyX2J1 aWxkX2Rlc2NyaXB0aW9uX2ZpbGVfZm9ybWF0Lm1kDQo+IGluZGV4IDFjZTg5MGYuLjliZjQ2YTYg MTAwNjQ0DQo+IC0tLSBhLzJfZHNjX292ZXJ2aWV3LzIyX2J1aWxkX2Rlc2NyaXB0aW9uX2ZpbGVf Zm9ybWF0Lm1kDQo+ICsrKyBiLzJfZHNjX292ZXJ2aWV3LzIyX2J1aWxkX2Rlc2NyaXB0aW9uX2Zp bGVfZm9ybWF0Lm1kDQo+IEBAIC01NiwxMSArNTYsMTEgQEAgVGhpcyBkZXNjcmlwdGlvbiBmaWxl IGNvbnNpc3RzIG9mIHNlY3Rpb25zIGRlbGluZWF0ZWQgYnkgc2VjdGlvbiB0YWdzIGVuY2xvc2Vk DQo+ICB3aXRoaW4gc3F1YXJlIGBbXWAgYnJhY2tldHMuIFNlY3Rpb24gdGFnIGVudHJpZXMgYXJl IGNhc2UtaW5zZW5zaXRpdmUuIFRoZQ0KPiAgZGlmZmVyZW50IHNlY3Rpb25zIGFuZCB0aGVpciB1 c2FnZSBhcmUgZGVzY3JpYmVkIGJlbG93LiBUaGUgdGV4dCBvZiBhIGdpdmVuDQo+ICBzZWN0aW9u IGNhbiBiZSB1c2VkIGZvciBtdWx0aXBsZSBzZWN0aW9uIG5hbWVzIGJ5IHNlcGFyYXRpbmcgdGhl IHNlY3Rpb24gbmFtZXMNCj4gIHdpdGggYSBjb21tYS4gRm9yIGV4YW1wbGU6DQo+IA0KPiAtYFtM aWJyYXJ5Q2xhc3Nlcy5YNjQsIExpYnJhcnlDbGFzc2VzLmlwZl1gDQo+ICtgW0xpYnJhcnlDbGFz c2VzLlg2NCwgTGlicmFyeUNsYXNzZXMuRUJDXWANCj4gDQo+ICBUaGUgY29udGVudCBiZWxvdyBl YWNoIHNlY3Rpb24gaGVhZGluZyBpcyBwcm9jZXNzZWQgYnkgdGhlIHBhcnNpbmcgdXRpbGl0aWVz IGluDQo+ICB0aGUgb3JkZXIgdGhhdCB0aGV5IG9jY3VyIGluIHRoZSBmaWxlLiBUaGUgcHJlY2Vk ZW5jZSBmb3IgcHJvY2Vzc2luZyB0aGVzZQ0KPiAgYXJjaGl0ZWN0dXJlIHNlY3Rpb24gdGFncyBp cyBmcm9tIHJpZ2h0IHRvIGxlZnQsIHdpdGggc2VjdGlvbnMgZGVmaW5pbmcgYW4NCj4gIGFyY2hp dGVjdHVyZSBoYXZpbmcgYSBoaWdoZXIgcHJlY2VkZW5jZSB0aGFuIGEgc2VjdGlvbiB3aGljaCB1 c2VzIGNvbW1vbiAob3Igbm8NCj4gQEAgLTE4MSwxNCArMTgxLDE0IEBAIGNhc2Ugc2Vuc2l0aXZl IGJlY2F1c2Ugb2YgbXVsdGlwbGUgZW52aXJvbm1lbnQgc3VwcG9ydC4NCj4gICAgdW5kZXJzY29y ZSBjaGFyYWN0ZXJzIGFuZCBzdGFydCB3aXRoIGFuIGFscGhhIGNoYXJhY3Rlci4gQSBzaW5nbGUg cGVyaW9kDQo+ICAgIGNoYXJhY3RlciBpcyBwZXJtaXR0ZWQgaW4gdGhlIG5hbWUgcHJvdmlkZWQg dGhhdCBhbHBoYW51bWVyaWMgY2hhcmFjdGVycw0KPiAgICBhcHBlYXIgYmVmb3JlIGFuZCBhZnRl ciB0aGUgcGVyaW9kIGNoYXJhY3RlciAoYXMgaW46IF9NZGVQa2cuMV8pLg0KPiANCj4gICogQWRk aXRpb25hbGx5LCBhbGwgRURLIElJIGRpcmVjdG9yaWVzIHRoYXQgYXJlIGFyY2hpdGVjdHVyYWxs eSBkZXBlbmRlbnQgbXVzdA0KPiAtICB1c2UgYSBuYW1lIHdpdGggb25seSB0aGUgZmlyc3QgY2hh cmFjdGVyIGNhcGl0YWxpemVkLiBfSWEzMl8sIF9JcGZfLCBfWDY0Xw0KPiAtICBhbmQgX0ViY18g YXJlIHZhbGlkIGFyY2hpdGVjdHVyYWwgZGlyZWN0b3J5IG5hbWVzLiBJQTMyLCBJUEYgYW5kIEVC QyBhcmUgbm90DQo+IC0gIGFjY2VwdGFibGUgZGlyZWN0b3J5IG5hbWVzLCBhbmQgbWF5IGNhdXNl IGJ1aWxkIGJyZWFrcy4gRnJvbSBhIGJ1aWxkIHRvb2xzDQo+IC0gIHBlcnNwZWN0aXZlLCBJQTMy IGlzIG5vdCBlcXVpdmFsZW50IHRvIElhMzIgb3IgaWEzMi4NCj4gKyAgdXNlIGEgbmFtZSB3aXRo IG9ubHkgdGhlIGZpcnN0IGNoYXJhY3RlciBjYXBpdGFsaXplZC4gX0lhMzJfLCBfWDY0XyBhbmQg X0ViY18NCj4gKyAgYXJlIHZhbGlkIGFyY2hpdGVjdHVyYWwgZGlyZWN0b3J5IG5hbWVzLiBJQTMy LCBYNjQgYW5kIEVCQyBhcmUgbm90IGFjY2VwdGFibGUNCj4gKyAgZGlyZWN0b3J5IG5hbWVzLCBh bmQgbWF5IGNhdXNlIGJ1aWxkIGJyZWFrcy4gRnJvbSBhIGJ1aWxkIHRvb2xzIHBlcnNwZWN0aXZl LA0KPiArICBJQTMyIGlzIG5vdCBlcXVpdmFsZW50IHRvIElhMzIgb3IgaWEzMi4NCj4gDQo+ICBU aGUgYnVpbGQgdG9vbHMgbXVzdCBiZSBhYmxlIHRvIHByb2Nlc3MgdGhlIHRvb2wgZGVmaW5pdGlv bnMgZmlsZToNCj4gIGB0b29sc19kZWYudHh0YCAoZGVzY3JpYmluZyB0aGUgbG9jYXRpb24gYW5k IGZsYWdzIGZvciBjb21waWxlciBhbmQgdXNlcg0KPiAgZGVmaW5lZCB0b29scyksIHdoaWNoIG1h eSBjb250YWluIHNwYWNlIGNoYXJhY3RlcnMgaW4gcGF0aHMgb24gV2luZG93cyogc3lzdGVtcy4N Cj4gDQo+IEBAIC0yMDAsMTQgKzIwMCwxNCBAQCBwbGFjZXMgdGhhdCBwZXJtaXQgdGhlIHVzZSBv ZiBzcGFjZSBjaGFyYWN0ZXJzIGluIGEgZGlyZWN0b3J5IHBhdGguDQo+ICBUaGUgRURLIElJIENv ZGluZyBTdHlsZSBzcGVjaWZpY2F0aW9uIGNvdmVycyBuYW1pbmcgY29udmVudGlvbnMgZm9yIHVz ZSB3aXRoaW4NCj4gIEMgQ29kZSBmaWxlcywgYW5kIGFzIHdlbGwgYXMgc3BlY2lmeWluZyB0aGUg cnVsZXMgZm9yIGRpcmVjdG9yeSBhbmQgZmlsZSBuYW1lcy4NCj4gIFRoaXMgc2VjdGlvbiBpcyBt ZWFudCB0byBoaWdobGlnaHQgdGhvc2UgcnVsZXMgYXMgdGhleSBhcHBseSB0byB0aGUgY29udGVu dCBvZg0KPiAgdGhlIElORiBmaWxlcy4NCj4gDQo+IC1BcmNoaXRlY3R1cmUga2V5d29yZHMgKGBJ QTMyYCwgYElQRmAsIGBYNjRgIGFuZCBgRUJDYCkgYXJlIHVzZWQgYnkgYnVpbGQgdG9vbHMNCj4g K0FyY2hpdGVjdHVyZSBrZXl3b3JkcyAoYElBMzJgLCBgWDY0YCBhbmQgYEVCQ2ApIGFyZSB1c2Vk IGJ5IGJ1aWxkIHRvb2xzDQo+ICBhbmQgaW4gbWV0YWRhdGEgZmlsZXMgZm9yIGRlc2NyaWJpbmcg YWx0ZXJuYXRlIHRocmVhZHMgZm9yIHByb2Nlc3Npbmcgb2YgZmlsZXMuDQo+ICBUaGVzZSBrZXl3 b3JkcyBtdXN0IG5vdCBiZSB1c2VkIGZvciBkZXNjcmliaW5nIGRpcmVjdG9yeSBwYXRocy4gQWRk aXRpb25hbGx5LA0KPiAtZGlyZWN0b3J5IG5hbWVzIHdpdGggYXJjaGl0ZWN0dXJhbCBuYW1lcyAo X0lhMzJfLCBfSXBmXywgX1g2NF8gYW5kIF9FYmNfKSBkbw0KPiArZGlyZWN0b3J5IG5hbWVzIHdp dGggYXJjaGl0ZWN0dXJhbCBuYW1lcyAoX0lhMzJfLCBfWDY0XyBhbmQgX0ViY18pIGRvDQo+ICBu b3QgYXV0b21hdGljYWxseSBjYXVzZSB0aGUgYnVpbGQgdG9vbHMgb3IgbWV0YS1kYXRhIGZpbGVz IHRvIGZvbGxvdyB0aGVzZQ0KPiAgYWx0ZXJuYXRlIHBhdGhzLiBEaXJlY3RvcmllcyBhbmQgQXJj aGl0ZWN0dXJhbCBLZXl3b3JkcyBhcmUgc2ltaWxhciBpbiBuYW1lDQo+ICBvbmx5Lg0KPiANCj4g IEFsbCBkaXJlY3RvcnkgcGF0aHMgd2l0aGluIEVESyBJSSBJTkYgZmlsZXMgbXVzdCB1c2UgdGhl ICIvIiBmb3J3YXJkIHNsYXNoDQo+IEBAIC00NzEsMTEgKzQ3MSwxMSBAQCBmb2xsb3cgdGhlIHNh bWUgcnVsZXMgYXMgYXJjaGl0ZWN0dXJhbCBtb2RpZmllcnMuDQo+ICBbTGlicmFyeUNsYXNzZXMu WDY0LlBFSU1dDQo+ICAgICMgQ2FuIHVzZSAkKE1ERSkgYW5kICQoUEVSRikNCj4gICAgREVGSU5F IE1ERU1FTSA9ICQoTURFKS9QZWlNZW1vcnlBbGxvY2F0aW9uTGliDQo+ICAgIE1lbW9yeUFsbG9j YXRpb25MaWJ8JChNREVNRU0pL1BlaU1lbW9yeUFsbG9jYXRpb25MaWIuaW5mDQo+IA0KPiAtW0xp YnJhcnlDbGFzc2VzLklQRl0NCj4gK1tMaWJyYXJ5Q2xhc3Nlcy5FQkNdDQo+ICAgICMgQ2Fubm90 IHVzZSAkKFBFUkYpIG9yICQoTURFTUVNKQ0KPiAgICAjIENhbiB1c2UgJChNREUpIGZyb20gdGhl IGNvbW1vbiBzZWN0aW9uDQo+ICAgIFBhbExpYnwkKE1ERSkvVWVmaVBhbExpYi9VZWZpUGFsTGli LmluZg0KPiAgICBUaW1lckxpYnwkKE1ERSkvQmFzZVRpbWVyTGliTnVsbFRlbXBsYXRlL0Jhc2VU aW1lckxpYk51bGxUZW1wbGF0ZS5pbmYNCj4gIGBgYA0KPiBAQCAtNjc0LDIwICs2NzQsMjQgQEAg YmUgdGVzdGVkIGFzIGEgc3RyaW5nLg0KPiANCj4gICMjIyMjIyBUYWJsZSA1IE9wZXJhdG9yIFBy ZWNlZGVuY2UgYW5kIFN1cHBvcnRlZCBPcGVyYW5kcw0KPiANCj4gIHwgT3BlcmF0b3IgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBVc2Ugd2l0aCBEYXRhIFR5cGVzICAgfCBO b3Rlcw0KPiB8IFByaW9yaXR5IHwNCj4gIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gfA0KPiAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLSB8DQo+ IC18IGBvcmAsIGBPUmAsIDxjb2RlPiYjMTI0OyYjMTI0OzwvY29kZT4gICAgICAgIHwgTnVtYmVy LCBCb29sZWFuICAgICAgIHwNCj4gfCBMb3dlc3QgICB8DQo+ICt8IGA/IDpgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQWxsICAgICAgICAgICAgICAgICAgIHwgY29u ZGl0aW9uYWwgb3BlcmF0b3INCj4gfCBMb3dlc3QgICB8DQo+ICt8IGBvcmAsIGBPUmAsIDxjb2Rl PiYjMTI0OyYjMTI0OzwvY29kZT4gICAgICAgIHwgTnVtYmVyLCBCb29sZWFuICAgICAgIHwNCj4g fCAgICAgICAgICB8DQo+ICt8IGBYT1JgLCBgeG9yYCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgTnVtYmVyLCBCb29sZWFuICAgICAgIHwNCj4gfCAgICAgICAgICB8DQo+ICB8IGBh bmRgLCBgQU5EYCwgYCYmYCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTnVtYmVyLCBCb29s ZWFuICAgICAgIHwNCj4gfCAgICAgICAgICB8DQo+ICB8IDxjb2RlPiYjMTI0OzwvY29kZT4gICAg ICAgICAgICAgICAgICAgICAgICAgIHwgTnVtYmVyLCBCb29sZWFuICAgICAgIHwgQml0d2lzZSBP Ug0KPiB8ICAgICAgICAgIHwNCj4gLXwgYF5gLCBgeG9yYCwgYFhPUmAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBOdW1iZXIsIEJvb2xlYW4gICAgICAgfCBFeGNsdXNpdmUgT1INCj4gfCAg ICAgICAgICB8DQo+ICt8IGBeYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgTnVtYmVyLCBCb29sZWFuICAgICAgIHwgQml0d2lzZSBYT1INCj4gfCAgICAgICAgICB8 DQo+ICB8IGAmYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTnVt YmVyLCBCb29sZWFuICAgICAgIHwgQml0d2lzZSBBTkQNCj4gfCAgICAgICAgICB8DQo+ICB8IGA9 PWAsIGAhPWAsIGBFUWAsIGBORWAsIGBJTmAgICAgICAgICAgICAgICAgIHwgQWxsIHR5cGVzICAg ICAgICAgICAgIHwgVGhlIElOIG9wZXJhdG9yIGNhbiBvbmx5IGJlIHVzZWQgdG8gdGVzdCBhIHF1 b3RlZCB1bmFyeQ0KPiBsaXRlcmFsIHN0cmluZyBmb3IgbWVtYmVyc2hpcCBpbiBhIGxpc3QuDQo+ IHwgICAgICAgICAgfA0KPiAtfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8IFNwYWNlIGNoYXJhY3RlcnMgbXVzdCBi ZSB1c2VkIGJlZm9yZSBhbmQNCj4gYWZ0ZXIgdGhlIGxldHRlciBvcGVyYXRvcnMgU3RyaW5ncyBj b21wYXJlZCB0byBib29sZWFuIG9yIG51bWVyaWMgdmFsdWVzIHVzaW5nICI9PSIgb3IgIkVRIiB3 aWxsIGFsd2F5cyByZXR1cm4gRkFMU0UsIHdoaWxlIHVzaW5nIHRoZQ0KPiAiIT0iIG9yICJORSIg b3BlcmF0b3JzIHdpbGwgYWx3YXlzIHJldHVybiBUUlVFIHwgICAgICAgICAgfA0KPiAtfCBgPD1g LCBgPj1gLCBgPGAsIGA+YCwgYExFYCwgYEdFYCwgYExUYCwgYEdUYCB8IEFsbCAgICAgICAgICAg ICAgICAgICB8IFNwYWNlIGNoYXJhY3RlcnMgbXVzdCBiZSB1c2VkIGJlZm9yZSBhbmQgYWZ0ZXIg dGhlIGxldHRlcg0KPiBvcGVyYXRvcnMuDQo+IHwgICAgICAgICAgfA0KPiAtfCBgK2AsIGAtYCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE51bWJlciwgQm9vbGVhbiAgICAg ICB8IENhbm5vdCBiZSB1c2VkIHdpdGggc3RyaW5ncyAtIHRoZSBzeXN0ZW0gZG9lcyBub3QNCj4g YXV0b21hdGljYWxseSBkbyBjb25jYXRlbmF0aW9uLiBUb29scyBzaG91bGQgcmVwb3J0IGEgd2Fy bmluZyBtZXNzYWdlIGlmIHRoZXNlIG9wZXJhdG9ycyBhcmUgdXNlZCB3aXRoIGJvdGggYSBib29s ZWFuIGFuZCBudW1iZXINCj4gdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgfA0KPiAtfCBgIWAsIGBub3RgLCBgTk9UYCAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IE51bWJlciwgQm9vbGVhbiAgICAgICB8DQo+IHwgSGlnaGVzdCAgfA0KPiAr fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICB8IFN0cmluZ3MgY29tcGFyZWQgdG8gYm9vbGVhbiBvciBudW1lcmljDQo+ IHZhbHVlcyB1c2luZyAiPT0iIG9yICJFUSIgd2lsbCBhbHdheXMgcmV0dXJuIEZBTFNFLCB3aGls ZSB1c2luZyB0aGUgIiE9IiBvciAiTkUiIG9wZXJhdG9ycyB3aWxsIGFsd2F5cyByZXR1cm4gVFJV RQ0KPiB8ICAgICAgICAgIHwNCj4gK3wgYDw9YCwgYD49YCwgYDxgLCBgPmAsIGBMRWAsIGBHRWAs IGBMVGAsIGBHVGAgfCBBbGwgICAgICAgICAgICAgICAgICAgfA0KPiB8ICAgICAgICAgIHwNCj4g K3wgYDw8YCwgYD4+YCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOdW1iZXIs IEJvb2xlYW4gICAgICAgfA0KPiB8ICAgICAgICAgIHwNCj4gK3wgYCtgLCBgLWAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOdW1iZXIsIEJvb2xlYW4gICAgICAgfCBDYW5u b3QgYmUgdXNlZCB3aXRoIHN0cmluZ3MgLSB0aGUgc3lzdGVtIGRvZXMgbm90DQo+IGF1dG9tYXRp Y2FsbHkgZG8gY29uY2F0ZW5hdGlvbi4NCj4gfCAgICAgICAgICB8DQo+ICt8IGAqYCwgYC9gLCBg JWAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTnVtYmVyLCBCb29sZWFuICAgICAg IHwgQ2Fubm90IGJlIHVzZWQgd2l0aCBzdHJpbmdzLg0KPiB8ICAgICAgICAgIHwNCj4gK3wgYCFg LCBgbm90YCwgYE5PVGAsIGB+YCAgICAgICAgICAgICAgICAgICAgICAgfCBOdW1iZXIsIEJvb2xl YW4gICAgICAgfA0KPiB8IEhpZ2hlc3QgIHwNCj4gDQo+ICBUaGUgIklOIiBvcGVyYXRvciBjYW4g b25seSBiZSB1c2VkIHRvIHRlc3QgYSBsaXRlcmFsIHN0cmluZyBhZ2FpbnN0IGVsZW1lbnRzDQo+ ICBpbiB0aGUgZm9sbG93aW5nIGdsb2JhbCB2YXJpYWJsZXM6DQo+IA0KPiAgKipfJChGQU1JTFkp XyoqDQo+IGRpZmYgLS1naXQgYS8yX2RzY19vdmVydmlldy8yNF9bYnVpbGRvcHRpb25zXV9zZWN0 aW9uLm1kIGIvMl9kc2Nfb3ZlcnZpZXcvMjRfW2J1aWxkb3B0aW9uc11fc2VjdGlvbi5tZA0KPiBp bmRleCAxZDMzMTgwLi43ZDNkMmQxIDEwMDY0NA0KPiAtLS0gYS8yX2RzY19vdmVydmlldy8yNF9b YnVpbGRvcHRpb25zXV9zZWN0aW9uLm1kDQo+ICsrKyBiLzJfZHNjX292ZXJ2aWV3LzI0X1tidWls ZG9wdGlvbnNdX3NlY3Rpb24ubWQNCj4gQEAgLTYwLDExICs2MCwxMSBAQCBWYWxpZCBjb250ZW50 IGlzIHdpdGhpbiB0aGlzIHNlY3Rpb24gaXMgbGltaXRlZCB0byB0aGUgZm9sbG93aW5nIGRlc2Ny aXB0aW9uLg0KPiAgfCAgICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgfCBCeSBub3Qg c3BlY2lmeWluZyB0aGUgRkFNSUxZLCB0aGUgdG9vbHMgYXNzdW1lIHRoZSBmbGFncyBhcmUgYXBw bGljYWJsZSB0byBhbGwgZmFtaWxpZXMuDQo+IHwNCj4gIHwgYFRBUkdFVGAgICAgfCBZRVMgICAg ICB8IFllcyA9ICogIHwgYENvbmYvdG9vbHNfZGVmLnR4dGAgZmlsZSBkZWZpbmVzIHR3byB2YWx1 ZXM6DQo+IHwNCj4gIHwgICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgIHwgREVCVUcg YW5kIFJFTEVBU0UuIERldmVsb3BlcnMgbWF5IGRlZmluZSBhZGRpdGlvbmFsIHRhcmdldHMuDQo+ IHwNCj4gIHwgYFRBR05BTUVgICAgfCBZRVMgICAgICB8IFllcyA9ICogIHwgYENvbmYvdG9vbHNf ZGVmLnR4dGAgZmlsZSBkZWZpbmVzIHNldmVyYWwgZGlmZmVyZW50IHRhZyBuYW1lcyAtIHRoZXNl IGFyZSBkZWZpbmVkIGJ5DQo+IGRldmVsb3BlcnM7IHRoZSBkZWZhdWx0IHRhZyBuYW1lLCBNWVRP T0xTLCBpcyBwcm92aWRlZCBpbiB0aGUgdGVtcGxhdGUgZm9yIHRvb2xzX2RlZi50eHQgYW5kIHNl dCBpbiB0aGUgYENvbmYvdGFyZ2V0LnR4dGAgZmlsZS4gfA0KPiAgfCBgQVJDSGAgICAgICB8IFlF UyAgICAgIHwgWWVzID0gKiAgfCBgQ29uZi90b29sc19kZWYudHh0YCBkZWZpbmVzIHNpeCBhcmNo aXRlY3R1cmVzOg0KPiB8DQo+IC18ICAgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAgICB8 IEFSTSwgQUFSQ0g2NCwgSUEzMiwgWDY0LCBJUEYgYW5kIEVCQy4gVGhpcyB0YWcgbXVzdCB1c2Ug YWxsIGNhcGl0YWwgbGV0dGVycyBmb3IgdGhlIHRhZy4NCj4gQWRkaXRpb25hbCBBcmNoaXRlY3R1 cmVzLCBzdWNoIGFzIFBQQyBtYXkgYmUgYWRkZWQgYXMgc3VwcG9ydCBiZWNvbWVzIGF2YWlsYWJs ZS4NCj4gfA0KPiArfCAgICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgfCBBUk0sIEFB UkNINjQsIElBMzIsIFg2NCBhbmQgRUJDLiBUaGlzIHRhZyBtdXN0IHVzZSBhbGwgY2FwaXRhbCBs ZXR0ZXJzIGZvciB0aGUgdGFnLg0KPiBBZGRpdGlvbmFsIEFyY2hpdGVjdHVyZXMsIHN1Y2ggYXMg UFBDIG1heSBiZSBhZGRlZCBhcyBzdXBwb3J0IGJlY29tZXMgYXZhaWxhYmxlLg0KPiB8DQo+ICB8 IGBUT09MQ09ERWAgIHwgWUVTICAgICAgfCBOTyAgICAgICB8IFRoZSB0b29sIGNvZGUgbXVzdCBi ZSBvbmUgb2YgdGhlIGRlZmluZWQgdG9vbCBjb2RlcyBpbiB0aGUgYENvbmYvdG9vbHNfZGVmLnR4 dGAgZmlsZS4gVGhlDQo+IGZsYWdzIGRlZmluZWQgaW4gdGhpcyBzZWN0aW9uIGFyZSBhcHBlbmRl ZCB0byBmbGFncyBkZWZpbmVkIGluIHRoZSBgdG9vbHNfZGVmLnR4dGAgZmlsZSBmb3IgaW5kaXZp ZHVhbCB0b29scy4gICAgICAgICAgICAgIHwNCj4gIHwgICAgICAgICAgICAgfCAgICAgICAgICB8 ICAgICAgICAgIHwgRVhDRVBUSU9OOiBJZiB0aGUgSU5GIE1PRFVMRV9UWVBFLCBkZWZpbmVkIGlu IHRoZSBgW0RlZmluZXNdYCBzZWN0aW9uIGlzDQo+IGBVU0VSX0RFRklORURgLCB0aGVuIHRoZSBm bGFncyBsaXN0ZWQgaW4gdGhpcyBzZWN0aW9uIGFyZSB0aGUgb25seSBmbGFncyB1c2VkIGZvciB0 aGUNCj4gfA0KPiAgfCAgICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgfCBUT09MQ09E RSBjb21tYW5kIHNwZWNpZmllZCBpbiBDb25mL3Rvb2xzX2RlZi50eHRgLg0KPiB8DQo+ICB8IGBB VFRSSUJVVEVgIHwgWUVTICAgICAgfCBOTyAgICAgICB8IFRoZSBhdHRyaWJ1dGUgbXVzdCBiZSBz cGVjaWZpYyB0byB0aGUgdG9vbCBjb2RlIGFuZCBtdXN0IGJlIGEgdmFsaWQgYXR0cmlidXRlIGhh bmRsZWQgYnkgdGhlDQo+IGJ1aWxkIHN5c3RlbS4gRm9yIHRoZSByZWZlcmVuY2UgYnVpbGQsIGEg dmFsaWQgcnVsZSBtdXN0IGJlIGluY2x1ZGVkIGluIHRoZSBfYnVpbGRfcnVsZS50eHRfLiAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwNCj4gDQo+IGRpZmYgLS1naXQgYS8yX2RzY19vdmVydmll dy8yNl9bbGlicmFyaWVzXV9zZWN0aW9uX3Byb2Nlc3NpbmcubWQgYi8yX2RzY19vdmVydmlldy8y Nl9bbGlicmFyaWVzXV9zZWN0aW9uX3Byb2Nlc3NpbmcubWQNCj4gaW5kZXggOGEwMTAyNS4uODJj ZGE0NyAxMDA2NDQNCj4gLS0tIGEvMl9kc2Nfb3ZlcnZpZXcvMjZfW2xpYnJhcmllc11fc2VjdGlv bl9wcm9jZXNzaW5nLm1kDQo+ICsrKyBiLzJfZHNjX292ZXJ2aWV3LzI2X1tsaWJyYXJpZXNdX3Nl Y3Rpb25fcHJvY2Vzc2luZy5tZA0KPiBAQCAtNTYsMTEgKzU2LDEwIEBAIFRoaXMgc2VjdGlvbiB3 aWxsIHR5cGljYWxseSB1c2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgc2VjdGlvbiBkZWZpbml0aW9u czoNCj4gDQo+ICBgYGBpbmkNCj4gIFtMaWJyYXJpZXMuY29tbW9uXQ0KPiAgW0xpYnJhcmllcy5J QTMyXQ0KPiAgW0xpYnJhcmllcy5YNjRdDQo+IC1bTGlicmFyaWVzLklQRl0NCj4gIFtMaWJyYXJp ZXMuRUJDXQ0KPiAgYGBgDQo+IA0KPiAgVGhlIGZvcm1hdHMgZm9yIGVudHJpZXMgaW4gdGhpcyBz ZWN0aW9uIGlzOg0KPiANCj4gZGlmZiAtLWdpdCBhLzJfZHNjX292ZXJ2aWV3LzI3X1tsaWJyYXJ5 Y2xhc3Nlc11fc2VjdGlvbl9wcm9jZXNzaW5nLm1kIGIvMl9kc2Nfb3ZlcnZpZXcvMjdfW2xpYnJh cnljbGFzc2VzXV9zZWN0aW9uX3Byb2Nlc3NpbmcubWQNCj4gaW5kZXggMTRhYzljOC4uNTBiZGE5 MyAxMDA2NDQNCj4gLS0tIGEvMl9kc2Nfb3ZlcnZpZXcvMjdfW2xpYnJhcnljbGFzc2VzXV9zZWN0 aW9uX3Byb2Nlc3NpbmcubWQNCj4gKysrIGIvMl9kc2Nfb3ZlcnZpZXcvMjdfW2xpYnJhcnljbGFz c2VzXV9zZWN0aW9uX3Byb2Nlc3NpbmcubWQNCj4gQEAgLTUxLDExICs1MSwxMCBAQCBUaGUgZm9s bG93aW5nIGlzIHRoZSBnZW5lcmljIGZvcm1hdCBmb3IgdGhlIHNwZWNpZnlpbmcgYSBzZWN0aW9u DQo+IA0KPiAgYGBgaW5pDQo+ICBbTGlicmFyeUNsYXNzZXNdDQo+ICBbTGlicmFyeUNsYXNzZXMu SUEzMl0NCj4gIFtMaWJyYXJ5Q2xhc3Nlcy5YNjRdDQo+IC1bTGlicmFyeUNsYXNzZXMuSVBGXQ0K PiAgW0xpYnJhcnlDbGFzc2VzLkVCQ10NCj4gIFtMaWJyYXJ5Q2xhc3Nlcy5jb21tb25dDQo+ICBg YGANCj4gDQo+ICBGb3JtYXQgZm9yIGVudHJpZXMgaW4gdGhpcyBzZWN0aW9uIGlzIGFzIGZvbGxv d3M6DQo+IGRpZmYgLS1naXQgYS8yX2RzY19vdmVydmlldy8yOF9wY2Rfc2VjdGlvbl9wcm9jZXNz aW5nLm1kIGIvMl9kc2Nfb3ZlcnZpZXcvMjhfcGNkX3NlY3Rpb25fcHJvY2Vzc2luZy5tZA0KPiBp bmRleCA0YzVkOTUyLi5hNWQ1NmIzIDEwMDY0NA0KPiAtLS0gYS8yX2RzY19vdmVydmlldy8yOF9w Y2Rfc2VjdGlvbl9wcm9jZXNzaW5nLm1kDQo+ICsrKyBiLzJfZHNjX292ZXJ2aWV3LzI4X3BjZF9z ZWN0aW9uX3Byb2Nlc3NpbmcubWQNCj4gQEAgLTQxLDExICs0MSwxMSBAQCBUaGVyZSBhcmUgZml2 ZSBkZWZpbmVkIFBDRCBhY2Nlc3MgbWV0aG9kcy4gVGhlIGZpdmUgYWNjZXNzIG1ldGhvZHMgYXJl Og0KPiAgUENEcy4NCj4gDQo+ICAjIyMjIDIuOC4xLjEgRmVhdHVyZUZsYWcgYW5kIER5bmFtaWMg UENEIFR5cGVzDQo+IA0KPiAgVGhlIHR3byByZWNvbW1lbmRlZCBhY2Nlc3MgbWV0aG9kcyB0aGF0 IGFyZSBjb21tb25seSB1c2VkIGluIG1vZHVsZXMgYXJlDQo+IC1gRmVhdHVyZUZsYWdgIGFuZCB0 aGUgZ2VuZXJpYywgYER5bmFtaWMgbWV0aG9kYC4gVGhlIGBEeW5hbWljYCBmb3JtIGlzIHVzZWQg Zm9yDQo+ICtgRmVhdHVyZUZsYWdgIGFuZCB0aGUgZ2VuZXJpYyBgRHluYW1pYyBtZXRob2RgLiBU aGUgYER5bmFtaWNgIGZvcm0gaXMgdXNlZCBmb3INCj4gIGNvbmZpZ3VyYXRpb24gd2hlbiB0aGUg UENEIHZhbHVlIGlzIHByb2R1Y2VkIGFuZCBjb25zdW1lZCBieSBkcml2ZXJzIGR1cmluZw0KPiAg ZXhlY3V0aW9uLCB0aGUgdmFsdWUgbWF5IGJlIHVzZXIgY29uZmlndXJhYmxlIGZyb20gc2V0dXAg b3IgdGhlIHZhbHVlIGlzDQo+ICBwcm9kdWNlZCBieSB0aGUgcGxhdGZvcm0gaW4gYSBzcGVjaWZp ZWQgYXJlYS4gSXQgaXMgYXNzb2NpYXRlZCB3aXRoIG1vZHVsZXMNCj4gIHRoYXQgYXJlIHJlbGVh c2VkIGluIHNvdXJjZSBjb2RlLiBUaGUgZHluYW1pYyBmb3JtIGlzIHRoZSBtb3N0IGZsZXhpYmxl IG1ldGhvZCwNCj4gIGFzIHBsYXRmb3JtIGludGVncmF0b3JzIG1heSBjaG9zZSBhIHRvIHVzZSBh IGRpZmZlcmVudCBhY2Nlc3MgbWV0aG9kIGZvciBhDQo+IEBAIC03OSwxMSArNzksMTAgQEAgVGhl IGNvbnRlbnQgaW4gdGhlc2Ugc2VjdGlvbnMgaXMgdXNlZCBmb3IgZ2VuZXJhdGluZyB0aGUgYEF1 dG9HZW4uY2AgYW5kDQo+ICBgYGBpbmkNCj4gIFtQY2RzKFBjZFR5cGUpXQ0KPiAgW1BjZHMoUGNk VHlwZSkuY29tbW9uXQ0KPiAgW1BjZHMoUGNkVHlwZSkuSUEzMl0NCj4gIFtQY2RzKFBjZFR5cGUp Llg2NF0NCj4gLVtQY2RzKFBjZFR5cGUpLklQRl0NCj4gIFtQY2RzKFBjZFR5cGUpLkVCQ10NCj4g IGBgYA0KPiANCj4gICMjIyAyLjguMiBQQ0QgQWNjZXNzIE1ldGhvZCBDYXRlZ29yaWVzDQo+IA0K PiBAQCAtMTI2LDExICsxMjUsMTEgQEAgZm9yIGFsbCBvdGhlciBQQ0QgZGF0YSB0eXBlcy4NCj4g DQo+ICAqKioqKioqKioqDQo+ICAqKldhcm5pbmc6KiogQSBgRml4ZWRBdEJ1aWxkYCBvciBgUGF0 Y2hhYmxlSW5Nb2R1bGVgIFBDRCBtYXkgaGF2ZSBhDQo+ICBkaWZmZXJlbnQgZGF0dW0gdHlwZSBi YXNlZCBvbiB0aGUgYXJjaGl0ZWN0dXJlLiBGb3IgZXhhbXBsZSwgYSBQQ0QgdGhhdCBpcyB1c2Vk DQo+ICBmb3IgYWRkcmVzcyBtYW5pcHVsYXRpb24gbWF5IGhhdmUgYSBkYXR1bSB0eXBlIG9mIGBV SU5UMzJgIGZvciBJQTMyIGFuZA0KPiAtYFVJTlQ2NGAgZm9yIFg2NCBhbmQgSVBGIGFyY2hpdGVj dHVyZXMuIFRoaXMgd2lsbCBiZSBkZWNsYXJlZCBpbiB0aGUgRURLIElJDQo+ICtgVUlOVDY0YCBm b3IgWDY0IGFuZCBFQkMgYXJjaGl0ZWN0dXJlcy4gVGhpcyB3aWxsIGJlIGRlY2xhcmVkIGluIHRo ZSBFREsgSUkNCj4gIFBhY2thZ2UgRGVjbGFyYXRpb24gKERFQykgRmlsZS4NCj4gICoqKioqKioq KioNCj4gDQo+ICAjIyMgMi44LjMgUENEIFNlY3Rpb24gVXNhZ2UNCj4gDQo+IEBAIC0xNzgsMTEg KzE3NywxMSBAQCBiZSBzcGVjaWZpZWQgd2l0aGluIGEgc2luZ2xlIFtdIHNlY3Rpb24gdGFnLg0K PiAgIyMjIyBDb3JyZWN0IGV4YW1wbGUNCj4gDQo+ICBgYGBpbmkNCj4gIFtQY2RzRml4ZWRBdEJ1 aWxkLklBMzJdDQo+ICAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTdGF0dXND b2RlTWVtb3J5U2l6ZXwxDQo+IC0gIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RS ZXNldE9uTWVtb3J5VHlwZUluZm9ybWF0aW9uQ2hhbmdlfEZBTCAgU0UNCj4gKyAgZ0VmaU1kZU1v ZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFJlc2V0T25NZW1vcnlUeXBlSW5mb3JtYXRpb25DaGFu Z2V8RkFMU0UNCj4gDQo+ICBbUGNkc1BhdGNoYWJsZUluTW9kdWxlLklBMzJdDQo+ICAgIGdFZmlN ZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JMZXZlbHwweDgwMDAwMDAwDQo+ IA0KPiAgW1BjZHNEeW5hbWljRGVmYXVsdC5JQTMyXQ0KPiBAQCAtMzg2LDExICszODUsMTEgQEAg YSBQQ0QgYXMgYFBjZHNGaXhlZEF0QnVpbGRgLCB0aGVuIGFsbCBsaWJyYXJ5IGluc3RhbmNlcyB0 aGF0IHVzZSB0aGF0IFBDRCBtdXN0DQo+ICBhbHNvIHVzZSB0aGUgUENEIGFzIGBQY2RzRml4ZWRB dEJ1aWxkYCB3aXRoIHRoZSBzYW1lIHZhbHVlLg0KPiANCj4gIEJ1aWxkIFRvb2xzIG11c3QgZGV0 ZWN0IG1pc3NpbmcgUENEIGVudHJpZXMgKFBDRCBzcGVjaWZpZWQgaW4gYW4gSU5GIGZpbGUsIGJ1 dA0KPiAgbm90IGluIHRoZSBEU0MgZmlsZSkgYW5kIHNlYXJjaCB0aGUgREVDIGZpbGVzIGluIHRo ZSBFREsgSUkgUGFja2FnZXMNCj4gIChzdWLDouKCrMKQZGlyZWN0b3JpZXMgaW4gZGlyZWN0b3Jp ZXMgcG9pbnRlZCB0byBieSBXT1JLU1BBQ0Ugb3IgUEFDS0FHRVNfUEFUSCBzeXN0ZW0NCj4gLWVu dmlyb25tZW50IHZhcmlhYmxlcyksIGluIG9yZGVyIHRvIHVzZSB0aGUgZGVmYXVsdCB2YWx1ZSBm cm9tIHRoZSBERUMgZmlsZS5QQ0QNCj4gK2Vudmlyb25tZW50IHZhcmlhYmxlcyksIGluIG9yZGVy IHRvIHVzZSB0aGUgZGVmYXVsdCB2YWx1ZSBmcm9tIHRoZSBERUMgZmlsZS4gUENEDQo+ICBWYWx1 ZXMgbWF5IGJlIGFic29sdXRlIChhIG51bWJlciwgc3RyaW5nLCBldGMuKSBhIE1BQ1JPIG5hbWUg b3IgYW4gZXhwcmVzc2lvbi4NCj4gIFRoZSBleHByZXNzaW9uIGlzIGEgQy1zdHlsZSBleHByZXNz aW9uIHVzaW5nIEMgcmVsYXRpb25hbCwgZXF1YWxpdHkgYW5kIGxvZ2ljYWwNCj4gIG51bWVyaWMg YW5kIGJpdHdpc2Ugb3BlcmF0b3JzIG9yIG51bWVyaWMgYW5kIGJpdHdpc2Ugb3BlcmF0b3JzIHRo YXQgZXZhbHVhdGUgdG8NCj4gIGEgdmFsdWUgdGhhdCBtYXRjaGVzIHRoZSBQQ0QncyBEYXR1bSBU eXBlIChzcGVjaWZpZWQgaW4gdGhlIERFQyBwYWNrYWdlDQo+ICBkZWNsYXJhdGlvbiBmaWxlLikg UHJlY2VkZW5jZSBhbmQgYXNzb2NpYXRpdml0eSBmb2xsb3cgQyBzdGFuZGFyZHMuIFVzaW5nIFBD RHMNCj4gQEAgLTM5OSwxMCArMzk4LDE0IEBAIGluIGV4cHJlc3Npb25zIGlzIGFsc28gcGVybWl0 dGVkLg0KPiAgIyMjIyAyLjguMy4xMCBNYXhpbXVtIFNpemUgb2YgYSBWT0lEKiBQQ0QNCj4gDQo+ ICBJZiB0aGUgbWF4aW11bSBzaXplIG9mIGEgVk9JRCogUENEIGlzIG5vdCBzcGVjaWZpZWQgaW4g dGhlIERTQyBmaWxlLCB0aGVuIHRoZQ0KPiAgbWF4aW11bSBzaXplIHdpbGwgYmUgY2FsY3VsYXRl ZCBiYXNlZCBvbiB0aGUgbGFyZ2VzdCBzaXplIG9mIHRoZSBmb2xsb3dpbmc6DQo+IA0KPiArKiB0 aGUgc3RyaW5nIG9yIGFycmF5IGluIHRoZSAtLXBjZCBvcHRpb24NCj4gKw0KPiArKiB0aGUgc3Ry aW5nIG9yIGFycmF5IGluIHRoZSBGREYgZmlsZQ0KPiArDQo+ICAqIHRoZSBzdHJpbmcgb3IgYXJy YXkgaW4gdGhlIERTQyBmaWxlDQo+IA0KPiAgKiB0aGUgc3RyaW5nIG9yIGFycmF5IGluIHRoZSBJ TkYgZmlsZQ0KPiANCj4gICogdGhlIHN0cmluZyBvciBhcnJheSBpbiB0aGUgREVDIGZpbGUNCj4g ZGlmZiAtLWdpdCBhLzJfZHNjX292ZXJ2aWV3LzI5X3BjZF9zZWN0aW9ucy5tZCBiLzJfZHNjX292 ZXJ2aWV3LzI5X3BjZF9zZWN0aW9ucy5tZA0KPiBpbmRleCBiMzMwMjZjLi43OTExMjVmIDEwMDY0 NA0KPiAtLS0gYS8yX2RzY19vdmVydmlldy8yOV9wY2Rfc2VjdGlvbnMubWQNCj4gKysrIGIvMl9k c2Nfb3ZlcnZpZXcvMjlfcGNkX3NlY3Rpb25zLm1kDQo+IEBAIC0zMywxMSArMzMsMTEgQEANCj4g DQo+ICAjIyMgMi45LjEgW1BjZHNGZWF0dXJlRmxhZ10gc2VjdGlvbg0KPiANCj4gIFRoZSByZXF1 aXJlZCBjb250ZW50IGZvciB0aGUgRmVhdHVyZUZsYWcgUENEIGlzIHRoZSBQQ0QgVG9rZW4gU3Bh Y2UgR3VpZCBDDQo+ICBuYW1lLCB0aGUgUENEJ3MgQyBuYW1lICh0aGVzZSB0d28gZW50cmllcyBh cmUgc2VwYXJhdGVkIGJ5IHRoZSBwZXJpb2QNCj4gLWNoYXJhY3RlciksIGFuZCBhIEJvb2xlYW4g dmFsdWUgb2YgZWl0aGVyIFRSVUUsIEZBTFNFLCAxIG9yIDAgVGhlIFBDRCBuYW1lDQo+ICtjaGFy YWN0ZXIpLCBhbmQgYSBCb29sZWFuIHZhbHVlIG9mIGVpdGhlciBUUlVFLCBGQUxTRSwgMSBvciAw LiBUaGUgUENEIG5hbWUNCj4gIGFuZCB2YWx1ZSBlbnRyaWVzIGFyZSBzZXBhcmF0ZWQgYnkgdGhl IHBpcGUgInwiIGNoYXJhY3Rlci4NCj4gDQo+ICBGZWF0dXJlRmxhZyBQQ0RzIGNhbiBiZSB1c2Vk IGluIGNvbmRpdGlvbmFsIGRpcmVjdGl2ZSBzdGF0ZW1lbnRzIHdpdGhpbiB0aGUgRFNDDQo+ICBh bmQgRkRGIGZpbGVzLiBUaGVzZSBQQ0RzIG1heSBhbHNvIGJlIHVzZWQgdG8gc2VsZWN0IGV4ZWN1 dGlvbiBwYXRocyBpbiBzb21lDQo+ICBjb2RlIHJvdXRpbmVzLiBUaGUgYnVpbGQgdG9vbHMgd2ls bCBnZW5lcmF0ZSBhIGNvbnN0IHZhcmlhYmxlIGZvciBlYWNoDQo+IEBAIC01NSwxMSArNTUsMTAg QEAgb21pdHRlZCBpbiB0aGVzZSBleGFtcGxlczoNCj4gIGBgYGluaQ0KPiAgW1BjZHNGZWF0dXJl RmxhZ10NCj4gIFtQY2RzRmVhdHVyZUZsYWcuY29tbW9uXQ0KPiAgW1BjZHNGZWF0dXJlRmxhZy5J QTMyXQ0KPiAgW1BjZHNGZWF0dXJlRmxhZy5YNjRdDQo+IC1bUGNkc0ZlYXR1cmVGbGFnLklQRl0N Cj4gIFtQY2RzRmVhdHVyZUZsYWcuRUJDXQ0KPiAgYGBgDQo+IA0KPiAgRm9ybWF0IG9mIGFuIGVu dHJ5IGluIHRoaXMgc2VjdGlvbiBpczoNCj4gDQo+IEBAIC0xMDUsMTEgKzEwNCwxMCBAQCBUaGUg Zm9sbG93aW5nIGFyZSB0eXBpY2FsIGV4YW1wbGVzIG9mIHRoZSBgW1BjZHNGaXhlZEF0QnVpbGRd YCBzZWN0aW9uIHRhZyAodGhlDQo+ICBgYGBpbmkNCj4gIFtQY2RzRml4ZWRBdEJ1aWxkXQ0KPiAg W1BjZHNGaXhlZEF0QnVpbGQuY29tbW9uXQ0KPiAgW1BjZHNGaXhlZEF0QnVpbGQuSUEzMl0NCj4g IFtQY2RzRml4ZWRBdEJ1aWxkLlg2NF0NCj4gLVtQY2RzRml4ZWRBdEJ1aWxkLklQRl0NCj4gIFtQ Y2RzRml4ZWRBdEJ1aWxkLkVCQ10NCj4gIFtQY2RzRml4ZWRBdEJ1aWxkLiQoYXJjaCkuJChTa3VJ ZGVudGlmaWVyKV0NCj4gIGBgYA0KPiANCj4gIEZvcm1hdCBvZiBhIHBvaW50IChWT0lEKikgZW50 cnkgaW4gdGhpcyBzZWN0aW9uIGlzOg0KPiBAQCAtMTUwLDExICsxNDgsMTAgQEAgVGhlIGZvbGxv d2luZyBhcmUgdHlwaWNhbCBleGFtcGxlcyBvZiB0aGUgYFtQY2RzUGF0Y2hhYmxlSW5Nb2R1bGVd YCBzZWN0aW9uIHRhZw0KPiANCj4gIGBgYGluaQ0KPiAgW1BjZHNQYXRjaGFibGVJbk1vZHVsZV0N Cj4gIFtQY2RzUGF0Y2hhYmxlSW5Nb2R1bGUuSUEzMl0NCj4gIFtQY2RzUGF0Y2hhYmxlSW5Nb2R1 bGUuWDY0XQ0KPiAtW1BjZHNQYXRjaGFibGVJbk1vZHVsZS5JUEZdDQo+ICBbUGNkc1BhdGNoYWJs ZUluTW9kdWxlLkVCQ10NCj4gIFtQY2RzUGF0Y2hhYmxlSW5Nb2R1bGUuJChhcmNoKS4kKFNrdUlk ZW50aWZpZXIpXQ0KPiAgYGBgDQo+IA0KPiAgRm9ybWF0IG9mIGFuIGVudHJ5IGluIHRoaXMgc2Vj dGlvbiBpczoNCj4gQEAgLTI1NiwxMSArMjUzLDEyIEBAIGRlc2NyaWJlZCBpbiB0aGUgZm9sbG93 aW5nIHRhYmxlLg0KPiANCj4gICMjIyMgRXhhbXBsZXMNCj4gDQo+ICBgYGBpbmkNCj4gIFtQY2Rz RHluYW1pY0hpaS5jb21tb24uU2t1X1R3b10NCj4gLSAgTm9TdWNoVG9rZW5TcGFjZUd1aWQuUGNk UHJlQWxsb2NhdGVkTWVtfCAweDAwNTMgMHgwMDY1IDB4MDA3NCAweDAwNzUgMHgwMDcwfGdTeXNj b25maWdHdWlkfDB4MDAwMDAwQTl8MHgzDQo+ICsgIE5vU3VjaFRva2VuU3BhY2VHdWlkLlBjZFBy ZUFsbG9jYXRlZE1lbXxMIlRlc3RWYXJpYWJsZSJ8Z1N5c2NvbmZpZ0d1aWR8MHgwMDAwMDBBOXww eDMNCj4gKw0KPiAgW1BjZHNEeW5hbWljSGlpLmNvbW1vbi5ERUZBVUxUXQ0KPiAgICBnRWZpTWRl TW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVmFsaWRSYW5nZXxMIlBjZFZhbGlkUmFuZ2UifGdF ZmlHbG9iYWxWYXJpYWJsZUd1aWR8MHgwN3wwfEJTLFJULE5WDQo+ICBgYGANCj4gDQo+ICAjIyMj IDIuOS4zLjMgUGNkc0R5bmFtaWNWcGQNCj4gQEAgLTM1MywxMSArMzUxLDExIEBAIGRlc2NyaWJl ZCBpbiBUYWJsZSA5IEhJSSBBdHRyaWJ1dGVzLg0KPiANCj4gICMjIyMgRXhhbXBsZXMNCj4gDQo+ ICBgYGBpbmkNCj4gIFtQY2RzRHluYW1pY0V4SGlpLklBMzIuU2t1X1R3b10NCj4gLSAgZ05vU3Vj aFRva2VuU3BhY2VHdWlkLlBjZFByZUFsbG9jYXRlZE1lbXwweDAwNTMgMHgwMDY1IDB4MDA3NCAw eDAwNzUgMHgwMDcwfGdTeXNjb25maWdHdWlkfDB4MDAwMDAwQTl8MHgxMQ0KPiArICBnTm9TdWNo VG9rZW5TcGFjZUd1aWQuUGNkUHJlQWxsb2NhdGVkTWVtfEwiVGVzdFZhcmlhYmxlInxnU3lzY29u ZmlnR3VpZHwweDAwMDAwMEE5fDB4MTENCj4gDQo+ICBbUGNkc0R5bmFtaWNFeEhpaS5jb21tb24u REVGQVVMVF0NCj4gICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFZhbGlkUmFu Z2V8TCJQY2RWYWxpZFJhbmdlInxnRWZpR2xvYmFsVmFyaWFibGVHdWlkfDB4MDd8MHxCUyxSVCxO Vg0KPiAgYGBgDQo+IA0KPiBkaWZmIC0tZ2l0IGEvM19lZGtfaWlfZHNjX2ZpbGVfZm9ybWF0LzMx MF9wY2Rfc2VjdGlvbnMubWQgYi8zX2Vka19paV9kc2NfZmlsZV9mb3JtYXQvMzEwX3BjZF9zZWN0 aW9ucy5tZA0KPiBpbmRleCA3NDFhNjIwLi5mOWYxMzU5IDEwMDY0NA0KPiAtLS0gYS8zX2Vka19p aV9kc2NfZmlsZV9mb3JtYXQvMzEwX3BjZF9zZWN0aW9ucy5tZA0KPiArKysgYi8zX2Vka19paV9k c2NfZmlsZV9mb3JtYXQvMzEwX3BjZF9zZWN0aW9ucy5tZA0KPiBAQCAtMTMxLDExICsxMzEsMTIg QEAgdGhlIHBpcGUgY2hhcmFjdGVyLCAifCIuIFBDRHMgbGlzdGVkIGluIHRoaXMgc2VjdGlvbiBt dXN0IG5vdCBiZSBsaXN0ZWQgaW4NCj4gIGZpbGUuDQo+IA0KPiAgIyMjIyBQcm90b3R5cGUNCj4g DQo+ICBgYGBjDQo+IC08UGNkcz4gICAgICAgICA6Oj0gIltQY2RzRmVhdHVyZUZsYWciIFs8YXR0 cmlicz5dICJdIiA8RU9MPiA8RkZTdGF0bWVudHM+Kg0KPiArPFBjZHM+ICAgICAgICAgOjo9ICJb UGNkc0ZlYXR1cmVGbGFnIiBbPGF0dHJpYnM+XSAiXSIgPEVPTD4NCj4gKyAgICAgICAgICAgICAg ICAgICA8RkZTdGF0bWVudHM+Kg0KPiAgPEZGU3RhdGVtZW50cz4gOjo9IHs8TWFjcm9EZWZpbml0 aW9uPn0gezxJbmNsdWRlU3RhdGVtZW50Pn0gezxQY2RFbnRyeT59DQo+ICA8YXR0cmlicz4gICAg ICA6Oj0gPGF0dHJzPiBbIiwiIDxUUz4gIlBjZHNGZWF0dXJlRmxhZyIgPGF0dHJzPl0qDQo+ICA8 YXR0cnM+ICAgICAgICA6Oj0gIi4iIDxhcmNoPiBbIi4iIDxTa3VJZHM+XQ0KPiAgPFNrdUlkUz4g ICAgICAgOjo9IDxLZXl3b3JkPiBbPEZTPiA8S2V5d29yZD5dKg0KPiAgPEtleXdvcmQ+ICAgICAg Ojo9IDxDTmFtZT4NCj4gQEAgLTIxNywxMSArMjE4LDEyIEBAIGZpZWxkcyB0aGF0IGFyZSBzZXBh cmF0ZWQgYnkgdGhlIHBpcGUgY2hhcmFjdGVyLCAifCIuDQo+ICAgICAgICAgICAgICAgICAgICAg IDxGYWJTdGF0ZW1lbnRzPioNCj4gIDxhdHRyaWJzPiAgICAgICA6Oj0gPGF0dHJzPiBbIiwiIDxU Uz4gIlBjZHNGaXhlZEF0QnVpbGQiIDxhdHRycz5dKg0KPiAgPGF0dHJzPiAgICAgICAgIDo6PSAi LiIgPGFyY2g+IFsiLiIgPFNrdUlkcz5dDQo+ICA8U2t1SWRTPiAgICAgICAgOjo9IDxLZXl3b3Jk PiBbPEZTPiA8S2V5d29yZD5dKg0KPiAgPEtleXdvcmQ+ICAgICAgIDo6PSA8Q05hbWU+DQo+IC08 RmFiU3RhdGVtZW50cz4gOjo9IHs8TWFjcm9EZWZpbml0aW9uPn0gezxJbmNsdWRlU3RhdGVtZW50 Pn0gezxQY2RFbnRyeT59IHs8UGNkRmllbGRFbnRyeT59DQo+ICs8RmFiU3RhdGVtZW50cz4gOjo9 IHs8TWFjcm9EZWZpbml0aW9uPn0gezxJbmNsdWRlU3RhdGVtZW50Pn0gezxQY2RFbnRyeT59DQo+ ICsgICAgICAgICAgICAgICAgICAgIHs8UGNkRmllbGRFbnRyeT59DQo+ICA8UGNkRW50cnk+ICAg ICAgOjo9IDxUUz4gPFBjZE5hbWU+IFs8RlM+IDxQY2RWYWx1ZT5dIDxFT0w+DQo+ICA8UGNkVmFs dWU+ICAgICAgOjo9IGlmIChwY2RkYXR1bXR5cGUgPT0gIkJPT0xFQU4iKToNCj4gICAgICAgICAg ICAgICAgICAgICAgICB7PEJvb2xUeXBlPn0gezxFeHByZXNzaW9uPn0NCj4gICAgICAgICAgICAg ICAgICAgICAgZWxpZiAocGNkZGF0dW10eXBlID09ICJVSU5UOCIpOg0KPiAgICAgICAgICAgICAg ICAgICAgICAgIHs8TnVtVmFsVWludDg+fSB7PEV4cHJlc3Npb24+fQ0KPiBAQCAtMjY1LDExICsy NjcsMTIgQEAgdmFsdWUgaXMgbm90IGxpc3RlZCBpbiB0aGUgSU5GIGZpbGUsIHRoZW4gdGhlIGRl ZmF1bHQgdmFsdWUgZnJvbSB0aGUgREVDIGZpbGUNCj4gIG11c3QgYmUgdXNlZC4NCj4gDQo+ICAj IyMjIEV4YW1wbGUNCj4gDQo+ICBgYGBpbmkNCj4gLVtQY2RzRml4ZWRBdEJ1aWxkLklBMzJdIGdF ZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aA0KPiAr W1BjZHNGaXhlZEF0QnVpbGQuSUEzMl0NCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoDQo+ICAgIGdFZmlFZGtOdDMyUGtnVG9rZW5TcGFj ZUd1aWQuUGNkV2luTnRNZW1vcnlTaXplRm9yU2VjTWFpbnxMIjY0ITY0InxWT0lEKnwweDEwDQo+ IA0KPiAgW1BjZHNGaXhlZEF0QnVpbGQuQVJNXQ0KPiAgICBnRW1iZWRkZWRUb2tlblNwYWNlR3Vp ZC5QY2RQcmVQaUNwdU1lbW9yeVNpemV8MzINCj4gICAgZ0VtYmVkZGVkVG9rZW5TcGFjZUd1aWQu UGNkUHJlUGlDcHVJb1NpemV8MA0KPiBAQCAtMzI0LDExICszMjcsMTIgQEAgb2YgdGhlIERTQyBm aWxlLg0KPiAgPGF0dHJpYnM+ICAgICAgIDo6PSA8YXR0cnM+IFsiLCIgPFRTPiAiUGNkc1BhdGNo YWJsZUluTW9kdWxlIg0KPiAgICAgICAgICAgICAgICAgICAgICA8YXR0cnM+XSoNCj4gIDxhdHRy cz4gICAgICAgICA6Oj0gIi4iIDxhcmNoPiBbIi4iIDxTa3VJZHM+XQ0KPiAgPFNrdUlkUz4gICAg ICAgIDo6PSA8S2V5d29yZD4gWzxGUz4gPEtleXdvcmQ+XSoNCj4gIDxLZXl3b3JkPiAgICAgICA6 Oj0gPENOYW1lPg0KPiAtPFBpbVN0YXRlbWVudHM+IDo6PSB7PE1hY3JvRGVmaW5pdGlvbj59IHs8 SW5jbHVkZVN0YXRlbWVudD59IHs8UGNkRW50cnk+fSB7PFBjZEZpZWxkRW50cnk+fQ0KPiArPFBp bVN0YXRlbWVudHM+IDo6PSB7PE1hY3JvRGVmaW5pdGlvbj59IHs8SW5jbHVkZVN0YXRlbWVudD59 IHs8UGNkRW50cnk+fQ0KPiArICAgICAgICAgICAgICAgICAgICB7PFBjZEZpZWxkRW50cnk+fQ0K PiAgPFBjZEVudHJ5PiAgICAgIDo6PSA8VFM+IDxQY2ROYW1lPiBbPEZTPiA8UGNkVmFsdWU+XSA8 RU9MPg0KPiAgPFBjZFZhbHVlPiAgICAgIDo6PSBpZiAocGNkZGF0dW10eXBlID09ICJCT09MRUFO Iik6DQo+ICAgICAgICAgICAgICAgICAgICAgICAgezxCb29sVHlwZT59IHs8RXhwcmVzc2lvbj59 DQo+ICAgICAgICAgICAgICAgICAgICAgIGVsaWYgKHBjZGRhdHVtdHlwZSA9PSAiVUlOVDgiKToN Cj4gICAgICAgICAgICAgICAgICAgICAgICB7PE51bVZhbFVpbnQ4Pn0gezxFeHByZXNzaW9uPn0N Cj4gQEAgLTQxMywxNiArNDE3LDE2IEBAIHRoZSBkYXR1bSB0eXBlIHNwZWNpZmllZCBpbiB0aGUg REVDIGZpbGUgdGhhdCBkZWNsYXJlcyB0aGlzIFBDRC4gSWYgYSBQQ0Qncw0KPiAgZGF0dW0gdHlw ZSBpcyBgVk9JRGAqIHRoZSBgTWF4aW11bURhdHVtU2l6ZWAgZmllbGQgaXMgcmVxdWlyZWQuIFNw ZWNpZnlpbmcNCj4gIGRpZmZlcmVudCBgPERhdGFTdG9yZT5gIHZhbHVlcyhgRGVmYXVsdGAsIGBI SUlgLCBvciBgVlBEYCkgaW4gb25lIHNlY3Rpb24NCj4gIGhlYWRlciBpcyBub3QgcGVybWl0dGVk LiBJdCBpcyBwZXJtaXNzaWJsZSB0byBzcGVjaWZ5IGRpZmZlcmVudCBBcmNoaXRlY3R1cmVzDQo+ ICB1c2luZyBhbiBpZGVudGljYWwgYDxEYXRhU3RvcmU+YCB2YWx1ZS4gVGhlIGZvbGxvd2luZyBs aW5lIGlzIHBlcm1pc3NpYmxlOg0KPiANCj4gLWBbUGNkc0R5bmFtaWNEZWZhdWx0Llg2NC5EZWZh dWx0LCBQY2RzRHluYW1pY0RlZmF1bHQuSVBGLkRlZmF1bHRdYA0KPiArYFtQY2RzRHluYW1pY0Rl ZmF1bHQuWDY0LkRlZmF1bHQsIFBjZHNEeW5hbWljRGVmYXVsdC5FQkMuRGVmYXVsdF1gDQo+IA0K PiAgVGhlIGZvbGxvd2luZyBsaW5lIGlzIGluY29ycmVjdCwgYW5kIG11c3QgY2F1c2UgYSBidWls ZCBicmVhayBkdXJpbmcgcGFyc2luZyBvZg0KPiAgdGhlIGZpbGU6DQo+IA0KPiAtYFtQY2RzRHlu YW1pY0RlZmF1bHQuWDY0LkRlZmF1bHQsIFBjZHNEeW5hbWljVnBkLklQRi5EZWZhdWx0XWANCj4g K2BbUGNkc0R5bmFtaWNEZWZhdWx0Llg2NC5EZWZhdWx0LCBQY2RzRHluYW1pY1ZwZC5FQkMuRGVm YXVsdF1gDQo+IA0KPiAgVGhlIGAhaW5jbHVkZWAgc3RhdGVtZW50IGlzIHBlcm1pdHRlZCBpbiBg W1BjZHNEeW5hbWljXWAgc2VjdGlvbnMsIGFsdGhvdWdoIG5vdA0KPiAgcmVjb21tZW5kZWQuDQo+ IA0KPiAgVGhlIGBPZmZzZXRgLCBgTWF4aW11bURhdHVtU2l6ZWAgYW5kIFZhbHVlIGZpZWxkcyBh cmUgb3B0aW9uYWwgZm9yIHRoZSBWUEQgUENEDQo+IEBAIC00NTIsMTUgKzQ1NiwxNyBAQCBzZWN0 aW9ucyBvZiB0aGUgRFNDIGZpbGUuDQo+ICAgICAgICAgICAgICAgICAgICAgICB7PFRTPiA8TWlu RW50cnk+fSB7PFRTPiA8UGNkRmllbGRFbnRyeT59DQo+ICA8UGRkQXR0cmlicz4gICAgIDo6PSA8 YXR0cnM+IFsiLCIgPFRTPiAiUGNkc0R5bmFtaWNEZWZhdWx0IiA8YXR0cnM+XSoNCj4gIDxQY2Rz VnBkPiAgICAgICAgOjo9ICJbUGNkc0R5bmFtaWNWcGQiIFs8UGR2QXR0cmlicz5dICJdIiA8RU9M Pg0KPiAgICAgICAgICAgICAgICAgICAgICAgPFBkdkVudHJpZXM+Kg0KPiAgPFBkdkF0dHJpYnM+ ICAgICA6Oj0gPGF0dHJzPiBbICIsIiA8VFM+ICJQY2RzRHluYW1pY1ZwZCIgPGF0dHJzPl0qDQo+ IC08UGR2RW50cmllcz4gICAgIDo6PSB7PE1hY3JvRGVmaW5pdGlvbj59IHs8SW5jbHVkZVN0YXRl bWVudD59IHs8VFM+IDxWcGRFbnRyeT59IHs8VFM+IDxQY2RGaWVsZEVudHJ5Pn0NCj4gKzxQZHZF bnRyaWVzPiAgICAgOjo9IHs8TWFjcm9EZWZpbml0aW9uPn0gezxJbmNsdWRlU3RhdGVtZW50Pn0g ezxUUz4gPFZwZEVudHJ5Pn0NCj4gKyAgICAgICAgICAgICAgICAgICAgIHs8VFM+IDxQY2RGaWVs ZEVudHJ5Pn0NCj4gIDxQY2RzSGlpPiAgICAgICAgOjo9ICJbUGNkc0R5bmFtaWNIaWkiIFs8UGRo QXR0cmlicz5dICJdIiA8RU9MPg0KPiAgICAgICAgICAgICAgICAgICAgICAgPFBjZEhpaUVudHJp ZXM+Kg0KPiAgPFBkaEF0dHJpYnM+ICAgICA6Oj0gPHBoYXR0cnM+IFsiLCIgPFRTPiAiUGNkc0R5 bmFtaWNIaWkgPHBoYXR0cnM+XSogPFBkdkVudHJpZXM+Kg0KPiAtPFBjZEhpaUVudHJpZXM+ICA6 Oj0gezxNYWNyb0RlZmluaXRpb24+fSB7PEluY2x1ZGVTdGF0ZW1lbnQ+fSB7PFRTPiA8SGlpRW50 cnk+fSB7PFRTPiA8UGNkRmllbGRFbnRyeT59DQo+ICs8UGNkSGlpRW50cmllcz4gIDo6PSB7PE1h Y3JvRGVmaW5pdGlvbj59IHs8SW5jbHVkZVN0YXRlbWVudD59IHs8VFM+IDxIaWlFbnRyeT59DQo+ ICsgICAgICAgICAgICAgICAgICAgICB7PFRTPiA8UGNkRmllbGRFbnRyeT59DQo+ICA8YXR0cnM+ ICAgICAgICAgIDo6PSAiLiIgPGFyY2g+IFsiLiIgPFNrdUlkcz5dDQo+ICA8cGhhdHRycz4gICAg ICAgIDo6PSAiLiIgPGFyY2g+IFsiLiIgPFNrdUlkcz5dWyIuIiA8RGVmYXVsdFN0b3JlPl0NCj4g IDxTa3VJZFM+ICAgICAgICAgOjo9IDxLZXl3b3JkPiBbPEZTPiA8S2V5d29yZD5dKg0KPiAgPERl ZmF1bHRTdG9yZT4gICA6Oj0gPEtleXdvcmQ+DQo+ICA8S2V5d29yZD4gICAgICAgIDo6PSA8Q05h bWU+DQo+IEBAIC01NzAsMTAgKzU3NiwxMSBAQCBEZWZhdWx0U3RvcmUgaW4gaXRzIHBhcmVudCBT S1UsIHRoZW4gaW5oZXJpdCBvdGhlciBEZWZhdWx0U3RvcmUgaW4gdGhlIHNhbWUgU0tVLg0KPiAg RGVmYXVsdFN0b3JlIHdpdGggdGhlIGJpZyBkZWZhdWx0IHN0b3JlIElEIHdpbGwgaW5oZXJpdCB0 aGUgc2V0dGluZyBmcm9tIG9uZSB3aXRoDQo+ICB0aGUgc21hbGwgZGVmYXVsdCBzdG9yZSBJRC4g SWYgdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgc21hbGwgZGVmYXVsdCBzdG9yZSBJRCwNCj4gIGl0 IHdpbGwgdXNlIHRoZSBiaWdnZXN0IG9uZSB0byBiZSBpbmhlcml0LiBIZXJlIGlzIHRoZSBleGFt cGxlLiBGb3VyIFBjZHNEeW5hbWljSGlpDQo+ICBzZWN0aW9ucyBhcmUgZGVmaW5lZC4NCj4gDQo+ ICtgYGBpbmkNCj4gICMgRm91ciBQY2RzRHluYW1pY0hpaSBzZWN0aW9uDQo+ICBbUGNkc0R5bmFt aWNIaWkuY29tbW9uLkRlZmF1bHQuU3RhbmRhcmRdDQo+ICBbUGNkc0R5bmFtaWNIaWkuY29tbW9u LkRlZmF1bHQuTWFudWZhY3R1cmluZ10NCj4gIFtQY2RzRHluYW1pY0hpaS5jb21tb24uU2t1MS5T dGFuZGFyZF0NCj4gIFtQY2RzRHluYW1pY0hpaS5jb21tb24uU2t1MS5NYW51ZmFjdHVyaW5nXQ0K PiBAQCAtNTg5LDEwICs1OTYsMTEgQEAgc2VjdGlvbnMgYXJlIGRlZmluZWQuDQo+ICAjIFNLVTEg TWFudWZhY3R1cmluZyBzZXR0aW5nIGJhc2VkIG9uIGZvdXIgc2VjdGlvbnMNCj4gIFtQY2RzRHlu YW1pY0hpaS5jb21tb24uRGVmYXVsdC5TdGFuZGFyZF0NCj4gIFtQY2RzRHluYW1pY0hpaS5jb21t b24uRGVmYXVsdC5NYW51ZmFjdHVyaW5nXQ0KPiAgW1BjZHNEeW5hbWljSGlpLmNvbW1vbi5Ta3Ux LlN0YW5kYXJkXQ0KPiAgW1BjZHNEeW5hbWljSGlpLmNvbW1vbi5Ta3UxLk1hbnVmYWN0dXJpbmdd DQo+ICtgYGANCj4gDQo+ICAqKl9QY2RWYWx1ZXNfKioNCj4gDQo+ICBQQ0QgdmFsdWVzIGFyZSBv cHRpb25hbCBmb3IgYFtQY2RzRHluYW1pY0RlZmF1bHRdYCBzZWN0aW9ucy4gVGhlIFBDRCB2YWx1 ZXMgZm9yDQo+ICBQQ0RzIGxpc3RlZCBpbiBgW1BjZHNEeW5hbWljVnBkXWAgYW5kIGBbUGNkc0R5 bmFtaWNIaWldYCBzZWN0aW9ucyBhcmUgYWxzbw0KPiBAQCAtNjA3LDExICs2MTUsMTEgQEAgdGhl IF9VRUZJIFNwZWNpZmljYXRpb25fIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZXNlIGF0dHJpYnV0 ZXMuDQo+IA0KPiAgIyMjIyBFeGFtcGxlcw0KPiANCj4gIGBgYGluaQ0KPiAgW1BjZHNEeW5hbWlj RGVmYXVsdC5JQTMyLkRlZmF1bHRdDQo+IC0gIGdFZmlFZGtOdDMyUGtnVG9rZW5TcGFjZUd1aWQu UGNkV2luTnRNZW1vcnlTaXplRm9yU2VjTWFpbnwiTDY0ITY0InwxMA0KPiArICBnRWZpRWRrTnQz MlBrZ1Rva2VuU3BhY2VHdWlkLlBjZFdpbk50TWVtb3J5U2l6ZUZvclNlY01haW58Ikw2NCE2NCJ8 Vk9JRCp8MTANCj4gICAgZ1BjQXRDaGlwc2V0UGtnVG9rZW5TcGFjZUd1aWQuUGNkODI1OUxlZ2Fj eU1vZGVFZGdlTGV2ZWwgfDB4MCAgICAgICAgICMgVUlOVDE2DQo+ICAgIGdQY0F0Q2hpcHNldFBr Z1Rva2VuU3BhY2VHdWlkLlBjZElzYUFjcGlQczJNb3VzZUVuYWJsZSAgIHwwICAgICAgICAgICAj IEJPT0xFQU4NCj4gDQo+ICBbUGNkc0R5bmFtaWNWcGQuY29tbW9uLlNrdV9Ud298U2t1U2V2ZW5d DQo+ICAgIGdVZWZpQ3B1UGtnVG9rZW5TcGFjZUd1aWQuUGNkQ3B1TG9jYWxBcGljQmFzZUFkZHJl c3MgfDB4MDAwMWZmZmZ8MHgxICAjIFVJTlQzMg0KPiBAQCAtNjIwLDExICs2MjgsMTEgQEAgdGhl IF9VRUZJIFNwZWNpZmljYXRpb25fIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZXNlIGF0dHJpYnV0 ZXMuDQo+ICAgIGdOb1N1Y2hUb2tlblNwYWNlR3VpZC5QY2RPZW1Cb290T3B0aW9uTmFtZXwweDIy RDR8MTAwfCIgIiAgICAgICAgICAgICAjIFZPSUQqDQo+ICAgIGdOb1N1Y2hUb2tlblNwYWNlR3Vp ZC5QY2RPZW1Cb290T3B0aW9uUGF0aHwweDIzMzh8MTAwfCIgIiAgICAgICAgICAgICAjIFZPSUQq DQo+ICAgIGdOb1N1Y2hUb2tlblNwYWNlR3VpZC5QY2RFbmFibGVGYXN0Qm9vdCAgIHwweDIzOUN8 MSAgfEZBTFNFICAgICAgICAgICAjIEJPT0xFQU4NCj4gDQo+ICBbUGNkc0R5bmFtaWNIaWkuSUEz MiwgUGNkc0R5bmFtaWNIaWkuWDY0LlNrdTEuU3RhbmRhcmRdDQo+IC0gIGdFZmlNeU1vZHVsZVBr Z1Rva2VuU3BhY2VHdWlkLlBjZENoYXNzaXNJbnRydXRpb258MHgwMDUzIDB4MDA2NSAweDAwNzQg MHgwMDc1IDB4MDA3MHxnU3lzQ29uZmlnR3VpZHwweDgzfDB4MA0KPiArICBnRWZpTXlNb2R1bGVQ a2dUb2tlblNwYWNlR3VpZC5QY2RDaGFzc2lzSW50cnV0aW9ufEwiVGVzdFZhcmlhYmxlInxnU3lz Q29uZmlnR3VpZHwweDgzfDB4MA0KPiAgICBnRWZpSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2dUb2tl blNwYWNlR3VpZC5QY2RQbGF0Zm9ybUJvb3RUaW1lT3V0fEwiVGltZW91dCJ8Z0VmaUdsb2JhbFZh cmlhYmxlR3VpZHwweDB8MTAgICMgVmFyaWFibGU6DQo+IEwiVGltZW91dCINCj4gIGBgYA0KPiAN Cj4gICMjIyAzLjEwLjUgW1BjZHNEeW5hbWljRXhdIFNlY3Rpb25zDQo+IA0KPiBAQCAtNjM4LDE2 ICs2NDYsMTYgQEAgdGhlIGRhdHVtIHR5cGUgc3BlY2lmaWVkIGluIHRoZSBERUMgZmlsZSB0aGF0 IGRlY2xhcmVzIHRoaXMgUENELiBJZiBhIFBDRCdzDQo+ICBkYXR1bSB0eXBlIGlzIGBWT0lEYCog dGhlIGBNYXhpbXVtRGF0dW1TaXplYCBmaWVsZCBpcyByZXF1aXJlZC4gU3BlY2lmeWluZw0KPiAg ZGlmZmVyZW50IGA8RGF0YVN0b3JlPmAgdmFsdWVzKGBEZWZhdWx0YCwgYEhJSWAsIG9yIGBWUERg KSBpbiBvbmUgc2VjdGlvbiBoZWFkZXINCj4gIGlzIG5vdCBwZXJtaXR0ZWQuIEl0IGlzIHBlcm1p c3NpYmxlIHRvIHNwZWNpZnkgZGlmZmVyZW50IEFyY2hpdGVjdHVyZXMgdXNpbmcgYW4NCj4gIGlk ZW50aWNhbCBgPERhdGFTdG9yZT5gIHZhbHVlLiBUaGUgZm9sbG93aW5nIGxpbmUgaXMgcGVybWlz c2libGU6DQo+IA0KPiAtYFtQY2RzRHluYW1pY0V4RGVmYXVsdC5YNjQuRGVmYXVsdCwgUGNkc0R5 bmFtaWNFeERlZmF1bHQuSVBGLkRlZmF1bHRdYA0KPiArYFtQY2RzRHluYW1pY0V4RGVmYXVsdC5Y NjQuRGVmYXVsdCwgUGNkc0R5bmFtaWNFeERlZmF1bHQuRUJDLkRlZmF1bHRdYA0KPiANCj4gIFRo ZSBmb2xsb3dpbmcgbGluZSBpcyBpbmNvcnJlY3QsIGFuZCBtdXN0IGNhdXNlIGEgYnVpbGQgYnJl YWsgZHVyaW5nIHBhcnNpbmcgb2YNCj4gIHRoZSBmaWxlOg0KPiANCj4gLWBbUGNkc0R5bmFtaWNF eERlZmF1bHQuWDY0LkRFRkFVTFQsIFBjZHNEeW5hbWljRXhWcGQuSVBGLkRFRkFVTFRdYA0KPiAr YFtQY2RzRHluYW1pY0V4RGVmYXVsdC5YNjQuREVGQVVMVCwgUGNkc0R5bmFtaWNFeFZwZC5FQkMu REVGQVVMVF1gDQo+IA0KPiAgVGhlIGAhaW5jbHVkZWAgc3RhdGVtZW50IGlzIHBlcm1pdHRlZCBp biBgW1BjZHNEeW5hbWljRXhdYCBzZWN0aW9ucywgYWx0aG91Z2gNCj4gIG5vdCByZWNvbW1lbmRl ZC4NCj4gDQo+ICBUaGUgYFBjZHNEeW5hbWljRXhgIGVudHJ5IGlzIGEgZm9ybWF0dGVkIHN0cmlu ZyB3aXRoIHRocmVlIHRvIHNpeCBmaWVsZHMsDQo+IEBAIC02NTksMjIgKzY2NywyNCBAQCBzZWN0 aW9ucyBvZiB0aGUgRFNDIGZpbGUuDQo+IA0KPiAgYGBgYw0KPiAgPFBjZHM+ICAgICAgICAgICA6 Oj0gezxQY2RzRXhEZWZhdWx0Pn0gezxQY2RzRXhWcGQ+fSB7PFBjZHNFeEhpaT59DQo+ICA8UGNk c0V4RGVmYXVsdD4gIDo6PSAiW1BjZHNEeW5hbWljRXhEZWZhdWx0IiBbPFBkZEF0dHJpYnM+XSAi XSIgPEVPTD4NCj4gICAgICAgICAgICAgICAgICAgICAgIDxQZGRFbnRyaWVzPioNCj4gLTxQZGRF bnRyaWVzPiAgICAgOjo9IHs8TWFjcm9EZWZpbml0aW9uPn0gezxJbmNsdWRlU3RhdGVtZW50Pn0g ezxUUz4gPE1pbkVudHJ5Pn0gezxUUz4gPFBjZEZpZWxkRW50cnk+fQ0KPiArPFBkZEVudHJpZXM+ ICAgICA6Oj0gezxNYWNyb0RlZmluaXRpb24+fSB7PEluY2x1ZGVTdGF0ZW1lbnQ+fSB7PFRTPiA8 TWluRW50cnk+fQ0KPiArICAgICAgICAgICAgICAgICAgICAgezxUUz4gPFBjZEZpZWxkRW50cnk+ fQ0KPiAgPFBkZEF0dHJpYnM+ICAgICA6Oj0gPGF0dHJzPiBbIiwiIDxUUz4gIlBjZHNEeW5hbWlj RXhEZWZhdWx0IiA8YXR0cnM+XSoNCj4gIDxQY2RzRXhWcGQ+ICAgICAgOjo9ICJbUGNkc0R5bmFt aWNFeFZwZCIgWzxQZHZBdHRyaWJzPl0gIl0iIDxFT0w+DQo+ICAgICAgICAgICAgICAgICAgICAg ICA8UGR2RW50cmllcz4qDQo+ICA8UGR2QXR0cmlicz4gICAgIDo6PSA8YXR0cnM+IFsgIiwiIDxU Uz4gIlBjZHNEeW5hbWljRXhWcGQiIDxhdHRycz5dKg0KPiAgPFBkdkVudHJpZXM+ICAgICA6Oj0g ezxNYWNyb0RlZmluaXRpb24+fSB7PEluY2x1ZGVTdGF0ZW1lbnQ+fQ0KPiAgICAgICAgICAgICAg ICAgICAgICAgezxUUz4gPFZwZEVudHJ5Pn0gezxUUz4gPFBjZEZpZWxkRW50cnk+fQ0KPiAgPFBj ZHNFeEhpaT4gICAgICA6Oj0gIltQY2RzRHluYW1pY0V4SGlpIiBbPFBkaEF0dHJpYnM+XSAiXSIg PEVPTD4NCj4gICAgICAgICAgICAgICAgICAgICAgIDxQY2RIaWlFbnRyaWVzPioNCj4gIDxQZGhB dHRyaWJzPiAgICAgOjo9IDxwaGF0dHJzPiBbIiwiIDxUUz4gIlBjZHNEeW5hbWljRXhIaWkgPHBo YXR0cnM+XSoNCj4gICAgICAgICAgICAgICAgICAgICAgIDxQZHZFbnRyaWVzPioNCj4gLTxQY2RI aWlFbnRyaWVzPiAgOjo9IHs8TWFjcm9EZWZpbml0aW9uPn0gezxJbmNsdWRlU3RhdGVtZW50Pn0g ezxUUz4gPEhpaUVudHJ5Pn0gezxUUz4gPFBjZEZpZWxkRW50cnk+fQ0KPiArPFBjZEhpaUVudHJp ZXM+ICA6Oj0gezxNYWNyb0RlZmluaXRpb24+fSB7PEluY2x1ZGVTdGF0ZW1lbnQ+fSB7PFRTPiA8 SGlpRW50cnk+fQ0KPiArICAgICAgICAgICAgICAgICAgICAgezxUUz4gPFBjZEZpZWxkRW50cnk+ fQ0KPiAgPGF0dHJzPiAgICAgICAgICA6Oj0gIi4iIDxhcmNoPiBbIi4iIDxTa3VJZHM+XQ0KPiAg PHBoYXR0cnM+ICAgICAgICA6Oj0gIi4iIDxhcmNoPiBbIi4iIDxTa3VJZHM+XVsiLiIgPERlZmF1 bHRTdG9yZT5dDQo+ICA8U2t1SWRTPiAgICAgICAgIDo6PSA8S2V5d29yZD4gWzxGUz4gPEtleXdv cmQ+XSoNCj4gIDxEZWZhdWx0U3RvcmU+ICAgOjo9IDxLZXl3b3JkPg0KPiAgPEtleXdvcmQ+ICAg ICAgICA6Oj0gPENOYW1lPg0KPiBAQCAtNzg0LDEwICs3OTQsMTEgQEAgRGVmYXVsdFN0b3JlIGlu IGl0cyBwYXJlbnQgU0tVLCB0aGVuIGluaGVyaXQgb3RoZXIgRGVmYXVsdFN0b3JlIGluIHRoZSBz YW1lIFNLVS4NCj4gIERlZmF1bHRTdG9yZSB3aXRoIHRoZSBiaWcgZGVmYXVsdCBzdG9yZSBJRCB3 aWxsIGluaGVyaXQgdGhlIHNldHRpbmcgZnJvbSBvbmUgd2l0aA0KPiAgdGhlIHNtYWxsIGRlZmF1 bHQgc3RvcmUgSUQuIElmIHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIHNtYWxsIGRlZmF1bHQgc3Rv cmUgSUQsDQo+ICBpdCB3aWxsIHVzZSB0aGUgYmlnZ2VzdCBvbmUgdG8gYmUgaW5oZXJpdC4gSGVy ZSBpcyB0aGUgZXhhbXBsZS4gRm91ciBQY2RzRHluYW1pY0V4SGlpDQo+ICBzZWN0aW9ucyBhcmUg ZGVmaW5lZC4NCj4gDQo+ICtgYGBpbmkNCj4gICMgRm91ciBQY2RzRHluYW1pY0V4SGlpIHNlY3Rp b24NCj4gIFtQY2RzRHluYW1pY0V4SGlpLmNvbW1vbi5EZWZhdWx0LlN0YW5kYXJkXQ0KPiAgW1Bj ZHNEeW5hbWljRXhIaWkuY29tbW9uLkRlZmF1bHQuTWFudWZhY3R1cmluZ10NCj4gIFtQY2RzRHlu YW1pY0V4SGlpLmNvbW1vbi5Ta3UxLlN0YW5kYXJkXQ0KPiAgW1BjZHNEeW5hbWljRXhIaWkuY29t bW9uLlNrdTEuTWFudWZhY3R1cmluZ10NCj4gQEAgLTgwMywxMCArODE0LDExIEBAIHNlY3Rpb25z IGFyZSBkZWZpbmVkLg0KPiAgIyBTS1UxIE1hbnVmYWN0dXJpbmcgc2V0dGluZyBiYXNlZCBvbiBm b3VyIHNlY3Rpb25zDQo+ICBbUGNkc0R5bmFtaWNFeEhpaS5jb21tb24uRGVmYXVsdC5TdGFuZGFy ZF0NCj4gIFtQY2RzRHluYW1pY0V4SGlpLmNvbW1vbi5EZWZhdWx0Lk1hbnVmYWN0dXJpbmddDQo+ ICBbUGNkc0R5bmFtaWNFeEhpaS5jb21tb24uU2t1MS5TdGFuZGFyZF0NCj4gIFtQY2RzRHluYW1p Y0V4SGlpLmNvbW1vbi5Ta3UxLk1hbnVmYWN0dXJpbmddDQo+ICtgYGANCj4gDQo+ICAqKl9QY2RW YWx1ZXNfKioNCj4gDQo+ICBQQ0QgdmFsdWVzIGFyZSBvcHRpb25hbCBmb3IgYFtQY2RzRHluYW1p Y0V4RGVmYXVsdF1gIHNlY3Rpb25zLiBUaGUgUENEIHZhbHVlcw0KPiAgZm9yIFBDRHMgbGlzdGVk IGluIGBbUGNkc0R5bmFtaWNFeFZwZF1gIGFuZCBgW1BjZHNEeW5hbWljRXhIaWldYCBzZWN0aW9u cyBhcmUNCj4gQEAgLTgzNCw4ICs4NDYsOCBAQCB0aGUgX1VFRkkgU3BlY2lmaWNhdGlvbl8gZm9y IGEgZGVzY3JpcHRpb24gb2YgdGhlc2UgYXR0cmlidXRlcy4NCj4gICAgZ05vU3VjaFRva2VuU3Bh Y2VHdWlkLlBjZE9lbUJvb3RPcHRpb25OYW1lfDB4MjJENHwxMDB8IiAiICAgICAgICAgICAgICAj IFZPSUQqDQo+ICAgIGdOb1N1Y2hUb2tlblNwYWNlR3VpZC5QY2RPZW1Cb290T3B0aW9uUGF0aHww eDIzMzh8MTAwfCIgIiAgICAgICAgICAgICAgIyBWT0lEKg0KPiAgICBnTm9TdWNoVG9rZW5TcGFj ZUd1aWQuUGNkRW5hYmxlRmFzdEJvb3QgICB8MHgyMzlDfEZBTFNFICAgICAgICAgICAgICAgICMg Qk9PTEVBTg0KPiANCj4gIFtQY2RzRHluYW1pY0V4SGlpLklBMzIsIFBjZHNEeW5hbWljRXhIaWku WDY0LlNrdTEuU3RhbmRhcmRdDQo+IC0gIGdFZmlNeU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZENoYXNzaXNJbnRydXRpb258MHgwMDUzIDB4MDA2NSAweDAwNzQgMHgwMDc1IDB4MDA3MHxnU3lz Q29uZmlnR3VpZHwweDgzfDB4MA0KPiArICBnRWZpTXlNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2RDaGFzc2lzSW50cnV0aW9ufEwiVGVzdFZhcmlhYmxlInxnU3lzQ29uZmlnR3VpZHwweDgzfDB4 MA0KPiAgICBnRWZpSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RQbGF0 Zm9ybUJvb3RUaW1lT3V0fEwiVGltZW91dCJ8Z0VmaUdsb2JhbFZhcmlhYmxlR3VpZHwweDAgICMg VmFyaWFibGU6DQo+IEwiVGltZW91dCINCj4gIGBgYA0KPiBkaWZmIC0tZ2l0IGEvM19lZGtfaWlf ZHNjX2ZpbGVfZm9ybWF0LzMxMV9bY29tcG9uZW50c11fc2VjdGlvbnMubWQgYi8zX2Vka19paV9k c2NfZmlsZV9mb3JtYXQvMzExX1tjb21wb25lbnRzXV9zZWN0aW9ucy5tZA0KPiBpbmRleCA3ZTI0 YmFjLi5iOGUyODc1IDEwMDY0NA0KPiAtLS0gYS8zX2Vka19paV9kc2NfZmlsZV9mb3JtYXQvMzEx X1tjb21wb25lbnRzXV9zZWN0aW9ucy5tZA0KPiArKysgYi8zX2Vka19paV9kc2NfZmlsZV9mb3Jt YXQvMzExX1tjb21wb25lbnRzXV9zZWN0aW9ucy5tZA0KPiBAQCAtMjAyLDExICsyMDIsMTEgQEAg bW9kdWxlcyBpbiBhIGJpbmFyeSBpbWFnZSAodGhlIEZERiBmaWxlIGRlc2NyaWJlcyB0aGF0IG9y ZGVyaW5nKS4NCj4gIDxPdGhlcj4gICAgICAgICAgICA6Oj0gWzxGYW1pbHk+ICI6Il0gPE90aGVy U3BlYz4NCj4gIDxPdGhlclNwZWM+ICAgICAgICA6Oj0gPFRvb2xTcGVjPiAiXyIgPEF0dHJpYnV0 ZT4gPEVxdWFsPiA8U3RyaW5nPg0KPiAgPEVxdWFsPiAgICAgICAgICAgIDo6PSB7PEFwcGVuZEVx Pn0gezxSZXBsYWNlRXE+fQ0KPiAgPEFwcGVuZEVxPiAgICAgICAgIDo6PSA8RXE+DQo+ICA8UmVw bGFjZUVxPiAgICAgICAgOjo9IDxUUz4gIj09IiA8VFM+DQo+IC08VGFyY2g+ICAgICAgICAgICAg Ojo9IHsiSUEzMiJ9IHsiWDY0In0geyJJUEYifSB7IkVCQyJ9IHsqfSB7PE9BPn0NCj4gKzxUYXJj aD4gICAgICAgICAgICA6Oj0geyJJQTMyIn0geyJYNjQifSB7IkVCQyJ9IHsqfSB7PE9BPn0NCj4g IDxPQT4gICAgICAgICAgICAgICA6Oj0gKEEtWikgKEEtWjAtOSkqDQo+ICA8RmFtaWx5PiAgICAg ICAgICAgOjo9IF9GYW1pbHlfDQo+ICA8QXR0cmlidXRlPiAgICAgICAgOjo9IF9BdHRyaWJ1dGVf DQo+ICA8VGFyZ2V0PiAgICAgICAgICAgOjo9IF9UYXJnZXRfDQo+ICA8VGFnTmFtZT4gICAgICAg ICAgOjo9IF9UYWdOYW1lXw0KPiBkaWZmIC0tZ2l0IGEvM19lZGtfaWlfZHNjX2ZpbGVfZm9ybWF0 LzMzX3BsYXRmb3JtX2RzY19kZWZpbml0aW9uLm1kIGIvM19lZGtfaWlfZHNjX2ZpbGVfZm9ybWF0 LzMzX3BsYXRmb3JtX2RzY19kZWZpbml0aW9uLm1kDQo+IGluZGV4IGQ5OWUyMGIuLjNiYmNkOWQg MTAwNjQ0DQo+IC0tLSBhLzNfZWRrX2lpX2RzY19maWxlX2Zvcm1hdC8zM19wbGF0Zm9ybV9kc2Nf ZGVmaW5pdGlvbi5tZA0KPiArKysgYi8zX2Vka19paV9kc2NfZmlsZV9mb3JtYXQvMzNfcGxhdGZv cm1fZHNjX2RlZmluaXRpb24ubWQNCj4gQEAgLTEwOSwxMSArMTA5LDExIEBAIFRoZSBmb2xsb3dp bmcgYXJlIGNvbW1vbiBkZWZpbml0aW9ucyB1c2VkIGJ5IG11bHRpcGxlIHNlY3Rpb24gdHlwZXMu DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7WzxSZWxhdGl2ZVBhdGg+IDxGaWxlU2Vw Pl0gPEZpbGU+fQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezxNQUNST1ZBTD59DQo+ ICA8Q2hhcnM+ICAgICAgICAgICAgICAgIDo6PSAoYS16QS1aMC05XykNCj4gIDxEaWdpdD4gICAg ICAgICAgICAgICAgOjo9ICgwLTkpDQo+ICA8Tm9uRGlnaXQ+ICAgICAgICAgICAgIDo6PSAoYS16 QS1aXykNCj4gLTxJZGVudGlmaWVyPiAgICAgICAgICAgOjo9IFs8Tm9uRGlnaXQ+IDxDaGFycz5d Kg0KPiArPElkZW50aWZpZXI+ICAgICAgICAgICA6Oj0gPE5vbkRpZ2l0PiA8Q2hhcnM+Kg0KPiAg PENOYW1lPiAgICAgICAgICAgICAgICA6Oj0gPElkZW50aWZpZXI+ICMgQSB2YWxpZCBDIHZhcmlh YmxlIG5hbWUuDQo+ICA8QXNjaWlDaGFycz4gICAgICAgICAgIDo6PSAoMHgyMSAtIDB4N0UpDQo+ ICA8Q0NoYXJzPiAgICAgICAgICAgICAgIDo6PSBbezB4MjF9IHsoMHgyMyAtIDB4MjYpfSB7KDB4 MjggLSAweDVCKX0NCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoMHg1RCAtIDB4N0Up fSB7PEVzY2FwZVNlcXVlbmNlPn1dKg0KPiAgPERibFF1b3RlPiAgICAgICAgICAgICA6Oj0gMHgy Mg0KPiBAQCAtMTk2LDExICsxOTYsMTMgQEAgVGhlIGZvbGxvd2luZyBhcmUgY29tbW9uIGRlZmlu aXRpb25zIHVzZWQgYnkgbXVsdGlwbGUgc2VjdGlvbiB0eXBlcy4NCj4gIDxQY2ROYW1lPiAgICAg ICAgICAgICAgOjo9IDxUb2tlblNwYWNlR3VpZENOYW1lPiAiLiIgPFBjZENOYW1lPg0KPiAgPFBj ZENOYW1lPiAgICAgICAgICAgICA6Oj0gPENOYW1lPg0KPiAgPFRva2VuU3BhY2VHdWlkQ05hbWU+ ICA6Oj0gPENOYW1lPg0KPiAgPEZpZWxkPiAgICAgICAgICAgICAgICA6Oj0gPENOYW1lPg0KPiAg PFBjZEZpZWxkRW50cnk+ICAgICAgICA6Oj0gPFBjZEZpZWxkTmFtZT4gPEZTPiA8UGNkRmllbGRW YWx1ZT4gPEVPTD4NCj4gLTxQY2RGaWVsZFZhbHVlPiAgICAgICAgOjo9IHs8Qm9vbFR5cGU+fSB7 PE51bVZhbFVpbnQ4Pn0gezxOdW1WYWxVaW50MTY+fSB7PE51bVZhbFVpbnQzMj59IHs8TnVtVmFs VWludDY0Pn0gezxTdHJpbmdWYWw+fQ0KPiB7PE1BQ1JPVkFMPn0gezxFeHByZXNzaW9uPn0NCj4g KzxQY2RGaWVsZFZhbHVlPiAgICAgICAgOjo9IHs8Qm9vbFR5cGU+fSB7PE51bVZhbFVpbnQ4Pn0g ezxOdW1WYWxVaW50MTY+fQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgezxOdW1WYWxV aW50MzI+fSB7PE51bVZhbFVpbnQ2ND59IHs8U3RyaW5nVmFsPn0NCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIHs8TUFDUk9WQUw+fSB7PEV4cHJlc3Npb24+fQ0KPiAgPFBDRFZBTD4gICAg ICAgICAgICAgICA6Oj0gIlBDRCgiIDxQY2ROYW1lPiAiKSINCj4gIDxVSU5UOD4gICAgICAgICAg ICAgICAgOjo9IHsiMHgifSB7IjBYIn0gKFx4MCAtIFx4RkYpDQo+ICA8VUlOVDE2PiAgICAgICAg ICAgICAgIDo6PSB7IjB4In0geyIwWCJ9IChceDAgLSBceEZGRkYpDQo+ICA8VUlOVDMyPiAgICAg ICAgICAgICAgIDo6PSB7IjB4In0geyIwWCJ9IChceDAgLSBceEZGRkZGRkZGKQ0KPiAgPFVJTlQ2 ND4gICAgICAgICAgICAgICA6Oj0geyIweCJ9IHsiMFgifSAoXHgwIC0gXHhGRkZGRkZGRkZGRkZG RkZGKQ0KPiBAQCAtMjYyLDMxICsyNjQsMTQgQEAgVGhlIGZvbGxvd2luZyBhcmUgY29tbW9uIGRl ZmluaXRpb25zIHVzZWQgYnkgbXVsdGlwbGUgc2VjdGlvbiB0eXBlcy4NCj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsiRFhFX0NPUkUifSB7IkRYRV9EUklWRVIifSB7IlNNTV9DT1JFIn0N Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiRFhFX1JVTlRJTUVfRFJJVkVSIn0geyJE WEVfU0FMX0RSSVZFUiJ9DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IkRYRV9TTU1f RFJJVkVSIn0geyJVRUZJX0RSSVZFUiJ9DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 IlVFRklfQVBQTElDQVRJT04ifSB7IlVTRVJfREVGSU5FRCJ9DQo+ICA8TW9kdWxlVHlwZUxpc3Q+ ICAgICAgIDo6PSA8TW9kdWxlVHlwZT4gWyIgIiA8TW9kdWxlVHlwZT5dKg0KPiAtPElkZW50aWZp ZXJOYW1lPiAgICAgICA6Oj0gPFRTPiB7PE1BQ1JPVkFMPn0gezxQY2ROYW1lPn0gPFRTPg0KPiAt PE1lbWJlcnNoaXBFeHByZXNzaW9uPiA6Oj0gezxUYXJnZXRFeHByZXNzPn0gezxBcmNoRXhwcmVz cz59DQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICB7PFRvb2xFeHByZXNzPn0NCj4gLTxO b3RPcD4gICAgICAgICAgICAgICAgOjo9IHsiTk9UIn0geyJub3QifSA8TVRTPg0KPiAtPEluT3A+ ICAgICAgICAgICAgICAgICA6Oj0gPE1UUz4gWzxOb3RPcD5dIHsiSU4ifSB7ImluIn0gPE1UUz4N Cj4gLTxUYXJnZXRFeHJlc3M+ICAgICAgICAgOjo9IChBLVopIChBLVowLTkpKiA8SW5PcD4gIiQo VEFSR0VUKSINCj4gLTxBcmNoRXhwcmVzcz4gICAgICAgICAgOjo9IDxEYmxRdW90ZT4gPEFyY2g+ IDxEYmxRdW90ZT4gPEluT3A+DQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAiJChBUkNI KSINCj4gLTxBcmNoPiAgICAgICAgICAgICAgICAgOjo9IHsiSUEzMiJ9IHsiWDY0In0geyJJUEYi fSB7IkVCQyJ9IHs8T0E+fQ0KPiAtPFRvb2xFeHByZXNzPiAgICAgICAgICA6Oj0gKEEtWikgKGEt ekEtWjAtOSkqIDxJbk9wPiAiJChUT09MX0NIQUlOX1RBRykiDQo+ICA8Qm9vbGVhbj4gICAgICAg ICAgICAgIDo6PSB7PEJvb2xUeXBlPn0gezxFeHByZXNzaW9uPn0NCj4gIDxFT0w+ICAgICAgICAg ICAgICAgICAgOjo9IDxUUz4gMHgwQSAweDBEDQo+ICA8T0E+ICAgICAgICAgICAgICAgICAgIDo6 PSAoYS16QS1aKShhLXpBLVowLTkpKg0KPiAtPGFyY2g+ICAgICAgICAgICAgICAgICA6Oj0geyJJ QTMyIn0geyJYNjQifSB7IklQRiJ9IHsiRUJDIn0gezxPQT59DQo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICB7ImNvbW1vbiJ9DQo+IC08RWRrMk1vZHVsZVR5cGU+ICAgICAgIDo6PSB7IkJB U0UifSB7IlNFQyJ9IHsiUEVJX0NPUkUifSB7IlBFSU0ifQ0KPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgeyJEWEVfQ09SRSJ9IHsiRFhFX0RSSVZFUiJ9DQo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICB7IkRYRV9TQUxfRFJJVkVSIn0NCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsiRFhFX1JVTlRJTUVfRFJJVkVSIn0NCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg IHsiU01NX0NPUkUifSB7IkRYRV9TTU1fRFJJVkVSIn0NCj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsiVUVGSV9EUklWRVIifSB7IlVFRklfQVBQTElDQVRJT04ifQ0KPiArPGFyY2g+ICAg ICAgICAgICAgICAgICA6Oj0geyJJQTMyIn0geyJYNjQifSB7IkVCQyJ9IHs8T0E+fSB7IkNPTU1P TiJ9DQo+ICBgYGANCj4gDQo+ICAqKioqKioqKioqDQo+ICAqKk5vdGU6KiogV2hlbiB1c2luZyBD U3RyaW5nLCBVbmljb2RlU3RyaW5nIG9yIGJ5dGUgYXJyYXkgZm9ybWF0IGFzDQo+ICBVSU5UOC9V SU5UMTYvVUlOVDMyL1VJTlQ2NCB2YWx1ZXMsIHBsZWFzZSBtYWtlIHN1cmUgdGhleSBmaXQgaW4g dGhlDQo+IEBAIC0zNDAsMTEgKzMyNSwxMSBAQCBtdXN0IG5vdCBiZSBleHBhbmRlZCBieSBwYXJz aW5nIHRvb2xzLg0KPiANCj4gICoqX09BXyoqDQo+IA0KPiAgT3RoZXIgQXJjaGl0ZWN0dXJlIC0g T25lIG9yIG1vcmUgdXNlciBkZWZpbmVkIHRhcmdldCBhcmNoaXRlY3R1cmVzLCBzdWNoIGFzIEFS TQ0KPiAgb3IgUFBDLiBUaGUgYXJjaGl0ZWN0dXJlcyBsaXN0ZWQgaGVyZSBtdXN0IGhhdmUgYSBj b3JyZXNwb25kaW5nIGVudHJ5IGluIHRoZQ0KPiAtRURLIElJIG1ldGEtZGF0YSBmaWxlLCBgQ29u Zi90b29sc19kZWYudHh0YC4gT25seSBgSUEzMmAsIGBYNjRgLCBgSVBGYCBhbmQNCj4gK0VESyBJ SSBtZXRhLWRhdGEgZmlsZSwgYENvbmYvdG9vbHNfZGVmLnR4dGAuIE9ubHkgYElBMzJgLCBgWDY0 YCwgYENPTU1PTmAgYW5kDQo+ICBgRUJDYCBhcmUgcm91dGluZWx5IHZhbGlkYXRlZC4NCj4gDQo+ ICAqKl9GaWxlU2VwXyoqDQo+IA0KPiAgRmlsZVNlcCByZWZlcnMgdG8gZWl0aGVyIHRoZSBiYWNr IHNsYXNoICJcIiBvciBmb3J3YXJkIHNsYXNoICIvIiBjaGFyYWN0ZXJzDQo+IEBAIC02MzIsMTQg KzYxNywxNCBAQCBjaGFpbiB0YWcgbmFtZXMuDQo+ICBSZWZlciB0byB0aGUgRURLIElJIEV4cHJl c3Npb24gU3ludGF4IFNwZWNpZmljYXRpb24gZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uDQo+ IA0KPiAgIyMjIyBFeGFtcGxlDQo+IA0KPiAgYGBgaW5pDQo+IC0haWYgJChJUEZfVkVSU0lPTikg PT0gMQ0KPiAtICBbVlRGLklQRi5NeUJzZl0NCj4gKyFpZiAkKEVCQ19WRVJTSU9OKSA9PSAxDQo+ ICsgIFtWVEYuRUJDLk15QnNmXQ0KPiAgICAgICFpZmRlZiBJQTMyUkVTRVQNCj4gLSAgICAgICMg SVBGX1ZFUlNJT04gaXMgMSBhbmQgSUEzMlJFU0VUIGRlZmluZWQNCj4gKyAgICAgICMgRUJDX1ZF UlNJT04gaXMgMSBhbmQgSUEzMlJFU0VUIGRlZmluZWQNCj4gICAgICAgIElBMzJfUlNUX0JJTiAg ICAgICAgICAgPSBJQTMyX1JTVC5CSU4NCj4gICAgICAhZW5kaWYNCj4gICAgICBDT01QX05BTUUg ICAgICAgICAgICAgID0gUEFMX0ENCj4gICAgICBDT01QX0xPQyAgICAgICAgICAgICAgID0gRg0K PiAgICAgIENPTVBfVFlQRSAgICAgICAgICAgICAgPSAweEYNCj4gQEAgLTY1NCwxNCArNjM5LDE0 IEBAIFJlZmVyIHRvIHRoZSBFREsgSUkgRXhwcmVzc2lvbiBTeW50YXggU3BlY2lmaWNhdGlvbiBm b3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4NCj4gICAgICAhZWxzZQ0KPiAgICAgICAgQ09NUF9C SU4gICAgICAgICAgICAgICA9IEdlblBhbC9QQUxfQV9HRU4uYmluDQo+ICAgICAgICBDT01QX1NZ TSAgICAgICAgICAgICAgID0gR2VuUGFsL1BBTF9BX0dFTi5zeW0NCj4gICAgICAhZW5kaWYNCj4g ICAgICBDT01QX1NJWkUgICAgICAgICAgICAgID0gLQ0KPiAtIWVsc2VpZiAkKElQRl9WRVJTSU9O KSA9PSAyDQo+IC0gIFtWVEYuSVBGLk15QnNmXQ0KPiArIWVsc2VpZiAkKEVCQ19WRVJTSU9OKSA9 PSAyDQo+ICsgIFtWVEYuRUJDLk15QnNmXQ0KPiAgICAgICFpZmRlZiBJQTMyUkVTRVQNCj4gLSAg ICAgICMgSVBGX1ZFUlNJT04gaXMgMiBhbmQgSUEzMlJFU0VUIGRlZmluZWQNCj4gKyAgICAgICMg RUJDX1ZFUlNJT04gaXMgMiBhbmQgSUEzMlJFU0VUIGRlZmluZWQNCj4gICAgICAgIElBMzJfUlNU X0JJTiA9IElBMzJfUlNULkJJTg0KPiAgICAgICFlbmRpZg0KPiAgICAgIENPTVBfTkFNRSAgICA9 IFBBTF9BDQo+ICAgICAgQ09NUF9MT0MgICAgID0gRg0KPiAgICAgIENPTVBfVFlQRSAgICA9IDB4 Rg0KPiBkaWZmIC0tZ2l0IGEvM19lZGtfaWlfZHNjX2ZpbGVfZm9ybWF0LzM2X1tidWlsZG9wdGlv bnNdX3NlY3Rpb25zLm1kIGIvM19lZGtfaWlfZHNjX2ZpbGVfZm9ybWF0LzM2X1tidWlsZG9wdGlv bnNdX3NlY3Rpb25zLm1kDQo+IGluZGV4IDg5MzU0NzQuLjcxZDc3OGQgMTAwNjQ0DQo+IC0tLSBh LzNfZWRrX2lpX2RzY19maWxlX2Zvcm1hdC8zNl9bYnVpbGRvcHRpb25zXV9zZWN0aW9ucy5tZA0K PiArKysgYi8zX2Vka19paV9kc2NfZmlsZV9mb3JtYXQvMzZfW2J1aWxkb3B0aW9uc11fc2VjdGlv bnMubWQNCj4gQEAgLTY4LDExICs2OCwxMSBAQCBlYXJsaWVyLg0KPiAgQnVpbGQgb3B0aW9ucyBw cmlvcml0eSAoYXBwZW5kZWQgZnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBhbmQvb3IgaGlnaGVzdA0K PiAgcmVwbGFjZW1lbnQpIGlzOg0KPiANCj4gICogSGlnaGVzdCwgRFNDIGZpbGUncyBjb21wb25l bnQgc2NvcGVkIGA8QnVpbGRPcHRpb25zPmAgZm9yIGluZGl2aWR1YWwgSU5GDQo+ICAgIGZpbGVz Lg0KPiAtKiBgW0J1aWxkT3B0aW9ucy4kKGFyY2gpLkNvZGVCYXNlLkVkazJNb2R1bGVUeXBlXWAN Cj4gKyogYFtCdWlsZE9wdGlvbnMuJChhcmNoKS5Db2RlQmFzZS5Nb2R1bGVUeXBlXWANCj4gICog YFtCdWlsZE9wdGlvbnMuJChhcmNoKS5Db2RlQmFzZV1gDQo+ICAqIGBbQnVpbGRPcHRpb25zLmNv bW1vbi5Db2RlQmFzZV1gDQo+ICAqIGBbQnVpbGRPcHRpb25zLiQoYXJjaCldYA0KPiAgKiBgW0J1 aWxkT3B0aW9ucy5jb21tb25dYA0KPiAgKiBgW0J1aWxkT3B0aW9uc11gDQo+IEBAIC0yMTksMTEg KzIxOSwxMSBAQCBUaGUgbG9naWNhbCByZXN1bHQgaXM6DQo+IA0KPiAgIyMjIyBQcm90b3R5cGUN Cj4gDQo+ICBgYGBjDQo+ICA8QnVpbGRPcHRpb25zPiA6Oj0gIltCdWlsZE9wdGlvbnMiIFs8YXR0 cmlicz5dICJdIiA8RU9MPiA8U3RhdGVtZW50cz4qDQo+IC08YXR0cmlicz4gICAgICA6Oj0gIi4i IDxhcmNoPiBbPENvZGVCYXNlPiBbIi4iIDxFZGsyTW9kdWxlVHlwZT5dXQ0KPiArPGF0dHJpYnM+ ICAgICAgOjo9ICIuIiA8YXJjaD4gWzxDb2RlQmFzZT4gWyIuIiA8TW9kdWxlVHlwZT5dXQ0KPiAg PENvZGVCYXNlPiAgICAgOjo9ICIuIiB7IkNvbW1vbiJ9IHsiRURLIn0geyJFREtJSSJ9DQo+ICA8 U3RhdGVtZW50cz4gICA6Oj0gezxNYWNyb0RlZmluaXRpb24+fSB7PEluY2x1ZGVTdGF0ZW1lbnQ+ fQ0KPiAgICAgICAgICAgICAgICAgICAgIHs8VFM+IDxCU3RhdGVtZW50Pn0NCj4gIDxCU3RhdGVt ZW50PiAgIDo6PSB7PFRvb2xGbGFnPn0gezxUb29sUGF0aD59IHs8VG9vbENtZD59IHs8T3RoZXI+ fQ0KPiAgPFRvb2xGbGFnPiAgICAgOjo9IFs8RmFtaWx5PiAiOiJdIDxGbGFnU3BlYz4gPEVxdWFs PiA8RmxhZ3M+IDxFT0w+DQo+IGRpZmYgLS1naXQgYS8zX2Vka19paV9kc2NfZmlsZV9mb3JtYXQv MzlfW2xpYnJhcnljbGFzc2VzXV9zZWN0aW9ucy5tZCBiLzNfZWRrX2lpX2RzY19maWxlX2Zvcm1h dC8zOV9bbGlicmFyeWNsYXNzZXNdX3NlY3Rpb25zLm1kDQo+IGluZGV4IGQ0MzEyNzUuLjlhYzM4 NzggMTAwNjQ0DQo+IC0tLSBhLzNfZWRrX2lpX2RzY19maWxlX2Zvcm1hdC8zOV9bbGlicmFyeWNs YXNzZXNdX3NlY3Rpb25zLm1kDQo+ICsrKyBiLzNfZWRrX2lpX2RzY19maWxlX2Zvcm1hdC8zOV9b bGlicmFyeWNsYXNzZXNdX3NlY3Rpb25zLm1kDQo+IEBAIC03NSwxMSArNzUsMTEgQEAgV2hlbiBw YXJzaW5nIHRoZSBEU0MgZmlsZSwgdGhlIHByZWNlZGVuY2UgcnVsZXMgbXVzdCBiZSBmb2xsb3dl ZC4NCj4gICMjIyMgUHJvdG90eXBlDQo+IA0KPiAgYGBgYw0KPiAgPExpYnJhcnlDbGFzc2VzPiAg IDo6PSAiW0xpYnJhcnlDbGFzc2VzIiBbPGF0dHJpYnM+XSAiXSIgPEVPTD4gPExjU3RhdGVtZW50 cz4qDQo+ICA8YXR0cmlicz4gICAgICAgICAgOjo9IDxhdHRycz4gWyIsIiAiTGlicmFyeUNsYXNz ZXMiIDxhdHRycz5dKg0KPiAtPGF0dHJzPiAgICAgICAgICAgIDo6PSAiLiIgPGFyY2g+IFsiLiIg PEVkazJNb2R1bGVUeXBlPl0NCj4gKzxhdHRycz4gICAgICAgICAgICA6Oj0gIi4iIDxhcmNoPiBb Ii4iIDxNb2R1bGVUeXBlPl0NCj4gIDxMY1N0YXRlbWVudHM+ICAgICA6Oj0gezxNYWNyb0RlZmlu aXRpb24+fSB7PEluY2x1ZGVTdGF0bWVudD59DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIHs8 VFM+IDxMY0VudHJ5Pn0NCj4gIDxMY0VudHJ5PiAgICAgICAgICA6Oj0gPExpYnJhcnlDbGFzc05h bWU+IDxGUz4gPExpYnJhcnlJbnN0YW5jZT4gPEVPTD4NCj4gIDxMaWJyYXJ5Q2xhc3NOYW1lPiA6 Oj0gKEEtWikoYS16QS1aMC05KSoNCj4gIDxMaWJyYXJ5SW5zdGFuY2U+ICA6Oj0gPEluZkZpbGVO YW1lPiA8RU9MPg0KPiBkaWZmIC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kDQo+IGluZGV4 IDU0ZDUwY2IuLjU2NzIyNzMgMTAwNjQ0DQo+IC0tLSBhL1JFQURNRS5tZA0KPiArKysgYi9SRUFE TUUubWQNCj4gQEAgLTE2NCwxMSArMTY0LDExIEBAIENvcHlyaWdodCAoYykgMjAwNi0yMDE3LCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gIHwgRXJyYXRhIEEgICB8 IFVwZGF0ZSBsaW5rIHRvIHRoZSBFREsgSUkgU3BlY2lmaWNhdGlvbnMsIGZpeGVkIHRoZSBuYW1l IG9mIHRoZSBNdWx0aS1TdHJpbmcgLlVOSSBGaWxlIEZvcm1hdCBTcGVjaWZpY2F0aW9uDQo+IHwg ICAgICAgICAgICAgICAgfA0KPiAgfCAxLjI1ICAgICAgIHwgVXBkYXRlczoNCj4gfCBKdW5lIDIw MTUgICAgICB8DQo+ICB8ICAgICAgICAgICAgfCBVcGRhdGVkIHN1cHBvcnQgZm9yIFVFRkkgMi41 IGFuZCBQSSAxLjQNCj4gfCAgICAgICAgICAgICAgICB8DQo+ICB8ICAgICAgICAgICAgfCBBZGRl ZCBjbGFyaWZpY2F0aW9uIHJlZ2FyZGluZyB0aGUgdXNlIG9mIC4uIGFuZCAuIGluIHBhdGggbmFt ZXMgaW4gc2VjdGlvbiAyDQo+IHwgICAgICAgICAgICAgICAgfA0KPiAgfCAgICAgICAgICAgIHwg SW4gc2VjdGlvbiAyLjguMy43LCBhZGRlZCBjbGFyaWZpY2F0aW9uIHJlZ2FyZGluZyBhbGxvY2F0 aW9uIG9mIG1lbW9yeSBiYXNlZCBvbiBjYWxjdWxhdGlvbiBvZiBtYXhpbXVtIHNpemUgZm9yDQo+ IFZPSUQqIFBDRCBlbnRyaWVzIHdoZW4gdGhlIG1heGltdW0gc2l6ZSBpcyBub3Qgc3BlY2lmaWVk IGluIHRoZSBEU0MgZmlsZQ0KPiB8ICAgICAgICAgICAgICAgIHwNCj4gLXwgICAgICAgICAgICB8 IEluIHNlY3Rpb24gMy42IGFkZGVkIG9wdGlvbmFsIGA8RWRrMk1vZHVsZVR5cGU+YCBlbGVtZW50 IHRvIHRoZSBzZWN0aW9uIGhlYWRlciBpbiBvcmRlciB0byBzdXBwb3J0IFVFRkkgMi41DQo+IFJ1 bnRpbWUgRHJpdmVycyB0aGF0IG11c3QgYmUgNEsgcGFnZSBhbGlnbmVkDQo+IHwgICAgICAgICAg ICAgICAgfA0KPiArfCAgICAgICAgICAgIHwgSW4gc2VjdGlvbiAzLjYgYWRkZWQgb3B0aW9uYWwg YDxNb2R1bGVUeXBlPmAgZWxlbWVudCB0byB0aGUgc2VjdGlvbiBoZWFkZXIgaW4gb3JkZXIgdG8g c3VwcG9ydCBVRUZJIDIuNSBSdW50aW1lDQo+IERyaXZlcnMgdGhhdCBtdXN0IGJlIDRLIHBhZ2Ug YWxpZ25lZA0KPiB8ICAgICAgICAgICAgICAgIHwNCj4gIHwgICAgICAgICAgICB8IEFsc28gaW4g My42LCB1cGRhdGVkIHRoZSBwcmlvcml0eSBvZiBbQnVpbGRPcHRpb25zXSB0byBtYXRjaCBjdXJy ZW50IGltcGxlbWVudGF0aW9uIHRoYXQgZm9sbG93cyB0aGUgQnVpbGQNCj4gU3BlY2lmaWNhdGlv bg0KPiB8ICAgICAgICAgICAgICAgIHwNCj4gIHwgICAgICAgICAgICB8IEluIHNlY3Rpb25zIDIu MyBhbmQgMy41LCBhZGRlZCBuZXcgW0RlZmluZXNdIGJvb2xlYW4gZW50cnkgUENEX1ZBUl9DSEVD S19HRU5FUkFUSU9ODQo+IHwgICAgICAgICAgICAgICAgfA0KPiAgfCAgICAgICAgICAgIHwgSW4g c2VjdGlvbnMgMi45LjMuMiwgMi45LjMuNSwgMy4xMC40IGFuZCAzLjEwLjUgYWRkZWQgSElJIEF0 dHJpYnV0ZSBlbnRyeS4NCj4gfCAgICAgICAgICAgICAgICB8DQo+ICB8ICAgICAgICAgICAgfCBT aW5jZSB0aGUgYWJvdmUgY2hhbmdlcyBhcmUgbmV3IGZlYXR1cmVzLCB1cGRhdGUgdGhlIG1pbm9y IHJldmlzaW9uIG9mIHRoZSBEU0NfU1BFQ0lGSUNBVElPTiB0byAweDAwMDEwMDE5LA0KPiBvbGRl ciBEU0MgZmlsZXMgdGhhdCBkbyBub3QgdXNlIHRoZSBuZXcgZmVhdHVyZXMgZG8gbm90IG5lZWQg dG8gbW9kaWZ5IHRoZSBEU0NfU1BFQ0lGSUNBVElPTiB2YWx1ZXMNCj4gfCAgICAgICAgICAgICAg ICB8DQo+ICB8ICAgICAgICAgICAgfCBBZGRlZCBjbGFyaWZpY2F0aW9uIG9uIHdoZW4gdGhlIERT Q19TUEVDSUZJQ0FUSU9OIHZhbHVlIG11c3QgYmUgdXBkYXRlZCB0byAweDAwMDEwMDE5DQo+IHwg ICAgICAgICAgICAgICAgfA0KPiAtLQ0KPiAyLjYuMS53aW5kb3dzLjENCg0K