From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web09.7051.1581936740500556714 for ; Mon, 17 Feb 2020 02:52:20 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: siyuan.fu@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Feb 2020 02:52:20 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,452,1574150400"; d="scan'208";a="258234248" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga004.fm.intel.com with ESMTP; 17 Feb 2020 02:52:20 -0800 Received: from fmsmsx123.amr.corp.intel.com (10.18.125.38) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 17 Feb 2020 02:52:19 -0800 Received: from shsmsx108.ccr.corp.intel.com (10.239.4.97) by fmsmsx123.amr.corp.intel.com (10.18.125.38) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 17 Feb 2020 02:52:19 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.196]) by SHSMSX108.ccr.corp.intel.com ([169.254.8.98]) with mapi id 14.03.0439.000; Mon, 17 Feb 2020 18:52:16 +0800 From: "Siyuan, Fu" To: "Kinney, Michael D" , "devel@edk2.groups.io" CC: "Ni, Ray" , "Chaganty, Rangasai V" Subject: Re: [edk2-devel] [PATCH v3] IntelSiliconPkg: FIT based shadow microcode PPI support. Thread-Topic: [edk2-devel] [PATCH v3] IntelSiliconPkg: FIT based shadow microcode PPI support. Thread-Index: AQHV4T45Bh6YCeSru0+aVr0AkZ8zGqgYRB6ggAGdkVCAAOyrAIACYLXggACZVoCAAXVWYA== Date: Mon, 17 Feb 2020 10:52:16 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNGRiMTBkNjgtZTljOC00MjZiLTg1OTMtOTAwZTI0ZTE3ZTFkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiRUFoUFJKTUZrZEZsWG5UZ05uaFZGRzdXU3g0bmRzcXVnS1NvREVrSVF4N3lXTGxEaTdQM2Q5U1wvR2dkMkdhbEsifQ== dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: siyuan.fu@intel.com Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGksIE1pa2UNCg0KSSBoYXZlIHNlbnQgVjUgcGF0Y2ggd2hpY2ggcmVtb3ZlcyB0aGUgQVNTRVJU IGFuZCBjaGVjayB0aGUgRklUIHBvaW50ZXINCmFnYWluc3QgdmFsaWQgZmlybXdhcmUgYWRkcmVz cyByYW5nZSAoNEctMTZNQiB0byA0Ry0weDQwKS4gUGxlYXNlIGhlbHANCnRvIHJldmlldyBpdC4g VGhhbmtzLg0KDQpCZXN0IFJlZ2FyZHMNClNpeXVhbiANCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRl bC5jb20+DQo+IFNlbnQ6IDIwMjDE6jLUwjE3yNUgNDozNQ0KPiBUbzogRnUsIFNpeXVhbiA8c2l5 dWFuLmZ1QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBLaW5uZXksDQo+IE1pY2hh ZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+IENjOiBOaSwgUmF5IDxyYXkubmlA aW50ZWwuY29tPjsgQ2hhZ2FudHksIFJhbmdhc2FpIFYNCj4gPHJhbmdhc2FpLnYuY2hhZ2FudHlA aW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSCB2M10gSW50ZWxT aWxpY29uUGtnOiBGSVQgYmFzZWQgc2hhZG93DQo+IG1pY3JvY29kZSBQUEkgc3VwcG9ydC4NCj4g DQo+IFRoZW4gdGhlIGNoZWNrcyBhZ2FpbnN0IDB4RkZGRkZGRkZGRkZGRkZGRiBhbmQgMHhFRUVF RUVFRUVFRUVFRUVFDQo+IHNob3VsZCBiZSByZW1vdmVkLg0KPiANCj4gSWYgdGhvc2UgY2hlY2tz IGFyZSBpbXBvcnRhbnQsIHRoZW4gcmVwbGFjZSB3aXRoIGNoZWNrcyBhZ2FpbnN0DQo+IG1heCBw aHlzaWNhbCBhZGRyZXNzLiAgT3IgaWYgaXQgaXMgZ3VhcmFudGVlZCB0byBiZSBiZWxvdyA0R0Is DQo+IHRoZW4gY2hlY2sgYWdhaW5zdCB0aGF0IHZhbHVlIHdpdGggYSBjbGVhciBjb21tZW50IGZv ciB0aGUNCj4gY2hlY2tzIGJlaW5nIHBlcmZvcm1lZC4NCj4gDQo+IE1pa2UNCj4gDQo+ID4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBGdSwgU2l5dWFuIDxzaXl1YW4uZnVA aW50ZWwuY29tPg0KPiA+IFNlbnQ6IFNhdHVyZGF5LCBGZWJydWFyeSAxNSwgMjAyMCA3OjM2IFBN DQo+ID4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47 DQo+ID4gZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiBDYzogTmksIFJheSA8cmF5Lm5pQGludGVs LmNvbT47IENoYWdhbnR5LCBSYW5nYXNhaSBWDQo+ID4gPHJhbmdhc2FpLnYuY2hhZ2FudHlAaW50 ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYzXSBJbnRlbFNp bGljb25Qa2c6DQo+ID4gRklUIGJhc2VkIHNoYWRvdyBtaWNyb2NvZGUgUFBJIHN1cHBvcnQuDQo+ ID4NCj4gPiBIaSwgTWlrZQ0KPiA+DQo+ID4gVGhlIEZJVFBvaW50ZXIgcG9pbnRzIHRvIHRoZSBG SVQgdGFibGUgYWRkcmVzcyBvbiBmbGFzaA0KPiA+ICh3aXRoaW4gdG9wIDE2TUINCj4gPiBvZiA0 R0IpLiBJdCdzIG5vdCBhIG1lbW9yeSBhZGRyZXNzIGFuZCBub3JtYWxseSBpdCdzDQo+ID4gYWx3 YXlzIGxhcmdlIHRoYW4NCj4gPiB0aGUgTWVtb3J5VG9wIGFkZHJlc3MgaW4gUEhJVC4gU28gd2Ug Y291bGRuJ3QgdXNlIFBISVQNCj4gPiBIT0IgdG8gY2hlY2sNCj4gPiB0aGUgRklUIHBvaW50ZXIu DQo+ID4NCj4gPg0KPiA+DQo+ID4gQmVzdCBSZWdhcmRzDQo+ID4gU2l5dWFuDQo+ID4NCj4gPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwg RCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiBTZW50OiAyMDIwxOoy1MIxNcjV IDc6MDcNCj4gPiA+IFRvOiBGdSwgU2l5dWFuIDxzaXl1YW4uZnVAaW50ZWwuY29tPjsNCj4gPiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbzsgS2lubmV5LA0KPiA+ID4gTWljaGFlbCBEIDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbT4NCj4gPiA+IENjOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsg Q2hhZ2FudHksIFJhbmdhc2FpIFYNCj4gPiA+IDxyYW5nYXNhaS52LmNoYWdhbnR5QGludGVsLmNv bT4NCj4gPiA+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYzXSBJbnRlbFNpbGlj b25Qa2c6DQo+ID4gRklUIGJhc2VkIHNoYWRvdw0KPiA+ID4gbWljcm9jb2RlIFBQSSBzdXBwb3J0 Lg0KPiA+ID4NCj4gPiA+IFNpeXVhbiwNCj4gPiA+DQo+ID4gPiBJZiB0aGUgRklUIGlzIG5vdCB2 YWxpZCwgdGhlbiB0aGUgQVBJIHNob3VsZCBqdXN0DQo+ID4gcmV0dXJuDQo+ID4gPiBhbiBlcnJv ciB3aXRob3V0IEFTU0VSVCgpLiAgTm90IGFsbCBzeXN0ZW0gc3VwcG9ydA0KPiA+IEZJVCBvcg0K PiA+ID4gZmlsbCBpbiBGSVQuICBUaGUgY29kZSBpcyBtb3JlIGdlbmVyaWMgaWYgaXQganVzdA0K PiA+IGRvZXMNCj4gPiA+IHRoZSBjaGVjayBhbmQgcmV0dXJucyBhbiBlcnJvci4NCj4gPg0KPiA+ IFRoaXMgaXMgYW4gb3B0aW9uYWwgUEVJTSBhbmQgb25seSB0aGVzZSBzeXN0ZW1zIHdoaWNoDQo+ ID4gc3VwcG9ydCBGSVQgc2hvdWxkIHVzZSBpdC4gT3RoZXIgcGxhdGZvcm1zIHNob3VsZCBub3QN Cj4gPiBpbmNsdWRlIHRoaXMgUEVJTSBzbyBNcEluaXRMaWIgd2lsbCBzdGlsbCB1c2UgdGhlIFBD RA0KPiA+IGJhc2VkIG1pY3JvY29kZSBzaGFkb3cgYXMgdXN1YWwuDQo+ID4gQnV0IGl0J3Mgb2sg dG8gbWUgaWYgeW91IHRoaW5rIGl0J3MgbmVjZXNzYXJ5IHRvIHJlbW92ZQ0KPiA+IHRoZXNlIEFT U0VSVCBzbyBhbnkgcGxhdGZvcm0gY2FuIGluY2x1ZGUgdGhpcyBQRUlNDQo+ID4gd2l0aG91dCBh ZGRpdGlvbmFsIGNvbmNlcm4uIEkgd2lsbCB1cGRhdGUgcGF0Y2ggZm9yDQo+ID4gdGhpcy4NCj4g Pg0KPiA+ID4NCj4gPiA+IFRoZSBjaGVjayBsb29rcyBpbmNvbXBsZXRlIHRvIG1lLiAgV2Uga25v dyB0aGF0IG1heA0KPiA+IHBoeXNpY2FsDQo+ID4gPiBhZGRyZXNzIG9mIHRoZSBDUFUgZnJvbSB0 aGUgUEhJVCBIT0IuICBJZiB0aGUNCj4gPiBwaHlzaWNhbCBhZGRyZXNzDQo+ID4gPiB2YWx1ZSBp cyBncmVhdGVyIHRoYW4gdGhlIG1heCBwaHlzaWNhbCBhZGRyZXNzLCB0aGVuDQo+ID4gdGhlDQo+ ID4gPiBwb2ludGVyIGlzIGludmFsaWQuICBUaGlzIHdvdWxkIGNvdmVyIHRoZSAyIHBvaW50DQo+ ID4gY2FzZXMgb2YNCj4gPiA+IGFsbCBGcyBhbmQgYWxsIEVzLg0KPiA+DQo+ID4gVGhlIEZJVFBv aW50ZXIgcG9pbnRzIHRvIHRoZSBGSVQgdGFibGUgYWRkcmVzcyBvbiBmbGFzaA0KPiA+ICh3aXRo aW4gdG9wDQo+ID4gMTZNQiBvZiA0R0IpLiBJdCdzIG5vdCBhIG1lbW9yeSBhZGRyZXNzIGFuZCBu b3JtYWxseQ0KPiA+IGl0J3MgYWx3YXlzDQo+ID4gbGFyZ2VyIHRoYW4gdGhlIE1lbW9yeVRvcCBh ZGRyZXNzIGluIFBISVQuIFNvIHdlDQo+ID4gY291bGRuJ3QgdXNlDQo+ID4gUEhJVCBIT0IgdG8g Y2hlY2sgdGhlIEZJVCBwb2ludGVyLg0KPiA+DQo+ID4gQmVzdCBSZWdhcmRzLA0KPiA+IFNpeXVh bg0KPiA+DQo+ID4gPg0KPiA+ID4gTWlrZQ0KPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPiA+ID4gRnJvbTogRnUsIFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNv bT4NCj4gPiA+ID4gU2VudDogVGh1cnNkYXksIEZlYnJ1YXJ5IDEzLCAyMDIwIDU6MzMgUE0NCj4g PiA+ID4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47 DQo+ID4gPiA+IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiA+IENjOiBOaSwgUmF5IDxyYXku bmlAaW50ZWwuY29tPjsgQ2hhZ2FudHksIFJhbmdhc2FpDQo+ID4gVg0KPiA+ID4gPiA8cmFuZ2Fz YWkudi5jaGFnYW50eUBpbnRlbC5jb20+DQo+ID4gPiA+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZl bF0gW1BBVENIIHYzXQ0KPiA+IEludGVsU2lsaWNvblBrZzoNCj4gPiA+ID4gRklUIGJhc2VkIHNo YWRvdyBtaWNyb2NvZGUgUFBJIHN1cHBvcnQuDQo+ID4gPiA+DQo+ID4gPiA+IEhpIE1pa2UNCj4g PiA+ID4NCj4gPiA+ID4gU2VlIG15IHJlcGx5IGZvciB0aGUgQVNTRVJUIGFuZCBtYWdpYyBudW1i ZXIgYXJvdW5kDQo+ID4gRklUDQo+ID4gPiA+IHRhYmxlIHBhcnNpbmcgY29kZS4NCj4gPiA+ID4N Cj4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+IEZyb206IEtp bm5leSwgTWljaGFlbCBEDQo+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4g PiA+IFNlbnQ6IDIwMjDE6jLUwjEzyNUgODo1OA0KPiA+ID4gPiA+IFRvOiBkZXZlbEBlZGsyLmdy b3Vwcy5pbzsgRnUsIFNpeXVhbg0KPiA+ID4gPiA8c2l5dWFuLmZ1QGludGVsLmNvbT47IEtpbm5l eSwgTWljaGFlbA0KPiA+ID4gPiA+IEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ ID4gPiA+IENjOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgQ2hhZ2FudHksDQo+ID4gUmFu Z2FzYWkgVg0KPiA+ID4gPiA+IDxyYW5nYXNhaS52LmNoYWdhbnR5QGludGVsLmNvbT4NCj4gPiA+ ID4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSCB2M10NCj4gPiBJbnRlbFNpbGlj b25Qa2c6DQo+ID4gPiA+IEZJVCBiYXNlZCBzaGFkb3cNCj4gPiA+ID4gPiBtaWNyb2NvZGUgUFBJ IHN1cHBvcnQuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBTaXl1YW4sDQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiBJbnRlbFNpbGljb25Qa2cvRmVhdHVyZS9TaGFkb3dNaWNyb2NvZGU6DQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiBGb3Igc2ltcGxlIG1vZHVsZXMgdGhhdCBvbmx5IGhhdmUgYSBzaW5nbGUgLmMN Cj4gPiBmaWxlLA0KPiA+ID4gPiB0aGVyZQ0KPiA+ID4gPiA+IElzIG5vdCBuZWVkIHRvIHNwbGl0 IG91dCBhIC5oIGZpbGUuICBQbGVhc2UgbWVyZ2UNCj4gPiB0aGUNCj4gPiA+ID4gLmgNCj4gPiA+ ID4gPiBGaWxlIGNvbnRlbnQgaW50byB0aGUgLmMgZmlsZSBhbmQgZGVsZXRlIHRoZSAuaA0KPiA+ IGZpbGUuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBNb3JlIGNvbW1lbnRzIGlubGluZSBiZWxvdy4N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IE1pa2UNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBz LmlvDQo+ID4gPGRldmVsQGVkazIuZ3JvdXBzLmlvPg0KPiA+ID4gPiBPbg0KPiA+ID4gPiA+ID4g QmVoYWxmIE9mIFNpeXVhbiwgRnUNCj4gPiA+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIEZlYnJ1YXJ5 IDExLCAyMDIwIDQ6NDggUE0NCj4gPiA+ID4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0K PiA+ID4gPiA+ID4gQ2M6IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+OyBDaGFnYW50eSwNCj4g PiBSYW5nYXNhaQ0KPiA+ID4gPiBWDQo+ID4gPiA+ID4gPiA8cmFuZ2FzYWkudi5jaGFnYW50eUBp bnRlbC5jb20+DQo+ID4gPiA+ID4gPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENIIHYzXQ0K PiA+IEludGVsU2lsaWNvblBrZzoNCj4gPiA+ID4gRklUDQo+ID4gPiA+ID4gPiBiYXNlZCBzaGFk b3cgbWljcm9jb2RlIFBQSSBzdXBwb3J0Lg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFYzIENo YW5nZXM6DQo+ID4gPiA+ID4gPiBSZW1vdmUgdGhlIGZlYXR1cmUgUENEDQo+ID4gUGNkQ3B1U2hh ZG93TWljcm9jb2RlQnlGaXQNCj4gPiA+ID4gPiA+IGJlY2F1c2UgdGhlIHdob2xlIEZJVCBtaWNy b2NvZGUgc2hhZG93IGNvZGUgaXMNCj4gPiA+ID4gbW92ZWQgdG8NCj4gPiA+ID4gPiA+IHRoaXMg UEVJTSBzbyBwbGF0Zm9ybSBjb3VsZCBkaXNhYmxlIHRoaXMNCj4gPiBmZWF0dXJlIGJ5DQo+ID4g PiA+IG5vdA0KPiA+ID4gPiA+ID4gaW5jbHVkZSBQRUlNIG5vdy4NCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiBWMiBDaGFuZ2VzOg0KPiA+ID4gPiA+ID4gUmVuYW1lIEVES0lJX1BFSV9DUFVfTUlD Uk9DT0RFX0lEIHRvDQo+ID4gPiA+ID4gPiBFREtJSV9QRUlfTUlDUk9DT0RFX0NQVV9JRC4NCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBUaGlzIHBhdGNoIGFkZHMgYSBwbGF0Zm9ybSBQRUlNIGZv ciBGSVQgYmFzZWQNCj4gPiA+ID4gc2hhZG93DQo+ID4gPiA+ID4gPiBtaWNyb2NvZGUgUFBJIHN1 cHBvcnQuIEEgZGV0YWlsZWQgZGVzaWduIGRvYw0KPiA+IGNhbiBiZQ0KPiA+ID4gPiA+ID4gZm91 bmQgaGVyZToNCj4gPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gaHR0cHM6Ly9lZGsyLmdyb3Vwcy5p by9nL2RldmVsL2ZpbGVzL0Rlc2lnbnMvMjAyMC8wMjE0Lw0KPiA+ID4gPiA+ID4gU3VwcG9ydCUy MA0KPiA+ID4gPiA+ID4gdGhlJTIwMm5kJTIwTWljcm9jb2RlJTIwRlYlMjBGbGFzaCUyMFJlZ2lv bi5wZGYNCj4gPiA+ID4gVHJpbSBsb25nIHBhdGNoIGNvbnRlbnQuDQo+ID4gPiA+DQo+ID4gPiA+ ID4gPiArDQo+ID4gPiA+ID4gPiArKiovDQo+ID4gPiA+ID4gPiArRUZJX1NUQVRVUw0KPiA+ID4g PiA+ID4gK1NoYWRvd01pY3JvY29kZVBhdGNoQnlGaXQgKA0KPiA+ID4gPiA+ID4gKyAgSU4gIFVJ TlRODQo+ID4gPiA+ID4gPiBDcHVJZENvdW50LA0KPiA+ID4gPiA+ID4gKyAgSU4gIEVES0lJX1BF SV9NSUNST0NPREVfQ1BVX0lEDQo+ID4gPiA+ID4gPiAqTWljcm9jb2RlQ3B1SWQsDQo+ID4gPiA+ ID4gPiArICBPVVQgVUlOVE4NCj4gPiA+ID4gPiA+ICpCdWZmZXJTaXplLA0KPiA+ID4gPiA+ID4g KyAgT1VUIFZPSUQNCj4gPiA+ID4gKipCdWZmZXINCj4gPiA+ID4gPiA+ICsgICkNCj4gPiA+ID4g PiA+ICt7DQo+ID4gPiA+ID4gPiArICBVSU5UNjQNCj4gPiBGaXRQb2ludGVyOw0KPiA+ID4gPiA+ ID4gKyAgRklSTVdBUkVfSU5URVJGQUNFX1RBQkxFX0VOVFJZICAgICpGaXRFbnRyeTsNCj4gPiA+ ID4gPiA+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRyeU51bTsNCj4g PiA+ID4gPiA+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRleDsNCj4g PiA+ID4gPiA+ICsgIE1JQ1JPQ09ERV9QQVRDSF9JTkZPDQo+ID4gPiA+ICpQYXRjaEluZm9CdWZm ZXI7DQo+ID4gPiA+ID4gPiArICBVSU5UTg0KPiA+ID4gPiBNYXhQYXRjaE51bWJlcjsNCj4gPiA+ ID4gPiA+ICsgIENQVV9NSUNST0NPREVfSEVBREVSDQo+ID4gPiA+ID4gPiAqTWljcm9jb2RlRW50 cnlQb2ludDsNCj4gPiA+ID4gPiA+ICsgIFVJTlRODQo+ID4gUGF0Y2hDb3VudDsNCj4gPiA+ID4g PiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbFNpemU7DQo+ID4g PiA+ID4gPiArICBVSU5UTg0KPiA+IFRvdGFsTG9hZFNpemU7DQo+ID4gPiA+ID4gPiArDQo+ID4g PiA+ID4gPiArICBGaXRQb2ludGVyID0gKihVSU5UNjQgKikgKFVJTlROKQ0KPiA+ID4gPiA+ID4g RklUX1BPSU5URVJfQUREUkVTUzsgIGlmDQo+ID4gPiA+ID4gPiArICgoRml0UG9pbnRlciA9PSAw KSB8fA0KPiA+ID4gPiA+ID4gKyAgICAgIChGaXRQb2ludGVyID09IDB4RkZGRkZGRkZGRkZGRkZG RikgfHwNCj4gPiA+ID4gPiA+ICsgICAgICAoRml0UG9pbnRlciA9PSAweEVFRUVFRUVFRUVFRUVF RUUpKSB7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBBcmUgdGhlc2UgY29uc3RhbnRzIGRlZmluZWQg aW4gdGhlIEZJVCBpbmNsdWRlDQo+ID4gZmlsZT8NCj4gPiA+ID4gPiBXb3VsZCBiZSBiZXR0ZXIg aWYgdGhleSBhcmUgI2RlZmluZXMgZnJvbSBGSVQNCj4gPiBpbmNsdWRlDQo+ID4gPiA+ID4gZmls ZSBvciBpbiB0aGlzIG1vZHVsZS4NCj4gPiA+ID4NCj4gPiA+ID4gVGhlc2UgdmFsdWVzIGFyZSBu b3QgZGVmaW5lZCBpbiBGSVQgaW5jbHVkZSBmaWxlIG9yDQo+ID4gRklUDQo+ID4gPiA+IHNwZWNp ZmljYXRpb24uDQo+ID4gPiA+IFRoZSBvbmx5IHdheSB0byBpZGVudGlmeSBpZiBGSVQgdGFibGUg aXMgZXhpc3QgaW4NCj4gPiBGSVQNCj4gPiA+ID4gc3BlYyBpcyB0aGUgX0ZJVF8NCj4gPiA+ID4g c2lnbmF0dXJlLCB3aGljaCBkZWZpbmVkIGluIEZJVCBoZWFkZXIgZmlsZSBhcw0KPiA+ID4gPiBG SVRfVFlQRV8wMF9TSUdOQVRVUkUgYW5kIGNoZWNrIGJlbG93Lg0KPiA+ID4gPg0KPiA+ID4gPiBU aGlzIGlmIGNoZWNrIGlzIGNvcGllZCBmcm9tIHRoZQ0KPiA+ID4gPiBJbml0aWFsaXplRml0TWlj cm9jb2RlSW5mbygpIGZ1bmN0aW9uDQo+ID4gPiA+IGluDQo+ID4gPiA+DQo+ID4gU2lsaWNvblxJ bnRlbFxJbnRlbFNpbGljb25Qa2dcRmVhdHVyZVxDYXBzdWxlXE1pY3JvY29kZQ0KPiA+ID4gPiBV cGRhdGVEeGVcTWljcm9jb2RlRm1wLmMuDQo+ID4gPiA+IEkgdGhpbmsgaXQganVzdCBhc3N1bWVz IHRoZSBkZWZhdWx0IHZhbHVlIG9mIGZsYXNoDQo+ID4gPiA+IGNvbnRlbnQgaXMgMHhGRg0KPiA+ ID4gPiBvciAweEVFIGFuZCBjaGVjayB0aGF0Lg0KPiA+ID4gPg0KPiA+ID4gPiBUaGlzIGlzIGFs c28gd2h5IEkgdXNlIEFTU0VSVCBpZiB0aGUgZmxhc2ggY29udGVudA0KPiA+ID4gPiBkb2Vzbid0 IHNlZW1zDQo+ID4gPiA+IGxpa2UgYSB2YWxpZCBGSVQgdGFibGUgaW4gYmVsb3cgaWYgY2hlY2tz LiBGSVQgYm9vdA0KPiA+IGlzDQo+ID4gPiA+IGNyaXRpY2FsIHRvDQo+ID4gPiA+IHByb2Nlc3Nv ciBtaWNyb2NvZGUgbG9hZCBhbmQgQklPUyBSVFUgc2V0dXAuIEFuZA0KPiA+ID4gPiBpbmNsdWRp bmcNCj4gPiA+ID4gdGhpcyBQRUlNIGludG8gdGhlIHBsYXRmb3JtIG1lYW5zIHRoZSBwbGF0Zm9y bQ0KPiA+IG93bmVyDQo+ID4gPiA+IHdhbnQgdG8NCj4gPiA+ID4gdXNlIEZJVCBiYXNlZCBib290 IGFuZCBtaWNyb2NvZGUgbG9hZGluZy4gVGhlc2UNCj4gPiBBU1NFUlRzDQo+ID4gPiA+IHdvdWxk DQo+ID4gPiA+IGJlIGhlbHBmdWwgdG8gbGV0IHRoZW0gaWYgdGhlIEZJVCB0YWJsZSBjb250ZW50 IGlzDQo+ID4gPiA+IGludmFsaWQgaW4gYSBERUJVRw0KPiA+ID4gPiB2ZXJzaW9uIEJJT1MgaW1h Z2UuDQo+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgLy8NCj4gPiA+ID4gPiA+ ICsgICAgLy8gTm8gRklUIHRhYmxlLg0KPiA+ID4gPiA+ID4gKyAgICAvLw0KPiA+ID4gPiA+ID4g KyAgICBBU1NFUlQgKEZBTFNFKTsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IElzIGl0IGFwcHJvcHJp YXRlIHRvIEFTU0VSVCgpIGhlcmU/ICBDYW4gdGhpcyBiZQ0KPiA+ID4gPiByZW1vdmVkPw0KPiA+ ID4gPiA+IFdvdWxkIGEgREVCVUdfRVJST1IgbWVzc2FnZSBiZSBiZXR0ZXI/DQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ICsgICAgcmV0dXJuIEVGSV9OT1RfRk9VTkQ7DQo+ID4gPiA+ID4gPiArICB9 DQo+ID4gPiA+ID4gPiArICBGaXRFbnRyeSA9IChGSVJNV0FSRV9JTlRFUkZBQ0VfVEFCTEVfRU5U UlkNCj4gPiAqKQ0KPiA+ID4gPiA+ID4gKFVJTlROKSBGaXRQb2ludGVyOyAgaWYNCj4gPiA+ID4g PiA+ICsgKChGaXRFbnRyeVswXS5UeXBlICE9IEZJVF9UWVBFXzAwX0hFQURFUikgfHwNCj4gPiA+ ID4gPiA+ICsgICAgICAoRml0RW50cnlbMF0uQWRkcmVzcyAhPQ0KPiA+ID4gPiBGSVRfVFlQRV8w MF9TSUdOQVRVUkUpKQ0KPiA+ID4gPiA+ID4gew0KPiA+ID4gPiA+ID4gKyAgICAvLw0KPiA+ID4g PiA+ID4gKyAgICAvLyBJbnZhbGlkIEZJVCB0YWJsZSwgdHJlYXQgaXQgYXMgbm8gRklUDQo+ID4g PiA+IHRhYmxlLg0KPiA+ID4gPiA+ID4gKyAgICAvLw0KPiA+ID4gPiA+ID4gKyAgICBBU1NFUlQg KEZBTFNFKTsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IElzIGl0IGFwcHJvcHJpYXRlIHRvIEFTU0VS VCgpIGhlcmU/ICBDYW4gdGhpcyBiZQ0KPiA+ID4gPiByZW1vdmVkPw0KPiA+ID4gPiA+IFdvdWxk IGEgREVCVUdfRVJST1IgbWVzc2FnZSBiZSBiZXR0ZXI/DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ICsgICAgcmV0dXJuIEVGSV9OT1RfRk9VTkQ7DQo+ID4gPiA+ID4gPiArICB9DQo+ID4gPiA+ID4g PiArDQo+ID4gPiA+ID4gPiArICBFbnRyeU51bSA9ICooVUlOVDMyICopKCZGaXRFbnRyeVswXS5T aXplWzBdKQ0KPiA+ICYNCj4gPiA+ID4gPiA+IDB4RkZGRkZGOw0KPiA+ID4gPiA+ID4gKw0KPiA+ ID4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gPiA+ICsgIC8vIENhbGN1bGF0ZSBtaWNyb2NvZGUgZW50 cnkgbnVtYmVyDQo+ID4gPiA+ID4gPiArICAvLw0KPiA+ID4gPiA+ID4gKyAgTWF4UGF0Y2hOdW1i ZXIgPSAwOw0KPiA+ID4gPiA+ID4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgRW50cnlOdW07 IEluZGV4KyspIHsNCj4gPiA+ID4gPiA+ICsgICAgaWYgKEZpdEVudHJ5W0luZGV4XS5UeXBlID09 DQo+ID4gPiA+IEZJVF9UWVBFXzAxX01JQ1JPQ09ERSkNCj4gPiA+ID4gPiA+IHsNCj4gPiA+ID4g PiA+ICsgICAgICBNYXhQYXRjaE51bWJlcisrOw0KPiA+ID4gPiA+ID4gKyAgICB9DQo+ID4gPiA+ ID4gPiArICB9DQo+ID4gPiA+ID4gPiArICBpZiAoTWF4UGF0Y2hOdW1iZXIgPT0gMCkgew0KPiA+ ID4gPiA+ID4gKyAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCj4gPiA+ID4gPiA+ICsgIH0NCj4g PiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgIFBhdGNoSW5mb0J1ZmZlciA9IEFsbG9jYXRlUG9v bA0KPiA+IChNYXhQYXRjaE51bWJlciAqDQo+ID4gPiA+ID4gPiBzaXplb2YNCj4gPiA+ID4gPiA+ ICsgKE1JQ1JPQ09ERV9QQVRDSF9JTkZPKSk7ICBpZiAoUGF0Y2hJbmZvQnVmZmVyDQo+ID4gPT0N Cj4gPiA+ID4gPiA+IE5VTEwpIHsNCj4gPiA+ID4gPiA+ICsgICAgcmV0dXJuIEVGSV9PVVRfT0Zf UkVTT1VSQ0VTOw0KPiA+ID4gPiA+ID4gKyAgfQ0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4g KyAgLy8NCj4gPiA+ID4gPiA+ICsgIC8vIEZpbGwgdXAgbWljcm9jb2RlIHBhdGNoIGluZm8gYnVm ZmVyDQo+ID4gYWNjb3JkaW5nDQo+ID4gPiA+IHRvDQo+ID4gPiA+ID4gPiBGSVQgdGFibGUuDQo+ ID4gPiA+ID4gPiArICAvLw0KPiA+ID4gPiA+ID4gKyAgUGF0Y2hDb3VudCA9IDA7DQo+ID4gPiA+ ID4gPiArICBUb3RhbExvYWRTaXplID0gMDsNCj4gPiA+ID4gPiA+ICsgIGZvciAoSW5kZXggPSAw OyBJbmRleCA8IEVudHJ5TnVtOyBJbmRleCsrKSB7DQo+ID4gPiA+ID4gPiArICAgIGlmIChGaXRF bnRyeVtJbmRleF0uVHlwZSA9PQ0KPiA+ID4gPiBGSVRfVFlQRV8wMV9NSUNST0NPREUpDQo+ID4g PiA+ID4gPiB7DQo+ID4gPiA+ID4gPiArICAgICAgTWljcm9jb2RlRW50cnlQb2ludCA9DQo+ID4g KENQVV9NSUNST0NPREVfSEVBREVSDQo+ID4gPiA+ICopDQo+ID4gPiA+ID4gPiAoVUlOVE4pIEZp dEVudHJ5W0luZGV4XS5BZGRyZXNzOw0KPiA+ID4gPiA+ID4gKyAgICAgIFRvdGFsU2l6ZSA9IChN aWNyb2NvZGVFbnRyeVBvaW50LQ0KPiA+ID5EYXRhU2l6ZQ0KPiA+ID4gPiA9PSAwKQ0KPiA+ID4g PiA+ID4gPyAyMDQ4IDogTWljcm9jb2RlRW50cnlQb2ludC0+VG90YWxTaXplOw0KPiA+ID4gPiA+ ID4gKyAgICAgIGlmIChJc01pY3JvY29kZVBhdGNoTmVlZExvYWQNCj4gPiAoQ3B1SWRDb3VudCwN Cj4gPiA+ID4gPiA+IE1pY3JvY29kZUNwdUlkLCBNaWNyb2NvZGVFbnRyeVBvaW50KSkgew0KPiA+ ID4gPiA+ID4gKyAgICAgICAgUGF0Y2hJbmZvQnVmZmVyW1BhdGNoQ291bnRdLkFkZHJlc3MNCj4g PiA9DQo+ID4gPiA+ID4gPiAoVUlOVE4pIE1pY3JvY29kZUVudHJ5UG9pbnQ7DQo+ID4gPiA+ID4g PiArICAgICAgICBQYXRjaEluZm9CdWZmZXJbUGF0Y2hDb3VudF0uU2l6ZQ0KPiA+ID0NCj4gPiA+ ID4gPiA+IFRvdGFsU2l6ZTsNCj4gPiA+ID4gPiA+ICsgICAgICAgIFRvdGFsTG9hZFNpemUgKz0g VG90YWxTaXplOw0KPiA+ID4gPiA+ID4gKyAgICAgICAgUGF0Y2hDb3VudCsrOw0KPiA+ID4gPiA+ ID4gKyAgICAgIH0NCj4gPiA+ID4gPiA+ICsgICAgfQ0KPiA+ID4gPiA+ID4gKyAgfQ0KPiA+ID4g PiA+ID4gKw0KPiA+ID4gPiA+ID4gKyAgaWYgKFBhdGNoQ291bnQgIT0gMCkgew0KPiA+ID4gPiA+ ID4gKyAgICBERUJVRyAoKA0KPiA+ID4gPiA+ID4gKyAgICAgIERFQlVHX0lORk8sDQo+ID4gPiA+ ID4gPiArICAgICAgIiVhOiAweCV4IG1pY3JvY29kZSBwYXRjaGVzIHdpbGwgYmUNCj4gPiBsb2Fk ZWQNCj4gPiA+ID4gaW50bw0KPiA+ID4gPiA+ID4gbWVtb3J5LCB3aXRoIHNpemUgMHgleC5cbiIs DQo+ID4gPiA+ID4gPiArICAgICAgX19GVU5DVElPTl9fLCBQYXRjaENvdW50LCBUb3RhbExvYWRT aXplDQo+ID4gPiA+ID4gPiArICAgICAgKSk7DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiAr ICAgIFNoYWRvd01pY3JvY29kZVBhdGNoV29ya2VyDQo+ID4gKFBhdGNoSW5mb0J1ZmZlciwNCj4g PiA+ID4gPiA+IFBhdGNoQ291bnQsDQo+ID4gPiA+ID4gPiArIFRvdGFsTG9hZFNpemUsIEJ1ZmZl clNpemUsIEJ1ZmZlcik7ICB9DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArICBGcmVlUG9v bCAoUGF0Y2hJbmZvQnVmZmVyKTsNCj4gPiA+ID4gPiA+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsN Cj4gPiA+ID4gPiA+ICt9DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4g PiArLyoqDQo+ID4gPiA+ID4gPiArICBTaGFkb3cgbWljcm9jb2RlIHVwZGF0ZSBwYXRjaGVzIHRv IG1lbW9yeS4NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgIFRoZSBmdW5jdGlvbiBpcyB1 c2VkIGZvciBzaGFkb3dpbmcgbWljcm9jb2RlDQo+ID4gPiA+IHVwZGF0ZQ0KPiA+ID4gPiA+ID4g cGF0Y2hlcyB0byBhIGNvbnRpbnVvdXMgbWVtb3J5Lg0KPiA+ID4gPiA+ID4gKyAgSXQgc2hhbGwg YWxsb2NhdGUgbWVtb3J5IGJ1ZmZlciBhbmQgb25seQ0KPiA+IHNoYWRvdw0KPiA+ID4gPiB0aGUN Cj4gPiA+ID4gPiA+IG1pY3JvY29kZSBwYXRjaGVzDQo+ID4gPiA+ID4gPiArIGZvciB0aG9zZSAg cHJvY2Vzc29ycyBzcGVjaWZpZWQgYnkNCj4gPiBNaWNyb2NvZGVDcHVJZA0KPiA+ID4gPiA+ID4g YXJyYXkuIFRoZSBjaGVja3N1bQ0KPiA+ID4gPiA+ID4gKyB2ZXJpZmljYXRpb24gbWF5IGJlICBz a2lwZWQgaW4gdGhpcyBmdW5jdGlvbg0KPiA+IHNvDQo+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4g Y2FsbGVyIG11c3QNCj4gPiA+ID4gPiA+ICsgcGVyZm9ybSBjaGVja3N1bSB2ZXJpZmljYXRpb24g YmVmb3JlICB1c2luZw0KPiA+IHRoZQ0KPiA+ID4gPiA+ID4gbWljcm9jb2RlIHBhdGNoZXMgaW4g cmV0dXJuZWQgbWVtb3J5IGJ1ZmZlci4NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgIEBw YXJhbVtpbl0gIFRoaXMgICAgICAgICAgICAgICAgIFRoZSBQUEkNCj4gPiA+ID4gaW5zdGFuY2UN Cj4gPiA+ID4gPiA+IHBvaW50ZXIuDQo+ID4gPiA+ID4gPiArICBAcGFyYW1baW5dICBDcHVJZENv dW50ICAgICAgICAgICBOdW1iZXIgb2YNCj4gPiA+ID4gZWxlbWVudHMNCj4gPiA+ID4gPiA+IGlu IE1pY3JvY29kZUNwdUlkIGFycmF5Lg0KPiA+ID4gPiA+ID4gKyAgQHBhcmFtW2luXSAgTWljcm9j b2RlQ3B1SWQgICAgICAgQSBwb2ludGVyDQo+ID4gdG8gYW4NCj4gPiA+ID4gPiA+IGFycmF5IG9m IEVES0lJX1BFSV9NSUNST0NPREVfQ1BVX0lEDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmVzLg0KPiA+ID4gPiA+ID4gKyAgQHBhcmFtW291 dF0gQnVmZmVyU2l6ZSAgICAgICAgICAgUG9pbnRlciB0bw0KPiA+ID4gPiByZWNlaXZlDQo+ID4g PiA+ID4gPiB0aGUgdG90YWwgc2l6ZSBvZiBCdWZmZXIuDQo+ID4gPiA+ID4gPiArICBAcGFyYW1b b3V0XSBCdWZmZXIgICAgICAgICAgICAgICBQb2ludGVyIHRvDQo+ID4gPiA+IHJlY2VpdmUNCj4g PiA+ID4gPiA+IGFkZHJlc3Mgb2YgYWxsb2NhdGVkIG1lbW9yeQ0KPiA+ID4gPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aA0KPiA+IG1pY3JvY29kZQ0KPiA+ID4g PiA+ID4gcGF0Y2hlcyBkYXRhIGluIGl0Lg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyAg QHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgVGhlDQo+ID4gbWljcm9jb2RlDQo+ID4g PiA+IGhhcw0KPiA+ID4gPiA+ID4gYmVlbiBzaGFkb3dlZCB0byBtZW1vcnkuDQo+ID4gPiA+ID4g PiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAgICBUaGUNCj4gPiBvcGVyYXRpb24N Cj4gPiA+ID4gZmFpbHMNCj4gPiA+ID4gPiA+IGR1ZSB0byBsYWNrIG9mIHJlc291cmNlcy4NCj4g PiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsqKi8NCj4gPiA+ID4gPiA+ICtFRklfU1RBVFVTDQo+ ID4gPiA+ID4gPiArU2hhZG93TWljcm9jb2RlICgNCj4gPiA+ID4gPiA+ICsgIElOICBFREtJSV9Q RUlfU0hBRE9XX01JQ1JPQ09ERV9QUEkNCj4gPiAqVGhpcywNCj4gPiA+ID4gPiA+ICsgIElOICBV SU5UTg0KPiA+ID4gPiA+ID4gQ3B1SWRDb3VudCwNCj4gPiA+ID4gPiA+ICsgIElOICBFREtJSV9Q RUlfTUlDUk9DT0RFX0NQVV9JRA0KPiA+ID4gPiA+ID4gKk1pY3JvY29kZUNwdUlkLA0KPiA+ID4g PiA+ID4gKyAgT1VUIFVJTlRODQo+ID4gPiA+ID4gPiAqQnVmZmVyU2l6ZSwNCj4gPiA+ID4gPiA+ ICsgIE9VVCBWT0lEDQo+ID4gPiA+ICoqQnVmZmVyDQo+ID4gPiA+ID4gPiArICApDQo+ID4gPiA+ ID4gPiArew0KPiA+ID4gPiA+ID4gKyAgaWYgKEJ1ZmZlclNpemUgPT0gTlVMTCB8fCBCdWZmZXIg PT0gTlVMTCkgew0KPiA+ID4gPiA+ID4gKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVS Ow0KPiA+ID4gPiA+ID4gKyAgfQ0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyAgcmV0dXJu IFNoYWRvd01pY3JvY29kZVBhdGNoQnlGaXQNCj4gPiAoQ3B1SWRDb3VudCwNCj4gPiA+ID4gPiA+ IE1pY3JvY29kZUNwdUlkLA0KPiA+ID4gPiA+ID4gK0J1ZmZlclNpemUsIEJ1ZmZlcik7IH0NCj4g PiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsvKioNCj4gPiA+ID4gPiA+ ICsgIFBsYXRmb3JtIEluaXQgUEVJIG1vZHVsZSBlbnRyeSBwb2ludA0KPiA+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ID4gKyAgQHBhcmFtW2luXSAgRmlsZUhhbmRsZSAgICAgICAgICAgTm90IHVzZWQu DQo+ID4gPiA+ID4gPiArICBAcGFyYW1baW5dICBQZWlTZXJ2aWNlcyAgICAgICAgICBHZW5lcmFs DQo+ID4gcHVycG9zZQ0KPiA+ID4gPiA+ID4gc2VydmljZXMgYXZhaWxhYmxlIHRvIGV2ZXJ5IFBF SU0uDQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArICBAcmV0dmFsICAgICBFRklfU1VDQ0VT UyAgICAgICAgICBUaGUNCj4gPiBmdW5jdGlvbg0KPiA+ID4gPiA+ID4gY29tcGxldGVzIHN1Y2Nl c3NmdWxseQ0KPiA+ID4gPiA+ID4gKyAgQHJldHZhbCAgICAgRUZJX09VVF9PRl9SRVNPVVJDRVMN Cj4gPiBJbnN1ZmZpY2llbnQNCj4gPiA+ID4gPiA+IHJlc291cmNlcyB0byBjcmVhdGUgZGF0YWJh c2UNCj4gPiA+ID4gPiA+ICsqKi8NCj4gPiA+ID4gPiA+ICtFRklfU1RBVFVTDQo+ID4gPiA+ID4g PiArRUZJQVBJDQo+ID4gPiA+ID4gPiArU2hhZG93TWljcm9jb2RlUGVpbUluaXQgKA0KPiA+ID4g PiA+ID4gKyAgSU4gICAgICAgRUZJX1BFSV9GSUxFX0hBTkRMRSAgRmlsZUhhbmRsZSwNCj4gPiA+ ID4gPiA+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICoqUGVpU2VydmljZXMNCj4g PiA+ID4gPiA+ICsgICkNCj4gPiA+ID4gPiA+ICt7DQo+ID4gPiA+ID4gPiArICBFRklfU1RBVFVT ICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4g PiArICAvLw0KPiA+ID4gPiA+ID4gKyAgLy8gSW5zdGFsbCBFREtJSSBTaGFkb3cgTWljcm9jb2Rl IFBQSSAgLy8NCj4gPiA+ID4gU3RhdHVzID0NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gUGVpU2Vy dmljZXNJbnN0YWxsUHBpKG1QZWlTaGFkb3dNaWNyb2NvZGVQcGlMaXN0KTsNCj4gPiA+ID4gPiA+ ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4g PiArICByZXR1cm4gU3RhdHVzOw0KPiA+ID4gPiA+ID4gK30NCj4gPiA+ID4gPiA+IGRpZmYgLS1n aXQNCj4gPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gYS9TaWxpY29uL0ludGVsL0ludGVsU2lsaWNv blBrZy9GZWF0dXJlL1NoYWRvd01pY3JvY29kZQ0KPiA+ID4gPiA+ID4gL1NoYWRvd01pY3JvY29k ZVBlaS5oDQo+ID4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+IGIvU2lsaWNvbi9JbnRlbC9JbnRlbFNp bGljb25Qa2cvRmVhdHVyZS9TaGFkb3dNaWNyb2NvZGUNCj4gPiA+ID4gPiA+IC9TaGFkb3dNaWNy b2NvZGVQZWkuaA0KPiA+ID4gPiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gPiA+ IGluZGV4IDAwMDAwMDAwMDAuLjA0ZmU3Y2JmZDMNCj4gPiA+ID4gPiA+IC0tLSAvZGV2L251bGwN Cj4gPiA+ID4gPiA+ICsrKw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4NCj4gPiBiL1NpbGljb24vSW50 ZWwvSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvU2hhZG93TWljcm9jb2RlDQo+ID4gPiA+ID4gPiAv U2hhZG93TWljcm9jDQo+ID4gPiA+ID4gPiArKysgb2RlUGVpLmgNCj4gPiA+ID4gPiA+IEBAIC0w LDAgKzEsNjIgQEANCj4gPiA+ID4gPiA+ICsvKiogQGZpbGUNCj4gPiA+ID4gPiA+ICsgIFNvdXJj ZSBjb2RlIGZpbGUgZm9yIFBsYXRmb3JtIEluaXQgUEVJDQo+ID4gbW9kdWxlDQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiBUaGlzIGRlc2NyaXB0aW9uIGRvZXMgbm90IG1hdGNoIHRoZSBjb250ZW50DQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICtDb3B5cmlnaHQgKGMpIDIwMjAs IEludGVsIENvcnBvcmF0aW9uLiBBbGwNCj4gPiByaWdodHMNCj4gPiA+ID4gPiA+IHJlc2VydmVk LjxCUj4NCj4gPiA+ID4gPiA+ICtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyoqLw0KPiA+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ID4gKyNpZm5kZWYgX19TSEFET1dfTUlDUk9DT0RFX1BFSV9IX18NCj4gPiA+ID4g PiA+ICsjZGVmaW5lIF9fU0hBRE9XX01JQ1JPQ09ERV9QRUlfSF9fDQo+ID4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArI2luY2x1ZGUgPFBpUGVpLmg+DQo+ID4gPiA+ID4g PiArI2luY2x1ZGUgPFBwaS9TaGFkb3dNaWNyb2NvZGUuaD4NCj4gPiA+ID4gPiA+ICsjaW5jbHVk ZSA8TGlicmFyeS9QZWlTZXJ2aWNlc0xpYi5oPg0KPiA+ID4gPiA+ID4gKyNpbmNsdWRlIDxMaWJy YXJ5L0hvYkxpYi5oPg0KPiA+ID4gPiA+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+ DQo+ID4gPiA+ID4gPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZU1lbW9yeUxpYi5oPg0KPiA+ID4g PiA+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5L01lbW9yeUFsbG9jYXRpb25MaWIuaD4NCj4gPiAjaW5j bHVkZQ0KPiA+ID4gPiA+ID4gKzxJbmR1c3RyeVN0YW5kYXJkL0Zpcm13YXJlSW50ZXJmYWNlVGFi bGUuaD4NCj4gPiA+ID4gPiA+ICsjaW5jbHVkZSA8UmVnaXN0ZXIvSW50ZWwvTWljcm9jb2RlLmg+ DQo+ID4gPiA+ID4gPiArI2luY2x1ZGUgPFJlZ2lzdGVyL0ludGVsL0NwdWlkLmg+DQo+ID4gPiA+ ID4gPiArI2luY2x1ZGUgPEd1aWQvTWljcm9jb2RlU2hhZG93SW5mb0hvYi5oPiAvLyAvLw0KPiA+ ID4gPiBEYXRhDQo+ID4gPiA+ID4gPiBzdHJ1Y3R1cmUgZm9yDQo+ID4gPiA+ID4gPiArbWljcm9j b2RlIHBhdGNoIGluZm9ybWF0aW9uIC8vIHR5cGVkZWYgc3RydWN0DQo+ID4gew0KPiA+ID4gPiA+ ID4gKyAgVUlOVE4gICAgQWRkcmVzczsNCj4gPiA+ID4gPiA+ICsgIFVJTlROICAgIFNpemU7DQo+ ID4gPiA+ID4gPiArfSBNSUNST0NPREVfUEFUQ0hfSU5GTzsNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ ID4gPiA+ICsvKioNCj4gPiA+ID4gPiA+ICsgIFNoYWRvdyBtaWNyb2NvZGUgdXBkYXRlIHBhdGNo ZXMgdG8gbWVtb3J5Lg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyAgVGhlIGZ1bmN0aW9u IGlzIHVzZWQgZm9yIHNoYWRvd2luZyBtaWNyb2NvZGUNCj4gPiA+ID4gdXBkYXRlDQo+ID4gPiA+ ID4gPiBwYXRjaGVzIHRvIGEgY29udGludW91cyBtZW1vcnkuDQo+ID4gPiA+ID4gPiArICBJdCBz aGFsbCBhbGxvY2F0ZSBtZW1vcnkgYnVmZmVyIGFuZCBvbmx5DQo+ID4gc2hhZG93DQo+ID4gPiA+ IHRoZQ0KPiA+ID4gPiA+ID4gbWljcm9jb2RlIHBhdGNoZXMNCj4gPiA+ID4gPiA+ICsgZm9yIHRo b3NlICBwcm9jZXNzb3JzIHNwZWNpZmllZCBieQ0KPiA+IE1pY3JvY29kZUNwdUlkDQo+ID4gPiA+ ID4gPiBhcnJheS4gVGhlIGNoZWNrc3VtDQo+ID4gPiA+ID4gPiArIHZlcmlmaWNhdGlvbiBtYXkg YmUgIHNraXBlZCBpbiB0aGlzIGZ1bmN0aW9uDQo+ID4gc28NCj4gPiA+ID4gdGhlDQo+ID4gPiA+ ID4gPiBjYWxsZXIgbXVzdA0KPiA+ID4gPiA+ID4gKyBwZXJmb3JtIGNoZWNrc3VtIHZlcmlmaWNh dGlvbiBiZWZvcmUgIHVzaW5nDQo+ID4gdGhlDQo+ID4gPiA+ID4gPiBtaWNyb2NvZGUgcGF0Y2hl cyBpbiByZXR1cm5lZCBtZW1vcnkgYnVmZmVyLg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4g KyAgQHBhcmFtW2luXSAgVGhpcyAgICAgICAgICAgICAgICAgVGhlIFBQSQ0KPiA+ID4gPiBpbnN0 YW5jZQ0KPiA+ID4gPiA+ID4gcG9pbnRlci4NCj4gPiA+ID4gPiA+ICsgIEBwYXJhbVtpbl0gIENw dUlkQ291bnQgICAgICAgICAgIE51bWJlciBvZg0KPiA+ID4gPiBlbGVtZW50cw0KPiA+ID4gPiA+ ID4gaW4gTWljcm9jb2RlQ3B1SWQgYXJyYXkuDQo+ID4gPiA+ID4gPiArICBAcGFyYW1baW5dICBN aWNyb2NvZGVDcHVJZCAgICAgICBBIHBvaW50ZXINCj4gPiB0byBhbg0KPiA+ID4gPiA+ID4gYXJy YXkgb2YgRURLSUlfUEVJX01JQ1JPQ09ERV9DUFVfSUQNCj4gPiA+ID4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZXMuDQo+ID4gPiA+ID4gPiArICBAcGFy YW1bb3V0XSBCdWZmZXJTaXplICAgICAgICAgICBQb2ludGVyIHRvDQo+ID4gPiA+IHJlY2VpdmUN Cj4gPiA+ID4gPiA+IHRoZSB0b3RhbCBzaXplIG9mIEJ1ZmZlci4NCj4gPiA+ID4gPiA+ICsgIEBw YXJhbVtvdXRdIEJ1ZmZlciAgICAgICAgICAgICAgIFBvaW50ZXIgdG8NCj4gPiA+ID4gcmVjZWl2 ZQ0KPiA+ID4gPiA+ID4gYWRkcmVzcyBvZiBhbGxvY2F0ZWQgbWVtb3J5DQo+ID4gPiA+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoDQo+ID4gbWljcm9jb2RlDQo+ ID4gPiA+ID4gPiBwYXRjaGVzIGRhdGEgaW4gaXQuDQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4g PiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICBUaGUNCj4gPiBtaWNyb2NvZGUN Cj4gPiA+ID4gaGFzDQo+ID4gPiA+ID4gPiBiZWVuIHNoYWRvd2VkIHRvIG1lbW9yeS4NCj4gPiA+ ID4gPiA+ICsgIEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgICAgIFRoZQ0KPiA+IG9wZXJh dGlvbg0KPiA+ID4gPiBmYWlscw0KPiA+ID4gPiA+ID4gZHVlIHRvIGxhY2sgb2YgcmVzb3VyY2Vz Lg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyoqLw0KPiA+ID4gPiA+ID4gK0VGSV9TVEFU VVMNCj4gPiA+ID4gPiA+ICtTaGFkb3dNaWNyb2NvZGUgKA0KPiA+ID4gPiA+ID4gKyAgSU4gIEVE S0lJX1BFSV9TSEFET1dfTUlDUk9DT0RFX1BQSQ0KPiA+ICpUaGlzLA0KPiA+ID4gPiA+ID4gKyAg SU4gIFVJTlRODQo+ID4gPiA+ID4gPiBDcHVJZENvdW50LA0KPiA+ID4gPiA+ID4gKyAgSU4gIEVE S0lJX1BFSV9NSUNST0NPREVfQ1BVX0lEDQo+ID4gPiA+ID4gPiAqTWljcm9jb2RlQ3B1SWQsDQo+ ID4gPiA+ID4gPiArICBPVVQgVUlOVE4NCj4gPiA+ID4gPiA+ICpCdWZmZXJTaXplLA0KPiA+ID4g PiA+ID4gKyAgT1VUIFZPSUQNCj4gPiA+ID4gKipCdWZmZXINCj4gPiA+ID4gPiA+ICsgICk7DQo+ ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArI2VuZGlmDQo+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0 DQo+ID4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+IGEvU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Q a2cvRmVhdHVyZS9TaGFkb3dNaWNyb2NvZGUNCj4gPiA+ID4gPiA+IC9TaGFkb3dNaWNyb2NvZGVQ ZWkuaW5mDQo+ID4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+IGIvU2lsaWNvbi9JbnRlbC9JbnRlbFNp bGljb25Qa2cvRmVhdHVyZS9TaGFkb3dNaWNyb2NvZGUNCj4gPiA+ID4gPiA+IC9TaGFkb3dNaWNy b2NvZGVQZWkuaW5mDQo+ID4gPiA+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4gPiA+ ID4gaW5kZXggMDAwMDAwMDAwMC4uYjI3NzM5OThjZQ0KPiA+ID4gPiA+ID4gLS0tIC9kZXYvbnVs bA0KPiA+ID4gPiA+ID4gKysrDQo+ID4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+IGIvU2lsaWNvbi9J bnRlbC9JbnRlbFNpbGljb25Qa2cvRmVhdHVyZS9TaGFkb3dNaWNyb2NvZGUNCj4gPiA+ID4gPiA+ IC9TaGFkb3dNaWNyb2MNCj4gPiA+ID4gPiA+ICsrKyBvZGVQZWkuaW5mDQo+ID4gPiA+ID4gPiBA QCAtMCwwICsxLDQ0IEBADQo+ID4gPiA+ID4gPiArIyMjIEBmaWxlDQo+ID4gPiA+ID4gPiArIyBD b21wb25lbnQgaW5mb3JtYXRpb24gZmlsZSBmb3IgdGhlIFBsYXRmb3JtDQo+ID4gSW5pdA0KPiA+ ID4gPiBQRUkNCj4gPiA+ID4gPiA+IG1vZHVsZS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRoaXMg ZGVzY3JpcHRpb24gZG9lcyBub3QgbWF0Y2ggdGhlIGZpbGUNCj4gPiBjb250ZW50cy4NCj4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gKyMNCj4gPiA+ID4gPiA+ICsjIENvcHlyaWdodCAoYykgMjAyMCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbA0KPiA+ID4gPiByaWdodHMNCj4gPiA+ID4gPiA+IHJlc2Vy dmVkLjxCUj4gIyAjDQo+ID4gPiA+ID4gPiArU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQgIw0KPiA+ICMjIw0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gK1tE ZWZpbmVzXQ0KPiA+ID4gPiA+ID4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0g MHgwMDAxMDAxNw0KPiA+ID4gPiA+ID4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAg ID0NCj4gPiA+ID4gU2hhZG93TWljcm9jb2RlUGVpDQo+ID4gPiA+ID4gPiArICBGSUxFX0dVSUQg ICAgICAgICAgICAgICAgICAgICAgPSA4YWY0Y2Y2OC0NCj4gPiBlYmU0LQ0KPiA+ID4gPiA0YjIx LQ0KPiA+ID4gPiA+ID4gYTAwOC0wY2IzZGEyNzdiZTUNCj4gPiA+ID4gPiA+ICsgIFZFUlNJT05f U1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KPiA+ID4gPiA+ID4gKyAgTU9EVUxFX1RZUEUg ICAgICAgICAgICAgICAgICAgID0gUEVJTQ0KPiA+ID4gPiA+ID4gKyAgRU5UUllfUE9JTlQgICAg ICAgICAgICAgICAgICAgID0NCj4gPiA+ID4gPiA+IFNoYWRvd01pY3JvY29kZVBlaW1Jbml0DQo+ ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArW1NvdXJjZXNdDQo+ID4gPiA+ID4gPiArICBTaGFk b3dNaWNyb2NvZGVQZWkuYw0KPiA+ID4gPiA+ID4gKyAgU2hhZG93TWljcm9jb2RlUGVpLmgNCj4g PiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICtbTGlicmFyeUNsYXNzZXNdDQo+ID4gPiA+ID4gPiAr ICBQZWltRW50cnlQb2ludA0KPiA+ID4gPiA+ID4gKyAgRGVidWdMaWINCj4gPiA+ID4gPiA+ICsg IE1lbW9yeUFsbG9jYXRpb25MaWINCj4gPiA+ID4gPiA+ICsgIEJhc2VNZW1vcnlMaWINCj4gPiA+ ID4gPiA+ICsgIEhvYkxpYg0KPiA+ID4gPiA+ID4gKyAgUGVpU2VydmljZXNMaWINCj4gPiA+ID4g PiA+ICsNCj4gPiA+ID4gPiA+ICtbUGFja2FnZXNdDQo+ID4gPiA+ID4gPiArICBNZGVQa2cvTWRl UGtnLmRlYw0KPiA+ID4gPiA+ID4gKyAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4g PiA+ID4gPiA+ICsgIFVlZmlDcHVQa2cvVWVmaUNwdVBrZy5kZWMNCj4gPiA+ID4gPiA+ICsgIElu dGVsU2lsaWNvblBrZy9JbnRlbFNpbGljb25Qa2cuZGVjDQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ ID4gPiArW1BwaXNdDQo+ID4gPiA+ID4gPiArICBnRWRraWlQZWlTaGFkb3dNaWNyb2NvZGVQcGlH dWlkDQo+ID4gPiA+ID4gPiAjIyBQUk9EVUNFUw0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4g K1tHdWlkc10NCj4gPiA+ID4gPiA+ICsgIGdFZGtpaU1pY3JvY29kZVNoYWRvd0luZm9Ib2JHdWlk DQo+ID4gPiA+ID4gPiArICBnRWRraWlNaWNyb2NvZGVTdG9yYWdlVHlwZUZsYXNoR3VpZA0KPiA+ ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gK1tEZXBleF0NCj4gPiA+ID4gPiA+ICsgIFRSVUUNCj4g PiA+ID4gPiA+IGRpZmYgLS1naXQNCj4gPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gYS9TaWxpY29u L0ludGVsL0ludGVsU2lsaWNvblBrZy9JbmNsdWRlL0d1aWQvTWljcm9jb2RlUw0KPiA+ID4gPiA+ ID4gaGFkb3dJbmZvSG9iLmgNCj4gPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gYi9TaWxpY29uL0lu dGVsL0ludGVsU2lsaWNvblBrZy9JbmNsdWRlL0d1aWQvTWljcm9jb2RlUw0KPiA+ID4gPiA+ID4g aGFkb3dJbmZvSG9iLmgNCj4gPiA+ID4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ ID4gPiBpbmRleCAwMDAwMDAwMDAwLi41OWEzOGNlZTc0DQo+ID4gPiA+ID4gPiAtLS0gL2Rldi9u dWxsDQo+ID4gPiA+ID4gPiArKysNCj4gPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gYi9TaWxpY29u L0ludGVsL0ludGVsU2lsaWNvblBrZy9JbmNsdWRlL0d1aWQvTWljcm9jb2RlUw0KPiA+ID4gPiA+ ID4gaGFkb3dJbmZvSG9iLg0KPiA+ID4gPiA+ID4gKysrIGgNCj4gPiA+ID4gPiA+IEBAIC0wLDAg KzEsNTcgQEANCj4gPiA+ID4gPiA+ICsvKiogQGZpbGUNCj4gPiA+ID4gPiA+ICsgIFRoZSBkZWZp bml0aW9uIGZvciBWVEQgUE1SIFJlZ2lvbnMNCj4gPiBJbmZvcm1hdGlvbg0KPiA+ID4gPiBIb2Iu DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGlzIGRlc2NyaXB0aW9uIGRvZXMgbm90IG1hdGNoIHRo ZSBjb250ZW50DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgIENvcHly aWdodCAoYykgMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbA0KPiA+ID4gPiByaWdodHMNCj4g PiA+ID4gPiA+IHJlc2VydmVkLjxCUj4NCj4gPiA+ID4gPiA+ICsgIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gKiovDQo+ID4gPiA+ID4gPiArDQo+ID4g PiA+ID4gPiArDQo+ID4gPiA+ID4gPiArI2lmbmRlZiBfTUlDUk9DT0RFX1NIQURPV19JTkZPX0hP Ql9IXw0KPiA+ID4gPiA+ID4gKyNkZWZpbmUgX01JQ1JPQ09ERV9TSEFET1dfSU5GT19IT0JfSF8N Cj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsvLy8NCj4gPiA+ID4gPiA+ICsvLy8gVGhlIEds b2JhbCBJRCBvZiBhIEdVSURlZCBIT0IgdXNlZCB0byBwYXNzDQo+ID4gPiA+ID4gPiBtaWNyb2Nv ZGUgc2hhZG93IGluZm8gdG8gRFhFIERyaXZlci4NCj4gPiA+ID4gPiA+ICsvLy8NCj4gPiA+ID4g PiA+ICsjZGVmaW5lIEVES0lJX01JQ1JPQ09ERV9TSEFET1dfSU5GT19IT0JfR1VJRCBcDQo+ID4g PiA+ID4gPiArICB7IFwNCj4gPiA+ID4gPiA+ICsgICAgMHg2NTg5MDNmOSwgMHhkYTY2LCAweDQ2 MGQsIHsgMHg4YiwgMHhiMCwNCj4gPiA+ID4gMHg5ZCwNCj4gPiA+ID4gPiA+IDB4MmQsIDB4ZGYs IDB4NjUsDQo+ID4gPiA+ID4gPiArMHg0NCwgMHg1OSB9IFwNCj4gPiA+ID4gPiA+ICsgIH0NCj4g PiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICtleHRlcm4gRUZJX0dVSUQNCj4gPiBnRWRraWlNaWNy b2NvZGVTaGFkb3dJbmZvSG9iR3VpZDsNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICt0eXBl ZGVmIHN0cnVjdCB7DQo+ID4gPiA+ID4gPiArICAvLw0KPiA+ID4gPiA+ID4gKyAgLy8gTnVtYmVy IG9mIHRoZSBtaWNyb2NvZGUgcGF0Y2hlcyB3aGljaA0KPiA+IGhhdmUNCj4gPiA+ID4gYmVlbg0K PiA+ID4gPiA+ID4gKyAgLy8gcmVsb2NhdGVkIHRvIG1lbW9yeS4NCj4gPiA+ID4gPiA+ICsgIC8v DQo+ID4gPiA+ID4gPiArICBVSU5UNjQgICAgTWljcm9jb2RlQ291bnQ7DQo+ID4gPiA+ID4gPiAr ICAvLw0KPiA+ID4gPiA+ID4gKyAgLy8gQW4gRUZJX0dVSUQgdGhhdCBkZWZpbmVzIHRoZSBjb250 ZW50cyBvZg0KPiA+ID4gPiA+ID4gU3RvcmFnZUNvbnRleHQuDQo+ID4gPiA+ID4gPiArICAvLw0K PiA+ID4gPiA+ID4gKyAgR1VJRCAgICAgIFN0b3JhZ2VUeXBlOw0KPiA+ID4gPiA+ID4gKyAgLy8N Cj4gPiA+ID4gPiA+ICsgIC8vIEFuIGFycmF5IHdpdGggTWljcm9jb2RlQ291bnQgZWxlbWVudHMN Cj4gPiB0aGF0DQo+ID4gPiA+IHN0b3Jlcw0KPiA+ID4gPiA+ID4gKyAgLy8gdGhlIHNoYWRvd2Vk IG1pY3JvY29kZSBwYXRjaCBhZGRyZXNzIGluDQo+ID4gPiA+IG1lbW9yeS4NCj4gPiA+ID4gPiA+ ICsgIC8vDQo+ID4gPiA+ID4gPiArICBVSU5UNjQgICAgTWljcm9jb2RlQWRkckluTWVtb3J5WzBd Ow0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gU2luY2UgdGhpcyBpcyB0aGUgbGFzdCBmaWVsZCBpbiB0 aGUgc3RydWN0dXJlDQo+ID4gdmlzaWJsZQ0KPiA+ID4gPiB0byB0aGUNCj4gPiA+ID4gPiBDIGNv bXBpbGVyLCB5b3UgY2FuIHVzZSBbXSBpbnN0ZWFkIG9mIFswXSBzbyBpdA0KPiA+IGlzDQo+ID4g PiA+IGludGVycHJldGVkDQo+ID4gPiA+ID4gYnkgdGhlIGNvbXBpbGVyIGFzIGEgZmxleGlibGUg YXJyYXkgbWVtYmVyLiBUaGlzDQo+ID4gY2FuDQo+ID4gPiA+IG1ha2UNCj4gPiA+ID4gPiBjb2Rl IHRoYXQgdXNlcyB0aGlzIHN0cnVjdHVyZSBlYXNpZXIgdG8gcmVhZC4NCj4gPiA+ID4gPg0KPiA+ ID4gPiA+DQo+ID4gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRmxleGlibGVfYXJyYXlf bWVtYmVyDQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgLy8NCj4gPiA+ID4g PiA+ICsgIC8vIEEgYnVmZmVyIHdoaWNoIGNvbnRhaW5zIGRldGFpbHMgYWJvdXQgdGhlDQo+ID4g PiA+IHN0b3JhZ2UNCj4gPiA+ID4gPiA+IGluZm9ybWF0aW9uDQo+ID4gPiA+ID4gPiArICAvLyBz cGVjaWZpYyB0byBTdG9yYWdlVHlwZS4NCj4gPiA+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ID4gPiAr ICAvLyBVSU5UOCAgU3RvcmFnZUNvbnRleHRbXTsNCj4gPiA+ID4gPiA+ICt9IEVES0lJX01JQ1JP Q09ERV9TSEFET1dfSU5GT19IT0I7DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArLy8NCj4g PiA+ID4gPiA+ICsvLyBBbiBFREtJSV9NSUNST0NPREVfU0hBRE9XX0lORk9fSE9CIHdpdGgNCj4g PiA+ID4gU3RvcmFnZVR5cGUNCj4gPiA+ID4gPiA+IHNldCB0byBiZWxvdw0KPiA+ID4gPiA+ID4g K0dVSUQgd2lsbCAvLyBoYXZlIHRoZSBTdG9yYWdlQ29udGV4dCBvZiBhbg0KPiA+IGFycmF5DQo+ ID4gPiA+IHdpdGgNCj4gPiA+ID4gPiA+IE1pY3JvY29kZUNvdW50IG9mDQo+ID4gPiA+ID4gPiAr VUlOVDY0IGVsZW1lbnRzIC8vIHRoYXQgc3RvcmVzIHRoZSBvcmlnaW5hbA0KPiA+ID4gPiBtaWNy b2NvZGUNCj4gPiA+ID4gPiA+IHBhdGNoIGFkZHJlc3Mgb24NCj4gPiA+ID4gPiA+ICtmbGFzaC4g VGhpcyBhZGRyZXNzIGlzIC8vIHBsYWNlZCBpbiBzYW1lIG9yZGVyDQo+ID4gYXMNCj4gPiA+ID4g dGhlDQo+ID4gPiA+ID4gPiBtaWNyb2NvZGUgcGF0Y2hlcyBpbiBNaWNyb2NvZGVBZGRySW5NZW1v cnkuDQo+ID4gPiA+ID4gPiArLy8NCj4gPiA+ID4gPiA+ICsjZGVmaW5lIEVGSV9NSUNST0NPREVf U1RPUkFHRV9UUFlFX0ZMQVNIX0dVSUQNCj4gPiBcDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUeXBv LiAgIlRQWUUiIHNob3VsZCBiZSAiVFlQRSIuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4g PiA+IFNob3VsZCBhIGRhdGEgc3RydWN0dXJlIGJlIGFkZGVkIHRoYXQgaXMNCj4gPiBhc3NvY2lh dGVkDQo+ID4gPiA+IHdpdGgNCj4gPiA+ID4gPiBFRklfTUlDUk9DT0RFX1NUT1JBR0VfVFlQRV9G TEFTSF9HVUlEIHNvIGl0IGNhbg0KPiA+IGJlDQo+ID4gPiA+IHVzZWQNCj4gPiA+ID4gPiB0byBp bnRlcnByZXQgU3RvcmFnZUNvbnRleHQgZmllbGQgd2hlbg0KPiA+IFN0b3JhZ2VUeXBlDQo+ID4g PiA+IG1hdGNoZXMNCj4gPiA+ID4gPiB0aGlzIEdVSUQgdmFsdWU/ICBUaGlzIHdheSwgdGhlIHRl eHQgaW4gdGhlDQo+ID4gY29tbWVudHMNCj4gPiA+ID4gaXMNCj4gPiA+ID4gPiBub3QgcmVxdWly ZWQgdG8ga25vdyB0aGUgbGF5b3V0IG9mDQo+ID4gU3RvcmFnZUNvbnRleHQuDQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiAgIHR5cGVkZWYgc3RydWN0IHsNCj4gPiA+ID4gPiAgICAgVUlOVDY0ICBNaWNy b2NvZGVBZGRyZXNzSW5GbGFzaFtdOw0KPiA+ID4gPiA+ICAgfSBFRklfTUlDUk9DT0RFX1NUT1JB R0VfVFlQRV9GTEFTSF9DT05URVhUOw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSW4gb3JkZXIgdG8g bWFrZSBldmVyeXRoaW5nIGFsaWduZWQgYmV0dGVyIHNob3VsZA0KPiA+IHRoZQ0KPiA+ID4gPiA+ IFN0b3JhZ2VHdWlkIGJlIGxpc3RlZCBiZWZvcmUgTWljcm9jb2RlQ291bnQsIHNvDQo+ID4gdGhl DQo+ID4gPiA+IG9yZGVyDQo+ID4gPiA+ID4gaXMgZnJvbSBsYXJnZXN0IHRvIHNtYWxsZXN0LiAg VGhpcyBhbHNvDQo+ID4gZ3VhcmFudGVlcw0KPiA+ID4gPiB0aGF0DQo+ID4gPiA+ID4gU3RvcmFn ZUNvbnRleHQgaXMgYWxpZ25lZCBvbiBhbiA4LWJ5dGUgYm91bmRhcnkNCj4gPiB3aGljaA0KPiA+ ID4gPiBpcw0KPiA+ID4gPiA+IGNvbXBhdGlibGUgd2l0aCBhIHR5cGVjYXN0IHRvIGEgU3RvcmFn ZVR5cGUNCj4gPiBzcGVjaWZpYw0KPiA+ID4gPiBzdHJ1Y3R1cmUuDQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICsgIHsgXA0KPiA+ID4gPiA+ID4gKyAgICAweDJjYmEwMWIzLCAweGQzOTEsIDB4NDU5 OCwgeyAweDhkLCAweDg5LA0KPiA+ID4gPiAweGI3LA0KPiA+ID4gPiA+ID4gMHhmYywgMHgzOSwg MHgyMiwNCj4gPiA+ID4gPiA+ICsweGZkLCAweDcxIH0gXA0KPiA+ID4gPiA+ID4gKyAgfQ0KPiA+ ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gK2V4dGVybiBFRklfR1VJRA0KPiA+ID4gPiBnRWRraWlN aWNyb2NvZGVTdG9yYWdlVHlwZUZsYXNoR3VpZDsNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ ICsjZW5kaWYNCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQNCj4gPiA+ID4gPiA+DQo+ID4gYS9TaWxp Y29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9JbnRlbFNpbGljb25Qa2cuZGVjDQo+ID4gPiA+ID4g Pg0KPiA+IGIvU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Qa2cvSW50ZWxTaWxpY29uUGtnLmRl Yw0KPiA+ID4gPiA+ID4gaW5kZXggMjJlYmYxOWM0ZS4uMmQ4ZTQwZjBiOCAxMDA2NDQNCj4gPiA+ ID4gPiA+IC0tLQ0KPiA+ID4gPiBhL1NpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0ludGVs U2lsaWNvblBrZy5kZWMNCj4gPiA+ID4gPiA+ICsrKyBiL1NpbGljb24vSW50ZWwvSW50ZWxTaWxp Y29uUGtnLw0KPiA+ID4gPiBJbnRlbFNpbGljb25Qa2cuZGVjDQo+ID4gPiA+ID4gPiBAQCAtNDgs NiArNDgsMTIgQEANCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEhlYWRlciBvZiBJbnRlbFNpbGljb25Q a2cuZGVjIG5lZWRzIHRvIGhhdmUNCj4gPiBjb3B5cmlnaHQNCj4gPiA+ID4gdXBkYXRlZA0KPiA+ ID4gPiA+IHRvIDIwMjAuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICMjIEhPQiBHVUlEIHRv IGdldCBtZW1vcnkgaW5mb3JtYXRpb24gYWZ0ZXINCj4gPiBNUkMNCj4gPiA+ID4gaXMNCj4gPiA+ ID4gPiA+IGRvbmUuIFRoZSBob2IgZGF0YSB3aWxsIGJlIHVzZWQgdG8gc2V0IHRoZSBQTVINCj4g PiA+ID4gcmFuZ2VzDQo+ID4gPiA+ID4gPiAgICBnVnRkUG1ySW5mb0RhdGFIb2JHdWlkID0gezB4 NmZiNjE2NDUsDQo+ID4gMHhmMTY4LA0KPiA+ID4gPiA+ID4gMHg0NmJlLCB7IDB4ODAsIDB4ZWMs IDB4YjUsIDB4MDIsIDB4MzgsIDB4NWUsDQo+ID4gMHhlNywNCj4gPiA+ID4gPiA+IDB4ZTcgfSB9 DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgIyMgSW5jbHVkZS9HdWlkL01pY3JvY29kZVNo YWRvd0luZm9Ib2IuaA0KPiA+ID4gPiA+ID4gKyAgZ0Vka2lpTWljcm9jb2RlU2hhZG93SW5mb0hv Ykd1aWQgPSB7DQo+ID4gMHg2NTg5MDNmOSwNCj4gPiA+ID4gPiA+IDB4ZGE2NiwgMHg0NjBkLCB7 DQo+ID4gPiA+ID4gPiArIDB4OGIsIDB4YjAsIDB4OWQsIDB4MmQsIDB4ZGYsIDB4NjUsIDB4NDQs DQo+ID4gMHg1OSB9DQo+ID4gPiA+IH0NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgICMj IEluY2x1ZGUvR3VpZC9NaWNyb2NvZGVTaGFkb3dJbmZvSG9iLmgNCj4gPiA+ID4gPiA+ICsgIGdF ZGtpaU1pY3JvY29kZVN0b3JhZ2VUeXBlRmxhc2hHdWlkID0gew0KPiA+ID4gPiAweDJjYmEwMWIz LA0KPiA+ID4gPiA+ID4gMHhkMzkxLCAweDQ1OTgsIHsNCj4gPiA+ID4gPiA+ICsgMHg4ZCwgMHg4 OSwgMHhiNywgMHhmYywgMHgzOSwgMHgyMiwgMHhmZCwNCj4gPiAweDcxIH0NCj4gPiA+ID4gfQ0K PiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gIFtQcGlzXQ0KPiA+ID4gPiA+ID4gICAgZ0Vka2lp VlRkSW5mb1BwaUd1aWQgPSB7IDB4OGE1OWZjYjMsIDB4ZjE5MSwNCj4gPiA+ID4gMHg0MDBjLA0K PiA+ID4gPiA+ID4geyAweDk3LCAweDY3LCAweDY3LCAweGFmLCAweDJiLCAweDI1LCAweDY4LA0K PiA+IDB4NGEgfQ0KPiA+ID4gPiB9DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gZGlmZiAtLWdp dA0KPiA+ID4gPiA+ID4NCj4gPiBhL1NpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0ludGVs U2lsaWNvblBrZy5kc2MNCj4gPiA+ID4gPiA+DQo+ID4gYi9TaWxpY29uL0ludGVsL0ludGVsU2ls aWNvblBrZy9JbnRlbFNpbGljb25Qa2cuZHNjDQo+ID4gPiA+ID4gPiBpbmRleCAwYTY1MDlkOGIz Li5mOTk1ODgzNjkxIDEwMDY0NA0KPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+IGEvU2lsaWNvbi9J bnRlbC9JbnRlbFNpbGljb25Qa2cvSW50ZWxTaWxpY29uUGtnLmRzYw0KPiA+ID4gPiA+ID4gKysr DQo+ID4gPiA+IGIvU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Qa2cvSW50ZWxTaWxpY29uUGtn LmRzYw0KPiA+ID4gPiA+ID4gQEAgLTEsNyArMSw3IEBADQo+ID4gPiA+ID4gPiAgIyMgQGZpbGUN Cj4gPiA+ID4gPiA+ICAjIFRoaXMgcGFja2FnZSBwcm92aWRlcyBjb21tb24gb3BlbiBzb3VyY2UN Cj4gPiBJbnRlbA0KPiA+ID4gPiA+ID4gc2lsaWNvbiBtb2R1bGVzLg0KPiA+ID4gPiA+ID4gICMN Cj4gPiA+ID4gPiA+IC0jIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMTksIEludGVsDQo+ID4gQ29y cG9yYXRpb24uDQo+ID4gPiA+IEFsbA0KPiA+ID4gPiA+ID4gcmlnaHRzIHJlc2VydmVkLjxCUj4N Cj4gPiA+ID4gPiA+ICsjIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMjAsIEludGVsDQo+ID4gQ29y cG9yYXRpb24uDQo+ID4gPiA+IEFsbA0KPiA+ID4gPiA+ID4gcmlnaHRzDQo+ID4gPiA+ID4gPiAr cmVzZXJ2ZWQuPEJSPg0KPiA+ID4gPiA+ID4gICMNCj4gPiA+ID4gPiA+ICAjICAgIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtDQo+ID4gUGF0ZW50DQo+ID4gPiA+ID4gPiAg Iw0KPiA+ID4gPiA+ID4gQEAgLTg0LDYgKzg0LDcgQEANCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPg0KPiA+IEludGVsU2lsaWNvblBrZy9GZWF0dXJlL1ZUZC9QbGF0Zm9ybVZUZElu Zm9TYW1wbGVQZWkvUGwNCj4gPiA+ID4gPiA+IGF0Zm9ybVZUZEluZm9TYW1wbGVQZWkuaW5mDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4NCj4gPiBJbnRlbFNpbGljb25Qa2cvRmVh dHVyZS9DYXBzdWxlL01pY3JvY29kZVVwZGF0ZUR4ZS9NaWNyDQo+ID4gPiA+ID4gPiBvY29kZVVw ZGF0ZUR4ZS5pbmYNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+IEludGVs U2lsaWNvblBrZy9GZWF0dXJlL0NhcHN1bGUvTGlicmFyeS9NaWNyb2NvZGVGbGFzaEENCj4gPiA+ ID4gPiA+IGNjZXNzTGliTnVsbC9NaWNyb2NvZGVGbGFzaEFjY2Vzc0xpYk51bGwuaW5mDQo+ID4g PiA+ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+IEludGVsU2lsaWNvblBrZy9GZWF0 dXJlL1NoYWRvd01pY3JvY29kZS9TaGFkb3dNaWNyb2NvZGUNCj4gPiA+ID4gPiA+IFBlaS5pbmYN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+IEludGVsU2lsaWNvblBrZy9M aWJyYXJ5L1BlaUR4ZVNtbUJvb3RNZWRpYUxpYi9QZWlGaXJtd2ENCj4gPiA+ID4gPiA+IHJlQm9v dE1lZGlhTGliLmluZg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gSW50 ZWxTaWxpY29uUGtnL0xpYnJhcnkvUGVpRHhlU21tQm9vdE1lZGlhTGliL0R4ZVNtbUZpcg0KPiA+ ID4gPiA+ID4gbXdhcmVCb290TWVkaWFMaWIuaW5mDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g LS0NCj4gPiA+ID4gPiA+IDIuMTkuMS53aW5kb3dzLjENCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gDQoNCg==