From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Grodzovsky, Andrey" Subject: Re: [PATCH v5 6/6] drm/amdgpu: Avoid HW reset if guilty job already signaled. Date: Tue, 23 Apr 2019 15:59:45 +0000 Message-ID: <571a119a-170a-d1ba-6870-31807e0f7016@amd.com> 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> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1494169701==" Return-path: In-Reply-To: <-hyv5g0n8ru25qelb0v-8u6jdi1vp2c7z1m3f5-uygwc1o5ji6s-9zli9v-srreuk-3pvse1en6kx0-6se95l-6jsafd-a6sboi-j814xf-ijgwfc-qewgmm-vnafjgrn2fq0-jgir949hx4yo-i772hz-tn7ial.1556032736536-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Zhou, David(ChunMing)" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org" , "etnaviv-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "ckoenig.leichtzumerken-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org" Cc: "Kazlauskas, Nicholas" , "Liu, Monk" List-Id: dri-devel@lists.freedesktop.org --===============1494169701== Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_571a119a170ad1ba687031807e0f7016amdcom_" --_000_571a119a170ad1ba687031807e0f7016amdcom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Tm8sIGkgbWVhbiB0aGUgYWN0dWFsIEhXIGZlbmNlIHdoaWNoIHNpZ25hbHMgd2hlbiB0aGUgam9i IGZpbmlzaGVkIGV4ZWN1dGlvbiBvbiB0aGUgSFcuDQoNCkFuZHJleQ0KDQpPbiA0LzIzLzE5IDEx OjE5IEFNLCBaaG91LCBEYXZpZChDaHVuTWluZykgd3JvdGU6DQpkbyB5b3UgbWVhbiBmZW5jZSB0 aW1lcj8gd2h5IG5vdCBzdG9wIGl0IGFzIHdlbGwgd2hlbiBzdG9wcGluZyBzY2hlZCBmb3IgdGhl IHJlYXNvbiBvZiBodyByZXNldD8NCg0KLS0tLS0tLS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLS0t LQ0KU3ViamVjdDogUmU6IFtQQVRDSCB2NSA2LzZdIGRybS9hbWRncHU6IEF2b2lkIEhXIHJlc2V0 IGlmIGd1aWx0eSBqb2IgYWxyZWFkeSBzaWduYWxlZC4NCkZyb206ICJHcm9kem92c2t5LCBBbmRy ZXkiDQpUbzogIlpob3UsIERhdmlkKENodW5NaW5nKSIgLGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcsYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcsZXJpY0BhbmhvbHQubmV0LGV0 bmF2aXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnLGNrb2VuaWcubGVpY2h0enVtZXJrZW5AZ21haWwu Y29tPG1haWx0bzpkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnLGFtZC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnLGVyaWNAYW5ob2x0Lm5ldCxldG5hdml2QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZyxja29lbmlnLmxlaWNodHp1bWVya2VuQGdtYWlsLmNvbT4NCkNDOiAiS2F6bGF1c2thcywg TmljaG9sYXMiICwiTGl1LCBNb25rIg0KDQoNCk9uIDQvMjIvMTkgOTowOSBBTSwgWmhvdSwgRGF2 aWQoQ2h1bk1pbmcpIHdyb3RlOg0KPiArTW9uay4NCj4NCj4gR1BVIHJlc2V0IGlzIHVzZWQgd2lk ZWx5IGluIFNSSU9WLCBzbyBuZWVkIHZpcnR1bGl6YXRpbm8gZ3V5IHRha2UgYSBsb29rLg0KPg0K PiBCdXQgb3V0IG9mIGN1cmlvdXMsIHdoeSBndWlsdHkgam9iIGNhbiBzaWduYWwgbW9yZSBpZiB0 aGUgam9iIGlzIGFscmVhZHkNCj4gc2V0IHRvIGd1aWx0eT8gc2V0IGl0IHdyb25nbHk/DQo+DQo+ DQo+IC1EYXZpZA0KDQoNCkl0J3MgcG9zc2libGUgdGhhdCB0aGUgam9iIGRvZXMgY29tcGxldGVz IGF0IGEgbGF0ZXIgdGltZSB0aGVuIGl0J3MNCnRpbWVvdXQgaGFuZGxlciBzdGFydGVkIHByb2Nl c3Npbmcgc28gaW4gdGhpcyBwYXRjaCB3ZSB0cnkgdG8gcHJvdGVjdA0KYWdhaW5zdCB0aGlzIGJ5 IHJlY2hlY2tpbmcgdGhlIEhXIGZlbmNlIGFmdGVyIHN0b3BwaW5nIGFsbCBTVw0Kc2NoZWR1bGVy cy4gV2UgZG8gaXQgQkVGT1JFIG1hcmtpbmcgZ3VpbHR5IG9uIHRoZSBqb2IncyBzY2hlZF9lbnRp dHkgc28NCmF0IHRoZSBwb2ludCB3ZSBjaGVjayB0aGUgZ3VpbHR5IGZsYWcgaXMgbm90IHNldCB5 ZXQuDQoNCkFuZHJleQ0KDQoNCj4NCj4g5ZyoIDIwMTkvNC8xOCAyMzowMCwgQW5kcmV5IEdyb2R6 b3Zza3kg5YaZ6YGTOg0KPj4gQWxzbyByZWplY3QgVERScyBpZiBhbm90aGVyIG9uZSBhbHJlYWR5 IHJ1bm5pbmcuDQo+Pg0KPj4gdjI6DQo+PiBTdG9wIGFsbCBzY2hlZHVsZXJzIGFjcm9zcyBkZXZp Y2UgYW5kIGVudGlyZSBYR01JIGhpdmUgYmVmb3JlDQo+PiBmb3JjZSBzaWduYWxpbmcgSFcgZmVu Y2VzLg0KPj4gQXZvaWQgcGFzc2luZyBqb2Jfc2lnbmFsZWQgdG8gaGVscGVyIGZuY3Rpb25zIHRv IGtlZXAgYWxsIHRoZSBkZWNpc2lvbg0KPj4gbWFraW5nIGFib3V0IHNraXBwaW5nIEhXIHJlc2V0 IGluIG9uZSBwbGFjZS4NCj4+DQo+PiB2MzoNCj4+IEZpeCBTVyBzY2hlZC4gaGFuZyBhZnRlciBu b24gSFcgcmVzZXQuIHNjaGVkLmh3X3JxX2NvdW50IGhhcyB0byBiZSBiYWxhbmNlZA0KPj4gYWdh aW5zdCBpdCdzIGRlY3JlbWVudCBpbiBkcm1fc2NoZWRfc3RvcCBpbiBub24gSFcgcmVzZXQgY2Fz ZS4NCj4+IHY0OiByZWJhc2UNCj4+IHY1OiBSZXZlcnQgdjMgYXMgd2UgZG8gaXQgbm93IGluIHNj ZWR1bGVyIGNvZGUuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogQW5kcmV5IEdyb2R6b3Zza3kgPGFu ZHJleS5ncm9kem92c2t5QGFtZC5jb20+PG1haWx0bzphbmRyZXkuZ3JvZHpvdnNreUBhbWQuY29t Pg0KPj4gLS0tDQo+PiAgICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNl LmMgfCAxNDMgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0NCj4+ICAgIDEgZmlsZSBjaGFu Z2VkLCA5NSBpbnNlcnRpb25zKCspLCA0OCBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jDQo+PiBpbmRleCBhMGUxNjVjLi44NWY4 NzkyIDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rl dmljZS5jDQo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNl LmMNCj4+IEBAIC0zMzM0LDggKzMzMzQsNiBAQCBzdGF0aWMgaW50IGFtZGdwdV9kZXZpY2VfcHJl X2FzaWNfcmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQo+PiAgICAgICAgICAgICAg IGlmICghcmluZyB8fCAhcmluZy0+c2NoZWQudGhyZWFkKQ0KPj4gICAgICAgICAgICAgICAgICAg ICAgIGNvbnRpbnVlOw0KPj4NCj4+IC0gICAgICAgICAgICBkcm1fc2NoZWRfc3RvcCgmcmluZy0+ c2NoZWQsICZqb2ItPmJhc2UpOw0KPj4gLQ0KPj4gICAgICAgICAgICAgICAvKiBhZnRlciBhbGwg aHcgam9icyBhcmUgcmVzZXQsIGh3IGZlbmNlIGlzIG1lYW5pbmdsZXNzLCBzbyBmb3JjZV9jb21w bGV0aW9uICovDQo+PiAgICAgICAgICAgICAgIGFtZGdwdV9mZW5jZV9kcml2ZXJfZm9yY2VfY29t cGxldGlvbihyaW5nKTsNCj4+ICAgICAgIH0NCj4+IEBAIC0zMzQzLDYgKzMzNDEsNyBAQCBzdGF0 aWMgaW50IGFtZGdwdV9kZXZpY2VfcHJlX2FzaWNfcmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYsDQo+PiAgICAgICBpZihqb2IpDQo+PiAgICAgICAgICAgICAgIGRybV9zY2hlZF9pbmNy ZWFzZV9rYXJtYSgmam9iLT5iYXNlKTsNCj4+DQo+PiArICAgIC8qIERvbid0IHN1c3BlbmQgb24g YmFyZSBtZXRhbCBpZiB3ZSBhcmUgbm90IGdvaW5nIHRvIEhXIHJlc2V0IHRoZSBBU0lDICovDQo+ PiAgICAgICBpZiAoIWFtZGdwdV9zcmlvdl92ZihhZGV2KSkgew0KPj4NCj4+ICAgICAgICAgICAg ICAgaWYgKCFuZWVkX2Z1bGxfcmVzZXQpDQo+PiBAQCAtMzQ4MCwzNyArMzQ3OSwyMSBAQCBzdGF0 aWMgaW50IGFtZGdwdV9kb19hc2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfaGl2ZV9pbmZvICpoaXZl LA0KPj4gICAgICAgcmV0dXJuIHI7DQo+PiAgICB9DQo+Pg0KPj4gLXN0YXRpYyB2b2lkIGFtZGdw dV9kZXZpY2VfcG9zdF9hc2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQ0KPj4g K3N0YXRpYyBib29sIGFtZGdwdV9kZXZpY2VfbG9ja19hZGV2KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LCBib29sIHRyeWxvY2spDQo+PiAgICB7DQo+PiAtICAgIGludCBpOw0KPj4gLQ0KPj4g LSAgICBmb3IgKGkgPSAwOyBpIDwgQU1ER1BVX01BWF9SSU5HUzsgKytpKSB7DQo+PiAtICAgICAg ICAgICAgc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nID0gYWRldi0+cmluZ3NbaV07DQo+PiAtDQo+ PiAtICAgICAgICAgICAgaWYgKCFyaW5nIHx8ICFyaW5nLT5zY2hlZC50aHJlYWQpDQo+PiAtICAg ICAgICAgICAgICAgICAgICBjb250aW51ZTsNCj4+IC0NCj4+IC0gICAgICAgICAgICBpZiAoIWFk ZXYtPmFzaWNfcmVzZXRfcmVzKQ0KPj4gLSAgICAgICAgICAgICAgICAgICAgZHJtX3NjaGVkX3Jl c3VibWl0X2pvYnMoJnJpbmctPnNjaGVkKTsNCj4+ICsgICAgaWYgKHRyeWxvY2spIHsNCj4+ICsg ICAgICAgICAgICBpZiAoIW11dGV4X3RyeWxvY2soJmFkZXYtPmxvY2tfcmVzZXQpKQ0KPj4gKyAg ICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KPj4gKyAgICB9IGVsc2UNCj4+ICsgICAg ICAgICAgICBtdXRleF9sb2NrKCZhZGV2LT5sb2NrX3Jlc2V0KTsNCj4+DQo+PiAtICAgICAgICAg ICAgZHJtX3NjaGVkX3N0YXJ0KCZyaW5nLT5zY2hlZCwgIWFkZXYtPmFzaWNfcmVzZXRfcmVzKTsN Cj4+IC0gICAgfQ0KPj4gLQ0KPj4gLSAgICBpZiAoIWFtZGdwdV9kZXZpY2VfaGFzX2RjX3N1cHBv cnQoYWRldikpIHsNCj4+IC0gICAgICAgICAgICBkcm1faGVscGVyX3Jlc3VtZV9mb3JjZV9tb2Rl KGFkZXYtPmRkZXYpOw0KPj4gLSAgICB9DQo+PiAtDQo+PiAtICAgIGFkZXYtPmFzaWNfcmVzZXRf cmVzID0gMDsNCj4+IC19DQo+PiAtDQo+PiAtc3RhdGljIHZvaWQgYW1kZ3B1X2RldmljZV9sb2Nr X2FkZXYoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpDQo+PiAtew0KPj4gLSAgICBtdXRleF9s b2NrKCZhZGV2LT5sb2NrX3Jlc2V0KTsNCj4+ICAgICAgIGF0b21pY19pbmMoJmFkZXYtPmdwdV9y ZXNldF9jb3VudGVyKTsNCj4+ICAgICAgIGFkZXYtPmluX2dwdV9yZXNldCA9IDE7DQo+PiAgICAg ICAvKiBCbG9jayBrZmQ6IFNSSU9WIHdvdWxkIGRvIGl0IHNlcGFyYXRlbHkgKi8NCj4+ICAgICAg IGlmICghYW1kZ3B1X3NyaW92X3ZmKGFkZXYpKQ0KPj4gICAgICAgICAgICAgICAgICAgIGFtZGdw dV9hbWRrZmRfcHJlX3Jlc2V0KGFkZXYpOw0KPj4gKw0KPj4gKyAgICByZXR1cm4gdHJ1ZTsNCj4+ ICAgIH0NCj4+DQo+PiAgICBzdGF0aWMgdm9pZCBhbWRncHVfZGV2aWNlX3VubG9ja19hZGV2KHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQ0KPj4gQEAgLTM1MzgsNDAgKzM1MjEsNDIgQEAgc3Rh dGljIHZvaWQgYW1kZ3B1X2RldmljZV91bmxvY2tfYWRldihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldikNCj4+ICAgIGludCBhbWRncHVfZGV2aWNlX2dwdV9yZWNvdmVyKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2LA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhbWRn cHVfam9iICpqb2IpDQo+PiAgICB7DQo+PiAtICAgIGludCByOw0KPj4gKyAgICBzdHJ1Y3QgbGlz dF9oZWFkIGRldmljZV9saXN0LCAqZGV2aWNlX2xpc3RfaGFuZGxlID0gIE5VTEw7DQo+PiArICAg IGJvb2wgbmVlZF9mdWxsX3Jlc2V0LCBqb2Jfc2lnbmFsZWQ7DQo+PiAgICAgICBzdHJ1Y3QgYW1k Z3B1X2hpdmVfaW5mbyAqaGl2ZSA9IE5VTEw7DQo+PiAtICAgIGJvb2wgbmVlZF9mdWxsX3Jlc2V0 ID0gZmFsc2U7DQo+PiAgICAgICBzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqdG1wX2FkZXYgPSBOVUxM Ow0KPj4gLSAgICBzdHJ1Y3QgbGlzdF9oZWFkIGRldmljZV9saXN0LCAqZGV2aWNlX2xpc3RfaGFu ZGxlID0gIE5VTEw7DQo+PiArICAgIGludCBpLCByID0gMDsNCj4+DQo+PiArICAgIG5lZWRfZnVs bF9yZXNldCA9IGpvYl9zaWduYWxlZCA9IGZhbHNlOw0KPj4gICAgICAgSU5JVF9MSVNUX0hFQUQo JmRldmljZV9saXN0KTsNCj4+DQo+PiAgICAgICBkZXZfaW5mbyhhZGV2LT5kZXYsICJHUFUgcmVz ZXQgYmVnaW4hXG4iKTsNCj4+DQo+PiArICAgIGhpdmUgPSBhbWRncHVfZ2V0X3hnbWlfaGl2ZShh ZGV2LCBmYWxzZSk7DQo+PiArDQo+PiAgICAgICAvKg0KPj4gLSAgICAgKiBJbiBjYXNlIG9mIFhH TUkgaGl2ZSBkaXNhbGxvdyBjb25jdXJyZW50IHJlc2V0cyB0byBiZSB0cmlnZ2VyZWQNCj4+IC0g ICAgICogYnkgZGlmZmVyZW50IG5vZGVzLiBObyBwb2ludCBhbHNvIHNpbmNlIHRoZSBvbmUgbm9k ZSBhbHJlYWR5IGV4ZWN1dGluZw0KPj4gLSAgICAgKiByZXNldCB3aWxsIGFsc28gcmVzZXQgYWxs IHRoZSBvdGhlciBub2RlcyBpbiB0aGUgaGl2ZS4NCj4+ICsgICAgICogSGVyZSB3ZSB0cnlsb2Nr IHRvIGF2b2lkIGNoYWluIG9mIHJlc2V0cyBleGVjdXRpbmcgZnJvbQ0KPj4gKyAgICAgKiBlaXRo ZXIgdHJpZ2dlciBieSBqb2JzIG9uIGRpZmZlcmVudCBhZGV2cyBpbiBYR01JIGhpdmUgb3Igam9i cyBvbg0KPj4gKyAgICAgKiBkaWZmZXJlbnQgc2NoZWR1bGVycyBmb3Igc2FtZSBkZXZpY2Ugd2hp bGUgdGhpcyBUTyBoYW5kbGVyIGlzIHJ1bm5pbmcuDQo+PiArICAgICAqIFdlIGFsd2F5cyByZXNl dCBhbGwgc2NoZWR1bGVycyBmb3IgZGV2aWNlIGFuZCBhbGwgZGV2aWNlcyBmb3IgWEdNSQ0KPj4g KyAgICAgKiBoaXZlIHNvIHRoYXQgc2hvdWxkIHRha2UgY2FyZSBvZiB0aGVtIHRvby4NCj4+ICAg ICAgICAqLw0KPj4gLSAgICBoaXZlID0gYW1kZ3B1X2dldF94Z21pX2hpdmUoYWRldiwgMCk7DQo+ PiAtICAgIGlmIChoaXZlICYmIGFkZXYtPmdtYy54Z21pLm51bV9waHlzaWNhbF9ub2RlcyA+IDEg JiYNCj4+IC0gICAgICAgICFtdXRleF90cnlsb2NrKCZoaXZlLT5yZXNldF9sb2NrKSkNCj4+ICsN Cj4+ICsgICAgaWYgKGhpdmUgJiYgIW11dGV4X3RyeWxvY2soJmhpdmUtPnJlc2V0X2xvY2spKSB7 DQo+PiArICAgICAgICAgICAgRFJNX0lORk8oIkJhaWxpbmcgb24gVERSIGZvciBzX2pvYjolbGx4 LCBoaXZlOiAlbGx4IGFzIGFub3RoZXIgYWxyZWFkeSBpbiBwcm9ncmVzcyIsDQo+PiArICAgICAg ICAgICAgICAgICAgICAgam9iLT5iYXNlLmlkLCBoaXZlLT5oaXZlX2lkKTsNCj4+ICAgICAgICAg ICAgICAgcmV0dXJuIDA7DQo+PiArICAgIH0NCj4+DQo+PiAgICAgICAvKiBTdGFydCB3aXRoIGFk ZXYgcHJlIGFzaWMgcmVzZXQgZmlyc3QgZm9yIHNvZnQgcmVzZXQgY2hlY2suKi8NCj4+IC0gICAg YW1kZ3B1X2RldmljZV9sb2NrX2FkZXYoYWRldik7DQo+PiAtICAgIHIgPSBhbWRncHVfZGV2aWNl X3ByZV9hc2ljX3Jlc2V0KGFkZXYsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGpvYiwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5l ZWRfZnVsbF9yZXNldCk7DQo+PiAtICAgIGlmIChyKSB7DQo+PiAtICAgICAgICAgICAgLypUT0RP IFNob3VsZCB3ZSBzdG9wID8qLw0KPj4gLSAgICAgICAgICAgIERSTV9FUlJPUigiR1BVIHByZSBh c2ljIHJlc2V0IGZhaWxlZCB3aXRoIGVyciwgJWQgZm9yIGRybSBkZXYsICVzICIsDQo+PiAtICAg ICAgICAgICAgICAgICAgICAgIHIsIGFkZXYtPmRkZXYtPnVuaXF1ZSk7DQo+PiAtICAgICAgICAg ICAgYWRldi0+YXNpY19yZXNldF9yZXMgPSByOw0KPj4gKyAgICBpZiAoIWFtZGdwdV9kZXZpY2Vf bG9ja19hZGV2KGFkZXYsICFoaXZlKSkgew0KPj4gKyAgICAgICAgICAgIERSTV9JTkZPKCJCYWls aW5nIG9uIFREUiBmb3Igc19qb2I6JWxseCwgYXMgYW5vdGhlciBhbHJlYWR5IGluIHByb2dyZXNz IiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgam9iLT5iYXNlLmlk KTsNCj4+ICsgICAgICAgICAgICByZXR1cm4gMDsNCj4+ICAgICAgIH0NCj4+DQo+PiAgICAgICAv KiBCdWlsZCBsaXN0IG9mIGRldmljZXMgdG8gcmVzZXQgKi8NCj4+IC0gICAgaWYgIChuZWVkX2Z1 bGxfcmVzZXQgJiYgYWRldi0+Z21jLnhnbWkubnVtX3BoeXNpY2FsX25vZGVzID4gMSkgew0KPj4g KyAgICBpZiAgKGFkZXYtPmdtYy54Z21pLm51bV9waHlzaWNhbF9ub2RlcyA+IDEpIHsNCj4+ICAg ICAgICAgICAgICAgaWYgKCFoaXZlKSB7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgYW1kZ3B1 X2RldmljZV91bmxvY2tfYWRldihhZGV2KTsNCj4+ICAgICAgICAgICAgICAgICAgICAgICByZXR1 cm4gLUVOT0RFVjsNCj4+IEBAIC0zNTg4LDEzICszNTczLDU2IEBAIGludCBhbWRncHVfZGV2aWNl X2dwdV9yZWNvdmVyKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KPj4gICAgICAgICAgICAg ICBkZXZpY2VfbGlzdF9oYW5kbGUgPSAmZGV2aWNlX2xpc3Q7DQo+PiAgICAgICB9DQo+Pg0KPj4g KyAgICAvKiBibG9jayBhbGwgc2NoZWR1bGVycyBhbmQgcmVzZXQgZ2l2ZW4gam9iJ3MgcmluZyAq Lw0KPj4gKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KHRtcF9hZGV2LCBkZXZpY2VfbGlzdF9oYW5k bGUsIGdtYy54Z21pLmhlYWQpIHsNCj4+ICsgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgQU1E R1BVX01BWF9SSU5HUzsgKytpKSB7DQo+PiArICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYW1k Z3B1X3JpbmcgKnJpbmcgPSB0bXBfYWRldi0+cmluZ3NbaV07DQo+PiArDQo+PiArICAgICAgICAg ICAgICAgICAgICBpZiAoIXJpbmcgfHwgIXJpbmctPnNjaGVkLnRocmVhZCkNCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQo+PiArDQo+PiArICAgICAgICAgICAgICAg ICAgICBkcm1fc2NoZWRfc3RvcCgmcmluZy0+c2NoZWQsICZqb2ItPmJhc2UpOw0KPj4gKyAgICAg ICAgICAgIH0NCj4+ICsgICAgfQ0KPj4gKw0KPj4gKw0KPj4gKyAgICAvKg0KPj4gKyAgICAgKiBN dXN0IGNoZWNrIGd1aWx0eSBzaWduYWwgaGVyZSBzaW5jZSBhZnRlciB0aGlzIHBvaW50IGFsbCBv bGQNCj4+ICsgICAgICogSFcgZmVuY2VzIGFyZSBmb3JjZSBzaWduYWxlZC4NCj4+ICsgICAgICoN Cj4+ICsgICAgICogam9iLT5iYXNlIGhvbGRzIGEgcmVmZXJlbmNlIHRvIHBhcmVudCBmZW5jZQ0K Pj4gKyAgICAgKi8NCj4+ICsgICAgaWYgKGpvYiAmJiBqb2ItPmJhc2Uuc19mZW5jZS0+cGFyZW50 ICYmDQo+PiArICAgICAgICBkbWFfZmVuY2VfaXNfc2lnbmFsZWQoam9iLT5iYXNlLnNfZmVuY2Ut PnBhcmVudCkpDQo+PiArICAgICAgICAgICAgam9iX3NpZ25hbGVkID0gdHJ1ZTsNCj4+ICsNCj4+ ICsgICAgaWYgKCFhbWRncHVfZGV2aWNlX2lwX25lZWRfZnVsbF9yZXNldChhZGV2KSkNCj4+ICsg ICAgICAgICAgICBkZXZpY2VfbGlzdF9oYW5kbGUgPSAmZGV2aWNlX2xpc3Q7DQo+PiArDQo+PiAr ICAgIGlmIChqb2Jfc2lnbmFsZWQpIHsNCj4+ICsgICAgICAgICAgICBkZXZfaW5mbyhhZGV2LT5k ZXYsICJHdWlsdHkgam9iIGFscmVhZHkgc2lnbmFsZWQsIHNraXBwaW5nIEhXIHJlc2V0Iik7DQo+ PiArICAgICAgICAgICAgZ290byBza2lwX2h3X3Jlc2V0Ow0KPj4gKyAgICB9DQo+PiArDQo+PiAr DQo+PiArICAgIC8qIEd1aWx0eSBqb2Igd2lsbCBiZSBmcmVlZCBhZnRlciB0aGlzKi8NCj4+ICsg ICAgciA9IGFtZGdwdV9kZXZpY2VfcHJlX2FzaWNfcmVzZXQoYWRldiwNCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgam9iLA0KPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmbmVlZF9mdWxsX3Jlc2V0KTsNCj4+ICsgICAgaWYgKHIpIHsNCj4+ ICsgICAgICAgICAgICAvKlRPRE8gU2hvdWxkIHdlIHN0b3AgPyovDQo+PiArICAgICAgICAgICAg RFJNX0VSUk9SKCJHUFUgcHJlIGFzaWMgcmVzZXQgZmFpbGVkIHdpdGggZXJyLCAlZCBmb3IgZHJt IGRldiwgJXMgIiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgciwgYWRldi0+ZGRldi0+dW5p cXVlKTsNCj4+ICsgICAgICAgICAgICBhZGV2LT5hc2ljX3Jlc2V0X3JlcyA9IHI7DQo+PiArICAg IH0NCj4+ICsNCj4+ICAgIHJldHJ5OiAgICAvKiBSZXN0IG9mIGFkZXZzIHByZSBhc2ljIHJlc2V0 IGZyb20gWEdNSSBoaXZlLiAqLw0KPj4gICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSh0bXBfYWRl diwgZGV2aWNlX2xpc3RfaGFuZGxlLCBnbWMueGdtaS5oZWFkKSB7DQo+Pg0KPj4gICAgICAgICAg ICAgICBpZiAodG1wX2FkZXYgPT0gYWRldikNCj4+ICAgICAgICAgICAgICAgICAgICAgICBjb250 aW51ZTsNCj4+DQo+PiAtICAgICAgICAgICAgYW1kZ3B1X2RldmljZV9sb2NrX2FkZXYodG1wX2Fk ZXYpOw0KPj4gKyAgICAgICAgICAgIGFtZGdwdV9kZXZpY2VfbG9ja19hZGV2KHRtcF9hZGV2LCBm YWxzZSk7DQo+PiAgICAgICAgICAgICAgIHIgPSBhbWRncHVfZGV2aWNlX3ByZV9hc2ljX3Jlc2V0 KHRtcF9hZGV2LA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOVUxMLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmbmVlZF9mdWxsX3Jlc2V0KTsNCj4+IEBAIC0zNjE4LDkgKzM2NDYsMjggQEAgaW50IGFt ZGdwdV9kZXZpY2VfZ3B1X3JlY292ZXIoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQo+PiAg ICAgICAgICAgICAgICAgICAgICAgZ290byByZXRyeTsNCj4+ICAgICAgIH0NCj4+DQo+PiArc2tp cF9od19yZXNldDoNCj4+ICsNCj4+ICAgICAgIC8qIFBvc3QgQVNJQyByZXNldCBmb3IgYWxsIGRl dnMgLiovDQo+PiAgICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KHRtcF9hZGV2LCBkZXZpY2VfbGlz dF9oYW5kbGUsIGdtYy54Z21pLmhlYWQpIHsNCj4+IC0gICAgICAgICAgICBhbWRncHVfZGV2aWNl X3Bvc3RfYXNpY19yZXNldCh0bXBfYWRldik7DQo+PiArICAgICAgICAgICAgZm9yIChpID0gMDsg aSA8IEFNREdQVV9NQVhfUklOR1M7ICsraSkgew0KPj4gKyAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGFtZGdwdV9yaW5nICpyaW5nID0gdG1wX2FkZXYtPnJpbmdzW2ldOw0KPj4gKw0KPj4gKyAg ICAgICAgICAgICAgICAgICAgaWYgKCFyaW5nIHx8ICFyaW5nLT5zY2hlZC50aHJlYWQpDQo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPj4gKw0KPj4gKyAgICAgICAg ICAgICAgICAgICAgLyogTm8gcG9pbnQgdG8gcmVzdWJtaXQgam9icyBpZiB3ZSBkaWRuJ3QgSFcg cmVzZXQqLw0KPj4gKyAgICAgICAgICAgICAgICAgICAgaWYgKCF0bXBfYWRldi0+YXNpY19yZXNl dF9yZXMgJiYgIWpvYl9zaWduYWxlZCkNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZHJtX3NjaGVkX3Jlc3VibWl0X2pvYnMoJnJpbmctPnNjaGVkKTsNCj4+ICsNCj4+ICsgICAgICAg ICAgICAgICAgICAgIGRybV9zY2hlZF9zdGFydCgmcmluZy0+c2NoZWQsICF0bXBfYWRldi0+YXNp Y19yZXNldF9yZXMpOw0KPj4gKyAgICAgICAgICAgIH0NCj4+ICsNCj4+ICsgICAgICAgICAgICBp ZiAoIWFtZGdwdV9kZXZpY2VfaGFzX2RjX3N1cHBvcnQodG1wX2FkZXYpICYmICFqb2Jfc2lnbmFs ZWQpIHsNCj4+ICsgICAgICAgICAgICAgICAgICAgIGRybV9oZWxwZXJfcmVzdW1lX2ZvcmNlX21v ZGUodG1wX2FkZXYtPmRkZXYpOw0KPj4gKyAgICAgICAgICAgIH0NCj4+ICsNCj4+ICsgICAgICAg ICAgICB0bXBfYWRldi0+YXNpY19yZXNldF9yZXMgPSAwOw0KPj4NCj4+ICAgICAgICAgICAgICAg aWYgKHIpIHsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAvKiBiYWQgbmV3cywgaG93IHRvIHRl bGwgaXQgdG8gdXNlcnNwYWNlID8gKi8NCj4+IEBAIC0zNjMzLDcgKzM2ODAsNyBAQCBpbnQgYW1k Z3B1X2RldmljZV9ncHVfcmVjb3ZlcihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwNCj4+ICAg ICAgICAgICAgICAgYW1kZ3B1X2RldmljZV91bmxvY2tfYWRldih0bXBfYWRldik7DQo+PiAgICAg ICB9DQo+Pg0KPj4gLSAgICBpZiAoaGl2ZSAmJiBhZGV2LT5nbWMueGdtaS5udW1fcGh5c2ljYWxf bm9kZXMgPiAxKQ0KPj4gKyAgICBpZiAoaGl2ZSkNCj4+ICAgICAgICAgICAgICAgbXV0ZXhfdW5s b2NrKCZoaXZlLT5yZXNldF9sb2NrKTsNCj4+DQo+PiAgICAgICBpZiAocikNCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQphbWQtZ2Z4IG1haWxpbmcgbGlz dA0KYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc8bWFpbHRvOmFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnPg0KaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9hbWQtZ2Z4DQo= --_000_571a119a170ad1ba687031807e0f7016amdcom_ Content-Type: text/html; charset="utf-8" Content-ID: <765C43A4F15324418A5C575FD1E39401-asWib9pRmPqcE4WynfumptQqCkab/8FMAL8bYrjMMd8@public.gmane.org> Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHRleHQ9IiMwMDAwMDAi IGJnY29sb3I9IiNGRkZGRkYiPg0KPHA+Tm8sIGkgbWVhbiB0aGUgYWN0dWFsIEhXIGZlbmNlIHdo aWNoIHNpZ25hbHMgd2hlbiB0aGUgam9iIGZpbmlzaGVkIGV4ZWN1dGlvbiBvbiB0aGUgSFcuPC9w Pg0KPHA+QW5kcmV5PGJyPg0KPC9wPg0KPGRpdiBjbGFzcz0ibW96LWNpdGUtcHJlZml4Ij5PbiA0 LzIzLzE5IDExOjE5IEFNLCBaaG91LCBEYXZpZChDaHVuTWluZykgd3JvdGU6PGJyPg0KPC9kaXY+ DQo8YmxvY2txdW90ZSB0eXBlPSJjaXRlIiBjaXRlPSJtaWQ6LWh5djVnMG44cnUyNXFlbGIwdi04 dTZqZGkxdnAyYzd6MW0zZjUtdXlnd2MxbzVqaTZzLTl6bGk5di1zcnJldWstM3B2c2UxZW42a3gw LTZzZTk1bC02anNhZmQtYTZzYm9pLWo4MTR4Zi1pamd3ZmMtcWV3Z21tLXZuYWZqZ3JuMmZxMC1q Z2lyOTQ5aHg0eW8taTc3Mmh6LXRuN2lhbC4xNTU2MDMyNzM2NTM2QGVtYWlsLmFuZHJvaWQuY29t Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iTWljcm9zb2Z0IEV4Y2hhbmdlIFNl cnZlciI+DQo8IS0tIGNvbnZlcnRlZCBmcm9tIHRleHQgLS0+PHN0eWxlPjwhLS0gLkVtYWlsUXVv dGUgeyBtYXJnaW4tbGVmdDogMXB0OyBwYWRkaW5nLWxlZnQ6IDRwdDsgYm9yZGVyLWxlZnQ6ICM4 MDAwMDAgMnB4IHNvbGlkOyB9IC0tPjwvc3R5bGU+DQo8ZGl2PmRvIHlvdSBtZWFuIGZlbmNlIHRp bWVyPyB3aHkgbm90IHN0b3AgaXQgYXMgd2VsbCB3aGVuIHN0b3BwaW5nIHNjaGVkIGZvciB0aGUg cmVhc29uIG9mIGh3IHJlc2V0Pzxicj4NCjxicj4NCi0tLS0tLS0tIE9yaWdpbmFsIE1lc3NhZ2Ug LS0tLS0tLS08YnI+DQpTdWJqZWN0OiBSZTogW1BBVENIIHY1IDYvNl0gZHJtL2FtZGdwdTogQXZv aWQgSFcgcmVzZXQgaWYgZ3VpbHR5IGpvYiBhbHJlYWR5IHNpZ25hbGVkLjxicj4NCkZyb206ICZx dW90O0dyb2R6b3Zza3ksIEFuZHJleSZxdW90OyA8YnI+DQpUbzogJnF1b3Q7WmhvdSwgRGF2aWQo Q2h1bk1pbmcpJnF1b3Q7ICw8YSBjbGFzcz0ibW96LXR4dC1saW5rLWFiYnJldmlhdGVkIiBocmVm PSJtYWlsdG86ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZyxhbWQtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZyxlcmljQGFuaG9sdC5uZXQsZXRuYXZpdkBsaXN0cy5mcmVlZGVza3RvcC5v cmcsY2tvZW5pZy5sZWljaHR6dW1lcmtlbkBnbWFpbC5jb20iPmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcsYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcsZXJpY0BhbmhvbHQubmV0 LGV0bmF2aXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnLGNrb2VuaWcubGVpY2h0enVtZXJrZW5AZ21h aWwuY29tPC9hPjxicj4NCkNDOiAmcXVvdDtLYXpsYXVza2FzLCBOaWNob2xhcyZxdW90OyAsJnF1 b3Q7TGl1LCBNb25rJnF1b3Q7IDxicj4NCjxicj4NCjwvZGl2Pg0KPGZvbnQgc2l6ZT0iMiI+PHNw YW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0OyI+DQo8ZGl2IGNsYXNzPSJQbGFpblRleHQiPjxicj4N Ck9uIDQvMjIvMTkgOTowOSBBTSwgWmhvdSwgRGF2aWQoQ2h1bk1pbmcpIHdyb3RlOjxicj4NCiZn dDsgJiM0MztNb25rLjxicj4NCiZndDs8YnI+DQomZ3Q7IEdQVSByZXNldCBpcyB1c2VkIHdpZGVs eSBpbiBTUklPViwgc28gbmVlZCB2aXJ0dWxpemF0aW5vIGd1eSB0YWtlIGEgbG9vay48YnI+DQom Z3Q7PGJyPg0KJmd0OyBCdXQgb3V0IG9mIGN1cmlvdXMsIHdoeSBndWlsdHkgam9iIGNhbiBzaWdu YWwgbW9yZSBpZiB0aGUgam9iIGlzIGFscmVhZHk8YnI+DQomZ3Q7IHNldCB0byBndWlsdHk/IHNl dCBpdCB3cm9uZ2x5Pzxicj4NCiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0OyAtRGF2aWQ8YnI+DQo8 YnI+DQo8YnI+DQpJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIGpvYiBkb2VzIGNvbXBsZXRlcyBhdCBh IGxhdGVyIHRpbWUgdGhlbiBpdCdzIDxicj4NCnRpbWVvdXQgaGFuZGxlciBzdGFydGVkIHByb2Nl c3Npbmcgc28gaW4gdGhpcyBwYXRjaCB3ZSB0cnkgdG8gcHJvdGVjdCA8YnI+DQphZ2FpbnN0IHRo aXMgYnkgcmVjaGVja2luZyB0aGUgSFcgZmVuY2UgYWZ0ZXIgc3RvcHBpbmcgYWxsIFNXIDxicj4N CnNjaGVkdWxlcnMuIFdlIGRvIGl0IEJFRk9SRSBtYXJraW5nIGd1aWx0eSBvbiB0aGUgam9iJ3Mg c2NoZWRfZW50aXR5IHNvIDxicj4NCmF0IHRoZSBwb2ludCB3ZSBjaGVjayB0aGUgZ3VpbHR5IGZs YWcgaXMgbm90IHNldCB5ZXQuPGJyPg0KPGJyPg0KQW5kcmV5PGJyPg0KPGJyPg0KPGJyPg0KJmd0 Ozxicj4NCiZndDsg5ZyoIDIwMTkvNC8xOCAyMzowMCwgQW5kcmV5IEdyb2R6b3Zza3kg5YaZ6YGT Ojxicj4NCiZndDsmZ3Q7IEFsc28gcmVqZWN0IFREUnMgaWYgYW5vdGhlciBvbmUgYWxyZWFkeSBy dW5uaW5nLjxicj4NCiZndDsmZ3Q7PGJyPg0KJmd0OyZndDsgdjI6PGJyPg0KJmd0OyZndDsgU3Rv cCBhbGwgc2NoZWR1bGVycyBhY3Jvc3MgZGV2aWNlIGFuZCBlbnRpcmUgWEdNSSBoaXZlIGJlZm9y ZTxicj4NCiZndDsmZ3Q7IGZvcmNlIHNpZ25hbGluZyBIVyBmZW5jZXMuPGJyPg0KJmd0OyZndDsg QXZvaWQgcGFzc2luZyBqb2Jfc2lnbmFsZWQgdG8gaGVscGVyIGZuY3Rpb25zIHRvIGtlZXAgYWxs IHRoZSBkZWNpc2lvbjxicj4NCiZndDsmZ3Q7IG1ha2luZyBhYm91dCBza2lwcGluZyBIVyByZXNl dCBpbiBvbmUgcGxhY2UuPGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyB2Mzo8YnI+DQomZ3Q7 Jmd0OyBGaXggU1cgc2NoZWQuIGhhbmcgYWZ0ZXIgbm9uIEhXIHJlc2V0LiBzY2hlZC5od19ycV9j b3VudCBoYXMgdG8gYmUgYmFsYW5jZWQ8YnI+DQomZ3Q7Jmd0OyBhZ2FpbnN0IGl0J3MgZGVjcmVt ZW50IGluIGRybV9zY2hlZF9zdG9wIGluIG5vbiBIVyByZXNldCBjYXNlLjxicj4NCiZndDsmZ3Q7 IHY0OiByZWJhc2U8YnI+DQomZ3Q7Jmd0OyB2NTogUmV2ZXJ0IHYzIGFzIHdlIGRvIGl0IG5vdyBp biBzY2VkdWxlciBjb2RlLjxicj4NCiZndDsmZ3Q7PGJyPg0KJmd0OyZndDsgU2lnbmVkLW9mZi1i eTogQW5kcmV5IEdyb2R6b3Zza3kgPGEgY2xhc3M9Im1vei10eHQtbGluay1yZmMyMzk2RSIgaHJl Zj0ibWFpbHRvOmFuZHJleS5ncm9kem92c2t5QGFtZC5jb20iPg0KJmx0O2FuZHJleS5ncm9kem92 c2t5QGFtZC5jb20mZ3Q7PC9hPjxicj4NCiZndDsmZ3Q7IC0tLTxicj4NCiZndDsmZ3Q7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYyB8 IDE0MyAmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYj NDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOy0tLS0tLS0tLS08YnI+ DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyAxIGZpbGUgY2hhbmdlZCwgOTUgaW5zZXJ0aW9u cygmIzQzOyksIDQ4IGRlbGV0aW9ucygtKTxicj4NCiZndDsmZ3Q7PGJyPg0KJmd0OyZndDsgZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYzxicj4NCiZndDsmZ3Q7IGlu ZGV4IGEwZTE2NWMuLjg1Zjg3OTIgMTAwNjQ0PGJyPg0KJmd0OyZndDsgLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jPGJyPg0KJmd0OyZndDsgJiM0MzsmIzQz OyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jPGJyPg0K Jmd0OyZndDsgQEAgLTMzMzQsOCAmIzQzOzMzMzQsNiBAQCBzdGF0aWMgaW50IGFtZGdwdV9kZXZp Y2VfcHJlX2FzaWNfcmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsPGJyPg0KJmd0OyZn dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKCFyaW5nIHx8ICFyaW5nLSZndDtzY2hl ZC50aHJlYWQpPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgY29udGludWU7PGJyPg0K Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkcm1f c2NoZWRfc3RvcCgmYW1wO3JpbmctJmd0O3NjaGVkLCAmYW1wO2pvYi0mZ3Q7YmFzZSk7PGJyPg0K Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIGFm dGVyIGFsbCBodyBqb2JzIGFyZSByZXNldCwgaHcgZmVuY2UgaXMgbWVhbmluZ2xlc3MsIHNvIGZv cmNlX2NvbXBsZXRpb24gKi88YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBhbWRncHVfZmVuY2VfZHJpdmVyX2ZvcmNlX2NvbXBsZXRpb24ocmluZyk7PGJyPg0KJmd0OyZn dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7IEBA IC0zMzQzLDYgJiM0MzszMzQxLDcgQEAgc3RhdGljIGludCBhbWRncHVfZGV2aWNlX3ByZV9hc2lj X3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmKGpvYik8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBkcm1fc2NoZWRfaW5jcmVhc2Vfa2FybWEoJmFtcDtqb2ItJmd0 O2Jhc2UpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7ICYj NDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIERvbid0IHN1c3BlbmQgb24gYmFyZSBtZXRhbCBpZiB3 ZSBhcmUgbm90IGdvaW5nIHRvIEhXIHJlc2V0IHRoZSBBU0lDICovPGJyPg0KJmd0OyZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKCFhbWRncHVfc3Jpb3ZfdmYoYWRl dikpIHs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+DQomZ3Q7Jmd0OyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoIW5lZWRfZnVsbF9yZXNldCk8YnI+DQomZ3Q7Jmd0 OyBAQCAtMzQ4MCwzNyAmIzQzOzM0NzksMjEgQEAgc3RhdGljIGludCBhbWRncHVfZG9fYXNpY19y ZXNldChzdHJ1Y3QgYW1kZ3B1X2hpdmVfaW5mbyAqaGl2ZSw8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gcjs8YnI+DQomZ3Q7Jmd0OyZuYnNw OyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0 OyZndDsgLXN0YXRpYyB2b2lkIGFtZGdwdV9kZXZpY2VfcG9zdF9hc2ljX3Jlc2V0KHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2KTxicj4NCiZndDsmZ3Q7ICYjNDM7c3RhdGljIGJvb2wgYW1kZ3B1 X2RldmljZV9sb2NrX2FkZXYoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGJvb2wgdHJ5bG9j ayk8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyB7PGJyPg0KJmd0OyZndDsgLSZuYnNw OyZuYnNwOyZuYnNwOyBpbnQgaTs8YnI+DQomZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsgLSZuYnNw OyZuYnNwOyZuYnNwOyBmb3IgKGkgPSAwOyBpICZsdDsgQU1ER1BVX01BWF9SSU5HUzsgJiM0Mzsm IzQzO2kpIHs8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVjdCBhbWRncHVfcmluZyAqcmlu ZyA9IGFkZXYtJmd0O3JpbmdzW2ldOzxicj4NCiZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyAtJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGlmICghcmluZyB8fCAhcmluZy0mZ3Q7c2NoZWQudGhyZWFkKTxicj4NCiZndDsmZ3Q7 IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgY29udGludWU7PGJyPg0KJmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYg KCFhZGV2LSZndDthc2ljX3Jlc2V0X3Jlcyk8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRybV9zY2hlZF9yZXN1 Ym1pdF9qb2JzKCZhbXA7cmluZy0mZ3Q7c2NoZWQpOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IGlmICh0cnlsb2NrKSB7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg aWYgKCFtdXRleF90cnlsb2NrKCZhbXA7YWRldi0mZ3Q7bG9ja19yZXNldCkpPGJyPg0KJmd0OyZn dDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgcmV0dXJuIGZhbHNlOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5i c3A7IH0gZWxzZTxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IG11dGV4X2xvY2soJmFtcDth ZGV2LSZndDtsb2NrX3Jlc2V0KTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+ DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRybV9zY2hlZF9zdGFydCgmYW1wO3JpbmctJmd0O3NjaGVk LCAhYWRldi0mZ3Q7YXNpY19yZXNldF9yZXMpOzxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsm bmJzcDsgfTxicj4NCiZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7 IGlmICghYW1kZ3B1X2RldmljZV9oYXNfZGNfc3VwcG9ydChhZGV2KSkgezxicj4NCiZndDsmZ3Q7 IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgZHJtX2hlbHBlcl9yZXN1bWVfZm9yY2VfbW9kZShhZGV2LSZndDtkZGV2KTs8 YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyAtPGJyPg0K Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBhZGV2LSZndDthc2ljX3Jlc2V0X3JlcyA9IDA7 PGJyPg0KJmd0OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsgLXN0YXRpYyB2 b2lkIGFtZGdwdV9kZXZpY2VfbG9ja19hZGV2KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTxi cj4NCiZndDsmZ3Q7IC17PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBtdXRleF9s b2NrKCZhbXA7YWRldi0mZ3Q7bG9ja19yZXNldCk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYXRvbWljX2luYygmYW1wO2FkZXYtJmd0O2dwdV9yZXNl dF9jb3VudGVyKTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBhZGV2LSZndDtpbl9ncHVfcmVzZXQgPSAxOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIEJsb2NrIGtmZDogU1JJT1Ygd291bGQgZG8gaXQg c2VwYXJhdGVseSAqLzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGlmICghYW1kZ3B1X3NyaW92X3ZmKGFkZXYpKTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGFtZGdwdV9h bWRrZmRfcHJlX3Jlc2V0KGFkZXYpOzxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsg JiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIHRydWU7PGJyPg0KJmd0OyZndDsmbmJzcDsm bmJzcDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0YXRpYyB2b2lkIGFtZGdwdV9kZXZpY2VfdW5sb2NrX2Fk ZXYoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpPGJyPg0KJmd0OyZndDsgQEAgLTM1MzgsNDAg JiM0MzszNTIxLDQyIEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9kZXZpY2VfdW5sb2NrX2FkZXYoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsg aW50IGFtZGdwdV9kZXZpY2VfZ3B1X3JlY292ZXIoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgc3RydWN0IGFtZGdwdV9qb2IgKmpvYik8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZu YnNwOyZuYnNwOyB7PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBpbnQgcjs8YnI+ DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgbGlzdF9oZWFkIGRldmlj ZV9saXN0LCAqZGV2aWNlX2xpc3RfaGFuZGxlID0mbmJzcDsgTlVMTDs8YnI+DQomZ3Q7Jmd0OyAm IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyBib29sIG5lZWRfZnVsbF9yZXNldCwgam9iX3NpZ25hbGVk Ozxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVj dCBhbWRncHVfaGl2ZV9pbmZvICpoaXZlID0gTlVMTDs8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5i c3A7Jm5ic3A7IGJvb2wgbmVlZF9mdWxsX3Jlc2V0ID0gZmFsc2U7PGJyPg0KJmd0OyZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RydWN0IGFtZGdwdV9kZXZpY2UgKnRt cF9hZGV2ID0gTlVMTDs8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVjdCBs aXN0X2hlYWQgZGV2aWNlX2xpc3QsICpkZXZpY2VfbGlzdF9oYW5kbGUgPSZuYnNwOyBOVUxMOzxi cj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGludCBpLCByID0gMDs8YnI+DQom Z3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNw OyZuYnNwOyBuZWVkX2Z1bGxfcmVzZXQgPSBqb2Jfc2lnbmFsZWQgPSBmYWxzZTs8YnI+DQomZ3Q7 Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBJTklUX0xJU1RfSEVBRCgm YW1wO2RldmljZV9saXN0KTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+DQom Z3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkZXZfaW5mbyhhZGV2 LSZndDtkZXYsICZxdW90O0dQVSByZXNldCBiZWdpbiFcbiZxdW90Oyk7PGJyPg0KJmd0OyZndDsm bmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsg aGl2ZSA9IGFtZGdwdV9nZXRfeGdtaV9oaXZlKGFkZXYsIGZhbHNlKTs8YnI+DQomZ3Q7Jmd0OyAm IzQzOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8q PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqIEluIGNhc2Ugb2YgWEdN SSBoaXZlIGRpc2FsbG93IGNvbmN1cnJlbnQgcmVzZXRzIHRvIGJlIHRyaWdnZXJlZDxicj4NCiZn dDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBieSBkaWZmZXJlbnQgbm9kZXMuIE5v IHBvaW50IGFsc28gc2luY2UgdGhlIG9uZSBub2RlIGFscmVhZHkgZXhlY3V0aW5nPGJyPg0KJmd0 OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqIHJlc2V0IHdpbGwgYWxzbyByZXNldCBh bGwgdGhlIG90aGVyIG5vZGVzIGluIHRoZSBoaXZlLjxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7ICogSGVyZSB3ZSB0cnlsb2NrIHRvIGF2b2lkIGNoYWluIG9mIHJl c2V0cyBleGVjdXRpbmcgZnJvbTxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7ICogZWl0aGVyIHRyaWdnZXIgYnkgam9icyBvbiBkaWZmZXJlbnQgYWRldnMgaW4gWEdN SSBoaXZlIG9yIGpvYnMgb248YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyAqIGRpZmZlcmVudCBzY2hlZHVsZXJzIGZvciBzYW1lIGRldmljZSB3aGlsZSB0aGlzIFRP IGhhbmRsZXIgaXMgcnVubmluZy48YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyAqIFdlIGFsd2F5cyByZXNldCBhbGwgc2NoZWR1bGVycyBmb3IgZGV2aWNlIGFuZCBh bGwgZGV2aWNlcyBmb3IgWEdNSTxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7ICogaGl2ZSBzbyB0aGF0IHNob3VsZCB0YWtlIGNhcmUgb2YgdGhlbSB0b28uPGJyPg0K Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKi88YnI+ DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IGhpdmUgPSBhbWRncHVfZ2V0X3hnbWlfaGl2 ZShhZGV2LCAwKTs8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChoaXZlICZh bXA7JmFtcDsgYWRldi0mZ3Q7Z21jLnhnbWkubnVtX3BoeXNpY2FsX25vZGVzICZndDsgMSAmYW1w OyZhbXA7PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyAhbXV0ZXhfdHJ5bG9jaygmYW1wO2hpdmUtJmd0O3Jlc2V0X2xvY2spKTxicj4NCiZn dDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKGhp dmUgJmFtcDsmYW1wOyAhbXV0ZXhfdHJ5bG9jaygmYW1wO2hpdmUtJmd0O3Jlc2V0X2xvY2spKSB7 PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgRFJNX0lORk8oJnF1b3Q7QmFpbGluZyBvbiBU RFIgZm9yIHNfam9iOiVsbHgsIGhpdmU6ICVsbHggYXMgYW5vdGhlciBhbHJlYWR5IGluIHByb2dy ZXNzJnF1b3Q7LDxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGpvYi0mZ3Q7YmFzZS5pZCwgaGl2 ZS0mZ3Q7aGl2ZV9pZCk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg cmV0dXJuIDA7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4NCiZn dDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIFN0YXJ0IHdpdGggYWRldiBwcmUgYXNpYyByZXNldCBmaXJz dCBmb3Igc29mdCByZXNldCBjaGVjay4qLzxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJz cDsgYW1kZ3B1X2RldmljZV9sb2NrX2FkZXYoYWRldik7PGJyPg0KJmd0OyZndDsgLSZuYnNwOyZu YnNwOyZuYnNwOyByID0gYW1kZ3B1X2RldmljZV9wcmVfYXNpY19yZXNldChhZGV2LDxicj4NCiZn dDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgam9i LDxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgJmFtcDtuZWVkX2Z1bGxfcmVzZXQpOzxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsm bmJzcDsgaWYgKHIpIHs8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qVE9ETyBTaG91bGQgd2Ug c3RvcCA/Ki88YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IERSTV9FUlJPUigmcXVvdDtHUFUgcHJl IGFzaWMgcmVzZXQgZmFpbGVkIHdpdGggZXJyLCAlZCBmb3IgZHJtIGRldiwgJXMgJnF1b3Q7LDxi cj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgciwgYWRldi0mZ3Q7ZGRldi0mZ3Q7dW5pcXVlKTs8 YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGFkZXYtJmd0O2FzaWNfcmVzZXRfcmVzID0gcjs8YnI+ DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoIWFtZGdwdV9kZXZpY2VfbG9j a19hZGV2KGFkZXYsICFoaXZlKSkgezxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IERSTV9J TkZPKCZxdW90O0JhaWxpbmcgb24gVERSIGZvciBzX2pvYjolbGx4LCBhcyBhbm90aGVyIGFscmVh ZHkgaW4gcHJvZ3Jlc3MmcXVvdDssPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgam9iLSZndDtiYXNlLmlkKTs8YnI+DQomZ3Q7 Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gMDs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsg PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogQnVp bGQgbGlzdCBvZiBkZXZpY2VzIHRvIHJlc2V0ICovPGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNw OyZuYnNwOyBpZiZuYnNwOyAobmVlZF9mdWxsX3Jlc2V0ICZhbXA7JmFtcDsgYWRldi0mZ3Q7Z21j LnhnbWkubnVtX3BoeXNpY2FsX25vZGVzICZndDsgMSkgezxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5i c3A7Jm5ic3A7Jm5ic3A7IGlmJm5ic3A7IChhZGV2LSZndDtnbWMueGdtaS5udW1fcGh5c2ljYWxf bm9kZXMgJmd0OyAxKSB7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg aWYgKCFoaXZlKSB7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYW1kZ3B1X2Rldmlj ZV91bmxvY2tfYWRldihhZGV2KTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1 cm4gLUVOT0RFVjs8YnI+DQomZ3Q7Jmd0OyBAQCAtMzU4OCwxMyAmIzQzOzM1NzMsNTYgQEAgaW50 IGFtZGdwdV9kZXZpY2VfZ3B1X3JlY292ZXIoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsPGJy Pg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGV2aWNlX2xpc3RfaGFuZGxl ID0gJmFtcDtkZXZpY2VfbGlzdDs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0 OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgLyogYmxvY2sgYWxsIHNjaGVkdWxlcnMgYW5k IHJlc2V0IGdpdmVuIGpvYidzIHJpbmcgKi88YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNw OyZuYnNwOyBsaXN0X2Zvcl9lYWNoX2VudHJ5KHRtcF9hZGV2LCBkZXZpY2VfbGlzdF9oYW5kbGUs IGdtYy54Z21pLmhlYWQpIHs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBmb3IgKGkgPSAw OyBpICZsdDsgQU1ER1BVX01BWF9SSU5HUzsgJiM0MzsmIzQzO2kpIHs8YnI+DQomZ3Q7Jmd0OyAm IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcgPSB0bXBfYWRldi0mZ3Q7cmluZ3NbaV07PGJy Pg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoIXJpbmcgfHwgIXJpbmct Jmd0O3NjaGVkLnRocmVhZCk8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjb250aW51ZTs8YnI+DQomZ3Q7Jmd0OyAmIzQz Ozxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRybV9zY2hlZF9zdG9wKCZhbXA7cmluZy0mZ3Q7c2NoZWQs ICZhbXA7am9iLSZndDtiYXNlKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0K Jmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7ICYjNDM7PGJy Pg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyAv Kjxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICogTXVzdCBjaGVj ayBndWlsdHkgc2lnbmFsIGhlcmUgc2luY2UgYWZ0ZXIgdGhpcyBwb2ludCBhbGwgb2xkPGJyPg0K Jmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBIVyBmZW5jZXMgYXJlIGZv cmNlIHNpZ25hbGVkLjxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 ICo8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqIGpvYi0mZ3Q7 YmFzZSBob2xkcyBhIHJlZmVyZW5jZSB0byBwYXJlbnQgZmVuY2U8YnI+DQomZ3Q7Jmd0OyAmIzQz OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqLzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5i c3A7Jm5ic3A7IGlmIChqb2IgJmFtcDsmYW1wOyBqb2ItJmd0O2Jhc2Uuc19mZW5jZS0mZ3Q7cGFy ZW50ICZhbXA7JmFtcDs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBkbWFfZmVuY2VfaXNfc2lnbmFsZWQoam9iLSZndDtiYXNlLnNf ZmVuY2UtJmd0O3BhcmVudCkpPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgam9iX3NpZ25h bGVkID0gdHJ1ZTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IGlmICghYW1kZ3B1X2RldmljZV9pcF9uZWVkX2Z1bGxfcmVzZXQoYWRldikp PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGV2aWNlX2xpc3RfaGFuZGxlID0gJmFtcDtk ZXZpY2VfbGlzdDs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IGlmIChqb2Jfc2lnbmFsZWQpIHs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBkZXZfaW5mbyhhZGV2LSZndDtkZXYsICZxdW90O0d1aWx0eSBqb2IgYWxyZWFkeSBzaWdu YWxlZCwgc2tpcHBpbmcgSFcgcmVzZXQmcXVvdDspOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IGdvdG8gc2tpcF9od19yZXNldDs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZu YnNwOyB9PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsm Z3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIEd1aWx0eSBqb2Igd2lsbCBiZSBmcmVlZCBh ZnRlciB0aGlzKi88YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyByID0gYW1k Z3B1X2RldmljZV9wcmVfYXNpY19yZXNldChhZGV2LDxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGpvYiw8YnI+DQomZ3Q7Jmd0 OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmYW1w O25lZWRfZnVsbF9yZXNldCk7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsg aWYgKHIpIHs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKlRPRE8gU2hvdWxkIHdlIHN0 b3AgPyovPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgRFJNX0VSUk9SKCZxdW90O0dQVSBw cmUgYXNpYyByZXNldCBmYWlsZWQgd2l0aCBlcnIsICVkIGZvciBkcm0gZGV2LCAlcyAmcXVvdDss PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgciwgYWRldi0mZ3Q7ZGRldi0mZ3Q7dW5p cXVlKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBhZGV2LSZndDthc2ljX3Jlc2V0X3Jl cyA9IHI7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4NCiZndDsm Z3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0cnk6Jm5ic3A7Jm5i c3A7Jm5ic3A7IC8qIFJlc3Qgb2YgYWRldnMgcHJlIGFzaWMgcmVzZXQgZnJvbSBYR01JIGhpdmUu ICovPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgbGlz dF9mb3JfZWFjaF9lbnRyeSh0bXBfYWRldiwgZGV2aWNlX2xpc3RfaGFuZGxlLCBnbWMueGdtaS5o ZWFkKSB7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKHRtcF9hZGV2ID09IGFkZXYpPGJyPg0KJmd0OyZn dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgY29udGludWU7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsm bmJzcDsgPGJyPg0KJmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBhbWRncHVfZGV2aWNlX2xvY2tfYWRldih0 bXBfYWRldik7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYW1kZ3B1X2RldmljZV9sb2Nr X2FkZXYodG1wX2FkZXYsIGZhbHNlKTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyByID0gYW1kZ3B1X2RldmljZV9wcmVfYXNpY19yZXNldCh0bXBfYWRldiw8YnI+DQom Z3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBOVUxMLDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZhbXA7bmVlZF9mdWxsX3Jlc2V0KTs8YnI+DQomZ3Q7Jmd0 OyBAQCAtMzYxOCw5ICYjNDM7MzY0NiwyOCBAQCBpbnQgYW1kZ3B1X2RldmljZV9ncHVfcmVjb3Zl cihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiw8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBnb3RvIHJldHJ5Ozxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+DQomZ3Q7Jmd0 OyAmIzQzO3NraXBfaHdfcmVzZXQ6PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBQb3N0IEFTSUMgcmVzZXQgZm9y IGFsbCBkZXZzIC4qLzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGxpc3RfZm9yX2VhY2hfZW50cnkodG1wX2FkZXYsIGRldmljZV9saXN0X2hhbmRsZSwg Z21jLnhnbWkuaGVhZCkgezxicj4NCiZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYW1kZ3B1X2RldmljZV9w b3N0X2FzaWNfcmVzZXQodG1wX2FkZXYpOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGZv ciAoaSA9IDA7IGkgJmx0OyBBTURHUFVfTUFYX1JJTkdTOyAmIzQzOyYjNDM7aSkgezxicj4NCiZn dDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IHN0cnVjdCBhbWRncHVfcmluZyAqcmluZyA9IHRtcF9hZGV2LSZndDtyaW5n c1tpXTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICghcmluZyB8 fCAhcmluZy0mZ3Q7c2NoZWQudGhyZWFkKTxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNvbnRpbnVlOzxicj4NCiZndDsm Z3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogTm8gcG9pbnQgdG8gcmVzdWJtaXQgam9i cyBpZiB3ZSBkaWRuJ3QgSFcgcmVzZXQqLzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICghdG1wX2Fk ZXYtJmd0O2FzaWNfcmVzZXRfcmVzICZhbXA7JmFtcDsgIWpvYl9zaWduYWxlZCk8YnI+DQomZ3Q7 Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBkcm1fc2NoZWRfcmVzdWJtaXRfam9icygmYW1wO3JpbmctJmd0O3NjaGVkKTs8YnI+DQomZ3Q7 Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRybV9zY2hlZF9zdGFydCgmYW1wO3Jpbmct Jmd0O3NjaGVkLCAhdG1wX2FkZXYtJmd0O2FzaWNfcmVzZXRfcmVzKTs8YnI+DQomZ3Q7Jmd0OyAm IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBpZiAoIWFtZGdwdV9kZXZpY2VfaGFzX2RjX3N1cHBvcnQodG1wX2FkZXYpICZhbXA7 JmFtcDsgIWpvYl9zaWduYWxlZCkgezxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRybV9oZWxwZXJfcmVz dW1lX2ZvcmNlX21vZGUodG1wX2FkZXYtJmd0O2RkZXYpOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IHRtcF9hZGV2LSZndDthc2ljX3Jlc2V0X3JlcyA9IDA7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJz cDsmbmJzcDsgPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKHIp IHs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBiYWQgbmV3cywgaG93IHRvIHRl bGwgaXQgdG8gdXNlcnNwYWNlID8gKi88YnI+DQomZ3Q7Jmd0OyBAQCAtMzYzMyw3ICYjNDM7MzY4 MCw3IEBAIGludCBhbWRncHVfZGV2aWNlX2dwdV9yZWNvdmVyKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGFtZGdwdV9k ZXZpY2VfdW5sb2NrX2FkZXYodG1wX2FkZXYpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8 YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChoaXZlICZhbXA7JmFtcDsgYWRl di0mZ3Q7Z21jLnhnbWkubnVtX3BoeXNpY2FsX25vZGVzICZndDsgMSk8YnI+DQomZ3Q7Jmd0OyAm IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoaGl2ZSk8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBtdXRleF91bmxvY2soJmFtcDtoaXZlLSZndDtyZXNldF9sb2NrKTs8 YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAocik8YnI+DQpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NCmFtZC1nZnggbWFpbGluZyBsaXN0PGJy Pg0KPGEgY2xhc3M9Im1vei10eHQtbGluay1hYmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOmFtZC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnIj5hbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzwv YT48YnI+DQo8YSBocmVmPSJodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2FtZC1nZngiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+aHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4PC9hPjwvZGl2Pg0KPC9zcGFuPjwv Zm9udD48L2Jsb2NrcXVvdGU+DQo8L2JvZHk+DQo8L2h0bWw+DQo= --_000_571a119a170ad1ba687031807e0f7016amdcom_-- --===============1494169701== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBt YWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4 --===============1494169701==--