From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.107.69.103; helo=nam04-co1-obe.outbound.protection.outlook.com; envelope-from=christopher.co@microsoft.com; receiver=edk2-devel@lists.01.org Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-eopbgr690103.outbound.protection.outlook.com [40.107.69.103]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 3A6032118B7BC for ; Mon, 5 Nov 2018 17:53:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BTWOOfQE6fGhCQKigiOQRZUS1x0SJX9Q6I9d/GTKcm0=; b=n7bdIWeVlN0Gt5lS8A5CvLwHgnFUP56YWDJdRpP4raS/Ocln69e4joGT+wiMYG+Zy28DIMzlIr6sMKNijD0pTkQIf6nxzJyXTozeQ3r9HrW16DBVP3ScqNBo7yQZQJPBNfWXd9jgpCeUOmR8ezMjcSwbWfPQ5fQAnGSNKD39pvw= Received: from DM5PR2101MB1128.namprd21.prod.outlook.com (52.132.133.20) by DM5PR2101MB1030.namprd21.prod.outlook.com (52.132.128.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1339.7; Tue, 6 Nov 2018 01:53:18 +0000 Received: from DM5PR2101MB1128.namprd21.prod.outlook.com ([fe80::a5e3:1236:5d97:60a7]) by DM5PR2101MB1128.namprd21.prod.outlook.com ([fe80::a5e3:1236:5d97:60a7%6]) with mapi id 15.20.1294.028; Tue, 6 Nov 2018 01:53:17 +0000 From: Chris Co To: Sumit Garg CC: Leif Lindholm , "edk2-devel@lists.01.org" , Ard Biesheuvel , Michael D Kinney , "tee-dev@lists.linaro.org" Thread-Topic: [PATCH edk2-platforms 01/27] Platform/Microsoft: Add OpteeClientPkg dec Thread-Index: AQHUUYS21ey30s1HOESZEQCxUptORKU6EZyAgADuJACAAOB2oIAAVWGAgADZQ1CABCzQAIAA3mdA Date: Tue, 6 Nov 2018 01:53:14 +0000 Message-ID: References: <20180921082542.35768-1-christopher.co@microsoft.com> <20180921082542.35768-2-christopher.co@microsoft.com> <20181031204305.mkivnbhnna4niy2g@bivouac.eciton.net> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Owner=chrco@microsoft.com; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2018-11-06T01:53:11.5006291Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Application=Microsoft Azure Information Protection; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Extended_MSFT_Method=Automatic; Sensitivity=General x-originating-ip: [2001:4898:80e8:f:9446:4bce:4f54:2de7] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DM5PR2101MB1030; 6:H2ImsfPNFWDQ34q1YaIi7NLvZhLsQ3wr7MLa/5vSejO/NyYaE+Akz3YoLjvWwvPQC6vZ/xrbMi/gbiv5InZen9jVdPyqDtIEZ6TOroQY6CN+b4T/dHO7XVVl3oZ+yx3Vf8oJmeXJ1CBkfkri9lK4Msu876dCVJcc1MVlfK7LQF0tyLFmuOCLEGwS2Sb8Hgm9Ux7tA+D/PdYo/qWSyva7ahJAM29S/6XnOGhIlbX1HbblMaJ2o1uE40SWODIEWYtHEDe6PhnMeFSHD4TKz7hAxYUnPeO9MTVhX8U18JAm1s6LTzufFnfSi2JLngFYD267EAwc+MFekU5N/LHuTItw1Ek1OJvytqon1GDLMvK0xipsThsGGYOBesaGnTMltnpG8Ffy08Nrc57x8e8X4DzQa5JRpeF7GFMuQLh0AW2HzAZk54auP4/pQ99q/+qBRzcTo7bSGKpMWkw31FDSkbpf4w==; 5:0Mp/y7e6WXC3gszjiSKD1/j45wyXO6NRGIcpHOtBeXmWVDO6Tz0WnxqsEzC6xhb5ekg7+f9R31/6vVv+Wjet1f1dCNHwtLCX6olblaTBQY5kDQ8NGnAlA2KaumcRWF0hqHa3Ok5DEf1+64lszLPpurG0hRFSXATHpOxDMsAgNs8=; 7:j9I12TOcMEJXpR+ZIj/lSTR8aUUUjdU5DFZgYFuf5hzZkYOdHIhPaVbbkUPO/9w6clOPXB/ODEj6RL9Y9bfofdc48d6cZIKN0ekkbdCwM9ug8Nz+fdFou/5nSVr4oWVei9GQah7Uq1Zwpsv0YbXUhQ== x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 2779a7aa-d486-40de-f729-08d6438a9f5d x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:DM5PR2101MB1030; x-ms-traffictypediagnostic: DM5PR2101MB1030: x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(8220035)(2401047)(5005006)(8121501046)(10201501046)(3002001)(3231382)(944501410)(4982022)(52105095)(2018427008)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(201708071742011)(7699051)(76991095); SRVR:DM5PR2101MB1030; BCL:0; PCL:0; RULEID:; SRVR:DM5PR2101MB1030; x-forefront-prvs: 0848C1A6AA x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(396003)(136003)(39860400002)(366004)(346002)(376002)(47530400004)(13464003)(199004)(189003)(46003)(6346003)(71190400001)(6666004)(71200400001)(186003)(33656002)(4744004)(53936002)(6436002)(8936002)(9686003)(55016002)(25786009)(76176011)(7696005)(68736007)(16799955002)(99286004)(4326008)(6506007)(53546011)(6246003)(102836004)(86612001)(229853002)(575784001)(86362001)(6306002)(11346002)(74316002)(305945005)(6916009)(8676002)(81156014)(7736002)(81166006)(10290500003)(5660300001)(106356001)(105586002)(8990500004)(256004)(2906002)(966005)(486006)(72206003)(97736004)(2900100001)(478600001)(6116002)(316002)(54906003)(14444005)(10090500001)(93886005)(22452003)(476003)(446003)(14454004); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR2101MB1030; H:DM5PR2101MB1128.namprd21.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Christopher.Co@microsoft.com; x-microsoft-antispam-message-info: HxsC7MIsM+7GPij7bo/zPpHOt5gYIpgst33X5h5vvydqukyVNLf+l5p+SUoRjoaUNG1XJ5U0Ep+3tI547vkdyoiLBwNR8JYo/vmjHKMbig3f7f8q5++255gTqP5KXWDM+3bAeJAoG7l0zYiLPYsAyTLAGq1trE1P++RxlDtOK8se3D28BQAt2JOvbZXyJpHoiMaoXa1KavzBGEYKWthO8ZJggXa2cXz8KWVrONs0DrZBHdET3i36+xxCo4XsZx7BF/n/FB/uGw+rmf0HtbI+4EjzYR/dCQtHoWMpgqQwWY9uWiTSTCDsImhYis67yw6Kml8V+xU/O6CQIkCSuUyJHSPZawLltfBk7MQT8Rf93Kg= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2779a7aa-d486-40de-f729-08d6438a9f5d X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Nov 2018 01:53:16.9891 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR2101MB1030 Subject: Re: [PATCH edk2-platforms 01/27] Platform/Microsoft: Add OpteeClientPkg dec 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: Tue, 06 Nov 2018 01:53:20 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgU3VtaXQsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogU3VtaXQg R2FyZyA8c3VtaXQuZ2FyZ0BsaW5hcm8ub3JnPg0KPiANCj4gSGkgQ2hyaXMsDQo+IA0KPiBPbiBT YXQsIDMgTm92IDIwMTggYXQgMDU6MjUsIENocmlzIENvIDxDaHJpc3RvcGhlci5Db0BtaWNyb3Nv ZnQuY29tPiB3cm90ZToNCj4gPg0KPiA+IEhpIFN1bWl0LA0KPiA+DQo+ID4gPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogU3VtaXQgR2FyZyA8c3VtaXQuZ2FyZ0BsaW5h cm8ub3JnPg0KPiA+ID4NCj4gPiA+ICsgT1AtVEVFIE1MLg0KPiA+ID4NCj4gPiA+IE9uIEZyaSwg MiBOb3YgMjAxOCBhdCAwNjoxMSwgQ2hyaXMgQ28gPENocmlzdG9waGVyLkNvQG1pY3Jvc29mdC5j b20+DQo+IHdyb3RlOg0KPiA+ID4gPg0KPiA+ID4gPiBIaSBTdW1pdCwNCj4gPiA+ID4NCj4gPiA+ ID4gT3VyIGZ1bGwgT3B0ZWVDbGllbnRQa2cgaGFzOg0KPiA+ID4gPiAtIE91ciBPcHRlZUNsaWVu dEFQSSBpbXBsZW1lbnRhdGlvbi4gSSB3YXMgbW9uaXRvcmluZyB0aGUgbWVyZ2UNCj4gPiA+ID4g cHJvZ3Jlc3MNCj4gPiA+IG9uIE9wdGVlTGliIGFuZCB3aWxsIGxvb2sgaW50byBtb3Zpbmcgb3Zl ciBub3cgdGhhdCBpdCBpcyBhdmFpbGFibGUuDQo+ID4gPiA+IC0gVGhlIGZUUE0gYW5kIEF1dGhW YXIgVEEgYmluYXJpZXMuIEluIG91ciBjdXJyZW50IGRlc2lnbiwgdGhlIFRBDQo+ID4gPiA+IGJp bmFyaWVzDQo+ID4gPiBhcmUgbG9hZGVkIGF0IHJ1bnRpbWUuIFdlIGNvdWxkIGhvc3QgdGhlIGJp bmFyaWVzIHRoZW1zZWx2ZXMNCj4gPiA+IGVsc2V3aGVyZSBvbiB0aGUgZmlsZXN5c3RlbSwgYnV0 IHdlIGRvIG5vdCB3YW50IHRoZXNlIGJpbmFyaWVzIGFzDQo+ID4gPiBlYXJseS9wc2V1ZG8gVEFz LiBJcyB0aGVyZSBhIHBsYW4gZm9yIE9wdGVlTGliIHRvIHN1cHBvcnQgbG9hZGluZyBmdWxsIFRB cz8NCj4gPiA+DQo+ID4gPiBFYXJseSBUQXMgWzFdIGFyZSBiYXNpY2FsbHkgZnVsbCBUQXMgb25s eSwgcnVubmluZyBpbiBTZWN1cmUgRUwwIG1vZGUuDQo+ID4gPiBTbyBpbnN0ZWFkIG9mIGxvYWRp bmcgVEEgZnJvbSBub3JtYWwgd29ybGQgZmlsZS1zeXN0ZW0sIHRoZXkgYXJlDQo+ID4gPiBsaW5r ZWQgaW50byBhIHNwZWNpYWwgZGF0YSBzZWN0aW9uIGluIHRoZSBPUC1URUUgY29yZSBibG9iLg0K PiA+ID4NCj4gPiA+IEFsc28gSSBkb24ndCB0aGluayBsb2FkaW5nIFRBcyBkeW5hbWljYWxseSBl c3BlY2lhbGx5IGR1cmluZyBib290DQo+ID4gPiBtYWtlcyBtdWNoIHNlbnNlIGR1ZSB0byBmb2xs b3dpbmcgcmVhc29uczoNCj4gPiA+IDEuIEluY3JlYXNlZCBib290IHRpbWUuDQo+ID4gPiAyLiBG aXhlZCBUQXMgbGlrZSBpbiB5b3VyIGNhc2Ugd2hpY2ggY291bGQgYmUgbGlua2VkIGFzIGVhcmx5 IFRBcyBhcyB3ZWxsLg0KPiA+ID4NCj4gPg0KPiA+IFdlIHByZWZlciB0byBsb2FkIFRBcyBkeW5h bWljYWxseSBmb3IgYSBtb3JlIGZsZXhpYmxlIHNlcnZpY2luZyBzdG9yeS4gTXkNCj4gdW5kZXJz dGFuZGluZyBpcyB0aGF0IEVhcmx5IFRBcyBhcmUgY291cGxlZCB3aXRoIHRoZSBPUC1URUUgYmlu YXJ5IGl0c2VsZiwgc28NCj4gdG8gdXBkYXRlIGFuIEVhcmx5IFRBLCBhIG5ldyBPUC1URUUgYmlu YXJ5IHdvdWxkIG5lZWQgdG8gYmUgY3JlYXRlZCBhbmQNCj4gcHVzaGVkLiBXZSB3YW50IHRvIGF2 b2lkIHJvbGxpbmcgYSBuZXcgT1AtVEVFIGFuZCBvbmx5IHVwZGF0ZSB0aGUgVEENCj4gYmluYXJ5 IGluIHRoaXMgc2NlbmFyaW8uDQo+ID4NCj4gDQo+IEFyZSB5b3UgcmVmZXJyaW5nIHRvIHJ1bi10 aW1lIHVwZGF0ZXMgb24gdGhlIGRldmljZSBpbiB0aGUgZmllbGQ/IElmIHRoaXMgaXMgdGhlDQo+ IGNhc2UgdGhlbiBob3cgZG8geW91IHRoaW5rIHRvIHVwZGF0ZSBUQXMsIGlzIGl0IHZpYSBzb21l IGN1c3RvbSBjYXBzdWxlDQo+IHVwZGF0ZSBtZXRob2Q/DQo+IA0KDQpZZXMsIHJ1bi10aW1lIFRB IHVwZGF0ZXMuIEN1cnJlbnRseSwgb3VyIGZUUE0gYW5kIEF1dGh2YXIgVEFzIGdldCBwYWNrYWdl ZCBpbnNpZGUgb3VyIFVFRkkgYmluYXJ5LiBTbyBhbiB1cGRhdGUgdG8gYSBUQSBtZWFucyBhIFVF RkkgdXBkYXRlIHZpYSBmaXJtd2FyZSBjYXBzdWxlLg0KVGhlIGRpc2N1c3Npb24gb2YgdGhlc2Ug VEEgYmluYXJpZXMgbGl2aW5nIG9uIHRoZSBmaWxlc3lzdGVtIHdlcmUgaWRlYXMgd2Ugd2VyZSBk aXNjdXNzaW5nIGludGVybmFsbHkgYnV0IGFyZSBub3QgZnVsbHkgYmFrZWQgb3IgY29tbWl0dGVk IHRvLg0KDQo+IEkgZG8gY29uc2lkZXIgdGhlc2UgVEFzIHVzZWQgZHVyaW5nIGJvb3QgYXMgZXNz ZW50aWFsIHNlY3VyZSBzZXJ2aWNlcyBwcm92aWRlZA0KPiBieSB0aGUgc2VjdXJlIGZpcm13YXJl IChPUC1URUUgaW4gdGhpcyBjYXNlKS4gU28gdGhlc2UgVEFzIHNob3VsZCBiZSBwYXJ0IG9mDQo+ IGZpcm13YXJlIGl0c2VsZiBhbmQgdXBkYXRlcyBmb3IgdGhlbSBzaG91bGQgY29tZSB0aHJvdWdo IGZpcm13YXJlIGNhcHN1bGUNCj4gdXBkYXRlcyBvbmx5Lg0KPiANCg0KSSBhZ3JlZSBpbiBwcmlu Y2lwbGUgYW5kIEkgdGhpbmsgSSBzZWUgd2hlcmUgdGhlIG1pc2FsaWdubWVudCBpcywgbW9zdGx5 IGNvbWluZyBmcm9tIG15IGVuZC4NClRoZSBzZWN1cml0eSBndWFyYW50ZWVzICh0ZXJtZWQgVENQ Uykgd2Ugd2FudCB0byBwcm92aWRlIG9uIHRoZSBjdXJyZW50IGhhcmR3YXJlIHdlIHN1cHBvcnQg KE5YUCBpLk1YNiksIG1lYW4gT1AtVEVFIGJlY29tZXMgcHJvaGliaXRpdmVseSBkaWZmaWN1bHQg dG8gdXBkYXRlLiBUaGlzIGlzIGR1ZSB0byBhIGhhcmR3YXJlIHJlc291cmNlIGxpbWl0YXRpb24g KG5vdCBlbm91Z2ggZnVzZSBzcGFjZSkuIElmIHRoaXMgbGltaXRhdGlvbiB3ZXJlIG5vdCBwcmVz ZW50LCB3ZSBjb3VsZCBmcmVlbHkgdXBkYXRlIE9QLVRFRSBhbmQgcGFja2FnZSB0aGVzZSBUQXMg YXMgRWFybHlUQXMuDQoNCkluZm8gb24gVENQUyAod2hpdGVwYXBlciBhdCBib3R0b20gb2YgcG9z dCkgLSBodHRwczovL3d3dy5taWNyb3NvZnQuY29tL2VuLXVzL21pY3Jvc29mdC0zNjUvYmxvZy8y MDE4LzA0LzI0L3RydXN0ZWQtY3liZXItcGh5c2ljYWwtc3lzdGVtcy1sb29rcy10by1wcm90ZWN0 LXlvdXItY3JpdGljYWwtaW5mcmFzdHJ1Y3R1cmUtZnJvbS1tb2Rlcm4tdGhyZWF0cy1pbi10aGUt d29ybGQtb2YtaW90Lw0KDQpJJ20gbm90IHN1cmUgaG93IHlvdSB3YW50IHRvIGhhbmRsZSB0aGlz IGZyb20gYW4gT3B0ZWVMaWIgdnMgY3VzdG9tIHBsYXRmb3JtIHBhY2thZ2UgcGVyc3BlY3RpdmUu DQoNCj4gPiA+IEFuZCB5b3UgbWVudGlvbmVkIGZpbGVzeXN0ZW0sIGFyZSB5b3UgcmVmZXJyaW5n IHRvIHJvb3QgZmlsZXN5c3RlbT8NCj4gPiA+DQo+ID4NCj4gPiBXZSBoYXZlIG5vdCBpbXBsZW1l bnRlZCB0aGlzIHlldCwgYnV0IHdlIHdlcmUgdGhpbmtpbmcgdG8gaGF2ZSB0aGUgVEENCj4gYmlu YXJpZXMgcHJlc2VudCBpbiB0aGUgRUZJIHBhcnRpdGlvbi4NCj4gPg0KPiANCj4gQUZBSUssIEVG SSBwYXJ0aXRpb24gaXMgc2hhcmVkIGFtb25nIExpbnV4IGFuZCBVRUZJLiBUaGlzIHByb3ZpZGVz IExpbnV4DQo+IGFjY2VzcyB0byBzZWN1cmUgZmlybXdhcmUgVEFzIHRoYXQgY291bGQgYmUgYSBz ZWN1cml0eSBjb25jZXJuIChkZW5pYWwgb2YNCj4gc2VydmljZSBjb3VsZCBiZSBvbmUgb2YgdGhl bSkuDQo+IA0KDQpOb3RlIC0gd2UgYXJlIGJvb3RpbmcgV2luZG93cywgdGhvdWdoIHlvdXIgcG9p bnQgaGVyZSBpcyBzdGlsbCB2YWxpZC4gVGhlIFRBcyBsaXZpbmcgaW4gdGhlIGZpbGVzeXN0ZW0g aXMgbm90IHdoYXQgaXMgaW1wbGVtZW50ZWQgdG9kYXkuIEl0IHdhcyBhbiBpZGVhIHdlIHdlcmUg ZGlzY3Vzc2luZyBpbnRlcm5hbGx5Lg0KDQo+ID4gPiA+IC0gV2UgaGF2ZSB0d28gY2xpZW50IGRy aXZlcnM6IGEgZmlybXdhcmUgVFBNIFRBIGRyaXZlciBhbmQgYW4NCj4gPiA+IGF1dGhlbnRpY2F0 ZWQgdmFyaWFibGUgVEEgZHJpdmVyLiBUaGVzZSB0YWxrIHRocm91Z2ggdGhlDQo+ID4gPiB0ZWUt c3VwcGxpY2FudCB0byB0aGVpciByZXNwZWN0aXZlIFRBcy4NCj4gPiA+ID4NCj4gPiA+DQo+ID4g PiBIZXJlIGZyb20gdGVlLXN1cHBsaWNhbnQgYXBhcnQgZnJvbSBsb2FkaW5nIFRBcywgd2hhdCBv dGhlciBzZXJ2aWNlcw0KPiA+ID4gYXJlIHlvdSBleHBlY3Rpbmc/IElmIHlvdSBhcmUgbG9va2lu ZyBmb3Igc2VjdXJlIHN0b3JhZ2UgdmlhIFJQTUIsDQo+ID4gPiB0aGF0IGNvdWxkIGJlIGFuIGVu aGFuY2VtZW50IHRvIE9wdGVlTGliIGFkZGluZyBjb3JyZXNwb25kaW5nIFJQQw0KPiBoYW5kbGlu ZyBoZXJlIFsyXS4NCj4gPiA+DQo+ID4NCj4gPiBGb3IgUlBDIGhhbmRsaW5nLCB3ZSBhcmUgbG9v a2luZyBmb3IgdGhlIGZvbGxvd2luZyBjYWxsYmFjayBzdXBwb3J0Og0KPiA+IC0gT1BURUVfU01D X1JQQ19GVU5DX0FMTE9DDQo+ID4gLSBPUFRFRV9TTUNfUlBDX0ZVTkNfRlJFRQ0KPiA+IC0gT1BU RUVfU01DX1JQQ19GVU5DX0NNRA0KPiA+ICAgICAgICAgLSBPUFRFRV9NU0dfUlBDX0NNRF9MT0FE X1RBDQo+IA0KPiBQbGVhc2Ugc2VlIGFib3ZlIGNvbW1lbnRzIGZvciB0aGlzLg0KPiANCj4gPiAg ICAgICAgIC0gT1BURUVfTVNHX1JQQ19DTURfUlBNQg0KPiA+ICAgICAgICAgLSBPUFRFRV9NU0df UlBDX0NNRF9HRVRfVElNRQ0KPiANCj4gQ2FuIHlvdSBzaGFyZSB0aGUgdXNhZ2Ugb2YgT1BURUVf TVNHX1JQQ19DTURfR0VUX1RJTUU/IEFGQUlLLCB0aGlzIGlzDQo+IHVzZWQgdG8gZ2V0IFJFRSB0 aW1lIGZyb20gT1AtVEVFLg0KPiANCg0KSSBkdWcgZnVydGhlciBhbmQgZm91bmQgdGhhdCB0aGlz IHdhcyBiZWluZyB1c2VkIGluIG91ciBmVFBNIFRBIGZvciBkZWJ1ZyBsb2dzLiBJdCBoYXMgc2lu Y2UgYmVlbiBkZXByZWNhdGVkIHNvIHdlIGRvIG5vdCBuZWVkIHRoaXMgUlBDIGNvbW1hbmQuDQoN Cj4gPiAgICAgICAgIC0gT1BURUVfTVNHX1JQQ19DTURfU0hNX0FMTE9DDQo+ID4gICAgICAgICAt IE9QVEVFX01TR19SUENfQ01EX1NITV9GUkVFDQo+ID4gICAgICAgICAtIE9QVEVFX01TR19SUENf Q01EX1dBSVRfUVVFVUUNCj4gDQo+IEkgZG9uJ3QgdGhpbmsgd2UgbmVlZCBPUFRFRV9NU0dfUlBD X0NNRF9XQUlUX1FVRVVFIGltcGxlbWVudGF0aW9uDQo+IGluIFVFRkkgYXMgaXRzIGEgc2luZ2xl IHRocmVhZGVkIGV4ZWN1dGlvbiBmbG93IG9uIGJvb3QgY29yZS4NCj4gDQoNCkFncmVlZC4gT3Vy IGltcGxlbWVudGF0aW9uIGlzIGVmZmVjdGl2ZWx5IGEgbm8tb3AuIFdlIGRvbid0IG5lZWQgdGhp cyBlaXRoZXIuDQoNCj4gQlRXLCBJIGFtIG5vdCBzdXJlIGlmIEkgY291bGQgZ2V0IHRpbWUgdG8g d29yayBvbiBSUEMgaGFuZGxpbmcgYW55dGltZSBzb29uLg0KPiBTbyBwYXRjaGVzIGFyZSB3ZWxj b21lIGFuZCBJIGFtIGhhcHB5IHRvIHJldmlldyB0aGVtLg0KPiANCg0KSSdsbCBzZWUgaWYgSSBj YW4gZmluZCB0aW1lIHRvIHBvcnQgb3ZlciBvdXIgUlBDIGhhbmRsZXJzLiBXaWxsIGFkZCB5b3Ug dG8gYW55IHBhdGNoZXMgZm9yIHJldmlldy4NCg0KVGhhbmtzLA0KQ2hyaXMNCg0KPiBSZWdhcmRz LA0KPiBTdW1pdA0KPiANCj4gPg0KPiA+IFRoYW5rcywNCj4gPiBDaHJpcw0KPiA+DQo+ID4gPiBb MV0NCj4gPiA+IGh0dHBzOi8vbmEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/ dXJsPWh0dHBzJTNBJTJGJTJGZ2l0DQo+ID4gPiBodWIuYw0KPiA+ID4gb20lMkZPUC0NCj4gPiA+ DQo+IFRFRSUyRm9wdGVlX29zJTJGYmxvYiUyRm1hc3RlciUyRmRvY3VtZW50YXRpb24lMkZvcHRl ZV9kZXNpZ24ubWQNCj4gPiA+ICUyM2Vhcmx5LXRydXN0ZWQtDQo+ID4gPg0KPiBhcHBsaWNhdGlv bnMmYW1wO2RhdGE9MDIlN0MwMSU3Q0NocmlzdG9waGVyLkNvJTQwbWljcm9zb2Z0LmNvbSU3QzRh DQo+ID4gPg0KPiA3ZDhjMDFlNDgwNDM2NWY0ZWIwOGQ2NDA4MzdhMTUlN0M3MmY5ODhiZjg2ZjE0 MWFmOTFhYjJkN2NkMDExZGI0NyUNCj4gPiA+DQo+IDdDMSU3QzAlN0M2MzY3NjczMzA3Nzk5OTg0 MjkmYW1wO3NkYXRhPXlhRFd3NVo2eXV1eDFvODlreHpia25WcA0KPiA+ID4gYiUyQjFPSFVhZ2JC JTJGT0dTNGRBY1UlM0QmYW1wO3Jlc2VydmVkPTANCj4gPiA+IFsyXQ0KPiA+ID4gaHR0cHM6Ly9u YTAxLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMlM0ElMkYlMkZn aXQNCj4gPiA+IGh1Yi5jDQo+ID4gPg0KPiBvbSUyRnRpYW5vY29yZSUyRmVkazIlMkZibG9iJTJG bWFzdGVyJTJGQXJtUGtnJTJGTGlicmFyeSUyRk9wdGVlTA0KPiA+ID4NCj4gaWIlMkZPcHRlZS5j JTIzTDE0NyZhbXA7ZGF0YT0wMiU3QzAxJTdDQ2hyaXN0b3BoZXIuQ28lNDBtaWNyb3NvZnQuYw0K PiA+ID4NCj4gb20lN0M0YTdkOGMwMWU0ODA0MzY1ZjRlYjA4ZDY0MDgzN2ExNSU3QzcyZjk4OGJm ODZmMTQxYWY5MWFiMmQ3Y2QNCj4gPiA+DQo+IDAxMWRiNDclN0MxJTdDMCU3QzYzNjc2NzMzMDc3 OTk5ODQyOSZhbXA7c2RhdGE9THNwbGIxTDdVZ2QyQzZjWEcNCj4gPiA+IDhnQm80MEVpOFVRUHRJ QTdmTkVETDF0JTJGYmclM0QmYW1wO3Jlc2VydmVkPTANCj4gPiA+DQo+ID4gPiBSZWdhcmRzLA0K PiA+ID4gU3VtaXQNCj4gPiA+DQo+ID4gPiA+IENocmlzDQo+ID4gPiA+DQo+ID4gPiA+ID4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBTdW1pdCBHYXJnIDxzdW1p dC5nYXJnQGxpbmFyby5vcmc+DQo+ID4gPiA+ID4gU2VudDogVGh1cnNkYXksIE5vdmVtYmVyIDEs IDIwMTggMzo1NSBBTQ0KPiA+ID4gPiA+IFRvOiBDaHJpcyBDbyA8Q2hyaXN0b3BoZXIuQ29AbWlj cm9zb2Z0LmNvbT47IExlaWYgTGluZGhvbG0NCj4gPiA+ID4gPiA8bGVpZi5saW5kaG9sbUBsaW5h cm8ub3JnPg0KPiA+ID4gPiA+IENjOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsgQXJkIEJpZXNo ZXV2ZWwNCj4gPiA+ID4gPiA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz47IE1pY2hhZWwgRCBL aW5uZXkNCj4gPiA+ID4gPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiA+ID4g U3ViamVjdDogUmU6IFtQQVRDSCBlZGsyLXBsYXRmb3JtcyAwMS8yN10gUGxhdGZvcm0vTWljcm9z b2Z0Og0KPiA+ID4gPiA+IEFkZCBPcHRlZUNsaWVudFBrZyBkZWMNCj4gPiA+ID4gPg0KPiA+ID4g PiA+IEhpIENocmlzdG9waGVyLA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gT3B0ZWUgQ2xpZW50IGxp YnJhcnkgaGFzIHJlY2VudGx5IGJlZW4gbWVyZ2VkIHRvIGVkazIgc291cmNlIGNvZGUuDQo+ID4g PiA+ID4gSXQgdHJpZXMgdG8gcHJvdmlkZSBhIGdlbmVyaWMgaW50ZXJmYWNlIFsxXSB0byBPUC1U RUUgYmFzZWQNCj4gPiA+ID4gPiB0cnVzdGVkIGFwcGxpY2F0aW9ucyAocHNldWRvL2Vhcmx5KS4N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IEFGQUlLLCB5b3UgZG9uJ3QgbmVlZCBhbnkgcGxhdGZvcm0g c3BlY2lmaWMgaG9vayBpbiBjbGllbnQNCj4gPiA+ID4gPiBpbnRlcmZhY2UgdG8gd29yayB3aXRo IHVwc3RyZWFtIE9QLVRFRS4gU28gaW5zdGVhZCB5b3Ugc2hvdWxkIHVzZQ0KPiBPcHRlZSBsaWJy YXJ5Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gWzFdDQo+ID4gPiA+ID4gaHR0cHM6Ly9uYTAxLnNh ZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMlM0ElMkYlMg0KPiA+ID4g PiA+IEZnaXQNCj4gPiA+ID4gPiBodWIuYw0KPiA+ID4gPiA+DQo+ID4gPg0KPiBvbSUyRnRpYW5v Y29yZSUyRmVkazIlMkZibG9iJTJGbWFzdGVyJTJGQXJtUGtnJTJGSW5jbHVkZSUyRkxpYnJhcnkN Cj4gPiA+ID4gPg0KPiA+ID4NCj4gJTJGT3B0ZWVMaWIuaCZhbXA7ZGF0YT0wMiU3QzAxJTdDQ2hy aXN0b3BoZXIuQ28lNDBtaWNyb3NvZnQuY29tJTdDDQo+ID4gPiA+ID4NCj4gPiA+DQo+IGMxOWI4 NGVmN2Y4ZjQyMTM0MjQxMDhkNjNmZTg4ZjY2JTdDNzJmOTg4YmY4NmYxNDFhZjkxYWIyZDdjZDAx MWRiNDcNCj4gPiA+ID4gPg0KPiA+ID4NCj4gJTdDMSU3QzAlN0M2MzY3NjY2NjU0MDQ3ODY1MDAm YW1wO3NkYXRhPW0yNGFrYkt0b3lDRVJWTjc3bWVvU1UNCj4gPiA+ID4gPiBINkUlMkJwZjhXMlA1 TUY3bnZVNXk3SSUzRCZhbXA7cmVzZXJ2ZWQ9MA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gUmVnYXJk cywNCj4gPiA+ID4gPiBTdW1pdA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gT24gVGh1LCAxIE5vdiAy MDE4IGF0IDAyOjEzLCBMZWlmIExpbmRob2xtDQo+ID4gPiA+ID4gPGxlaWYubGluZGhvbG1AbGlu YXJvLm9yZz4NCj4gPiA+IHdyb3RlOg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICtTdW1pdCAo anVzdCB0byBsb29wIHlvdSB0d28gdG9nZXRoZXIpLiBJcyB0aGVyZSBhbnl0aGluZw0KPiA+ID4g PiA+ID4gK01pY3Jvc29mdA0KPiA+ID4gPiA+ID4gcGxhdGZvcm0gc3BlY2lmaWMgYWJvdXQgd2hh dCB3aWxsIGdvIGluIGhlcmU/DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gLw0KPiA+ID4gPiA+ ID4gICAgIExlaWYNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBPbiBGcmksIFNlcCAyMSwgMjAx OCBhdCAwODoyNTo1M0FNICswMDAwLCBDaHJpcyBDbyB3cm90ZToNCj4gPiA+ID4gPiA+ID4gT24g V2luZG93cyBJb1QgQ29yZSBkZXZpY2VzIHdpdGggQVJNIFRydXN0Wm9uZSBjYXBhYmlsaXRpZXMs DQo+ID4gPiA+ID4gPiA+IEVESzIgcnVucyBpbiBub3JtYWwgd29ybGQgYW5kIHdlIHVzZSBPUC1U RUUgdG8gZXhlY3V0ZQ0KPiA+ID4gPiA+ID4gPiBzZWN1cmUgd29ybGQgb3BlcmF0aW9ucy4gVGhl IG92ZXJhbGwgcGFja2FnZSB3aWxsIGNvbnRhaW4NCj4gPiA+ID4gPiA+ID4gY2xpZW50LXNpZGUg c3VwcG9ydCB0byBpbnZva2UgRURLMiBzZXJ2aWNlcyBpbXBsZW1lbnRlZCBhcw0KPiA+ID4gPiA+ ID4gPiBPUC1URUUgdHJ1c3RlZCBhcHBsaWNhdGlvbnMgdGhhdCBydW4gaW4gc2VjdXJlIHdvcmxk Lg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBUaGlzIGNvbW1pdCBhZGRzIHRoZSBpbml0 aWFsIGRlYyBmaWxlIHRvIGFkZCBzb21lIFBDRA0KPiA+ID4gPiA+ID4gPiBzZXR0aW5ncyBuZWVk ZWQgYnkgb3RoZXIgcGFja2FnZXMuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IENvbnRy aWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjENCj4gPiA+ ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoZXIgQ28gPGNocmlzdG9waGVyLmNvQG1p Y3Jvc29mdC5jb20+DQo+ID4gPiA+ID4gPiA+IENjOiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNo ZXV2ZWxAbGluYXJvLm9yZz4NCj4gPiA+ID4gPiA+ID4gQ2M6IExlaWYgTGluZGhvbG0gPGxlaWYu bGluZGhvbG1AbGluYXJvLm9yZz4NCj4gPiA+ID4gPiA+ID4gQ2M6IE1pY2hhZWwgRCBLaW5uZXkg PG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4g PiA+ID4gIFBsYXRmb3JtL01pY3Jvc29mdC9PcHRlZUNsaWVudFBrZy9PcHRlZUNsaWVudFBrZy5k ZWMgfCA0OQ0KPiA+ID4gPiA+ID4gPiArKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiA+ID4g PiAgMSBmaWxlIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKykNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4gPiA+ID4gPiBhL1BsYXRmb3JtL01pY3Jvc29mdC9P cHRlZUNsaWVudFBrZy9PcHRlZUNsaWVudFBrZy5kZWMNCj4gPiA+ID4gPiA+ID4gYi9QbGF0Zm9y bS9NaWNyb3NvZnQvT3B0ZWVDbGllbnRQa2cvT3B0ZWVDbGllbnRQa2cuZGVjDQo+ID4gPiA+ID4g PiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+IGluZGV4IDAwMDAwMDAwMDAw MC4uNDc1MmVhYjM5Y2UzDQo+ID4gPiA+ID4gPiA+IC0tLSAvZGV2L251bGwNCj4gPiA+ID4gPiA+ ID4gKysrIGIvUGxhdGZvcm0vTWljcm9zb2Z0L09wdGVlQ2xpZW50UGtnL09wdGVlQ2xpZW50UGtn LmRlYw0KPiA+ID4gPiA+ID4gPiBAQCAtMCwwICsxLDQ5IEBADQo+ID4gPiA+ID4gPiA+ICsjIyBA ZmlsZQ0KPiA+ID4gPiA+ID4gPiArIw0KPiA+ID4gPiA+ID4gPiArIyAgT1AtVEVFIGNsaWVudCBw YWNrYWdlDQo+ID4gPiA+ID4gPiA+ICsjDQo+ID4gPiA+ID4gPiA+ICsjICBPUC1URUUgY2xpZW50 IHBhY2thZ2UgY29udGFpbnMgdGhlIGNsaWVudC1zaWRlIGludGVyZmFjZQ0KPiA+ID4gPiA+ID4g PiArdG8gaW52b2tlIE9QLQ0KPiA+ID4gPiA+IFRFRSBUQXMuDQo+ID4gPiA+ID4gPiA+ICsjICBD ZXJ0YWluIEVES0lJIHNlcnZpY2VzIGFyZSBpbXBsZW1lbnRlZCBpbiBUcnVzdGVkDQo+ID4gPiA+ ID4gPiA+ICtBcHBsaWNhdGlvbnMgcnVubmluZyBpbiAjICB0aGUgc2VjdXJlIHdvcmxkIE9QLVRF RSBPUy4NCj4gPiA+ID4gPiA+ID4gKyMNCj4gPiA+ID4gPiA+ID4gKyMgIENvcHlyaWdodCAoYykg MjAxOCBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4gPiA+ ID4gPiA+ICsjDQo+ID4gPiA+ID4gPiA+ICsjICBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBh bnlpbmcgbWF0ZXJpYWxzICMgIGFyZQ0KPiA+ID4gPiA+ID4gPiArbGljZW5zZWQgYW5kIG1hZGUg YXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucw0KPiA+ID4gPiA+ID4gPiAr b2YgdGhlIEJTRCBMaWNlbnNlICMgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24u DQo+ID4gPiA+ID4gPiA+ICtUaGUgZnVsbCB0ZXh0IG9mIHRoZSBsaWNlbnNlIG1heSBiZSBmb3Vu ZCBhdCAjDQo+ID4gPiA+ID4gPiA+ICtodHRwczovL25hMDEuc2FmZWxpbmtzLnByb3RlY3Rpb24u b3V0bG9vay5jb20vP3VybD1odHRwJTNBJQ0KPiA+ID4gPiA+ID4gPiArMkYlMg0KPiA+ID4gPiA+ ID4gPiArRm9wZQ0KPiA+ID4gPiA+ID4gPiArbnNvdXJjZS5vcmclMkZsaWNlbnNlcyUyRmJzZC0N Cj4gPiA+ID4gPiBsaWNlbnNlLnBocCZhbXA7ZGF0YT0wMiU3QzAxJTdDQ2hyaXN0bw0KPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0KPiArcGhlci5DbyU0MG1pY3Jvc29mdC5jb20lN0Nj MTliODRlZjdmOGY0MjEzNDI0MTA4ZDYzZmU4OGY2NiU3QzcyZjk4OA0KPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+DQo+ID4gPg0KPiArYmY4NmYxNDFhZjkxYWIyZDdjZDAxMWRiNDclN0MxJTdDMCU3 QzYzNjc2NjY2NTQwNDc4NjUwMCZhbXA7c2RhDQo+ID4gPiA+ID4gdGE9MQ0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gK014RnZsc01QaGsxOWdyRWV4QlhvNVZxUmQwalphQ1NSanhaQ2k4N0EydyUzRCZh bXA7cmVzZXJ2ZWQ9MA0KPiA+ID4gPiA+ID4gPiArIw0KPiA+ID4gPiA+ID4gPiArIyAgVEhFIFBS T0dSQU0gSVMgRElTVFJJQlVURUQgVU5ERVIgVEhFIEJTRCBMSUNFTlNFIE9OIEFODQo+ID4gPiA+ ID4gPiA+ICsiQVMNCj4gPiA+IElTIg0KPiA+ID4gPiA+ID4gPiArQkFTSVMsICMgIFdJVEhPVVQg V0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlMgT0YgQU5ZDQo+ID4gPiA+ID4gPiA+ICtLSU5E LA0KPiA+ID4gPiA+IEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQuDQo+ID4gPiA+ID4gPiA+ICsj DQo+ID4gPiA+ID4gPiA+ICsjIw0KPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ICtbRGVm aW5lc10NCj4gPiA+ID4gPiA+ID4gKyAgREVDX1NQRUNJRklDQVRJT04gICAgICAgICAgICAgID0g MHgwMDAxMDAxQQ0KPiA+ID4gPiA+ID4gPiArICBQQUNLQUdFX05BTUUgICAgICAgICAgICAgICAg ICAgPSBPcHRlZUNsaWVudFBrZw0KPiA+ID4gPiA+ID4gPiArICBQQUNLQUdFX0dVSUQgICAgICAg ICAgICAgICAgICAgPSA3NzQxNmZjYi0xMGVjLTQ2OTMtYmRjMC0NCj4gPiA+IDFiZGQ3NGVjOTU5 NQ0KPiA+ID4gPiA+ID4gPiArICBQQUNLQUdFX1ZFUlNJT04gICAgICAgICAgICAgICAgPSAwLjAx DQo+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4gK1tJbmNsdWRlc10NCj4gPiA+ID4gPiA+ ID4gKw0KPiA+ID4gPiA+ID4gPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiA+ID4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gPiA+ICtbR3VpZHNdDQo+ID4gPiA+ID4gPiA+ICsgIGdPcHRlZUNsaWVudFBrZ1Rv a2VuU3BhY2VHdWlkICAgPSB7IDB4MDRhZDM0Y2EsIDB4ZGQyNSwNCj4gMHg0MTU2LCB7DQo+ID4g PiA+ID4gMHg5MCwgMHhmNSwgMHgxNiwgMHhmOSwgMHg0MCwgMHhkMCwgMHg0OSwgMHhlMyB9fQ0K PiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ICtbUGNkc0ZpeGVkQXRCdWlsZF0NCj4gPiA+ ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0KPiArZ09wdGVlQ2xp ZW50UGtnVG9rZW5TcGFjZUd1aWQuUGNkVHBtMkFjcGlCdWZmZXJCYXNlfDB8VUlOVDY0fDB4MDAw MA0KPiA+ID4gPiA+ID4gPiArMDAwNQ0KPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4NCj4gPiA+DQo+ICtnT3B0ZWVDbGllbnRQa2dUb2tlblNwYWNlR3VpZC5QY2RUcG0y QWNwaUJ1ZmZlclNpemV8MHxVSU5UMzJ8MHgwMDAwDQo+ID4gPiA+ID4gPiA+ICswMDA2DQo+ID4g PiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4gKyAgIyMgVGhlIGJhc2UgYWRkcmVzcyBvZiB0aGUg VHJ1c3QgWm9uZSBPcFRFRSBPUyBwcml2YXRlDQo+ID4gPiA+ID4gPiA+ICsgbWVtb3J5IHJlZ2lv biAgIyBUaGlzIG1lbW9yeSBpcyBtYW5hZ2VyIHByaXZhdGVseSBieSB0aGUgT3BURUUNCj4gT1Mu DQo+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+DQo+ID4gPg0KPiBn T3B0ZWVDbGllbnRQa2dUb2tlblNwYWNlR3VpZC5QY2RUcnVzdFpvbmVQcml2YXRlTWVtb3J5QmFz ZXwweERFQUQNCj4gPiA+ID4gPiA+ID4gKyAxfFVJTlQ2NHwweDAwMDAwMDAxDQo+ID4gPiA+ID4g PiA+ICsNCj4gPiA+ID4gPiA+ID4gKyAgIyMgVGhlIHNpemUgb2YgdGhlIFRydXN0IFpvbmUgT3BU RUUgT1MgcHJpdmF0ZSBtZW1vcnkNCj4gPiA+ID4gPiA+ID4gKyByZWdpb24NCj4gPiA+ID4gPiA+ ID4gKw0KPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4NCj4gZ09wdGVlQ2xpZW50UGtnVG9rZW5T cGFjZUd1aWQuUGNkVHJ1c3Rab25lUHJpdmF0ZU1lbW9yeVNpemV8NTV8VQ0KPiA+ID4gPiA+IElO DQo+ID4gPiA+ID4gPiA+ICsgVDY0fDB4MDAwMDAwMDINCj4gPiA+ID4gPiA+ID4gKw0KPiA+ID4g PiA+ID4gPiArICAjIyBUaGUgYmFzZSBhZGRyZXNzIG9mIHRoZSBUcnVzdCBab25lIE9wVEVFIE9T IHNoYXJlZA0KPiA+ID4gPiA+ID4gPiArIG1lbW9yeSByZWdpb24NCj4gPiA+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4NCj4gPiA+DQo+IGdPcHRlZUNsaWVudFBrZ1Rva2Vu U3BhY2VHdWlkLlBjZFRydXN0Wm9uZVNoYXJlZE1lbW9yeUJhc2V8MHhERUFEMg0KPiA+ID4gPiA+ ID4gPiArIHxVSU5UNjR8MHgwMDAwMDAwMw0KPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ ICsgICMjIFRoZSBzaXplIG9mIHRoZSBUcnVzdCBab25lIE9wVEVFIE9TIHNoYXJlZCBtZW1vcnkN Cj4gPiA+ID4gPiA+ID4gKyByZWdpb24NCj4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiAr DQo+ID4gPiA+ID4NCj4gPiA+DQo+IGdPcHRlZUNsaWVudFBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRy dXN0Wm9uZVNoYXJlZE1lbW9yeVNpemV8MHhBQXxVSQ0KPiA+ID4gPiA+ID4gPiArIE5UNjR8MHgw MDAwMDAwNA0KPiA+ID4gPiA+ID4gPiAtLQ0KPiA+ID4gPiA+ID4gPiAyLjE2LjIuZ3Zmcy4xLjMz LmdmNTM3MGYxDQo+ID4gPiA+ID4gPiA+DQo=