From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web10.4306.1573519259845032947 for ; Mon, 11 Nov 2019 16:41:00 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: liming.gao@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Nov 2019 16:40:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,294,1569308400"; d="scan'208";a="213894181" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga001.fm.intel.com with ESMTP; 11 Nov 2019 16:40:58 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 11 Nov 2019 16:40:58 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.127]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.2]) with mapi id 14.03.0439.000; Tue, 12 Nov 2019 08:40:56 +0800 From: "Liming Gao" To: "devel@edk2.groups.io" , "afish@apple.com" , Leif Lindholm CC: "Ni, Ray" , "Justen, Jordan L" , "Shi, Steven" , "Gao, Liming" Subject: Re: [edk2-devel] [Patch v3 10/11] EmulatorPkg: Enable CLANG9 tool chain Thread-Topic: [edk2-devel] [Patch v3 10/11] EmulatorPkg: Enable CLANG9 tool chain Thread-Index: AQHVhLgBxwyRGl2zS0uGy+G7za0y3adeboSwgAAe4oCAAd+i8IAKzBMAgAgooMCADC3UgIAACZQAgAAME4CAAOzVgIAALwZAgAUMfICAAAOOgIABCL6Q Date: Tue, 12 Nov 2019 00:40:56 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E53CCE9@SHSMSX104.ccr.corp.intel.com> References: <20191111163913.GF16820@bivouac.eciton.net> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: liming.gao@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIGZvciB5b3VyIGZlZWRiYWNrLiBJIHdpbGwgY2hvb3NlIENMQU5HUEUgYXMgdGhlIHRv b2wgY2hhaW4gbmFtZS4gDQoNClRoYW5rcw0KTGltaW5nDQo+LS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj5Gcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyBbbWFpbHRvOmRldmVsQGVkazIuZ3Jv dXBzLmlvXSBPbiBCZWhhbGYgT2YNCj5BbmRyZXcgRmlzaCB2aWEgR3JvdXBzLklvDQo+U2VudDog VHVlc2RheSwgTm92ZW1iZXIgMTIsIDIwMTkgMTI6NTIgQU0NCj5UbzogTGVpZiBMaW5kaG9sbSA8 bGVpZi5saW5kaG9sbUBsaW5hcm8ub3JnPg0KPkNjOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29t PjsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPjsNCj5kZXZlbEBlZGsyLmdyb3Vw cy5pbzsgSnVzdGVuLCBKb3JkYW4gTCA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT47IFNoaSwN Cj5TdGV2ZW4gPHN0ZXZlbi5zaGlAaW50ZWwuY29tPg0KPlN1YmplY3Q6IFJlOiBbZWRrMi1kZXZl bF0gW1BhdGNoIHYzIDEwLzExXSBFbXVsYXRvclBrZzogRW5hYmxlIENMQU5HOSB0b29sDQo+Y2hh aW4NCj4NCj5FaXRoZXIgd29ya3MgZm9yIG1lIHRvby4gSSBsaWtlIHRoZSBQREUgZW5kaW5nIGEg bGl0dGxlIG1vcmUsIGJ1dCBhZ3JlZSBpdCBpcyBhDQo+bGl0dGxlIG1vcmUgb2JzY3VyZS4NCj4+ IE9uIE5vdiAxMSwgMjAxOSwgYXQgODozOSBBTSwgTGVpZiBMaW5kaG9sbSA8bGVpZi5saW5kaG9s bUBsaW5hcm8ub3JnPiB3cm90ZToNCj4+DQo+PiDvu79PbiBGcmksIE5vdiAwOCwgMjAxOSBhdCAw MzozNDo1OUFNICswMDAwLCBOaSwgUmF5IHdyb3RlOg0KPj4+IExpbWluZywNCj4+PiBQRSBpcyBV RUZJIHNwZWMgcmVxdWlyZWQgZXhlY3V0YWJsZSBiaW5hcnkgZm9ybWF0LiBJIGxpa2UgQ0xBTkdQ REINCj4+PiBtb3JlIHRoYW4gQ0xBTkdQRSBnaXZlbiBMTFZNIG1heSBnZW5lcmF0ZSBEUkFXRiBk ZWJ1ZyBzeW1ib2wNCj5ldmVuDQo+Pj4gd2hlbiBnZW5lcmF0aW5nIFBFLg0KPj4NCj4+IEp1c3Qg YSBjb21tZW50IGhlcmUgdG8gcG9pbnQgb3V0IHRoYXQgd2hpbGUgKGFzIEkgc3RhdGVkIGluIHJl cGx5IHRvDQo+PiBMaW1pbmcpIG15IHByZWZlcmVuY2Ugd291bGQgYmUgQ0xBTkdQRSwgSSBzZWUg dGhlIGxvZ2ljIGluIHRoZSBhYm92ZSwNCj4+IGFuZCB3b3VsZCBiZSBoYXBweSB3aXRoIGVpdGhl ci4NCj4+DQo+PiAoTXkgcmVhc29uIGZvciBwcmVmZXJyaW5nIENMQU5HUEUgaXMgbm90IGV4YWN0 bHkgdGVjaGluY2FsIC0gSSBqdXN0DQo+PiBleHBlY3QgbW9yZSBwZW9wbGUgdG8ga25vdyB3aGF0 IFBFIGlzIHRoYW4gd2hvIGtub3cgd2hhdCBQREIgaXMuKQ0KPj4NCj4+IFJlZ2FyZHMsDQo+Pg0K Pj4gTGVpZg0KPj4NCj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+Pj4gRnJvbTog R2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KPj4+PiBTZW50OiBGcmlkYXksIE5v dmVtYmVyIDgsIDIwMTkgOTo1MCBBTQ0KPj4+PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IGxl aWYubGluZGhvbG1AbGluYXJvLm9yZzsgQW5kcmV3IEZpc2gNCj48YWZpc2hAYXBwbGUuY29tPg0K Pj4+PiBDYzogTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IEp1c3RlbiwgSm9yZGFuIEwNCj48 am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT47IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVs LmNvbT47IFNoaSwNCj4+Pj4gU3RldmVuIDxzdGV2ZW4uc2hpQGludGVsLmNvbT4NCj4+Pj4gU3Vi amVjdDogUkU6IFtlZGsyLWRldmVsXSBbUGF0Y2ggdjMgMTAvMTFdIEVtdWxhdG9yUGtnOiBFbmFi bGUgQ0xBTkc5DQo+dG9vbCBjaGFpbg0KPj4+Pg0KPj4+PiBBbmRyZXcgYW5kIExlaWY6DQo+Pj4+ ICBUaGFua3MgZm9yIHlvdXIgY29tbWVudC4gQ0xBTkc5IGlzIGRpZmZlcmVudCBmcm9tIENMQU5H MzguIEFuZCwNCj5DTEFORzkgd2lsbCBzdXBwb3J0IExMVk05IG9yIHRoZSBhYm92ZS4NCj4+Pj4g IFNvLCB0aGlzIHRvb2wgY2hhaW4gc2hvdWxkIGhhdmUgdGhlIHNwZWNpZmljIHdvcmQgZm9yIGl0 cyBwdXJwb3NlLCBhbmQNCj5yZW1vdmUgdGhlIHZlcnNpb24gOSB0byBhdm9pZCB0aGUgY29uZnVz ZS4NCj4+Pj4NCj4+Pj4gIEkgcHJlZmVyIHRoZSB0b29sIGNoYWluIG5hbWUgYXMgQ0xBTkdQRSBv ciBDTEFOR1BEQi4gQ0xBTkdQRSBtYXkNCj5iZSBiZXR0ZXIuIE5vdywgQ0xBTkc5IHRvb2wgY2hh aW4NCj4+Pj4gIGJ1aWxkIHJ1bGUgZmFtaWx5IGp1c3QgdXNlcyBDTEFOR1BFLiBDTEFOR1BFIGxl dHMgdXNlciBrbm93IHRoaXMgdG9vbA0KPmNoYWluIGdlbmVyYXRlcyBQRS9DT0ZGIGltYWdlLg0K Pj4+PiAgQW5kLCBQRS9DT0ZGIGltYWdlIGRlYnVnIHN5bWJvbCBpcyBQREIuIFNvLCBQRSBhbHNv IG1lYW5zIFBEQi4NCj4+Pj4NCj4+Pj4gIExhc3QsIEkganVzdCByZXZpZXcgdGhlIGNoYW5nZXMu IFRvb2wgY2hhaW4gbmFtZSB1cGRhdGUgaXMgbm90IGJpZy4gSWYgeW91DQo+YWNjZXB0IENMQU5H UEUgYXMgdG9vbCBjaGFpbiBuYW1lLA0KPj4+PiAgSSB3aWxsIHNlbmQgdGhlIHBhdGNoIHNvb24g dG8gY2F0Y2ggMjAxOTExIHN0YWJsZSB0YWcuDQo+Pj4+DQo+Pj4+IFRoYW5rcw0KPj4+PiBMaW1p bmcNCj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4+PiBGcm9tOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbyBbbWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvXSBPbiBCZWhhbGYNCj5P ZiBMZWlmDQo+Pj4+PiBMaW5kaG9sbQ0KPj4+Pj4gU2VudDogRnJpZGF5LCBOb3ZlbWJlciAwOCwg MjAxOSAyOjM3IEFNDQo+Pj4+PiBUbzogQW5kcmV3IEZpc2ggPGFmaXNoQGFwcGxlLmNvbT4NCj4+ Pj4+IENjOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50 ZWwuY29tPjsgTmksIFJheQ0KPj4+Pj4gPHJheS5uaUBpbnRlbC5jb20+OyBKdXN0ZW4sIEpvcmRh biBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPg0KPj4+Pj4gU3ViamVjdDogUmU6IFtlZGsy LWRldmVsXSBbUGF0Y2ggdjMgMTAvMTFdIEVtdWxhdG9yUGtnOiBFbmFibGUgQ0xBTkc5DQo+dG9v bA0KPj4+Pj4gY2hhaW4NCj4+Pj4+DQo+Pj4+PiBIaSBBbmRyZXcsDQo+Pj4+Pg0KPj4+Pj4gWWVh aCwgSSdtIHByZXR0eSBlYXN5IHdpdGggcmVnYXJkcyB0byB3aGF0IHdlIGNoYW5nZSBpdCB0by4N Cj4+Pj4+IEFsdGhvdWdoIGlmIHdlJ3JlIGJpa2VzaGVkZGluZywgSSB3b3VsZCBwcmVmZXIgbm90 IHVzaW5nIF8gaW4gdGhlDQo+Pj4+PiB0b29sY2hhaW4gcHJvZmlsZSBuYW1lLg0KPj4+Pj4NCj4+ Pj4+IEknbSAuLi4gb3B0aW1pc3RpYyAuLi4gaXQgd29uJ3QgYnJlYWsgYW55IG9mIG15IGV4aXN0 aW5nIHNjcmlwdHMsIGJ1dA0KPj4+Pj4gc2luY2UgdGhlIGJ1aWxkIHN5c3RlbSB1c2VzIGl0IGFz IGENCj4+Pj4+IDx0b29sY2hhaW4gcHJvZmlsZT5fPGFyY2hpdGVjdHVyZT5fPGJ1aWxkIHRhcmdl dD4gc2VwYXJhdG9yLCBpdCB3b3VsZA0KPj4+Pj4gYmUgbmljZSBpZiB3ZSBkaWRuJ3QgcmlzayBj b25mdXNpb24gdGhlcmUuDQo+Pj4+Pg0KPj4+Pj4gKEkgd291bGQgYmUgdG90YWxseSBoYXBweSB3 aXRoIFBFQ0xBTkcsIENMQU5HUEUsIFBEQkNMQU5HLA0KPkNMQU5HUERCIG9yDQo+Pj4+PiBzb21l dGhpbmcgYWxvbmcgdGhvc2UgbGluZXMuKQ0KPj4+Pj4NCj4+Pj4+IFJlZ2FyZHMsDQo+Pj4+Pg0K Pj4+Pj4gTGVpZg0KPj4+Pj4NCj4+Pj4+IE9uIFRodSwgTm92IDA3LCAyMDE5IGF0IDExOjU0OjA0 QU0gLTA2MDAsIEFuZHJldyBGaXNoIHdyb3RlOg0KPj4+Pj4+IExlaWYsDQo+Pj4+Pj4NCj4+Pj4+ PiBJIHRoaW5rIEkgcHJvcG9zZWQgQ0xBTkdfUERCIG9yIENMQU5HX1BFQ09GRi4gSSBzZWVtIHRv IGxpa2UNCj4+Pj4+IENMQU5HX1BEQiBhcyBhc3N1bWluZyB0aGUgUERFIGRlYnVnZ2luZyBleHBl cmllbmNlIGlzDQo+YXdlc29tZS9leGlzdHMNCj4+Pj4+IG9uIExpbnV4IGFuZCBtYWNPUyBpcyBu b3QgYSBnaXZlbi4NCj4+Pj4+Pg0KPj4+Pj4+IFRoYW5rcywNCj4+Pj4+Pg0KPj4+Pj4+IEFuZHJl dyBGaXNoDQo+Pj4+Pj4NCj4+Pj4+Pj4gT24gTm92IDcsIDIwMTksIGF0IDExOjE5IEFNLCBMZWlm IExpbmRob2xtIDxsZWlmLmxpbmRob2xtQGxpbmFyby5vcmc+DQo+Pj4+PiB3cm90ZToNCj4+Pj4+ Pj4NCj4+Pj4+Pj4gT29wcywgc29ycnksIG1pc3NlZCB0aGlzIGluIHNlYXJjaC4NCj4+Pj4+Pj4N Cj4+Pj4+Pj4gT24gV2VkLCBPY3QgMzAsIDIwMTkgYXQgMDM6NDM6NDRQTSArMDAwMCwgTGltaW5n IEdhbyB3cm90ZToNCj4+Pj4+Pj4+IEFuZHJldzoNCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBJIHByZWZl ciB0byBrZWVwIHNob3J0IENMQU5HOSBhcyB0aGUgdG9vbCBjaGFpbiBuYW1lLiBJIGFkZCB3aWtp DQo+Pj4+Pj4+PiBwYWdlDQo+Pj4+Pj4+PiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL3Rp YW5vY29yZS5naXRodWIuaW8vd2lraS9DTEFORzktDQo+VG9vbHMtDQo+Pj4+PiBDaGFpbg0KPj4+ Pj4+Pj4gdG8gaW50cm9kdWNlIGl0Lg0KPj4+Pj4+Pg0KPj4+Pj4+PiBXaHkgc2hvdWxkIHVzZXJz IGJlIGV4cGVjdGVkIHRvIGdvIGFuZCByZWFkIGRvY3VtZW50YXRpb24gaW4NCj5vcmRlciB0bw0K Pj4+Pj4+PiBsZWFybiB0aGF0IGZ1bmRhbWVudGFsIGFuZCBpbmNvbXBhdGlibGUgY2hhbmdlcyB0 byBvdXRwdXQgYW5kDQo+ZGVidWcNCj4+Pj4+Pj4gZm9ybWF0IGhhcyBiZWVuIG1hZGUgYXMgcGFy dCBvZiB3aGF0IGxvb2tzIGxpa2UgYSBzaW1wbGUgdmVyc2lvbg0KPmJ1bXA/DQo+Pj4+Pj4+DQo+ Pj4+Pj4+PiBBbmQsIHdlIGhhdmUgQ0xBTkczOCB0b29sIGNoYWluLiBJdCBnZW5lcmF0ZXMgRUxG DQo+Pj4+Pj4+PiBpbWFnZSBhbmQgRFdBUkYgZGVidWcgc3ltYm9sIGZvcm1hdC4gSXQgY2FuIHdv cmsgd2l0aCBMTFZNIDkuMA0KPj4+Pj4+Pj4gcmVsZWFzZS4gQ3VycmVudCB0b29sIGNoYWluIHRh ZyBuYW1lIGluY2x1ZGVzIGNvbXBpbGVyIG5hbWUgYW5kDQo+Pj4+Pj4+PiB2ZXJzaW9uLiBUaGVy ZSBpcyBubyBzcGVjaWZpYyBpbmZvIGluIHRoZSB0b29sIGNoYWluIG5hbWUuIFRoZQ0KPj4+Pj4+ Pj4gZGV2ZWxvcGVyIGNhbiBnZXQgdGhlIG1vcmUgdG9vbCBjaGFpbiBpbmZvcm1hdGlvbiBmcm9t IHdpa2kgcGFnZS4NCj4+Pj4+Pj4NCj4+Pj4+Pj4gV2UgYWxlYWR5IGhhdmUgdGhlIHByb2JsZW0g dGhhdCBwZW9wbGUgdGhpbmsgdGhleSBuZWVkIHRvIHVzZQ0KPkdDQzUgdG8NCj4+Pj4+Pj4gYnVp bGQgRURLMiBzaW5jZSB0aGF0IGlzIHRoZSBoaWdoZXN0IG5hbWVkIEdDQyB0b29sY2hhaW4gcHJv ZmlsZS4NCj4+Pj4+Pj4NCj4+Pj4+Pj4gTGV0J3Mgbm90IG1ha2UgdGhpcyBzaXR1YXRpb24gKndv cnNlKiBieSBzZXR0aW5nIHVwIGENCj5tdWx0aWRpbWVuc2lvbmFsDQo+Pj4+Pj4+IGZlYXR1cmUg bWF0cml4LCBiYXNlZCBvZmYgcmFuZG9tIG51bWVyaWNhbCB2YWx1ZXMuDQo+Pj4+Pj4+DQo+Pj4+ Pj4+IFNvIHNheSB0aGF0IHdlIG5leHQgaGF2ZSBhIHByZXNzaW5nIG5lZWQgdG8gY3JlYXRlIGEg bmV3IHRvb2xjaGFpbg0KPj4+Pj4+PiBwcm9maWxlIGZvciBjbGFuZyAxMCwgdXNpbmcgdGhlIG9s ZCBFTEYgbWVjaGFuaXNtLiBBcmUgeW91IHRoZW4NCj4+Pj4+Pj4gc3VnZ2VzdGluZyB3ZSBzZXQg dXAgYSB0YWJsZSBvbiBzYWlkIHdpa2kgcGFnZSB3aGVyZSBwZW9wbGUgaGF2ZSB0bw0KPmdvDQo+ Pj4+Pj4+IGFuZCBsb29rIHVwIHdoYXQgdGhlIG9iamVjdCBhbmQgZGVidWcgZm9ybWF0cyBhcmUg Zm9yIGVhY2gNCj5DTEFORyMjDQo+Pj4+Pj4+IHRvb2xjaGFpbiBwcm9maWxlPw0KPj4+Pj4+Pg0K Pj4+Pj4+PiBBbmQgd2hhdCBpZiB5b3UgdGhlbiBlbmQgdXAgbmVlZGluZyB0byBkbyB0aGUgc2Ft ZSBmb3IgdGhlIFBEQg0KPj4+Pj4+PiBmbGF2b3VyPw0KPj4+Pj4+Pg0KPj4+Pj4+Pj4gQ0xBTkc5 IGlzIGRlc2lnbmVkIHRvIHN1cHBvcnQgRW11bGF0b3IgZm9yIFdpbmRvd3MgaG9zdCBvbmx5Lg0K Pj4+Pj4+Pg0KPj4+Pj4+PiBXaGljaCBpcyB3aHkgaXQgbWFrZXMgbm8gc2Vuc2UgdG8gbmFtZSBp dCBhcyBhIHN1Y2Nlc3NvciBvZg0KPj4+Pj4+PiBDTEFORzM4Lg0KPj4+Pj4+Pg0KPj4+Pj4+Pj4g Q0xBTkczOCBtYXkgYmUgdXNlZCBmb3IgRW11bGF0b3IgaW4gTGludXggb3IgTWFjLiBJIGRvbuKA mXQNCj4+Pj4+Pj4+IHRyeSBpdCBiZWZvcmUuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gQ0xBTkc5IGdv YWwgaXMgdG8gYWxpZ24gdGhlIHNhbWUgY29tcGlsZXIgaW4gdGhlIGRpZmZlcmVudCBob3N0DQo+ Pj4+Pj4+PiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudC4gSXQgY2FuIHJlcGxhY2UgVlMgb3IgR0ND IGNvbXBpbGVyLiBPbg0KPj4+Pj4+Pj4gV2luZG93cyBIb3N0LCBJIHZlcmlmeSBWUyBkZWJ1Z2dl ciBmb3IgdGhlIHNvdXJjZSBsZXZlbCBkZWJ1Zy4gT24NCj4+Pj4+Pj4+IExpbnV4IGhvc3QsIEkg aGF2ZSBub3QgdmVyaWZpZWQgbGx2bSBkZWJ1Z2dlci4gSSB3aWxsIGludmVzdGlnYXRlDQo+Pj4+ Pj4+PiB0aGUgZGVidWdnZXIgc29sdXRpb24gZm9yIE9WTUYgaW4gTGludXggaG9zdC4NCj4+Pj4+ Pj4NCj4+Pj4+Pj4gV2UgYXJlIG5vdCBhc2tpbmcgeW91IHRvIHRocm93IG91dCB0aGlzIHRvb2xj aGFpbiBwcm9maWxlLg0KPj4+Pj4+Pg0KPj4+Pj4+PiBXZSBhcmUgc2F5aW5nIHRoYXQgc2luY2Ug dGhlIGZ1bmN0aW9uYWxpdHkgaXQgcHJvdmlkZXMgaXMgY29tcGxldGVseQ0KPj4+Pj4+PiB1bnJl bGF0ZWQgdG8gdGhhdCBvZiBDTEFORzM4LCBpdCBzaG91bGQgbm90IGJlIG5hbWVkIGluIGEgd2F5 IHRoYXQNCj4+Pj4+Pj4gc3VnZ2VzdHMgaXQgaXMgbWVyZWx5IGEgcmV2aXNpb24gdXBkYXRlLg0K Pj4+Pj4+Pg0KPj4+Pj4+PiAvDQo+Pj4+Pj4+ICAgTGVpZg0KPj4+Pj4+Pg0KPj4+Pj4+Pj4gVGhh bmtzDQo+Pj4+Pj4+PiBMaW1pbmcNCj4+Pj4+Pj4+IEZyb206IGFmaXNoQGFwcGxlLmNvbSA8YWZp c2hAYXBwbGUuY29tPg0KPj4+Pj4+Pj4gU2VudDogU2F0dXJkYXksIE9jdG9iZXIgMjYsIDIwMTkg Mjo0NSBBTQ0KPj4+Pj4+Pj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBHYW8sIExpbWluZyA8 bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+Pj4+Pj4+PiBDYzogTmksIFJheSA8cmF5Lm5pQGludGVs LmNvbT47IEp1c3RlbiwgSm9yZGFuIEwNCj4+Pj4+IDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29t Pg0KPj4+Pj4+Pj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUGF0Y2ggdjMgMTAvMTFdIEVt dWxhdG9yUGtnOiBFbmFibGUNCj5DTEFORzkNCj4+Pj4+IHRvb2wgY2hhaW4NCj4+Pj4+Pj4+DQo+ Pj4+Pj4+PiBMaW1pbmcsDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gU29ycnkgSSBtaXNzZWQgdGhpcyBt YWlsLiBUaGFua3MgZm9yIHRoZSBpbmZvISBJIHdhcyBkb2luZyBzb21lDQo+cmVzZWFyY2gNCj4+ Pj4+IGludG8gdGhpcyB0b28gYW5kIG5vdyBJIHRoaW5rIEkgZmluYWxseSB1bmRlcnN0YW5kLiBJ IHRoaW5rIHRoZSBuYW1lIGZvcg0KPnRoZSB0b29sDQo+Pj4+PiBjaGFpbiByZWFsbHkgY29uZnVz ZWQgbWUgYW5kIHdlIHNob3VsZCB0aGluayBhYm91dCBjaGFuZ2luZyB0aGUgbmFtZS4NCj4+Pj4+ Pj4+DQo+Pj4+Pj4+PiBGcm9tIHdoYXQgSSB1bmRlcnN0YW5kIENMQU5HOSBtZWFucyBwcm9kdWNl IFBFL0NPRkYgZGlyZWN0bHkNCj5hbmQNCj4+Pj4+IHVzZWQgdGhlIFBEQiBkZWJ1Z2dpbmcgZm9y bWF0LiBJIHNlZSBmcm9tIHRoZSBsbHZtIHNpdGUgdGhhdCB0aGUgbGlua2VyDQo+Y2FuDQo+Pj4+ PiBwcm9kdWNlIFBEQiBkaXJlY3RseSBhcyB5b3UgbWVudGlvbi4gVGhpcyBhbGwgbWFrZXMgc2Vu c2UgdG8gbWUgbm93IGFzDQo+TExWTQ0KPj4+Pj4gdHJpZXMgdG8gbWFrZSBpdCBlYXN5IHRvIGJl IGEgZHJvcCBpbiByZXBsYWNlbWVudCBmb3IgVkMrKyBvciBHQ0MuIFNvDQo+dGhpcyB0b29sDQo+ Pj4+PiBjaGFpbiBpcyBkZXNpZ25lZCB0byBiZSBhYmxlIHRvIGNyb3NzIGJ1aWxkIGEgIldpbmRv d3MgQXBwIiBvbiBhIExpbnV4IG9yDQo+Pj4+PiBtYWNPUy4gSXQgYWxzbyBsb29rcyBsaWtlIHRo ZSBsbHZtIGRlYnVnZ2VyLCBsbGRiLCBpcyBsYWdnaW5nIGluIGl0cyBzdXBwb3J0DQo+Zm9yDQo+ Pj4+PiBQREIgYmFzZWQgZGVidWdnaW5nLg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBB bnl3YXkgSSB0aGluayBMZWlmIGFuZCBJIGFncmVlIHRoZSB0b29sY2hhaW4gbmFtZSBpcyB2ZXJ5 IGNvbmZ1c2luZy4NCj5JJ2QNCj4+Pj4+IHJhdGhlciBzZWUgaXQgY2FsbGVkIENMQU5HOV9XSU4g b3IgQ0xBTkdfUERCLg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBPbiBPY3QgMTgsIDIw MTksIGF0IDc6MjcgQU0sIExpbWluZyBHYW8NCj4+Pj4+IDxsaW1pbmcuZ2FvQGludGVsLmNvbTxt YWlsdG86bGltaW5nLmdhb0BpbnRlbC5jb20+PiB3cm90ZToNCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBB bmRyZXc6DQo+Pj4+Pj4+PiBIZXJlIGlzIHRoZSBjb3ZlciBsZXR0ZXIgb24gQ0xBTkc5IGludHJv ZHVjdGlvbi4NCj4+Pj4+IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzQ5 MTU3DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gMSkgICAgICBZZXMuIENMQU5HOSB0b29sIGNoYWluIGlz IGFkZGVkIHRvIGRpcmVjdGx5IGdlbmVyYXRlIFBFL0NPRkYNCj5pbWFnZQ0KPj4+Pj4gKEVGSSBp bWFnZSkuDQo+Pj4+Pj4+PiBUaGlzIHRvb2wgY2hhaW4gdXNlcyBMTFZNIGNsYW5nIEMgY29tcGls ZXIgYW5kIGxsZCBsaW5rZXIsIGdlbmVyYXRlcw0KPj4+Pj4gUEUvQ09GRg0KPj4+Pj4+Pj4gaW1h Z2UgYW5kIFBEQiBjb21wYXRpYmxlIGRlYnVnIHN5bWJvbCBmb3JtYXQuIE5vdywgaXQgc3VwcG9y dHMNCj4+Pj4+IElBMzIvWDY0IEFyY2hzLg0KPj4+Pj4+Pj4gTExWTSBjbGFuZyBDIGNvbXBpbGVy IGFuZCBsbGQgbGlua2VyIGFyZSB0aGUgc3RhbmRhbG9uZSB0b29sIHNldC4NCj5UaGV5DQo+Pj4+ PiBkb27igJl0IGRlcGVuZCBvdGhlciBsaWIgdG8gZ2VuZXJhdGUgUEUvQ09GRiBpbWFnZS4NCj4+ Pj4+Pj4+DQo+Pj4+Pj4+PiAyKSAgICAgIFllcy4gQ0xBTkc5IGlzIHRoZSBjcm9zcyBPUyB0b29s IGNoYWluLiBJdCBjYW4gd29yayBvbg0KPj4+Pj4gV2luZG93cy9MaW51eC9NYWMgaG9zdCBPUy4N Cj4+Pj4+Pj4+IExMVk0gTExEIGxpbmtlciB1c2VzIFdpbmRvd3Mgc3R5bGUgYXJndW1lbnRzLiBJ IHZlcmlmeSBDTEFORzkgZm9yDQo+Pj4+PiBPdm1mMzI2NCBpbiBXaW5kb3dzL0xpbnV4IGhvc3Qg T1MuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IE9uIExpbnV4IGNhbiB5b3Ugc291cmNl IGxldmVsIGRlYnVnIE92bWY/DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IDMpICAgICBU aGlzIHBhdGNoIGVuYWJsZXMgV2luSG9zdCBpbiBXaW5kb3dzLiBJdCBkb2VzbuKAmXQgZW5hYmxl DQo+VW5peEhvc3QuDQo+Pj4+PiBOb3csIEVtdWxhdG9yUGtnIHdpdGggQ0xBTkc5IG9ubHkgd29y a3Mgb24gV2luZG93cyBIb3N0Lg0KPj4+Pj4+Pj4gVGhpcyBwYXRjaCBjYW4gbWFrZSBvdGhlciBt b2R1bGVzIHBhc3MgYnVpbGQgaW4NCj5XaW5kb3dzL0xpbnV4L01hYw0KPj4+Pj4gb25seSBpZiBM TFZNOSB0b29sIHNldCBpcyBpbnN0YWxsZWQuDQo+Pj4+Pj4+PiBCdXQsIHRoZSBnZW5lcmF0ZWQg aW1hZ2UgbWF5IG5vdCB3b3JrIG9uIExpbnV4L01hYy4gSSBhZ3JlZQ0KPmJlbG93DQo+Pj4+PiBs aW5rZXIgZmxhZ3MgYXJlIHNwZWNpZmljIHRvIHdpbmRvd3MgaG9zdC4NCj4+Pj4+Pj4+IFNvLCBJ IHN1Z2dlc3QgdG8gYWRkIHRoZSBjb25kaXRpb25hbCBzdGF0ZW1lbnQgb2YNCj4kKFdJTl9IT1NU X0JVSUxEKQ0KPj4+Pj4gPT0gVFJVRSBmb3IgdGhlbS4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+ Pj4+Pj4gRm9yIHRoZSBFbXVsYXRvclBrZyB0aGUgSG9zdCBpcyBhIG5hdGl2ZSBBcHAgZm9yIHRo YXQgT1MgeW91IGJ1aWxkIG9uLA0KPmJ1dA0KPj4+Pj4gaXQgc2VlbXMgbGlrZSBDTEFORzkgaXMg dGFyZ2V0ZWQgdG8gYnVpbGQgV2luZG93cyBBcHBzLiBJJ20gbm90IHN1cmUNCj5idXQgeW91DQo+ Pj4+PiBtaWdodCBiZSBhYmxlIHRvIG92ZXJyaWRlIGFsbCB0aGUgbGlua2VyIGNvbW1hbmRzIHRv IGJ1aWxkIGEgbmF0aXZlIGFwcCwNCj5vciBqdXN0DQo+Pj4+PiB1c2UgdGhlIHN5c3RlbSBsaW5r ZXIgZm9yIHRoZSBIb3N0Pw0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IEknbSBub3Qgc3VyZSBob3cgd2Vs bCBkZWJ1Z2dpbmcgd2lsbCB3b3JrIG1peGluZyBQREIgYW5kIERXQVJGDQo+Pj4+PiBzeW1ib2wg Zm9ybWF0cz8NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBUaGFua3MsDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4g QW5kcmV3IEZpc2gNCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+ICFpZiAk KFdJTl9IT1NUX0JVSUxEKSA9PSBUUlVFDQo+Pj4+Pj4+PiBHQ0M6Kl9DTEFORzlfKl9ETElOS19G TEFHUyAgICAgPSAvQUxJR046NDA5NiAvRklMRUFMSUdOOjQwOTYNCj4+Pj4+IC9TVUJTWVNURU06 Q09OU09MRQ0KPj4+Pj4+Pj4gR0NDOkRFQlVHX0NMQU5HOV8qX0RMSU5LX0ZMQUdTID0NCj4+Pj4+ IC9FWFBPUlQ6SW5pdGlhbGl6ZURyaXZlcj0kKElNQUdFX0VOVFJZX1BPSU5UKSAvQkFTRToweDEw MDAwDQo+Pj4+Pj4+PiBHQ0M6Tk9PUFRfQ0xBTkc5XypfRExJTktfRkxBR1MgPQ0KPj4+Pj4gL0VY UE9SVDpJbml0aWFsaXplRHJpdmVyPSQoSU1BR0VfRU5UUllfUE9JTlQpIC9CQVNFOjB4MTAwMDAN Cj4+Pj4+Pj4+ICFlbmRpZg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IFRoYW5rcw0KPj4+Pj4+Pj4gTGlt aW5nDQo+Pj4+Pj4+PiBGcm9tOiBhZmlzaEBhcHBsZS5jb208bWFpbHRvOmFmaXNoQGFwcGxlLmNv bT4NCj4+Pj4+IDxhZmlzaEBhcHBsZS5jb208bWFpbHRvOmFmaXNoQGFwcGxlLmNvbT4+DQo+Pj4+ Pj4+PiBTZW50OiBGcmlkYXksIE9jdG9iZXIgMTgsIDIwMTkgMToxNSBBTQ0KPj4+Pj4+Pj4gVG86 IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb208bWFpbHRvOnJheS5uaUBpbnRlbC5jb20+Pg0KPj4+ Pj4+Pj4gQ2M6IEdhbywgTGltaW5nDQo+PGxpbWluZy5nYW9AaW50ZWwuY29tPG1haWx0bzpsaW1p bmcuZ2FvQGludGVsLmNvbT4+Ow0KPj4+Pj4gZGV2ZWxAZWRrMi5ncm91cHMuaW88bWFpbHRvOmRl dmVsQGVkazIuZ3JvdXBzLmlvPjsgSnVzdGVuLCBKb3JkYW4gTA0KPj4+Pj4gPGpvcmRhbi5sLmp1 c3RlbkBpbnRlbC5jb208bWFpbHRvOmpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+Pg0KPj4+Pj4+ Pj4gU3ViamVjdDogUmU6IFtQYXRjaCB2MyAxMC8xMV0gRW11bGF0b3JQa2c6IEVuYWJsZSBDTEFO RzkgdG9vbCBjaGFpbg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IFJheSwNCj4+Pj4+Pj4+DQo+Pj4+Pj4+ PiBTb3JyeSBJJ20gY29taW5nIGEgbGl0dGxlIGxhdGUgdG8gdGhpcyBhbmQgSSdtIGNvbmZ1c2Vk LiBJIGhhdmUgc29tZQ0KPj4+Pj4gcXVlc3Rpb25zPw0KPj4+Pj4+Pj4gMSkgRG9lcyBDTEFORzkg aW1wbHkgQ0xBTkdQRT8NCj4+Pj4+Pj4+IDIpIERvZXMgQ0xBTkdQRSB3b3JrIG9uIExpbnV4IGFu ZCBtYWNPUz8gQ2FuIHlvdSBwYXNzIHRoZQ0KPldpbmRvd3MNCj4+Pj4+IHN0eWxlIGFyZ3VtZW50 cyB0byBDTEFOR1BFIGxpbmtlciBvbiBMaW51eCBhbmQgbWFjT1M/DQo+Pj4+Pj4+PiAzKSBGb3Ig dGhlIEVtdWxhdG9yUGtnIGRvbid0IHlvdSBoYXZlIHRoZSBleHRyYSByZXF1aXJlbWVudCB0aGF0 DQo+Pj4+PiBjb21waWxlciBuZWVkcyBhIHN0YW5kYXJkIEMgbGliIChvciBwbGF0Zm9ybSBzcGVj aWZpYyBsaWJzKSB0byBmdW5jdGlvbj8NCj4+Pj4+Pj4+ICAgICAgYSkgR0NDOipfQ0xBTkc5Xypf RExJTktfRkxBR1MgaW4gRW11bGF0b3JQa2cuZHNjIHNlZW1zIHRvDQo+Pj4+PiBpbXBseSB0aGUg TGludXggYW5kIG1hY09TIHN5c3RlbXMgd2lsbCBoYXZlIGEgV2luZG93cyBTS0QgZGlyIGFuZCBh DQo+bG90IG9mDQo+Pj4+PiBXaW5kb3dzIERMTHM/IERvZXMgYWxsIHRoYXQgY29tZSB3aGVuIHlv dSBpbnN0YWxsIENMQU5HOSB3aGVuIHlvdQ0KPmluc3RhbGwNCj4+Pj4+IGl0IG9uIExpbnV4IG9y IG1hY09TPw0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gU28gSSBndWVz cyBJJ20gYXNraW5nIGlzIHRoZSBsaW5rZXIgcmVhbGx5IHRoZSBzYW1lIGZvciBDTEFORzkgb24g YWxsDQo+Pj4+PiBzeXN0ZW1zPyBJIGd1ZXNzIHRoZSBhbnN3ZXIgY291bGQgYmUgeWVzLCBidXQg aXQgc2VlbXMgdGhlIEMgbGliIGZvciB0aGUNCj5Ib3N0DQo+Pj4+PiBBcHAgaXMgc3RpbGwgYW4g QXBwIGZvciB0aGF0IE9TIGFuZCBpcyBPUyBkZXBlbmRlbnQ/DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4N Cj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBTb3JyeSBpZiBJJ20gbWlzc2luZyBzb21ldGhpbmcgZnVuZGFt ZW50YWwgYW5kIHRoaXMgaXMgYSBkdW1iDQo+cXVlc3Rpb24uDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4N Cj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBUaGFua3MsDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+ DQo+Pj4+Pj4+PiBBbmRyZXcgRmlzaA0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+ Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IE9uIE9jdCAxNywg MjAxOSwgYXQgMTI6MjcgQU0sIE5pLCBSYXkNCj4+Pj4+IDxyYXkubmlAaW50ZWwuY29tPG1haWx0 bzpyYXkubmlAaW50ZWwuY29tPj4gd3JvdGU6DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gTGltaW5nLA0K Pj4+Pj4+Pj4gRW11bGF0b3IgaXMgdXNpbmcgYSBnZW5lcmljIFNFQyBtb2R1bGUuIFRoZSBob3N0 IHNwZWNpZmljIG1vZHVsZSBpcw0KPmNhbGxlZA0KPj4+Pj4gIkhvc3QiLg0KPj4+Pj4+Pj4gU28g SSBwcmVmZXIgdG8gY2hhbmdlIHRoZSBtYWNybyB0byAiV0lOX0hPU1RfQlVJTEQiLCB3aXRoIHRo aXMNCj5jaGFuZ2UsDQo+Pj4+PiBSZXZpZXdlZC1ieTogUmF5IE5pIDxyYXkubmlAaW50ZWwuY29t PG1haWx0bzpyYXkubmlAaW50ZWwuY29tPj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4N Cj4+Pj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4+Pj4+PiBGcm9tOiBHYW8s IExpbWluZw0KPjxsaW1pbmcuZ2FvQGludGVsLmNvbTxtYWlsdG86bGltaW5nLmdhb0BpbnRlbC5j b20+Pg0KPj4+Pj4+Pj4gU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMTcsIDIwMTkgMjo1NiBQTQ0K Pj4+Pj4+Pj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvPG1haWx0bzpkZXZlbEBlZGsyLmdyb3Vw cy5pbz4NCj4+Pj4+Pj4+IENjOiBKdXN0ZW4sIEpvcmRhbiBMDQo+Pj4+PiA8am9yZGFuLmwuanVz dGVuQGludGVsLmNvbTxtYWlsdG86am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT4+Ow0KPkFuZHJl dw0KPj4+Pj4gRmlzaA0KPj4+Pj4+Pj4gPGFmaXNoQGFwcGxlLmNvbTxtYWlsdG86YWZpc2hAYXBw bGUuY29tPj47IE5pLCBSYXkNCj4+Pj4+IDxyYXkubmlAaW50ZWwuY29tPG1haWx0bzpyYXkubmlA aW50ZWwuY29tPj4NCj4+Pj4+Pj4+IFN1YmplY3Q6IFtQYXRjaCB2MyAxMC8xMV0gRW11bGF0b3JQ a2c6IEVuYWJsZSBDTEFORzkgdG9vbCBjaGFpbg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IEJaOiBodHRw czovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDMNCj4+Pj4+Pj4+ IDEuIEFkZCBXSU5fU0VDX0JVSUxEIG1hY3JvIGNoZWNrIGZvciBDTEFORzkgdG9vbCBjaGFpbiBi dWlsZCAtcA0KPj4+Pj4+Pj4gRW11bGF0b3JQa2dcRW11bGF0b3JQa2cuZHNjIC1hIElBMzIgLURX SU5fU0VDX0JVSUxEPVRSVUUgLXQNCj4+Pj4+IENMQU5HOQ0KPj4+Pj4+Pj4gYnVpbGQgLXAgRW11 bGF0b3JQa2dcRW11bGF0b3JQa2cuZHNjIC1hIFg2NCAtDQo+RFdJTl9TRUNfQlVJTEQ9VFJVRSAt dA0KPj4+Pj4+Pj4gQ0xBTkc5IDIuIEFwcGVuZCBDTEFORyBDQyBhbmQgTElOSyBmbGFncyB0byBn ZW5lcmF0ZSB3aW5kb3dzDQo+SE9TVC4NCj4+Pj4+Pj4+IDMuIEZpeCBXaW5Ib3N0IGlzc3VlIHRv IGNhbGwgR2V0UHJvY2Vzc0FmZmluaXR5TWFzaygpIEFQSS4NCj4+Pj4+Pj4+IFRoZSBpbnB1dCBw YXJhbWV0ZXIgc2hvdWxkIGJlIFVJTlROIHBvaW50ZXIgaW5zdGVhZCBvZiBVSU5UMzINCj5wb2lu dGVyLg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IENjOiBKb3JkYW4gSnVzdGVuDQo+Pj4+PiA8am9yZGFu LmwuanVzdGVuQGludGVsLmNvbTxtYWlsdG86am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT4+DQo+ Pj4+Pj4+PiBDYzogQW5kcmV3IEZpc2ggPGFmaXNoQGFwcGxlLmNvbTxtYWlsdG86YWZpc2hAYXBw bGUuY29tPj4NCj4+Pj4+Pj4+IENjOiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb208bWFpbHRvOnJh eS5uaUBpbnRlbC5jb20+Pg0KPj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogTGltaW5nIEdhbw0KPj4+ Pj4gPGxpbWluZy5nYW9AaW50ZWwuY29tPG1haWx0bzpsaW1pbmcuZ2FvQGludGVsLmNvbT4+DQo+ Pj4+Pj4+PiAtLS0NCj4+Pj4+Pj4+IEVtdWxhdG9yUGtnL1dpbi9Ib3N0L1dpbkhvc3QuYyAgIHwg NiArKystLS0NCj4+Pj4+Pj4+IEVtdWxhdG9yUGtnL0VtdWxhdG9yUGtnLmRzYyAgICAgIHwgNyAr KysrKystDQo+Pj4+Pj4+PiBFbXVsYXRvclBrZy9XaW4vSG9zdC9XaW5Ib3N0LmluZiB8IDYgKysr KysrDQo+Pj4+Pj4+PiAzIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL0VtdWxhdG9yUGtnL1dpbi9I b3N0L1dpbkhvc3QuYw0KPj4+Pj4+Pj4gYi9FbXVsYXRvclBrZy9XaW4vSG9zdC9XaW5Ib3N0LmMg aW5kZXggOWFiYTNjODk1OS4uZTQwY2UzMjU0OA0KPj4+Pj4gMTAwNjQ0DQo+Pj4+Pj4+PiAtLS0g YS9FbXVsYXRvclBrZy9XaW4vSG9zdC9XaW5Ib3N0LmMNCj4+Pj4+Pj4+ICsrKyBiL0VtdWxhdG9y UGtnL1dpbi9Ib3N0L1dpbkhvc3QuYw0KPj4+Pj4+Pj4gQEAgLTM1Niw3ICszNTYsNyBAQCBSZXR1 cm5zOg0KPj4+Pj4+Pj4gSU5UTg0KPj4+Pj4+Pj4gRUZJQVBJDQo+Pj4+Pj4+PiBtYWluICgNCj4+ Pj4+Pj4+IC0gIElOICBJTlROICBBcmdjLA0KPj4+Pj4+Pj4gKyAgSU4gIElOVCAgQXJnYywNCj4+ Pj4+Pj4+IElOICBDSEFSOCAqKkFyZ3YsDQo+Pj4+Pj4+PiBJTiAgQ0hBUjggKipFbnZwDQo+Pj4+ Pj4+PiApDQo+Pj4+Pj4+PiBAQCAtMzkxLDggKzM5MSw4IEBAIFJldHVybnM6DQo+Pj4+Pj4+PiBW T0lEICAgICAgICAgICAgICAgICAgKlNlY0ZpbGU7DQo+Pj4+Pj4+PiBDSEFSMTYgICAgICAgICAg ICAgICAgKk1lbW9yeVNpemVTdHI7DQo+Pj4+Pj4+PiBDSEFSMTYgICAgICAgICAgICAgICAgKkZp cm13YXJlVm9sdW1lc1N0cjsNCj4+Pj4+Pj4+IC0gIFVJTlQzMiAgICAgICAgICAgICAgICBQcm9j ZXNzQWZmaW5pdHlNYXNrOw0KPj4+Pj4+Pj4gLSAgVUlOVDMyICAgICAgICAgICAgICAgIFN5c3Rl bUFmZmluaXR5TWFzazsNCj4+Pj4+Pj4+ICsgIFVJTlROICAgICAgICAgICAgICAgICBQcm9jZXNz QWZmaW5pdHlNYXNrOw0KPj4+Pj4+Pj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgIFN5c3RlbUFm ZmluaXR5TWFzazsNCj4+Pj4+Pj4+IElOVDMyICAgICAgICAgICAgICAgICBMb3dCaXQ7DQo+Pj4+ Pj4+Pg0KPj4+Pj4+Pj4gLy8NCj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9FbXVsYXRvclBrZy9FbXVs YXRvclBrZy5kc2MNCj4+Pj4+IGIvRW11bGF0b3JQa2cvRW11bGF0b3JQa2cuZHNjDQo+Pj4+Pj4+ PiBpbmRleCAyMGYxMTg3NzEzLi43MjUzMmY1ZGFmIDEwMDY0NA0KPj4+Pj4+Pj4gLS0tIGEvRW11 bGF0b3JQa2cvRW11bGF0b3JQa2cuZHNjDQo+Pj4+Pj4+PiArKysgYi9FbXVsYXRvclBrZy9FbXVs YXRvclBrZy5kc2MNCj4+Pj4+Pj4+IEBAIC0yMzcsOSArMjM3LDEwIEBADQo+Pj4+Pj4+Pg0KPj4+ Pj4+Pj4gW0NvbXBvbmVudHNdDQo+Pj4+Pj4+PiAhaWYgIklBMzIiIGluICQoQVJDSCkgfHwgIlg2 NCIgaW4gJChBUkNIKQ0KPj4+Pj4+Pj4gLSAgIWlmICJNU0ZUIiBpbiAkKEZBTUlMWSkNCj4+Pj4+ Pj4+ICsgICFpZiAiTVNGVCIgaW4gJChGQU1JTFkpIHx8ICQoV0lOX1NFQ19CVUlMRCkgPT0gVFJV RQ0KPj4+Pj4+Pj4gICAjIw0KPj4+Pj4+Pj4gICAjICBFbXVsYXRvciwgT1MgV0lOIGFwcGxpY2F0 aW9uDQo+Pj4+Pj4+PiArICAgICMgIENMQU5HOSBpcyBjcm9zcyBPUyB0b29sIGNoYWluLiBJdCBk ZXBlbmRzIG9uIFdJTl9TRUNfQlVJTEQNCj4+Pj4+IG1hY3JvLg0KPj4+Pj4+Pj4gICAjIw0KPj4+ Pj4+Pj4gICBFbXVsYXRvclBrZy9XaW4vSG9zdC9XaW5Ib3N0LmluZg0KPj4+Pj4+Pj4gIWVsc2UN Cj4+Pj4+Pj4+IEBAIC00MTksNyArNDIwLDExIEBADQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gTVNGVDpE RUJVR18qXypfQ0NfRkxBR1MgPSAvT2QgL095LQ0KPj4+Pj4+Pj4gTVNGVDpOT09QVF8qXypfQ0Nf RkxBR1MgPSAvT2QgL095LQ0KPj4+Pj4+Pj4gKyAgR0NDOkRFQlVHX0NMQU5HOV8qX0NDX0ZMQUdT ID0tTzAgLVduby11bnVzZWQtDQo+Y29tbWFuZC0NCj4+Pj4+IGxpbmUtDQo+Pj4+Pj4+PiBhcmd1 bWVudA0KPj4+Pj4+Pj4gKyAtV25vLWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzIC1Xbm8tZW51 bS1jb252ZXJzaW9uDQo+Pj4+Pj4+PiArIC1Xbm8taW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXMg LVduby1zb21ldGltZXMtdW5pbml0aWFsaXplZA0KPj4+Pj4+Pj4gKyAtV25vLWNvbnN0YW50LWNv bnZlcnNpb24gLVduby1tYWluLXJldHVybi10eXBlDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gTVNGVDoq XypfKl9ETElOS19GTEFHUyAgICAgPSAvQUxJR046NDA5NiAvRklMRUFMSUdOOjQwOTYNCj4+Pj4+ Pj4+IC9TVUJTWVNURU06Q09OU09MRQ0KPj4+Pj4+Pj4gTVNGVDpERUJVR18qXypfRExJTktfRkxB R1MgPQ0KPj4+Pj4+Pj4gL0VYUE9SVDpJbml0aWFsaXplRHJpdmVyPSQoSU1BR0VfRU5UUllfUE9J TlQpIC9CQVNFOjB4MTAwMDANCj4+Pj4+Pj4+IE1TRlQ6Tk9PUFRfKl8qX0RMSU5LX0ZMQUdTID0N Cj4+Pj4+Pj4+IC9FWFBPUlQ6SW5pdGlhbGl6ZURyaXZlcj0kKElNQUdFX0VOVFJZX1BPSU5UKSAv QkFTRToweDEwMDAwDQo+Pj4+Pj4+PiArICBHQ0M6Kl9DTEFORzlfKl9ETElOS19GTEFHUyAgICAg PSAvQUxJR046NDA5Ng0KPi9GSUxFQUxJR046NDA5Ng0KPj4+Pj4+Pj4gL1NVQlNZU1RFTTpDT05T T0xFDQo+Pj4+Pj4+PiArICBHQ0M6REVCVUdfQ0xBTkc5XypfRExJTktfRkxBR1MgPQ0KPj4+Pj4+ Pj4gKyAvRVhQT1JUOkluaXRpYWxpemVEcml2ZXI9JChJTUFHRV9FTlRSWV9QT0lOVCkgL0JBU0U6 MHgxMDAwMA0KPj4+Pj4+Pj4gKyBHQ0M6Tk9PUFRfQ0xBTkc5XypfRExJTktfRkxBR1MgPQ0KPj4+ Pj4+Pj4gKyAvRVhQT1JUOkluaXRpYWxpemVEcml2ZXI9JChJTUFHRV9FTlRSWV9QT0lOVCkgL0JB U0U6MHgxMDAwMA0KPj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL0VtdWxhdG9yUGtnL1dpbi9Ib3N0L1dp bkhvc3QuaW5mDQo+Pj4+Pj4+PiBiL0VtdWxhdG9yUGtnL1dpbi9Ib3N0L1dpbkhvc3QuaW5mDQo+ Pj4+Pj4+PiBpbmRleCA2MzFkNWE2NDcwLi4xYWRjYTEwZDc5IDEwMDY0NA0KPj4+Pj4+Pj4gLS0t IGEvRW11bGF0b3JQa2cvV2luL0hvc3QvV2luSG9zdC5pbmYNCj4+Pj4+Pj4+ICsrKyBiL0VtdWxh dG9yUGtnL1dpbi9Ib3N0L1dpbkhvc3QuaW5mDQo+Pj4+Pj4+PiBAQCAtOTUsMyArOTUsOSBAQA0K Pj4+Pj4+Pj4gTVNGVDoqX1ZTMjAxN19YNjRfRExJTktfRkxBR1MgICAgICA9DQo+Pj4+Pj4+PiAv TElCUEFUSDoiJVZDVG9vbHNJbnN0YWxsRGlyJWxpYlx4NjQiDQo+Pj4+Pj4+PiAvTElCUEFUSDoi JVVuaXZlcnNhbENSVFNka0RpciVsaWJcJVVDUlRWZXJzaW9uJVx1Y3J0XHg2NCINCj4+Pj4+Pj4+ DQo+L0xJQlBBVEg6IiVXaW5kb3dzU2RrRGlyJWxpYlwlV2luZG93c1NES0xpYlZlcnNpb24lXHVt XHg2NCINCj4+Pj4+Pj4+IC9OT0xPR08gL1NVQlNZU1RFTTpDT05TT0xFIC9OT0RFRkFVTFRMSUIg L0lHTk9SRTo0MDg2DQo+L01BUA0KPj4+Pj4+Pj4gL09QVDpSRUYgL0RFQlVHIC9NQUNISU5FOkFN RDY0IC9MVENHIEtlcm5lbDMyLmxpYg0KPk1TVkNSVEQubGliDQo+Pj4+Pj4+PiB2Y3J1bnRpbWVk LmxpYiB1Y3J0ZC5saWIgR2RpMzIubGliIFVzZXIzMi5saWIgV2lubW0ubGliIEFkdmFwaTMyLmxp Yg0KPj4+Pj4+Pj4gTVNGVDoqXypfWDY0X0FTTV9GTEFHUyAgICAgICAgICAgID09IC9ub2xvZ28g L1czIC9XWCAvYyAvQ3ggL1pkDQo+L1cwDQo+Pj4+PiAvWmkNCj4+Pj4+Pj4+IE1TRlQ6Kl8qX1g2 NF9BU01MSU5LX0ZMQUdTICAgICAgICA9PSAvbGluayAvbm9sb2dvDQo+Pj4+Pj4+PiArDQo+Pj4+ Pj4+PiArICBHQ0M6Kl9DTEFORzlfWDY0X0RMSU5LX0ZMQUdTID09DQo+Pj4+Pj4+PiAvb3V0OiIk KEJJTl9ESVIpXCQoQkFTRV9OQU1FKS5leGUiIC9iYXNlOjB4MTAwMDAwMDANCj4+Pj4+Pj4+IC9w ZGI6IiQoQklOX0RJUilcJChCQVNFX05BTUUpLnBkYiINCj4+Pj4+Pj4+IC9MSUJQQVRIOiIlVW5p dmVyc2FsQ1JUU2RrRGlyJWxpYlwlVUNSVFZlcnNpb24lXHVjcnRceDY0Ig0KPj4+Pj4+Pj4NCj4v TElCUEFUSDoiJVdpbmRvd3NTZGtEaXIlbGliXCVXaW5kb3dzU0RLTGliVmVyc2lvbiVcdW1ceDY0 Ig0KPj4+Pj4+Pj4gL0xJQlBBVEg6IiVWQ1Rvb2xzSW5zdGFsbERpciVsaWJceDY0IiAgIC9OT0xP R08NCj4+Pj4+IC9TVUJTWVNURU06Q09OU09MRQ0KPj4+Pj4+Pj4gL05PREVGQVVMVExJQiAvSUdO T1JFOjQwODYgIC9PUFQ6UkVGIC9ERUJVRw0KPi9NQUNISU5FOkFNRDY0DQo+Pj4+Pj4+PiBLZXJu ZWwzMi5saWIgTVNWQ1JURC5saWIgdmNydW50aW1lZC5saWIgdWNydGQubGliIEdkaTMyLmxpYg0K PlVzZXIzMi5saWINCj4+Pj4+Pj4+IFdpbm1tLmxpYiBBZHZhcGkzMi5saWIgL2xsZG1hcA0KPj4+ Pj4+Pj4gL0VYUE9SVDpJbml0aWFsaXplRHJpdmVyPV9Nb2R1bGVFbnRyeVBvaW50DQo+Pj4+Pj4+ PiArICBHQ0M6Kl9DTEFORzlfWDY0X0NDX0ZMQUdTID09IC1tNjQgLWcgLWZzaG9ydC13Y2hhcg0K Pj4+Pj4+Pj4gKyAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2FsbCAtYyAtaW5jbHVkZSBBdXRvR2Vu LmggLUQNCj4+Pj4+Pj4+ICsgX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MgLVdub25wb3J0YWJsZS1p bmNsdWRlLXBhdGggIC1EDQo+Pj4+PiBVTklDT0RFDQo+Pj4+Pj4+PiAtRA0KPj4+Pj4+Pj4gKyBf Q1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUNCj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+ICsgIEdDQzoqX0NM QU5HOV9JQTMyX0RMSU5LX0ZMQUdTID09DQo+Pj4+Pj4+PiAvb3V0OiIkKEJJTl9ESVIpXCQoQkFT RV9OQU1FKS5leGUiIC9iYXNlOjB4MTAwMDAwMDANCj4+Pj4+Pj4+IC9wZGI6IiQoQklOX0RJUilc JChCQVNFX05BTUUpLnBkYiINCj4+Pj4+Pj4+IC9MSUJQQVRIOiIlVW5pdmVyc2FsQ1JUU2RrRGly JWxpYlwlVUNSVFZlcnNpb24lXHVjcnRceDg2Ig0KPj4+Pj4+Pj4NCj4vTElCUEFUSDoiJVdpbmRv d3NTZGtEaXIlbGliXCVXaW5kb3dzU0RLTGliVmVyc2lvbiVcdW1ceDg2Ig0KPj4+Pj4+Pj4gL0xJ QlBBVEg6IiVWQ1Rvb2xzSW5zdGFsbERpciVpYlx4ODYiICAgL05PTE9HTw0KPj4+Pj4gL1NVQlNZ U1RFTTpDT05TT0xFDQo+Pj4+Pj4+PiAvTk9ERUZBVUxUTElCIC9JR05PUkU6NDA4NiAgL09QVDpS RUYgL0RFQlVHIC9NQUNISU5FOkkzODYNCj4+Pj4+Pj4+IEtlcm5lbDMyLmxpYiBNU1ZDUlRELmxp YiB2Y3J1bnRpbWVkLmxpYiB1Y3J0ZC5saWIgR2RpMzIubGliDQo+VXNlcjMyLmxpYg0KPj4+Pj4+ Pj4gV2lubW0ubGliIEFkdmFwaTMyLmxpYiAvbGxkbWFwDQo+Pj4+Pj4+PiAvRVhQT1JUOkluaXRp YWxpemVEcml2ZXI9X01vZHVsZUVudHJ5UG9pbnQNCj4+Pj4+Pj4+ICsgIEdDQzoqX0NMQU5HOV9J QTMyX0NDX0ZMQUdTID09IC1tMzIgLWcgLWZzaG9ydC13Y2hhcg0KPj4+Pj4+Pj4gKyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtV2FsbCAtYyAtaW5jbHVkZSBBdXRvR2VuLmggLUQNCj4+Pj4+Pj4+ICsg X0NSVF9TRUNVUkVfTk9fV0FSTklOR1MgLVdub25wb3J0YWJsZS1pbmNsdWRlLXBhdGggIC1EDQo+ Pj4+PiBVTklDT0RFDQo+Pj4+Pj4+PiAtRA0KPj4+Pj4+Pj4gKyBfQ1JUX1NFQ1VSRV9OT19ERVBS RUNBVEUNCj4+Pj4+Pj4+IC0tDQo+Pj4+Pj4+PiAyLjEzLjAud2luZG93cy4xDQo+Pj4+Pj4+Pg0K Pj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+ Pg0KPj4+Pj4+Pg0KPj4+Pj4+Pg0KPj4+Pj4+Pg0KPj4+Pj4+DQo+Pj4+Pg0KPj4+Pj4NCj4+Pg0K Pg0KPg0KDQo=