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: Wed, 24 Apr 2019 03:02:36 +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> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0899722321==" Return-path: In-Reply-To: <571a119a-170a-d1ba-6870-31807e0f7016@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" , "dri-devel@lists.freedesktop.org" , "amd-gfx@lists.freedesktop.org" , "eric@anholt.net" , "etnaviv@lists.freedesktop.org" , "ckoenig.leichtzumerken@gmail.com" Cc: "Kazlauskas, Nicholas" , "Liu, Monk" List-Id: dri-devel@lists.freedesktop.org --===============0899722321== Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_MN2PR12MB2910C37264B8F30BAD26FA4CB43C0MN2PR12MB2910namp_" --_000_MN2PR12MB2910C37264B8F30BAD26FA4CB43C0MN2PR12MB2910namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Pj4gLSAgICAgICAgICAgIGRybV9zY2hlZF9zdG9wKCZyaW5nLT5zY2hlZCwgJmpvYi0+YmFzZSk7 DQo+PiAtDQo+PiAgICAgICAgICAgICAgIC8qIGFmdGVyIGFsbCBodyBqb2JzIGFyZSByZXNldCwg aHcgZmVuY2UgaXMgbWVhbmluZ2xlc3MsIHNvIGZvcmNlX2NvbXBsZXRpb24gKi8NCj4+ICAgICAg ICAgICAgICAgYW1kZ3B1X2ZlbmNlX2RyaXZlcl9mb3JjZV9jb21wbGV0aW9uKHJpbmcpOw0KPj4g ICAgICAgfQ0KDQpIVyBmZW5jZSBhcmUgYWxyZWFkeSBmb3JjZWQgY29tcGxldGlvbiwgdGhlbiB3 ZSBjYW4ganVzdCBkaXNhYmxlIGlycSBmZW5jZSBwcm9jZXNzIGFuZCBpZ25vcmUgaHcgZmVuY2Ug c2lnbmFsIHdoZW4gd2UgYXJlIHRyeWluZyB0byBkbyBHUFUgcmVzZXQsIEkgdGhpbmsuIE90aGVy d2lzZSB3aGljaCB3aWxsIG1ha2UgdGhlIGxvZ2ljIG11Y2ggbW9yZSBjb21wbGV4Lg0KSWYgdGhp cyBzaXR1YXRpb24gaGFwcGVucyBiZWNhdXNlIG9mIGxvbmcgdGltZSBleGVjdXRpb24sIHdlIGNh biBpbmNyZWFzZSB0aW1lb3V0IG9mIHJlc2V0IGRldGVjdGlvbi4NCg0KLURhdmlkDQoNCkZyb206 IGFtZC1nZnggPGFtZC1nZngtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmc+IE9uIEJlaGFs ZiBPZiBHcm9kem92c2t5LCBBbmRyZXkNClNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMjQsIDIwMTkg MTI6MDAgQU0NClRvOiBaaG91LCBEYXZpZChDaHVuTWluZykgPERhdmlkMS5aaG91QGFtZC5jb20+ OyBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZzsgZXJpY0BhbmhvbHQubmV0OyBldG5hdml2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsg Y2tvZW5pZy5sZWljaHR6dW1lcmtlbkBnbWFpbC5jb20NCkNjOiBLYXpsYXVza2FzLCBOaWNob2xh cyA8TmljaG9sYXMuS2F6bGF1c2thc0BhbWQuY29tPjsgTGl1LCBNb25rIDxNb25rLkxpdUBhbWQu Y29tPg0KU3ViamVjdDogUmU6IFtQQVRDSCB2NSA2LzZdIGRybS9hbWRncHU6IEF2b2lkIEhXIHJl c2V0IGlmIGd1aWx0eSBqb2IgYWxyZWFkeSBzaWduYWxlZC4NCg0KDQpObywgaSBtZWFuIHRoZSBh Y3R1YWwgSFcgZmVuY2Ugd2hpY2ggc2lnbmFscyB3aGVuIHRoZSBqb2IgZmluaXNoZWQgZXhlY3V0 aW9uIG9uIHRoZSBIVy4NCg0KQW5kcmV5DQpPbiA0LzIzLzE5IDExOjE5IEFNLCBaaG91LCBEYXZp ZChDaHVuTWluZykgd3JvdGU6DQpkbyB5b3UgbWVhbiBmZW5jZSB0aW1lcj8gd2h5IG5vdCBzdG9w IGl0IGFzIHdlbGwgd2hlbiBzdG9wcGluZyBzY2hlZCBmb3IgdGhlIHJlYXNvbiBvZiBodyByZXNl dD8NCg0KLS0tLS0tLS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLS0tLQ0KU3ViamVjdDogUmU6IFtQ QVRDSCB2NSA2LzZdIGRybS9hbWRncHU6IEF2b2lkIEhXIHJlc2V0IGlmIGd1aWx0eSBqb2IgYWxy ZWFkeSBzaWduYWxlZC4NCkZyb206ICJHcm9kem92c2t5LCBBbmRyZXkiDQpUbzogIlpob3UsIERh dmlkKENodW5NaW5nKSIgLGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcsYW1kLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcsZXJpY0BhbmhvbHQubmV0LGV0bmF2aXZAbGlzdHMuZnJlZWRl c2t0b3Aub3JnLGNrb2VuaWcubGVpY2h0enVtZXJrZW5AZ21haWwuY29tPG1haWx0bzpkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnLGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnLGVy aWNAYW5ob2x0Lm5ldCxldG5hdml2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZyxja29lbmlnLmxlaWNo dHp1bWVya2VuQGdtYWlsLmNvbT4NCkNDOiAiS2F6bGF1c2thcywgTmljaG9sYXMiICwiTGl1LCBN b25rIg0KDQpPbiA0LzIyLzE5IDk6MDkgQU0sIFpob3UsIERhdmlkKENodW5NaW5nKSB3cm90ZToN Cj4gK01vbmsuDQo+DQo+IEdQVSByZXNldCBpcyB1c2VkIHdpZGVseSBpbiBTUklPViwgc28gbmVl ZCB2aXJ0dWxpemF0aW5vIGd1eSB0YWtlIGEgbG9vay4NCj4NCj4gQnV0IG91dCBvZiBjdXJpb3Vz LCB3aHkgZ3VpbHR5IGpvYiBjYW4gc2lnbmFsIG1vcmUgaWYgdGhlIGpvYiBpcyBhbHJlYWR5DQo+ IHNldCB0byBndWlsdHk/IHNldCBpdCB3cm9uZ2x5Pw0KPg0KPg0KPiAtRGF2aWQNCg0KDQpJdCdz IHBvc3NpYmxlIHRoYXQgdGhlIGpvYiBkb2VzIGNvbXBsZXRlcyBhdCBhIGxhdGVyIHRpbWUgdGhl biBpdCdzDQp0aW1lb3V0IGhhbmRsZXIgc3RhcnRlZCBwcm9jZXNzaW5nIHNvIGluIHRoaXMgcGF0 Y2ggd2UgdHJ5IHRvIHByb3RlY3QNCmFnYWluc3QgdGhpcyBieSByZWNoZWNraW5nIHRoZSBIVyBm ZW5jZSBhZnRlciBzdG9wcGluZyBhbGwgU1cNCnNjaGVkdWxlcnMuIFdlIGRvIGl0IEJFRk9SRSBt YXJraW5nIGd1aWx0eSBvbiB0aGUgam9iJ3Mgc2NoZWRfZW50aXR5IHNvDQphdCB0aGUgcG9pbnQg d2UgY2hlY2sgdGhlIGd1aWx0eSBmbGFnIGlzIG5vdCBzZXQgeWV0Lg0KDQpBbmRyZXkNCg0KDQo+ DQo+IOWcqCAyMDE5LzQvMTggMjM6MDAsIEFuZHJleSBHcm9kem92c2t5IOWGmemBkzoNCj4+IEFs c28gcmVqZWN0IFREUnMgaWYgYW5vdGhlciBvbmUgYWxyZWFkeSBydW5uaW5nLg0KPj4NCj4+IHYy Og0KPj4gU3RvcCBhbGwgc2NoZWR1bGVycyBhY3Jvc3MgZGV2aWNlIGFuZCBlbnRpcmUgWEdNSSBo aXZlIGJlZm9yZQ0KPj4gZm9yY2Ugc2lnbmFsaW5nIEhXIGZlbmNlcy4NCj4+IEF2b2lkIHBhc3Np bmcgam9iX3NpZ25hbGVkIHRvIGhlbHBlciBmbmN0aW9ucyB0byBrZWVwIGFsbCB0aGUgZGVjaXNp b24NCj4+IG1ha2luZyBhYm91dCBza2lwcGluZyBIVyByZXNldCBpbiBvbmUgcGxhY2UuDQo+Pg0K Pj4gdjM6DQo+PiBGaXggU1cgc2NoZWQuIGhhbmcgYWZ0ZXIgbm9uIEhXIHJlc2V0LiBzY2hlZC5o d19ycV9jb3VudCBoYXMgdG8gYmUgYmFsYW5jZWQNCj4+IGFnYWluc3QgaXQncyBkZWNyZW1lbnQg aW4gZHJtX3NjaGVkX3N0b3AgaW4gbm9uIEhXIHJlc2V0IGNhc2UuDQo+PiB2NDogcmViYXNlDQo+ PiB2NTogUmV2ZXJ0IHYzIGFzIHdlIGRvIGl0IG5vdyBpbiBzY2VkdWxlciBjb2RlLg0KPj4NCj4+ IFNpZ25lZC1vZmYtYnk6IEFuZHJleSBHcm9kem92c2t5IDxhbmRyZXkuZ3JvZHpvdnNreUBhbWQu Y29tPjxtYWlsdG86YW5kcmV5Lmdyb2R6b3Zza3lAYW1kLmNvbT4NCj4+IC0tLQ0KPj4gICAgZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jIHwgMTQzICsrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tDQo+PiAgICAxIGZpbGUgY2hhbmdlZCwgOTUgaW5zZXJ0aW9ucygr KSwgNDggZGVsZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9kZXZpY2UuYw0KPj4gaW5kZXggYTBlMTY1Yy4uODVmODc5MiAxMDA2NDQNCj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYw0KPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jDQo+PiBAQCAtMzMzNCw4ICsz MzM0LDYgQEAgc3RhdGljIGludCBhbWRncHVfZGV2aWNlX3ByZV9hc2ljX3Jlc2V0KHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2LA0KPj4gICAgICAgICAgICAgICBpZiAoIXJpbmcgfHwgIXJpbmct PnNjaGVkLnRocmVhZCkNCj4+ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCj4+DQo+ PiAtICAgICAgICAgICAgZHJtX3NjaGVkX3N0b3AoJnJpbmctPnNjaGVkLCAmam9iLT5iYXNlKTsN Cj4+IC0NCj4+ICAgICAgICAgICAgICAgLyogYWZ0ZXIgYWxsIGh3IGpvYnMgYXJlIHJlc2V0LCBo dyBmZW5jZSBpcyBtZWFuaW5nbGVzcywgc28gZm9yY2VfY29tcGxldGlvbiAqLw0KPj4gICAgICAg ICAgICAgICBhbWRncHVfZmVuY2VfZHJpdmVyX2ZvcmNlX2NvbXBsZXRpb24ocmluZyk7DQo+PiAg ICAgICB9DQo+PiBAQCAtMzM0Myw2ICszMzQxLDcgQEAgc3RhdGljIGludCBhbWRncHVfZGV2aWNl X3ByZV9hc2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KPj4gICAgICAgaWYo am9iKQ0KPj4gICAgICAgICAgICAgICBkcm1fc2NoZWRfaW5jcmVhc2Vfa2FybWEoJmpvYi0+YmFz ZSk7DQo+Pg0KPj4gKyAgICAvKiBEb24ndCBzdXNwZW5kIG9uIGJhcmUgbWV0YWwgaWYgd2UgYXJl IG5vdCBnb2luZyB0byBIVyByZXNldCB0aGUgQVNJQyAqLw0KPj4gICAgICAgaWYgKCFhbWRncHVf c3Jpb3ZfdmYoYWRldikpIHsNCj4+DQo+PiAgICAgICAgICAgICAgIGlmICghbmVlZF9mdWxsX3Jl c2V0KQ0KPj4gQEAgLTM0ODAsMzcgKzM0NzksMjEgQEAgc3RhdGljIGludCBhbWRncHVfZG9fYXNp Y19yZXNldChzdHJ1Y3QgYW1kZ3B1X2hpdmVfaW5mbyAqaGl2ZSwNCj4+ICAgICAgIHJldHVybiBy Ow0KPj4gICAgfQ0KPj4NCj4+IC1zdGF0aWMgdm9pZCBhbWRncHVfZGV2aWNlX3Bvc3RfYXNpY19y ZXNldChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikNCj4+ICtzdGF0aWMgYm9vbCBhbWRncHVf ZGV2aWNlX2xvY2tfYWRldihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgYm9vbCB0cnlsb2Nr KQ0KPj4gICAgew0KPj4gLSAgICBpbnQgaTsNCj4+IC0NCj4+IC0gICAgZm9yIChpID0gMDsgaSA8 IEFNREdQVV9NQVhfUklOR1M7ICsraSkgew0KPj4gLSAgICAgICAgICAgIHN0cnVjdCBhbWRncHVf cmluZyAqcmluZyA9IGFkZXYtPnJpbmdzW2ldOw0KPj4gLQ0KPj4gLSAgICAgICAgICAgIGlmICgh cmluZyB8fCAhcmluZy0+c2NoZWQudGhyZWFkKQ0KPj4gLSAgICAgICAgICAgICAgICAgICAgY29u dGludWU7DQo+PiAtDQo+PiAtICAgICAgICAgICAgaWYgKCFhZGV2LT5hc2ljX3Jlc2V0X3JlcykN Cj4+IC0gICAgICAgICAgICAgICAgICAgIGRybV9zY2hlZF9yZXN1Ym1pdF9qb2JzKCZyaW5nLT5z Y2hlZCk7DQo+PiArICAgIGlmICh0cnlsb2NrKSB7DQo+PiArICAgICAgICAgICAgaWYgKCFtdXRl eF90cnlsb2NrKCZhZGV2LT5sb2NrX3Jlc2V0KSkNCj4+ICsgICAgICAgICAgICAgICAgICAgIHJl dHVybiBmYWxzZTsNCj4+ICsgICAgfSBlbHNlDQo+PiArICAgICAgICAgICAgbXV0ZXhfbG9jaygm YWRldi0+bG9ja19yZXNldCk7DQo+Pg0KPj4gLSAgICAgICAgICAgIGRybV9zY2hlZF9zdGFydCgm cmluZy0+c2NoZWQsICFhZGV2LT5hc2ljX3Jlc2V0X3Jlcyk7DQo+PiAtICAgIH0NCj4+IC0NCj4+ IC0gICAgaWYgKCFhbWRncHVfZGV2aWNlX2hhc19kY19zdXBwb3J0KGFkZXYpKSB7DQo+PiAtICAg ICAgICAgICAgZHJtX2hlbHBlcl9yZXN1bWVfZm9yY2VfbW9kZShhZGV2LT5kZGV2KTsNCj4+IC0g ICAgfQ0KPj4gLQ0KPj4gLSAgICBhZGV2LT5hc2ljX3Jlc2V0X3JlcyA9IDA7DQo+PiAtfQ0KPj4g LQ0KPj4gLXN0YXRpYyB2b2lkIGFtZGdwdV9kZXZpY2VfbG9ja19hZGV2KHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2KQ0KPj4gLXsNCj4+IC0gICAgbXV0ZXhfbG9jaygmYWRldi0+bG9ja19yZXNl dCk7DQo+PiAgICAgICBhdG9taWNfaW5jKCZhZGV2LT5ncHVfcmVzZXRfY291bnRlcik7DQo+PiAg ICAgICBhZGV2LT5pbl9ncHVfcmVzZXQgPSAxOw0KPj4gICAgICAgLyogQmxvY2sga2ZkOiBTUklP ViB3b3VsZCBkbyBpdCBzZXBhcmF0ZWx5ICovDQo+PiAgICAgICBpZiAoIWFtZGdwdV9zcmlvdl92 ZihhZGV2KSkNCj4+ICAgICAgICAgICAgICAgICAgICBhbWRncHVfYW1ka2ZkX3ByZV9yZXNldChh ZGV2KTsNCj4+ICsNCj4+ICsgICAgcmV0dXJuIHRydWU7DQo+PiAgICB9DQo+Pg0KPj4gICAgc3Rh dGljIHZvaWQgYW1kZ3B1X2RldmljZV91bmxvY2tfYWRldihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldikNCj4+IEBAIC0zNTM4LDQwICszNTIxLDQyIEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9kZXZp Y2VfdW5sb2NrX2FkZXYoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpDQo+PiAgICBpbnQgYW1k Z3B1X2RldmljZV9ncHVfcmVjb3ZlcihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwNCj4+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYW1kZ3B1X2pvYiAqam9iKQ0KPj4gICAg ew0KPj4gLSAgICBpbnQgcjsNCj4+ICsgICAgc3RydWN0IGxpc3RfaGVhZCBkZXZpY2VfbGlzdCwg KmRldmljZV9saXN0X2hhbmRsZSA9ICBOVUxMOw0KPj4gKyAgICBib29sIG5lZWRfZnVsbF9yZXNl dCwgam9iX3NpZ25hbGVkOw0KPj4gICAgICAgc3RydWN0IGFtZGdwdV9oaXZlX2luZm8gKmhpdmUg PSBOVUxMOw0KPj4gLSAgICBib29sIG5lZWRfZnVsbF9yZXNldCA9IGZhbHNlOw0KPj4gICAgICAg c3RydWN0IGFtZGdwdV9kZXZpY2UgKnRtcF9hZGV2ID0gTlVMTDsNCj4+IC0gICAgc3RydWN0IGxp c3RfaGVhZCBkZXZpY2VfbGlzdCwgKmRldmljZV9saXN0X2hhbmRsZSA9ICBOVUxMOw0KPj4gKyAg ICBpbnQgaSwgciA9IDA7DQo+Pg0KPj4gKyAgICBuZWVkX2Z1bGxfcmVzZXQgPSBqb2Jfc2lnbmFs ZWQgPSBmYWxzZTsNCj4+ICAgICAgIElOSVRfTElTVF9IRUFEKCZkZXZpY2VfbGlzdCk7DQo+Pg0K Pj4gICAgICAgZGV2X2luZm8oYWRldi0+ZGV2LCAiR1BVIHJlc2V0IGJlZ2luIVxuIik7DQo+Pg0K Pj4gKyAgICBoaXZlID0gYW1kZ3B1X2dldF94Z21pX2hpdmUoYWRldiwgZmFsc2UpOw0KPj4gKw0K Pj4gICAgICAgLyoNCj4+IC0gICAgICogSW4gY2FzZSBvZiBYR01JIGhpdmUgZGlzYWxsb3cgY29u Y3VycmVudCByZXNldHMgdG8gYmUgdHJpZ2dlcmVkDQo+PiAtICAgICAqIGJ5IGRpZmZlcmVudCBu b2Rlcy4gTm8gcG9pbnQgYWxzbyBzaW5jZSB0aGUgb25lIG5vZGUgYWxyZWFkeSBleGVjdXRpbmcN Cj4+IC0gICAgICogcmVzZXQgd2lsbCBhbHNvIHJlc2V0IGFsbCB0aGUgb3RoZXIgbm9kZXMgaW4g dGhlIGhpdmUuDQo+PiArICAgICAqIEhlcmUgd2UgdHJ5bG9jayB0byBhdm9pZCBjaGFpbiBvZiBy ZXNldHMgZXhlY3V0aW5nIGZyb20NCj4+ICsgICAgICogZWl0aGVyIHRyaWdnZXIgYnkgam9icyBv biBkaWZmZXJlbnQgYWRldnMgaW4gWEdNSSBoaXZlIG9yIGpvYnMgb24NCj4+ICsgICAgICogZGlm ZmVyZW50IHNjaGVkdWxlcnMgZm9yIHNhbWUgZGV2aWNlIHdoaWxlIHRoaXMgVE8gaGFuZGxlciBp cyBydW5uaW5nLg0KPj4gKyAgICAgKiBXZSBhbHdheXMgcmVzZXQgYWxsIHNjaGVkdWxlcnMgZm9y IGRldmljZSBhbmQgYWxsIGRldmljZXMgZm9yIFhHTUkNCj4+ICsgICAgICogaGl2ZSBzbyB0aGF0 IHNob3VsZCB0YWtlIGNhcmUgb2YgdGhlbSB0b28uDQo+PiAgICAgICAgKi8NCj4+IC0gICAgaGl2 ZSA9IGFtZGdwdV9nZXRfeGdtaV9oaXZlKGFkZXYsIDApOw0KPj4gLSAgICBpZiAoaGl2ZSAmJiBh ZGV2LT5nbWMueGdtaS5udW1fcGh5c2ljYWxfbm9kZXMgPiAxICYmDQo+PiAtICAgICAgICAhbXV0 ZXhfdHJ5bG9jaygmaGl2ZS0+cmVzZXRfbG9jaykpDQo+PiArDQo+PiArICAgIGlmIChoaXZlICYm ICFtdXRleF90cnlsb2NrKCZoaXZlLT5yZXNldF9sb2NrKSkgew0KPj4gKyAgICAgICAgICAgIERS TV9JTkZPKCJCYWlsaW5nIG9uIFREUiBmb3Igc19qb2I6JWxseCwgaGl2ZTogJWxseCBhcyBhbm90 aGVyIGFscmVhZHkgaW4gcHJvZ3Jlc3MiLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgIGpvYi0+ YmFzZS5pZCwgaGl2ZS0+aGl2ZV9pZCk7DQo+PiAgICAgICAgICAgICAgIHJldHVybiAwOw0KPj4g KyAgICB9DQo+Pg0KPj4gICAgICAgLyogU3RhcnQgd2l0aCBhZGV2IHByZSBhc2ljIHJlc2V0IGZp cnN0IGZvciBzb2Z0IHJlc2V0IGNoZWNrLiovDQo+PiAtICAgIGFtZGdwdV9kZXZpY2VfbG9ja19h ZGV2KGFkZXYpOw0KPj4gLSAgICByID0gYW1kZ3B1X2RldmljZV9wcmVfYXNpY19yZXNldChhZGV2 LA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqb2IsDQo+PiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuZWVkX2Z1bGxfcmVzZXQpOw0KPj4g LSAgICBpZiAocikgew0KPj4gLSAgICAgICAgICAgIC8qVE9ETyBTaG91bGQgd2Ugc3RvcCA/Ki8N Cj4+IC0gICAgICAgICAgICBEUk1fRVJST1IoIkdQVSBwcmUgYXNpYyByZXNldCBmYWlsZWQgd2l0 aCBlcnIsICVkIGZvciBkcm0gZGV2LCAlcyAiLA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICBy LCBhZGV2LT5kZGV2LT51bmlxdWUpOw0KPj4gLSAgICAgICAgICAgIGFkZXYtPmFzaWNfcmVzZXRf cmVzID0gcjsNCj4+ICsgICAgaWYgKCFhbWRncHVfZGV2aWNlX2xvY2tfYWRldihhZGV2LCAhaGl2 ZSkpIHsNCj4+ICsgICAgICAgICAgICBEUk1fSU5GTygiQmFpbGluZyBvbiBURFIgZm9yIHNfam9i OiVsbHgsIGFzIGFub3RoZXIgYWxyZWFkeSBpbiBwcm9ncmVzcyIsDQo+PiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGpvYi0+YmFzZS5pZCk7DQo+PiArICAgICAgICAgICAg cmV0dXJuIDA7DQo+PiAgICAgICB9DQo+Pg0KPj4gICAgICAgLyogQnVpbGQgbGlzdCBvZiBkZXZp Y2VzIHRvIHJlc2V0ICovDQo+PiAtICAgIGlmICAobmVlZF9mdWxsX3Jlc2V0ICYmIGFkZXYtPmdt Yy54Z21pLm51bV9waHlzaWNhbF9ub2RlcyA+IDEpIHsNCj4+ICsgICAgaWYgIChhZGV2LT5nbWMu eGdtaS5udW1fcGh5c2ljYWxfbm9kZXMgPiAxKSB7DQo+PiAgICAgICAgICAgICAgIGlmICghaGl2 ZSkgew0KPj4gICAgICAgICAgICAgICAgICAgICAgIGFtZGdwdV9kZXZpY2VfdW5sb2NrX2FkZXYo YWRldik7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9ERVY7DQo+PiBAQCAt MzU4OCwxMyArMzU3Myw1NiBAQCBpbnQgYW1kZ3B1X2RldmljZV9ncHVfcmVjb3ZlcihzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwNCj4+ICAgICAgICAgICAgICAgZGV2aWNlX2xpc3RfaGFuZGxl ID0gJmRldmljZV9saXN0Ow0KPj4gICAgICAgfQ0KPj4NCj4+ICsgICAgLyogYmxvY2sgYWxsIHNj aGVkdWxlcnMgYW5kIHJlc2V0IGdpdmVuIGpvYidzIHJpbmcgKi8NCj4+ICsgICAgbGlzdF9mb3Jf ZWFjaF9lbnRyeSh0bXBfYWRldiwgZGV2aWNlX2xpc3RfaGFuZGxlLCBnbWMueGdtaS5oZWFkKSB7 DQo+PiArICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IEFNREdQVV9NQVhfUklOR1M7ICsraSkg ew0KPj4gKyAgICAgICAgICAgICAgICAgICAgc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nID0gdG1w X2FkZXYtPnJpbmdzW2ldOw0KPj4gKw0KPj4gKyAgICAgICAgICAgICAgICAgICAgaWYgKCFyaW5n IHx8ICFyaW5nLT5zY2hlZC50aHJlYWQpDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnRpbnVlOw0KPj4gKw0KPj4gKyAgICAgICAgICAgICAgICAgICAgZHJtX3NjaGVkX3N0b3Ao JnJpbmctPnNjaGVkLCAmam9iLT5iYXNlKTsNCj4+ICsgICAgICAgICAgICB9DQo+PiArICAgIH0N Cj4+ICsNCj4+ICsNCj4+ICsgICAgLyoNCj4+ICsgICAgICogTXVzdCBjaGVjayBndWlsdHkgc2ln bmFsIGhlcmUgc2luY2UgYWZ0ZXIgdGhpcyBwb2ludCBhbGwgb2xkDQo+PiArICAgICAqIEhXIGZl bmNlcyBhcmUgZm9yY2Ugc2lnbmFsZWQuDQo+PiArICAgICAqDQo+PiArICAgICAqIGpvYi0+YmFz ZSBob2xkcyBhIHJlZmVyZW5jZSB0byBwYXJlbnQgZmVuY2UNCj4+ICsgICAgICovDQo+PiArICAg IGlmIChqb2IgJiYgam9iLT5iYXNlLnNfZmVuY2UtPnBhcmVudCAmJg0KPj4gKyAgICAgICAgZG1h X2ZlbmNlX2lzX3NpZ25hbGVkKGpvYi0+YmFzZS5zX2ZlbmNlLT5wYXJlbnQpKQ0KPj4gKyAgICAg ICAgICAgIGpvYl9zaWduYWxlZCA9IHRydWU7DQo+PiArDQo+PiArICAgIGlmICghYW1kZ3B1X2Rl dmljZV9pcF9uZWVkX2Z1bGxfcmVzZXQoYWRldikpDQo+PiArICAgICAgICAgICAgZGV2aWNlX2xp c3RfaGFuZGxlID0gJmRldmljZV9saXN0Ow0KPj4gKw0KPj4gKyAgICBpZiAoam9iX3NpZ25hbGVk KSB7DQo+PiArICAgICAgICAgICAgZGV2X2luZm8oYWRldi0+ZGV2LCAiR3VpbHR5IGpvYiBhbHJl YWR5IHNpZ25hbGVkLCBza2lwcGluZyBIVyByZXNldCIpOw0KPj4gKyAgICAgICAgICAgIGdvdG8g c2tpcF9od19yZXNldDsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKw0KPj4gKyAgICAvKiBHdWlsdHkg am9iIHdpbGwgYmUgZnJlZWQgYWZ0ZXIgdGhpcyovDQo+PiArICAgIHIgPSBhbWRncHVfZGV2aWNl X3ByZV9hc2ljX3Jlc2V0KGFkZXYsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGpvYiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5l ZWRfZnVsbF9yZXNldCk7DQo+PiArICAgIGlmIChyKSB7DQo+PiArICAgICAgICAgICAgLypUT0RP IFNob3VsZCB3ZSBzdG9wID8qLw0KPj4gKyAgICAgICAgICAgIERSTV9FUlJPUigiR1BVIHByZSBh c2ljIHJlc2V0IGZhaWxlZCB3aXRoIGVyciwgJWQgZm9yIGRybSBkZXYsICVzICIsDQo+PiArICAg ICAgICAgICAgICAgICAgICAgIHIsIGFkZXYtPmRkZXYtPnVuaXF1ZSk7DQo+PiArICAgICAgICAg ICAgYWRldi0+YXNpY19yZXNldF9yZXMgPSByOw0KPj4gKyAgICB9DQo+PiArDQo+PiAgICByZXRy eTogICAgLyogUmVzdCBvZiBhZGV2cyBwcmUgYXNpYyByZXNldCBmcm9tIFhHTUkgaGl2ZS4gKi8N Cj4+ICAgICAgIGxpc3RfZm9yX2VhY2hfZW50cnkodG1wX2FkZXYsIGRldmljZV9saXN0X2hhbmRs ZSwgZ21jLnhnbWkuaGVhZCkgew0KPj4NCj4+ICAgICAgICAgICAgICAgaWYgKHRtcF9hZGV2ID09 IGFkZXYpDQo+PiAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQo+Pg0KPj4gLSAgICAg ICAgICAgIGFtZGdwdV9kZXZpY2VfbG9ja19hZGV2KHRtcF9hZGV2KTsNCj4+ICsgICAgICAgICAg ICBhbWRncHVfZGV2aWNlX2xvY2tfYWRldih0bXBfYWRldiwgZmFsc2UpOw0KPj4gICAgICAgICAg ICAgICByID0gYW1kZ3B1X2RldmljZV9wcmVfYXNpY19yZXNldCh0bXBfYWRldiwNCj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5lZWRfZnVsbF9yZXNl dCk7DQo+PiBAQCAtMzYxOCw5ICszNjQ2LDI4IEBAIGludCBhbWRncHVfZGV2aWNlX2dwdV9yZWNv dmVyKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KPj4gICAgICAgICAgICAgICAgICAgICAg IGdvdG8gcmV0cnk7DQo+PiAgICAgICB9DQo+Pg0KPj4gK3NraXBfaHdfcmVzZXQ6DQo+PiArDQo+ PiAgICAgICAvKiBQb3N0IEFTSUMgcmVzZXQgZm9yIGFsbCBkZXZzIC4qLw0KPj4gICAgICAgbGlz dF9mb3JfZWFjaF9lbnRyeSh0bXBfYWRldiwgZGV2aWNlX2xpc3RfaGFuZGxlLCBnbWMueGdtaS5o ZWFkKSB7DQo+PiAtICAgICAgICAgICAgYW1kZ3B1X2RldmljZV9wb3N0X2FzaWNfcmVzZXQodG1w X2FkZXYpOw0KPj4gKyAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBBTURHUFVfTUFYX1JJTkdT OyArK2kpIHsNCj4+ICsgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhbWRncHVfcmluZyAqcmlu ZyA9IHRtcF9hZGV2LT5yaW5nc1tpXTsNCj4+ICsNCj4+ICsgICAgICAgICAgICAgICAgICAgIGlm ICghcmluZyB8fCAhcmluZy0+c2NoZWQudGhyZWFkKQ0KPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb250aW51ZTsNCj4+ICsNCj4+ICsgICAgICAgICAgICAgICAgICAgIC8qIE5vIHBv aW50IHRvIHJlc3VibWl0IGpvYnMgaWYgd2UgZGlkbid0IEhXIHJlc2V0Ki8NCj4+ICsgICAgICAg ICAgICAgICAgICAgIGlmICghdG1wX2FkZXYtPmFzaWNfcmVzZXRfcmVzICYmICFqb2Jfc2lnbmFs ZWQpDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRybV9zY2hlZF9yZXN1Ym1pdF9q b2JzKCZyaW5nLT5zY2hlZCk7DQo+PiArDQo+PiArICAgICAgICAgICAgICAgICAgICBkcm1fc2No ZWRfc3RhcnQoJnJpbmctPnNjaGVkLCAhdG1wX2FkZXYtPmFzaWNfcmVzZXRfcmVzKTsNCj4+ICsg ICAgICAgICAgICB9DQo+PiArDQo+PiArICAgICAgICAgICAgaWYgKCFhbWRncHVfZGV2aWNlX2hh c19kY19zdXBwb3J0KHRtcF9hZGV2KSAmJiAham9iX3NpZ25hbGVkKSB7DQo+PiArICAgICAgICAg ICAgICAgICAgICBkcm1faGVscGVyX3Jlc3VtZV9mb3JjZV9tb2RlKHRtcF9hZGV2LT5kZGV2KTsN Cj4+ICsgICAgICAgICAgICB9DQo+PiArDQo+PiArICAgICAgICAgICAgdG1wX2FkZXYtPmFzaWNf cmVzZXRfcmVzID0gMDsNCj4+DQo+PiAgICAgICAgICAgICAgIGlmIChyKSB7DQo+PiAgICAgICAg ICAgICAgICAgICAgICAgLyogYmFkIG5ld3MsIGhvdyB0byB0ZWxsIGl0IHRvIHVzZXJzcGFjZSA/ ICovDQo+PiBAQCAtMzYzMyw3ICszNjgwLDcgQEAgaW50IGFtZGdwdV9kZXZpY2VfZ3B1X3JlY292 ZXIoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQo+PiAgICAgICAgICAgICAgIGFtZGdwdV9k ZXZpY2VfdW5sb2NrX2FkZXYodG1wX2FkZXYpOw0KPj4gICAgICAgfQ0KPj4NCj4+IC0gICAgaWYg KGhpdmUgJiYgYWRldi0+Z21jLnhnbWkubnVtX3BoeXNpY2FsX25vZGVzID4gMSkNCj4+ICsgICAg aWYgKGhpdmUpDQo+PiAgICAgICAgICAgICAgIG11dGV4X3VubG9jaygmaGl2ZS0+cmVzZXRfbG9j ayk7DQo+Pg0KPj4gICAgICAgaWYgKHIpDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXw0KYW1kLWdmeCBtYWlsaW5nIGxpc3QNCmFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnPG1haWx0bzphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4NCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA0K --_000_MN2PR12MB2910C37264B8F30BAD26FA4CB43C0MN2PR12MB2910namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 5a6L5L2TOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0KQGZvbnQtZmFjZQ0KCXtm b250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0 O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUg MiAyIDIgNCAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJcQOWui+S9kyI7DQoJ cGFub3NlLTE6MiAxIDYgMCAzIDEgMSAxIDEgMTt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5 OuW+rui9r+mbhem7kTsNCglwYW5vc2UtMToyIDExIDUgMyAyIDIgNCAyIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OiJcQOW+rui9r+mbhem7kSI7DQoJcGFub3NlLTE6MiAxMSA1IDMg MiAyIDQgMiAyIDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5N c29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4w MDAxcHQ7DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1z ZXJpZjsNCgljb2xvcjpibGFjazt9DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1z dHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxp bmU7fQ0KYTp2aXNpdGVkLCBzcGFuLk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1w cmlvcml0eTo5OTsNCgljb2xvcjpwdXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9 DQpwLm1zb25vcm1hbDAsIGxpLm1zb25vcm1hbDAsIGRpdi5tc29ub3JtYWwwDQoJe21zby1zdHls ZS1uYW1lOm1zb25vcm1hbDsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmln aHQ6MGluOw0KCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBpbjsN Cglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0K CWNvbG9yOmJsYWNrO30NCnAuZW1haWxxdW90ZSwgbGkuZW1haWxxdW90ZSwgZGl2LmVtYWlscXVv dGUNCgl7bXNvLXN0eWxlLW5hbWU6ZW1haWxxdW90ZTsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0 bzsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1h cmdpbi1sZWZ0OjEuMHB0Ow0KCWJvcmRlcjpub25lOw0KCXBhZGRpbmc6MGluOw0KCWZvbnQtc2l6 ZToxMS4wcHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJY29sb3I6Ymxh Y2s7fQ0Kc3Bhbi5FbWFpbFN0eWxlMjANCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7 DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJY29sb3I6d2luZG93dGV4dDt9 DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LXNp emU6MTAuMHB0O30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjguNWluIDExLjBpbjsNCglt YXJnaW46MS4waW4gMS4yNWluIDEuMGluIDEuMjVpbjt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3Bh Z2U6V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8 bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFb ZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0i ZWRpdCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91 dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGJnY29sb3I9IndoaXRlIiBsYW5n PSJFTi1VUyIgbGluaz0iYmx1ZSIgdmxpbms9InB1cnBsZSI+DQo8ZGl2IGNsYXNzPSJXb3JkU2Vj dGlvbjEiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkcm1fc2No ZWRfc3RvcCgmYW1wO3JpbmctJmd0O3NjaGVkLCAmYW1wO2pvYi0mZ3Q7YmFzZSk7PGJyPg0KJmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIGFmdGVy IGFsbCBodyBqb2JzIGFyZSByZXNldCwgaHcgZmVuY2UgaXMgbWVhbmluZ2xlc3MsIHNvIGZvcmNl X2NvbXBsZXRpb24gKi88YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBh bWRncHVfZmVuY2VfZHJpdmVyX2ZvcmNlX2NvbXBsZXRpb24ocmluZyk7PGJyPg0KJmd0OyZndDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxvOnA+PC9vOnA+PC9wPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj5IVyBmZW5jZSBhcmUgYWxyZWFkeSBmb3JjZWQgY29tcGxldGlvbiwgdGhlbiB3ZSBjYW4g anVzdCBkaXNhYmxlIGlycSBmZW5jZSBwcm9jZXNzIGFuZCBpZ25vcmUgaHcgZmVuY2Ugc2lnbmFs IHdoZW4gd2UgYXJlIHRyeWluZyB0byBkbyBHUFUgcmVzZXQsIEkgdGhpbmsuIE90aGVyd2lzZSB3 aGljaCB3aWxsIG1ha2UgdGhlIGxvZ2ljIG11Y2ggbW9yZSBjb21wbGV4LjxvOnA+PC9vOnA+PC9w Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOndpbmRvd3RleHQiPklm IHRoaXMgc2l0dWF0aW9uIGhhcHBlbnMgYmVjYXVzZSBvZiBsb25nIHRpbWUgZXhlY3V0aW9uLCB3 ZSBjYW4gaW5jcmVhc2UgdGltZW91dCBvZiByZXNldCBkZXRlY3Rpb24uPG86cD48L286cD48L3Nw YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOndpbmRvd3Rl eHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJjb2xvcjp3aW5kb3d0ZXh0Ij4tRGF2aWQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6d2luZG93dGV4dCI+PG86 cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVy LWxlZnQ6c29saWQgYmx1ZSAxLjVwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDQuMHB0Ij4NCjxkaXY+ DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7 cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbiI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3Bh biBzdHlsZT0iY29sb3I6d2luZG93dGV4dCI+RnJvbTo8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJj b2xvcjp3aW5kb3d0ZXh0Ij4gYW1kLWdmeCAmbHQ7YW1kLWdmeC1ib3VuY2VzQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZyZndDsNCjxiPk9uIEJlaGFsZiBPZiA8L2I+R3JvZHpvdnNreSwgQW5kcmV5PGJy Pg0KPGI+U2VudDo8L2I+IFdlZG5lc2RheSwgQXByaWwgMjQsIDIwMTkgMTI6MDAgQU08YnI+DQo8 Yj5Ubzo8L2I+IFpob3UsIERhdmlkKENodW5NaW5nKSAmbHQ7RGF2aWQxLlpob3VAYW1kLmNvbSZn dDs7IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IGFtZC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnOyBlcmljQGFuaG9sdC5uZXQ7IGV0bmF2aXZAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn OyBja29lbmlnLmxlaWNodHp1bWVya2VuQGdtYWlsLmNvbTxicj4NCjxiPkNjOjwvYj4gS2F6bGF1 c2thcywgTmljaG9sYXMgJmx0O05pY2hvbGFzLkthemxhdXNrYXNAYW1kLmNvbSZndDs7IExpdSwg TW9uayAmbHQ7TW9uay5MaXVAYW1kLmNvbSZndDs8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtQ QVRDSCB2NSA2LzZdIGRybS9hbWRncHU6IEF2b2lkIEhXIHJlc2V0IGlmIGd1aWx0eSBqb2IgYWxy ZWFkeSBzaWduYWxlZC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cD5ObywgaSBtZWFuIHRo ZSBhY3R1YWwgSFcgZmVuY2Ugd2hpY2ggc2lnbmFscyB3aGVuIHRoZSBqb2IgZmluaXNoZWQgZXhl Y3V0aW9uIG9uIHRoZSBIVy48bzpwPjwvbzpwPjwvcD4NCjxwPkFuZHJleTxvOnA+PC9vOnA+PC9w Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk9uIDQvMjMvMTkgMTE6MTkgQU0sIFpob3Us IERhdmlkKENodW5NaW5nKSB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVv dGUgc3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij5kbyB5b3Ug bWVhbiBmZW5jZSB0aW1lcj8gd2h5IG5vdCBzdG9wIGl0IGFzIHdlbGwgd2hlbiBzdG9wcGluZyBz Y2hlZCBmb3IgdGhlIHJlYXNvbiBvZiBodyByZXNldD88YnI+DQo8YnI+DQotLS0tLS0tLSBPcmln aW5hbCBNZXNzYWdlIC0tLS0tLS0tPGJyPg0KU3ViamVjdDogUmU6IFtQQVRDSCB2NSA2LzZdIGRy bS9hbWRncHU6IEF2b2lkIEhXIHJlc2V0IGlmIGd1aWx0eSBqb2IgYWxyZWFkeSBzaWduYWxlZC48 YnI+DQpGcm9tOiAmcXVvdDtHcm9kem92c2t5LCBBbmRyZXkmcXVvdDsgPGJyPg0KVG86ICZxdW90 O1pob3UsIERhdmlkKENodW5NaW5nKSZxdW90OyAsPGEgaHJlZj0ibWFpbHRvOmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcsYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcsZXJpY0Bh bmhvbHQubmV0LGV0bmF2aXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnLGNrb2VuaWcubGVpY2h0enVt ZXJrZW5AZ21haWwuY29tIj5kcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnLGFtZC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnLGVyaWNAYW5ob2x0Lm5ldCxldG5hdml2QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZyxja29lbmlnLmxlaWNodHp1bWVya2VuQGdtYWlsLmNvbTwvYT48YnI+DQpDQzog JnF1b3Q7S2F6bGF1c2thcywgTmljaG9sYXMmcXVvdDsgLCZxdW90O0xpdSwgTW9uayZxdW90OyA8 bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxicj4N Ck9uIDQvMjIvMTkgOTowOSBBTSwgWmhvdSwgRGF2aWQoQ2h1bk1pbmcpIHdyb3RlOjxicj4NCiZn dDsgJiM0MztNb25rLjxicj4NCiZndDs8YnI+DQomZ3Q7IEdQVSByZXNldCBpcyB1c2VkIHdpZGVs eSBpbiBTUklPViwgc28gbmVlZCB2aXJ0dWxpemF0aW5vIGd1eSB0YWtlIGEgbG9vay48YnI+DQom Z3Q7PGJyPg0KJmd0OyBCdXQgb3V0IG9mIGN1cmlvdXMsIHdoeSBndWlsdHkgam9iIGNhbiBzaWdu YWwgbW9yZSBpZiB0aGUgam9iIGlzIGFscmVhZHk8YnI+DQomZ3Q7IHNldCB0byBndWlsdHk/IHNl dCBpdCB3cm9uZ2x5Pzxicj4NCiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0OyAtRGF2aWQ8YnI+DQo8 YnI+DQo8YnI+DQpJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIGpvYiBkb2VzIGNvbXBsZXRlcyBhdCBh IGxhdGVyIHRpbWUgdGhlbiBpdCdzIDxicj4NCnRpbWVvdXQgaGFuZGxlciBzdGFydGVkIHByb2Nl c3Npbmcgc28gaW4gdGhpcyBwYXRjaCB3ZSB0cnkgdG8gcHJvdGVjdCA8YnI+DQphZ2FpbnN0IHRo aXMgYnkgcmVjaGVja2luZyB0aGUgSFcgZmVuY2UgYWZ0ZXIgc3RvcHBpbmcgYWxsIFNXIDxicj4N CnNjaGVkdWxlcnMuIFdlIGRvIGl0IEJFRk9SRSBtYXJraW5nIGd1aWx0eSBvbiB0aGUgam9iJ3Mg c2NoZWRfZW50aXR5IHNvIDxicj4NCmF0IHRoZSBwb2ludCB3ZSBjaGVjayB0aGUgZ3VpbHR5IGZs YWcgaXMgbm90IHNldCB5ZXQuPGJyPg0KPGJyPg0KQW5kcmV5PGJyPg0KPGJyPg0KPGJyPg0KJmd0 Ozxicj4NCiZndDsgPHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvl vq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+5ZyoPC9zcGFuPiAyMDE5LzQvMTggMjM6MDAs IEFuZHJleSBHcm9kem92c2t5DQo8c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtZmFtaWx5 OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7lhpnpgZM8L3NwYW4+Ojxicj4N CiZndDsmZ3Q7IEFsc28gcmVqZWN0IFREUnMgaWYgYW5vdGhlciBvbmUgYWxyZWFkeSBydW5uaW5n Ljxicj4NCiZndDsmZ3Q7PGJyPg0KJmd0OyZndDsgdjI6PGJyPg0KJmd0OyZndDsgU3RvcCBhbGwg c2NoZWR1bGVycyBhY3Jvc3MgZGV2aWNlIGFuZCBlbnRpcmUgWEdNSSBoaXZlIGJlZm9yZTxicj4N CiZndDsmZ3Q7IGZvcmNlIHNpZ25hbGluZyBIVyBmZW5jZXMuPGJyPg0KJmd0OyZndDsgQXZvaWQg cGFzc2luZyBqb2Jfc2lnbmFsZWQgdG8gaGVscGVyIGZuY3Rpb25zIHRvIGtlZXAgYWxsIHRoZSBk ZWNpc2lvbjxicj4NCiZndDsmZ3Q7IG1ha2luZyBhYm91dCBza2lwcGluZyBIVyByZXNldCBpbiBv bmUgcGxhY2UuPGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyB2Mzo8YnI+DQomZ3Q7Jmd0OyBG aXggU1cgc2NoZWQuIGhhbmcgYWZ0ZXIgbm9uIEhXIHJlc2V0LiBzY2hlZC5od19ycV9jb3VudCBo YXMgdG8gYmUgYmFsYW5jZWQ8YnI+DQomZ3Q7Jmd0OyBhZ2FpbnN0IGl0J3MgZGVjcmVtZW50IGlu IGRybV9zY2hlZF9zdG9wIGluIG5vbiBIVyByZXNldCBjYXNlLjxicj4NCiZndDsmZ3Q7IHY0OiBy ZWJhc2U8YnI+DQomZ3Q7Jmd0OyB2NTogUmV2ZXJ0IHYzIGFzIHdlIGRvIGl0IG5vdyBpbiBzY2Vk dWxlciBjb2RlLjxicj4NCiZndDsmZ3Q7PGJyPg0KJmd0OyZndDsgU2lnbmVkLW9mZi1ieTogQW5k cmV5IEdyb2R6b3Zza3kgPGEgaHJlZj0ibWFpbHRvOmFuZHJleS5ncm9kem92c2t5QGFtZC5jb20i PiZsdDthbmRyZXkuZ3JvZHpvdnNreUBhbWQuY29tJmd0OzwvYT48YnI+DQomZ3Q7Jmd0OyAtLS08 YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfZGV2aWNlLmMgfCAxNDMgJiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0 MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7 JiM0MzstLS0tLS0tLS0tPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgMSBmaWxlIGNo YW5nZWQsIDk1IGluc2VydGlvbnMoJiM0MzspLCA0OCBkZWxldGlvbnMoLSk8YnI+DQomZ3Q7Jmd0 Ozxicj4NCiZndDsmZ3Q7IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNl LmM8YnI+DQomZ3Q7Jmd0OyBpbmRleCBhMGUxNjVjLi44NWY4NzkyIDEwMDY0NDxicj4NCiZndDsm Z3Q7IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYzxicj4N CiZndDsmZ3Q7ICYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9kZXZpY2UuYzxicj4NCiZndDsmZ3Q7IEBAIC0zMzM0LDggJiM0MzszMzM0LDYgQEAgc3Rh dGljIGludCBhbWRncHVfZGV2aWNlX3ByZV9hc2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICghcmlu ZyB8fCAhcmluZy0mZ3Q7c2NoZWQudGhyZWFkKTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IGNvbnRpbnVlOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsm Z3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgZHJtX3NjaGVkX3N0b3AoJmFtcDtyaW5nLSZndDtzY2hlZCwgJmFtcDtq b2ItJmd0O2Jhc2UpOzxicj4NCiZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAvKiBhZnRlciBhbGwgaHcgam9icyBhcmUgcmVzZXQsIGh3IGZlbmNlIGlz IG1lYW5pbmdsZXNzLCBzbyBmb3JjZV9jb21wbGV0aW9uICovPGJyPg0KJmd0OyZndDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgYW1kZ3B1X2ZlbmNlX2RyaXZlcl9mb3JjZV9jb21wbGV0aW9u KHJpbmcpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IH08YnI+DQomZ3Q7Jmd0OyBAQCAtMzM0Myw2ICYjNDM7MzM0MSw3IEBAIHN0YXRpYyBpbnQgYW1k Z3B1X2RldmljZV9wcmVfYXNpY19yZXNldChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiw8YnI+ DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZihqb2IpPGJy Pg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZHJtX3NjaGVkX2luY3JlYXNl X2thcm1hKCZhbXA7am9iLSZndDtiYXNlKTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNw OyA8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBEb24ndCBzdXNwZW5k IG9uIGJhcmUgbWV0YWwgaWYgd2UgYXJlIG5vdCBnb2luZyB0byBIVyByZXNldCB0aGUgQVNJQyAq Lzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICgh YW1kZ3B1X3NyaW92X3ZmKGFkZXYpKSB7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsg PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKCFuZWVkX2Z1bGxf cmVzZXQpPGJyPg0KJmd0OyZndDsgQEAgLTM0ODAsMzcgJiM0MzszNDc5LDIxIEBAIHN0YXRpYyBp bnQgYW1kZ3B1X2RvX2FzaWNfcmVzZXQoc3RydWN0IGFtZGdwdV9oaXZlX2luZm8gKmhpdmUsPGJy Pg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIHI7 PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7IC1zdGF0aWMgdm9pZCBhbWRncHVfZGV2aWNlX3Bvc3Rf YXNpY19yZXNldChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik8YnI+DQomZ3Q7Jmd0OyAmIzQz O3N0YXRpYyBib29sIGFtZGdwdV9kZXZpY2VfbG9ja19hZGV2KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LCBib29sIHRyeWxvY2spPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgezxi cj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgaW50IGk7PGJyPg0KJmd0OyZndDsgLTxi cj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgZm9yIChpID0gMDsgaSAmbHQ7IEFNREdQ VV9NQVhfUklOR1M7ICYjNDM7JiM0MztpKSB7PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1 Y3QgYW1kZ3B1X3JpbmcgKnJpbmcgPSBhZGV2LSZndDtyaW5nc1tpXTs8YnI+DQomZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoIXJpbmcgfHwgIXJpbmctJmd0O3NjaGVkLnRo cmVhZCk8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNvbnRpbnVlOzxicj4NCiZndDsmZ3Q7IC08YnI+DQomZ3Q7 Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IGlmICghYWRldi0mZ3Q7YXNpY19yZXNldF9yZXMpPGJyPg0KJmd0OyZn dDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBkcm1fc2NoZWRfcmVzdWJtaXRfam9icygmYW1wO3JpbmctJmd0O3NjaGVkKTs8YnI+DQom Z3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAodHJ5bG9jaykgezxicj4NCiZndDsm Z3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICghbXV0ZXhfdHJ5bG9jaygmYW1wO2FkZXYtJmd0O2xvY2tf cmVzZXQpKTxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiBmYWxzZTs8YnI+DQomZ3Q7Jmd0OyAm IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyB9IGVsc2U8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBtdXRleF9sb2NrKCZhbXA7YWRldi0mZ3Q7bG9ja19yZXNldCk7PGJyPg0KJmd0OyZndDsmbmJz cDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkcm1fc2NoZWRfc3RhcnQo JmFtcDtyaW5nLSZndDtzY2hlZCwgIWFkZXYtJmd0O2FzaWNfcmVzZXRfcmVzKTs8YnI+DQomZ3Q7 Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsg LSZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoIWFtZGdwdV9kZXZpY2VfaGFzX2RjX3N1cHBvcnQoYWRl dikpIHs8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRybV9oZWxwZXJfcmVzdW1lX2ZvcmNlX21v ZGUoYWRldi0mZ3Q7ZGRldik7PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyB9PGJy Pg0KJmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgYWRldi0mZ3Q7 YXNpY19yZXNldF9yZXMgPSAwOzxicj4NCiZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsgLTxicj4N CiZndDsmZ3Q7IC1zdGF0aWMgdm9pZCBhbWRncHVfZGV2aWNlX2xvY2tfYWRldihzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldik8YnI+DQomZ3Q7Jmd0OyAtezxicj4NCiZndDsmZ3Q7IC0mbmJzcDsm bmJzcDsmbmJzcDsgbXV0ZXhfbG9jaygmYW1wO2FkZXYtJmd0O2xvY2tfcmVzZXQpOzxicj4NCiZn dDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGF0b21pY19pbmMoJmFt cDthZGV2LSZndDtncHVfcmVzZXRfY291bnRlcik7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYWRldi0mZ3Q7aW5fZ3B1X3Jlc2V0ID0gMTs8YnI+DQom Z3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBCbG9jayBrZmQ6 IFNSSU9WIHdvdWxkIGRvIGl0IHNlcGFyYXRlbHkgKi88YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoIWFtZGdwdV9zcmlvdl92ZihhZGV2KSk8YnI+ DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBhbWRncHVfYW1ka2ZkX3ByZV9yZXNldChhZGV2KTs8YnI+DQomZ3Q7Jmd0OyAm IzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiB0cnVlOzxi cj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNw OyZuYnNwOyA8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBzdGF0aWMgdm9pZCBhbWRn cHVfZGV2aWNlX3VubG9ja19hZGV2KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTxicj4NCiZn dDsmZ3Q7IEBAIC0zNTM4LDQwICYjNDM7MzUyMSw0MiBAQCBzdGF0aWMgdm9pZCBhbWRncHVfZGV2 aWNlX3VubG9ja19hZGV2KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTxicj4NCiZndDsmZ3Q7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IGludCBhbWRncHVfZGV2aWNlX2dwdV9yZWNvdmVyKHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2LDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVjdCBhbWRncHVfam9iICpqb2IpPGJy Pg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgezxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJz cDsmbmJzcDsgaW50IHI7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgc3Ry dWN0IGxpc3RfaGVhZCBkZXZpY2VfbGlzdCwgKmRldmljZV9saXN0X2hhbmRsZSA9Jm5ic3A7IE5V TEw7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgYm9vbCBuZWVkX2Z1bGxf cmVzZXQsIGpvYl9zaWduYWxlZDs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBzdHJ1Y3QgYW1kZ3B1X2hpdmVfaW5mbyAqaGl2ZSA9IE5VTEw7PGJyPg0K Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBib29sIG5lZWRfZnVsbF9yZXNldCA9IGZhbHNl Ozxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVj dCBhbWRncHVfZGV2aWNlICp0bXBfYWRldiA9IE5VTEw7PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZu YnNwOyZuYnNwOyBzdHJ1Y3QgbGlzdF9oZWFkIGRldmljZV9saXN0LCAqZGV2aWNlX2xpc3RfaGFu ZGxlID0mbmJzcDsgTlVMTDs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyBp bnQgaSwgciA9IDA7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZn dDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgbmVlZF9mdWxsX3Jlc2V0ID0gam9iX3NpZ25hbGVk ID0gZmFsc2U7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgSU5JVF9MSVNUX0hFQUQoJmFtcDtkZXZpY2VfbGlzdCk7PGJyPg0KJmd0OyZndDsmbmJzcDsm bmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgZGV2X2luZm8oYWRldi0mZ3Q7ZGV2LCAmcXVvdDtHUFUgcmVzZXQgYmVnaW4hXG4mcXVv dDspOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7ICYjNDM7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IGhpdmUgPSBhbWRncHVfZ2V0X3hnbWlfaGl2ZShhZGV2LCBmYWxz ZSk7PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyAvKjxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgKiBJbiBjYXNlIG9mIFhHTUkgaGl2ZSBkaXNhbGxvdyBjb25jdXJyZW50IHJlc2V0cyB0byBi ZSB0cmlnZ2VyZWQ8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICogYnkg ZGlmZmVyZW50IG5vZGVzLiBObyBwb2ludCBhbHNvIHNpbmNlIHRoZSBvbmUgbm9kZSBhbHJlYWR5 IGV4ZWN1dGluZzxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiByZXNl dCB3aWxsIGFsc28gcmVzZXQgYWxsIHRoZSBvdGhlciBub2RlcyBpbiB0aGUgaGl2ZS48YnI+DQom Z3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqIEhlcmUgd2UgdHJ5bG9jayB0 byBhdm9pZCBjaGFpbiBvZiByZXNldHMgZXhlY3V0aW5nIGZyb208YnI+DQomZ3Q7Jmd0OyAmIzQz OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqIGVpdGhlciB0cmlnZ2VyIGJ5IGpvYnMgb24gZGlm ZmVyZW50IGFkZXZzIGluIFhHTUkgaGl2ZSBvciBqb2JzIG9uPGJyPg0KJmd0OyZndDsgJiM0Mzsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBkaWZmZXJlbnQgc2NoZWR1bGVycyBmb3Igc2FtZSBk ZXZpY2Ugd2hpbGUgdGhpcyBUTyBoYW5kbGVyIGlzIHJ1bm5pbmcuPGJyPg0KJmd0OyZndDsgJiM0 MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBXZSBhbHdheXMgcmVzZXQgYWxsIHNjaGVkdWxl cnMgZm9yIGRldmljZSBhbmQgYWxsIGRldmljZXMgZm9yIFhHTUk8YnI+DQomZ3Q7Jmd0OyAmIzQz OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqIGhpdmUgc28gdGhhdCBzaG91bGQgdGFrZSBjYXJl IG9mIHRoZW0gdG9vLjxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7ICovPGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBoaXZlID0g YW1kZ3B1X2dldF94Z21pX2hpdmUoYWRldiwgMCk7PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNw OyZuYnNwOyBpZiAoaGl2ZSAmYW1wOyZhbXA7IGFkZXYtJmd0O2dtYy54Z21pLm51bV9waHlzaWNh bF9ub2RlcyAmZ3Q7IDEgJmFtcDsmYW1wOzxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgIW11dGV4X3RyeWxvY2soJmFtcDtoaXZlLSZndDty ZXNldF9sb2NrKSk8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IGlmIChoaXZlICZhbXA7JmFtcDsgIW11dGV4X3RyeWxvY2soJmFtcDtoaXZl LSZndDtyZXNldF9sb2NrKSkgezxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IERSTV9JTkZP KCZxdW90O0JhaWxpbmcgb24gVERSIGZvciBzX2pvYjolbGx4LCBoaXZlOiAlbGx4IGFzIGFub3Ro ZXIgYWxyZWFkeSBpbiBwcm9ncmVzcyZxdW90Oyw8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBq b2ItJmd0O2Jhc2UuaWQsIGhpdmUtJmd0O2hpdmVfaWQpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiAwOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5i c3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+DQomZ3Q7Jmd0 OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBTdGFydCB3aXRoIGFkZXYg cHJlIGFzaWMgcmVzZXQgZmlyc3QgZm9yIHNvZnQgcmVzZXQgY2hlY2suKi88YnI+DQomZ3Q7Jmd0 OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IGFtZGdwdV9kZXZpY2VfbG9ja19hZGV2KGFkZXYpOzxicj4N CiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgciA9IGFtZGdwdV9kZXZpY2VfcHJlX2FzaWNf cmVzZXQoYWRldiw8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IGpvYiw8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZhbXA7bmVlZF9mdWxsX3Jlc2V0KTs8YnI+DQomZ3Q7 Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChyKSB7PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyAvKlRPRE8gU2hvdWxkIHdlIHN0b3AgPyovPGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBEUk1f RVJST1IoJnF1b3Q7R1BVIHByZSBhc2ljIHJlc2V0IGZhaWxlZCB3aXRoIGVyciwgJWQgZm9yIGRy bSBkZXYsICVzICZxdW90Oyw8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHIsIGFkZXYtJmd0 O2RkZXYtJmd0O3VuaXF1ZSk7PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBhZGV2LSZndDthc2lj X3Jlc2V0X3JlcyA9IHI7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgaWYg KCFhbWRncHVfZGV2aWNlX2xvY2tfYWRldihhZGV2LCAhaGl2ZSkpIHs8YnI+DQomZ3Q7Jmd0OyAm IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBEUk1fSU5GTygmcXVvdDtCYWlsaW5nIG9uIFREUiBmb3Igc19qb2I6JWxs eCwgYXMgYW5vdGhlciBhbHJlYWR5IGluIHByb2dyZXNzJnF1b3Q7LDxicj4NCiZndDsmZ3Q7ICYj NDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGpvYi0mZ3Q7 YmFzZS5pZCk7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIDA7PGJyPg0KJmd0 OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IC8qIEJ1aWxkIGxpc3Qgb2YgZGV2aWNlcyB0byByZXNldCAqLzxicj4NCiZn dDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgaWYmbmJzcDsgKG5lZWRfZnVsbF9yZXNldCAmYW1w OyZhbXA7IGFkZXYtJmd0O2dtYy54Z21pLm51bV9waHlzaWNhbF9ub2RlcyAmZ3Q7IDEpIHs8YnI+ DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiZuYnNwOyAoYWRldi0mZ3Q7Z21j LnhnbWkubnVtX3BoeXNpY2FsX25vZGVzICZndDsgMSkgezxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICghaGl2ZSkgezxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGFtZGdwdV9kZXZpY2VfdW5sb2NrX2FkZXYoYWRldik7PGJyPg0KJmd0OyZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgcmV0dXJuIC1FTk9ERVY7PGJyPg0KJmd0OyZndDsgQEAgLTM1ODgsMTMg JiM0MzszNTczLDU2IEBAIGludCBhbWRncHVfZGV2aWNlX2dwdV9yZWNvdmVyKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IGRldmljZV9saXN0X2hhbmRsZSA9ICZhbXA7ZGV2aWNlX2xpc3Q7PGJyPg0KJmd0OyZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIGJsb2Nr IGFsbCBzY2hlZHVsZXJzIGFuZCByZXNldCBnaXZlbiBqb2IncyByaW5nICovPGJyPg0KJmd0OyZn dDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgbGlzdF9mb3JfZWFjaF9lbnRyeSh0bXBfYWRldiwg ZGV2aWNlX2xpc3RfaGFuZGxlLCBnbWMueGdtaS5oZWFkKSB7PGJyPg0KJmd0OyZndDsgJiM0Mzsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgZm9yIChpID0gMDsgaSAmbHQ7IEFNREdQVV9NQVhfUklOR1M7ICYjNDM7JiM0Mztp KSB7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nID0gdG1wX2Fk ZXYtJmd0O3JpbmdzW2ldOzxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0Mzsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg aWYgKCFyaW5nIHx8ICFyaW5nLSZndDtzY2hlZC50aHJlYWQpPGJyPg0KJmd0OyZndDsgJiM0Mzsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgY29udGludWU7 PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkcm1fc2NoZWRfc3RvcCgm YW1wO3JpbmctJmd0O3NjaGVkLCAmYW1wO2pvYi0mZ3Q7YmFzZSk7PGJyPg0KJmd0OyZndDsgJiM0 MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+ DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0Mzsm bmJzcDsmbmJzcDsmbmJzcDsgLyo8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyAqIE11c3QgY2hlY2sgZ3VpbHR5IHNpZ25hbCBoZXJlIHNpbmNlIGFmdGVyIHRoaXMg cG9pbnQgYWxsIG9sZDxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 ICogSFcgZmVuY2VzIGFyZSBmb3JjZSBzaWduYWxlZC48YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyAqPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgKiBqb2ItJmd0O2Jhc2UgaG9sZHMgYSByZWZlcmVuY2UgdG8gcGFyZW50IGZlbmNl PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKi88YnI+DQomZ3Q7 Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoam9iICZhbXA7JmFtcDsgam9iLSZndDti YXNlLnNfZmVuY2UtJmd0O3BhcmVudCAmYW1wOyZhbXA7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZG1hX2ZlbmNlX2lzX3NpZ25h bGVkKGpvYi0mZ3Q7YmFzZS5zX2ZlbmNlLSZndDtwYXJlbnQpKTxicj4NCiZndDsmZ3Q7ICYjNDM7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IGpvYl9zaWduYWxlZCA9IHRydWU7PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQom Z3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoIWFtZGdwdV9kZXZpY2VfaXBfbmVl ZF9mdWxsX3Jlc2V0KGFkZXYpKTxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRldmljZV9s aXN0X2hhbmRsZSA9ICZhbXA7ZGV2aWNlX2xpc3Q7PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQom Z3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoam9iX3NpZ25hbGVkKSB7PGJyPg0K Jmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGV2X2luZm8oYWRldi0mZ3Q7ZGV2LCAmcXVvdDtHdWls dHkgam9iIGFscmVhZHkgc2lnbmFsZWQsIHNraXBwaW5nIEhXIHJlc2V0JnF1b3Q7KTs8YnI+DQom Z3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBnb3RvIHNraXBfaHdfcmVzZXQ7PGJyPg0KJmd0OyZndDsg JiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZn dDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBHdWlsdHkg am9iIHdpbGwgYmUgZnJlZWQgYWZ0ZXIgdGhpcyovPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsm bmJzcDsmbmJzcDsgciA9IGFtZGdwdV9kZXZpY2VfcHJlX2FzaWNfcmVzZXQoYWRldiw8YnI+DQom Z3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBqb2IsPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgJmFtcDtuZWVkX2Z1bGxfcmVzZXQpOzxicj4NCiZndDsmZ3Q7ICYjNDM7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChyKSB7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg LypUT0RPIFNob3VsZCB3ZSBzdG9wID8qLzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IERS TV9FUlJPUigmcXVvdDtHUFUgcHJlIGFzaWMgcmVzZXQgZmFpbGVkIHdpdGggZXJyLCAlZCBmb3Ig ZHJtIGRldiwgJXMgJnF1b3Q7LDxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHIsIGFk ZXYtJmd0O2RkZXYtJmd0O3VuaXF1ZSk7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYWRl di0mZ3Q7YXNpY19yZXNldF9yZXMgPSByOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5i c3A7IHJldHJ5OiZuYnNwOyZuYnNwOyZuYnNwOyAvKiBSZXN0IG9mIGFkZXZzIHByZSBhc2ljIHJl c2V0IGZyb20gWEdNSSBoaXZlLiAqLzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IGxpc3RfZm9yX2VhY2hfZW50cnkodG1wX2FkZXYsIGRldmljZV9saXN0 X2hhbmRsZSwgZ21jLnhnbWkuaGVhZCkgezxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICh0bXBfYWRldiA9 PSBhZGV2KTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNvbnRpbnVlOzxicj4NCiZn dDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYW1kZ3B1 X2RldmljZV9sb2NrX2FkZXYodG1wX2FkZXYpOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IGFtZGdwdV9kZXZpY2VfbG9ja19hZGV2KHRtcF9hZGV2LCBmYWxzZSk7PGJyPg0KJmd0OyZndDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgciA9IGFtZGdwdV9kZXZpY2VfcHJlX2FzaWNfcmVz ZXQodG1wX2FkZXYsPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgTlVMTCw8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmYW1wO25lZWRfZnVsbF9y ZXNldCk7PGJyPg0KJmd0OyZndDsgQEAgLTM2MTgsOSAmIzQzOzM2NDYsMjggQEAgaW50IGFtZGdw dV9kZXZpY2VfZ3B1X3JlY292ZXIoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsPGJyPg0KJmd0 OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZ290byByZXRyeTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsm bmJzcDsgPGJyPg0KJmd0OyZndDsgJiM0Mztza2lwX2h3X3Jlc2V0Ojxicj4NCiZndDsmZ3Q7ICYj NDM7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyog UG9zdCBBU0lDIHJlc2V0IGZvciBhbGwgZGV2cyAuKi88YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBsaXN0X2Zvcl9lYWNoX2VudHJ5KHRtcF9hZGV2LCBk ZXZpY2VfbGlzdF9oYW5kbGUsIGdtYy54Z21pLmhlYWQpIHs8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IGFtZGdwdV9kZXZpY2VfcG9zdF9hc2ljX3Jlc2V0KHRtcF9hZGV2KTs8YnI+DQomZ3Q7Jmd0 OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBmb3IgKGkgPSAwOyBpICZsdDsgQU1ER1BVX01BWF9SSU5HUzsgJiM0 MzsmIzQzO2kpIHs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcg PSB0bXBfYWRldi0mZ3Q7cmluZ3NbaV07PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0 OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBpZiAoIXJpbmcgfHwgIXJpbmctJmd0O3NjaGVkLnRocmVhZCk8YnI+DQomZ3Q7Jmd0 OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBj b250aW51ZTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIE5vIHBv aW50IHRvIHJlc3VibWl0IGpvYnMgaWYgd2UgZGlkbid0IEhXIHJlc2V0Ki88YnI+DQomZ3Q7Jmd0 OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBpZiAoIXRtcF9hZGV2LSZndDthc2ljX3Jlc2V0X3JlcyAmYW1wOyZhbXA7ICFqb2Jf c2lnbmFsZWQpPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgZHJtX3NjaGVkX3Jlc3VibWl0X2pvYnMoJmFtcDtyaW5nLSZn dDtzY2hlZCk7PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkcm1fc2No ZWRfc3RhcnQoJmFtcDtyaW5nLSZndDtzY2hlZCwgIXRtcF9hZGV2LSZndDthc2ljX3Jlc2V0X3Jl cyk7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7ICYjNDM7PGJy Pg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKCFhbWRncHVfZGV2aWNlX2hhc19kY19zdXBw b3J0KHRtcF9hZGV2KSAmYW1wOyZhbXA7ICFqb2Jfc2lnbmFsZWQpIHs8YnI+DQomZ3Q7Jmd0OyAm IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBkcm1faGVscGVyX3Jlc3VtZV9mb3JjZV9tb2RlKHRtcF9hZGV2LSZndDtkZGV2KTs8YnI+ DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7 Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyB0bXBfYWRldi0mZ3Q7YXNpY19yZXNldF9yZXMgPSAwOzxicj4N CiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IGlmIChyKSB7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyog YmFkIG5ld3MsIGhvdyB0byB0ZWxsIGl0IHRvIHVzZXJzcGFjZSA/ICovPGJyPg0KJmd0OyZndDsg QEAgLTM2MzMsNyAmIzQzOzM2ODAsNyBAQCBpbnQgYW1kZ3B1X2RldmljZV9ncHVfcmVjb3Zlcihz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiw8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBhbWRncHVfZGV2aWNlX3VubG9ja19hZGV2KHRtcF9hZGV2KTs8YnI+DQomZ3Q7 Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsm bmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBpZiAo aGl2ZSAmYW1wOyZhbXA7IGFkZXYtJmd0O2dtYy54Z21pLm51bV9waHlzaWNhbF9ub2RlcyAmZ3Q7 IDEpPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKGhpdmUpPGJyPg0K Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgbXV0ZXhfdW5sb2NrKCZhbXA7aGl2 ZS0mZ3Q7cmVzZXRfbG9jayk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0K Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKHIpPGJyPg0K X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+DQphbWQt Z2Z4IG1haWxpbmcgbGlzdDxicj4NCjxhIGhyZWY9Im1haWx0bzphbWQtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZyI+YW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc8L2E+PGJyPg0KPGEgaHJl Zj0iaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4 Ij5odHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng8 L2E+PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+ DQo8L2JvZHk+DQo8L2h0bWw+DQo= --_000_MN2PR12MB2910C37264B8F30BAD26FA4CB43C0MN2PR12MB2910namp_-- --===============0899722321== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs --===============0899722321==--