From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: ray.ni@intel.com) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by groups.io with SMTP; Sat, 17 Aug 2019 22:21:25 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Aug 2019 22:21:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,399,1559545200"; d="scan'208";a="177576350" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga008.fm.intel.com with ESMTP; 17 Aug 2019 22:21:25 -0700 Received: from fmsmsx155.amr.corp.intel.com (10.18.116.71) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sat, 17 Aug 2019 22:21:25 -0700 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by FMSMSX155.amr.corp.intel.com (10.18.116.71) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sat, 17 Aug 2019 22:21:24 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.112]) by shsmsx102.ccr.corp.intel.com ([169.254.2.19]) with mapi id 14.03.0439.000; Sun, 18 Aug 2019 13:21:22 +0800 From: "Ni, Ray" To: "Chen, Marc W" , "Gao, Liming" , "devel@edk2.groups.io" , "lersek@redhat.com" CC: "Kinney, Michael D" Subject: Re: [edk2-devel] [PATCH] MdePkg: Add MmAccess and MmControl definition. Thread-Topic: [edk2-devel] [PATCH] MdePkg: Add MmAccess and MmControl definition. Thread-Index: AQHVRcW8y5xmct2vzUm4pgTkW8tdYqbl/g2wgAABaiCAAAEfIP//jrCAgAADE4CAAQvmAIAGudOAgAAUJYCAAfdxAIAD40QAgACGQzCABRe0AIABFcsAgAaCwBCAAABPAA== Date: Sun, 18 Aug 2019 05:21:21 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C289291@SHSMSX104.ccr.corp.intel.com> References: <20190729042556.17692-1-marc.w.chen@intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E4C7400@SHSMSX104.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5C267BB4@SHSMSX104.ccr.corp.intel.com> <211b95ba-703d-4561-c2bc-891e02d0ec2b@redhat.com> <734D49CCEBEEF84792F5B80ED585239D5C27417F@SHSMSX104.ccr.corp.intel.com> <324c388e-b964-f2c9-3719-e47293649351@redhat.com> <15B9725390DC0000.29320@groups.io> <4A89E2EF3DFEDB4C8BFDE51014F606A14E4CFDDA@SHSMSX104.ccr.corp.intel.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZGU1YWM3MGEtMmJiMC00Nzg3LWJkZTQtMjY3YjZjMDdhYThjIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoic2pTY0lkYXVtRk9PWWFuWnd5T1NUZ3UzK1B4MitTaDZVMW52ZU5YTkNaYlkyWnZnV1wvTytoM3lSUWN3RWxZN0cifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: ray.ni@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TWFyYywNClRoYW5rcyBmb3IgeW91ciBjb250cmlidXRpb24hIEl0J3MgYSBiaWcgc3RlcCBhbHJl YWR5IHRvIGhhdmUgdGhlIGhlYWRlciBmaWxlcyBpbiBNZGVQa2cuDQoNClRoYW5rcywNClJheQ0K DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE5pLCBSYXkNCj4gU2VudDog U3VuZGF5LCBBdWd1c3QgMTgsIDIwMTkgMToyMCBQTQ0KPiBUbzogQ2hlbiwgTWFyYyBXIDxtYXJj LncuY2hlbkBpbnRlbC5jb20+OyBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBk ZXZlbEBlZGsyLmdyb3Vwcy5pbzsNCj4gbGVyc2VrQHJlZGhhdC5jb20NCj4gQ2M6IEtpbm5leSwg TWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gU3ViamVjdDogUkU6IFtl ZGsyLWRldmVsXSBbUEFUQ0hdIE1kZVBrZzogQWRkIE1tQWNjZXNzIGFuZCBNbUNvbnRyb2wgZGVm aW5pdGlvbi4NCj4gDQo+IEkgZG9uJ3QgaGF2ZSBzdHJvbmcgcHJlZmVyZW5jZSBvbiByZW1vdmlu ZyBTbW1BY2Nlc3MuaCBmcm9tIE1kZU1vZHVsZVBrZy4NCj4gSWYgcGVvcGxlIGV4Y2VwdCBtZSBh bGwgYWdyZWVkIHRvIGtlZXAgdGhhdCBoZWFkZXIgZmlsZSBmb3IgY29tcGF0aWJpbGl0eSwgSSBh bSBvay4NCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBDaGVu LCBNYXJjIFcNCj4gPiBTZW50OiBXZWRuZXNkYXksIEF1Z3VzdCAxNCwgMjAxOSA1OjU0IFBNDQo+ ID4gVG86IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3Jv dXBzLmlvOyBsZXJzZWtAcmVkaGF0LmNvbTsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4g PiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBNZGVQa2c6IEFkZCBNbUFjY2VzcyBh bmQgTW1Db250cm9sIGRlZmluaXRpb24uDQo+ID4NCj4gPiBUaGFua3MgTGltaW5nIGZvciBwdXNo aW5nIHRoZSBjb2RlLg0KPiA+DQo+ID4gQ2FuIHdlIGhhdmUgYSBjb25jbHVzaW9uIGZvciB0aGUg U21tQWNjZXNzLmggcmVtb3ZhbCBmcm9tIE1kZU1vZHVsZVBrZz8gV2hvIGNhbiBtYWtlIHRoZSBk ZWNpc2lvbj8gT3IgZG8gd2UgbmVlZA0KPiBhbnkNCj4gPiBmdXJ0aGVyIGRpc2N1c3Npb24/DQo+ ID4NCj4gPiBUaGFua3MsDQo+ID4gTWFyYw0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+ID4gRnJvbTogR2FvLCBMaW1pbmcNCj4gPiA+IFNlbnQ6IFR1ZXNkYXksIEF1 Z3VzdCAxMywgMjAxOSA1OjIwIFBNDQo+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEdh bywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT47IENoZW4sIE1hcmMNCj4gPiA+IFcgPG1h cmMudy5jaGVuQGludGVsLmNvbT47IGxlcnNla0ByZWRoYXQuY29tOyBOaSwgUmF5DQo+ID4gPiA8 cmF5Lm5pQGludGVsLmNvbT4NCj4gPiA+IENjOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRD SF0gTWRlUGtnOiBBZGQgTW1BY2Nlc3MgYW5kIE1tQ29udHJvbA0KPiA+ID4gZGVmaW5pdGlvbi4N Cj4gPiA+DQo+ID4gPiBQdXNoIEA2ZjMzZjdhMjYyMzE0YWYzNWUyYjk5Yzg0OWUwODkyOGVhNDlh YTU1DQo+ID4gPg0KPiA+ID4gPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+RnJv bTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gW21haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pb10gT24g QmVoYWxmIE9mDQo+ID4gPiA+TGltaW5nIEdhbw0KPiA+ID4gPlNlbnQ6IFNhdHVyZGF5LCBBdWd1 c3QgMTAsIDIwMTkgMTE6MzQgQU0NCj4gPiA+ID5UbzogQ2hlbiwgTWFyYyBXIDxtYXJjLncuY2hl bkBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsNCj4gPiA+ID5sZXJzZWtAcmVkaGF0 LmNvbTsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPiA+ID5DYzogS2lubmV5LCBNaWNo YWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPlN1YmplY3Q6IFJlOiBb ZWRrMi1kZXZlbF0gW1BBVENIXSBNZGVQa2c6IEFkZCBNbUFjY2VzcyBhbmQgTW1Db250cm9sDQo+ ID4gPiA+ZGVmaW5pdGlvbi4NCj4gPiA+ID4NCj4gPiA+ID5JIGFncmVlLiBUaGUgcGF0Y2ggdG8g YWRkIHRoZW0gaW4gTWRlUGtnIGlzIGNsZWFyLiBJIHdpbGwgcHVzaCBpdCBuZXh0IE1vbmRheS4N Cj4gPiA+ID4NCj4gPiA+ID5UaGFua3MNCj4gPiA+ID5MaW1pbmcNCj4gPiA+ID4+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+PiBGcm9tOiBDaGVuLCBNYXJjIFcNCj4gPiA+ID4+ IFNlbnQ6IFNhdHVyZGF5LCBBdWd1c3QgMTAsIDIwMTkgMTE6MzMgQU0NCj4gPiA+ID4+IFRvOiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbzsgbGVyc2VrQHJlZGhhdC5jb207IE5pLCBSYXkNCj4gPiA+IDxy YXkubmlAaW50ZWwuY29tPjsNCj4gPiA+ID5HYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5j b20+DQo+ID4gPiA+PiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50 ZWwuY29tPg0KPiA+ID4gPj4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIE1kZVBr ZzogQWRkIE1tQWNjZXNzIGFuZA0KPiA+ID4gTW1Db250cm9sDQo+ID4gPiA+ZGVmaW5pdGlvbi4N Cj4gPiA+ID4+DQo+ID4gPiA+PiBIaSBMaW1pbmcNCj4gPiA+ID4+DQo+ID4gPiA+PiBTaW5jZSB0 aGUgU21tQWNjZXNzLmggb2YgTWRlTW9kdWxlUGtnIHJlbW92YWwgaXMgc3RpbGwgdW5kZXIgZGlz Y3Vzc2lvbiwNCj4gPiA+ID5jYW4gd2UgcHVzaCB0aGUgTW1BY2Nlc3MuaCBhbmQgTW1Db250cm9s LmggdG8gTWRlUGtnDQo+ID4gPiA+PiBmaXJzdD8gSSBoYXZlIG90aGVyIHRhc2tzIHBlbmRpbmcg YnkgdGhpcy4NCj4gPiA+ID4+IFdlIGNhbiBrZWVwIGRpc2N1c3NpbmcgdGhlIFNtbUFjY2VzcyBh ZnRlciBwdXNoIHRoZSBjb2RlLg0KPiA+ID4gPj4NCj4gPiA+ID4+IFRoYW5rcywNCj4gPiA+ID4+ IE1hcmMNCj4gPiA+ID4+DQo+ID4gPiA+PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4gPiA+PiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5p bz4gT24gQmVoYWxmIE9mDQo+ID4gPiBMYXN6bG8NCj4gPiA+ID4+ID4gRXJzZWsNCj4gPiA+ID4+ ID4gU2VudDogVGh1cnNkYXksIEF1Z3VzdCA4LCAyMDE5IDEyOjExIEFNDQo+ID4gPiA+PiA+IFRv OiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgQ2hlbiwgTWFyYyBXDQo+ID4gPiA8bWFyYy53 LmNoZW5AaW50ZWwuY29tPjsNCj4gPiA+ID4+ID4gZGV2ZWxAZWRrMi5ncm91cHMuaW87IEdhbywg TGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPiA+ID4+ID4gQ2M6IEtpbm5leSwgTWlj aGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4+ID4gU3ViamVjdDog UmU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIE1kZVBrZzogQWRkIE1tQWNjZXNzIGFuZA0KPiA+ID4g Pk1tQ29udHJvbA0KPiA+ID4gPj4gPiBkZWZpbml0aW9uLg0KPiA+ID4gPj4gPg0KPiA+ID4gPj4g PiBPbiAwOC8wNi8xOSAxMjowOCwgTmksIFJheSB3cm90ZToNCj4gPiA+ID4+ID4gPiBMYXN6bG8s DQo+ID4gPiA+PiA+ID4gRG8geW91IHdhbnQgdG8gYXZvaWQgdG91Y2hpbmcgdGhlIE92bWZQa2cg ZHVlIHRoZSBmaWxlIHJlbW92YWwgaW4NCj4gPiA+ID4+ID4gTWRlTW9kdWxlUGtnPw0KPiA+ID4g Pj4gPg0KPiA+ID4gPj4gPiBNeSBtYWluIHByb2JsZW0gd2l0aCB0aGlzICpzcGVjaWZpYyogdXBk YXRlIHByb3Bvc2FsIGlzIHRoYXQgdGhlDQo+ID4gPiA+PiA+IGlkZW50aWZpZXJzICh0eXBlIG5h bWVzIGFuZCBzdWNoKSB0aGF0IHdvdWxkIGJlIHN1YmplY3QgdG8gcmVtb3ZhbCB3ZXJlDQo+ID4g PiA+PiA+IHB1YmxpY2x5IHNwZWNpZmllZCBpbiBlYXJsaWVyIFBJIHNwZWMgcmVsZWFzZXMuDQo+ ID4gPiA+PiA+DQo+ID4gPiA+PiA+IEkgZG9uJ3Qgc3VnZ2VzdCB0aGF0IHdlIG1haW50YWluIHR3 byBwYXJhbGxlbCBzZXRzIG9mIHR5cGVkZWZzIGFuZCBzdWNoDQo+ID4gPiA+PiA+IGluIGVkazIu IEl0J3MgZmluZSB0byBrZWVwIHRoZSBuZXcgIk1NIiBub21lbmNsYXR1cmUgdGhlIG1haW4gb25l LiBCdXQNCj4gPiA+ID4+ID4gd2Ugc2hvdWxkIGtlZXAgdGhlICJTTU0iIHNldCBvZiB0ZXJtcyB0 b28sIGFzIGEgdGhpbiB3cmFwcGVyLCBpZiB0aGF0J3MNCj4gPiA+ID4+ID4gdGVjaG5pY2FsbHkg ZmVhc2libGUuDQo+ID4gPiA+PiA+DQo+ID4gPiA+PiA+IElmIHdlIHJlbW92ZSAiU01NIiwgdGhh dCB3aWxsIG5vdCBvbmx5IGFmZmVjdCBPdm1mUGtnIHVucGxlYXNhbnRseSwgYnV0DQo+ID4gPiA+ PiA+IGEgYnVuY2ggb2Ygb3RoZXIsIG91dC1vZi10cmVlIGNvZGUuIEFuZCB0aGUgcmVhc29uIEkg c3VkZGVubHkgY2FyZQ0KPiA+ID4gYWJvdXQNCj4gPiA+ID4+ID4gb3V0LW9mLXRyZWUgY29kZSBp cyB0aGF0IHN1Y2ggY29kZSB3YXMgd3JpdHRlbiBhZ2FpbnN0IGEgcHVibGljIGluZHVzdHJ5DQo+ ID4gPiA+PiA+IHNwZWMgKD0gZWFybGllciB2ZXJzaW9ucyBvZiB0aGUgUEkgc3BlYykuDQo+ID4g PiA+PiA+DQo+ID4gPiA+PiA+IEkgZG9uJ3QgdGhpbmsgdGhhdCB0aGUgc2ltcGxpY2l0eSB0aGF0 IHdvdWxkIGNvbWUgZnJvbSByZW1vdmluZyAiU01NIg0KPiA+ID4gPj4gPiBhbHRvZ2V0aGVyLCBp cyB3ZWxsLWJhbGFuY2VkIGFnYWluc3QgdGhlIHBhaW4gdGhhdCBpdCB3b3VsZCBjYXVzZSBmb3IN Cj4gPiA+ID4+ID4gcGxhdGZvcm1zLg0KPiA+ID4gPj4gPg0KPiA+ID4gPj4gPiBFYXJsaWVyIHRo aXMgd2FzIHNvbHZlZCBpbiB0aGUgZm9sbG93aW5nIGNvbW1pdHM6DQo+ID4gPiA+PiA+IC0gMDdj NmE0N2U3MGJhICgiTWRlUGtnOiBBZGQgbmV3IGRlZmluaXRpb25zIGZvciBNYW5hZ2VtZW50DQo+ ID4gPiBNb2RlLiIsDQo+ID4gPiA+PiA+IDIwMTctMDgtMjkpDQo+ID4gPiA+PiA+IC0gMmYyMDhl NTllNGI5ICgiTWRlUGtnOiBSZWZlcmVuY2UgbmV3IGRlZmluaXRpb25zIGZvciBNYW5hZ2VtZW50 DQo+ID4gPiA+PiA+IE1vZGUuIiwgMjAxNy0wOC0yOSkNCj4gPiA+ID4+ID4NCj4gPiA+ID4+ID4g VGhhbmtzDQo+ID4gPiA+PiA+IExhc3psbw0KPiA+ID4gPj4gPg0KPiA+ID4gPj4gPiA+IEkgcHJl ZmVyIHRvIHJlbW92ZSB0aGUgZmlsZXMgaW4gTWRlTW9kdWxlUGtnIHRvIGF2b2lkIGZ1dHVyZQ0K PiA+ID4gY29uZnVzaW9uLg0KPiA+ID4gPj4gPiA+DQo+ID4gPiA+PiA+ID4gVGhhbmtzLA0KPiA+ ID4gPj4gPiA+IFJheQ0KPiA+ID4gPj4gPiA+DQo+ID4gPiA+PiA+ID4+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4gPiA+PiA+ID4+IEZyb206IENoZW4sIE1hcmMgVw0KPiA+ID4gPj4g PiA+PiBTZW50OiBUdWVzZGF5LCBBdWd1c3QgNiwgMjAxOSA0OjU3IFBNDQo+ID4gPiA+PiA+ID4+ IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgbGVyc2VrQHJlZGhhdC5jb207IE5pLCBSYXkNCj4g PiA+ID4+ID4gPHJheS5uaUBpbnRlbC5jb20+Ow0KPiA+ID4gPj4gPiA+PiBHYW8sIExpbWluZyA8 bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+ID4gPiA+PiA+ID4+IENjOiBLaW5uZXksIE1pY2hhZWwg RCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiA+PiA+ID4+IFN1YmplY3Q6IFJF OiBbZWRrMi1kZXZlbF0gW1BBVENIXSBNZGVQa2c6IEFkZCBNbUFjY2VzcyBhbmQNCj4gPiA+ID4+ ID4gTW1Db250cm9sDQo+ID4gPiA+PiA+ID4+IGRlZmluaXRpb24uDQo+ID4gPiA+PiA+ID4+DQo+ ID4gPiA+PiA+ID4+IEhpIExpbWluZyBhbmQgUmF5DQo+ID4gPiA+PiA+ID4+DQo+ID4gPiA+PiA+ ID4+IERvIHlvdSBhbHNvIGFncmVlPw0KPiA+ID4gPj4gPiA+Pg0KPiA+ID4gPj4gPiA+PiBUaGFu a3MsDQo+ID4gPiA+PiA+ID4+IE1hcmMNCj4gPiA+ID4+ID4gPj4NCj4gPiA+ID4+ID4gPj4+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+PiA+ID4+PiBGcm9tOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZg0KPiA+ID4gPj4g PiBMYXN6bG8NCj4gPiA+ID4+ID4gPj4+IEVyc2VrDQo+ID4gPiA+PiA+ID4+PiBTZW50OiBGcmlk YXksIEF1Z3VzdCAyLCAyMDE5IDEwOjE0IEFNDQo+ID4gPiA+PiA+ID4+PiBUbzogZGV2ZWxAZWRr Mi5ncm91cHMuaW87IENoZW4sIE1hcmMgVw0KPiA+ID4gPG1hcmMudy5jaGVuQGludGVsLmNvbT47 DQo+ID4gPiA+TmksDQo+ID4gPiA+PiA+ID4+PiBSYXkgPHJheS5uaUBpbnRlbC5jb20+OyBHYW8s IExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+ID4gPiA+PiA+ID4+PiBDYzogS2lubmV5 LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPj4gPiA+Pj4g U3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIE1kZVBrZzogQWRkIE1tQWNjZXNzIGFu ZA0KPiA+ID4gPj4gPiA+PiBNbUNvbnRyb2wNCj4gPiA+ID4+ID4gPj4+IGRlZmluaXRpb24uDQo+ ID4gPiA+PiA+ID4+Pg0KPiA+ID4gPj4gPiA+Pj4gT24gMDgvMDEvMTkgMTI6MTUsIE1hcmMgVyBD aGVuIHdyb3RlOg0KPiA+ID4gPj4gPiA+Pj4+IFllcywgbXkgcHVycG9zZSBpcyB0byBhdm9pZCBw bGF0Zm9ybSBjb2RlIHVwZGF0ZSBpZiB0aGUgcGFja2FnZSBpcw0KPiA+ID4gPj4gPiA+Pj4+IGFs bG93ZWQNCj4gPiA+ID4+ID4gPj4+IHRvIHVzZSBNZGVNb2R1bGVQa2cgbGlrZSBPdm1mUGtnLg0K PiA+ID4gPj4gPiA+Pj4+IEZvciB0aG9zZSBwYWNrYWdlcyB0aGF0IGNhbm5vdCBkZXBlbmQgb24g TWRlTW9kdWxlUGtnIG11c3QNCj4gPiA+ID4+ID4gY2hhbmdlDQo+ID4gPiA+PiA+ID4+IHRvDQo+ ID4gPiA+PiA+ID4+PiB1c2UgbmV3IGRlZmluaXRpb24uDQo+ID4gPiA+PiA+ID4+Pg0KPiA+ID4g Pj4gPiA+Pj4gQWdyZWVkLg0KPiA+ID4gPj4gPiA+Pj4NCj4gPiA+ID4+ID4gPj4+IFRoYW5rcyEN Cj4gPiA+ID4+ID4gPj4+IExhc3psbw0KPiA+ID4gPj4gPiA+Pj4NCj4gPiA+ID4+ID4gPj4+Pj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4+ID4gPj4+Pj4gRnJvbTogTmksIFJh eQ0KPiA+ID4gPj4gPiA+Pj4+PiBTZW50OiBUaHVyc2RheSwgQXVndXN0IDEsIDIwMTkgNjowNCBQ TQ0KPiA+ID4gPj4gPiA+Pj4+PiBUbzogQ2hlbiwgTWFyYyBXIDxtYXJjLncuY2hlbkBpbnRlbC5j b20+OyBHYW8sIExpbWluZw0KPiA+ID4gPj4gPiA+Pj4+PiA8bGltaW5nLmdhb0BpbnRlbC5jb20+ OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gPj4gPiA+Pj4+PiBDYzogS2lubmV5LCBNaWNo YWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPj4gPiA+Pj4+PiBTdWJq ZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlUGtnOiBBZGQgTW1BY2Nlc3MgYW5kDQo+ ID4gPiA+PiA+ID4+PiBNbUNvbnRyb2wNCj4gPiA+ID4+ID4gPj4+Pj4gZGVmaW5pdGlvbi4NCj4g PiA+ID4+ID4gPj4+Pj4NCj4gPiA+ID4+ID4gPj4+Pj4gTWFyYywNCj4gPiA+ID4+ID4gPj4+Pj4g SXMgdGhlIHB1cnBvc2UgdG8gYXZvaWQgcGxhdGZvcm0gY29kZSB1cGRhdGUgd2l0aCB0aGUgd3Jh cHBlcg0KPiA+ID4gPj4gPiA+Pj4+PiBoZWFkZXINCj4gPiA+ID4+ID4gPj4+IGZpbGUgaW4NCj4g PiA+ID4+ID4gPj4+Pj4gTWRlTW9kdWxlUGtnPw0KPiA+ID4gPj4gPiA+Pj4+PiBDZXJ0YWluIHBs YXRmb3JtcyB0aGV5IG1heSByZXF1aXJlIHRvIG5vdCBkZXBlbmQgb24NCj4gPiA+ID5NZGVNb2R1 bGVQa2cNCj4gPiA+ID4+ID4gPj4+Pj4gYnV0IGp1c3QgZGVwZW5kIG9uIE1kZVBrZy4NCj4gPiA+ ID4+ID4gPj4+Pj4gSGF2aW5nIFNtbUFjY2Vzcy5oIGluIE1kZU1vZHVsZVBrZyBkb2Vzbid0IGhl bHAuDQo+ID4gPiA+PiA+ID4+Pj4+DQo+ID4gPiA+PiA+ID4+Pj4+IEl0IGFsc28gYnJpbmcgY29u ZnVzaW5nLg0KPiA+ID4gPj4gPiA+Pj4+Pg0KPiA+ID4gPj4gPiA+Pj4+PiBUaGFua3MsDQo+ID4g PiA+PiA+ID4+Pj4+IFJheQ0KPiA+ID4gPj4gPiA+Pj4+Pg0KPiA+ID4gPj4gPiA+Pj4+Pj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4+ID4gPj4+Pj4+IEZyb206IENoZW4sIE1h cmMgVw0KPiA+ID4gPj4gPiA+Pj4+Pj4gU2VudDogVGh1cnNkYXksIEF1Z3VzdCAxLCAyMDE5IDQ6 NTMgUE0NCj4gPiA+ID4+ID4gPj4+Pj4+IFRvOiBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRl bC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gPj4gPiA+Pj4+Pj4gQ2M6IEtpbm5l eSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IE5pLCBSYXkNCj4gPiA+ ID4+ID4gPj4+Pj4+IDxyYXkubmlAaW50ZWwuY29tPg0KPiA+ID4gPj4gPiA+Pj4+Pj4gU3ViamVj dDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIE1kZVBrZzogQWRkIE1tQWNjZXNzIGFuZA0KPiA+ ID4gPj4gPiA+Pj4gTW1Db250cm9sDQo+ID4gPiA+PiA+ID4+Pj4+PiBkZWZpbml0aW9uLg0KPiA+ ID4gPj4gPiA+Pj4+Pj4NCj4gPiA+ID4+ID4gPj4+Pj4+IEhpIExpbWluZw0KPiA+ID4gPj4gPiA+ Pj4+Pj4NCj4gPiA+ID4+ID4gPj4+Pj4+IEFub3RoZXIgdGhvdWdodCwgZG8geW91IHRoaW5rIGl0 IGlzIG9rIHRvIGtlZXAgU21tQWNjZXNzLmggaW4NCj4gPiA+ID4+ID4gPj4+Pj4+IE1kZU1vZHVs ZVBrZz8gV2UgY2FuIHVzZSAjZGVmaW5lIGFuZCB0eXBlZGVmIHRvIGNvbnZlcnQNCj4gPiA+ID4+ ID4gPj4gTW1BY2Nlc3MNCj4gPiA+ID4+ID4gPj4+IHRvDQo+ID4gPiA+PiA+ID4+Pj4+PiBTbW1B Y2Nlc3MsIGp1c3QgbGlrZSBjdXJyZW50IFNtbUFjY2VzcyBQcm90b2NvbCBpbiBNZGVQa2cuDQo+ ID4gPiA+PiA+ID4+Pj4+Pg0KPiA+ID4gPj4gPiA+Pj4+Pj4gVGhhbmtzLA0KPiA+ID4gPj4gPiA+ Pj4+Pj4gTWFyYw0KPiA+ID4gPj4gPiA+Pj4+Pj4NCj4gPiA+ID4+ID4gPj4+Pj4+PiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+IEZyb206IENoZW4sIE1hcmMg Vw0KPiA+ID4gPj4gPiA+Pj4+Pj4+IFNlbnQ6IFRodXJzZGF5LCBBdWd1c3QgMSwgMjAxOSA0OjQ4 IFBNDQo+ID4gPiA+PiA+ID4+Pj4+Pj4gVG86IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVs LmNvbT47DQo+ID4gPiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gPj4gPiA+Pj4+Pj4+IENj OiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBOaSwgUmF5 DQo+ID4gPiA+PiA+ID4+Pj4+Pj4gPHJheS5uaUBpbnRlbC5jb20+DQo+ID4gPiA+PiA+ID4+Pj4+ Pj4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIE1kZVBrZzogQWRkIE1tQWNjZXNz IGFuZA0KPiA+ID4gPj4gPiA+Pj4+Pj4gTW1Db250cm9sDQo+ID4gPiA+PiA+ID4+Pj4+Pj4gZGVm aW5pdGlvbi4NCj4gPiA+ID4+ID4gPj4+Pj4+Pg0KPiA+ID4gPj4gPiA+Pj4+Pj4+IEhpIExpbWlu Zw0KPiA+ID4gPj4gPiA+Pj4+Pj4+DQo+ID4gPiA+PiA+ID4+Pj4+Pj4gU2luY2UgdGhlcmUgYXJl IG11bHRpcGxlIHBhY2thZ2VzIGFyZSBzdGlsbCB1c2luZyBTbW1BY2Nlc3MuaCwNCj4gPiA+ID53 ZQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+IG5lZWQgdG8gY2hhbmdlIGFsbCBwYWNrYWdlcyB0byB1c2Ug TW1BY2Nlc3MuaCBpbnN0ZWFkIG9mDQo+ID4gPiA+PiA+ID4+Pj4+Pj4gU21tQWNjZXNzLmggZmly c3QsIHRoZW4gY2xlYW4gdXAgU21tQWNjZXNzLmggZnJvbQ0KPiA+ID4gPj4gPiBNZGVNb2R1bGVQ a2cNCj4gPiA+ID4+ID4gPj4gd2lsbCBiZSB0aGUgbGFzdCBzdGVwLg0KPiA+ID4gPj4gPiA+Pj4+ Pj4+IEJlbG93IGFyZSB0aGUgcGFja2FnZXMgdGhhdCBoYXMgImluY2x1ZGUgPFBwaS9TbW1BY2Nl c3MuaD4iDQo+ID4gPiA+Zm9yDQo+ID4gPiA+PiA+ID4+Pj4+Pj4geW91ciByZWZlcmVuY2UuDQo+ ID4gPiA+PiA+ID4+Pj4+Pj4gKglFZGsyIHJlcG86DQo+ID4gPiA+PiA+ID4+Pj4+Pj4gbwlNZGVN b2R1bGVQa2cNCj4gPiA+ID4+ID4gPj4+Pj4+PiBvCU92bWZQa2cNCj4gPiA+ID4+ID4gPj4+Pj4+ PiBvCVVlZmlDcHVQa2cNCj4gPiA+ID4+ID4gPj4+Pj4+PiAqCUVkazJQbGF0Zm9ybSByZXBvOg0K PiA+ID4gPj4gPiA+Pj4+Pj4+IG8JTWluUGxhdGZvcm1Qa2cNCj4gPiA+ID4+ID4gPj4+Pj4+PiBv CVF1YXJrU29jUGtnDQo+ID4gPiA+PiA+ID4+Pj4+Pj4NCj4gPiA+ID4+ID4gPj4+Pj4+PiBUaGFu a3MsDQo+ID4gPiA+PiA+ID4+Pj4+Pj4gTWFyYw0KPiA+ID4gPj4gPiA+Pj4+Pj4+DQo+ID4gPiA+ PiA+ID4+Pj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+PiA+ID4+Pj4+ Pj4+IEZyb206IEdhbywgTGltaW5nDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+IFNlbnQ6IFRodXJzZGF5 LCBBdWd1c3QgMSwgMjAxOSA0OjQyIFBNDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+IFRvOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbzsgQ2hlbiwgTWFyYyBXDQo+ID4gPiA+PiA+IDxtYXJjLncuY2hlbkBpbnRl bC5jb20+DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+IENjOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFl bC5kLmtpbm5leUBpbnRlbC5jb20+OyBOaSwgUmF5DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+IDxyYXku bmlAaW50ZWwuY29tPg0KPiA+ID4gPj4gPiA+Pj4+Pj4+PiBTdWJqZWN0OiBSRTogW2VkazItZGV2 ZWxdIFtQQVRDSF0gTWRlUGtnOiBBZGQgTW1BY2Nlc3MNCj4gPiA+ID5hbmQNCj4gPiA+ID4+ID4g Pj4+Pj4+IE1tQ29udHJvbA0KPiA+ID4gPj4gPiA+Pj4+Pj4+PiBkZWZpbml0aW9uLg0KPiA+ID4g Pj4gPiA+Pj4+Pj4+Pg0KPiA+ID4gPj4gPiA+Pj4+Pj4+PiBNYXJjOg0KPiA+ID4gPj4gPiA+Pj4+ Pj4+PiAgIFRoZSBjaGFuZ2UgaXMgZ29vZC4gUmV2aWV3ZWQtYnk6IExpbWluZyBHYW8NCj4gPiA+ ID4+ID4gPj4+IDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4NCj4g PiA+ID4+ID4gPj4+Pj4+Pj4gICBCZXNpZGVzLCBJIHNlZSBCWiBhbHNvIG1lbnRpb24gdG8gcmVt b3ZlIHRoZSBvbmUgaW4NCj4gPiA+ID4+ID4gPj4gTWRlTW9kdWxlUGtnLg0KPiA+ID4gPj4gPiA+ Pj4+Pj4+PiBIYXZlIHlvdSB0aGUgZm9sbG93aW5nIHBhdGNoZXMgZm9yIHRoZSBjaGFuZ2UgaW4N Cj4gPiA+ID5NZGVNb2R1bGVQa2c/DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+DQo+ID4gPiA+PiA+ID4+ Pj4+Pj4+IFRoYW5rcw0KPiA+ID4gPj4gPiA+Pj4+Pj4+PiBMaW1pbmcNCj4gPiA+ID4+ID4gPj4+ Pj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBG cm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyBbbWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvXQ0K PiA+ID4gPk9uDQo+ID4gPiA+PiA+ID4+Pj4+IEJlaGFsZg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4g T2YgTWFyYyBXIENoZW4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+IFNlbnQ6IE1vbmRheSwgSnVseSAy OSwgMjAxOSAxMjoyNiBQTQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gVG86IGRldmVsQGVkazIuZ3Jv dXBzLmlvDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hh ZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgR2FvLA0KPiA+ID4gPj4gPiBMaW1pbmcNCj4gPiA+ID4+ ID4gPj4+Pj4+Pj4+IDxsaW1pbmcuZ2FvQGludGVsLmNvbT47IE5pLCBSYXkgPHJheS5uaUBpbnRl bC5jb20+DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENI XSBNZGVQa2c6IEFkZCBNbUFjY2VzcyBhbmQNCj4gPiA+ID4+ID4gPj4+Pj4gTW1Db250cm9sDQo+ ID4gPiA+PiA+ID4+Pj4+Pj4+PiBkZWZpbml0aW9uLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4NCj4g PiA+ID4+ID4gPj4+Pj4+Pj4+IEVGSSBNbUFjY2VzcyBhbmQgTW1Db250cm9sIFBQSXMgYXJlIGRl ZmluZWQgaW4gdGhlIFBJIDEuNQ0KPiA+ID4gPj4gPiA+Pj4+Pj4gc3BlY2lmaWNhdGlvbi4NCj4g PiA+ID4+ID4gPj4+Pj4+Pj4+DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBDYzogTWljaGFlbCBEIEtp bm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBD YzogTGltaW5nIEdhbyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+ PiBDYzogUmF5IE5pIDxyYXkubmlAaW50ZWwuY29tPg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gUmVm OiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjMNCj4g PiA+ID4+ID4gPj4+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IE1hcmMgVyBDaGVuIDxtYXJjLncuY2hl bkBpbnRlbC5jb20+DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiAtLS0NCj4gPiA+ID4+ID4gPj4+Pj4+ Pj4+IE1kZVBrZy9JbmNsdWRlL1BwaS9NbUFjY2Vzcy5oICB8IDE1NQ0KPiA+ID4gPj4gPiA+Pj4+ Pj4+Pj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiA+ID4+ ID4gPj4+Pj4+Pj4+IE1kZVBrZy9JbmNsdWRlL1BwaS9NbUNvbnRyb2wuaCB8ICA5MA0KPiA+ID4g Pj4gPiA+Pj4+Pj4gKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+ PiBNZGVQa2cvTWRlUGtnLmRlYyAgICAgICAgICAgICAgfCAgIDYgKysNCj4gPiA+ID4+ID4gPj4+ Pj4+Pj4+IDMgZmlsZXMgY2hhbmdlZCwgMjUxIGluc2VydGlvbnMoKykgY3JlYXRlIG1vZGUgMTAw NjQ0DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBNZGVQa2cvSW5jbHVkZS9QcGkvTW1BY2Nlc3MuaCBj cmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+IE1kZVBrZy9JbmNsdWRlL1Bw aS9NbUNvbnRyb2wuaA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ IGRpZmYgLS1naXQgYS9NZGVQa2cvSW5jbHVkZS9QcGkvTW1BY2Nlc3MuaA0KPiA+ID4gPj4gPiA+ Pj4+Pj4+Pj4gYi9NZGVQa2cvSW5jbHVkZS9QcGkvTW1BY2Nlc3MuaCBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiA+ID4gPj4gPiBpbmRleA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gMDAwMDAwMDAwMC4u NjM2ZTcyODhhMA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gLS0tIC9kZXYvbnVsbA0KPiA+ID4gPj4g PiA+Pj4+Pj4+Pj4gKysrIGIvTWRlUGtnL0luY2x1ZGUvUHBpL01tQWNjZXNzLmgNCj4gPiA+ID4+ ID4gPj4+Pj4+Pj4+IEBAIC0wLDAgKzEsMTU1IEBADQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArLyoq IEBmaWxlDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBFRkkgTU0gQWNjZXNzIFBQSSBkZWZpbml0 aW9uLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgVGhp cyBQUEkgaXMgdXNlZCB0byBjb250cm9sIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBNTVJBTSBvbg0K PiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyB0aGUNCj4gPiA+ID4+ID4gPj4+Pj4+IHBsYXRmb3JtLg0K PiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgVGhlIEVGSV9QRUlfTU1fQUNDRVNTX1BQSSBhYnN0cmFj dHMgdGhlIGxvY2F0aW9uIGFuZA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyBjaGFyYWN0ZXJpc3Rp Y3MNCj4gPiA+ID4+ID4gPj4+Pj4+PiBvZg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gTU1SQU0uIFRo ZQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgcHJpbmNpcGFsIGZ1bmN0aW9uYWxpdHkgZm91bmQg aW4gdGhlIG1lbW9yeSBjb250cm9sbGVyDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArIGluY2x1ZGVz IHRoZQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+PiBmb2xsb3dpbmc6DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+ PiArICAtIEV4cG9zaW5nIHRoZSBNTVJBTSB0byBhbGwgbm9uLU1NIGFnZW50cywgb3IgdGhlDQo+ ID4gPiA+Im9wZW4iDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArIHN0YXRlDQo+ID4gPiA+PiA+ID4+ Pj4+Pj4+PiArICAtIFNocm91ZGluZyB0aGUgTU1SQU0gdG8gYWxsIGJ1dCB0aGUgTU0gYWdlbnRz LCBvciB0aGUNCj4gPiA+ID4+ID4gPj4gImNsb3NlZCINCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsg c3RhdGUNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIC0gUHJlc2VydmluZyB0aGUgc3lzdGVtIGlu dGVncml0eSwgb3IgImxvY2tpbmciIHRoZSBNTVJBTSwNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsg c3VjaCB0aGF0DQo+ID4gPiA+PiA+ID4+Pj4+Pj4gdGhlDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBz ZXR0aW5ncyBjYW5ub3QgYmUNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgICAgcGVydHVyYmVkIGJ5 IGVpdGhlciBib290IHNlcnZpY2Ugb3IgcnVudGltZSBhZ2VudHMNCj4gPiA+ID4+ID4gPj4+Pj4+ Pj4+ICsNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIENvcHlyaWdodCAoYykgMjAxOSwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgcmVzZXJ2ZWQu PEJSPg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsNCj4gPiA+ID4+ID4gPj4+ Pj4+Pj4+ICsgIEBwYXIgUmV2aXNpb24gUmVmZXJlbmNlOg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4g KyAgVGhpcyBQUEkgaXMgaW50cm9kdWNlZCBpbiBQSSBWZXJzaW9uIDEuNS4NCj4gPiA+ID4+ID4g Pj4+Pj4+Pj4+ICsNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsqKi8NCj4gPiA+ID4+ID4gPj4+Pj4+ Pj4+ICsNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsjaWZuZGVmIF9NTV9BQ0NFU1NfUFBJX0hfDQo+ ID4gPiA+PiA+ID4+Pj4+Pj4+PiArI2RlZmluZSBfTU1fQUNDRVNTX1BQSV9IXw0KPiA+ID4gPj4g PiA+Pj4+Pj4+Pj4gKw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyNkZWZpbmUgRUZJX1BFSV9NTV9B Q0NFU1NfUFBJX0dVSUQgXA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgeyAweDI2OGYzM2E5LCAw eGNjY2QsIDB4NDhiZSwgeyAweDg4LCAweDE3LCAweDg2LCAweDUsIDB4M2EsDQo+ID4gPiA+PiA+ ID4+Pj4+Pj4+PiArMHhjMywgMHgyZSwNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+IDB4ZDYgfX0NCj4g PiA+ID4+ID4gPj4+Pj4+Pj4+ICsNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICt0eXBlZGVmIHN0cnVj dCBfRUZJX1BFSV9NTV9BQ0NFU1NfUFBJDQo+ID4gPiA+PiA+ID4+IEVGSV9QRUlfTU1fQUNDRVNT X1BQSTsNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsvKioN Cj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIE9wZW5zIHRoZSBNTVJBTSBhcmVhIHRvIGJlIGFjY2Vz c2libGUgYnkgYSBQRUlNLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKw0KPiA+ID4gPj4gPiA+Pj4+ Pj4+Pj4gKyAgVGhpcyBmdW5jdGlvbiAib3BlbnMiIE1NUkFNIHNvIHRoYXQgaXQgaXMgdmlzaWJs ZSB3aGlsZQ0KPiA+ID4gbm90DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArIGluc2lkZSBvZg0KPiA+ ID4gPj4gPiA+Pj4+Pj4+IE1NLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gVGhlIGZ1bmN0aW9uIHNo b3VsZA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRCBpZiB0 aGUgaGFyZHdhcmUgZG9lcyBub3QNCj4gPiA+ID5zdXBwb3J0DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+ PiArIGhpZGluZyBvZg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gTU1SQU0uIFRoZSBmdW5jdGlvbg0K PiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgc2hvdWxkIHJldHVybiBFRklfREVWSUNFX0VSUk9SIGlm IHRoZSBNTVJBTQ0KPiA+ID4gPj4gPiBjb25maWd1cmF0aW9uDQo+ID4gPiA+PiA+ID4+IGlzDQo+ ID4gPiA+PiA+ID4+Pj4+PiBsb2NrZWQuDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArDQo+ID4gPiA+ PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIFBlaVNlcnZpY2VzICAgICAgICAgICAgQW4gaW5kaXJl Y3QgcG9pbnRlciB0byB0aGUgUEVJDQo+ID4gPiA+PiA+IFNlcnZpY2VzDQo+ID4gPiA+PiA+ID4+ Pj4+PiBUYWJsZQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gcHVibGlzaGVkIGJ5IHRoZSBQRUkgRm91 bmRhdGlvbi4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIEBwYXJhbSAgVGhpcyAgICAgICAgICAg ICAgICAgICBUaGUgRUZJX1BFSV9NTV9BQ0NFU1NfUFBJDQo+ID4gPiA+aW5zdGFuY2UuDQo+ID4g PiA+PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIERlc2NyaXB0b3JJbmRleCAgICAgICAgVGhlIHJl Z2lvbiBvZiBNTVJBTSB0bw0KPiA+ID4gPk9wZW4uDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArDQo+ ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgVGhl IG9wZXJhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIEByZXR2 YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICBUaGUgc3lzdGVtIGRvZXMgbm90DQo+ID4gPiA+c3Vw cG9ydA0KPiA+ID4gPj4gPiA+Pj4+PiBvcGVuaW5nDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+IGFuZA0K PiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gY2xvc2luZyBvZiBNTVJBTS4NCj4gPiA+ID4+ID4gPj4+Pj4+ Pj4+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgICBNTVJBTSBjYW5ub3QgYmUNCj4g PiA+IG9wZW5lZCwNCj4gPiA+ID4+ID4gPj4+Pj4gcGVyaGFwcw0KPiA+ID4gPj4gPiA+Pj4+Pj4+ Pj4gYmVjYXVzZSBpdCBpcyBsb2NrZWQuDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArDQo+ID4gPiA+ PiA+ID4+Pj4+Pj4+PiArKiovDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArdHlwZWRlZg0KPiA+ID4g Pj4gPiA+Pj4+Pj4+Pj4gK0VGSV9TVEFUVVMNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsoRUZJQVBJ ICpFRklfUEVJX01NX09QRU4pKA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgSU4gRUZJX1BFSV9T RVJWSUNFUyAgICAgICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiA+ID4gPj4gPiA+Pj4+Pj4+ Pj4gKyAgSU4gRUZJX1BFSV9NTV9BQ0NFU1NfUFBJICAgICAgICAgICAqVGhpcywNCj4gPiA+ID4+ ID4gPj4+Pj4+Pj4+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3Jp cHRvckluZGV4DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICApOw0KPiA+ID4gPj4gPiA+Pj4+Pj4+ Pj4gKw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKy8qKg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAg SW5oaWJpdHMgYWNjZXNzIHRvIHRoZSBNTVJBTS4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsNCj4g PiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIFRoaXMgZnVuY3Rpb24gImNsb3NlcyIgTU1SQU0gc28gdGhh dCBpdCBpcyBub3QgdmlzaWJsZQ0KPiA+ID4gd2hpbGUNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsg b3V0c2lkZSBvZg0KPiA+ID4gPj4gPiA+Pj4+Pj4+PiBNTS4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ IFRoZSBmdW5jdGlvbiBzaG91bGQNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIHJldHVybiBFRklf VU5TVVBQT1JURUQgaWYgdGhlIGhhcmR3YXJlIGRvZXMgbm90DQo+ID4gPiA+c3VwcG9ydA0KPiA+ ID4gPj4gPiA+Pj4+Pj4+Pj4gKyBoaWRpbmcgb2YNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+IE1NUkFN Lg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBhcmFt ICBQZWlTZXJ2aWNlcyAgICAgICAgICAgIEFuIGluZGlyZWN0IHBvaW50ZXIgdG8gdGhlIFBFSQ0K PiA+ID4gPj4gPiBTZXJ2aWNlcw0KPiA+ID4gPj4gPiA+Pj4+Pj4gVGFibGUNCj4gPiA+ID4+ID4g Pj4+Pj4+Pj4+IHB1Ymxpc2hlZCBieSB0aGUgUEVJIEZvdW5kYXRpb24uDQo+ID4gPiA+PiA+ID4+ Pj4+Pj4+PiArICBAcGFyYW0gIFRoaXMgICAgICAgICAgICAgICAgICAgVGhlIEVGSV9QRUlfTU1f QUNDRVNTX1BQSQ0KPiA+ID4gPmluc3RhbmNlLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBh cmFtICBEZXNjcmlwdG9ySW5kZXggICAgICAgIFRoZSByZWdpb24gb2YgTU1SQU0gdG8NCj4gPiA+ ID5DbG9zZS4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsg IEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgb3BlcmF0aW9uIHdhcyBzdWNjZXNz ZnVsLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAg ICAgIFRoZSBzeXN0ZW0gZG9lcyBub3QNCj4gPiA+ID5zdXBwb3J0DQo+ID4gPiA+PiA+ID4+Pj4+ IG9wZW5pbmcNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4gYW5kDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBj bG9zaW5nIG9mIE1NUkFNLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgQHJldHZhbCBFRklfREVW SUNFX0VSUk9SICAgICAgIE1NUkFNIGNhbm5vdCBiZSBjbG9zZWQuDQo+ID4gPiA+PiA+ID4+Pj4+ Pj4+PiArDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArKiovDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiAr dHlwZWRlZg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gK0VGSV9TVEFUVVMNCj4gPiA+ID4+ID4gPj4+ Pj4+Pj4+ICsoRUZJQVBJICpFRklfUEVJX01NX0NMT1NFKSgNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ ICsgIElOIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4g PiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIElOIEVGSV9QRUlfTU1fQUNDRVNTX1BQSSAgICAgICAgICAg KlRoaXMsDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBJTiBVSU5UTiAgICAgICAgICAgICAgICAg ICAgICAgICAgIERlc2NyaXB0b3JJbmRleA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgKTsNCj4g PiA+ID4+ID4gPj4+Pj4+Pj4+ICsNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsvKioNCj4gPiA+ID4+ ID4gPj4+Pj4+Pj4+ICsgIFRoaXMgZnVuY3Rpb24gcHJvaGliaXRzIGFjY2VzcyB0byB0aGUgTU1S QU0gcmVnaW9uLiBUaGlzDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArZnVuY3Rpb24gaXMNCj4gPiA+ ID4+ID4gPj4+Pj4+Pj4gdXN1YWxseQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gaW1wbGVtZW50ZWQg c3VjaA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgdGhhdCBpdCBpcyBhIHdyaXRlLW9uY2Ugb3Bl cmF0aW9uLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAg QHBhcmFtICBQZWlTZXJ2aWNlcyAgICAgICAgICAgIEFuIGluZGlyZWN0IHBvaW50ZXIgdG8gdGhl IFBFSQ0KPiA+ID4gPj4gPiBTZXJ2aWNlcw0KPiA+ID4gPj4gPiA+Pj4+Pj4gVGFibGUNCj4gPiA+ ID4+ID4gPj4+Pj4+Pj4+IHB1Ymxpc2hlZCBieSB0aGUgUEVJIEZvdW5kYXRpb24uDQo+ID4gPiA+ PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIFRoaXMgICAgICAgICAgICAgICAgICAgVGhlIEVGSV9Q RUlfTU1fQUNDRVNTX1BQSQ0KPiA+ID4gPmluc3RhbmNlLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4g KyAgQHBhcmFtICBEZXNjcmlwdG9ySW5kZXggICAgICAgIFRoZSByZWdpb24gb2YgTU1SQU0gdG8N Cj4gPiA+ID5Mb2NrLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKw0KPiA+ID4gPj4gPiA+Pj4+Pj4+ Pj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgIFRoZSBvcGVyYXRpb24gd2FzIHN1 Y2Nlc3NmdWwuDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRF RCAgICAgICAgVGhlIHN5c3RlbSBkb2VzIG5vdA0KPiA+ID4gPnN1cHBvcnQNCj4gPiA+ID4+ID4g Pj4+Pj4gb3BlbmluZw0KPiA+ID4gPj4gPiA+Pj4+Pj4+PiBhbmQNCj4gPiA+ID4+ID4gPj4+Pj4+ Pj4+IGNsb3Npbmcgb2YgTU1SQU0uDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArDQo+ID4gPiA+PiA+ ID4+Pj4+Pj4+PiArKiovDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArdHlwZWRlZg0KPiA+ID4gPj4g PiA+Pj4+Pj4+Pj4gK0VGSV9TVEFUVVMNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsoRUZJQVBJICpF RklfUEVJX01NX0xPQ0spKA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgSU4gRUZJX1BFSV9TRVJW SUNFUyAgICAgICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4g KyAgSU4gRUZJX1BFSV9NTV9BQ0NFU1NfUFBJICAgICAgICAgICAqVGhpcywNCj4gPiA+ID4+ID4g Pj4+Pj4+Pj4+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRv ckluZGV4DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICApOw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4g Kw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKy8qKg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgUXVl cmllcyB0aGUgbWVtb3J5IGNvbnRyb2xsZXIgZm9yIHRoZSBwb3NzaWJsZSByZWdpb25zDQo+ID4g PiB0aGF0DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArd2lsbCBzdXBwb3J0DQo+ID4gPiA+PiA+ID4+ Pj4+Pj4+PiBNTVJBTS4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsNCj4gPiA+ID4+ID4gPj4+Pj4+ Pj4+ICsgIFRoaXMgZnVuY3Rpb24gZGVzY3JpYmVzIHRoZSBNTVJBTSByZWdpb25zLg0KPiA+ID4g Pj4gPiA+Pj4+Pj4+Pj4gKyAgVGhpcyBkYXRhIHN0cnVjdHVyZSBmb3JtcyB0aGUgY29udHJhY3Qg YmV0d2VlbiB0aGUNCj4gPiA+ID4+ID4gPj4gTU1fQUNDRVNTDQo+ID4gPiA+PiA+ID4+Pj4+IGFu ZA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gTU1fSVBMIGRyaXZlcnMuIFRoZXJlIGlzIGFuDQo+ID4g PiA+PiA+ID4+Pj4+Pj4+PiArICBhbWJpZ3VpdHkgd2hlbiBhbnkgTU1SQU0gcmVnaW9uIGlzIHJl bWFwcGVkLiBGb3INCj4gPiA+ID4+ID4gZXhhbXBsZSwNCj4gPiA+ID4+ID4gPj4gb24NCj4gPiA+ ID4+ID4gPj4+Pj4+PiBzb21lDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBjaGlwc2V0cywgc29tZSBN TVJBTQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgcmVnaW9ucyBjYW4gYmUgaW5pdGlhbGl6ZWQg YXQgb25lIHBoeXNpY2FsIGFkZHJlc3MgYnV0IGlzDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArIGxh dGVyIGFjY2Vzc2VkIGF0DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBhbm90aGVyIHByb2Nlc3NvciBh ZGRyZXNzLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgVGhlcmUgaXMgY3VycmVudGx5IG5vIHdh eSBmb3IgdGhlIE1NIElQTCBkcml2ZXIgdG8ga25vdw0KPiA+ID4gPnRoYXQNCj4gPiA+ID4+ID4g Pj4+Pj4+Pj4+ICsgaXQgbXVzdCB1c2UNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+IHR3byBkaWZmZXJl bnQgYWRkcmVzc2VzDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBkZXBlbmRpbmcgb24gd2hhdCBp dCBpcyB0cnlpbmcgdG8gZG8uIEFzIGEgcmVzdWx0LCBpbml0aWFsDQo+ID4gPiA+PiA+ID4+Pj4+ Pj4+PiArIGNvbmZpZ3VyYXRpb24gYW5kDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBsb2FkaW5nIGNh biB1c2UgdGhlDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBwaHlzaWNhbCBhZGRyZXNzIFBoeXNp Y2FsU3RhcnQgd2hpbGUgTU1SQU0gaXMgb3Blbi4NCj4gPiA+ID4+ID4gSG93ZXZlciwNCj4gPiA+ ID4+ID4gPj4+Pj4+Pj4+ICsgb25jZQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+IHRoZQ0KPiA+ID4gPj4g PiA+Pj4+Pj4+Pj4gcmVnaW9uIGhhcyBiZWVuDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBjbG9z ZWQgYW5kIG5lZWRzIHRvIGJlIGFjY2Vzc2VkIGJ5IGFnZW50cyBpbiBNTSwgdGhlDQo+ID4gPiA+ PiA+ID4+Pj4+Pj4+PiArIENwdVN0YXJ0IGFkZHJlc3MNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+IG11 c3QgYmUgdXNlZC4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIFRoaXMgUFBJIHB1Ymxpc2hlcyB0 aGUgYXZhaWxhYmxlIG1lbW9yeSB0aGF0IHRoZSBjaGlwc2V0DQo+ID4gPiA+Y2FuDQo+ID4gPiA+ PiA+ID4+Pj4+Pj4+PiArIHNocm91ZCBmb3INCj4gPiA+ID4+ID4gPj4+Pj4+Pj4gdGhlDQo+ID4g PiA+PiA+ID4+Pj4+Pj4+PiB1c2Ugb2YgaW5zdGFsbGluZyBjb2RlLg0KPiA+ID4gPj4gPiA+Pj4+ Pj4+Pj4gKyAgVGhlc2UgcmVnaW9ucyBzZXJ2ZSB0aGUgZHVhbCBwdXJwb3NlIG9mIGRlc2NyaWJp bmcgd2hpY2gNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgcmVnaW9ucyBoYXZlDQo+ID4gPiA+PiA+ ID4+Pj4+Pj4+PiBiZWVuIG9wZW4sIGNsb3NlZCwgb3IgbG9ja2VkLg0KPiA+ID4gPj4gPiA+Pj4+ Pj4+Pj4gKyAgSW4gYWRkaXRpb24sIHRoZXNlIHJlZ2lvbnMgbWF5IGluY2x1ZGUgb3ZlcmxhcHBp bmcNCj4gPiA+IG1lbW9yeQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyByYW5nZXMsDQo+ID4gPiA+ PiA+ID4+Pj4+Pj4+PiBkZXBlbmRpbmcgb24gdGhlIGNoaXBzZXQNCj4gPiA+ID4+ID4gPj4+Pj4+ Pj4+ICsgIGltcGxlbWVudGF0aW9uLiBUaGUgbGF0dGVyIG1pZ2h0IGluY2x1ZGUgYSBjaGlwc2V0 IHRoYXQNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgc3VwcG9ydHMgVC1TRUcsDQo+ID4gPiA+PiA+ ID4+Pj4+Pj4+PiB3aGVyZSBtZW1vcnkgbmVhciB0aGUgdG9wDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+ PiArICBvZiB0aGUgcGh5c2ljYWwgRFJBTSBjYW4gYmUgYWxsb2NhdGVkIGZvciBNTVJBTSB0b28u DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBUaGUga2V5IHRoaW5nIHRvIG5vdGUgaXMgdGhhdCB0 aGUgcmVnaW9ucyB0aGF0IGFyZSBkZXNjcmliZWQNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgYnkg dGhlIFBQSQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+IGFyZQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+PiBhDQo+ ID4gPiA+PiA+ID4+Pj4+Pj4+PiBzdWJzZXQgb2YgdGhlIGNhcGFiaWxpdGllcw0KPiA+ID4gPj4g PiA+Pj4+Pj4+Pj4gKyAgb2YgdGhlIGhhcmR3YXJlLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKw0K PiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBhcmFtICBQZWlTZXJ2aWNlcyAgICAgICAgICAgIEFu IGluZGlyZWN0IHBvaW50ZXIgdG8gdGhlIFBFSQ0KPiA+ID4gPj4gPiBTZXJ2aWNlcw0KPiA+ID4g Pj4gPiA+Pj4+Pj4gVGFibGUNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+IHB1Ymxpc2hlZCBieSB0aGUg UEVJIEZvdW5kYXRpb24uDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIFRoaXMgICAg ICAgICAgICAgICAgICAgVGhlIEVGSV9QRUlfTU1fQUNDRVNTX1BQSQ0KPiA+ID4gPmluc3RhbmNl Lg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBhcmFtICBNbXJhbU1hcFNpemUgICAgICAgICAg IEEgcG9pbnRlciB0byB0aGUgc2l6ZSwgaW4NCj4gPiA+ID5ieXRlcywNCj4gPiA+ID4+ID4gb2YN Cj4gPiA+ID4+ID4gPj4+Pj4gdGhlDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBNbXJhbU1lbW9yeU1h cCBidWZmZXIuIE9uIGlucHV0LCB0aGlzIHZhbHVlIGlzDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHNpemUgb2YgdGhlIGJ1ZmZlciB0 aGF0DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArIGlzIGFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLiBP bg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gb3V0cHV0LCBpdCBpcyB0aGUgc2l6ZSBvZiB0aGUNCj4g PiA+ID4+ID4gPj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZm ZXIgdGhhdCB3YXMgcmV0dXJuZWQgYnkNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgdGhlIGZpcm13 YXJlIGlmIHRoZSBidWZmZXINCj4gPiA+ID4+ID4gPj4+Pj4+Pj4gd2FzDQo+ID4gPiA+PiA+ID4+ Pj4+Pj4+PiBsYXJnZSBlbm91Z2gsIG9yLCBpZiB0aGUNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXIgd2FzIHRvbyBzbWFsbCwgdGhl DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArIHNpemUgb2YgdGhlIGJ1ZmZlciB0aGF0IGlzDQo+ID4g PiA+PiA+ID4+Pj4+Pj4+IG5lZWRlZCB0bw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gY29udGFpbiB0 aGUgbWFwLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBhcmFtIE1tcmFtTWFwICAgICAgICAg ICAgICAgIEEgcG9pbnRlciB0byB0aGUgYnVmZmVyIGluDQo+ID4gPiA+d2hpY2gNCj4gPiA+ID4+ ID4gPj4+Pj4+IGZpcm13YXJlDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBwbGFjZXMgdGhlIGN1cnJl bnQgbWVtb3J5IG1hcC4gVGhlIG1hcCBpcw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGFuIGFycmF5IG9mDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+ PiArIEVGSV9NTVJBTV9ERVNDUklQVE9Scw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKw0KPiA+ID4g Pj4gPiA+Pj4+Pj4+Pj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgIFRoZSBjaGlw c2V0IHN1cHBvcnRlZCB0aGUNCj4gPiA+IGdpdmVuDQo+ID4gPiA+PiA+ID4+Pj4+IHJlc291cmNl Lg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgQHJldHZhbCBFRklfQlVGRkVSX1RPT19TTUFMTCAg IFRoZSBNbXJhbU1hcA0KPiA+ID4gPj4gPiBwYXJhbWV0ZXINCj4gPiA+ID4+ID4gPj4+IHdhcw0K PiA+ID4gPj4gPiA+Pj4+Pj4gdG9vDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBzbWFsbC4gVGhlIGN1 cnJlbnQNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBidWZmZXIgc2l6ZSBuZWVkZWQgdG8gaG9sZA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyB0 aGUgbWVtb3J5IG1hcCBpcw0KPiA+ID4gPj4gPiA+Pj4+Pj4+IHJldHVybmVkDQo+ID4gPiA+PiA+ ID4+Pj4+Pj4+IGluDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTW1yYW1NYXBTaXplLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKw0KPiA+ID4g Pj4gPiA+Pj4+Pj4+Pj4gKyoqLw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gK3R5cGVkZWYNCj4gPiA+ ID4+ID4gPj4+Pj4+Pj4+ICtFRklfU1RBVFVTDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArKEVGSUFQ SSAqRUZJX1BFSV9NTV9DQVBBQklMSVRJRVMpKA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgSU4g RUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiA+ID4gPj4g PiA+Pj4+Pj4+Pj4gKyAgSU4gRUZJX1BFSV9NTV9BQ0NFU1NfUFBJICAgICAgICAgICAqVGhpcywN Cj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIElOIE9VVCBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgKk1tcmFtTWFwU2l6ZSwNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIElOIE9VVCBFRklfTU1S QU1fREVTQ1JJUFRPUiAgICAgICAgKk1tcmFtTWFwDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICAp Ow0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKy8vLw0KPiA+ ID4gPj4gPiA+Pj4+Pj4+Pj4gKy8vLyAgRUZJIE1NIEFjY2VzcyBQUEkgaXMgdXNlZCB0byBjb250 cm9sIHRoZSB2aXNpYmlsaXR5IG9mDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArdGhlIE1NUkFNIG9u DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+IHRoZQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gcGxhdGZvcm0u DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArLy8vICBJdCBhYnN0cmFjdHMgdGhlIGxvY2F0aW9uIGFu ZCBjaGFyYWN0ZXJpc3RpY3Mgb2YgTU1SQU0uDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArVGhlIHBs YXRmb3JtDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBzaG91bGQgcmVwb3J0DQo+ID4gPiA+PiA+ID4+ Pj4+Pj4+PiArLy8vICBhbGwgTU1SQU0gdmlhIEVGSV9QRUlfTU1fQUNDRVNTX1BQSS4gVGhlDQo+ ID4gPiA+ZXhwZWN0YXRpb24NCj4gPiA+ID4+ID4gaXMNCj4gPiA+ID4+ID4gPj4+IHRoYXQNCj4g PiA+ID4+ID4gPj4+Pj4+Pj4+ICt0aGUNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+IG5vcnRoIGJyaWRn ZSBvcg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKy8vLyAgbWVtb3J5IGNvbnRyb2xsZXIgd291bGQg cHVibGlzaCB0aGlzIFBQSS4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsvLy8NCj4gPiA+ID4+ID4g Pj4+Pj4+Pj4+ICtzdHJ1Y3QgX0VGSV9QRUlfTU1fQUNDRVNTX1BQSSB7DQo+ID4gPiA+PiA+ID4+ Pj4+Pj4+PiArICBFRklfUEVJX01NX09QRU4gICAgICAgICAgT3BlbjsNCj4gPiA+ID4+ID4gPj4+ Pj4+Pj4+ICsgIEVGSV9QRUlfTU1fQ0xPU0UgICAgICAgICBDbG9zZTsNCj4gPiA+ID4+ID4gPj4+ Pj4+Pj4+ICsgIEVGSV9QRUlfTU1fTE9DSyAgICAgICAgICBMb2NrOw0KPiA+ID4gPj4gPiA+Pj4+ Pj4+Pj4gKyAgRUZJX1BFSV9NTV9DQVBBQklMSVRJRVMgIEdldENhcGFiaWxpdGllczsNCj4gPiA+ ID4+ID4gPj4+Pj4+Pj4+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAgICBMb2NrU3RhdGU7DQo+ ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBCT09MRUFOICAgICAgICAgICAgICAgICAgT3BlblN0YXRl Ow0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gK307DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArDQo+ID4g PiA+PiA+ID4+Pj4+Pj4+PiArZXh0ZXJuIEVGSV9HVUlEIGdFZmlQZWlNbUFjY2Vzc1BwaUd1aWQ7 DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArI2VuZGlmDQo+ ID4gPiA+PiA+ID4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0luY2x1ZGUvUHBpL01tQ29u dHJvbC5oDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBiL01kZVBrZy9JbmNsdWRlL1BwaS9NbUNvbnRy b2wuaCBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4gPj4gPiBpbmRleA0KPiA+ID4gPj4gPiA+ Pj4+Pj4+Pj4gMDAwMDAwMDAwMC4uOTgzZWQ5NWNkNQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gLS0t IC9kZXYvbnVsbA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKysrIGIvTWRlUGtnL0luY2x1ZGUvUHBp L01tQ29udHJvbC5oDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBAQCAtMCwwICsxLDkwIEBADQo+ID4g PiA+PiA+ID4+Pj4+Pj4+PiArLyoqIEBmaWxlDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBFRkkg TU0gQ29udHJvbCBQUEkgZGVmaW5pdGlvbi4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsNCj4gPiA+ ID4+ID4gPj4+Pj4+Pj4+ICsgIFRoaXMgUFBJIGlzIHVzZWQgaW5pdGlhdGUgc3luY2hyb25vdXMg TU1JIGFjdGl2YXRpb25zLiBUaGlzDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArIFBQSSBjb3VsZCBi ZQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gcHVibGlzaGVkIGJ5IGEgcHJvY2Vzc29yDQo+ID4gPiA+ PiA+ID4+Pj4+Pj4+PiArICBkcml2ZXIgdG8gYWJzdHJhY3QgdGhlIE1NSSBJUEkgb3IgYSBkcml2 ZXIgd2hpY2ggYWJzdHJhY3RzDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArIHRoZSBBU0lDIHRoYXQN Cj4gPiA+ID4+ID4gPj4+Pj4+PiBpcw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gc3VwcG9ydGluZyB0 aGUgQVBNIHBvcnQuDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBCZWNhdXNlIG9mIHRoZSBwb3Nz aWJpbGl0eSBvZiBwZXJmb3JtaW5nIE1NSSBJUEkNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgdHJh bnNhY3Rpb25zLCB0aGUgYWJpbGl0eQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+PiB0bw0KPiA+ID4gPj4g PiA+Pj4+Pj4+Pj4gZ2VuZXJhdGUgdGhpcyBldmVudA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAg ZnJvbSBhIHBsYXRmb3JtIGNoaXBzZXQgYWdlbnQgaXMgYW4gb3B0aW9uYWwgY2FwYWJpbGl0eSBm b3INCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgYm90aA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyBJ QS0zMg0KPiA+ID4gPj4gPiA+Pj4+Pj4+IGFuZA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4geDY0LWJh c2VkIHN5c3RlbXMuDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+ PiArICBDb3B5cmlnaHQgKGMpIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ ID4gPiA+PiA+ID4+Pj4+Pj4+PiArIHJlc2VydmVkLjxCUj4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gPiA+ PiA+ID4+Pj4+Pj4+PiArDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBAcGFyIFJldmlzaW9uIFJl ZmVyZW5jZToNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIFRoaXMgUFBJIGlzIGludHJvZHVjZWQg aW4gUEkgVmVyc2lvbiAxLjUuDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArDQo+ID4gPiA+PiA+ID4+ Pj4+Pj4+PiArKiovDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+ PiArDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArI2lmbmRlZiBfTU1fQ09OVFJPTF9QUElfSF8NCj4g PiA+ID4+ID4gPj4+Pj4+Pj4+ICsjZGVmaW5lIF9NTV9DT05UUk9MX1BQSV9IXw0KPiA+ID4gPj4g PiA+Pj4+Pj4+Pj4gKw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyNkZWZpbmUgRUZJX1BFSV9NTV9D T05UUk9MX1BQSV9HVUlEIFwNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIHsgMHg2MWM2ODcwMiwg MHg0ZDdlLCAweDRmNDMsIDB4OGQsIDB4ZWYsIDB4YTcsIDB4NDMsIDB4NSwNCj4gPiA+ID4+ID4g Pj4+Pj4+Pj4+ICsweGNlLCAweDc0LA0KPiA+ID4gPj4gPiA+Pj4+Pj4+PiAweGM1IH0NCj4gPiA+ ID4+ID4gPj4+Pj4+Pj4+ICsNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICt0eXBlZGVmIHN0cnVjdCBf RUZJX1BFSV9NTV9DT05UUk9MX1BQSQ0KPiA+ID4gPj4gPiA+Pj4+Pj4gRUZJX1BFSV9NTV9DT05U Uk9MX1BQSTsNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsv KioNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIEludm9rZXMgUFBJIGFjdGl2YXRpb24gZnJvbSB0 aGUgUEkgUEVJIGVudmlyb25tZW50Lg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKw0KPiA+ID4gPj4g PiA+Pj4+Pj4+Pj4gKyAgQHBhcmFtICBQZWlTZXJ2aWNlcyAgICAgICAgICAgQW4gaW5kaXJlY3Qg cG9pbnRlciB0byB0aGUgUEVJDQo+ID4gPiA+PiA+IFNlcnZpY2VzDQo+ID4gPiA+PiA+ID4+Pj4+ IFRhYmxlDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBwdWJsaXNoZWQgYnkgdGhlIFBFSSBGb3VuZGF0 aW9uLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBhcmFtICBUaGlzICAgICAgICAgICAgICAg ICAgVGhlIFBFSV9NTV9DT05UUk9MX1BQSQ0KPiA+ID4gaW5zdGFuY2UuDQo+ID4gPiA+PiA+ID4+ Pj4+Pj4+PiArICBAcGFyYW0gIEFyZ3VtZW50QnVmZmVyICAgICAgICBUaGUgdmFsdWUgcGFzc2Vk IHRvIHRoZQ0KPiA+ID4gTU1JDQo+ID4gPiA+PiA+ID4+PiBoYW5kbGVyLg0KPiA+ID4gPj4gPiA+ Pj4+Pj4+IFRoaXMNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+IHZhbHVlIGNvcnJlc3BvbmRzIHRvIHRo ZQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3dNbWlJbnB1dFZhbHVlIGluIHRoZQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyBSZWdpc3RlckNv bnRleHQgcGFyYW1ldGVyDQo+ID4gPiA+PiA+ID4+Pj4+Pj4gZm9yDQo+ID4gPiA+PiA+ID4+Pj4+ Pj4+IHRoZQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gUmVnaXN0ZXIoKQ0KPiA+ID4gPj4gPiA+Pj4+ Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaW4gdGhlDQo+ ID4gPiA+PiA+ID4+Pj4+Pj4+PiArIEVGSV9NTV9TV19ESVNQQVRDSF9QUk9UT0NPTA0KPiA+ID4g Pj4gPiA+Pj4+Pj4+IGFuZA0KPiA+ID4gPj4gPiA+Pj4+Pj4+PiBpbg0KPiA+ID4gPj4gPiA+Pj4+ Pj4+Pj4gdGhlIENvbnRleHQgcGFyYW1ldGVyDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgY2FsbCB0byB0aGUgRGlzcGF0Y2hGdW5j dGlvbg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBhcmFtICBBcmd1bWVudEJ1ZmZlclNpemUg ICAgVGhlIHNpemUgb2YgdGhlIGRhdGENCj4gPiA+IHBhc3NlZA0KPiA+ID4gPmluDQo+ID4gPiA+ PiA+ID4+Pj4+Pj4+PiBBcmd1bWVudEJ1ZmZlciBvciBOVUxMIGlmIEFyZ3VtZW50QnVmZmVyIGlz IE5VTEwuDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIFBlcmlvZGljICAgICAgICAg ICAgICBBbiBvcHRpb25hbCBtZWNoYW5pc20gdG8NCj4gPiA+ID5wZXJpb2RpY2FsbHkNCj4gPiA+ ID4+ID4gPj4+Pj4gcmVwZWF0DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBhY3RpdmF0aW9uLg0KPiA+ ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBhcmFtICBBY3RpdmF0aW9uSW50ZXJ2YWwgICAgQW4gb3B0 aW9uYWwgcGFyYW1ldGVyIHRvDQo+ID4gPiA+cmVwZWF0DQo+ID4gPiA+PiA+IGF0DQo+ID4gPiA+ PiA+ID4+Pj4+IHRoaXMNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4gcGVyaW9kDQo+ID4gPiA+PiA+ID4+ Pj4+Pj4+PiBvbmUNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRpbWUgb3IsIGlmIHRoZSBQZXJpb2RpYyBCb29sZWFuIGlzIHNldCwNCj4gPiA+ ID4+ID4gcGVyaW9kaWNhbGx5Lg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKw0KPiA+ID4gPj4gPiA+ Pj4+Pj4+Pj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgVGhlIE1NSSBoYXMgYmVl biBlbmdlbmRlcmVkLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgQHJldHZhbCBFRklfREVWSUNF X0VSUk9SICAgICAgVGhlIHRpbWluZyBpcyB1bnN1cHBvcnRlZC4NCj4gPiA+ID4+ID4gPj4+Pj4+ Pj4+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIFRoZSBhY3RpdmF0aW9uIHBlcmlv ZCBpcw0KPiA+ID4gPj4gPiA+Pj4+Pj4gdW5zdXBwb3J0ZWQuDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+ PiArICBAcmV0dmFsIEVGSV9OT1RfU1RBUlRFRCAgICAgICBUaGUgTU0gYmFzZSBzZXJ2aWNlIGhh cw0KPiA+ID4gbm90DQo+ID4gPiA+PiA+ID4+IGJlZW4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4gaW5p dGlhbGl6ZWQuDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiAr KiovDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArdHlwZWRlZg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4g K0VGSV9TVEFUVVMNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsoRUZJQVBJICpFRklfUEVJX01NX0FD VElWQVRFKSAoDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBJTiBFRklfUEVJX1NFUlZJQ0VTICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiA+ID4gPj4gPiA+ Pj4+Pj4+Pj4gKyAgSU4gRUZJX1BFSV9NTV9DT05UUk9MX1BQSSAgICAgICAgICAgICAgICAgICAg ICAgICAgKiBUaGlzLA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgSU4gT1VUIElOVDggICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkFyZ3VtZW50QnVmZmVyDQo+ID4gPiA+ T1BUSU9OQUwsDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBJTiBPVVQgVUlOVE4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqQXJndW1lbnRCdWZmZXJTaXplDQo+ID4gPiA+ PiA+ID4+PiBPUFRJT05BTCwNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIElOIEJPT0xFQU4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBlcmlvZGljIE9QVElPTkFMLA0K PiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgSU4gVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQWN0aXZhdGlvbkludGVydmFsDQo+ID4gPiBPUFRJT05BTA0KPiA+ ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgKTsNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsNCj4gPiA+ID4+ ID4gPj4+Pj4+Pj4+ICsvKioNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIENsZWFycyBhbnkgc3lz dGVtIHN0YXRlIHRoYXQgd2FzIGNyZWF0ZWQgaW4gcmVzcG9uc2UgdG8NCj4gPiA+IHRoZQ0KPiA+ ID4gPj4gPiA+Pj4gVHJpZ2dlcigpDQo+ID4gPiA+PiA+ID4+Pj4+PiBjYWxsLg0KPiA+ID4gPj4g PiA+Pj4+Pj4+Pj4gKw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgQHBhcmFtICBQZWlTZXJ2aWNl cyAgICAgICAgICAgR2VuZXJhbCBwdXJwb3NlIHNlcnZpY2VzDQo+ID4gPiA+YXZhaWxhYmxlDQo+ ID4gPiA+PiA+IHRvDQo+ID4gPiA+PiA+ID4+Pj4+IGV2ZXJ5DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+ IFBFSU0uDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBAcGFyYW0gIFRoaXMgICAgICAgICAgICAg ICAgICBUaGUgUEVJX01NX0NPTlRST0xfUFBJDQo+ID4gPiBpbnN0YW5jZS4NCj4gPiA+ID4+ID4g Pj4+Pj4+Pj4+ICsgIEBwYXJhbSAgUGVyaW9kaWMgICAgICAgICAgICAgIE9wdGlvbmFsIHBhcmFt ZXRlciB0byByZXBlYXQgYXQNCj4gPiA+ID50aGlzDQo+ID4gPiA+PiA+ID4+Pj4+IHBlcmlvZA0K PiA+ID4gPj4gPiA+Pj4+Pj4+IG9uZQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGltZSBvciwgaWYgdGhlIFBlcmlvZGljIEJvb2xlYW4gaXMg c2V0LA0KPiA+ID4gPj4gPiBwZXJpb2RpY2FsbHkuDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArDQo+ ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBUaGUg TU1JIGhhcyBiZWVuIGVuZ2VuZGVyZWQuDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBAcmV0dmFs IEVGSV9ERVZJQ0VfRVJST1IgICAgICBUaGUgc291cmNlIGNvdWxkIG5vdCBiZQ0KPiA+ID4gPj4g PiBjbGVhcmVkLg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9Q QVJBTUVURVIgVGhlIHNlcnZpY2UgZGlkIG5vdA0KPiA+ID4gPnN1cHBvcnQNCj4gPiA+ID4+ID4g Pj4+Pj4+Pj4+ICsgdGhlDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+IFBlcmlvZGljDQo+ID4gPiA+PiA+ ID4+Pj4+Pj4+PiBpbnB1dCBhcmd1bWVudC4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsNCj4gPiA+ ID4+ID4gPj4+Pj4+Pj4+ICsqKi8NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICt0eXBlZGVmDQo+ID4g PiA+PiA+ID4+Pj4+Pj4+PiArRUZJX1NUQVRVUw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyhFRklB UEkgKlBFSV9NTV9ERUFDVElWQVRFKSAoDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBJTiBFRklf UEVJX1NFUlZJQ0VTICAgICAgICAgICAgICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ID4gPiA+ PiA+ID4+Pj4+Pj4+PiArICBJTiBFRklfUEVJX01NX0NPTlRST0xfUFBJICAgICAgICAgICAgICAg ICogVGhpcywNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIElOIEJPT0xFQU4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUGVyaW9kaWMgT1BUSU9OQUwNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ ICsgICk7DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArLy8v DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArLy8vICBUaGUgRUZJX1BFSV9NTV9DT05UUk9MX1BQSSBp cyBwcm9kdWNlZCBieSBhIFBFSU0uDQo+ID4gPiA+SXQNCj4gPiA+ID4+ID4gPj4+Pj4+IHByb3Zp ZGVzDQo+ID4gPiA+PiA+ID4+Pj4+Pj4gYW4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+IGFic3RyYWN0 aW9uIG9mIHRoZQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKy8vLyAgcGxhdGZvcm0gaGFyZHdhcmUg dGhhdCBnZW5lcmF0ZXMgYW4gTU1JLiBUaGVyZSBhcmUNCj4gPiA+ID5vZnRlbg0KPiA+ID4gPj4g PiA+Pj4+Pj4+Pj4gK0kvTyBwb3J0cw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gdGhhdCwgd2hlbiBh Y2Nlc3NlZCwgd2lsbA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKy8vLyAgZ2VuZXJhdGUgdGhlIE1N SS4gQWxzbywgdGhlIGhhcmR3YXJlIG9wdGlvbmFsbHkNCj4gPiA+ID5zdXBwb3J0cw0KPiA+ID4g Pj4gPiA+Pj4+Pj4+Pj4gK3RoZQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+IHBlcmlvZGljDQo+ID4gPiA+ PiA+ID4+Pj4+Pj4+PiBnZW5lcmF0aW9uIG9mIHRoZXNlIHNpZ25hbHMuDQo+ID4gPiA+PiA+ID4+ Pj4+Pj4+PiArLy8vDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArc3RydWN0IF9QRUlfTU1fQ09OVFJP TF9QUEkgew0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgUEVJX01NX0FDVElWQVRFICAgIFRyaWdn ZXI7DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArICBQRUlfTU1fREVBQ1RJVkFURSAgQ2xlYXI7DQo+ ID4gPiA+PiA+ID4+Pj4+Pj4+PiArfTsNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsNCj4gPiA+ID4+ ID4gPj4+Pj4+Pj4+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaVBlaU1tQ29udHJvbFBwaUd1aWQ7DQo+ ID4gPiA+PiA+ID4+Pj4+Pj4+PiArDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiArI2VuZGlmDQo+ID4g PiA+PiA+ID4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL01kZVBrZy5kZWMgYi9NZGVQa2cv TWRlUGtnLmRlYw0KPiA+ID4gPmluZGV4DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiBiMzgyZWZkNTc4 Li4zNGUwZjM5Mzk1IDEwMDY0NA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gLS0tIGEvTWRlUGtnL01k ZVBrZy5kZWMNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsrKyBiL01kZVBrZy9NZGVQa2cuZGVjDQo+ ID4gPiA+PiA+ID4+Pj4+Pj4+PiBAQCAtOTI1LDYgKzkyNSwxMiBAQA0KPiA+ID4gPj4gPiA+Pj4+ Pj4+Pj4gICAjIyBJbmNsdWRlL1BwaS9TZWNIb2JEYXRhLmgNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ ICAgZ0VmaVNlY0hvYkRhdGFQcGlHdWlkID0geyAweDNlYmRhZjIwLCAweDY2NjcsIDB4NDBkOCwN Cj4gPiA+ID57MHhiNCwNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+IDB4ZWUsDQo+ID4gPiA+PiA+ID4+ Pj4+Pj4gMHhmNSwNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+IDB4OTksIDB4OWEsIDB4YzEsIDB4Yjcs IDB4MWYgfSB9DQo+ID4gPiA+PiA+ID4+Pj4+Pj4+Pg0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAg IyMgSW5jbHVkZS9QcGkvTW1BY2Nlc3MuaA0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAgZ0VmaVBl aU1tQWNjZXNzUHBpR3VpZCAgICAgICAgICA9ICB7IDB4MjY4ZjMzYTksIDB4Y2NjZCwNCj4gPiA+ ID4weDQ4YmUsDQo+ID4gPiA+PiA+ID4+Pj4+IHsgMHg4OCwNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4g MHgxNywNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+IDB4ODYsIDB4NSwgMHgzYSwgMHhjMywgMHgyZSwg MHhkNiB9fQ0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gKyAg IyMgSW5jbHVkZS9QcGkvTW1Db250cm9sLmgNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsgIGdFZmlQ ZWlNbUNvbnRyb2xQcGlHdWlkICAgICAgICAgPSAgeyAweDYxYzY4NzAyLCAweDRkN2UsDQo+ID4g PiA+MHg0ZjQzLA0KPiA+ID4gPj4gPiA+Pj4+PiB7IDB4OGQsDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+ IDB4ZWYsDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+PiAweGE3LCAweDQzLCAweDUsIDB4Y2UsIDB4NzQs IDB4YzUgfX0NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICsNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+ICAg Iw0KPiA+ID4gPj4gPiA+Pj4+Pj4+Pj4gICAjIFBQSXMgZGVmaW5lZCBpbiBQSSAxLjcuDQo+ID4g PiA+PiA+ID4+Pj4+Pj4+PiAgICMNCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+IC0tDQo+ID4gPiA+PiA+ ID4+Pj4+Pj4+PiAyLjE2LjIud2luZG93cy4xDQo+ID4gPiA+PiA+ID4+Pj4+Pj4+Pg0KPiA+ID4g Pj4gPiA+Pj4+Pj4+Pj4NCj4gPiA+ID4+ID4gPj4+Pj4+Pj4+DQo+ID4gPiA+PiA+ID4+Pj4NCj4g PiA+ID4+ID4gPj4+Pg0KPiA+ID4gPj4gPiA+Pj4+DQo+ID4gPiA+PiA+ID4+Pj4NCj4gPiA+ID4+ ID4gPj4+DQo+ID4gPiA+PiA+ID4+Pg0KPiA+ID4gPj4gPiA+Pj4NCj4gPiA+ID4+ID4gPg0KPiA+ ID4gPj4gPg0KPiA+ID4gPj4gPg0KPiA+ID4gPj4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4g Pg0KDQo=