From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Grodzovsky, Andrey" Subject: Re: [PATCH v5 3/6] drm/scheduler: rework job destruction Date: Tue, 23 Apr 2019 15:01:28 +0000 Message-ID: References: <1555599624-12285-1-git-send-email-andrey.grodzovsky@amd.com> <1555599624-12285-3-git-send-email-andrey.grodzovsky@amd.com> <9f7112b1-0348-b4f6-374d-e44c0d448112@amd.com> <2fa87715-ed8e-1a57-db41-3f7ef928165f@amd.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2136740501==" Return-path: In-Reply-To: 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: "Zhou, David(ChunMing)" , "dri-devel@lists.freedesktop.org" , "amd-gfx@lists.freedesktop.org" , "eric@anholt.net" , "etnaviv@lists.freedesktop.org" , "ckoenig.leichtzumerken@gmail.com" Cc: "Kazlauskas, Nicholas" , "Koenig, Christian" List-Id: dri-devel@lists.freedesktop.org --===============2136740501== Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_bb40a420cf4e51e5aa9678ae1cc470c4amdcom_" --_000_bb40a420cf4e51e5aa9678ae1cc470c4amdcom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQpPbiA0LzIzLzE5IDEwOjQ0IEFNLCBaaG91LCBEYXZpZChDaHVuTWluZykgd3JvdGU6DQpUaGlz IHBhdGNoIGlzIHRvIGZpeCBkZWFkbG9jayBiZXR3ZWVuIGZlbmNlLT5sb2NrIGFuZCBzY2hlZC0+ am9iX2xpc3RfbG9jaywgcmlnaHQ/DQpTbyBJIHN1Z2dlc3QgdG8ganVzdCBtb3ZlIGxpc3RfZGVs X2luaXQoJnNfam9iLT5ub2RlKSBmcm9tIGRybV9zY2hlZF9wcm9jZXNzX2pvYiB0byB3b3JrIHRo cmVhZC4gVGhhdCB3aWxsIGF2b2lkIGRlYWRsb2NrIGRlc2NyaWJlZCBpbiB0aGUgbGluay4NCg0K DQpEbyB5b3UgbWVhbiByZXN0b3JpbmcgYmFjayBzY2hlZHVsaW5nIHdvcmsgZnJvbSBIVyBmZW5j ZSBpbnRlcnJ1cHQgaGFuZGxlciBhbmQgZGVsZXRpbmcgdGhlcmUgPyBZZXMsIEkgc3VnZ2VzdGVk IHRoaXMgYXMgYW4gb3B0aW9uICh0YWtlIGEgbG9vayBhdCBteSBjb21tZW50IDkgaW4gaHR0cHM6 Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NjkyKSAgYnV0IHNpbmNl IHdlIHN0aWxsIGhhdmUgdG8gd2FpdCBmb3IgYWxsIGZlbmNlcyBpbiBmbGlnaHQgdG8gc2lnbmFs IHRvIGF2b2lkIHRoZSBwcm9ibGVtIGZpeGVkIGluICczNzQxNTQwIGRybS9zY2hlZDogUmV3b3Jr IEhXIGZlbmNlIHByb2Nlc3NpbmcuJyB0aGlzIHRoaW5nIGJlY29tZXMgc29tZXdoYXQgY29tcGxp Y2F0ZWQgYW5kIHNvIENocmlzdGlhbiBjYW1lIHVwIHdpdGggdGhlIGNvcmUgaWRlYSBpbiB0aGlz IHBhdGNoIHdoaWNoIGlzIHRvIGRvIGFsbCBkZWxldGlvbnMvaW5zZXJ0aW9ucyB0aHJlYWQgc2Fm ZSBieSBncmFudGVlIGl0J3MgYWx3YXlzIGRvbWUgZnJvbSBvbmUgdGhyZWFkLiAgSXQgZG9lcyBz aW1wbGlmeSB0aGUgaGFuZGxpbmcuDQoNCkFuZHJleQ0KDQoNCg0KLS0tLS0tLS0gT3JpZ2luYWwg TWVzc2FnZSAtLS0tLS0tLQ0KU3ViamVjdDogUmU6IFtQQVRDSCB2NSAzLzZdIGRybS9zY2hlZHVs ZXI6IHJld29yayBqb2IgZGVzdHJ1Y3Rpb24NCkZyb206ICJHcm9kem92c2t5LCBBbmRyZXkiDQpU bzogIlpob3UsIERhdmlkKENodW5NaW5nKSIgLGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcsYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcsZXJpY0BhbmhvbHQubmV0LGV0bmF2aXZA bGlzdHMuZnJlZWRlc2t0b3Aub3JnLGNrb2VuaWcubGVpY2h0enVtZXJrZW5AZ21haWwuY29tPG1h aWx0bzpkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnLGFtZC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnLGVyaWNAYW5ob2x0Lm5ldCxldG5hdml2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZyxj a29lbmlnLmxlaWNodHp1bWVya2VuQGdtYWlsLmNvbT4NCkNDOiAiS2F6bGF1c2thcywgTmljaG9s YXMiICwiS29lbmlnLCBDaHJpc3RpYW4iDQoNCg0KT24gNC8yMi8xOSA4OjQ4IEFNLCBDaHVubWlu ZyBaaG91IHdyb3RlOg0KPiBIaSBBbmRyZXksDQo+DQo+IHN0YXRpYyB2b2lkIGRybV9zY2hlZF9w cm9jZXNzX2pvYihzdHJ1Y3QgZG1hX2ZlbmNlICpmLCBzdHJ1Y3QNCj4gZG1hX2ZlbmNlX2NiICpj YikNCj4gew0KPiAuLi4NCj4gICAgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZzY2hlZC0+am9i X2xpc3RfbG9jaywgZmxhZ3MpOw0KPiAgICAgICAgICAgLyogcmVtb3ZlIGpvYiBmcm9tIHJpbmdf bWlycm9yX2xpc3QgKi8NCj4gICAgICAgICAgIGxpc3RfZGVsX2luaXQoJnNfam9iLT5ub2RlKTsN Cj4gICAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjaGVkLT5qb2JfbGlzdF9sb2Nr LCBmbGFncyk7DQo+IFtEYXZpZF0gSG93IGFib3V0IGp1c3QgcmVtb3ZlIGFib3ZlIHRvIHdvcmtl ciBmcm9tIGlycSBwcm9jZXNzPyBBbnkNCj4gcHJvYmxlbT8gTWF5YmUgSSBtaXNzZWQgcHJldmlv dXMgeW91ciBkaXNjdXNzaW9uLCBidXQgSSB0aGluayByZW1vdmluZw0KPiBsb2NrIGZvciBsaXN0 IGlzIGEgcmlzayBmb3IgZnV0dXJlIG1haW50ZW5hbmNlIGFsdGhvdWdoIHlvdSBtYWtlIHN1cmUN Cj4gdGhyZWFkIHNhZmUgY3VycmVudGx5Lg0KPg0KPiAtRGF2aWQNCg0KDQpXZSByZW1vdmUgdGhl IGxvY2sgZXhhY3RseSBiZWNhdXNlIG9mIHRoZSBmYWN0IHRoYXQgaW5zZXJ0aW9uIGFuZA0KcmVt b3ZhbCB0by9mcm9tIHRoZSBsaXN0IHdpbGwgYmUgZG9uZSBmb3JtIGV4YWN0bHkgb25lIHRocmVh ZCBhdCBhbnQNCnRpbWUgbm93LiBTbyBJIGFtIG5vdCBzdXJlIEkgdW5kZXJzdGFuZCB3aGF0IHlv dSBtZWFuLg0KDQpBbmRyZXkNCg0KDQo+DQo+IC4uLg0KPg0KPiAgICAgICAgICAgc2NoZWR1bGVf d29yaygmc19qb2ItPmZpbmlzaF93b3JrKTsNCj4gfQ0KPg0KPiDlnKggMjAxOS80LzE4IDIzOjAw LCBBbmRyZXkgR3JvZHpvdnNreSDlhpnpgZM6DQo+PiBGcm9tOiBDaHJpc3RpYW4gS8O2bmlnIDxj aHJpc3RpYW4ua29lbmlnQGFtZC5jb20+PG1haWx0bzpjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+ DQo+Pg0KPj4gV2Ugbm93IGRlc3Ryb3kgZmluaXNoZWQgam9icyBmcm9tIHRoZSB3b3JrZXIgdGhy ZWFkIHRvIG1ha2Ugc3VyZSB0aGF0DQo+PiB3ZSBuZXZlciBkZXN0cm95IGEgam9iIGN1cnJlbnRs eSBpbiB0aW1lb3V0IHByb2Nlc3NpbmcuDQo+PiBCeSB0aGlzIHdlIGF2b2lkIGhvbGRpbmcgbG9j ayBhcm91bmQgcmluZyBtaXJyb3IgbGlzdCBpbiBkcm1fc2NoZWRfc3RvcA0KPj4gd2hpY2ggc2hv dWxkIHNvbHZlIGEgZGVhZGxvY2sgcmVwb3J0ZWQgYnkgYSB1c2VyLg0KPj4NCj4+IHYyOiBSZW1v dmUgdW51c2VkIHZhcmlhYmxlLg0KPj4gdjQ6IE1vdmUgZ3VpbHR5IGpvYiBmcmVlIGludG8gc2No ZWQgY29kZS4NCj4+IHY1Og0KPj4gTW92ZSBzY2hlZC0+aHdfcnFfY291bnQgdG8gZHJtX3NjaGVk X3N0YXJ0IHRvIGFjY291bnQgZm9yIGNvdW50ZXINCj4+IGRlY3JlbWVudCBpbiBkcm1fc2NoZWRf c3RvcCBldmVuIHdoZW4gd2UgZG9uJ3QgY2FsbCByZXN1Ym1pdCBqb2JzDQo+PiBpZiBndWlseSBq b2IgZGlkIHNpZ25hbC4NCj4+DQo+PiBCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9w Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NjkyDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0 aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPjxtYWlsdG86Y2hyaXN0aWFuLmtv ZW5pZ0BhbWQuY29tPg0KPj4gU2lnbmVkLW9mZi1ieTogQW5kcmV5IEdyb2R6b3Zza3kgPGFuZHJl eS5ncm9kem92c2t5QGFtZC5jb20+PG1haWx0bzphbmRyZXkuZ3JvZHpvdnNreUBhbWQuY29tPg0K Pj4gLS0tDQo+PiAgICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMg fCAgIDkgKy0NCj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZHVtcC5jICAg ICB8ICAgNCAtDQo+PiAgICBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X3NjaGVkLmMg ICAgfCAgIDIgKy0NCj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9saW1hL2xpbWFfc2NoZWQuYyAgICAg ICAgICB8ICAgMiArLQ0KPj4gICAgZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2pv Yi5jICAgIHwgICAyICstDQo+PiAgICBkcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX21h aW4uYyAgICAgfCAxNTkgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0NCj4+ICAgIGRyaXZl cnMvZ3B1L2RybS92M2QvdjNkX3NjaGVkLmMgICAgICAgICAgICB8ICAgMiArLQ0KPj4gICAgaW5j bHVkZS9kcm0vZ3B1X3NjaGVkdWxlci5oICAgICAgICAgICAgICAgIHwgICA2ICstDQo+PiAgICA4 IGZpbGVzIGNoYW5nZWQsIDEwMiBpbnNlcnRpb25zKCspLCA4NCBkZWxldGlvbnMoLSkNCj4+DQo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jDQo+PiBpbmRleCA3 Y2VlMjY5Li5hMGUxNjVjIDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2RldmljZS5jDQo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZGV2aWNlLmMNCj4+IEBAIC0zMzM0LDcgKzMzMzQsNyBAQCBzdGF0aWMgaW50IGFtZGdw dV9kZXZpY2VfcHJlX2FzaWNfcmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQo+PiAg ICBpZiAoIXJpbmcgfHwgIXJpbmctPnNjaGVkLnRocmVhZCkNCj4+ICAgIGNvbnRpbnVlOw0KPj4N Cj4+IC0gZHJtX3NjaGVkX3N0b3AoJnJpbmctPnNjaGVkKTsNCj4+ICsgZHJtX3NjaGVkX3N0b3Ao JnJpbmctPnNjaGVkLCAmam9iLT5iYXNlKTsNCj4+DQo+PiAgICAvKiBhZnRlciBhbGwgaHcgam9i cyBhcmUgcmVzZXQsIGh3IGZlbmNlIGlzIG1lYW5pbmdsZXNzLCBzbyBmb3JjZV9jb21wbGV0aW9u ICovDQo+PiAgICBhbWRncHVfZmVuY2VfZHJpdmVyX2ZvcmNlX2NvbXBsZXRpb24ocmluZyk7DQo+ PiBAQCAtMzM0Myw4ICszMzQzLDYgQEAgc3RhdGljIGludCBhbWRncHVfZGV2aWNlX3ByZV9hc2lj X3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KPj4gICAgaWYoam9iKQ0KPj4gICAg ZHJtX3NjaGVkX2luY3JlYXNlX2thcm1hKCZqb2ItPmJhc2UpOw0KPj4NCj4+IC0NCj4+IC0NCj4+ ICAgIGlmICghYW1kZ3B1X3NyaW92X3ZmKGFkZXYpKSB7DQo+Pg0KPj4gICAgaWYgKCFuZWVkX2Z1 bGxfcmVzZXQpDQo+PiBAQCAtMzQ4Miw4ICszNDgwLDcgQEAgc3RhdGljIGludCBhbWRncHVfZG9f YXNpY19yZXNldChzdHJ1Y3QgYW1kZ3B1X2hpdmVfaW5mbyAqaGl2ZSwNCj4+ICAgIHJldHVybiBy Ow0KPj4gICAgfQ0KPj4NCj4+IC1zdGF0aWMgdm9pZCBhbWRncHVfZGV2aWNlX3Bvc3RfYXNpY19y ZXNldChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwNCj4+IC0gICBzdHJ1Y3QgYW1kZ3B1X2pv YiAqam9iKQ0KPj4gK3N0YXRpYyB2b2lkIGFtZGdwdV9kZXZpY2VfcG9zdF9hc2ljX3Jlc2V0KHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQ0KPj4gICAgew0KPj4gICAgaW50IGk7DQo+Pg0KPj4g QEAgLTM2MjMsNyArMzYyMCw3IEBAIGludCBhbWRncHVfZGV2aWNlX2dwdV9yZWNvdmVyKHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LA0KPj4NCj4+ICAgIC8qIFBvc3QgQVNJQyByZXNldCBmb3Ig YWxsIGRldnMgLiovDQo+PiAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KHRtcF9hZGV2LCBkZXZpY2Vf bGlzdF9oYW5kbGUsIGdtYy54Z21pLmhlYWQpIHsNCj4+IC0gYW1kZ3B1X2RldmljZV9wb3N0X2Fz aWNfcmVzZXQodG1wX2FkZXYsIHRtcF9hZGV2ID09IGFkZXYgPyBqb2IgOiBOVUxMKTsNCj4+ICsg YW1kZ3B1X2RldmljZV9wb3N0X2FzaWNfcmVzZXQodG1wX2FkZXYpOw0KPj4NCj4+ICAgIGlmIChy KSB7DQo+PiAgICAvKiBiYWQgbmV3cywgaG93IHRvIHRlbGwgaXQgdG8gdXNlcnNwYWNlID8gKi8N Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2R1bXAuYyBi L2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZHVtcC5jDQo+PiBpbmRleCAzMzg1NGM5 Li41Nzc4ZDljIDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZp dl9kdW1wLmMNCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZHVtcC5j DQo+PiBAQCAtMTM1LDEzICsxMzUsMTEgQEAgdm9pZCBldG5hdml2X2NvcmVfZHVtcChzdHJ1Y3Qg ZXRuYXZpdl9ncHUgKmdwdSkNCj4+ICAgICAgICBtbXVfc2l6ZSArIGdwdS0+YnVmZmVyLnNpemU7 DQo+Pg0KPj4gICAgLyogQWRkIGluIHRoZSBhY3RpdmUgY29tbWFuZCBidWZmZXJzICovDQo+PiAt IHNwaW5fbG9ja19pcnFzYXZlKCZncHUtPnNjaGVkLmpvYl9saXN0X2xvY2ssIGZsYWdzKTsNCj4+ ICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoc19qb2IsICZncHUtPnNjaGVkLnJpbmdfbWlycm9yX2xp c3QsIG5vZGUpIHsNCj4+ICAgIHN1Ym1pdCA9IHRvX2V0bmF2aXZfc3VibWl0KHNfam9iKTsNCj4+ ICAgIGZpbGVfc2l6ZSArPSBzdWJtaXQtPmNtZGJ1Zi5zaXplOw0KPj4gICAgbl9vYmorKzsNCj4+ ICAgIH0NCj4+IC0gc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZ3B1LT5zY2hlZC5qb2JfbGlzdF9s b2NrLCBmbGFncyk7DQo+Pg0KPj4gICAgLyogQWRkIGluIHRoZSBhY3RpdmUgYnVmZmVyIG9iamVj dHMgKi8NCj4+ICAgIGxpc3RfZm9yX2VhY2hfZW50cnkodnJhbSwgJmdwdS0+bW11LT5tYXBwaW5n cywgbW11X25vZGUpIHsNCj4+IEBAIC0xODMsMTQgKzE4MSwxMiBAQCB2b2lkIGV0bmF2aXZfY29y ZV9kdW1wKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1KQ0KPj4gICAgICAgICAgZ3B1LT5idWZmZXIu c2l6ZSwNCj4+ICAgICAgICAgIGV0bmF2aXZfY21kYnVmX2dldF92YSgmZ3B1LT5idWZmZXIpKTsN Cj4+DQo+PiAtIHNwaW5fbG9ja19pcnFzYXZlKCZncHUtPnNjaGVkLmpvYl9saXN0X2xvY2ssIGZs YWdzKTsNCj4+ICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoc19qb2IsICZncHUtPnNjaGVkLnJpbmdf bWlycm9yX2xpc3QsIG5vZGUpIHsNCj4+ICAgIHN1Ym1pdCA9IHRvX2V0bmF2aXZfc3VibWl0KHNf am9iKTsNCj4+ICAgIGV0bmF2aXZfY29yZV9kdW1wX21lbSgmaXRlciwgRVREVU1QX0JVRl9DTUQs DQo+PiAgICAgICAgICBzdWJtaXQtPmNtZGJ1Zi52YWRkciwgc3VibWl0LT5jbWRidWYuc2l6ZSwN Cj4+ICAgICAgICAgIGV0bmF2aXZfY21kYnVmX2dldF92YSgmc3VibWl0LT5jbWRidWYpKTsNCj4+ ICAgIH0NCj4+IC0gc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZ3B1LT5zY2hlZC5qb2JfbGlzdF9s b2NrLCBmbGFncyk7DQo+Pg0KPj4gICAgLyogUmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIGJvbWFwICov DQo+PiAgICBpZiAobl9ib21hcF9wYWdlcykgew0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9ldG5hdml2L2V0bmF2aXZfc2NoZWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0 bmF2aXZfc2NoZWQuYw0KPj4gaW5kZXggNmQyNGZlYS4uYTgxM2M4MiAxMDA2NDQNCj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfc2NoZWQuYw0KPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9zY2hlZC5jDQo+PiBAQCAtMTA5LDcgKzEwOSw3IEBA IHN0YXRpYyB2b2lkIGV0bmF2aXZfc2NoZWRfdGltZWRvdXRfam9iKHN0cnVjdCBkcm1fc2NoZWRf am9iICpzY2hlZF9qb2IpDQo+PiAgICB9DQo+Pg0KPj4gICAgLyogYmxvY2sgc2NoZWR1bGVyICov DQo+PiAtIGRybV9zY2hlZF9zdG9wKCZncHUtPnNjaGVkKTsNCj4+ICsgZHJtX3NjaGVkX3N0b3Ao JmdwdS0+c2NoZWQsIHNjaGVkX2pvYik7DQo+Pg0KPj4gICAgaWYoc2NoZWRfam9iKQ0KPj4gICAg ZHJtX3NjaGVkX2luY3JlYXNlX2thcm1hKHNjaGVkX2pvYik7DQo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2xpbWEvbGltYV9zY2hlZC5jIGIvZHJpdmVycy9ncHUvZHJtL2xpbWEvbGlt YV9zY2hlZC5jDQo+PiBpbmRleCA5N2JkOWMxLi5kZjk4OTMxIDEwMDY0NA0KPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2xpbWEvbGltYV9zY2hlZC5jDQo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v bGltYS9saW1hX3NjaGVkLmMNCj4+IEBAIC0zMDAsNyArMzAwLDcgQEAgc3RhdGljIHN0cnVjdCBk bWFfZmVuY2UgKmxpbWFfc2NoZWRfcnVuX2pvYihzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqam9iKQ0K Pj4gICAgc3RhdGljIHZvaWQgbGltYV9zY2hlZF9oYW5kbGVfZXJyb3JfdGFzayhzdHJ1Y3QgbGlt YV9zY2hlZF9waXBlICpwaXBlLA0KPj4gICAgc3RydWN0IGxpbWFfc2NoZWRfdGFzayAqdGFzaykN Cj4+ICAgIHsNCj4+IC0gZHJtX3NjaGVkX3N0b3AoJnBpcGUtPmJhc2UpOw0KPj4gKyBkcm1fc2No ZWRfc3RvcCgmcGlwZS0+YmFzZSwgJnRhc2stPmJhc2UpOw0KPj4NCj4+ICAgIGlmICh0YXNrKQ0K Pj4gICAgZHJtX3NjaGVkX2luY3JlYXNlX2thcm1hKCZ0YXNrLT5iYXNlKTsNCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3Rfam9iLmMgYi9kcml2ZXJzL2dw dS9kcm0vcGFuZnJvc3QvcGFuZnJvc3Rfam9iLmMNCj4+IGluZGV4IDBhN2VkMDQuLmM2MzM2Yjcg MTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3Rfam9iLmMN Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9qb2IuYw0KPj4gQEAg LTM4NSw3ICszODUsNyBAQCBzdGF0aWMgdm9pZCBwYW5mcm9zdF9qb2JfdGltZWRvdXQoc3RydWN0 IGRybV9zY2hlZF9qb2IgKnNjaGVkX2pvYikNCj4+ICAgIHNjaGVkX2pvYik7DQo+Pg0KPj4gICAg Zm9yIChpID0gMDsgaSA8IE5VTV9KT0JfU0xPVFM7IGkrKykNCj4+IC0gZHJtX3NjaGVkX3N0b3Ao JnBmZGV2LT5qcy0+cXVldWVbaV0uc2NoZWQpOw0KPj4gKyBkcm1fc2NoZWRfc3RvcCgmcGZkZXYt PmpzLT5xdWV1ZVtpXS5zY2hlZCwgc2NoZWRfam9iKTsNCj4+DQo+PiAgICBpZiAoc2NoZWRfam9i KQ0KPj4gICAgZHJtX3NjaGVkX2luY3JlYXNlX2thcm1hKHNjaGVkX2pvYik7DQo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMgYi9kcml2ZXJzL2dw dS9kcm0vc2NoZWR1bGVyL3NjaGVkX21haW4uYw0KPj4gaW5kZXggMTlmYzYwMS4uNzgxNmRlNyAx MDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jDQo+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX21haW4uYw0KPj4gQEAgLTI2 NSwzMiArMjY1LDYgQEAgdm9pZCBkcm1fc2NoZWRfcmVzdW1lX3RpbWVvdXQoc3RydWN0IGRybV9n cHVfc2NoZWR1bGVyICpzY2hlZCwNCj4+ICAgIH0NCj4+ICAgIEVYUE9SVF9TWU1CT0woZHJtX3Nj aGVkX3Jlc3VtZV90aW1lb3V0KTsNCj4+DQo+PiAtLyogam9iX2ZpbmlzaCBpcyBjYWxsZWQgYWZ0 ZXIgaHcgZmVuY2Ugc2lnbmFsZWQNCj4+IC0gKi8NCj4+IC1zdGF0aWMgdm9pZCBkcm1fc2NoZWRf am9iX2ZpbmlzaChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspDQo+PiAtew0KPj4gLSBzdHJ1Y3Qg ZHJtX3NjaGVkX2pvYiAqc19qb2IgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGRybV9zY2hl ZF9qb2IsDQo+PiAtICAgIGZpbmlzaF93b3JrKTsNCj4+IC0gc3RydWN0IGRybV9ncHVfc2NoZWR1 bGVyICpzY2hlZCA9IHNfam9iLT5zY2hlZDsNCj4+IC0gdW5zaWduZWQgbG9uZyBmbGFnczsNCj4+ IC0NCj4+IC0gLyoNCj4+IC0gKiBDYW5jZWxpbmcgdGhlIHRpbWVvdXQgd2l0aG91dCByZW1vdmlu ZyBvdXIgam9iIGZyb20gdGhlIHJpbmcgbWlycm9yDQo+PiAtICogbGlzdCBpcyBzYWZlLCBhcyB3 ZSB3aWxsIG9ubHkgZW5kIHVwIGluIHRoaXMgd29ya2VyIGlmIG91ciBqb2JzDQo+PiAtICogZmlu aXNoZWQgZmVuY2UgaGFzIGJlZW4gc2lnbmFsZWQuIFNvIGV2ZW4gaWYgc29tZSBhbm90aGVyIHdv cmtlcg0KPj4gLSAqIG1hbmFnZXMgdG8gZmluZCB0aGlzIGpvYiBhcyB0aGUgbmV4dCBqb2IgaW4g dGhlIGxpc3QsIHRoZSBmZW5jZQ0KPj4gLSAqIHNpZ25hbGVkIGNoZWNrIGJlbG93IHdpbGwgcHJl dmVudCB0aGUgdGltZW91dCB0byBiZSByZXN0YXJ0ZWQuDQo+PiAtICovDQo+PiAtIGNhbmNlbF9k ZWxheWVkX3dvcmtfc3luYygmc2NoZWQtPndvcmtfdGRyKTsNCj4+IC0NCj4+IC0gc3Bpbl9sb2Nr X2lycXNhdmUoJnNjaGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7DQo+PiAtIC8qIHF1ZXVlIFRE UiBmb3IgbmV4dCBqb2IgKi8NCj4+IC0gZHJtX3NjaGVkX3N0YXJ0X3RpbWVvdXQoc2NoZWQpOw0K Pj4gLSBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2hlZC0+am9iX2xpc3RfbG9jaywgZmxhZ3Mp Ow0KPj4gLQ0KPj4gLSBzY2hlZC0+b3BzLT5mcmVlX2pvYihzX2pvYik7DQo+PiAtfQ0KPj4gLQ0K Pj4gICAgc3RhdGljIHZvaWQgZHJtX3NjaGVkX2pvYl9iZWdpbihzdHJ1Y3QgZHJtX3NjaGVkX2pv YiAqc19qb2IpDQo+PiAgICB7DQo+PiAgICBzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVk ID0gc19qb2ItPnNjaGVkOw0KPj4gQEAgLTMxNSw2ICsyODksMTMgQEAgc3RhdGljIHZvaWQgZHJt X3NjaGVkX2pvYl90aW1lZG91dChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspDQo+PiAgICBpZiAo am9iKQ0KPj4gICAgam9iLT5zY2hlZC0+b3BzLT50aW1lZG91dF9qb2Ioam9iKTsNCj4+DQo+PiAr IC8qDQo+PiArICogR3VpbHR5IGpvYiBkaWQgY29tcGxldGUgYW5kIGhlbmNlIG5lZWRzIHRvIGJl IG1hbnVhbGx5IHJlbW92ZWQNCj4+ICsgKiBTZWUgZHJtX3NjaGVkX3N0b3AgZG9jLg0KPj4gKyAq Lw0KPj4gKyBpZiAobGlzdF9lbXB0eSgmam9iLT5ub2RlKSkNCj4+ICsgam9iLT5zY2hlZC0+b3Bz LT5mcmVlX2pvYihqb2IpOw0KPj4gKw0KPj4gICAgc3Bpbl9sb2NrX2lycXNhdmUoJnNjaGVkLT5q b2JfbGlzdF9sb2NrLCBmbGFncyk7DQo+PiAgICBkcm1fc2NoZWRfc3RhcnRfdGltZW91dChzY2hl ZCk7DQo+PiAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2hlZC0+am9iX2xpc3RfbG9jaywg ZmxhZ3MpOw0KPj4gQEAgLTM3MSwyMyArMzUyLDI2IEBAIEVYUE9SVF9TWU1CT0woZHJtX3NjaGVk X2luY3JlYXNlX2thcm1hKTsNCj4+ICAgICAqIEBzY2hlZDogc2NoZWR1bGVyIGluc3RhbmNlDQo+ PiAgICAgKiBAYmFkOiBiYWQgc2NoZWR1bGVyIGpvYg0KPj4gICAgICoNCj4+ICsgKiBTdG9wIHRo ZSBzY2hlZHVsZXIgYW5kIGFsc28gcmVtb3ZlcyBhbmQgZnJlZXMgYWxsIGNvbXBsZXRlZCBqb2Jz Lg0KPj4gKyAqIE5vdGU6IGJhZCBqb2Igd2lsbCBub3QgYmUgZnJlZWQgYXMgaXQgbWlnaHQgYmUg dXNlZCBsYXRlciBhbmQgc28gaXQncw0KPj4gKyAqIGNhbGxlcnMgcmVzcG9uc2liaWxpdHkgdG8g cmVsZWFzZSBpdCBtYW51YWxseSBpZiBpdCdzIG5vdCBwYXJ0IG9mIHRoZQ0KPj4gKyAqIG1pcnJv ciBsaXN0IGFueSBtb3JlLg0KPj4gKyAqDQo+PiAgICAgKi8NCj4+IC12b2lkIGRybV9zY2hlZF9z dG9wKHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQpDQo+PiArdm9pZCBkcm1fc2NoZWRf c3RvcChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkLCBzdHJ1Y3QgZHJtX3NjaGVkX2pv YiAqYmFkKQ0KPj4gICAgew0KPj4gLSBzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc19qb2I7DQo+PiAr IHN0cnVjdCBkcm1fc2NoZWRfam9iICpzX2pvYiwgKnRtcDsNCj4+ICAgIHVuc2lnbmVkIGxvbmcg ZmxhZ3M7DQo+PiAtIHN0cnVjdCBkbWFfZmVuY2UgKmxhc3RfZmVuY2UgPSAgTlVMTDsNCj4+DQo+ PiAgICBrdGhyZWFkX3Bhcmsoc2NoZWQtPnRocmVhZCk7DQo+Pg0KPj4gICAgLyoNCj4+IC0gKiBW ZXJpZnkgYWxsIHRoZSBzaWduYWxlZCBqb2JzIGluIG1pcnJvciBsaXN0IGFyZSByZW1vdmVkIGZy b20gdGhlIHJpbmcNCj4+IC0gKiBieSB3YWl0aW5nIGZvciB0aGUgbGF0ZXN0IGpvYiB0byBlbnRl ciB0aGUgbGlzdC4gVGhpcyBzaG91bGQgaW5zdXJlIHRoYXQNCj4+IC0gKiBhbHNvIGFsbCB0aGUg cHJldmlvdXMgam9icyB0aGF0IHdlcmUgaW4gZmxpZ2h0IGFsc28gYWxyZWFkeSBzaW5nYWxlZA0K Pj4gLSAqIGFuZCByZW1vdmVkIGZyb20gdGhlIGxpc3QuDQo+PiArICogSXRlcmF0ZSB0aGUgam9i IGxpc3QgZnJvbSBsYXRlciB0byAgZWFybGllciBvbmUgYW5kIGVpdGhlciBkZWFjdGl2ZQ0KPj4g KyAqIHRoZWlyIEhXIGNhbGxiYWNrcyBvciByZW1vdmUgdGhlbSBmcm9tIG1pcnJvciBsaXN0IGlm IHRoZXkgYWxyZWFkeQ0KPj4gKyAqIHNpZ25hbGVkLg0KPj4gKyAqIFRoaXMgaXRlcmF0aW9uIGlz IHRocmVhZCBzYWZlIGFzIHNjaGVkIHRocmVhZCBpcyBzdG9wcGVkLg0KPj4gICAgKi8NCj4+IC0g c3Bpbl9sb2NrX2lycXNhdmUoJnNjaGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7DQo+PiAtIGxp c3RfZm9yX2VhY2hfZW50cnlfcmV2ZXJzZShzX2pvYiwgJnNjaGVkLT5yaW5nX21pcnJvcl9saXN0 LCBub2RlKSB7DQo+PiArIGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZV9yZXZlcnNlKHNfam9iLCB0 bXAsICZzY2hlZC0+cmluZ19taXJyb3JfbGlzdCwgbm9kZSkgew0KPj4gICAgaWYgKHNfam9iLT5z X2ZlbmNlLT5wYXJlbnQgJiYNCj4+ICAgICAgICBkbWFfZmVuY2VfcmVtb3ZlX2NhbGxiYWNrKHNf am9iLT5zX2ZlbmNlLT5wYXJlbnQsDQo+PiAgICAgICAgICAmc19qb2ItPmNiKSkgew0KPj4gQEAg LTM5NSwxNiArMzc5LDMwIEBAIHZvaWQgZHJtX3NjaGVkX3N0b3Aoc3RydWN0IGRybV9ncHVfc2No ZWR1bGVyICpzY2hlZCkNCj4+ICAgIHNfam9iLT5zX2ZlbmNlLT5wYXJlbnQgPSBOVUxMOw0KPj4g ICAgYXRvbWljX2RlYygmc2NoZWQtPmh3X3JxX2NvdW50KTsNCj4+ICAgIH0gZWxzZSB7DQo+PiAt IGxhc3RfZmVuY2UgPSBkbWFfZmVuY2VfZ2V0KCZzX2pvYi0+c19mZW5jZS0+ZmluaXNoZWQpOw0K Pj4gLSBicmVhazsNCj4+ICsgLyoNCj4+ICsgKiByZW1vdmUgam9iIGZyb20gcmluZ19taXJyb3Jf bGlzdC4NCj4+ICsgKiBMb2NraW5nIGhlcmUgaXMgZm9yIGNvbmN1cnJlbnQgcmVzdW1lIHRpbWVv dXQNCj4+ICsgKi8NCj4+ICsgc3Bpbl9sb2NrX2lycXNhdmUoJnNjaGVkLT5qb2JfbGlzdF9sb2Nr LCBmbGFncyk7DQo+PiArIGxpc3RfZGVsX2luaXQoJnNfam9iLT5ub2RlKTsNCj4+ICsgc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSgmc2NoZWQtPmpvYl9saXN0X2xvY2ssIGZsYWdzKTsNCj4+ICsNCj4+ ICsgLyoNCj4+ICsgKiBXYWl0IGZvciBqb2IncyBIVyBmZW5jZSBjYWxsYmFjayB0byBmaW5pc2gg dXNpbmcgc19qb2INCj4+ICsgKiBiZWZvcmUgcmVsZWFzaW5nIGl0Lg0KPj4gKyAqDQo+PiArICog Sm9iIGlzIHN0aWxsIGFsaXZlIHNvIGZlbmNlIHJlZmNvdW50IGF0IGxlYXN0IDENCj4+ICsgKi8N Cj4+ICsgZG1hX2ZlbmNlX3dhaXQoJnNfam9iLT5zX2ZlbmNlLT5maW5pc2hlZCwgZmFsc2UpOw0K Pj4gKw0KPj4gKyAvKg0KPj4gKyAqIFdlIG11c3Qga2VlcCBiYWQgam9iIGFsaXZlIGZvciBsYXRl ciB1c2UgZHVyaW5nDQo+PiArICogcmVjb3ZlcnkgYnkgc29tZSBvZiB0aGUgZHJpdmVycw0KPj4g KyAqLw0KPj4gKyBpZiAoYmFkICE9IHNfam9iKQ0KPj4gKyBzY2hlZC0+b3BzLT5mcmVlX2pvYihz X2pvYik7DQo+PiAgICB9DQo+PiAgICB9DQo+PiAtIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNj aGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7DQo+PiAtDQo+PiAtIGlmIChsYXN0X2ZlbmNlKSB7 DQo+PiAtIGRtYV9mZW5jZV93YWl0KGxhc3RfZmVuY2UsIGZhbHNlKTsNCj4+IC0gZG1hX2ZlbmNl X3B1dChsYXN0X2ZlbmNlKTsNCj4+IC0gfQ0KPj4gICAgfQ0KPj4NCj4+ICAgIEVYUE9SVF9TWU1C T0woZHJtX3NjaGVkX3N0b3ApOw0KPj4gQEAgLTQxOCwyMSArNDE2LDIyIEBAIEVYUE9SVF9TWU1C T0woZHJtX3NjaGVkX3N0b3ApOw0KPj4gICAgdm9pZCBkcm1fc2NoZWRfc3RhcnQoc3RydWN0IGRy bV9ncHVfc2NoZWR1bGVyICpzY2hlZCwgYm9vbCBmdWxsX3JlY292ZXJ5KQ0KPj4gICAgew0KPj4g ICAgc3RydWN0IGRybV9zY2hlZF9qb2IgKnNfam9iLCAqdG1wOw0KPj4gKyB1bnNpZ25lZCBsb25n IGZsYWdzOw0KPj4gICAgaW50IHI7DQo+Pg0KPj4gLSBpZiAoIWZ1bGxfcmVjb3ZlcnkpDQo+PiAt IGdvdG8gdW5wYXJrOw0KPj4gLQ0KPj4gICAgLyoNCj4+ICAgICogTG9ja2luZyB0aGUgbGlzdCBp cyBub3QgcmVxdWlyZWQgaGVyZSBhcyB0aGUgc2NoZWQgdGhyZWFkIGlzIHBhcmtlZA0KPj4gLSAq IHNvIG5vIG5ldyBqb2JzIGFyZSBiZWluZyBwdXNoZWQgaW4gdG8gSFcgYW5kIGluIGRybV9zY2hl ZF9zdG9wIHdlDQo+PiAtICogZmx1c2hlZCBhbGwgdGhlIGpvYnMgd2hvIHdlcmUgc3RpbGwgaW4g bWlycm9yIGxpc3QgYnV0IHdobyBhbHJlYWR5DQo+PiAtICogc2lnbmFsZWQgYW5kIHJlbW92ZWQg dGhlbSBzZWxmIGZyb20gdGhlIGxpc3QuIEFsc28gY29uY3VycmVudA0KPj4gKyAqIHNvIG5vIG5l dyBqb2JzIGFyZSBiZWluZyBpbnNlcnRlZCBvciByZW1vdmVkLiBBbHNvIGNvbmN1cnJlbnQNCj4+ ICAgICogR1BVIHJlY292ZXJzIGNhbid0IHJ1biBpbiBwYXJhbGxlbC4NCj4+ICAgICovDQo+PiAg ICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoc19qb2IsIHRtcCwgJnNjaGVkLT5yaW5nX21pcnJv cl9saXN0LCBub2RlKSB7DQo+PiAgICBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSA9IHNfam9iLT5z X2ZlbmNlLT5wYXJlbnQ7DQo+Pg0KPj4gKyBhdG9taWNfaW5jKCZzY2hlZC0+aHdfcnFfY291bnQp Ow0KPj4gKw0KPj4gKyBpZiAoIWZ1bGxfcmVjb3ZlcnkpDQo+PiArIGNvbnRpbnVlOw0KPj4gKw0K Pj4gICAgaWYgKGZlbmNlKSB7DQo+PiAgICByID0gZG1hX2ZlbmNlX2FkZF9jYWxsYmFjayhmZW5j ZSwgJnNfam9iLT5jYiwNCj4+ICAgICAgIGRybV9zY2hlZF9wcm9jZXNzX2pvYik7DQo+PiBAQCAt NDQ1LDkgKzQ0NCwxMiBAQCB2b2lkIGRybV9zY2hlZF9zdGFydChzdHJ1Y3QgZHJtX2dwdV9zY2hl ZHVsZXIgKnNjaGVkLCBib29sIGZ1bGxfcmVjb3ZlcnkpDQo+PiAgICBkcm1fc2NoZWRfcHJvY2Vz c19qb2IoTlVMTCwgJnNfam9iLT5jYik7DQo+PiAgICB9DQo+Pg0KPj4gLSBkcm1fc2NoZWRfc3Rh cnRfdGltZW91dChzY2hlZCk7DQo+PiArIGlmIChmdWxsX3JlY292ZXJ5KSB7DQo+PiArIHNwaW5f bG9ja19pcnFzYXZlKCZzY2hlZC0+am9iX2xpc3RfbG9jaywgZmxhZ3MpOw0KPj4gKyBkcm1fc2No ZWRfc3RhcnRfdGltZW91dChzY2hlZCk7DQo+PiArIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNj aGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7DQo+PiArIH0NCj4+DQo+PiAtdW5wYXJrOg0KPj4g ICAga3RocmVhZF91bnBhcmsoc2NoZWQtPnRocmVhZCk7DQo+PiAgICB9DQo+PiAgICBFWFBPUlRf U1lNQk9MKGRybV9zY2hlZF9zdGFydCk7DQo+PiBAQCAtNDY0LDcgKzQ2Niw2IEBAIHZvaWQgZHJt X3NjaGVkX3Jlc3VibWl0X2pvYnMoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCkNCj4+ ICAgIHVpbnQ2NF90IGd1aWx0eV9jb250ZXh0Ow0KPj4gICAgYm9vbCBmb3VuZF9ndWlsdHkgPSBm YWxzZTsNCj4+DQo+PiAtIC8qVE9ETyBETyB3ZSBuZWVkIHNwaW5sb2NrIGhlcmUgPyAqLw0KPj4g ICAgbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHNfam9iLCB0bXAsICZzY2hlZC0+cmluZ19taXJy b3JfbGlzdCwgbm9kZSkgew0KPj4gICAgc3RydWN0IGRybV9zY2hlZF9mZW5jZSAqc19mZW5jZSA9 IHNfam9iLT5zX2ZlbmNlOw0KPj4NCj4+IEBAIC00NzcsNyArNDc4LDYgQEAgdm9pZCBkcm1fc2No ZWRfcmVzdWJtaXRfam9icyhzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkKQ0KPj4gICAg ZG1hX2ZlbmNlX3NldF9lcnJvcigmc19mZW5jZS0+ZmluaXNoZWQsIC1FQ0FOQ0VMRUQpOw0KPj4N Cj4+ICAgIHNfam9iLT5zX2ZlbmNlLT5wYXJlbnQgPSBzY2hlZC0+b3BzLT5ydW5fam9iKHNfam9i KTsNCj4+IC0gYXRvbWljX2luYygmc2NoZWQtPmh3X3JxX2NvdW50KTsNCj4+ICAgIH0NCj4+ICAg IH0NCj4+ICAgIEVYUE9SVF9TWU1CT0woZHJtX3NjaGVkX3Jlc3VibWl0X2pvYnMpOw0KPj4gQEAg LTUxNCw3ICs1MTQsNiBAQCBpbnQgZHJtX3NjaGVkX2pvYl9pbml0KHN0cnVjdCBkcm1fc2NoZWRf am9iICpqb2IsDQo+PiAgICByZXR1cm4gLUVOT01FTTsNCj4+ICAgIGpvYi0+aWQgPSBhdG9taWM2 NF9pbmNfcmV0dXJuKCZzY2hlZC0+am9iX2lkX2NvdW50KTsNCj4+DQo+PiAtIElOSVRfV09SSygm am9iLT5maW5pc2hfd29yaywgZHJtX3NjaGVkX2pvYl9maW5pc2gpOw0KPj4gICAgSU5JVF9MSVNU X0hFQUQoJmpvYi0+bm9kZSk7DQo+Pg0KPj4gICAgcmV0dXJuIDA7DQo+PiBAQCAtNTk3LDI0ICs1 OTYsNTMgQEAgc3RhdGljIHZvaWQgZHJtX3NjaGVkX3Byb2Nlc3Nfam9iKHN0cnVjdCBkbWFfZmVu Y2UgKmYsIHN0cnVjdCBkbWFfZmVuY2VfY2IgKmNiKQ0KPj4gICAgc3RydWN0IGRybV9zY2hlZF9q b2IgKnNfam9iID0gY29udGFpbmVyX29mKGNiLCBzdHJ1Y3QgZHJtX3NjaGVkX2pvYiwgY2IpOw0K Pj4gICAgc3RydWN0IGRybV9zY2hlZF9mZW5jZSAqc19mZW5jZSA9IHNfam9iLT5zX2ZlbmNlOw0K Pj4gICAgc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCA9IHNfZmVuY2UtPnNjaGVkOw0K Pj4gLSB1bnNpZ25lZCBsb25nIGZsYWdzOw0KPj4gLQ0KPj4gLSBjYW5jZWxfZGVsYXllZF93b3Jr KCZzY2hlZC0+d29ya190ZHIpOw0KPj4NCj4+ICAgIGF0b21pY19kZWMoJnNjaGVkLT5od19ycV9j b3VudCk7DQo+PiAgICBhdG9taWNfZGVjKCZzY2hlZC0+bnVtX2pvYnMpOw0KPj4NCj4+IC0gc3Bp bl9sb2NrX2lycXNhdmUoJnNjaGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7DQo+PiAtIC8qIHJl bW92ZSBqb2IgZnJvbSByaW5nX21pcnJvcl9saXN0ICovDQo+PiAtIGxpc3RfZGVsX2luaXQoJnNf am9iLT5ub2RlKTsNCj4+IC0gc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NoZWQtPmpvYl9saXN0 X2xvY2ssIGZsYWdzKTsNCj4+ICsgdHJhY2VfZHJtX3NjaGVkX3Byb2Nlc3Nfam9iKHNfZmVuY2Up Ow0KPj4NCj4+ICAgIGRybV9zY2hlZF9mZW5jZV9maW5pc2hlZChzX2ZlbmNlKTsNCj4+IC0NCj4+ IC0gdHJhY2VfZHJtX3NjaGVkX3Byb2Nlc3Nfam9iKHNfZmVuY2UpOw0KPj4gICAgd2FrZV91cF9p bnRlcnJ1cHRpYmxlKCZzY2hlZC0+d2FrZV91cF93b3JrZXIpOw0KPj4gK30NCj4+ICsNCj4+ICsv KioNCj4+ICsgKiBkcm1fc2NoZWRfY2xlYW51cF9qb2JzIC0gZGVzdHJveSBmaW5pc2hlZCBqb2Jz DQo+PiArICoNCj4+ICsgKiBAc2NoZWQ6IHNjaGVkdWxlciBpbnN0YW5jZQ0KPj4gKyAqDQo+PiAr ICogUmVtb3ZlIGFsbCBmaW5pc2hlZCBqb2JzIGZyb20gdGhlIG1pcnJvciBsaXN0IGFuZCBkZXN0 cm95IHRoZW0uDQo+PiArICovDQo+PiArc3RhdGljIHZvaWQgZHJtX3NjaGVkX2NsZWFudXBfam9i cyhzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkKQ0KPj4gK3sNCj4+ICsgdW5zaWduZWQg bG9uZyBmbGFnczsNCj4+ICsNCj4+ICsgLyogRG9uJ3QgZGVzdHJveSBqb2JzIHdoaWxlIHRoZSB0 aW1lb3V0IHdvcmtlciBpcyBydW5uaW5nICovDQo+PiArIGlmICghY2FuY2VsX2RlbGF5ZWRfd29y aygmc2NoZWQtPndvcmtfdGRyKSkNCj4+ICsgcmV0dXJuOw0KPj4gKw0KPj4gKw0KPj4gKyB3aGls ZSAoIWxpc3RfZW1wdHkoJnNjaGVkLT5yaW5nX21pcnJvcl9saXN0KSkgew0KPj4gKyBzdHJ1Y3Qg ZHJtX3NjaGVkX2pvYiAqam9iOw0KPj4gKw0KPj4gKyBqb2IgPSBsaXN0X2ZpcnN0X2VudHJ5KCZz Y2hlZC0+cmluZ19taXJyb3JfbGlzdCwNCj4+ICsgICAgICAgIHN0cnVjdCBkcm1fc2NoZWRfam9i LCBub2RlKTsNCj4+ICsgaWYgKCFkbWFfZmVuY2VfaXNfc2lnbmFsZWQoJmpvYi0+c19mZW5jZS0+ ZmluaXNoZWQpKQ0KPj4gKyBicmVhazsNCj4+ICsNCj4+ICsgc3Bpbl9sb2NrX2lycXNhdmUoJnNj aGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7DQo+PiArIC8qIHJlbW92ZSBqb2IgZnJvbSByaW5n X21pcnJvcl9saXN0ICovDQo+PiArIGxpc3RfZGVsX2luaXQoJmpvYi0+bm9kZSk7DQo+PiArIHNw aW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjaGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7DQo+PiAr DQo+PiArIHNjaGVkLT5vcHMtPmZyZWVfam9iKGpvYik7DQo+PiArIH0NCj4+ICsNCj4+ICsgLyog cXVldWUgdGltZW91dCBmb3IgbmV4dCBqb2IgKi8NCj4+ICsgc3Bpbl9sb2NrX2lycXNhdmUoJnNj aGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7DQo+PiArIGRybV9zY2hlZF9zdGFydF90aW1lb3V0 KHNjaGVkKTsNCj4+ICsgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NoZWQtPmpvYl9saXN0X2xv Y2ssIGZsYWdzKTsNCj4+DQo+PiAtIHNjaGVkdWxlX3dvcmsoJnNfam9iLT5maW5pc2hfd29yayk7 DQo+PiAgICB9DQo+Pg0KPj4gICAgLyoqDQo+PiBAQCAtNjU2LDkgKzY4NCwxMCBAQCBzdGF0aWMg aW50IGRybV9zY2hlZF9tYWluKHZvaWQgKnBhcmFtKQ0KPj4gICAgc3RydWN0IGRtYV9mZW5jZSAq ZmVuY2U7DQo+Pg0KPj4gICAgd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlKHNjaGVkLT53YWtlX3Vw X3dvcmtlciwNCj4+ICsgKGRybV9zY2hlZF9jbGVhbnVwX2pvYnMoc2NoZWQpLA0KPj4gICAgKCFk cm1fc2NoZWRfYmxvY2tlZChzY2hlZCkgJiYNCj4+ICAgICAgKGVudGl0eSA9IGRybV9zY2hlZF9z ZWxlY3RfZW50aXR5KHNjaGVkKSkpIHx8DQo+PiAtIGt0aHJlYWRfc2hvdWxkX3N0b3AoKSk7DQo+ PiArIGt0aHJlYWRfc2hvdWxkX3N0b3AoKSkpOw0KPj4NCj4+ICAgIGlmICghZW50aXR5KQ0KPj4g ICAgY29udGludWU7DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3YzZC92M2Rfc2No ZWQuYyBiL2RyaXZlcnMvZ3B1L2RybS92M2QvdjNkX3NjaGVkLmMNCj4+IGluZGV4IGU3NDBmM2Iu LjFhNGFiZTcgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdjNkL3YzZF9zY2hlZC5j DQo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdjNkL3YzZF9zY2hlZC5jDQo+PiBAQCAtMjMyLDcg KzIzMiw3IEBAIHYzZF9ncHVfcmVzZXRfZm9yX3RpbWVvdXQoc3RydWN0IHYzZF9kZXYgKnYzZCwg c3RydWN0IGRybV9zY2hlZF9qb2IgKnNjaGVkX2pvYikNCj4+DQo+PiAgICAvKiBibG9jayBzY2hl ZHVsZXIgKi8NCj4+ICAgIGZvciAocSA9IDA7IHEgPCBWM0RfTUFYX1FVRVVFUzsgcSsrKQ0KPj4g LSBkcm1fc2NoZWRfc3RvcCgmdjNkLT5xdWV1ZVtxXS5zY2hlZCk7DQo+PiArIGRybV9zY2hlZF9z dG9wKCZ2M2QtPnF1ZXVlW3FdLnNjaGVkLCBzY2hlZF9qb2IpOw0KPj4NCj4+ICAgIGlmIChzY2hl ZF9qb2IpDQo+PiAgICBkcm1fc2NoZWRfaW5jcmVhc2Vfa2FybWEoc2NoZWRfam9iKTsNCj4+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmggYi9pbmNsdWRlL2RybS9ncHVf c2NoZWR1bGVyLmgNCj4+IGluZGV4IDBkYWNhNGQuLjllZTBmMjcgMTAwNjQ0DQo+PiAtLS0gYS9p bmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgNCj4+ICsrKyBiL2luY2x1ZGUvZHJtL2dwdV9zY2hl ZHVsZXIuaA0KPj4gQEAgLTE2Nyw5ICsxNjcsNiBAQCBzdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlICp0 b19kcm1fc2NoZWRfZmVuY2Uoc3RydWN0IGRtYV9mZW5jZSAqZik7DQo+PiAgICAgKiBAc2NoZWQ6 IHRoZSBzY2hlZHVsZXIgaW5zdGFuY2Ugb24gd2hpY2ggdGhpcyBqb2IgaXMgc2NoZWR1bGVkLg0K Pj4gICAgICogQHNfZmVuY2U6IGNvbnRhaW5zIHRoZSBmZW5jZXMgZm9yIHRoZSBzY2hlZHVsaW5n IG9mIGpvYi4NCj4+ICAgICAqIEBmaW5pc2hfY2I6IHRoZSBjYWxsYmFjayBmb3IgdGhlIGZpbmlz aGVkIGZlbmNlLg0KPj4gLSAqIEBmaW5pc2hfd29yazogc2NoZWR1bGVzIHRoZSBmdW5jdGlvbiBA ZHJtX3NjaGVkX2pvYl9maW5pc2ggb25jZSB0aGUgam9iIGhhcw0KPj4gLSAqICAgICAgICAgICAg ICAgZmluaXNoZWQgdG8gcmVtb3ZlIHRoZSBqb2IgZnJvbSB0aGUNCj4+IC0gKiAgICAgICAgICAg ICAgIEBkcm1fZ3B1X3NjaGVkdWxlci5yaW5nX21pcnJvcl9saXN0Lg0KPj4gICAgICogQG5vZGU6 IHVzZWQgdG8gYXBwZW5kIHRoaXMgc3RydWN0IHRvIHRoZSBAZHJtX2dwdV9zY2hlZHVsZXIucmlu Z19taXJyb3JfbGlzdC4NCj4+ICAgICAqIEBpZDogYSB1bmlxdWUgaWQgYXNzaWduZWQgdG8gZWFj aCBqb2Igc2NoZWR1bGVkIG9uIHRoZSBzY2hlZHVsZXIuDQo+PiAgICAgKiBAa2FybWE6IGluY3Jl bWVudCBvbiBldmVyeSBoYW5nIGNhdXNlZCBieSB0aGlzIGpvYi4gSWYgdGhpcyBleGNlZWRzIHRo ZSBoYW5nDQo+PiBAQCAtMTg4LDcgKzE4NSw2IEBAIHN0cnVjdCBkcm1fc2NoZWRfam9iIHsNCj4+ ICAgIHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQ7DQo+PiAgICBzdHJ1Y3QgZHJtX3Nj aGVkX2ZlbmNlICpzX2ZlbmNlOw0KPj4gICAgc3RydWN0IGRtYV9mZW5jZV9jYiBmaW5pc2hfY2I7 DQo+PiAtIHN0cnVjdCB3b3JrX3N0cnVjdCBmaW5pc2hfd29yazsNCj4+ICAgIHN0cnVjdCBsaXN0 X2hlYWQgbm9kZTsNCj4+ICAgIHVpbnQ2NF90IGlkOw0KPj4gICAgYXRvbWljX3Qga2FybWE7DQo+ PiBAQCAtMjk2LDcgKzI5Miw3IEBAIGludCBkcm1fc2NoZWRfam9iX2luaXQoc3RydWN0IGRybV9z Y2hlZF9qb2IgKmpvYiwNCj4+ICAgICAgICAgICB2b2lkICpvd25lcik7DQo+PiAgICB2b2lkIGRy bV9zY2hlZF9qb2JfY2xlYW51cChzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqam9iKTsNCj4+ICAgIHZv aWQgZHJtX3NjaGVkX3dha2V1cChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkKTsNCj4+ IC12b2lkIGRybV9zY2hlZF9zdG9wKHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQpOw0K Pj4gK3ZvaWQgZHJtX3NjaGVkX3N0b3Aoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCwg c3RydWN0IGRybV9zY2hlZF9qb2IgKmJhZCk7DQo+PiAgICB2b2lkIGRybV9zY2hlZF9zdGFydChz dHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkLCBib29sIGZ1bGxfcmVjb3ZlcnkpOw0KPj4g ICAgdm9pZCBkcm1fc2NoZWRfcmVzdWJtaXRfam9icyhzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIg KnNjaGVkKTsNCj4+ICAgIHZvaWQgZHJtX3NjaGVkX2luY3JlYXNlX2thcm1hKHN0cnVjdCBkcm1f c2NoZWRfam9iICpiYWQpOw0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXw0KPiBhbWQtZ2Z4IG1haWxpbmcgbGlzdA0KPiBhbWQtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZzxtYWlsdG86YW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc+DQo+IGh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA0KX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCmFtZC1nZnggbWFpbGlu ZyBsaXN0DQphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzxtYWlsdG86YW1kLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmc+DQpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2FtZC1nZngNCg== --_000_bb40a420cf4e51e5aa9678ae1cc470c4amdcom_ Content-Type: text/html; charset="utf-8" Content-ID: <164DEB201C4BF747973ED264F1FC5495@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHRleHQ9IiMwMDAwMDAi IGJnY29sb3I9IiNGRkZGRkYiPg0KPHA+PGJyPg0KPC9wPg0KPGRpdiBjbGFzcz0ibW96LWNpdGUt cHJlZml4Ij5PbiA0LzIzLzE5IDEwOjQ0IEFNLCBaaG91LCBEYXZpZChDaHVuTWluZykgd3JvdGU6 PGJyPg0KPC9kaXY+DQo8YmxvY2txdW90ZSB0eXBlPSJjaXRlIiBjaXRlPSJtaWQ6ZXF5cDBxLXh3 M280dC01c2k4cWctM2p4bnZ0N25iMHM1dHJydXRqLXVlbHFhZ2Z3cjY5d3Byd2s3dHk3djJ1M3Mx ajB0YWJjc2xxLXVrc2c5bzNvaWR5MjI1NDBoZC1rZmJrYm8taGJsNTVuLXplb2Vuby15Z3FlYXc1 dGVhM3Mtb2E3ZWdqLWptdDF3OC1uNXhpdDBtMXB5b2IuMTU1NjAzMDY0NTI0M0BlbWFpbC5hbmRy b2lkLmNvbSI+DQpUaGlzIHBhdGNoIGlzIHRvIGZpeCBkZWFkbG9jayBiZXR3ZWVuIGZlbmNlLSZn dDtsb2NrIGFuZCBzY2hlZC0mZ3Q7am9iX2xpc3RfbG9jaywgcmlnaHQ/PGJyPg0KU28gSSBzdWdn ZXN0IHRvIGp1c3QgbW92ZSBsaXN0X2RlbF9pbml0KCZhbXA7c19qb2ItJmd0O25vZGUpIGZyb20g ZHJtX3NjaGVkX3Byb2Nlc3Nfam9iIHRvIHdvcmsgdGhyZWFkLiBUaGF0IHdpbGwgYXZvaWQgZGVh ZGxvY2sgZGVzY3JpYmVkIGluIHRoZSBsaW5rLg0KPC9ibG9ja3F1b3RlPg0KPHA+PGJyPg0KPC9w Pg0KPHA+RG8geW91IG1lYW4gcmVzdG9yaW5nIGJhY2sgc2NoZWR1bGluZyB3b3JrIGZyb20gSFcg ZmVuY2UgaW50ZXJydXB0IGhhbmRsZXIgYW5kIGRlbGV0aW5nIHRoZXJlID8gWWVzLCBJIHN1Z2dl c3RlZCB0aGlzIGFzIGFuIG9wdGlvbiAodGFrZSBhIGxvb2sgYXQgbXkgY29tbWVudCA5IGluDQo8 YSBjbGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwczovL2J1Z3MuZnJlZWRl c2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk2OTIiPg0KaHR0cHM6Ly9idWdzLmZyZWVkZXNr dG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NjkyPC9hPikmbmJzcDsgYnV0IHNpbmNlIHdlIHN0 aWxsIGhhdmUgdG8gd2FpdCBmb3IgYWxsIGZlbmNlcyBpbiBmbGlnaHQgdG8gc2lnbmFsIHRvIGF2 b2lkIHRoZSBwcm9ibGVtIGZpeGVkIGluICczNzQxNTQwIGRybS9zY2hlZDogUmV3b3JrIEhXIGZl bmNlIHByb2Nlc3NpbmcuJyB0aGlzIHRoaW5nIGJlY29tZXMgc29tZXdoYXQgY29tcGxpY2F0ZWQg YW5kIHNvIENocmlzdGlhbg0KIGNhbWUgdXAgd2l0aCB0aGUgY29yZSBpZGVhIGluIHRoaXMgcGF0 Y2ggd2hpY2ggaXMgdG8gZG8gYWxsIGRlbGV0aW9ucy9pbnNlcnRpb25zIHRocmVhZCBzYWZlIGJ5 IGdyYW50ZWUgaXQncyBhbHdheXMgZG9tZSBmcm9tIG9uZSB0aHJlYWQuJm5ic3A7IEl0IGRvZXMg c2ltcGxpZnkgdGhlIGhhbmRsaW5nLjwvcD4NCjxwPkFuZHJleTwvcD4NCjxwPjxicj4NCjwvcD4N CjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiIGNpdGU9Im1pZDplcXlwMHEteHczbzR0LTVzaThxZy0z anhudnQ3bmIwczV0cnJ1dGotdWVscWFnZndyNjl3cHJ3azd0eTd2MnUzczFqMHRhYmNzbHEtdWtz ZzlvM29pZHkyMjU0MGhkLWtmYmtiby1oYmw1NW4temVvZW5vLXlncWVhdzV0ZWEzcy1vYTdlZ2ot am10MXc4LW41eGl0MG0xcHlvYi4xNTU2MDMwNjQ1MjQzQGVtYWlsLmFuZHJvaWQuY29tIj4NCjxk aXYgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuNSI+PGJyPg0KPGJyPg0KLS0tLS0tLS0gT3JpZ2luYWwg TWVzc2FnZSAtLS0tLS0tLTxicj4NClN1YmplY3Q6IFJlOiBbUEFUQ0ggdjUgMy82XSBkcm0vc2No ZWR1bGVyOiByZXdvcmsgam9iIGRlc3RydWN0aW9uPGJyPg0KRnJvbTogJnF1b3Q7R3JvZHpvdnNr eSwgQW5kcmV5JnF1b3Q7IDxhbmRyZXkuZ3JvZHpvdnNreUBhbWQuY29tPjxicj4NClRvOiAmcXVv dDtaaG91LCBEYXZpZChDaHVuTWluZykmcXVvdDsgPGRhdmlkMS56aG91QGFtZC5jb20+LDxhIGNs YXNzPSJtb3otdHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9Im1haWx0bzpkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnLGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnLGVyaWNAYW5o b2x0Lm5ldCxldG5hdml2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZyxja29lbmlnLmxlaWNodHp1bWVy a2VuQGdtYWlsLmNvbSI+ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZyxhbWQtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZyxlcmljQGFuaG9sdC5uZXQsZXRuYXZpdkBsaXN0cy5mcmVlZGVz a3RvcC5vcmcsY2tvZW5pZy5sZWljaHR6dW1lcmtlbkBnbWFpbC5jb208L2E+PGJyPg0KQ0M6ICZx dW90O0themxhdXNrYXMsIE5pY2hvbGFzJnF1b3Q7IDxuaWNob2xhcy5rYXpsYXVza2FzQGFtZC5j b20+LCZxdW90O0tvZW5pZywgQ2hyaXN0aWFuJnF1b3Q7IDxjaHJpc3RpYW4ua29lbmlnQGFtZC5j b20+DQo8YnI+DQo8YnI+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luOjAgMCAwIDAuOGV4O2Jv cmRlci1sZWZ0OjFweA0KICAgICAgICAgICAgICAgICAgI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6 MWV4Ij4NCjxibG9ja3F1b3RlIGNsYXNzPSJxdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMA0KICAg ICAgICAgICAgICAgICAgICAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmct bGVmdDoxZXgiPg0KPGJyPg0KT24gNC8yMi8xOSA4OjQ4IEFNLCBDaHVubWluZyBaaG91IHdyb3Rl Ojxicj4NCiZndDsgSGkgQW5kcmV5LDxicj4NCiZndDs8YnI+DQomZ3Q7IHN0YXRpYyB2b2lkIGRy bV9zY2hlZF9wcm9jZXNzX2pvYihzdHJ1Y3QgZG1hX2ZlbmNlICpmLCBzdHJ1Y3Q8YnI+DQomZ3Q7 IGRtYV9mZW5jZV9jYiAqY2IpPGJyPg0KJmd0OyB7PGJyPg0KJmd0OyAuLi48YnI+DQomZ3Q7Jm5i c3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzcGlu X2xvY2tfaXJxc2F2ZSgmYW1wO3NjaGVkLSZndDtqb2JfbGlzdF9sb2NrLCBmbGFncyk7PGJyPg0K Jmd0OyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgLyogcmVtb3ZlIGpvYiBmcm9tIHJpbmdfbWlycm9yX2xpc3QgKi88YnI+DQomZ3Q7Jm5ic3A7 Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBsaXN0X2Rl bF9pbml0KCZhbXA7c19qb2ItJmd0O25vZGUpOzxicj4NCiZndDsmbmJzcDsmbmJzcDsgJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJmFtcDtzY2hlZC0mZ3Q7am9iX2xpc3RfbG9jaywgZmxhZ3MpOzxicj4NCiZndDsgW0Rhdmlk XSBIb3cgYWJvdXQganVzdCByZW1vdmUgYWJvdmUgdG8gd29ya2VyIGZyb20gaXJxIHByb2Nlc3M/ IEFueTxicj4NCiZndDsgcHJvYmxlbT8gTWF5YmUgSSBtaXNzZWQgcHJldmlvdXMgeW91ciBkaXNj dXNzaW9uLCBidXQgSSB0aGluayByZW1vdmluZzxicj4NCiZndDsgbG9jayBmb3IgbGlzdCBpcyBh IHJpc2sgZm9yIGZ1dHVyZSBtYWludGVuYW5jZSBhbHRob3VnaCB5b3UgbWFrZSBzdXJlPGJyPg0K Jmd0OyB0aHJlYWQgc2FmZSBjdXJyZW50bHkuPGJyPg0KJmd0Ozxicj4NCiZndDsgLURhdmlkPGJy Pg0KPGJyPg0KPGJyPg0KV2UgcmVtb3ZlIHRoZSBsb2NrIGV4YWN0bHkgYmVjYXVzZSBvZiB0aGUg ZmFjdCB0aGF0IGluc2VydGlvbiBhbmQgPGJyPg0KcmVtb3ZhbCB0by9mcm9tIHRoZSBsaXN0IHdp bGwgYmUgZG9uZSBmb3JtIGV4YWN0bHkgb25lIHRocmVhZCBhdCBhbnQgPGJyPg0KdGltZSBub3cu IFNvIEkgYW0gbm90IHN1cmUgSSB1bmRlcnN0YW5kIHdoYXQgeW91IG1lYW4uPGJyPg0KPGJyPg0K QW5kcmV5PGJyPg0KPGJyPg0KPGJyPg0KJmd0Ozxicj4NCiZndDsgLi4uPGJyPg0KJmd0Ozxicj4N CiZndDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IHNjaGVkdWxlX3dvcmsoJmFtcDtzX2pvYi0mZ3Q7ZmluaXNoX3dvcmspOzxicj4NCiZndDsg fTxicj4NCiZndDs8YnI+DQomZ3Q7IOWcqCAyMDE5LzQvMTggMjM6MDAsIEFuZHJleSBHcm9kem92 c2t5IOWGmemBkzo8YnI+DQomZ3Q7Jmd0OyBGcm9tOiBDaHJpc3RpYW4gS8O2bmlnIDxhIGNsYXNz PSJtb3otdHh0LWxpbmstcmZjMjM5NkUiIGhyZWY9Im1haWx0bzpjaHJpc3RpYW4ua29lbmlnQGFt ZC5jb20iPg0KJmx0O2NocmlzdGlhbi5rb2VuaWdAYW1kLmNvbSZndDs8L2E+PGJyPg0KJmd0OyZn dDs8YnI+DQomZ3Q7Jmd0OyBXZSBub3cgZGVzdHJveSBmaW5pc2hlZCBqb2JzIGZyb20gdGhlIHdv cmtlciB0aHJlYWQgdG8gbWFrZSBzdXJlIHRoYXQ8YnI+DQomZ3Q7Jmd0OyB3ZSBuZXZlciBkZXN0 cm95IGEgam9iIGN1cnJlbnRseSBpbiB0aW1lb3V0IHByb2Nlc3NpbmcuPGJyPg0KJmd0OyZndDsg QnkgdGhpcyB3ZSBhdm9pZCBob2xkaW5nIGxvY2sgYXJvdW5kIHJpbmcgbWlycm9yIGxpc3QgaW4g ZHJtX3NjaGVkX3N0b3A8YnI+DQomZ3Q7Jmd0OyB3aGljaCBzaG91bGQgc29sdmUgYSBkZWFkbG9j ayByZXBvcnRlZCBieSBhIHVzZXIuPGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyB2MjogUmVt b3ZlIHVudXNlZCB2YXJpYWJsZS48YnI+DQomZ3Q7Jmd0OyB2NDogTW92ZSBndWlsdHkgam9iIGZy ZWUgaW50byBzY2hlZCBjb2RlLjxicj4NCiZndDsmZ3Q7IHY1Ojxicj4NCiZndDsmZ3Q7IE1vdmUg c2NoZWQtJmd0O2h3X3JxX2NvdW50IHRvIGRybV9zY2hlZF9zdGFydCB0byBhY2NvdW50IGZvciBj b3VudGVyPGJyPg0KJmd0OyZndDsgZGVjcmVtZW50IGluIGRybV9zY2hlZF9zdG9wIGV2ZW4gd2hl biB3ZSBkb24ndCBjYWxsIHJlc3VibWl0IGpvYnM8YnI+DQomZ3Q7Jmd0OyBpZiBndWlseSBqb2Ig ZGlkIHNpZ25hbC48YnI+DQomZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7IEJ1Z3ppbGxhOiA8YSBjbGFz cz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Au b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk2OTIiPg0KaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9y Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NjkyPC9hPjxicj4NCiZndDsmZ3Q7PGJyPg0KJmd0OyZndDsg U2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8YSBjbGFzcz0ibW96LXR4dC1saW5rLXJm YzIzOTZFIiBocmVmPSJtYWlsdG86Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tIj4NCiZsdDtjaHJp c3RpYW4ua29lbmlnQGFtZC5jb20mZ3Q7PC9hPjxicj4NCiZndDsmZ3Q7IFNpZ25lZC1vZmYtYnk6 IEFuZHJleSBHcm9kem92c2t5IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstcmZjMjM5NkUiIGhyZWY9 Im1haWx0bzphbmRyZXkuZ3JvZHpvdnNreUBhbWQuY29tIj4NCiZsdDthbmRyZXkuZ3JvZHpvdnNr eUBhbWQuY29tJmd0OzwvYT48YnI+DQomZ3Q7Jmd0OyAtLS08YnI+DQomZ3Q7Jmd0OyZuYnNwOyZu YnNwOyZuYnNwOyBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgfCZu YnNwOyZuYnNwOyA5ICYjNDM7LTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRyaXZl cnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZHVtcC5jJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IHwmbmJzcDsmbmJzcDsgNCAtPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9zY2hlZC5jJm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJz cDsmbmJzcDsgMiAmIzQzOy08YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBkcml2ZXJz L2dwdS9kcm0vbGltYS9saW1hX3NjaGVkLmMmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyAyICYjNDM7LTxicj4NCiZndDsm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9q b2IuYyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7IDIgJiM0MzstPGJyPg0KJmd0OyZn dDsmbmJzcDsmbmJzcDsmbmJzcDsgZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWlu LmMmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCAxNTkgJiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQz OyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0Mzsm IzQzOy0tLS0tLS0tLS0tLTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRyaXZlcnMv Z3B1L2RybS92M2QvdjNkX3NjaGVkLmMmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyAyICYjNDM7LTxi cj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGluY2x1ZGUvZHJtL2dwdV9zY2hlZHVsZXIu aCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7IDYgJiM0Mzst PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgOCBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5z ZXJ0aW9ucygmIzQzOyksIDg0IGRlbGV0aW9ucygtKTxicj4NCiZndDsmZ3Q7PGJyPg0KJmd0OyZn dDsgZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2Uu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYzxicj4NCiZndDsm Z3Q7IGluZGV4IDdjZWUyNjkuLmEwZTE2NWMgMTAwNjQ0PGJyPg0KJmd0OyZndDsgLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jPGJyPg0KJmd0OyZndDsgJiM0 MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5j PGJyPg0KJmd0OyZndDsgQEAgLTMzMzQsNyAmIzQzOzMzMzQsNyBAQCBzdGF0aWMgaW50IGFtZGdw dV9kZXZpY2VfcHJlX2FzaWNfcmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsPGJyPg0K Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKCFyaW5nIHx8ICFyaW5nLSZndDtzY2hlZC50 aHJlYWQpPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgY29udGludWU7PGJyPg0KJmd0 OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsgLSBkcm1fc2NoZWRfc3RvcCgm YW1wO3JpbmctJmd0O3NjaGVkKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyBkcm1fc2NoZWRfc3RvcCgm YW1wO3JpbmctJmd0O3NjaGVkLCAmYW1wO2pvYi0mZ3Q7YmFzZSk7PGJyPg0KJmd0OyZndDsmbmJz cDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogYWZ0ZXIg YWxsIGh3IGpvYnMgYXJlIHJlc2V0LCBodyBmZW5jZSBpcyBtZWFuaW5nbGVzcywgc28gZm9yY2Vf Y29tcGxldGlvbiAqLzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGFtZGdwdV9mZW5j ZV9kcml2ZXJfZm9yY2VfY29tcGxldGlvbihyaW5nKTs8YnI+DQomZ3Q7Jmd0OyBAQCAtMzM0Myw4 ICYjNDM7MzM0Myw2IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2RldmljZV9wcmVfYXNpY19yZXNldChz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiw8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNw OyBpZihqb2IpPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgZHJtX3NjaGVkX2luY3Jl YXNlX2thcm1hKCZhbXA7am9iLSZndDtiYXNlKTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZu YnNwOyA8YnI+DQomZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IGlmICghYW1kZ3B1X3NyaW92X3ZmKGFkZXYpKSB7PGJyPg0KJmd0OyZndDsm bmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKCFu ZWVkX2Z1bGxfcmVzZXQpPGJyPg0KJmd0OyZndDsgQEAgLTM0ODIsOCAmIzQzOzM0ODAsNyBAQCBz dGF0aWMgaW50IGFtZGdwdV9kb19hc2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfaGl2ZV9pbmZvICpo aXZlLDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiByOzxicj4NCiZndDsm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8 YnI+DQomZ3Q7Jmd0OyAtc3RhdGljIHZvaWQgYW1kZ3B1X2RldmljZV9wb3N0X2FzaWNfcmVzZXQo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsPGJyPg0KJmd0OyZndDsgLSAmbmJzcDsgc3RydWN0 IGFtZGdwdV9qb2IgKmpvYik8YnI+DQomZ3Q7Jmd0OyAmIzQzO3N0YXRpYyB2b2lkIGFtZGdwdV9k ZXZpY2VfcG9zdF9hc2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTxicj4NCiZn dDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNw OyBpbnQgaTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+DQomZ3Q7Jmd0OyBA QCAtMzYyMyw3ICYjNDM7MzYyMCw3IEBAIGludCBhbWRncHVfZGV2aWNlX2dwdV9yZWNvdmVyKHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIFBvc3QgQVNJQyByZXNldCBmb3Ig YWxsIGRldnMgLiovPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgbGlzdF9mb3JfZWFj aF9lbnRyeSh0bXBfYWRldiwgZGV2aWNlX2xpc3RfaGFuZGxlLCBnbWMueGdtaS5oZWFkKSB7PGJy Pg0KJmd0OyZndDsgLSBhbWRncHVfZGV2aWNlX3Bvc3RfYXNpY19yZXNldCh0bXBfYWRldiwgdG1w X2FkZXYgPT0gYWRldiA/IGpvYiA6IE5VTEwpOzxicj4NCiZndDsmZ3Q7ICYjNDM7IGFtZGdwdV9k ZXZpY2VfcG9zdF9hc2ljX3Jlc2V0KHRtcF9hZGV2KTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNw OyZuYnNwOyA8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAocikgezxicj4NCiZn dDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIGJhZCBuZXdzLCBob3cgdG8gdGVsbCBpdCB0byB1 c2Vyc3BhY2UgPyAqLzxicj4NCiZndDsmZ3Q7IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZXRuYXZpdi9ldG5hdml2X2R1bXAuYyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZf ZHVtcC5jPGJyPg0KJmd0OyZndDsgaW5kZXggMzM4NTRjOS4uNTc3OGQ5YyAxMDA2NDQ8YnI+DQom Z3Q7Jmd0OyAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2R1bXAuYzxicj4N CiZndDsmZ3Q7ICYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2 aXZfZHVtcC5jPGJyPg0KJmd0OyZndDsgQEAgLTEzNSwxMyAmIzQzOzEzNSwxMSBAQCB2b2lkIGV0 bmF2aXZfY29yZV9kdW1wKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1KTxicj4NCiZndDsmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyBtbXVfc2l6ZSAmIzQzOyBncHUtJmd0 O2J1ZmZlci5zaXplOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIEFkZCBpbiB0aGUgYWN0aXZlIGNvbW1hbmQgYnVmZmVy cyAqLzxicj4NCiZndDsmZ3Q7IC0gc3Bpbl9sb2NrX2lycXNhdmUoJmFtcDtncHUtJmd0O3NjaGVk LmpvYl9saXN0X2xvY2ssIGZsYWdzKTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBs aXN0X2Zvcl9lYWNoX2VudHJ5KHNfam9iLCAmYW1wO2dwdS0mZ3Q7c2NoZWQucmluZ19taXJyb3Jf bGlzdCwgbm9kZSkgezxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN1Ym1pdCA9IHRv X2V0bmF2aXZfc3VibWl0KHNfam9iKTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBm aWxlX3NpemUgJiM0Mzs9IHN1Ym1pdC0mZ3Q7Y21kYnVmLnNpemU7PGJyPg0KJmd0OyZndDsmbmJz cDsmbmJzcDsmbmJzcDsgbl9vYmomIzQzOyYjNDM7Ozxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyAtIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmFtcDtncHUt Jmd0O3NjaGVkLmpvYl9saXN0X2xvY2ssIGZsYWdzKTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNw OyZuYnNwOyA8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBBZGQgaW4gdGhlIGFj dGl2ZSBidWZmZXIgb2JqZWN0cyAqLzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGxp c3RfZm9yX2VhY2hfZW50cnkodnJhbSwgJmFtcDtncHUtJmd0O21tdS0mZ3Q7bWFwcGluZ3MsIG1t dV9ub2RlKSB7PGJyPg0KJmd0OyZndDsgQEAgLTE4MywxNCAmIzQzOzE4MSwxMiBAQCB2b2lkIGV0 bmF2aXZfY29yZV9kdW1wKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1KTxicj4NCiZndDsmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBncHUtJmd0O2J1 ZmZlci5zaXplLDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBldG5hdml2X2NtZGJ1Zl9nZXRfdmEoJmFtcDtncHUtJmd0O2J1ZmZl cikpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7IC0gc3Bp bl9sb2NrX2lycXNhdmUoJmFtcDtncHUtJmd0O3NjaGVkLmpvYl9saXN0X2xvY2ssIGZsYWdzKTs8 YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBsaXN0X2Zvcl9lYWNoX2VudHJ5KHNfam9i LCAmYW1wO2dwdS0mZ3Q7c2NoZWQucmluZ19taXJyb3JfbGlzdCwgbm9kZSkgezxicj4NCiZndDsm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN1Ym1pdCA9IHRvX2V0bmF2aXZfc3VibWl0KHNfam9iKTs8 YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBldG5hdml2X2NvcmVfZHVtcF9tZW0oJmFt cDtpdGVyLCBFVERVTVBfQlVGX0NNRCw8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyAm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3VibWl0LSZndDtjbWRidWYudmFkZHIsIHN1 Ym1pdC0mZ3Q7Y21kYnVmLnNpemUsPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGV0bmF2aXZfY21kYnVmX2dldF92YSgmYW1wO3N1 Ym1pdC0mZ3Q7Y21kYnVmKSk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4N CiZndDsmZ3Q7IC0gc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmYW1wO2dwdS0mZ3Q7c2NoZWQuam9i X2xpc3RfbG9jaywgZmxhZ3MpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4N CiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIFJlc2VydmUgc3BhY2UgZm9yIHRoZSBib21h cCAqLzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChuX2JvbWFwX3BhZ2VzKSB7 PGJyPg0KJmd0OyZndDsgZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2 aXZfc2NoZWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfc2NoZWQuYzxicj4N CiZndDsmZ3Q7IGluZGV4IDZkMjRmZWEuLmE4MTNjODIgMTAwNjQ0PGJyPg0KJmd0OyZndDsgLS0t IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9zY2hlZC5jPGJyPg0KJmd0OyZndDsg JiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9zY2hlZC5j PGJyPg0KJmd0OyZndDsgQEAgLTEwOSw3ICYjNDM7MTA5LDcgQEAgc3RhdGljIHZvaWQgZXRuYXZp dl9zY2hlZF90aW1lZG91dF9qb2Ioc3RydWN0IGRybV9zY2hlZF9qb2IgKnNjaGVkX2pvYik8YnI+ DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsm bmJzcDsgPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogYmxvY2sgc2NoZWR1bGVy ICovPGJyPg0KJmd0OyZndDsgLSBkcm1fc2NoZWRfc3RvcCgmYW1wO2dwdS0mZ3Q7c2NoZWQpOzxi cj4NCiZndDsmZ3Q7ICYjNDM7IGRybV9zY2hlZF9zdG9wKCZhbXA7Z3B1LSZndDtzY2hlZCwgc2No ZWRfam9iKTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+DQomZ3Q7Jmd0OyZu YnNwOyZuYnNwOyZuYnNwOyBpZihzY2hlZF9qb2IpPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsm bmJzcDsgZHJtX3NjaGVkX2luY3JlYXNlX2thcm1hKHNjaGVkX2pvYik7PGJyPg0KJmd0OyZndDsg ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9saW1hL2xpbWFfc2NoZWQuYyBiL2RyaXZlcnMv Z3B1L2RybS9saW1hL2xpbWFfc2NoZWQuYzxicj4NCiZndDsmZ3Q7IGluZGV4IDk3YmQ5YzEuLmRm OTg5MzEgMTAwNjQ0PGJyPg0KJmd0OyZndDsgLS0tIGEvZHJpdmVycy9ncHUvZHJtL2xpbWEvbGlt YV9zY2hlZC5jPGJyPg0KJmd0OyZndDsgJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJt L2xpbWEvbGltYV9zY2hlZC5jPGJyPg0KJmd0OyZndDsgQEAgLTMwMCw3ICYjNDM7MzAwLDcgQEAg c3RhdGljIHN0cnVjdCBkbWFfZmVuY2UgKmxpbWFfc2NoZWRfcnVuX2pvYihzdHJ1Y3QgZHJtX3Nj aGVkX2pvYiAqam9iKTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0YXRpYyB2b2lk IGxpbWFfc2NoZWRfaGFuZGxlX2Vycm9yX3Rhc2soc3RydWN0IGxpbWFfc2NoZWRfcGlwZSAqcGlw ZSw8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgbGltYV9zY2hlZF90YXNr ICp0YXNrKTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHs8YnI+DQomZ3Q7Jmd0OyAt IGRybV9zY2hlZF9zdG9wKCZhbXA7cGlwZS0mZ3Q7YmFzZSk7PGJyPg0KJmd0OyZndDsgJiM0Mzsg ZHJtX3NjaGVkX3N0b3AoJmFtcDtwaXBlLSZndDtiYXNlLCAmYW1wO3Rhc2stJmd0O2Jhc2UpOzxi cj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGlmICh0YXNrKTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRybV9zY2hl ZF9pbmNyZWFzZV9rYXJtYSgmYW1wO3Rhc2stJmd0O2Jhc2UpOzxicj4NCiZndDsmZ3Q7IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3Rfam9iLmMgYi9kcml2ZXJz L2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3Rfam9iLmM8YnI+DQomZ3Q7Jmd0OyBpbmRleCAwYTdl ZDA0Li5jNjMzNmI3IDEwMDY0NDxicj4NCiZndDsmZ3Q7IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9w YW5mcm9zdC9wYW5mcm9zdF9qb2IuYzxicj4NCiZndDsmZ3Q7ICYjNDM7JiM0MzsmIzQzOyBiL2Ry aXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9qb2IuYzxicj4NCiZndDsmZ3Q7IEBAIC0z ODUsNyAmIzQzOzM4NSw3IEBAIHN0YXRpYyB2b2lkIHBhbmZyb3N0X2pvYl90aW1lZG91dChzdHJ1 Y3QgZHJtX3NjaGVkX2pvYiAqc2NoZWRfam9iKTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5i c3A7IHNjaGVkX2pvYik7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0 OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgZm9yIChpID0gMDsgaSAmbHQ7IE5VTV9KT0JfU0xPVFM7 IGkmIzQzOyYjNDM7KTxicj4NCiZndDsmZ3Q7IC0gZHJtX3NjaGVkX3N0b3AoJmFtcDtwZmRldi0m Z3Q7anMtJmd0O3F1ZXVlW2ldLnNjaGVkKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyBkcm1fc2NoZWRf c3RvcCgmYW1wO3BmZGV2LSZndDtqcy0mZ3Q7cXVldWVbaV0uc2NoZWQsIHNjaGVkX2pvYik7PGJy Pg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsm bmJzcDsgaWYgKHNjaGVkX2pvYik8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBkcm1f c2NoZWRfaW5jcmVhc2Vfa2FybWEoc2NoZWRfam9iKTs8YnI+DQomZ3Q7Jmd0OyBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMgYi9kcml2ZXJzL2dwdS9k cm0vc2NoZWR1bGVyL3NjaGVkX21haW4uYzxicj4NCiZndDsmZ3Q7IGluZGV4IDE5ZmM2MDEuLjc4 MTZkZTcgMTAwNjQ0PGJyPg0KJmd0OyZndDsgLS0tIGEvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxl ci9zY2hlZF9tYWluLmM8YnI+DQomZ3Q7Jmd0OyAmIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dw dS9kcm0vc2NoZWR1bGVyL3NjaGVkX21haW4uYzxicj4NCiZndDsmZ3Q7IEBAIC0yNjUsMzIgJiM0 MzsyNjUsNiBAQCB2b2lkIGRybV9zY2hlZF9yZXN1bWVfdGltZW91dChzdHJ1Y3QgZHJtX2dwdV9z Y2hlZHVsZXIgKnNjaGVkLDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+DQom Z3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBFWFBPUlRfU1lNQk9MKGRybV9zY2hlZF9yZXN1bWVf dGltZW91dCk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsg LS8qIGpvYl9maW5pc2ggaXMgY2FsbGVkIGFmdGVyIGh3IGZlbmNlIHNpZ25hbGVkPGJyPg0KJmd0 OyZndDsgLSAqLzxicj4NCiZndDsmZ3Q7IC1zdGF0aWMgdm9pZCBkcm1fc2NoZWRfam9iX2Zpbmlz aChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspPGJyPg0KJmd0OyZndDsgLXs8YnI+DQomZ3Q7Jmd0 OyAtIHN0cnVjdCBkcm1fc2NoZWRfam9iICpzX2pvYiA9IGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1 Y3QgZHJtX3NjaGVkX2pvYiw8YnI+DQomZ3Q7Jmd0OyAtICZuYnNwOyZuYnNwOyBmaW5pc2hfd29y ayk7PGJyPg0KJmd0OyZndDsgLSBzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkID0gc19q b2ItJmd0O3NjaGVkOzxicj4NCiZndDsmZ3Q7IC0gdW5zaWduZWQgbG9uZyBmbGFnczs8YnI+DQom Z3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsgLSAvKjxicj4NCiZndDsmZ3Q7IC0gKiBDYW5jZWxpbmcg dGhlIHRpbWVvdXQgd2l0aG91dCByZW1vdmluZyBvdXIgam9iIGZyb20gdGhlIHJpbmcgbWlycm9y PGJyPg0KJmd0OyZndDsgLSAqIGxpc3QgaXMgc2FmZSwgYXMgd2Ugd2lsbCBvbmx5IGVuZCB1cCBp biB0aGlzIHdvcmtlciBpZiBvdXIgam9iczxicj4NCiZndDsmZ3Q7IC0gKiBmaW5pc2hlZCBmZW5j ZSBoYXMgYmVlbiBzaWduYWxlZC4gU28gZXZlbiBpZiBzb21lIGFub3RoZXIgd29ya2VyPGJyPg0K Jmd0OyZndDsgLSAqIG1hbmFnZXMgdG8gZmluZCB0aGlzIGpvYiBhcyB0aGUgbmV4dCBqb2IgaW4g dGhlIGxpc3QsIHRoZSBmZW5jZTxicj4NCiZndDsmZ3Q7IC0gKiBzaWduYWxlZCBjaGVjayBiZWxv dyB3aWxsIHByZXZlbnQgdGhlIHRpbWVvdXQgdG8gYmUgcmVzdGFydGVkLjxicj4NCiZndDsmZ3Q7 IC0gKi88YnI+DQomZ3Q7Jmd0OyAtIGNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmYW1wO3NjaGVk LSZndDt3b3JrX3Rkcik7PGJyPg0KJmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7IC0gc3Bpbl9sb2Nr X2lycXNhdmUoJmFtcDtzY2hlZC0mZ3Q7am9iX2xpc3RfbG9jaywgZmxhZ3MpOzxicj4NCiZndDsm Z3Q7IC0gLyogcXVldWUgVERSIGZvciBuZXh0IGpvYiAqLzxicj4NCiZndDsmZ3Q7IC0gZHJtX3Nj aGVkX3N0YXJ0X3RpbWVvdXQoc2NoZWQpOzxicj4NCiZndDsmZ3Q7IC0gc3Bpbl91bmxvY2tfaXJx cmVzdG9yZSgmYW1wO3NjaGVkLSZndDtqb2JfbGlzdF9sb2NrLCBmbGFncyk7PGJyPg0KJmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7IC0gc2NoZWQtJmd0O29wcy0mZ3Q7ZnJlZV9qb2Ioc19qb2IpOzxi cj4NCiZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IHN0YXRpYyB2b2lkIGRybV9zY2hlZF9qb2JfYmVnaW4oc3RydWN0IGRybV9zY2hlZF9q b2IgKnNfam9iKTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHs8YnI+DQomZ3Q7Jmd0 OyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkID0gc19q b2ItJmd0O3NjaGVkOzxicj4NCiZndDsmZ3Q7IEBAIC0zMTUsNiAmIzQzOzI4OSwxMyBAQCBzdGF0 aWMgdm9pZCBkcm1fc2NoZWRfam9iX3RpbWVkb3V0KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk8 YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoam9iKTxicj4NCiZndDsmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7IGpvYi0mZ3Q7c2NoZWQtJmd0O29wcy0mZ3Q7dGltZWRvdXRfam9iKGpv Yik7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsgJiM0Mzsg Lyo8YnI+DQomZ3Q7Jmd0OyAmIzQzOyAqIEd1aWx0eSBqb2IgZGlkIGNvbXBsZXRlIGFuZCBoZW5j ZSBuZWVkcyB0byBiZSBtYW51YWxseSByZW1vdmVkPGJyPg0KJmd0OyZndDsgJiM0MzsgKiBTZWUg ZHJtX3NjaGVkX3N0b3AgZG9jLjxicj4NCiZndDsmZ3Q7ICYjNDM7ICovPGJyPg0KJmd0OyZndDsg JiM0MzsgaWYgKGxpc3RfZW1wdHkoJmFtcDtqb2ItJmd0O25vZGUpKTxicj4NCiZndDsmZ3Q7ICYj NDM7IGpvYi0mZ3Q7c2NoZWQtJmd0O29wcy0mZ3Q7ZnJlZV9qb2Ioam9iKTs8YnI+DQomZ3Q7Jmd0 OyAmIzQzOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHNwaW5fbG9ja19pcnFzYXZl KCZhbXA7c2NoZWQtJmd0O2pvYl9saXN0X2xvY2ssIGZsYWdzKTs8YnI+DQomZ3Q7Jmd0OyZuYnNw OyZuYnNwOyZuYnNwOyBkcm1fc2NoZWRfc3RhcnRfdGltZW91dChzY2hlZCk7PGJyPg0KJmd0OyZn dDsmbmJzcDsmbmJzcDsmbmJzcDsgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmYW1wO3NjaGVkLSZn dDtqb2JfbGlzdF9sb2NrLCBmbGFncyk7PGJyPg0KJmd0OyZndDsgQEAgLTM3MSwyMyAmIzQzOzM1 MiwyNiBAQCBFWFBPUlRfU1lNQk9MKGRybV9zY2hlZF9pbmNyZWFzZV9rYXJtYSk7PGJyPg0KJmd0 OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBAc2NoZWQ6IHNjaGVkdWxlciBpbnN0YW5j ZTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICogQGJhZDogYmFkIHNjaGVk dWxlciBqb2I8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqPGJyPg0KJmd0 OyZndDsgJiM0MzsgKiBTdG9wIHRoZSBzY2hlZHVsZXIgYW5kIGFsc28gcmVtb3ZlcyBhbmQgZnJl ZXMgYWxsIGNvbXBsZXRlZCBqb2JzLjxicj4NCiZndDsmZ3Q7ICYjNDM7ICogTm90ZTogYmFkIGpv YiB3aWxsIG5vdCBiZSBmcmVlZCBhcyBpdCBtaWdodCBiZSB1c2VkIGxhdGVyIGFuZCBzbyBpdCdz PGJyPg0KJmd0OyZndDsgJiM0MzsgKiBjYWxsZXJzIHJlc3BvbnNpYmlsaXR5IHRvIHJlbGVhc2Ug aXQgbWFudWFsbHkgaWYgaXQncyBub3QgcGFydCBvZiB0aGU8YnI+DQomZ3Q7Jmd0OyAmIzQzOyAq IG1pcnJvciBsaXN0IGFueSBtb3JlLjxicj4NCiZndDsmZ3Q7ICYjNDM7ICo8YnI+DQomZ3Q7Jmd0 OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqLzxicj4NCiZndDsmZ3Q7IC12b2lkIGRybV9zY2hl ZF9zdG9wKHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQpPGJyPg0KJmd0OyZndDsgJiM0 Mzt2b2lkIGRybV9zY2hlZF9zdG9wKHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQsIHN0 cnVjdCBkcm1fc2NoZWRfam9iICpiYWQpPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsg ezxicj4NCiZndDsmZ3Q7IC0gc3RydWN0IGRybV9zY2hlZF9qb2IgKnNfam9iOzxicj4NCiZndDsm Z3Q7ICYjNDM7IHN0cnVjdCBkcm1fc2NoZWRfam9iICpzX2pvYiwgKnRtcDs8YnI+DQomZ3Q7Jmd0 OyZuYnNwOyZuYnNwOyZuYnNwOyB1bnNpZ25lZCBsb25nIGZsYWdzOzxicj4NCiZndDsmZ3Q7IC0g c3RydWN0IGRtYV9mZW5jZSAqbGFzdF9mZW5jZSA9Jm5ic3A7IE5VTEw7PGJyPg0KJmd0OyZndDsm bmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsga3RocmVh ZF9wYXJrKHNjaGVkLSZndDt0aHJlYWQpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IDxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qPGJyPg0KJmd0OyZndDsgLSAqIFZl cmlmeSBhbGwgdGhlIHNpZ25hbGVkIGpvYnMgaW4gbWlycm9yIGxpc3QgYXJlIHJlbW92ZWQgZnJv bSB0aGUgcmluZzxicj4NCiZndDsmZ3Q7IC0gKiBieSB3YWl0aW5nIGZvciB0aGUgbGF0ZXN0IGpv YiB0byBlbnRlciB0aGUgbGlzdC4gVGhpcyBzaG91bGQgaW5zdXJlIHRoYXQ8YnI+DQomZ3Q7Jmd0 OyAtICogYWxzbyBhbGwgdGhlIHByZXZpb3VzIGpvYnMgdGhhdCB3ZXJlIGluIGZsaWdodCBhbHNv IGFscmVhZHkgc2luZ2FsZWQ8YnI+DQomZ3Q7Jmd0OyAtICogYW5kIHJlbW92ZWQgZnJvbSB0aGUg bGlzdC48YnI+DQomZ3Q7Jmd0OyAmIzQzOyAqIEl0ZXJhdGUgdGhlIGpvYiBsaXN0IGZyb20gbGF0 ZXIgdG8mbmJzcDsgZWFybGllciBvbmUgYW5kIGVpdGhlciBkZWFjdGl2ZTxicj4NCiZndDsmZ3Q7 ICYjNDM7ICogdGhlaXIgSFcgY2FsbGJhY2tzIG9yIHJlbW92ZSB0aGVtIGZyb20gbWlycm9yIGxp c3QgaWYgdGhleSBhbHJlYWR5PGJyPg0KJmd0OyZndDsgJiM0MzsgKiBzaWduYWxlZC48YnI+DQom Z3Q7Jmd0OyAmIzQzOyAqIFRoaXMgaXRlcmF0aW9uIGlzIHRocmVhZCBzYWZlIGFzIHNjaGVkIHRo cmVhZCBpcyBzdG9wcGVkLjxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICovPGJyPg0K Jmd0OyZndDsgLSBzcGluX2xvY2tfaXJxc2F2ZSgmYW1wO3NjaGVkLSZndDtqb2JfbGlzdF9sb2Nr LCBmbGFncyk7PGJyPg0KJmd0OyZndDsgLSBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JldmVyc2Uoc19q b2IsICZhbXA7c2NoZWQtJmd0O3JpbmdfbWlycm9yX2xpc3QsIG5vZGUpIHs8YnI+DQomZ3Q7Jmd0 OyAmIzQzOyBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmVfcmV2ZXJzZShzX2pvYiwgdG1wLCAmYW1w O3NjaGVkLSZndDtyaW5nX21pcnJvcl9saXN0LCBub2RlKSB7PGJyPg0KJmd0OyZndDsmbmJzcDsm bmJzcDsmbmJzcDsgaWYgKHNfam9iLSZndDtzX2ZlbmNlLSZndDtwYXJlbnQgJmFtcDsmYW1wOzxi cj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyBkbWFfZmVu Y2VfcmVtb3ZlX2NhbGxiYWNrKHNfam9iLSZndDtzX2ZlbmNlLSZndDtwYXJlbnQsPGJyPg0KJmd0 OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZh bXA7c19qb2ItJmd0O2NiKSkgezxicj4NCiZndDsmZ3Q7IEBAIC0zOTUsMTYgJiM0MzszNzksMzAg QEAgdm9pZCBkcm1fc2NoZWRfc3RvcChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkKTxi cj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHNfam9iLSZndDtzX2ZlbmNlLSZndDtwYXJl bnQgPSBOVUxMOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGF0b21pY19kZWMoJmFt cDtzY2hlZC0mZ3Q7aHdfcnFfY291bnQpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IH0gZWxzZSB7PGJyPg0KJmd0OyZndDsgLSBsYXN0X2ZlbmNlID0gZG1hX2ZlbmNlX2dldCgmYW1w O3Nfam9iLSZndDtzX2ZlbmNlLSZndDtmaW5pc2hlZCk7PGJyPg0KJmd0OyZndDsgLSBicmVhazs8 YnI+DQomZ3Q7Jmd0OyAmIzQzOyAvKjxicj4NCiZndDsmZ3Q7ICYjNDM7ICogcmVtb3ZlIGpvYiBm cm9tIHJpbmdfbWlycm9yX2xpc3QuPGJyPg0KJmd0OyZndDsgJiM0MzsgKiBMb2NraW5nIGhlcmUg aXMgZm9yIGNvbmN1cnJlbnQgcmVzdW1lIHRpbWVvdXQ8YnI+DQomZ3Q7Jmd0OyAmIzQzOyAqLzxi cj4NCiZndDsmZ3Q7ICYjNDM7IHNwaW5fbG9ja19pcnFzYXZlKCZhbXA7c2NoZWQtJmd0O2pvYl9s aXN0X2xvY2ssIGZsYWdzKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyBsaXN0X2RlbF9pbml0KCZhbXA7 c19qb2ItJmd0O25vZGUpOzxicj4NCiZndDsmZ3Q7ICYjNDM7IHNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJmFtcDtzY2hlZC0mZ3Q7am9iX2xpc3RfbG9jaywgZmxhZ3MpOzxicj4NCiZndDsmZ3Q7ICYj NDM7PGJyPg0KJmd0OyZndDsgJiM0MzsgLyo8YnI+DQomZ3Q7Jmd0OyAmIzQzOyAqIFdhaXQgZm9y IGpvYidzIEhXIGZlbmNlIGNhbGxiYWNrIHRvIGZpbmlzaCB1c2luZyBzX2pvYjxicj4NCiZndDsm Z3Q7ICYjNDM7ICogYmVmb3JlIHJlbGVhc2luZyBpdC48YnI+DQomZ3Q7Jmd0OyAmIzQzOyAqPGJy Pg0KJmd0OyZndDsgJiM0MzsgKiBKb2IgaXMgc3RpbGwgYWxpdmUgc28gZmVuY2UgcmVmY291bnQg YXQgbGVhc3QgMTxicj4NCiZndDsmZ3Q7ICYjNDM7ICovPGJyPg0KJmd0OyZndDsgJiM0MzsgZG1h X2ZlbmNlX3dhaXQoJmFtcDtzX2pvYi0mZ3Q7c19mZW5jZS0mZ3Q7ZmluaXNoZWQsIGZhbHNlKTs8 YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7IC8qPGJyPg0KJmd0OyZndDsg JiM0MzsgKiBXZSBtdXN0IGtlZXAgYmFkIGpvYiBhbGl2ZSBmb3IgbGF0ZXIgdXNlIGR1cmluZzxi cj4NCiZndDsmZ3Q7ICYjNDM7ICogcmVjb3ZlcnkgYnkgc29tZSBvZiB0aGUgZHJpdmVyczxicj4N CiZndDsmZ3Q7ICYjNDM7ICovPGJyPg0KJmd0OyZndDsgJiM0MzsgaWYgKGJhZCAhPSBzX2pvYik8 YnI+DQomZ3Q7Jmd0OyAmIzQzOyBzY2hlZC0mZ3Q7b3BzLSZndDtmcmVlX2pvYihzX2pvYik7PGJy Pg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyAtIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmFtcDtzY2hl ZC0mZ3Q7am9iX2xpc3RfbG9jaywgZmxhZ3MpOzxicj4NCiZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyAtIGlmIChsYXN0X2ZlbmNlKSB7PGJyPg0KJmd0OyZndDsgLSBkbWFfZmVuY2Vfd2FpdChsYXN0 X2ZlbmNlLCBmYWxzZSk7PGJyPg0KJmd0OyZndDsgLSBkbWFfZmVuY2VfcHV0KGxhc3RfZmVuY2Up Ozxicj4NCiZndDsmZ3Q7IC0gfTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+ DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZu YnNwOyBFWFBPUlRfU1lNQk9MKGRybV9zY2hlZF9zdG9wKTs8YnI+DQomZ3Q7Jmd0OyBAQCAtNDE4 LDIxICYjNDM7NDE2LDIyIEBAIEVYUE9SVF9TWU1CT0woZHJtX3NjaGVkX3N0b3ApOzxicj4NCiZn dDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHZvaWQgZHJtX3NjaGVkX3N0YXJ0KHN0cnVjdCBkcm1f Z3B1X3NjaGVkdWxlciAqc2NoZWQsIGJvb2wgZnVsbF9yZWNvdmVyeSk8YnI+DQomZ3Q7Jmd0OyZu YnNwOyZuYnNwOyZuYnNwOyB7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RydWN0 IGRybV9zY2hlZF9qb2IgKnNfam9iLCAqdG1wOzxicj4NCiZndDsmZ3Q7ICYjNDM7IHVuc2lnbmVk IGxvbmcgZmxhZ3M7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgaW50IHI7PGJyPg0K Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsgLSBpZiAoIWZ1bGxfcmVj b3ZlcnkpPGJyPg0KJmd0OyZndDsgLSBnb3RvIHVucGFyazs8YnI+DQomZ3Q7Jmd0OyAtPGJyPg0K Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgLyo8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZu YnNwOyAqIExvY2tpbmcgdGhlIGxpc3QgaXMgbm90IHJlcXVpcmVkIGhlcmUgYXMgdGhlIHNjaGVk IHRocmVhZCBpcyBwYXJrZWQ8YnI+DQomZ3Q7Jmd0OyAtICogc28gbm8gbmV3IGpvYnMgYXJlIGJl aW5nIHB1c2hlZCBpbiB0byBIVyBhbmQgaW4gZHJtX3NjaGVkX3N0b3Agd2U8YnI+DQomZ3Q7Jmd0 OyAtICogZmx1c2hlZCBhbGwgdGhlIGpvYnMgd2hvIHdlcmUgc3RpbGwgaW4gbWlycm9yIGxpc3Qg YnV0IHdobyBhbHJlYWR5PGJyPg0KJmd0OyZndDsgLSAqIHNpZ25hbGVkIGFuZCByZW1vdmVkIHRo ZW0gc2VsZiBmcm9tIHRoZSBsaXN0LiBBbHNvIGNvbmN1cnJlbnQ8YnI+DQomZ3Q7Jmd0OyAmIzQz OyAqIHNvIG5vIG5ldyBqb2JzIGFyZSBiZWluZyBpbnNlcnRlZCBvciByZW1vdmVkLiBBbHNvIGNv bmN1cnJlbnQ8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyAqIEdQVSByZWNvdmVycyBj YW4ndCBydW4gaW4gcGFyYWxsZWwuPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgKi88 YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUo c19qb2IsIHRtcCwgJmFtcDtzY2hlZC0mZ3Q7cmluZ19taXJyb3JfbGlzdCwgbm9kZSkgezxicj4N CiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlID0gc19q b2ItJmd0O3NfZmVuY2UtJmd0O3BhcmVudDs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNw OyA8YnI+DQomZ3Q7Jmd0OyAmIzQzOyBhdG9taWNfaW5jKCZhbXA7c2NoZWQtJmd0O2h3X3JxX2Nv dW50KTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7IGlmICghZnVsbF9y ZWNvdmVyeSk8YnI+DQomZ3Q7Jmd0OyAmIzQzOyBjb250aW51ZTs8YnI+DQomZ3Q7Jmd0OyAmIzQz Ozxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChmZW5jZSkgezxicj4NCiZndDsm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHIgPSBkbWFfZmVuY2VfYWRkX2NhbGxiYWNrKGZlbmNlLCAm YW1wO3Nfam9iLSZndDtjYiw8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsm bmJzcDsgZHJtX3NjaGVkX3Byb2Nlc3Nfam9iKTs8YnI+DQomZ3Q7Jmd0OyBAQCAtNDQ1LDkgJiM0 Mzs0NDQsMTIgQEAgdm9pZCBkcm1fc2NoZWRfc3RhcnQoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVy ICpzY2hlZCwgYm9vbCBmdWxsX3JlY292ZXJ5KTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5i c3A7IGRybV9zY2hlZF9wcm9jZXNzX2pvYihOVUxMLCAmYW1wO3Nfam9iLSZndDtjYik7PGJyPg0K Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5i c3A7IDxicj4NCiZndDsmZ3Q7IC0gZHJtX3NjaGVkX3N0YXJ0X3RpbWVvdXQoc2NoZWQpOzxicj4N CiZndDsmZ3Q7ICYjNDM7IGlmIChmdWxsX3JlY292ZXJ5KSB7PGJyPg0KJmd0OyZndDsgJiM0Mzsg c3Bpbl9sb2NrX2lycXNhdmUoJmFtcDtzY2hlZC0mZ3Q7am9iX2xpc3RfbG9jaywgZmxhZ3MpOzxi cj4NCiZndDsmZ3Q7ICYjNDM7IGRybV9zY2hlZF9zdGFydF90aW1lb3V0KHNjaGVkKTs8YnI+DQom Z3Q7Jmd0OyAmIzQzOyBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZhbXA7c2NoZWQtJmd0O2pvYl9s aXN0X2xvY2ssIGZsYWdzKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyB9PGJyPg0KJmd0OyZndDsmbmJz cDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsgLXVucGFyazo8YnI+DQomZ3Q7Jmd0OyZuYnNw OyZuYnNwOyZuYnNwOyBrdGhyZWFkX3VucGFyayhzY2hlZC0mZ3Q7dGhyZWFkKTs8YnI+DQomZ3Q7 Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsg RVhQT1JUX1NZTUJPTChkcm1fc2NoZWRfc3RhcnQpOzxicj4NCiZndDsmZ3Q7IEBAIC00NjQsNyAm IzQzOzQ2Niw2IEBAIHZvaWQgZHJtX3NjaGVkX3Jlc3VibWl0X2pvYnMoc3RydWN0IGRybV9ncHVf c2NoZWR1bGVyICpzY2hlZCk8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyB1aW50NjRf dCBndWlsdHlfY29udGV4dDs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBib29sIGZv dW5kX2d1aWx0eSA9IGZhbHNlOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4N CiZndDsmZ3Q7IC0gLypUT0RPIERPIHdlIG5lZWQgc3BpbmxvY2sgaGVyZSA/ICovPGJyPg0KJmd0 OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHNfam9iLCB0 bXAsICZhbXA7c2NoZWQtJmd0O3JpbmdfbWlycm9yX2xpc3QsIG5vZGUpIHs8YnI+DQomZ3Q7Jmd0 OyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlICpzX2ZlbmNlID0gc19q b2ItJmd0O3NfZmVuY2U7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0 OyZndDsgQEAgLTQ3Nyw3ICYjNDM7NDc4LDYgQEAgdm9pZCBkcm1fc2NoZWRfcmVzdWJtaXRfam9i cyhzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkKTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7IGRtYV9mZW5jZV9zZXRfZXJyb3IoJmFtcDtzX2ZlbmNlLSZndDtmaW5pc2hlZCwg LUVDQU5DRUxFRCk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZn dDsmbmJzcDsmbmJzcDsmbmJzcDsgc19qb2ItJmd0O3NfZmVuY2UtJmd0O3BhcmVudCA9IHNjaGVk LSZndDtvcHMtJmd0O3J1bl9qb2Ioc19qb2IpOzxicj4NCiZndDsmZ3Q7IC0gYXRvbWljX2luYygm YW1wO3NjaGVkLSZndDtod19ycV9jb3VudCk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJz cDsgfTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZuYnNw OyZuYnNwOyZuYnNwOyBFWFBPUlRfU1lNQk9MKGRybV9zY2hlZF9yZXN1Ym1pdF9qb2JzKTs8YnI+ DQomZ3Q7Jmd0OyBAQCAtNTE0LDcgJiM0Mzs1MTQsNiBAQCBpbnQgZHJtX3NjaGVkX2pvYl9pbml0 KHN0cnVjdCBkcm1fc2NoZWRfam9iICpqb2IsPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJz cDsgcmV0dXJuIC1FTk9NRU07PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgam9iLSZn dDtpZCA9IGF0b21pYzY0X2luY19yZXR1cm4oJmFtcDtzY2hlZC0mZ3Q7am9iX2lkX2NvdW50KTs8 YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+DQomZ3Q7Jmd0OyAtIElOSVRfV09S SygmYW1wO2pvYi0mZ3Q7ZmluaXNoX3dvcmssIGRybV9zY2hlZF9qb2JfZmluaXNoKTs8YnI+DQom Z3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBJTklUX0xJU1RfSEVBRCgmYW1wO2pvYi0mZ3Q7bm9k ZSk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsmbmJzcDsm bmJzcDsmbmJzcDsgcmV0dXJuIDA7PGJyPg0KJmd0OyZndDsgQEAgLTU5NywyNCAmIzQzOzU5Niw1 MyBAQCBzdGF0aWMgdm9pZCBkcm1fc2NoZWRfcHJvY2Vzc19qb2Ioc3RydWN0IGRtYV9mZW5jZSAq Ziwgc3RydWN0IGRtYV9mZW5jZV9jYiAqY2IpPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJz cDsgc3RydWN0IGRybV9zY2hlZF9qb2IgKnNfam9iID0gY29udGFpbmVyX29mKGNiLCBzdHJ1Y3Qg ZHJtX3NjaGVkX2pvYiwgY2IpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVj dCBkcm1fc2NoZWRfZmVuY2UgKnNfZmVuY2UgPSBzX2pvYi0mZ3Q7c19mZW5jZTs8YnI+DQomZ3Q7 Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkID0g c19mZW5jZS0mZ3Q7c2NoZWQ7PGJyPg0KJmd0OyZndDsgLSB1bnNpZ25lZCBsb25nIGZsYWdzOzxi cj4NCiZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyAtIGNhbmNlbF9kZWxheWVkX3dvcmsoJmFtcDtz Y2hlZC0mZ3Q7d29ya190ZHIpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4N CiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGF0b21pY19kZWMoJmFtcDtzY2hlZC0mZ3Q7aHdf cnFfY291bnQpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGF0b21pY19kZWMoJmFt cDtzY2hlZC0mZ3Q7bnVtX2pvYnMpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxi cj4NCiZndDsmZ3Q7IC0gc3Bpbl9sb2NrX2lycXNhdmUoJmFtcDtzY2hlZC0mZ3Q7am9iX2xpc3Rf bG9jaywgZmxhZ3MpOzxicj4NCiZndDsmZ3Q7IC0gLyogcmVtb3ZlIGpvYiBmcm9tIHJpbmdfbWly cm9yX2xpc3QgKi88YnI+DQomZ3Q7Jmd0OyAtIGxpc3RfZGVsX2luaXQoJmFtcDtzX2pvYi0mZ3Q7 bm9kZSk7PGJyPg0KJmd0OyZndDsgLSBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZhbXA7c2NoZWQt Jmd0O2pvYl9saXN0X2xvY2ssIGZsYWdzKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyB0cmFjZV9kcm1f c2NoZWRfcHJvY2Vzc19qb2Ioc19mZW5jZSk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJz cDsgPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgZHJtX3NjaGVkX2ZlbmNlX2Zpbmlz aGVkKHNfZmVuY2UpOzxicj4NCiZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyAtIHRyYWNlX2RybV9z Y2hlZF9wcm9jZXNzX2pvYihzX2ZlbmNlKTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNw OyB3YWtlX3VwX2ludGVycnVwdGlibGUoJmFtcDtzY2hlZC0mZ3Q7d2FrZV91cF93b3JrZXIpOzxi cj4NCiZndDsmZ3Q7ICYjNDM7fTxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0 MzsvKio8YnI+DQomZ3Q7Jmd0OyAmIzQzOyAqIGRybV9zY2hlZF9jbGVhbnVwX2pvYnMgLSBkZXN0 cm95IGZpbmlzaGVkIGpvYnM8YnI+DQomZ3Q7Jmd0OyAmIzQzOyAqPGJyPg0KJmd0OyZndDsgJiM0 MzsgKiBAc2NoZWQ6IHNjaGVkdWxlciBpbnN0YW5jZTxicj4NCiZndDsmZ3Q7ICYjNDM7ICo8YnI+ DQomZ3Q7Jmd0OyAmIzQzOyAqIFJlbW92ZSBhbGwgZmluaXNoZWQgam9icyBmcm9tIHRoZSBtaXJy b3IgbGlzdCBhbmQgZGVzdHJveSB0aGVtLjxicj4NCiZndDsmZ3Q7ICYjNDM7ICovPGJyPg0KJmd0 OyZndDsgJiM0MztzdGF0aWMgdm9pZCBkcm1fc2NoZWRfY2xlYW51cF9qb2JzKHN0cnVjdCBkcm1f Z3B1X3NjaGVkdWxlciAqc2NoZWQpPGJyPg0KJmd0OyZndDsgJiM0Mzt7PGJyPg0KJmd0OyZndDsg JiM0MzsgdW5zaWduZWQgbG9uZyBmbGFnczs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsm Z3Q7ICYjNDM7IC8qIERvbid0IGRlc3Ryb3kgam9icyB3aGlsZSB0aGUgdGltZW91dCB3b3JrZXIg aXMgcnVubmluZyAqLzxicj4NCiZndDsmZ3Q7ICYjNDM7IGlmICghY2FuY2VsX2RlbGF5ZWRfd29y aygmYW1wO3NjaGVkLSZndDt3b3JrX3RkcikpPGJyPg0KJmd0OyZndDsgJiM0MzsgcmV0dXJuOzxi cj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQz OyB3aGlsZSAoIWxpc3RfZW1wdHkoJmFtcDtzY2hlZC0mZ3Q7cmluZ19taXJyb3JfbGlzdCkpIHs8 YnI+DQomZ3Q7Jmd0OyAmIzQzOyBzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqam9iOzxicj4NCiZndDsm Z3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0Mzsgam9iID0gbGlzdF9maXJzdF9lbnRyeSgmYW1w O3NjaGVkLSZndDtyaW5nX21pcnJvcl9saXN0LDxicj4NCiZndDsmZ3Q7ICYjNDM7ICZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgZHJtX3NjaGVkX2pvYiwgbm9kZSk7 PGJyPg0KJmd0OyZndDsgJiM0MzsgaWYgKCFkbWFfZmVuY2VfaXNfc2lnbmFsZWQoJmFtcDtqb2It Jmd0O3NfZmVuY2UtJmd0O2ZpbmlzaGVkKSk8YnI+DQomZ3Q7Jmd0OyAmIzQzOyBicmVhazs8YnI+ DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7IHNwaW5fbG9ja19pcnFzYXZlKCZh bXA7c2NoZWQtJmd0O2pvYl9saXN0X2xvY2ssIGZsYWdzKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyAv KiByZW1vdmUgam9iIGZyb20gcmluZ19taXJyb3JfbGlzdCAqLzxicj4NCiZndDsmZ3Q7ICYjNDM7 IGxpc3RfZGVsX2luaXQoJmFtcDtqb2ItJmd0O25vZGUpOzxicj4NCiZndDsmZ3Q7ICYjNDM7IHNw aW5fdW5sb2NrX2lycXJlc3RvcmUoJmFtcDtzY2hlZC0mZ3Q7am9iX2xpc3RfbG9jaywgZmxhZ3Mp Ozxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0Mzsgc2NoZWQtJmd0O29wcy0m Z3Q7ZnJlZV9qb2Ioam9iKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyB9PGJyPg0KJmd0OyZndDsgJiM0 Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyAvKiBxdWV1ZSB0aW1lb3V0IGZvciBuZXh0IGpvYiAqLzxi cj4NCiZndDsmZ3Q7ICYjNDM7IHNwaW5fbG9ja19pcnFzYXZlKCZhbXA7c2NoZWQtJmd0O2pvYl9s aXN0X2xvY2ssIGZsYWdzKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyBkcm1fc2NoZWRfc3RhcnRfdGlt ZW91dChzY2hlZCk7PGJyPg0KJmd0OyZndDsgJiM0Mzsgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgm YW1wO3NjaGVkLSZndDtqb2JfbGlzdF9sb2NrLCBmbGFncyk7PGJyPg0KJmd0OyZndDsmbmJzcDsm bmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsgLSBzY2hlZHVsZV93b3JrKCZhbXA7c19qb2ItJmd0 O2ZpbmlzaF93b3JrKTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0 OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsg LyoqPGJyPg0KJmd0OyZndDsgQEAgLTY1Niw5ICYjNDM7Njg0LDEwIEBAIHN0YXRpYyBpbnQgZHJt X3NjaGVkX21haW4odm9pZCAqcGFyYW0pPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsg c3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsg PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxl KHNjaGVkLSZndDt3YWtlX3VwX3dvcmtlciw8YnI+DQomZ3Q7Jmd0OyAmIzQzOyAoZHJtX3NjaGVk X2NsZWFudXBfam9icyhzY2hlZCksPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgKCFk cm1fc2NoZWRfYmxvY2tlZChzY2hlZCkgJmFtcDsmYW1wOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7ICZuYnNwOyAoZW50aXR5ID0gZHJtX3NjaGVkX3NlbGVjdF9lbnRpdHkoc2NoZWQp KSkgfHw8YnI+DQomZ3Q7Jmd0OyAtIGt0aHJlYWRfc2hvdWxkX3N0b3AoKSk7PGJyPg0KJmd0OyZn dDsgJiM0Mzsga3RocmVhZF9zaG91bGRfc3RvcCgpKSk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJz cDsmbmJzcDsgPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKCFlbnRpdHkpPGJy Pg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgY29udGludWU7PGJyPg0KJmd0OyZndDsgZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92M2QvdjNkX3NjaGVkLmMgYi9kcml2ZXJzL2dwdS9k cm0vdjNkL3YzZF9zY2hlZC5jPGJyPg0KJmd0OyZndDsgaW5kZXggZTc0MGYzYi4uMWE0YWJlNyAx MDA2NDQ8YnI+DQomZ3Q7Jmd0OyAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdjNkL3YzZF9zY2hlZC5j PGJyPg0KJmd0OyZndDsgJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3YzZC92M2Rf c2NoZWQuYzxicj4NCiZndDsmZ3Q7IEBAIC0yMzIsNyAmIzQzOzIzMiw3IEBAIHYzZF9ncHVfcmVz ZXRfZm9yX3RpbWVvdXQoc3RydWN0IHYzZF9kZXYgKnYzZCwgc3RydWN0IGRybV9zY2hlZF9qb2Ig KnNjaGVkX2pvYik8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+DQomZ3Q7Jmd0 OyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBibG9jayBzY2hlZHVsZXIgKi88YnI+DQomZ3Q7Jmd0OyZu YnNwOyZuYnNwOyZuYnNwOyBmb3IgKHEgPSAwOyBxICZsdDsgVjNEX01BWF9RVUVVRVM7IHEmIzQz OyYjNDM7KTxicj4NCiZndDsmZ3Q7IC0gZHJtX3NjaGVkX3N0b3AoJmFtcDt2M2QtJmd0O3F1ZXVl W3FdLnNjaGVkKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyBkcm1fc2NoZWRfc3RvcCgmYW1wO3YzZC0m Z3Q7cXVldWVbcV0uc2NoZWQsIHNjaGVkX2pvYik7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsm bmJzcDsgPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKHNjaGVkX2pvYik8YnI+ DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBkcm1fc2NoZWRfaW5jcmVhc2Vfa2FybWEoc2No ZWRfam9iKTs8YnI+DQomZ3Q7Jmd0OyBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZ3B1X3NjaGVk dWxlci5oIGIvaW5jbHVkZS9kcm0vZ3B1X3NjaGVkdWxlci5oPGJyPg0KJmd0OyZndDsgaW5kZXgg MGRhY2E0ZC4uOWVlMGYyNyAxMDA2NDQ8YnI+DQomZ3Q7Jmd0OyAtLS0gYS9pbmNsdWRlL2RybS9n cHVfc2NoZWR1bGVyLmg8YnI+DQomZ3Q7Jmd0OyAmIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL2Ry bS9ncHVfc2NoZWR1bGVyLmg8YnI+DQomZ3Q7Jmd0OyBAQCAtMTY3LDkgJiM0MzsxNjcsNiBAQCBz dHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlICp0b19kcm1fc2NoZWRfZmVuY2Uoc3RydWN0IGRtYV9mZW5j ZSAqZik7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBAc2NoZWQ6IHRo ZSBzY2hlZHVsZXIgaW5zdGFuY2Ugb24gd2hpY2ggdGhpcyBqb2IgaXMgc2NoZWR1bGVkLjxicj4N CiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICogQHNfZmVuY2U6IGNvbnRhaW5zIHRo ZSBmZW5jZXMgZm9yIHRoZSBzY2hlZHVsaW5nIG9mIGpvYi48YnI+DQomZ3Q7Jmd0OyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyAqIEBmaW5pc2hfY2I6IHRoZSBjYWxsYmFjayBmb3IgdGhlIGZpbmlz aGVkIGZlbmNlLjxicj4NCiZndDsmZ3Q7IC0gKiBAZmluaXNoX3dvcms6IHNjaGVkdWxlcyB0aGUg ZnVuY3Rpb24gQGRybV9zY2hlZF9qb2JfZmluaXNoIG9uY2UgdGhlIGpvYiBoYXM8YnI+DQomZ3Q7 Jmd0OyAtICombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZmluaXNoZWQgdG8gcmVtb3ZlIHRo ZSBqb2IgZnJvbSB0aGU8YnI+DQomZ3Q7Jmd0OyAtICombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgQGRybV9ncHVfc2NoZWR1bGVyLnJpbmdfbWlycm9yX2xpc3QuPGJyPg0KJmd0OyZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBAbm9kZTogdXNlZCB0byBhcHBlbmQgdGhpcyBzdHJ1Y3Qg dG8gdGhlIEBkcm1fZ3B1X3NjaGVkdWxlci5yaW5nX21pcnJvcl9saXN0Ljxicj4NCiZndDsmZ3Q7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICogQGlkOiBhIHVuaXF1ZSBpZCBhc3NpZ25lZCB0byBl YWNoIGpvYiBzY2hlZHVsZWQgb24gdGhlIHNjaGVkdWxlci48YnI+DQomZ3Q7Jmd0OyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyAqIEBrYXJtYTogaW5jcmVtZW50IG9uIGV2ZXJ5IGhhbmcgY2F1c2Vk IGJ5IHRoaXMgam9iLiBJZiB0aGlzIGV4Y2VlZHMgdGhlIGhhbmc8YnI+DQomZ3Q7Jmd0OyBAQCAt MTg4LDcgJiM0MzsxODUsNiBAQCBzdHJ1Y3QgZHJtX3NjaGVkX2pvYiB7PGJyPg0KJmd0OyZndDsm bmJzcDsmbmJzcDsmbmJzcDsgc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZDs8YnI+DQom Z3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlICpzX2ZlbmNl Ozxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVjdCBkbWFfZmVuY2VfY2IgZmlu aXNoX2NiOzxicj4NCiZndDsmZ3Q7IC0gc3RydWN0IHdvcmtfc3RydWN0IGZpbmlzaF93b3JrOzxi cj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVjdCBsaXN0X2hlYWQgbm9kZTs8YnI+ DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyB1aW50NjRfdCBpZDs8YnI+DQomZ3Q7Jmd0OyZu YnNwOyZuYnNwOyZuYnNwOyBhdG9taWNfdCBrYXJtYTs8YnI+DQomZ3Q7Jmd0OyBAQCAtMjk2LDcg JiM0MzsyOTIsNyBAQCBpbnQgZHJtX3NjaGVkX2pvYl9pbml0KHN0cnVjdCBkcm1fc2NoZWRfam9i ICpqb2IsPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IHZvaWQgKm93bmVyKTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNw OyZuYnNwOyB2b2lkIGRybV9zY2hlZF9qb2JfY2xlYW51cChzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAq am9iKTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyB2b2lkIGRybV9zY2hlZF93YWtl dXAoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCk7PGJyPg0KJmd0OyZndDsgLXZvaWQg ZHJtX3NjaGVkX3N0b3Aoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCk7PGJyPg0KJmd0 OyZndDsgJiM0Mzt2b2lkIGRybV9zY2hlZF9zdG9wKHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAq c2NoZWQsIHN0cnVjdCBkcm1fc2NoZWRfam9iICpiYWQpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7IHZvaWQgZHJtX3NjaGVkX3N0YXJ0KHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAq c2NoZWQsIGJvb2wgZnVsbF9yZWNvdmVyeSk7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJz cDsgdm9pZCBkcm1fc2NoZWRfcmVzdWJtaXRfam9icyhzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIg KnNjaGVkKTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyB2b2lkIGRybV9zY2hlZF9p bmNyZWFzZV9rYXJtYShzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqYmFkKTs8YnI+DQomZ3Q7IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPg0KJmd0OyBhbWQt Z2Z4IG1haWxpbmcgbGlzdDxicj4NCiZndDsgPGEgY2xhc3M9Im1vei10eHQtbGluay1hYmJyZXZp YXRlZCIgaHJlZj0ibWFpbHRvOmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnIj4NCmFtZC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPC9hPjxicj4NCiZndDsgPGEgY2xhc3M9Im1vei10eHQt bGluay1mcmVldGV4dCIgaHJlZj0iaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9hbWQtZ2Z4Ij4NCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vYW1kLWdmeDwvYT48YnI+DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXzxicj4NCmFtZC1nZnggbWFpbGluZyBsaXN0PGJyPg0KPGEgY2xh c3M9Im1vei10eHQtbGluay1hYmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOmFtZC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnIj5hbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzwvYT48YnI+DQo8 YSBjbGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngiPmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeDwvYT48L2Jsb2NrcXVvdGU+DQo8L2Js b2NrcXVvdGU+DQo8L2NocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT48L25pY2hvbGFzLmthemxhdXNr YXNAYW1kLmNvbT48L2RhdmlkMS56aG91QGFtZC5jb20+PC9hbmRyZXkuZ3JvZHpvdnNreUBhbWQu Y29tPjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPC9ib2R5Pg0KPC9odG1sPg0K --_000_bb40a420cf4e51e5aa9678ae1cc470c4amdcom_-- --===============2136740501== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs --===============2136740501==--