From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhou, David(ChunMing)" Subject: RE: [PATCH v5 6/6] drm/amdgpu: Avoid HW reset if guilty job already signaled. Date: Sun, 28 Apr 2019 02:56:33 +0000 Message-ID: References: <1555599624-12285-1-git-send-email-andrey.grodzovsky@amd.com> <1555599624-12285-6-git-send-email-andrey.grodzovsky@amd.com> <2f8cf80c-3c53-0ee2-968c-08338b9f154e@amd.com> <1b41c4f1-b406-8710-2a7a-e5c54a116fe9@amd.com> <-hyv5g0n8ru25qelb0v-8u6jdi1vp2c7z1m3f5-uygwc1o5ji6s-9zli9v-srreuk-3pvse1en6kx0-6se95l-6jsafd-a6sboi-j814xf-ijgwfc-qewgmm-vnafjgrn2fq0-jgir949hx4yo-i772hz-tn7ial.1556032736536@email.android.com> <571a119a-170a-d1ba-6870-31807e0f7016@amd.com> <0c02ed97-1f10-1d06-6a06-d1ec0af2dbf7@amd.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1032019753==" Return-path: In-Reply-To: <0c02ed97-1f10-1d06-6a06-d1ec0af2dbf7@amd.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Grodzovsky, Andrey" , "Koenig, Christian" , "dri-devel@lists.freedesktop.org" , "amd-gfx@lists.freedesktop.org" , "eric@anholt.net" , "etnaviv@lists.freedesktop.org" Cc: "Deng, Emily" , "Kazlauskas, Nicholas" , "Liu, Monk" List-Id: dri-devel@lists.freedesktop.org --===============1032019753== Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_MN2PR12MB2910903F08BF48360A6D5EEFB4380MN2PR12MB2910namp_" --_000_MN2PR12MB2910903F08BF48360A6D5EEFB4380MN2PR12MB2910namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 U29ycnksIEkgb25seSBjYW4gcHV0IG15IEFja2VkLWJ5OiBDaHVubWluZyBaaG91IDxkYXZpZDEu emhvdUBhbWQuY29tPiBvbiBwYXRjaCMzLg0KDQpJIGNhbm5vdCBmdWxseSBqdWRnZSBwYXRjaCAj NCwgIzUsICM2Lg0KDQotRGF2aWQNCg0KRnJvbTogYW1kLWdmeCA8YW1kLWdmeC1ib3VuY2VzQGxp c3RzLmZyZWVkZXNrdG9wLm9yZz4gT24gQmVoYWxmIE9mIEdyb2R6b3Zza3ksIEFuZHJleQ0KU2Vu dDogRnJpZGF5LCBBcHJpbCAyNiwgMjAxOSAxMDowOSBQTQ0KVG86IEtvZW5pZywgQ2hyaXN0aWFu IDxDaHJpc3RpYW4uS29lbmlnQGFtZC5jb20+OyBaaG91LCBEYXZpZChDaHVuTWluZykgPERhdmlk MS5aaG91QGFtZC5jb20+OyBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBhbWQtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgZXJpY0BhbmhvbHQubmV0OyBldG5hdml2QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZw0KQ2M6IEthemxhdXNrYXMsIE5pY2hvbGFzIDxOaWNob2xhcy5LYXpsYXVz a2FzQGFtZC5jb20+OyBMaXUsIE1vbmsgPE1vbmsuTGl1QGFtZC5jb20+DQpTdWJqZWN0OiBSZTog W1BBVENIIHY1IDYvNl0gZHJtL2FtZGdwdTogQXZvaWQgSFcgcmVzZXQgaWYgZ3VpbHR5IGpvYiBh bHJlYWR5IHNpZ25hbGVkLg0KDQoNClBpbmcgKG1vc3RseSBEYXZpZCBhbmQgTW9uaykuDQoNCkFu ZHJleQ0KT24gNC8yNC8xOSAzOjA5IEFNLCBDaHJpc3RpYW4gS8O2bmlnIHdyb3RlOg0KQW0gMjQu MDQuMTkgdW0gMDU6MDIgc2NocmllYiBaaG91LCBEYXZpZChDaHVuTWluZyk6DQo+PiAtICAgICAg ICAgICAgZHJtX3NjaGVkX3N0b3AoJnJpbmctPnNjaGVkLCAmam9iLT5iYXNlKTsNCj4+IC0NCj4+ ICAgICAgICAgICAgICAgLyogYWZ0ZXIgYWxsIGh3IGpvYnMgYXJlIHJlc2V0LCBodyBmZW5jZSBp cyBtZWFuaW5nbGVzcywgc28gZm9yY2VfY29tcGxldGlvbiAqLw0KPj4gICAgICAgICAgICAgICBh bWRncHVfZmVuY2VfZHJpdmVyX2ZvcmNlX2NvbXBsZXRpb24ocmluZyk7DQo+PiAgICAgICB9DQoN CkhXIGZlbmNlIGFyZSBhbHJlYWR5IGZvcmNlZCBjb21wbGV0aW9uLCB0aGVuIHdlIGNhbiBqdXN0 IGRpc2FibGUgaXJxIGZlbmNlIHByb2Nlc3MgYW5kIGlnbm9yZSBodyBmZW5jZSBzaWduYWwgd2hl biB3ZSBhcmUgdHJ5aW5nIHRvIGRvIEdQVSByZXNldCwgSSB0aGluay4gT3RoZXJ3aXNlIHdoaWNo IHdpbGwgbWFrZSB0aGUgbG9naWMgbXVjaCBtb3JlIGNvbXBsZXguDQpJZiB0aGlzIHNpdHVhdGlv biBoYXBwZW5zIGJlY2F1c2Ugb2YgbG9uZyB0aW1lIGV4ZWN1dGlvbiwgd2UgY2FuIGluY3JlYXNl IHRpbWVvdXQgb2YgcmVzZXQgZGV0ZWN0aW9uLg0KDQpZb3UgYXJlIG5vdCB0aGlua2luZyB3aWRl bHkgZW5vdWdoLCBmb3JjaW5nIHRoZSBodyBmZW5jZSB0byBjb21wbGV0ZSBjYW4gdHJpZ2dlciBv dGhlciB0byBzdGFydCBvdGhlciBhY3Rpdml0eSBpbiB0aGUgc3lzdGVtLg0KDQpXZSBmaXJzdCBu ZWVkIHRvIHN0b3AgZXZlcnl0aGluZyBhbmQgbWFrZSBzdXJlIHRoYXQgd2UgZG9uJ3QgZG8gYW55 IHByb2Nlc3NpbmcgYW55IG1vcmUgYW5kIHRoZW4gc3RhcnQgd2l0aCBvdXIgcmVzZXQgcHJvY2Vk dXJlIGluY2x1ZGluZyBmb3JjaW5nIGFsbCBodyBmZW5jZXMgdG8gY29tcGxldGUuDQoNCkNocmlz dGlhbi4NCg0KDQoNCi1EYXZpZA0KDQpGcm9tOiBhbWQtZ2Z4IDxhbWQtZ2Z4LWJvdW5jZXNAbGlz dHMuZnJlZWRlc2t0b3Aub3JnPjxtYWlsdG86YW1kLWdmeC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNr dG9wLm9yZz4gT24gQmVoYWxmIE9mIEdyb2R6b3Zza3ksIEFuZHJleQ0KU2VudDogV2VkbmVzZGF5 LCBBcHJpbCAyNCwgMjAxOSAxMjowMCBBTQ0KVG86IFpob3UsIERhdmlkKENodW5NaW5nKSA8RGF2 aWQxLlpob3VAYW1kLmNvbT48bWFpbHRvOkRhdmlkMS5aaG91QGFtZC5jb20+OyBkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnPG1haWx0bzpkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnPjsgYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc8bWFpbHRvOmFtZC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnPjsgZXJpY0BhbmhvbHQubmV0PG1haWx0bzplcmljQGFuaG9sdC5uZXQ+ OyBldG5hdml2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzxtYWlsdG86ZXRuYXZpdkBsaXN0cy5mcmVl ZGVza3RvcC5vcmc+OyBja29lbmlnLmxlaWNodHp1bWVya2VuQGdtYWlsLmNvbTxtYWlsdG86Y2tv ZW5pZy5sZWljaHR6dW1lcmtlbkBnbWFpbC5jb20+DQpDYzogS2F6bGF1c2thcywgTmljaG9sYXMg PE5pY2hvbGFzLkthemxhdXNrYXNAYW1kLmNvbT48bWFpbHRvOk5pY2hvbGFzLkthemxhdXNrYXNA YW1kLmNvbT47IExpdSwgTW9uayA8TW9uay5MaXVAYW1kLmNvbT48bWFpbHRvOk1vbmsuTGl1QGFt ZC5jb20+DQpTdWJqZWN0OiBSZTogW1BBVENIIHY1IDYvNl0gZHJtL2FtZGdwdTogQXZvaWQgSFcg cmVzZXQgaWYgZ3VpbHR5IGpvYiBhbHJlYWR5IHNpZ25hbGVkLg0KDQoNCk5vLCBpIG1lYW4gdGhl IGFjdHVhbCBIVyBmZW5jZSB3aGljaCBzaWduYWxzIHdoZW4gdGhlIGpvYiBmaW5pc2hlZCBleGVj dXRpb24gb24gdGhlIEhXLg0KDQpBbmRyZXkNCk9uIDQvMjMvMTkgMTE6MTkgQU0sIFpob3UsIERh dmlkKENodW5NaW5nKSB3cm90ZToNCmRvIHlvdSBtZWFuIGZlbmNlIHRpbWVyPyB3aHkgbm90IHN0 b3AgaXQgYXMgd2VsbCB3aGVuIHN0b3BwaW5nIHNjaGVkIGZvciB0aGUgcmVhc29uIG9mIGh3IHJl c2V0Pw0KDQotLS0tLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tLS0tDQpTdWJqZWN0OiBSZTog W1BBVENIIHY1IDYvNl0gZHJtL2FtZGdwdTogQXZvaWQgSFcgcmVzZXQgaWYgZ3VpbHR5IGpvYiBh bHJlYWR5IHNpZ25hbGVkLg0KRnJvbTogIkdyb2R6b3Zza3ksIEFuZHJleSINClRvOiAiWmhvdSwg RGF2aWQoQ2h1bk1pbmcpIiAsZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZyxhbWQtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZyxlcmljQGFuaG9sdC5uZXQsZXRuYXZpdkBsaXN0cy5mcmVl ZGVza3RvcC5vcmcsY2tvZW5pZy5sZWljaHR6dW1lcmtlbkBnbWFpbC5jb208bWFpbHRvOmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcsYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcs ZXJpY0BhbmhvbHQubmV0LGV0bmF2aXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnLGNrb2VuaWcubGVp Y2h0enVtZXJrZW5AZ21haWwuY29tPg0KQ0M6ICJLYXpsYXVza2FzLCBOaWNob2xhcyIgLCJMaXUs IE1vbmsiDQoNCk9uIDQvMjIvMTkgOTowOSBBTSwgWmhvdSwgRGF2aWQoQ2h1bk1pbmcpIHdyb3Rl Og0KPiArTW9uay4NCj4NCj4gR1BVIHJlc2V0IGlzIHVzZWQgd2lkZWx5IGluIFNSSU9WLCBzbyBu ZWVkIHZpcnR1bGl6YXRpbm8gZ3V5IHRha2UgYSBsb29rLg0KPg0KPiBCdXQgb3V0IG9mIGN1cmlv dXMsIHdoeSBndWlsdHkgam9iIGNhbiBzaWduYWwgbW9yZSBpZiB0aGUgam9iIGlzIGFscmVhZHkN Cj4gc2V0IHRvIGd1aWx0eT8gc2V0IGl0IHdyb25nbHk/DQo+DQo+DQo+IC1EYXZpZA0KDQoNCkl0 J3MgcG9zc2libGUgdGhhdCB0aGUgam9iIGRvZXMgY29tcGxldGVzIGF0IGEgbGF0ZXIgdGltZSB0 aGVuIGl0J3MNCnRpbWVvdXQgaGFuZGxlciBzdGFydGVkIHByb2Nlc3Npbmcgc28gaW4gdGhpcyBw YXRjaCB3ZSB0cnkgdG8gcHJvdGVjdA0KYWdhaW5zdCB0aGlzIGJ5IHJlY2hlY2tpbmcgdGhlIEhX IGZlbmNlIGFmdGVyIHN0b3BwaW5nIGFsbCBTVw0Kc2NoZWR1bGVycy4gV2UgZG8gaXQgQkVGT1JF IG1hcmtpbmcgZ3VpbHR5IG9uIHRoZSBqb2IncyBzY2hlZF9lbnRpdHkgc28NCmF0IHRoZSBwb2lu dCB3ZSBjaGVjayB0aGUgZ3VpbHR5IGZsYWcgaXMgbm90IHNldCB5ZXQuDQoNCkFuZHJleQ0KDQoN Cj4NCj4g5ZyoIDIwMTkvNC8xOCAyMzowMCwgQW5kcmV5IEdyb2R6b3Zza3kg5YaZ6YGTOg0KPj4g QWxzbyByZWplY3QgVERScyBpZiBhbm90aGVyIG9uZSBhbHJlYWR5IHJ1bm5pbmcuDQo+Pg0KPj4g djI6DQo+PiBTdG9wIGFsbCBzY2hlZHVsZXJzIGFjcm9zcyBkZXZpY2UgYW5kIGVudGlyZSBYR01J IGhpdmUgYmVmb3JlDQo+PiBmb3JjZSBzaWduYWxpbmcgSFcgZmVuY2VzLg0KPj4gQXZvaWQgcGFz c2luZyBqb2Jfc2lnbmFsZWQgdG8gaGVscGVyIGZuY3Rpb25zIHRvIGtlZXAgYWxsIHRoZSBkZWNp c2lvbg0KPj4gbWFraW5nIGFib3V0IHNraXBwaW5nIEhXIHJlc2V0IGluIG9uZSBwbGFjZS4NCj4+ DQo+PiB2MzoNCj4+IEZpeCBTVyBzY2hlZC4gaGFuZyBhZnRlciBub24gSFcgcmVzZXQuIHNjaGVk Lmh3X3JxX2NvdW50IGhhcyB0byBiZSBiYWxhbmNlZA0KPj4gYWdhaW5zdCBpdCdzIGRlY3JlbWVu dCBpbiBkcm1fc2NoZWRfc3RvcCBpbiBub24gSFcgcmVzZXQgY2FzZS4NCj4+IHY0OiByZWJhc2UN Cj4+IHY1OiBSZXZlcnQgdjMgYXMgd2UgZG8gaXQgbm93IGluIHNjZWR1bGVyIGNvZGUuDQo+Pg0K Pj4gU2lnbmVkLW9mZi1ieTogQW5kcmV5IEdyb2R6b3Zza3kgPGFuZHJleS5ncm9kem92c2t5QGFt ZC5jb20+PG1haWx0bzphbmRyZXkuZ3JvZHpvdnNreUBhbWQuY29tPg0KPj4gLS0tDQo+PiAgICBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgfCAxNDMgKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0NCj4+ICAgIDEgZmlsZSBjaGFuZ2VkLCA5NSBpbnNlcnRpb25z KCspLCA0OCBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2RldmljZS5jDQo+PiBpbmRleCBhMGUxNjVjLi44NWY4NzkyIDEwMDY0NA0KPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jDQo+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMNCj4+IEBAIC0zMzM0LDgg KzMzMzQsNiBAQCBzdGF0aWMgaW50IGFtZGdwdV9kZXZpY2VfcHJlX2FzaWNfcmVzZXQoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQo+PiAgICAgICAgICAgICAgIGlmICghcmluZyB8fCAhcmlu Zy0+c2NoZWQudGhyZWFkKQ0KPj4gICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPj4N Cj4+IC0gICAgICAgICAgICBkcm1fc2NoZWRfc3RvcCgmcmluZy0+c2NoZWQsICZqb2ItPmJhc2Up Ow0KPj4gLQ0KPj4gICAgICAgICAgICAgICAvKiBhZnRlciBhbGwgaHcgam9icyBhcmUgcmVzZXQs IGh3IGZlbmNlIGlzIG1lYW5pbmdsZXNzLCBzbyBmb3JjZV9jb21wbGV0aW9uICovDQo+PiAgICAg ICAgICAgICAgIGFtZGdwdV9mZW5jZV9kcml2ZXJfZm9yY2VfY29tcGxldGlvbihyaW5nKTsNCj4+ ICAgICAgIH0NCj4+IEBAIC0zMzQzLDYgKzMzNDEsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV9kZXZp Y2VfcHJlX2FzaWNfcmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQo+PiAgICAgICBp Zihqb2IpDQo+PiAgICAgICAgICAgICAgIGRybV9zY2hlZF9pbmNyZWFzZV9rYXJtYSgmam9iLT5i YXNlKTsNCj4+DQo+PiArICAgIC8qIERvbid0IHN1c3BlbmQgb24gYmFyZSBtZXRhbCBpZiB3ZSBh cmUgbm90IGdvaW5nIHRvIEhXIHJlc2V0IHRoZSBBU0lDICovDQo+PiAgICAgICBpZiAoIWFtZGdw dV9zcmlvdl92ZihhZGV2KSkgew0KPj4NCj4+ICAgICAgICAgICAgICAgaWYgKCFuZWVkX2Z1bGxf cmVzZXQpDQo+PiBAQCAtMzQ4MCwzNyArMzQ3OSwyMSBAQCBzdGF0aWMgaW50IGFtZGdwdV9kb19h c2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfaGl2ZV9pbmZvICpoaXZlLA0KPj4gICAgICAgcmV0dXJu IHI7DQo+PiAgICB9DQo+Pg0KPj4gLXN0YXRpYyB2b2lkIGFtZGdwdV9kZXZpY2VfcG9zdF9hc2lj X3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQ0KPj4gK3N0YXRpYyBib29sIGFtZGdw dV9kZXZpY2VfbG9ja19hZGV2KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBib29sIHRyeWxv Y2spDQo+PiAgICB7DQo+PiAtICAgIGludCBpOw0KPj4gLQ0KPj4gLSAgICBmb3IgKGkgPSAwOyBp IDwgQU1ER1BVX01BWF9SSU5HUzsgKytpKSB7DQo+PiAtICAgICAgICAgICAgc3RydWN0IGFtZGdw dV9yaW5nICpyaW5nID0gYWRldi0+cmluZ3NbaV07DQo+PiAtDQo+PiAtICAgICAgICAgICAgaWYg KCFyaW5nIHx8ICFyaW5nLT5zY2hlZC50aHJlYWQpDQo+PiAtICAgICAgICAgICAgICAgICAgICBj b250aW51ZTsNCj4+IC0NCj4+IC0gICAgICAgICAgICBpZiAoIWFkZXYtPmFzaWNfcmVzZXRfcmVz KQ0KPj4gLSAgICAgICAgICAgICAgICAgICAgZHJtX3NjaGVkX3Jlc3VibWl0X2pvYnMoJnJpbmct PnNjaGVkKTsNCj4+ICsgICAgaWYgKHRyeWxvY2spIHsNCj4+ICsgICAgICAgICAgICBpZiAoIW11 dGV4X3RyeWxvY2soJmFkZXYtPmxvY2tfcmVzZXQpKQ0KPj4gKyAgICAgICAgICAgICAgICAgICAg cmV0dXJuIGZhbHNlOw0KPj4gKyAgICB9IGVsc2UNCj4+ICsgICAgICAgICAgICBtdXRleF9sb2Nr KCZhZGV2LT5sb2NrX3Jlc2V0KTsNCj4+DQo+PiAtICAgICAgICAgICAgZHJtX3NjaGVkX3N0YXJ0 KCZyaW5nLT5zY2hlZCwgIWFkZXYtPmFzaWNfcmVzZXRfcmVzKTsNCj4+IC0gICAgfQ0KPj4gLQ0K Pj4gLSAgICBpZiAoIWFtZGdwdV9kZXZpY2VfaGFzX2RjX3N1cHBvcnQoYWRldikpIHsNCj4+IC0g ICAgICAgICAgICBkcm1faGVscGVyX3Jlc3VtZV9mb3JjZV9tb2RlKGFkZXYtPmRkZXYpOw0KPj4g LSAgICB9DQo+PiAtDQo+PiAtICAgIGFkZXYtPmFzaWNfcmVzZXRfcmVzID0gMDsNCj4+IC19DQo+ PiAtDQo+PiAtc3RhdGljIHZvaWQgYW1kZ3B1X2RldmljZV9sb2NrX2FkZXYoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYpDQo+PiAtew0KPj4gLSAgICBtdXRleF9sb2NrKCZhZGV2LT5sb2NrX3Jl c2V0KTsNCj4+ICAgICAgIGF0b21pY19pbmMoJmFkZXYtPmdwdV9yZXNldF9jb3VudGVyKTsNCj4+ ICAgICAgIGFkZXYtPmluX2dwdV9yZXNldCA9IDE7DQo+PiAgICAgICAvKiBCbG9jayBrZmQ6IFNS SU9WIHdvdWxkIGRvIGl0IHNlcGFyYXRlbHkgKi8NCj4+ICAgICAgIGlmICghYW1kZ3B1X3NyaW92 X3ZmKGFkZXYpKQ0KPj4gICAgICAgICAgICAgICAgICAgIGFtZGdwdV9hbWRrZmRfcHJlX3Jlc2V0 KGFkZXYpOw0KPj4gKw0KPj4gKyAgICByZXR1cm4gdHJ1ZTsNCj4+ICAgIH0NCj4+DQo+PiAgICBz dGF0aWMgdm9pZCBhbWRncHVfZGV2aWNlX3VubG9ja19hZGV2KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KQ0KPj4gQEAgLTM1MzgsNDAgKzM1MjEsNDIgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2Rl dmljZV91bmxvY2tfYWRldihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikNCj4+ICAgIGludCBh bWRncHVfZGV2aWNlX2dwdV9yZWNvdmVyKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KPj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhbWRncHVfam9iICpqb2IpDQo+PiAg ICB7DQo+PiAtICAgIGludCByOw0KPj4gKyAgICBzdHJ1Y3QgbGlzdF9oZWFkIGRldmljZV9saXN0 LCAqZGV2aWNlX2xpc3RfaGFuZGxlID0gIE5VTEw7DQo+PiArICAgIGJvb2wgbmVlZF9mdWxsX3Jl c2V0LCBqb2Jfc2lnbmFsZWQ7DQo+PiAgICAgICBzdHJ1Y3QgYW1kZ3B1X2hpdmVfaW5mbyAqaGl2 ZSA9IE5VTEw7DQo+PiAtICAgIGJvb2wgbmVlZF9mdWxsX3Jlc2V0ID0gZmFsc2U7DQo+PiAgICAg ICBzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqdG1wX2FkZXYgPSBOVUxMOw0KPj4gLSAgICBzdHJ1Y3Qg bGlzdF9oZWFkIGRldmljZV9saXN0LCAqZGV2aWNlX2xpc3RfaGFuZGxlID0gIE5VTEw7DQo+PiAr ICAgIGludCBpLCByID0gMDsNCj4+DQo+PiArICAgIG5lZWRfZnVsbF9yZXNldCA9IGpvYl9zaWdu YWxlZCA9IGZhbHNlOw0KPj4gICAgICAgSU5JVF9MSVNUX0hFQUQoJmRldmljZV9saXN0KTsNCj4+ DQo+PiAgICAgICBkZXZfaW5mbyhhZGV2LT5kZXYsICJHUFUgcmVzZXQgYmVnaW4hXG4iKTsNCj4+ DQo+PiArICAgIGhpdmUgPSBhbWRncHVfZ2V0X3hnbWlfaGl2ZShhZGV2LCBmYWxzZSk7DQo+PiAr DQo+PiAgICAgICAvKg0KPj4gLSAgICAgKiBJbiBjYXNlIG9mIFhHTUkgaGl2ZSBkaXNhbGxvdyBj b25jdXJyZW50IHJlc2V0cyB0byBiZSB0cmlnZ2VyZWQNCj4+IC0gICAgICogYnkgZGlmZmVyZW50 IG5vZGVzLiBObyBwb2ludCBhbHNvIHNpbmNlIHRoZSBvbmUgbm9kZSBhbHJlYWR5IGV4ZWN1dGlu Zw0KPj4gLSAgICAgKiByZXNldCB3aWxsIGFsc28gcmVzZXQgYWxsIHRoZSBvdGhlciBub2RlcyBp biB0aGUgaGl2ZS4NCj4+ICsgICAgICogSGVyZSB3ZSB0cnlsb2NrIHRvIGF2b2lkIGNoYWluIG9m IHJlc2V0cyBleGVjdXRpbmcgZnJvbQ0KPj4gKyAgICAgKiBlaXRoZXIgdHJpZ2dlciBieSBqb2Jz IG9uIGRpZmZlcmVudCBhZGV2cyBpbiBYR01JIGhpdmUgb3Igam9icyBvbg0KPj4gKyAgICAgKiBk aWZmZXJlbnQgc2NoZWR1bGVycyBmb3Igc2FtZSBkZXZpY2Ugd2hpbGUgdGhpcyBUTyBoYW5kbGVy IGlzIHJ1bm5pbmcuDQo+PiArICAgICAqIFdlIGFsd2F5cyByZXNldCBhbGwgc2NoZWR1bGVycyBm b3IgZGV2aWNlIGFuZCBhbGwgZGV2aWNlcyBmb3IgWEdNSQ0KPj4gKyAgICAgKiBoaXZlIHNvIHRo YXQgc2hvdWxkIHRha2UgY2FyZSBvZiB0aGVtIHRvby4NCj4+ICAgICAgICAqLw0KPj4gLSAgICBo aXZlID0gYW1kZ3B1X2dldF94Z21pX2hpdmUoYWRldiwgMCk7DQo+PiAtICAgIGlmIChoaXZlICYm IGFkZXYtPmdtYy54Z21pLm51bV9waHlzaWNhbF9ub2RlcyA+IDEgJiYNCj4+IC0gICAgICAgICFt dXRleF90cnlsb2NrKCZoaXZlLT5yZXNldF9sb2NrKSkNCj4+ICsNCj4+ICsgICAgaWYgKGhpdmUg JiYgIW11dGV4X3RyeWxvY2soJmhpdmUtPnJlc2V0X2xvY2spKSB7DQo+PiArICAgICAgICAgICAg RFJNX0lORk8oIkJhaWxpbmcgb24gVERSIGZvciBzX2pvYjolbGx4LCBoaXZlOiAlbGx4IGFzIGFu b3RoZXIgYWxyZWFkeSBpbiBwcm9ncmVzcyIsDQo+PiArICAgICAgICAgICAgICAgICAgICAgam9i LT5iYXNlLmlkLCBoaXZlLT5oaXZlX2lkKTsNCj4+ICAgICAgICAgICAgICAgcmV0dXJuIDA7DQo+ PiArICAgIH0NCj4+DQo+PiAgICAgICAvKiBTdGFydCB3aXRoIGFkZXYgcHJlIGFzaWMgcmVzZXQg Zmlyc3QgZm9yIHNvZnQgcmVzZXQgY2hlY2suKi8NCj4+IC0gICAgYW1kZ3B1X2RldmljZV9sb2Nr X2FkZXYoYWRldik7DQo+PiAtICAgIHIgPSBhbWRncHVfZGV2aWNlX3ByZV9hc2ljX3Jlc2V0KGFk ZXYsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpvYiwNCj4+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5lZWRfZnVsbF9yZXNldCk7DQo+ PiAtICAgIGlmIChyKSB7DQo+PiAtICAgICAgICAgICAgLypUT0RPIFNob3VsZCB3ZSBzdG9wID8q Lw0KPj4gLSAgICAgICAgICAgIERSTV9FUlJPUigiR1BVIHByZSBhc2ljIHJlc2V0IGZhaWxlZCB3 aXRoIGVyciwgJWQgZm9yIGRybSBkZXYsICVzICIsDQo+PiAtICAgICAgICAgICAgICAgICAgICAg IHIsIGFkZXYtPmRkZXYtPnVuaXF1ZSk7DQo+PiAtICAgICAgICAgICAgYWRldi0+YXNpY19yZXNl dF9yZXMgPSByOw0KPj4gKyAgICBpZiAoIWFtZGdwdV9kZXZpY2VfbG9ja19hZGV2KGFkZXYsICFo aXZlKSkgew0KPj4gKyAgICAgICAgICAgIERSTV9JTkZPKCJCYWlsaW5nIG9uIFREUiBmb3Igc19q b2I6JWxseCwgYXMgYW5vdGhlciBhbHJlYWR5IGluIHByb2dyZXNzIiwNCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgam9iLT5iYXNlLmlkKTsNCj4+ICsgICAgICAgICAg ICByZXR1cm4gMDsNCj4+ICAgICAgIH0NCj4+DQo+PiAgICAgICAvKiBCdWlsZCBsaXN0IG9mIGRl dmljZXMgdG8gcmVzZXQgKi8NCj4+IC0gICAgaWYgIChuZWVkX2Z1bGxfcmVzZXQgJiYgYWRldi0+ Z21jLnhnbWkubnVtX3BoeXNpY2FsX25vZGVzID4gMSkgew0KPj4gKyAgICBpZiAgKGFkZXYtPmdt Yy54Z21pLm51bV9waHlzaWNhbF9ub2RlcyA+IDEpIHsNCj4+ICAgICAgICAgICAgICAgaWYgKCFo aXZlKSB7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgYW1kZ3B1X2RldmljZV91bmxvY2tfYWRl dihhZGV2KTsNCj4+ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT0RFVjsNCj4+IEBA IC0zNTg4LDEzICszNTczLDU2IEBAIGludCBhbWRncHVfZGV2aWNlX2dwdV9yZWNvdmVyKHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LA0KPj4gICAgICAgICAgICAgICBkZXZpY2VfbGlzdF9oYW5k bGUgPSAmZGV2aWNlX2xpc3Q7DQo+PiAgICAgICB9DQo+Pg0KPj4gKyAgICAvKiBibG9jayBhbGwg c2NoZWR1bGVycyBhbmQgcmVzZXQgZ2l2ZW4gam9iJ3MgcmluZyAqLw0KPj4gKyAgICBsaXN0X2Zv cl9lYWNoX2VudHJ5KHRtcF9hZGV2LCBkZXZpY2VfbGlzdF9oYW5kbGUsIGdtYy54Z21pLmhlYWQp IHsNCj4+ICsgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgQU1ER1BVX01BWF9SSU5HUzsgKytp KSB7DQo+PiArICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcgPSB0 bXBfYWRldi0+cmluZ3NbaV07DQo+PiArDQo+PiArICAgICAgICAgICAgICAgICAgICBpZiAoIXJp bmcgfHwgIXJpbmctPnNjaGVkLnRocmVhZCkNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29udGludWU7DQo+PiArDQo+PiArICAgICAgICAgICAgICAgICAgICBkcm1fc2NoZWRfc3Rv cCgmcmluZy0+c2NoZWQsICZqb2ItPmJhc2UpOw0KPj4gKyAgICAgICAgICAgIH0NCj4+ICsgICAg fQ0KPj4gKw0KPj4gKw0KPj4gKyAgICAvKg0KPj4gKyAgICAgKiBNdXN0IGNoZWNrIGd1aWx0eSBz aWduYWwgaGVyZSBzaW5jZSBhZnRlciB0aGlzIHBvaW50IGFsbCBvbGQNCj4+ICsgICAgICogSFcg ZmVuY2VzIGFyZSBmb3JjZSBzaWduYWxlZC4NCj4+ICsgICAgICoNCj4+ICsgICAgICogam9iLT5i YXNlIGhvbGRzIGEgcmVmZXJlbmNlIHRvIHBhcmVudCBmZW5jZQ0KPj4gKyAgICAgKi8NCj4+ICsg ICAgaWYgKGpvYiAmJiBqb2ItPmJhc2Uuc19mZW5jZS0+cGFyZW50ICYmDQo+PiArICAgICAgICBk bWFfZmVuY2VfaXNfc2lnbmFsZWQoam9iLT5iYXNlLnNfZmVuY2UtPnBhcmVudCkpDQo+PiArICAg ICAgICAgICAgam9iX3NpZ25hbGVkID0gdHJ1ZTsNCj4+ICsNCj4+ICsgICAgaWYgKCFhbWRncHVf ZGV2aWNlX2lwX25lZWRfZnVsbF9yZXNldChhZGV2KSkNCj4+ICsgICAgICAgICAgICBkZXZpY2Vf bGlzdF9oYW5kbGUgPSAmZGV2aWNlX2xpc3Q7DQo+PiArDQo+PiArICAgIGlmIChqb2Jfc2lnbmFs ZWQpIHsNCj4+ICsgICAgICAgICAgICBkZXZfaW5mbyhhZGV2LT5kZXYsICJHdWlsdHkgam9iIGFs cmVhZHkgc2lnbmFsZWQsIHNraXBwaW5nIEhXIHJlc2V0Iik7DQo+PiArICAgICAgICAgICAgZ290 byBza2lwX2h3X3Jlc2V0Ow0KPj4gKyAgICB9DQo+PiArDQo+PiArDQo+PiArICAgIC8qIEd1aWx0 eSBqb2Igd2lsbCBiZSBmcmVlZCBhZnRlciB0aGlzKi8NCj4+ICsgICAgciA9IGFtZGdwdV9kZXZp Y2VfcHJlX2FzaWNfcmVzZXQoYWRldiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgam9iLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm bmVlZF9mdWxsX3Jlc2V0KTsNCj4+ICsgICAgaWYgKHIpIHsNCj4+ICsgICAgICAgICAgICAvKlRP RE8gU2hvdWxkIHdlIHN0b3AgPyovDQo+PiArICAgICAgICAgICAgRFJNX0VSUk9SKCJHUFUgcHJl IGFzaWMgcmVzZXQgZmFpbGVkIHdpdGggZXJyLCAlZCBmb3IgZHJtIGRldiwgJXMgIiwNCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgciwgYWRldi0+ZGRldi0+dW5pcXVlKTsNCj4+ICsgICAgICAg ICAgICBhZGV2LT5hc2ljX3Jlc2V0X3JlcyA9IHI7DQo+PiArICAgIH0NCj4+ICsNCj4+ICAgIHJl dHJ5OiAgICAvKiBSZXN0IG9mIGFkZXZzIHByZSBhc2ljIHJlc2V0IGZyb20gWEdNSSBoaXZlLiAq Lw0KPj4gICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSh0bXBfYWRldiwgZGV2aWNlX2xpc3RfaGFu ZGxlLCBnbWMueGdtaS5oZWFkKSB7DQo+Pg0KPj4gICAgICAgICAgICAgICBpZiAodG1wX2FkZXYg PT0gYWRldikNCj4+ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCj4+DQo+PiAtICAg ICAgICAgICAgYW1kZ3B1X2RldmljZV9sb2NrX2FkZXYodG1wX2FkZXYpOw0KPj4gKyAgICAgICAg ICAgIGFtZGdwdV9kZXZpY2VfbG9ja19hZGV2KHRtcF9hZGV2LCBmYWxzZSk7DQo+PiAgICAgICAg ICAgICAgIHIgPSBhbWRncHVfZGV2aWNlX3ByZV9hc2ljX3Jlc2V0KHRtcF9hZGV2LA0KPj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmVlZF9mdWxsX3Jl c2V0KTsNCj4+IEBAIC0zNjE4LDkgKzM2NDYsMjggQEAgaW50IGFtZGdwdV9kZXZpY2VfZ3B1X3Jl Y292ZXIoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQo+PiAgICAgICAgICAgICAgICAgICAg ICAgZ290byByZXRyeTsNCj4+ICAgICAgIH0NCj4+DQo+PiArc2tpcF9od19yZXNldDoNCj4+ICsN Cj4+ICAgICAgIC8qIFBvc3QgQVNJQyByZXNldCBmb3IgYWxsIGRldnMgLiovDQo+PiAgICAgICBs aXN0X2Zvcl9lYWNoX2VudHJ5KHRtcF9hZGV2LCBkZXZpY2VfbGlzdF9oYW5kbGUsIGdtYy54Z21p LmhlYWQpIHsNCj4+IC0gICAgICAgICAgICBhbWRncHVfZGV2aWNlX3Bvc3RfYXNpY19yZXNldCh0 bXBfYWRldik7DQo+PiArICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IEFNREdQVV9NQVhfUklO R1M7ICsraSkgew0KPj4gKyAgICAgICAgICAgICAgICAgICAgc3RydWN0IGFtZGdwdV9yaW5nICpy aW5nID0gdG1wX2FkZXYtPnJpbmdzW2ldOw0KPj4gKw0KPj4gKyAgICAgICAgICAgICAgICAgICAg aWYgKCFyaW5nIHx8ICFyaW5nLT5zY2hlZC50aHJlYWQpDQo+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnRpbnVlOw0KPj4gKw0KPj4gKyAgICAgICAgICAgICAgICAgICAgLyogTm8g cG9pbnQgdG8gcmVzdWJtaXQgam9icyBpZiB3ZSBkaWRuJ3QgSFcgcmVzZXQqLw0KPj4gKyAgICAg ICAgICAgICAgICAgICAgaWYgKCF0bXBfYWRldi0+YXNpY19yZXNldF9yZXMgJiYgIWpvYl9zaWdu YWxlZCkNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJtX3NjaGVkX3Jlc3VibWl0 X2pvYnMoJnJpbmctPnNjaGVkKTsNCj4+ICsNCj4+ICsgICAgICAgICAgICAgICAgICAgIGRybV9z Y2hlZF9zdGFydCgmcmluZy0+c2NoZWQsICF0bXBfYWRldi0+YXNpY19yZXNldF9yZXMpOw0KPj4g KyAgICAgICAgICAgIH0NCj4+ICsNCj4+ICsgICAgICAgICAgICBpZiAoIWFtZGdwdV9kZXZpY2Vf aGFzX2RjX3N1cHBvcnQodG1wX2FkZXYpICYmICFqb2Jfc2lnbmFsZWQpIHsNCj4+ICsgICAgICAg ICAgICAgICAgICAgIGRybV9oZWxwZXJfcmVzdW1lX2ZvcmNlX21vZGUodG1wX2FkZXYtPmRkZXYp Ow0KPj4gKyAgICAgICAgICAgIH0NCj4+ICsNCj4+ICsgICAgICAgICAgICB0bXBfYWRldi0+YXNp Y19yZXNldF9yZXMgPSAwOw0KPj4NCj4+ICAgICAgICAgICAgICAgaWYgKHIpIHsNCj4+ICAgICAg ICAgICAgICAgICAgICAgICAvKiBiYWQgbmV3cywgaG93IHRvIHRlbGwgaXQgdG8gdXNlcnNwYWNl ID8gKi8NCj4+IEBAIC0zNjMzLDcgKzM2ODAsNyBAQCBpbnQgYW1kZ3B1X2RldmljZV9ncHVfcmVj b3ZlcihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwNCj4+ICAgICAgICAgICAgICAgYW1kZ3B1 X2RldmljZV91bmxvY2tfYWRldih0bXBfYWRldik7DQo+PiAgICAgICB9DQo+Pg0KPj4gLSAgICBp ZiAoaGl2ZSAmJiBhZGV2LT5nbWMueGdtaS5udW1fcGh5c2ljYWxfbm9kZXMgPiAxKQ0KPj4gKyAg ICBpZiAoaGl2ZSkNCj4+ICAgICAgICAgICAgICAgbXV0ZXhfdW5sb2NrKCZoaXZlLT5yZXNldF9s b2NrKTsNCj4+DQo+PiAgICAgICBpZiAocikNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fDQphbWQtZ2Z4IG1haWxpbmcgbGlzdA0KYW1kLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmc8bWFpbHRvOmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPg0KaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4DQoNCg== --_000_MN2PR12MB2910903F08BF48360A6D5EEFB4380MN2PR12MB2910namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OkRlbmdYaWFuOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAx IDE7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUg NSAyIDIgMiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Ik1pY3Jvc29mdCBZ YUhlaSI7DQoJcGFub3NlLTE6MiAxMSA1IDMgMiAyIDQgMiAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtm b250LWZhbWlseToiXEBNaWNyb3NvZnQgWWFIZWkiO30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1p bHk6IlxARGVuZ1hpYW4iOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0KLyogU3R5 bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3Jt YWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEx LjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgljb2xvcjpibGFjazt9 DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCglj b2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFu Lk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpw dXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwLm1zb25vcm1hbDAsIGxpLm1z b25vcm1hbDAsIGRpdi5tc29ub3JtYWwwDQoJe21zby1zdHlsZS1uYW1lOm1zb25vcm1hbDsNCglt c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1zby1tYXJnaW4t Ym90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBpbjsNCglmb250LXNpemU6MTEuMHB0Ow0K CWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOmJsYWNrO30NCnAuZW1h aWxxdW90ZSwgbGkuZW1haWxxdW90ZSwgZGl2LmVtYWlscXVvdGUNCgl7bXNvLXN0eWxlLW5hbWU6 ZW1haWxxdW90ZTsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGlu Ow0KCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjEuMHB0Ow0KCWZv bnQtc2l6ZToxMS4wcHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJY29s b3I6YmxhY2s7fQ0Kc3Bhbi5FbWFpbFN0eWxlMjANCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7 DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJY29sb3I6d2luZG93dGV4dDt9 DQpzcGFuLkVtYWlsU3R5bGUyMQ0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsNCglm b250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgljb2xvcjp3aW5kb3d0ZXh0O30NCi5N c29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtc2l6ZTox MC4wcHQ7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1hcmdp bjoxLjBpbiAxLjI1aW4gMS4waW4gMS4yNWluO30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpX b3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNo YXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRp Zl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0 Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0Pjwv eG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgYmdjb2xvcj0id2hpdGUiIGxhbmc9IkVO LVVTIiBsaW5rPSJibHVlIiB2bGluaz0icHVycGxlIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9u MSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6d2luZG93dGV4dCI+ U29ycnksIEkgb25seSBjYW4gcHV0IG15IEFja2VkLWJ5OiBDaHVubWluZyBaaG91ICZsdDtkYXZp ZDEuemhvdUBhbWQuY29tJmd0OyBvbiBwYXRjaCMzLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjp3aW5kb3d0ZXh0Ij48bzpwPiZu YnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i Y29sb3I6d2luZG93dGV4dCI+SSBjYW5ub3QgZnVsbHkganVkZ2UgcGF0Y2ggIzQsICM1LCAjNi48 bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i Y29sb3I6d2luZG93dGV4dCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOndpbmRvd3RleHQiPi1EYXZpZDxvOnA+PC9v OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjp3 aW5kb3d0ZXh0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPGRpdiBzdHls ZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4w cHQgMGluIDBpbiAwaW4iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gc3R5bGU9ImNv bG9yOndpbmRvd3RleHQiPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iY29sb3I6d2luZG93 dGV4dCI+IGFtZC1nZnggJmx0O2FtZC1nZngtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmcm Z3Q7DQo8Yj5PbiBCZWhhbGYgT2YgPC9iPkdyb2R6b3Zza3ksIEFuZHJleTxicj4NCjxiPlNlbnQ6 PC9iPiBGcmlkYXksIEFwcmlsIDI2LCAyMDE5IDEwOjA5IFBNPGJyPg0KPGI+VG86PC9iPiBLb2Vu aWcsIENocmlzdGlhbiAmbHQ7Q2hyaXN0aWFuLktvZW5pZ0BhbWQuY29tJmd0OzsgWmhvdSwgRGF2 aWQoQ2h1bk1pbmcpICZsdDtEYXZpZDEuWmhvdUBhbWQuY29tJmd0OzsgZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZzsgYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IGVyaWNAYW5o b2x0Lm5ldDsgZXRuYXZpdkBsaXN0cy5mcmVlZGVza3RvcC5vcmc8YnI+DQo8Yj5DYzo8L2I+IEth emxhdXNrYXMsIE5pY2hvbGFzICZsdDtOaWNob2xhcy5LYXpsYXVza2FzQGFtZC5jb20mZ3Q7OyBM aXUsIE1vbmsgJmx0O01vbmsuTGl1QGFtZC5jb20mZ3Q7PGJyPg0KPGI+U3ViamVjdDo8L2I+IFJl OiBbUEFUQ0ggdjUgNi82XSBkcm0vYW1kZ3B1OiBBdm9pZCBIVyByZXNldCBpZiBndWlsdHkgam9i IGFscmVhZHkgc2lnbmFsZWQuPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHA+UGluZyAobW9z dGx5IERhdmlkIGFuZCBNb25rKS48bzpwPjwvbzpwPjwvcD4NCjxwPkFuZHJleTxvOnA+PC9vOnA+ PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk9uIDQvMjQvMTkgMzowOSBBTSwgQ2hy aXN0aWFuIEvDtm5pZyB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUg c3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+QW0gMjQuMDQuMTkgdW0gMDU6MDIgc2NocmllYiBaaG91LCBEYXZp ZChDaHVuTWluZyk6PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJt YXJnaW4tdG9wOjUuMHB0O21hcmdpbi1ib3R0b206NS4wcHQiPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkcm1fc2NoZWRfc3RvcCgmYW1wO3JpbmctJmd0O3NjaGVk LCAmYW1wO2pvYi0mZ3Q7YmFzZSk7PGJyPg0KJmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIGFmdGVyIGFsbCBodyBqb2JzIGFyZSByZXNldCwgaHcg ZmVuY2UgaXMgbWVhbmluZ2xlc3MsIHNvIGZvcmNlX2NvbXBsZXRpb24gKi88YnI+DQomZ3Q7Jmd0 OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBhbWRncHVfZmVuY2VfZHJpdmVyX2ZvcmNlX2Nv bXBsZXRpb24ocmluZyk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgfTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7PG86 cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5IVyBmZW5jZSBhcmUgYWxyZWFkeSBm b3JjZWQgY29tcGxldGlvbiwgdGhlbiB3ZSBjYW4ganVzdCBkaXNhYmxlIGlycSBmZW5jZSBwcm9j ZXNzIGFuZCBpZ25vcmUgaHcgZmVuY2Ugc2lnbmFsIHdoZW4gd2UgYXJlIHRyeWluZyB0byBkbyBH UFUgcmVzZXQsIEkgdGhpbmsuIE90aGVyd2lzZSB3aGljaCB3aWxsIG1ha2UgdGhlIGxvZ2ljIG11 Y2ggbW9yZSBjb21wbGV4LjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw YW4gc3R5bGU9ImNvbG9yOndpbmRvd3RleHQiPklmIHRoaXMgc2l0dWF0aW9uIGhhcHBlbnMgYmVj YXVzZSBvZiBsb25nIHRpbWUgZXhlY3V0aW9uLCB3ZSBjYW4gaW5jcmVhc2UgdGltZW91dCBvZiBy ZXNldCBkZXRlY3Rpb24uPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPC9ibG9ja3F1b3RlPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PGJyPg0KWW91IGFyZSBub3QgdGhpbmtpbmcgd2lkZWx5IGVub3Vn aCwgZm9yY2luZyB0aGUgaHcgZmVuY2UgdG8gY29tcGxldGUgY2FuIHRyaWdnZXIgb3RoZXIgdG8g c3RhcnQgb3RoZXIgYWN0aXZpdHkgaW4gdGhlIHN5c3RlbS48YnI+DQo8YnI+DQpXZSBmaXJzdCBu ZWVkIHRvIHN0b3AgZXZlcnl0aGluZyBhbmQgbWFrZSBzdXJlIHRoYXQgd2UgZG9uJ3QgZG8gYW55 IHByb2Nlc3NpbmcgYW55IG1vcmUgYW5kIHRoZW4gc3RhcnQgd2l0aCBvdXIgcmVzZXQgcHJvY2Vk dXJlIGluY2x1ZGluZyBmb3JjaW5nIGFsbCBodyBmZW5jZXMgdG8gY29tcGxldGUuPGJyPg0KPGJy Pg0KQ2hyaXN0aWFuLjxicj4NCjxicj4NCjxicj4NCjxvOnA+PC9vOnA+PC9wPg0KPGJsb2NrcXVv dGUgc3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6d2luZG93dGV4dCI+Jm5ic3A7PC9zcGFu PjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9y OndpbmRvd3RleHQiPi1EYXZpZDwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O b3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjp3aW5kb3d0ZXh0Ij4mbmJzcDs8L3NwYW4+PG86cD48 L286cD48L3A+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVl IDEuNXB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNC4wcHQiPg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJv cmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBp biAwaW4gMGluIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIHN0eWxlPSJjb2xvcjp3 aW5kb3d0ZXh0Ij5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImNvbG9yOndpbmRvd3RleHQi PiBhbWQtZ2Z4DQo8YSBocmVmPSJtYWlsdG86YW1kLWdmeC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNr dG9wLm9yZyI+Jmx0O2FtZC1nZngtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmcmZ3Q7PC9h Pg0KPGI+T24gQmVoYWxmIE9mIDwvYj5Hcm9kem92c2t5LCBBbmRyZXk8YnI+DQo8Yj5TZW50Ojwv Yj4gV2VkbmVzZGF5LCBBcHJpbCAyNCwgMjAxOSAxMjowMCBBTTxicj4NCjxiPlRvOjwvYj4gWmhv dSwgRGF2aWQoQ2h1bk1pbmcpIDxhIGhyZWY9Im1haWx0bzpEYXZpZDEuWmhvdUBhbWQuY29tIj4m bHQ7RGF2aWQxLlpob3VAYW1kLmNvbSZndDs8L2E+Ow0KPGEgaHJlZj0ibWFpbHRvOmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmciPmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmc8 L2E+Ow0KPGEgaHJlZj0ibWFpbHRvOmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnIj5hbWQt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzwvYT47DQo8YSBocmVmPSJtYWlsdG86ZXJpY0Bhbmhv bHQubmV0Ij5lcmljQGFuaG9sdC5uZXQ8L2E+OyA8YSBocmVmPSJtYWlsdG86ZXRuYXZpdkBsaXN0 cy5mcmVlZGVza3RvcC5vcmciPg0KZXRuYXZpdkBsaXN0cy5mcmVlZGVza3RvcC5vcmc8L2E+OyA8 YSBocmVmPSJtYWlsdG86Y2tvZW5pZy5sZWljaHR6dW1lcmtlbkBnbWFpbC5jb20iPg0KY2tvZW5p Zy5sZWljaHR6dW1lcmtlbkBnbWFpbC5jb208L2E+PGJyPg0KPGI+Q2M6PC9iPiBLYXpsYXVza2Fz LCBOaWNob2xhcyA8YSBocmVmPSJtYWlsdG86TmljaG9sYXMuS2F6bGF1c2thc0BhbWQuY29tIj4m bHQ7TmljaG9sYXMuS2F6bGF1c2thc0BhbWQuY29tJmd0OzwvYT47IExpdSwgTW9uaw0KPGEgaHJl Zj0ibWFpbHRvOk1vbmsuTGl1QGFtZC5jb20iPiZsdDtNb25rLkxpdUBhbWQuY29tJmd0OzwvYT48 YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtQQVRDSCB2NSA2LzZdIGRybS9hbWRncHU6IEF2b2lk IEhXIHJlc2V0IGlmIGd1aWx0eSBqb2IgYWxyZWFkeSBzaWduYWxlZC48L3NwYW4+PG86cD48L286 cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48 L286cD48L3A+DQo8cD5ObywgaSBtZWFuIHRoZSBhY3R1YWwgSFcgZmVuY2Ugd2hpY2ggc2lnbmFs cyB3aGVuIHRoZSBqb2IgZmluaXNoZWQgZXhlY3V0aW9uIG9uIHRoZSBIVy48bzpwPjwvbzpwPjwv cD4NCjxwPkFuZHJleTxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi Pk9uIDQvMjMvMTkgMTE6MTkgQU0sIFpob3UsIERhdmlkKENodW5NaW5nKSB3cm90ZTo8bzpwPjwv bzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFy Z2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1h cmdpbi1ib3R0b206MTIuMHB0Ij5kbyB5b3UgbWVhbiBmZW5jZSB0aW1lcj8gd2h5IG5vdCBzdG9w IGl0IGFzIHdlbGwgd2hlbiBzdG9wcGluZyBzY2hlZCBmb3IgdGhlIHJlYXNvbiBvZiBodyByZXNl dD88YnI+DQo8YnI+DQotLS0tLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tLS0tPGJyPg0KU3Vi amVjdDogUmU6IFtQQVRDSCB2NSA2LzZdIGRybS9hbWRncHU6IEF2b2lkIEhXIHJlc2V0IGlmIGd1 aWx0eSBqb2IgYWxyZWFkeSBzaWduYWxlZC48YnI+DQpGcm9tOiAmcXVvdDtHcm9kem92c2t5LCBB bmRyZXkmcXVvdDsgPGJyPg0KVG86ICZxdW90O1pob3UsIERhdmlkKENodW5NaW5nKSZxdW90OyAs PGEgaHJlZj0ibWFpbHRvOmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcsYW1kLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcsZXJpY0BhbmhvbHQubmV0LGV0bmF2aXZAbGlzdHMuZnJlZWRl c2t0b3Aub3JnLGNrb2VuaWcubGVpY2h0enVtZXJrZW5AZ21haWwuY29tIj5kcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnLGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnLGVyaWNAYW5o b2x0Lm5ldCxldG5hdml2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZyxja29lbmlnLmxlaWNodHp1bWVy a2VuQGdtYWlsLmNvbTwvYT48YnI+DQpDQzogJnF1b3Q7S2F6bGF1c2thcywgTmljaG9sYXMmcXVv dDsgLCZxdW90O0xpdSwgTW9uayZxdW90OyA8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxicj4NCk9uIDQvMjIvMTkgOTowOSBBTSwgWmhvdSwgRGF2 aWQoQ2h1bk1pbmcpIHdyb3RlOjxicj4NCiZndDsgJiM0MztNb25rLjxicj4NCiZndDs8YnI+DQom Z3Q7IEdQVSByZXNldCBpcyB1c2VkIHdpZGVseSBpbiBTUklPViwgc28gbmVlZCB2aXJ0dWxpemF0 aW5vIGd1eSB0YWtlIGEgbG9vay48YnI+DQomZ3Q7PGJyPg0KJmd0OyBCdXQgb3V0IG9mIGN1cmlv dXMsIHdoeSBndWlsdHkgam9iIGNhbiBzaWduYWwgbW9yZSBpZiB0aGUgam9iIGlzIGFscmVhZHk8 YnI+DQomZ3Q7IHNldCB0byBndWlsdHk/IHNldCBpdCB3cm9uZ2x5Pzxicj4NCiZndDs8YnI+DQom Z3Q7PGJyPg0KJmd0OyAtRGF2aWQ8YnI+DQo8YnI+DQo8YnI+DQpJdCdzIHBvc3NpYmxlIHRoYXQg dGhlIGpvYiBkb2VzIGNvbXBsZXRlcyBhdCBhIGxhdGVyIHRpbWUgdGhlbiBpdCdzIDxicj4NCnRp bWVvdXQgaGFuZGxlciBzdGFydGVkIHByb2Nlc3Npbmcgc28gaW4gdGhpcyBwYXRjaCB3ZSB0cnkg dG8gcHJvdGVjdCA8YnI+DQphZ2FpbnN0IHRoaXMgYnkgcmVjaGVja2luZyB0aGUgSFcgZmVuY2Ug YWZ0ZXIgc3RvcHBpbmcgYWxsIFNXIDxicj4NCnNjaGVkdWxlcnMuIFdlIGRvIGl0IEJFRk9SRSBt YXJraW5nIGd1aWx0eSBvbiB0aGUgam9iJ3Mgc2NoZWRfZW50aXR5IHNvIDxicj4NCmF0IHRoZSBw b2ludCB3ZSBjaGVjayB0aGUgZ3VpbHR5IGZsYWcgaXMgbm90IHNldCB5ZXQuPGJyPg0KPGJyPg0K QW5kcmV5PGJyPg0KPGJyPg0KPGJyPg0KJmd0Ozxicj4NCiZndDsgPHNwYW4gbGFuZz0iWkgtQ04i IHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJp ZiI+5ZyoPC9zcGFuPiAyMDE5LzQvMTggMjM6MDAsIEFuZHJleSBHcm9kem92c2t5DQo8c3BhbiBs YW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90 OyxzYW5zLXNlcmlmIj7lhpnpgZM8L3NwYW4+Ojxicj4NCiZndDsmZ3Q7IEFsc28gcmVqZWN0IFRE UnMgaWYgYW5vdGhlciBvbmUgYWxyZWFkeSBydW5uaW5nLjxicj4NCiZndDsmZ3Q7PGJyPg0KJmd0 OyZndDsgdjI6PGJyPg0KJmd0OyZndDsgU3RvcCBhbGwgc2NoZWR1bGVycyBhY3Jvc3MgZGV2aWNl IGFuZCBlbnRpcmUgWEdNSSBoaXZlIGJlZm9yZTxicj4NCiZndDsmZ3Q7IGZvcmNlIHNpZ25hbGlu ZyBIVyBmZW5jZXMuPGJyPg0KJmd0OyZndDsgQXZvaWQgcGFzc2luZyBqb2Jfc2lnbmFsZWQgdG8g aGVscGVyIGZuY3Rpb25zIHRvIGtlZXAgYWxsIHRoZSBkZWNpc2lvbjxicj4NCiZndDsmZ3Q7IG1h a2luZyBhYm91dCBza2lwcGluZyBIVyByZXNldCBpbiBvbmUgcGxhY2UuPGJyPg0KJmd0OyZndDs8 YnI+DQomZ3Q7Jmd0OyB2Mzo8YnI+DQomZ3Q7Jmd0OyBGaXggU1cgc2NoZWQuIGhhbmcgYWZ0ZXIg bm9uIEhXIHJlc2V0LiBzY2hlZC5od19ycV9jb3VudCBoYXMgdG8gYmUgYmFsYW5jZWQ8YnI+DQom Z3Q7Jmd0OyBhZ2FpbnN0IGl0J3MgZGVjcmVtZW50IGluIGRybV9zY2hlZF9zdG9wIGluIG5vbiBI VyByZXNldCBjYXNlLjxicj4NCiZndDsmZ3Q7IHY0OiByZWJhc2U8YnI+DQomZ3Q7Jmd0OyB2NTog UmV2ZXJ0IHYzIGFzIHdlIGRvIGl0IG5vdyBpbiBzY2VkdWxlciBjb2RlLjxicj4NCiZndDsmZ3Q7 PGJyPg0KJmd0OyZndDsgU2lnbmVkLW9mZi1ieTogQW5kcmV5IEdyb2R6b3Zza3kgPGEgaHJlZj0i bWFpbHRvOmFuZHJleS5ncm9kem92c2t5QGFtZC5jb20iPiZsdDthbmRyZXkuZ3JvZHpvdnNreUBh bWQuY29tJmd0OzwvYT48YnI+DQomZ3Q7Jmd0OyAtLS08YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNw OyZuYnNwOyBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgfCAxNDMg JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYj NDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzstLS0tLS0tLS0tPGJyPg0KJmd0 OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgMSBmaWxlIGNoYW5nZWQsIDk1IGluc2VydGlvbnMoJiM0 MzspLCA0OCBkZWxldGlvbnMoLSk8YnI+DQomZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmM8YnI+DQomZ3Q7Jmd0OyBpbmRleCBh MGUxNjVjLi44NWY4NzkyIDEwMDY0NDxicj4NCiZndDsmZ3Q7IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYzxicj4NCiZndDsmZ3Q7ICYjNDM7JiM0MzsmIzQz OyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYzxicj4NCiZndDsm Z3Q7IEBAIC0zMzM0LDggJiM0MzszMzM0LDYgQEAgc3RhdGljIGludCBhbWRncHVfZGV2aWNlX3By ZV9hc2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LDxicj4NCiZndDsmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICghcmluZyB8fCAhcmluZy0mZ3Q7c2NoZWQudGhy ZWFkKTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNvbnRpbnVlOzxicj4NCiZndDsm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZHJtX3NjaGVk X3N0b3AoJmFtcDtyaW5nLSZndDtzY2hlZCwgJmFtcDtqb2ItJmd0O2Jhc2UpOzxicj4NCiZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBhZnRlciBh bGwgaHcgam9icyBhcmUgcmVzZXQsIGh3IGZlbmNlIGlzIG1lYW5pbmdsZXNzLCBzbyBmb3JjZV9j b21wbGV0aW9uICovPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYW1k Z3B1X2ZlbmNlX2RyaXZlcl9mb3JjZV9jb21wbGV0aW9uKHJpbmcpOzxicj4NCiZndDsmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyBAQCAtMzM0 Myw2ICYjNDM7MzM0MSw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2RldmljZV9wcmVfYXNpY19yZXNl dChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiw8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZihqb2IpPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgZHJtX3NjaGVkX2luY3JlYXNlX2thcm1hKCZhbXA7am9iLSZndDtiYXNl KTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZu YnNwOyZuYnNwOyZuYnNwOyAvKiBEb24ndCBzdXNwZW5kIG9uIGJhcmUgbWV0YWwgaWYgd2UgYXJl IG5vdCBnb2luZyB0byBIVyByZXNldCB0aGUgQVNJQyAqLzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICghYW1kZ3B1X3NyaW92X3ZmKGFkZXYpKSB7 PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgaWYgKCFuZWVkX2Z1bGxfcmVzZXQpPGJyPg0KJmd0OyZndDsgQEAg LTM0ODAsMzcgJiM0MzszNDc5LDIxIEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2RvX2FzaWNfcmVzZXQo c3RydWN0IGFtZGdwdV9oaXZlX2luZm8gKmhpdmUsPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIHI7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJz cDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7 IC1zdGF0aWMgdm9pZCBhbWRncHVfZGV2aWNlX3Bvc3RfYXNpY19yZXNldChzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldik8YnI+DQomZ3Q7Jmd0OyAmIzQzO3N0YXRpYyBib29sIGFtZGdwdV9kZXZp Y2VfbG9ja19hZGV2KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBib29sIHRyeWxvY2spPGJy Pg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgezxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJz cDsmbmJzcDsgaW50IGk7PGJyPg0KJmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJz cDsmbmJzcDsgZm9yIChpID0gMDsgaSAmbHQ7IEFNREdQVV9NQVhfUklOR1M7ICYjNDM7JiM0Mztp KSB7PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcgPSBh ZGV2LSZndDtyaW5nc1tpXTs8YnI+DQomZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsgLSZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBpZiAoIXJpbmcgfHwgIXJpbmctJmd0O3NjaGVkLnRocmVhZCk8YnI+DQomZ3Q7Jmd0OyAtJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNv bnRpbnVlOzxicj4NCiZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICghYWRl di0mZ3Q7YXNpY19yZXNldF9yZXMpPGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkcm1fc2NoZWRfcmVzdWJtaXRf am9icygmYW1wO3JpbmctJmd0O3NjaGVkKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNw OyZuYnNwOyBpZiAodHJ5bG9jaykgezxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICgh bXV0ZXhfdHJ5bG9jaygmYW1wO2FkZXYtJmd0O2xvY2tfcmVzZXQpKTxicj4NCiZndDsmZ3Q7ICYj NDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IHJldHVybiBmYWxzZTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyB9 IGVsc2U8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBtdXRleF9sb2NrKCZhbXA7YWRldi0m Z3Q7bG9ja19yZXNldCk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0 OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBkcm1fc2NoZWRfc3RhcnQoJmFtcDtyaW5nLSZndDtzY2hlZCwgIWFk ZXYtJmd0O2FzaWNfcmVzZXRfcmVzKTs8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7 IH08YnI+DQomZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBpZiAo IWFtZGdwdV9kZXZpY2VfaGFzX2RjX3N1cHBvcnQoYWRldikpIHs8YnI+DQomZ3Q7Jmd0OyAtJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGRybV9oZWxwZXJfcmVzdW1lX2ZvcmNlX21vZGUoYWRldi0mZ3Q7ZGRldik7PGJyPg0K Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsgLTxicj4NCiZndDsm Z3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgYWRldi0mZ3Q7YXNpY19yZXNldF9yZXMgPSAwOzxicj4N CiZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7IC1zdGF0aWMgdm9pZCBh bWRncHVfZGV2aWNlX2xvY2tfYWRldihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik8YnI+DQom Z3Q7Jmd0OyAtezxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgbXV0ZXhfbG9jaygm YW1wO2FkZXYtJmd0O2xvY2tfcmVzZXQpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IGF0b21pY19pbmMoJmFtcDthZGV2LSZndDtncHVfcmVzZXRfY291 bnRlcik7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg YWRldi0mZ3Q7aW5fZ3B1X3Jlc2V0ID0gMTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBCbG9jayBrZmQ6IFNSSU9WIHdvdWxkIGRvIGl0IHNlcGFy YXRlbHkgKi88YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBpZiAoIWFtZGdwdV9zcmlvdl92ZihhZGV2KSk8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBhbWRncHVfYW1ka2Zk X3ByZV9yZXNldChhZGV2KTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiB0cnVlOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+DQomZ3Q7Jmd0OyZu YnNwOyZuYnNwOyZuYnNwOyBzdGF0aWMgdm9pZCBhbWRncHVfZGV2aWNlX3VubG9ja19hZGV2KHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTxicj4NCiZndDsmZ3Q7IEBAIC0zNTM4LDQwICYjNDM7 MzUyMSw0MiBAQCBzdGF0aWMgdm9pZCBhbWRncHVfZGV2aWNlX3VubG9ja19hZGV2KHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2KTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGludCBh bWRncHVfZGV2aWNlX2dwdV9yZWNvdmVyKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LDxicj4N CiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IHN0cnVjdCBhbWRncHVfam9iICpqb2IpPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsm bmJzcDsgezxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgaW50IHI7PGJyPg0KJmd0 OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgc3RydWN0IGxpc3RfaGVhZCBkZXZpY2VfbGlz dCwgKmRldmljZV9saXN0X2hhbmRsZSA9Jm5ic3A7IE5VTEw7PGJyPg0KJmd0OyZndDsgJiM0Mzsm bmJzcDsmbmJzcDsmbmJzcDsgYm9vbCBuZWVkX2Z1bGxfcmVzZXQsIGpvYl9zaWduYWxlZDs8YnI+ DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgYW1k Z3B1X2hpdmVfaW5mbyAqaGl2ZSA9IE5VTEw7PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZu YnNwOyBib29sIG5lZWRfZnVsbF9yZXNldCA9IGZhbHNlOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVjdCBhbWRncHVfZGV2aWNlICp0bXBfYWRl diA9IE5VTEw7PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgbGlzdF9o ZWFkIGRldmljZV9saXN0LCAqZGV2aWNlX2xpc3RfaGFuZGxlID0mbmJzcDsgTlVMTDs8YnI+DQom Z3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyBpbnQgaSwgciA9IDA7PGJyPg0KJmd0OyZn dDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJz cDsgbmVlZF9mdWxsX3Jlc2V0ID0gam9iX3NpZ25hbGVkID0gZmFsc2U7PGJyPg0KJmd0OyZndDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgSU5JVF9MSVNUX0hFQUQoJmFtcDtk ZXZpY2VfbGlzdCk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZn dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGV2X2luZm8oYWRldi0mZ3Q7 ZGV2LCAmcXVvdDtHUFUgcmVzZXQgYmVnaW4hXG4mcXVvdDspOzxicj4NCiZndDsmZ3Q7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGhpdmUg PSBhbWRncHVfZ2V0X3hnbWlfaGl2ZShhZGV2LCBmYWxzZSk7PGJyPg0KJmd0OyZndDsgJiM0Mzs8 YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKjxicj4N CiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBJbiBjYXNlIG9mIFhHTUkgaGl2 ZSBkaXNhbGxvdyBjb25jdXJyZW50IHJlc2V0cyB0byBiZSB0cmlnZ2VyZWQ8YnI+DQomZ3Q7Jmd0 OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICogYnkgZGlmZmVyZW50IG5vZGVzLiBObyBwb2lu dCBhbHNvIHNpbmNlIHRoZSBvbmUgbm9kZSBhbHJlYWR5IGV4ZWN1dGluZzxicj4NCiZndDsmZ3Q7 IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiByZXNldCB3aWxsIGFsc28gcmVzZXQgYWxsIHRo ZSBvdGhlciBub2RlcyBpbiB0aGUgaGl2ZS48YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAqIEhlcmUgd2UgdHJ5bG9jayB0byBhdm9pZCBjaGFpbiBvZiByZXNldHMg ZXhlY3V0aW5nIGZyb208YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyAqIGVpdGhlciB0cmlnZ2VyIGJ5IGpvYnMgb24gZGlmZmVyZW50IGFkZXZzIGluIFhHTUkgaGl2 ZSBvciBqb2JzIG9uPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg KiBkaWZmZXJlbnQgc2NoZWR1bGVycyBmb3Igc2FtZSBkZXZpY2Ugd2hpbGUgdGhpcyBUTyBoYW5k bGVyIGlzIHJ1bm5pbmcuPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgKiBXZSBhbHdheXMgcmVzZXQgYWxsIHNjaGVkdWxlcnMgZm9yIGRldmljZSBhbmQgYWxsIGRl dmljZXMgZm9yIFhHTUk8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyAqIGhpdmUgc28gdGhhdCBzaG91bGQgdGFrZSBjYXJlIG9mIHRoZW0gdG9vLjxicj4NCiZndDsm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICovPGJyPg0KJmd0 OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBoaXZlID0gYW1kZ3B1X2dldF94Z21pX2hpdmUoYWRl diwgMCk7PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoaGl2ZSAmYW1wOyZh bXA7IGFkZXYtJmd0O2dtYy54Z21pLm51bV9waHlzaWNhbF9ub2RlcyAmZ3Q7IDEgJmFtcDsmYW1w Ozxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgIW11dGV4X3RyeWxvY2soJmFtcDtoaXZlLSZndDtyZXNldF9sb2NrKSk8YnI+DQomZ3Q7Jmd0 OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChoaXZlICZh bXA7JmFtcDsgIW11dGV4X3RyeWxvY2soJmFtcDtoaXZlLSZndDtyZXNldF9sb2NrKSkgezxicj4N CiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IERSTV9JTkZPKCZxdW90O0JhaWxpbmcgb24gVERSIGZv ciBzX2pvYjolbGx4LCBoaXZlOiAlbGx4IGFzIGFub3RoZXIgYWxyZWFkeSBpbiBwcm9ncmVzcyZx dW90Oyw8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBqb2ItJmd0O2Jhc2UuaWQsIGhpdmUtJmd0 O2hpdmVfaWQpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVy biAwOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0 OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAvKiBTdGFydCB3aXRoIGFkZXYgcHJlIGFzaWMgcmVzZXQgZmlyc3QgZm9y IHNvZnQgcmVzZXQgY2hlY2suKi88YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IGFt ZGdwdV9kZXZpY2VfbG9ja19hZGV2KGFkZXYpOzxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsm bmJzcDsgciA9IGFtZGdwdV9kZXZpY2VfcHJlX2FzaWNfcmVzZXQoYWRldiw8YnI+DQomZ3Q7Jmd0 OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGpvYiw8YnI+ DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 ICZhbXA7bmVlZF9mdWxsX3Jlc2V0KTs8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7 IGlmIChyKSB7PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKlRPRE8gU2hvdWxkIHdlIHN0b3Ag PyovPGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBEUk1fRVJST1IoJnF1b3Q7R1BVIHByZSBhc2lj IHJlc2V0IGZhaWxlZCB3aXRoIGVyciwgJWQgZm9yIGRybSBkZXYsICVzICZxdW90Oyw8YnI+DQom Z3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHIsIGFkZXYtJmd0O2RkZXYtJmd0O3VuaXF1ZSk7PGJyPg0K Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBhZGV2LSZndDthc2ljX3Jlc2V0X3JlcyA9IHI7PGJyPg0KJmd0 OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKCFhbWRncHVfZGV2aWNlX2xvY2tfYWRl dihhZGV2LCAhaGl2ZSkpIHs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBEUk1fSU5GTygm cXVvdDtCYWlsaW5nIG9uIFREUiBmb3Igc19qb2I6JWxseCwgYXMgYW5vdGhlciBhbHJlYWR5IGlu IHByb2dyZXNzJnF1b3Q7LDxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGpvYi0mZ3Q7YmFzZS5pZCk7PGJyPg0KJmd0OyZndDsg JiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgcmV0dXJuIDA7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4N CiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIEJ1aWxkIGxp c3Qgb2YgZGV2aWNlcyB0byByZXNldCAqLzxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJz cDsgaWYmbmJzcDsgKG5lZWRfZnVsbF9yZXNldCAmYW1wOyZhbXA7IGFkZXYtJmd0O2dtYy54Z21p Lm51bV9waHlzaWNhbF9ub2RlcyAmZ3Q7IDEpIHs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZu YnNwOyZuYnNwOyBpZiZuYnNwOyAoYWRldi0mZ3Q7Z21jLnhnbWkubnVtX3BoeXNpY2FsX25vZGVz ICZndDsgMSkgezxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICgh aGl2ZSkgezxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGFtZGdwdV9kZXZpY2VfdW5s b2NrX2FkZXYoYWRldik7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIC1F Tk9ERVY7PGJyPg0KJmd0OyZndDsgQEAgLTM1ODgsMTMgJiM0MzszNTczLDU2IEBAIGludCBhbWRn cHVfZGV2aWNlX2dwdV9yZWNvdmVyKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LDxicj4NCiZn dDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRldmljZV9saXN0X2hhbmRsZSA9ICZh bXA7ZGV2aWNlX2xpc3Q7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7 ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIGJsb2NrIGFsbCBzY2hlZHVsZXJzIGFuZCByZXNl dCBnaXZlbiBqb2IncyByaW5nICovPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJz cDsgbGlzdF9mb3JfZWFjaF9lbnRyeSh0bXBfYWRldiwgZGV2aWNlX2xpc3RfaGFuZGxlLCBnbWMu eGdtaS5oZWFkKSB7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZm9yIChpID0gMDsgaSAm bHQ7IEFNREdQVV9NQVhfUklOR1M7ICYjNDM7JiM0MztpKSB7PGJyPg0KJmd0OyZndDsgJiM0Mzsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg c3RydWN0IGFtZGdwdV9yaW5nICpyaW5nID0gdG1wX2FkZXYtJmd0O3JpbmdzW2ldOzxicj4NCiZn dDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKCFyaW5nIHx8ICFyaW5nLSZndDtz Y2hlZC50aHJlYWQpPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgY29udGludWU7PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+ DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBkcm1fc2NoZWRfc3RvcCgmYW1wO3JpbmctJmd0O3NjaGVkLCAmYW1w O2pvYi0mZ3Q7YmFzZSk7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4NCiZndDsm Z3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZn dDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgLyo8YnI+ DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqIE11c3QgY2hlY2sgZ3Vp bHR5IHNpZ25hbCBoZXJlIHNpbmNlIGFmdGVyIHRoaXMgcG9pbnQgYWxsIG9sZDxicj4NCiZndDsm Z3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICogSFcgZmVuY2VzIGFyZSBmb3JjZSBz aWduYWxlZC48YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqPGJy Pg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBqb2ItJmd0O2Jhc2Ug aG9sZHMgYSByZWZlcmVuY2UgdG8gcGFyZW50IGZlbmNlPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgKi88YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZu YnNwOyBpZiAoam9iICZhbXA7JmFtcDsgam9iLSZndDtiYXNlLnNfZmVuY2UtJmd0O3BhcmVudCAm YW1wOyZhbXA7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgZG1hX2ZlbmNlX2lzX3NpZ25hbGVkKGpvYi0mZ3Q7YmFzZS5zX2ZlbmNl LSZndDtwYXJlbnQpKTxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGpvYl9zaWduYWxlZCA9 IHRydWU7PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNw OyZuYnNwOyBpZiAoIWFtZGdwdV9kZXZpY2VfaXBfbmVlZF9mdWxsX3Jlc2V0KGFkZXYpKTxicj4N CiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRldmljZV9saXN0X2hhbmRsZSA9ICZhbXA7ZGV2aWNl X2xpc3Q7PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNw OyZuYnNwOyBpZiAoam9iX3NpZ25hbGVkKSB7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg ZGV2X2luZm8oYWRldi0mZ3Q7ZGV2LCAmcXVvdDtHdWlsdHkgam9iIGFscmVhZHkgc2lnbmFsZWQs IHNraXBwaW5nIEhXIHJlc2V0JnF1b3Q7KTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBn b3RvIHNraXBfaHdfcmVzZXQ7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsg fTxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAm IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBHdWlsdHkgam9iIHdpbGwgYmUgZnJlZWQgYWZ0ZXIg dGhpcyovPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgciA9IGFtZGdwdV9k ZXZpY2VfcHJlX2FzaWNfcmVzZXQoYWRldiw8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBqb2IsPGJyPg0KJmd0OyZndDsgJiM0 MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmFtcDtuZWVk X2Z1bGxfcmVzZXQpOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChy KSB7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLypUT0RPIFNob3VsZCB3ZSBzdG9wID8q Lzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IERSTV9FUlJPUigmcXVvdDtHUFUgcHJlIGFz aWMgcmVzZXQgZmFpbGVkIHdpdGggZXJyLCAlZCBmb3IgZHJtIGRldiwgJXMgJnF1b3Q7LDxicj4N CiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHIsIGFkZXYtJmd0O2RkZXYtJmd0O3VuaXF1ZSk7 PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYWRldi0mZ3Q7YXNpY19yZXNldF9yZXMgPSBy Ozxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyAm IzQzOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHJ5OiZuYnNwOyZuYnNwOyZu YnNwOyAvKiBSZXN0IG9mIGFkZXZzIHByZSBhc2ljIHJlc2V0IGZyb20gWEdNSSBoaXZlLiAqLzxi cj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGxpc3RfZm9y X2VhY2hfZW50cnkodG1wX2FkZXYsIGRldmljZV9saXN0X2hhbmRsZSwgZ21jLnhnbWkuaGVhZCkg ezxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICh0bXBfYWRldiA9PSBhZGV2KTxicj4NCiZndDsmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IGNvbnRpbnVlOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IDxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYW1kZ3B1X2RldmljZV9sb2NrX2FkZXYodG1wX2Fk ZXYpOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGFtZGdwdV9kZXZpY2VfbG9ja19hZGV2 KHRtcF9hZGV2LCBmYWxzZSk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgciA9IGFtZGdwdV9kZXZpY2VfcHJlX2FzaWNfcmVzZXQodG1wX2FkZXYsPGJyPg0KJmd0OyZn dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg TlVMTCw8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyAmYW1wO25lZWRfZnVsbF9yZXNldCk7PGJyPg0KJmd0OyZndDsgQEAg LTM2MTgsOSAmIzQzOzM2NDYsMjggQEAgaW50IGFtZGdwdV9kZXZpY2VfZ3B1X3JlY292ZXIoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg Z290byByZXRyeTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyB9PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsgJiM0 Mztza2lwX2h3X3Jlc2V0Ojxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogUG9zdCBBU0lDIHJlc2V0IGZvciBhbGwg ZGV2cyAuKi88YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBsaXN0X2Zvcl9lYWNoX2VudHJ5KHRtcF9hZGV2LCBkZXZpY2VfbGlzdF9oYW5kbGUsIGdtYy54 Z21pLmhlYWQpIHs8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGFtZGdwdV9kZXZpY2VfcG9zdF9h c2ljX3Jlc2V0KHRtcF9hZGV2KTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBmb3IgKGkg PSAwOyBpICZsdDsgQU1ER1BVX01BWF9SSU5HUzsgJiM0MzsmIzQzO2kpIHs8YnI+DQomZ3Q7Jmd0 OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcgPSB0bXBfYWRldi0mZ3Q7cmluZ3NbaV07 PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoIXJpbmcgfHwgIXJp bmctJmd0O3NjaGVkLnRocmVhZCk8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjb250aW51ZTs8YnI+DQomZ3Q7Jmd0OyAm IzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIE5vIHBvaW50IHRvIHJlc3VibWl0IGpvYnMgaWYg d2UgZGlkbid0IEhXIHJlc2V0Ki88YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoIXRtcF9hZGV2LSZn dDthc2ljX3Jlc2V0X3JlcyAmYW1wOyZhbXA7ICFqb2Jfc2lnbmFsZWQpPGJyPg0KJmd0OyZndDsg JiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZHJt X3NjaGVkX3Jlc3VibWl0X2pvYnMoJmFtcDtyaW5nLSZndDtzY2hlZCk7PGJyPg0KJmd0OyZndDsg JiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkcm1fc2NoZWRfc3RhcnQoJmFtcDtyaW5nLSZndDtz Y2hlZCwgIXRtcF9hZGV2LSZndDthc2ljX3Jlc2V0X3Jlcyk7PGJyPg0KJmd0OyZndDsgJiM0Mzsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgaWYgKCFhbWRncHVfZGV2aWNlX2hhc19kY19zdXBwb3J0KHRtcF9hZGV2KSAmYW1wOyZhbXA7 ICFqb2Jfc2lnbmFsZWQpIHs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkcm1faGVscGVyX3Jlc3VtZV9m b3JjZV9tb2RlKHRtcF9hZGV2LSZndDtkZGV2KTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyB9PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB0bXBf YWRldi0mZ3Q7YXNpY19yZXNldF9yZXMgPSAwOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5i c3A7IDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChyKSB7PGJy Pg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogYmFkIG5ld3MsIGhvdyB0byB0ZWxsIGl0 IHRvIHVzZXJzcGFjZSA/ICovPGJyPg0KJmd0OyZndDsgQEAgLTM2MzMsNyAmIzQzOzM2ODAsNyBA QCBpbnQgYW1kZ3B1X2RldmljZV9ncHVfcmVjb3ZlcihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diw8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBhbWRncHVfZGV2aWNl X3VubG9ja19hZGV2KHRtcF9hZGV2KTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0K Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoaGl2ZSAmYW1wOyZhbXA7IGFkZXYtJmd0 O2dtYy54Z21pLm51bV9waHlzaWNhbF9ub2RlcyAmZ3Q7IDEpPGJyPg0KJmd0OyZndDsgJiM0Mzsm bmJzcDsmbmJzcDsmbmJzcDsgaWYgKGhpdmUpPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgbXV0ZXhfdW5sb2NrKCZhbXA7aGl2ZS0mZ3Q7cmVzZXRfbG9jayk7PGJyPg0K Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKHIpPGJyPg0KX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX188YnI+DQphbWQtZ2Z4IG1haWxpbmcgbGlzdDxicj4NCjxh IGhyZWY9Im1haWx0bzphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZyI+YW1kLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmc8L2E+PGJyPg0KPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Ij5odHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng8L2E+PG86cD48L286cD48L3A+DQo8L2Rp dj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPHAgY2xhc3M9Ik1zb05v cm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjwvYm9k eT4NCjwvaHRtbD4NCg== --_000_MN2PR12MB2910903F08BF48360A6D5EEFB4380MN2PR12MB2910namp_-- --===============1032019753== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs --===============1032019753==--