From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC][PATCH 43/43] WIP: drm/i915: Type safe register read/write Date: Wed, 23 Sep 2015 17:23:27 +0200 Message-ID: <20150923152327.GI3383@phenom.ffwll.local> References: <1442595836-23981-1-git-send-email-ville.syrjala@linux.intel.com> <1442595836-23981-44-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com [209.85.212.181]) by gabe.freedesktop.org (Postfix) with ESMTPS id D7B0D6E2CA for ; Wed, 23 Sep 2015 08:20:36 -0700 (PDT) Received: by wicge5 with SMTP id ge5so212526899wic.0 for ; Wed, 23 Sep 2015 08:20:35 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1442595836-23981-44-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBTZXAgMTgsIDIwMTUgYXQgMDg6MDM6NTZQTSArMDMwMCwgdmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBNYWtlIEk5MTVfUkVBRCBhbmQgSTkxNV9XUklURSBt b3JlIHR5cGUgc2FmZSBieSB3cmFwcGluZyB0aGUgcmVnaXN0ZXIKPiBvZmZzZXQgaW4gYSBzdHJ1 Y3QuIFRoaXMgc2hvdWxkIGVsaW1pbmF0ZSBtb3N0IG9mIHRoZSBmdW1ibGVzIHdlJ3ZlIGhhZAo+ IHdpdGggbWlzcGxhY2VkIHBhcmVucy4KPiAKPiBUaGlzIG9ubHkgdGFrZXMgY2FyZSBvZiBub3Jt YWwgbW1pbyByZWdpc3RlcnMuIFdlIGNvdWxkIGV4dGVuZCB0aGUgaWRlYQo+IHRvIG90aGVyIHJl Z2lzdGVyIHR5cGVzIGFuZCBkZWZpbmUgZWFjaCB3aXRoIGl0cyBvd24gc3RydWN0LiBUaGF0IHdh eQo+IHlvdSB3b3VsZG4ndCBiZSBhYmxlIHRvIGFjY2lkZW50YWxseSBwYXNzIHRoZSB3cm9uZyB0 aGluZyB0byBhIHNwZWNpZmljCj4gcmVnaXN0ZXIgYWNjZXNzIGZ1bmN0aW9uLgo+IAo+IFRoZXJl IGFyZSBhIGZldyB1Z2xpZXMgbGVmdDoKPiAtIHN3aXRjaCBzdGF0ZW1lbnRzIGRvbid0IGxpa2Ug c3RydWN0cyBhcyBjYXNlIHZhbHVlcywgZXZlbiBpZgo+ICAgeW91IGNhc2UgJ2Nhc2UgREVBREJF RUYucmVnOicuIEZvcnR1bmF0ZWx5IHdlIGRvbid0IGhhdmUgdG9vIG1hbnkKPiAgIG9mIHRob3Nl IHNvIGNhbiBtYXliZSBzd2l0Y2ggdGhlbSB0byB1c2Ugc29tZSBwb3J0IGVudW1zIG9yIHN1Y2gs Cj4gICBvciBpZiBhbGwgZWxzZSBmYWlscyBpZiBsYWRkZXJzCj4gLSBjbWQgcGFyc2VyIGlzIHN0 aWxsIGlmZmVkIG91dC4gSSB3YXMganVzdCB0b29sIGxhenkgdG8gZG8gdGhhdAo+ICAgZm9yIGFu IFJGQwo+IC0gdGhlIHZncHUgc3R1ZmYgaXMgdWdseSBjYXVzZSBJIGRpZG4ndCBzcGVuZCBhbnkg dGltZSBmaWd1cmluZyBvdXQKPiAgIHdoYXQgaXQgcmVhbGx5IHdhbnRzIHRvIGRvCj4gLSBtYXli ZSBzb21ldGhpbmcgZWxzZSBJJ20gb3Zlcmxvb2tpbmc/Cj4gCj4gU2lnbmVkLW9mZi1ieTogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkkgbGlrZSB0aGlz IHZlcnkgbXVjaCwgd2hpY2ggaXMgYWxzbyB3aHkgSSBzdGFydGVkIHB1bGxpbmcgaW4gcHJlcCBw YXRjaGVzIGFscmVhZHkuCgpPbmUgYmlrZXNoZWQgdGhvdWdoOiBJIHRoaW5rIHRoaXMgaXMgb25l IG9mIHRoZSB2ZXJ5IGZldyBleGNlcHRpb25zIHdoZXJlCmNvZGluZyBzdHlsZSBzYXlzIHR5cGVk ZWZzIGFyZSBvaywgc2luY2UgdGhpcyByZWFsbHkgaXMganVzdCBhbiBvcGFxdWUKZGF0YXR5cGUg dGhhdCBnZXRzIHBhc3NlZCBhcm91bmQgYW5kIG9ubHkgb3BlbmVkLXVwIGluIGxvdy1sZXZlbCBj b2RlCnNpbWlsYXIgdG8gcHRlcy4gU28gbXkgdm90ZSBpcyBvbiBpOTE1X3JlZ190LiBBbmQgc2lu Y2Ugd2UgbWlnaHQgd2FudCB0bwpleHRlbmQgdGhpcyB0byBvdGhlciByZWdpc3RlciBpbyBmdW5j dGlvbnMgbWF5YmUgY2FsbCBpdCBpOTE1X21taW9fcmVnX3QuCi1EYW5pZWwKCj4gLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2R2by5oICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9jbWRfcGFyc2VyLmMgICAgIHwgICAxNyArLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgICAgfCAgICA1ICstCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICB8ICAgNDIgKy0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jICAgIHwgICAgNCArLQo+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgfCAgICAyICstCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ZlbmNlLmMgICAgICB8ICAgIDUgKy0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgICAgIHwgICAyNyArLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jICAgICAgfCAgICA0ICstCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ3VjX3JlZy5oICAgICAgICB8ICAgNTAgKy0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIHwgICAgMiArLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2lycS5jICAgICAgICAgICAgfCAgIDMyICstCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmggICAgICAgICAgICB8IDIzOTEgKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMgICAgICAgICAgfCAg ICA2ICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaCAgICAgICAgICB8ICAg IDQgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmMgICAgICAgICAgIHwgICAg NiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuaCAgICAgICAgICAgfCAgICAy ICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgICAgICAgICB8ICAgMTQg Ky0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMgICAgICAgICAgIHwgICAxNCAr LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jc3IuYyAgICAgICAgICAgfCAgIDEyICst Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICAgICAgICB8ICAgMjggKy0K PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgICAgIHwgIDEyMyArLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAgICAgICAgfCAgIDY1ICstCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAgICB8ICAgMTUgKy0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgICAgICAgICAgIHwgICAgOSArLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYyAgICAgICAgICAgfCAgIDE0ICstCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZpZm9fdW5kZXJydW4uYyB8ICAgIDQgKy0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgICAgICAgIHwgICA1NSArLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9pMmMuYyAgICAgICAgICAgfCAgIDEwICstCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgICB8ICAgNDQgKy0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggICAgICAgICAgIHwgICAxMiAtCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyAgICAgICAgICB8ICAgIDggKy0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgICAgICAgIHwgICAgNSArLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wc3IuYyAgICAgICAgICAgfCAgICA4ICstCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyAgICB8ICAgMTUgKy0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgIHwgICAgMiArLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zZHZvLmMgICAgICAgICAgfCAgIDE1ICstCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3VuY29yZS5jICAgICAgICB8ICAgOTcgKy0KPiAgZHJpdmVycy9wY2kvcXVp cmtzLmMgICAgICAgICAgICAgICAgICAgICAgIHwgICAgOCArLQo+ICAzOSBmaWxlcyBjaGFuZ2Vk LCAxNTY3IGluc2VydGlvbnMoKyksIDE2MTEgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2R2by5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZHZvLmgK PiBpbmRleCAzMTIxNjMzLi44MTYyNmNkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2R2by5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZHZvLmgKPiBAQCAtMzIsNyAr MzIsNyBAQCBzdHJ1Y3QgaW50ZWxfZHZvX2RldmljZSB7Cj4gIAljb25zdCBjaGFyICpuYW1lOwo+ ICAJaW50IHR5cGU7Cj4gIAkvKiBEVk9BL0IvQyBvdXRwdXQgcmVnaXN0ZXIgKi8KPiAtCXUzMiBk dm9fcmVnOwo+ICsJc3RydWN0IGk5MTVfcmVnIGR2b19yZWc7Cj4gIAkvKiBHUElPIHJlZ2lzdGVy IHVzZWQgZm9yIGkyYyBidXMgdG8gY29udHJvbCB0aGlzIGRldmljZSAqLwo+ICAJdTMyIGdwaW87 Cj4gIAlpbnQgc2xhdmVfYWRkcjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9jbWRfcGFyc2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2NtZF9wYXJzZXIu Ywo+IGluZGV4IDA5OTMyY2EuLjljMjJmNDAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9jbWRfcGFyc2VyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2NtZF9wYXJzZXIuYwo+IEBAIC00MTQsNyArNDE0LDcgQEAgc3RydWN0IGRybV9pOTE1X3JlZ19k ZXNjcmlwdG9yIHsKPiAgCj4gIC8qIENvbnZlbmllbmNlIG1hY3JvIGZvciBhZGRpbmcgMzItYml0 IHJlZ2lzdGVycy4gKi8KPiAgI2RlZmluZSBSRUczMihhZGRyZXNzLCAuLi4pICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCj4gLQl7IC5hZGRyID0gYWRkcmVzcywgX19WQV9BUkdTX18gfQo+ ICsJeyAuYWRkciA9IChhZGRyZXNzKS5yZWcsIF9fVkFfQVJHU19fIH0KPiAgCj4gIC8qCj4gICAq IENvbnZlbmllbmNlIG1hY3JvIGZvciBhZGRpbmcgNjQtYml0IHJlZ2lzdGVycy4KPiBAQCAtNDIz LDEwICs0MjMsMTIgQEAgc3RydWN0IGRybV9pOTE1X3JlZ19kZXNjcmlwdG9yIHsKPiAgICogYWNj ZXNzIGNvbW1hbmRzIG9ubHkgYWxsb3cgMzItYml0IGFjY2Vzc2VzLiBIZW5jZSwgd2UgaGF2ZSB0 byBpbmNsdWRlCj4gICAqIGVudHJpZXMgZm9yIGJvdGggaGFsdmVzIG9mIHRoZSA2NC1iaXQgcmVn aXN0ZXJzLgo+ICAgKi8KPiAtI2RlZmluZSBSRUc2NChhZGRyKSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCj4gLQlSRUczMihhZGRyKSwgUkVHMzIoYWRkciArIHNpemVvZih1 MzIpKQo+ICsjZGVmaW5lIFJFRzY0KGFkZHJlc3MpICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKPiArCXsgLmFkZHIgPSAoYWRkcmVzcykucmVnIH0sCQkJICAgXAo+ICsJeyAu YWRkciA9IChhZGRyZXNzKS5yZWcgKyBzaXplb2YodTMyKSB9Cj4gIAo+ICBzdGF0aWMgY29uc3Qg c3RydWN0IGRybV9pOTE1X3JlZ19kZXNjcmlwdG9yIGdlbjdfcmVuZGVyX3JlZ3NbXSA9IHsKPiAr I2lmIDAKPiAgCVJFRzY0KEdQR1BVX1RIUkVBRFNfRElTUEFUQ0hFRCksCj4gIAlSRUc2NChIU19J TlZPQ0FUSU9OX0NPVU5UKSwKPiAgCVJFRzY0KERTX0lOVk9DQVRJT05fQ09VTlQpLAo+IEBAIC00 NzAsMjMgKzQ3MiwzMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pOTE1X3JlZ19kZXNjcmlw dG9yIGdlbjdfcmVuZGVyX3JlZ3NbXSA9IHsKPiAgCSAgICAgIC5tYXNrID0gfihIU1dfUk9XX0NI SUNLRU4zX0wzX0dMT0JBTF9BVE9NSUNTX0RJU0FCTEUgPDwgMTYgfAo+ICAgICAgICAgICAgICAg ICAgICAgICAgICBIU1dfUk9XX0NISUNLRU4zX0wzX0dMT0JBTF9BVE9NSUNTX0RJU0FCTEUpLAo+ ICAJICAgICAgLnZhbHVlID0gMCksCj4gKyNlbmRpZgo+ICB9Owo+ICAKPiAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1faTkxNV9yZWdfZGVzY3JpcHRvciBnZW43X2JsdF9yZWdzW10gPSB7Cj4gKyNp ZiAwCj4gIAlSRUczMihCQ1NfU1dDVFJMKSwKPiArI2VuZGlmCj4gIH07Cj4gIAo+ICBzdGF0aWMg Y29uc3Qgc3RydWN0IGRybV9pOTE1X3JlZ19kZXNjcmlwdG9yIGl2Yl9tYXN0ZXJfcmVnc1tdID0g ewo+ICsjaWYgMAo+ICAJUkVHMzIoRk9SQ0VXQUtFX01UKSwKPiAgCVJFRzMyKERFUlJNUiksCj4g IAlSRUczMihHRU43X1BJUEVfREVfTE9BRF9TTChQSVBFX0EpKSwKPiAgCVJFRzMyKEdFTjdfUElQ RV9ERV9MT0FEX1NMKFBJUEVfQikpLAo+ICAJUkVHMzIoR0VON19QSVBFX0RFX0xPQURfU0woUElQ RV9DKSksCj4gKyNlbmRpZgo+ICB9Owo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faTkx NV9yZWdfZGVzY3JpcHRvciBoc3dfbWFzdGVyX3JlZ3NbXSA9IHsKPiArI2lmIDAKPiAgCVJFRzMy KEZPUkNFV0FLRV9NVCksCj4gIAlSRUczMihERVJSTVIpLAo+ICsjZW5kaWYKPiAgfTsKPiAgCj4g ICN1bmRlZiBSRUc2NAo+IEBAIC0xMDIwLDcgKzEwMjksNyBAQCBzdGF0aWMgYm9vbCBjaGVja19j bWQoY29uc3Qgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPiAgCQkJICogdG8gdGhlIHJl Z2lzdGVyLiBIZW5jZSwgbGltaXQgT0FDT05UUk9MIHdyaXRlcyB0bwo+ICAJCQkgKiBvbmx5IE1J X0xPQURfUkVHSVNURVJfSU1NIGNvbW1hbmRzLgo+ICAJCQkgKi8KPiAtCQkJaWYgKHJlZ19hZGRy ID09IE9BQ09OVFJPTCkgewo+ICsJCQlpZiAocmVnX2FkZHIgPT0gT0FDT05UUk9MLnJlZykgewo+ ICAJCQkJaWYgKGRlc2MtPmNtZC52YWx1ZSA9PSBNSV9MT0FEX1JFR0lTVEVSX01FTSkgewo+ICAJ CQkJCURSTV9ERUJVR19EUklWRVIoIkNNRDogUmVqZWN0ZWQgTFJNIHRvIE9BQ09OVFJPTFxuIik7 Cj4gIAkJCQkJcmV0dXJuIGZhbHNlOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4g aW5kZXggMzhiMGUzOC4uOTQ4MDhkNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jCj4gQEAgLTMwOTYsNyArMzA5Niw4IEBAIHN0YXRpYyBpbnQgaTkxNV93YV9yZWdpc3RlcnMo c3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCj4gIAo+ICAJc2VxX3ByaW50ZihtLCAi V29ya2Fyb3VuZHMgYXBwbGllZDogJWRcbiIsIGRldl9wcml2LT53b3JrYXJvdW5kcy5jb3VudCk7 Cj4gIAlmb3IgKGkgPSAwOyBpIDwgZGV2X3ByaXYtPndvcmthcm91bmRzLmNvdW50OyArK2kpIHsK PiAtCQl1MzIgYWRkciwgbWFzaywgdmFsdWUsIHJlYWQ7Cj4gKwkJc3RydWN0IGk5MTVfcmVnIGFk ZHI7Cj4gKwkJdTMyIG1hc2ssIHZhbHVlLCByZWFkOwo+ICAJCWJvb2wgb2s7Cj4gIAo+ICAJCWFk ZHIgPSBkZXZfcHJpdi0+d29ya2Fyb3VuZHMucmVnW2ldLmFkZHI7Cj4gQEAgLTMxMDUsNyArMzEw Niw3IEBAIHN0YXRpYyBpbnQgaTkxNV93YV9yZWdpc3RlcnMoc3RydWN0IHNlcV9maWxlICptLCB2 b2lkICp1bnVzZWQpCj4gIAkJcmVhZCA9IEk5MTVfUkVBRChhZGRyKTsKPiAgCQlvayA9ICh2YWx1 ZSAmIG1hc2spID09IChyZWFkICYgbWFzayk7Cj4gIAkJc2VxX3ByaW50ZihtLCAiMHglWDogMHgl MDhYLCBtYXNrOiAweCUwOFgsIHJlYWQ6IDB4JTA4eCwgc3RhdHVzOiAlc1xuIiwKPiAtCQkJICAg YWRkciwgdmFsdWUsIG1hc2ssIHJlYWQsIG9rID8gIk9LIiA6ICJGQUlMIik7Cj4gKwkJCSAgIGFk ZHIucmVnLCB2YWx1ZSwgbWFzaywgcmVhZCwgb2sgPyAiT0siIDogIkZBSUwiKTsKPiAgCX0KPiAg Cj4gIAlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCj4gaW5kZXggNDM1OWFmMS4uNDBkOTc0MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAo+IEBAIC02OTgsMTggKzY5OCwxOCBAQCBzdHJ1Y3QgaW50ZWxfdW5jb3JlX2Z1bmNzIHsKPiAg CXZvaWQgKCpmb3JjZV93YWtlX3B1dCkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAo+ICAJCQkJCQkJZW51bSBmb3JjZXdha2VfZG9tYWlucyBkb21haW5zKTsKPiAgCj4gLQl1aW50 OF90ICAoKm1taW9fcmVhZGIpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgb2Zm X3Qgb2Zmc2V0LCBib29sIHRyYWNlKTsKPiAtCXVpbnQxNl90ICgqbW1pb19yZWFkdykoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBvZmZfdCBvZmZzZXQsIGJvb2wgdHJhY2UpOwo+ IC0JdWludDMyX3QgKCptbWlvX3JlYWRsKShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIG9mZl90IG9mZnNldCwgYm9vbCB0cmFjZSk7Cj4gLQl1aW50NjRfdCAoKm1taW9fcmVhZHEp KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgb2ZmX3Qgb2Zmc2V0LCBib29sIHRy YWNlKTsKPiArCXVpbnQ4X3QgICgqbW1pb19yZWFkYikoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LCBzdHJ1Y3QgaTkxNV9yZWcgciwgYm9vbCB0cmFjZSk7Cj4gKwl1aW50MTZfdCAo Km1taW9fcmVhZHcpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3RydWN0IGk5 MTVfcmVnIHIsIGJvb2wgdHJhY2UpOwo+ICsJdWludDMyX3QgKCptbWlvX3JlYWRsKShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHN0cnVjdCBpOTE1X3JlZyByLCBib29sIHRyYWNl KTsKPiArCXVpbnQ2NF90ICgqbW1pb19yZWFkcSkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBzdHJ1Y3QgaTkxNV9yZWcgciwgYm9vbCB0cmFjZSk7Cj4gIAo+IC0Jdm9pZCAoKm1t aW9fd3JpdGViKShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIG9mZl90IG9mZnNl dCwKPiArCXZvaWQgKCptbWlvX3dyaXRlYikoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCBzdHJ1Y3QgaTkxNV9yZWcgciwKPiAgCQkJCXVpbnQ4X3QgdmFsLCBib29sIHRyYWNlKTsK PiAtCXZvaWQgKCptbWlvX3dyaXRldykoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCBvZmZfdCBvZmZzZXQsCj4gKwl2b2lkICgqbW1pb193cml0ZXcpKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwgc3RydWN0IGk5MTVfcmVnIHIsCj4gIAkJCQl1aW50MTZfdCB2YWws IGJvb2wgdHJhY2UpOwo+IC0Jdm9pZCAoKm1taW9fd3JpdGVsKShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsIG9mZl90IG9mZnNldCwKPiArCXZvaWQgKCptbWlvX3dyaXRlbCkoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBzdHJ1Y3QgaTkxNV9yZWcgciwKPiAgCQkJ CXVpbnQzMl90IHZhbCwgYm9vbCB0cmFjZSk7Cj4gLQl2b2lkICgqbW1pb193cml0ZXEpKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgb2ZmX3Qgb2Zmc2V0LAo+ICsJdm9pZCAoKm1t aW9fd3JpdGVxKShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHN0cnVjdCBpOTE1 X3JlZyByLAo+ICAJCQkJdWludDY0X3QgdmFsLCBib29sIHRyYWNlKTsKPiAgfTsKPiAgCj4gQEAg LTcyNiwxMSArNzI2LDExIEBAIHN0cnVjdCBpbnRlbF91bmNvcmUgewo+ICAJCWVudW0gZm9yY2V3 YWtlX2RvbWFpbl9pZCBpZDsKPiAgCQl1bnNpZ25lZCB3YWtlX2NvdW50Owo+ICAJCXN0cnVjdCB0 aW1lcl9saXN0IHRpbWVyOwo+IC0JCXUzMiByZWdfc2V0Owo+ICsJCXN0cnVjdCBpOTE1X3JlZyBy ZWdfc2V0Owo+ICAJCXUzMiB2YWxfc2V0Owo+ICAJCXUzMiB2YWxfY2xlYXI7Cj4gLQkJdTMyIHJl Z19hY2s7Cj4gLQkJdTMyIHJlZ19wb3N0Owo+ICsJCXN0cnVjdCBpOTE1X3JlZyByZWdfYWNrOwo+ ICsJCXN0cnVjdCBpOTE1X3JlZyByZWdfcG9zdDsKPiAgCQl1MzIgdmFsX3Jlc2V0Owo+ICAJfSBm d19kb21haW5bRldfRE9NQUlOX0lEX0NPVU5UXTsKPiAgfTsKPiBAQCAtNzU2LDcgKzc1Niw3IEBA IHN0cnVjdCBpbnRlbF9jc3Igewo+ICAJdWludDMyX3QgKmRtY19wYXlsb2FkOwo+ICAJdWludDMy X3QgZG1jX2Z3X3NpemU7Cj4gIAl1aW50MzJfdCBtbWlvX2NvdW50Owo+IC0JdWludDMyX3QgbW1p b2FkZHJbOF07Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgbW1pb2FkZHJbOF07Cj4gIAl1aW50MzJfdCBt bWlvZGF0YVs4XTsKPiAgCWVudW0gY3NyX3N0YXRlIHN0YXRlOwo+ICB9Owo+IEBAIC0xMDIyLDcg KzEwMjIsNyBAQCBzdHJ1Y3QgaW50ZWxfZ21idXMgewo+ICAJc3RydWN0IGkyY19hZGFwdGVyIGFk YXB0ZXI7Cj4gIAl1MzIgZm9yY2VfYml0Owo+ICAJdTMyIHJlZzA7Cj4gLQl1MzIgZ3Bpb19yZWc7 Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgZ3Bpb19yZWc7Cj4gIAlzdHJ1Y3QgaTJjX2FsZ29fYml0X2Rh dGEgYml0X2FsZ287Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXY7Cj4gIH07 Cj4gQEAgLTE2NzgsNyArMTY3OCw3IEBAIHN0cnVjdCBpOTE1X2Zyb250YnVmZmVyX3RyYWNraW5n IHsKPiAgfTsKPiAgCj4gIHN0cnVjdCBpOTE1X3dhX3JlZyB7Cj4gLQl1MzIgYWRkcjsKPiArCXN0 cnVjdCBpOTE1X3JlZyBhZGRyOwo+ICAJdTMyIHZhbHVlOwo+ICAJLyogYml0bWFzayByZXByZXNl bnRpbmcgV0EgYml0cyAqLwo+ICAJdTMyIG1hc2s7Cj4gQEAgLTM0MjYsOCArMzQyNiw4IEBAIGlu dCBpbnRlbF9mcmVxX29wY29kZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGlu dCB2YWwpOwo+ICAgKiBOb3RlOiBTaG91bGQgb25seSBiZSB1c2VkIGJldHdlZW4gaW50ZWxfdW5j b3JlX2ZvcmNld2FrZV9pcnFsb2NrKCkgYW5kCj4gICAqIGludGVsX3VuY29yZV9mb3JjZXdha2Vf aXJxdW5sb2NrKCkuCj4gICAqLwo+IC0jZGVmaW5lIEk5MTVfUkVBRF9GVyhyZWdfXykgcmVhZGwo ZGV2X3ByaXYtPnJlZ3MgKyAocmVnX18pKQo+IC0jZGVmaW5lIEk5MTVfV1JJVEVfRlcocmVnX18s IHZhbF9fKSB3cml0ZWwodmFsX18sIGRldl9wcml2LT5yZWdzICsgKHJlZ19fKSkKPiArI2RlZmlu ZSBJOTE1X1JFQURfRlcocmVnX18pIHJlYWRsKGRldl9wcml2LT5yZWdzICsgKHJlZ19fKS5yZWcp Cj4gKyNkZWZpbmUgSTkxNV9XUklURV9GVyhyZWdfXywgdmFsX18pIHdyaXRlbCh2YWxfXywgZGV2 X3ByaXYtPnJlZ3MgKyAocmVnX18pLnJlZykKPiAgI2RlZmluZSBQT1NUSU5HX1JFQURfRlcocmVn X18pICh2b2lkKUk5MTVfUkVBRF9GVyhyZWdfXykKPiAgCj4gIC8qICJCcm9hZGNhc3QgUkdCIiBw cm9wZXJ0eSAqLwo+IEBAIC0zNDM1LDcgKzM0MzUsNyBAQCBpbnQgaW50ZWxfZnJlcV9vcGNvZGUo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpbnQgdmFsKTsKPiAgI2RlZmluZSBJ TlRFTF9CUk9BRENBU1RfUkdCX0ZVTEwgMQo+ICAjZGVmaW5lIElOVEVMX0JST0FEQ0FTVF9SR0Jf TElNSVRFRCAyCj4gIAo+IC1zdGF0aWMgaW5saW5lIHVpbnQzMl90IGk5MTVfdmdhY250cmxfcmVn KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IGk5MTVfcmVn IGk5MTVfdmdhY250cmxfcmVnKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIHsKPiAgCWlmIChJ U19WQUxMRVlWSUVXKGRldikpCj4gIAkJcmV0dXJuIFZMVl9WR0FDTlRSTDsKPiBAQCAtMzUwNiwx NiArMzUwNiwxNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV90cmFjZV9pcnFfZ2V0KHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4gIAo+ICAjZGVmaW5lIF9fcmF3X3JlYWQoeCwgcykg XAo+ICBzdGF0aWMgaW5saW5lIHVpbnQjI3gjI190IF9fcmF3X2k5MTVfcmVhZCMjeChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIFwKPiAtCQkJCQkgICAgIHVpbnQzMl90IHJlZykg XAo+ICsJCQkJCSAgICAgc3RydWN0IGk5MTVfcmVnIHJlZykgXAo+ICB7IFwKPiAtCXJldHVybiBy ZWFkIyNzKGRldl9wcml2LT5yZWdzICsgcmVnKTsgXAo+ICsJcmV0dXJuIHJlYWQjI3MoZGV2X3By aXYtPnJlZ3MgKyByZWcucmVnKTsgXAo+ICB9Cj4gIAo+ICAjZGVmaW5lIF9fcmF3X3dyaXRlKHgs IHMpIFwKPiAgc3RhdGljIGlubGluZSB2b2lkIF9fcmF3X2k5MTVfd3JpdGUjI3goc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBcCj4gLQkJCQkgICAgICAgdWludDMyX3QgcmVnLCB1 aW50IyN4IyNfdCB2YWwpIFwKPiArCQkJCSAgICAgICBzdHJ1Y3QgaTkxNV9yZWcgcmVnLCB1aW50 IyN4IyNfdCB2YWwpIFwKPiAgeyBcCj4gLQl3cml0ZSMjcyh2YWwsIGRldl9wcml2LT5yZWdzICsg cmVnKTsgXAo+ICsJd3JpdGUjI3ModmFsLCBkZXZfcHJpdi0+cmVncyArIHJlZy5yZWcpOyBcCj4g IH0KPiAgX19yYXdfcmVhZCg4LCBiKQo+ICBfX3Jhd19yZWFkKDE2LCB3KQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiBpbmRleCA3NGFhMGM5Li41Nzk5YzNhIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+IEBAIC01MzIsNyArNTMy LDcgQEAgbWlfc2V0X2NvbnRleHQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsIHUz MiBod19mbGFncykKPiAgCQkJCWlmIChzaWduYWxsZXIgPT0gcmluZykKPiAgCQkJCQljb250aW51 ZTsKPiAgCj4gLQkJCQlpbnRlbF9yaW5nX2VtaXQocmluZywgUklOR19QU01JX0NUTChzaWduYWxs ZXItPm1taW9fYmFzZSkpOwo+ICsJCQkJaW50ZWxfcmluZ19lbWl0KHJpbmcsIFJJTkdfUFNNSV9D VEwoc2lnbmFsbGVyLT5tbWlvX2Jhc2UpLnJlZyk7Cj4gIAkJCQlpbnRlbF9yaW5nX2VtaXQocmlu ZywgX01BU0tFRF9CSVRfRU5BQkxFKEdFTjZfUFNNSV9TTEVFUF9NU0dfRElTQUJMRSkpOwo+ICAJ CQl9Cj4gIAkJfQo+IEBAIC01NTcsNyArNTU3LDcgQEAgbWlfc2V0X2NvbnRleHQoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsIHUzMiBod19mbGFncykKPiAgCQkJCWlmIChzaWduYWxs ZXIgPT0gcmluZykKPiAgCQkJCQljb250aW51ZTsKPiAgCj4gLQkJCQlpbnRlbF9yaW5nX2VtaXQo cmluZywgUklOR19QU01JX0NUTChzaWduYWxsZXItPm1taW9fYmFzZSkpOwo+ICsJCQkJaW50ZWxf cmluZ19lbWl0KHJpbmcsIFJJTkdfUFNNSV9DVEwoc2lnbmFsbGVyLT5tbWlvX2Jhc2UpLnJlZyk7 Cj4gIAkJCQlpbnRlbF9yaW5nX2VtaXQocmluZywgX01BU0tFRF9CSVRfRElTQUJMRShHRU42X1BT TUlfU0xFRVBfTVNHX0RJU0FCTEUpKTsKPiAgCQkJfQo+ICAJCX0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4gaW5kZXggNjdlZjExOC4uNWM0OTA4YSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPiBAQCAtMTMw NSw3ICsxMzA1LDcgQEAgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uKHN0cnVjdCBpOTE1 X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCj4gIAo+ICAJCWludGVsX3JpbmdfZW1pdChyaW5n LCBNSV9OT09QKTsKPiAgCQlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfTE9BRF9SRUdJU1RFUl9J TU0oMSkpOwo+IC0JCWludGVsX3JpbmdfZW1pdChyaW5nLCBJTlNUUE0pOwo+ICsJCWludGVsX3Jp bmdfZW1pdChyaW5nLCBJTlNUUE0ucmVnKTsKPiAgCQlpbnRlbF9yaW5nX2VtaXQocmluZywgaW5z dHBfbWFzayA8PCAxNiB8IGluc3RwX21vZGUpOwo+ICAJCWludGVsX3JpbmdfYWR2YW5jZShyaW5n KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ZlbmNl LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9mZW5jZS5jCj4gaW5kZXggZmY5NDU2 MC4uYmRiOWJmZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9m ZW5jZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZmVuY2UuYwo+IEBA IC01OSw3ICs1OSw3IEBAIHN0YXRpYyB2b2lkIGk5NjVfd3JpdGVfZmVuY2VfcmVnKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIGludCByZWcsCj4gIAkJCQkgc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaikKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKPiAtCWludCBmZW5jZV9yZWdfbG8sIGZlbmNlX3JlZ19oaTsKPiArCXN0 cnVjdCBpOTE1X3JlZyBmZW5jZV9yZWdfbG8sIGZlbmNlX3JlZ19oaTsKPiAgCWludCBmZW5jZV9w aXRjaF9zaGlmdDsKPiAgCj4gIAlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gNikgewo+IEBA IC0xMTgsNyArMTE4LDggQEAgc3RhdGljIHZvaWQgaTkxNV93cml0ZV9mZW5jZV9yZWcoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgaW50IHJlZywKPiAgCQkJCSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwo+IC0JdTMyIGZlbmNlX3JlZywgdmFsOwo+ICsJc3RydWN0IGk5MTVf cmVnIGZlbmNlX3JlZzsKPiArCXUzMiB2YWw7Cj4gIAo+ICAJaWYgKG9iaikgewo+ICAJCXUzMiBz aXplID0gaTkxNV9nZW1fb2JqX2dndHRfc2l6ZShvYmopOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2d0dC5jCj4gaW5kZXggMmI2ZGQ3MC4uYWJlOTI1MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5jCj4gQEAgLTY2MSwxMCArNjYxLDEwIEBAIHN0YXRpYyBpbnQgZ2VuOF93 cml0ZV9wZHAoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCj4gIAkJcmV0dXJuIHJl dDsKPiAgCj4gIAlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfTE9BRF9SRUdJU1RFUl9JTU0oMSkp Owo+IC0JaW50ZWxfcmluZ19lbWl0KHJpbmcsIEdFTjhfUklOR19QRFBfVURXKHJpbmcsIGVudHJ5 KSk7Cj4gKwlpbnRlbF9yaW5nX2VtaXQocmluZywgR0VOOF9SSU5HX1BEUF9VRFcocmluZywgZW50 cnkpLnJlZyk7Cj4gIAlpbnRlbF9yaW5nX2VtaXQocmluZywgdXBwZXJfMzJfYml0cyhhZGRyKSk7 Cj4gIAlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfTE9BRF9SRUdJU1RFUl9JTU0oMSkpOwo+IC0J aW50ZWxfcmluZ19lbWl0KHJpbmcsIEdFTjhfUklOR19QRFBfTERXKHJpbmcsIGVudHJ5KSk7Cj4g KwlpbnRlbF9yaW5nX2VtaXQocmluZywgR0VOOF9SSU5HX1BEUF9MRFcocmluZywgZW50cnkpLnJl Zyk7Cj4gIAlpbnRlbF9yaW5nX2VtaXQocmluZywgbG93ZXJfMzJfYml0cyhhZGRyKSk7Cj4gIAlp bnRlbF9yaW5nX2FkdmFuY2UocmluZyk7Cj4gIAo+IEBAIC05MDQsMjUgKzkwNCwyNiBAQCBzdGF0 aWMgaW50IGdlbjhfcHBndHRfbm90aWZ5X3ZndChzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQs IGJvb2wgY3JlYXRlKQo+ICAJZW51bSB2Z3RfZzJ2X3R5cGUgbXNnOwo+ICAJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IHBwZ3R0LT5iYXNlLmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQl1bnNpZ25lZCBpbnQgb2Zmc2V0ID0g dmd0aWZfcmVnKHBkcDBfbG8pOwo+ICAJaW50IGk7Cj4gIAo+ICAJaWYgKFVTRVNfRlVMTF80OEJJ VF9QUEdUVChkZXYpKSB7Cj4gIAkJdTY0IGRhZGRyID0gcHhfZG1hKCZwcGd0dC0+cG1sNCk7Cj4g KwkJc3RydWN0IGk5MTVfcmVnIG9mZnNldF9sbyA9IHZndGlmX3JlZyhwZHAwX2xvKTsKPiArCQlz dHJ1Y3QgaTkxNV9yZWcgb2Zmc2V0X2hpID0gdmd0aWZfcmVnKHBkcDBfbG8gKyA0KTsKPiAgCj4g LQkJSTkxNV9XUklURShvZmZzZXQsIGxvd2VyXzMyX2JpdHMoZGFkZHIpKTsKPiAtCQlJOTE1X1dS SVRFKG9mZnNldCArIDQsIHVwcGVyXzMyX2JpdHMoZGFkZHIpKTsKPiArCQlJOTE1X1dSSVRFKG9m ZnNldF9sbywgbG93ZXJfMzJfYml0cyhkYWRkcikpOwo+ICsJCUk5MTVfV1JJVEUob2Zmc2V0X2hp LCB1cHBlcl8zMl9iaXRzKGRhZGRyKSk7Cj4gIAo+ICAJCW1zZyA9IChjcmVhdGUgPyBWR1RfRzJW X1BQR1RUX0w0X1BBR0VfVEFCTEVfQ1JFQVRFIDoKPiAgCQkJCVZHVF9HMlZfUFBHVFRfTDRfUEFH RV9UQUJMRV9ERVNUUk9ZKTsKPiAgCX0gZWxzZSB7Cj4gIAkJZm9yIChpID0gMDsgaSA8IEdFTjhf TEVHQUNZX1BEUEVTOyBpKyspIHsKPiAgCQkJdTY0IGRhZGRyID0gaTkxNV9wYWdlX2Rpcl9kbWFf YWRkcihwcGd0dCwgaSk7Cj4gKwkJCXN0cnVjdCBpOTE1X3JlZyBvZmZzZXRfbG8gPSB2Z3RpZl9y ZWcocGRwMF9sbyArIGkgKiA4KTsKPiArCQkJc3RydWN0IGk5MTVfcmVnIG9mZnNldF9oaSA9IHZn dGlmX3JlZyhwZHAwX2xvICsgaSAqIDggKyA0KTsKPiAgCj4gLQkJCUk5MTVfV1JJVEUob2Zmc2V0 LCBsb3dlcl8zMl9iaXRzKGRhZGRyKSk7Cj4gLQkJCUk5MTVfV1JJVEUob2Zmc2V0ICsgNCwgdXBw ZXJfMzJfYml0cyhkYWRkcikpOwo+IC0KPiAtCQkJb2Zmc2V0ICs9IDg7Cj4gKwkJCUk5MTVfV1JJ VEUob2Zmc2V0X2xvLCBsb3dlcl8zMl9iaXRzKGRhZGRyKSk7Cj4gKwkJCUk5MTVfV1JJVEUob2Zm c2V0X2hpLCB1cHBlcl8zMl9iaXRzKGRhZGRyKSk7Cj4gIAkJfQo+ICAKPiAgCQltc2cgPSAoY3Jl YXRlID8gVkdUX0cyVl9QUEdUVF9MM19QQUdFX1RBQkxFX0NSRUFURSA6Cj4gQEAgLTE2NjIsOSAr MTY2Myw5IEBAIHN0YXRpYyBpbnQgaHN3X21tX3N3aXRjaChzdHJ1Y3QgaTkxNV9od19wcGd0dCAq cHBndHQsCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gIAlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlf TE9BRF9SRUdJU1RFUl9JTU0oMikpOwo+IC0JaW50ZWxfcmluZ19lbWl0KHJpbmcsIFJJTkdfUFBf RElSX0RDTFYocmluZykpOwo+ICsJaW50ZWxfcmluZ19lbWl0KHJpbmcsIFJJTkdfUFBfRElSX0RD TFYocmluZykucmVnKTsKPiAgCWludGVsX3JpbmdfZW1pdChyaW5nLCBQUF9ESVJfRENMVl8yRyk7 Cj4gLQlpbnRlbF9yaW5nX2VtaXQocmluZywgUklOR19QUF9ESVJfQkFTRShyaW5nKSk7Cj4gKwlp bnRlbF9yaW5nX2VtaXQocmluZywgUklOR19QUF9ESVJfQkFTRShyaW5nKS5yZWcpOwo+ICAJaW50 ZWxfcmluZ19lbWl0KHJpbmcsIGdldF9wZF9vZmZzZXQocHBndHQpKTsKPiAgCWludGVsX3Jpbmdf ZW1pdChyaW5nLCBNSV9OT09QKTsKPiAgCWludGVsX3JpbmdfYWR2YW5jZShyaW5nKTsKPiBAQCAt MTY5OSw5ICsxNzAwLDkgQEAgc3RhdGljIGludCBnZW43X21tX3N3aXRjaChzdHJ1Y3QgaTkxNV9o d19wcGd0dCAqcHBndHQsCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gIAlpbnRlbF9yaW5nX2VtaXQo cmluZywgTUlfTE9BRF9SRUdJU1RFUl9JTU0oMikpOwo+IC0JaW50ZWxfcmluZ19lbWl0KHJpbmcs IFJJTkdfUFBfRElSX0RDTFYocmluZykpOwo+ICsJaW50ZWxfcmluZ19lbWl0KHJpbmcsIFJJTkdf UFBfRElSX0RDTFYocmluZykucmVnKTsKPiAgCWludGVsX3JpbmdfZW1pdChyaW5nLCBQUF9ESVJf RENMVl8yRyk7Cj4gLQlpbnRlbF9yaW5nX2VtaXQocmluZywgUklOR19QUF9ESVJfQkFTRShyaW5n KSk7Cj4gKwlpbnRlbF9yaW5nX2VtaXQocmluZywgUklOR19QUF9ESVJfQkFTRShyaW5nKS5yZWcp Owo+ICAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIGdldF9wZF9vZmZzZXQocHBndHQpKTsKPiAgCWlu dGVsX3JpbmdfZW1pdChyaW5nLCBNSV9OT09QKTsKPiAgCWludGVsX3JpbmdfYWR2YW5jZShyaW5n KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKPiBpbmRleCBlODczZWI0Li4z M2JkNTA3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9y LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCj4gQEAgLTg1 OCw3ICs4NTgsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X3JlY29yZF9yaW5nX3N0YXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwo+ICAKPiAgCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA2KSB7 Cj4gLQkJZXJpbmctPnJjX3BzbWkgPSBJOTE1X1JFQUQocmluZy0+bW1pb19iYXNlICsgMHg1MCk7 Cj4gKwkJZXJpbmctPnJjX3BzbWkgPSBJOTE1X1JFQUQoUklOR19QU01JX0NUTChyaW5nLT5tbWlv X2Jhc2UpKTsKPiAgCQllcmluZy0+ZmF1bHRfcmVnID0gSTkxNV9SRUFEKFJJTkdfRkFVTFRfUkVH KHJpbmcpKTsKPiAgCQlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOCkKPiAgCQkJZ2VuOF9y ZWNvcmRfc2VtYXBob3JlX3N0YXRlKGRldl9wcml2LCBlcnJvciwgcmluZywgZXJpbmcpOwo+IEBA IC04OTUsNyArODk1LDcgQEAgc3RhdGljIHZvaWQgaTkxNV9yZWNvcmRfcmluZ19zdGF0ZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJZXJpbmctPmN0bCA9IEk5MTVfUkVBRF9DVEwocmluZyk7 Cj4gIAo+ICAJaWYgKEk5MTVfTkVFRF9HRlhfSFdTKGRldikpIHsKPiAtCQlpbnQgbW1pbzsKPiAr CQlzdHJ1Y3QgaTkxNV9yZWcgbW1pbzsKPiAgCj4gIAkJaWYgKElTX0dFTjcoZGV2KSkgewo+ICAJ CQlzd2l0Y2ggKHJpbmctPmlkKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3VjX3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfcmVnLmgKPiBp bmRleCA4NDhhNTYzLi4zMzRmNThjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3VjX3JlZy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfcmVn LmgKPiBAQCAtMjYsNyArMjYsNyBAQAo+ICAKPiAgLyogRGVmaW5pdGlvbnMgb2YgR3VDIEgvVyBy ZWdpc3RlcnMsIGJpdHMsIGV0YyAqLwo+ICAKPiAtI2RlZmluZSBHVUNfU1RBVFVTCQkJMHhjMDAw Cj4gKyNkZWZpbmUgR1VDX1NUQVRVUwkJCV9SRUcoMHhjMDAwKQo+ICAjZGVmaW5lICAgR1NfQk9P VFJPTV9TSElGVAkJMQo+ICAjZGVmaW5lICAgR1NfQk9PVFJPTV9NQVNLCQkgICgweDdGIDw8IEdT X0JPT1RST01fU0hJRlQpCj4gICNkZWZpbmUgICBHU19CT09UUk9NX1JTQV9GQUlMRUQJCSAgKDB4 NTAgPDwgR1NfQk9PVFJPTV9TSElGVCkKPiBAQCAtMzgsMzkgKzM4LDM5IEBACj4gICNkZWZpbmUg ICBHU19NSUFfU0hJRlQJCQkxNgo+ICAjZGVmaW5lICAgR1NfTUlBX01BU0sJCQkgICgweDA3IDw8 IEdTX01JQV9TSElGVCkKPiAgCj4gLSNkZWZpbmUgU09GVF9TQ1JBVENIKG4pCQkJKDB4YzE4MCAr ICgobikgKiA0KSkKPiArI2RlZmluZSBTT0ZUX1NDUkFUQ0gobikJCQlfUkVHKDB4YzE4MCArIChu KSAqIDQpCj4gIAo+IC0jZGVmaW5lIFVPU19SU0FfU0NSQVRDSChpKQkJKDB4YzIwMCArIChpKSAq IDQpCj4gLSNkZWZpbmUgRE1BX0FERFJfMF9MT1cJCQkweGMzMDAKPiAtI2RlZmluZSBETUFfQURE Ul8wX0hJR0gJCQkweGMzMDQKPiAtI2RlZmluZSBETUFfQUREUl8xX0xPVwkJCTB4YzMwOAo+IC0j ZGVmaW5lIERNQV9BRERSXzFfSElHSAkJCTB4YzMwYwo+ICsjZGVmaW5lIFVPU19SU0FfU0NSQVRD SChpKQkJX1JFRygweGMyMDAgKyAoaSkgKiA0KQo+ICsjZGVmaW5lIERNQV9BRERSXzBfTE9XCQkJ X1JFRygweGMzMDApCj4gKyNkZWZpbmUgRE1BX0FERFJfMF9ISUdICQkJX1JFRygweGMzMDQpCj4g KyNkZWZpbmUgRE1BX0FERFJfMV9MT1cJCQlfUkVHKDB4YzMwOCkKPiArI2RlZmluZSBETUFfQURE Ul8xX0hJR0gJCQlfUkVHKDB4YzMwYykKPiAgI2RlZmluZSAgIERNQV9BRERSRVNTX1NQQUNFX1dP UENNCSAgKDcgPDwgMTYpCj4gICNkZWZpbmUgICBETUFfQUREUkVTU19TUEFDRV9HVFQJCSAgKDgg PDwgMTYpCj4gLSNkZWZpbmUgRE1BX0NPUFlfU0laRQkJCTB4YzMxMAo+IC0jZGVmaW5lIERNQV9D VFJMCQkJMHhjMzE0Cj4gKyNkZWZpbmUgRE1BX0NPUFlfU0laRQkJCV9SRUcoMHhjMzEwKQo+ICsj ZGVmaW5lIERNQV9DVFJMCQkJX1JFRygweGMzMTQpCj4gICNkZWZpbmUgICBVT1NfTU9WRQkJCSAg KDE8PDQpCj4gICNkZWZpbmUgICBTVEFSVF9ETUEJCQkgICgxPDwwKQo+IC0jZGVmaW5lIERNQV9H VUNfV09QQ01fT0ZGU0VUCQkweGMzNDAKPiArI2RlZmluZSBETUFfR1VDX1dPUENNX09GRlNFVAkJ X1JFRygweGMzNDApCj4gICNkZWZpbmUgICBHVUNfV09QQ01fT0ZGU0VUX1ZBTFVFCSAgMHg4MDAw MAkvKiA1MTJLQiAqLwo+ICAKPiAtI2RlZmluZSBHVUNfV09QQ01fU0laRQkJCTB4YzA1MAo+ICsj ZGVmaW5lIEdVQ19XT1BDTV9TSVpFCQkJX1JFRygweGMwNTApCj4gICNkZWZpbmUgICBHVUNfV09Q Q01fU0laRV9WQUxVRSAgCSAgKDB4ODAgPDwgMTIpCS8qIDUxMktCICovCj4gIAo+ICAvKiBHdUMg YWRkcmVzc2VzIGJlbG93IEdVQ19XT1BDTV9UT1AgZG9uJ3QgbWFwIHRocm91Z2ggdGhlIEdUVCAq Lwo+ICAjZGVmaW5lCUdVQ19XT1BDTV9UT1AJCQkoR1VDX1dPUENNX1NJWkVfVkFMVUUpCj4gIAo+ IC0jZGVmaW5lIEdFTjhfR1RfUE1fQ09ORklHCQkweDEzODE0MAo+IC0jZGVmaW5lIEdFTjlMUF9H VF9QTV9DT05GSUcJCTB4MTM4MTQwCj4gLSNkZWZpbmUgR0VOOV9HVF9QTV9DT05GSUcJCTB4MTM4 MTZjCj4gKyNkZWZpbmUgR0VOOF9HVF9QTV9DT05GSUcJCV9SRUcoMHgxMzgxNDApCj4gKyNkZWZp bmUgR0VOOUxQX0dUX1BNX0NPTkZJRwkJX1JFRygweDEzODE0MCkKPiArI2RlZmluZSBHRU45X0dU X1BNX0NPTkZJRwkJX1JFRygweDEzODE2YykKPiAgI2RlZmluZSAgIEdUX0RPT1JCRUxMX0VOQUJM RQkJICAoMTw8MCkKPiAgCj4gLSNkZWZpbmUgR0VOOF9HVENSCQkJMHg0Mjc0Cj4gKyNkZWZpbmUg R0VOOF9HVENSCQkJX1JFRygweDQyNzQpCj4gICNkZWZpbmUgICBHRU44X0dUQ1JfSU5WQUxJREFU RQkJICAoMTw8MCkKPiAgCj4gLSNkZWZpbmUgR1VDX0FSQVRfQzZESVMJCQkweEExNzgKPiArI2Rl ZmluZSBHVUNfQVJBVF9DNkRJUwkJCV9SRUcoMHhBMTc4KQo+ICAKPiAtI2RlZmluZSBHVUNfU0hJ TV9DT05UUk9MCQkweGMwNjQKPiArI2RlZmluZSBHVUNfU0hJTV9DT05UUk9MCQlfUkVHKDB4YzA2 NCkKPiAgI2RlZmluZSAgIEdVQ19ESVNBQkxFX1NSQU1fSU5JVF9UT19aRVJPRVMJKDE8PDApCj4g ICNkZWZpbmUgICBHVUNfRU5BQkxFX1JFQURfQ0FDSEVfTE9HSUMJCSgxPDwxKQo+ICAjZGVmaW5l ICAgR1VDX0VOQUJMRV9NSUFfQ0FDSElORwkJKDE8PDIpCj4gQEAgLTg3LDIxICs4NywyMSBAQAo+ ICAJCQkJIEdVQ19FTkFCTEVfUkVBRF9DQUNIRV9GT1JfV09QQ01fREFUQQl8IFwKPiAgCQkJCSBH VUNfRU5BQkxFX01JQV9DTE9DS19HQVRJTkcpCj4gIAo+IC0jZGVmaW5lIEhPU1QyR1VDX0lOVEVS UlVQVAkJMHhjNGM4Cj4gKyNkZWZpbmUgSE9TVDJHVUNfSU5URVJSVVBUCQlfUkVHKDB4YzRjOCkK PiAgI2RlZmluZSAgIEhPU1QyR1VDX1RSSUdHRVIJCSAgKDE8PDApCj4gIAo+ICAjZGVmaW5lIERS Qk1JU0MxCQkJMHgxOTg0Cj4gICNkZWZpbmUgICBET09SQkVMTF9FTkFCTEUJCSAgKDE8PDApCj4g IAo+IC0jZGVmaW5lIEdFTjhfRFJCUkVHTCh4KQkJCSgweDEwMDAgKyAoeCkgKiA4KQo+ICsjZGVm aW5lIEdFTjhfRFJCUkVHTCh4KQkJCV9SRUcoMHgxMDAwICsgKHgpICogOCkKPiAgI2RlZmluZSAg IEdFTjhfRFJCX1ZBTElECQkgICgxPDwwKQo+IC0jZGVmaW5lIEdFTjhfRFJCUkVHVSh4KQkJCShH RU44X0RSQlJFR0woeCkgKyA0KQo+ICsjZGVmaW5lIEdFTjhfRFJCUkVHVSh4KQkJCV9SRUcoMHgx MDAwICsgKHgpICogOCArIDQpCj4gIAo+IC0jZGVmaW5lIERFX0dVQ1JNUgkJCTB4NDQwNTQKPiAr I2RlZmluZSBERV9HVUNSTVIJCQlfUkVHKDB4NDQwNTQpCj4gIAo+IC0jZGVmaW5lIEdVQ19CQ1Nf UkNTX0lFUgkJCTB4QzU1MAo+IC0jZGVmaW5lIEdVQ19WQ1MyX1ZDUzFfSUVSCQkweEM1NTQKPiAt I2RlZmluZSBHVUNfV0RfVkVDU19JRVIJCQkweEM1NTgKPiAtI2RlZmluZSBHVUNfUE1fUDI0Q19J RVIJCQkweEM1NUMKPiArI2RlZmluZSBHVUNfQkNTX1JDU19JRVIJCQlfUkVHKDB4QzU1MCkKPiAr I2RlZmluZSBHVUNfVkNTMl9WQ1MxX0lFUgkJX1JFRygweEM1NTQpCj4gKyNkZWZpbmUgR1VDX1dE X1ZFQ1NfSUVSCQkJX1JFRygweEM1NTgpCj4gKyNkZWZpbmUgR1VDX1BNX1AyNENfSUVSCQkJX1JF RygweEM1NUMpCj4gIAo+ICAjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNf c3VibWlzc2lvbi5jCj4gaW5kZXggNzkyZDBiOS4uMzM2YTFlNzAgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gQEAgLTI0OSw3ICsyNDksNyBAQCBz dGF0aWMgdm9pZCBndWNfZGlzYWJsZV9kb29yYmVsbChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsCj4g IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkxNShndWMpOwo+ ICAJc3RydWN0IGd1Y19kb29yYmVsbF9pbmZvICpkb29yYmVsbDsKPiAgCXZvaWQgKmJhc2U7Cj4g LQlpbnQgZHJicmVnID0gR0VOOF9EUkJSRUdMKGNsaWVudC0+ZG9vcmJlbGxfaWQpOwo+ICsJc3Ry dWN0IGk5MTVfcmVnIGRyYnJlZyA9IEdFTjhfRFJCUkVHTChjbGllbnQtPmRvb3JiZWxsX2lkKTsK PiAgCWludCB2YWx1ZTsKPiAgCj4gIAliYXNlID0ga21hcF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0 X2dldF9wYWdlKGNsaWVudC0+Y2xpZW50X29iaiwgMCkpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEu Ywo+IGluZGV4IGE2YzIzYjIuLjYxZDJjNzMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9pcnEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMK PiBAQCAtMTM5LDcgKzEzOSw4IEBAIHN0YXRpYyBjb25zdCB1MzIgaHBkX2J4dFtIUERfTlVNX1BJ TlNdID0gewo+ICAvKgo+ICAgKiBXZSBzaG91bGQgY2xlYXIgSU1SIGF0IHByZWluc3RhbGwvdW5p bnN0YWxsLCBhbmQganVzdCBjaGVjayBhdCBwb3N0aW5zdGFsbC4KPiAgICovCj4gLXN0YXRpYyB2 b2lkIGdlbjVfYXNzZXJ0X2lpcl9pc196ZXJvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwgdTMyIHJlZykKPiArc3RhdGljIHZvaWQgZ2VuNV9hc3NlcnRfaWlyX2lzX3plcm8oc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQkJICAgIHN0cnVjdCBpOTE1X3Jl ZyByZWcpCj4gIHsKPiAgCXUzMiB2YWwgPSBJOTE1X1JFQUQocmVnKTsKPiAgCj4gQEAgLTE0Nyw3 ICsxNDgsNyBAQCBzdGF0aWMgdm9pZCBnZW41X2Fzc2VydF9paXJfaXNfemVybyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiByZWcpCj4gIAkJcmV0dXJuOwo+ICAKPiAgCVdB Uk4oMSwgIkludGVycnVwdCByZWdpc3RlciAweCV4IGlzIG5vdCB6ZXJvOiAweCUwOHhcbiIsCj4g LQkgICAgIHJlZywgdmFsKTsKPiArCSAgICAgcmVnLnJlZywgdmFsKTsKPiAgCUk5MTVfV1JJVEUo cmVnLCAweGZmZmZmZmZmKTsKPiAgCVBPU1RJTkdfUkVBRChyZWcpOwo+ICAJSTkxNV9XUklURShy ZWcsIDB4ZmZmZmZmZmYpOwo+IEBAIC0yNDUsMTcgKzI0NiwxNyBAQCB2b2lkIGdlbjVfZGlzYWJs ZV9ndF9pcnEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1aW50MzJfdCBtYXNr KQo+ICAJaWxrX3VwZGF0ZV9ndF9pcnEoZGV2X3ByaXYsIG1hc2ssIDApOwo+ICB9Cj4gIAo+IC1z dGF0aWMgdTMyIGdlbjZfcG1faWlyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK PiArc3RhdGljIHN0cnVjdCBpOTE1X3JlZyBnZW42X3BtX2lpcihzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiAgCXJldHVybiBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2Vu ID49IDggPyBHRU44X0dUX0lJUigyKSA6IEdFTjZfUE1JSVI7Cj4gIH0KPiAgCj4gLXN0YXRpYyB1 MzIgZ2VuNl9wbV9pbXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICtzdGF0 aWMgc3RydWN0IGk5MTVfcmVnIGdlbjZfcG1faW1yKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiAgewo+ICAJcmV0dXJuIElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gPj0gOCA/ IEdFTjhfR1RfSU1SKDIpIDogR0VONl9QTUlNUjsKPiAgfQo+ICAKPiAtc3RhdGljIHUzMiBnZW42 X3BtX2llcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3N0YXRpYyBzdHJ1 Y3QgaTkxNV9yZWcgZ2VuNl9wbV9pZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQo+ICB7Cj4gIAlyZXR1cm4gSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA+PSA4ID8gR0VOOF9H VF9JRVIoMikgOiBHRU42X1BNSUVSOwo+ICB9Cj4gQEAgLTMxMiw3ICszMTMsNyBAQCB2b2lkIGdl bjZfZGlzYWJsZV9wbV9pcnEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1aW50 MzJfdCBtYXNrKQo+ICB2b2lkIGdlbjZfcmVzZXRfcnBzX2ludGVycnVwdHMoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCXVpbnQzMl90IHJlZyA9IGdlbjZfcG1faWlyKGRldl9wcml2 KTsKPiArCXN0cnVjdCBpOTE1X3JlZyByZWcgPSBnZW42X3BtX2lpcihkZXZfcHJpdik7Cj4gIAo+ ICAJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiAgCUk5MTVfV1JJVEUocmVn LCBkZXZfcHJpdi0+cG1fcnBzX2V2ZW50cyk7Cj4gQEAgLTQzOSw3ICs0NDAsNyBAQCBzdGF0aWMg dm9pZAo+ICBfX2k5MTVfZW5hYmxlX3BpcGVzdGF0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUsCj4gIAkJICAgICAgIHUzMiBlbmFibGVfbWFzaywgdTMy IHN0YXR1c19tYXNrKQo+ICB7Cj4gLQl1MzIgcmVnID0gUElQRVNUQVQocGlwZSk7Cj4gKwlzdHJ1 Y3QgaTkxNV9yZWcgcmVnID0gUElQRVNUQVQocGlwZSk7Cj4gIAl1MzIgcGlwZXN0YXQgPSBJOTE1 X1JFQUQocmVnKSAmIFBJUEVTVEFUX0lOVF9FTkFCTEVfTUFTSzsKPiAgCj4gIAlhc3NlcnRfc3Bp bl9sb2NrZWQoJmRldl9wcml2LT5pcnFfbG9jayk7Cj4gQEAgLTQ2Niw3ICs0NjcsNyBAQCBzdGF0 aWMgdm9pZAo+ICBfX2k5MTVfZGlzYWJsZV9waXBlc3RhdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlLAo+ICAJCSAgICAgICAgdTMyIGVuYWJsZV9tYXNr LCB1MzIgc3RhdHVzX21hc2spCj4gIHsKPiAtCXUzMiByZWcgPSBQSVBFU1RBVChwaXBlKTsKPiAr CXN0cnVjdCBpOTE1X3JlZyByZWcgPSBQSVBFU1RBVChwaXBlKTsKPiAgCXUzMiBwaXBlc3RhdCA9 IEk5MTVfUkVBRChyZWcpICYgUElQRVNUQVRfSU5UX0VOQUJMRV9NQVNLOwo+ICAKPiAgCWFzc2Vy dF9zcGluX2xvY2tlZCgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiBAQCAtNjI2LDggKzYyNyw3IEBA IHN0YXRpYyB1MzIgaTh4eF9nZXRfdmJsYW5rX2NvdW50ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgaW50IHBpcGUpCj4gIHN0YXRpYyB1MzIgaTkxNV9nZXRfdmJsYW5rX2NvdW50ZXIoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQl1bnNpZ25lZCBsb25nIGhpZ2hf ZnJhbWU7Cj4gLQl1bnNpZ25lZCBsb25nIGxvd19mcmFtZTsKPiArCXN0cnVjdCBpOTE1X3JlZyBo aWdoX2ZyYW1lLCBsb3dfZnJhbWU7Cj4gIAl1MzIgaGlnaDEsIGhpZ2gyLCBsb3csIHBpeGVsLCB2 Ymxfc3RhcnQsIGhzeW5jX3N0YXJ0LCBodG90YWw7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9Cj4gIAkJdG9faW50ZWxfY3J0YyhkZXZfcHJpdi0+cGlwZV90b19jcnRjX21hcHBp bmdbcGlwZV0pOwo+IEBAIC0xMTE4LDcgKzExMTgsNyBAQCBzdGF0aWMgdm9pZCBpdnlicmlkZ2Vf cGFyaXR5X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ICAJUE9TVElOR19SRUFEKEdF TjdfTUlTQ0NQQ1RMKTsKPiAgCj4gIAl3aGlsZSAoKHNsaWNlID0gZmZzKGRldl9wcml2LT5sM19w YXJpdHkud2hpY2hfc2xpY2UpKSAhPSAwKSB7Cj4gLQkJdTMyIHJlZzsKPiArCQlzdHJ1Y3QgaTkx NV9yZWcgcmVnOwo+ICAKPiAgCQlzbGljZS0tOwo+ICAJCWlmIChXQVJOX09OX09OQ0Uoc2xpY2Ug Pj0gTlVNX0wzX1NMSUNFUyhkZXZfcHJpdi0+ZGV2KSkpCj4gQEAgLTExMjYsNyArMTEyNiw3IEBA IHN0YXRpYyB2b2lkIGl2eWJyaWRnZV9wYXJpdHlfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndv cmspCj4gIAo+ICAJCWRldl9wcml2LT5sM19wYXJpdHkud2hpY2hfc2xpY2UgJj0gfigxPDxzbGlj ZSk7Cj4gIAo+IC0JCXJlZyA9IEdFTjdfTDNDREVSUlNUMSArIChzbGljZSAqIDB4MjAwKTsKPiAr CQlyZWcgPSBHRU43X0wzQ0RFUlJTVDEoc2xpY2UpOwo+ICAKPiAgCQllcnJvcl9zdGF0dXMgPSBJ OTE1X1JFQUQocmVnKTsKPiAgCQlyb3cgPSBHRU43X1BBUklUWV9FUlJPUl9ST1coZXJyb3Jfc3Rh dHVzKTsKPiBAQCAtMTU1NSw3ICsxNTU1LDcgQEAgc3RhdGljIHZvaWQgdmFsbGV5dmlld19waXBl c3RhdF9pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgaWlyKQo+ICAKPiAg CXNwaW5fbG9jaygmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiAgCWZvcl9lYWNoX3BpcGUoZGV2X3By aXYsIHBpcGUpIHsKPiAtCQlpbnQgcmVnOwo+ICsJCXN0cnVjdCBpOTE1X3JlZyByZWc7Cj4gIAkJ dTMyIG1hc2ssIGlpcl9iaXQgPSAwOwo+ICAKPiAgCQkvKgo+IEBAIC0zNzc4LDcgKzM3NzgsNyBA QCBzdGF0aWMgaXJxcmV0dXJuX3QgaTh4eF9pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICphcmcp Cj4gIAkJCURSTV9ERUJVRygiQ29tbWFuZCBwYXJzZXIgZXJyb3IsIGlpciAweCUwOHhcbiIsIGlp cik7Cj4gIAo+ICAJCWZvcl9lYWNoX3BpcGUoZGV2X3ByaXYsIHBpcGUpIHsKPiAtCQkJaW50IHJl ZyA9IFBJUEVTVEFUKHBpcGUpOwo+ICsJCQlzdHJ1Y3QgaTkxNV9yZWcgcmVnID0gUElQRVNUQVQo cGlwZSk7Cj4gIAkJCXBpcGVfc3RhdHNbcGlwZV0gPSBJOTE1X1JFQUQocmVnKTsKPiAgCj4gIAkJ CS8qCj4gQEAgLTM5NTksNyArMzk1OSw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBpOTE1X2lycV9o YW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKPiAgCQkJRFJNX0RFQlVHKCJDb21tYW5kIHBhcnNl ciBlcnJvciwgaWlyIDB4JTA4eFxuIiwgaWlyKTsKPiAgCj4gIAkJZm9yX2VhY2hfcGlwZShkZXZf cHJpdiwgcGlwZSkgewo+IC0JCQlpbnQgcmVnID0gUElQRVNUQVQocGlwZSk7Cj4gKwkJCXN0cnVj dCBpOTE1X3JlZyByZWcgPSBQSVBFU1RBVChwaXBlKTsKPiAgCQkJcGlwZV9zdGF0c1twaXBlXSA9 IEk5MTVfUkVBRChyZWcpOwo+ICAKPiAgCQkJLyogQ2xlYXIgdGhlIFBJUEUqU1RBVCByZWdzIGJl Zm9yZSB0aGUgSUlSICovCj4gQEAgLTQxODAsNyArNDE4MCw3IEBAIHN0YXRpYyBpcnFyZXR1cm5f dCBpOTY1X2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKPiAgCQkJRFJNX0RFQlVHKCJD b21tYW5kIHBhcnNlciBlcnJvciwgaWlyIDB4JTA4eFxuIiwgaWlyKTsKPiAgCj4gIAkJZm9yX2Vh Y2hfcGlwZShkZXZfcHJpdiwgcGlwZSkgewo+IC0JCQlpbnQgcmVnID0gUElQRVNUQVQocGlwZSk7 Cj4gKwkJCXN0cnVjdCBpOTE1X3JlZyByZWcgPSBQSVBFU1RBVChwaXBlKTsKPiAgCQkJcGlwZV9z dGF0c1twaXBlXSA9IEk5MTVfUkVBRChyZWcpOwo+ICAKPiAgCQkJLyoKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmgKPiBpbmRleCAxNDAwNzZkLi4wNTg5YWJhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oCj4gQEAgLTI1LDE2ICsyNSwyOCBAQAo+ICAjaWZuZGVmIF9JOTE1X1JFR19IXwo+ICAj ZGVmaW5lIF9JOTE1X1JFR19IXwo+ICAKPiArc3RydWN0IGk5MTVfcmVnIHsKPiArCXVpbnQzMl90 IHJlZzsKPiArfTsKPiArCj4gKyNkZWZpbmUgX1JFRyhyKSAoKGNvbnN0IHN0cnVjdCBpOTE1X3Jl Zyl7IC5yZWcgPSAocikgfSkKPiArCj4gICNkZWZpbmUgX1BJUEUocGlwZSwgYSwgYikgKChhKSAr IChwaXBlKSooKGIpLShhKSkpCj4gKyNkZWZpbmUgX1JFR19QSVBFKHBpcGUsIGEsIGIpIF9SRUco X1BJUEUocGlwZSwgYSwgYikpCj4gICNkZWZpbmUgX1BMQU5FKHBsYW5lLCBhLCBiKSBfUElQRShw bGFuZSwgYSwgYikKPiAtI2RlZmluZSBfVFJBTlNDT0RFUih0cmFuLCBhLCBiKSAoKGEpICsgKHRy YW4pKigoYiktKGEpKSkKPiArI2RlZmluZSBfUkVHX1BMQU5FKHBsYW5lLCBhLCBiKSBfUkVHX1BJ UEUocGxhbmUsIGEsIGIpCj4gKyNkZWZpbmUgX1RSQU5TKHRyYW4sIGEsIGIpICgoYSkgKyAodHJh bikqKChiKS0oYSkpKQo+ICsjZGVmaW5lIF9SRUdfVFJBTlModHJhbiwgYSwgYikgX1JFRyhfVFJB TlModHJhbiwgYSwgYikpCj4gICNkZWZpbmUgX1BPUlQocG9ydCwgYSwgYikgKChhKSArIChwb3J0 KSooKGIpLShhKSkpCj4gKyNkZWZpbmUgX1JFR19QT1JUKHBvcnQsIGEsIGIpIF9SRUcoX1BPUlQo cG9ydCwgYSwgYikpCj4gICNkZWZpbmUgX1BJUEUzKHBpcGUsIGEsIGIsIGMpICgocGlwZSkgPT0g UElQRV9BID8gKGEpIDogXAo+ICAJCQkgICAgICAgKHBpcGUpID09IFBJUEVfQiA/IChiKSA6IChj KSkKPiArI2RlZmluZSBfUkVHX1BJUEUzKHBpcGUsIGEsIGIsIGMpIF9SRUcoX1BJUEUzKHBpcGUs IGEsIGIsIGMpKQo+ICAjZGVmaW5lIF9QT1JUMyhwb3J0LCBhLCBiLCBjKSAoKHBvcnQpID09IFBP UlRfQSA/IChhKSA6IFwKPiAgCQkJICAgICAgIChwb3J0KSA9PSBQT1JUX0IgPyAoYikgOiAoYykp Cj4gKyNkZWZpbmUgX1JFR19QT1JUMyhwaXBlLCBhLCBiLCBjKSBfUkVHKF9QT1JUMyhwaXBlLCBh LCBiLCBjKSkKPiAgCj4gLSNkZWZpbmUgX01BU0tFRF9GSUVMRChtYXNrLCB2YWx1ZSkgKHsJCQkJ CSAgIFwKPiArI2RlZmluZSBfTUFTS0VEX0ZJRUxEKG1hc2ssIHZhbHVlKSAoewkJCQkJXAo+ICAJ aWYgKF9fYnVpbHRpbl9jb25zdGFudF9wKG1hc2spKQkJCQkJICAgXAo+ICAJCUJVSUxEX0JVR19P Tl9NU0coKChtYXNrKSAmIDB4ZmZmZjAwMDApLCAiSW5jb3JyZWN0IG1hc2siKTsgXAo+ICAJaWYg KF9fYnVpbHRpbl9jb25zdGFudF9wKHZhbHVlKSkJCQkJICAgXAo+IEBAIC0xMDUsMTQgKzExNywx NCBAQAo+ICAjZGVmaW5lICBHUkRPTV9SRVNFVF9TVEFUVVMgKDE8PDEpCj4gICNkZWZpbmUgIEdS RE9NX1JFU0VUX0VOQUJMRSAoMTw8MCkKPiAgCj4gLSNkZWZpbmUgSUxLX0dEU1IgKE1DSEJBUl9N SVJST1JfQkFTRSArIDB4MmNhNCkKPiArI2RlZmluZSBJTEtfR0RTUiBfUkVHKE1DSEJBUl9NSVJS T1JfQkFTRSArIDB4MmNhNCkKPiAgI2RlZmluZSAgSUxLX0dSRE9NX0ZVTEwJCSgwPDwxKQo+ICAj ZGVmaW5lICBJTEtfR1JET01fUkVOREVSCSgxPDwxKQo+ICAjZGVmaW5lICBJTEtfR1JET01fTUVE SUEJKDM8PDEpCj4gICNkZWZpbmUgIElMS19HUkRPTV9NQVNLCQkoMzw8MSkKPiAgI2RlZmluZSAg SUxLX0dSRE9NX1JFU0VUX0VOQUJMRSAoMTw8MCkKPiAgCj4gLSNkZWZpbmUgR0VONl9NQkNVTklU X1NOUENSCTB4OTAwYyAvKiBmb3IgTExDIGNvbmZpZyAqLwo+ICsjZGVmaW5lIEdFTjZfTUJDVU5J VF9TTlBDUglfUkVHKDB4OTAwYykgLyogZm9yIExMQyBjb25maWcgKi8KPiAgI2RlZmluZSAgIEdF TjZfTUJDX1NOUENSX1NISUZUCTIxCj4gICNkZWZpbmUgICBHRU42X01CQ19TTlBDUl9NQVNLCSgz PDwyMSkKPiAgI2RlZmluZSAgIEdFTjZfTUJDX1NOUENSX01BWAkoMDw8MjEpCj4gQEAgLTEyMCwz MSArMTMyLDMxIEBACj4gICNkZWZpbmUgICBHRU42X01CQ19TTlBDUl9MT1cJKDI8PDIxKQo+ICAj ZGVmaW5lICAgR0VONl9NQkNfU05QQ1JfTUlOCSgzPDwyMSkgLyogb25seSAxLzE2dGggb2YgdGhl IGNhY2hlIGlzIHNoYXJlZCAqLwo+ICAKPiAtI2RlZmluZSBWTFZfRzNEQ1RMCQkweDkwMjQKPiAt I2RlZmluZSBWTFZfR1NDS0dDVEwJCTB4OTAyOAo+ICsjZGVmaW5lIFZMVl9HM0RDVEwJCV9SRUco MHg5MDI0KQo+ICsjZGVmaW5lIFZMVl9HU0NLR0NUTAkJX1JFRygweDkwMjgpCj4gIAo+IC0jZGVm aW5lIEdFTjZfTUJDVEwJCTB4MDkwN2MKPiArI2RlZmluZSBHRU42X01CQ1RMCQlfUkVHKDB4MDkw N2MpCj4gICNkZWZpbmUgICBHRU42X01CQ1RMX0VOQUJMRV9CT09UX0ZFVENICSgxIDw8IDQpCj4g ICNkZWZpbmUgICBHRU42X01CQ1RMX0NUWF9GRVRDSF9ORUVERUQJKDEgPDwgMykKPiAgI2RlZmlu ZSAgIEdFTjZfTUJDVExfQk1FX1VQREFURV9FTkFCTEUJKDEgPDwgMikKPiAgI2RlZmluZSAgIEdF TjZfTUJDVExfTUFFX1VQREFURV9FTkFCTEUJKDEgPDwgMSkKPiAgI2RlZmluZSAgIEdFTjZfTUJD VExfQk9PVF9GRVRDSF9NRUNICSgxIDw8IDApCj4gIAo+IC0jZGVmaW5lIEdFTjZfR0RSU1QJMHg5 NDFjCj4gKyNkZWZpbmUgR0VONl9HRFJTVAlfUkVHKDB4OTQxYykKPiAgI2RlZmluZSAgR0VONl9H UkRPTV9GVUxMCQkoMSA8PCAwKQo+ICAjZGVmaW5lICBHRU42X0dSRE9NX1JFTkRFUgkJKDEgPDwg MSkKPiAgI2RlZmluZSAgR0VONl9HUkRPTV9NRURJQQkJKDEgPDwgMikKPiAgI2RlZmluZSAgR0VO Nl9HUkRPTV9CTFQJCQkoMSA8PCAzKQo+ICAKPiAtI2RlZmluZSBSSU5HX1BQX0RJUl9CQVNFKHJp bmcpCQkoKHJpbmcpLT5tbWlvX2Jhc2UrMHgyMjgpCj4gLSNkZWZpbmUgUklOR19QUF9ESVJfQkFT RV9SRUFEKHJpbmcpCSgocmluZyktPm1taW9fYmFzZSsweDUxOCkKPiAtI2RlZmluZSBSSU5HX1BQ X0RJUl9EQ0xWKHJpbmcpCQkoKHJpbmcpLT5tbWlvX2Jhc2UrMHgyMjApCj4gKyNkZWZpbmUgUklO R19QUF9ESVJfQkFTRShyaW5nKQkJX1JFRygocmluZyktPm1taW9fYmFzZSsweDIyOCkKPiArI2Rl ZmluZSBSSU5HX1BQX0RJUl9CQVNFX1JFQUQocmluZykJX1JFRygocmluZyktPm1taW9fYmFzZSsw eDUxOCkKPiArI2RlZmluZSBSSU5HX1BQX0RJUl9EQ0xWKHJpbmcpCQlfUkVHKChyaW5nKS0+bW1p b19iYXNlKzB4MjIwKQo+ICAjZGVmaW5lICAgUFBfRElSX0RDTFZfMkcJCTB4ZmZmZmZmZmYKPiAg Cj4gLSNkZWZpbmUgR0VOOF9SSU5HX1BEUF9VRFcocmluZywgbikJKChyaW5nKS0+bW1pb19iYXNl KzB4MjcwICsgKChuKSAqIDggKyA0KSkKPiAtI2RlZmluZSBHRU44X1JJTkdfUERQX0xEVyhyaW5n LCBuKQkoKHJpbmcpLT5tbWlvX2Jhc2UrMHgyNzAgKyAobikgKiA4KQo+ICsjZGVmaW5lIEdFTjhf UklOR19QRFBfVURXKHJpbmcsIG4pCV9SRUcoKHJpbmcpLT5tbWlvX2Jhc2UrMHgyNzAgKyAobikg KiA4ICsgNCkKPiArI2RlZmluZSBHRU44X1JJTkdfUERQX0xEVyhyaW5nLCBuKQlfUkVHKChyaW5n KS0+bW1pb19iYXNlKzB4MjcwICsgKG4pICogOCkKPiAgCj4gLSNkZWZpbmUgR0VOOF9SX1BXUl9D TEtfU1RBVEUJCTB4MjBDOAo+ICsjZGVmaW5lIEdFTjhfUl9QV1JfQ0xLX1NUQVRFCQlfUkVHKDB4 MjBDOCkKPiAgI2RlZmluZSAgIEdFTjhfUlBDU19FTkFCTEUJCSgxIDw8IDMxKQo+ICAjZGVmaW5l ICAgR0VOOF9SUENTX1NfQ05UX0VOQUJMRQkoMSA8PCAxOCkKPiAgI2RlZmluZSAgIEdFTjhfUlBD U19TX0NOVF9TSElGVAkJMTUKPiBAQCAtMTU3LDcgKzE2OSw3IEBACj4gICNkZWZpbmUgICBHRU44 X1JQQ1NfRVVfTUlOX1NISUZUCTAKPiAgI2RlZmluZSAgIEdFTjhfUlBDU19FVV9NSU5fTUFTSwkJ KDB4ZiA8PCBHRU44X1JQQ1NfRVVfTUlOX1NISUZUKQo+ICAKPiAtI2RlZmluZSBHQU1fRUNPQ0hL CQkJMHg0MDkwCj4gKyNkZWZpbmUgR0FNX0VDT0NISwkJCV9SRUcoMHg0MDkwKQo+ICAjZGVmaW5l ICAgQkRXX0RJU0FCTEVfSERDX0lOVkFMSURBVElPTgkoMTw8MjUpCj4gICNkZWZpbmUgICBFQ09D SEtfU05CX0JJVAkJKDE8PDEwKQo+ICAjZGVmaW5lICAgRUNPQ0hLX0RJU19UTEIJCSgxPDw4KQo+ IEBAIC0xNzAsMTUgKzE4MiwxNSBAQAo+ICAjZGVmaW5lICAgRUNPQ0hLX1BQR1RUX1dUX0hTVwkJ KDB4Mjw8MykKPiAgI2RlZmluZSAgIEVDT0NIS19QUEdUVF9XQl9IU1cJCSgweDM8PDMpCj4gIAo+ IC0jZGVmaW5lIEdBQ19FQ09fQklUUwkJCTB4MTQwOTAKPiArI2RlZmluZSBHQUNfRUNPX0JJVFMJ CQlfUkVHKDB4MTQwOTApCj4gICNkZWZpbmUgICBFQ09CSVRTX1NOQl9CSVQJCSgxPDwxMykKPiAg I2RlZmluZSAgIEVDT0JJVFNfUFBHVFRfQ0FDSEU2NEIJKDM8PDgpCj4gICNkZWZpbmUgICBFQ09C SVRTX1BQR1RUX0NBQ0hFNEIJCSgwPDw4KQo+ICAKPiAtI2RlZmluZSBHQUJfQ1RMCQkJCTB4MjQw MDAKPiArI2RlZmluZSBHQUJfQ1RMCQkJCV9SRUcoMHgyNDAwMCkKPiAgI2RlZmluZSAgIEdBQl9D VExfQ09OVF9BRlRFUl9QQUdFRkFVTFQJKDE8PDgpCj4gIAo+IC0jZGVmaW5lIEdFTjZfU1RPTEVO X1JFU0VSVkVECQkweDEwODJDMAo+ICsjZGVmaW5lIEdFTjZfU1RPTEVOX1JFU0VSVkVECQlfUkVH KDB4MTA4MkMwKQo+ICAjZGVmaW5lIEdFTjZfU1RPTEVOX1JFU0VSVkVEX0FERFJfTUFTSwkoMHhG RkYgPDwgMjApCj4gICNkZWZpbmUgR0VON19TVE9MRU5fUkVTRVJWRURfQUREUl9NQVNLCSgweDNG RkYgPDwgMTgpCj4gICNkZWZpbmUgR0VONl9TVE9MRU5fUkVTRVJWRURfU0laRV9NQVNLCSgzIDw8 IDQpCj4gQEAgLTIwMCw2ICsyMTIsNyBAQAo+ICAjZGVmaW5lIFZHQV9TVDAxX01EQSAweDNiYQo+ ICAjZGVmaW5lIFZHQV9TVDAxX0NHQSAweDNkYQo+ICAKPiArI2RlZmluZSBfVkdBX01TUl9XUklU RSBfUkVHKDB4M2MyKQo+ICAjZGVmaW5lIFZHQV9NU1JfV1JJVEUgMHgzYzIKPiAgI2RlZmluZSBW R0FfTVNSX1JFQUQgMHgzY2MKPiAgI2RlZmluZSAgIFZHQV9NU1JfTUVNX0VOICgxPDwxKQo+IEBA IC0zNzcsMTAgKzM5MCwxMCBAQAo+ICAjZGVmaW5lIE1JX0JBVENIX0JVRkZFUl9TVEFSVF9HRU44 CU1JX0lOU1RSKDB4MzEsIDEpCj4gICNkZWZpbmUgICBNSV9CQVRDSF9SRVNPVVJDRV9TVFJFQU1F UiAoMTw8MTApCj4gIAo+IC0jZGVmaW5lIE1JX1BSRURJQ0FURV9TUkMwCSgweDI0MDApCj4gLSNk ZWZpbmUgTUlfUFJFRElDQVRFX1NSQzEJKDB4MjQwOCkKPiArI2RlZmluZSBNSV9QUkVESUNBVEVf U1JDMAlfUkVHKDB4MjQwMCkKPiArI2RlZmluZSBNSV9QUkVESUNBVEVfU1JDMQlfUkVHKDB4MjQw OCkKPiAgCj4gLSNkZWZpbmUgTUlfUFJFRElDQVRFX1JFU1VMVF8yCSgweDIyMTQpCj4gKyNkZWZp bmUgTUlfUFJFRElDQVRFX1JFU1VMVF8yCV9SRUcoMHgyMjE0KQo+ICAjZGVmaW5lICBMT1dFUl9T TElDRV9FTkFCTEVECSgxPDwwKQo+ICAjZGVmaW5lICBMT1dFUl9TTElDRV9ESVNBQkxFRAkoMDw8 MCkKPiAgCj4gQEAgLTUwOSw0NSArNTIyLDQzIEBACj4gIC8qCj4gICAqIFJlZ2lzdGVycyB1c2Vk IG9ubHkgYnkgdGhlIGNvbW1hbmQgcGFyc2VyCj4gICAqLwo+IC0jZGVmaW5lIEJDU19TV0NUUkwg MHgyMjIwMAo+IC0KPiAtI2RlZmluZSBHUEdQVV9USFJFQURTX0RJU1BBVENIRUQgICAgICAgIDB4 MjI5MAo+IC0jZGVmaW5lIEhTX0lOVk9DQVRJT05fQ09VTlQgICAgICAgICAgICAgMHgyMzAwCj4g LSNkZWZpbmUgRFNfSU5WT0NBVElPTl9DT1VOVCAgICAgICAgICAgICAweDIzMDgKPiAtI2RlZmlu ZSBJQV9WRVJUSUNFU19DT1VOVCAgICAgICAgICAgICAgIDB4MjMxMAo+IC0jZGVmaW5lIElBX1BS SU1JVElWRVNfQ09VTlQgICAgICAgICAgICAgMHgyMzE4Cj4gLSNkZWZpbmUgVlNfSU5WT0NBVElP Tl9DT1VOVCAgICAgICAgICAgICAweDIzMjAKPiAtI2RlZmluZSBHU19JTlZPQ0FUSU9OX0NPVU5U ICAgICAgICAgICAgIDB4MjMyOAo+IC0jZGVmaW5lIEdTX1BSSU1JVElWRVNfQ09VTlQgICAgICAg ICAgICAgMHgyMzMwCj4gLSNkZWZpbmUgQ0xfSU5WT0NBVElPTl9DT1VOVCAgICAgICAgICAgICAw eDIzMzgKPiAtI2RlZmluZSBDTF9QUklNSVRJVkVTX0NPVU5UICAgICAgICAgICAgIDB4MjM0MAo+ IC0jZGVmaW5lIFBTX0lOVk9DQVRJT05fQ09VTlQgICAgICAgICAgICAgMHgyMzQ4Cj4gLSNkZWZp bmUgUFNfREVQVEhfQ09VTlQgICAgICAgICAgICAgICAgICAweDIzNTAKPiArI2RlZmluZSBCQ1Nf U1dDVFJMIF9SRUcoMHgyMjIwMCkKPiArCj4gKyNkZWZpbmUgR1BHUFVfVEhSRUFEU19ESVNQQVRD SEVEICAgICAgICBfUkVHKDB4MjI5MCkKPiArI2RlZmluZSBIU19JTlZPQ0FUSU9OX0NPVU5UICAg ICAgICAgICAgIF9SRUcoMHgyMzAwKQo+ICsjZGVmaW5lIERTX0lOVk9DQVRJT05fQ09VTlQgICAg ICAgICAgICAgX1JFRygweDIzMDgpCj4gKyNkZWZpbmUgSUFfVkVSVElDRVNfQ09VTlQgICAgICAg ICAgICAgICBfUkVHKDB4MjMxMCkKPiArI2RlZmluZSBJQV9QUklNSVRJVkVTX0NPVU5UICAgICAg ICAgICAgIF9SRUcoMHgyMzE4KQo+ICsjZGVmaW5lIFZTX0lOVk9DQVRJT05fQ09VTlQgICAgICAg ICAgICAgX1JFRygweDIzMjApCj4gKyNkZWZpbmUgR1NfSU5WT0NBVElPTl9DT1VOVCAgICAgICAg ICAgICBfUkVHKDB4MjMyOCkKPiArI2RlZmluZSBHU19QUklNSVRJVkVTX0NPVU5UICAgICAgICAg ICAgIF9SRUcoMHgyMzMwKQo+ICsjZGVmaW5lIENMX0lOVk9DQVRJT05fQ09VTlQgICAgICAgICAg ICAgX1JFRygweDIzMzgpCj4gKyNkZWZpbmUgQ0xfUFJJTUlUSVZFU19DT1VOVCAgICAgICAgICAg ICBfUkVHKDB4MjM0MCkKPiArI2RlZmluZSBQU19JTlZPQ0FUSU9OX0NPVU5UICAgICAgICAgICAg IF9SRUcoMHgyMzQ4KQo+ICsjZGVmaW5lIFBTX0RFUFRIX0NPVU5UICAgICAgICAgICAgICAgICAg X1JFRygweDIzNTApCj4gIAo+ICAvKiBUaGVyZSBhcmUgdGhlIDQgNjQtYml0IGNvdW50ZXIgcmVn aXN0ZXJzLCBvbmUgZm9yIGVhY2ggc3RyZWFtIG91dHB1dCAqLwo+IC0jZGVmaW5lIEdFTjdfU09f TlVNX1BSSU1TX1dSSVRURU4obikgKDB4NTIwMCArIChuKSAqIDgpCj4gKyNkZWZpbmUgR0VON19T T19OVU1fUFJJTVNfV1JJVFRFTihuKSBfUkVHKDB4NTIwMCArIChuKSAqIDgpCj4gIAo+IC0jZGVm aW5lIEdFTjdfU09fUFJJTV9TVE9SQUdFX05FRURFRChuKSAgKDB4NTI0MCArIChuKSAqIDgpCj4g KyNkZWZpbmUgR0VON19TT19QUklNX1NUT1JBR0VfTkVFREVEKG4pICBfUkVHKDB4NTI0MCArIChu KSAqIDgpCj4gIAo+IC0jZGVmaW5lIEdFTjdfM0RQUklNX0VORF9PRkZTRVQgICAgICAgICAgMHgy NDIwCj4gLSNkZWZpbmUgR0VON18zRFBSSU1fU1RBUlRfVkVSVEVYICAgICAgICAweDI0MzAKPiAt I2RlZmluZSBHRU43XzNEUFJJTV9WRVJURVhfQ09VTlQgICAgICAgIDB4MjQzNAo+IC0jZGVmaW5l IEdFTjdfM0RQUklNX0lOU1RBTkNFX0NPVU5UICAgICAgMHgyNDM4Cj4gLSNkZWZpbmUgR0VON18z RFBSSU1fU1RBUlRfSU5TVEFOQ0UgICAgICAweDI0M0MKPiAtI2RlZmluZSBHRU43XzNEUFJJTV9C QVNFX1ZFUlRFWCAgICAgICAgIDB4MjQ0MAo+ICsjZGVmaW5lIEdFTjdfM0RQUklNX0VORF9PRkZT RVQgICAgICAgICAgX1JFRygweDI0MjApCj4gKyNkZWZpbmUgR0VON18zRFBSSU1fU1RBUlRfVkVS VEVYICAgICAgICBfUkVHKDB4MjQzMCkKPiArI2RlZmluZSBHRU43XzNEUFJJTV9WRVJURVhfQ09V TlQgICAgICAgIF9SRUcoMHgyNDM0KQo+ICsjZGVmaW5lIEdFTjdfM0RQUklNX0lOU1RBTkNFX0NP VU5UICAgICAgX1JFRygweDI0MzgpCj4gKyNkZWZpbmUgR0VON18zRFBSSU1fU1RBUlRfSU5TVEFO Q0UgICAgICBfUkVHKDB4MjQzQykKPiArI2RlZmluZSBHRU43XzNEUFJJTV9CQVNFX1ZFUlRFWCAg ICAgICAgIF9SRUcoMHgyNDQwKQo+ICAKPiAtI2RlZmluZSBPQUNPTlRST0wgMHgyMzYwCj4gKyNk ZWZpbmUgT0FDT05UUk9MIF9SRUcoMHgyMzYwKQo+ICAKPiAgI2RlZmluZSBfR0VON19QSVBFQV9E RV9MT0FEX1NMCTB4NzAwNjgKPiAgI2RlZmluZSBfR0VON19QSVBFQl9ERV9MT0FEX1NMCTB4NzEw NjgKPiAtI2RlZmluZSBHRU43X1BJUEVfREVfTE9BRF9TTChwaXBlKSBfUElQRShwaXBlLCBcCj4g LQkJCQkJIF9HRU43X1BJUEVBX0RFX0xPQURfU0wsIFwKPiAtCQkJCQkgX0dFTjdfUElQRUJfREVf TE9BRF9TTCkKPiArI2RlZmluZSBHRU43X1BJUEVfREVfTE9BRF9TTChwaXBlKSBfUkVHX1BJUEUo cGlwZSwgX0dFTjdfUElQRUFfREVfTE9BRF9TTCwgX0dFTjdfUElQRUJfREVfTE9BRF9TTCkpCj4g IAo+ICAvKgo+ICAgKiBSZXNldCByZWdpc3RlcnMKPiAgICovCj4gLSNkZWZpbmUgREVCVUdfUkVT RVRfSTgzMAkJMHg2MDcwCj4gKyNkZWZpbmUgREVCVUdfUkVTRVRfSTgzMAkJX1JFRygweDYwNzAp Cj4gICNkZWZpbmUgIERFQlVHX1JFU0VUX0ZVTEwJCSgxPDw3KQo+ICAjZGVmaW5lICBERUJVR19S RVNFVF9SRU5ERVIJCSgxPDw4KQo+ICAjZGVmaW5lICBERUJVR19SRVNFVF9ESVNQTEFZCQkoMTw8 OSkKPiBAQCAtNTU1LDcgKzU2Niw3IEBACj4gIC8qCj4gICAqIElPU0Ygc2lkZWJhbmQKPiAgICov Cj4gLSNkZWZpbmUgVkxWX0lPU0ZfRE9PUkJFTExfUkVRCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAw eDIxMDApCj4gKyNkZWZpbmUgVkxWX0lPU0ZfRE9PUkJFTExfUkVRCQkJX1JFRyhWTFZfRElTUExB WV9CQVNFICsgMHgyMTAwKQo+ICAjZGVmaW5lICAgSU9TRl9ERVZGTl9TSElGVAkJCTI0Cj4gICNk ZWZpbmUgICBJT1NGX09QQ09ERV9TSElGVAkJCTE2Cj4gICNkZWZpbmUgICBJT1NGX1BPUlRfU0hJ RlQJCQk4Cj4gQEAgLTU3Miw4ICs1ODMsOCBAQAo+ICAjZGVmaW5lICAgSU9TRl9QT1JUX0NDVQkJ CQkweEE5Cj4gICNkZWZpbmUgICBJT1NGX1BPUlRfR1BTX0NPUkUJCQkweDQ4Cj4gICNkZWZpbmUg ICBJT1NGX1BPUlRfRkxJU0RTSQkJCTB4MUIKPiAtI2RlZmluZSBWTFZfSU9TRl9EQVRBCQkJCShW TFZfRElTUExBWV9CQVNFICsgMHgyMTA0KQo+IC0jZGVmaW5lIFZMVl9JT1NGX0FERFIJCQkJKFZM Vl9ESVNQTEFZX0JBU0UgKyAweDIxMDgpCj4gKyNkZWZpbmUgVkxWX0lPU0ZfREFUQQkJCQlfUkVH KFZMVl9ESVNQTEFZX0JBU0UgKyAweDIxMDQpCj4gKyNkZWZpbmUgVkxWX0lPU0ZfQUREUgkJCQlf UkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAweDIxMDgpCj4gIAo+ICAvKiBTZWUgY29uZmlnZGIgYnVu aXQgU0IgYWRkciBtYXAgKi8KPiAgI2RlZmluZSBCVU5JVF9SRUdfQklTT0MJCQkJMHgxMQo+IEBA IC04MjcsNyArODM4LDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICAqLwo+ICAj ZGVmaW5lIERQSU9fREVWRk4JCQkwCj4gIAo+IC0jZGVmaW5lIERQSU9fQ1RMCQkJKFZMVl9ESVNQ TEFZX0JBU0UgKyAweDIxMTApCj4gKyNkZWZpbmUgRFBJT19DVEwJCQlfUkVHKFZMVl9ESVNQTEFZ X0JBU0UgKyAweDIxMTApCj4gICNkZWZpbmUgIERQSU9fTU9EU0VMMQkJCSgxPDwzKSAvKiBpZiBy ZWYgY2xrIGIgPT0gMjcgKi8KPiAgI2RlZmluZSAgRFBJT19NT0RTRUwwCQkJKDE8PDIpIC8qIGlm IHJlZiBjbGsgYSA9PSAyNyAqLwo+ICAjZGVmaW5lICBEUElPX1NGUl9CWVBBU1MJCSgxPDwxKQo+ IEBAIC0xMTgwLDkgKzExOTEsOSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2Rl ZmluZSAgIERQSU9fVVBBUl9TSElGVAkJMzAKPiAgCj4gIC8qIEJYVCBQSFkgcmVnaXN0ZXJzICov Cj4gLSNkZWZpbmUgX0JYVF9QSFkocGh5LCBhLCBiKQkJX1BJUEUoKHBoeSksIChhKSwgKGIpKQo+ ICsjZGVmaW5lIF9CWFRfUEhZKHBoeSwgYSwgYikJCV9SRUdfUElQRSgocGh5KSwgKGEpLCAoYikp Cj4gIAo+IC0jZGVmaW5lIEJYVF9QX0NSX0dUX0RJU1BfUFdST04JCTB4MTM4MDkwCj4gKyNkZWZp bmUgQlhUX1BfQ1JfR1RfRElTUF9QV1JPTgkJX1JFRygweDEzODA5MCkKPiAgI2RlZmluZSAgIEdU X0RJU1BMQVlfUE9XRVJfT04ocGh5KQkoMSA8PCAocGh5KSkKPiAgCj4gICNkZWZpbmUgX1BIWV9D VExfRkFNSUxZX0VEUAkJMHg2NEM4MAo+IEBAIC0xMTk4LDcgKzEyMDksNyBAQCBlbnVtIHNrbF9k aXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIFBPUlRfUExMX0VOQUJMRQkJKDEgPDwgMzEp Cj4gICNkZWZpbmUgICBQT1JUX1BMTF9MT0NLCQkJKDEgPDwgMzApCj4gICNkZWZpbmUgICBQT1JU X1BMTF9SRUZfU0VMCQkoMSA8PCAyNykKPiAtI2RlZmluZSBCWFRfUE9SVF9QTExfRU5BQkxFKHBv cnQpCV9QT1JUKHBvcnQsIF9QT1JUX1BMTF9BLCBfUE9SVF9QTExfQikKPiArI2RlZmluZSBCWFRf UE9SVF9QTExfRU5BQkxFKHBvcnQpCV9SRUdfUE9SVChwb3J0LCBfUE9SVF9QTExfQSwgX1BPUlRf UExMX0IpCj4gIAo+ICAjZGVmaW5lIF9QT1JUX1BMTF9FQkJfMF9BCQkweDE2MjAzNAo+ICAjZGVm aW5lIF9QT1JUX1BMTF9FQkJfMF9CCQkweDZDMDM0Cj4gQEAgLTEyMDksNyArMTIyMCw3IEBAIGVu dW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgUE9SVF9QTExfUDJfU0hJRlQJ CTgKPiAgI2RlZmluZSAgIFBPUlRfUExMX1AyX01BU0sJCSgweDFmIDw8IFBPUlRfUExMX1AyX1NI SUZUKQo+ICAjZGVmaW5lICAgUE9SVF9QTExfUDIoeCkJCSgoeCkgIDw8IFBPUlRfUExMX1AyX1NI SUZUKQo+IC0jZGVmaW5lIEJYVF9QT1JUX1BMTF9FQkJfMChwb3J0KQlfUE9SVDMocG9ydCwgX1BP UlRfUExMX0VCQl8wX0EsIFwKPiArI2RlZmluZSBCWFRfUE9SVF9QTExfRUJCXzAocG9ydCkJX1JF R19QT1JUMyhwb3J0LCBfUE9SVF9QTExfRUJCXzBfQSwgXAo+ICAJCQkJCQlfUE9SVF9QTExfRUJC XzBfQiwJXAo+ICAJCQkJCQlfUE9SVF9QTExfRUJCXzBfQykKPiAgCj4gQEAgLTEyMTgsNyArMTIy OSw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIF9QT1JUX1BMTF9F QkJfNF9DCQkweDZDMzQ0Cj4gICNkZWZpbmUgICBQT1JUX1BMTF8xMEJJVF9DTEtfRU5BQkxFCSgx IDw8IDEzKQo+ICAjZGVmaW5lICAgUE9SVF9QTExfUkVDQUxJQlJBVEUJCSgxIDw8IDE0KQo+IC0j ZGVmaW5lIEJYVF9QT1JUX1BMTF9FQkJfNChwb3J0KQlfUE9SVDMocG9ydCwgX1BPUlRfUExMX0VC Ql80X0EsIFwKPiArI2RlZmluZSBCWFRfUE9SVF9QTExfRUJCXzQocG9ydCkJX1JFR19QT1JUMyhw b3J0LCBfUE9SVF9QTExfRUJCXzRfQSwgXAo+ICAJCQkJCQlfUE9SVF9QTExfRUJCXzRfQiwJXAo+ ICAJCQkJCQlfUE9SVF9QTExfRUJCXzRfQykKPiAgCj4gQEAgLTEyNTQsNyArMTI2NSw3IEBAIGVu dW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIF9QT1JUX1BMTF9CQVNFKHBvcnQp CQlfUE9SVDMocG9ydCwgX1BPUlRfUExMXzBfQSwJXAo+ICAJCQkJCQlfUE9SVF9QTExfMF9CLAkJ XAo+ICAJCQkJCQlfUE9SVF9QTExfMF9DKQo+IC0jZGVmaW5lIEJYVF9QT1JUX1BMTChwb3J0LCBp ZHgpCQkoX1BPUlRfUExMX0JBU0UocG9ydCkgKyAoaWR4KSAqIDQpCj4gKyNkZWZpbmUgQlhUX1BP UlRfUExMKHBvcnQsIGlkeCkJCV9SRUcoX1BPUlRfUExMX0JBU0UocG9ydCkgKyAoaWR4KSAqIDQp Cj4gIAo+ICAvKiBCWFQgUEhZIGNvbW1vbiBsYW5lIHJlZ2lzdGVycyAqLwo+ICAjZGVmaW5lIF9Q T1JUX0NMMUNNX0RXMF9BCQkweDE2MjAwMAo+IEBAIC0xMjkyLDcgKzEzMDMsNyBAQCBlbnVtIHNr bF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgCQkJCQkJCV9QT1JUX0NMMUNNX0RXMzBfQSkKPiAgCj4g IC8qIERlZmluZWQgZm9yIFBIWTAgb25seSAqLwo+IC0jZGVmaW5lIEJYVF9QT1JUX0NMMkNNX0RX Nl9CQwkJMHg2QzM1OAo+ICsjZGVmaW5lIEJYVF9QT1JUX0NMMkNNX0RXNl9CQwkJX1JFRygweDZD MzU4KQo+ICAjZGVmaW5lICAgRFc2X09MRE9fRFlOX1BXUl9ET1dOX0VOCSgxIDw8IDI4KQo+ICAK PiAgLyogQlhUIFBIWSBSZWYgcmVnaXN0ZXJzICovCj4gQEAgLTEzMzIsMTAgKzEzNDMsMTAgQEAg ZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgX1BPUlRfUENTX0RXMTBfR1JQ X0EJCTB4MTYyQzI4Cj4gICNkZWZpbmUgX1BPUlRfUENTX0RXMTBfR1JQX0IJCTB4NkNDMjgKPiAg I2RlZmluZSBfUE9SVF9QQ1NfRFcxMF9HUlBfQwkJMHg2Q0UyOAo+IC0jZGVmaW5lIEJYVF9QT1JU X1BDU19EVzEwX0xOMDEocG9ydCkJX1BPUlQzKHBvcnQsIF9QT1JUX1BDU19EVzEwX0xOMDFfQSwg XAo+ICsjZGVmaW5lIEJYVF9QT1JUX1BDU19EVzEwX0xOMDEocG9ydCkJX1JFR19QT1JUMyhwb3J0 LCBfUE9SVF9QQ1NfRFcxMF9MTjAxX0EsIFwKPiAgCQkJCQkJICAgICBfUE9SVF9QQ1NfRFcxMF9M TjAxX0IsIFwKPiAgCQkJCQkJICAgICBfUE9SVF9QQ1NfRFcxMF9MTjAxX0MpCj4gLSNkZWZpbmUg QlhUX1BPUlRfUENTX0RXMTBfR1JQKHBvcnQpCV9QT1JUMyhwb3J0LCBfUE9SVF9QQ1NfRFcxMF9H UlBfQSwgIFwKPiArI2RlZmluZSBCWFRfUE9SVF9QQ1NfRFcxMF9HUlAocG9ydCkJX1JFR19QT1JU Myhwb3J0LCBfUE9SVF9QQ1NfRFcxMF9HUlBfQSwgIFwKPiAgCQkJCQkJICAgICBfUE9SVF9QQ1Nf RFcxMF9HUlBfQiwgIFwKPiAgCQkJCQkJICAgICBfUE9SVF9QQ1NfRFcxMF9HUlBfQykKPiAgI2Rl ZmluZSAgIFRYMl9TV0lOR19DQUxDX0lOSVQJCSgxIDw8IDMxKQo+IEBAIC0xMzUyLDEzICsxMzYz LDEzIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIF9QT1JUX1BDU19E VzEyX0dSUF9DCQkweDZDRTMwCj4gICNkZWZpbmUgICBMQU5FU1RBR0dFUl9TVFJBUF9PVlJECSgx IDw8IDYpCj4gICNkZWZpbmUgICBMQU5FX1NUQUdHRVJfTUFTSwkJMHgxRgo+IC0jZGVmaW5lIEJY VF9QT1JUX1BDU19EVzEyX0xOMDEocG9ydCkJX1BPUlQzKHBvcnQsIF9QT1JUX1BDU19EVzEyX0xO MDFfQSwgXAo+ICsjZGVmaW5lIEJYVF9QT1JUX1BDU19EVzEyX0xOMDEocG9ydCkJX1JFR19QT1JU Myhwb3J0LCBfUE9SVF9QQ1NfRFcxMl9MTjAxX0EsIFwKPiAgCQkJCQkJICAgICBfUE9SVF9QQ1Nf RFcxMl9MTjAxX0IsIFwKPiAgCQkJCQkJICAgICBfUE9SVF9QQ1NfRFcxMl9MTjAxX0MpCj4gLSNk ZWZpbmUgQlhUX1BPUlRfUENTX0RXMTJfTE4yMyhwb3J0KQlfUE9SVDMocG9ydCwgX1BPUlRfUENT X0RXMTJfTE4yM19BLCBcCj4gKyNkZWZpbmUgQlhUX1BPUlRfUENTX0RXMTJfTE4yMyhwb3J0KQlf UkVHX1BPUlQzKHBvcnQsIF9QT1JUX1BDU19EVzEyX0xOMjNfQSwgXAo+ICAJCQkJCQkgICAgIF9Q T1JUX1BDU19EVzEyX0xOMjNfQiwgXAo+ICAJCQkJCQkgICAgIF9QT1JUX1BDU19EVzEyX0xOMjNf QykKPiAtI2RlZmluZSBCWFRfUE9SVF9QQ1NfRFcxMl9HUlAocG9ydCkJX1BPUlQzKHBvcnQsIF9Q T1JUX1BDU19EVzEyX0dSUF9BLCBcCj4gKyNkZWZpbmUgQlhUX1BPUlRfUENTX0RXMTJfR1JQKHBv cnQpCV9SRUdfUE9SVDMocG9ydCwgX1BPUlRfUENTX0RXMTJfR1JQX0EsIFwKPiAgCQkJCQkJICAg ICBfUE9SVF9QQ1NfRFcxMl9HUlBfQiwgXAo+ICAJCQkJCQkgICAgIF9QT1JUX1BDU19EVzEyX0dS UF9DKQo+ICAKPiBAQCAtMTM3MiwxMCArMTM4MywxMCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dl bGxzIHsKPiAgI2RlZmluZSBfUE9SVF9UWF9EVzJfR1JQX0EJCTB4MTYyRDA4Cj4gICNkZWZpbmUg X1BPUlRfVFhfRFcyX0dSUF9CCQkweDZDRDA4Cj4gICNkZWZpbmUgX1BPUlRfVFhfRFcyX0dSUF9D CQkweDZDRjA4Cj4gLSNkZWZpbmUgQlhUX1BPUlRfVFhfRFcyX0dSUChwb3J0KQlfUE9SVDMocG9y dCwgX1BPUlRfVFhfRFcyX0dSUF9BLCAgXAo+ICsjZGVmaW5lIEJYVF9QT1JUX1RYX0RXMl9HUlAo cG9ydCkJX1JFR19QT1JUMyhwb3J0LCBfUE9SVF9UWF9EVzJfR1JQX0EsICBcCj4gIAkJCQkJCSAg ICAgX1BPUlRfVFhfRFcyX0dSUF9CLCAgXAo+ICAJCQkJCQkgICAgIF9QT1JUX1RYX0RXMl9HUlBf QykKPiAtI2RlZmluZSBCWFRfUE9SVF9UWF9EVzJfTE4wKHBvcnQpCV9QT1JUMyhwb3J0LCBfUE9S VF9UWF9EVzJfTE4wX0EsICBcCj4gKyNkZWZpbmUgQlhUX1BPUlRfVFhfRFcyX0xOMChwb3J0KQlf UkVHX1BPUlQzKHBvcnQsIF9QT1JUX1RYX0RXMl9MTjBfQSwgIFwKPiAgCQkJCQkJICAgICBfUE9S VF9UWF9EVzJfTE4wX0IsICBcCj4gIAkJCQkJCSAgICAgX1BPUlRfVFhfRFcyX0xOMF9DKQo+ICAj ZGVmaW5lICAgTUFSR0lOXzAwMF9TSElGVAkJMTYKPiBAQCAtMTM4OSwxMCArMTQwMCwxMCBAQCBl bnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBfUE9SVF9UWF9EVzNfR1JQX0EJ CTB4MTYyRDBDCj4gICNkZWZpbmUgX1BPUlRfVFhfRFczX0dSUF9CCQkweDZDRDBDCj4gICNkZWZp bmUgX1BPUlRfVFhfRFczX0dSUF9DCQkweDZDRjBDCj4gLSNkZWZpbmUgQlhUX1BPUlRfVFhfRFcz X0dSUChwb3J0KQlfUE9SVDMocG9ydCwgX1BPUlRfVFhfRFczX0dSUF9BLCAgXAo+ICsjZGVmaW5l IEJYVF9QT1JUX1RYX0RXM19HUlAocG9ydCkJX1JFR19QT1JUMyhwb3J0LCBfUE9SVF9UWF9EVzNf R1JQX0EsICBcCj4gIAkJCQkJCSAgICAgX1BPUlRfVFhfRFczX0dSUF9CLCAgXAo+ICAJCQkJCQkg ICAgIF9QT1JUX1RYX0RXM19HUlBfQykKPiAtI2RlZmluZSBCWFRfUE9SVF9UWF9EVzNfTE4wKHBv cnQpCV9QT1JUMyhwb3J0LCBfUE9SVF9UWF9EVzNfTE4wX0EsICBcCj4gKyNkZWZpbmUgQlhUX1BP UlRfVFhfRFczX0xOMChwb3J0KQlfUkVHX1BPUlQzKHBvcnQsIF9QT1JUX1RYX0RXM19MTjBfQSwg IFwKPiAgCQkJCQkJICAgICBfUE9SVF9UWF9EVzNfTE4wX0IsICBcCj4gIAkJCQkJCSAgICAgX1BP UlRfVFhfRFczX0xOMF9DKQo+ICAjZGVmaW5lICAgVU5JUUVfVFJBTkdFX0VOX01FVEhPRAkoMSA8 PCAyNykKPiBAQCAtMTQwMywxMCArMTQxNCwxMCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxz IHsKPiAgI2RlZmluZSBfUE9SVF9UWF9EVzRfR1JQX0EJCTB4MTYyRDEwCj4gICNkZWZpbmUgX1BP UlRfVFhfRFc0X0dSUF9CCQkweDZDRDEwCj4gICNkZWZpbmUgX1BPUlRfVFhfRFc0X0dSUF9DCQkw eDZDRjEwCj4gLSNkZWZpbmUgQlhUX1BPUlRfVFhfRFc0X0xOMChwb3J0KQlfUE9SVDMocG9ydCwg X1BPUlRfVFhfRFc0X0xOMF9BLCAgXAo+ICsjZGVmaW5lIEJYVF9QT1JUX1RYX0RXNF9MTjAocG9y dCkJX1JFR19QT1JUMyhwb3J0LCBfUE9SVF9UWF9EVzRfTE4wX0EsICBcCj4gIAkJCQkJCSAgICAg X1BPUlRfVFhfRFc0X0xOMF9CLCAgXAo+ICAJCQkJCQkgICAgIF9QT1JUX1RYX0RXNF9MTjBfQykK PiAtI2RlZmluZSBCWFRfUE9SVF9UWF9EVzRfR1JQKHBvcnQpCV9QT1JUMyhwb3J0LCBfUE9SVF9U WF9EVzRfR1JQX0EsICBcCj4gKyNkZWZpbmUgQlhUX1BPUlRfVFhfRFc0X0dSUChwb3J0KQlfUkVH X1BPUlQzKHBvcnQsIF9QT1JUX1RYX0RXNF9HUlBfQSwgIFwKPiAgCQkJCQkJICAgICBfUE9SVF9U WF9EVzRfR1JQX0IsICBcCj4gIAkJCQkJCSAgICAgX1BPUlRfVFhfRFc0X0dSUF9DKQo+ICAjZGVm aW5lICAgREVFTVBIX1NISUZUCQkJMjQKPiBAQCAtMTQxNywxNyArMTQyOCwxNyBAQCBlbnVtIHNr bF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBfUE9SVF9UWF9EVzE0X0xOMF9DCQkweDZD OTM4Cj4gICNkZWZpbmUgICBMQVRFTkNZX09QVElNX1NISUZUCQkzMAo+ICAjZGVmaW5lICAgTEFU RU5DWV9PUFRJTQkJCSgxIDw8IExBVEVOQ1lfT1BUSU1fU0hJRlQpCj4gLSNkZWZpbmUgQlhUX1BP UlRfVFhfRFcxNF9MTihwb3J0LCBsYW5lKQkoX1BPUlQzKChwb3J0KSwgX1BPUlRfVFhfRFcxNF9M TjBfQSwgICBcCj4gKyNkZWZpbmUgQlhUX1BPUlRfVFhfRFcxNF9MTihwb3J0LCBsYW5lKQlfUkVH KF9QT1JUMygocG9ydCksIF9QT1JUX1RYX0RXMTRfTE4wX0EsICAgXAo+ICAJCQkJCQkJX1BPUlRf VFhfRFcxNF9MTjBfQiwgICBcCj4gIAkJCQkJCQlfUE9SVF9UWF9EVzE0X0xOMF9DKSArIFwKPiAg CQkJCQkgX0JYVF9MQU5FX09GRlNFVChsYW5lKSkKPiAgCj4gIC8qIFVBSU1JIHNjcmF0Y2ggcGFk IHJlZ2lzdGVyIDEgKi8KPiAtI2RlZmluZSBVQUlNSV9TUFIxCQkJMHg0RjA3NAo+ICsjZGVmaW5l IFVBSU1JX1NQUjEJCQlfUkVHKDB4NEYwNzQpCj4gIC8qIFNLTCBWY2NJTyBtYXNrICovCj4gICNk ZWZpbmUgU0tMX1ZDQ0lPX01BU0sJCQkweDEKPiAgLyogU0tMIGJhbGFuY2UgbGVnIHJlZ2lzdGVy ICovCj4gLSNkZWZpbmUgRElTUElPX0NSX1RYX0JNVV9DUjAJCTB4NkMwMEMKPiArI2RlZmluZSBE SVNQSU9fQ1JfVFhfQk1VX0NSMAkJX1JFRygweDZDMDBDKQo+ICAvKiBJX2Jvb3N0IHZhbHVlcyAq Lwo+ICAjZGVmaW5lIEJBTEFOQ0VfTEVHX1NISUZUKHBvcnQpCQkoOCszKihwb3J0KSkKPiAgI2Rl ZmluZSBCQUxBTkNFX0xFR19NQVNLKHBvcnQpCQkoNzw8KDgrMyoocG9ydCkpKQo+IEBAIC0xNDM3 LDggKzE0NDgsOCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgLyoKPiAgICogRmVu Y2UgcmVnaXN0ZXJzCj4gICAqLwo+IC0jZGVmaW5lIEZFTkNFX1JFR184MzAoaSkJCSgweDIwMDAg KyAoaSkgKiA0KSAvKiA4IHJlZ2lzdGVycyAqLwo+IC0jZGVmaW5lIEZFTkNFX1JFR185NDVfOChp KQkJKDB4MzAwMCArICgoaSkgLSA4KSAqIDQpIC8qIDggcmVnaXN0ZXJzICovCj4gKyNkZWZpbmUg RkVOQ0VfUkVHXzgzMChpKQkJX1JFRygweDIwMDAgKyAoaSkgKiA0KSAvKiA4IHJlZ2lzdGVycyAq Lwo+ICsjZGVmaW5lIEZFTkNFX1JFR185NDVfOChpKQkJX1JFRygweDMwMDAgKyAoKGkpIC0gOCkg KiA0KSAvKiA4IHJlZ2lzdGVycyAqLwo+ICAjZGVmaW5lICAgSTgzMF9GRU5DRV9TVEFSVF9NQVNL CQkweDA3ZjgwMDAwCj4gICNkZWZpbmUgICBJODMwX0ZFTkNFX1RJTElOR19ZX1NISUZUCTEyCj4g ICNkZWZpbmUgICBJODMwX0ZFTkNFX1NJWkVfQklUUyhzaXplKQkoKGZmcygoc2l6ZSkgPj4gMTkp IC0gMSkgPDwgOCkKPiBAQCAtMTQ1MSwyMSArMTQ2MiwyMSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2Vy X3dlbGxzIHsKPiAgI2RlZmluZSAgIEk5MTVfRkVOQ0VfU1RBUlRfTUFTSwkJMHgwZmYwMDAwMAo+ ICAjZGVmaW5lICAgSTkxNV9GRU5DRV9TSVpFX0JJVFMoc2l6ZSkJKChmZnMoKHNpemUpID4+IDIw KSAtIDEpIDw8IDgpCj4gIAo+IC0jZGVmaW5lIEZFTkNFX1JFR185NjVfTE8oaSkJCSgweDAzMDAw ICsgKGkpICogOCkKPiAtI2RlZmluZSBGRU5DRV9SRUdfOTY1X0hJKGkpCQkoMHgwMzAwMCArIChp KSAqIDggKyA0KQo+ICsjZGVmaW5lIEZFTkNFX1JFR185NjVfTE8oaSkJCV9SRUcoMHgwMzAwMCAr IChpKSAqIDgpCj4gKyNkZWZpbmUgRkVOQ0VfUkVHXzk2NV9ISShpKQkJX1JFRygweDAzMDAwICsg KGkpICogOCArIDQpCj4gICNkZWZpbmUgICBJOTY1X0ZFTkNFX1BJVENIX1NISUZUCTIKPiAgI2Rl ZmluZSAgIEk5NjVfRkVOQ0VfVElMSU5HX1lfU0hJRlQJMQo+ICAjZGVmaW5lICAgSTk2NV9GRU5D RV9SRUdfVkFMSUQJCSgxPDwwKQo+ICAjZGVmaW5lICAgSTk2NV9GRU5DRV9NQVhfUElUQ0hfVkFM CTB4MDQwMAo+ICAKPiAtI2RlZmluZSBGRU5DRV9SRUdfR0VONl9MTyhpKQkoMHgxMDAwMDAgKyAo aSkgKiA4KQo+IC0jZGVmaW5lIEZFTkNFX1JFR19HRU42X0hJKGkpCSgweDEwMDAwMCArIChpKSAq IDggKyA0KQo+ICsjZGVmaW5lIEZFTkNFX1JFR19HRU42X0xPKGkpCQlfUkVHKDB4MTAwMDAwICsg KGkpICogOCkKPiArI2RlZmluZSBGRU5DRV9SRUdfR0VONl9ISShpKQkJX1JFRygweDEwMDAwMCAr IChpKSAqIDggKyA0KQo+ICAjZGVmaW5lICAgR0VONl9GRU5DRV9QSVRDSF9TSElGVAkzMgo+ICAj ZGVmaW5lICAgR0VON19GRU5DRV9NQVhfUElUQ0hfVkFMCTB4MDgwMAo+ICAKPiAgCj4gIC8qIGNv bnRyb2wgcmVnaXN0ZXIgZm9yIGNwdSBndHQgYWNjZXNzICovCj4gLSNkZWZpbmUgVElMRUNUTAkJ CQkweDEwMTAwMAo+ICsjZGVmaW5lIFRJTEVDVEwJCQkJX1JFRygweDEwMTAwMCkKPiAgI2RlZmlu ZSAgIFRJTEVDVExfU1daQ1RMCQkJKDEgPDwgMCkKPiAgI2RlZmluZSAgIFRJTEVDVExfVExCUEYJ CQkoMSA8PCAxKQo+ICAjZGVmaW5lICAgVElMRUNUTF9UTEJfUFJFRkVUQ0hfRElTCSgxIDw8IDIp Cj4gQEAgLTE0NzQsMzAgKzE0ODUsMzAgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4g IC8qCj4gICAqIEluc3RydWN0aW9uIGFuZCBpbnRlcnJ1cHQgY29udHJvbCByZWdzCj4gICAqLwo+ IC0jZGVmaW5lIFBHVEJMX0NUTAkweDAyMDIwCj4gKyNkZWZpbmUgUEdUQkxfQ1RMCV9SRUcoMHgw MjAyMCkKPiAgI2RlZmluZSAgIFBHVEJMX0FERFJFU1NfTE9fTUFTSwkweGZmZmZmMDAwIC8qIGJp dHMgWzMxOjEyXSAqLwo+ICAjZGVmaW5lICAgUEdUQkxfQUREUkVTU19ISV9NQVNLCTB4MDAwMDAw ZjAgLyogYml0cyBbMzU6MzJdIChnZW40KSAqLwo+IC0jZGVmaW5lIFBHVEJMX0VSCTB4MDIwMjQK PiAtI2RlZmluZSBQUkIwX0JBU0UgKDB4MjAzMC0weDMwKQo+IC0jZGVmaW5lIFBSQjFfQkFTRSAo MHgyMDQwLTB4MzApIC8qIDgzMCxnZW4zICovCj4gLSNkZWZpbmUgUFJCMl9CQVNFICgweDIwNTAt MHgzMCkgLyogZ2VuMyAqLwo+IC0jZGVmaW5lIFNSQjBfQkFTRSAoMHgyMTAwLTB4MzApIC8qIGdl bjIgKi8KPiAtI2RlZmluZSBTUkIxX0JBU0UgKDB4MjExMC0weDMwKSAvKiBnZW4yICovCj4gLSNk ZWZpbmUgU1JCMl9CQVNFICgweDIxMjAtMHgzMCkgLyogODMwICovCj4gLSNkZWZpbmUgU1JCM19C QVNFICgweDIxMzAtMHgzMCkgLyogODMwICovCj4gKyNkZWZpbmUgUEdUQkxfRVIJX1JFRygweDAy MDI0KQo+ICsjZGVmaW5lIFBSQjBfQkFTRQkoMHgyMDMwLTB4MzApCj4gKyNkZWZpbmUgUFJCMV9C QVNFCSgweDIwNDAtMHgzMCkgLyogODMwLGdlbjMgKi8KPiArI2RlZmluZSBQUkIyX0JBU0UJKDB4 MjA1MC0weDMwKSAvKiBnZW4zICovCj4gKyNkZWZpbmUgU1JCMF9CQVNFCSgweDIxMDAtMHgzMCkg LyogZ2VuMiAqLwo+ICsjZGVmaW5lIFNSQjFfQkFTRQkoMHgyMTEwLTB4MzApIC8qIGdlbjIgKi8K PiArI2RlZmluZSBTUkIyX0JBU0UJKDB4MjEyMC0weDMwKSAvKiA4MzAgKi8KPiArI2RlZmluZSBT UkIzX0JBU0UJKDB4MjEzMC0weDMwKSAvKiA4MzAgKi8KPiAgI2RlZmluZSBSRU5ERVJfUklOR19C QVNFCTB4MDIwMDAKPiAgI2RlZmluZSBCU0RfUklOR19CQVNFCQkweDA0MDAwCj4gICNkZWZpbmUg R0VONl9CU0RfUklOR19CQVNFCTB4MTIwMDAKPiAgI2RlZmluZSBHRU44X0JTRDJfUklOR19CQVNF CTB4MWMwMDAKPiAgI2RlZmluZSBWRUJPWF9SSU5HX0JBU0UJCTB4MWEwMDAKPiAgI2RlZmluZSBC TFRfUklOR19CQVNFCQkweDIyMDAwCj4gLSNkZWZpbmUgUklOR19UQUlMKGJhc2UpCQkoKGJhc2Up KzB4MzApCj4gLSNkZWZpbmUgUklOR19IRUFEKGJhc2UpCQkoKGJhc2UpKzB4MzQpCj4gLSNkZWZp bmUgUklOR19TVEFSVChiYXNlKQkoKGJhc2UpKzB4MzgpCj4gLSNkZWZpbmUgUklOR19DVEwoYmFz ZSkJCSgoYmFzZSkrMHgzYykKPiAtI2RlZmluZSBSSU5HX1NZTkNfMChiYXNlKQkoKGJhc2UpKzB4 NDApCj4gLSNkZWZpbmUgUklOR19TWU5DXzEoYmFzZSkJKChiYXNlKSsweDQ0KQo+IC0jZGVmaW5l IFJJTkdfU1lOQ18yKGJhc2UpCSgoYmFzZSkrMHg0OCkKPiArI2RlZmluZSBSSU5HX1RBSUwoYmFz ZSkJCV9SRUcoKGJhc2UpKzB4MzApCj4gKyNkZWZpbmUgUklOR19IRUFEKGJhc2UpCQlfUkVHKChi YXNlKSsweDM0KQo+ICsjZGVmaW5lIFJJTkdfU1RBUlQoYmFzZSkJX1JFRygoYmFzZSkrMHgzOCkK PiArI2RlZmluZSBSSU5HX0NUTChiYXNlKQkJX1JFRygoYmFzZSkrMHgzYykKPiArI2RlZmluZSBS SU5HX1NZTkNfMChiYXNlKQlfUkVHKChiYXNlKSsweDQwKQo+ICsjZGVmaW5lIFJJTkdfU1lOQ18x KGJhc2UpCV9SRUcoKGJhc2UpKzB4NDQpCj4gKyNkZWZpbmUgUklOR19TWU5DXzIoYmFzZSkJX1JF RygoYmFzZSkrMHg0OCkKPiAgI2RlZmluZSBHRU42X1JWU1lOQwkoUklOR19TWU5DXzAoUkVOREVS X1JJTkdfQkFTRSkpCj4gICNkZWZpbmUgR0VONl9SQlNZTkMJKFJJTkdfU1lOQ18xKFJFTkRFUl9S SU5HX0JBU0UpKQo+ICAjZGVmaW5lIEdFTjZfUlZFU1lOQwkoUklOR19TWU5DXzIoUkVOREVSX1JJ TkdfQkFTRSkpCj4gQEAgLTE1MTAsNTEgKzE1MjEsNTEgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93 ZWxscyB7Cj4gICNkZWZpbmUgR0VONl9WRUJTWU5DCShSSU5HX1NZTkNfMChWRUJPWF9SSU5HX0JB U0UpKQo+ICAjZGVmaW5lIEdFTjZfVkVSU1lOQwkoUklOR19TWU5DXzEoVkVCT1hfUklOR19CQVNF KSkKPiAgI2RlZmluZSBHRU42X1ZFVlNZTkMJKFJJTkdfU1lOQ18yKFZFQk9YX1JJTkdfQkFTRSkp Cj4gLSNkZWZpbmUgR0VONl9OT1NZTkMgMAo+IC0jZGVmaW5lIFJJTkdfUFNNSV9DVEwoYmFzZSkJ KChiYXNlKSsweDUwKQo+IC0jZGVmaW5lIFJJTkdfTUFYX0lETEUoYmFzZSkJKChiYXNlKSsweDU0 KQo+IC0jZGVmaW5lIFJJTkdfSFdTX1BHQShiYXNlKQkoKGJhc2UpKzB4ODApCj4gLSNkZWZpbmUg UklOR19IV1NfUEdBX0dFTjYoYmFzZSkJKChiYXNlKSsweDIwODApCj4gLSNkZWZpbmUgUklOR19S RVNFVF9DVEwoYmFzZSkJKChiYXNlKSsweGQwKQo+ICsjZGVmaW5lIEdFTjZfTk9TWU5DIF9SRUco MCkKPiArI2RlZmluZSBSSU5HX1BTTUlfQ1RMKGJhc2UpCV9SRUcoKGJhc2UpKzB4NTApCj4gKyNk ZWZpbmUgUklOR19NQVhfSURMRShiYXNlKQlfUkVHKChiYXNlKSsweDU0KQo+ICsjZGVmaW5lIFJJ TkdfSFdTX1BHQShiYXNlKQlfUkVHKChiYXNlKSsweDgwKQo+ICsjZGVmaW5lIFJJTkdfSFdTX1BH QV9HRU42KGJhc2UpCV9SRUcoKGJhc2UpKzB4MjA4MCkKPiArI2RlZmluZSBSSU5HX1JFU0VUX0NU TChiYXNlKQlfUkVHKChiYXNlKSsweGQwKQo+ICAjZGVmaW5lICAgUkVTRVRfQ1RMX1JFUVVFU1Rf UkVTRVQgICgxIDw8IDApCj4gICNkZWZpbmUgICBSRVNFVF9DVExfUkVBRFlfVE9fUkVTRVQgKDEg PDwgMSkKPiAgCj4gLSNkZWZpbmUgSFNXX0dUVF9DQUNIRV9FTgkweDQwMjQKPiArI2RlZmluZSBI U1dfR1RUX0NBQ0hFX0VOCV9SRUcoMHg0MDI0KQo+ICAjZGVmaW5lICAgR1RUX0NBQ0hFX0VOX0FM TAkweEYwMDA3RkZGCj4gLSNkZWZpbmUgR0VON19XUl9XQVRFUk1BUksJMHg0MDI4Cj4gLSNkZWZp bmUgR0VON19HRlhfUFJJT19DVFJMCTB4NDAyQwo+IC0jZGVmaW5lIEFSQl9NT0RFCQkweDQwMzAK PiArI2RlZmluZSBHRU43X1dSX1dBVEVSTUFSSwlfUkVHKDB4NDAyOCkKPiArI2RlZmluZSBHRU43 X0dGWF9QUklPX0NUUkwJX1JFRygweDQwMkMpCj4gKyNkZWZpbmUgQVJCX01PREUJCV9SRUcoMHg0 MDMwKQo+ICAjZGVmaW5lICAgQVJCX01PREVfU1dJWlpMRV9TTkIJKDE8PDQpCj4gICNkZWZpbmUg ICBBUkJfTU9ERV9TV0laWkxFX0lWQgkoMTw8NSkKPiAtI2RlZmluZSBHRU43X0dGWF9QRU5EX1RM QjAJMHg0MDM0Cj4gLSNkZWZpbmUgR0VON19HRlhfUEVORF9UTEIxCTB4NDAzOAo+ICsjZGVmaW5l IEdFTjdfR0ZYX1BFTkRfVExCMAlfUkVHKDB4NDAzNCkKPiArI2RlZmluZSBHRU43X0dGWF9QRU5E X1RMQjEJX1JFRygweDQwMzgpCj4gIC8qIEwzLCBDVlMsIFpUTEIsIFJDQywgQ0FTQyBMUkEgbWlu LCBtYXggdmFsdWVzICovCj4gLSNkZWZpbmUgR0VON19MUkFfTElNSVRTKGkpCSgweDQwM0MgKyAo aSkgKiA0KQo+ICsjZGVmaW5lIEdFTjdfTFJBX0xJTUlUUyhpKQlfUkVHKDB4NDAzQyArIChpKSAq IDQpCj4gICNkZWZpbmUgR0VON19MUkFfTElNSVRTX1JFR19OVU0JMTMKPiAtI2RlZmluZSBHRU43 X01FRElBX01BWF9SRVFfQ09VTlQJMHg0MDcwCj4gLSNkZWZpbmUgR0VON19HRlhfTUFYX1JFUV9D T1VOVAkJMHg0MDc0Cj4gKyNkZWZpbmUgR0VON19NRURJQV9NQVhfUkVRX0NPVU5UCV9SRUcoMHg0 MDcwKQo+ICsjZGVmaW5lIEdFTjdfR0ZYX01BWF9SRVFfQ09VTlQJCV9SRUcoMHg0MDc0KQo+ICAK PiAtI2RlZmluZSBHQU1UQVJCTU9ERQkJMHgwNGEwOAo+ICsjZGVmaW5lIEdBTVRBUkJNT0RFCQlf UkVHKDB4MDRhMDgpCj4gICNkZWZpbmUgICBBUkJfTU9ERV9CV0dUTEJfRElTQUJMRSAoMTw8OSkK PiAgI2RlZmluZSAgIEFSQl9NT0RFX1NXSVpaTEVfQkRXCSgxPDwxKQo+IC0jZGVmaW5lIFJFTkRF Ul9IV1NfUEdBX0dFTjcJKDB4MDQwODApCj4gLSNkZWZpbmUgUklOR19GQVVMVF9SRUcocmluZykJ KDB4NDA5NCArIDB4MTAwKihyaW5nKS0+aWQpCj4gKyNkZWZpbmUgUkVOREVSX0hXU19QR0FfR0VO NwlfUkVHKDB4MDQwODApCj4gKyNkZWZpbmUgUklOR19GQVVMVF9SRUcocmluZykJX1JFRygweDQw OTQgKyAweDEwMCoocmluZyktPmlkKQo+ICAjZGVmaW5lICAgUklOR19GQVVMVF9HVFRTRUxfTUFT SyAoMTw8MTEpCj4gICNkZWZpbmUgICBSSU5HX0ZBVUxUX1NSQ0lEKHgpCSgoKHgpID4+IDMpICYg MHhmZikKPiAgI2RlZmluZSAgIFJJTkdfRkFVTFRfRkFVTFRfVFlQRSh4KSAoKCh4KSA+PiAxKSAm IDB4MykKPiAgI2RlZmluZSAgIFJJTkdfRkFVTFRfVkFMSUQJKDE8PDApCj4gLSNkZWZpbmUgRE9O RV9SRUcJCTB4NDBiMAo+IC0jZGVmaW5lIEdFTjhfUFJJVkFURV9QQVRfTE8JMHg0MGUwCj4gLSNk ZWZpbmUgR0VOOF9QUklWQVRFX1BBVF9ISQkoMHg0MGUwICsgNCkKPiAtI2RlZmluZSBCU0RfSFdT X1BHQV9HRU43CSgweDA0MTgwKQo+IC0jZGVmaW5lIEJMVF9IV1NfUEdBX0dFTjcJKDB4MDQyODAp Cj4gLSNkZWZpbmUgVkVCT1hfSFdTX1BHQV9HRU43CSgweDA0MzgwKQo+IC0jZGVmaW5lIFJJTkdf QUNUSEQoYmFzZSkJKChiYXNlKSsweDc0KQo+IC0jZGVmaW5lIFJJTkdfQUNUSERfVURXKGJhc2Up CSgoYmFzZSkrMHg1YykKPiAtI2RlZmluZSBSSU5HX05PUElEKGJhc2UpCSgoYmFzZSkrMHg5NCkK PiAtI2RlZmluZSBSSU5HX0lNUihiYXNlKQkJKChiYXNlKSsweGE4KQo+IC0jZGVmaW5lIFJJTkdf SFdTVEFNKGJhc2UpCSgoYmFzZSkrMHg5OCkKPiAtI2RlZmluZSBSSU5HX1RJTUVTVEFNUChiYXNl KQkoKGJhc2UpKzB4MzU4KQo+ICsjZGVmaW5lIERPTkVfUkVHCQlfUkVHKDB4NDBiMCkKPiArI2Rl ZmluZSBHRU44X1BSSVZBVEVfUEFUX0xPCV9SRUcoMHg0MGUwKQo+ICsjZGVmaW5lIEdFTjhfUFJJ VkFURV9QQVRfSEkJX1JFRygweDQwZTAgKyA0KQo+ICsjZGVmaW5lIEJTRF9IV1NfUEdBX0dFTjcJ X1JFRygweDA0MTgwKQo+ICsjZGVmaW5lIEJMVF9IV1NfUEdBX0dFTjcJX1JFRygweDA0MjgwKQo+ ICsjZGVmaW5lIFZFQk9YX0hXU19QR0FfR0VONwlfUkVHKDB4MDQzODApCj4gKyNkZWZpbmUgUklO R19BQ1RIRChiYXNlKQlfUkVHKChiYXNlKSsweDc0KQo+ICsjZGVmaW5lIFJJTkdfQUNUSERfVURX KGJhc2UpCV9SRUcoKGJhc2UpKzB4NWMpCj4gKyNkZWZpbmUgUklOR19OT1BJRChiYXNlKQlfUkVH KChiYXNlKSsweDk0KQo+ICsjZGVmaW5lIFJJTkdfSU1SKGJhc2UpCQlfUkVHKChiYXNlKSsweGE4 KQo+ICsjZGVmaW5lIFJJTkdfSFdTVEFNKGJhc2UpCV9SRUcoKGJhc2UpKzB4OTgpCj4gKyNkZWZp bmUgUklOR19USU1FU1RBTVAoYmFzZSkJX1JFRygoYmFzZSkrMHgzNTgpCj4gICNkZWZpbmUgICBU QUlMX0FERFIJCTB4MDAxRkZGRjgKPiAgI2RlZmluZSAgIEhFQURfV1JBUF9DT1VOVAkweEZGRTAw MDAwCj4gICNkZWZpbmUgICBIRUFEX1dSQVBfT05FCQkweDAwMjAwMDAwCj4gQEAgLTE1NzEsNTQg KzE1ODIsNTQgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBSSU5H X1dBSVQJCSgxPDwxMSkgLyogZ2VuMyssIFBSQnhfQ1RMICovCj4gICNkZWZpbmUgICBSSU5HX1dB SVRfU0VNQVBIT1JFCSgxPDwxMCkgLyogZ2VuNisgKi8KPiAgCj4gLSNkZWZpbmUgR0VON19UTEJf UkRfQUREUgkweDQ3MDAKPiArI2RlZmluZSBHRU43X1RMQl9SRF9BRERSCV9SRUcoMHg0NzAwKQo+ ICAKPiAgI2lmIDAKPiAtI2RlZmluZSBQUkIwX1RBSUwJMHgwMjAzMAo+IC0jZGVmaW5lIFBSQjBf SEVBRAkweDAyMDM0Cj4gLSNkZWZpbmUgUFJCMF9TVEFSVAkweDAyMDM4Cj4gLSNkZWZpbmUgUFJC MF9DVEwJMHgwMjAzYwo+IC0jZGVmaW5lIFBSQjFfVEFJTAkweDAyMDQwIC8qIDkxNSsgb25seSAq Lwo+IC0jZGVmaW5lIFBSQjFfSEVBRAkweDAyMDQ0IC8qIDkxNSsgb25seSAqLwo+IC0jZGVmaW5l IFBSQjFfU1RBUlQJMHgwMjA0OCAvKiA5MTUrIG9ubHkgKi8KPiAtI2RlZmluZSBQUkIxX0NUTAkw eDAyMDRjIC8qIDkxNSsgb25seSAqLwo+ICsjZGVmaW5lIFBSQjBfVEFJTAlfUkVHKDB4MjAzMCkK PiArI2RlZmluZSBQUkIwX0hFQUQJX1JFRygweDIwMzQpCj4gKyNkZWZpbmUgUFJCMF9TVEFSVAlf UkVHKDB4MjAzOCkKPiArI2RlZmluZSBQUkIwX0NUTAlfUkVHKDB4MjAzYykKPiArI2RlZmluZSBQ UkIxX1RBSUwJX1JFRygweDIwNDApIC8qIDkxNSsgb25seSAqLwo+ICsjZGVmaW5lIFBSQjFfSEVB RAlfUkVHKDB4MjA0NCkgLyogOTE1KyBvbmx5ICovCj4gKyNkZWZpbmUgUFJCMV9TVEFSVAlfUkVH KDB4MjA0OCkgLyogOTE1KyBvbmx5ICovCj4gKyNkZWZpbmUgUFJCMV9DVEwJX1JFRygweDIwNGMp IC8qIDkxNSsgb25seSAqLwo+ICAjZW5kaWYKPiAtI2RlZmluZSBJUEVJUl9JOTY1CTB4MDIwNjQK PiAtI2RlZmluZSBJUEVIUl9JOTY1CTB4MDIwNjgKPiAtI2RlZmluZSBJTlNURE9ORV9JOTY1CTB4 MDIwNmMKPiAtI2RlZmluZSBHRU43X0lOU1RET05FXzEJCTB4MDIwNmMKPiAtI2RlZmluZSBHRU43 X1NDX0lOU1RET05FCTB4MDcxMDAKPiAtI2RlZmluZSBHRU43X1NBTVBMRVJfSU5TVERPTkUJMHgw ZTE2MAo+IC0jZGVmaW5lIEdFTjdfUk9XX0lOU1RET05FCTB4MGUxNjQKPiArI2RlZmluZSBJUEVJ Ul9JOTY1CV9SRUcoMHgyMDY0KQo+ICsjZGVmaW5lIElQRUhSX0k5NjUJX1JFRygweDIwNjgpCj4g KyNkZWZpbmUgSU5TVERPTkVfSTk2NQlfUkVHKDB4MjA2YykKPiArI2RlZmluZSBHRU43X0lOU1RE T05FXzEJCV9SRUcoMHgyMDZjKQo+ICsjZGVmaW5lIEdFTjdfU0NfSU5TVERPTkUJX1JFRygweDcx MDApCj4gKyNkZWZpbmUgR0VON19TQU1QTEVSX0lOU1RET05FCV9SRUcoMHhlMTYwKQo+ICsjZGVm aW5lIEdFTjdfUk9XX0lOU1RET05FCV9SRUcoMHhlMTY0KQo+ICAjZGVmaW5lIEk5MTVfTlVNX0lO U1RET05FX1JFRwk0Cj4gLSNkZWZpbmUgUklOR19JUEVJUihiYXNlKQkoKGJhc2UpKzB4NjQpCj4g LSNkZWZpbmUgUklOR19JUEVIUihiYXNlKQkoKGJhc2UpKzB4NjgpCj4gLSNkZWZpbmUgUklOR19J TlNURE9ORShiYXNlKQkoKGJhc2UpKzB4NmMpCj4gLSNkZWZpbmUgUklOR19JTlNUUFMoYmFzZSkJ KChiYXNlKSsweDcwKQo+IC0jZGVmaW5lIFJJTkdfRE1BX0ZBREQoYmFzZSkJKChiYXNlKSsweDc4 KQo+IC0jZGVmaW5lIFJJTkdfRE1BX0ZBRERfVURXKGJhc2UpCSgoYmFzZSkrMHg2MCkgLyogZ2Vu OCsgKi8KPiAtI2RlZmluZSBSSU5HX0lOU1RQTShiYXNlKQkoKGJhc2UpKzB4YzApCj4gLSNkZWZp bmUgUklOR19NSV9NT0RFKGJhc2UpCSgoYmFzZSkrMHg5YykKPiAtI2RlZmluZSBJTlNUUFMJCTB4 MDIwNzAgLyogOTY1KyBvbmx5ICovCj4gLSNkZWZpbmUgSU5TVERPTkUxCTB4MDIwN2MgLyogOTY1 KyBvbmx5ICovCj4gLSNkZWZpbmUgQUNUSERfSTk2NQkweDAyMDc0Cj4gLSNkZWZpbmUgSFdTX1BH QQkJMHgwMjA4MAo+ICsjZGVmaW5lIFJJTkdfSVBFSVIoYmFzZSkJX1JFRygoYmFzZSkrMHg2NCkK PiArI2RlZmluZSBSSU5HX0lQRUhSKGJhc2UpCV9SRUcoKGJhc2UpKzB4NjgpCj4gKyNkZWZpbmUg UklOR19JTlNURE9ORShiYXNlKQlfUkVHKChiYXNlKSsweDZjKQo+ICsjZGVmaW5lIFJJTkdfSU5T VFBTKGJhc2UpCV9SRUcoKGJhc2UpKzB4NzApCj4gKyNkZWZpbmUgUklOR19ETUFfRkFERChiYXNl KQlfUkVHKChiYXNlKSsweDc4KQo+ICsjZGVmaW5lIFJJTkdfRE1BX0ZBRERfVURXKGJhc2UpIF9S RUcoKGJhc2UpKzB4NjApIC8qIGdlbjgrICovCj4gKyNkZWZpbmUgUklOR19JTlNUUE0oYmFzZSkJ X1JFRygoYmFzZSkrMHhjMCkKPiArI2RlZmluZSBSSU5HX01JX01PREUoYmFzZSkJX1JFRygoYmFz ZSkrMHg5YykKPiArI2RlZmluZSBJTlNUUFMJCV9SRUcoMHgyMDcwKSAvKiA5NjUrIG9ubHkgKi8K PiArI2RlZmluZSBJTlNURE9ORTEJX1JFRygweDIwN2MpIC8qIDk2NSsgb25seSAqLwo+ICsjZGVm aW5lIEFDVEhEX0k5NjUJX1JFRygweDIwNzQpCj4gKyNkZWZpbmUgSFdTX1BHQQkJX1JFRygweDIw ODApCj4gICNkZWZpbmUgSFdTX0FERFJFU1NfTUFTSwkweGZmZmZmMDAwCj4gICNkZWZpbmUgSFdT X1NUQVJUX0FERFJFU1NfU0hJRlQJNAo+IC0jZGVmaW5lIFBXUkNUWEEJCTB4MjA4OCAvKiA5NjVH TSsgb25seSAqLwo+ICsjZGVmaW5lIFBXUkNUWEEJCV9SRUcoMHgyMDg4KSAvKiA5NjVHTSsgb25s eSAqLwo+ICAjZGVmaW5lICAgUFdSQ1RYX0VOCSgxPDwwKQo+IC0jZGVmaW5lIElQRUlSCQkweDAy MDg4Cj4gLSNkZWZpbmUgSVBFSFIJCTB4MDIwOGMKPiAtI2RlZmluZSBJTlNURE9ORQkweDAyMDkw Cj4gLSNkZWZpbmUgTk9QSUQJCTB4MDIwOTQKPiAtI2RlZmluZSBIV1NUQU0JCTB4MDIwOTgKPiAt I2RlZmluZSBETUFfRkFERF9JOFhYCTB4MDIwZDAKPiAtI2RlZmluZSBSSU5HX0JCU1RBVEUoYmFz ZSkJKChiYXNlKSsweDExMCkKPiAtI2RlZmluZSBSSU5HX0JCQUREUihiYXNlKQkoKGJhc2UpKzB4 MTQwKQo+IC0jZGVmaW5lIFJJTkdfQkJBRERSX1VEVyhiYXNlKQkoKGJhc2UpKzB4MTY4KSAvKiBn ZW44KyAqLwo+IC0KPiAtI2RlZmluZSBFUlJPUl9HRU42CTB4MDQwYTAKPiAtI2RlZmluZSBHRU43 X0VSUl9JTlQJMHg0NDA0MAo+ICsjZGVmaW5lIElQRUlSCQlfUkVHKDB4MjA4OCkKPiArI2RlZmlu ZSBJUEVIUgkJX1JFRygweDIwOGMpCj4gKyNkZWZpbmUgSU5TVERPTkUJX1JFRygweDIwOTApCj4g KyNkZWZpbmUgTk9QSUQJCV9SRUcoMHgyMDk0KQo+ICsjZGVmaW5lIEhXU1RBTQkJX1JFRygweDIw OTgpCj4gKyNkZWZpbmUgRE1BX0ZBRERfSThYWAlfUkVHKDB4MjBkMCkKPiArI2RlZmluZSBSSU5H X0JCU1RBVEUoYmFzZSkJX1JFRygoYmFzZSkrMHgxMTApCj4gKyNkZWZpbmUgUklOR19CQkFERFIo YmFzZSkJX1JFRygoYmFzZSkrMHgxNDApCj4gKyNkZWZpbmUgUklOR19CQkFERFJfVURXKGJhc2Up CV9SRUcoKGJhc2UpKzB4MTY4KSAvKiBnZW44KyAqLwo+ICsKPiArI2RlZmluZSBFUlJPUl9HRU42 CV9SRUcoMHg0MGEwKQo+ICsjZGVmaW5lIEdFTjdfRVJSX0lOVAlfUkVHKDB4NDQwNDApCj4gICNk ZWZpbmUgICBFUlJfSU5UX1BPSVNPTgkJKDE8PDMxKQo+ICAjZGVmaW5lICAgRVJSX0lOVF9NTUlP X1VOQ0xBSU1FRAkoMTw8MTMpCj4gICNkZWZpbmUgICBFUlJfSU5UX1BJUEVfQ1JDX0RPTkVfQwko MTw8OCkKPiBAQCAtMTYzMCwxMyArMTY0MSwxMyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxz IHsKPiAgI2RlZmluZSAgIEVSUl9JTlRfRklGT19VTkRFUlJVTl9BCSgxPDwwKQo+ICAjZGVmaW5l ICAgRVJSX0lOVF9GSUZPX1VOREVSUlVOKHBpcGUpCSgxPDwoKHBpcGUpKjMpKQo+ICAKPiAtI2Rl ZmluZSBHRU44X0ZBVUxUX1RMQl9EQVRBMAkJMHgwNGIxMAo+IC0jZGVmaW5lIEdFTjhfRkFVTFRf VExCX0RBVEExCQkweDA0YjE0Cj4gKyNkZWZpbmUgR0VOOF9GQVVMVF9UTEJfREFUQTAJCV9SRUco MHg0YjEwKQo+ICsjZGVmaW5lIEdFTjhfRkFVTFRfVExCX0RBVEExCQlfUkVHKDB4NGIxNCkKPiAg Cj4gLSNkZWZpbmUgRlBHQV9EQkcJCTB4NDIzMDAKPiArI2RlZmluZSBGUEdBX0RCRwkJX1JFRygw eDQyMzAwKQo+ICAjZGVmaW5lICAgRlBHQV9EQkdfUk1fTk9DTEFJTQkoMTw8MzEpCj4gIAo+IC0j ZGVmaW5lIERFUlJNUgkJMHg0NDA1MAo+ICsjZGVmaW5lIERFUlJNUgkJX1JFRygweDQ0MDUwKQo+ ICAvKiBOb3RlIHRoYXQgSEJMQU5LIGV2ZW50cyBhcmUgcmVzZXJ2ZWQgb24gYmR3KyAqLwo+ICAj ZGVmaW5lICAgREVSUk1SX1BJUEVBX1NDQU5MSU5FCQkoMTw8MCkKPiAgI2RlZmluZSAgIERFUlJN Ul9QSVBFQV9QUklfRkxJUF9ET05FCSgxPDwxKQo+IEBAIC0xNjYwLDI5ICsxNjcxLDI5IEBAIGVu dW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAgKiBmb3IgdmFyaW91cyBzb3J0cyBvZiBjb3Jy ZWN0IGJlaGF2aW9yLiAgVGhlIHRvcCAxNiBiaXRzIG9mIGVhY2ggYXJlCj4gICAqIHRoZSBlbmFi bGVzIGZvciB3cml0aW5nIHRvIHRoZSBjb3JyZXNwb25kaW5nIGxvdyBiaXQuCj4gICAqLwo+IC0j ZGVmaW5lIF8zRF9DSElDS0VOCTB4MDIwODQKPiArI2RlZmluZSBfM0RfQ0hJQ0tFTglfUkVHKDB4 MjA4NCkKPiAgI2RlZmluZSAgXzNEX0NISUNLRU5fSElaX1BMQU5FX0RJU0FCTEVfTVNBQV80WF9T TkIJKDEgPDwgMTApCj4gLSNkZWZpbmUgXzNEX0NISUNLRU4yCTB4MDIwOGMKPiArI2RlZmluZSBf M0RfQ0hJQ0tFTjIJX1JFRygweDIwOGMpCj4gIC8qIERpc2FibGVzIHBpcGVsaW5pbmcgb2YgcmVh ZCBmbHVzaGVzIHBhc3QgdGhlIFNGLVdJWiBpbnRlcmZhY2UuCj4gICAqIFJlcXVpcmVkIG9uIGFs bCBJcm9ubGFrZSBzdGVwcGluZ3MgYWNjb3JkaW5nIHRvIHRoZSBCLVNwZWMsIGJ1dCB0aGUKPiAg ICogcGFydGljdWxhciBkYW5nZXIgb2Ygbm90IGRvaW5nIHNvIGlzIG5vdCBzcGVjaWZpZWQuCj4g ICAqLwo+ICAjIGRlZmluZSBfM0RfQ0hJQ0tFTjJfV01fUkVBRF9QSVBFTElORUQJCQkoMSA8PCAx NCkKPiAtI2RlZmluZSBfM0RfQ0hJQ0tFTjMJMHgwMjA5MAo+ICsjZGVmaW5lIF8zRF9DSElDS0VO MwlfUkVHKDB4MjA5MCkKPiAgI2RlZmluZSAgXzNEX0NISUNLRU5fU0ZfRElTQUJMRV9PQkpFTkRf Q1VMTAkJKDEgPDwgMTApCj4gICNkZWZpbmUgIF8zRF9DSElDS0VOM19TRl9ESVNBQkxFX0ZBU1RD TElQX0NVTEwJCSgxIDw8IDUpCj4gICNkZWZpbmUgIF8zRF9DSElDS0VOX1NERV9MSU1JVF9GSUZP X1BPTFlfREVQVEgoeCkJKCh4KTw8MSkgLyogZ2VuOCsgKi8KPiAgI2RlZmluZSAgXzNEX0NISUNL RU4zX1NGX0RJU0FCTEVfUElQRUxJTkVEX0FUVFJfRkVUQ0gJKDEgPDwgMSkgLyogZ2VuNiAqLwo+ ICAKPiAtI2RlZmluZSBNSV9NT0RFCQkweDAyMDljCj4gKyNkZWZpbmUgTUlfTU9ERQkJX1JFRygw eDIwOWMpCj4gICMgZGVmaW5lIFZTX1RJTUVSX0RJU1BBVENICQkJCSgxIDw8IDYpCj4gICMgZGVm aW5lIE1JX0ZMVVNIX0VOQUJMRQkJCQkoMSA8PCAxMikKPiAgIyBkZWZpbmUgQVNZTkNfRkxJUF9Q RVJGX0RJU0FCTEUJCQkoMSA8PCAxNCkKPiAgIyBkZWZpbmUgTU9ERV9JRExFCQkJCQkoMSA8PCA5 KQo+ICAjIGRlZmluZSBTVE9QX1JJTkcJCQkJCSgxIDw8IDgpCj4gIAo+IC0jZGVmaW5lIEdFTjZf R1RfTU9ERQkweDIwZDAKPiAtI2RlZmluZSBHRU43X0dUX01PREUJMHg3MDA4Cj4gKyNkZWZpbmUg R0VONl9HVF9NT0RFCV9SRUcoMHgyMGQwKQo+ICsjZGVmaW5lIEdFTjdfR1RfTU9ERQlfUkVHKDB4 NzAwOCkKPiAgI2RlZmluZSAgIEdFTjZfV0laX0hBU0hJTkcoaGksIGxvKQkJCSgoKGhpKSA8PCA5 KSB8ICgobG8pIDw8IDcpKQo+ICAjZGVmaW5lICAgR0VONl9XSVpfSEFTSElOR184eDgJCQkJR0VO Nl9XSVpfSEFTSElORygwLCAwKQo+ICAjZGVmaW5lICAgR0VONl9XSVpfSEFTSElOR184eDQJCQkJ R0VONl9XSVpfSEFTSElORygwLCAxKQo+IEBAIC0xNjkyLDkgKzE3MDMsOSBAQCBlbnVtIHNrbF9k aXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIEdFTjlfSVpfSEFTSElOR19NQVNLKHNsaWNl KQkJCSgweDMgPDwgKChzbGljZSkgKiAyKSkKPiAgI2RlZmluZSAgIEdFTjlfSVpfSEFTSElORyhz bGljZSwgdmFsKQkJCSgodmFsKSA8PCAoKHNsaWNlKSAqIDIpKQo+ICAKPiAtI2RlZmluZSBHRlhf TU9ERQkweDAyNTIwCj4gLSNkZWZpbmUgR0ZYX01PREVfR0VONwkweDAyMjljCj4gLSNkZWZpbmUg UklOR19NT0RFX0dFTjcocmluZykJKChyaW5nKS0+bW1pb19iYXNlKzB4MjljKQo+ICsjZGVmaW5l IEdGWF9NT0RFCV9SRUcoMHgyNTIwKQo+ICsjZGVmaW5lIEdGWF9NT0RFX0dFTjcJX1JFRygweDIy OWMpCj4gKyNkZWZpbmUgUklOR19NT0RFX0dFTjcocmluZykJX1JFRygocmluZyktPm1taW9fYmFz ZSsweDI5YykKPiAgI2RlZmluZSAgIEdGWF9SVU5fTElTVF9FTkFCTEUJCSgxPDwxNSkKPiAgI2Rl ZmluZSAgIEdGWF9JTlRFUlJVUFRfU1RFRVJJTkcJKDE8PDE0KQo+ICAjZGVmaW5lICAgR0ZYX1RM Ql9JTlZBTElEQVRFX0VYUExJQ0lUCSgxPDwxMykKPiBAQCAtMTcxMiwzNiArMTcyMywzNiBAQCBl bnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBWTFZfRElTUExBWV9CQVNFIDB4 MTgwMDAwCj4gICNkZWZpbmUgVkxWX01JUElfQkFTRSBWTFZfRElTUExBWV9CQVNFCj4gIAo+IC0j ZGVmaW5lIFZMVl9HVV9DVEwwCShWTFZfRElTUExBWV9CQVNFICsgMHgyMDMwKQo+IC0jZGVmaW5l IFZMVl9HVV9DVEwxCShWTFZfRElTUExBWV9CQVNFICsgMHgyMDM0KQo+IC0jZGVmaW5lIFNDUEQw CQkweDAyMDljIC8qIDkxNSsgb25seSAqLwo+IC0jZGVmaW5lIElFUgkJMHgwMjBhMAo+IC0jZGVm aW5lIElJUgkJMHgwMjBhNAo+IC0jZGVmaW5lIElNUgkJMHgwMjBhOAo+IC0jZGVmaW5lIElTUgkJ MHgwMjBhYwo+IC0jZGVmaW5lIFZMVl9HVU5JVF9DTE9DS19HQVRFCShWTFZfRElTUExBWV9CQVNF ICsgMHgyMDYwKQo+ICsjZGVmaW5lIFZMVl9HVV9DVEwwCV9SRUcoVkxWX0RJU1BMQVlfQkFTRSAr IDB4MjAzMCkKPiArI2RlZmluZSBWTFZfR1VfQ1RMMQlfUkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAw eDIwMzQpCj4gKyNkZWZpbmUgU0NQRDAJCV9SRUcoMHgyMDljKSAvKiA5MTUrIG9ubHkgKi8KPiAr I2RlZmluZSBJRVIJCV9SRUcoMHgyMGEwKQo+ICsjZGVmaW5lIElJUgkJX1JFRygweDIwYTQpCj4g KyNkZWZpbmUgSU1SCQlfUkVHKDB4MjBhOCkKPiArI2RlZmluZSBJU1IJCV9SRUcoMHgyMGFjKQo+ ICsjZGVmaW5lIFZMVl9HVU5JVF9DTE9DS19HQVRFCV9SRUcoVkxWX0RJU1BMQVlfQkFTRSArIDB4 MjA2MCkKPiAgI2RlZmluZSAgIEdJTlRfRElTCQkoMTw8MjIpCj4gICNkZWZpbmUgICBHQ0ZHX0RJ UwkJKDE8PDgpCj4gLSNkZWZpbmUgVkxWX0dVTklUX0NMT0NLX0dBVEUyCShWTFZfRElTUExBWV9C QVNFICsgMHgyMDY0KQo+IC0jZGVmaW5lIFZMVl9JSVJfUlcJKFZMVl9ESVNQTEFZX0JBU0UgKyAw eDIwODQpCj4gLSNkZWZpbmUgVkxWX0lFUgkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDIwYTApCj4g LSNkZWZpbmUgVkxWX0lJUgkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDIwYTQpCj4gLSNkZWZpbmUg VkxWX0lNUgkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDIwYTgpCj4gLSNkZWZpbmUgVkxWX0lTUgkJ KFZMVl9ESVNQTEFZX0JBU0UgKyAweDIwYWMpCj4gLSNkZWZpbmUgVkxWX1BDQlIJKFZMVl9ESVNQ TEFZX0JBU0UgKyAweDIxMjApCj4gKyNkZWZpbmUgVkxWX0dVTklUX0NMT0NLX0dBVEUyCV9SRUco VkxWX0RJU1BMQVlfQkFTRSArIDB4MjA2NCkKPiArI2RlZmluZSBWTFZfSUlSX1JXCV9SRUcoVkxW X0RJU1BMQVlfQkFTRSArIDB4MjA4NCkKPiArI2RlZmluZSBWTFZfSUVSCQlfUkVHKFZMVl9ESVNQ TEFZX0JBU0UgKyAweDIwYTApCj4gKyNkZWZpbmUgVkxWX0lJUgkJX1JFRyhWTFZfRElTUExBWV9C QVNFICsgMHgyMGE0KQo+ICsjZGVmaW5lIFZMVl9JTVIJCV9SRUcoVkxWX0RJU1BMQVlfQkFTRSAr IDB4MjBhOCkKPiArI2RlZmluZSBWTFZfSVNSCQlfUkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAweDIw YWMpCj4gKyNkZWZpbmUgVkxWX1BDQlIJX1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHgyMTIwKQo+ ICAjZGVmaW5lIFZMVl9QQ0JSX0FERFJfU0hJRlQJMTIKPiAgCj4gICNkZWZpbmUgICBESVNQTEFZ X1BMQU5FX0ZMSVBfUEVORElORyhwbGFuZSkgKDE8PCgxMS0ocGxhbmUpKSkgLyogQSBhbmQgQiBv bmx5ICovCj4gLSNkZWZpbmUgRUlSCQkweDAyMGIwCj4gLSNkZWZpbmUgRU1SCQkweDAyMGI0Cj4g LSNkZWZpbmUgRVNSCQkweDAyMGI4Cj4gKyNkZWZpbmUgRUlSCQlfUkVHKDB4MjBiMCkKPiArI2Rl ZmluZSBFTVIJCV9SRUcoMHgyMGI0KQo+ICsjZGVmaW5lIEVTUgkJX1JFRygweDIwYjgpCj4gICNk ZWZpbmUgICBHTTQ1X0VSUk9SX1BBR0VfVEFCTEUJCQkJKDE8PDUpCj4gICNkZWZpbmUgICBHTTQ1 X0VSUk9SX01FTV9QUklWCQkJCSgxPDw0KQo+ICAjZGVmaW5lICAgSTkxNV9FUlJPUl9QQUdFX1RB QkxFCQkJCSgxPDw0KQo+ICAjZGVmaW5lICAgR000NV9FUlJPUl9DUF9QUklWCQkJCSgxPDwzKQo+ ICAjZGVmaW5lICAgSTkxNV9FUlJPUl9NRU1PUllfUkVGUkVTSAkJCSgxPDwxKQo+ICAjZGVmaW5l ICAgSTkxNV9FUlJPUl9JTlNUUlVDVElPTgkJCSgxPDwwKQo+IC0jZGVmaW5lIElOU1RQTQkgICAg ICAgIDB4MDIwYzAKPiArI2RlZmluZSBJTlNUUE0JICAgICAgICBfUkVHKDB4MjBjMCkKPiAgI2Rl ZmluZSAgIElOU1RQTV9TRUxGX0VOICgxPDwxMikgLyogOTE1R00gb25seSAqLwo+ICAjZGVmaW5l ICAgSU5TVFBNX0FHUEJVU1lfSU5UX0VOICgxPDwxMSkgLyogZ2VuMzogd2hlbiBkaXNhYmxlZCwg cGVuZGluZyBpbnRlcnJ1cHRzCj4gIAkJCQkJd2lsbCBub3QgYXNzZXJ0IEFHUEJVU1kjIGFuZCB3 aWxsIG9ubHkKPiBAQCAtMTc0OSwxNCArMTc2MCwxNCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dl bGxzIHsKPiAgI2RlZmluZSAgIElOU1RQTV9GT1JDRV9PUkRFUklORwkJCQkoMTw8NykgLyogR0VO NisgKi8KPiAgI2RlZmluZSAgIElOU1RQTV9UTEJfSU5WQUxJREFURQkoMTw8OSkKPiAgI2RlZmlu ZSAgIElOU1RQTV9TWU5DX0ZMVVNICSgxPDw1KQo+IC0jZGVmaW5lIEFDVEhECSAgICAgICAgMHgw MjBjOAo+IC0jZGVmaW5lIE1FTV9NT0RFCTB4MDIwY2MKPiArI2RlZmluZSBBQ1RIRAkgICAgICAg IF9SRUcoMHgyMGM4KQo+ICsjZGVmaW5lIE1FTV9NT0RFCV9SRUcoMHgyMGNjKQo+ICAjZGVmaW5l ICAgTUVNX0RJU1BMQVlfQl9UUklDS0xFX0ZFRURfRElTQUJMRSAoMTw8MykgLyogODMwIG9ubHkg Ki8KPiAgI2RlZmluZSAgIE1FTV9ESVNQTEFZX0FfVFJJQ0tMRV9GRUVEX0RJU0FCTEUgKDE8PDIp IC8qIDgzMC84NDUgb25seSAqLwo+ICAjZGVmaW5lICAgTUVNX0RJU1BMQVlfVFJJQ0tMRV9GRUVE X0RJU0FCTEUgKDE8PDIpIC8qIDg1eCBvbmx5ICovCj4gLSNkZWZpbmUgRldfQkxDCQkweDAyMGQ4 Cj4gLSNkZWZpbmUgRldfQkxDMgkJMHgwMjBkYwo+IC0jZGVmaW5lIEZXX0JMQ19TRUxGCTB4MDIw ZTAgLyogOTE1KyBvbmx5ICovCj4gKyNkZWZpbmUgRldfQkxDCQlfUkVHKDB4MjBkOCkKPiArI2Rl ZmluZSBGV19CTEMyCQlfUkVHKDB4MjBkYykKPiArI2RlZmluZSBGV19CTENfU0VMRglfUkVHKDB4 MjBlMCkgLyogOTE1KyBvbmx5ICovCj4gICNkZWZpbmUgICBGV19CTENfU0VMRl9FTl9NQVNLICAg ICAgKDE8PDMxKQo+ICAjZGVmaW5lICAgRldfQkxDX1NFTEZfRklGT19NQVNLICAgICgxPDwxNikg LyogOTQ1IG9ubHkgKi8KPiAgI2RlZmluZSAgIEZXX0JMQ19TRUxGX0VOICAgICAgICAgICAoMTw8 MTUpIC8qIDk0NSBvbmx5ICovCj4gQEAgLTE3NjQsNyArMTc3NSw3IEBAIGVudW0gc2tsX2Rpc3Bf cG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIE1NX0ZJRk9fV0FURVJNQVJLICAgMHgwMDAxRjAwMAo+ ICAjZGVmaW5lIExNX0JVUlNUX0xFTkdUSCAgICAgMHgwMDAwMDcwMAo+ICAjZGVmaW5lIExNX0ZJ Rk9fV0FURVJNQVJLICAgMHgwMDAwMDAxRgo+IC0jZGVmaW5lIE1JX0FSQl9TVEFURQkweDAyMGU0 IC8qIDkxNSsgb25seSAqLwo+ICsjZGVmaW5lIE1JX0FSQl9TVEFURQlfUkVHKDB4MjBlNCkgLyog OTE1KyBvbmx5ICovCj4gIAo+ICAvKiBNYWtlIHJlbmRlci90ZXh0dXJlIFRMQiBmZXRjaGVzIGxv d2VyIHByaW9ydHkgdGhhbiBhc3NvY2lhdGVkIGRhdGEKPiAgICogICBmZXRjaGVzLiBUaGlzIGlz IG5vdCB0dXJuZWQgb24gYnkgZGVmYXVsdAo+IEBAIC0xODI4LDExICsxODM5LDExIEBAIGVudW0g c2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgTUlfQVJCX0RJU1BMQVlfUFJJT1JJ VFlfQV9CCQkoMCA8PCAwKQkvKiBkaXNwbGF5IEEgPiBkaXNwbGF5IEIgKi8KPiAgI2RlZmluZSAg IE1JX0FSQl9ESVNQTEFZX1BSSU9SSVRZX0JfQQkJKDEgPDwgMCkJLyogZGlzcGxheSBCID4gZGlz cGxheSBBICovCj4gIAo+IC0jZGVmaW5lIE1JX1NUQVRFCTB4MDIwZTQgLyogZ2VuMiBvbmx5ICov Cj4gKyNkZWZpbmUgTUlfU1RBVEUJX1JFRygweDIwZTQpIC8qIGdlbjIgb25seSAqLwo+ICAjZGVm aW5lICAgTUlfQUdQQlVTWV9JTlRfRU4JCQkoMSA8PCAxKSAvKiA4NXggb25seSAqLwo+ICAjZGVm aW5lICAgTUlfQUdQQlVTWV84MzBfTU9ERQkJCSgxIDw8IDApIC8qIDg1eCBvbmx5ICovCj4gIAo+ IC0jZGVmaW5lIENBQ0hFX01PREVfMAkweDAyMTIwIC8qIDkxNSsgb25seSAqLwo+ICsjZGVmaW5l IENBQ0hFX01PREVfMAlfUkVHKDB4MjEyMCkgLyogOTE1KyBvbmx5ICovCj4gICNkZWZpbmUgICBD TTBfUElQRUxJTkVEX1JFTkRFUl9GTFVTSF9ESVNBQkxFICgxPDw4KQo+ICAjZGVmaW5lICAgQ00w X0laX09QVF9ESVNBQkxFICAgICAgKDE8PDYpCj4gICNkZWZpbmUgICBDTTBfWlJfT1BUX0RJU0FC TEUgICAgICAoMTw8NSkKPiBAQCAtMTg0MSwzMiArMTg1MiwzMiBAQCBlbnVtIHNrbF9kaXNwX3Bv d2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIENNMF9DT0xPUl9FVklDVF9ESVNBQkxFICgxPDwzKQo+ ICAjZGVmaW5lICAgQ00wX0RFUFRIX1dSSVRFX0RJU0FCTEUgKDE8PDEpCj4gICNkZWZpbmUgICBD TTBfUkNfT1BfRkxVU0hfRElTQUJMRSAoMTw8MCkKPiAtI2RlZmluZSBHRlhfRkxTSF9DTlRMCTB4 MDIxNzAgLyogOTE1KyBvbmx5ICovCj4gLSNkZWZpbmUgR0ZYX0ZMU0hfQ05UTF9HRU42CTB4MTAx MDA4Cj4gKyNkZWZpbmUgR0ZYX0ZMU0hfQ05UTAlfUkVHKDB4MjE3MCkgLyogOTE1KyBvbmx5ICov Cj4gKyNkZWZpbmUgR0ZYX0ZMU0hfQ05UTF9HRU42CV9SRUcoMHgxMDEwMDgpCj4gICNkZWZpbmUg ICBHRlhfRkxTSF9DTlRMX0VOCSgxPDwwKQo+IC0jZGVmaW5lIEVDT1NLUEQJCTB4MDIxZDAKPiAr I2RlZmluZSBFQ09TS1BECQlfUkVHKDB4MjFkMCkKPiAgI2RlZmluZSAgIEVDT19HQVRJTkdfQ1hf T05MWQkoMTw8MykKPiAgI2RlZmluZSAgIEVDT19GTElQX0RPTkUJCSgxPDwwKQo+ICAKPiAtI2Rl ZmluZSBDQUNIRV9NT0RFXzBfR0VONwkweDcwMDAgLyogSVZCKyAqLwo+ICsjZGVmaW5lIENBQ0hF X01PREVfMF9HRU43CV9SRUcoMHg3MDAwKSAvKiBJVkIrICovCj4gICNkZWZpbmUgUkNfT1BfRkxV U0hfRU5BQkxFICgxPDwwKQo+ICAjZGVmaW5lICAgSElaX1JBV19TVEFMTF9PUFRfRElTQUJMRSAo MTw8MikKPiAtI2RlZmluZSBDQUNIRV9NT0RFXzEJCTB4NzAwNCAvKiBJVkIrICovCj4gKyNkZWZp bmUgQ0FDSEVfTU9ERV8xCQlfUkVHKDB4NzAwNCkgLyogSVZCKyAqLwo+ICAjZGVmaW5lICAgUElY RUxfU1VCU1BBTl9DT0xMRUNUX09QVF9ESVNBQkxFCSgxPDw2KQo+ICAjZGVmaW5lICAgR0VOOF80 eDRfU1RDX09QVElNSVpBVElPTl9ESVNBQkxFCSgxPDw2KQo+ICAjZGVmaW5lICAgR0VOOV9QQVJU SUFMX1JFU09MVkVfSU5fVkNfRElTQUJMRQkoMTw8MSkKPiAgCj4gLSNkZWZpbmUgR0VONl9CTElU VEVSX0VDT1NLUEQJMHgyMjFkMAo+ICsjZGVmaW5lIEdFTjZfQkxJVFRFUl9FQ09TS1BECV9SRUco MHgyMjFkMCkKPiAgI2RlZmluZSAgIEdFTjZfQkxJVFRFUl9MT0NLX1NISUZUCQkJMTYKPiAgI2Rl ZmluZSAgIEdFTjZfQkxJVFRFUl9GQkNfTk9USUZZCQkJKDE8PDMpCj4gIAo+IC0jZGVmaW5lIEdF TjZfUkNfU0xFRVBfUFNNSV9DT05UUk9MCTB4MjA1MAo+ICsjZGVmaW5lIEdFTjZfUkNfU0xFRVBf UFNNSV9DT05UUk9MCV9SRUcoMHgyMDUwKQo+ICAjZGVmaW5lICAgR0VONl9QU01JX1NMRUVQX01T R19ESVNBQkxFCSgxIDw8IDApCj4gICNkZWZpbmUgICBHRU44X1JDX1NFTUFfSURMRV9NU0dfRElT QUJMRQkoMSA8PCAxMikKPiAgI2RlZmluZSAgIEdFTjhfRkZfRE9QX0NMT0NLX0dBVEVfRElTQUJM RQkoMTw8MTApCj4gIAo+ICAvKiBGdXNlIHJlYWRvdXQgcmVnaXN0ZXJzIGZvciBHVCAqLwo+IC0j ZGVmaW5lIENIVl9GVVNFX0dUCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDIxNjgpCj4gKyNkZWZp bmUgQ0hWX0ZVU0VfR1QJCQlfUkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAweDIxNjgpCj4gICNkZWZp bmUgICBDSFZfRkdUX0RJU0FCTEVfU1MwCQkoMSA8PCAxMCkKPiAgI2RlZmluZSAgIENIVl9GR1Rf RElTQUJMRV9TUzEJCSgxIDw8IDExKQo+ICAjZGVmaW5lICAgQ0hWX0ZHVF9FVV9ESVNfU1MwX1Iw X1NISUZUCTE2Cj4gQEAgLTE4NzgsMTYgKzE4ODksMTYgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93 ZWxscyB7Cj4gICNkZWZpbmUgICBDSFZfRkdUX0VVX0RJU19TUzFfUjFfU0hJRlQJMjgKPiAgI2Rl ZmluZSAgIENIVl9GR1RfRVVfRElTX1NTMV9SMV9NQVNLCSgweGYgPDwgQ0hWX0ZHVF9FVV9ESVNf U1MxX1IxX1NISUZUKQo+ICAKPiAtI2RlZmluZSBHRU44X0ZVU0UyCQkJMHg5MTIwCj4gKyNkZWZp bmUgR0VOOF9GVVNFMgkJCV9SRUcoMHg5MTIwKQo+ICAjZGVmaW5lICAgR0VOOF9GMl9TX0VOQV9T SElGVAkJMjUKPiAgI2RlZmluZSAgIEdFTjhfRjJfU19FTkFfTUFTSwkJKDB4NyA8PCBHRU44X0Yy X1NfRU5BX1NISUZUKQo+ICAKPiAgI2RlZmluZSAgIEdFTjlfRjJfU1NfRElTX1NISUZUCQkyMAo+ ICAjZGVmaW5lICAgR0VOOV9GMl9TU19ESVNfTUFTSwkJKDB4ZiA8PCBHRU45X0YyX1NTX0RJU19T SElGVCkKPiAgCj4gLSNkZWZpbmUgR0VOOV9FVV9ESVNBQkxFKHNsaWNlKQkJKDB4OTEzNCArIChz bGljZSkqMHg0KQo+ICsjZGVmaW5lIEdFTjlfRVVfRElTQUJMRShzbGljZSkJCV9SRUcoMHg5MTM0 ICsgKHNsaWNlKSoweDQpCj4gIAo+IC0jZGVmaW5lIEdFTjZfQlNEX1NMRUVQX1BTTUlfQ09OVFJP TAkweDEyMDUwCj4gKyNkZWZpbmUgR0VONl9CU0RfU0xFRVBfUFNNSV9DT05UUk9MCV9SRUcoMHgx MjA1MCkKPiAgI2RlZmluZSAgIEdFTjZfQlNEX1NMRUVQX01TR19ESVNBQkxFCSgxIDw8IDApCj4g ICNkZWZpbmUgICBHRU42X0JTRF9TTEVFUF9GTFVTSF9ESVNBQkxFCSgxIDw8IDIpCj4gICNkZWZp bmUgICBHRU42X0JTRF9TTEVFUF9JTkRJQ0FUT1IJKDEgPDwgMykKPiBAQCAtMTk2NSw5ICsxOTc2 LDkgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgSTkxNV9BU0xFX0lO VEVSUlVQVAkJCQkoMTw8MCkKPiAgI2RlZmluZSBJOTE1X0JTRF9VU0VSX0lOVEVSUlVQVAkJCQko MTw8MjUpCj4gIAo+IC0jZGVmaW5lIEdFTjZfQlNEX1JOQ0lECQkJMHgxMjE5OAo+ICsjZGVmaW5l IEdFTjZfQlNEX1JOQ0lECQkJX1JFRygweDEyMTk4KQo+ICAKPiAtI2RlZmluZSBHRU43X0ZGX1RI UkVBRF9NT0RFCQkweDIwYTAKPiArI2RlZmluZSBHRU43X0ZGX1RIUkVBRF9NT0RFCQlfUkVHKDB4 MjBhMCkKPiAgI2RlZmluZSAgIEdFTjdfRkZfU0NIRURfTUFTSwkJMHgwMDc3MDcwCj4gICNkZWZp bmUgICBHRU44X0ZGX0RTX1JFRl9DTlRfRkZNRQkoMSA8PCAxOSkKPiAgI2RlZmluZSAgIEdFTjdf RkZfVFNfU0NIRURfSFMxCQkoMHg1PDwxNikKPiBAQCAtMTk4OCw5ICsxOTk5LDkgQEAgZW51bSBz a2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICAqIEZyYW1lYnVmZmVyIGNvbXByZXNzaW9uICg5MTUr IG9ubHkpCj4gICAqLwo+ICAKPiAtI2RlZmluZSBGQkNfQ0ZCX0JBU0UJCTB4MDMyMDAgLyogNGsg cGFnZSBhbGlnbmVkICovCj4gLSNkZWZpbmUgRkJDX0xMX0JBU0UJCTB4MDMyMDQgLyogNGsgcGFn ZSBhbGlnbmVkICovCj4gLSNkZWZpbmUgRkJDX0NPTlRST0wJCTB4MDMyMDgKPiArI2RlZmluZSBG QkNfQ0ZCX0JBU0UJCV9SRUcoMHgzMjAwKSAvKiA0ayBwYWdlIGFsaWduZWQgKi8KPiArI2RlZmlu ZSBGQkNfTExfQkFTRQkJX1JFRygweDMyMDQpIC8qIDRrIHBhZ2UgYWxpZ25lZCAqLwo+ICsjZGVm aW5lIEZCQ19DT05UUk9MCQlfUkVHKDB4MzIwOCkKPiAgI2RlZmluZSAgIEZCQ19DVExfRU4JCSgx PDwzMSkKPiAgI2RlZmluZSAgIEZCQ19DVExfUEVSSU9ESUMJKDE8PDMwKQo+ICAjZGVmaW5lICAg RkJDX0NUTF9JTlRFUlZBTF9TSElGVCAoMTYpCj4gQEAgLTE5OTgsMTQgKzIwMDksMTQgQEAgZW51 bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBGQkNfQ1RMX0MzX0lETEUJKDE8 PDEzKQo+ICAjZGVmaW5lICAgRkJDX0NUTF9TVFJJREVfU0hJRlQJKDUpCj4gICNkZWZpbmUgICBG QkNfQ1RMX0ZFTkNFTk9fU0hJRlQJKDApCj4gLSNkZWZpbmUgRkJDX0NPTU1BTkQJCTB4MDMyMGMK PiArI2RlZmluZSBGQkNfQ09NTUFORAkJX1JFRygweDMyMGMpCj4gICNkZWZpbmUgICBGQkNfQ01E X0NPTVBSRVNTCSgxPDwwKQo+IC0jZGVmaW5lIEZCQ19TVEFUVVMJCTB4MDMyMTAKPiArI2RlZmlu ZSBGQkNfU1RBVFVTCQlfUkVHKDB4MzIxMCkKPiAgI2RlZmluZSAgIEZCQ19TVEFUX0NPTVBSRVNT SU5HCSgxPDwzMSkKPiAgI2RlZmluZSAgIEZCQ19TVEFUX0NPTVBSRVNTRUQJKDE8PDMwKQo+ICAj ZGVmaW5lICAgRkJDX1NUQVRfTU9ESUZJRUQJKDE8PDI5KQo+ICAjZGVmaW5lICAgRkJDX1NUQVRf Q1VSUkVOVF9MSU5FX1NISUZUCSgwKQo+IC0jZGVmaW5lIEZCQ19DT05UUk9MMgkJMHgwMzIxNAo+ ICsjZGVmaW5lIEZCQ19DT05UUk9MMgkJX1JFRygweDMyMTQpCj4gICNkZWZpbmUgICBGQkNfQ1RM X0ZFTkNFX0RCTAkoMDw8NCkKPiAgI2RlZmluZSAgIEZCQ19DVExfSURMRV9JTU0JKDA8PDIpCj4g ICNkZWZpbmUgICBGQkNfQ1RMX0lETEVfRlVMTAkoMTw8MikKPiBAQCAtMjAxMywxNyArMjAyNCwx NyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIEZCQ19DVExfSURM RV9ERUJVRwkoMzw8MikKPiAgI2RlZmluZSAgIEZCQ19DVExfQ1BVX0ZFTkNFCSgxPDwxKQo+ICAj ZGVmaW5lICAgRkJDX0NUTF9QTEFORShwbGFuZSkJKChwbGFuZSk8PDApCj4gLSNkZWZpbmUgRkJD X0ZFTkNFX09GRgkJMHgwMzIxOCAvKiBCU3BlYyB0eXBvIGhhcyAzMjFCaCAqLwo+IC0jZGVmaW5l IEZCQ19UQUcoaSkJCSgweDAzMzAwICsgKGkpICogNCkKPiArI2RlZmluZSBGQkNfRkVOQ0VfT0ZG CQlfUkVHKDB4MzIxOCkgLyogQlNwZWMgdHlwbyBoYXMgMzIxQmggKi8KPiArI2RlZmluZSBGQkNf VEFHKGkpCQlfUkVHKDB4MzMwMCArIChpKSAqIDQpCj4gIAo+IC0jZGVmaW5lIEZCQ19TVEFUVVMy CQkweDQzMjE0Cj4gKyNkZWZpbmUgRkJDX1NUQVRVUzIJCV9SRUcoMHg0MzIxNCkKPiAgI2RlZmlu ZSAgRkJDX0NPTVBSRVNTSU9OX01BU0sJMHg3ZmYKPiAgCj4gICNkZWZpbmUgRkJDX0xMX1NJWkUJ CSgxNTM2KQo+ICAKPiAgLyogRnJhbWVidWZmZXIgY29tcHJlc3Npb24gZm9yIEdNNDUrICovCj4g LSNkZWZpbmUgRFBGQ19DQl9CQVNFCQkweDMyMDAKPiAtI2RlZmluZSBEUEZDX0NPTlRST0wJCTB4 MzIwOAo+ICsjZGVmaW5lIERQRkNfQ0JfQkFTRQkJX1JFRygweDMyMDApCj4gKyNkZWZpbmUgRFBG Q19DT05UUk9MCQlfUkVHKDB4MzIwOCkKPiAgI2RlZmluZSAgIERQRkNfQ1RMX0VOCQkoMTw8MzEp Cj4gICNkZWZpbmUgICBEUEZDX0NUTF9QTEFORShwbGFuZSkJKChwbGFuZSk8PDMwKQo+ICAjZGVm aW5lICAgSVZCX0RQRkNfQ1RMX1BMQU5FKHBsYW5lKQkoKHBsYW5lKTw8MjkpCj4gQEAgLTIwMzQs MzcgKzIwNDUsMzcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBE UEZDX0NUTF9MSU1JVF8xWAkoMDw8NikKPiAgI2RlZmluZSAgIERQRkNfQ1RMX0xJTUlUXzJYCSgx PDw2KQo+ICAjZGVmaW5lICAgRFBGQ19DVExfTElNSVRfNFgJKDI8PDYpCj4gLSNkZWZpbmUgRFBG Q19SRUNPTVBfQ1RMCQkweDMyMGMKPiArI2RlZmluZSBEUEZDX1JFQ09NUF9DVEwJCV9SRUcoMHgz MjBjKQo+ICAjZGVmaW5lICAgRFBGQ19SRUNPTVBfU1RBTExfRU4JKDE8PDI3KQo+ICAjZGVmaW5l ICAgRFBGQ19SRUNPTVBfU1RBTExfV01fU0hJRlQgKDE2KQo+ICAjZGVmaW5lICAgRFBGQ19SRUNP TVBfU1RBTExfV01fTUFTSyAoMHgwN2ZmMDAwMCkKPiAgI2RlZmluZSAgIERQRkNfUkVDT01QX1RJ TUVSX0NPVU5UX1NISUZUICgwKQo+ICAjZGVmaW5lICAgRFBGQ19SRUNPTVBfVElNRVJfQ09VTlRf TUFTSyAoMHgwMDAwMDAzZikKPiAtI2RlZmluZSBEUEZDX1NUQVRVUwkJMHgzMjEwCj4gKyNkZWZp bmUgRFBGQ19TVEFUVVMJCV9SRUcoMHgzMjEwKQo+ICAjZGVmaW5lICAgRFBGQ19JTlZBTF9TRUdf U0hJRlQgICgxNikKPiAgI2RlZmluZSAgIERQRkNfSU5WQUxfU0VHX01BU0sJKDB4MDdmZjAwMDAp Cj4gICNkZWZpbmUgICBEUEZDX0NPTVBfU0VHX1NISUZUCSgwKQo+ICAjZGVmaW5lICAgRFBGQ19D T01QX1NFR19NQVNLCSgweDAwMDAwM2ZmKQo+IC0jZGVmaW5lIERQRkNfU1RBVFVTMgkJMHgzMjE0 Cj4gLSNkZWZpbmUgRFBGQ19GRU5DRV9ZT0ZGCQkweDMyMTgKPiAtI2RlZmluZSBEUEZDX0NISUNL RU4JCTB4MzIyNAo+ICsjZGVmaW5lIERQRkNfU1RBVFVTMgkJX1JFRygweDMyMTQpCj4gKyNkZWZp bmUgRFBGQ19GRU5DRV9ZT0ZGCQlfUkVHKDB4MzIxOCkKPiArI2RlZmluZSBEUEZDX0NISUNLRU4J CV9SRUcoMHgzMjI0KQo+ICAjZGVmaW5lICAgRFBGQ19IVF9NT0RJRlkJKDE8PDMxKQo+ICAKPiAg LyogRnJhbWVidWZmZXIgY29tcHJlc3Npb24gZm9yIElyb25sYWtlICovCj4gLSNkZWZpbmUgSUxL X0RQRkNfQ0JfQkFTRQkweDQzMjAwCj4gLSNkZWZpbmUgSUxLX0RQRkNfQ09OVFJPTAkweDQzMjA4 Cj4gKyNkZWZpbmUgSUxLX0RQRkNfQ0JfQkFTRQlfUkVHKDB4NDMyMDApCj4gKyNkZWZpbmUgSUxL X0RQRkNfQ09OVFJPTAlfUkVHKDB4NDMyMDgpCj4gICNkZWZpbmUgICBGQkNfQ1RMX0ZBTFNFX0NP TE9SCSgxPDwxMCkKPiAgLyogVGhlIGJpdCAyOC04IGlzIHJlc2VydmVkICovCj4gICNkZWZpbmUg ICBEUEZDX1JFU0VSVkVECQkoMHgxRkZGRkYwMCkKPiAtI2RlZmluZSBJTEtfRFBGQ19SRUNPTVBf Q1RMCTB4NDMyMGMKPiAtI2RlZmluZSBJTEtfRFBGQ19TVEFUVVMJCTB4NDMyMTAKPiAtI2RlZmlu ZSBJTEtfRFBGQ19GRU5DRV9ZT0ZGCTB4NDMyMTgKPiAtI2RlZmluZSBJTEtfRFBGQ19DSElDS0VO CTB4NDMyMjQKPiAtI2RlZmluZSBJTEtfRkJDX1JUX0JBU0UJCTB4MjEyOAo+ICsjZGVmaW5lIElM S19EUEZDX1JFQ09NUF9DVEwJX1JFRygweDQzMjBjKQo+ICsjZGVmaW5lIElMS19EUEZDX1NUQVRV UwkJX1JFRygweDQzMjEwKQo+ICsjZGVmaW5lIElMS19EUEZDX0ZFTkNFX1lPRkYJX1JFRygweDQz MjE4KQo+ICsjZGVmaW5lIElMS19EUEZDX0NISUNLRU4JX1JFRygweDQzMjI0KQo+ICsjZGVmaW5l IElMS19GQkNfUlRfQkFTRQkJX1JFRygweDIxMjgpCj4gICNkZWZpbmUgICBJTEtfRkJDX1JUX1ZB TElECSgxPDwwKQo+ICAjZGVmaW5lICAgU05CX0ZCQ19GUk9OVF9CVUZGRVIJKDE8PDEpCj4gIAo+ IC0jZGVmaW5lIElMS19ESVNQTEFZX0NISUNLRU4xCTB4NDIwMDAKPiArI2RlZmluZSBJTEtfRElT UExBWV9DSElDS0VOMQlfUkVHKDB4NDIwMDApCj4gICNkZWZpbmUgICBJTEtfRkJDUV9ESVMJCSgx PDwyMikKPiAgI2RlZmluZQkgIElMS19QQUJTVFJFVENIX0RJUwkoMTw8MjEpCj4gIAo+IEBAIC0y MDc0LDMxICsyMDg1LDMxIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAgKgo+ICAg KiBUaGUgZm9sbG93aW5nIHR3byByZWdpc3RlcnMgYXJlIG9mIHR5cGUgR1RUTU1BRFIKPiAgICov Cj4gLSNkZWZpbmUgU05CX0RQRkNfQ1RMX1NBCQkweDEwMDEwMAo+ICsjZGVmaW5lIFNOQl9EUEZD X0NUTF9TQQkJX1JFRygweDEwMDEwMCkKPiAgI2RlZmluZSAgIFNOQl9DUFVfRkVOQ0VfRU5BQkxF CSgxPDwyOSkKPiAtI2RlZmluZSBEUEZDX0NQVV9GRU5DRV9PRkZTRVQJMHgxMDAxMDQKPiArI2Rl ZmluZSBEUEZDX0NQVV9GRU5DRV9PRkZTRVQJX1JFRygweDEwMDEwNCkKPiAgCj4gIC8qIEZyYW1l YnVmZmVyIGNvbXByZXNzaW9uIGZvciBJdnlicmlkZ2UgKi8KPiAtI2RlZmluZSBJVkJfRkJDX1JU X0JBU0UJCQkweDcwMjAKPiArI2RlZmluZSBJVkJfRkJDX1JUX0JBU0UJCQlfUkVHKDB4NzAyMCkK PiAgCj4gLSNkZWZpbmUgSVBTX0NUTAkJMHg0MzQwOAo+ICsjZGVmaW5lIElQU19DVEwJCV9SRUco MHg0MzQwOCkKPiAgI2RlZmluZSAgIElQU19FTkFCTEUJKDEgPDwgMzEpCj4gIAo+IC0jZGVmaW5l IE1TR19GQkNfUkVORF9TVEFURQkweDUwMzgwCj4gKyNkZWZpbmUgTVNHX0ZCQ19SRU5EX1NUQVRF CV9SRUcoMHg1MDM4MCkKPiAgI2RlZmluZSAgIEZCQ19SRU5EX05VS0UJCSgxPDwyKQo+ICAjZGVm aW5lICAgRkJDX1JFTkRfQ0FDSEVfQ0xFQU4JKDE8PDEpCj4gIAo+ICAvKgo+ICAgKiBHUElPIHJl Z3MKPiAgICovCj4gLSNkZWZpbmUgR1BJT0EJCQkweDUwMTAKPiAtI2RlZmluZSBHUElPQgkJCTB4 NTAxNAo+IC0jZGVmaW5lIEdQSU9DCQkJMHg1MDE4Cj4gLSNkZWZpbmUgR1BJT0QJCQkweDUwMWMK PiAtI2RlZmluZSBHUElPRQkJCTB4NTAyMAo+IC0jZGVmaW5lIEdQSU9GCQkJMHg1MDI0Cj4gLSNk ZWZpbmUgR1BJT0cJCQkweDUwMjgKPiAtI2RlZmluZSBHUElPSAkJCTB4NTAyYwo+ICsjZGVmaW5l IEdQSU9BCQkJX1JFRygweDUwMTApCj4gKyNkZWZpbmUgR1BJT0IJCQlfUkVHKDB4NTAxNCkKPiAr I2RlZmluZSBHUElPQwkJCV9SRUcoMHg1MDE4KQo+ICsjZGVmaW5lIEdQSU9ECQkJX1JFRygweDUw MWMpCj4gKyNkZWZpbmUgR1BJT0UJCQlfUkVHKDB4NTAyMCkKPiArI2RlZmluZSBHUElPRgkJCV9S RUcoMHg1MDI0KQo+ICsjZGVmaW5lIEdQSU9HCQkJX1JFRygweDUwMjgpCj4gKyNkZWZpbmUgR1BJ T0gJCQlfUkVHKDB4NTAyYykKPiAgIyBkZWZpbmUgR1BJT19DTE9DS19ESVJfTUFTSwkJKDEgPDwg MCkKPiAgIyBkZWZpbmUgR1BJT19DTE9DS19ESVJfSU4JCSgwIDw8IDEpCj4gICMgZGVmaW5lIEdQ SU9fQ0xPQ0tfRElSX09VVAkJKDEgPDwgMSkKPiBAQCAtMjExNCw3ICsyMTI1LDcgQEAgZW51bSBz a2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICMgZGVmaW5lIEdQSU9fREFUQV9WQUxfSU4JCSgxIDw8 IDEyKQo+ICAjIGRlZmluZSBHUElPX0RBVEFfUFVMTFVQX0RJU0FCTEUJKDEgPDwgMTMpCj4gIAo+ IC0jZGVmaW5lIEdNQlVTMAkJCShkZXZfcHJpdi0+Z3Bpb19tbWlvX2Jhc2UgKyAweDUxMDApIC8q IGNsb2NrL3BvcnQgc2VsZWN0ICovCj4gKyNkZWZpbmUgR01CVVMwCQkJX1JFRyhkZXZfcHJpdi0+ Z3Bpb19tbWlvX2Jhc2UgKyAweDUxMDApIC8qIGNsb2NrL3BvcnQgc2VsZWN0ICovCj4gICNkZWZp bmUgICBHTUJVU19SQVRFXzEwMEtIWgkoMDw8OCkKPiAgI2RlZmluZSAgIEdNQlVTX1JBVEVfNTBL SFoJKDE8PDgpCj4gICNkZWZpbmUgICBHTUJVU19SQVRFXzQwMEtIWgkoMjw8OCkgLyogcmVzZXJ2 ZWQgb24gUGluZXZpZXcgKi8KPiBAQCAtMjEzMyw3ICsyMTQ0LDcgQEAgZW51bSBza2xfZGlzcF9w b3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBHTUJVU19QSU5fMl9CWFQJMgo+ICAjZGVmaW5lICAg R01CVVNfUElOXzNfQlhUCTMKPiAgI2RlZmluZSAgIEdNQlVTX05VTV9QSU5TCTcgLyogaW5jbHVk aW5nIDAgKi8KPiAtI2RlZmluZSBHTUJVUzEJCQkoZGV2X3ByaXYtPmdwaW9fbW1pb19iYXNlICsg MHg1MTA0KSAvKiBjb21tYW5kL3N0YXR1cyAqLwo+ICsjZGVmaW5lIEdNQlVTMQkJCV9SRUcoZGV2 X3ByaXYtPmdwaW9fbW1pb19iYXNlICsgMHg1MTA0KSAvKiBjb21tYW5kL3N0YXR1cyAqLwo+ICAj ZGVmaW5lICAgR01CVVNfU1dfQ0xSX0lOVAkoMTw8MzEpCj4gICNkZWZpbmUgICBHTUJVU19TV19S RFkJCSgxPDwzMCkKPiAgI2RlZmluZSAgIEdNQlVTX0VOVAkJKDE8PDI5KSAvKiBlbmFibGUgdGlt ZW91dCAqLwo+IEBAIC0yMTQ3LDcgKzIxNTgsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxz IHsKPiAgI2RlZmluZSAgIEdNQlVTX1NMQVZFX0FERFJfU0hJRlQgMQo+ICAjZGVmaW5lICAgR01C VVNfU0xBVkVfUkVBRAkoMTw8MCkKPiAgI2RlZmluZSAgIEdNQlVTX1NMQVZFX1dSSVRFCSgwPDww KQo+IC0jZGVmaW5lIEdNQlVTMgkJCShkZXZfcHJpdi0+Z3Bpb19tbWlvX2Jhc2UgKyAweDUxMDgp IC8qIHN0YXR1cyAqLwo+ICsjZGVmaW5lIEdNQlVTMgkJCV9SRUcoZGV2X3ByaXYtPmdwaW9fbW1p b19iYXNlICsgMHg1MTA4KSAvKiBzdGF0dXMgKi8KPiAgI2RlZmluZSAgIEdNQlVTX0lOVVNFCQko MTw8MTUpCj4gICNkZWZpbmUgICBHTUJVU19IV19XQUlUX1BIQVNFCSgxPDwxNCkKPiAgI2RlZmlu ZSAgIEdNQlVTX1NUQUxMX1RJTUVPVVQJKDE8PDEzKQo+IEBAIC0yMTU1LDI3ICsyMTY2LDI3IEBA IGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgR01CVVNfSFdfUkRZCQko MTw8MTEpCj4gICNkZWZpbmUgICBHTUJVU19TQVRPRVIJCSgxPDwxMCkKPiAgI2RlZmluZSAgIEdN QlVTX0FDVElWRQkJKDE8PDkpCj4gLSNkZWZpbmUgR01CVVMzCQkJKGRldl9wcml2LT5ncGlvX21t aW9fYmFzZSArIDB4NTEwYykgLyogZGF0YSBidWZmZXIgYnl0ZXMgMy0wICovCj4gLSNkZWZpbmUg R01CVVM0CQkJKGRldl9wcml2LT5ncGlvX21taW9fYmFzZSArIDB4NTExMCkgLyogaW50ZXJydXB0 IG1hc2sgKFBpbmV2aWV3KykgKi8KPiArI2RlZmluZSBHTUJVUzMJCQlfUkVHKGRldl9wcml2LT5n cGlvX21taW9fYmFzZSArIDB4NTEwYykgLyogZGF0YSBidWZmZXIgYnl0ZXMgMy0wICovCj4gKyNk ZWZpbmUgR01CVVM0CQkJX1JFRyhkZXZfcHJpdi0+Z3Bpb19tbWlvX2Jhc2UgKyAweDUxMTApIC8q IGludGVycnVwdCBtYXNrIChQaW5ldmlldyspICovCj4gICNkZWZpbmUgICBHTUJVU19TTEFWRV9U SU1FT1VUX0VOICgxPDw0KQo+ICAjZGVmaW5lICAgR01CVVNfTkFLX0VOCQkoMTw8MykKPiAgI2Rl ZmluZSAgIEdNQlVTX0lETEVfRU4JCSgxPDwyKQo+ICAjZGVmaW5lICAgR01CVVNfSFdfV0FJVF9F TgkoMTw8MSkKPiAgI2RlZmluZSAgIEdNQlVTX0hXX1JEWV9FTgkoMTw8MCkKPiAtI2RlZmluZSBH TUJVUzUJCQkoZGV2X3ByaXYtPmdwaW9fbW1pb19iYXNlICsgMHg1MTIwKSAvKiBieXRlIGluZGV4 ICovCj4gKyNkZWZpbmUgR01CVVM1CQkJX1JFRyhkZXZfcHJpdi0+Z3Bpb19tbWlvX2Jhc2UgKyAw eDUxMjApIC8qIGJ5dGUgaW5kZXggKi8KPiAgI2RlZmluZSAgIEdNQlVTXzJCWVRFX0lOREVYX0VO CSgxPDwzMSkKPiAgCj4gIC8qCj4gICAqIENsb2NrIGNvbnRyb2wgJiBwb3dlciBtYW5hZ2VtZW50 Cj4gICAqLwo+IC0jZGVmaW5lIF9EUExMX0EgKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19v ZmZzZXQgKyAweDYwMTQpCj4gLSNkZWZpbmUgX0RQTExfQiAoZGV2X3ByaXYtPmluZm8uZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NjAxOCkKPiAtI2RlZmluZSBfQ0hWX0RQTExfQyAoZGV2X3ByaXYt PmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjAzMCkKPiArI2RlZmluZSBfRFBMTF9BIF9S RUcoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjAxNCkKPiArI2RlZmlu ZSBfRFBMTF9CIF9SRUcoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjAx OCkKPiArI2RlZmluZSBfQ0hWX0RQTExfQyBfUkVHKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1p b19vZmZzZXQgKyAweDYwMzApCj4gICNkZWZpbmUgRFBMTChwaXBlKSBfUElQRTMoKHBpcGUpLCBf RFBMTF9BLCBfRFBMTF9CLCBfQ0hWX0RQTExfQykKPiAgCj4gLSNkZWZpbmUgVkdBMAkweDYwMDAK PiAtI2RlZmluZSBWR0ExCTB4NjAwNAo+IC0jZGVmaW5lIFZHQV9QRAkweDYwMTAKPiArI2RlZmlu ZSBWR0EwCV9SRUcoMHg2MDAwKQo+ICsjZGVmaW5lIFZHQTEJX1JFRygweDYwMDQpCj4gKyNkZWZp bmUgVkdBX1BECV9SRUcoMHg2MDEwKQo+ICAjZGVmaW5lICAgVkdBMF9QRF9QMl9ESVZfNAkoMSA8 PCA3KQo+ICAjZGVmaW5lICAgVkdBMF9QRF9QMV9ESVZfMgkoMSA8PCA1KQo+ICAjZGVmaW5lICAg VkdBMF9QRF9QMV9TSElGVAkwCj4gQEAgLTIyMTEsOSArMjIyMiw5IEBAIGVudW0gc2tsX2Rpc3Bf cG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgRFBMTF9GUEEwMV9QMV9QT1NUX0RJVl9NQVNLX0k4 MzAJMHgwMDFmMDAwMAo+ICAKPiAgLyogQWRkaXRpb25hbCBDSFYgcGxsL3BoeSByZWdpc3RlcnMg Ki8KPiAtI2RlZmluZSBEUElPX1BIWV9TVEFUVVMJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjI0 MCkKPiArI2RlZmluZSBEUElPX1BIWV9TVEFUVVMJCQlfUkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAw eDYyNDApCj4gICNkZWZpbmUgICBEUExMX1BPUlREX1JFQURZX01BU0sJCSgweGYpCj4gLSNkZWZp bmUgRElTUExBWV9QSFlfQ09OVFJPTCAoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjAxMDApCj4gKyNk ZWZpbmUgRElTUExBWV9QSFlfQ09OVFJPTCBfUkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYwMTAw KQo+ICAjZGVmaW5lICAgUEhZX0NIX1BPV0VSX0RPV05fT1ZSRF9FTihwaHksIGNoKQkoMSA8PCAo MioocGh5KSsoY2gpKzI3KSkKPiAgI2RlZmluZSAgIFBIWV9MRE9fREVMQVlfME5TCQkJMHgwCj4g ICNkZWZpbmUgICBQSFlfTERPX0RFTEFZXzIwME5TCQkJMHgxCj4gQEAgLTIyMjQsNyArMjIzNSw3 IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgUEhZX0NIX0RFRVBf UFNSCQkJMHg3Cj4gICNkZWZpbmUgICBQSFlfQ0hfUE9XRVJfTU9ERShtb2RlLCBwaHksIGNoKQko KG1vZGUpIDw8ICg2KihwaHkpKzMqKGNoKSsyKSkKPiAgI2RlZmluZSAgIFBIWV9DT01fTEFORV9S RVNFVF9ERUFTU0VSVChwaHkpCSgxIDw8IChwaHkpKQo+IC0jZGVmaW5lIERJU1BMQVlfUEhZX1NU QVRVUyAoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjAxMDQpCj4gKyNkZWZpbmUgRElTUExBWV9QSFlf U1RBVFVTIF9SRUcoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjAxMDQpCj4gICNkZWZpbmUgICBQSFlf UE9XRVJHT09EKHBoeSkJKCgocGh5KSA9PSBEUElPX1BIWTApID8gKDE8PDMxKSA6ICgxPDwzMCkp Cj4gICNkZWZpbmUgICBQSFlfU1RBVFVTX0NNTl9MRE8ocGh5LCBjaCkgICAgICAgICAgICAgICAg ICAgKDEgPDwgKDYtKDYqKHBoeSkrMyooY2gpKSkpCj4gICNkZWZpbmUgICBQSFlfU1RBVFVTX1NQ TElORV9MRE8ocGh5LCBjaCwgc3BsaW5lKSAgICAgICAgKDEgPDwgKDgtKDYqKHBoeSkrMyooY2gp KyhzcGxpbmUpKSkpCj4gQEAgLTIyNjcsOSArMjI3OCw5IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJf d2VsbHMgewo+ICAjZGVmaW5lICAgU0RWT19NVUxUSVBMSUVSX1NISUZUX0hJUkVTCQk0Cj4gICNk ZWZpbmUgICBTRFZPX01VTFRJUExJRVJfU0hJRlRfVkdBCQkwCj4gIAo+IC0jZGVmaW5lIF9EUExM X0FfTUQgKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYwMWMpCj4gLSNk ZWZpbmUgX0RQTExfQl9NRCAoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4 NjAyMCkKPiAtI2RlZmluZSBfQ0hWX0RQTExfQ19NRCAoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9t bWlvX29mZnNldCArIDB4NjAzYykKPiArI2RlZmluZSBfRFBMTF9BX01EIF9SRUcoZGV2X3ByaXYt PmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjAxYykKPiArI2RlZmluZSBfRFBMTF9CX01E IF9SRUcoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjAyMCkKPiArI2Rl ZmluZSBfQ0hWX0RQTExfQ19NRCBfUkVHKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZz ZXQgKyAweDYwM2MpCj4gICNkZWZpbmUgRFBMTF9NRChwaXBlKSBfUElQRTMoKHBpcGUpLCBfRFBM TF9BX01ELCBfRFBMTF9CX01ELCBfQ0hWX0RQTExfQ19NRCkKPiAgCj4gIC8qCj4gQEAgLTIzMDks MTIgKzIzMjAsMTIgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBE UExMX01EX1ZHQV9VRElfTVVMVElQTElFUl9NQVNLCTB4MDAwMDAwM2YKPiAgI2RlZmluZSAgIERQ TExfTURfVkdBX1VESV9NVUxUSVBMSUVSX1NISUZUCTAKPiAgCj4gLSNkZWZpbmUgX0ZQQTAJMHgw NjA0MAo+IC0jZGVmaW5lIF9GUEExCTB4MDYwNDQKPiAtI2RlZmluZSBfRlBCMAkweDA2MDQ4Cj4g LSNkZWZpbmUgX0ZQQjEJMHgwNjA0Ywo+IC0jZGVmaW5lIEZQMChwaXBlKSBfUElQRShwaXBlLCBf RlBBMCwgX0ZQQjApCj4gLSNkZWZpbmUgRlAxKHBpcGUpIF9QSVBFKHBpcGUsIF9GUEExLCBfRlBC MSkKPiArI2RlZmluZSBfRlBBMAkweDYwNDAKPiArI2RlZmluZSBfRlBBMQkweDYwNDQKPiArI2Rl ZmluZSBfRlBCMAkweDYwNDgKPiArI2RlZmluZSBfRlBCMQkweDYwNGMKPiArI2RlZmluZSBGUDAo cGlwZSkgX1JFR19QSVBFKHBpcGUsIF9GUEEwLCBfRlBCMCkKPiArI2RlZmluZSBGUDEocGlwZSkg X1JFR19QSVBFKHBpcGUsIF9GUEExLCBfRlBCMSkKPiAgI2RlZmluZSAgIEZQX05fRElWX01BU0sJ CTB4MDAzZjAwMDAKPiAgI2RlZmluZSAgIEZQX05fUElORVZJRVdfRElWX01BU0sJMHgwMGZmMDAw MAo+ICAjZGVmaW5lICAgRlBfTl9ESVZfU0hJRlQJCTE2Cj4gQEAgLTIzMjMsNyArMjMzNCw3IEBA IGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgRlBfTTJfRElWX01BU0sJ MHgwMDAwMDAzZgo+ICAjZGVmaW5lICAgRlBfTTJfUElORVZJRVdfRElWX01BU0sJMHgwMDAwMDBm Zgo+ICAjZGVmaW5lICAgRlBfTTJfRElWX1NISUZUCQkgMAo+IC0jZGVmaW5lIERQTExfVEVTVAkw eDYwNmMKPiArI2RlZmluZSBEUExMX1RFU1QJX1JFRygweDYwNmMpCj4gICNkZWZpbmUgICBEUExM Ql9URVNUX1NEVk9fRElWXzEJCSgwIDw8IDIyKQo+ICAjZGVmaW5lICAgRFBMTEJfVEVTVF9TRFZP X0RJVl8yCQkoMSA8PCAyMikKPiAgI2RlZmluZSAgIERQTExCX1RFU1RfU0RWT19ESVZfNAkJKDIg PDwgMjIpCj4gQEAgLTIzMzQsMTIgKzIzNDUsMTIgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxs cyB7Cj4gICNkZWZpbmUgICBEUExMQV9URVNUX05fQllQQVNTCQkoMSA8PCAzKQo+ICAjZGVmaW5l ICAgRFBMTEFfVEVTVF9NX0JZUEFTUwkJKDEgPDwgMikKPiAgI2RlZmluZSAgIERQTExBX0lOUFVU X0JVRkZFUl9FTkFCTEUJKDEgPDwgMCkKPiAtI2RlZmluZSBEX1NUQVRFCQkweDYxMDQKPiArI2Rl ZmluZSBEX1NUQVRFCQlfUkVHKDB4NjEwNCkKPiAgI2RlZmluZSAgRFNUQVRFX0dGWF9SRVNFVF9J ODMwCQkJKDE8PDYpCj4gICNkZWZpbmUgIERTVEFURV9QTExfRDNfT0ZGCQkJKDE8PDMpCj4gICNk ZWZpbmUgIERTVEFURV9HRlhfQ0xPQ0tfR0FUSU5HCQkoMTw8MSkKPiAgI2RlZmluZSAgRFNUQVRF X0RPVF9DTE9DS19HQVRJTkcJCSgxPDwwKQo+IC0jZGVmaW5lIERTUENMS19HQVRFX0QJKGRldl9w cml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYyMDApCj4gKyNkZWZpbmUgRFNQQ0xL X0dBVEVfRAlfUkVHKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYyMDAp Cj4gICMgZGVmaW5lIERQVU5JVF9CX0NMT0NLX0dBVEVfRElTQUJMRQkJKDEgPDwgMzApIC8qIDk2 NSAqLwo+ICAjIGRlZmluZSBWU1VOSVRfQ0xPQ0tfR0FURV9ESVNBQkxFCQkoMSA8PCAyOSkgLyog OTY1ICovCj4gICMgZGVmaW5lIFZSSFVOSVRfQ0xPQ0tfR0FURV9ESVNBQkxFCQkoMSA8PCAyOCkg LyogOTY1ICovCj4gQEAgLTIzNzgsNyArMjM4OSw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2Vs bHMgewo+ICAjIGRlZmluZSBaVlVOSVRfQ0xPQ0tfR0FURV9ESVNBQkxFCQkoMSA8PCAwKSAvKiA4 MzAgKi8KPiAgIyBkZWZpbmUgT1ZMVU5JVF9DTE9DS19HQVRFX0RJU0FCTEUJCSgxIDw8IDApIC8q IDg0NSw4NjUgKi8KPiAgCj4gLSNkZWZpbmUgUkVOQ0xLX0dBVEVfRDEJCTB4NjIwNAo+ICsjZGVm aW5lIFJFTkNMS19HQVRFX0QxCQlfUkVHKDB4NjIwNCkKPiAgIyBkZWZpbmUgQkxJVFRFUl9DTE9D S19HQVRFX0RJU0FCTEUJCSgxIDw8IDEzKSAvKiA5NDVHTSBvbmx5ICovCj4gICMgZGVmaW5lIE1Q RUdfQ0xPQ0tfR0FURV9ESVNBQkxFCQkoMSA8PCAxMikgLyogOTQ1R00gb25seSAqLwo+ICAjIGRl ZmluZSBQQ19GRV9DTE9DS19HQVRFX0RJU0FCTEUJCSgxIDw8IDExKQo+IEBAIC0yNDQyLDM1ICsy NDUzLDM1IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjIGRlZmluZSBJOTY1X0ZU X0NMT0NLX0dBVEVfRElTQUJMRQkJKDEgPDwgMSkKPiAgIyBkZWZpbmUgSTk2NV9ETV9DTE9DS19H QVRFX0RJU0FCTEUJCSgxIDw8IDApCj4gIAo+IC0jZGVmaW5lIFJFTkNMS19HQVRFX0QyCQkweDYy MDgKPiArI2RlZmluZSBSRU5DTEtfR0FURV9EMgkJX1JFRygweDYyMDgpCj4gICNkZWZpbmUgVkZf VU5JVF9DTE9DS19HQVRFX0RJU0FCTEUJCSgxIDw8IDkpCj4gICNkZWZpbmUgR1NfVU5JVF9DTE9D S19HQVRFX0RJU0FCTEUJCSgxIDw8IDcpCj4gICNkZWZpbmUgQ0xfVU5JVF9DTE9DS19HQVRFX0RJ U0FCTEUJCSgxIDw8IDYpCj4gIAo+IC0jZGVmaW5lIFZERUNDTEtfR0FURV9ECQkweDYyMEMJCS8q IGc0eCBvbmx5ICovCj4gKyNkZWZpbmUgVkRFQ0NMS19HQVRFX0QJCV9SRUcoMHg2MjBDKQkJLyog ZzR4IG9ubHkgKi8KPiAgI2RlZmluZSAgVkNQX1VOSVRfQ0xPQ0tfR0FURV9ESVNBQkxFCQkoMSA8 PCA0KQo+ICAKPiAtI2RlZmluZSBSQU1DTEtfR0FURV9ECQkweDYyMTAJCS8qIENSTCBvbmx5ICov Cj4gLSNkZWZpbmUgREVVQwkJCTB4NjIxNCAgICAgICAgICAvKiBDUkwgb25seSAqLwo+ICsjZGVm aW5lIFJBTUNMS19HQVRFX0QJCV9SRUcoMHg2MjEwKQkJLyogQ1JMIG9ubHkgKi8KPiArI2RlZmlu ZSBERVVDCQkJX1JFRygweDYyMTQpICAgICAgICAgIC8qIENSTCBvbmx5ICovCj4gIAo+IC0jZGVm aW5lIEZXX0JMQ19TRUxGX1ZMVgkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDY1MDApCj4gKyNkZWZp bmUgRldfQkxDX1NFTEZfVkxWCQlfUkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAweDY1MDApCj4gICNk ZWZpbmUgIEZXX0NTUFdSRFdORU4JCSgxPDwxNSkKPiAgCj4gLSNkZWZpbmUgTUlfQVJCX1ZMVgkJ KFZMVl9ESVNQTEFZX0JBU0UgKyAweDY1MDQpCj4gKyNkZWZpbmUgTUlfQVJCX1ZMVgkJX1JFRyhW TFZfRElTUExBWV9CQVNFICsgMHg2NTA0KQo+ICAKPiAtI2RlZmluZSBDWkNMS19DRENMS19GUkVR X1JBVElPCShWTFZfRElTUExBWV9CQVNFICsgMHg2NTA4KQo+ICsjZGVmaW5lIENaQ0xLX0NEQ0xL X0ZSRVFfUkFUSU8JX1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHg2NTA4KQo+ICAjZGVmaW5lICAg Q0RDTEtfRlJFUV9TSElGVAk0Cj4gICNkZWZpbmUgICBDRENMS19GUkVRX01BU0sJKDB4MWYgPDwg Q0RDTEtfRlJFUV9TSElGVCkKPiAgI2RlZmluZSAgIENaQ0xLX0ZSRVFfTUFTSwkweGYKPiAgCj4g LSNkZWZpbmUgR0NJX0NPTlRST0wJCShWTFZfRElTUExBWV9CQVNFICsgMHg2NTBDKQo+ICsjZGVm aW5lIEdDSV9DT05UUk9MCQlfUkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAweDY1MEMpCj4gICNkZWZp bmUgICBQRklfQ1JFRElUXzYzCQkoOSA8PCAyOCkJCS8qIGNodiBvbmx5ICovCj4gICNkZWZpbmUg ICBQRklfQ1JFRElUXzMxCQkoOCA8PCAyOCkJCS8qIGNodiBvbmx5ICovCj4gICNkZWZpbmUgICBQ RklfQ1JFRElUKHgpCQkoKCh4KSAtIDgpIDw8IDI4KQkvKiA4LTE1ICovCj4gICNkZWZpbmUgICBQ RklfQ1JFRElUX1JFU0VORAkoMSA8PCAyNykKPiAgI2RlZmluZSAgIFZHQV9GQVNUX01PREVfRElT QUJMRQkoMSA8PCAxNCkKPiAgCj4gLSNkZWZpbmUgR01CVVNGUkVRX1ZMVgkJKFZMVl9ESVNQTEFZ X0JBU0UgKyAweDY1MTApCj4gKyNkZWZpbmUgR01CVVNGUkVRX1ZMVgkJX1JFRyhWTFZfRElTUExB WV9CQVNFICsgMHg2NTEwKQo+ICAKPiAgLyoKPiAgICogUGFsZXR0ZSByZWdzCj4gQEAgLTI0Nzgs OCArMjQ4OSw4IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIFBBTEVU VEVfQV9PRkZTRVQgMHhhMDAwCj4gICNkZWZpbmUgUEFMRVRURV9CX09GRlNFVCAweGE4MDAKPiAg I2RlZmluZSBDSFZfUEFMRVRURV9DX09GRlNFVCAweGMwMDAKPiAtI2RlZmluZSBQQUxFVFRFKHBp cGUsIGkpIChkZXZfcHJpdi0+aW5mby5wYWxldHRlX29mZnNldHNbcGlwZV0gKyBcCj4gLQkJCSAg ZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIChpKSAqIDQpCj4gKyNkZWZpbmUg UEFMRVRURShwaXBlLCBpKSBfUkVHKGRldl9wcml2LT5pbmZvLnBhbGV0dGVfb2Zmc2V0c1twaXBl XSArCVwKPiArCQkJICAgICAgZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIChp KSAqIDQpCj4gIAo+ICAvKiBNQ0ggTU1JTyBzcGFjZSAqLwo+ICAKPiBAQCAtMjQ5OCwzMSArMjUw OSwzMSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBNQ0hCQVJfTUlS Uk9SX0JBU0VfU05CCTB4MTQwMDAwCj4gIAo+ICAvKiBNZW1vcnkgY29udHJvbGxlciBmcmVxdWVu Y3kgaW4gTUNIQkFSIGZvciBIYXN3ZWxsIChwb3NzaWJsZSBTTkIrKSAqLwo+IC0jZGVmaW5lIERD TEsgKE1DSEJBUl9NSVJST1JfQkFTRV9TTkIgKyAweDVlMDQpCj4gKyNkZWZpbmUgRENMSyBfUkVH KE1DSEJBUl9NSVJST1JfQkFTRV9TTkIgKyAweDVlMDQpCj4gIAo+ICAvKiA5MTUtOTQ1IGFuZCBH TTk2NSBNQ0ggcmVnaXN0ZXIgY29udHJvbGxpbmcgRFJBTSBjaGFubmVsIGFjY2VzcyAqLwo+IC0j ZGVmaW5lIERDQwkJCTB4MTAyMDAKPiArI2RlZmluZSBEQ0MJCQlfUkVHKE1DSEJBUl9NSVJST1Jf QkFTRSArIDB4MjAwKQo+ICAjZGVmaW5lIERDQ19BRERSRVNTSU5HX01PREVfU0lOR0xFX0NIQU5O RUwJCSgwIDw8IDApCj4gICNkZWZpbmUgRENDX0FERFJFU1NJTkdfTU9ERV9EVUFMX0NIQU5ORUxf QVNZTU1FVFJJQwkoMSA8PCAwKQo+ICAjZGVmaW5lIERDQ19BRERSRVNTSU5HX01PREVfRFVBTF9D SEFOTkVMX0lOVEVSTEVBVkVECSgyIDw8IDApCj4gICNkZWZpbmUgRENDX0FERFJFU1NJTkdfTU9E RV9NQVNLCQkJKDMgPDwgMCkKPiAgI2RlZmluZSBEQ0NfQ0hBTk5FTF9YT1JfRElTQUJMRQkJCQko MSA8PCAxMCkKPiAgI2RlZmluZSBEQ0NfQ0hBTk5FTF9YT1JfQklUXzE3CQkJCSgxIDw8IDkpCj4g LSNkZWZpbmUgRENDMgkJCTB4MTAyMDQKPiArI2RlZmluZSBEQ0MyCQkJX1JFRyhNQ0hCQVJfTUlS Uk9SX0JBU0UgKyAweDIwNCkKPiAgI2RlZmluZSBEQ0MyX01PRElGSUVEX0VOSEFOQ0VEX0RJU0FC TEUJCQkoMSA8PCAyMCkKPiAgCj4gIC8qIFBpbmV2aWV3IE1DSCByZWdpc3RlciBjb250YWlucyBE RFIzIHNldHRpbmcgKi8KPiAtI2RlZmluZSBDU0hSRERSM0NUTCAgICAgICAgICAgIDB4MTAxYTgK PiArI2RlZmluZSBDU0hSRERSM0NUTCAgICAgICAgICAgIF9SRUcoTUNIQkFSX01JUlJPUl9CQVNF ICsgMHgxYTgpCj4gICNkZWZpbmUgQ1NIUkREUjNDVExfRERSMyAgICAgICAoMSA8PCAyKQo+ICAK PiAgLyogOTY1IE1DSCByZWdpc3RlciBjb250cm9sbGluZyBEUkFNIGNoYW5uZWwgY29uZmlndXJh dGlvbiAqLwo+IC0jZGVmaW5lIEMwRFJCMwkJCTB4MTAyMDYKPiAtI2RlZmluZSBDMURSQjMJCQkw eDEwNjA2Cj4gKyNkZWZpbmUgQzBEUkIzCQkJX1JFRyhNQ0hCQVJfTUlSUk9SX0JBU0UgKyAweDIw NikKPiArI2RlZmluZSBDMURSQjMJCQlfUkVHKE1DSEJBUl9NSVJST1JfQkFTRSArIDB4NjA2KQo+ ICAKPiAgLyogc25iIE1DSCByZWdpc3RlcnMgZm9yIHJlYWRpbmcgdGhlIERSQU0gY2hhbm5lbCBj b25maWd1cmF0aW9uICovCj4gLSNkZWZpbmUgTUFEX0RJTU1fQzAJCQkoTUNIQkFSX01JUlJPUl9C QVNFX1NOQiArIDB4NTAwNCkKPiAtI2RlZmluZSBNQURfRElNTV9DMQkJCShNQ0hCQVJfTUlSUk9S X0JBU0VfU05CICsgMHg1MDA4KQo+IC0jZGVmaW5lIE1BRF9ESU1NX0MyCQkJKE1DSEJBUl9NSVJS T1JfQkFTRV9TTkIgKyAweDUwMEMpCj4gKyNkZWZpbmUgTUFEX0RJTU1fQzAJCQlfUkVHKE1DSEJB Ul9NSVJST1JfQkFTRV9TTkIgKyAweDUwMDQpCj4gKyNkZWZpbmUgTUFEX0RJTU1fQzEJCQlfUkVH KE1DSEJBUl9NSVJST1JfQkFTRV9TTkIgKyAweDUwMDgpCj4gKyNkZWZpbmUgTUFEX0RJTU1fQzIJ CQlfUkVHKE1DSEJBUl9NSVJST1JfQkFTRV9TTkIgKyAweDUwMEMpCj4gICNkZWZpbmUgICBNQURf RElNTV9FQ0NfTUFTSwkJKDB4MyA8PCAyNCkKPiAgI2RlZmluZSAgIE1BRF9ESU1NX0VDQ19PRkYJ CSgweDAgPDwgMjQpCj4gICNkZWZpbmUgICBNQURfRElNTV9FQ0NfSU9fT05fTE9HSUNfT0ZGCSgw eDEgPDwgMjQpCj4gQEAgLTI1NDIsMTQgKzI1NTMsMTQgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93 ZWxscyB7Cj4gICNkZWZpbmUgICBNQURfRElNTV9BX1NJWkVfTUFTSwkJKDB4ZmYgPDwgTUFEX0RJ TU1fQV9TSVpFX1NISUZUKQo+ICAKPiAgLyogc25iIE1DSCByZWdpc3RlcnMgZm9yIHByaW9yaXR5 IHR1bmluZyAqLwo+IC0jZGVmaW5lIE1DSF9TU0tQRAkJCShNQ0hCQVJfTUlSUk9SX0JBU0VfU05C ICsgMHg1ZDEwKQo+ICsjZGVmaW5lIE1DSF9TU0tQRAkJCV9SRUcoTUNIQkFSX01JUlJPUl9CQVNF X1NOQiArIDB4NWQxMCkKPiAgI2RlZmluZSAgIE1DSF9TU0tQRF9XTTBfTUFTSwkJMHgzZgo+ICAj ZGVmaW5lICAgTUNIX1NTS1BEX1dNMF9WQUwJCTB4Ywo+ICAKPiAtI2RlZmluZSBNQ0hfU0VDUF9O UkdfU1RUUwkJKE1DSEJBUl9NSVJST1JfQkFTRV9TTkIgKyAweDU5MmMpCj4gKyNkZWZpbmUgTUNI X1NFQ1BfTlJHX1NUVFMJCV9SRUcoTUNIQkFSX01JUlJPUl9CQVNFX1NOQiArIDB4NTkyYykKPiAg Cj4gIC8qIENsb2NraW5nIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgKi8KPiAtI2RlZmluZSBDTEtD RkcJCQkweDEwYzAwCj4gKyNkZWZpbmUgQ0xLQ0ZHCQkJX1JFRyhNQ0hCQVJfTUlSUk9SX0JBU0Ug KyAweGMwMCkKPiAgI2RlZmluZSBDTEtDRkdfRlNCXzQwMAkJCQkJKDUgPDwgMCkJLyogaHJhd2Ns ayAxMDAgKi8KPiAgI2RlZmluZSBDTEtDRkdfRlNCXzUzMwkJCQkJKDEgPDwgMCkJLyogaHJhd2Ns ayAxMzMgKi8KPiAgI2RlZmluZSBDTEtDRkdfRlNCXzY2NwkJCQkJKDMgPDwgMCkJLyogaHJhd2Ns ayAxNjYgKi8KPiBAQCAtMjU2NSwyNiArMjU3NiwyNiBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dl bGxzIHsKPiAgI2RlZmluZSBDTEtDRkdfTUVNXzgwMAkJCQkJKDMgPDwgNCkKPiAgI2RlZmluZSBD TEtDRkdfTUVNX01BU0sJCQkJCSg3IDw8IDQpCj4gIAo+IC0jZGVmaW5lIEhQTExWQ08gICAgICAg ICAgICAgICAgIChNQ0hCQVJfTUlSUk9SX0JBU0UgKyAweGMzOCkKPiAtI2RlZmluZSBIUExMVkNP X01PQklMRSAgICAgICAgICAoTUNIQkFSX01JUlJPUl9CQVNFICsgMHhjMGYpCj4gKyNkZWZpbmUg SFBMTFZDTyAgICAgICAgICAgICAgICAgX1JFRyhNQ0hCQVJfTUlSUk9SX0JBU0UgKyAweGMzOCkK PiArI2RlZmluZSBIUExMVkNPX01PQklMRSAgICAgICAgICBfUkVHKE1DSEJBUl9NSVJST1JfQkFT RSArIDB4YzBmKQo+ICAKPiAtI2RlZmluZSBUU0MxCQkJMHgxMTAwMQo+ICsjZGVmaW5lIFRTQzEJ CQlfUkVHKDB4MTEwMDEpCj4gICNkZWZpbmUgICBUU0UJCQkoMTw8MCkKPiAtI2RlZmluZSBUUjEJ CQkweDExMDA2Cj4gLSNkZWZpbmUgVFNGUwkJCTB4MTEwMjAKPiArI2RlZmluZSBUUjEJCQlfUkVH KDB4MTEwMDYpCj4gKyNkZWZpbmUgVFNGUwkJCV9SRUcoMHgxMTAyMCkKPiAgI2RlZmluZSAgIFRT RlNfU0xPUEVfTUFTSwkweDAwMDBmZjAwCj4gICNkZWZpbmUgICBUU0ZTX1NMT1BFX1NISUZUCTgK PiAgI2RlZmluZSAgIFRTRlNfSU5UUl9NQVNLCTB4MDAwMDAwZmYKPiAgCj4gLSNkZWZpbmUgQ1JT VEFORFZJRAkJMHgxMTEwMAo+IC0jZGVmaW5lIFBYVkZSRVEoaSkJCSgweDExMTEwICsgKGkpICog NCkgLyogUFswLTE1XVZJREZSRVEgKDB4MTExNGMpIChJcm9ubGFrZSkgKi8KPiArI2RlZmluZSBD UlNUQU5EVklECQlfUkVHKDB4MTExMDApCj4gKyNkZWZpbmUgUFhWRlJFUShmc3RhcnQpCQlfUkVH KDB4MTExMTAgKyAoZnN0YXJ0KSAqIDQpICAvKiBQWzAtMTVdVklERlJFUSAoMHgxMTE0YykgKEly b25sYWtlKSAqLwo+ICAjZGVmaW5lICAgUFhWRlJFUV9QWF9NQVNLCTB4N2YwMDAwMDAKPiAgI2Rl ZmluZSAgIFBYVkZSRVFfUFhfU0hJRlQJMjQKPiAtI2RlZmluZSBWSURGUkVRX0JBU0UJCTB4MTEx MTAKPiAtI2RlZmluZSBWSURGUkVRMQkJMHgxMTExMCAvKiBWSURGUkVRMS00ICgweDExMTFjKSAo Q2FudGlnYSkgKi8KPiAtI2RlZmluZSBWSURGUkVRMgkJMHgxMTExNAo+IC0jZGVmaW5lIFZJREZS RVEzCQkweDExMTE4Cj4gLSNkZWZpbmUgVklERlJFUTQJCTB4MTExMWMKPiArI2RlZmluZSBWSURG UkVRX0JBU0UJCV9SRUcoMHgxMTExMCkKPiArI2RlZmluZSBWSURGUkVRMQkJX1JFRygweDExMTEw KSAvKiBWSURGUkVRMS00ICgweDExMTFjKSAoQ2FudGlnYSkgKi8KPiArI2RlZmluZSBWSURGUkVR MgkJX1JFRygweDExMTE0KQo+ICsjZGVmaW5lIFZJREZSRVEzCQlfUkVHKDB4MTExMTgpCj4gKyNk ZWZpbmUgVklERlJFUTQJCV9SRUcoMHgxMTExYykKPiAgI2RlZmluZSAgIFZJREZSRVFfUDBfTUFT SwkweDFmMDAwMDAwCj4gICNkZWZpbmUgICBWSURGUkVRX1AwX1NISUZUCTI0Cj4gICNkZWZpbmUg ICBWSURGUkVRX1AwX0NTQ0xLX01BU0sJMHgwMGYwMDAwMAo+IEBAIC0yNTk2LDggKzI2MDcsOCBA QCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIFZJREZSRVFfUDFfQ1ND TEtfTUFTSwkweDAwMDAwMGYwCj4gICNkZWZpbmUgICBWSURGUkVRX1AxX0NTQ0xLX1NISUZUIDQK PiAgI2RlZmluZSAgIFZJREZSRVFfUDFfQ1JDTEtfTUFTSwkweDAwMDAwMDBmCj4gLSNkZWZpbmUg SU5UVE9FWFRfQkFTRV9JTEsJMHgxMTMwMAo+IC0jZGVmaW5lIElOVFRPRVhUX0JBU0UJCTB4MTEx MjAgLyogSU5UVE9FWFQxLTggKDB4MTExM2MpICovCj4gKyNkZWZpbmUgSU5UVE9FWFRfQkFTRV9J TEsJX1JFRygweDExMzAwKQo+ICsjZGVmaW5lIElOVFRPRVhUX0JBU0UJCV9SRUcoMHgxMTEyMCkg LyogSU5UVE9FWFQxLTggKDB4MTExM2MpICovCj4gICNkZWZpbmUgICBJTlRUT0VYVF9NQVAzX1NI SUZUCTI0Cj4gICNkZWZpbmUgICBJTlRUT0VYVF9NQVAzX01BU0sJKDB4MWYgPDwgSU5UVE9FWFRf TUFQM19TSElGVCkKPiAgI2RlZmluZSAgIElOVFRPRVhUX01BUDJfU0hJRlQJMTYKPiBAQCAtMjYw Niw3ICsyNjE3LDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBJ TlRUT0VYVF9NQVAxX01BU0sJKDB4MWYgPDwgSU5UVE9FWFRfTUFQMV9TSElGVCkKPiAgI2RlZmlu ZSAgIElOVFRPRVhUX01BUDBfU0hJRlQJMAo+ICAjZGVmaW5lICAgSU5UVE9FWFRfTUFQMF9NQVNL CSgweDFmIDw8IElOVFRPRVhUX01BUDBfU0hJRlQpCj4gLSNkZWZpbmUgTUVNU1dDVEwJCTB4MTEx NzAgLyogSXJvbmxha2Ugb25seSAqLwo+ICsjZGVmaW5lIE1FTVNXQ1RMCQlfUkVHKDB4MTExNzAp IC8qIElyb25sYWtlIG9ubHkgKi8KPiAgI2RlZmluZSAgIE1FTUNUTF9DTURfTUFTSwkweGUwMDAK PiAgI2RlZmluZSAgIE1FTUNUTF9DTURfU0hJRlQJMTMKPiAgI2RlZmluZSAgIE1FTUNUTF9DTURf UkNMS19PRkYJMAo+IEBAIC0yNjIxLDggKzI2MzIsOCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dl bGxzIHsKPiAgI2RlZmluZSAgIE1FTUNUTF9GUkVRX1NISUZUCTgKPiAgI2RlZmluZSAgIE1FTUNU TF9TRkNBVk0JCSgxPDw3KQo+ICAjZGVmaW5lICAgTUVNQ1RMX1RHVF9WSURfTUFTSwkweDAwN2YK PiAtI2RlZmluZSBNRU1JSFlTVAkJMHgxMTE3Ywo+IC0jZGVmaW5lIE1FTUlOVFJFTgkJMHgxMTE4 MCAvKiAxNiBiaXRzICovCj4gKyNkZWZpbmUgTUVNSUhZU1QJCV9SRUcoMHgxMTE3YykKPiArI2Rl ZmluZSBNRU1JTlRSRU4JCV9SRUcoMHgxMTE4MCkgLyogMTYgYml0cyAqLwo+ICAjZGVmaW5lICAg TUVNSU5UX1JTRVhJVF9FTgkoMTw8OCkKPiAgI2RlZmluZSAgIE1FTUlOVF9DWF9TVVBSX0VOCSgx PDw3KQo+ICAjZGVmaW5lICAgTUVNSU5UX0NPTlRfQlVTWV9FTgkoMTw8NikKPiBAQCAtMjYzMiw3 ICsyNjQzLDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBNRU1J TlRfVVBfRVZBTF9FTgkoMTw8MikKPiAgI2RlZmluZSAgIE1FTUlOVF9ET1dOX0VWQUxfRU4JKDE8 PDEpCj4gICNkZWZpbmUgICBNRU1JTlRfU1dfQ01EX0VOCSgxPDwwKQo+IC0jZGVmaW5lIE1FTUlO VFJTVFIJCTB4MTExODIgLyogMTYgYml0cyAqLwo+ICsjZGVmaW5lIE1FTUlOVFJTVFIJCV9SRUco MHgxMTE4MikgLyogMTYgYml0cyAqLwo+ICAjZGVmaW5lICAgTUVNX1JTRVhJVF9NQVNLCTB4YzAw MAo+ICAjZGVmaW5lICAgTUVNX1JTRVhJVF9TSElGVAkxNAo+ICAjZGVmaW5lICAgTUVNX0NPTlRf QlVTWV9NQVNLCTB4MzAwMAo+IEBAIC0yNjUyLDcgKzI2NjMsNyBAQCBlbnVtIHNrbF9kaXNwX3Bv d2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIE1FTV9JTlRfU1RFRVJfQ01SCTEKPiAgI2RlZmluZSAg IE1FTV9JTlRfU1RFRVJfU01JCTIKPiAgI2RlZmluZSAgIE1FTV9JTlRfU1RFRVJfU0NJCTMKPiAt I2RlZmluZSBNRU1JTlRSU1RTCQkweDExMTg0Cj4gKyNkZWZpbmUgTUVNSU5UUlNUUwkJX1JFRygw eDExMTg0KQo+ICAjZGVmaW5lICAgTUVNSU5UX1JTRVhJVAkJKDE8PDcpCj4gICNkZWZpbmUgICBN RU1JTlRfQ09OVF9CVVNZCSgxPDw2KQo+ICAjZGVmaW5lICAgTUVNSU5UX0FWR19CVVNZCSgxPDw1 KQo+IEBAIC0yNjYxLDcgKzI2NzIsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAg I2RlZmluZSAgIE1FTUlOVF9VUF9FVkFMCSgxPDwyKQo+ICAjZGVmaW5lICAgTUVNSU5UX0RPV05f RVZBTAkoMTw8MSkKPiAgI2RlZmluZSAgIE1FTUlOVF9TV19DTUQJCSgxPDwwKQo+IC0jZGVmaW5l IE1FTU1PREVDVEwJCTB4MTExOTAKPiArI2RlZmluZSBNRU1NT0RFQ1RMCQlfUkVHKDB4MTExOTAp Cj4gICNkZWZpbmUgICBNRU1NT0RFX0JPT1NUX0VOCSgxPDwzMSkKPiAgI2RlZmluZSAgIE1FTU1P REVfQk9PU1RfRlJFUV9NQVNLIDB4MGYwMDAwMDAgLyogaml0dGVyIGZvciBib29zdCwgMC0xNSAq Lwo+ICAjZGVmaW5lICAgTUVNTU9ERV9CT09TVF9GUkVRX1NISUZUIDI0Cj4gQEAgLTI2NzgsOCAr MjY4OSw4IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgTUVNTU9E RV9GTUFYX01BU0sJMHgwMDAwMDBmMCAvKiBtYXggaml0dGVyLCAwLTE1ICovCj4gICNkZWZpbmUg ICBNRU1NT0RFX0ZNQVhfU0hJRlQJNAo+ICAjZGVmaW5lICAgTUVNTU9ERV9GTUlOX01BU0sJMHgw MDAwMDAwZiAvKiBtaW4gaml0dGVyLCAwLTE1ICovCj4gLSNkZWZpbmUgUkNCTUFYQVZHCQkweDEx MTljCj4gLSNkZWZpbmUgTUVNU1dDVEwyCQkweDExMTllIC8qIENhbnRpZ2Egb25seSAqLwo+ICsj ZGVmaW5lIFJDQk1BWEFWRwkJX1JFRygweDExMTljKQo+ICsjZGVmaW5lIE1FTVNXQ1RMMgkJX1JF RygweDExMTllKSAvKiBDYW50aWdhIG9ubHkgKi8KPiAgI2RlZmluZSAgIFNXTUVNQ01EX1JFTkRF Ul9PRkYJKDAgPDwgMTMpCj4gICNkZWZpbmUgICBTV01FTUNNRF9SRU5ERVJfT04JKDEgPDwgMTMp Cj4gICNkZWZpbmUgICBTV01FTUNNRF9TV0ZSRVEJKDIgPDwgMTMpCj4gQEAgLTI2OTEsMTEgKzI3 MDIsMTEgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBTV0ZSRVFf TUFTSwkJMHgwMzgwIC8qIFAwLTcgKi8KPiAgI2RlZmluZSAgIFNXRlJFUV9TSElGVAkJNwo+ICAj ZGVmaW5lICAgVEFSVklEX01BU0sJCTB4MDAxZgo+IC0jZGVmaW5lIE1FTVNUQVRfQ1RHCQkweDEx MWEwCj4gLSNkZWZpbmUgUkNCTUlOQVZHCQkweDExMWEwCj4gLSNkZWZpbmUgUkNVUEVJCQkJMHgx MTFiMAo+IC0jZGVmaW5lIFJDRE5FSQkJCTB4MTExYjQKPiAtI2RlZmluZSBSU1REQllDVEwJCTB4 MTExYjgKPiArI2RlZmluZSBNRU1TVEFUX0NURwkJX1JFRygweDExMWEwKQo+ICsjZGVmaW5lIFJD Qk1JTkFWRwkJX1JFRygweDExMWEwKQo+ICsjZGVmaW5lIFJDVVBFSQkJCV9SRUcoMHgxMTFiMCkK PiArI2RlZmluZSBSQ0RORUkJCQlfUkVHKDB4MTExYjQpCj4gKyNkZWZpbmUgUlNUREJZQ1RMCQlf UkVHKDB4MTExYjgpCj4gICNkZWZpbmUgICBSUzFFTgkJCSgxPDwzMSkKPiAgI2RlZmluZSAgIFJT MkVOCQkJKDE8PDMwKQo+ICAjZGVmaW5lICAgUlMzRU4JCQkoMTw8MjkpCj4gQEAgLTI3MzksMTAg KzI3NTAsMTAgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBSU19D U1RBVEVfQzM2N19SUzIJKDM8PDQpCj4gICNkZWZpbmUgICBSRURTQVZFUwkJKDE8PDMpIC8qIG5v IGNvbnRleHQgc2F2ZSBpZiB3YXMgaWRsZSBkdXJpbmcgcnMwICovCj4gICNkZWZpbmUgICBSRURS RVNUT1JFUwkJKDE8PDIpIC8qIG5vIHJlc3RvcmUgaWYgd2FzIGlkbGUgZHVyaW5nIHJzMCAqLwo+ IC0jZGVmaW5lIFZJRENUTAkJCTB4MTExYzAKPiAtI2RlZmluZSBWSURTVFMJCQkweDExMWM4Cj4g LSNkZWZpbmUgVklEU1RBUlQJCTB4MTExY2MgLyogOCBiaXRzICovCj4gLSNkZWZpbmUgTUVNU1RB VF9JTEsJCQkweDExMWY4Cj4gKyNkZWZpbmUgVklEQ1RMCQkJX1JFRygweDExMWMwKQo+ICsjZGVm aW5lIFZJRFNUUwkJCV9SRUcoMHgxMTFjOCkKPiArI2RlZmluZSBWSURTVEFSVAkJX1JFRygweDEx MWNjKSAvKiA4IGJpdHMgKi8KPiArI2RlZmluZSBNRU1TVEFUX0lMSwkJX1JFRygweDExMWY4KQo+ ICAjZGVmaW5lICAgTUVNU1RBVF9WSURfTUFTSwkweDdmMDAKPiAgI2RlZmluZSAgIE1FTVNUQVRf VklEX1NISUZUCTgKPiAgI2RlZmluZSAgIE1FTVNUQVRfUFNUQVRFX01BU0sJMHgwMGY4Cj4gQEAg LTI3NTMsNTUgKzI3NjQsNTUgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZp bmUgICBNRU1TVEFUX1NSQ19DVExfVFJCCTEKPiAgI2RlZmluZSAgIE1FTVNUQVRfU1JDX0NUTF9U SE0JMgo+ICAjZGVmaW5lICAgTUVNU1RBVF9TUkNfQ1RMX1NUREJZIDMKPiAtI2RlZmluZSBSQ1BS RVZCU1lUVVBBVkcJCTB4MTEzYjgKPiAtI2RlZmluZSBSQ1BSRVZCU1lURE5BVkcJCTB4MTEzYmMK PiAtI2RlZmluZSBQTU1JU0MJCQkweDExMjE0Cj4gKyNkZWZpbmUgUkNQUkVWQlNZVFVQQVZHCQlf UkVHKDB4MTEzYjgpCj4gKyNkZWZpbmUgUkNQUkVWQlNZVEROQVZHCQlfUkVHKDB4MTEzYmMpCj4g KyNkZWZpbmUgUE1NSVNDCQkJX1JFRygweDExMjE0KQo+ICAjZGVmaW5lICAgTUNQUENFX0VOCQko MTw8MCkgLyogZW5hYmxlIFBNX01TRyBmcm9tIFBDSC0+TVBDICovCj4gLSNkZWZpbmUgU0RFVwkJ CTB4MTEyNGMKPiAtI2RlZmluZSBDU0lFVzAJCQkweDExMjUwCj4gLSNkZWZpbmUgQ1NJRVcxCQkJ MHgxMTI1NAo+IC0jZGVmaW5lIENTSUVXMgkJCTB4MTEyNTgKPiAtI2RlZmluZSBQRVcoaSkJCQko MHgxMTI1YyArIChpKSAqIDQpIC8qIDUgcmVnaXN0ZXJzICovCj4gLSNkZWZpbmUgREVXKGkpCQkJ KDB4MTEyNzAgKyAoaSkgKiA0KSAvKiAzIHJlZ2lzdGVycyAqLwo+IC0jZGVmaW5lIE1DSEFGRQkJ CTB4MTEyYzAKPiAtI2RlZmluZSBDU0lFQwkJCTB4MTEyZTAKPiAtI2RlZmluZSBETUlFQwkJCTB4 MTEyZTQKPiAtI2RlZmluZSBERFJFQwkJCTB4MTEyZTgKPiAtI2RlZmluZSBQRUcwRUMJCQkweDEx MmVjCj4gLSNkZWZpbmUgUEVHMUVDCQkJMHgxMTJmMAo+IC0jZGVmaW5lIEdGWEVDCQkJMHgxMTJm NAo+IC0jZGVmaW5lIFJQUFJFVkJTWVRVUEFWRwkJMHgxMTNiOAo+IC0jZGVmaW5lIFJQUFJFVkJT WVRETkFWRwkJMHgxMTNiYwo+IC0jZGVmaW5lIEVDUgkJCTB4MTE2MDAKPiArI2RlZmluZSBTREVX CQkJX1JFRygweDExMjRjKQo+ICsjZGVmaW5lIENTSUVXMAkJCV9SRUcoMHgxMTI1MCkKPiArI2Rl ZmluZSBDU0lFVzEJCQlfUkVHKDB4MTEyNTQpCj4gKyNkZWZpbmUgQ1NJRVcyCQkJX1JFRygweDEx MjU4KQo+ICsjZGVmaW5lIFBFVyhpKQkJCV9SRUcoMHgxMTI1YyArIChpKSAqIDQpIC8qIDUgcmVn aXN0ZXJzICovCj4gKyNkZWZpbmUgREVXKGkpCQkJX1JFRygweDExMjcwICsgKGkpICogNCkgLyog MyByZWdpc3RlcnMgKi8KPiArI2RlZmluZSBNQ0hBRkUJCQlfUkVHKDB4MTEyYzApCj4gKyNkZWZp bmUgQ1NJRUMJCQlfUkVHKDB4MTEyZTApCj4gKyNkZWZpbmUgRE1JRUMJCQlfUkVHKDB4MTEyZTQp Cj4gKyNkZWZpbmUgRERSRUMJCQlfUkVHKDB4MTEyZTgpCj4gKyNkZWZpbmUgUEVHMEVDCQkJX1JF RygweDExMmVjKQo+ICsjZGVmaW5lIFBFRzFFQwkJCV9SRUcoMHgxMTJmMCkKPiArI2RlZmluZSBH RlhFQwkJCV9SRUcoMHgxMTJmNCkKPiArI2RlZmluZSBSUFBSRVZCU1lUVVBBVkcJCV9SRUcoMHgx MTNiOCkKPiArI2RlZmluZSBSUFBSRVZCU1lURE5BVkcJCV9SRUcoMHgxMTNiYykKPiArI2RlZmlu ZSBFQ1IJCQlfUkVHKDB4MTE2MDApCj4gICNkZWZpbmUgICBFQ1JfR1BGRQkJKDE8PDMxKQo+ICAj ZGVmaW5lICAgRUNSX0lNT05FCQkoMTw8MzApCj4gICNkZWZpbmUgICBFQ1JfQ0FQX01BU0sJCTB4 MDAwMDAwMWYgLyogRXZlbnQgcmFuZ2UsIDAtMzEgKi8KPiAtI2RlZmluZSBPR1cwCQkJMHgxMTYw OAo+IC0jZGVmaW5lIE9HVzEJCQkweDExNjBjCj4gLSNkZWZpbmUgRUcwCQkJMHgxMTYxMAo+IC0j ZGVmaW5lIEVHMQkJCTB4MTE2MTQKPiAtI2RlZmluZSBFRzIJCQkweDExNjE4Cj4gLSNkZWZpbmUg RUczCQkJMHgxMTYxYwo+IC0jZGVmaW5lIEVHNAkJCTB4MTE2MjAKPiAtI2RlZmluZSBFRzUJCQkw eDExNjI0Cj4gLSNkZWZpbmUgRUc2CQkJMHgxMTYyOAo+IC0jZGVmaW5lIEVHNwkJCTB4MTE2MmMK PiAtI2RlZmluZSBQWFcoaSkJCQkoMHgxMTY2NCArIChpKSAqIDQpIC8qIDQgcmVnaXN0ZXJzICov Cj4gLSNkZWZpbmUgUFhXTChpKQkJCSgweDExNjgwICsgKGkpICogNCkgLyogOCByZWdpc3RlcnMg Ki8KPiAtI2RlZmluZSBMQ0ZVU0UwMgkJMHgxMTZjMAo+ICsjZGVmaW5lIE9HVzAJCQlfUkVHKDB4 MTE2MDgpCj4gKyNkZWZpbmUgT0dXMQkJCV9SRUcoMHgxMTYwYykKPiArI2RlZmluZSBFRzAJCQlf UkVHKDB4MTE2MTApCj4gKyNkZWZpbmUgRUcxCQkJX1JFRygweDExNjE0KQo+ICsjZGVmaW5lIEVH MgkJCV9SRUcoMHgxMTYxOCkKPiArI2RlZmluZSBFRzMJCQlfUkVHKDB4MTE2MWMpCj4gKyNkZWZp bmUgRUc0CQkJX1JFRygweDExNjIwKQo+ICsjZGVmaW5lIEVHNQkJCV9SRUcoMHgxMTYyNCkKPiAr I2RlZmluZSBFRzYJCQlfUkVHKDB4MTE2MjgpCj4gKyNkZWZpbmUgRUc3CQkJX1JFRygweDExNjJj KQo+ICsjZGVmaW5lIFBYVyhpKQkJCV9SRUcoMHgxMTY2NCArIChpKSAqIDQpIC8qIDQgcmVnaXN0 ZXJzICovCj4gKyNkZWZpbmUgUFhXTChpKQkJCV9SRUcoMHgxMTY4MCArIChpKSAqIDgpIC8qIDgg cmVnaXN0ZXJzICovCj4gKyNkZWZpbmUgTENGVVNFMDIJCV9SRUcoMHgxMTZjMCkKPiAgI2RlZmlu ZSAgIExDRlVTRV9ISVZfTUFTSwkweDAwMDAwMGZmCj4gLSNkZWZpbmUgQ1NJUExMMAkJCTB4MTJj MTAKPiAtI2RlZmluZSBERFJNUExMMQkJMFgxMmMyMAo+IC0jZGVmaW5lIFBFR19CQU5EX0dBUF9E QVRBCTB4MTRkNjgKPiArI2RlZmluZSBDU0lQTEwwCQkJX1JFRygweDEyYzEwKQo+ICsjZGVmaW5l IEREUk1QTEwxCQlfUkVHKDBYMTJjMjApCj4gKyNkZWZpbmUgUEVHX0JBTkRfR0FQX0RBVEEJX1JF RygweDE0ZDY4KQo+ICAKPiAtI2RlZmluZSBHRU42X0dUX1RIUkVBRF9TVEFUVVNfUkVHIDB4MTM4 MDVjCj4gKyNkZWZpbmUgR0VONl9HVF9USFJFQURfU1RBVFVTX1JFRyBfUkVHKDB4MTM4MDVjKQo+ ICAjZGVmaW5lIEdFTjZfR1RfVEhSRUFEX1NUQVRVU19DT1JFX01BU0sgMHg3Cj4gIAo+IC0jZGVm aW5lIEdFTjZfR1RfUEVSRl9TVEFUVVMJKE1DSEJBUl9NSVJST1JfQkFTRV9TTkIgKyAweDU5NDgp Cj4gLSNkZWZpbmUgQlhUX0dUX1BFUkZfU1RBVFVTICAgICAgKE1DSEJBUl9NSVJST1JfQkFTRV9T TkIgKyAweDcwNzApCj4gLSNkZWZpbmUgR0VONl9SUF9TVEFURV9MSU1JVFMJKE1DSEJBUl9NSVJS T1JfQkFTRV9TTkIgKyAweDU5OTQpCj4gLSNkZWZpbmUgR0VONl9SUF9TVEFURV9DQVAJKE1DSEJB Ul9NSVJST1JfQkFTRV9TTkIgKyAweDU5OTgpCj4gLSNkZWZpbmUgQlhUX1JQX1NUQVRFX0NBUCAg ICAgICAgMHgxMzgxNzAKPiArI2RlZmluZSBHRU42X0dUX1BFUkZfU1RBVFVTCV9SRUcoTUNIQkFS X01JUlJPUl9CQVNFX1NOQiArIDB4NTk0OCkKPiArI2RlZmluZSBCWFRfR1RfUEVSRl9TVEFUVVMg ICAgICBfUkVHKE1DSEJBUl9NSVJST1JfQkFTRV9TTkIgKyAweDcwNzApCj4gKyNkZWZpbmUgR0VO Nl9SUF9TVEFURV9MSU1JVFMJX1JFRyhNQ0hCQVJfTUlSUk9SX0JBU0VfU05CICsgMHg1OTk0KQo+ ICsjZGVmaW5lIEdFTjZfUlBfU1RBVEVfQ0FQCV9SRUcoTUNIQkFSX01JUlJPUl9CQVNFX1NOQiAr IDB4NTk5OCkKPiArI2RlZmluZSBCWFRfUlBfU1RBVEVfQ0FQICAgICAgICBfUkVHKDB4MTM4MTcw KQo+ICAKPiAgI2RlZmluZSBJTlRFUlZBTF8xXzI4X1VTKHVzKQkoKCh1cykgKiAxMDApID4+IDcp Cj4gICNkZWZpbmUgSU5URVJWQUxfMV8zM19VUyh1cykJKCgodXMpICogMykgICA+PiAyKQo+IEBA IC0yODEyLDcgKzI4MjMsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgLyoKPiAg ICogTG9naWNhbCBDb250ZXh0IHJlZ3MKPiAgICovCj4gLSNkZWZpbmUgQ0NJRAkJCTB4MjE4MAo+ ICsjZGVmaW5lIENDSUQJCQlfUkVHKDB4MjE4MCkKPiAgI2RlZmluZSAgIENDSURfRU4JCSgxPDww KQo+ICAvKgo+ICAgKiBOb3RlcyBvbiBTTkIvSVZCL1ZMViBjb250ZXh0IHNpemU6Cj4gQEAgLTI4 MjcsNyArMjgzOCw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAgKiAtIEdUMSBz aXplIGp1c3QgaW5kaWNhdGVzIGhvdyBtdWNoIG9mIHJlbmRlciBjb250ZXh0Cj4gICAqICAgZG9l c24ndCBuZWVkIHNhdmluZyBvbiBHVDEKPiAgICovCj4gLSNkZWZpbmUgQ1hUX1NJWkUJCTB4MjFh MAo+ICsjZGVmaW5lIENYVF9TSVpFCQlfUkVHKDB4MjFhMCkKPiAgI2RlZmluZSBHRU42X0NYVF9Q T1dFUl9TSVpFKGN4dF9yZWcpCSgoKGN4dF9yZWcpID4+IDI0KSAmIDB4M2YpCj4gICNkZWZpbmUg R0VONl9DWFRfUklOR19TSVpFKGN4dF9yZWcpCSgoKGN4dF9yZWcpID4+IDE4KSAmIDB4M2YpCj4g ICNkZWZpbmUgR0VONl9DWFRfUkVOREVSX1NJWkUoY3h0X3JlZykJKCgoY3h0X3JlZykgPj4gMTIp ICYgMHgzZikKPiBAQCAtMjgzNiw3ICsyODQ3LDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxs cyB7Cj4gICNkZWZpbmUgR0VONl9DWFRfVE9UQUxfU0laRShjeHRfcmVnKQkoR0VONl9DWFRfUklO R19TSVpFKGN4dF9yZWcpICsgXAo+ICAJCQkJCUdFTjZfQ1hUX0VYVEVOREVEX1NJWkUoY3h0X3Jl ZykgKyBcCj4gIAkJCQkJR0VONl9DWFRfUElQRUxJTkVfU0laRShjeHRfcmVnKSkKPiAtI2RlZmlu ZSBHRU43X0NYVF9TSVpFCQkweDIxYTgKPiArI2RlZmluZSBHRU43X0NYVF9TSVpFCQlfUkVHKDB4 MjFhOCkKPiAgI2RlZmluZSBHRU43X0NYVF9QT1dFUl9TSVpFKGN0eF9yZWcpCSgoKGN0eF9yZWcp ID4+IDI1KSAmIDB4N2YpCj4gICNkZWZpbmUgR0VON19DWFRfUklOR19TSVpFKGN0eF9yZWcpCSgo KGN0eF9yZWcpID4+IDIyKSAmIDB4NykKPiAgI2RlZmluZSBHRU43X0NYVF9SRU5ERVJfU0laRShj dHhfcmVnKQkoKChjdHhfcmVnKSA+PiAxNikgJiAweDNmKQo+IEBAIC0yODU2LDIzICsyODY3LDIz IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAvKiBTYW1lIGFzIEhhc3dlbGwsIGJ1 dCA3MjA2NCBieXRlcyBub3cuICovCj4gICNkZWZpbmUgR0VOOF9DWFRfVE9UQUxfU0laRQkJKDE4 ICogUEFHRV9TSVpFKQo+ICAKPiAtI2RlZmluZSBDSFZfQ0xLX0NUTDEJCQkweDEwMTEwMAo+IC0j ZGVmaW5lIFZMVl9DTEtfQ1RMMgkJCTB4MTAxMTA0Cj4gKyNkZWZpbmUgQ0hWX0NMS19DVEwxCQkJ X1JFRygweDEwMTEwMCkKPiArI2RlZmluZSBWTFZfQ0xLX0NUTDIJCQlfUkVHKDB4MTAxMTA0KQo+ ICAjZGVmaW5lICAgQ0xLX0NUTDJfQ1pDT1VOVF8zME5TX1NISUZUCTI4Cj4gIAo+ICAvKgo+ICAg KiBPdmVybGF5IHJlZ3MKPiAgICovCj4gIAo+IC0jZGVmaW5lIE9WQURECQkJMHgzMDAwMAo+IC0j ZGVmaW5lIERPVlNUQQkJCTB4MzAwMDgKPiArI2RlZmluZSBPVkFERAkJCV9SRUcoMHgzMDAwMCkK PiArI2RlZmluZSBET1ZTVEEJCQlfUkVHKDB4MzAwMDgpCj4gICNkZWZpbmUgT0NfQlVGCQkJKDB4 Mzw8MjApCj4gLSNkZWZpbmUgT0dBTUM1CQkJMHgzMDAxMAo+IC0jZGVmaW5lIE9HQU1DNAkJCTB4 MzAwMTQKPiAtI2RlZmluZSBPR0FNQzMJCQkweDMwMDE4Cj4gLSNkZWZpbmUgT0dBTUMyCQkJMHgz MDAxYwo+IC0jZGVmaW5lIE9HQU1DMQkJCTB4MzAwMjAKPiAtI2RlZmluZSBPR0FNQzAJCQkweDMw MDI0Cj4gKyNkZWZpbmUgT0dBTUM1CQkJX1JFRygweDMwMDEwKQo+ICsjZGVmaW5lIE9HQU1DNAkJ CV9SRUcoMHgzMDAxNCkKPiArI2RlZmluZSBPR0FNQzMJCQlfUkVHKDB4MzAwMTgpCj4gKyNkZWZp bmUgT0dBTUMyCQkJX1JFRygweDMwMDFjKQo+ICsjZGVmaW5lIE9HQU1DMQkJCV9SRUcoMHgzMDAy MCkKPiArI2RlZmluZSBPR0FNQzAJCQlfUkVHKDB4MzAwMjQpCj4gIAo+ICAvKgo+ICAgKiBEaXNw bGF5IGVuZ2luZSByZWdzCj4gQEAgLTI5MzIsMjggKzI5NDMsMTggQEAgZW51bSBza2xfZGlzcF9w b3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgX1BJUEVfQ1JDX1JFU180X0JfSVZCCQkweDYxMDcwCj4g ICNkZWZpbmUgX1BJUEVfQ1JDX1JFU181X0JfSVZCCQkweDYxMDc0Cj4gIAo+IC0jZGVmaW5lIFBJ UEVfQ1JDX0NUTChwaXBlKSBfVFJBTlNDT0RFUjIocGlwZSwgX1BJUEVfQ1JDX0NUTF9BKQo+IC0j ZGVmaW5lIFBJUEVfQ1JDX1JFU18xX0lWQihwaXBlKQlcCj4gLQlfVFJBTlNDT0RFUjIocGlwZSwg X1BJUEVfQ1JDX1JFU18xX0FfSVZCKQo+IC0jZGVmaW5lIFBJUEVfQ1JDX1JFU18yX0lWQihwaXBl KQlcCj4gLQlfVFJBTlNDT0RFUjIocGlwZSwgX1BJUEVfQ1JDX1JFU18yX0FfSVZCKQo+IC0jZGVm aW5lIFBJUEVfQ1JDX1JFU18zX0lWQihwaXBlKQlcCj4gLQlfVFJBTlNDT0RFUjIocGlwZSwgX1BJ UEVfQ1JDX1JFU18zX0FfSVZCKQo+IC0jZGVmaW5lIFBJUEVfQ1JDX1JFU180X0lWQihwaXBlKQlc Cj4gLQlfVFJBTlNDT0RFUjIocGlwZSwgX1BJUEVfQ1JDX1JFU180X0FfSVZCKQo+IC0jZGVmaW5l IFBJUEVfQ1JDX1JFU181X0lWQihwaXBlKQlcCj4gLQlfVFJBTlNDT0RFUjIocGlwZSwgX1BJUEVf Q1JDX1JFU181X0FfSVZCKQo+IC0KPiAtI2RlZmluZSBQSVBFX0NSQ19SRVNfUkVEKHBpcGUpIFwK PiAtCV9UUkFOU0NPREVSMihwaXBlLCBfUElQRV9DUkNfUkVTX1JFRF9BKQo+IC0jZGVmaW5lIFBJ UEVfQ1JDX1JFU19HUkVFTihwaXBlKSBcCj4gLQlfVFJBTlNDT0RFUjIocGlwZSwgX1BJUEVfQ1JD X1JFU19HUkVFTl9BKQo+IC0jZGVmaW5lIFBJUEVfQ1JDX1JFU19CTFVFKHBpcGUpIFwKPiAtCV9U UkFOU0NPREVSMihwaXBlLCBfUElQRV9DUkNfUkVTX0JMVUVfQSkKPiAtI2RlZmluZSBQSVBFX0NS Q19SRVNfUkVTMV9JOTE1KHBpcGUpIFwKPiAtCV9UUkFOU0NPREVSMihwaXBlLCBfUElQRV9DUkNf UkVTX1JFUzFfQV9JOTE1KQo+IC0jZGVmaW5lIFBJUEVfQ1JDX1JFU19SRVMyX0c0WChwaXBlKSBc Cj4gLQlfVFJBTlNDT0RFUjIocGlwZSwgX1BJUEVfQ1JDX1JFU19SRVMyX0FfRzRYKQo+ICsjZGVm aW5lIFBJUEVfQ1JDX0NUTChwaXBlKQkJX1JFR19UUkFOUzIocGlwZSwgX1BJUEVfQ1JDX0NUTF9B KQo+ICsjZGVmaW5lIFBJUEVfQ1JDX1JFU18xX0lWQihwaXBlKQlfUkVHX1RSQU5TMihwaXBlLCBf UElQRV9DUkNfUkVTXzFfQV9JVkIpCj4gKyNkZWZpbmUgUElQRV9DUkNfUkVTXzJfSVZCKHBpcGUp CV9SRUdfVFJBTlMyKHBpcGUsIF9QSVBFX0NSQ19SRVNfMl9BX0lWQikKPiArI2RlZmluZSBQSVBF X0NSQ19SRVNfM19JVkIocGlwZSkJX1JFR19UUkFOUzIocGlwZSwgX1BJUEVfQ1JDX1JFU18zX0Ff SVZCKQo+ICsjZGVmaW5lIFBJUEVfQ1JDX1JFU180X0lWQihwaXBlKQlfUkVHX1RSQU5TMihwaXBl LCBfUElQRV9DUkNfUkVTXzRfQV9JVkIpCj4gKyNkZWZpbmUgUElQRV9DUkNfUkVTXzVfSVZCKHBp cGUpCV9SRUdfVFJBTlMyKHBpcGUsIF9QSVBFX0NSQ19SRVNfNV9BX0lWQikKPiArCj4gKyNkZWZp bmUgUElQRV9DUkNfUkVTX1JFRChwaXBlKQkJX1JFR19UUkFOUzIocGlwZSwgX1BJUEVfQ1JDX1JF U19SRURfQSkKPiArI2RlZmluZSBQSVBFX0NSQ19SRVNfR1JFRU4ocGlwZSkJX1JFR19UUkFOUzIo cGlwZSwgX1BJUEVfQ1JDX1JFU19HUkVFTl9BKQo+ICsjZGVmaW5lIFBJUEVfQ1JDX1JFU19CTFVF KHBpcGUpCQlfUkVHX1RSQU5TMihwaXBlLCBfUElQRV9DUkNfUkVTX0JMVUVfQSkKPiArI2RlZmlu ZSBQSVBFX0NSQ19SRVNfUkVTMV9JOTE1KHBpcGUpCV9SRUdfVFJBTlMyKHBpcGUsIF9QSVBFX0NS Q19SRVNfUkVTMV9BX0k5MTUpCj4gKyNkZWZpbmUgUElQRV9DUkNfUkVTX1JFUzJfRzRYKHBpcGUp CV9SRUdfVFJBTlMyKHBpcGUsIF9QSVBFX0NSQ19SRVNfUkVTMl9BX0c0WCkKPiAgCj4gIC8qIFBp cGUgQSB0aW1pbmcgcmVncyAqLwo+ICAjZGVmaW5lIF9IVE9UQUxfQQkweDYwMDAwCj4gQEAgLTI5 ODUsMjAgKzI5ODYsMjAgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUg Q0hWX1RSQU5TQ09ERVJfQ19PRkZTRVQgMHg2MzAwMAo+ICAjZGVmaW5lIFRSQU5TQ09ERVJfRURQ X09GRlNFVCAweDZmMDAwCj4gIAo+IC0jZGVmaW5lIF9UUkFOU0NPREVSMihwaXBlLCByZWcpIChk ZXZfcHJpdi0+aW5mby50cmFuc19vZmZzZXRzWyhwaXBlKV0gLSBcCj4gKyNkZWZpbmUgX1JFR19U UkFOUzIocGlwZSwgcmVnKSBfUkVHKGRldl9wcml2LT5pbmZvLnRyYW5zX29mZnNldHNbKHBpcGUp XSAtIFwKPiAgCWRldl9wcml2LT5pbmZvLnRyYW5zX29mZnNldHNbVFJBTlNDT0RFUl9BXSArIChy ZWcpICsgXAo+ICAJZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCkKPiAgCj4gLSNk ZWZpbmUgSFRPVEFMKHRyYW5zKSBfVFJBTlNDT0RFUjIodHJhbnMsIF9IVE9UQUxfQSkKPiAtI2Rl ZmluZSBIQkxBTksodHJhbnMpIF9UUkFOU0NPREVSMih0cmFucywgX0hCTEFOS19BKQo+IC0jZGVm aW5lIEhTWU5DKHRyYW5zKSBfVFJBTlNDT0RFUjIodHJhbnMsIF9IU1lOQ19BKQo+IC0jZGVmaW5l IFZUT1RBTCh0cmFucykgX1RSQU5TQ09ERVIyKHRyYW5zLCBfVlRPVEFMX0EpCj4gLSNkZWZpbmUg VkJMQU5LKHRyYW5zKSBfVFJBTlNDT0RFUjIodHJhbnMsIF9WQkxBTktfQSkKPiAtI2RlZmluZSBW U1lOQyh0cmFucykgX1RSQU5TQ09ERVIyKHRyYW5zLCBfVlNZTkNfQSkKPiAtI2RlZmluZSBCQ0xS UEFUKHRyYW5zKSBfVFJBTlNDT0RFUjIodHJhbnMsIF9CQ0xSUEFUX0EpCj4gLSNkZWZpbmUgVlNZ TkNTSElGVCh0cmFucykgX1RSQU5TQ09ERVIyKHRyYW5zLCBfVlNZTkNTSElGVF9BKQo+IC0jZGVm aW5lIFBJUEVTUkModHJhbnMpIF9UUkFOU0NPREVSMih0cmFucywgX1BJUEVBU1JDKQo+IC0jZGVm aW5lIFBJUEVfTVVMVCh0cmFucykgX1RSQU5TQ09ERVIyKHRyYW5zLCBfUElQRV9NVUxUX0EpCj4g KyNkZWZpbmUgSFRPVEFMKHRyYW5zKQkJX1JFR19UUkFOUzIodHJhbnMsIF9IVE9UQUxfQSkKPiAr I2RlZmluZSBIQkxBTksodHJhbnMpCQlfUkVHX1RSQU5TMih0cmFucywgX0hCTEFOS19BKQo+ICsj ZGVmaW5lIEhTWU5DKHRyYW5zKQkJX1JFR19UUkFOUzIodHJhbnMsIF9IU1lOQ19BKQo+ICsjZGVm aW5lIFZUT1RBTCh0cmFucykJCV9SRUdfVFJBTlMyKHRyYW5zLCBfVlRPVEFMX0EpCj4gKyNkZWZp bmUgVkJMQU5LKHRyYW5zKQkJX1JFR19UUkFOUzIodHJhbnMsIF9WQkxBTktfQSkKPiArI2RlZmlu ZSBWU1lOQyh0cmFucykJCV9SRUdfVFJBTlMyKHRyYW5zLCBfVlNZTkNfQSkKPiArI2RlZmluZSBC Q0xSUEFUKHRyYW5zKQkJX1JFR19UUkFOUzIodHJhbnMsIF9CQ0xSUEFUX0EpCj4gKyNkZWZpbmUg VlNZTkNTSElGVCh0cmFucykJX1JFR19UUkFOUzIodHJhbnMsIF9WU1lOQ1NISUZUX0EpCj4gKyNk ZWZpbmUgUElQRVNSQyh0cmFucykJCV9SRUdfVFJBTlMyKHRyYW5zLCBfUElQRUFTUkMpCj4gKyNk ZWZpbmUgUElQRV9NVUxUKHRyYW5zKQlfUkVHX1RSQU5TMih0cmFucywgX1BJUEVfTVVMVF9BKQo+ ICAKPiAgLyogVkxWIGVEUCBQU1IgcmVnaXN0ZXJzICovCj4gICNkZWZpbmUgX1BTUkNUTEEJCQkJ KFZMVl9ESVNQTEFZX0JBU0UgKyAweDYwMDkwKQo+IEBAIC0zMDE0LDE0ICszMDE1LDE0IEBAIGVu dW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICBWTFZfRURQX1BTUl9EQkxfRlJB TUUJCQkoMTw8MTApCj4gICNkZWZpbmUgIFZMVl9FRFBfUFNSX0ZSQU1FX0NPVU5UX01BU0sJCSgw eGZmPDwxNikKPiAgI2RlZmluZSAgVkxWX0VEUF9QU1JfSURMRV9GUkFNRV9TSElGVAkJMTYKPiAt I2RlZmluZSBWTFZfUFNSQ1RMKHBpcGUpIF9QSVBFKHBpcGUsIF9QU1JDVExBLCBfUFNSQ1RMQikK PiArI2RlZmluZSBWTFZfUFNSQ1RMKHBpcGUpCV9SRUdfUElQRShwaXBlLCBfUFNSQ1RMQSwgX1BT UkNUTEIpCj4gIAo+ICAjZGVmaW5lIF9WU0NTRFBBCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYw MGEwKQo+ICAjZGVmaW5lIF9WU0NTRFBCCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMGEwKQo+ ICAjZGVmaW5lICBWTFZfRURQX1BTUl9TRFBfRlJFUV9NQVNLCSgzPDwzMCkKPiAgI2RlZmluZSAg VkxWX0VEUF9QU1JfU0RQX0ZSRVFfT05DRQkoMTw8MzEpCj4gICNkZWZpbmUgIFZMVl9FRFBfUFNS X1NEUF9GUkVRX0VWRlJBTUUJKDE8PDMwKQo+IC0jZGVmaW5lIFZMVl9WU0NTRFAocGlwZSkJX1BJ UEUocGlwZSwgX1ZTQ1NEUEEsIF9WU0NTRFBCKQo+ICsjZGVmaW5lIFZMVl9WU0NTRFAocGlwZSkJ X1JFR19QSVBFKHBpcGUsIF9WU0NTRFBBLCBfVlNDU0RQQikKPiAgCj4gICNkZWZpbmUgX1BTUlNU QVRBCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYwMDk0KQo+ICAjZGVmaW5lIF9QU1JTVEFUQgkJ CShWTFZfRElTUExBWV9CQVNFICsgMHg2MTA5NCkKPiBAQCAtMzAzNCwxMiArMzAzNSwxMiBAQCBl bnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgVkxWX0VEUF9QU1JfQUNUSVZF X1NGX1VQREFURQkoNDw8MCkKPiAgI2RlZmluZSAgVkxWX0VEUF9QU1JfRVhJVAkJKDU8PDApCj4g ICNkZWZpbmUgIFZMVl9FRFBfUFNSX0lOX1RSQU5TCQkoMTw8NykKPiAtI2RlZmluZSBWTFZfUFNS U1RBVChwaXBlKSBfUElQRShwaXBlLCBfUFNSU1RBVEEsIF9QU1JTVEFUQikKPiArI2RlZmluZSBW TFZfUFNSU1RBVChwaXBlKQlfUkVHX1BJUEUocGlwZSwgX1BTUlNUQVRBLCBfUFNSU1RBVEIpCj4g IAo+ICAvKiBIU1crIGVEUCBQU1IgcmVnaXN0ZXJzICovCj4gICNkZWZpbmUgSFNXX0VEUF9QU1Jf QkFTRQkweDY0ODAwCj4gICNkZWZpbmUgQkRXX0VEUF9QU1JfQkFTRQkweDZmODAwCj4gLSNkZWZp bmUgRURQX1BTUl9DVEwJCQkJKGRldl9wcml2LT5wc3JfbW1pb19iYXNlICsgMCkKPiArI2RlZmlu ZSBFRFBfUFNSX0NUTAkJCQlfUkVHKGRldl9wcml2LT5wc3JfbW1pb19iYXNlICsgMCkKPiAgI2Rl ZmluZSAgIEVEUF9QU1JfRU5BQkxFCQkJKDE8PDMxKQo+ICAjZGVmaW5lICAgQkRXX1BTUl9TSU5H TEVfRlJBTUUJCQkoMTw8MzApCj4gICNkZWZpbmUgICBFRFBfUFNSX0xJTktfU1RBTkRCWQkJCSgx PDwyNykKPiBAQCAtMzA2MiwxMCArMzA2MywxMCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxz IHsKPiAgI2RlZmluZSAgIEVEUF9QU1JfVFAxX1RJTUVfMHVzCQkJKDM8PDQpCj4gICNkZWZpbmUg ICBFRFBfUFNSX0lETEVfRlJBTUVfU0hJRlQJCTAKPiAgCj4gLSNkZWZpbmUgRURQX1BTUl9BVVhf Q1RMCQkJCShkZXZfcHJpdi0+cHNyX21taW9fYmFzZSArIDB4MTApCj4gLSNkZWZpbmUgRURQX1BT Ul9BVVhfREFUQShpKQkJCShkZXZfcHJpdi0+cHNyX21taW9fYmFzZSArIDB4MTQgKyAoaSkgKiA0 KSAvKiA1IHJlZ2lzdGVycyAqLwo+ICsjZGVmaW5lIEVEUF9QU1JfQVVYX0NUTAkJCQlfUkVHKGRl dl9wcml2LT5wc3JfbW1pb19iYXNlICsgMHgxMCkKPiArI2RlZmluZSBFRFBfUFNSX0FVWF9EQVRB KGkpCQkJX1JFRyhkZXZfcHJpdi0+cHNyX21taW9fYmFzZSArIDB4MTQgKyAoaSkgKiA0KSAvKiA1 IHJlZ2lzdGVycyAqLwo+ICAKPiAtI2RlZmluZSBFRFBfUFNSX1NUQVRVU19DVEwJCQkoZGV2X3By aXYtPnBzcl9tbWlvX2Jhc2UgKyAweDQwKQo+ICsjZGVmaW5lIEVEUF9QU1JfU1RBVFVTX0NUTAkJ CV9SRUcoZGV2X3ByaXYtPnBzcl9tbWlvX2Jhc2UgKyAweDQwKQo+ICAjZGVmaW5lICAgRURQX1BT Ul9TVEFUVVNfU1RBVEVfTUFTSwkJKDc8PDI5KQo+ICAjZGVmaW5lICAgRURQX1BTUl9TVEFUVVNf U1RBVEVfSURMRQkJKDA8PDI5KQo+ICAjZGVmaW5lICAgRURQX1BTUl9TVEFUVVNfU1RBVEVfU1JE T05BQ0sJCSgxPDwyOSkKPiBAQCAtMzA4OSwxNSArMzA5MCwxNSBAQCBlbnVtIHNrbF9kaXNwX3Bv d2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIEVEUF9QU1JfU1RBVFVTX1NFTkRJTkdfVFAxCQkoMTw8 NCkKPiAgI2RlZmluZSAgIEVEUF9QU1JfU1RBVFVTX0lETEVfTUFTSwkJMHhmCj4gIAo+IC0jZGVm aW5lIEVEUF9QU1JfUEVSRl9DTlQJCShkZXZfcHJpdi0+cHNyX21taW9fYmFzZSArIDB4NDQpCj4g KyNkZWZpbmUgRURQX1BTUl9QRVJGX0NOVAkJX1JFRyhkZXZfcHJpdi0+cHNyX21taW9fYmFzZSAr IDB4NDQpCj4gICNkZWZpbmUgICBFRFBfUFNSX1BFUkZfQ05UX01BU0sJCTB4ZmZmZmZmCj4gIAo+ IC0jZGVmaW5lIEVEUF9QU1JfREVCVUdfQ1RMCQkoZGV2X3ByaXYtPnBzcl9tbWlvX2Jhc2UgKyAw eDYwKQo+ICsjZGVmaW5lIEVEUF9QU1JfREVCVUdfQ1RMCQlfUkVHKGRldl9wcml2LT5wc3JfbW1p b19iYXNlICsgMHg2MCkKPiAgI2RlZmluZSAgIEVEUF9QU1JfREVCVUdfTUFTS19MUFNQCSgxPDwy NykKPiAgI2RlZmluZSAgIEVEUF9QU1JfREVCVUdfTUFTS19NRU1VUAkoMTw8MjYpCj4gICNkZWZp bmUgICBFRFBfUFNSX0RFQlVHX01BU0tfSFBECSgxPDwyNSkKPiAgCj4gLSNkZWZpbmUgRURQX1BT UjJfQ1RMCQkJMHg2ZjkwMAo+ICsjZGVmaW5lIEVEUF9QU1IyX0NUTAkJCV9SRUcoMHg2ZjkwMCkK PiAgI2RlZmluZSAgIEVEUF9QU1IyX0VOQUJMRQkJKDE8PDMxKQo+ICAjZGVmaW5lICAgRURQX1NV X1RSQUNLX0VOQUJMRQkJKDE8PDMwKQo+ICAjZGVmaW5lICAgRURQX01BWF9TVV9ESVNBQkxFX1RJ TUUodCkJKCh0KTw8MjApCj4gQEAgLTMxMTIsOSArMzExMyw5IEBAIGVudW0gc2tsX2Rpc3BfcG93 ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgRURQX1BTUjJfSURMRV9NQVNLCQkweGYKPiAgCj4gIC8q IFZHQSBwb3J0IGNvbnRyb2wgKi8KPiAtI2RlZmluZSBBRFBBCQkJMHg2MTEwMAo+IC0jZGVmaW5l IFBDSF9BRFBBICAgICAgICAgICAgICAgIDB4ZTExMDAKPiAtI2RlZmluZSBWTFZfQURQQQkJKFZM Vl9ESVNQTEFZX0JBU0UgKyBBRFBBKQo+ICsjZGVmaW5lIEFEUEEJCQlfUkVHKDB4NjExMDApCj4g KyNkZWZpbmUgUENIX0FEUEEgICAgICAgICAgICAgICAgX1JFRygweGUxMTAwKQo+ICsjZGVmaW5l IFZMVl9BRFBBCQlfUkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMTAwKQo+ICAKPiAgI2RlZmlu ZSAgIEFEUEFfREFDX0VOQUJMRQkoMTw8MzEpCj4gICNkZWZpbmUgICBBRFBBX0RBQ19ESVNBQkxF CTAKPiBAQCAtMzE2MCw3ICszMTYxLDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4g IAo+ICAKPiAgLyogSG90cGx1ZyBjb250cm9sICg5NDUrIG9ubHkpICovCj4gLSNkZWZpbmUgUE9S VF9IT1RQTFVHX0VOCQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjEx MTApCj4gKyNkZWZpbmUgUE9SVF9IT1RQTFVHX0VOCQlfUkVHKGRldl9wcml2LT5pbmZvLmRpc3Bs YXlfbW1pb19vZmZzZXQgKyAweDYxMTEwKQo+ICAjZGVmaW5lICAgUE9SVEJfSE9UUExVR19JTlRf RU4JCQkoMSA8PCAyOSkKPiAgI2RlZmluZSAgIFBPUlRDX0hPVFBMVUdfSU5UX0VOCQkJKDEgPDwg MjgpCj4gICNkZWZpbmUgICBQT1JURF9IT1RQTFVHX0lOVF9FTgkJCSgxIDw8IDI3KQo+IEBAIC0z MTkwLDcgKzMxOTEsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBD UlRfSE9UUExVR19ERVRFQ1RfVk9MVEFHRV8zMjVNVgkoMCA8PCAyKQo+ICAjZGVmaW5lIENSVF9I T1RQTFVHX0RFVEVDVF9WT0xUQUdFXzQ3NU1WCSgxIDw8IDIpCj4gIAo+IC0jZGVmaW5lIFBPUlRf SE9UUExVR19TVEFUCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTEx NCkKPiArI2RlZmluZSBQT1JUX0hPVFBMVUdfU1RBVAlfUkVHKGRldl9wcml2LT5pbmZvLmRpc3Bs YXlfbW1pb19vZmZzZXQgKyAweDYxMTE0KQo+ICAvKgo+ICAgKiBIRE1JL0RQIGJpdHMgYXJlIGdl bjQrCj4gICAqCj4gQEAgLTMyNTUsMjEgKzMyNTYsMjMgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93 ZWxscyB7Cj4gIAo+ICAvKiBTRFZPIGFuZCBIRE1JIHBvcnQgY29udHJvbC4KPiAgICogVGhlIHNh bWUgcmVnaXN0ZXIgbWF5IGJlIHVzZWQgZm9yIFNEVk8gb3IgSERNSSAqLwo+IC0jZGVmaW5lIEdF TjNfU0RWT0IJMHg2MTE0MAo+IC0jZGVmaW5lIEdFTjNfU0RWT0MJMHg2MTE2MAo+ICsjZGVmaW5l IF9HRU4zX1NEVk9CCTB4NjExNDAKPiArI2RlZmluZSBfR0VOM19TRFZPQwkweDYxMTYwCj4gKyNk ZWZpbmUgR0VOM19TRFZPQglfUkVHKF9HRU4zX1NEVk9CKQo+ICsjZGVmaW5lIEdFTjNfU0RWT0MJ X1JFRyhfR0VOM19TRFZPQykKPiAgI2RlZmluZSBHRU40X0hETUlCCUdFTjNfU0RWT0IKPiAgI2Rl ZmluZSBHRU40X0hETUlDCUdFTjNfU0RWT0MKPiAtI2RlZmluZSBWTFZfSERNSUIJKFZMVl9ESVNQ TEFZX0JBU0UgKyBHRU40X0hETUlCKQo+IC0jZGVmaW5lIFZMVl9IRE1JQwkoVkxWX0RJU1BMQVlf QkFTRSArIEdFTjRfSERNSUMpCj4gLSNkZWZpbmUgQ0hWX0hETUlECShWTFZfRElTUExBWV9CQVNF ICsgMHg2MTE2QykKPiAtI2RlZmluZSBQQ0hfU0RWT0IJMHhlMTE0MAo+ICsjZGVmaW5lIFZMVl9I RE1JQglfUkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMTQwKQo+ICsjZGVmaW5lIFZMVl9IRE1J QwlfUkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMTYwKQo+ICsjZGVmaW5lIENIVl9IRE1JRAlf UkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMTZDKQo+ICsjZGVmaW5lIFBDSF9TRFZPQglfUkVH KDB4ZTExNDApCj4gICNkZWZpbmUgUENIX0hETUlCCVBDSF9TRFZPQgo+IC0jZGVmaW5lIFBDSF9I RE1JQwkweGUxMTUwCj4gLSNkZWZpbmUgUENIX0hETUlECTB4ZTExNjAKPiArI2RlZmluZSBQQ0hf SERNSUMJX1JFRygweGUxMTUwKQo+ICsjZGVmaW5lIFBDSF9IRE1JRAlfUkVHKDB4ZTExNjApCj4g IAo+IC0jZGVmaW5lIFBPUlRfREZUX0k5WFgJCQkJMHg2MTE1MAo+ICsjZGVmaW5lIFBPUlRfREZU X0k5WFgJCQkJX1JFRygweDYxMTUwKQo+ICAjZGVmaW5lICAgRENfQkFMQU5DRV9SRVNFVAkJCSgx IDw8IDI1KQo+IC0jZGVmaW5lIFBPUlRfREZUMl9HNFgJCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5 X21taW9fb2Zmc2V0ICsgMHg2MTE1NCkKPiArI2RlZmluZSBQT1JUX0RGVDJfRzRYCQlfUkVHKGRl dl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMTU0KQo+ICAjZGVmaW5lICAg RENfQkFMQU5DRV9SRVNFVF9WTFYJCQkoMSA8PCAzMSkKPiAgI2RlZmluZSAgIFBJUEVfU0NSQU1C TEVfUkVTRVRfTUFTSwkJKCgxIDw8IDE0KSB8ICgweDMgPDwgMCkpCj4gICNkZWZpbmUgICBQSVBF X0NfU0NSQU1CTEVfUkVTRVQJCQkoMSA8PCAxNCkgLyogY2h2ICovCj4gQEAgLTMzMjksOSArMzMz MiwxMiBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgCj4gIAo+ICAvKiBEVk8gcG9y dCBjb250cm9sICovCj4gLSNkZWZpbmUgRFZPQQkJCTB4NjExMjAKPiAtI2RlZmluZSBEVk9CCQkJ MHg2MTE0MAo+IC0jZGVmaW5lIERWT0MJCQkweDYxMTYwCj4gKyNkZWZpbmUgX0RWT0EJCQkweDYx MTIwCj4gKyNkZWZpbmUgRFZPQQkJCV9SRUcoX0RWT0EpCj4gKyNkZWZpbmUgX0RWT0IJCQkweDYx MTQwCj4gKyNkZWZpbmUgRFZPQgkJCV9SRUcoX0RWT0IpCj4gKyNkZWZpbmUgX0RWT0MJCQkweDYx MTYwCj4gKyNkZWZpbmUgRFZPQwkJCV9SRUcoX0RWT0MpCj4gICNkZWZpbmUgICBEVk9fRU5BQkxF CQkJKDEgPDwgMzEpCj4gICNkZWZpbmUgICBEVk9fUElQRV9CX1NFTEVDVAkJKDEgPDwgMzApCj4g ICNkZWZpbmUgICBEVk9fUElQRV9TVEFMTF9VTlVTRUQJCSgwIDw8IDI4KQo+IEBAIC0zMzU2LDE0 ICszMzYyLDE0IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgRFZP X09VVFBVVF9DU1RBVEVfUElYRUxTCSgxIDw8IDEpCS8qIFNERyBvbmx5ICovCj4gICNkZWZpbmUg ICBEVk9fT1VUUFVUX1NPVVJDRV9TSVpFX1BJWEVMUwkoMSA8PCAwKQkvKiBTREcgb25seSAqLwo+ ICAjZGVmaW5lICAgRFZPX1BSRVNFUlZFX01BU0sJCSgweDc8PDI0KQo+IC0jZGVmaW5lIERWT0Ff U1JDRElNCQkweDYxMTI0Cj4gLSNkZWZpbmUgRFZPQl9TUkNESU0JCTB4NjExNDQKPiAtI2RlZmlu ZSBEVk9DX1NSQ0RJTQkJMHg2MTE2NAo+ICsjZGVmaW5lIERWT0FfU1JDRElNCQlfUkVHKDB4NjEx MjQpCj4gKyNkZWZpbmUgRFZPQl9TUkNESU0JCV9SRUcoMHg2MTE0NCkKPiArI2RlZmluZSBEVk9D X1NSQ0RJTQkJX1JFRygweDYxMTY0KQo+ICAjZGVmaW5lICAgRFZPX1NSQ0RJTV9IT1JJWk9OVEFM X1NISUZUCTEyCj4gICNkZWZpbmUgICBEVk9fU1JDRElNX1ZFUlRJQ0FMX1NISUZUCTAKPiAgCj4g IC8qIExWRFMgcG9ydCBjb250cm9sICovCj4gLSNkZWZpbmUgTFZEUwkJCTB4NjExODAKPiArI2Rl ZmluZSBMVkRTCQkJX1JFRygweDYxMTgwKQo+ICAvKgo+ICAgKiBFbmFibGVzIHRoZSBMVkRTIHBv cnQuICBUaGlzIGJpdCBtdXN0IGJlIHNldCBiZWZvcmUgRFBMTHMgYXJlIGVuYWJsZWQsIGFzCj4g ICAqIHRoZSBEUExMIHNlbWFudGljcyBjaGFuZ2Ugd2hlbiB0aGUgTFZEUyBpcyBhc3NpZ25lZCB0 byB0aGF0IHBpcGUuCj4gQEAgLTM0MTMsMTMgKzM0MTksMTMgQEAgZW51bSBza2xfZGlzcF9wb3dl cl93ZWxscyB7Cj4gICNkZWZpbmUgICBMVkRTX0IwQjNfUE9XRVJfVVAJCSgzIDw8IDIpCj4gIAo+ ICAvKiBWaWRlbyBEYXRhIElzbGFuZCBQYWNrZXQgY29udHJvbCAqLwo+IC0jZGVmaW5lIFZJREVP X0RJUF9EQVRBCQkweDYxMTc4Cj4gKyNkZWZpbmUgVklERU9fRElQX0RBVEEJCV9SRUcoMHg2MTE3 OCkKPiAgLyogUmVhZCB0aGUgZGVzY3JpcHRpb24gb2YgVklERU9fRElQX0RBVEEgKGJlZm9yZSBI YXN3ZWxsKSBvciBWSURFT19ESVBfRUNDCj4gICAqIChIYXN3ZWxsIGFuZCBuZXdlcikgdG8gc2Vl IHdoaWNoIFZJREVPX0RJUF9EQVRBIGJ5dGUgY29ycmVzcG9uZHMgdG8gZWFjaCBieXRlCj4gICAq IG9mIHRoZSBpbmZvZnJhbWUgc3RydWN0dXJlIHNwZWNpZmllZCBieSBDRUEtODYxLiAqLwo+ICAj ZGVmaW5lICAgVklERU9fRElQX0RBVEFfU0laRQkzMgo+ICAjZGVmaW5lICAgVklERU9fRElQX1ZT Q19EQVRBX1NJWkUJMzYKPiAtI2RlZmluZSBWSURFT19ESVBfQ1RMCQkweDYxMTcwCj4gKyNkZWZp bmUgVklERU9fRElQX0NUTAkJX1JFRygweDYxMTcwKQo+ICAvKiBQcmUgSFNXOiAqLwo+ICAjZGVm aW5lICAgVklERU9fRElQX0VOQUJMRQkJKDEgPDwgMzEpCj4gICNkZWZpbmUgICBWSURFT19ESVBf UE9SVChwb3J0KQkJKChwb3J0KSA8PCAyOSkKPiBAQCAtMzQ0Niw3ICszNDUyLDcgQEAgZW51bSBz a2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBWSURFT19ESVBfRU5BQkxFX1NQRF9I U1cJKDEgPDwgMCkKPiAgCj4gIC8qIFBhbmVsIHBvd2VyIHNlcXVlbmNpbmcgKi8KPiAtI2RlZmlu ZSBQUF9TVEFUVVMJMHg2MTIwMAo+ICsjZGVmaW5lIFBQX1NUQVRVUwlfUkVHKDB4NjEyMDApCj4g ICNkZWZpbmUgICBQUF9PTgkJKDEgPDwgMzEpCj4gIC8qCj4gICAqIEluZGljYXRlcyB0aGF0IGFs bCBkZXBlbmRlbmNpZXMgb2YgdGhlIHBhbmVsIGFyZSBvbjoKPiBAQCAtMzQ3MiwxNCArMzQ3OCwx NCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIFBQX1NFUVVFTkNF X1NUQVRFX09OX1MxXzIJKDB4YSA8PCAwKQo+ICAjZGVmaW5lICAgUFBfU0VRVUVOQ0VfU1RBVEVf T05fUzFfMwkoMHhiIDw8IDApCj4gICNkZWZpbmUgICBQUF9TRVFVRU5DRV9TVEFURV9SRVNFVAko MHhmIDw8IDApCj4gLSNkZWZpbmUgUFBfQ09OVFJPTAkweDYxMjA0Cj4gKyNkZWZpbmUgUFBfQ09O VFJPTAlfUkVHKDB4NjEyMDQpCj4gICNkZWZpbmUgICBQT1dFUl9UQVJHRVRfT04JKDEgPDwgMCkK PiAtI2RlZmluZSBQUF9PTl9ERUxBWVMJMHg2MTIwOAo+IC0jZGVmaW5lIFBQX09GRl9ERUxBWVMJ MHg2MTIwYwo+IC0jZGVmaW5lIFBQX0RJVklTT1IJMHg2MTIxMAo+ICsjZGVmaW5lIFBQX09OX0RF TEFZUwlfUkVHKDB4NjEyMDgpCj4gKyNkZWZpbmUgUFBfT0ZGX0RFTEFZUwlfUkVHKDB4NjEyMGMp Cj4gKyNkZWZpbmUgUFBfRElWSVNPUglfUkVHKDB4NjEyMTApCj4gIAo+ICAvKiBQYW5lbCBmaXR0 aW5nICovCj4gLSNkZWZpbmUgUEZJVF9DT05UUk9MCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21t aW9fb2Zmc2V0ICsgMHg2MTIzMCkKPiArI2RlZmluZSBQRklUX0NPTlRST0wJX1JFRyhkZXZfcHJp di0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTIzMCkKPiAgI2RlZmluZSAgIFBGSVRf RU5BQkxFCQkoMSA8PCAzMSkKPiAgI2RlZmluZSAgIFBGSVRfUElQRV9NQVNLCSgzIDw8IDI5KQo+ ICAjZGVmaW5lICAgUEZJVF9QSVBFX1NISUZUCTI5Cj4gQEAgLTM0OTcsNyArMzUwMyw3IEBAIGVu dW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgUEZJVF9TQ0FMSU5HX1BST0dS QU1NRUQgKDEgPDwgMjYpCj4gICNkZWZpbmUgICBQRklUX1NDQUxJTkdfUElMTEFSCSgyIDw8IDI2 KQo+ICAjZGVmaW5lICAgUEZJVF9TQ0FMSU5HX0xFVFRFUgkoMyA8PCAyNikKPiAtI2RlZmluZSBQ RklUX1BHTV9SQVRJT1MJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYx MjM0KQo+ICsjZGVmaW5lIFBGSVRfUEdNX1JBVElPUyBfUkVHKGRldl9wcml2LT5pbmZvLmRpc3Bs YXlfbW1pb19vZmZzZXQgKyAweDYxMjM0KQo+ICAvKiBQcmUtOTY1ICovCj4gICNkZWZpbmUJCVBG SVRfVkVSVF9TQ0FMRV9TSElGVAkJMjAKPiAgI2RlZmluZQkJUEZJVF9WRVJUX1NDQUxFX01BU0sJ CTB4ZmZmMDAwMDAKPiBAQCAtMzUwOSwyNSArMzUxNSwyNSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2Vy X3dlbGxzIHsKPiAgI2RlZmluZQkJUEZJVF9IT1JJWl9TQ0FMRV9TSElGVF85NjUJMAo+ICAjZGVm aW5lCQlQRklUX0hPUklaX1NDQUxFX01BU0tfOTY1CTB4MDAwMDFmZmYKPiAgCj4gLSNkZWZpbmUg UEZJVF9BVVRPX1JBVElPUyAoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4 NjEyMzgpCj4gKyNkZWZpbmUgUEZJVF9BVVRPX1JBVElPUyBfUkVHKGRldl9wcml2LT5pbmZvLmRp c3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMjM4KQo+ICAKPiAgI2RlZmluZSBfVkxWX0JMQ19QV01f Q1RMMl9BIChkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTI1MCkKPiAg I2RlZmluZSBfVkxWX0JMQ19QV01fQ1RMMl9CIChkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9f b2Zmc2V0ICsgMHg2MTM1MCkKPiAtI2RlZmluZSBWTFZfQkxDX1BXTV9DVEwyKHBpcGUpIF9QSVBF KHBpcGUsIF9WTFZfQkxDX1BXTV9DVEwyX0EsIFwKPiAtCQkJCSAgICAgX1ZMVl9CTENfUFdNX0NU TDJfQikKPiArI2RlZmluZSBWTFZfQkxDX1BXTV9DVEwyKHBpcGUpIF9SRUdfUElQRShwaXBlLCBf VkxWX0JMQ19QV01fQ1RMMl9BLCBcCj4gKwkJCQkJIF9WTFZfQkxDX1BXTV9DVEwyX0IpCj4gIAo+ ICAjZGVmaW5lIF9WTFZfQkxDX1BXTV9DVExfQSAoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlv X29mZnNldCArIDB4NjEyNTQpCj4gICNkZWZpbmUgX1ZMVl9CTENfUFdNX0NUTF9CIChkZXZfcHJp di0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTM1NCkKPiAtI2RlZmluZSBWTFZfQkxD X1BXTV9DVEwocGlwZSkgX1BJUEUocGlwZSwgX1ZMVl9CTENfUFdNX0NUTF9BLCBcCj4gLQkJCQkg ICAgX1ZMVl9CTENfUFdNX0NUTF9CKQo+ICsjZGVmaW5lIFZMVl9CTENfUFdNX0NUTChwaXBlKSBf UkVHX1BJUEUocGlwZSwgX1ZMVl9CTENfUFdNX0NUTF9BLCBcCj4gKwkJCQkJX1ZMVl9CTENfUFdN X0NUTF9CKQo+ICAKPiAgI2RlZmluZSBfVkxWX0JMQ19ISVNUX0NUTF9BIChkZXZfcHJpdi0+aW5m by5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTI2MCkKPiAgI2RlZmluZSBfVkxWX0JMQ19ISVNU X0NUTF9CIChkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTM2MCkKPiAt I2RlZmluZSBWTFZfQkxDX0hJU1RfQ1RMKHBpcGUpIF9QSVBFKHBpcGUsIF9WTFZfQkxDX0hJU1Rf Q1RMX0EsIFwKPiAtCQkJCSAgICAgX1ZMVl9CTENfSElTVF9DVExfQikKPiArI2RlZmluZSBWTFZf QkxDX0hJU1RfQ1RMKHBpcGUpIF9SRUdfUElQRShwaXBlLCBfVkxWX0JMQ19ISVNUX0NUTF9BLCBc Cj4gKwkJCQkJIF9WTFZfQkxDX0hJU1RfQ1RMX0IpCj4gIAo+ICAvKiBCYWNrbGlnaHQgY29udHJv bCAqLwo+IC0jZGVmaW5lIEJMQ19QV01fQ1RMMgkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlv X29mZnNldCArIDB4NjEyNTApIC8qIDk2NSsgb25seSAqLwo+ICsjZGVmaW5lIEJMQ19QV01fQ1RM MglfUkVHKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMjUwKSAvKiA5 NjUrIG9ubHkgKi8KPiAgI2RlZmluZSAgIEJMTV9QV01fRU5BQkxFCQkoMSA8PCAzMSkKPiAgI2Rl ZmluZSAgIEJMTV9DT01CSU5BVElPTl9NT0RFCQkoMSA8PCAzMCkgLyogZ2VuNCBvbmx5ICovCj4g ICNkZWZpbmUgICBCTE1fUElQRV9TRUxFQ1QJCSgxIDw8IDI5KQo+IEBAIC0zNTUwLDcgKzM1NTYs NyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIEJMTV9QSEFTRV9J Tl9DT1VOVF9NQVNLCSgweGZmIDw8IDgpCj4gICNkZWZpbmUgICBCTE1fUEhBU0VfSU5fSU5DUl9T SElGVAkoMCkKPiAgI2RlZmluZSAgIEJMTV9QSEFTRV9JTl9JTkNSX01BU0sJKDB4ZmYgPDwgMCkK PiAtI2RlZmluZSBCTENfUFdNX0NUTAkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNl dCArIDB4NjEyNTQpCj4gKyNkZWZpbmUgQkxDX1BXTV9DVEwJX1JFRyhkZXZfcHJpdi0+aW5mby5k aXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTI1NCkKPiAgLyoKPiAgICogVGhpcyBpcyB0aGUgbW9z dCBzaWduaWZpY2FudCAxNSBiaXRzIG9mIHRoZSBudW1iZXIgb2YgYmFja2xpZ2h0IGN5Y2xlcyBp biBhCj4gICAqIGNvbXBsZXRlIGN5Y2xlIG9mIHRoZSBtb2R1bGF0ZWQgYmFja2xpZ2h0IGNvbnRy b2wuCj4gQEAgLTM1NzIsNDQgKzM1NzgsNDQgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7 Cj4gICNkZWZpbmUgICBCQUNLTElHSFRfRFVUWV9DWUNMRV9NQVNLX1BOVgkJKDB4ZmZmZSkKPiAg I2RlZmluZSAgIEJMTV9QT0xBUklUWV9QTlYJCQkoMSA8PCAwKSAvKiBwbnYgb25seSAqLwo+ICAK PiAtI2RlZmluZSBCTENfSElTVF9DVEwJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZz ZXQgKyAweDYxMjYwKQo+ICsjZGVmaW5lIEJMQ19ISVNUX0NUTAlfUkVHKGRldl9wcml2LT5pbmZv LmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYxMjYwKQo+ICAjZGVmaW5lICBCTE1fSElTVE9HUkFN X0VOQUJMRQkJCSgxIDw8IDMxKQo+ICAKPiAgLyogTmV3IHJlZ2lzdGVycyBmb3IgUENILXNwbGl0 IHBsYXRmb3Jtcy4gU2FmZSB3aGVyZSBuZXcgYml0cyBzaG93IHVwLCB0aGUKPiAgICogcmVnaXN0 ZXIgbGF5b3V0IG1hY2h0ZXMgd2l0aCBnZW40IEJMQ19QV01fQ1RMWzEyXS4gKi8KPiAtI2RlZmlu ZSBCTENfUFdNX0NQVV9DVEwyCTB4NDgyNTAKPiAtI2RlZmluZSBCTENfUFdNX0NQVV9DVEwJCTB4 NDgyNTQKPiArI2RlZmluZSBCTENfUFdNX0NQVV9DVEwyCV9SRUcoMHg0ODI1MCkKPiArI2RlZmlu ZSBCTENfUFdNX0NQVV9DVEwJCV9SRUcoMHg0ODI1NCkKPiAgCj4gLSNkZWZpbmUgSFNXX0JMQ19Q V00yX0NUTAkweDQ4MzUwCj4gKyNkZWZpbmUgSFNXX0JMQ19QV00yX0NUTAlfUkVHKDB4NDgzNTAp Cj4gIAo+ICAvKiBQQ0ggQ1RMMSBpcyB0b3RhbGx5IGRpZmZlcmVudCwgYWxsIGJ1dCB0aGUgYmVs b3cgYml0cyBhcmUgcmVzZXJ2ZWQuIENUTDIgaXMKPiAgICogbGlrZSB0aGUgbm9ybWFsIENUTCBm cm9tIGdlbjQgYW5kIGVhcmxpZXIuIEhvb3JheSBmb3IgY29uZnVzaW5nIG5hbWluZy4gKi8KPiAt I2RlZmluZSBCTENfUFdNX1BDSF9DVEwxCTB4YzgyNTAKPiArI2RlZmluZSBCTENfUFdNX1BDSF9D VEwxCV9SRUcoMHhjODI1MCkKPiAgI2RlZmluZSAgIEJMTV9QQ0hfUFdNX0VOQUJMRQkJCSgxIDw8 IDMxKQo+ICAjZGVmaW5lICAgQkxNX1BDSF9PVkVSUklERV9FTkFCTEUJCSgxIDw8IDMwKQo+ICAj ZGVmaW5lICAgQkxNX1BDSF9QT0xBUklUWQkJCSgxIDw8IDI5KQo+IC0jZGVmaW5lIEJMQ19QV01f UENIX0NUTDIJMHhjODI1NAo+ICsjZGVmaW5lIEJMQ19QV01fUENIX0NUTDIJX1JFRygweGM4MjU0 KQo+ICAKPiAtI2RlZmluZSBVVElMX1BJTl9DVEwJCTB4NDg0MDAKPiArI2RlZmluZSBVVElMX1BJ Tl9DVEwJCV9SRUcoMHg0ODQwMCkKPiAgI2RlZmluZSAgIFVUSUxfUElOX0VOQUJMRQkoMSA8PCAz MSkKPiAgCj4gIC8qIEJYVCBiYWNrbGlnaHQgcmVnaXN0ZXIgZGVmaW5pdGlvbi4gKi8KPiAtI2Rl ZmluZSBCWFRfQkxDX1BXTV9DVEwxCQkJMHhDODI1MAo+ICsjZGVmaW5lIEJYVF9CTENfUFdNX0NU TDEJCQlfUkVHKDB4QzgyNTApCj4gICNkZWZpbmUgICBCWFRfQkxDX1BXTV9FTkFCTEUJCQkoMSA8 PCAzMSkKPiAgI2RlZmluZSAgIEJYVF9CTENfUFdNX1BPTEFSSVRZCQkJKDEgPDwgMjkpCj4gLSNk ZWZpbmUgQlhUX0JMQ19QV01fRlJFUTEJCQkweEM4MjU0Cj4gLSNkZWZpbmUgQlhUX0JMQ19QV01f RFVUWTEJCQkweEM4MjU4Cj4gKyNkZWZpbmUgQlhUX0JMQ19QV01fRlJFUTEJCQlfUkVHKDB4Qzgy NTQpCj4gKyNkZWZpbmUgQlhUX0JMQ19QV01fRFVUWTEJCQlfUkVHKDB4QzgyNTgpCj4gIAo+IC0j ZGVmaW5lIEJYVF9CTENfUFdNX0NUTDIJCQkweEM4MzUwCj4gLSNkZWZpbmUgQlhUX0JMQ19QV01f RlJFUTIJCQkweEM4MzU0Cj4gLSNkZWZpbmUgQlhUX0JMQ19QV01fRFVUWTIJCQkweEM4MzU4Cj4g KyNkZWZpbmUgQlhUX0JMQ19QV01fQ1RMMgkJCV9SRUcoMHhDODM1MCkKPiArI2RlZmluZSBCWFRf QkxDX1BXTV9GUkVRMgkJCV9SRUcoMHhDODM1NCkKPiArI2RlZmluZSBCWFRfQkxDX1BXTV9EVVRZ MgkJCV9SRUcoMHhDODM1OCkKPiAgCj4gIAo+IC0jZGVmaW5lIFBDSF9HVENfQ1RMCQkweGU3MDAw Cj4gKyNkZWZpbmUgUENIX0dUQ19DVEwJCV9SRUcoMHhlNzAwMCkKPiAgI2RlZmluZSAgIFBDSF9H VENfRU5BQkxFCSgxIDw8IDMxKQo+ICAKPiAgLyogVFYgcG9ydCBjb250cm9sICovCj4gLSNkZWZp bmUgVFZfQ1RMCQkJMHg2ODAwMAo+ICsjZGVmaW5lIFRWX0NUTAkJCV9SRUcoMHg2ODAwMCkKPiAg LyogRW5hYmxlcyB0aGUgVFYgZW5jb2RlciAqLwo+ICAjIGRlZmluZSBUVl9FTkNfRU5BQkxFCQkJ KDEgPDwgMzEpCj4gIC8qIFNvdXJjZXMgdGhlIFRWIGVuY29kZXIgaW5wdXQgZnJvbSBwaXBlIEIg aW5zdGVhZCBvZiBBLiAqLwo+IEBAIC0zNjc2LDcgKzM2ODIsNyBAQCBlbnVtIHNrbF9kaXNwX3Bv d2VyX3dlbGxzIHsKPiAgIyBkZWZpbmUgVFZfVEVTVF9NT0RFX01PTklUT1JfREVURUNUCSg3IDw8 IDApCj4gICMgZGVmaW5lIFRWX1RFU1RfTU9ERV9NQVNLCQkoNyA8PCAwKQo+ICAKPiAtI2RlZmlu ZSBUVl9EQUMJCQkweDY4MDA0Cj4gKyNkZWZpbmUgVFZfREFDCQkJX1JFRygweDY4MDA0KQo+ICAj IGRlZmluZSBUVl9EQUNfU0FWRQkJMHgwMGZmZmYwMAo+ICAvKgo+ICAgKiBSZXBvcnRzIHRoYXQg REFDIHN0YXRlIGNoYW5nZSBsb2dpYyBoYXMgcmVwb3J0ZWQgY2hhbmdlIChSTykuCj4gQEAgLTM3 MjcsMTMgKzM3MzMsMTMgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICAqIHdoZXJl IDItYml0IGV4cG9uZW50cyBhcmUgdW5zaWduZWQgbiwgYW5kIDMtYml0IGV4cG9uZW50cyBhcmUg c2lnbmVkIG4gd2l0aAo+ICAgKiAtMSAoMHgzKSBiZWluZyB0aGUgb25seSBsZWdhbCBuZWdhdGl2 ZSB2YWx1ZS4KPiAgICovCj4gLSNkZWZpbmUgVFZfQ1NDX1kJCTB4NjgwMTAKPiArI2RlZmluZSBU Vl9DU0NfWQkJX1JFRygweDY4MDEwKQo+ICAjIGRlZmluZSBUVl9SWV9NQVNLCQkJMHgwN2ZmMDAw MAo+ICAjIGRlZmluZSBUVl9SWV9TSElGVAkJCTE2Cj4gICMgZGVmaW5lIFRWX0dZX01BU0sJCQkw eDAwMDAwZmZmCj4gICMgZGVmaW5lIFRWX0dZX1NISUZUCQkJMAo+ICAKPiAtI2RlZmluZSBUVl9D U0NfWTIJCTB4NjgwMTQKPiArI2RlZmluZSBUVl9DU0NfWTIJCV9SRUcoMHg2ODAxNCkKPiAgIyBk ZWZpbmUgVFZfQllfTUFTSwkJCTB4MDdmZjAwMDAKPiAgIyBkZWZpbmUgVFZfQllfU0hJRlQJCQkx Ngo+ICAvKgo+IEBAIC0zNzQ0LDEzICszNzUwLDEzIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2Vs bHMgewo+ICAjIGRlZmluZSBUVl9BWV9NQVNLCQkJMHgwMDAwMDNmZgo+ICAjIGRlZmluZSBUVl9B WV9TSElGVAkJCTAKPiAgCj4gLSNkZWZpbmUgVFZfQ1NDX1UJCTB4NjgwMTgKPiArI2RlZmluZSBU Vl9DU0NfVQkJX1JFRygweDY4MDE4KQo+ICAjIGRlZmluZSBUVl9SVV9NQVNLCQkJMHgwN2ZmMDAw MAo+ICAjIGRlZmluZSBUVl9SVV9TSElGVAkJCTE2Cj4gICMgZGVmaW5lIFRWX0dVX01BU0sJCQkw eDAwMDAwN2ZmCj4gICMgZGVmaW5lIFRWX0dVX1NISUZUCQkJMAo+ICAKPiAtI2RlZmluZSBUVl9D U0NfVTIJCTB4NjgwMWMKPiArI2RlZmluZSBUVl9DU0NfVTIJCV9SRUcoMHg2ODAxYykKPiAgIyBk ZWZpbmUgVFZfQlVfTUFTSwkJCTB4MDdmZjAwMDAKPiAgIyBkZWZpbmUgVFZfQlVfU0hJRlQJCQkx Ngo+ICAvKgo+IEBAIC0zNzYxLDEzICszNzY3LDEzIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2Vs bHMgewo+ICAjIGRlZmluZSBUVl9BVV9NQVNLCQkJMHgwMDAwMDNmZgo+ICAjIGRlZmluZSBUVl9B VV9TSElGVAkJCTAKPiAgCj4gLSNkZWZpbmUgVFZfQ1NDX1YJCTB4NjgwMjAKPiArI2RlZmluZSBU Vl9DU0NfVgkJX1JFRygweDY4MDIwKQo+ICAjIGRlZmluZSBUVl9SVl9NQVNLCQkJMHgwZmZmMDAw MAo+ICAjIGRlZmluZSBUVl9SVl9TSElGVAkJCTE2Cj4gICMgZGVmaW5lIFRWX0dWX01BU0sJCQkw eDAwMDAwN2ZmCj4gICMgZGVmaW5lIFRWX0dWX1NISUZUCQkJMAo+ICAKPiAtI2RlZmluZSBUVl9D U0NfVjIJCTB4NjgwMjQKPiArI2RlZmluZSBUVl9DU0NfVjIJCV9SRUcoMHg2ODAyNCkKPiAgIyBk ZWZpbmUgVFZfQlZfTUFTSwkJCTB4MDdmZjAwMDAKPiAgIyBkZWZpbmUgVFZfQlZfU0hJRlQJCQkx Ngo+ICAvKgo+IEBAIC0zNzc4LDcgKzM3ODQsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxz IHsKPiAgIyBkZWZpbmUgVFZfQVZfTUFTSwkJCTB4MDAwMDA3ZmYKPiAgIyBkZWZpbmUgVFZfQVZf U0hJRlQJCQkwCj4gIAo+IC0jZGVmaW5lIFRWX0NMUl9LTk9CUwkJMHg2ODAyOAo+ICsjZGVmaW5l IFRWX0NMUl9LTk9CUwkJX1JFRygweDY4MDI4KQo+ICAvKiAycy1jb21wbGVtZW50IGJyaWdodG5l c3MgYWRqdXN0bWVudCAqLwo+ICAjIGRlZmluZSBUVl9CUklHSFRORVNTX01BU0sJCTB4ZmYwMDAw MDAKPiAgIyBkZWZpbmUgVFZfQlJJR0hUTkVTU19TSElGVAkJMjQKPiBAQCAtMzc5Miw3ICszNzk4 LDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICMgZGVmaW5lIFRWX0hVRV9NQVNL CQkJMHgwMDAwMDBmZgo+ICAjIGRlZmluZSBUVl9IVUVfU0hJRlQJCQkwCj4gIAo+IC0jZGVmaW5l IFRWX0NMUl9MRVZFTAkJMHg2ODAyYwo+ICsjZGVmaW5lIFRWX0NMUl9MRVZFTAkJX1JFRygweDY4 MDJjKQo+ICAvKiBDb250cm9scyB0aGUgREFDIGxldmVsIGZvciBibGFjayAqLwo+ICAjIGRlZmlu ZSBUVl9CTEFDS19MRVZFTF9NQVNLCQkweDAxZmYwMDAwCj4gICMgZGVmaW5lIFRWX0JMQUNLX0xF VkVMX1NISUZUCQkxNgo+IEBAIC0zODAwLDcgKzM4MDYsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2Vy X3dlbGxzIHsKPiAgIyBkZWZpbmUgVFZfQkxBTktfTEVWRUxfTUFTSwkJMHgwMDAwMDFmZgo+ICAj IGRlZmluZSBUVl9CTEFOS19MRVZFTF9TSElGVAkJMAo+ICAKPiAtI2RlZmluZSBUVl9IX0NUTF8x CQkweDY4MDMwCj4gKyNkZWZpbmUgVFZfSF9DVExfMQkJX1JFRygweDY4MDMwKQo+ICAvKiBOdW1i ZXIgb2YgcGl4ZWxzIGluIHRoZSBoc3luYy4gKi8KPiAgIyBkZWZpbmUgVFZfSFNZTkNfRU5EX01B U0sJCTB4MWZmZjAwMDAKPiAgIyBkZWZpbmUgVFZfSFNZTkNfRU5EX1NISUZUCQkxNgo+IEBAIC0z ODA4LDcgKzM4MTQsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgIyBkZWZpbmUg VFZfSFRPVEFMX01BU0sJCQkweDAwMDAxZmZmCj4gICMgZGVmaW5lIFRWX0hUT1RBTF9TSElGVAkJ MAo+ICAKPiAtI2RlZmluZSBUVl9IX0NUTF8yCQkweDY4MDM0Cj4gKyNkZWZpbmUgVFZfSF9DVExf MgkJX1JFRygweDY4MDM0KQo+ICAvKiBFbmFibGVzIHRoZSBjb2xvcmJ1cnN0IChuZWVkZWQgZm9y IG5vbi1jb21wb25lbnQgY29sb3IpICovCj4gICMgZGVmaW5lIFRWX0JVUlNUX0VOQQkJCSgxIDw8 IDMxKQo+ICAvKiBPZmZzZXQgb2YgdGhlIGNvbG9yYnVyc3QgZnJvbSB0aGUgc3RhcnQgb2YgaHN5 bmMsIGluIHBpeGVscyBtaW51cyBvbmUuICovCj4gQEAgLTM4MTgsNyArMzgyNCw3IEBAIGVudW0g c2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjIGRlZmluZSBUVl9IQlVSU1RfTEVOX1NISUZUCQkw Cj4gICMgZGVmaW5lIFRWX0hCVVJTVF9MRU5fTUFTSwkJMHgwMDAxZmZmCj4gIAo+IC0jZGVmaW5l IFRWX0hfQ1RMXzMJCTB4NjgwMzgKPiArI2RlZmluZSBUVl9IX0NUTF8zCQlfUkVHKDB4NjgwMzgp Cj4gIC8qIEVuZCBvZiBoYmxhbmssIG1lYXN1cmVkIGluIHBpeGVscyBtaW51cyBvbmUgZnJvbSBz dGFydCBvZiBoc3luYyAqLwo+ICAjIGRlZmluZSBUVl9IQkxBTktfRU5EX1NISUZUCQkxNgo+ICAj IGRlZmluZSBUVl9IQkxBTktfRU5EX01BU0sJCTB4MWZmZjAwMDAKPiBAQCAtMzgyNiw3ICszODMy LDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICMgZGVmaW5lIFRWX0hCTEFOS19T VEFSVF9TSElGVAkJMAo+ICAjIGRlZmluZSBUVl9IQkxBTktfU1RBUlRfTUFTSwkJMHgwMDAxZmZm Cj4gIAo+IC0jZGVmaW5lIFRWX1ZfQ1RMXzEJCTB4NjgwM2MKPiArI2RlZmluZSBUVl9WX0NUTF8x CQlfUkVHKDB4NjgwM2MpCj4gIC8qIFhYWCAqLwo+ICAjIGRlZmluZSBUVl9OQlJfRU5EX1NISUZU CQkxNgo+ICAjIGRlZmluZSBUVl9OQlJfRU5EX01BU0sJCTB4MDdmZjAwMDAKPiBAQCAtMzgzNyw3 ICszODQzLDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICMgZGVmaW5lIFRWX1ZJ X0VORF9GMl9TSElGVAkJMAo+ICAjIGRlZmluZSBUVl9WSV9FTkRfRjJfTUFTSwkJMHgwMDAwMDAz Zgo+ICAKPiAtI2RlZmluZSBUVl9WX0NUTF8yCQkweDY4MDQwCj4gKyNkZWZpbmUgVFZfVl9DVExf MgkJX1JFRygweDY4MDQwKQo+ICAvKiBMZW5ndGggb2YgdnN5bmMsIGluIGhhbGYgbGluZXMgKi8K PiAgIyBkZWZpbmUgVFZfVlNZTkNfTEVOX01BU0sJCTB4MDdmZjAwMDAKPiAgIyBkZWZpbmUgVFZf VlNZTkNfTEVOX1NISUZUCQkxNgo+IEBAIC0zODUzLDcgKzM4NTksNyBAQCBlbnVtIHNrbF9kaXNw X3Bvd2VyX3dlbGxzIHsKPiAgIyBkZWZpbmUgVFZfVlNZTkNfU1RBUlRfRjJfTUFTSwkJMHgwMDAw MDA3Zgo+ICAjIGRlZmluZSBUVl9WU1lOQ19TVEFSVF9GMl9TSElGVAkwCj4gIAo+IC0jZGVmaW5l IFRWX1ZfQ1RMXzMJCTB4NjgwNDQKPiArI2RlZmluZSBUVl9WX0NUTF8zCQlfUkVHKDB4NjgwNDQp Cj4gIC8qIEVuYWJsZXMgZ2VuZXJhdGlvbiBvZiB0aGUgZXF1YWxpemF0aW9uIHNpZ25hbCAqLwo+ ICAjIGRlZmluZSBUVl9FUVVBTF9FTkEJCQkoMSA8PCAzMSkKPiAgLyogTGVuZ3RoIG9mIHZzeW5j LCBpbiBoYWxmIGxpbmVzICovCj4gQEAgLTM4NzEsNyArMzg3Nyw3IEBAIGVudW0gc2tsX2Rpc3Bf cG93ZXJfd2VsbHMgewo+ICAjIGRlZmluZSBUVl9WRVFfU1RBUlRfRjJfTUFTSwkJMHgwMDAwMDdm Cj4gICMgZGVmaW5lIFRWX1ZFUV9TVEFSVF9GMl9TSElGVAkJMAo+ICAKPiAtI2RlZmluZSBUVl9W X0NUTF80CQkweDY4MDQ4Cj4gKyNkZWZpbmUgVFZfVl9DVExfNAkJX1JFRygweDY4MDQ4KQo+ICAv Kgo+ICAgKiBPZmZzZXQgdG8gc3RhcnQgb2YgdmVydGljYWwgY29sb3JidXJzdCwgbWVhc3VyZWQg aW4gb25lIGxlc3MgdGhhbiB0aGUKPiAgICogbnVtYmVyIG9mIGxpbmVzIGZyb20gdmVydGljYWwg c3RhcnQuCj4gQEAgLTM4ODUsNyArMzg5MSw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMg ewo+ICAjIGRlZmluZSBUVl9WQlVSU1RfRU5EX0YxX01BU0sJCTB4MDAwMDAwZmYKPiAgIyBkZWZp bmUgVFZfVkJVUlNUX0VORF9GMV9TSElGVAkJMAo+ICAKPiAtI2RlZmluZSBUVl9WX0NUTF81CQkw eDY4MDRjCj4gKyNkZWZpbmUgVFZfVl9DVExfNQkJX1JFRygweDY4MDRjKQo+ICAvKgo+ICAgKiBP ZmZzZXQgdG8gc3RhcnQgb2YgdmVydGljYWwgY29sb3JidXJzdCwgbWVhc3VyZWQgaW4gb25lIGxl c3MgdGhhbiB0aGUKPiAgICogbnVtYmVyIG9mIGxpbmVzIGZyb20gdmVydGljYWwgc3RhcnQuCj4g QEAgLTM4OTksNyArMzkwNSw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjIGRl ZmluZSBUVl9WQlVSU1RfRU5EX0YyX01BU0sJCTB4MDAwMDAwZmYKPiAgIyBkZWZpbmUgVFZfVkJV UlNUX0VORF9GMl9TSElGVAkJMAo+ICAKPiAtI2RlZmluZSBUVl9WX0NUTF82CQkweDY4MDUwCj4g KyNkZWZpbmUgVFZfVl9DVExfNgkJX1JFRygweDY4MDUwKQo+ICAvKgo+ICAgKiBPZmZzZXQgdG8g c3RhcnQgb2YgdmVydGljYWwgY29sb3JidXJzdCwgbWVhc3VyZWQgaW4gb25lIGxlc3MgdGhhbiB0 aGUKPiAgICogbnVtYmVyIG9mIGxpbmVzIGZyb20gdmVydGljYWwgc3RhcnQuCj4gQEAgLTM5MTMs NyArMzkxOSw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjIGRlZmluZSBUVl9W QlVSU1RfRU5EX0YzX01BU0sJCTB4MDAwMDAwZmYKPiAgIyBkZWZpbmUgVFZfVkJVUlNUX0VORF9G M19TSElGVAkJMAo+ICAKPiAtI2RlZmluZSBUVl9WX0NUTF83CQkweDY4MDU0Cj4gKyNkZWZpbmUg VFZfVl9DVExfNwkJX1JFRygweDY4MDU0KQo+ICAvKgo+ICAgKiBPZmZzZXQgdG8gc3RhcnQgb2Yg dmVydGljYWwgY29sb3JidXJzdCwgbWVhc3VyZWQgaW4gb25lIGxlc3MgdGhhbiB0aGUKPiAgICog bnVtYmVyIG9mIGxpbmVzIGZyb20gdmVydGljYWwgc3RhcnQuCj4gQEAgLTM5MjcsNyArMzkzMyw3 IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjIGRlZmluZSBUVl9WQlVSU1RfRU5E X0Y0X01BU0sJCTB4MDAwMDAwZmYKPiAgIyBkZWZpbmUgVFZfVkJVUlNUX0VORF9GNF9TSElGVAkJ MAo+ICAKPiAtI2RlZmluZSBUVl9TQ19DVExfMQkJMHg2ODA2MAo+ICsjZGVmaW5lIFRWX1NDX0NU TF8xCQlfUkVHKDB4NjgwNjApCj4gIC8qIFR1cm5zIG9uIHRoZSBmaXJzdCBzdWJjYXJyaWVyIHBo YXNlIGdlbmVyYXRpb24gRERBICovCj4gICMgZGVmaW5lIFRWX1NDX0REQTFfRU4JCQkoMSA8PCAz MSkKPiAgLyogVHVybnMgb24gdGhlIGZpcnN0IHN1YmNhcnJpZXIgcGhhc2UgZ2VuZXJhdGlvbiBE REEgKi8KPiBAQCAtMzk0OSw3ICszOTU1LDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7 Cj4gICMgZGVmaW5lIFRWX1NDRERBMV9JTkNfTUFTSwkJMHgwMDAwMGZmZgo+ICAjIGRlZmluZSBU Vl9TQ0REQTFfSU5DX1NISUZUCQkwCj4gIAo+IC0jZGVmaW5lIFRWX1NDX0NUTF8yCQkweDY4MDY0 Cj4gKyNkZWZpbmUgVFZfU0NfQ1RMXzIJCV9SRUcoMHg2ODA2NCkKPiAgLyogU2V0cyB0aGUgcm9s bG92ZXIgZm9yIHRoZSBzZWNvbmQgc3ViY2FycmllciBwaGFzZSBnZW5lcmF0aW9uIEREQSAqLwo+ ICAjIGRlZmluZSBUVl9TQ0REQTJfU0laRV9NQVNLCQkweDdmZmYwMDAwCj4gICMgZGVmaW5lIFRW X1NDRERBMl9TSVpFX1NISUZUCQkxNgo+IEBAIC0zOTU3LDcgKzM5NjMsNyBAQCBlbnVtIHNrbF9k aXNwX3Bvd2VyX3dlbGxzIHsKPiAgIyBkZWZpbmUgVFZfU0NEREEyX0lOQ19NQVNLCQkweDAwMDA3 ZmZmCj4gICMgZGVmaW5lIFRWX1NDRERBMl9JTkNfU0hJRlQJCTAKPiAgCj4gLSNkZWZpbmUgVFZf U0NfQ1RMXzMJCTB4NjgwNjgKPiArI2RlZmluZSBUVl9TQ19DVExfMwkJX1JFRygweDY4MDY4KQo+ ICAvKiBTZXRzIHRoZSByb2xsb3ZlciBmb3IgdGhlIHRoaXJkIHN1YmNhcnJpZXIgcGhhc2UgZ2Vu ZXJhdGlvbiBEREEgKi8KPiAgIyBkZWZpbmUgVFZfU0NEREEzX1NJWkVfTUFTSwkJMHg3ZmZmMDAw MAo+ICAjIGRlZmluZSBUVl9TQ0REQTNfU0laRV9TSElGVAkJMTYKPiBAQCAtMzk2NSw3ICszOTcx LDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICMgZGVmaW5lIFRWX1NDRERBM19J TkNfTUFTSwkJMHgwMDAwN2ZmZgo+ICAjIGRlZmluZSBUVl9TQ0REQTNfSU5DX1NISUZUCQkwCj4g IAo+IC0jZGVmaW5lIFRWX1dJTl9QT1MJCTB4NjgwNzAKPiArI2RlZmluZSBUVl9XSU5fUE9TCQlf UkVHKDB4NjgwNzApCj4gIC8qIFggY29vcmRpbmF0ZSBvZiB0aGUgZGlzcGxheSBmcm9tIHRoZSBz dGFydCBvZiBob3Jpem9udGFsIGFjdGl2ZSAqLwo+ICAjIGRlZmluZSBUVl9YUE9TX01BU0sJCQkw eDFmZmYwMDAwCj4gICMgZGVmaW5lIFRWX1hQT1NfU0hJRlQJCQkxNgo+IEBAIC0zOTczLDcgKzM5 NzksNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgIyBkZWZpbmUgVFZfWVBPU19N QVNLCQkJMHgwMDAwMGZmZgo+ICAjIGRlZmluZSBUVl9ZUE9TX1NISUZUCQkJMAo+ICAKPiAtI2Rl ZmluZSBUVl9XSU5fU0laRQkJMHg2ODA3NAo+ICsjZGVmaW5lIFRWX1dJTl9TSVpFCQlfUkVHKDB4 NjgwNzQpCj4gIC8qIEhvcml6b250YWwgc2l6ZSBvZiB0aGUgZGlzcGxheSB3aW5kb3csIG1lYXN1 cmVkIGluIHBpeGVscyovCj4gICMgZGVmaW5lIFRWX1hTSVpFX01BU0sJCQkweDFmZmYwMDAwCj4g ICMgZGVmaW5lIFRWX1hTSVpFX1NISUZUCQkJMTYKPiBAQCAtMzk4NSw3ICszOTkxLDcgQEAgZW51 bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICMgZGVmaW5lIFRWX1lTSVpFX01BU0sJCQkweDAw MDAwZmZmCj4gICMgZGVmaW5lIFRWX1lTSVpFX1NISUZUCQkJMAo+ICAKPiAtI2RlZmluZSBUVl9G SUxURVJfQ1RMXzEJCTB4NjgwODAKPiArI2RlZmluZSBUVl9GSUxURVJfQ1RMXzEJCV9SRUcoMHg2 ODA4MCkKPiAgLyoKPiAgICogRW5hYmxlcyBhdXRvbWF0aWMgc2NhbGluZyBjYWxjdWxhdGlvbi4K PiAgICoKPiBAQCAtNDAxOCw3ICs0MDI0LDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7 Cj4gICMgZGVmaW5lIFRWX0hTQ0FMRV9GUkFDX01BU0sJCTB4MDAwMDNmZmYKPiAgIyBkZWZpbmUg VFZfSFNDQUxFX0ZSQUNfU0hJRlQJCTAKPiAgCj4gLSNkZWZpbmUgVFZfRklMVEVSX0NUTF8yCQkw eDY4MDg0Cj4gKyNkZWZpbmUgVFZfRklMVEVSX0NUTF8yCQlfUkVHKDB4NjgwODQpCj4gIC8qCj4g ICAqIFNldHMgdGhlIGludGVnZXIgcGFydCBvZiB0aGUgMy4xNSBmaXhlZC1wb2ludCB2ZXJ0aWNh bCBzY2FsaW5nIGZhY3Rvci4KPiAgICoKPiBAQCAtNDAzNCw3ICs0MDQwLDcgQEAgZW51bSBza2xf ZGlzcF9wb3dlcl93ZWxscyB7Cj4gICMgZGVmaW5lIFRWX1ZTQ0FMRV9GUkFDX01BU0sJCTB4MDAw MDdmZmYKPiAgIyBkZWZpbmUgVFZfVlNDQUxFX0ZSQUNfU0hJRlQJCTAKPiAgCj4gLSNkZWZpbmUg VFZfRklMVEVSX0NUTF8zCQkweDY4MDg4Cj4gKyNkZWZpbmUgVFZfRklMVEVSX0NUTF8zCQlfUkVH KDB4NjgwODgpCj4gIC8qCj4gICAqIFNldHMgdGhlIGludGVnZXIgcGFydCBvZiB0aGUgMy4xNSBm aXhlZC1wb2ludCB2ZXJ0aWNhbCBzY2FsaW5nIGZhY3Rvci4KPiAgICoKPiBAQCAtNDA1NCw3ICs0 MDYwLDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICMgZGVmaW5lIFRWX1ZTQ0FM RV9JUF9GUkFDX01BU0sJCTB4MDAwMDdmZmYKPiAgIyBkZWZpbmUgVFZfVlNDQUxFX0lQX0ZSQUNf U0hJRlQJCTAKPiAgCj4gLSNkZWZpbmUgVFZfQ0NfQ09OVFJPTAkJMHg2ODA5MAo+ICsjZGVmaW5l IFRWX0NDX0NPTlRST0wJCV9SRUcoMHg2ODA5MCkKPiAgIyBkZWZpbmUgVFZfQ0NfRU5BQkxFCQkJ KDEgPDwgMzEpCj4gIC8qCj4gICAqIFNwZWNpZmllcyB3aGljaCBmaWVsZCB0byBzZW5kIHRoZSBD QyBkYXRhIGluLgo+IEBAIC00MDcwLDcgKzQwNzYsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dl bGxzIHsKPiAgIyBkZWZpbmUgVFZfQ0NfTElORV9NQVNLCQkweDAwMDAwMDNmCj4gICMgZGVmaW5l IFRWX0NDX0xJTkVfU0hJRlQJCTAKPiAgCj4gLSNkZWZpbmUgVFZfQ0NfREFUQQkJMHg2ODA5NAo+ ICsjZGVmaW5lIFRWX0NDX0RBVEEJCV9SRUcoMHg2ODA5NCkKPiAgIyBkZWZpbmUgVFZfQ0NfUkRZ CQkJKDEgPDwgMzEpCj4gIC8qIFNlY29uZCB3b3JkIG9mIENDIGRhdGEgdG8gYmUgdHJhbnNtaXR0 ZWQuICovCj4gICMgZGVmaW5lIFRWX0NDX0RBVEFfMl9NQVNLCQkweDAwN2YwMDAwCj4gQEAgLTQw NzksMjAgKzQwODUsMjAgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICMgZGVmaW5l IFRWX0NDX0RBVEFfMV9NQVNLCQkweDAwMDAwMDdmCj4gICMgZGVmaW5lIFRWX0NDX0RBVEFfMV9T SElGVAkJMAo+ICAKPiAtI2RlZmluZSBUVl9IX0xVTUEoaSkJCSgweDY4MTAwICsgKGkpICogNCkg LyogNjAgcmVnaXN0ZXJzICovCj4gLSNkZWZpbmUgVFZfSF9DSFJPTUEoaSkJCSgweDY4MjAwICsg KGkpICogNCkgLyogNjAgcmVnaXN0ZXJzICovCj4gLSNkZWZpbmUgVFZfVl9MVU1BKGkpCQkoMHg2 ODMwMCArIChpKSAqIDQpIC8qIDQzIHJlZ2lzdGVycyAqLwo+IC0jZGVmaW5lIFRWX1ZfQ0hST01B KGkpCQkoMHg2ODQwMCArIChpKSAqIDQpIC8qIDQzIHJlZ2lzdGVycyAqLwo+ICsjZGVmaW5lIFRW X0hfTFVNQShpKQkJX1JFRygweDY4MTAwICsgKGkpICogNCkgLyogNjAgcmVnaXN0ZXJzICovCj4g KyNkZWZpbmUgVFZfSF9DSFJPTUEoaSkJCV9SRUcoMHg2ODIwMCArIChpKSAqIDQpIC8qIDYwIHJl Z2lzdGVycyAqLwo+ICsjZGVmaW5lIFRWX1ZfTFVNQShpKQkJX1JFRygweDY4MzAwICsgKGkpICog NCkgLyogNDMgcmVnaXN0ZXJzICovCj4gKyNkZWZpbmUgVFZfVl9DSFJPTUEoaSkJCV9SRUcoMHg2 ODQwMCArIChpKSAqIDQpIC8qIDQzIHJlZ2lzdGVycyAqLwo+ICAKPiAgLyogRGlzcGxheSBQb3J0 ICovCj4gLSNkZWZpbmUgRFBfQQkJCQkweDY0MDAwIC8qIGVEUCAqLwo+IC0jZGVmaW5lIERQX0IJ CQkJMHg2NDEwMAo+IC0jZGVmaW5lIERQX0MJCQkJMHg2NDIwMAo+IC0jZGVmaW5lIERQX0QJCQkJ MHg2NDMwMAo+ICsjZGVmaW5lIERQX0EJCQlfUkVHKDB4NjQwMDApIC8qIGVEUCAqLwo+ICsjZGVm aW5lIERQX0IJCQlfUkVHKDB4NjQxMDApCj4gKyNkZWZpbmUgRFBfQwkJCV9SRUcoMHg2NDIwMCkK PiArI2RlZmluZSBEUF9ECQkJX1JFRygweDY0MzAwKQo+ICAKPiAtI2RlZmluZSBWTFZfRFBfQgkJ CShWTFZfRElTUExBWV9CQVNFICsgRFBfQikKPiAtI2RlZmluZSBWTFZfRFBfQwkJCShWTFZfRElT UExBWV9CQVNFICsgRFBfQykKPiAtI2RlZmluZSBDSFZfRFBfRAkJCShWTFZfRElTUExBWV9CQVNF ICsgRFBfRCkKPiArI2RlZmluZSBWTFZfRFBfQgkJX1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHg2 NDEwMCkKPiArI2RlZmluZSBWTFZfRFBfQwkJX1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHg2NDIw MCkKPiArI2RlZmluZSBDSFZfRFBfRAkJX1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHg2NDMwMCkK PiAgCj4gICNkZWZpbmUgICBEUF9QT1JUX0VOCQkJKDEgPDwgMzEpCj4gICNkZWZpbmUgICBEUF9Q SVBFQl9TRUxFQ1QJCSgxIDw8IDMwKQo+IEBAIC00MjA3LDggKzQyMTMsOCBAQCBlbnVtIHNrbF9k aXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBfRFBEX0FVWF9DSF9EQVRBNAkoZGV2X3ByaXYt PmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQzMjApCj4gICNkZWZpbmUgX0RQRF9BVVhf Q0hfREFUQTUJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzI0KQo+ ICAKPiAtI2RlZmluZSBEUF9BVVhfQ0hfQ1RMKHBvcnQpCV9QT1JUKHBvcnQsIF9EUEFfQVVYX0NI X0NUTCwgX0RQQl9BVVhfQ0hfQ1RMKQo+IC0jZGVmaW5lIERQX0FVWF9DSF9EQVRBKHBvcnQsIGkp CShfUE9SVChwb3J0LCBfRFBBX0FVWF9DSF9EQVRBMSwgX0RQQl9BVVhfQ0hfREFUQTEpICsgKGkp ICogNCkgLyogNSByZWdpc3RlcnMgKi8KPiArI2RlZmluZSBEUF9BVVhfQ0hfQ1RMKHBvcnQpCV9S RUdfUE9SVChwb3J0LCBfRFBBX0FVWF9DSF9DVEwsIF9EUEJfQVVYX0NIX0NUTCkKPiArI2RlZmlu ZSBEUF9BVVhfQ0hfREFUQShwb3J0LCBpKQlfUkVHKF9QT1JUKHBvcnQsIF9EUEFfQVVYX0NIX0RB VEExLCBfRFBCX0FVWF9DSF9EQVRBMSkgKyAoaSkgKiA0KSAvKiA1IHJlZ2lzdGVycyAqLwo+ICAK PiAgI2RlZmluZSAgIERQX0FVWF9DSF9DVExfU0VORF9CVVNZCSAgICAoMSA8PCAzMSkKPiAgI2Rl ZmluZSAgIERQX0FVWF9DSF9DVExfRE9ORQkJICAgICgxIDw8IDMwKQo+IEBAIC00Mjg1LDEwICs0 MjkxLDEwIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIF9QSVBFQl9M SU5LX05fRzRYCTB4NzEwNjQKPiAgI2RlZmluZSAgIFBJUEVBX0RQX0xJTktfTl9NQVNLCQkJKDB4 ZmZmZmZmKQo+ICAKPiAtI2RlZmluZSBQSVBFX0RBVEFfTV9HNFgocGlwZSkgX1BJUEUocGlwZSwg X1BJUEVBX0RBVEFfTV9HNFgsIF9QSVBFQl9EQVRBX01fRzRYKQo+IC0jZGVmaW5lIFBJUEVfREFU QV9OX0c0WChwaXBlKSBfUElQRShwaXBlLCBfUElQRUFfREFUQV9OX0c0WCwgX1BJUEVCX0RBVEFf Tl9HNFgpCj4gLSNkZWZpbmUgUElQRV9MSU5LX01fRzRYKHBpcGUpIF9QSVBFKHBpcGUsIF9QSVBF QV9MSU5LX01fRzRYLCBfUElQRUJfTElOS19NX0c0WCkKPiAtI2RlZmluZSBQSVBFX0xJTktfTl9H NFgocGlwZSkgX1BJUEUocGlwZSwgX1BJUEVBX0xJTktfTl9HNFgsIF9QSVBFQl9MSU5LX05fRzRY KQo+ICsjZGVmaW5lIFBJUEVfREFUQV9NX0c0WChwaXBlKSBfUkVHX1BJUEUocGlwZSwgX1BJUEVB X0RBVEFfTV9HNFgsIF9QSVBFQl9EQVRBX01fRzRYKQo+ICsjZGVmaW5lIFBJUEVfREFUQV9OX0c0 WChwaXBlKSBfUkVHX1BJUEUocGlwZSwgX1BJUEVBX0RBVEFfTl9HNFgsIF9QSVBFQl9EQVRBX05f RzRYKQo+ICsjZGVmaW5lIFBJUEVfTElOS19NX0c0WChwaXBlKSBfUkVHX1BJUEUocGlwZSwgX1BJ UEVBX0xJTktfTV9HNFgsIF9QSVBFQl9MSU5LX01fRzRYKQo+ICsjZGVmaW5lIFBJUEVfTElOS19O X0c0WChwaXBlKSBfUkVHX1BJUEUocGlwZSwgX1BJUEVBX0xJTktfTl9HNFgsIF9QSVBFQl9MSU5L X05fRzRYKQo+ICAKPiAgLyogRGlzcGxheSAmIGN1cnNvciBjb250cm9sICovCj4gIAo+IEBAIC00 NDA0LDE1ICs0NDEwLDE1IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAgKi8KPiAg I2RlZmluZSBQSVBFX0VEUF9PRkZTRVQJMHg3ZjAwMAo+ICAKPiAtI2RlZmluZSBfUElQRTIocGlw ZSwgcmVnKSAoZGV2X3ByaXYtPmluZm8ucGlwZV9vZmZzZXRzW3BpcGVdIC0gXAo+ICsjZGVmaW5l IF9SRUdfUElQRTIocGlwZSwgcmVnKSBfUkVHKGRldl9wcml2LT5pbmZvLnBpcGVfb2Zmc2V0c1tw aXBlXSAtIFwKPiAgCWRldl9wcml2LT5pbmZvLnBpcGVfb2Zmc2V0c1tQSVBFX0FdICsgKHJlZykg KyBcCj4gIAlkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0KQo+ICAKPiAtI2RlZmlu ZSBQSVBFQ09ORihwaXBlKSBfUElQRTIocGlwZSwgX1BJUEVBQ09ORikKPiAtI2RlZmluZSBQSVBF RFNMKHBpcGUpICBfUElQRTIocGlwZSwgX1BJUEVBRFNMKQo+IC0jZGVmaW5lIFBJUEVGUkFNRShw aXBlKSBfUElQRTIocGlwZSwgX1BJUEVBRlJBTUVISUdIKQo+IC0jZGVmaW5lIFBJUEVGUkFNRVBJ WEVMKHBpcGUpICBfUElQRTIocGlwZSwgX1BJUEVBRlJBTUVQSVhFTCkKPiAtI2RlZmluZSBQSVBF U1RBVChwaXBlKSBfUElQRTIocGlwZSwgX1BJUEVBU1RBVCkKPiArI2RlZmluZSBQSVBFQ09ORihw aXBlKQkJX1JFR19QSVBFMihwaXBlLCBfUElQRUFDT05GKQo+ICsjZGVmaW5lIFBJUEVEU0wocGlw ZSkJCV9SRUdfUElQRTIocGlwZSwgX1BJUEVBRFNMKQo+ICsjZGVmaW5lIFBJUEVGUkFNRShwaXBl KQkJX1JFR19QSVBFMihwaXBlLCBfUElQRUFGUkFNRUhJR0gpCj4gKyNkZWZpbmUgUElQRUZSQU1F UElYRUwocGlwZSkJX1JFR19QSVBFMihwaXBlLCBfUElQRUFGUkFNRVBJWEVMKQo+ICsjZGVmaW5l IFBJUEVTVEFUKHBpcGUpCQlfUkVHX1BJUEUyKHBpcGUsIF9QSVBFQVNUQVQpCj4gIAo+ICAjZGVm aW5lIF9QSVBFX01JU0NfQQkJCTB4NzAwMzAKPiAgI2RlZmluZSBfUElQRV9NSVNDX0IJCQkweDcx MDMwCj4gQEAgLTQ0MjQsOSArNDQzMCw5IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ ICAjZGVmaW5lICAgUElQRU1JU0NfRElUSEVSX0VOQUJMRQkoMTw8NCkKPiAgI2RlZmluZSAgIFBJ UEVNSVNDX0RJVEhFUl9UWVBFX01BU0sJKDM8PDIpCj4gICNkZWZpbmUgICBQSVBFTUlTQ19ESVRI RVJfVFlQRV9TUAkoMDw8MikKPiAtI2RlZmluZSBQSVBFTUlTQyhwaXBlKSBfUElQRTIocGlwZSwg X1BJUEVfTUlTQ19BKQo+ICsjZGVmaW5lIFBJUEVNSVNDKHBpcGUpCQkJX1JFR19QSVBFMihwaXBl LCBfUElQRV9NSVNDX0EpCj4gIAo+IC0jZGVmaW5lIFZMVl9EUEZMSVBTVEFUCQkJCShWTFZfRElT UExBWV9CQVNFICsgMHg3MDAyOCkKPiArI2RlZmluZSBWTFZfRFBGTElQU1RBVAkJCQlfUkVHKFZM Vl9ESVNQTEFZX0JBU0UgKyAweDcwMDI4KQo+ICAjZGVmaW5lICAgUElQRUJfTElORV9DT01QQVJF X0lOVF9FTgkJKDE8PDI5KQo+ICAjZGVmaW5lICAgUElQRUJfSExJTkVfSU5UX0VOCQkJKDE8PDI4 KQo+ICAjZGVmaW5lICAgUElQRUJfVkJMQU5LX0lOVF9FTgkJCSgxPDwyNykKPiBAQCAtNDQ0Nyw3 ICs0NDUzLDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBTUFJJ VEVFX0ZMSVBET05FX0lOVF9FTgkJKDE8PDkpCj4gICNkZWZpbmUgICBQTEFORUNfRkxJUERPTkVf SU5UX0VOCQkoMTw8OCkKPiAgCj4gLSNkZWZpbmUgRFBJTlZHVFQJCQkJKFZMVl9ESVNQTEFZX0JB U0UgKyAweDcwMDJjKSAvKiBWTFYvQ0hWIG9ubHkgKi8KPiArI2RlZmluZSBEUElOVkdUVAkJCQlf UkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAweDcwMDJjKSAvKiBWTFYvQ0hWIG9ubHkgKi8KPiAgI2Rl ZmluZSAgIFNQUklURUZfSU5WQUxJRF9HVFRfSU5UX0VOCQkoMTw8MjcpCj4gICNkZWZpbmUgICBT UFJJVEVFX0lOVkFMSURfR1RUX0lOVF9FTgkJKDE8PDI2KQo+ICAjZGVmaW5lICAgUExBTkVDX0lO VkFMSURfR1RUX0lOVF9FTgkJKDE8PDI1KQo+IEBAIC00NDc3LDcgKzQ0ODMsNyBAQCBlbnVtIHNr bF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIERQSU5WR1RUX1NUQVRVU19NQVNLCQkJ MHhmZgo+ICAjZGVmaW5lICAgRFBJTlZHVFRfU1RBVFVTX01BU0tfQ0hWCQkweGZmZgo+ICAKPiAt I2RlZmluZSBEU1BBUkIJCQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4 NzAwMzApCj4gKyNkZWZpbmUgRFNQQVJCCQkJX1JFRyhkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21t aW9fb2Zmc2V0ICsgMHg3MDAzMCkKPiAgI2RlZmluZSAgIERTUEFSQl9DU1RBUlRfTUFTSwkoMHg3 ZiA8PCA3KQo+ICAjZGVmaW5lICAgRFNQQVJCX0NTVEFSVF9TSElGVAk3Cj4gICNkZWZpbmUgICBE U1BBUkJfQlNUQVJUX01BU0sJKDB4N2YpCj4gQEAgLTQ0OTIsNyArNDQ5OCw3IEBAIGVudW0gc2ts X2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgRFNQQVJCX1NQUklURUNfTUFTS19WTFYJ KDB4ZmYgPDwgMTYpCj4gICNkZWZpbmUgICBEU1BBUkJfU1BSSVRFRF9TSElGVF9WTFYJMjQKPiAg I2RlZmluZSAgIERTUEFSQl9TUFJJVEVEX01BU0tfVkxWCSgweGZmIDw8IDI0KQo+IC0jZGVmaW5l IERTUEFSQjIJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NzAwNjApIC8qIHZsdi9jaHYgKi8KPiAr I2RlZmluZSBEU1BBUkIyCQkJCV9SRUcoVkxWX0RJU1BMQVlfQkFTRSArIDB4NzAwNjApIC8qIHZs di9jaHYgKi8KPiAgI2RlZmluZSAgIERTUEFSQl9TUFJJVEVBX0hJX1NISUZUX1ZMVgkwCj4gICNk ZWZpbmUgICBEU1BBUkJfU1BSSVRFQV9ISV9NQVNLX1ZMVgkoMHgxIDw8IDApCj4gICNkZWZpbmUg ICBEU1BBUkJfU1BSSVRFQl9ISV9TSElGVF9WTFYJNAo+IEBAIC00NTA1LDE0ICs0NTExLDE0IEBA IGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgRFNQQVJCX1NQUklURUVf SElfTUFTS19WTFYJKDB4MSA8PCAxNikKPiAgI2RlZmluZSAgIERTUEFSQl9TUFJJVEVGX0hJX1NI SUZUX1ZMVgkyMAo+ICAjZGVmaW5lICAgRFNQQVJCX1NQUklURUZfSElfTUFTS19WTFYJKDB4MSA8 PCAyMCkKPiAtI2RlZmluZSBEU1BBUkIzCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDcwMDZjKSAv KiBjaHYgKi8KPiArI2RlZmluZSBEU1BBUkIzCQkJCV9SRUcoVkxWX0RJU1BMQVlfQkFTRSArIDB4 NzAwNmMpIC8qIGNodiAqLwo+ICAjZGVmaW5lICAgRFNQQVJCX1NQUklURUVfU0hJRlRfVkxWCTAK PiAgI2RlZmluZSAgIERTUEFSQl9TUFJJVEVFX01BU0tfVkxWCSgweGZmIDw8IDApCj4gICNkZWZp bmUgICBEU1BBUkJfU1BSSVRFRl9TSElGVF9WTFYJOAo+ICAjZGVmaW5lICAgRFNQQVJCX1NQUklU RUZfTUFTS19WTFYJKDB4ZmYgPDwgOCkKPiAgCj4gIC8qIHBudi9nZW40L2c0eC92bHYvY2h2ICov Cj4gLSNkZWZpbmUgRFNQRlcxCQkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQg KyAweDcwMDM0KQo+ICsjZGVmaW5lIERTUEZXMQkJX1JFRyhkZXZfcHJpdi0+aW5mby5kaXNwbGF5 X21taW9fb2Zmc2V0ICsgMHg3MDAzNCkKPiAgI2RlZmluZSAgIERTUEZXX1NSX1NISUZUCQkyMwo+ ICAjZGVmaW5lICAgRFNQRldfU1JfTUFTSwkJCSgweDFmZjw8MjMpCj4gICNkZWZpbmUgICBEU1BG V19DVVJTT1JCX1NISUZUCQkxNgo+IEBAIC00NTIzLDcgKzQ1MjksNyBAQCBlbnVtIHNrbF9kaXNw X3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIERTUEZXX1BMQU5FQV9TSElGVAkJMAo+ICAjZGVm aW5lICAgRFNQRldfUExBTkVBX01BU0sJCSgweDdmPDwwKQo+ICAjZGVmaW5lICAgRFNQRldfUExB TkVBX01BU0tfVkxWCQkoMHhmZjw8MCkgLyogdmx2L2NodiAqLwo+IC0jZGVmaW5lIERTUEZXMgkJ CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MDAzOCkKPiArI2RlZmlu ZSBEU1BGVzIJCV9SRUcoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NzAw MzgpCj4gICNkZWZpbmUgICBEU1BGV19GQkNfU1JfRU4JCSgxPDwzMSkJICAvKiBnNHggKi8KPiAg I2RlZmluZSAgIERTUEZXX0ZCQ19TUl9TSElGVAkJMjgKPiAgI2RlZmluZSAgIERTUEZXX0ZCQ19T Ul9NQVNLCQkoMHg3PDwyOCkgLyogZzR4ICovCj4gQEAgLTQ1MzksNyArNDU0NSw3IEBAIGVudW0g c2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgRFNQRldfU1BSSVRFQV9TSElGVAkJ MAo+ICAjZGVmaW5lICAgRFNQRldfU1BSSVRFQV9NQVNLCQkoMHg3Zjw8MCkgLyogZzR4ICovCj4g ICNkZWZpbmUgICBEU1BGV19TUFJJVEVBX01BU0tfVkxWCSgweGZmPDwwKSAvKiB2bHYvY2h2ICov Cj4gLSNkZWZpbmUgRFNQRlczCQkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQg KyAweDcwMDNjKQo+ICsjZGVmaW5lIERTUEZXMwkJX1JFRyhkZXZfcHJpdi0+aW5mby5kaXNwbGF5 X21taW9fb2Zmc2V0ICsgMHg3MDAzYykKPiAgI2RlZmluZSAgIERTUEZXX0hQTExfU1JfRU4JCSgx PDwzMSkKPiAgI2RlZmluZSAgIFBJTkVWSUVXX1NFTEZfUkVGUkVTSF9FTgkoMTw8MzApCj4gICNk ZWZpbmUgICBEU1BGV19DVVJTT1JfU1JfU0hJRlQJCTI0Cj4gQEAgLTQ1NTAsMTQgKzQ1NTYsMTQg QEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBEU1BGV19IUExMX1NS X01BU0sJCSgweDFmZjw8MCkKPiAgCj4gIC8qIHZsdi9jaHYgKi8KPiAtI2RlZmluZSBEU1BGVzQJ CQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NzAwNzApCj4gKyNkZWZpbmUgRFNQRlc0CQlfUkVHKFZM Vl9ESVNQTEFZX0JBU0UgKyAweDcwMDcwKQo+ICAjZGVmaW5lICAgRFNQRldfU1BSSVRFQl9XTTFf U0hJRlQJMTYKPiAgI2RlZmluZSAgIERTUEZXX1NQUklURUJfV00xX01BU0sJKDB4ZmY8PDE2KQo+ ICAjZGVmaW5lICAgRFNQRldfQ1VSU09SQV9XTTFfU0hJRlQJOAo+ICAjZGVmaW5lICAgRFNQRldf Q1VSU09SQV9XTTFfTUFTSwkoMHgzZjw8OCkKPiAgI2RlZmluZSAgIERTUEZXX1NQUklURUFfV00x X1NISUZUCTAKPiAgI2RlZmluZSAgIERTUEZXX1NQUklURUFfV00xX01BU0sJKDB4ZmY8PDApCj4g LSNkZWZpbmUgRFNQRlc1CQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDcwMDc0KQo+ICsjZGVmaW5l IERTUEZXNQkJX1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHg3MDA3NCkKPiAgI2RlZmluZSAgIERT UEZXX1BMQU5FQl9XTTFfU0hJRlQJMjQKPiAgI2RlZmluZSAgIERTUEZXX1BMQU5FQl9XTTFfTUFT SwkJKDB4ZmY8PDI0KQo+ICAjZGVmaW5lICAgRFNQRldfUExBTkVBX1dNMV9TSElGVAkxNgo+IEBA IC00NTY2LDExICs0NTcyLDExIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVm aW5lICAgRFNQRldfQ1VSU09SQl9XTTFfTUFTSwkoMHgzZjw8OCkKPiAgI2RlZmluZSAgIERTUEZX X0NVUlNPUl9TUl9XTTFfU0hJRlQJMAo+ICAjZGVmaW5lICAgRFNQRldfQ1VSU09SX1NSX1dNMV9N QVNLCSgweDNmPDwwKQo+IC0jZGVmaW5lIERTUEZXNgkJCShWTFZfRElTUExBWV9CQVNFICsgMHg3 MDA3OCkKPiArI2RlZmluZSBEU1BGVzYJCV9SRUcoVkxWX0RJU1BMQVlfQkFTRSArIDB4NzAwNzgp Cj4gICNkZWZpbmUgICBEU1BGV19TUl9XTTFfU0hJRlQJCTAKPiAgI2RlZmluZSAgIERTUEZXX1NS X1dNMV9NQVNLCQkoMHgxZmY8PDApCj4gLSNkZWZpbmUgRFNQRlc3CQkJKFZMVl9ESVNQTEFZX0JB U0UgKyAweDcwMDdjKQo+IC0jZGVmaW5lIERTUEZXN19DSFYJCShWTFZfRElTUExBWV9CQVNFICsg MHg3MDBiNCkgLyogd3RmICMxPyAqLwo+ICsjZGVmaW5lIERTUEZXNwkJX1JFRyhWTFZfRElTUExB WV9CQVNFICsgMHg3MDA3YykKPiArI2RlZmluZSBEU1BGVzdfQ0hWCV9SRUcoVkxWX0RJU1BMQVlf QkFTRSArIDB4NzAwYjQpIC8qIHd0ZiAjMT8gKi8KPiAgI2RlZmluZSAgIERTUEZXX1NQUklURURf V00xX1NISUZUCTI0Cj4gICNkZWZpbmUgICBEU1BGV19TUFJJVEVEX1dNMV9NQVNLCSgweGZmPDwy NCkKPiAgI2RlZmluZSAgIERTUEZXX1NQUklURURfU0hJRlQJCTE2Cj4gQEAgLTQ1NzksNyArNDU4 NSw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgRFNQRldfU1BS SVRFQ19XTTFfTUFTSwkoMHhmZjw8OCkKPiAgI2RlZmluZSAgIERTUEZXX1NQUklURUNfU0hJRlQJ CTAKPiAgI2RlZmluZSAgIERTUEZXX1NQUklURUNfTUFTS19WTFYJKDB4ZmY8PDApCj4gLSNkZWZp bmUgRFNQRlc4X0NIVgkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDcwMGI4KQo+ICsjZGVmaW5lIERT UEZXOF9DSFYJX1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHg3MDBiOCkKPiAgI2RlZmluZSAgIERT UEZXX1NQUklURUZfV00xX1NISUZUCTI0Cj4gICNkZWZpbmUgICBEU1BGV19TUFJJVEVGX1dNMV9N QVNLCSgweGZmPDwyNCkKPiAgI2RlZmluZSAgIERTUEZXX1NQUklURUZfU0hJRlQJCTE2Cj4gQEAg LTQ1ODgsNyArNDU5NCw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5l ICAgRFNQRldfU1BSSVRFRV9XTTFfTUFTSwkoMHhmZjw8OCkKPiAgI2RlZmluZSAgIERTUEZXX1NQ UklURUVfU0hJRlQJCTAKPiAgI2RlZmluZSAgIERTUEZXX1NQUklURUVfTUFTS19WTFYJKDB4ZmY8 PDApCj4gLSNkZWZpbmUgRFNQRlc5X0NIVgkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDcwMDdjKSAv KiB3dGYgIzI/ICovCj4gKyNkZWZpbmUgRFNQRlc5X0NIVglfUkVHKFZMVl9ESVNQTEFZX0JBU0Ug KyAweDcwMDdjKSAvKiB3dGYgIzI/ICovCj4gICNkZWZpbmUgICBEU1BGV19QTEFORUNfV00xX1NI SUZUCTI0Cj4gICNkZWZpbmUgICBEU1BGV19QTEFORUNfV00xX01BU0sJCSgweGZmPDwyNCkKPiAg I2RlZmluZSAgIERTUEZXX1BMQU5FQ19TSElGVAkJMTYKPiBAQCAtNDU5OSw3ICs0NjA1LDcgQEAg ZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBEU1BGV19DVVJTT1JDX01B U0sJCSgweDNmPDwwKQo+ICAKPiAgLyogdmx2L2NodiBoaWdoIG9yZGVyIGJpdHMgKi8KPiAtI2Rl ZmluZSBEU1BIT1dNCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDcwMDY0KQo+ICsjZGVmaW5lIERT UEhPV00JCV9SRUcoVkxWX0RJU1BMQVlfQkFTRSArIDB4NzAwNjQpCj4gICNkZWZpbmUgICBEU1BG V19TUl9ISV9TSElGVAkJMjQKPiAgI2RlZmluZSAgIERTUEZXX1NSX0hJX01BU0sJCSgzPDwyNCkg LyogMiBiaXRzIGZvciBjaHYsIDEgZm9yIHZsdiAqLwo+ICAjZGVmaW5lICAgRFNQRldfU1BSSVRF Rl9ISV9TSElGVAkyMwo+IEBAIC00NjIwLDcgKzQ2MjYsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2Vy X3dlbGxzIHsKPiAgI2RlZmluZSAgIERTUEZXX1NQUklURUFfSElfTUFTSwkJKDE8PDQpCj4gICNk ZWZpbmUgICBEU1BGV19QTEFORUFfSElfU0hJRlQJCTAKPiAgI2RlZmluZSAgIERTUEZXX1BMQU5F QV9ISV9NQVNLCQkoMTw8MCkKPiAtI2RlZmluZSBEU1BIT1dNMQkJKFZMVl9ESVNQTEFZX0JBU0Ug KyAweDcwMDY4KQo+ICsjZGVmaW5lIERTUEhPV00xCV9SRUcoVkxWX0RJU1BMQVlfQkFTRSArIDB4 NzAwNjgpCj4gICNkZWZpbmUgICBEU1BGV19TUl9XTTFfSElfU0hJRlQJCTI0Cj4gICNkZWZpbmUg ICBEU1BGV19TUl9XTTFfSElfTUFTSwkJKDM8PDI0KSAvKiAyIGJpdHMgZm9yIGNodiwgMSBmb3Ig dmx2ICovCj4gICNkZWZpbmUgICBEU1BGV19TUFJJVEVGX1dNMV9ISV9TSElGVAkyMwo+IEBAIC00 NjQzLDcgKzQ2NDksNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAg IERTUEZXX1BMQU5FQV9XTTFfSElfTUFTSwkoMTw8MCkKPiAgCj4gIC8qIGRyYWluIGxhdGVuY3kg cmVnaXN0ZXIgdmFsdWVzKi8KPiAtI2RlZmluZSBWTFZfRERMKHBpcGUpCQkJKFZMVl9ESVNQTEFZ X0JBU0UgKyAweDcwMDUwICsgNCAqIChwaXBlKSkKPiArI2RlZmluZSBWTFZfRERMKHBpcGUpCQkJ X1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHg3MDA1MCArIDQgKiAocGlwZSkpCj4gICNkZWZpbmUg RERMX0NVUlNPUl9TSElGVAkJMjQKPiAgI2RlZmluZSBERExfU1BSSVRFX1NISUZUKHNwcml0ZSkJ KDgrOCooc3ByaXRlKSkKPiAgI2RlZmluZSBERExfUExBTkVfU0hJRlQJCQkwCj4gQEAgLTQ2NTEs NyArNDY1Nyw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIERETF9Q UkVDSVNJT05fTE9XCQkoMDw8NykKPiAgI2RlZmluZSBEUkFJTl9MQVRFTkNZX01BU0sJCTB4N2YK PiAgCj4gLSNkZWZpbmUgQ0JSMV9WTFYJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NzA0MDApCj4g KyNkZWZpbmUgQ0JSMV9WTFYJCQlfUkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAweDcwNDAwKQo+ICAj ZGVmaW5lICBDQlJfUE5EX0RFQURMSU5FX0RJU0FCTEUJKDE8PDMxKQo+ICAjZGVmaW5lICBDQlJf UFdNX0NMT0NLX01VWF9TRUxFQ1QJKDE8PDMwKQo+ICAKPiBAQCAtNDcwNywzMyArNDcxMywzMyBA QCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIFBMQU5FX1dNX0JMT0NL U19NQVNLCTB4M2ZmCj4gIAo+ICAjZGVmaW5lIF9DVVJfV01fMChwaXBlKSBfUElQRShwaXBlLCBf Q1VSX1dNX0FfMCwgX0NVUl9XTV9CXzApCj4gLSNkZWZpbmUgQ1VSX1dNKHBpcGUsIGxldmVsKSAo X0NVUl9XTV8wKHBpcGUpICsgKCg0KSAqIChsZXZlbCkpKQo+IC0jZGVmaW5lIENVUl9XTV9UUkFO UyhwaXBlKSBfUElQRShwaXBlLCBfQ1VSX1dNX1RSQU5TX0FfMCwgX0NVUl9XTV9UUkFOU19CXzAp Cj4gKyNkZWZpbmUgQ1VSX1dNKHBpcGUsIGxldmVsKSBfUkVHKF9DVVJfV01fMChwaXBlKSArICgo NCkgKiAobGV2ZWwpKSkKPiArI2RlZmluZSBDVVJfV01fVFJBTlMocGlwZSkgX1JFR19QSVBFKHBp cGUsIF9DVVJfV01fVFJBTlNfQV8wLCBfQ1VSX1dNX1RSQU5TX0JfMCkKPiAgCj4gICNkZWZpbmUg X1BMQU5FX1dNXzEocGlwZSkgX1BJUEUocGlwZSwgX1BMQU5FX1dNXzFfQV8wLCBfUExBTkVfV01f MV9CXzApCj4gICNkZWZpbmUgX1BMQU5FX1dNXzIocGlwZSkgX1BJUEUocGlwZSwgX1BMQU5FX1dN XzJfQV8wLCBfUExBTkVfV01fMl9CXzApCj4gICNkZWZpbmUgX1BMQU5FX1dNX0JBU0UocGlwZSwg cGxhbmUpCVwKPiAgCQkJX1BMQU5FKHBsYW5lLCBfUExBTkVfV01fMShwaXBlKSwgX1BMQU5FX1dN XzIocGlwZSkpCj4gICNkZWZpbmUgUExBTkVfV00ocGlwZSwgcGxhbmUsIGxldmVsKQlcCj4gLQkJ CShfUExBTkVfV01fQkFTRShwaXBlLCBwbGFuZSkgKyAoKDQpICogKGxldmVsKSkpCj4gKwkJCV9S RUcoX1BMQU5FX1dNX0JBU0UocGlwZSwgcGxhbmUpICsgKCg0KSAqIChsZXZlbCkpKQo+ICAjZGVm aW5lIF9QTEFORV9XTV9UUkFOU18xKHBpcGUpCVwKPiAgCQkJX1BJUEUocGlwZSwgX1BMQU5FX1dN X1RSQU5TXzFfQV8wLCBfUExBTkVfV01fVFJBTlNfMV9CXzApCj4gICNkZWZpbmUgX1BMQU5FX1dN X1RSQU5TXzIocGlwZSkJXAo+ICAJCQlfUElQRShwaXBlLCBfUExBTkVfV01fVFJBTlNfMl9BXzAs IF9QTEFORV9XTV9UUkFOU18yX0JfMCkKPiAgI2RlZmluZSBQTEFORV9XTV9UUkFOUyhwaXBlLCBw bGFuZSkJXAo+IC0JCV9QTEFORShwbGFuZSwgX1BMQU5FX1dNX1RSQU5TXzEocGlwZSksIF9QTEFO RV9XTV9UUkFOU18yKHBpcGUpKQo+ICsJX1JFRyhfUExBTkUocGxhbmUsIF9QTEFORV9XTV9UUkFO U18xKHBpcGUpLCBfUExBTkVfV01fVFJBTlNfMihwaXBlKSkpCj4gIAo+ICAvKiBkZWZpbmUgdGhl IFdhdGVybWFyayByZWdpc3RlciBvbiBJcm9ubGFrZSAqLwo+IC0jZGVmaW5lIFdNMF9QSVBFQV9J TEsJCTB4NDUxMDAKPiArI2RlZmluZSBXTTBfUElQRUFfSUxLCQlfUkVHKDB4NDUxMDApCj4gICNk ZWZpbmUgIFdNMF9QSVBFX1BMQU5FX01BU0sJKDB4ZmZmZjw8MTYpCj4gICNkZWZpbmUgIFdNMF9Q SVBFX1BMQU5FX1NISUZUCTE2Cj4gICNkZWZpbmUgIFdNMF9QSVBFX1NQUklURV9NQVNLCSgweGZm PDw4KQo+ICAjZGVmaW5lICBXTTBfUElQRV9TUFJJVEVfU0hJRlQJOAo+ICAjZGVmaW5lICBXTTBf UElQRV9DVVJTT1JfTUFTSwkoMHhmZikKPiAgCj4gLSNkZWZpbmUgV00wX1BJUEVCX0lMSwkJMHg0 NTEwNAo+IC0jZGVmaW5lIFdNMF9QSVBFQ19JVkIJCTB4NDUyMDAKPiAtI2RlZmluZSBXTTFfTFBf SUxLCQkweDQ1MTA4Cj4gKyNkZWZpbmUgV00wX1BJUEVCX0lMSwkJX1JFRygweDQ1MTA0KQo+ICsj ZGVmaW5lIFdNMF9QSVBFQ19JVkIJCV9SRUcoMHg0NTIwMCkKPiArI2RlZmluZSBXTTFfTFBfSUxL CQlfUkVHKDB4NDUxMDgpCj4gICNkZWZpbmUgIFdNMV9MUF9TUl9FTgkJKDE8PDMxKQo+ICAjZGVm aW5lICBXTTFfTFBfTEFURU5DWV9TSElGVAkyNAo+ICAjZGVmaW5lICBXTTFfTFBfTEFURU5DWV9N QVNLCSgweDdmPDwyNCkKPiBAQCAtNDc0MywxMyArNDc0OSwxMyBAQCBlbnVtIHNrbF9kaXNwX3Bv d2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgV00xX0xQX1NSX01BU0sJCSgweDdmZjw8OCkKPiAgI2Rl ZmluZSAgV00xX0xQX1NSX1NISUZUCTgKPiAgI2RlZmluZSAgV00xX0xQX0NVUlNPUl9NQVNLCSgw eGZmKQo+IC0jZGVmaW5lIFdNMl9MUF9JTEsJCTB4NDUxMGMKPiArI2RlZmluZSBXTTJfTFBfSUxL CQlfUkVHKDB4NDUxMGMpCj4gICNkZWZpbmUgIFdNMl9MUF9FTgkJKDE8PDMxKQo+IC0jZGVmaW5l IFdNM19MUF9JTEsJCTB4NDUxMTAKPiArI2RlZmluZSBXTTNfTFBfSUxLCQlfUkVHKDB4NDUxMTAp Cj4gICNkZWZpbmUgIFdNM19MUF9FTgkJKDE8PDMxKQo+IC0jZGVmaW5lIFdNMVNfTFBfSUxLCQkw eDQ1MTIwCj4gLSNkZWZpbmUgV00yU19MUF9JVkIJCTB4NDUxMjQKPiAtI2RlZmluZSBXTTNTX0xQ X0lWQgkJMHg0NTEyOAo+ICsjZGVmaW5lIFdNMVNfTFBfSUxLCQlfUkVHKDB4NDUxMjApCj4gKyNk ZWZpbmUgV00yU19MUF9JVkIJCV9SRUcoMHg0NTEyNCkKPiArI2RlZmluZSBXTTNTX0xQX0lWQgkJ X1JFRygweDQ1MTI4KQo+ICAjZGVmaW5lICBXTTFTX0xQX0VOCQkoMTw8MzEpCj4gIAo+ICAjZGVm aW5lIEhTV19XTV9MUF9WQUwobGF0LCBmYmMsIHByaSwgY3VyKSBcCj4gQEAgLTQ3NTcsNyArNDc2 Myw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAJICgoZmJjKSA8PCBXTTFfTFBf RkJDX1NISUZUKSB8ICgocHJpKSA8PCBXTTFfTFBfU1JfU0hJRlQpIHwgKGN1cikpCj4gIAo+ICAv KiBNZW1vcnkgbGF0ZW5jeSB0aW1lciByZWdpc3RlciAqLwo+IC0jZGVmaW5lIE1MVFJfSUxLCQkw eDExMjIyCj4gKyNkZWZpbmUgTUxUUl9JTEsJCV9SRUcoMHgxMTIyMikKPiAgI2RlZmluZSAgTUxU Ul9XTTFfU0hJRlQJCTAKPiAgI2RlZmluZSAgTUxUUl9XTTJfU0hJRlQJCTgKPiAgLyogdGhlIHVu aXQgb2YgbWVtb3J5IHNlbGYtcmVmcmVzaCBsYXRlbmN5IHRpbWUgaXMgMC41dXMgKi8KPiBAQCAt NDc2NSw3ICs0NzcxLDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gIAo+ICAKPiAg LyogdGhlIGFkZHJlc3Mgd2hlcmUgd2UgZ2V0IGFsbCBraW5kcyBvZiBsYXRlbmN5IHZhbHVlICov Cj4gLSNkZWZpbmUgU1NLUEQJCQkweDVkMTAKPiArI2RlZmluZSBTU0tQRAkJCV9SRUcoMHg1ZDEw KQo+ICAjZGVmaW5lIFNTS1BEX1dNX01BU0sJCTB4M2YKPiAgI2RlZmluZSBTU0tQRF9XTTBfU0hJ RlQJCTAKPiAgI2RlZmluZSBTU0tQRF9XTTFfU0hJRlQJCTgKPiBAQCAtNDc5OCw4ICs0ODA0LDgg QEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gIC8qIEdNNDUrIGp1c3QgaGFzIHRvIGJl IGRpZmZlcmVudCAqLwo+ICAjZGVmaW5lIF9QSVBFQV9GUk1DT1VOVF9HNFgJMHg3MDA0MAo+ICAj ZGVmaW5lIF9QSVBFQV9GTElQQ09VTlRfRzRYCTB4NzAwNDQKPiAtI2RlZmluZSBQSVBFX0ZSTUNP VU5UX0c0WChwaXBlKSBfUElQRTIocGlwZSwgX1BJUEVBX0ZSTUNPVU5UX0c0WCkKPiAtI2RlZmlu ZSBQSVBFX0ZMSVBDT1VOVF9HNFgocGlwZSkgX1BJUEUyKHBpcGUsIF9QSVBFQV9GTElQQ09VTlRf RzRYKQo+ICsjZGVmaW5lIFBJUEVfRlJNQ09VTlRfRzRYKHBpcGUpIF9SRUdfUElQRTIocGlwZSwg X1BJUEVBX0ZSTUNPVU5UX0c0WCkKPiArI2RlZmluZSBQSVBFX0ZMSVBDT1VOVF9HNFgocGlwZSkg X1JFR19QSVBFMihwaXBlLCBfUElQRUFfRkxJUENPVU5UX0c0WCkKPiAgCj4gIC8qIEN1cnNvciBB ICYgQiByZWdzICovCj4gICNkZWZpbmUgX0NVUkFDTlRSCQkweDcwMDgwCj4gQEAgLTQ4MzcsNyAr NDg0Myw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgQ1VSU09S X1BPU19TSUdOICAgICAgIDB4ODAwMAo+ICAjZGVmaW5lICAgQ1VSU09SX1hfU0hJRlQgICAgICAg IDAKPiAgI2RlZmluZSAgIENVUlNPUl9ZX1NISUZUICAgICAgICAxNgo+IC0jZGVmaW5lIENVUlNJ WkUJCQkweDcwMGEwCj4gKyNkZWZpbmUgQ1VSU0laRQkJCV9SRUcoMHg3MDBhMCkKPiAgI2RlZmlu ZSBfQ1VSQkNOVFIJCTB4NzAwYzAKPiAgI2RlZmluZSBfQ1VSQkJBU0UJCTB4NzAwYzQKPiAgI2Rl ZmluZSBfQ1VSQlBPUwkJMHg3MDBjOAo+IEBAIC00ODQ2LDcgKzQ4NTIsNyBAQCBlbnVtIHNrbF9k aXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBfQ1VSQkJBU0VfSVZCCQkweDcxMDg0Cj4gICNk ZWZpbmUgX0NVUkJQT1NfSVZCCQkweDcxMDg4Cj4gIAo+IC0jZGVmaW5lIF9DVVJTT1IyKHBpcGUs IHJlZykgKGRldl9wcml2LT5pbmZvLmN1cnNvcl9vZmZzZXRzWyhwaXBlKV0gLSBcCj4gKyNkZWZp bmUgX0NVUlNPUjIocGlwZSwgcmVnKSBfUkVHKGRldl9wcml2LT5pbmZvLmN1cnNvcl9vZmZzZXRz WyhwaXBlKV0gLSBcCj4gIAlkZXZfcHJpdi0+aW5mby5jdXJzb3Jfb2Zmc2V0c1tQSVBFX0FdICsg KHJlZykgKyBcCj4gIAlkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0KQo+ICAKPiBA QCAtNDkwNywxNiArNDkxMywxNiBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2Rl ZmluZSBfRFNQQU9GRlNFVAkJCQkweDcwMUE0IC8qIEhTVyAqLwo+ICAjZGVmaW5lIF9EU1BBU1VS RkxJVkUJCQkJMHg3MDFBQwo+ICAKPiAtI2RlZmluZSBEU1BDTlRSKHBsYW5lKSBfUElQRTIocGxh bmUsIF9EU1BBQ05UUikKPiAtI2RlZmluZSBEU1BBRERSKHBsYW5lKSBfUElQRTIocGxhbmUsIF9E U1BBQUREUikKPiAtI2RlZmluZSBEU1BTVFJJREUocGxhbmUpIF9QSVBFMihwbGFuZSwgX0RTUEFT VFJJREUpCj4gLSNkZWZpbmUgRFNQUE9TKHBsYW5lKSBfUElQRTIocGxhbmUsIF9EU1BBUE9TKQo+ IC0jZGVmaW5lIERTUFNJWkUocGxhbmUpIF9QSVBFMihwbGFuZSwgX0RTUEFTSVpFKQo+IC0jZGVm aW5lIERTUFNVUkYocGxhbmUpIF9QSVBFMihwbGFuZSwgX0RTUEFTVVJGKQo+IC0jZGVmaW5lIERT UFRJTEVPRkYocGxhbmUpIF9QSVBFMihwbGFuZSwgX0RTUEFUSUxFT0ZGKQo+IC0jZGVmaW5lIERT UExJTk9GRihwbGFuZSkgRFNQQUREUihwbGFuZSkKPiAtI2RlZmluZSBEU1BPRkZTRVQocGxhbmUp IF9QSVBFMihwbGFuZSwgX0RTUEFPRkZTRVQpCj4gLSNkZWZpbmUgRFNQU1VSRkxJVkUocGxhbmUp IF9QSVBFMihwbGFuZSwgX0RTUEFTVVJGTElWRSkKPiArI2RlZmluZSBEU1BDTlRSKHBsYW5lKQkJ X1JFR19QSVBFMihwbGFuZSwgX0RTUEFDTlRSKQo+ICsjZGVmaW5lIERTUEFERFIocGxhbmUpCQlf UkVHX1BJUEUyKHBsYW5lLCBfRFNQQUFERFIpCj4gKyNkZWZpbmUgRFNQU1RSSURFKHBsYW5lKQlf UkVHX1BJUEUyKHBsYW5lLCBfRFNQQVNUUklERSkKPiArI2RlZmluZSBEU1BQT1MocGxhbmUpCQlf UkVHX1BJUEUyKHBsYW5lLCBfRFNQQVBPUykKPiArI2RlZmluZSBEU1BTSVpFKHBsYW5lKQkJX1JF R19QSVBFMihwbGFuZSwgX0RTUEFTSVpFKQo+ICsjZGVmaW5lIERTUFNVUkYocGxhbmUpCQlfUkVH X1BJUEUyKHBsYW5lLCBfRFNQQVNVUkYpCj4gKyNkZWZpbmUgRFNQVElMRU9GRihwbGFuZSkJX1JF R19QSVBFMihwbGFuZSwgX0RTUEFUSUxFT0ZGKQo+ICsjZGVmaW5lIERTUExJTk9GRihwbGFuZSkJ RFNQQUREUihwbGFuZSkKPiArI2RlZmluZSBEU1BPRkZTRVQocGxhbmUpCV9SRUdfUElQRTIocGxh bmUsIF9EU1BBT0ZGU0VUKQo+ICsjZGVmaW5lIERTUFNVUkZMSVZFKHBsYW5lKQlfUkVHX1BJUEUy KHBsYW5lLCBfRFNQQVNVUkZMSVZFKQo+ICAKPiAgLyogQ0hWIHBpcGUgQiBibGVuZGVyIGFuZCBw cmltYXJ5IHBsYW5lICovCj4gICNkZWZpbmUgX0NIVl9CTEVORF9BCQkweDYwYTAwCj4gQEAgLTQ5 MzAsMTEgKzQ5MzYsMTEgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUg X1BSSU1DTlNUQUxQSEFfQQkweDYwYTEwCj4gICNkZWZpbmUgICBQUklNX0NPTlNUX0FMUEhBX0VO QUJMRQkoMTw8MzEpCj4gIAo+IC0jZGVmaW5lIENIVl9CTEVORChwaXBlKSBfVFJBTlNDT0RFUjIo cGlwZSwgX0NIVl9CTEVORF9BKQo+IC0jZGVmaW5lIENIVl9DQU5WQVMocGlwZSkgX1RSQU5TQ09E RVIyKHBpcGUsIF9DSFZfQ0FOVkFTX0EpCj4gLSNkZWZpbmUgUFJJTVBPUyhwbGFuZSkgX1RSQU5T Q09ERVIyKHBsYW5lLCBfUFJJTVBPU19BKQo+IC0jZGVmaW5lIFBSSU1TSVpFKHBsYW5lKSBfVFJB TlNDT0RFUjIocGxhbmUsIF9QUklNU0laRV9BKQo+IC0jZGVmaW5lIFBSSU1DTlNUQUxQSEEocGxh bmUpIF9UUkFOU0NPREVSMihwbGFuZSwgX1BSSU1DTlNUQUxQSEFfQSkKPiArI2RlZmluZSBDSFZf QkxFTkQocGlwZSkJCV9SRUdfVFJBTlMyKHBpcGUsIF9DSFZfQkxFTkRfQSkKPiArI2RlZmluZSBD SFZfQ0FOVkFTKHBpcGUpCV9SRUdfVFJBTlMyKHBpcGUsIF9DSFZfQ0FOVkFTX0EpCj4gKyNkZWZp bmUgUFJJTVBPUyhwbGFuZSkJCV9SRUdfVFJBTlMyKHBsYW5lLCBfUFJJTVBPU19BKQo+ICsjZGVm aW5lIFBSSU1TSVpFKHBsYW5lKQkJX1JFR19UUkFOUzIocGxhbmUsIF9QUklNU0laRV9BKQo+ICsj ZGVmaW5lIFBSSU1DTlNUQUxQSEEocGxhbmUpCV9SRUdfVFJBTlMyKHBsYW5lLCBfUFJJTUNOU1RB TFBIQV9BKQo+ICAKPiAgLyogRGlzcGxheS9TcHJpdGUgYmFzZSBhZGRyZXNzIG1hY3JvcyAqLwo+ ICAjZGVmaW5lIERJU1BfQkFTRUFERFJfTUFTSwkoMHhmZmZmZjAwMCkKPiBAQCAtNDk1Miw5ICs0 OTU4LDkgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICAqIFsxMDoxZl0gYWxsCj4g ICAqIFszMDozMl0gYWxsCj4gICAqLwo+IC0jZGVmaW5lIFNXRjAoaSkJKGRldl9wcml2LT5pbmZv LmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcwNDEwICsgKGkpICogNCkKPiAtI2RlZmluZSBTV0Yx KGkpCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MTQxMCArIChpKSAq IDQpCj4gLSNkZWZpbmUgU1dGMyhpKQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNl dCArIDB4NzI0MTQgKyAoaSkgKiA0KQo+ICsjZGVmaW5lIFNXRjAoaSkJX1JFRyhkZXZfcHJpdi0+ aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MDQxMCArIChpKSAqIDQpCj4gKyNkZWZpbmUg U1dGMShpKQlfUkVHKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcxNDEw ICsgKGkpICogNCkKPiArI2RlZmluZSBTV0YzKGkpCV9SRUcoZGV2X3ByaXYtPmluZm8uZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NzI0MTQgKyAoaSkgKiA0KQo+ICAKPiAgLyogUGlwZSBCICovCj4g ICNkZWZpbmUgX1BJUEVCRFNMCQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCAr IDB4NzEwMDApCj4gQEAgLTUwMzYsMTggKzUwNDIsMTggQEAgZW51bSBza2xfZGlzcF9wb3dlcl93 ZWxscyB7Cj4gICNkZWZpbmUgX0RWU0JTQ0FMRQkJMHg3MzIwNAo+ICAjZGVmaW5lIF9EVlNCR0FN QwkJMHg3MzMwMAo+ICAKPiAtI2RlZmluZSBEVlNDTlRSKHBpcGUpIF9QSVBFKHBpcGUsIF9EVlNB Q05UUiwgX0RWU0JDTlRSKQo+IC0jZGVmaW5lIERWU0xJTk9GRihwaXBlKSBfUElQRShwaXBlLCBf RFZTQUxJTk9GRiwgX0RWU0JMSU5PRkYpCj4gLSNkZWZpbmUgRFZTU1RSSURFKHBpcGUpIF9QSVBF KHBpcGUsIF9EVlNBU1RSSURFLCBfRFZTQlNUUklERSkKPiAtI2RlZmluZSBEVlNQT1MocGlwZSkg X1BJUEUocGlwZSwgX0RWU0FQT1MsIF9EVlNCUE9TKQo+IC0jZGVmaW5lIERWU1NVUkYocGlwZSkg X1BJUEUocGlwZSwgX0RWU0FTVVJGLCBfRFZTQlNVUkYpCj4gLSNkZWZpbmUgRFZTS0VZTUFYKHBp cGUpIF9QSVBFKHBpcGUsIF9EVlNBS0VZTUFYVkFMLCBfRFZTQktFWU1BWFZBTCkKPiAtI2RlZmlu ZSBEVlNTSVpFKHBpcGUpIF9QSVBFKHBpcGUsIF9EVlNBU0laRSwgX0RWU0JTSVpFKQo+IC0jZGVm aW5lIERWU1NDQUxFKHBpcGUpIF9QSVBFKHBpcGUsIF9EVlNBU0NBTEUsIF9EVlNCU0NBTEUpCj4g LSNkZWZpbmUgRFZTVElMRU9GRihwaXBlKSBfUElQRShwaXBlLCBfRFZTQVRJTEVPRkYsIF9EVlNC VElMRU9GRikKPiAtI2RlZmluZSBEVlNLRVlWQUwocGlwZSkgX1BJUEUocGlwZSwgX0RWU0FLRVlW QUwsIF9EVlNCS0VZVkFMKQo+IC0jZGVmaW5lIERWU0tFWU1TSyhwaXBlKSBfUElQRShwaXBlLCBf RFZTQUtFWU1TSywgX0RWU0JLRVlNU0spCj4gLSNkZWZpbmUgRFZTU1VSRkxJVkUocGlwZSkgX1BJ UEUocGlwZSwgX0RWU0FTVVJGTElWRSwgX0RWU0JTVVJGTElWRSkKPiArI2RlZmluZSBEVlNDTlRS KHBpcGUpIF9SRUdfUElQRShwaXBlLCBfRFZTQUNOVFIsIF9EVlNCQ05UUikKPiArI2RlZmluZSBE VlNMSU5PRkYocGlwZSkgX1JFR19QSVBFKHBpcGUsIF9EVlNBTElOT0ZGLCBfRFZTQkxJTk9GRikK PiArI2RlZmluZSBEVlNTVFJJREUocGlwZSkgX1JFR19QSVBFKHBpcGUsIF9EVlNBU1RSSURFLCBf RFZTQlNUUklERSkKPiArI2RlZmluZSBEVlNQT1MocGlwZSkgX1JFR19QSVBFKHBpcGUsIF9EVlNB UE9TLCBfRFZTQlBPUykKPiArI2RlZmluZSBEVlNTVVJGKHBpcGUpIF9SRUdfUElQRShwaXBlLCBf RFZTQVNVUkYsIF9EVlNCU1VSRikKPiArI2RlZmluZSBEVlNLRVlNQVgocGlwZSkgX1JFR19QSVBF KHBpcGUsIF9EVlNBS0VZTUFYVkFMLCBfRFZTQktFWU1BWFZBTCkKPiArI2RlZmluZSBEVlNTSVpF KHBpcGUpIF9SRUdfUElQRShwaXBlLCBfRFZTQVNJWkUsIF9EVlNCU0laRSkKPiArI2RlZmluZSBE VlNTQ0FMRShwaXBlKSBfUkVHX1BJUEUocGlwZSwgX0RWU0FTQ0FMRSwgX0RWU0JTQ0FMRSkKPiAr I2RlZmluZSBEVlNUSUxFT0ZGKHBpcGUpIF9SRUdfUElQRShwaXBlLCBfRFZTQVRJTEVPRkYsIF9E VlNCVElMRU9GRikKPiArI2RlZmluZSBEVlNLRVlWQUwocGlwZSkgX1JFR19QSVBFKHBpcGUsIF9E VlNBS0VZVkFMLCBfRFZTQktFWVZBTCkKPiArI2RlZmluZSBEVlNLRVlNU0socGlwZSkgX1JFR19Q SVBFKHBpcGUsIF9EVlNBS0VZTVNLLCBfRFZTQktFWU1TSykKPiArI2RlZmluZSBEVlNTVVJGTElW RShwaXBlKSBfUkVHX1BJUEUocGlwZSwgX0RWU0FTVVJGTElWRSwgX0RWU0JTVVJGTElWRSkKPiAg Cj4gICNkZWZpbmUgX1NQUkFfQ1RMCQkweDcwMjgwCj4gICNkZWZpbmUgICBTUFJJVEVfRU5BQkxF CQkJKDE8PDMxKQo+IEBAIC01MTEwLDIwICs1MTE2LDIwIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJf d2VsbHMgewo+ICAjZGVmaW5lIF9TUFJCX1NDQUxFCQkweDcxMzA0Cj4gICNkZWZpbmUgX1NQUkJf R0FNQwkJMHg3MTQwMAo+ICAKPiAtI2RlZmluZSBTUFJDVEwocGlwZSkgX1BJUEUocGlwZSwgX1NQ UkFfQ1RMLCBfU1BSQl9DVEwpCj4gLSNkZWZpbmUgU1BSTElOT0ZGKHBpcGUpIF9QSVBFKHBpcGUs IF9TUFJBX0xJTk9GRiwgX1NQUkJfTElOT0ZGKQo+IC0jZGVmaW5lIFNQUlNUUklERShwaXBlKSBf UElQRShwaXBlLCBfU1BSQV9TVFJJREUsIF9TUFJCX1NUUklERSkKPiAtI2RlZmluZSBTUFJQT1Mo cGlwZSkgX1BJUEUocGlwZSwgX1NQUkFfUE9TLCBfU1BSQl9QT1MpCj4gLSNkZWZpbmUgU1BSU0la RShwaXBlKSBfUElQRShwaXBlLCBfU1BSQV9TSVpFLCBfU1BSQl9TSVpFKQo+IC0jZGVmaW5lIFNQ UktFWVZBTChwaXBlKSBfUElQRShwaXBlLCBfU1BSQV9LRVlWQUwsIF9TUFJCX0tFWVZBTCkKPiAt I2RlZmluZSBTUFJLRVlNU0socGlwZSkgX1BJUEUocGlwZSwgX1NQUkFfS0VZTVNLLCBfU1BSQl9L RVlNU0spCj4gLSNkZWZpbmUgU1BSU1VSRihwaXBlKSBfUElQRShwaXBlLCBfU1BSQV9TVVJGLCBf U1BSQl9TVVJGKQo+IC0jZGVmaW5lIFNQUktFWU1BWChwaXBlKSBfUElQRShwaXBlLCBfU1BSQV9L RVlNQVgsIF9TUFJCX0tFWU1BWCkKPiAtI2RlZmluZSBTUFJUSUxFT0ZGKHBpcGUpIF9QSVBFKHBp cGUsIF9TUFJBX1RJTEVPRkYsIF9TUFJCX1RJTEVPRkYpCj4gLSNkZWZpbmUgU1BST0ZGU0VUKHBp cGUpIF9QSVBFKHBpcGUsIF9TUFJBX09GRlNFVCwgX1NQUkJfT0ZGU0VUKQo+IC0jZGVmaW5lIFNQ UlNDQUxFKHBpcGUpIF9QSVBFKHBpcGUsIF9TUFJBX1NDQUxFLCBfU1BSQl9TQ0FMRSkKPiAtI2Rl ZmluZSBTUFJHQU1DKHBpcGUpIF9QSVBFKHBpcGUsIF9TUFJBX0dBTUMsIF9TUFJCX0dBTUMpCj4g LSNkZWZpbmUgU1BSU1VSRkxJVkUocGlwZSkgX1BJUEUocGlwZSwgX1NQUkFfU1VSRkxJVkUsIF9T UFJCX1NVUkZMSVZFKQo+ICsjZGVmaW5lIFNQUkNUTChwaXBlKSBfUkVHX1BJUEUocGlwZSwgX1NQ UkFfQ1RMLCBfU1BSQl9DVEwpCj4gKyNkZWZpbmUgU1BSTElOT0ZGKHBpcGUpIF9SRUdfUElQRShw aXBlLCBfU1BSQV9MSU5PRkYsIF9TUFJCX0xJTk9GRikKPiArI2RlZmluZSBTUFJTVFJJREUocGlw ZSkgX1JFR19QSVBFKHBpcGUsIF9TUFJBX1NUUklERSwgX1NQUkJfU1RSSURFKQo+ICsjZGVmaW5l IFNQUlBPUyhwaXBlKSBfUkVHX1BJUEUocGlwZSwgX1NQUkFfUE9TLCBfU1BSQl9QT1MpCj4gKyNk ZWZpbmUgU1BSU0laRShwaXBlKSBfUkVHX1BJUEUocGlwZSwgX1NQUkFfU0laRSwgX1NQUkJfU0la RSkKPiArI2RlZmluZSBTUFJLRVlWQUwocGlwZSkgX1JFR19QSVBFKHBpcGUsIF9TUFJBX0tFWVZB TCwgX1NQUkJfS0VZVkFMKQo+ICsjZGVmaW5lIFNQUktFWU1TSyhwaXBlKSBfUkVHX1BJUEUocGlw ZSwgX1NQUkFfS0VZTVNLLCBfU1BSQl9LRVlNU0spCj4gKyNkZWZpbmUgU1BSU1VSRihwaXBlKSBf UkVHX1BJUEUocGlwZSwgX1NQUkFfU1VSRiwgX1NQUkJfU1VSRikKPiArI2RlZmluZSBTUFJLRVlN QVgocGlwZSkgX1JFR19QSVBFKHBpcGUsIF9TUFJBX0tFWU1BWCwgX1NQUkJfS0VZTUFYKQo+ICsj ZGVmaW5lIFNQUlRJTEVPRkYocGlwZSkgX1JFR19QSVBFKHBpcGUsIF9TUFJBX1RJTEVPRkYsIF9T UFJCX1RJTEVPRkYpCj4gKyNkZWZpbmUgU1BST0ZGU0VUKHBpcGUpIF9SRUdfUElQRShwaXBlLCBf U1BSQV9PRkZTRVQsIF9TUFJCX09GRlNFVCkKPiArI2RlZmluZSBTUFJTQ0FMRShwaXBlKSBfUkVH X1BJUEUocGlwZSwgX1NQUkFfU0NBTEUsIF9TUFJCX1NDQUxFKQo+ICsjZGVmaW5lIFNQUkdBTUMo cGlwZSkgX1JFR19QSVBFKHBpcGUsIF9TUFJBX0dBTUMsIF9TUFJCX0dBTUMpCj4gKyNkZWZpbmUg U1BSU1VSRkxJVkUocGlwZSkgX1JFR19QSVBFKHBpcGUsIF9TUFJBX1NVUkZMSVZFLCBfU1BSQl9T VVJGTElWRSkKPiAgCj4gICNkZWZpbmUgX1NQQUNOVFIJCShWTFZfRElTUExBWV9CQVNFICsgMHg3 MjE4MCkKPiAgI2RlZmluZSAgIFNQX0VOQUJMRQkJCSgxPDwzMSkKPiBAQCAtNTE3MywxOCArNTE3 OSwxOCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBfU1BCQ09OU1RB TFBIQQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDcyMmE4KQo+ICAjZGVmaW5lIF9TUEJHQU1DCQko VkxWX0RJU1BMQVlfQkFTRSArIDB4NzIyZjQpCj4gIAo+IC0jZGVmaW5lIFNQQ05UUihwaXBlLCBw bGFuZSkgX1BJUEUoKHBpcGUpICogMiArIChwbGFuZSksIF9TUEFDTlRSLCBfU1BCQ05UUikKPiAt I2RlZmluZSBTUExJTk9GRihwaXBlLCBwbGFuZSkgX1BJUEUoKHBpcGUpICogMiArIChwbGFuZSks IF9TUEFMSU5PRkYsIF9TUEJMSU5PRkYpCj4gLSNkZWZpbmUgU1BTVFJJREUocGlwZSwgcGxhbmUp IF9QSVBFKChwaXBlKSAqIDIgKyAocGxhbmUpLCBfU1BBU1RSSURFLCBfU1BCU1RSSURFKQo+IC0j ZGVmaW5lIFNQUE9TKHBpcGUsIHBsYW5lKSBfUElQRSgocGlwZSkgKiAyICsgKHBsYW5lKSwgX1NQ QVBPUywgX1NQQlBPUykKPiAtI2RlZmluZSBTUFNJWkUocGlwZSwgcGxhbmUpIF9QSVBFKChwaXBl KSAqIDIgKyAocGxhbmUpLCBfU1BBU0laRSwgX1NQQlNJWkUpCj4gLSNkZWZpbmUgU1BLRVlNSU5W QUwocGlwZSwgcGxhbmUpIF9QSVBFKChwaXBlKSAqIDIgKyAocGxhbmUpLCBfU1BBS0VZTUlOVkFM LCBfU1BCS0VZTUlOVkFMKQo+IC0jZGVmaW5lIFNQS0VZTVNLKHBpcGUsIHBsYW5lKSBfUElQRSgo cGlwZSkgKiAyICsgKHBsYW5lKSwgX1NQQUtFWU1TSywgX1NQQktFWU1TSykKPiAtI2RlZmluZSBT UFNVUkYocGlwZSwgcGxhbmUpIF9QSVBFKChwaXBlKSAqIDIgKyAocGxhbmUpLCBfU1BBU1VSRiwg X1NQQlNVUkYpCj4gLSNkZWZpbmUgU1BLRVlNQVhWQUwocGlwZSwgcGxhbmUpIF9QSVBFKChwaXBl KSAqIDIgKyAocGxhbmUpLCBfU1BBS0VZTUFYVkFMLCBfU1BCS0VZTUFYVkFMKQo+IC0jZGVmaW5l IFNQVElMRU9GRihwaXBlLCBwbGFuZSkgX1BJUEUoKHBpcGUpICogMiArIChwbGFuZSksIF9TUEFU SUxFT0ZGLCBfU1BCVElMRU9GRikKPiAtI2RlZmluZSBTUENPTlNUQUxQSEEocGlwZSwgcGxhbmUp IF9QSVBFKChwaXBlKSAqIDIgKyAocGxhbmUpLCBfU1BBQ09OU1RBTFBIQSwgX1NQQkNPTlNUQUxQ SEEpCj4gLSNkZWZpbmUgU1BHQU1DKHBpcGUsIHBsYW5lKSBfUElQRSgocGlwZSkgKiAyICsgKHBs YW5lKSwgX1NQQUdBTUMsIF9TUEJHQU1DKQo+ICsjZGVmaW5lIFNQQ05UUihwaXBlLCBwbGFuZSkg X1JFR19QSVBFKChwaXBlKSAqIDIgKyAocGxhbmUpLCBfU1BBQ05UUiwgX1NQQkNOVFIpCj4gKyNk ZWZpbmUgU1BMSU5PRkYocGlwZSwgcGxhbmUpIF9SRUdfUElQRSgocGlwZSkgKiAyICsgKHBsYW5l KSwgX1NQQUxJTk9GRiwgX1NQQkxJTk9GRikKPiArI2RlZmluZSBTUFNUUklERShwaXBlLCBwbGFu ZSkgX1JFR19QSVBFKChwaXBlKSAqIDIgKyAocGxhbmUpLCBfU1BBU1RSSURFLCBfU1BCU1RSSURF KQo+ICsjZGVmaW5lIFNQUE9TKHBpcGUsIHBsYW5lKSBfUkVHX1BJUEUoKHBpcGUpICogMiArIChw bGFuZSksIF9TUEFQT1MsIF9TUEJQT1MpCj4gKyNkZWZpbmUgU1BTSVpFKHBpcGUsIHBsYW5lKSBf UkVHX1BJUEUoKHBpcGUpICogMiArIChwbGFuZSksIF9TUEFTSVpFLCBfU1BCU0laRSkKPiArI2Rl ZmluZSBTUEtFWU1JTlZBTChwaXBlLCBwbGFuZSkgX1JFR19QSVBFKChwaXBlKSAqIDIgKyAocGxh bmUpLCBfU1BBS0VZTUlOVkFMLCBfU1BCS0VZTUlOVkFMKQo+ICsjZGVmaW5lIFNQS0VZTVNLKHBp cGUsIHBsYW5lKSBfUkVHX1BJUEUoKHBpcGUpICogMiArIChwbGFuZSksIF9TUEFLRVlNU0ssIF9T UEJLRVlNU0spCj4gKyNkZWZpbmUgU1BTVVJGKHBpcGUsIHBsYW5lKSBfUkVHX1BJUEUoKHBpcGUp ICogMiArIChwbGFuZSksIF9TUEFTVVJGLCBfU1BCU1VSRikKPiArI2RlZmluZSBTUEtFWU1BWFZB TChwaXBlLCBwbGFuZSkgX1JFR19QSVBFKChwaXBlKSAqIDIgKyAocGxhbmUpLCBfU1BBS0VZTUFY VkFMLCBfU1BCS0VZTUFYVkFMKQo+ICsjZGVmaW5lIFNQVElMRU9GRihwaXBlLCBwbGFuZSkgX1JF R19QSVBFKChwaXBlKSAqIDIgKyAocGxhbmUpLCBfU1BBVElMRU9GRiwgX1NQQlRJTEVPRkYpCj4g KyNkZWZpbmUgU1BDT05TVEFMUEhBKHBpcGUsIHBsYW5lKSBfUkVHX1BJUEUoKHBpcGUpICogMiAr IChwbGFuZSksIF9TUEFDT05TVEFMUEhBLCBfU1BCQ09OU1RBTFBIQSkKPiArI2RlZmluZSBTUEdB TUMocGlwZSwgcGxhbmUpIF9SRUdfUElQRSgocGlwZSkgKiAyICsgKHBsYW5lKSwgX1NQQUdBTUMs IF9TUEJHQU1DKQo+ICAKPiAgLyoKPiAgICogQ0hWIHBpcGUgQiBzcHJpdGUgQ1NDCj4gQEAgLTUx OTMsMjkgKzUxOTksMjkgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICAqIHx5Z3wg PSB8YzMgYzQgYzV8IHggfHlnICsgeWdfaW9mZnwgKyB8eWdfb29mZnwKPiAgICogfGNifCAgIHxj NiBjNyBjOHwgICB8Y2IgKyBjcl9pb2ZmfCAgIHxjYl9vb2ZmfAo+ICAgKi8KPiAtI2RlZmluZSBT UENTQ1lHT0ZGKHNwcml0ZSkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDZkOTAwICsgKHNwcml0ZSkg KiAweDEwMDApCj4gLSNkZWZpbmUgU1BDU0NDQk9GRihzcHJpdGUpCShWTFZfRElTUExBWV9CQVNF ICsgMHg2ZDkwNCArIChzcHJpdGUpICogMHgxMDAwKQo+IC0jZGVmaW5lIFNQQ1NDQ1JPRkYoc3By aXRlKQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NmQ5MDggKyAoc3ByaXRlKSAqIDB4MTAwMCkKPiAr I2RlZmluZSBTUENTQ1lHT0ZGKHNwcml0ZSkJX1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHg2ZDkw MCArIChzcHJpdGUpICogMHgxMDAwKQo+ICsjZGVmaW5lIFNQQ1NDQ0JPRkYoc3ByaXRlKQlfUkVH KFZMVl9ESVNQTEFZX0JBU0UgKyAweDZkOTA0ICsgKHNwcml0ZSkgKiAweDEwMDApCj4gKyNkZWZp bmUgU1BDU0NDUk9GRihzcHJpdGUpCV9SRUcoVkxWX0RJU1BMQVlfQkFTRSArIDB4NmQ5MDggKyAo c3ByaXRlKSAqIDB4MTAwMCkKPiAgI2RlZmluZSAgU1BDU0NfT09GRih4KQkJKCgoeCkgJiAweDdm ZikgPDwgMTYpIC8qIHMxMSAqLwo+ICAjZGVmaW5lICBTUENTQ19JT0ZGKHgpCQkoKCh4KSAmIDB4 N2ZmKSA8PCAwKSAvKiBzMTEgKi8KPiAgCj4gLSNkZWZpbmUgU1BDU0NDMDEoc3ByaXRlKQkoVkxW X0RJU1BMQVlfQkFTRSArIDB4NmQ5MGMgKyAoc3ByaXRlKSAqIDB4MTAwMCkKPiAtI2RlZmluZSBT UENTQ0MyMyhzcHJpdGUpCShWTFZfRElTUExBWV9CQVNFICsgMHg2ZDkxMCArIChzcHJpdGUpICog MHgxMDAwKQo+IC0jZGVmaW5lIFNQQ1NDQzQ1KHNwcml0ZSkJKFZMVl9ESVNQTEFZX0JBU0UgKyAw eDZkOTE0ICsgKHNwcml0ZSkgKiAweDEwMDApCj4gLSNkZWZpbmUgU1BDU0NDNjcoc3ByaXRlKQko VkxWX0RJU1BMQVlfQkFTRSArIDB4NmQ5MTggKyAoc3ByaXRlKSAqIDB4MTAwMCkKPiAtI2RlZmlu ZSBTUENTQ0M4KHNwcml0ZSkJCShWTFZfRElTUExBWV9CQVNFICsgMHg2ZDkxYyArIChzcHJpdGUp ICogMHgxMDAwKQo+ICsjZGVmaW5lIFNQQ1NDQzAxKHNwcml0ZSkJX1JFRyhWTFZfRElTUExBWV9C QVNFICsgMHg2ZDkwYyArIChzcHJpdGUpICogMHgxMDAwKQo+ICsjZGVmaW5lIFNQQ1NDQzIzKHNw cml0ZSkJX1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHg2ZDkxMCArIChzcHJpdGUpICogMHgxMDAw KQo+ICsjZGVmaW5lIFNQQ1NDQzQ1KHNwcml0ZSkJX1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHg2 ZDkxNCArIChzcHJpdGUpICogMHgxMDAwKQo+ICsjZGVmaW5lIFNQQ1NDQzY3KHNwcml0ZSkJX1JF RyhWTFZfRElTUExBWV9CQVNFICsgMHg2ZDkxOCArIChzcHJpdGUpICogMHgxMDAwKQo+ICsjZGVm aW5lIFNQQ1NDQzgoc3ByaXRlKQkJX1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHg2ZDkxYyArIChz cHJpdGUpICogMHgxMDAwKQo+ICAjZGVmaW5lICBTUENTQ19DMSh4KQkJKCgoeCkgJiAweDdmZmYp IDw8IDE2KSAvKiBzMy4xMiAqLwo+ICAjZGVmaW5lICBTUENTQ19DMCh4KQkJKCgoeCkgJiAweDdm ZmYpIDw8IDApIC8qIHMzLjEyICovCj4gIAo+IC0jZGVmaW5lIFNQQ1NDWUdJQ0xBTVAoc3ByaXRl KQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NmQ5MjAgKyAoc3ByaXRlKSAqIDB4MTAwMCkKPiAtI2Rl ZmluZSBTUENTQ0NCSUNMQU1QKHNwcml0ZSkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDZkOTI0ICsg KHNwcml0ZSkgKiAweDEwMDApCj4gLSNkZWZpbmUgU1BDU0NDUklDTEFNUChzcHJpdGUpCShWTFZf RElTUExBWV9CQVNFICsgMHg2ZDkyOCArIChzcHJpdGUpICogMHgxMDAwKQo+ICsjZGVmaW5lIFNQ Q1NDWUdJQ0xBTVAoc3ByaXRlKQlfUkVHKFZMVl9ESVNQTEFZX0JBU0UgKyAweDZkOTIwICsgKHNw cml0ZSkgKiAweDEwMDApCj4gKyNkZWZpbmUgU1BDU0NDQklDTEFNUChzcHJpdGUpCV9SRUcoVkxW X0RJU1BMQVlfQkFTRSArIDB4NmQ5MjQgKyAoc3ByaXRlKSAqIDB4MTAwMCkKPiArI2RlZmluZSBT UENTQ0NSSUNMQU1QKHNwcml0ZSkJX1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHg2ZDkyOCArIChz cHJpdGUpICogMHgxMDAwKQo+ICAjZGVmaW5lICBTUENTQ19JTUFYKHgpCQkoKCh4KSAmIDB4N2Zm KSA8PCAxNikgLyogczExICovCj4gICNkZWZpbmUgIFNQQ1NDX0lNSU4oeCkJCSgoKHgpICYgMHg3 ZmYpIDw8IDApIC8qIHMxMSAqLwo+ICAKPiAtI2RlZmluZSBTUENTQ1lHT0NMQU1QKHNwcml0ZSkJ KFZMVl9ESVNQTEFZX0JBU0UgKyAweDZkOTJjICsgKHNwcml0ZSkgKiAweDEwMDApCj4gLSNkZWZp bmUgU1BDU0NDQk9DTEFNUChzcHJpdGUpCShWTFZfRElTUExBWV9CQVNFICsgMHg2ZDkzMCArIChz cHJpdGUpICogMHgxMDAwKQo+IC0jZGVmaW5lIFNQQ1NDQ1JPQ0xBTVAoc3ByaXRlKQkoVkxWX0RJ U1BMQVlfQkFTRSArIDB4NmQ5MzQgKyAoc3ByaXRlKSAqIDB4MTAwMCkKPiArI2RlZmluZSBTUENT Q1lHT0NMQU1QKHNwcml0ZSkJX1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHg2ZDkyYyArIChzcHJp dGUpICogMHgxMDAwKQo+ICsjZGVmaW5lIFNQQ1NDQ0JPQ0xBTVAoc3ByaXRlKQlfUkVHKFZMVl9E SVNQTEFZX0JBU0UgKyAweDZkOTMwICsgKHNwcml0ZSkgKiAweDEwMDApCj4gKyNkZWZpbmUgU1BD U0NDUk9DTEFNUChzcHJpdGUpCV9SRUcoVkxWX0RJU1BMQVlfQkFTRSArIDB4NmQ5MzQgKyAoc3By aXRlKSAqIDB4MTAwMCkKPiAgI2RlZmluZSAgU1BDU0NfT01BWCh4KQkJKCh4KSA8PCAxNikgLyog dTEwICovCj4gICNkZWZpbmUgIFNQQ1NDX09NSU4oeCkJCSgoeCkgPDwgMCkgLyogdTEwICovCj4g IAo+IEBAIC01Mjk2LDcgKzUzMDIsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAg I2RlZmluZSBfUExBTkVfQ1RMXzIocGlwZSkJX1BJUEUocGlwZSwgX1BMQU5FX0NUTF8yX0EsIF9Q TEFORV9DVExfMl9CKQo+ICAjZGVmaW5lIF9QTEFORV9DVExfMyhwaXBlKQlfUElQRShwaXBlLCBf UExBTkVfQ1RMXzNfQSwgX1BMQU5FX0NUTF8zX0IpCj4gICNkZWZpbmUgUExBTkVfQ1RMKHBpcGUs IHBsYW5lKQlcCj4gLQlfUExBTkUocGxhbmUsIF9QTEFORV9DVExfMShwaXBlKSwgX1BMQU5FX0NU TF8yKHBpcGUpKQo+ICsJX1JFR19QTEFORShwbGFuZSwgX1BMQU5FX0NUTF8xKHBpcGUpLCBfUExB TkVfQ1RMXzIocGlwZSkpCj4gIAo+ICAjZGVmaW5lIF9QTEFORV9TVFJJREVfMV9CCQkJMHg3MTE4 OAo+ICAjZGVmaW5lIF9QTEFORV9TVFJJREVfMl9CCQkJMHg3MTI4OAo+IEBAIC01MzA4LDcgKzUz MTQsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBfUExBTkVfU1RS SURFXzMocGlwZSkJXAo+ICAJX1BJUEUocGlwZSwgX1BMQU5FX1NUUklERV8zX0EsIF9QTEFORV9T VFJJREVfM19CKQo+ICAjZGVmaW5lIFBMQU5FX1NUUklERShwaXBlLCBwbGFuZSkJXAo+IC0JX1BM QU5FKHBsYW5lLCBfUExBTkVfU1RSSURFXzEocGlwZSksIF9QTEFORV9TVFJJREVfMihwaXBlKSkK PiArCV9SRUdfUExBTkUocGxhbmUsIF9QTEFORV9TVFJJREVfMShwaXBlKSwgX1BMQU5FX1NUUklE RV8yKHBpcGUpKQo+ICAKPiAgI2RlZmluZSBfUExBTkVfUE9TXzFfQgkJCQkweDcxMThjCj4gICNk ZWZpbmUgX1BMQU5FX1BPU18yX0IJCQkJMHg3MTI4Ywo+IEBAIC01MzE3LDcgKzUzMjMsNyBAQCBl bnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBfUExBTkVfUE9TXzIocGlwZSkJ X1BJUEUocGlwZSwgX1BMQU5FX1BPU18yX0EsIF9QTEFORV9QT1NfMl9CKQo+ICAjZGVmaW5lIF9Q TEFORV9QT1NfMyhwaXBlKQlfUElQRShwaXBlLCBfUExBTkVfUE9TXzNfQSwgX1BMQU5FX1BPU18z X0IpCj4gICNkZWZpbmUgUExBTkVfUE9TKHBpcGUsIHBsYW5lKQlcCj4gLQlfUExBTkUocGxhbmUs IF9QTEFORV9QT1NfMShwaXBlKSwgX1BMQU5FX1BPU18yKHBpcGUpKQo+ICsJX1JFR19QTEFORShw bGFuZSwgX1BMQU5FX1BPU18xKHBpcGUpLCBfUExBTkVfUE9TXzIocGlwZSkpCj4gIAo+ICAjZGVm aW5lIF9QTEFORV9TSVpFXzFfQgkJCQkweDcxMTkwCj4gICNkZWZpbmUgX1BMQU5FX1NJWkVfMl9C CQkJCTB4NzEyOTAKPiBAQCAtNTMyNiw3ICs1MzMyLDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93 ZWxscyB7Cj4gICNkZWZpbmUgX1BMQU5FX1NJWkVfMihwaXBlKQlfUElQRShwaXBlLCBfUExBTkVf U0laRV8yX0EsIF9QTEFORV9TSVpFXzJfQikKPiAgI2RlZmluZSBfUExBTkVfU0laRV8zKHBpcGUp CV9QSVBFKHBpcGUsIF9QTEFORV9TSVpFXzNfQSwgX1BMQU5FX1NJWkVfM19CKQo+ICAjZGVmaW5l IFBMQU5FX1NJWkUocGlwZSwgcGxhbmUpCVwKPiAtCV9QTEFORShwbGFuZSwgX1BMQU5FX1NJWkVf MShwaXBlKSwgX1BMQU5FX1NJWkVfMihwaXBlKSkKPiArCV9SRUdfUExBTkUocGxhbmUsIF9QTEFO RV9TSVpFXzEocGlwZSksIF9QTEFORV9TSVpFXzIocGlwZSkpCj4gIAo+ICAjZGVmaW5lIF9QTEFO RV9TVVJGXzFfQgkJCQkweDcxMTljCj4gICNkZWZpbmUgX1BMQU5FX1NVUkZfMl9CCQkJCTB4NzEy OWMKPiBAQCAtNTMzNSwzNSArNTM0MSwzNSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsK PiAgI2RlZmluZSBfUExBTkVfU1VSRl8yKHBpcGUpCV9QSVBFKHBpcGUsIF9QTEFORV9TVVJGXzJf QSwgX1BMQU5FX1NVUkZfMl9CKQo+ICAjZGVmaW5lIF9QTEFORV9TVVJGXzMocGlwZSkJX1BJUEUo cGlwZSwgX1BMQU5FX1NVUkZfM19BLCBfUExBTkVfU1VSRl8zX0IpCj4gICNkZWZpbmUgUExBTkVf U1VSRihwaXBlLCBwbGFuZSkJXAo+IC0JX1BMQU5FKHBsYW5lLCBfUExBTkVfU1VSRl8xKHBpcGUp LCBfUExBTkVfU1VSRl8yKHBpcGUpKQo+ICsJX1JFR19QTEFORShwbGFuZSwgX1BMQU5FX1NVUkZf MShwaXBlKSwgX1BMQU5FX1NVUkZfMihwaXBlKSkKPiAgCj4gICNkZWZpbmUgX1BMQU5FX09GRlNF VF8xX0IJCQkweDcxMWE0Cj4gICNkZWZpbmUgX1BMQU5FX09GRlNFVF8yX0IJCQkweDcxMmE0Cj4g ICNkZWZpbmUgX1BMQU5FX09GRlNFVF8xKHBpcGUpIF9QSVBFKHBpcGUsIF9QTEFORV9PRkZTRVRf MV9BLCBfUExBTkVfT0ZGU0VUXzFfQikKPiAgI2RlZmluZSBfUExBTkVfT0ZGU0VUXzIocGlwZSkg X1BJUEUocGlwZSwgX1BMQU5FX09GRlNFVF8yX0EsIF9QTEFORV9PRkZTRVRfMl9CKQo+ICAjZGVm aW5lIFBMQU5FX09GRlNFVChwaXBlLCBwbGFuZSkJXAo+IC0JX1BMQU5FKHBsYW5lLCBfUExBTkVf T0ZGU0VUXzEocGlwZSksIF9QTEFORV9PRkZTRVRfMihwaXBlKSkKPiArCV9SRUdfUExBTkUocGxh bmUsIF9QTEFORV9PRkZTRVRfMShwaXBlKSwgX1BMQU5FX09GRlNFVF8yKHBpcGUpKQo+ICAKPiAg I2RlZmluZSBfUExBTkVfS0VZVkFMXzFfQgkJCTB4NzExOTQKPiAgI2RlZmluZSBfUExBTkVfS0VZ VkFMXzJfQgkJCTB4NzEyOTQKPiAgI2RlZmluZSBfUExBTkVfS0VZVkFMXzEocGlwZSkgX1BJUEUo cGlwZSwgX1BMQU5FX0tFWVZBTF8xX0EsIF9QTEFORV9LRVlWQUxfMV9CKQo+ICAjZGVmaW5lIF9Q TEFORV9LRVlWQUxfMihwaXBlKSBfUElQRShwaXBlLCBfUExBTkVfS0VZVkFMXzJfQSwgX1BMQU5F X0tFWVZBTF8yX0IpCj4gICNkZWZpbmUgUExBTkVfS0VZVkFMKHBpcGUsIHBsYW5lKQlcCj4gLQlf UExBTkUocGxhbmUsIF9QTEFORV9LRVlWQUxfMShwaXBlKSwgX1BMQU5FX0tFWVZBTF8yKHBpcGUp KQo+ICsJX1JFR19QTEFORShwbGFuZSwgX1BMQU5FX0tFWVZBTF8xKHBpcGUpLCBfUExBTkVfS0VZ VkFMXzIocGlwZSkpCj4gIAo+ICAjZGVmaW5lIF9QTEFORV9LRVlNU0tfMV9CCQkJMHg3MTE5OAo+ ICAjZGVmaW5lIF9QTEFORV9LRVlNU0tfMl9CCQkJMHg3MTI5OAo+ICAjZGVmaW5lIF9QTEFORV9L RVlNU0tfMShwaXBlKSBfUElQRShwaXBlLCBfUExBTkVfS0VZTVNLXzFfQSwgX1BMQU5FX0tFWU1T S18xX0IpCj4gICNkZWZpbmUgX1BMQU5FX0tFWU1TS18yKHBpcGUpIF9QSVBFKHBpcGUsIF9QTEFO RV9LRVlNU0tfMl9BLCBfUExBTkVfS0VZTVNLXzJfQikKPiAgI2RlZmluZSBQTEFORV9LRVlNU0so cGlwZSwgcGxhbmUpCVwKPiAtCV9QTEFORShwbGFuZSwgX1BMQU5FX0tFWU1TS18xKHBpcGUpLCBf UExBTkVfS0VZTVNLXzIocGlwZSkpCj4gKwlfUkVHX1BMQU5FKHBsYW5lLCBfUExBTkVfS0VZTVNL XzEocGlwZSksIF9QTEFORV9LRVlNU0tfMihwaXBlKSkKPiAgCj4gICNkZWZpbmUgX1BMQU5FX0tF WU1BWF8xX0IJCQkweDcxMWEwCj4gICNkZWZpbmUgX1BMQU5FX0tFWU1BWF8yX0IJCQkweDcxMmEw Cj4gICNkZWZpbmUgX1BMQU5FX0tFWU1BWF8xKHBpcGUpIF9QSVBFKHBpcGUsIF9QTEFORV9LRVlN QVhfMV9BLCBfUExBTkVfS0VZTUFYXzFfQikKPiAgI2RlZmluZSBfUExBTkVfS0VZTUFYXzIocGlw ZSkgX1BJUEUocGlwZSwgX1BMQU5FX0tFWU1BWF8yX0EsIF9QTEFORV9LRVlNQVhfMl9CKQo+ICAj ZGVmaW5lIFBMQU5FX0tFWU1BWChwaXBlLCBwbGFuZSkJXAo+IC0JX1BMQU5FKHBsYW5lLCBfUExB TkVfS0VZTUFYXzEocGlwZSksIF9QTEFORV9LRVlNQVhfMihwaXBlKSkKPiArCV9SRUdfUExBTkUo cGxhbmUsIF9QTEFORV9LRVlNQVhfMShwaXBlKSwgX1BMQU5FX0tFWU1BWF8yKHBpcGUpKQo+ICAK PiAgI2RlZmluZSBfUExBTkVfQlVGX0NGR18xX0IJCQkweDcxMjdjCj4gICNkZWZpbmUgX1BMQU5F X0JVRl9DRkdfMl9CCQkJMHg3MTM3Ywo+IEBAIC01MzcyLDcgKzUzNzgsNyBAQCBlbnVtIHNrbF9k aXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBfUExBTkVfQlVGX0NGR18yKHBpcGUpCVwKPiAg CV9QSVBFKHBpcGUsIF9QTEFORV9CVUZfQ0ZHXzJfQSwgX1BMQU5FX0JVRl9DRkdfMl9CKQo+ICAj ZGVmaW5lIFBMQU5FX0JVRl9DRkcocGlwZSwgcGxhbmUpCVwKPiAtCV9QTEFORShwbGFuZSwgX1BM QU5FX0JVRl9DRkdfMShwaXBlKSwgX1BMQU5FX0JVRl9DRkdfMihwaXBlKSkKPiArCV9SRUdfUExB TkUocGxhbmUsIF9QTEFORV9CVUZfQ0ZHXzEocGlwZSksIF9QTEFORV9CVUZfQ0ZHXzIocGlwZSkp Cj4gIAo+ICAjZGVmaW5lIF9QTEFORV9OVjEyX0JVRl9DRkdfMV9CCQkweDcxMjc4Cj4gICNkZWZp bmUgX1BMQU5FX05WMTJfQlVGX0NGR18yX0IJCTB4NzEzNzgKPiBAQCAtNTM4MSwyNiArNTM4Nywy NiBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBfUExBTkVfTlYxMl9C VUZfQ0ZHXzIocGlwZSkJXAo+ICAJX1BJUEUocGlwZSwgX1BMQU5FX05WMTJfQlVGX0NGR18yX0Es IF9QTEFORV9OVjEyX0JVRl9DRkdfMl9CKQo+ICAjZGVmaW5lIFBMQU5FX05WMTJfQlVGX0NGRyhw aXBlLCBwbGFuZSkJXAo+IC0JX1BMQU5FKHBsYW5lLCBfUExBTkVfTlYxMl9CVUZfQ0ZHXzEocGlw ZSksIF9QTEFORV9OVjEyX0JVRl9DRkdfMihwaXBlKSkKPiArCV9SRUdfUExBTkUocGxhbmUsIF9Q TEFORV9OVjEyX0JVRl9DRkdfMShwaXBlKSwgX1BMQU5FX05WMTJfQlVGX0NGR18yKHBpcGUpKQo+ ICAKPiAgLyogU0tMIG5ldyBjdXJzb3IgcmVnaXN0ZXJzICovCj4gICNkZWZpbmUgX0NVUl9CVUZf Q0ZHX0EJCQkJMHg3MDE3Ywo+ICAjZGVmaW5lIF9DVVJfQlVGX0NGR19CCQkJCTB4NzExN2MKPiAt I2RlZmluZSBDVVJfQlVGX0NGRyhwaXBlKQlfUElQRShwaXBlLCBfQ1VSX0JVRl9DRkdfQSwgX0NV Ul9CVUZfQ0ZHX0IpCj4gKyNkZWZpbmUgQ1VSX0JVRl9DRkcocGlwZSkJX1JFR19QSVBFKHBpcGUs IF9DVVJfQlVGX0NGR19BLCBfQ1VSX0JVRl9DRkdfQikKPiAgCj4gIC8qIFZCSU9TIHJlZ3MgKi8K PiAtI2RlZmluZSBWR0FDTlRSTAkJMHg3MTQwMAo+ICsjZGVmaW5lIFZHQUNOVFJMCQlfUkVHKDB4 NzE0MDApCj4gICMgZGVmaW5lIFZHQV9ESVNQX0RJU0FCTEUJCQkoMSA8PCAzMSkKPiAgIyBkZWZp bmUgVkdBXzJYX01PREUJCQkJKDEgPDwgMzApCj4gICMgZGVmaW5lIFZHQV9QSVBFX0JfU0VMRUNU CQkJKDEgPDwgMjkpCj4gIAo+IC0jZGVmaW5lIFZMVl9WR0FDTlRSTAkJKFZMVl9ESVNQTEFZX0JB U0UgKyAweDcxNDAwKQo+ICsjZGVmaW5lIFZMVl9WR0FDTlRSTAkJX1JFRyhWTFZfRElTUExBWV9C QVNFICsgMHg3MTQwMCkKPiAgCj4gIC8qIElyb25sYWtlICovCj4gIAo+IC0jZGVmaW5lIENQVV9W R0FDTlRSTAkweDQxMDAwCj4gKyNkZWZpbmUgQ1BVX1ZHQUNOVFJMCV9SRUcoMHg0MTAwMCkKPiAg Cj4gLSNkZWZpbmUgRElHSVRBTF9QT1JUX0hPVFBMVUdfQ05UUkwJMHg0NDAzMAo+ICsjZGVmaW5l IERJR0lUQUxfUE9SVF9IT1RQTFVHX0NOVFJMCV9SRUcoMHg0NDAzMCkKPiAgI2RlZmluZSAgRElH SVRBTF9QT1JUQV9IT1RQTFVHX0VOQUJMRQkJKDEgPDwgNCkKPiAgI2RlZmluZSAgRElHSVRBTF9Q T1JUQV9QVUxTRV9EVVJBVElPTl8ybXMJKDAgPDwgMikgLyogcHJlLUhTVyAqLwo+ICAjZGVmaW5l ICBESUdJVEFMX1BPUlRBX1BVTFNFX0RVUkFUSU9OXzRfNW1zCSgxIDw8IDIpIC8qIHByZS1IU1cg Ki8KPiBAQCAtNTQxMywyNiArNTQxOSwyNiBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsK PiAgI2RlZmluZSAgRElHSVRBTF9QT1JUQV9IT1RQTFVHX0xPTkdfREVURUNUCSgyIDw8IDApCj4g IAo+ICAvKiByZWZyZXNoIHJhdGUgaGFyZHdhcmUgY29udHJvbCAqLwo+IC0jZGVmaW5lIFJSX0hX X0NUTCAgICAgICAweDQ1MzAwCj4gKyNkZWZpbmUgUlJfSFdfQ1RMICAgICAgIF9SRUcoMHg0NTMw MCkKPiAgI2RlZmluZSAgUlJfSFdfTE9XX1BPV0VSX0ZSQU1FU19NQVNLICAgIDB4ZmYKPiAgI2Rl ZmluZSAgUlJfSFdfSElHSF9QT1dFUl9GUkFNRVNfTUFTSyAgIDB4ZmYwMAo+ICAKPiAtI2RlZmlu ZSBGRElfUExMX0JJT1NfMCAgMHg0NjAwMAo+ICsjZGVmaW5lIEZESV9QTExfQklPU18wICBfUkVH KDB4NDYwMDApCj4gICNkZWZpbmUgIEZESV9QTExfRkJfQ0xPQ0tfTUFTSyAgMHhmZgo+IC0jZGVm aW5lIEZESV9QTExfQklPU18xICAweDQ2MDA0Cj4gLSNkZWZpbmUgRkRJX1BMTF9CSU9TXzIgIDB4 NDYwMDgKPiAtI2RlZmluZSBESVNQTEFZX1BPUlRfUExMX0JJT1NfMCAgICAgICAgIDB4NDYwMGMK PiAtI2RlZmluZSBESVNQTEFZX1BPUlRfUExMX0JJT1NfMSAgICAgICAgIDB4NDYwMTAKPiAtI2Rl ZmluZSBESVNQTEFZX1BPUlRfUExMX0JJT1NfMiAgICAgICAgIDB4NDYwMTQKPiArI2RlZmluZSBG RElfUExMX0JJT1NfMSAgX1JFRygweDQ2MDA0KQo+ICsjZGVmaW5lIEZESV9QTExfQklPU18yICBf UkVHKDB4NDYwMDgpCj4gKyNkZWZpbmUgRElTUExBWV9QT1JUX1BMTF9CSU9TXzAgICAgICAgICBf UkVHKDB4NDYwMGMpCj4gKyNkZWZpbmUgRElTUExBWV9QT1JUX1BMTF9CSU9TXzEgICAgICAgICBf UkVHKDB4NDYwMTApCj4gKyNkZWZpbmUgRElTUExBWV9QT1JUX1BMTF9CSU9TXzIgICAgICAgICBf UkVHKDB4NDYwMTQpCj4gIAo+IC0jZGVmaW5lIFBDSF8zRENHRElTMAkJMHg0NjAyMAo+ICsjZGVm aW5lIFBDSF8zRENHRElTMAkJX1JFRygweDQ2MDIwKQo+ICAjIGRlZmluZSBNQVJJVU5JVF9DTE9D S19HQVRFX0RJU0FCTEUJCSgxIDw8IDE4KQo+ICAjIGRlZmluZSBTVlNNVU5JVF9DTE9DS19HQVRF X0RJU0FCTEUJCSgxIDw8IDEpCj4gIAo+IC0jZGVmaW5lIFBDSF8zRENHRElTMQkJMHg0NjAyNAo+ ICsjZGVmaW5lIFBDSF8zRENHRElTMQkJX1JFRygweDQ2MDI0KQo+ICAjIGRlZmluZSBWRk1VTklU X0NMT0NLX0dBVEVfRElTQUJMRQkJKDEgPDwgMTEpCj4gIAo+IC0jZGVmaW5lIEZESV9QTExfRlJF UV9DVEwgICAgICAgIDB4NDYwMzAKPiArI2RlZmluZSBGRElfUExMX0ZSRVFfQ1RMICAgICAgICBf UkVHKDB4NDYwMzApCj4gICNkZWZpbmUgIEZESV9QTExfRlJFUV9DSEFOR0VfUkVRVUVTVCAgICAo MTw8MjQpCj4gICNkZWZpbmUgIEZESV9QTExfRlJFUV9MT0NLX0xJTUlUX01BU0sgICAweGZmZjAw Cj4gICNkZWZpbmUgIEZESV9QTExfRlJFUV9ESVNBQkxFX0NPVU5UX0xJTUlUX01BU0sgIDB4ZmYK PiBAQCAtNTQ2OSwxNCArNTQ3NSwxNCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAg I2RlZmluZSBfUElQRUJfTElOS19NMgkJMHg2MTA0OAo+ICAjZGVmaW5lIF9QSVBFQl9MSU5LX04y CQkweDYxMDRjCj4gIAo+IC0jZGVmaW5lIFBJUEVfREFUQV9NMSh0cmFuKSBfVFJBTlNDT0RFUjIo dHJhbiwgX1BJUEVBX0RBVEFfTTEpCj4gLSNkZWZpbmUgUElQRV9EQVRBX04xKHRyYW4pIF9UUkFO U0NPREVSMih0cmFuLCBfUElQRUFfREFUQV9OMSkKPiAtI2RlZmluZSBQSVBFX0RBVEFfTTIodHJh bikgX1RSQU5TQ09ERVIyKHRyYW4sIF9QSVBFQV9EQVRBX00yKQo+IC0jZGVmaW5lIFBJUEVfREFU QV9OMih0cmFuKSBfVFJBTlNDT0RFUjIodHJhbiwgX1BJUEVBX0RBVEFfTjIpCj4gLSNkZWZpbmUg UElQRV9MSU5LX00xKHRyYW4pIF9UUkFOU0NPREVSMih0cmFuLCBfUElQRUFfTElOS19NMSkKPiAt I2RlZmluZSBQSVBFX0xJTktfTjEodHJhbikgX1RSQU5TQ09ERVIyKHRyYW4sIF9QSVBFQV9MSU5L X04xKQo+IC0jZGVmaW5lIFBJUEVfTElOS19NMih0cmFuKSBfVFJBTlNDT0RFUjIodHJhbiwgX1BJ UEVBX0xJTktfTTIpCj4gLSNkZWZpbmUgUElQRV9MSU5LX04yKHRyYW4pIF9UUkFOU0NPREVSMih0 cmFuLCBfUElQRUFfTElOS19OMikKPiArI2RlZmluZSBQSVBFX0RBVEFfTTEodHJhbikgX1JFR19U UkFOUzIodHJhbiwgX1BJUEVBX0RBVEFfTTEpCj4gKyNkZWZpbmUgUElQRV9EQVRBX04xKHRyYW4p IF9SRUdfVFJBTlMyKHRyYW4sIF9QSVBFQV9EQVRBX04xKQo+ICsjZGVmaW5lIFBJUEVfREFUQV9N Mih0cmFuKSBfUkVHX1RSQU5TMih0cmFuLCBfUElQRUFfREFUQV9NMikKPiArI2RlZmluZSBQSVBF X0RBVEFfTjIodHJhbikgX1JFR19UUkFOUzIodHJhbiwgX1BJUEVBX0RBVEFfTjIpCj4gKyNkZWZp bmUgUElQRV9MSU5LX00xKHRyYW4pIF9SRUdfVFJBTlMyKHRyYW4sIF9QSVBFQV9MSU5LX00xKQo+ ICsjZGVmaW5lIFBJUEVfTElOS19OMSh0cmFuKSBfUkVHX1RSQU5TMih0cmFuLCBfUElQRUFfTElO S19OMSkKPiArI2RlZmluZSBQSVBFX0xJTktfTTIodHJhbikgX1JFR19UUkFOUzIodHJhbiwgX1BJ UEVBX0xJTktfTTIpCj4gKyNkZWZpbmUgUElQRV9MSU5LX04yKHRyYW4pIF9SRUdfVFJBTlMyKHRy YW4sIF9QSVBFQV9MSU5LX04yKQo+ICAKPiAgLyogQ1BVIHBhbmVsIGZpdHRlciAqLwo+ICAvKiBJ VkIrIGhhcyAzIGZpdHRlcnMsIDAgaXMgN3g1IGNhcGFibGUsIHRoZSBvdGhlciB0d28gb25seSAz eDMgKi8KPiBAQCAtNTQ5OSwxMSArNTUwNSwxMSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxz IHsKPiAgI2RlZmluZSBfUEZBX0hTQ0FMRQkJMHg2ODA5MAo+ICAjZGVmaW5lIF9QRkJfSFNDQUxF CQkweDY4ODkwCj4gIAo+IC0jZGVmaW5lIFBGX0NUTChwaXBlKQkJX1BJUEUocGlwZSwgX1BGQV9D VExfMSwgX1BGQl9DVExfMSkKPiAtI2RlZmluZSBQRl9XSU5fU1oocGlwZSkJCV9QSVBFKHBpcGUs IF9QRkFfV0lOX1NaLCBfUEZCX1dJTl9TWikKPiAtI2RlZmluZSBQRl9XSU5fUE9TKHBpcGUpCV9Q SVBFKHBpcGUsIF9QRkFfV0lOX1BPUywgX1BGQl9XSU5fUE9TKQo+IC0jZGVmaW5lIFBGX1ZTQ0FM RShwaXBlKQkJX1BJUEUocGlwZSwgX1BGQV9WU0NBTEUsIF9QRkJfVlNDQUxFKQo+IC0jZGVmaW5l IFBGX0hTQ0FMRShwaXBlKQkJX1BJUEUocGlwZSwgX1BGQV9IU0NBTEUsIF9QRkJfSFNDQUxFKQo+ ICsjZGVmaW5lIFBGX0NUTChwaXBlKQkJX1JFR19QSVBFKHBpcGUsIF9QRkFfQ1RMXzEsIF9QRkJf Q1RMXzEpCj4gKyNkZWZpbmUgUEZfV0lOX1NaKHBpcGUpCQlfUkVHX1BJUEUocGlwZSwgX1BGQV9X SU5fU1osIF9QRkJfV0lOX1NaKQo+ICsjZGVmaW5lIFBGX1dJTl9QT1MocGlwZSkJX1JFR19QSVBF KHBpcGUsIF9QRkFfV0lOX1BPUywgX1BGQl9XSU5fUE9TKQo+ICsjZGVmaW5lIFBGX1ZTQ0FMRShw aXBlKQkJX1JFR19QSVBFKHBpcGUsIF9QRkFfVlNDQUxFLCBfUEZCX1ZTQ0FMRSkKPiArI2RlZmlu ZSBQRl9IU0NBTEUocGlwZSkJCV9SRUdfUElQRShwaXBlLCBfUEZBX0hTQ0FMRSwgX1BGQl9IU0NB TEUpCj4gIAo+ICAjZGVmaW5lIF9QU0FfQ1RMCQkweDY4MTgwCj4gICNkZWZpbmUgX1BTQl9DVEwJ CTB4Njg5ODAKPiBAQCAtNTUxMyw5ICs1NTE5LDkgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxs cyB7Cj4gICNkZWZpbmUgX1BTQV9XSU5fUE9TCQkweDY4MTcwCj4gICNkZWZpbmUgX1BTQl9XSU5f UE9TCQkweDY4OTcwCj4gIAo+IC0jZGVmaW5lIFBTX0NUTChwaXBlKQkJX1BJUEUocGlwZSwgX1BT QV9DVEwsIF9QU0JfQ1RMKQo+IC0jZGVmaW5lIFBTX1dJTl9TWihwaXBlKQkJX1BJUEUocGlwZSwg X1BTQV9XSU5fU1osIF9QU0JfV0lOX1NaKQo+IC0jZGVmaW5lIFBTX1dJTl9QT1MocGlwZSkJX1BJ UEUocGlwZSwgX1BTQV9XSU5fUE9TLCBfUFNCX1dJTl9QT1MpCj4gKyNkZWZpbmUgUFNfQ1RMKHBp cGUpCQlfUkVHX1BJUEUocGlwZSwgX1BTQV9DVEwsIF9QU0JfQ1RMKQo+ICsjZGVmaW5lIFBTX1dJ Tl9TWihwaXBlKQkJX1JFR19QSVBFKHBpcGUsIF9QU0FfV0lOX1NaLCBfUFNCX1dJTl9TWikKPiAr I2RlZmluZSBQU19XSU5fUE9TKHBpcGUpCV9SRUdfUElQRShwaXBlLCBfUFNBX1dJTl9QT1MsIF9Q U0JfV0lOX1BPUykKPiAgCj4gIC8qCj4gICAqIFNreWxha2Ugc2NhbGVycwo+IEBAIC01NjA0LDQy ICs1NjEwLDQyIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIF9QU19F Q0NfU1RBVF8xQyAgICAgMHg2OTFEMAo+ICAKPiAgI2RlZmluZSBfSUQoaWQsIGEsIGIpICgoYSkg KyAoaWQpKigoYiktKGEpKSkKPiAtI2RlZmluZSBTS0xfUFNfQ1RSTChwaXBlLCBpZCkgX1BJUEUo cGlwZSwgICAgICAgIFwKPiArI2RlZmluZSBTS0xfUFNfQ1RSTChwaXBlLCBpZCkgX1JFR19QSVBF KHBpcGUsICAgICAgICBcCj4gIAkJCV9JRChpZCwgX1BTXzFBX0NUUkwsIF9QU18yQV9DVFJMKSwg ICAgICAgXAo+ICAJCQlfSUQoaWQsIF9QU18xQl9DVFJMLCBfUFNfMkJfQ1RSTCkpCj4gLSNkZWZp bmUgU0tMX1BTX1BXUl9HQVRFKHBpcGUsIGlkKSBfUElQRShwaXBlLCAgICBcCj4gKyNkZWZpbmUg U0tMX1BTX1BXUl9HQVRFKHBpcGUsIGlkKSBfUkVHX1BJUEUocGlwZSwgICAgXAo+ICAJCQlfSUQo aWQsIF9QU19QV1JfR0FURV8xQSwgX1BTX1BXUl9HQVRFXzJBKSwgXAo+ICAJCQlfSUQoaWQsIF9Q U19QV1JfR0FURV8xQiwgX1BTX1BXUl9HQVRFXzJCKSkKPiAtI2RlZmluZSBTS0xfUFNfV0lOX1BP UyhwaXBlLCBpZCkgX1BJUEUocGlwZSwgICAgIFwKPiArI2RlZmluZSBTS0xfUFNfV0lOX1BPUyhw aXBlLCBpZCkgX1JFR19QSVBFKHBpcGUsICAgICBcCj4gIAkJCV9JRChpZCwgX1BTX1dJTl9QT1Nf MUEsIF9QU19XSU5fUE9TXzJBKSwgXAo+ICAJCQlfSUQoaWQsIF9QU19XSU5fUE9TXzFCLCBfUFNf V0lOX1BPU18yQikpCj4gLSNkZWZpbmUgU0tMX1BTX1dJTl9TWihwaXBlLCBpZCkgIF9QSVBFKHBp cGUsICAgICBcCj4gKyNkZWZpbmUgU0tMX1BTX1dJTl9TWihwaXBlLCBpZCkgIF9SRUdfUElQRShw aXBlLCAgICAgXAo+ICAJCQlfSUQoaWQsIF9QU19XSU5fU1pfMUEsIF9QU19XSU5fU1pfMkEpLCAg IFwKPiAgCQkJX0lEKGlkLCBfUFNfV0lOX1NaXzFCLCBfUFNfV0lOX1NaXzJCKSkKPiAtI2RlZmlu ZSBTS0xfUFNfVlNDQUxFKHBpcGUsIGlkKSAgX1BJUEUocGlwZSwgICAgIFwKPiArI2RlZmluZSBT S0xfUFNfVlNDQUxFKHBpcGUsIGlkKSAgX1JFR19QSVBFKHBpcGUsICAgICBcCj4gIAkJCV9JRChp ZCwgX1BTX1ZTQ0FMRV8xQSwgX1BTX1ZTQ0FMRV8yQSksICAgXAo+ICAJCQlfSUQoaWQsIF9QU19W U0NBTEVfMUIsIF9QU19WU0NBTEVfMkIpKQo+IC0jZGVmaW5lIFNLTF9QU19IU0NBTEUocGlwZSwg aWQpICBfUElQRShwaXBlLCAgICAgXAo+ICsjZGVmaW5lIFNLTF9QU19IU0NBTEUocGlwZSwgaWQp ICBfUkVHX1BJUEUocGlwZSwgICAgIFwKPiAgCQkJX0lEKGlkLCBfUFNfSFNDQUxFXzFBLCBfUFNf SFNDQUxFXzJBKSwgICBcCj4gIAkJCV9JRChpZCwgX1BTX0hTQ0FMRV8xQiwgX1BTX0hTQ0FMRV8y QikpCj4gLSNkZWZpbmUgU0tMX1BTX1ZQSEFTRShwaXBlLCBpZCkgIF9QSVBFKHBpcGUsICAgICBc Cj4gKyNkZWZpbmUgU0tMX1BTX1ZQSEFTRShwaXBlLCBpZCkgIF9SRUdfUElQRShwaXBlLCAgICAg XAo+ICAJCQlfSUQoaWQsIF9QU19WUEhBU0VfMUEsIF9QU19WUEhBU0VfMkEpLCAgIFwKPiAgCQkJ X0lEKGlkLCBfUFNfVlBIQVNFXzFCLCBfUFNfVlBIQVNFXzJCKSkKPiAtI2RlZmluZSBTS0xfUFNf SFBIQVNFKHBpcGUsIGlkKSAgX1BJUEUocGlwZSwgICAgIFwKPiArI2RlZmluZSBTS0xfUFNfSFBI QVNFKHBpcGUsIGlkKSAgX1JFR19QSVBFKHBpcGUsICAgICBcCj4gIAkJCV9JRChpZCwgX1BTX0hQ SEFTRV8xQSwgX1BTX0hQSEFTRV8yQSksICAgXAo+ICAJCQlfSUQoaWQsIF9QU19IUEhBU0VfMUIs IF9QU19IUEhBU0VfMkIpKQo+IC0jZGVmaW5lIFNLTF9QU19FQ0NfU1RBVChwaXBlLCBpZCkgIF9Q SVBFKHBpcGUsICAgICBcCj4gKyNkZWZpbmUgU0tMX1BTX0VDQ19TVEFUKHBpcGUsIGlkKSAgX1JF R19QSVBFKHBpcGUsICAgICBcCj4gIAkJCV9JRChpZCwgX1BTX0VDQ19TVEFUXzFBLCBfUFNfRUND X1NUQVRfMkEpLCAgIFwKPiAgCQkJX0lEKGlkLCBfUFNfRUNDX1NUQVRfMUIsIF9QU19FQ0NfU1RB VF8yQikKPiAgCj4gIC8qIGxlZ2FjeSBwYWxldHRlICovCj4gICNkZWZpbmUgX0xHQ19QQUxFVFRF X0EgICAgICAgICAgIDB4NGEwMDAKPiAgI2RlZmluZSBfTEdDX1BBTEVUVEVfQiAgICAgICAgICAg MHg0YTgwMAo+IC0jZGVmaW5lIExHQ19QQUxFVFRFKHBpcGUsIGkpIChfUElQRShwaXBlLCBfTEdD X1BBTEVUVEVfQSwgX0xHQ19QQUxFVFRFX0IpICsgKGkpICogNCkKPiArI2RlZmluZSBMR0NfUEFM RVRURShwaXBlLCBpKSBfUkVHKF9QSVBFKHBpcGUsIF9MR0NfUEFMRVRURV9BLCBfTEdDX1BBTEVU VEVfQikgKyAoaSkgKiA0KQo+ICAKPiAgI2RlZmluZSBfR0FNTUFfTU9ERV9BCQkweDRhNDgwCj4g ICNkZWZpbmUgX0dBTU1BX01PREVfQgkJMHg0YWM4MAo+IC0jZGVmaW5lIEdBTU1BX01PREUocGlw ZSkgX1BJUEUocGlwZSwgX0dBTU1BX01PREVfQSwgX0dBTU1BX01PREVfQikKPiArI2RlZmluZSBH QU1NQV9NT0RFKHBpcGUpIF9SRUdfUElQRShwaXBlLCBfR0FNTUFfTU9ERV9BLCBfR0FNTUFfTU9E RV9CKQo+ICAjZGVmaW5lIEdBTU1BX01PREVfTU9ERV9NQVNLCSgzIDw8IDApCj4gICNkZWZpbmUg R0FNTUFfTU9ERV9NT0RFXzhCSVQJKDAgPDwgMCkKPiAgI2RlZmluZSBHQU1NQV9NT0RFX01PREVf MTBCSVQJKDEgPDwgMCkKPiBAQCAtNTY5NywyMCArNTcwMywyMCBAQCBlbnVtIHNrbF9kaXNwX3Bv d2VyX3dlbGxzIHsKPiAgI2RlZmluZSBERV9QSVBFQV9WQkxBTktfSVZCCQkoMTw8MCkKPiAgI2Rl ZmluZSBERV9QSVBFX1ZCTEFOS19JVkIocGlwZSkJKDEgPDwgKChwaXBlKSAqIDUpKQo+ICAKPiAt I2RlZmluZSBWTFZfTUFTVEVSX0lFUgkJCTB4NDQwMGMgLyogR3VuaXQgbWFzdGVyIElFUiAqLwo+ ICsjZGVmaW5lIFZMVl9NQVNURVJfSUVSCQkJX1JFRygweDQ0MDBjKSAvKiBHdW5pdCBtYXN0ZXIg SUVSICovCj4gICNkZWZpbmUgICBNQVNURVJfSU5URVJSVVBUX0VOQUJMRQkoMTw8MzEpCj4gIAo+ IC0jZGVmaW5lIERFSVNSICAgMHg0NDAwMAo+IC0jZGVmaW5lIERFSU1SICAgMHg0NDAwNAo+IC0j ZGVmaW5lIERFSUlSICAgMHg0NDAwOAo+IC0jZGVmaW5lIERFSUVSICAgMHg0NDAwYwo+ICsjZGVm aW5lIERFSVNSICAgX1JFRygweDQ0MDAwKQo+ICsjZGVmaW5lIERFSU1SICAgX1JFRygweDQ0MDA0 KQo+ICsjZGVmaW5lIERFSUlSICAgX1JFRygweDQ0MDA4KQo+ICsjZGVmaW5lIERFSUVSICAgX1JF RygweDQ0MDBjKQo+ICAKPiAtI2RlZmluZSBHVElTUiAgIDB4NDQwMTAKPiAtI2RlZmluZSBHVElN UiAgIDB4NDQwMTQKPiAtI2RlZmluZSBHVElJUiAgIDB4NDQwMTgKPiAtI2RlZmluZSBHVElFUiAg IDB4NDQwMWMKPiArI2RlZmluZSBHVElTUiAgIF9SRUcoMHg0NDAxMCkKPiArI2RlZmluZSBHVElN UiAgIF9SRUcoMHg0NDAxNCkKPiArI2RlZmluZSBHVElJUiAgIF9SRUcoMHg0NDAxOCkKPiArI2Rl ZmluZSBHVElFUiAgIF9SRUcoMHg0NDAxYykKPiAgCj4gLSNkZWZpbmUgR0VOOF9NQVNURVJfSVJR CQkJMHg0NDIwMAo+ICsjZGVmaW5lIEdFTjhfTUFTVEVSX0lSUQkJCV9SRUcoMHg0NDIwMCkKPiAg I2RlZmluZSAgR0VOOF9NQVNURVJfSVJRX0NPTlRST0wJKDE8PDMxKQo+ICAjZGVmaW5lICBHRU44 X1BDVV9JUlEJCQkoMTw8MzApCj4gICNkZWZpbmUgIEdFTjhfREVfUENIX0lSUQkJKDE8PDIzKQo+ IEBAIC01NzI3LDEwICs1NzMzLDEwIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAj ZGVmaW5lICBHRU44X0dUX0JDU19JUlEJCSgxPDwxKQo+ICAjZGVmaW5lICBHRU44X0dUX1JDU19J UlEJCSgxPDwwKQo+ICAKPiAtI2RlZmluZSBHRU44X0dUX0lTUih3aGljaCkgKDB4NDQzMDAgKyAo MHgxMCAqICh3aGljaCkpKQo+IC0jZGVmaW5lIEdFTjhfR1RfSU1SKHdoaWNoKSAoMHg0NDMwNCAr ICgweDEwICogKHdoaWNoKSkpCj4gLSNkZWZpbmUgR0VOOF9HVF9JSVIod2hpY2gpICgweDQ0MzA4 ICsgKDB4MTAgKiAod2hpY2gpKSkKPiAtI2RlZmluZSBHRU44X0dUX0lFUih3aGljaCkgKDB4NDQz MGMgKyAoMHgxMCAqICh3aGljaCkpKQo+ICsjZGVmaW5lIEdFTjhfR1RfSVNSKHdoaWNoKSBfUkVH KDB4NDQzMDAgKyAoMHgxMCAqICh3aGljaCkpKQo+ICsjZGVmaW5lIEdFTjhfR1RfSU1SKHdoaWNo KSBfUkVHKDB4NDQzMDQgKyAoMHgxMCAqICh3aGljaCkpKQo+ICsjZGVmaW5lIEdFTjhfR1RfSUlS KHdoaWNoKSBfUkVHKDB4NDQzMDggKyAoMHgxMCAqICh3aGljaCkpKQo+ICsjZGVmaW5lIEdFTjhf R1RfSUVSKHdoaWNoKSBfUkVHKDB4NDQzMGMgKyAoMHgxMCAqICh3aGljaCkpKQo+ICAKPiAgI2Rl ZmluZSBHRU44X1JDU19JUlFfU0hJRlQgMAo+ICAjZGVmaW5lIEdFTjhfQkNTX0lSUV9TSElGVCAx Ngo+IEBAIC01NzM5LDEwICs1NzQ1LDEwIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ ICAjZGVmaW5lIEdFTjhfVkVDU19JUlFfU0hJRlQgMAo+ICAjZGVmaW5lIEdFTjhfV0RfSVJRX1NI SUZUIDE2Cj4gIAo+IC0jZGVmaW5lIEdFTjhfREVfUElQRV9JU1IocGlwZSkgKDB4NDQ0MDAgKyAo MHgxMCAqIChwaXBlKSkpCj4gLSNkZWZpbmUgR0VOOF9ERV9QSVBFX0lNUihwaXBlKSAoMHg0NDQw NCArICgweDEwICogKHBpcGUpKSkKPiAtI2RlZmluZSBHRU44X0RFX1BJUEVfSUlSKHBpcGUpICgw eDQ0NDA4ICsgKDB4MTAgKiAocGlwZSkpKQo+IC0jZGVmaW5lIEdFTjhfREVfUElQRV9JRVIocGlw ZSkgKDB4NDQ0MGMgKyAoMHgxMCAqIChwaXBlKSkpCj4gKyNkZWZpbmUgR0VOOF9ERV9QSVBFX0lT UihwaXBlKSBfUkVHKDB4NDQ0MDAgKyAoMHgxMCAqIChwaXBlKSkpCj4gKyNkZWZpbmUgR0VOOF9E RV9QSVBFX0lNUihwaXBlKSBfUkVHKDB4NDQ0MDQgKyAoMHgxMCAqIChwaXBlKSkpCj4gKyNkZWZp bmUgR0VOOF9ERV9QSVBFX0lJUihwaXBlKSBfUkVHKDB4NDQ0MDggKyAoMHgxMCAqIChwaXBlKSkp Cj4gKyNkZWZpbmUgR0VOOF9ERV9QSVBFX0lFUihwaXBlKSBfUkVHKDB4NDQ0MGMgKyAoMHgxMCAq IChwaXBlKSkpCj4gICNkZWZpbmUgIEdFTjhfUElQRV9GSUZPX1VOREVSUlVOCSgxIDw8IDMxKQo+ ICAjZGVmaW5lICBHRU44X1BJUEVfQ0RDTEtfQ1JDX0VSUk9SCSgxIDw8IDI5KQo+ICAjZGVmaW5l ICBHRU44X1BJUEVfQ0RDTEtfQ1JDX0RPTkUJKDEgPDwgMjgpCj4gQEAgLTU3NzUsMTAgKzU3ODEs MTAgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gIAkgR0VOOV9QSVBFX1BMQU5FMl9G QVVMVCB8IFwKPiAgCSBHRU45X1BJUEVfUExBTkUxX0ZBVUxUKQo+ICAKPiAtI2RlZmluZSBHRU44 X0RFX1BPUlRfSVNSIDB4NDQ0NDAKPiAtI2RlZmluZSBHRU44X0RFX1BPUlRfSU1SIDB4NDQ0NDQK PiAtI2RlZmluZSBHRU44X0RFX1BPUlRfSUlSIDB4NDQ0NDgKPiAtI2RlZmluZSBHRU44X0RFX1BP UlRfSUVSIDB4NDQ0NGMKPiArI2RlZmluZSBHRU44X0RFX1BPUlRfSVNSIF9SRUcoMHg0NDQ0MCkK PiArI2RlZmluZSBHRU44X0RFX1BPUlRfSU1SIF9SRUcoMHg0NDQ0NCkKPiArI2RlZmluZSBHRU44 X0RFX1BPUlRfSUlSIF9SRUcoMHg0NDQ0OCkKPiArI2RlZmluZSBHRU44X0RFX1BPUlRfSUVSIF9S RUcoMHg0NDQ0YykKPiAgI2RlZmluZSAgR0VOOV9BVVhfQ0hBTk5FTF9ECQkoMSA8PCAyNykKPiAg I2RlZmluZSAgR0VOOV9BVVhfQ0hBTk5FTF9DCQkoMSA8PCAyNikKPiAgI2RlZmluZSAgR0VOOV9B VVhfQ0hBTk5FTF9CCQkoMSA8PCAyNSkKPiBAQCAtNTc5MiwyMyArNTc5OCwyMyBAQCBlbnVtIHNr bF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgQlhUX0RFX1BPUlRfR01CVVMJCSgxIDw8 IDEpCj4gICNkZWZpbmUgIEdFTjhfQVVYX0NIQU5ORUxfQQkJKDEgPDwgMCkKPiAgCj4gLSNkZWZp bmUgR0VOOF9ERV9NSVNDX0lTUiAweDQ0NDYwCj4gLSNkZWZpbmUgR0VOOF9ERV9NSVNDX0lNUiAw eDQ0NDY0Cj4gLSNkZWZpbmUgR0VOOF9ERV9NSVNDX0lJUiAweDQ0NDY4Cj4gLSNkZWZpbmUgR0VO OF9ERV9NSVNDX0lFUiAweDQ0NDZjCj4gKyNkZWZpbmUgR0VOOF9ERV9NSVNDX0lTUiBfUkVHKDB4 NDQ0NjApCj4gKyNkZWZpbmUgR0VOOF9ERV9NSVNDX0lNUiBfUkVHKDB4NDQ0NjQpCj4gKyNkZWZp bmUgR0VOOF9ERV9NSVNDX0lJUiBfUkVHKDB4NDQ0NjgpCj4gKyNkZWZpbmUgR0VOOF9ERV9NSVND X0lFUiBfUkVHKDB4NDQ0NmMpCj4gICNkZWZpbmUgIEdFTjhfREVfTUlTQ19HU0UJCSgxIDw8IDI3 KQo+ICAKPiAtI2RlZmluZSBHRU44X1BDVV9JU1IgMHg0NDRlMAo+IC0jZGVmaW5lIEdFTjhfUENV X0lNUiAweDQ0NGU0Cj4gLSNkZWZpbmUgR0VOOF9QQ1VfSUlSIDB4NDQ0ZTgKPiAtI2RlZmluZSBH RU44X1BDVV9JRVIgMHg0NDRlYwo+ICsjZGVmaW5lIEdFTjhfUENVX0lTUiBfUkVHKDB4NDQ0ZTAp Cj4gKyNkZWZpbmUgR0VOOF9QQ1VfSU1SIF9SRUcoMHg0NDRlNCkKPiArI2RlZmluZSBHRU44X1BD VV9JSVIgX1JFRygweDQ0NGU4KQo+ICsjZGVmaW5lIEdFTjhfUENVX0lFUiBfUkVHKDB4NDQ0ZWMp Cj4gIAo+IC0jZGVmaW5lIElMS19ESVNQTEFZX0NISUNLRU4yCTB4NDIwMDQKPiArI2RlZmluZSBJ TEtfRElTUExBWV9DSElDS0VOMglfUkVHKDB4NDIwMDQpCj4gIC8qIFJlcXVpcmVkIG9uIGFsbCBJ cm9ubGFrZSBhbmQgU2FuZHlicmlkZ2UgYWNjb3JkaW5nIHRvIHRoZSBCLVNwZWMuICovCj4gICNk ZWZpbmUgIElMS19FTFBJTl80MDlfU0VMRUNUCSgxIDw8IDI1KQo+ICAjZGVmaW5lICBJTEtfRFBB UkJfR0FURQkoMTw8MjIpCj4gICNkZWZpbmUgIElMS19WU0RQRkRfRlVMTAkoMTw8MjEpCj4gLSNk ZWZpbmUgRlVTRV9TVFJBUAkJCTB4NDIwMTQKPiArI2RlZmluZSBGVVNFX1NUUkFQCQkJX1JFRygw eDQyMDE0KQo+ICAjZGVmaW5lICBJTEtfSU5URVJOQUxfR1JBUEhJQ1NfRElTQUJMRQkoMSA8PCAz MSkKPiAgI2RlZmluZSAgSUxLX0lOVEVSTkFMX0RJU1BMQVlfRElTQUJMRQkoMSA8PCAzMCkKPiAg I2RlZmluZSAgSUxLX0RJU1BMQVlfREVCVUdfRElTQUJMRQkoMSA8PCAyOSkKPiBAQCAtNTgxNywx OCArNTgyMywxOCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgSFNX X0NEQ0xLX0xJTUlUCQkoMSA8PCAyNCkKPiAgI2RlZmluZSAgSUxLX0RFU0tUT1AJCQkoMSA8PCAy MykKPiAgCj4gLSNkZWZpbmUgSUxLX0RTUENMS19HQVRFX0QJCQkweDQyMDIwCj4gKyNkZWZpbmUg SUxLX0RTUENMS19HQVRFX0QJCQlfUkVHKDB4NDIwMjApCj4gICNkZWZpbmUgICBJTEtfVlJIVU5J VF9DTE9DS19HQVRFX0RJU0FCTEUJKDEgPDwgMjgpCj4gICNkZWZpbmUgICBJTEtfRFBGQ1VOSVRf Q0xPQ0tfR0FURV9ESVNBQkxFCSgxIDw8IDkpCj4gICNkZWZpbmUgICBJTEtfRFBGQ1JVTklUX0NM T0NLX0dBVEVfRElTQUJMRQkoMSA8PCA4KQo+ICAjZGVmaW5lICAgSUxLX0RQRkRVTklUX0NMT0NL X0dBVEVfRU5BQkxFCSgxIDw8IDcpCj4gICNkZWZpbmUgICBJTEtfRFBBUkJVTklUX0NMT0NLX0dB VEVfRU5BQkxFCSgxIDw8IDUpCj4gIAo+IC0jZGVmaW5lIElWQl9DSElDS0VOMwkweDQyMDBjCj4g KyNkZWZpbmUgSVZCX0NISUNLRU4zCV9SRUcoMHg0MjAwYykKPiAgIyBkZWZpbmUgQ0hJQ0tFTjNf REdNR19SRVFfT1VUX0ZJWF9ESVNBQkxFCSgxIDw8IDUpCj4gICMgZGVmaW5lIENISUNLRU4zX0RH TUdfRE9ORV9GSVhfRElTQUJMRQkJKDEgPDwgMikKPiAgCj4gLSNkZWZpbmUgQ0hJQ0tFTl9QQVIx XzEJCTB4NDIwODAKPiArI2RlZmluZSBDSElDS0VOX1BBUjFfMQkJX1JFRygweDQyMDgwKQo+ICAj ZGVmaW5lICBEUEFfTUFTS19WQkxBTktfU1JECSgxIDw8IDE1KQo+ICAjZGVmaW5lICBGT1JDRV9B UkJfSURMRV9QTEFORVMJKDEgPDwgMTQpCj4gIAo+IEBAIC01ODM2LDcwICs1ODQyLDcwIEBAIGVu dW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIF9DSElDS0VOX1BJUEVTTF8xX0IJ MHg0MjBiNAo+ICAjZGVmaW5lICBIU1dfRkJDUV9ESVMJCQkoMSA8PCAyMikKPiAgI2RlZmluZSAg QkRXX0RQUlNfTUFTS19WQkxBTktfU1JECSgxIDw8IDApCj4gLSNkZWZpbmUgQ0hJQ0tFTl9QSVBF U0xfMShwaXBlKSBfUElQRShwaXBlLCBfQ0hJQ0tFTl9QSVBFU0xfMV9BLCBfQ0hJQ0tFTl9QSVBF U0xfMV9CKQo+ICsjZGVmaW5lIENISUNLRU5fUElQRVNMXzEocGlwZSkgX1JFR19QSVBFKHBpcGUs IF9DSElDS0VOX1BJUEVTTF8xX0EsIF9DSElDS0VOX1BJUEVTTF8xX0IpCj4gIAo+IC0jZGVmaW5l IERJU1BfQVJCX0NUTAkweDQ1MDAwCj4gKyNkZWZpbmUgRElTUF9BUkJfQ1RMCV9SRUcoMHg0NTAw MCkKPiAgI2RlZmluZSAgRElTUF9USUxFX1NVUkZBQ0VfU1dJWlpMSU5HCSgxPDwxMykKPiAgI2Rl ZmluZSAgRElTUF9GQkNfV01fRElTCQkoMTw8MTUpCj4gLSNkZWZpbmUgRElTUF9BUkJfQ1RMMgkw eDQ1MDA0Cj4gKyNkZWZpbmUgRElTUF9BUkJfQ1RMMglfUkVHKDB4NDUwMDQpCj4gICNkZWZpbmUg IERJU1BfREFUQV9QQVJUSVRJT05fNV82CSgxPDw2KQo+IC0jZGVmaW5lIERCVUZfQ1RMCTB4NDUw MDgKPiArI2RlZmluZSBEQlVGX0NUTAlfUkVHKDB4NDUwMDgpCj4gICNkZWZpbmUgIERCVUZfUE9X RVJfUkVRVUVTVAkJKDE8PDMxKQo+ICAjZGVmaW5lICBEQlVGX1BPV0VSX1NUQVRFCQkoMTw8MzAp Cj4gLSNkZWZpbmUgR0VON19NU0dfQ1RMCTB4NDUwMTAKPiArI2RlZmluZSBHRU43X01TR19DVEwJ X1JFRygweDQ1MDEwKQo+ICAjZGVmaW5lICBXQUlUX0ZPUl9QQ0hfUkVTRVRfQUNLCQkoMTw8MSkK PiAgI2RlZmluZSAgV0FJVF9GT1JfUENIX0ZMUl9BQ0sJCSgxPDwwKQo+IC0jZGVmaW5lIEhTV19O REVfUlNUV1JOX09QVAkweDQ2NDA4Cj4gKyNkZWZpbmUgSFNXX05ERV9SU1RXUk5fT1BUCV9SRUco MHg0NjQwOCkKPiAgI2RlZmluZSAgUkVTRVRfUENIX0hBTkRTSEFLRV9FTkFCTEUJKDE8PDQpCj4g IAo+IC0jZGVmaW5lIFNLTF9ERlNNCQkJMHg1MTAwMAo+ICsjZGVmaW5lIFNLTF9ERlNNCQkJX1JF RygweDUxMDAwKQo+ICAjZGVmaW5lIFNLTF9ERlNNX0NEQ0xLX0xJTUlUX01BU0sJKDMgPDwgMjMp Cj4gICNkZWZpbmUgU0tMX0RGU01fQ0RDTEtfTElNSVRfNjc1CSgwIDw8IDIzKQo+ICAjZGVmaW5l IFNLTF9ERlNNX0NEQ0xLX0xJTUlUXzU0MAkoMSA8PCAyMykKPiAgI2RlZmluZSBTS0xfREZTTV9D RENMS19MSU1JVF80NTAJKDIgPDwgMjMpCj4gICNkZWZpbmUgU0tMX0RGU01fQ0RDTEtfTElNSVRf MzM3XzUJKDMgPDwgMjMpCj4gIAo+IC0jZGVmaW5lIEZGX1NMSUNFX0NTX0NISUNLRU4yCQkJMHgy MGU0Cj4gKyNkZWZpbmUgRkZfU0xJQ0VfQ1NfQ0hJQ0tFTjIJCQlfUkVHKDB4MjBlNCkKPiAgI2Rl ZmluZSAgR0VOOV9UU0dfQkFSUklFUl9BQ0tfRElTQUJMRQkJKDE8PDgpCj4gIAo+ICAvKiBHRU43 IGNoaWNrZW4gKi8KPiAtI2RlZmluZSBHRU43X0NPTU1PTl9TTElDRV9DSElDS0VOMQkJMHg3MDEw Cj4gKyNkZWZpbmUgR0VON19DT01NT05fU0xJQ0VfQ0hJQ0tFTjEJCV9SRUcoMHg3MDEwKQo+ICAj IGRlZmluZSBHRU43X0NTQzFfUkhXT19PUFRfRElTQUJMRV9JTl9SQ0MJKCgxPDwxMCkgfCAoMTw8 MjYpKQo+ICAjIGRlZmluZSBHRU45X1JIV09fT1BUSU1JWkFUSU9OX0RJU0FCTEUJCSgxPDwxNCkK PiAtI2RlZmluZSBDT01NT05fU0xJQ0VfQ0hJQ0tFTjIJCQkweDcwMTQKPiArI2RlZmluZSBDT01N T05fU0xJQ0VfQ0hJQ0tFTjIJCQlfUkVHKDB4NzAxNCkKPiAgIyBkZWZpbmUgR0VOOF9DU0MyX1NC RV9WVUVfQ0FDSEVfQ09OU0VSVkFUSVZFCSgxPDwwKQo+ICAKPiAtI2RlZmluZSBISVpfQ0hJQ0tF TgkJCQkJMHg3MDE4Cj4gKyNkZWZpbmUgSElaX0NISUNLRU4JCQkJCV9SRUcoMHg3MDE4KQo+ICAj IGRlZmluZSBDSFZfSFpfOFg4X01PREVfSU5fMVgJCQkJKDE8PDE1KQo+ICAjIGRlZmluZSBCRFdf SElaX1BPV0VSX0NPTVBJTEVSX0NMT0NLX0dBVElOR19ESVNBQkxFCSgxPDwzKQo+ICAKPiAtI2Rl ZmluZSBHRU45X1NMSUNFX0NPTU1PTl9FQ09fQ0hJQ0tFTjAJCTB4NzMwOAo+ICsjZGVmaW5lIEdF TjlfU0xJQ0VfQ09NTU9OX0VDT19DSElDS0VOMAkJX1JFRygweDczMDgpCj4gICNkZWZpbmUgIERJ U0FCTEVfUElYRUxfTUFTS19DQU1NSU5HCQkoMTw8MTQpCj4gIAo+IC0jZGVmaW5lIEdFTjdfTDNT UUNSRUcxCQkJCTB4QjAxMAo+ICsjZGVmaW5lIEdFTjdfTDNTUUNSRUcxCQkJCV9SRUcoMHhCMDEw KQo+ICAjZGVmaW5lICBWTFZfQjBfV0FfTDNTUUNSRUcxX1ZBTFVFCQkweDAwRDMwMDAwCj4gIAo+ IC0jZGVmaW5lIEdFTjhfTDNTUUNSRUcxCQkJCTB4QjEwMAo+ICsjZGVmaW5lIEdFTjhfTDNTUUNS RUcxCQkJCV9SRUcoMHhCMTAwKQo+ICAjZGVmaW5lICBCRFdfV0FfTDNTUUNSRUcxX0RFRkFVTFQJ CTB4Nzg0MDAwCj4gIAo+IC0jZGVmaW5lIEdFTjdfTDNDTlRMUkVHMQkJCQkweEIwMUMKPiArI2Rl ZmluZSBHRU43X0wzQ05UTFJFRzEJCQkJX1JFRygweEIwMUMpCj4gICNkZWZpbmUgIEdFTjdfV0Ff Rk9SX0dFTjdfTDNfQ09OVFJPTAkJCTB4M0M0N0ZGOEMKPiAgI2RlZmluZSAgR0VON19MM0FHRElT CQkJCSgxPDwxOSkKPiAtI2RlZmluZSBHRU43X0wzQ05UTFJFRzIJCQkJMHhCMDIwCj4gLSNkZWZp bmUgR0VON19MM0NOVExSRUczCQkJCTB4QjAyNAo+ICsjZGVmaW5lIEdFTjdfTDNDTlRMUkVHMgkJ CQlfUkVHKDB4QjAyMCkKPiArI2RlZmluZSBHRU43X0wzQ05UTFJFRzMJCQkJX1JFRygweEIwMjQp Cj4gIAo+IC0jZGVmaW5lIEdFTjdfTDNfQ0hJQ0tFTl9NT0RFX1JFR0lTVEVSCQkweEIwMzAKPiAr I2RlZmluZSBHRU43X0wzX0NISUNLRU5fTU9ERV9SRUdJU1RFUgkJX1JFRygweEIwMzApCj4gICNk ZWZpbmUgIEdFTjdfV0FfTDNfQ0hJQ0tFTl9NT0RFCQkJCTB4MjAwMDAwMDAKPiAgCj4gLSNkZWZp bmUgR0VON19MM1NRQ1JFRzQJCQkJMHhiMDM0Cj4gKyNkZWZpbmUgR0VON19MM1NRQ1JFRzQJCQkJ X1JFRygweGIwMzQpCj4gICNkZWZpbmUgIEwzU1FfVVJCX1JFQURfQ0FNX01BVENIX0RJU0FCTEUJ KDE8PDI3KQo+ICAKPiAtI2RlZmluZSBHRU44X0wzU1FDUkVHNAkJCQkweGIxMTgKPiArI2RlZmlu ZSBHRU44X0wzU1FDUkVHNAkJCQlfUkVHKDB4YjExOCkKPiAgI2RlZmluZSAgR0VOOF9MUVNDX1JP X1BFUkZfRElTCQkJKDE8PDI3KQo+ICAjZGVmaW5lICBHRU44X0xRU0NfRkxVU0hfQ09IRVJFTlRf TElORVMJCSgxPDwyMSkKPiAgCj4gIC8qIEdFTjggY2hpY2tlbiAqLwo+IC0jZGVmaW5lIEhEQ19D SElDS0VOMAkJCQkweDczMDAKPiArI2RlZmluZSBIRENfQ0hJQ0tFTjAJCQkJX1JFRygweDczMDAp Cj4gICNkZWZpbmUgIEhEQ19GT1JDRV9DU1JfTk9OX0NPSEVSRU5UX09WUl9ESVNBQkxFCSgxPDwx NSkKPiAgI2RlZmluZSAgSERDX0ZFTkNFX0RFU1RfU0xNX0RJU0FCTEUJCSgxPDwxNCkKPiAgI2Rl ZmluZSAgSERDX0RPTk9UX0ZFVENIX01FTV9XSEVOX01BU0tFRAkoMTw8MTEpCj4gQEAgLTU5MDgs MTcgKzU5MTQsMTcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgIEhE Q19CQVJSSUVSX1BFUkZPUk1BTkNFX0RJU0FCTEUJKDE8PDEwKQo+ICAKPiAgLyogR0VOOSBjaGlj a2VuICovCj4gLSNkZWZpbmUgU0xJQ0VfRUNPX0NISUNLRU4wCQkJMHg3MzA4Cj4gKyNkZWZpbmUg U0xJQ0VfRUNPX0NISUNLRU4wCQkJX1JFRygweDczMDgpCj4gICNkZWZpbmUgICBQSVhFTF9NQVNL X0NBTU1JTkdfRElTQUJMRQkJKDEgPDwgMTQpCj4gIAo+ICAvKiBXYUNhdEVycm9yUmVqZWN0aW9u SXNzdWUgKi8KPiAtI2RlZmluZSBHRU43X1NRX0NISUNLRU5fTUJDVU5JVF9DT05GSUcJCTB4OTAz MAo+ICsjZGVmaW5lIEdFTjdfU1FfQ0hJQ0tFTl9NQkNVTklUX0NPTkZJRwkJX1JFRygweDkwMzAp Cj4gICNkZWZpbmUgIEdFTjdfU1FfQ0hJQ0tFTl9NQkNVTklUX1NRSU5UTU9CCSgxPDwxMSkKPiAg Cj4gLSNkZWZpbmUgSFNXX1NDUkFUQ0gxCQkJCTB4YjAzOAo+ICsjZGVmaW5lIEhTV19TQ1JBVENI MQkJCQlfUkVHKDB4YjAzOCkKPiAgI2RlZmluZSAgSFNXX1NDUkFUQ0gxX0wzX0RBVEFfQVRPTUlD U19ESVNBQkxFCSgxPDwyNykKPiAgCj4gLSNkZWZpbmUgQkRXX1NDUkFUQ0gxCQkJCQkweGIxMWMK PiArI2RlZmluZSBCRFdfU0NSQVRDSDEJCQkJCV9SRUcoMHhiMTFjKQo+ICAjZGVmaW5lICBHRU45 X0xCU19TTEFfUkVUUllfVElNRVJfREVDUkVNRU5UX0VOQUJMRQkoMTw8MikKPiAgCj4gIC8qIFBD SCAqLwo+IEBAIC02MDEyLDEyICs2MDE4LDEyIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMg ewo+ICAJCQkJIFNERV9GRElfUlhCX0NQVCB8IFwKPiAgCQkJCSBTREVfRkRJX1JYQV9DUFQpCj4g IAo+IC0jZGVmaW5lIFNERUlTUiAgMHhjNDAwMAo+IC0jZGVmaW5lIFNERUlNUiAgMHhjNDAwNAo+ IC0jZGVmaW5lIFNERUlJUiAgMHhjNDAwOAo+IC0jZGVmaW5lIFNERUlFUiAgMHhjNDAwYwo+ICsj ZGVmaW5lIFNERUlTUiAgX1JFRygweGM0MDAwKQo+ICsjZGVmaW5lIFNERUlNUiAgX1JFRygweGM0 MDA0KQo+ICsjZGVmaW5lIFNERUlJUiAgX1JFRygweGM0MDA4KQo+ICsjZGVmaW5lIFNERUlFUiAg X1JFRygweGM0MDBjKQo+ICAKPiAtI2RlZmluZSBTRVJSX0lOVAkJCTB4YzQwNDAKPiArI2RlZmlu ZSBTRVJSX0lOVAkJCV9SRUcoMHhjNDA0MCkKPiAgI2RlZmluZSAgU0VSUl9JTlRfUE9JU09OCQko MTw8MzEpCj4gICNkZWZpbmUgIFNFUlJfSU5UX1RSQU5TX0NfRklGT19VTkRFUlJVTgkoMTw8NikK PiAgI2RlZmluZSAgU0VSUl9JTlRfVFJBTlNfQl9GSUZPX1VOREVSUlVOCSgxPDwzKQo+IEBAIC02 MDI1LDcgKzYwMzEsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAg U0VSUl9JTlRfVFJBTlNfRklGT19VTkRFUlJVTihwaXBlKQkoMTw8KChwaXBlKSozKSkKPiAgCj4g IC8qIGRpZ2l0YWwgcG9ydCBob3RwbHVnICovCj4gLSNkZWZpbmUgUENIX1BPUlRfSE9UUExVRwkJ MHhjNDAzMAkvKiBTSE9UUExVR19DVEwgKi8KPiArI2RlZmluZSBQQ0hfUE9SVF9IT1RQTFVHCQlf UkVHKDB4YzQwMzApCS8qIFNIT1RQTFVHX0NUTCAqLwo+ICAjZGVmaW5lICBQT1JUQV9IT1RQTFVH X0VOQUJMRQkJKDEgPDwgMjgpIC8qIExQVDpMUCsgJiBCWFQgKi8KPiAgI2RlZmluZSAgUE9SVEFf SE9UUExVR19TVEFUVVNfTUFTSwkoMyA8PCAyNCkgLyogU1BUKyAmIEJYVCAqLwo+ICAjZGVmaW5l ICBQT1JUQV9IT1RQTFVHX05PX0RFVEVDVAkoMCA8PCAyNCkgLyogU1BUKyAmIEJYVCAqLwo+IEBA IC02MDYyLDQyICs2MDY4LDQyIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVm aW5lICBQT1JUQl9IT1RQTFVHX1NIT1JUX0RFVEVDVAkoMSA8PCAwKQo+ICAjZGVmaW5lICBQT1JU Ql9IT1RQTFVHX0xPTkdfREVURUNUCSgyIDw8IDApCj4gIAo+IC0jZGVmaW5lIFBDSF9QT1JUX0hP VFBMVUcyCQkweGM0MDNDCS8qIFNIT1RQTFVHX0NUTDIgU1BUKyAqLwo+ICsjZGVmaW5lIFBDSF9Q T1JUX0hPVFBMVUcyCQlfUkVHKDB4YzQwM0MpCS8qIFNIT1RQTFVHX0NUTDIgU1BUKyAqLwo+ICAj ZGVmaW5lICBQT1JURV9IT1RQTFVHX0VOQUJMRQkJKDEgPDwgNCkKPiAgI2RlZmluZSAgUE9SVEVf SE9UUExVR19TVEFUVVNfTUFTSwkoMyA8PCAwKQo+ICAjZGVmaW5lICBQT1JURV9IT1RQTFVHX05P X0RFVEVDVAkoMCA8PCAwKQo+ICAjZGVmaW5lICBQT1JURV9IT1RQTFVHX1NIT1JUX0RFVEVDVAko MSA8PCAwKQo+ICAjZGVmaW5lICBQT1JURV9IT1RQTFVHX0xPTkdfREVURUNUCSgyIDw8IDApCj4g IAo+IC0jZGVmaW5lIFBDSF9HUElPQSAgICAgICAgICAgICAgIDB4YzUwMTAKPiAtI2RlZmluZSBQ Q0hfR1BJT0IgICAgICAgICAgICAgICAweGM1MDE0Cj4gLSNkZWZpbmUgUENIX0dQSU9DICAgICAg ICAgICAgICAgMHhjNTAxOAo+IC0jZGVmaW5lIFBDSF9HUElPRCAgICAgICAgICAgICAgIDB4YzUw MWMKPiAtI2RlZmluZSBQQ0hfR1BJT0UgICAgICAgICAgICAgICAweGM1MDIwCj4gLSNkZWZpbmUg UENIX0dQSU9GICAgICAgICAgICAgICAgMHhjNTAyNAo+ICsjZGVmaW5lIFBDSF9HUElPQSAgICAg ICAgICAgICAgIF9SRUcoMHhjNTAxMCkKPiArI2RlZmluZSBQQ0hfR1BJT0IgICAgICAgICAgICAg ICBfUkVHKDB4YzUwMTQpCj4gKyNkZWZpbmUgUENIX0dQSU9DICAgICAgICAgICAgICAgX1JFRygw eGM1MDE4KQo+ICsjZGVmaW5lIFBDSF9HUElPRCAgICAgICAgICAgICAgIF9SRUcoMHhjNTAxYykK PiArI2RlZmluZSBQQ0hfR1BJT0UgICAgICAgICAgICAgICBfUkVHKDB4YzUwMjApCj4gKyNkZWZp bmUgUENIX0dQSU9GICAgICAgICAgICAgICAgX1JFRygweGM1MDI0KQo+ICAKPiAtI2RlZmluZSBQ Q0hfR01CVVMwCQkweGM1MTAwCj4gLSNkZWZpbmUgUENIX0dNQlVTMQkJMHhjNTEwNAo+IC0jZGVm aW5lIFBDSF9HTUJVUzIJCTB4YzUxMDgKPiAtI2RlZmluZSBQQ0hfR01CVVMzCQkweGM1MTBjCj4g LSNkZWZpbmUgUENIX0dNQlVTNAkJMHhjNTExMAo+IC0jZGVmaW5lIFBDSF9HTUJVUzUJCTB4YzUx MjAKPiArI2RlZmluZSBQQ0hfR01CVVMwCQlfUkVHKDB4YzUxMDApCj4gKyNkZWZpbmUgUENIX0dN QlVTMQkJX1JFRygweGM1MTA0KQo+ICsjZGVmaW5lIFBDSF9HTUJVUzIJCV9SRUcoMHhjNTEwOCkK PiArI2RlZmluZSBQQ0hfR01CVVMzCQlfUkVHKDB4YzUxMGMpCj4gKyNkZWZpbmUgUENIX0dNQlVT NAkJX1JFRygweGM1MTEwKQo+ICsjZGVmaW5lIFBDSF9HTUJVUzUJCV9SRUcoMHhjNTEyMCkKPiAg Cj4gICNkZWZpbmUgX1BDSF9EUExMX0EgICAgICAgICAgICAgIDB4YzYwMTQKPiAgI2RlZmluZSBf UENIX0RQTExfQiAgICAgICAgICAgICAgMHhjNjAxOAo+IC0jZGVmaW5lIFBDSF9EUExMKHBsbCkg KHBsbCA9PSAwID8gX1BDSF9EUExMX0EgOiBfUENIX0RQTExfQikKPiArI2RlZmluZSBQQ0hfRFBM TChwbGwpIF9SRUcocGxsID09IDAgPyBfUENIX0RQTExfQSA6IF9QQ0hfRFBMTF9CKQo+ICAKPiAg I2RlZmluZSBfUENIX0ZQQTAgICAgICAgICAgICAgICAgMHhjNjA0MAo+ICAjZGVmaW5lICBGUF9D Ql9UVU5FCQkoMHgzPDwyMikKPiAgI2RlZmluZSBfUENIX0ZQQTEgICAgICAgICAgICAgICAgMHhj NjA0NAo+ICAjZGVmaW5lIF9QQ0hfRlBCMCAgICAgICAgICAgICAgICAweGM2MDQ4Cj4gICNkZWZp bmUgX1BDSF9GUEIxICAgICAgICAgICAgICAgIDB4YzYwNGMKPiAtI2RlZmluZSBQQ0hfRlAwKHBs bCkgKHBsbCA9PSAwID8gX1BDSF9GUEEwIDogX1BDSF9GUEIwKQo+IC0jZGVmaW5lIFBDSF9GUDEo cGxsKSAocGxsID09IDAgPyBfUENIX0ZQQTEgOiBfUENIX0ZQQjEpCj4gKyNkZWZpbmUgUENIX0ZQ MChwbGwpIF9SRUcocGxsID09IDAgPyBfUENIX0ZQQTAgOiBfUENIX0ZQQjApCj4gKyNkZWZpbmUg UENIX0ZQMShwbGwpIF9SRUcocGxsID09IDAgPyBfUENIX0ZQQTEgOiBfUENIX0ZQQjEpCj4gIAo+ IC0jZGVmaW5lIFBDSF9EUExMX1RFU1QgICAgICAgICAgIDB4YzYwNmMKPiArI2RlZmluZSBQQ0hf RFBMTF9URVNUICAgICAgICAgICBfUkVHKDB4YzYwNmMpCj4gIAo+IC0jZGVmaW5lIFBDSF9EUkVG X0NPTlRST0wgICAgICAgIDB4QzYyMDAKPiArI2RlZmluZSBQQ0hfRFJFRl9DT05UUk9MICAgICAg ICBfUkVHKDB4QzYyMDApCj4gICNkZWZpbmUgIERSRUZfQ09OVFJPTF9NQVNLICAgICAgMHg3ZmMz Cj4gICNkZWZpbmUgIERSRUZfQ1BVX1NPVVJDRV9PVVRQVVRfRElTQUJMRSAgICAgICAgICgwPDwx MykKPiAgI2RlZmluZSAgRFJFRl9DUFVfU09VUkNFX09VVFBVVF9ET1dOU1BSRUFEICAgICAgKDI8 PDEzKQo+IEBAIC02MTIwLDE5ICs2MTI2LDE5IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMg ewo+ICAjZGVmaW5lICBEUkVGX1NTQzRfRElTQUJMRSAgICAgICAgICAgICAgICAgICAgICAoMCkK PiAgI2RlZmluZSAgRFJFRl9TU0M0X0VOQUJMRSAgICAgICAgICAgICAgICAgICAgICAgKDEpCj4g IAo+IC0jZGVmaW5lIFBDSF9SQVdDTEtfRlJFUSAgICAgICAgIDB4YzYyMDQKPiArI2RlZmluZSBQ Q0hfUkFXQ0xLX0ZSRVEgICAgICAgICBfUkVHKDB4YzYyMDQpCj4gICNkZWZpbmUgIEZETF9UUDFf VElNRVJfU0hJRlQgICAgMTIKPiAgI2RlZmluZSAgRkRMX1RQMV9USU1FUl9NQVNLICAgICAoMzw8 MTIpCj4gICNkZWZpbmUgIEZETF9UUDJfVElNRVJfU0hJRlQgICAgMTAKPiAgI2RlZmluZSAgRkRM X1RQMl9USU1FUl9NQVNLICAgICAoMzw8MTApCj4gICNkZWZpbmUgIFJBV0NMS19GUkVRX01BU0sg ICAgICAgMHgzZmYKPiAgCj4gLSNkZWZpbmUgUENIX0RQTExfVE1SX0NGRyAgICAgICAgMHhjNjIw OAo+ICsjZGVmaW5lIFBDSF9EUExMX1RNUl9DRkcgICAgICAgIF9SRUcoMHhjNjIwOCkKPiAgCj4g LSNkZWZpbmUgUENIX1NTQzRfUEFSTVMgICAgICAgICAgMHhjNjIxMAo+IC0jZGVmaW5lIFBDSF9T U0M0X0FVWF9QQVJNUyAgICAgIDB4YzYyMTQKPiArI2RlZmluZSBQQ0hfU1NDNF9QQVJNUyAgICAg ICAgICBfUkVHKDB4YzYyMTApCj4gKyNkZWZpbmUgUENIX1NTQzRfQVVYX1BBUk1TICAgICAgX1JF RygweGM2MjE0KQo+ICAKPiAtI2RlZmluZSBQQ0hfRFBMTF9TRUwJCTB4YzcwMDAKPiArI2RlZmlu ZSBQQ0hfRFBMTF9TRUwJCV9SRUcoMHhjNzAwMCkKPiAgI2RlZmluZQkgVFJBTlNfRFBMTEJfU0VM KHBpcGUpCQkoMSA8PCAoKHBpcGUpICogNCkpCj4gICNkZWZpbmUJIFRSQU5TX0RQTExBX1NFTChw aXBlKQkJMAo+ICAjZGVmaW5lICBUUkFOU19EUExMX0VOQUJMRShwaXBlKQkoMSA8PCAoKHBpcGUp ICogNCArIDMpKQo+IEBAIC02MTgwLDkgKzYxODYsOSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dl bGxzIHsKPiAgI2RlZmluZSBfVklERU9fRElQX0RBVEFfQiAgICAgICAgMHhlMTIwOAo+ICAjZGVm aW5lIF9WSURFT19ESVBfR0NQX0IgICAgICAgICAweGUxMjEwCj4gIAo+IC0jZGVmaW5lIFRWSURF T19ESVBfQ1RMKHBpcGUpIF9QSVBFKHBpcGUsIF9WSURFT19ESVBfQ1RMX0EsIF9WSURFT19ESVBf Q1RMX0IpCj4gLSNkZWZpbmUgVFZJREVPX0RJUF9EQVRBKHBpcGUpIF9QSVBFKHBpcGUsIF9WSURF T19ESVBfREFUQV9BLCBfVklERU9fRElQX0RBVEFfQikKPiAtI2RlZmluZSBUVklERU9fRElQX0dD UChwaXBlKSBfUElQRShwaXBlLCBfVklERU9fRElQX0dDUF9BLCBfVklERU9fRElQX0dDUF9CKQo+ ICsjZGVmaW5lIFRWSURFT19ESVBfQ1RMKHBpcGUpIF9SRUdfUElQRShwaXBlLCBfVklERU9fRElQ X0NUTF9BLCBfVklERU9fRElQX0NUTF9CKQo+ICsjZGVmaW5lIFRWSURFT19ESVBfREFUQShwaXBl KSBfUkVHX1BJUEUocGlwZSwgX1ZJREVPX0RJUF9EQVRBX0EsIF9WSURFT19ESVBfREFUQV9CKQo+ ICsjZGVmaW5lIFRWSURFT19ESVBfR0NQKHBpcGUpIF9SRUdfUElQRShwaXBlLCBfVklERU9fRElQ X0dDUF9BLCBfVklERU9fRElQX0dDUF9CKQo+ICAKPiAgLyogUGVyLXRyYW5zY29kZXIgRElQIGNv bnRyb2xzIChWTFYpICovCj4gICNkZWZpbmUgX1ZMVl9WSURFT19ESVBfQ1RMX0EJCShWTFZfRElT UExBWV9CQVNFICsgMHg2MDIwMCkKPiBAQCAtNjE5OCwxNiArNjIwNCwxNyBAQCBlbnVtIHNrbF9k aXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBfQ0hWX1ZJREVPX0RJUF9HRENQX1BBWUxPQURf QwkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjExZjgpCj4gIAo+ICAjZGVmaW5lIFZMVl9UVklERU9f RElQX0NUTChwaXBlKSBcCj4gLQlfUElQRTMoKHBpcGUpLCBfVkxWX1ZJREVPX0RJUF9DVExfQSwg XAo+ICsJX1JFR19QSVBFMygocGlwZSksIF9WTFZfVklERU9fRElQX0NUTF9BLCBcCj4gIAkgICAg ICAgX1ZMVl9WSURFT19ESVBfQ1RMX0IsIF9DSFZfVklERU9fRElQX0NUTF9DKQo+ICAjZGVmaW5l IFZMVl9UVklERU9fRElQX0RBVEEocGlwZSkgXAo+IC0JX1BJUEUzKChwaXBlKSwgX1ZMVl9WSURF T19ESVBfREFUQV9BLCBcCj4gKwlfUkVHX1BJUEUzKChwaXBlKSwgX1ZMVl9WSURFT19ESVBfREFU QV9BLCBcCj4gIAkgICAgICAgX1ZMVl9WSURFT19ESVBfREFUQV9CLCBfQ0hWX1ZJREVPX0RJUF9E QVRBX0MpCj4gICNkZWZpbmUgVkxWX1RWSURFT19ESVBfR0NQKHBpcGUpIFwKPiAtCV9QSVBFMygo cGlwZSksIF9WTFZfVklERU9fRElQX0dEQ1BfUEFZTE9BRF9BLCBcCj4gKwlfUkVHX1BJUEUzKChw aXBlKSwgX1ZMVl9WSURFT19ESVBfR0RDUF9QQVlMT0FEX0EsIFwKPiAgCQlfVkxWX1ZJREVPX0RJ UF9HRENQX1BBWUxPQURfQiwgX0NIVl9WSURFT19ESVBfR0RDUF9QQVlMT0FEX0MpCj4gIAo+ICAv KiBIYXN3ZWxsIERJUCBjb250cm9scyAqLwo+ICsKPiAgI2RlZmluZSBfSFNXX1ZJREVPX0RJUF9D VExfQQkJMHg2MDIwMAo+ICAjZGVmaW5lIF9IU1dfVklERU9fRElQX0FWSV9EQVRBX0EJMHg2MDIy MAo+ICAjZGVmaW5lIF9IU1dfVklERU9fRElQX1ZTX0RBVEFfQQkweDYwMjYwCj4gQEAgLTYyMzQs MjUgKzYyNDEsMTggQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgX0hT V19WSURFT19ESVBfVlNDX0VDQ19CCTB4NjEzNDQKPiAgI2RlZmluZSBfSFNXX1ZJREVPX0RJUF9H Q1BfQgkJMHg2MTIxMAo+ICAKPiAtI2RlZmluZSBIU1dfVFZJREVPX0RJUF9DVEwodHJhbnMpIFwK PiAtCSBfVFJBTlNDT0RFUjIodHJhbnMsIF9IU1dfVklERU9fRElQX0NUTF9BKQo+IC0jZGVmaW5l IEhTV19UVklERU9fRElQX0FWSV9EQVRBKHRyYW5zLCBpKSBcCj4gLQkoX1RSQU5TQ09ERVIyKHRy YW5zLCBfSFNXX1ZJREVPX0RJUF9BVklfREFUQV9BKSArIChpKSAqIDQpCj4gLSNkZWZpbmUgSFNX X1RWSURFT19ESVBfVlNfREFUQSh0cmFucywgaSkgXAo+IC0JKF9UUkFOU0NPREVSMih0cmFucywg X0hTV19WSURFT19ESVBfVlNfREFUQV9BKSArIChpKSAqIDQpCj4gLSNkZWZpbmUgSFNXX1RWSURF T19ESVBfU1BEX0RBVEEodHJhbnMsIGkpIFwKPiAtCShfVFJBTlNDT0RFUjIodHJhbnMsIF9IU1df VklERU9fRElQX1NQRF9EQVRBX0EpICsgKGkpICogNCkKPiAtI2RlZmluZSBIU1dfVFZJREVPX0RJ UF9HQ1AodHJhbnMpIFwKPiAtCV9UUkFOU0NPREVSMih0cmFucywgX0hTV19WSURFT19ESVBfR0NQ X0EpCj4gLSNkZWZpbmUgSFNXX1RWSURFT19ESVBfVlNDX0RBVEEodHJhbnMsIGkpIFwKPiAtCShf VFJBTlNDT0RFUjIodHJhbnMsIF9IU1dfVklERU9fRElQX1ZTQ19EQVRBX0EpICsgKGkpICogNCkK PiAtCj4gLSNkZWZpbmUgX0hTV19TVEVSRU9fM0RfQ1RMX0EJMHg3MDAyMAo+IC0jZGVmaW5lICAg UzNEX0VOQUJMRQkJKDE8PDMxKQo+IC0jZGVmaW5lIF9IU1dfU1RFUkVPXzNEX0NUTF9CCTB4NzEw MjAKPiAtCj4gLSNkZWZpbmUgSFNXX1NURVJFT18zRF9DVEwodHJhbnMpIFwKPiAtCV9QSVBFMih0 cmFucywgX0hTV19TVEVSRU9fM0RfQ1RMX0EpCj4gKyNkZWZpbmUgSFNXX1RWSURFT19ESVBfQ1RM KHRyYW5zKQkJX1JFR19UUkFOUzIodHJhbnMsIF9IU1dfVklERU9fRElQX0NUTF9BKQo+ICsjZGVm aW5lIEhTV19UVklERU9fRElQX0FWSV9EQVRBKHRyYW5zLCBpKQlfUkVHX1RSQU5TMih0cmFucywg X0hTV19WSURFT19ESVBfQVZJX0RBVEFfQSArIChpKSAqIDQpCj4gKyNkZWZpbmUgSFNXX1RWSURF T19ESVBfVlNfREFUQSh0cmFucywgaSkJX1JFR19UUkFOUzIodHJhbnMsIF9IU1dfVklERU9fRElQ X1ZTX0RBVEFfQSArIChpKSAqIDQpCj4gKyNkZWZpbmUgSFNXX1RWSURFT19ESVBfU1BEX0RBVEEo dHJhbnMsIGkpCV9SRUdfVFJBTlMyKHRyYW5zLCBfSFNXX1ZJREVPX0RJUF9TUERfREFUQV9BICsg KGkpICogNCkKPiArI2RlZmluZSBIU1dfVFZJREVPX0RJUF9HQ1AodHJhbnMpIAkJX1JFR19UUkFO UzIodHJhbnMsIF9IU1dfVklERU9fRElQX0dDUF9BKQo+ICsjZGVmaW5lIEhTV19UVklERU9fRElQ X1ZTQ19EQVRBKHRyYW5zLCBpKQlfUkVHX1RSQU5TMih0cmFucywgX0hTV19WSURFT19ESVBfVlND X0RBVEFfQSArIChpKSAqIDQpCj4gKwo+ICsjZGVmaW5lIF9IU1dfU1RFUkVPXzNEX0NUTF9BCQkw eDcwMDIwCj4gKyNkZWZpbmUgICBTM0RfRU5BQkxFCQkJKDE8PDMxKQo+ICsjZGVmaW5lIF9IU1df U1RFUkVPXzNEX0NUTF9CCQkweDcxMDIwCj4gKwo+ICsjZGVmaW5lIEhTV19TVEVSRU9fM0RfQ1RM KHRyYW5zKQlfUkVHX1BJUEUyKHRyYW5zLCBfSFNXX1NURVJFT18zRF9DVExfQSkKPiAgCj4gICNk ZWZpbmUgX1BDSF9UUkFOU19IVE9UQUxfQiAgICAgICAgICAweGUxMDAwCj4gICNkZWZpbmUgX1BD SF9UUkFOU19IQkxBTktfQiAgICAgICAgICAweGUxMDA0Cj4gQEAgLTYyNjAsMTYgKzYyNjAsMTUg QEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgX1BDSF9UUkFOU19WVE9U QUxfQiAgICAgICAgICAweGUxMDBjCj4gICNkZWZpbmUgX1BDSF9UUkFOU19WQkxBTktfQiAgICAg ICAgICAweGUxMDEwCj4gICNkZWZpbmUgX1BDSF9UUkFOU19WU1lOQ19CICAgICAgICAgICAweGUx MDE0Cj4gLSNkZWZpbmUgX1BDSF9UUkFOU19WU1lOQ1NISUZUX0IJIDB4ZTEwMjgKPiArI2RlZmlu ZSBfUENIX1RSQU5TX1ZTWU5DU0hJRlRfQiAweGUxMDI4Cj4gIAo+IC0jZGVmaW5lIFBDSF9UUkFO U19IVE9UQUwocGlwZSkgX1BJUEUocGlwZSwgX1BDSF9UUkFOU19IVE9UQUxfQSwgX1BDSF9UUkFO U19IVE9UQUxfQikKPiAtI2RlZmluZSBQQ0hfVFJBTlNfSEJMQU5LKHBpcGUpIF9QSVBFKHBpcGUs IF9QQ0hfVFJBTlNfSEJMQU5LX0EsIF9QQ0hfVFJBTlNfSEJMQU5LX0IpCj4gLSNkZWZpbmUgUENI X1RSQU5TX0hTWU5DKHBpcGUpIF9QSVBFKHBpcGUsIF9QQ0hfVFJBTlNfSFNZTkNfQSwgX1BDSF9U UkFOU19IU1lOQ19CKQo+IC0jZGVmaW5lIFBDSF9UUkFOU19WVE9UQUwocGlwZSkgX1BJUEUocGlw ZSwgX1BDSF9UUkFOU19WVE9UQUxfQSwgX1BDSF9UUkFOU19WVE9UQUxfQikKPiAtI2RlZmluZSBQ Q0hfVFJBTlNfVkJMQU5LKHBpcGUpIF9QSVBFKHBpcGUsIF9QQ0hfVFJBTlNfVkJMQU5LX0EsIF9Q Q0hfVFJBTlNfVkJMQU5LX0IpCj4gLSNkZWZpbmUgUENIX1RSQU5TX1ZTWU5DKHBpcGUpIF9QSVBF KHBpcGUsIF9QQ0hfVFJBTlNfVlNZTkNfQSwgX1BDSF9UUkFOU19WU1lOQ19CKQo+IC0jZGVmaW5l IFBDSF9UUkFOU19WU1lOQ1NISUZUKHBpcGUpIF9QSVBFKHBpcGUsIF9QQ0hfVFJBTlNfVlNZTkNT SElGVF9BLCBcCj4gLQkJCQkJIF9QQ0hfVFJBTlNfVlNZTkNTSElGVF9CKQo+ICsjZGVmaW5lIFBD SF9UUkFOU19IVE9UQUwocGlwZSkJCV9SRUdfUElQRShwaXBlLCBfUENIX1RSQU5TX0hUT1RBTF9B LCBfUENIX1RSQU5TX0hUT1RBTF9CKQo+ICsjZGVmaW5lIFBDSF9UUkFOU19IQkxBTksocGlwZSkJ CV9SRUdfUElQRShwaXBlLCBfUENIX1RSQU5TX0hCTEFOS19BLCBfUENIX1RSQU5TX0hCTEFOS19C KQo+ICsjZGVmaW5lIFBDSF9UUkFOU19IU1lOQyhwaXBlKQkJX1JFR19QSVBFKHBpcGUsIF9QQ0hf VFJBTlNfSFNZTkNfQSwgX1BDSF9UUkFOU19IU1lOQ19CKQo+ICsjZGVmaW5lIFBDSF9UUkFOU19W VE9UQUwocGlwZSkJCV9SRUdfUElQRShwaXBlLCBfUENIX1RSQU5TX1ZUT1RBTF9BLCBfUENIX1RS QU5TX1ZUT1RBTF9CKQo+ICsjZGVmaW5lIFBDSF9UUkFOU19WQkxBTksocGlwZSkJCV9SRUdfUElQ RShwaXBlLCBfUENIX1RSQU5TX1ZCTEFOS19BLCBfUENIX1RSQU5TX1ZCTEFOS19CKQo+ICsjZGVm aW5lIFBDSF9UUkFOU19WU1lOQyhwaXBlKQkJX1JFR19QSVBFKHBpcGUsIF9QQ0hfVFJBTlNfVlNZ TkNfQSwgX1BDSF9UUkFOU19WU1lOQ19CKQo+ICsjZGVmaW5lIFBDSF9UUkFOU19WU1lOQ1NISUZU KHBpcGUpCV9SRUdfUElQRShwaXBlLCBfUENIX1RSQU5TX1ZTWU5DU0hJRlRfQSwgX1BDSF9UUkFO U19WU1lOQ1NISUZUX0IpCj4gIAo+ICAjZGVmaW5lIF9QQ0hfVFJBTlNCX0RBVEFfTTEJMHhlMTAz MAo+ICAjZGVmaW5lIF9QQ0hfVFJBTlNCX0RBVEFfTjEJMHhlMTAzNAo+IEBAIC02MjgwLDE5ICs2 Mjc5LDE5IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIF9QQ0hfVFJB TlNCX0xJTktfTTIJMHhlMTA0OAo+ICAjZGVmaW5lIF9QQ0hfVFJBTlNCX0xJTktfTjIJMHhlMTA0 Ywo+ICAKPiAtI2RlZmluZSBQQ0hfVFJBTlNfREFUQV9NMShwaXBlKSBfUElQRShwaXBlLCBfUENI X1RSQU5TQV9EQVRBX00xLCBfUENIX1RSQU5TQl9EQVRBX00xKQo+IC0jZGVmaW5lIFBDSF9UUkFO U19EQVRBX04xKHBpcGUpIF9QSVBFKHBpcGUsIF9QQ0hfVFJBTlNBX0RBVEFfTjEsIF9QQ0hfVFJB TlNCX0RBVEFfTjEpCj4gLSNkZWZpbmUgUENIX1RSQU5TX0RBVEFfTTIocGlwZSkgX1BJUEUocGlw ZSwgX1BDSF9UUkFOU0FfREFUQV9NMiwgX1BDSF9UUkFOU0JfREFUQV9NMikKPiAtI2RlZmluZSBQ Q0hfVFJBTlNfREFUQV9OMihwaXBlKSBfUElQRShwaXBlLCBfUENIX1RSQU5TQV9EQVRBX04yLCBf UENIX1RSQU5TQl9EQVRBX04yKQo+IC0jZGVmaW5lIFBDSF9UUkFOU19MSU5LX00xKHBpcGUpIF9Q SVBFKHBpcGUsIF9QQ0hfVFJBTlNBX0xJTktfTTEsIF9QQ0hfVFJBTlNCX0xJTktfTTEpCj4gLSNk ZWZpbmUgUENIX1RSQU5TX0xJTktfTjEocGlwZSkgX1BJUEUocGlwZSwgX1BDSF9UUkFOU0FfTElO S19OMSwgX1BDSF9UUkFOU0JfTElOS19OMSkKPiAtI2RlZmluZSBQQ0hfVFJBTlNfTElOS19NMihw aXBlKSBfUElQRShwaXBlLCBfUENIX1RSQU5TQV9MSU5LX00yLCBfUENIX1RSQU5TQl9MSU5LX00y KQo+IC0jZGVmaW5lIFBDSF9UUkFOU19MSU5LX04yKHBpcGUpIF9QSVBFKHBpcGUsIF9QQ0hfVFJB TlNBX0xJTktfTjIsIF9QQ0hfVFJBTlNCX0xJTktfTjIpCj4gKyNkZWZpbmUgUENIX1RSQU5TX0RB VEFfTTEocGlwZSkJX1JFR19QSVBFKHBpcGUsIF9QQ0hfVFJBTlNBX0RBVEFfTTEsIF9QQ0hfVFJB TlNCX0RBVEFfTTEpCj4gKyNkZWZpbmUgUENIX1RSQU5TX0RBVEFfTjEocGlwZSkJX1JFR19QSVBF KHBpcGUsIF9QQ0hfVFJBTlNBX0RBVEFfTjEsIF9QQ0hfVFJBTlNCX0RBVEFfTjEpCj4gKyNkZWZp bmUgUENIX1RSQU5TX0RBVEFfTTIocGlwZSkJX1JFR19QSVBFKHBpcGUsIF9QQ0hfVFJBTlNBX0RB VEFfTTIsIF9QQ0hfVFJBTlNCX0RBVEFfTTIpCj4gKyNkZWZpbmUgUENIX1RSQU5TX0RBVEFfTjIo cGlwZSkJX1JFR19QSVBFKHBpcGUsIF9QQ0hfVFJBTlNBX0RBVEFfTjIsIF9QQ0hfVFJBTlNCX0RB VEFfTjIpCj4gKyNkZWZpbmUgUENIX1RSQU5TX0xJTktfTTEocGlwZSkJX1JFR19QSVBFKHBpcGUs IF9QQ0hfVFJBTlNBX0xJTktfTTEsIF9QQ0hfVFJBTlNCX0xJTktfTTEpCj4gKyNkZWZpbmUgUENI X1RSQU5TX0xJTktfTjEocGlwZSkJX1JFR19QSVBFKHBpcGUsIF9QQ0hfVFJBTlNBX0xJTktfTjEs IF9QQ0hfVFJBTlNCX0xJTktfTjEpCj4gKyNkZWZpbmUgUENIX1RSQU5TX0xJTktfTTIocGlwZSkJ X1JFR19QSVBFKHBpcGUsIF9QQ0hfVFJBTlNBX0xJTktfTTIsIF9QQ0hfVFJBTlNCX0xJTktfTTIp Cj4gKyNkZWZpbmUgUENIX1RSQU5TX0xJTktfTjIocGlwZSkJX1JFR19QSVBFKHBpcGUsIF9QQ0hf VFJBTlNBX0xJTktfTjIsIF9QQ0hfVFJBTlNCX0xJTktfTjIpCj4gIAo+ICAjZGVmaW5lIF9QQ0hf VFJBTlNBQ09ORiAgICAgICAgICAgICAgMHhmMDAwOAo+ICAjZGVmaW5lIF9QQ0hfVFJBTlNCQ09O RiAgICAgICAgICAgICAgMHhmMTAwOAo+IC0jZGVmaW5lIFBDSF9UUkFOU0NPTkYocGlwZSkgX1BJ UEUocGlwZSwgX1BDSF9UUkFOU0FDT05GLCBfUENIX1RSQU5TQkNPTkYpCj4gLSNkZWZpbmUgTFBU X1RSQU5TQ09ORgkJX1BDSF9UUkFOU0FDT05GIC8qIGxwdCBoYXMgb25seSBvbmUgdHJhbnNjb2Rl ciAqLwo+ICsjZGVmaW5lIFBDSF9UUkFOU0NPTkYocGlwZSkJX1JFR19QSVBFKHBpcGUsIF9QQ0hf VFJBTlNBQ09ORiwgX1BDSF9UUkFOU0JDT05GKQo+ICsjZGVmaW5lIExQVF9UUkFOU0NPTkYJCVBD SF9UUkFOU0NPTkYoUElQRV9BKSAvKiBscHQgaGFzIG9ubHkgb25lIHRyYW5zY29kZXIgKi8KPiAg I2RlZmluZSAgVFJBTlNfRElTQUJMRSAgICAgICAgICAoMDw8MzEpCj4gICNkZWZpbmUgIFRSQU5T X0VOQUJMRSAgICAgICAgICAgKDE8PDMxKQo+ICAjZGVmaW5lICBUUkFOU19TVEFURV9NQVNLICAg ICAgICgxPDwzMCkKPiBAQCAtNjMxMyw0NyArNjMxMiw0NyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2Vy X3dlbGxzIHsKPiAgCj4gICNkZWZpbmUgX1RSQU5TQV9DSElDS0VOMQkgMHhmMDA2MAo+ICAjZGVm aW5lIF9UUkFOU0JfQ0hJQ0tFTjEJIDB4ZjEwNjAKPiAtI2RlZmluZSBUUkFOU19DSElDS0VOMShw aXBlKSBfUElQRShwaXBlLCBfVFJBTlNBX0NISUNLRU4xLCBfVFJBTlNCX0NISUNLRU4xKQo+ICsj ZGVmaW5lIFRSQU5TX0NISUNLRU4xKHBpcGUpCV9SRUdfUElQRShwaXBlLCBfVFJBTlNBX0NISUNL RU4xLCBfVFJBTlNCX0NISUNLRU4xKQo+ICAjZGVmaW5lICBUUkFOU19DSElDS0VOMV9IRE1JVU5J VF9HQ19ESVNBQkxFCSgxPDwxMCkKPiAgI2RlZmluZSAgVFJBTlNfQ0hJQ0tFTjFfRFAwVU5JVF9H Q19ESVNBQkxFCSgxPDw0KQo+ICAjZGVmaW5lIF9UUkFOU0FfQ0hJQ0tFTjIJIDB4ZjAwNjQKPiAg I2RlZmluZSBfVFJBTlNCX0NISUNLRU4yCSAweGYxMDY0Cj4gLSNkZWZpbmUgVFJBTlNfQ0hJQ0tF TjIocGlwZSkgX1BJUEUocGlwZSwgX1RSQU5TQV9DSElDS0VOMiwgX1RSQU5TQl9DSElDS0VOMikK PiArI2RlZmluZSBUUkFOU19DSElDS0VOMihwaXBlKQlfUkVHX1BJUEUocGlwZSwgX1RSQU5TQV9D SElDS0VOMiwgX1RSQU5TQl9DSElDS0VOMikKPiAgI2RlZmluZSAgVFJBTlNfQ0hJQ0tFTjJfVElN SU5HX09WRVJSSURFCQkJKDE8PDMxKQo+ICAjZGVmaW5lICBUUkFOU19DSElDS0VOMl9GRElfUE9M QVJJVFlfUkVWRVJTRUQJCSgxPDwyOSkKPiAgI2RlZmluZSAgVFJBTlNfQ0hJQ0tFTjJfRlJBTUVf U1RBUlRfREVMQVlfTUFTSwkJKDM8PDI3KQo+ICAjZGVmaW5lICBUUkFOU19DSElDS0VOMl9ESVNB QkxFX0RFRVBfQ09MT1JfQ09VTlRFUgkoMTw8MjYpCj4gICNkZWZpbmUgIFRSQU5TX0NISUNLRU4y X0RJU0FCTEVfREVFUF9DT0xPUl9NT0RFU1dJVENICSgxPDwyNSkKPiAgCj4gLSNkZWZpbmUgU09V VEhfQ0hJQ0tFTjEJCTB4YzIwMDAKPiArI2RlZmluZSBTT1VUSF9DSElDS0VOMQkJX1JFRygweGMy MDAwKQo+ICAjZGVmaW5lICBGRElBX1BIQVNFX1NZTkNfU0hJRlRfT1ZSCTE5Cj4gICNkZWZpbmUg IEZESUFfUEhBU0VfU1lOQ19TSElGVF9FTgkxOAo+ICAjZGVmaW5lICBGRElfUEhBU0VfU1lOQ19P VlIocGlwZSkgKDE8PChGRElBX1BIQVNFX1NZTkNfU0hJRlRfT1ZSIC0gKChwaXBlKSAqIDIpKSkK PiAgI2RlZmluZSAgRkRJX1BIQVNFX1NZTkNfRU4ocGlwZSkgKDE8PChGRElBX1BIQVNFX1NZTkNf U0hJRlRfRU4gLSAoKHBpcGUpICogMikpKQo+ICAjZGVmaW5lICBGRElfQkNfQklGVVJDQVRJT05f U0VMRUNUCSgxIDw8IDEyKQo+ICAjZGVmaW5lICBTUFRfUFdNX0dSQU5VTEFSSVRZCQkoMTw8MCkK PiAtI2RlZmluZSBTT1VUSF9DSElDS0VOMgkJMHhjMjAwNAo+ICsjZGVmaW5lIFNPVVRIX0NISUNL RU4yCQlfUkVHKDB4YzIwMDQpCj4gICNkZWZpbmUgIEZESV9NUEhZX0lPU0ZTQl9SRVNFVF9TVEFU VVMJKDE8PDEzKQo+ICAjZGVmaW5lICBGRElfTVBIWV9JT1NGU0JfUkVTRVRfQ1RMCSgxPDwxMikK PiAgI2RlZmluZSAgTFBUX1BXTV9HUkFOVUxBUklUWQkJKDE8PDUpCj4gICNkZWZpbmUgIERQTFNf RURQX1BQU19GSVhfRElTCQkoMTw8MCkKPiAgCj4gLSNkZWZpbmUgX0ZESV9SWEFfQ0hJQ0tFTiAg ICAgICAgIDB4YzIwMGMKPiAtI2RlZmluZSBfRkRJX1JYQl9DSElDS0VOICAgICAgICAgMHhjMjAx MAo+ICsjZGVmaW5lIF9GRElfUlhBX0NISUNLRU4gICAgICAgIDB4YzIwMGMKPiArI2RlZmluZSBf RkRJX1JYQl9DSElDS0VOICAgICAgICAweGMyMDEwCj4gICNkZWZpbmUgIEZESV9SWF9QSEFTRV9T WU5DX1BPSU5URVJfT1ZSCSgxPDwxKQo+ICAjZGVmaW5lICBGRElfUlhfUEhBU0VfU1lOQ19QT0lO VEVSX0VOCSgxPDwwKQo+IC0jZGVmaW5lIEZESV9SWF9DSElDS0VOKHBpcGUpIF9QSVBFKHBpcGUs IF9GRElfUlhBX0NISUNLRU4sIF9GRElfUlhCX0NISUNLRU4pCj4gKyNkZWZpbmUgRkRJX1JYX0NI SUNLRU4ocGlwZSkJX1JFR19QSVBFKHBpcGUsIF9GRElfUlhBX0NISUNLRU4sIF9GRElfUlhCX0NI SUNLRU4pCj4gIAo+IC0jZGVmaW5lIFNPVVRIX0RTUENMS19HQVRFX0QJMHhjMjAyMAo+ICsjZGVm aW5lIFNPVVRIX0RTUENMS19HQVRFX0QJX1JFRygweGMyMDIwKQo+ICAjZGVmaW5lICBQQ0hfRFBM VU5JVF9DTE9DS19HQVRFX0RJU0FCTEUgKDE8PDMwKQo+ICAjZGVmaW5lICBQQ0hfRFBMU1VOSVRf Q0xPQ0tfR0FURV9ESVNBQkxFICgxPDwyOSkKPiAgI2RlZmluZSAgUENIX0NQVU5JVF9DTE9DS19H QVRFX0RJU0FCTEUgKDE8PDE0KQo+ICAjZGVmaW5lICBQQ0hfTFBfUEFSVElUSU9OX0xFVkVMX0RJ U0FCTEUgICgxPDwxMikKPiAgCj4gIC8qIENQVTogRkRJX1RYICovCj4gLSNkZWZpbmUgX0ZESV9U WEFfQ1RMICAgICAgICAgICAgIDB4NjAxMDAKPiAtI2RlZmluZSBfRkRJX1RYQl9DVEwgICAgICAg ICAgICAgMHg2MTEwMAo+IC0jZGVmaW5lIEZESV9UWF9DVEwocGlwZSkgX1BJUEUocGlwZSwgX0ZE SV9UWEFfQ1RMLCBfRkRJX1RYQl9DVEwpCj4gKyNkZWZpbmUgX0ZESV9UWEFfQ1RMICAgICAgICAg ICAgMHg2MDEwMAo+ICsjZGVmaW5lIF9GRElfVFhCX0NUTCAgICAgICAgICAgIDB4NjExMDAKPiAr I2RlZmluZSBGRElfVFhfQ1RMKHBpcGUpCV9SRUdfUElQRShwaXBlLCBfRkRJX1RYQV9DVEwsIF9G RElfVFhCX0NUTCkKPiAgI2RlZmluZSAgRkRJX1RYX0RJU0FCTEUgICAgICAgICAoMDw8MzEpCj4g ICNkZWZpbmUgIEZESV9UWF9FTkFCTEUgICAgICAgICAgKDE8PDMxKQo+ICAjZGVmaW5lICBGRElf TElOS19UUkFJTl9QQVRURVJOXzEgICAgICAgKDA8PDI4KQo+IEBAIC02NDAzLDcgKzY0MDIsNyBA QCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgLyogRkRJX1JYLCBGRElfWCBpcyBoYXJk LXdpcmVkIHRvIFRyYW5zY29kZXJfWCAqLwo+ICAjZGVmaW5lIF9GRElfUlhBX0NUTCAgICAgICAg ICAgICAweGYwMDBjCj4gICNkZWZpbmUgX0ZESV9SWEJfQ1RMICAgICAgICAgICAgIDB4ZjEwMGMK PiAtI2RlZmluZSBGRElfUlhfQ1RMKHBpcGUpIF9QSVBFKHBpcGUsIF9GRElfUlhBX0NUTCwgX0ZE SV9SWEJfQ1RMKQo+ICsjZGVmaW5lIEZESV9SWF9DVEwocGlwZSkJX1JFR19QSVBFKHBpcGUsIF9G RElfUlhBX0NUTCwgX0ZESV9SWEJfQ1RMKQo+ICAjZGVmaW5lICBGRElfUlhfRU5BQkxFICAgICAg ICAgICgxPDwzMSkKPiAgLyogdHJhaW4sIGRwIHdpZHRoIHNhbWUgYXMgRkRJX1RYICovCj4gICNk ZWZpbmUgIEZESV9GU19FUlJDX0VOQUJMRQkJKDE8PDI3KQo+IEBAIC02NDM5LDE0ICs2NDM4LDE0 IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICBGRElfUlhfVFAxX1RP X1RQMl80OAkJKDI8PDIwKQo+ICAjZGVmaW5lICBGRElfUlhfVFAxX1RPX1RQMl82NAkJKDM8PDIw KQo+ICAjZGVmaW5lICBGRElfUlhfRkRJX0RFTEFZXzkwCQkoMHg5MDw8MCkKPiAtI2RlZmluZSBG RElfUlhfTUlTQyhwaXBlKSBfUElQRShwaXBlLCBfRkRJX1JYQV9NSVNDLCBfRkRJX1JYQl9NSVND KQo+ICsjZGVmaW5lIEZESV9SWF9NSVNDKHBpcGUpCV9SRUdfUElQRShwaXBlLCBfRkRJX1JYQV9N SVNDLCBfRkRJX1JYQl9NSVNDKQo+ICAKPiAtI2RlZmluZSBfRkRJX1JYQV9UVVNJWkUxICAgICAg ICAgMHhmMDAzMAo+IC0jZGVmaW5lIF9GRElfUlhBX1RVU0laRTIgICAgICAgICAweGYwMDM4Cj4g LSNkZWZpbmUgX0ZESV9SWEJfVFVTSVpFMSAgICAgICAgIDB4ZjEwMzAKPiAtI2RlZmluZSBfRkRJ X1JYQl9UVVNJWkUyICAgICAgICAgMHhmMTAzOAo+IC0jZGVmaW5lIEZESV9SWF9UVVNJWkUxKHBp cGUpIF9QSVBFKHBpcGUsIF9GRElfUlhBX1RVU0laRTEsIF9GRElfUlhCX1RVU0laRTEpCj4gLSNk ZWZpbmUgRkRJX1JYX1RVU0laRTIocGlwZSkgX1BJUEUocGlwZSwgX0ZESV9SWEFfVFVTSVpFMiwg X0ZESV9SWEJfVFVTSVpFMikKPiArI2RlZmluZSBfRkRJX1JYQV9UVVNJWkUxICAgICAgICAweGYw MDMwCj4gKyNkZWZpbmUgX0ZESV9SWEFfVFVTSVpFMiAgICAgICAgMHhmMDAzOAo+ICsjZGVmaW5l IF9GRElfUlhCX1RVU0laRTEgICAgICAgIDB4ZjEwMzAKPiArI2RlZmluZSBfRkRJX1JYQl9UVVNJ WkUyICAgICAgICAweGYxMDM4Cj4gKyNkZWZpbmUgRkRJX1JYX1RVU0laRTEocGlwZSkJX1JFR19Q SVBFKHBpcGUsIF9GRElfUlhBX1RVU0laRTEsIF9GRElfUlhCX1RVU0laRTEpCj4gKyNkZWZpbmUg RkRJX1JYX1RVU0laRTIocGlwZSkJX1JFR19QSVBFKHBpcGUsIF9GRElfUlhBX1RVU0laRTIsIF9G RElfUlhCX1RVU0laRTIpCj4gIAo+ICAvKiBGRElfUlggaW50ZXJydXB0IHJlZ2lzdGVyIGZvcm1h dCAqLwo+ICAjZGVmaW5lIEZESV9SWF9JTlRFUl9MQU5FX0FMSUdOICAgICAgICAgKDE8PDEwKQo+ IEBAIC02NDYxLDQ0ICs2NDYwLDQxIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAj ZGVmaW5lIEZESV9SWF9DUk9TU19DTE9DS19PVkVSRkxPVyAgICAgKDE8PDEpCj4gICNkZWZpbmUg RkRJX1JYX1NZTUJPTF9RVUVVRV9PVkVSRkxPVyAgICAoMTw8MCkKPiAgCj4gLSNkZWZpbmUgX0ZE SV9SWEFfSUlSICAgICAgICAgICAgIDB4ZjAwMTQKPiAtI2RlZmluZSBfRkRJX1JYQV9JTVIgICAg ICAgICAgICAgMHhmMDAxOAo+IC0jZGVmaW5lIF9GRElfUlhCX0lJUiAgICAgICAgICAgICAweGYx MDE0Cj4gLSNkZWZpbmUgX0ZESV9SWEJfSU1SICAgICAgICAgICAgIDB4ZjEwMTgKPiAtI2RlZmlu ZSBGRElfUlhfSUlSKHBpcGUpIF9QSVBFKHBpcGUsIF9GRElfUlhBX0lJUiwgX0ZESV9SWEJfSUlS KQo+IC0jZGVmaW5lIEZESV9SWF9JTVIocGlwZSkgX1BJUEUocGlwZSwgX0ZESV9SWEFfSU1SLCBf RkRJX1JYQl9JTVIpCj4gKyNkZWZpbmUgX0ZESV9SWEFfSUlSICAgICAgICAgICAgMHhmMDAxNAo+ ICsjZGVmaW5lIF9GRElfUlhBX0lNUiAgICAgICAgICAgIDB4ZjAwMTgKPiArI2RlZmluZSBfRkRJ X1JYQl9JSVIgICAgICAgICAgICAweGYxMDE0Cj4gKyNkZWZpbmUgX0ZESV9SWEJfSU1SICAgICAg ICAgICAgMHhmMTAxOAo+ICsjZGVmaW5lIEZESV9SWF9JSVIocGlwZSkJX1JFR19QSVBFKHBpcGUs IF9GRElfUlhBX0lJUiwgX0ZESV9SWEJfSUlSKQo+ICsjZGVmaW5lIEZESV9SWF9JTVIocGlwZSkJ X1JFR19QSVBFKHBpcGUsIF9GRElfUlhBX0lNUiwgX0ZESV9SWEJfSU1SKQo+ICAKPiAtI2RlZmlu ZSBGRElfUExMX0NUTF8xICAgICAgICAgICAweGZlMDAwCj4gLSNkZWZpbmUgRkRJX1BMTF9DVExf MiAgICAgICAgICAgMHhmZTAwNAo+ICsjZGVmaW5lIEZESV9QTExfQ1RMXzEgICAgICAgICAgIF9S RUcoMHhmZTAwMCkKPiArI2RlZmluZSBGRElfUExMX0NUTF8yICAgICAgICAgICBfUkVHKDB4ZmUw MDQpCj4gIAo+IC0jZGVmaW5lIFBDSF9MVkRTCTB4ZTExODAKPiArI2RlZmluZSBQQ0hfTFZEUwlf UkVHKDB4ZTExODApCj4gICNkZWZpbmUgIExWRFNfREVURUNURUQJKDEgPDwgMSkKPiAgCj4gIC8q IHZsdiBoYXMgMiBzZXRzIG9mIHBhbmVsIGNvbnRyb2wgcmVncy4gKi8KPiAtI2RlZmluZSBfUElQ RUFfUFBfU1RBVFVTCShWTFZfRElTUExBWV9CQVNFICsgMHg2MTIwMCkKPiAtI2RlZmluZSBfUElQ RUFfUFBfQ09OVFJPTAkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjEyMDQpCj4gLSNkZWZpbmUgX1BJ UEVBX1BQX09OX0RFTEFZUwkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjEyMDgpCj4gKyNkZWZpbmUg X1BJUEVBX1BQX1NUQVRVUyAgICAgICAgIChWTFZfRElTUExBWV9CQVNFICsgMHg2MTIwMCkKPiAr I2RlZmluZSBfUElQRUFfUFBfQ09OVFJPTCAgICAgICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYx MjA0KQo+ICsjZGVmaW5lIF9QSVBFQV9QUF9PTl9ERUxBWVMgICAgICAoVkxWX0RJU1BMQVlfQkFT RSArIDB4NjEyMDgpCj4gICNkZWZpbmUgIFBBTkVMX1BPUlRfU0VMRUNUX1ZMVihwb3J0KQkoKHBv cnQpIDw8IDMwKQo+IC0jZGVmaW5lIF9QSVBFQV9QUF9PRkZfREVMQVlTCShWTFZfRElTUExBWV9C QVNFICsgMHg2MTIwYykKPiAtI2RlZmluZSBfUElQRUFfUFBfRElWSVNPUgkoVkxWX0RJU1BMQVlf QkFTRSArIDB4NjEyMTApCj4gLQo+IC0jZGVmaW5lIF9QSVBFQl9QUF9TVEFUVVMJKFZMVl9ESVNQ TEFZX0JBU0UgKyAweDYxMzAwKQo+IC0jZGVmaW5lIF9QSVBFQl9QUF9DT05UUk9MCShWTFZfRElT UExBWV9CQVNFICsgMHg2MTMwNCkKPiAtI2RlZmluZSBfUElQRUJfUFBfT05fREVMQVlTCShWTFZf RElTUExBWV9CQVNFICsgMHg2MTMwOCkKPiAtI2RlZmluZSBfUElQRUJfUFBfT0ZGX0RFTEFZUwko VkxWX0RJU1BMQVlfQkFTRSArIDB4NjEzMGMpCj4gLSNkZWZpbmUgX1BJUEVCX1BQX0RJVklTT1IJ KFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMzEwKQo+IC0KPiAtI2RlZmluZSBWTFZfUElQRV9QUF9T VEFUVVMocGlwZSkgX1BJUEUocGlwZSwgX1BJUEVBX1BQX1NUQVRVUywgX1BJUEVCX1BQX1NUQVRV UykKPiAtI2RlZmluZSBWTFZfUElQRV9QUF9DT05UUk9MKHBpcGUpIF9QSVBFKHBpcGUsIF9QSVBF QV9QUF9DT05UUk9MLCBfUElQRUJfUFBfQ09OVFJPTCkKPiAtI2RlZmluZSBWTFZfUElQRV9QUF9P Tl9ERUxBWVMocGlwZSkgXAo+IC0JCV9QSVBFKHBpcGUsIF9QSVBFQV9QUF9PTl9ERUxBWVMsIF9Q SVBFQl9QUF9PTl9ERUxBWVMpCj4gLSNkZWZpbmUgVkxWX1BJUEVfUFBfT0ZGX0RFTEFZUyhwaXBl KSBcCj4gLQkJX1BJUEUocGlwZSwgX1BJUEVBX1BQX09GRl9ERUxBWVMsIF9QSVBFQl9QUF9PRkZf REVMQVlTKQo+IC0jZGVmaW5lIFZMVl9QSVBFX1BQX0RJVklTT1IocGlwZSkgXAo+IC0JCV9QSVBF KHBpcGUsIF9QSVBFQV9QUF9ESVZJU09SLCBfUElQRUJfUFBfRElWSVNPUikKPiAtCj4gLSNkZWZp bmUgUENIX1BQX1NUQVRVUwkJMHhjNzIwMAo+IC0jZGVmaW5lIFBDSF9QUF9DT05UUk9MCQkweGM3 MjA0Cj4gKyNkZWZpbmUgX1BJUEVBX1BQX09GRl9ERUxBWVMgICAgIChWTFZfRElTUExBWV9CQVNF ICsgMHg2MTIwYykKPiArI2RlZmluZSBfUElQRUFfUFBfRElWSVNPUiAgICAgICAgKFZMVl9ESVNQ TEFZX0JBU0UgKyAweDYxMjEwKQo+ICsKPiArI2RlZmluZSBfUElQRUJfUFBfU1RBVFVTICAgICAg ICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMzAwKQo+ICsjZGVmaW5lIF9QSVBFQl9QUF9DT05U Uk9MICAgICAgICAoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjEzMDQpCj4gKyNkZWZpbmUgX1BJUEVC X1BQX09OX0RFTEFZUyAgICAgIChWTFZfRElTUExBWV9CQVNFICsgMHg2MTMwOCkKPiArI2RlZmlu ZSBfUElQRUJfUFBfT0ZGX0RFTEFZUyAgICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMzBjKQo+ ICsjZGVmaW5lIF9QSVBFQl9QUF9ESVZJU09SICAgICAgICAoVkxWX0RJU1BMQVlfQkFTRSArIDB4 NjEzMTApCj4gKwo+ICsjZGVmaW5lIFZMVl9QSVBFX1BQX1NUQVRVUyhwaXBlKQlfUkVHX1BJUEUo cGlwZSwgX1BJUEVBX1BQX1NUQVRVUywgX1BJUEVCX1BQX1NUQVRVUykKPiArI2RlZmluZSBWTFZf UElQRV9QUF9DT05UUk9MKHBpcGUpCV9SRUdfUElQRShwaXBlLCBfUElQRUFfUFBfQ09OVFJPTCwg X1BJUEVCX1BQX0NPTlRST0wpCj4gKyNkZWZpbmUgVkxWX1BJUEVfUFBfT05fREVMQVlTKHBpcGUp CV9SRUdfUElQRShwaXBlLCBfUElQRUFfUFBfT05fREVMQVlTLCBfUElQRUJfUFBfT05fREVMQVlT KQo+ICsjZGVmaW5lIFZMVl9QSVBFX1BQX09GRl9ERUxBWVMocGlwZSkJX1JFR19QSVBFKHBpcGUs IF9QSVBFQV9QUF9PRkZfREVMQVlTLCBfUElQRUJfUFBfT0ZGX0RFTEFZUykKPiArI2RlZmluZSBW TFZfUElQRV9QUF9ESVZJU09SKHBpcGUpCV9SRUdfUElQRShwaXBlLCBfUElQRUFfUFBfRElWSVNP UiwgX1BJUEVCX1BQX0RJVklTT1IpCj4gKwo+ICsjZGVmaW5lIF9QQ0hfUFBfU1RBVFVTCQkweGM3 MjAwCj4gKyNkZWZpbmUgX1BDSF9QUF9DT05UUk9MCQkweGM3MjA0Cj4gICNkZWZpbmUgIFBBTkVM X1VOTE9DS19SRUdTCSgweGFiY2QgPDwgMTYpCj4gICNkZWZpbmUgIFBBTkVMX1VOTE9DS19NQVNL CSgweGZmZmYgPDwgMTYpCj4gICNkZWZpbmUgIEJYVF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLCSgw eDFmMCkKPiBAQCAtNjUwOCw3ICs2NTA0LDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7 Cj4gICNkZWZpbmUgIFBBTkVMX1BPV0VSX1JFU0VUCSgxIDw8IDEpCj4gICNkZWZpbmUgIFBBTkVM X1BPV0VSX09GRgkoMCA8PCAwKQo+ICAjZGVmaW5lICBQQU5FTF9QT1dFUl9PTgkJKDEgPDwgMCkK PiAtI2RlZmluZSBQQ0hfUFBfT05fREVMQVlTCTB4YzcyMDgKPiArI2RlZmluZSBfUENIX1BQX09O X0RFTEFZUwkweGM3MjA4Cj4gICNkZWZpbmUgIFBBTkVMX1BPUlRfU0VMRUNUX01BU0sJKDMgPDwg MzApCj4gICNkZWZpbmUgIFBBTkVMX1BPUlRfU0VMRUNUX0xWRFMJKDAgPDwgMzApCj4gICNkZWZp bmUgIFBBTkVMX1BPUlRfU0VMRUNUX0RQQQkoMSA8PCAzMCkKPiBAQCAtNjUxOSwzMCArNjUxNSwz NyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgUEFORUxfTElHSFRf T05fREVMQVlfTUFTSwkoMHgxZmZmKQo+ICAjZGVmaW5lICBQQU5FTF9MSUdIVF9PTl9ERUxBWV9T SElGVAkwCj4gIAo+IC0jZGVmaW5lIFBDSF9QUF9PRkZfREVMQVlTCTB4YzcyMGMKPiArI2RlZmlu ZSBfUENIX1BQX09GRl9ERUxBWVMJCTB4YzcyMGMKPiAgI2RlZmluZSAgUEFORUxfUE9XRVJfRE9X Tl9ERUxBWV9NQVNLCSgweDFmZmYwMDAwKQo+ICAjZGVmaW5lICBQQU5FTF9QT1dFUl9ET1dOX0RF TEFZX1NISUZUCTE2Cj4gICNkZWZpbmUgIFBBTkVMX0xJR0hUX09GRl9ERUxBWV9NQVNLCSgweDFm ZmYpCj4gICNkZWZpbmUgIFBBTkVMX0xJR0hUX09GRl9ERUxBWV9TSElGVAkwCj4gIAo+IC0jZGVm aW5lIFBDSF9QUF9ESVZJU09SCQkweGM3MjEwCj4gKyNkZWZpbmUgX1BDSF9QUF9ESVZJU09SCQkJ MHhjNzIxMAo+ICAjZGVmaW5lICBQUF9SRUZFUkVOQ0VfRElWSURFUl9NQVNLCSgweGZmZmZmZjAw KQo+ICAjZGVmaW5lICBQUF9SRUZFUkVOQ0VfRElWSURFUl9TSElGVAk4Cj4gICNkZWZpbmUgIFBB TkVMX1BPV0VSX0NZQ0xFX0RFTEFZX01BU0sJKDB4MWYpCj4gICNkZWZpbmUgIFBBTkVMX1BPV0VS X0NZQ0xFX0RFTEFZX1NISUZUCTAKPiAgCj4gKyNkZWZpbmUgUENIX1BQX1NUQVRVUwkJCV9SRUco X1BDSF9QUF9TVEFUVVMpCj4gKyNkZWZpbmUgUENIX1BQX0NPTlRST0wJCQlfUkVHKF9QQ0hfUFBf Q09OVFJPTCkKPiArI2RlZmluZSBQQ0hfUFBfT05fREVMQVlTCQlfUkVHKF9QQ0hfUFBfT05fREVM QVlTKQo+ICsjZGVmaW5lIFBDSF9QUF9PRkZfREVMQVlTCQlfUkVHKF9QQ0hfUFBfT0ZGX0RFTEFZ UykKPiArI2RlZmluZSBQQ0hfUFBfRElWSVNPUgkJCV9SRUcoX1BDSF9QUF9ESVZJU09SKQo+ICsK PiAgLyogQlhUIFBQUyBjaGFuZ2VzIC0gMm5kIHNldCBvZiBQUFMgcmVnaXN0ZXJzICovCj4gICNk ZWZpbmUgX0JYVF9QUF9TVEFUVVMyIAkweGM3MzAwCj4gICNkZWZpbmUgX0JYVF9QUF9DT05UUk9M MiAJMHhjNzMwNAo+ICAjZGVmaW5lIF9CWFRfUFBfT05fREVMQVlTMgkweGM3MzA4Cj4gICNkZWZp bmUgX0JYVF9QUF9PRkZfREVMQVlTMgkweGM3MzBjCj4gIAo+IC0jZGVmaW5lIEJYVF9QUF9TVEFU VVMobikJX1BJUEUobiwgUENIX1BQX1NUQVRVUywgX0JYVF9QUF9TVEFUVVMyKQo+IC0jZGVmaW5l IEJYVF9QUF9DT05UUk9MKG4pCV9QSVBFKG4sIFBDSF9QUF9DT05UUk9MLCBfQlhUX1BQX0NPTlRS T0wyKQo+IC0jZGVmaW5lIEJYVF9QUF9PTl9ERUxBWVMobikJX1BJUEUobiwgUENIX1BQX09OX0RF TEFZUywgX0JYVF9QUF9PTl9ERUxBWVMyKQo+IC0jZGVmaW5lIEJYVF9QUF9PRkZfREVMQVlTKG4p CV9QSVBFKG4sIFBDSF9QUF9PRkZfREVMQVlTLCBfQlhUX1BQX09GRl9ERUxBWVMyKQo+ICsjZGVm aW5lIEJYVF9QUF9TVEFUVVMobikJX1JFR19QSVBFKG4sIF9QQ0hfUFBfU1RBVFVTLCBfQlhUX1BQ X1NUQVRVUzIpCj4gKyNkZWZpbmUgQlhUX1BQX0NPTlRST0wobikJX1JFR19QSVBFKG4sIF9QQ0hf UFBfQ09OVFJPTCwgX0JYVF9QUF9DT05UUk9MMikKPiArI2RlZmluZSBCWFRfUFBfT05fREVMQVlT KG4pCV9SRUdfUElQRShuLCBfUENIX1BQX09OX0RFTEFZUywgX0JYVF9QUF9PTl9ERUxBWVMyKQo+ ICsjZGVmaW5lIEJYVF9QUF9PRkZfREVMQVlTKG4pCV9SRUdfUElQRShuLCBfUENIX1BQX09GRl9E RUxBWVMsIF9CWFRfUFBfT0ZGX0RFTEFZUzIpCj4gIAo+IC0jZGVmaW5lIFBDSF9EUF9CCQkweGU0 MTAwCj4gKyNkZWZpbmUgX1BDSF9EUF9CCQkweGU0MTAwCj4gKyNkZWZpbmUgUENIX0RQX0IJCV9S RUcoX1BDSF9EUF9CKQo+ICAjZGVmaW5lIF9QQ0hfRFBCX0FVWF9DSF9DVEwJMHhlNDExMAo+ICAj ZGVmaW5lIF9QQ0hfRFBCX0FVWF9DSF9EQVRBMQkweGU0MTE0Cj4gICNkZWZpbmUgX1BDSF9EUEJf QVVYX0NIX0RBVEEyCTB4ZTQxMTgKPiBAQCAtNjU1MCw3ICs2NTUzLDggQEAgZW51bSBza2xfZGlz cF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgX1BDSF9EUEJfQVVYX0NIX0RBVEE0CTB4ZTQxMjAK PiAgI2RlZmluZSBfUENIX0RQQl9BVVhfQ0hfREFUQTUJMHhlNDEyNAo+ICAKPiAtI2RlZmluZSBQ Q0hfRFBfQwkJMHhlNDIwMAo+ICsjZGVmaW5lIF9QQ0hfRFBfQwkJMHhlNDIwMAo+ICsjZGVmaW5l IFBDSF9EUF9DCQlfUkVHKF9QQ0hfRFBfQykKPiAgI2RlZmluZSBfUENIX0RQQ19BVVhfQ0hfQ1RM CTB4ZTQyMTAKPiAgI2RlZmluZSBfUENIX0RQQ19BVVhfQ0hfREFUQTEJMHhlNDIxNAo+ICAjZGVm aW5lIF9QQ0hfRFBDX0FVWF9DSF9EQVRBMgkweGU0MjE4Cj4gQEAgLTY1NTgsNyArNjU2Miw4IEBA IGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIF9QQ0hfRFBDX0FVWF9DSF9E QVRBNAkweGU0MjIwCj4gICNkZWZpbmUgX1BDSF9EUENfQVVYX0NIX0RBVEE1CTB4ZTQyMjQKPiAg Cj4gLSNkZWZpbmUgUENIX0RQX0QJCTB4ZTQzMDAKPiArI2RlZmluZSBfUENIX0RQX0QJCTB4ZTQz MDAKPiArI2RlZmluZSBQQ0hfRFBfRAkJX1JFRyhfUENIX0RQX0QpCj4gICNkZWZpbmUgX1BDSF9E UERfQVVYX0NIX0NUTAkweGU0MzEwCj4gICNkZWZpbmUgX1BDSF9EUERfQVVYX0NIX0RBVEExCTB4 ZTQzMTQKPiAgI2RlZmluZSBfUENIX0RQRF9BVVhfQ0hfREFUQTIJMHhlNDMxOAo+IEBAIC02NTY2 LDggKzY1NzEsOCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBfUENI X0RQRF9BVVhfQ0hfREFUQTQJMHhlNDMyMAo+ICAjZGVmaW5lIF9QQ0hfRFBEX0FVWF9DSF9EQVRB NQkweGU0MzI0Cj4gIAo+IC0jZGVmaW5lIFBDSF9EUF9BVVhfQ0hfQ1RMKHBvcnQpCQlfUE9SVCgo cG9ydCktMSwgX1BDSF9EUEJfQVVYX0NIX0NUTCwgX1BDSF9EUENfQVVYX0NIX0NUTCkKPiAtI2Rl ZmluZSBQQ0hfRFBfQVVYX0NIX0RBVEEocG9ydCwgaSkJKF9QT1JUKChwb3J0KS0xLCBfUENIX0RQ Ql9BVVhfQ0hfREFUQTEsIF9QQ0hfRFBDX0FVWF9DSF9EQVRBMSkgKyAoaSkgKiA0KSAvKiA1IHJl Z2lzdGVycyAqLwo+ICsjZGVmaW5lIFBDSF9EUF9BVVhfQ0hfQ1RMKHBvcnQpCQlfUkVHX1BPUlQo KHBvcnQpLTEsIF9QQ0hfRFBCX0FVWF9DSF9DVEwsIF9QQ0hfRFBDX0FVWF9DSF9DVEwpCj4gKyNk ZWZpbmUgUENIX0RQX0FVWF9DSF9EQVRBKHBvcnQsIGkpCV9SRUcoX1BPUlQoKHBvcnQpLTEsIF9Q Q0hfRFBCX0FVWF9DSF9EQVRBMSwgX1BDSF9EUENfQVVYX0NIX0RBVEExKSArIChpKSAqIDQpIC8q IDUgcmVnaXN0ZXJzICovCj4gIAo+ICAvKiBDUFQgKi8KPiAgI2RlZmluZSAgUE9SVF9UUkFOU19B X1NFTF9DUFQJMAo+IEBAIC02NTgzLDcgKzY1ODgsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dl bGxzIHsKPiAgI2RlZmluZSBfVFJBTlNfRFBfQ1RMX0EJCTB4ZTAzMDAKPiAgI2RlZmluZSBfVFJB TlNfRFBfQ1RMX0IJCTB4ZTEzMDAKPiAgI2RlZmluZSBfVFJBTlNfRFBfQ1RMX0MJCTB4ZTIzMDAK PiAtI2RlZmluZSBUUkFOU19EUF9DVEwocGlwZSkJX1BJUEUocGlwZSwgX1RSQU5TX0RQX0NUTF9B LCBfVFJBTlNfRFBfQ1RMX0IpCj4gKyNkZWZpbmUgVFJBTlNfRFBfQ1RMKHBpcGUpCV9SRUdfUElQ RShwaXBlLCBfVFJBTlNfRFBfQ1RMX0EsIF9UUkFOU19EUF9DVExfQikKPiAgI2RlZmluZSAgVFJB TlNfRFBfT1VUUFVUX0VOQUJMRQkoMTw8MzEpCj4gICNkZWZpbmUgIFRSQU5TX0RQX1BPUlRfU0VM X0IJKDA8PDI5KQo+ICAjZGVmaW5lICBUUkFOU19EUF9QT1JUX1NFTF9DCSgxPDwyOSkKPiBAQCAt NjYzNiw0MCArNjY0MSw0MCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgCj4gICNk ZWZpbmUgIEVEUF9MSU5LX1RSQUlOX1ZPTF9FTVBfTUFTS19JVkIJKDB4M2Y8PDIyKQo+ICAKPiAt I2RlZmluZSAgVkxWX1BNV0dJQ1oJCQkJMHgxMzAwYTQKPiArI2RlZmluZSAgVkxWX1BNV0dJQ1oJ CQkJX1JFRygweDEzMDBhNCkKPiAgCj4gLSNkZWZpbmUgIEZPUkNFV0FLRQkJCQkweEExOEMKPiAt I2RlZmluZSAgRk9SQ0VXQUtFX1ZMVgkJCQkweDEzMDBiMAo+IC0jZGVmaW5lICBGT1JDRVdBS0Vf QUNLX1ZMVgkJCTB4MTMwMGI0Cj4gLSNkZWZpbmUgIEZPUkNFV0FLRV9NRURJQV9WTFYJCQkweDEz MDBiOAo+IC0jZGVmaW5lICBGT1JDRVdBS0VfQUNLX01FRElBX1ZMVgkJMHgxMzAwYmMKPiAtI2Rl ZmluZSAgRk9SQ0VXQUtFX0FDS19IU1cJCQkweDEzMDA0NAo+IC0jZGVmaW5lICBGT1JDRVdBS0Vf QUNLCQkJCTB4MTMwMDkwCj4gLSNkZWZpbmUgIFZMVl9HVExDX1dBS0VfQ1RSTAkJCTB4MTMwMDkw Cj4gKyNkZWZpbmUgIEZPUkNFV0FLRQkJCQlfUkVHKDB4QTE4QykKPiArI2RlZmluZSAgRk9SQ0VX QUtFX1ZMVgkJCQlfUkVHKDB4MTMwMGIwKQo+ICsjZGVmaW5lICBGT1JDRVdBS0VfQUNLX1ZMVgkJ CV9SRUcoMHgxMzAwYjQpCj4gKyNkZWZpbmUgIEZPUkNFV0FLRV9NRURJQV9WTFYJCQlfUkVHKDB4 MTMwMGI4KQo+ICsjZGVmaW5lICBGT1JDRVdBS0VfQUNLX01FRElBX1ZMVgkJX1JFRygweDEzMDBi YykKPiArI2RlZmluZSAgRk9SQ0VXQUtFX0FDS19IU1cJCQlfUkVHKDB4MTMwMDQ0KQo+ICsjZGVm aW5lICBGT1JDRVdBS0VfQUNLCQkJCV9SRUcoMHgxMzAwOTApCj4gKyNkZWZpbmUgIFZMVl9HVExD X1dBS0VfQ1RSTAkJCV9SRUcoMHgxMzAwOTApCj4gICNkZWZpbmUgICBWTFZfR1RMQ19SRU5ERVJf Q1RYX0VYSVNUUwkJKDEgPDwgMjUpCj4gICNkZWZpbmUgICBWTFZfR1RMQ19NRURJQV9DVFhfRVhJ U1RTCQkoMSA8PCAyNCkKPiAgI2RlZmluZSAgIFZMVl9HVExDX0FMTE9XV0FLRVJFUQkJCSgxIDw8 IDApCj4gIAo+IC0jZGVmaW5lICBWTFZfR1RMQ19QV19TVEFUVVMJCQkweDEzMDA5NAo+ICsjZGVm aW5lICBWTFZfR1RMQ19QV19TVEFUVVMJCQlfUkVHKDB4MTMwMDk0KQo+ICAjZGVmaW5lICAgVkxW X0dUTENfQUxMT1dXQUtFQUNLCQkJKDEgPDwgMCkKPiAgI2RlZmluZSAgIFZMVl9HVExDX0FMTE9X V0FLRUVSUgkJCSgxIDw8IDEpCj4gICNkZWZpbmUgICBWTFZfR1RMQ19QV19NRURJQV9TVEFUVVNf TUFTSwkJKDEgPDwgNSkKPiAgI2RlZmluZSAgIFZMVl9HVExDX1BXX1JFTkRFUl9TVEFUVVNfTUFT SwkoMSA8PCA3KQo+IC0jZGVmaW5lICBGT1JDRVdBS0VfTVQJCQkJMHhhMTg4IC8qIG11bHRpLXRo cmVhZGVkICovCj4gLSNkZWZpbmUgIEZPUkNFV0FLRV9NRURJQV9HRU45CQkJMHhhMjcwCj4gLSNk ZWZpbmUgIEZPUkNFV0FLRV9SRU5ERVJfR0VOOQkJCTB4YTI3OAo+IC0jZGVmaW5lICBGT1JDRVdB S0VfQkxJVFRFUl9HRU45CQkJMHhhMTg4Cj4gLSNkZWZpbmUgIEZPUkNFV0FLRV9BQ0tfTUVESUFf R0VOOQkJMHgwRDg4Cj4gLSNkZWZpbmUgIEZPUkNFV0FLRV9BQ0tfUkVOREVSX0dFTjkJCTB4MEQ4 NAo+IC0jZGVmaW5lICBGT1JDRVdBS0VfQUNLX0JMSVRURVJfR0VOOQkJMHgxMzAwNDQKPiArI2Rl ZmluZSAgRk9SQ0VXQUtFX01UCQkJCV9SRUcoMHhhMTg4KSAvKiBtdWx0aS10aHJlYWRlZCAqLwo+ ICsjZGVmaW5lICBGT1JDRVdBS0VfTUVESUFfR0VOOQkJCV9SRUcoMHhhMjcwKQo+ICsjZGVmaW5l ICBGT1JDRVdBS0VfUkVOREVSX0dFTjkJCQlfUkVHKDB4YTI3OCkKPiArI2RlZmluZSAgRk9SQ0VX QUtFX0JMSVRURVJfR0VOOQkJCV9SRUcoMHhhMTg4KQo+ICsjZGVmaW5lICBGT1JDRVdBS0VfQUNL X01FRElBX0dFTjkJCV9SRUcoMHgwRDg4KQo+ICsjZGVmaW5lICBGT1JDRVdBS0VfQUNLX1JFTkRF Ul9HRU45CQlfUkVHKDB4MEQ4NCkKPiArI2RlZmluZSAgRk9SQ0VXQUtFX0FDS19CTElUVEVSX0dF TjkJCV9SRUcoMHgxMzAwNDQpCj4gICNkZWZpbmUgICBGT1JDRVdBS0VfS0VSTkVMCQkJMHgxCj4g ICNkZWZpbmUgICBGT1JDRVdBS0VfVVNFUgkJCTB4Mgo+IC0jZGVmaW5lICBGT1JDRVdBS0VfTVRf QUNLCQkJMHgxMzAwNDAKPiAtI2RlZmluZSAgRUNPQlVTCQkJCQkweGExODAKPiArI2RlZmluZSAg Rk9SQ0VXQUtFX01UX0FDSwkJCV9SRUcoMHgxMzAwNDApCj4gKyNkZWZpbmUgIEVDT0JVUwkJCQkJ X1JFRygweGExODApCj4gICNkZWZpbmUgICAgRk9SQ0VXQUtFX01UX0VOQUJMRQkJCSgxPDw1KQo+ IC0jZGVmaW5lICBWTFZfU1BBUkVHMkgJCQkJMHhBMTk0Cj4gKyNkZWZpbmUgIFZMVl9TUEFSRUcy SAkJCQlfUkVHKDB4QTE5NCkKPiAgCj4gLSNkZWZpbmUgIEdURklGT0RCRwkJCQkweDEyMDAwMAo+ ICsjZGVmaW5lICBHVEZJRk9EQkcJCQkJX1JFRygweDEyMDAwMCkKPiAgI2RlZmluZSAgICBHVF9G SUZPX1NCRFJPUEVSUgkJCSgxPDw2KQo+ICAjZGVmaW5lICAgIEdUX0ZJRk9fQkxPQkRST1BFUlIJ CQkoMTw8NSkKPiAgI2RlZmluZSAgICBHVF9GSUZPX1NCX1JFQURfQUJPUlRFUlIJCSgxPDw0KQo+ IEBAIC02Njc4LDIzICs2NjgzLDIzIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAj ZGVmaW5lICAgIEdUX0ZJRk9fSUFXUkVSUgkJCSgxPDwxKQo+ICAjZGVmaW5lICAgIEdUX0ZJRk9f SUFSREVSUgkJCSgxPDwwKQo+ICAKPiAtI2RlZmluZSAgR1RGSUZPQ1RMCQkJCTB4MTIwMDA4Cj4g KyNkZWZpbmUgIEdURklGT0NUTAkJCQlfUkVHKDB4MTIwMDA4KQo+ICAjZGVmaW5lICAgIEdUX0ZJ Rk9fRlJFRV9FTlRSSUVTX01BU0sJCTB4N2YKPiAgI2RlZmluZSAgICBHVF9GSUZPX05VTV9SRVNF UlZFRF9FTlRSSUVTCQkyMAo+ICAjZGVmaW5lICAgIEdUX0ZJRk9fQ1RMX0JMT0NLX0FMTF9QT0xJ Q1lfU1RBTEwJKDEgPDwgMTIpCj4gICNkZWZpbmUgICAgR1RfRklGT19DVExfUkM2X1BPTElDWV9T VEFMTAkJKDEgPDwgMTEpCj4gIAo+IC0jZGVmaW5lICBIU1dfSURJQ1IJCQkJMHg5MDA4Cj4gKyNk ZWZpbmUgIEhTV19JRElDUgkJCQlfUkVHKDB4OTAwOCkKPiAgI2RlZmluZSAgICBJRElIQVNITVNL KHgpCQkJKCgoeCkgJiAweDNmKSA8PCAxNikKPiAtI2RlZmluZSAgSFNXX0VEUkFNX1BSRVNFTlQJ CQkweDEyMDAxMAo+ICsjZGVmaW5lICBIU1dfRURSQU1fUFJFU0VOVAkJCV9SRUcoMHgxMjAwMTAp Cj4gICNkZWZpbmUgICAgRURSQU1fRU5BQkxFRAkJCTB4MQo+ICAKPiAtI2RlZmluZSBHRU42X1VD R0NUTDEJCQkJMHg5NDAwCj4gKyNkZWZpbmUgR0VONl9VQ0dDVEwxCQkJCV9SRUcoMHg5NDAwKQo+ ICAjIGRlZmluZSBHRU42X0VVX1RDVU5JVF9DTE9DS19HQVRFX0RJU0FCTEUJCSgxIDw8IDE2KQo+ ICAjIGRlZmluZSBHRU42X0JMQlVOSVRfQ0xPQ0tfR0FURV9ESVNBQkxFCQkoMSA8PCA1KQo+ICAj IGRlZmluZSBHRU42X0NTVU5JVF9DTE9DS19HQVRFX0RJU0FCTEUJCQkoMSA8PCA3KQo+ICAKPiAt I2RlZmluZSBHRU42X1VDR0NUTDIJCQkJMHg5NDA0Cj4gKyNkZWZpbmUgR0VONl9VQ0dDVEwyCQkJ CV9SRUcoMHg5NDA0KQo+ICAjIGRlZmluZSBHRU42X1ZGVU5JVF9DTE9DS19HQVRFX0RJU0FCTEUJ CQkoMSA8PCAzMSkKPiAgIyBkZWZpbmUgR0VON19WRFNVTklUX0NMT0NLX0dBVEVfRElTQUJMRQkJ KDEgPDwgMzApCj4gICMgZGVmaW5lIEdFTjdfVERMVU5JVF9DTE9DS19HQVRFX0RJU0FCTEUJCSgx IDw8IDIyKQo+IEBAIC02NzAyLDMwICs2NzA3LDMwIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2Vs bHMgewo+ICAjIGRlZmluZSBHRU42X1JDUEJVTklUX0NMT0NLX0dBVEVfRElTQUJMRQkJKDEgPDwg MTIpCj4gICMgZGVmaW5lIEdFTjZfUkNDVU5JVF9DTE9DS19HQVRFX0RJU0FCTEUJCSgxIDw8IDEx KQo+ICAKPiAtI2RlZmluZSBHRU42X1VDR0NUTDMJCQkJMHg5NDA4Cj4gKyNkZWZpbmUgR0VONl9V Q0dDVEwzCQkJCV9SRUcoMHg5NDA4KQo+ICAKPiAtI2RlZmluZSBHRU43X1VDR0NUTDQJCQkJMHg5 NDBjCj4gKyNkZWZpbmUgR0VON19VQ0dDVEw0CQkJCV9SRUcoMHg5NDBjKQo+ICAjZGVmaW5lICBH RU43X0wzQkFOSzJYX0NMT0NLX0dBVEVfRElTQUJMRQkoMTw8MjUpCj4gIAo+IC0jZGVmaW5lIEdF TjZfUkNHQ1RMMQkJCQkweDk0MTAKPiAtI2RlZmluZSBHRU42X1JDR0NUTDIJCQkJMHg5NDE0Cj4g LSNkZWZpbmUgR0VONl9SU1RDVEwJCQkJMHg5NDIwCj4gKyNkZWZpbmUgR0VONl9SQ0dDVEwxCQkJ CV9SRUcoMHg5NDEwKQo+ICsjZGVmaW5lIEdFTjZfUkNHQ1RMMgkJCQlfUkVHKDB4OTQxNCkKPiAr I2RlZmluZSBHRU42X1JTVENUTAkJCQlfUkVHKDB4OTQyMCkKPiAgCj4gLSNkZWZpbmUgR0VOOF9V Q0dDVEw2CQkJCTB4OTQzMAo+ICsjZGVmaW5lIEdFTjhfVUNHQ1RMNgkJCQlfUkVHKDB4OTQzMCkK PiAgI2RlZmluZSAgIEdFTjhfR0FQU1VOSVRfQ0xPQ0tfR0FURV9ESVNBQkxFCSgxPDwyNCkKPiAg I2RlZmluZSAgIEdFTjhfU0RFVU5JVF9DTE9DS19HQVRFX0RJU0FCTEUJKDE8PDE0KQo+ICAjZGVm aW5lICAgR0VOOF9IRENVTklUX0NMT0NLX0dBVEVfRElTQUJMRV9IRENSRVEgKDE8PDI4KQo+ICAK PiAtI2RlZmluZSBHRU42X0dGWFBBVVNFCQkJCTB4QTAwMAo+IC0jZGVmaW5lIEdFTjZfUlBOU1dS RVEJCQkJMHhBMDA4Cj4gKyNkZWZpbmUgR0VONl9HRlhQQVVTRQkJCQlfUkVHKDB4QTAwMCkKPiAr I2RlZmluZSBHRU42X1JQTlNXUkVRCQkJCV9SRUcoMHhBMDA4KQo+ICAjZGVmaW5lICAgR0VONl9U VVJCT19ESVNBQkxFCQkJKDE8PDMxKQo+ICAjZGVmaW5lICAgR0VONl9GUkVRVUVOQ1koeCkJCQko KHgpPDwyNSkKPiAgI2RlZmluZSAgIEhTV19GUkVRVUVOQ1koeCkJCQkoKHgpPDwyNCkKPiAgI2Rl ZmluZSAgIEdFTjlfRlJFUVVFTkNZKHgpCQkJKCh4KTw8MjMpCj4gICNkZWZpbmUgICBHRU42X09G RlNFVCh4KQkJCSgoeCk8PDE5KQo+ICAjZGVmaW5lICAgR0VONl9BR0dSRVNTSVZFX1RVUkJPCQkJ KDA8PDE1KQo+IC0jZGVmaW5lIEdFTjZfUkNfVklERU9fRlJFUQkJCTB4QTAwQwo+IC0jZGVmaW5l IEdFTjZfUkNfQ09OVFJPTAkJCQkweEEwOTAKPiArI2RlZmluZSBHRU42X1JDX1ZJREVPX0ZSRVEJ CQlfUkVHKDB4QTAwQykKPiArI2RlZmluZSBHRU42X1JDX0NPTlRST0wJCQkJX1JFRygweEEwOTAp Cj4gICNkZWZpbmUgICBHRU42X1JDX0NUTF9SQzZwcF9FTkFCTEUJCSgxPDwxNikKPiAgI2RlZmlu ZSAgIEdFTjZfUkNfQ1RMX1JDNnBfRU5BQkxFCQkoMTw8MTcpCj4gICNkZWZpbmUgICBHRU42X1JD X0NUTF9SQzZfRU5BQkxFCQkoMTw8MTgpCj4gQEAgLTY3MzUsMTYgKzY3NDAsMTYgQEAgZW51bSBz a2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBHRU43X1JDX0NUTF9UT19NT0RFCQkJ KDE8PDI4KQo+ICAjZGVmaW5lICAgR0VONl9SQ19DVExfRUlfTU9ERSh4KQkJKCh4KTw8MjcpCj4g ICNkZWZpbmUgICBHRU42X1JDX0NUTF9IV19FTkFCTEUJCQkoMTw8MzEpCj4gLSNkZWZpbmUgR0VO Nl9SUF9ET1dOX1RJTUVPVVQJCQkweEEwMTAKPiAtI2RlZmluZSBHRU42X1JQX0lOVEVSUlVQVF9M SU1JVFMJCTB4QTAxNAo+IC0jZGVmaW5lIEdFTjZfUlBTVEFUMQkJCQkweEEwMUMKPiArI2RlZmlu ZSBHRU42X1JQX0RPV05fVElNRU9VVAkJCV9SRUcoMHhBMDEwKQo+ICsjZGVmaW5lIEdFTjZfUlBf SU5URVJSVVBUX0xJTUlUUwkJX1JFRygweEEwMTQpCj4gKyNkZWZpbmUgR0VONl9SUFNUQVQxCQkJ CV9SRUcoMHhBMDFDKQo+ICAjZGVmaW5lICAgR0VONl9DQUdGX1NISUZUCQkJOAo+ICAjZGVmaW5l ICAgSFNXX0NBR0ZfU0hJRlQJCQk3Cj4gICNkZWZpbmUgICBHRU45X0NBR0ZfU0hJRlQJCQkyMwo+ ICAjZGVmaW5lICAgR0VONl9DQUdGX01BU0sJCQkoMHg3ZiA8PCBHRU42X0NBR0ZfU0hJRlQpCj4g ICNkZWZpbmUgICBIU1dfQ0FHRl9NQVNLCQkJCSgweDdmIDw8IEhTV19DQUdGX1NISUZUKQo+ICAj ZGVmaW5lICAgR0VOOV9DQUdGX01BU0sJCQkoMHgxZmYgPDwgR0VOOV9DQUdGX1NISUZUKQo+IC0j ZGVmaW5lIEdFTjZfUlBfQ09OVFJPTAkJCQkweEEwMjQKPiArI2RlZmluZSBHRU42X1JQX0NPTlRS T0wJCQkJX1JFRygweEEwMjQpCj4gICNkZWZpbmUgICBHRU42X1JQX01FRElBX1RVUkJPCQkJKDE8 PDExKQo+ICAjZGVmaW5lICAgR0VONl9SUF9NRURJQV9NT0RFX01BU0sJCSgzPDw5KQo+ICAjZGVm aW5lICAgR0VONl9SUF9NRURJQV9IV19UVVJCT19NT0RFCQkoMzw8OSkKPiBAQCAtNjc1OCw1MyAr Njc2Myw1MyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIEdFTjZf UlBfVVBfQlVTWV9DT05UCQkJKDB4NDw8MykKPiAgI2RlZmluZSAgIEdFTjZfUlBfRE9XTl9JRExF X0FWRwkJCSgweDI8PDApCj4gICNkZWZpbmUgICBHRU42X1JQX0RPV05fSURMRV9DT05UCQkoMHgx PDwwKQo+IC0jZGVmaW5lIEdFTjZfUlBfVVBfVEhSRVNIT0xECQkJMHhBMDJDCj4gLSNkZWZpbmUg R0VONl9SUF9ET1dOX1RIUkVTSE9MRAkJCTB4QTAzMAo+IC0jZGVmaW5lIEdFTjZfUlBfQ1VSX1VQ X0VJCQkJMHhBMDUwCj4gKyNkZWZpbmUgR0VONl9SUF9VUF9USFJFU0hPTEQJCQlfUkVHKDB4QTAy QykKPiArI2RlZmluZSBHRU42X1JQX0RPV05fVEhSRVNIT0xECQkJX1JFRygweEEwMzApCj4gKyNk ZWZpbmUgR0VONl9SUF9DVVJfVVBfRUkJCQlfUkVHKDB4QTA1MCkKPiAgI2RlZmluZSAgIEdFTjZf Q1VSSUNPTlRfTUFTSwkJCTB4ZmZmZmZmCj4gLSNkZWZpbmUgR0VONl9SUF9DVVJfVVAJCQkJMHhB MDU0Cj4gKyNkZWZpbmUgR0VONl9SUF9DVVJfVVAJCQkJX1JFRygweEEwNTQpCj4gICNkZWZpbmUg ICBHRU42X0NVUkJTWVRBVkdfTUFTSwkJCTB4ZmZmZmZmCj4gLSNkZWZpbmUgR0VONl9SUF9QUkVW X1VQCQkJCTB4QTA1OAo+IC0jZGVmaW5lIEdFTjZfUlBfQ1VSX0RPV05fRUkJCQkweEEwNUMKPiAr I2RlZmluZSBHRU42X1JQX1BSRVZfVVAJCQkJX1JFRygweEEwNTgpCj4gKyNkZWZpbmUgR0VONl9S UF9DVVJfRE9XTl9FSQkJCV9SRUcoMHhBMDVDKQo+ICAjZGVmaW5lICAgR0VONl9DVVJJQVZHX01B U0sJCQkweGZmZmZmZgo+IC0jZGVmaW5lIEdFTjZfUlBfQ1VSX0RPV04JCQkweEEwNjAKPiAtI2Rl ZmluZSBHRU42X1JQX1BSRVZfRE9XTgkJCTB4QTA2NAo+IC0jZGVmaW5lIEdFTjZfUlBfVVBfRUkJ CQkJMHhBMDY4Cj4gLSNkZWZpbmUgR0VONl9SUF9ET1dOX0VJCQkJCTB4QTA2Qwo+IC0jZGVmaW5l IEdFTjZfUlBfSURMRV9IWVNURVJTSVMJCQkweEEwNzAKPiAtI2RlZmluZSBHRU42X1JQREVVSFdU QwkJCQkweEEwODAKPiAtI2RlZmluZSBHRU42X1JQREVVQwkJCQkweEEwODQKPiAtI2RlZmluZSBH RU42X1JQREVVQ1NXCQkJCTB4QTA4OAo+IC0jZGVmaW5lIEdFTjZfUkNfU1RBVEUJCQkJMHhBMDk0 Cj4gLSNkZWZpbmUgR0VONl9SQzFfV0FLRV9SQVRFX0xJTUlUCQkweEEwOTgKPiAtI2RlZmluZSBH RU42X1JDNl9XQUtFX1JBVEVfTElNSVQJCTB4QTA5Qwo+IC0jZGVmaW5lIEdFTjZfUkM2cHBfV0FL RV9SQVRFX0xJTUlUCQkweEEwQTAKPiAtI2RlZmluZSBHRU42X1JDX0VWQUxVQVRJT05fSU5URVJW QUwJCTB4QTBBOAo+IC0jZGVmaW5lIEdFTjZfUkNfSURMRV9IWVNURVJTSVMJCQkweEEwQUMKPiAt I2RlZmluZSBHRU42X1JDX1NMRUVQCQkJCTB4QTBCMAo+IC0jZGVmaW5lIEdFTjZfUkNVQk1BQkRU TVIJCQkweEEwQjAKPiAtI2RlZmluZSBHRU42X1JDMWVfVEhSRVNIT0xECQkJMHhBMEI0Cj4gLSNk ZWZpbmUgR0VONl9SQzZfVEhSRVNIT0xECQkJMHhBMEI4Cj4gLSNkZWZpbmUgR0VONl9SQzZwX1RI UkVTSE9MRAkJCTB4QTBCQwo+IC0jZGVmaW5lIFZMVl9SQ0VEQVRBCQkJCTB4QTBCQwo+IC0jZGVm aW5lIEdFTjZfUkM2cHBfVEhSRVNIT0xECQkJMHhBMEMwCj4gLSNkZWZpbmUgR0VONl9QTUlOVFJN U0sJCQkJMHhBMTY4Cj4gKyNkZWZpbmUgR0VONl9SUF9DVVJfRE9XTgkJCV9SRUcoMHhBMDYwKQo+ ICsjZGVmaW5lIEdFTjZfUlBfUFJFVl9ET1dOCQkJX1JFRygweEEwNjQpCj4gKyNkZWZpbmUgR0VO Nl9SUF9VUF9FSQkJCQlfUkVHKDB4QTA2OCkKPiArI2RlZmluZSBHRU42X1JQX0RPV05fRUkJCQkJ X1JFRygweEEwNkMpCj4gKyNkZWZpbmUgR0VONl9SUF9JRExFX0hZU1RFUlNJUwkJCV9SRUcoMHhB MDcwKQo+ICsjZGVmaW5lIEdFTjZfUlBERVVIV1RDCQkJCV9SRUcoMHhBMDgwKQo+ICsjZGVmaW5l IEdFTjZfUlBERVVDCQkJCV9SRUcoMHhBMDg0KQo+ICsjZGVmaW5lIEdFTjZfUlBERVVDU1cJCQkJ X1JFRygweEEwODgpCj4gKyNkZWZpbmUgR0VONl9SQ19TVEFURQkJCQlfUkVHKDB4QTA5NCkKPiAr I2RlZmluZSBHRU42X1JDMV9XQUtFX1JBVEVfTElNSVQJCV9SRUcoMHhBMDk4KQo+ICsjZGVmaW5l IEdFTjZfUkM2X1dBS0VfUkFURV9MSU1JVAkJX1JFRygweEEwOUMpCj4gKyNkZWZpbmUgR0VONl9S QzZwcF9XQUtFX1JBVEVfTElNSVQJCV9SRUcoMHhBMEEwKQo+ICsjZGVmaW5lIEdFTjZfUkNfRVZB TFVBVElPTl9JTlRFUlZBTAkJX1JFRygweEEwQTgpCj4gKyNkZWZpbmUgR0VONl9SQ19JRExFX0hZ U1RFUlNJUwkJCV9SRUcoMHhBMEFDKQo+ICsjZGVmaW5lIEdFTjZfUkNfU0xFRVAJCQkJX1JFRygw eEEwQjApCj4gKyNkZWZpbmUgR0VONl9SQ1VCTUFCRFRNUgkJCV9SRUcoMHhBMEIwKQo+ICsjZGVm aW5lIEdFTjZfUkMxZV9USFJFU0hPTEQJCQlfUkVHKDB4QTBCNCkKPiArI2RlZmluZSBHRU42X1JD Nl9USFJFU0hPTEQJCQlfUkVHKDB4QTBCOCkKPiArI2RlZmluZSBHRU42X1JDNnBfVEhSRVNIT0xE CQkJX1JFRygweEEwQkMpCj4gKyNkZWZpbmUgVkxWX1JDRURBVEEJCQkJX1JFRygweEEwQkMpCj4g KyNkZWZpbmUgR0VONl9SQzZwcF9USFJFU0hPTEQJCQlfUkVHKDB4QTBDMCkKPiArI2RlZmluZSBH RU42X1BNSU5UUk1TSwkJCQlfUkVHKDB4QTE2OCkKPiAgI2RlZmluZSBHRU44X1BNSU5UUl9SRURJ UkVDVF9UT19OT05fRElTUAkoMTw8MzEpCj4gLSNkZWZpbmUgVkxWX1BXUkRXTlVQQ1RMCQkJCTB4 QTI5NAo+IC0jZGVmaW5lIEdFTjlfTUVESUFfUEdfSURMRV9IWVNURVJFU0lTCQkweEEwQzQKPiAt I2RlZmluZSBHRU45X1JFTkRFUl9QR19JRExFX0hZU1RFUkVTSVMJCTB4QTBDOAo+IC0jZGVmaW5l IEdFTjlfUEdfRU5BQkxFCQkJCTB4QTIxMAo+ICsjZGVmaW5lIFZMVl9QV1JEV05VUENUTAkJCQlf UkVHKDB4QTI5NCkKPiArI2RlZmluZSBHRU45X01FRElBX1BHX0lETEVfSFlTVEVSRVNJUwkJX1JF RygweEEwQzQpCj4gKyNkZWZpbmUgR0VOOV9SRU5ERVJfUEdfSURMRV9IWVNURVJFU0lTCQlfUkVH KDB4QTBDOCkKPiArI2RlZmluZSBHRU45X1BHX0VOQUJMRQkJCQlfUkVHKDB4QTIxMCkKPiAgI2Rl ZmluZSBHRU45X1JFTkRFUl9QR19FTkFCTEUJCQkoMTw8MCkKPiAgI2RlZmluZSBHRU45X01FRElB X1BHX0VOQUJMRQkJCSgxPDwxKQo+ICAKPiAtI2RlZmluZSBWTFZfQ0hJQ0tFTl8zCQkJCShWTFZf RElTUExBWV9CQVNFICsgMHg3MDQwQykKPiArI2RlZmluZSBWTFZfQ0hJQ0tFTl8zCQkJCV9SRUco VkxWX0RJU1BMQVlfQkFTRSArIDB4NzA0MEMpCj4gICNkZWZpbmUgIFBJWEVMX09WRVJMQVBfQ05U X01BU0sJCQkoMyA8PCAzMCkKPiAgI2RlZmluZSAgUElYRUxfT1ZFUkxBUF9DTlRfU0hJRlQJCTMw Cj4gIAo+IC0jZGVmaW5lIEdFTjZfUE1JU1IJCQkJMHg0NDAyMAo+IC0jZGVmaW5lIEdFTjZfUE1J TVIJCQkJMHg0NDAyNCAvKiBycHNfbG9jayAqLwo+IC0jZGVmaW5lIEdFTjZfUE1JSVIJCQkJMHg0 NDAyOAo+IC0jZGVmaW5lIEdFTjZfUE1JRVIJCQkJMHg0NDAyQwo+ICsjZGVmaW5lIEdFTjZfUE1J U1IJCQkJX1JFRygweDQ0MDIwKQo+ICsjZGVmaW5lIEdFTjZfUE1JTVIJCQkJX1JFRygweDQ0MDI0 KSAvKiBycHNfbG9jayAqLwo+ICsjZGVmaW5lIEdFTjZfUE1JSVIJCQkJX1JFRygweDQ0MDI4KQo+ ICsjZGVmaW5lIEdFTjZfUE1JRVIJCQkJX1JFRygweDQ0MDJDKQo+ICAjZGVmaW5lICBHRU42X1BN X01CT1hfRVZFTlQJCQkoMTw8MjUpCj4gICNkZWZpbmUgIEdFTjZfUE1fVEhFUk1BTF9FVkVOVAkJ CSgxPDwyNCkKPiAgI2RlZmluZSAgR0VONl9QTV9SUF9ET1dOX1RJTUVPVVQJCSgxPDw2KQo+IEBA IC02ODE2LDMwICs2ODIxLDMwIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAJCQkJ CQkgR0VONl9QTV9SUF9ET1dOX1RIUkVTSE9MRCB8IFwKPiAgCQkJCQkJIEdFTjZfUE1fUlBfRE9X Tl9USU1FT1VUKQo+ICAKPiAtI2RlZmluZSBHRU43X0dUX1NDUkFUQ0goaSkJCQkoMHg0RjEwMCAr IChpKSAqIDQpCj4gKyNkZWZpbmUgR0VON19HVF9TQ1JBVENIKGkpCQkJX1JFRygweDRGMTAwICsg KGkpICogNCkKPiAgI2RlZmluZSBHRU43X0dUX1NDUkFUQ0hfUkVHX05VTQkJCTgKPiAgCj4gLSNk ZWZpbmUgVkxWX0dUTENfU1VSVklWQUJJTElUWV9SRUcgICAgICAgICAgICAgIDB4MTMwMDk4Cj4g KyNkZWZpbmUgVkxWX0dUTENfU1VSVklWQUJJTElUWV9SRUcgICAgICAgICAgICAgIF9SRUcoMHgx MzAwOTgpCj4gICNkZWZpbmUgVkxWX0dGWF9DTEtfU1RBVFVTX0JJVAkJCSgxPDwzKQo+ICAjZGVm aW5lIFZMVl9HRlhfQ0xLX0ZPUkNFX09OX0JJVAkJKDE8PDIpCj4gIAo+IC0jZGVmaW5lIEdFTjZf R1RfR0ZYX1JDNl9MT0NLRUQJCQkweDEzODEwNAo+IC0jZGVmaW5lIFZMVl9DT1VOVEVSX0NPTlRS T0wJCQkweDEzODEwNAo+ICsjZGVmaW5lIEdFTjZfR1RfR0ZYX1JDNl9MT0NLRUQJCQlfUkVHKDB4 MTM4MTA0KQo+ICsjZGVmaW5lIFZMVl9DT1VOVEVSX0NPTlRST0wJCQlfUkVHKDB4MTM4MTA0KQo+ ICAjZGVmaW5lICAgVkxWX0NPVU5UX1JBTkdFX0hJR0gJCQkoMTw8MTUpCj4gICNkZWZpbmUgICBW TFZfTUVESUFfUkMwX0NPVU5UX0VOCQkoMTw8NSkKPiAgI2RlZmluZSAgIFZMVl9SRU5ERVJfUkMw X0NPVU5UX0VOCQkoMTw8NCkKPiAgI2RlZmluZSAgIFZMVl9NRURJQV9SQzZfQ09VTlRfRU4JCSgx PDwxKQo+ICAjZGVmaW5lICAgVkxWX1JFTkRFUl9SQzZfQ09VTlRfRU4JCSgxPDwwKQo+IC0jZGVm aW5lIEdFTjZfR1RfR0ZYX1JDNgkJCQkweDEzODEwOAo+IC0jZGVmaW5lIFZMVl9HVF9SRU5ERVJf UkM2CQkJMHgxMzgxMDgKPiAtI2RlZmluZSBWTFZfR1RfTUVESUFfUkM2CQkJMHgxMzgxMEMKPiAr I2RlZmluZSBHRU42X0dUX0dGWF9SQzYJCQkJX1JFRygweDEzODEwOCkKPiArI2RlZmluZSBWTFZf R1RfUkVOREVSX1JDNgkJCV9SRUcoMHgxMzgxMDgpCj4gKyNkZWZpbmUgVkxWX0dUX01FRElBX1JD NgkJCV9SRUcoMHgxMzgxMEMpCj4gIAo+IC0jZGVmaW5lIEdFTjZfR1RfR0ZYX1JDNnAJCQkweDEz ODEwQwo+IC0jZGVmaW5lIEdFTjZfR1RfR0ZYX1JDNnBwCQkJMHgxMzgxMTAKPiAtI2RlZmluZSBW TFZfUkVOREVSX0MwX0NPVU5UCQkJMHgxMzgxMTgKPiAtI2RlZmluZSBWTFZfTUVESUFfQzBfQ09V TlQJCQkweDEzODExQwo+ICsjZGVmaW5lIEdFTjZfR1RfR0ZYX1JDNnAJCQlfUkVHKDB4MTM4MTBD KQo+ICsjZGVmaW5lIEdFTjZfR1RfR0ZYX1JDNnBwCQkJX1JFRygweDEzODExMCkKPiArI2RlZmlu ZSBWTFZfUkVOREVSX0MwX0NPVU5UCQkJX1JFRygweDEzODExOCkKPiArI2RlZmluZSBWTFZfTUVE SUFfQzBfQ09VTlQJCQlfUkVHKDB4MTM4MTFDKQo+ICAKPiAtI2RlZmluZSBHRU42X1BDT0RFX01B SUxCT1gJCQkweDEzODEyNAo+ICsjZGVmaW5lIEdFTjZfUENPREVfTUFJTEJPWAkJCV9SRUcoMHgx MzgxMjQpCj4gICNkZWZpbmUgICBHRU42X1BDT0RFX1JFQURZCQkJKDE8PDMxKQo+ICAjZGVmaW5l CSAgR0VONl9QQ09ERV9XUklURV9SQzZWSURTCQkweDQKPiAgI2RlZmluZQkgIEdFTjZfUENPREVf UkVBRF9SQzZWSURTCQkweDUKPiBAQCAtNjg2MiwxMiArNjg2NywxMiBAQCBlbnVtIHNrbF9kaXNw X3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIEhTV19QQ09ERV9ERV9XUklURV9GUkVRX1JFUQkJ MHgxNwo+ICAjZGVmaW5lICAgRElTUExBWV9JUFNfQ09OVFJPTAkJCTB4MTkKPiAgI2RlZmluZQkg IEhTV19QQ09ERV9EWU5BTUlDX0RVVFlfQ1lDTEVfQ09OVFJPTAkweDFBCj4gLSNkZWZpbmUgR0VO Nl9QQ09ERV9EQVRBCQkJCTB4MTM4MTI4Cj4gKyNkZWZpbmUgR0VONl9QQ09ERV9EQVRBCQkJCV9S RUcoMHgxMzgxMjgpCj4gICNkZWZpbmUgICBHRU42X1BDT0RFX0ZSRVFfSUFfUkFUSU9fU0hJRlQJ OAo+ICAjZGVmaW5lICAgR0VONl9QQ09ERV9GUkVRX1JJTkdfUkFUSU9fU0hJRlQJMTYKPiAtI2Rl ZmluZSBHRU42X1BDT0RFX0RBVEExCQkJMHgxMzgxMkMKPiArI2RlZmluZSBHRU42X1BDT0RFX0RB VEExCQkJX1JFRygweDEzODEyQykKPiAgCj4gLSNkZWZpbmUgR0VONl9HVF9DT1JFX1NUQVRVUwkJ MHgxMzgwNjAKPiArI2RlZmluZSBHRU42X0dUX0NPUkVfU1RBVFVTCQlfUkVHKDB4MTM4MDYwKQo+ ICAjZGVmaW5lICAgR0VONl9DT1JFX0NQRF9TVEFURV9NQVNLCSg3PDw0KQo+ICAjZGVmaW5lICAg R0VONl9SQ25fTUFTSwkJCTcKPiAgI2RlZmluZSAgIEdFTjZfUkMwCQkJMAo+IEBAIC02ODc1LDIz ICs2ODgwLDIzIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgR0VO Nl9SQzYJCQkzCj4gICNkZWZpbmUgICBHRU42X1JDNwkJCTQKPiAgCj4gLSNkZWZpbmUgQ0hWX1BP V0VSX1NTMF9TSUcxCQkweGE3MjAKPiAtI2RlZmluZSBDSFZfUE9XRVJfU1MxX1NJRzEJCTB4YTcy OAo+ICsjZGVmaW5lIENIVl9QT1dFUl9TUzBfU0lHMQkJX1JFRygweGE3MjApCj4gKyNkZWZpbmUg Q0hWX1BPV0VSX1NTMV9TSUcxCQlfUkVHKDB4YTcyOCkKPiAgI2RlZmluZSAgIENIVl9TU19QR19F TkFCTEUJCSgxPDwxKQo+ICAjZGVmaW5lICAgQ0hWX0VVMDhfUEdfRU5BQkxFCQkoMTw8OSkKPiAg I2RlZmluZSAgIENIVl9FVTE5X1BHX0VOQUJMRQkJKDE8PDE3KQo+ICAjZGVmaW5lICAgQ0hWX0VV MjEwX1BHX0VOQUJMRQkJKDE8PDI1KQo+ICAKPiAtI2RlZmluZSBDSFZfUE9XRVJfU1MwX1NJRzIJ CTB4YTcyNAo+IC0jZGVmaW5lIENIVl9QT1dFUl9TUzFfU0lHMgkJMHhhNzJjCj4gKyNkZWZpbmUg Q0hWX1BPV0VSX1NTMF9TSUcyCQlfUkVHKDB4YTcyNCkKPiArI2RlZmluZSBDSFZfUE9XRVJfU1Mx X1NJRzIJCV9SRUcoMHhhNzJjKQo+ICAjZGVmaW5lICAgQ0hWX0VVMzExX1BHX0VOQUJMRQkJKDE8 PDEpCj4gIAo+IC0jZGVmaW5lIEdFTjlfU0xJQ0VfUEdDVExfQUNLKHNsaWNlKQkoMHg4MDRjICsg KHNsaWNlKSoweDQpCj4gKyNkZWZpbmUgR0VOOV9TTElDRV9QR0NUTF9BQ0soc2xpY2UpCV9SRUco MHg4MDRjICsgKHNsaWNlKSoweDQpCj4gICNkZWZpbmUgICBHRU45X1BHQ1RMX1NMSUNFX0FDSwkJ KDEgPDwgMCkKPiAgI2RlZmluZSAgIEdFTjlfUEdDVExfU1NfQUNLKHN1YnNsaWNlKQkoMSA8PCAo MiArIChzdWJzbGljZSkqMikpCj4gIAo+IC0jZGVmaW5lIEdFTjlfU1MwMV9FVV9QR0NUTF9BQ0so c2xpY2UpCSgweDgwNWMgKyAoc2xpY2UpKjB4OCkKPiAtI2RlZmluZSBHRU45X1NTMjNfRVVfUEdD VExfQUNLKHNsaWNlKQkoMHg4MDYwICsgKHNsaWNlKSoweDgpCj4gKyNkZWZpbmUgR0VOOV9TUzAx X0VVX1BHQ1RMX0FDSyhzbGljZSkJX1JFRygweDgwNWMgKyAoc2xpY2UpKjB4OCkKPiArI2RlZmlu ZSBHRU45X1NTMjNfRVVfUEdDVExfQUNLKHNsaWNlKQlfUkVHKDB4ODA2MCArIChzbGljZSkqMHg4 KQo+ICAjZGVmaW5lICAgR0VOOV9QR0NUTF9TU0FfRVUwOF9BQ0sJKDEgPDwgMCkKPiAgI2RlZmlu ZSAgIEdFTjlfUEdDVExfU1NBX0VVMTlfQUNLCSgxIDw8IDIpCj4gICNkZWZpbmUgICBHRU45X1BH Q1RMX1NTQV9FVTIxMF9BQ0sJKDEgPDwgNCkKPiBAQCAtNjkwMSwxOCArNjkwNiwxOCBAQCBlbnVt IHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIEdFTjlfUEdDVExfU1NCX0VVMjEw X0FDSwkoMSA8PCAxMikKPiAgI2RlZmluZSAgIEdFTjlfUEdDVExfU1NCX0VVMzExX0FDSwkoMSA8 PCAxNCkKPiAgCj4gLSNkZWZpbmUgR0VON19NSVNDQ1BDVEwJCQkoMHg5NDI0KQo+ICsjZGVmaW5l IEdFTjdfTUlTQ0NQQ1RMCQkJCV9SRUcoMHg5NDI0KQo+ICAjZGVmaW5lICAgR0VON19ET1BfQ0xP Q0tfR0FURV9FTkFCTEUJCSgxPDwwKQo+ICAjZGVmaW5lICAgR0VOOF9ET1BfQ0xPQ0tfR0FURV9D RkNMS19FTkFCTEUJKDE8PDIpCj4gICNkZWZpbmUgICBHRU44X0RPUF9DTE9DS19HQVRFX0dVQ19F TkFCTEUJKDE8PDQpCj4gICNkZWZpbmUgICBHRU44X0RPUF9DTE9DS19HQVRFX01FRElBX0VOQUJM RSAgICAgKDE8PDYpCj4gIAo+IC0jZGVmaW5lIEdFTjhfR0FSQkNOVEwgICAgICAgICAgICAgICAg ICAgMHhCMDA0Cj4gKyNkZWZpbmUgR0VOOF9HQVJCQ05UTCAgICAgICAgICAgICAgICAgICBfUkVH KDB4QjAwNCkKPiAgI2RlZmluZSAgIEdFTjlfR0FQU19UU1ZfQ1JFRElUX0RJU0FCTEUgICgxPDw3 KQo+ICAKPiAgLyogSVZZQlJJREdFIERQRiAqLwo+IC0jZGVmaW5lIEdFTjdfTDNDREVSUlNUMQkJ CTB4QjAwOCAvKiBMM0NEIEVycm9yIFN0YXR1cyAxICovCj4gLSNkZWZpbmUgSFNXX0wzQ0RFUlJT VDExCQkJMHhCMjA4IC8qIEwzQ0QgRXJyb3IgU3RhdHVzIHJlZ2lzdGVyIDEgc2xpY2UgMSAqLwo+ ICsjZGVmaW5lIEdFTjdfTDNDREVSUlNUMShzbGljZSkJCV9SRUcoMHhCMDA4ICsgKHNsaWNlKSAq IDB4MjAwKSAvKiBMM0NEIEVycm9yIFN0YXR1cyAxICovCj4gKyNkZWZpbmUgSFNXX0wzQ0RFUlJT VDExCQkJX1JFRygweEIyMDgpIC8qIEwzQ0QgRXJyb3IgU3RhdHVzIHJlZ2lzdGVyIDEgc2xpY2Ug MSAqLwo+ICAjZGVmaW5lICAgR0VON19MM0NERVJSU1QxX1JPV19NQVNLCSgweDdmZjw8MTQpCj4g ICNkZWZpbmUgICBHRU43X1BBUklUWV9FUlJPUl9WQUxJRAkoMTw8MTMpCj4gICNkZWZpbmUgICBH RU43X0wzQ0RFUlJTVDFfQkFOS19NQVNLCSgzPDwxMSkKPiBAQCAtNjkyOSw5MyArNjkzNCw4MyBA QCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBIU1dfTDNMT0dfQkFTRV9T TElDRTEJCTB4QjI3MAo+ICAjZGVmaW5lIEdFTjdfTDNMT0dfU0laRQkJCTB4ODAKPiAgCj4gLSNk ZWZpbmUgR0VON19IQUxGX1NMSUNFX0NISUNLRU4xCTB4ZTEwMCAvKiBJVkIgR1QxICsgVkxWICov Cj4gLSNkZWZpbmUgR0VON19IQUxGX1NMSUNFX0NISUNLRU4xX0dUMgkweGYxMDAKPiArI2RlZmlu ZSBHRU43X0hBTEZfU0xJQ0VfQ0hJQ0tFTjEJX1JFRygweGUxMDApIC8qIElWQiBHVDEgKyBWTFYg Ki8KPiArI2RlZmluZSBHRU43X0hBTEZfU0xJQ0VfQ0hJQ0tFTjFfR1QyCV9SRUcoMHhmMTAwKQo+ ICAjZGVmaW5lICAgR0VON19NQVhfUFNfVEhSRUFEX0RFUAkJKDg8PDEyKQo+ICAjZGVmaW5lICAg R0VON19TSU5HTEVfU1VCU0NBTl9ESVNQQVRDSF9FTkFCTEUJKDE8PDEwKQo+ICAjZGVmaW5lICAg R0VON19TQkVfU1NfQ0FDSEVfRElTUEFUQ0hfUE9SVF9TSEFSSU5HX0RJU0FCTEUJKDE8PDQpCj4g ICNkZWZpbmUgICBHRU43X1BTRF9TSU5HTEVfUE9SVF9ESVNQQVRDSF9FTkFCTEUJKDE8PDMpCj4g IAo+IC0jZGVmaW5lIEdFTjlfSEFMRl9TTElDRV9DSElDS0VONQkweGUxODgKPiArI2RlZmluZSBH RU45X0hBTEZfU0xJQ0VfQ0hJQ0tFTjUJX1JFRygweGUxODgpCj4gICNkZWZpbmUgICBHRU45X0RH X01JUlJPUl9GSVhfRU5BQkxFCSgxPDw1KQo+ICAjZGVmaW5lICAgR0VOOV9DQ1NfVExCX1BSRUZF VENIX0VOQUJMRQkoMTw8MykKPiAgCj4gLSNkZWZpbmUgR0VOOF9ST1dfQ0hJQ0tFTgkJMHhlNGYw Cj4gKyNkZWZpbmUgR0VOOF9ST1dfQ0hJQ0tFTgkJX1JFRygweGU0ZjApCj4gICNkZWZpbmUgICBQ QVJUSUFMX0lOU1RSVUNUSU9OX1NIT09URE9XTl9ESVNBQkxFCSgxPDw4KQo+ICAjZGVmaW5lICAg U1RBTExfRE9QX0dBVElOR19ESVNBQkxFCQkoMTw8NSkKPiAgCj4gLSNkZWZpbmUgR0VON19ST1df Q0hJQ0tFTjIJCTB4ZTRmNAo+IC0jZGVmaW5lIEdFTjdfUk9XX0NISUNLRU4yX0dUMgkJMHhmNGY0 Cj4gKyNkZWZpbmUgR0VON19ST1dfQ0hJQ0tFTjIJCV9SRUcoMHhlNGY0KQo+ICsjZGVmaW5lIEdF TjdfUk9XX0NISUNLRU4yX0dUMgkJX1JFRygweGY0ZjQpCj4gICNkZWZpbmUgICBET1BfQ0xPQ0tf R0FUSU5HX0RJU0FCTEUJKDE8PDApCj4gIAo+IC0jZGVmaW5lIEhTV19ST1dfQ0hJQ0tFTjMJCTB4 ZTQ5Ywo+ICsjZGVmaW5lIEhTV19ST1dfQ0hJQ0tFTjMJCV9SRUcoMHhlNDljKQo+ICAjZGVmaW5l ICBIU1dfUk9XX0NISUNLRU4zX0wzX0dMT0JBTF9BVE9NSUNTX0RJU0FCTEUgICAgKDEgPDwgNikK PiAgCj4gLSNkZWZpbmUgSEFMRl9TTElDRV9DSElDS0VOMgkJMHhlMTgwCj4gKyNkZWZpbmUgSEFM Rl9TTElDRV9DSElDS0VOMgkJX1JFRygweGUxODApCj4gICNkZWZpbmUgICBHRU44X1NUX1BPX0RJ U0FCTEUJCSgxPDwxMykKPiAgCj4gLSNkZWZpbmUgSEFMRl9TTElDRV9DSElDS0VOMwkJMHhlMTg0 Cj4gKyNkZWZpbmUgSEFMRl9TTElDRV9DSElDS0VOMwkJX1JFRygweGUxODQpCj4gICNkZWZpbmUg ICBIU1dfU0FNUExFX0NfUEVSRk9STUFOQ0UJKDE8PDkpCj4gICNkZWZpbmUgICBHRU44X0NFTlRS T0lEX1BJWEVMX09QVF9ESVMJKDE8PDgpCj4gICNkZWZpbmUgICBHRU45X0RJU0FCTEVfT0NMX09P Ql9TVVBQUkVTU19MT0dJQwkoMTw8NSkKPiAgI2RlZmluZSAgIEdFTjhfU0FNUExFUl9QT1dFUl9C WVBBU1NfRElTCSgxPDwxKQo+ICAKPiAtI2RlZmluZSBHRU45X0hBTEZfU0xJQ0VfQ0hJQ0tFTjcJ MHhlMTk0Cj4gKyNkZWZpbmUgR0VOOV9IQUxGX1NMSUNFX0NISUNLRU43CV9SRUcoMHhlMTk0KQo+ ICAjZGVmaW5lICAgR0VOOV9FTkFCTEVfWVYxMl9CVUdGSVgJKDE8PDQpCj4gIAo+ICAvKiBBdWRp byAqLwo+IC0jZGVmaW5lIEc0WF9BVURfVklEX0RJRAkJCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5 X21taW9fb2Zmc2V0ICsgMHg2MjAyMCkKPiArI2RlZmluZSBHNFhfQVVEX1ZJRF9ESUQJCQlfUkVH KGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDYyMDIwKQo+ICAjZGVmaW5l ICAgSU5URUxfQVVESU9fREVWQ0wJCTB4ODA4NjI5RkIKPiAgI2RlZmluZSAgIElOVEVMX0FVRElP X0RFVkJMQwkJMHg4MDg2MjgwMQo+ICAjZGVmaW5lICAgSU5URUxfQVVESU9fREVWQ1RHCQkweDgw ODYyODAyCj4gIAo+IC0jZGVmaW5lIEc0WF9BVURfQ05UTF9TVAkJCTB4NjIwQjQKPiArI2RlZmlu ZSBHNFhfQVVEX0NOVExfU1QJCQlfUkVHKDB4NjIwQjQpCj4gICNkZWZpbmUgICBHNFhfRUxEVl9E RVZDTF9ERVZCTEMJCSgxIDw8IDEzKQo+ICAjZGVmaW5lICAgRzRYX0VMRFZfREVWQ1RHCQkoMSA8 PCAxNCkKPiAgI2RlZmluZSAgIEc0WF9FTERfQUREUl9NQVNLCQkoMHhmIDw8IDUpCj4gICNkZWZp bmUgICBHNFhfRUxEX0FDSwkJCSgxIDw8IDQpCj4gLSNkZWZpbmUgRzRYX0hETUlXX0hETUlFRElE CQkweDYyMTBDCj4gKyNkZWZpbmUgRzRYX0hETUlXX0hETUlFRElECQlfUkVHKDB4NjIxMEMpCj4g IAo+ICAjZGVmaW5lIF9JQlhfSERNSVdfSERNSUVESURfQQkJMHhFMjA1MAo+ICAjZGVmaW5lIF9J QlhfSERNSVdfSERNSUVESURfQgkJMHhFMjE1MAo+IC0jZGVmaW5lIElCWF9IRE1JV19IRE1JRURJ RChwaXBlKSBfUElQRShwaXBlLCBcCj4gLQkJCQkJX0lCWF9IRE1JV19IRE1JRURJRF9BLCBcCj4g LQkJCQkJX0lCWF9IRE1JV19IRE1JRURJRF9CKQo+ICsjZGVmaW5lIElCWF9IRE1JV19IRE1JRURJ RChwaXBlKQlfUkVHX1BJUEUocGlwZSwgX0lCWF9IRE1JV19IRE1JRURJRF9BLCBcCj4gKwkJCQkJ CSAgX0lCWF9IRE1JV19IRE1JRURJRF9CKQo+ICAjZGVmaW5lIF9JQlhfQVVEX0NOVExfU1RfQQkJ MHhFMjBCNAo+ICAjZGVmaW5lIF9JQlhfQVVEX0NOVExfU1RfQgkJMHhFMjFCNAo+IC0jZGVmaW5l IElCWF9BVURfQ05UTF9TVChwaXBlKSBfUElQRShwaXBlLCBcCj4gLQkJCQkJX0lCWF9BVURfQ05U TF9TVF9BLCBcCj4gLQkJCQkJX0lCWF9BVURfQ05UTF9TVF9CKQo+ICsjZGVmaW5lIElCWF9BVURf Q05UTF9TVChwaXBlKQkJX1JFR19QSVBFKHBpcGUsIF9JQlhfQVVEX0NOVExfU1RfQSwgXAo+ICsJ CQkJCQkgIF9JQlhfQVVEX0NOVExfU1RfQikKPiAgI2RlZmluZSAgIElCWF9FTERfQlVGRkVSX1NJ WkVfTUFTSwkoMHgxZiA8PCAxMCkKPiAgI2RlZmluZSAgIElCWF9FTERfQUREUkVTU19NQVNLCQko MHgxZiA8PCA1KQo+ICAjZGVmaW5lICAgSUJYX0VMRF9BQ0sJCQkoMSA8PCA0KQo+IC0jZGVmaW5l IElCWF9BVURfQ05UTF9TVDIJCTB4RTIwQzAKPiArI2RlZmluZSBJQlhfQVVEX0NOVExfU1QyCQlf UkVHKDB4RTIwQzApCj4gICNkZWZpbmUgICBJQlhfQ1BfUkVBRFkocG9ydCkJCSgoMSA8PCAxKSA8 PCAoKChwb3J0KSAtIDEpICogNCkpCj4gICNkZWZpbmUgICBJQlhfRUxEX1ZBTElEKHBvcnQpCQko KDEgPDwgMCkgPDwgKCgocG9ydCkgLSAxKSAqIDQpKQo+ICAKPiAgI2RlZmluZSBfQ1BUX0hETUlX X0hETUlFRElEX0EJCTB4RTUwNTAKPiAgI2RlZmluZSBfQ1BUX0hETUlXX0hETUlFRElEX0IJCTB4 RTUxNTAKPiAtI2RlZmluZSBDUFRfSERNSVdfSERNSUVESUQocGlwZSkgX1BJUEUocGlwZSwgXAo+ IC0JCQkJCV9DUFRfSERNSVdfSERNSUVESURfQSwgXAo+IC0JCQkJCV9DUFRfSERNSVdfSERNSUVE SURfQikKPiArI2RlZmluZSBDUFRfSERNSVdfSERNSUVESUQocGlwZSkJX1JFR19QSVBFKHBpcGUs IF9DUFRfSERNSVdfSERNSUVESURfQSwgX0NQVF9IRE1JV19IRE1JRURJRF9CKQo+ICAjZGVmaW5l IF9DUFRfQVVEX0NOVExfU1RfQQkJMHhFNTBCNAo+ICAjZGVmaW5lIF9DUFRfQVVEX0NOVExfU1Rf QgkJMHhFNTFCNAo+IC0jZGVmaW5lIENQVF9BVURfQ05UTF9TVChwaXBlKSBfUElQRShwaXBlLCBc Cj4gLQkJCQkJX0NQVF9BVURfQ05UTF9TVF9BLCBcCj4gLQkJCQkJX0NQVF9BVURfQ05UTF9TVF9C KQo+IC0jZGVmaW5lIENQVF9BVURfQ05UUkxfU1QyCQkweEU1MEMwCj4gKyNkZWZpbmUgQ1BUX0FV RF9DTlRMX1NUKHBpcGUpCQlfUkVHX1BJUEUocGlwZSwgX0NQVF9BVURfQ05UTF9TVF9BLCBfQ1BU X0FVRF9DTlRMX1NUX0IpCj4gKyNkZWZpbmUgQ1BUX0FVRF9DTlRSTF9TVDIJCV9SRUcoMHhFNTBD MCkKPiAgCj4gICNkZWZpbmUgX1ZMVl9IRE1JV19IRE1JRURJRF9BCQkoVkxWX0RJU1BMQVlfQkFT RSArIDB4NjIwNTApCj4gICNkZWZpbmUgX1ZMVl9IRE1JV19IRE1JRURJRF9CCQkoVkxWX0RJU1BM QVlfQkFTRSArIDB4NjIxNTApCj4gLSNkZWZpbmUgVkxWX0hETUlXX0hETUlFRElEKHBpcGUpIF9Q SVBFKHBpcGUsIFwKPiAtCQkJCQlfVkxWX0hETUlXX0hETUlFRElEX0EsIFwKPiAtCQkJCQlfVkxW X0hETUlXX0hETUlFRElEX0IpCj4gKyNkZWZpbmUgVkxWX0hETUlXX0hETUlFRElEKHBpcGUpCV9S RUdfUElQRShwaXBlLCBfVkxWX0hETUlXX0hETUlFRElEX0EsIF9WTFZfSERNSVdfSERNSUVESURf QikKPiAgI2RlZmluZSBfVkxWX0FVRF9DTlRMX1NUX0EJCShWTFZfRElTUExBWV9CQVNFICsgMHg2 MjBCNCkKPiAgI2RlZmluZSBfVkxWX0FVRF9DTlRMX1NUX0IJCShWTFZfRElTUExBWV9CQVNFICsg MHg2MjFCNCkKPiAtI2RlZmluZSBWTFZfQVVEX0NOVExfU1QocGlwZSkgX1BJUEUocGlwZSwgXAo+ IC0JCQkJCV9WTFZfQVVEX0NOVExfU1RfQSwgXAo+IC0JCQkJCV9WTFZfQVVEX0NOVExfU1RfQikK PiAtI2RlZmluZSBWTFZfQVVEX0NOVExfU1QyCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjIwQzAp Cj4gKyNkZWZpbmUgVkxWX0FVRF9DTlRMX1NUKHBpcGUpCQlfUkVHX1BJUEUocGlwZSwgX1ZMVl9B VURfQ05UTF9TVF9BLCBfVkxWX0FVRF9DTlRMX1NUX0IpCj4gKyNkZWZpbmUgVkxWX0FVRF9DTlRM X1NUMgkJX1JFRyhWTFZfRElTUExBWV9CQVNFICsgMHg2MjBDMCkKPiAgCj4gIC8qIFRoZXNlIGFy ZSB0aGUgNCAzMi1iaXQgd3JpdGUgb2Zmc2V0IHJlZ2lzdGVycyBmb3IgZWFjaCBzdHJlYW0KPiAg ICogb3V0cHV0IGJ1ZmZlci4gIEl0IGRldGVybWluZXMgdGhlIG9mZnNldCBmcm9tIHRoZQo+IEBA IC03MDI1LDE5ICs3MDIwLDEzIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAKPiAg I2RlZmluZSBfSUJYX0FVRF9DT05GSUdfQQkJMHhlMjAwMAo+ICAjZGVmaW5lIF9JQlhfQVVEX0NP TkZJR19CCQkweGUyMTAwCj4gLSNkZWZpbmUgSUJYX0FVRF9DRkcocGlwZSkgX1BJUEUocGlwZSwg XAo+IC0JCQkJCV9JQlhfQVVEX0NPTkZJR19BLCBcCj4gLQkJCQkJX0lCWF9BVURfQ09ORklHX0Ip Cj4gKyNkZWZpbmUgSUJYX0FVRF9DRkcocGlwZSkJCV9SRUdfUElQRShwaXBlLCBfSUJYX0FVRF9D T05GSUdfQSwgX0lCWF9BVURfQ09ORklHX0IpCj4gICNkZWZpbmUgX0NQVF9BVURfQ09ORklHX0EJ CTB4ZTUwMDAKPiAgI2RlZmluZSBfQ1BUX0FVRF9DT05GSUdfQgkJMHhlNTEwMAo+IC0jZGVmaW5l IENQVF9BVURfQ0ZHKHBpcGUpIF9QSVBFKHBpcGUsIFwKPiAtCQkJCQlfQ1BUX0FVRF9DT05GSUdf QSwgXAo+IC0JCQkJCV9DUFRfQVVEX0NPTkZJR19CKQo+ICsjZGVmaW5lIENQVF9BVURfQ0ZHKHBp cGUpCQlfUkVHX1BJUEUocGlwZSwgX0NQVF9BVURfQ09ORklHX0EsIF9DUFRfQVVEX0NPTkZJR19C KQo+ICAjZGVmaW5lIF9WTFZfQVVEX0NPTkZJR19BCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjIw MDApCj4gICNkZWZpbmUgX1ZMVl9BVURfQ09ORklHX0IJCShWTFZfRElTUExBWV9CQVNFICsgMHg2 MjEwMCkKPiAtI2RlZmluZSBWTFZfQVVEX0NGRyhwaXBlKSBfUElQRShwaXBlLCBcCj4gLQkJCQkJ X1ZMVl9BVURfQ09ORklHX0EsIFwKPiAtCQkJCQlfVkxWX0FVRF9DT05GSUdfQikKPiArI2RlZmlu ZSBWTFZfQVVEX0NGRyhwaXBlKQkJX1JFR19QSVBFKHBpcGUsIF9WTFZfQVVEX0NPTkZJR19BLCBf VkxWX0FVRF9DT05GSUdfQikKPiAgCj4gICNkZWZpbmUgICBBVURfQ09ORklHX05fVkFMVUVfSU5E RVgJCSgxIDw8IDI5KQo+ICAjZGVmaW5lICAgQVVEX0NPTkZJR19OX1BST0dfRU5BQkxFCQkoMSA8 PCAyOCkKPiBAQCAtNzA2Miw2MSArNzA1MSw1MSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxz IHsKPiAgLyogSFNXIEF1ZGlvICovCj4gICNkZWZpbmUgX0hTV19BVURfQ09ORklHX0EJCTB4NjUw MDAKPiAgI2RlZmluZSBfSFNXX0FVRF9DT05GSUdfQgkJMHg2NTEwMAo+IC0jZGVmaW5lIEhTV19B VURfQ0ZHKHBpcGUpIF9QSVBFKHBpcGUsIFwKPiAtCQkJCQlfSFNXX0FVRF9DT05GSUdfQSwgXAo+ IC0JCQkJCV9IU1dfQVVEX0NPTkZJR19CKQo+ICsjZGVmaW5lIEhTV19BVURfQ0ZHKHBpcGUpCQlf UkVHX1BJUEUocGlwZSwgX0hTV19BVURfQ09ORklHX0EsIF9IU1dfQVVEX0NPTkZJR19CKQo+ICAK PiAgI2RlZmluZSBfSFNXX0FVRF9NSVNDX0NUUkxfQQkJMHg2NTAxMAo+ICAjZGVmaW5lIF9IU1df QVVEX01JU0NfQ1RSTF9CCQkweDY1MTEwCj4gLSNkZWZpbmUgSFNXX0FVRF9NSVNDX0NUUkwocGlw ZSkgX1BJUEUocGlwZSwgXAo+IC0JCQkJCV9IU1dfQVVEX01JU0NfQ1RSTF9BLCBcCj4gLQkJCQkJ X0hTV19BVURfTUlTQ19DVFJMX0IpCj4gKyNkZWZpbmUgSFNXX0FVRF9NSVNDX0NUUkwocGlwZSkJ CV9SRUdfUElQRShwaXBlLCBfSFNXX0FVRF9NSVNDX0NUUkxfQSwgX0hTV19BVURfTUlTQ19DVFJM X0IpCj4gIAo+ICAjZGVmaW5lIF9IU1dfQVVEX0RJUF9FTERfQ1RSTF9TVF9BCTB4NjUwYjQKPiAg I2RlZmluZSBfSFNXX0FVRF9ESVBfRUxEX0NUUkxfU1RfQgkweDY1MWI0Cj4gLSNkZWZpbmUgSFNX X0FVRF9ESVBfRUxEX0NUUkwocGlwZSkgX1BJUEUocGlwZSwgXAo+IC0JCQkJCV9IU1dfQVVEX0RJ UF9FTERfQ1RSTF9TVF9BLCBcCj4gLQkJCQkJX0hTV19BVURfRElQX0VMRF9DVFJMX1NUX0IpCj4g KyNkZWZpbmUgSFNXX0FVRF9ESVBfRUxEX0NUUkwocGlwZSkJX1JFR19QSVBFKHBpcGUsIF9IU1df QVVEX0RJUF9FTERfQ1RSTF9TVF9BLCBfSFNXX0FVRF9ESVBfRUxEX0NUUkxfU1RfQikKPiAgCj4g IC8qIEF1ZGlvIERpZ2l0YWwgQ29udmVydGVyICovCj4gICNkZWZpbmUgX0hTV19BVURfRElHX0NO VlRfMQkJMHg2NTA4MAo+ICAjZGVmaW5lIF9IU1dfQVVEX0RJR19DTlZUXzIJCTB4NjUxODAKPiAt I2RlZmluZSBBVURfRElHX0NOVlQocGlwZSkgX1BJUEUocGlwZSwgXAo+IC0JCQkJCV9IU1dfQVVE X0RJR19DTlZUXzEsIFwKPiAtCQkJCQlfSFNXX0FVRF9ESUdfQ05WVF8yKQo+ICsjZGVmaW5lIEFV RF9ESUdfQ05WVChwaXBlKQkJX1JFR19QSVBFKHBpcGUsIF9IU1dfQVVEX0RJR19DTlZUXzEsIF9I U1dfQVVEX0RJR19DTlZUXzIpCj4gICNkZWZpbmUgRElQX1BPUlRfU0VMX01BU0sJCTB4Mwo+ICAK PiAgI2RlZmluZSBfSFNXX0FVRF9FRElEX0RBVEFfQQkJMHg2NTA1MAo+ICAjZGVmaW5lIF9IU1df QVVEX0VESURfREFUQV9CCQkweDY1MTUwCj4gLSNkZWZpbmUgSFNXX0FVRF9FRElEX0RBVEEocGlw ZSkgX1BJUEUocGlwZSwgXAo+IC0JCQkJCV9IU1dfQVVEX0VESURfREFUQV9BLCBcCj4gLQkJCQkJ X0hTV19BVURfRURJRF9EQVRBX0IpCj4gKyNkZWZpbmUgSFNXX0FVRF9FRElEX0RBVEEocGlwZSkJ CV9SRUdfUElQRShwaXBlLCBfSFNXX0FVRF9FRElEX0RBVEFfQSwgX0hTV19BVURfRURJRF9EQVRB X0IpCj4gIAo+IC0jZGVmaW5lIEhTV19BVURfUElQRV9DT05WX0NGRwkJMHg2NTA3Ywo+IC0jZGVm aW5lIEhTV19BVURfUElOX0VMRF9DUF9WTEQJCTB4NjUwYzAKPiArI2RlZmluZSBIU1dfQVVEX1BJ UEVfQ09OVl9DRkcJCV9SRUcoMHg2NTA3YykKPiArI2RlZmluZSBIU1dfQVVEX1BJTl9FTERfQ1Bf VkxECQlfUkVHKDB4NjUwYzApCj4gICNkZWZpbmUgICBBVURJT19JTkFDVElWRSh0cmFucykJCSgo MSA8PCAzKSA8PCAoKHRyYW5zKSAqIDQpKQo+ICAjZGVmaW5lICAgQVVESU9fT1VUUFVUX0VOQUJM RSh0cmFucykJKCgxIDw8IDIpIDw8ICgodHJhbnMpICogNCkpCj4gICNkZWZpbmUgICBBVURJT19D UF9SRUFEWSh0cmFucykJCSgoMSA8PCAxKSA8PCAoKHRyYW5zKSAqIDQpKQo+ICAjZGVmaW5lICAg QVVESU9fRUxEX1ZBTElEKHRyYW5zKQkoKDEgPDwgMCkgPDwgKCh0cmFucykgKiA0KSkKPiAgCj4g LSNkZWZpbmUgSFNXX0FVRF9DSElDS0VOQklUCQkJMHg2NWYxMAo+ICsjZGVmaW5lIEhTV19BVURf Q0hJQ0tFTkJJVAkJCV9SRUcoMHg2NWYxMCkKPiAgI2RlZmluZSAgIFNLTF9BVURfQ09ERUNfV0FL RV9TSUdOQUwJCSgxIDw8IDE1KQo+ICAKPiAgLyogSFNXIFBvd2VyIFdlbGxzICovCj4gLSNkZWZp bmUgSFNXX1BXUl9XRUxMX0JJT1MJCQkweDQ1NDAwIC8qIENUTDEgKi8KPiAtI2RlZmluZSBIU1df UFdSX1dFTExfRFJJVkVSCQkJMHg0NTQwNCAvKiBDVEwyICovCj4gLSNkZWZpbmUgSFNXX1BXUl9X RUxMX0tWTVIJCQkweDQ1NDA4IC8qIENUTDMgKi8KPiAtI2RlZmluZSBIU1dfUFdSX1dFTExfREVC VUcJCQkweDQ1NDBDIC8qIENUTDQgKi8KPiArI2RlZmluZSBIU1dfUFdSX1dFTExfQklPUwkJCV9S RUcoMHg0NTQwMCkgLyogQ1RMMSAqLwo+ICsjZGVmaW5lIEhTV19QV1JfV0VMTF9EUklWRVIJCQlf UkVHKDB4NDU0MDQpIC8qIENUTDIgKi8KPiArI2RlZmluZSBIU1dfUFdSX1dFTExfS1ZNUgkJCV9S RUcoMHg0NTQwOCkgLyogQ1RMMyAqLwo+ICsjZGVmaW5lIEhTV19QV1JfV0VMTF9ERUJVRwkJCV9S RUcoMHg0NTQwQykgLyogQ1RMNCAqLwo+ICAjZGVmaW5lICAgSFNXX1BXUl9XRUxMX0VOQUJMRV9S RVFVRVNUCQkoMTw8MzEpCj4gICNkZWZpbmUgICBIU1dfUFdSX1dFTExfU1RBVEVfRU5BQkxFRAkJ KDE8PDMwKQo+IC0jZGVmaW5lIEhTV19QV1JfV0VMTF9DVEw1CQkJMHg0NTQxMAo+ICsjZGVmaW5l IEhTV19QV1JfV0VMTF9DVEw1CQkJX1JFRygweDQ1NDEwKQo+ICAjZGVmaW5lICAgSFNXX1BXUl9X RUxMX0VOQUJMRV9TSU5HTEVfU1RFUAkoMTw8MzEpCj4gICNkZWZpbmUgICBIU1dfUFdSX1dFTExf UFdSX0dBVEVfT1ZFUlJJREUJKDE8PDIwKQo+ICAjZGVmaW5lICAgSFNXX1BXUl9XRUxMX0ZPUkNF X09OCQkJKDE8PDE5KQo+IC0jZGVmaW5lIEhTV19QV1JfV0VMTF9DVEw2CQkJMHg0NTQxNAo+ICsj ZGVmaW5lIEhTV19QV1JfV0VMTF9DVEw2CQkJX1JFRygweDQ1NDE0KQo+ICAKPiAgLyogU0tMIEZ1 c2UgU3RhdHVzICovCj4gLSNkZWZpbmUgU0tMX0ZVU0VfU1RBVFVTCQkJCTB4NDIwMDAKPiArI2Rl ZmluZSBTS0xfRlVTRV9TVEFUVVMJCQkJX1JFRygweDQyMDAwKQo+ICAjZGVmaW5lICBTS0xfRlVT RV9ET1dOTE9BRF9TVEFUVVMgICAgICAgICAgICAgICgxPDwzMSkKPiAgI2RlZmluZSAgU0tMX0ZV U0VfUEcwX0RJU1RfU1RBVFVTICAgICAgICAgICAgICAoMTw8MjcpCj4gICNkZWZpbmUgIFNLTF9G VVNFX1BHMV9ESVNUX1NUQVRVUyAgICAgICAgICAgICAgKDE8PDI2KQo+IEBAIC03MTI3LDcgKzcx MDYsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBfVFJBTlNfRERJ X0ZVTkNfQ1RMX0IJCTB4NjE0MDAKPiAgI2RlZmluZSBfVFJBTlNfRERJX0ZVTkNfQ1RMX0MJCTB4 NjI0MDAKPiAgI2RlZmluZSBfVFJBTlNfRERJX0ZVTkNfQ1RMX0VEUAkJMHg2RjQwMAo+IC0jZGVm aW5lIFRSQU5TX0RESV9GVU5DX0NUTCh0cmFuKSBfVFJBTlNDT0RFUjIodHJhbiwgX1RSQU5TX0RE SV9GVU5DX0NUTF9BKQo+ICsjZGVmaW5lIFRSQU5TX0RESV9GVU5DX0NUTCh0cmFuKSBfUkVHX1RS QU5TMih0cmFuLCBfVFJBTlNfRERJX0ZVTkNfQ1RMX0EpCj4gIAo+ICAjZGVmaW5lICBUUkFOU19E RElfRlVOQ19FTkFCTEUJCSgxPDwzMSkKPiAgLyogVGhvc2UgYml0cyBhcmUgaWdub3JlZCBieSBw aXBlIEVEUCBzaW5jZSBpdCBjYW4gb25seSBjb25uZWN0IHRvIERESSBBICovCj4gQEAgLTcxNTks NyArNzEzOCw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAvKiBEaXNwbGF5UG9y dCBUcmFuc3BvcnQgQ29udHJvbCAqLwo+ICAjZGVmaW5lIF9EUF9UUF9DVExfQQkJCTB4NjQwNDAK PiAgI2RlZmluZSBfRFBfVFBfQ1RMX0IJCQkweDY0MTQwCj4gLSNkZWZpbmUgRFBfVFBfQ1RMKHBv cnQpIF9QT1JUKHBvcnQsIF9EUF9UUF9DVExfQSwgX0RQX1RQX0NUTF9CKQo+ICsjZGVmaW5lIERQ X1RQX0NUTChwb3J0KSBfUkVHX1BPUlQocG9ydCwgX0RQX1RQX0NUTF9BLCBfRFBfVFBfQ1RMX0Ip Cj4gICNkZWZpbmUgIERQX1RQX0NUTF9FTkFCTEUJCQkoMTw8MzEpCj4gICNkZWZpbmUgIERQX1RQ X0NUTF9NT0RFX1NTVAkJCSgwPDwyNykKPiAgI2RlZmluZSAgRFBfVFBfQ1RMX01PREVfTVNUCQkJ KDE8PDI3KQo+IEBAIC03MTc3LDcgKzcxNTYsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxz IHsKPiAgLyogRGlzcGxheVBvcnQgVHJhbnNwb3J0IFN0YXR1cyAqLwo+ICAjZGVmaW5lIF9EUF9U UF9TVEFUVVNfQQkJCTB4NjQwNDQKPiAgI2RlZmluZSBfRFBfVFBfU1RBVFVTX0IJCQkweDY0MTQ0 Cj4gLSNkZWZpbmUgRFBfVFBfU1RBVFVTKHBvcnQpIF9QT1JUKHBvcnQsIF9EUF9UUF9TVEFUVVNf QSwgX0RQX1RQX1NUQVRVU19CKQo+ICsjZGVmaW5lIERQX1RQX1NUQVRVUyhwb3J0KSBfUkVHX1BP UlQocG9ydCwgX0RQX1RQX1NUQVRVU19BLCBfRFBfVFBfU1RBVFVTX0IpCj4gICNkZWZpbmUgIERQ X1RQX1NUQVRVU19JRExFX0RPTkUJCQkoMTw8MjUpCj4gICNkZWZpbmUgIERQX1RQX1NUQVRVU19B Q1RfU0VOVAkJCSgxPDwyNCkKPiAgI2RlZmluZSAgRFBfVFBfU1RBVFVTX01PREVfU1RBVFVTX01T VAkJKDE8PDIzKQo+IEBAIC03MTg5LDcgKzcxNjgsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dl bGxzIHsKPiAgLyogRERJIEJ1ZmZlciBDb250cm9sICovCj4gICNkZWZpbmUgX0RESV9CVUZfQ1RM X0EJCQkJMHg2NDAwMAo+ICAjZGVmaW5lIF9ERElfQlVGX0NUTF9CCQkJCTB4NjQxMDAKPiAtI2Rl ZmluZSBERElfQlVGX0NUTChwb3J0KSBfUE9SVChwb3J0LCBfRERJX0JVRl9DVExfQSwgX0RESV9C VUZfQ1RMX0IpCj4gKyNkZWZpbmUgRERJX0JVRl9DVEwocG9ydCkgX1JFR19QT1JUKHBvcnQsIF9E RElfQlVGX0NUTF9BLCBfRERJX0JVRl9DVExfQikKPiAgI2RlZmluZSAgRERJX0JVRl9DVExfRU5B QkxFCQkJKDE8PDMxKQo+ICAjZGVmaW5lICBERElfQlVGX1RSQU5TX1NFTEVDVChuKQkoKG4pIDw8 IDI0KQo+ICAjZGVmaW5lICBERElfQlVGX0VNUF9NQVNLCQkJKDB4Zjw8MjQpCj4gQEAgLTcyMDQs MTUgKzcxODMsMTUgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gIC8qIERESSBCdWZm ZXIgVHJhbnNsYXRpb25zICovCj4gICNkZWZpbmUgX0RESV9CVUZfVFJBTlNfQQkJMHg2NEUwMAo+ ICAjZGVmaW5lIF9ERElfQlVGX1RSQU5TX0IJCTB4NjRFNjAKPiAtI2RlZmluZSBERElfQlVGX1RS QU5TX0xPKHBvcnQsIGkpCSAoX1BPUlQocG9ydCwgX0RESV9CVUZfVFJBTlNfQSwgX0RESV9CVUZf VFJBTlNfQikgKyAoaSkgKiA4KQo+IC0jZGVmaW5lIERESV9CVUZfVFJBTlNfSEkocG9ydCwgaSkJ IChfUE9SVChwb3J0LCBfRERJX0JVRl9UUkFOU19BLCBfRERJX0JVRl9UUkFOU19CKSArIChpKSAq IDggKyA0KQo+ICsjZGVmaW5lIERESV9CVUZfVFJBTlNfTE8ocG9ydCwgaSkJX1JFRyhfUE9SVChw b3J0LCBfRERJX0JVRl9UUkFOU19BLCBfRERJX0JVRl9UUkFOU19CKSArIChpKSAqIDgpCj4gKyNk ZWZpbmUgRERJX0JVRl9UUkFOU19ISShwb3J0LCBpKQlfUkVHKF9QT1JUKHBvcnQsIF9ERElfQlVG X1RSQU5TX0EsIF9ERElfQlVGX1RSQU5TX0IpICsgKGkpICogOCArIDQpCj4gIAo+ICAvKiBTaWRl YmFuZCBJbnRlcmZhY2UgKFNCSSkgaXMgcHJvZ3JhbW1lZCBpbmRpcmVjdGx5LCB2aWEKPiAgICog U0JJX0FERFIsIHdoaWNoIGNvbnRhaW5zIHRoZSByZWdpc3RlciBvZmZzZXQ7IGFuZCBTQklfREFU QSwKPiAgICogd2hpY2ggY29udGFpbnMgdGhlIHBheWxvYWQgKi8KPiAtI2RlZmluZSBTQklfQURE UgkJCTB4QzYwMDAKPiAtI2RlZmluZSBTQklfREFUQQkJCTB4QzYwMDQKPiAtI2RlZmluZSBTQklf Q1RMX1NUQVQJCQkweEM2MDA4Cj4gKyNkZWZpbmUgU0JJX0FERFIJCQlfUkVHKDB4QzYwMDApCj4g KyNkZWZpbmUgU0JJX0RBVEEJCQlfUkVHKDB4QzYwMDQpCj4gKyNkZWZpbmUgU0JJX0NUTF9TVEFU CQkJX1JFRygweEM2MDA4KQo+ICAjZGVmaW5lICBTQklfQ1RMX0RFU1RfSUNMSwkJKDB4MDw8MTYp Cj4gICNkZWZpbmUgIFNCSV9DVExfREVTVF9NUEhZCQkoMHgxPDwxNikKPiAgI2RlZmluZSAgU0JJ X0NUTF9PUF9JT1JECQkoMHgyPDw4KQo+IEBAIC03MjQzLDEyICs3MjIyLDEyIEBAIGVudW0gc2ts X2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgU0JJX0dFTjBfQ0ZHX0JVRkZFTkFCTEVf RElTQUJMRQkoMTw8MCkKPiAgCj4gIC8qIExQVCBQSVhDTEtfR0FURSAqLwo+IC0jZGVmaW5lIFBJ WENMS19HQVRFCQkJMHhDNjAyMAo+ICsjZGVmaW5lIFBJWENMS19HQVRFCQkJX1JFRygweEM2MDIw KQo+ICAjZGVmaW5lICBQSVhDTEtfR0FURV9VTkdBVEUJCSgxPDwwKQo+ICAjZGVmaW5lICBQSVhD TEtfR0FURV9HQVRFCQkoMDw8MCkKPiAgCj4gIC8qIFNQTEwgKi8KPiAtI2RlZmluZSBTUExMX0NU TAkJCTB4NDYwMjAKPiArI2RlZmluZSBTUExMX0NUTAkJCV9SRUcoMHg0NjAyMCkKPiAgI2RlZmlu ZSAgU1BMTF9QTExfRU5BQkxFCQkoMTw8MzEpCj4gICNkZWZpbmUgIFNQTExfUExMX1NTQwkJCSgx PDwyOCkKPiAgI2RlZmluZSAgU1BMTF9QTExfTk9OX1NTQwkJKDI8PDI4KQo+IEBAIC03MjYyLDcg KzcyNDEsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgLyogV1JQTEwgKi8KPiAg I2RlZmluZSBfV1JQTExfQ1RMMQkJCTB4NDYwNDAKPiAgI2RlZmluZSBfV1JQTExfQ1RMMgkJCTB4 NDYwNjAKPiAtI2RlZmluZSBXUlBMTF9DVEwocGxsKQkJCV9QSVBFKHBsbCwgX1dSUExMX0NUTDEs IF9XUlBMTF9DVEwyKQo+ICsjZGVmaW5lIFdSUExMX0NUTChwbGwpCQkJX1JFR19QSVBFKHBsbCwg X1dSUExMX0NUTDEsIF9XUlBMTF9DVEwyKQo+ICAjZGVmaW5lICBXUlBMTF9QTExfRU5BQkxFCQko MTw8MzEpCj4gICNkZWZpbmUgIFdSUExMX1BMTF9TU0MJCQkoMTw8MjgpCj4gICNkZWZpbmUgIFdS UExMX1BMTF9OT05fU1NDCQkoMjw8MjgpCj4gQEAgLTcyODEsNyArNzI2MCw3IEBAIGVudW0gc2ts X2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAvKiBQb3J0IGNsb2NrIHNlbGVjdGlvbiAqLwo+ICAjZGVm aW5lIF9QT1JUX0NMS19TRUxfQQkJCTB4NDYxMDAKPiAgI2RlZmluZSBfUE9SVF9DTEtfU0VMX0IJ CQkweDQ2MTA0Cj4gLSNkZWZpbmUgUE9SVF9DTEtfU0VMKHBvcnQpIF9QT1JUKHBvcnQsIF9QT1JU X0NMS19TRUxfQSwgX1BPUlRfQ0xLX1NFTF9CKQo+ICsjZGVmaW5lIFBPUlRfQ0xLX1NFTChwb3J0 KSBfUkVHX1BPUlQocG9ydCwgX1BPUlRfQ0xLX1NFTF9BLCBfUE9SVF9DTEtfU0VMX0IpCj4gICNk ZWZpbmUgIFBPUlRfQ0xLX1NFTF9MQ1BMTF8yNzAwCSgwPDwyOSkKPiAgI2RlZmluZSAgUE9SVF9D TEtfU0VMX0xDUExMXzEzNTAJKDE8PDI5KQo+ICAjZGVmaW5lICBQT1JUX0NMS19TRUxfTENQTExf ODEwCQkoMjw8MjkpCj4gQEAgLTcyOTUsNyArNzI3NCw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJf d2VsbHMgewo+ICAvKiBUcmFuc2NvZGVyIGNsb2NrIHNlbGVjdGlvbiAqLwo+ICAjZGVmaW5lIF9U UkFOU19DTEtfU0VMX0EJCTB4NDYxNDAKPiAgI2RlZmluZSBfVFJBTlNfQ0xLX1NFTF9CCQkweDQ2 MTQ0Cj4gLSNkZWZpbmUgVFJBTlNfQ0xLX1NFTCh0cmFuKSBfVFJBTlNDT0RFUih0cmFuLCBfVFJB TlNfQ0xLX1NFTF9BLCBfVFJBTlNfQ0xLX1NFTF9CKQo+ICsjZGVmaW5lIFRSQU5TX0NMS19TRUwo dHJhbikgX1JFR19UUkFOUyh0cmFuLCBfVFJBTlNfQ0xLX1NFTF9BLCBfVFJBTlNfQ0xLX1NFTF9C KQo+ICAvKiBGb3IgZWFjaCB0cmFuc2NvZGVyLCB3ZSBuZWVkIHRvIHNlbGVjdCB0aGUgY29ycmVz cG9uZGluZyBwb3J0IGNsb2NrICovCj4gICNkZWZpbmUgIFRSQU5TX0NMS19TRUxfRElTQUJMRUQJ CSgweDA8PDI5KQo+ICAjZGVmaW5lICBUUkFOU19DTEtfU0VMX1BPUlQoeCkJCSgoKHgpKzEpPDwy OSkKPiBAQCAtNzMwNCw3ICs3MjgzLDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4g ICNkZWZpbmUgX1RSQU5TQl9NU0FfTUlTQwkJMHg2MTQxMAo+ICAjZGVmaW5lIF9UUkFOU0NfTVNB X01JU0MJCTB4NjI0MTAKPiAgI2RlZmluZSBfVFJBTlNfRURQX01TQV9NSVNDCQkweDZmNDEwCj4g LSNkZWZpbmUgVFJBTlNfTVNBX01JU0ModHJhbikgX1RSQU5TQ09ERVIyKHRyYW4sIF9UUkFOU0Ff TVNBX01JU0MpCj4gKyNkZWZpbmUgVFJBTlNfTVNBX01JU0ModHJhbikgX1JFR19UUkFOUzIodHJh biwgX1RSQU5TQV9NU0FfTUlTQykKPiAgCj4gICNkZWZpbmUgIFRSQU5TX01TQV9TWU5DX0NMSwkJ KDE8PDApCj4gICNkZWZpbmUgIFRSQU5TX01TQV82X0JQQwkJKDA8PDUpCj4gQEAgLTczMTQsNyAr NzI5Myw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICBUUkFOU19N U0FfMTZfQlBDCQkoNDw8NSkKPiAgCj4gIC8qIExDUExMIENvbnRyb2wgKi8KPiAtI2RlZmluZSBM Q1BMTF9DVEwJCQkweDEzMDA0MAo+ICsjZGVmaW5lIExDUExMX0NUTAkJCV9SRUcoMHgxMzAwNDAp Cj4gICNkZWZpbmUgIExDUExMX1BMTF9ESVNBQkxFCQkoMTw8MzEpCj4gICNkZWZpbmUgIExDUExM X1BMTF9MT0NLCQkJKDE8PDMwKQo+ICAjZGVmaW5lICBMQ1BMTF9DTEtfRlJFUV9NQVNLCQkoMzw8 MjYpCj4gQEAgLTczMzQsNyArNzMxMyw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ ICAgKi8KPiAgCj4gIC8qIENEQ0xLX0NUTCAqLwo+IC0jZGVmaW5lIENEQ0xLX0NUTAkJCTB4NDYw MDAKPiArI2RlZmluZSBDRENMS19DVEwJCQlfUkVHKDB4NDYwMDApCj4gICNkZWZpbmUgIENEQ0xL X0ZSRVFfU0VMX01BU0sJCSgzPDwyNikKPiAgI2RlZmluZSAgQ0RDTEtfRlJFUV80NTBfNDMyCQko MDw8MjYpCj4gICNkZWZpbmUgIENEQ0xLX0ZSRVFfNTQwCQkJKDE8PDI2KQo+IEBAIC03MzUwLDEy ICs3MzI5LDEyIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICBCWFRf Q0RDTEtfU1NBX1BSRUNIQVJHRV9FTkFCTEUJKDE8PDE2KQo+ICAKPiAgLyogTENQTExfQ1RMICov Cj4gLSNkZWZpbmUgTENQTEwxX0NUTAkJMHg0NjAxMAo+IC0jZGVmaW5lIExDUExMMl9DVEwJCTB4 NDYwMTQKPiArI2RlZmluZSBMQ1BMTDFfQ1RMCQlfUkVHKDB4NDYwMTApCj4gKyNkZWZpbmUgTENQ TEwyX0NUTAkJX1JFRygweDQ2MDE0KQo+ICAjZGVmaW5lICBMQ1BMTF9QTExfRU5BQkxFCSgxPDwz MSkKPiAgCj4gIC8qIERQTEwgY29udHJvbDEgKi8KPiAtI2RlZmluZSBEUExMX0NUUkwxCQkweDZD MDU4Cj4gKyNkZWZpbmUgRFBMTF9DVFJMMQkJX1JFRygweDZDMDU4KQo+ICAjZGVmaW5lICBEUExM X0NUUkwxX0hETUlfTU9ERShpZCkJCSgxPDwoKGlkKSo2KzUpKQo+ICAjZGVmaW5lICBEUExMX0NU UkwxX1NTQyhpZCkJCQkoMTw8KChpZCkqNis0KSkKPiAgI2RlZmluZSAgRFBMTF9DVFJMMV9MSU5L X1JBVEVfTUFTSyhpZCkJCSg3PDwoKGlkKSo2KzEpKQo+IEBAIC03MzcwLDcgKzczNDksNyBAQCBl bnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgRFBMTF9DVFJMMV9MSU5LX1JB VEVfMjE2MAkJNQo+ICAKPiAgLyogRFBMTCBjb250cm9sMiAqLwo+IC0jZGVmaW5lIERQTExfQ1RS TDIJCQkJMHg2QzA1Qwo+ICsjZGVmaW5lIERQTExfQ1RSTDIJCQkJX1JFRygweDZDMDVDKQo+ICAj ZGVmaW5lICBEUExMX0NUUkwyX0RESV9DTEtfT0ZGKHBvcnQpCQkoMTw8KChwb3J0KSsxNSkpCj4g ICNkZWZpbmUgIERQTExfQ1RSTDJfRERJX0NMS19TRUxfTUFTSyhwb3J0KQkoMzw8KChwb3J0KSoz KzEpKQo+ICAjZGVmaW5lICBEUExMX0NUUkwyX0RESV9DTEtfU0VMX1NISUZUKHBvcnQpICAgICgo cG9ydCkqMysxKQo+IEBAIC03Mzc4LDcgKzczNTcsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dl bGxzIHsKPiAgI2RlZmluZSAgRFBMTF9DVFJMMl9ERElfU0VMX09WRVJSSURFKHBvcnQpICAgICAo MTw8KChwb3J0KSozKSkKPiAgCj4gIC8qIERQTEwgU3RhdHVzICovCj4gLSNkZWZpbmUgRFBMTF9T VEFUVVMJMHg2QzA2MAo+ICsjZGVmaW5lIERQTExfU1RBVFVTCV9SRUcoMHg2QzA2MCkKPiAgI2Rl ZmluZSAgRFBMTF9MT0NLKGlkKSAoMTw8KChpZCkqOCkpCj4gIAo+ICAvKiBEUExMIGNmZyAqLwo+ IEBAIC03NDEwLDMyICs3Mzg5LDMyIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAj ZGVmaW5lICBEUExMX0NGR0NSMl9QRElWXzcgKDQ8PDIpCj4gICNkZWZpbmUgIERQTExfQ0ZHQ1Iy X0NFTlRSQUxfRlJFUV9NQVNLCSgzKQo+ICAKPiAtI2RlZmluZSBEUExMX0NGR0NSMShpZCkJX1BJ UEUoKGlkKSAtIFNLTF9EUExMMSwgX0RQTEwxX0NGR0NSMSwgX0RQTEwyX0NGR0NSMikKPiAtI2Rl ZmluZSBEUExMX0NGR0NSMihpZCkJX1BJUEUoKGlkKSAtIFNLTF9EUExMMSwgX0RQTEwxX0NGR0NS MiwgX0RQTEwyX0NGR0NSMikKPiArI2RlZmluZSBEUExMX0NGR0NSMShpZCkJX1JFR19QSVBFKChp ZCkgLSBTS0xfRFBMTDEsIF9EUExMMV9DRkdDUjEsIF9EUExMMl9DRkdDUjIpCj4gKyNkZWZpbmUg RFBMTF9DRkdDUjIoaWQpCV9SRUdfUElQRSgoaWQpIC0gU0tMX0RQTEwxLCBfRFBMTDFfQ0ZHQ1Iy LCBfRFBMTDJfQ0ZHQ1IyKQo+ICAKPiAgLyogQlhUIGRpc3BsYXkgZW5naW5lIFBMTCAqLwo+IC0j ZGVmaW5lIEJYVF9ERV9QTExfQ1RMCQkJMHg2ZDAwMAo+ICsjZGVmaW5lIEJYVF9ERV9QTExfQ1RM CQkJX1JFRygweDZkMDAwKQo+ICAjZGVmaW5lICAgQlhUX0RFX1BMTF9SQVRJTyh4KQkJKHgpCS8q IHs2MCw2NSwxMDB9ICogMTkuMk1IeiAqLwo+ICAjZGVmaW5lICAgQlhUX0RFX1BMTF9SQVRJT19N QVNLCQkweGZmCj4gIAo+IC0jZGVmaW5lIEJYVF9ERV9QTExfRU5BQkxFCQkweDQ2MDcwCj4gKyNk ZWZpbmUgQlhUX0RFX1BMTF9FTkFCTEUJCV9SRUcoMHg0NjA3MCkKPiAgI2RlZmluZSAgIEJYVF9E RV9QTExfUExMX0VOQUJMRQkJKDEgPDwgMzEpCj4gICNkZWZpbmUgICBCWFRfREVfUExMX0xPQ0sJ CSgxIDw8IDMwKQo+ICAKPiAgLyogR0VOOSBEQyAqLwo+IC0jZGVmaW5lIERDX1NUQVRFX0VOCQkJ MHg0NTUwNAo+ICsjZGVmaW5lIERDX1NUQVRFX0VOCQkJX1JFRygweDQ1NTA0KQo+ICAjZGVmaW5l ICBEQ19TVEFURV9FTl9VUFRPX0RDNQkJKDE8PDApCj4gICNkZWZpbmUgIERDX1NUQVRFX0VOX0RD OQkJKDE8PDMpCj4gICNkZWZpbmUgIERDX1NUQVRFX0VOX1VQVE9fREM2CQkoMjw8MCkKPiAgI2Rl ZmluZSAgRENfU1RBVEVfRU5fVVBUT19EQzVfREM2X01BU0sgICAweDMKPiAgCj4gLSNkZWZpbmUg IERDX1NUQVRFX0RFQlVHICAgICAgICAgICAgICAgICAgMHg0NTUyMAo+ICsjZGVmaW5lICBEQ19T VEFURV9ERUJVRyAgICAgICAgICAgICAgICAgIF9SRUcoMHg0NTUyMCkKPiAgI2RlZmluZSAgRENf U1RBVEVfREVCVUdfTUFTS19NRU1PUllfVVAJKDE8PDEpCj4gIAo+ICAvKiBQbGVhc2Ugc2VlIGhz d19yZWFkX2Rjb21wKCkgYW5kIGhzd193cml0ZV9kY29tcCgpIGJlZm9yZSB1c2luZyB0aGlzIHJl Z2lzdGVyLAo+ICAgKiBzaW5jZSBvbiBIU1cgd2UgY2FuJ3Qgd3JpdGUgdG8gaXQgdXNpbmcgSTkx NV9XUklURS4gKi8KPiAtI2RlZmluZSBEX0NPTVBfSFNXCQkJKE1DSEJBUl9NSVJST1JfQkFTRV9T TkIgKyAweDVGMEMpCj4gLSNkZWZpbmUgRF9DT01QX0JEVwkJCTB4MTM4MTQ0Cj4gKyNkZWZpbmUg RF9DT01QX0hTVwkJCV9SRUcoTUNIQkFSX01JUlJPUl9CQVNFX1NOQiArIDB4NUYwQykKPiArI2Rl ZmluZSBEX0NPTVBfQkRXCQkJX1JFRygweDEzODE0NCkKPiAgI2RlZmluZSAgRF9DT01QX1JDT01Q X0lOX1BST0dSRVNTCSgxPDw5KQo+ICAjZGVmaW5lICBEX0NPTVBfQ09NUF9GT1JDRQkJKDE8PDgp Cj4gICNkZWZpbmUgIERfQ09NUF9DT01QX0RJU0FCTEUJCSgxPDwwKQo+IEBAIC03NDQzLDI1ICs3 NDIyLDI0IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAvKiBQaXBlIFdNX0xJTkVU SU1FIC0gd2F0ZXJtYXJrIGxpbmUgdGltZSAqLwo+ICAjZGVmaW5lIF9QSVBFX1dNX0xJTkVUSU1F X0EJCTB4NDUyNzAKPiAgI2RlZmluZSBfUElQRV9XTV9MSU5FVElNRV9CCQkweDQ1Mjc0Cj4gLSNk ZWZpbmUgUElQRV9XTV9MSU5FVElNRShwaXBlKSBfUElQRShwaXBlLCBfUElQRV9XTV9MSU5FVElN RV9BLCBcCj4gLQkJCQkJICAgX1BJUEVfV01fTElORVRJTUVfQikKPiArI2RlZmluZSBQSVBFX1dN X0xJTkVUSU1FKHBpcGUpIF9SRUdfUElQRShwaXBlLCBfUElQRV9XTV9MSU5FVElNRV9BLCBfUElQ RV9XTV9MSU5FVElNRV9CKQo+ICAjZGVmaW5lICAgUElQRV9XTV9MSU5FVElNRV9NQVNLCQkJKDB4 MWZmKQo+ICAjZGVmaW5lICAgUElQRV9XTV9MSU5FVElNRV9USU1FKHgpCQkoKHgpKQo+ICAjZGVm aW5lICAgUElQRV9XTV9MSU5FVElNRV9JUFNfTElORVRJTUVfTUFTSwkoMHgxZmY8PDE2KQo+ICAj ZGVmaW5lICAgUElQRV9XTV9MSU5FVElNRV9JUFNfTElORVRJTUUoeCkJKCh4KTw8MTYpCj4gIAo+ ICAvKiBTRlVTRV9TVFJBUCAqLwo+IC0jZGVmaW5lIFNGVVNFX1NUUkFQCQkJMHhjMjAxNAo+ICsj ZGVmaW5lIFNGVVNFX1NUUkFQCQkJX1JFRygweGMyMDE0KQo+ICAjZGVmaW5lICBTRlVTRV9TVFJB UF9GVVNFX0xPQ0sJCSgxPDwxMykKPiAgI2RlZmluZSAgU0ZVU0VfU1RSQVBfRElTUExBWV9ESVNB QkxFRAkoMTw8NykKPiAgI2RlZmluZSAgU0ZVU0VfU1RSQVBfRERJQl9ERVRFQ1RFRAkoMTw8MikK PiAgI2RlZmluZSAgU0ZVU0VfU1RSQVBfRERJQ19ERVRFQ1RFRAkoMTw8MSkKPiAgI2RlZmluZSAg U0ZVU0VfU1RSQVBfRERJRF9ERVRFQ1RFRAkoMTw8MCkKPiAgCj4gLSNkZWZpbmUgV01fTUlTQwkJ CQkweDQ1MjYwCj4gKyNkZWZpbmUgV01fTUlTQwkJCQlfUkVHKDB4NDUyNjApCj4gICNkZWZpbmUg IFdNX01JU0NfREFUQV9QQVJUSVRJT05fNV82CSgxIDw8IDApCj4gIAo+IC0jZGVmaW5lIFdNX0RC RwkJCQkweDQ1MjgwCj4gKyNkZWZpbmUgV01fREJHCQkJCV9SRUcoMHg0NTI4MCkKPiAgI2RlZmlu ZSAgV01fREJHX0RJU0FMTE9XX01VTFRJUExFX0xQCSgxPDwwKQo+ICAjZGVmaW5lICBXTV9EQkdf RElTQUxMT1dfTUFYRklGTwkoMTw8MSkKPiAgI2RlZmluZSAgV01fREJHX0RJU0FMTE9XX1NQUklU RQkJKDE8PDIpCj4gQEAgLTc0OTgsMjcgKzc0NzYsMjggQEAgZW51bSBza2xfZGlzcF9wb3dlcl93 ZWxscyB7Cj4gICNkZWZpbmUgX1BJUEVfQl9DU0NfUE9TVE9GRl9NRQkweDQ5MTQ0Cj4gICNkZWZp bmUgX1BJUEVfQl9DU0NfUE9TVE9GRl9MTwkweDQ5MTQ4Cj4gIAo+IC0jZGVmaW5lIFBJUEVfQ1ND X0NPRUZGX1JZX0dZKHBpcGUpIF9QSVBFKHBpcGUsIF9QSVBFX0FfQ1NDX0NPRUZGX1JZX0dZLCBf UElQRV9CX0NTQ19DT0VGRl9SWV9HWSkKPiAtI2RlZmluZSBQSVBFX0NTQ19DT0VGRl9CWShwaXBl KSBfUElQRShwaXBlLCBfUElQRV9BX0NTQ19DT0VGRl9CWSwgX1BJUEVfQl9DU0NfQ09FRkZfQlkp Cj4gLSNkZWZpbmUgUElQRV9DU0NfQ09FRkZfUlVfR1UocGlwZSkgX1BJUEUocGlwZSwgX1BJUEVf QV9DU0NfQ09FRkZfUlVfR1UsIF9QSVBFX0JfQ1NDX0NPRUZGX1JVX0dVKQo+IC0jZGVmaW5lIFBJ UEVfQ1NDX0NPRUZGX0JVKHBpcGUpIF9QSVBFKHBpcGUsIF9QSVBFX0FfQ1NDX0NPRUZGX0JVLCBf UElQRV9CX0NTQ19DT0VGRl9CVSkKPiAtI2RlZmluZSBQSVBFX0NTQ19DT0VGRl9SVl9HVihwaXBl KSBfUElQRShwaXBlLCBfUElQRV9BX0NTQ19DT0VGRl9SVl9HViwgX1BJUEVfQl9DU0NfQ09FRkZf UlZfR1YpCj4gLSNkZWZpbmUgUElQRV9DU0NfQ09FRkZfQlYocGlwZSkgX1BJUEUocGlwZSwgX1BJ UEVfQV9DU0NfQ09FRkZfQlYsIF9QSVBFX0JfQ1NDX0NPRUZGX0JWKQo+IC0jZGVmaW5lIFBJUEVf Q1NDX01PREUocGlwZSkgX1BJUEUocGlwZSwgX1BJUEVfQV9DU0NfTU9ERSwgX1BJUEVfQl9DU0Nf TU9ERSkKPiAtI2RlZmluZSBQSVBFX0NTQ19QUkVPRkZfSEkocGlwZSkgX1BJUEUocGlwZSwgX1BJ UEVfQV9DU0NfUFJFT0ZGX0hJLCBfUElQRV9CX0NTQ19QUkVPRkZfSEkpCj4gLSNkZWZpbmUgUElQ RV9DU0NfUFJFT0ZGX01FKHBpcGUpIF9QSVBFKHBpcGUsIF9QSVBFX0FfQ1NDX1BSRU9GRl9NRSwg X1BJUEVfQl9DU0NfUFJFT0ZGX01FKQo+IC0jZGVmaW5lIFBJUEVfQ1NDX1BSRU9GRl9MTyhwaXBl KSBfUElQRShwaXBlLCBfUElQRV9BX0NTQ19QUkVPRkZfTE8sIF9QSVBFX0JfQ1NDX1BSRU9GRl9M TykKPiAtI2RlZmluZSBQSVBFX0NTQ19QT1NUT0ZGX0hJKHBpcGUpIF9QSVBFKHBpcGUsIF9QSVBF X0FfQ1NDX1BPU1RPRkZfSEksIF9QSVBFX0JfQ1NDX1BPU1RPRkZfSEkpCj4gLSNkZWZpbmUgUElQ RV9DU0NfUE9TVE9GRl9NRShwaXBlKSBfUElQRShwaXBlLCBfUElQRV9BX0NTQ19QT1NUT0ZGX01F LCBfUElQRV9CX0NTQ19QT1NUT0ZGX01FKQo+IC0jZGVmaW5lIFBJUEVfQ1NDX1BPU1RPRkZfTE8o cGlwZSkgX1BJUEUocGlwZSwgX1BJUEVfQV9DU0NfUE9TVE9GRl9MTywgX1BJUEVfQl9DU0NfUE9T VE9GRl9MTykKPiArI2RlZmluZSBQSVBFX0NTQ19DT0VGRl9SWV9HWShwaXBlKQlfUkVHX1BJUEUo cGlwZSwgX1BJUEVfQV9DU0NfQ09FRkZfUllfR1ksIF9QSVBFX0JfQ1NDX0NPRUZGX1JZX0dZKQo+ ICsjZGVmaW5lIFBJUEVfQ1NDX0NPRUZGX0JZKHBpcGUpCQlfUkVHX1BJUEUocGlwZSwgX1BJUEVf QV9DU0NfQ09FRkZfQlksIF9QSVBFX0JfQ1NDX0NPRUZGX0JZKQo+ICsjZGVmaW5lIFBJUEVfQ1ND X0NPRUZGX1JVX0dVKHBpcGUpCV9SRUdfUElQRShwaXBlLCBfUElQRV9BX0NTQ19DT0VGRl9SVV9H VSwgX1BJUEVfQl9DU0NfQ09FRkZfUlVfR1UpCj4gKyNkZWZpbmUgUElQRV9DU0NfQ09FRkZfQlUo cGlwZSkJCV9SRUdfUElQRShwaXBlLCBfUElQRV9BX0NTQ19DT0VGRl9CVSwgX1BJUEVfQl9DU0Nf Q09FRkZfQlUpCj4gKyNkZWZpbmUgUElQRV9DU0NfQ09FRkZfUlZfR1YocGlwZSkJX1JFR19QSVBF KHBpcGUsIF9QSVBFX0FfQ1NDX0NPRUZGX1JWX0dWLCBfUElQRV9CX0NTQ19DT0VGRl9SVl9HVikK PiArI2RlZmluZSBQSVBFX0NTQ19DT0VGRl9CVihwaXBlKQkJX1JFR19QSVBFKHBpcGUsIF9QSVBF X0FfQ1NDX0NPRUZGX0JWLCBfUElQRV9CX0NTQ19DT0VGRl9CVikKPiArI2RlZmluZSBQSVBFX0NT Q19NT0RFKHBpcGUpCQlfUkVHX1BJUEUocGlwZSwgX1BJUEVfQV9DU0NfTU9ERSwgX1BJUEVfQl9D U0NfTU9ERSkKPiArI2RlZmluZSBQSVBFX0NTQ19QUkVPRkZfSEkocGlwZSkJX1JFR19QSVBFKHBp cGUsIF9QSVBFX0FfQ1NDX1BSRU9GRl9ISSwgX1BJUEVfQl9DU0NfUFJFT0ZGX0hJKQo+ICsjZGVm aW5lIFBJUEVfQ1NDX1BSRU9GRl9NRShwaXBlKQlfUkVHX1BJUEUocGlwZSwgX1BJUEVfQV9DU0Nf UFJFT0ZGX01FLCBfUElQRV9CX0NTQ19QUkVPRkZfTUUpCj4gKyNkZWZpbmUgUElQRV9DU0NfUFJF T0ZGX0xPKHBpcGUpCV9SRUdfUElQRShwaXBlLCBfUElQRV9BX0NTQ19QUkVPRkZfTE8sIF9QSVBF X0JfQ1NDX1BSRU9GRl9MTykKPiArI2RlZmluZSBQSVBFX0NTQ19QT1NUT0ZGX0hJKHBpcGUpCV9S RUdfUElQRShwaXBlLCBfUElQRV9BX0NTQ19QT1NUT0ZGX0hJLCBfUElQRV9CX0NTQ19QT1NUT0ZG X0hJKQo+ICsjZGVmaW5lIFBJUEVfQ1NDX1BPU1RPRkZfTUUocGlwZSkJX1JFR19QSVBFKHBpcGUs IF9QSVBFX0FfQ1NDX1BPU1RPRkZfTUUsIF9QSVBFX0JfQ1NDX1BPU1RPRkZfTUUpCj4gKyNkZWZp bmUgUElQRV9DU0NfUE9TVE9GRl9MTyhwaXBlKQlfUkVHX1BJUEUocGlwZSwgX1BJUEVfQV9DU0Nf UE9TVE9GRl9MTywgX1BJUEVfQl9DU0NfUE9TVE9GRl9MTykKPiAgCj4gIC8qIE1JUEkgRFNJIHJl Z2lzdGVycyAqLwo+ICAKPiAtI2RlZmluZSBfTUlQSV9QT1JUKHBvcnQsIGEsIGMpCV9QT1JUMyhw b3J0LCBhLCAwLCBjKQkvKiBwb3J0cyBBIGFuZCBDIG9ubHkgKi8KPiArI2RlZmluZSBfTUlQSShw b3J0LCBhLCBjKQlfUE9SVDMocG9ydCwgYSwgMCwgYykJLyogcG9ydHMgQSBhbmQgQyBvbmx5ICov Cj4gKyNkZWZpbmUgX1JFR19NSVBJKHBvcnQsIGEsIGMpCV9SRUcoX01JUEkocG9ydCwgYSwgYykp Cj4gIAo+ICAjZGVmaW5lIF9NSVBJQV9QT1JUX0NUUkwJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4 NjExOTApCj4gICNkZWZpbmUgX01JUElDX1BPUlRfQ1RSTAkJCShWTFZfRElTUExBWV9CQVNFICsg MHg2MTcwMCkKPiAtI2RlZmluZSBNSVBJX1BPUlRfQ1RSTChwb3J0KQlfTUlQSV9QT1JUKHBvcnQs IF9NSVBJQV9QT1JUX0NUUkwsIF9NSVBJQ19QT1JUX0NUUkwpCj4gKyNkZWZpbmUgTUlQSV9QT1JU X0NUUkwocG9ydCkJX1JFR19NSVBJKHBvcnQsIF9NSVBJQV9QT1JUX0NUUkwsIF9NSVBJQ19QT1JU X0NUUkwpCj4gICNkZWZpbmUgIERQSV9FTkFCTEUJCQkJCSgxIDw8IDMxKSAvKiBBICsgQyAqLwo+ ICAjZGVmaW5lICBNSVBJQV9NSVBJNERQSFlfREVMQVlfQ09VTlRfU0hJRlQJCTI3Cj4gICNkZWZp bmUgIE1JUElBX01JUEk0RFBIWV9ERUxBWV9DT1VOVF9NQVNLCQkoMHhmIDw8IDI3KQo+IEBAIC03 NTYxLDggKzc1NDAsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgCj4gICNkZWZp bmUgX01JUElBX1RFQVJJTkdfQ1RSTAkJCShWTFZfRElTUExBWV9CQVNFICsgMHg2MTE5NCkKPiAg I2RlZmluZSBfTUlQSUNfVEVBUklOR19DVFJMCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxNzA0 KQo+IC0jZGVmaW5lIE1JUElfVEVBUklOR19DVFJMKHBvcnQpCQkJX01JUElfUE9SVChwb3J0LCBc Cj4gLQkJCQlfTUlQSUFfVEVBUklOR19DVFJMLCBfTUlQSUNfVEVBUklOR19DVFJMKQo+ICsjZGVm aW5lIE1JUElfVEVBUklOR19DVFJMKHBvcnQpCQkJX1JFR19NSVBJKHBvcnQsIF9NSVBJQV9URUFS SU5HX0NUUkwsIF9NSVBJQ19URUFSSU5HX0NUUkwpCj4gICNkZWZpbmUgIFRFQVJJTkdfRUZGRUNU X0RFTEFZX1NISUZUCQkJMAo+ICAjZGVmaW5lICBURUFSSU5HX0VGRkVDVF9ERUxBWV9NQVNLCQkJ KDB4ZmZmZiA8PCAwKQo+ICAKPiBAQCAtNzU3Myw4ICs3NTUxLDcgQEAgZW51bSBza2xfZGlzcF9w b3dlcl93ZWxscyB7Cj4gIAo+ICAjZGVmaW5lIF9NSVBJQV9ERVZJQ0VfUkVBRFkJCShkZXZfcHJp di0+bWlwaV9tbWlvX2Jhc2UgKyAweGIwMDApCj4gICNkZWZpbmUgX01JUElDX0RFVklDRV9SRUFE WQkJKGRldl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4YjgwMCkKPiAtI2RlZmluZSBNSVBJX0RF VklDRV9SRUFEWShwb3J0KQkJX01JUElfUE9SVChwb3J0LCBfTUlQSUFfREVWSUNFX1JFQURZLCBc Cj4gLQkJCQkJCV9NSVBJQ19ERVZJQ0VfUkVBRFkpCj4gKyNkZWZpbmUgTUlQSV9ERVZJQ0VfUkVB RFkocG9ydCkJCV9SRUdfTUlQSShwb3J0LCBfTUlQSUFfREVWSUNFX1JFQURZLCBfTUlQSUNfREVW SUNFX1JFQURZKQo+ICAjZGVmaW5lICBCVVNfUE9TU0VTU0lPTgkJCQkJKDEgPDwgMykgLyogc2V0 IHRvIGdpdmUgYnVzIHRvIHJlY2VpdmVyICovCj4gICNkZWZpbmUgIFVMUFNfU1RBVEVfTUFTSwkJ CQkoMyA8PCAxKQo+ICAjZGVmaW5lICBVTFBTX1NUQVRFX0VOVEVSCQkJCSgyIDw8IDEpCj4gQEAg LTc1ODQsMTIgKzc1NjEsMTAgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gIAo+ICAj ZGVmaW5lIF9NSVBJQV9JTlRSX1NUQVQJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGIw MDQpCj4gICNkZWZpbmUgX01JUElDX0lOVFJfU1RBVAkJKGRldl9wcml2LT5taXBpX21taW9fYmFz ZSArIDB4YjgwNCkKPiAtI2RlZmluZSBNSVBJX0lOVFJfU1RBVChwb3J0KQkJX01JUElfUE9SVChw b3J0LCBfTUlQSUFfSU5UUl9TVEFULCBcCj4gLQkJCQkJX01JUElDX0lOVFJfU1RBVCkKPiArI2Rl ZmluZSBNSVBJX0lOVFJfU1RBVChwb3J0KQkJX1JFR19NSVBJKHBvcnQsIF9NSVBJQV9JTlRSX1NU QVQsIF9NSVBJQ19JTlRSX1NUQVQpCj4gICNkZWZpbmUgX01JUElBX0lOVFJfRU4JCQkoZGV2X3By aXYtPm1pcGlfbW1pb19iYXNlICsgMHhiMDA4KQo+ICAjZGVmaW5lIF9NSVBJQ19JTlRSX0VOCQkJ KGRldl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4YjgwOCkKPiAtI2RlZmluZSBNSVBJX0lOVFJf RU4ocG9ydCkJCV9NSVBJX1BPUlQocG9ydCwgX01JUElBX0lOVFJfRU4sIFwKPiAtCQkJCQlfTUlQ SUNfSU5UUl9FTikKPiArI2RlZmluZSBNSVBJX0lOVFJfRU4ocG9ydCkJCV9SRUdfTUlQSShwb3J0 LCBfTUlQSUFfSU5UUl9FTiwgX01JUElDX0lOVFJfRU4pCj4gICNkZWZpbmUgIFRFQVJJTkdfRUZG RUNUCQkJCQkoMSA8PCAzMSkKPiAgI2RlZmluZSAgU1BMX1BLVF9TRU5UX0lOVEVSUlVQVAkJCQko MSA8PCAzMCkKPiAgI2RlZmluZSAgR0VOX1JFQURfREFUQV9BVkFJTAkJCQkoMSA8PCAyOSkKPiBA QCAtNzYyNSw4ICs3NjAwLDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gIAo+ICAj ZGVmaW5lIF9NSVBJQV9EU0lfRlVOQ19QUkcJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAw eGIwMGMpCj4gICNkZWZpbmUgX01JUElDX0RTSV9GVU5DX1BSRwkJKGRldl9wcml2LT5taXBpX21t aW9fYmFzZSArIDB4YjgwYykKPiAtI2RlZmluZSBNSVBJX0RTSV9GVU5DX1BSRyhwb3J0KQkJX01J UElfUE9SVChwb3J0LCBfTUlQSUFfRFNJX0ZVTkNfUFJHLCBcCj4gLQkJCQkJCV9NSVBJQ19EU0lf RlVOQ19QUkcpCj4gKyNkZWZpbmUgTUlQSV9EU0lfRlVOQ19QUkcocG9ydCkJCV9SRUdfTUlQSShw b3J0LCBfTUlQSUFfRFNJX0ZVTkNfUFJHLCBfTUlQSUNfRFNJX0ZVTkNfUFJHKQo+ICAjZGVmaW5l ICBDTURfTU9ERV9EQVRBX1dJRFRIX01BU0sJCQkoNyA8PCAxMykKPiAgI2RlZmluZSAgQ01EX01P REVfTk9UX1NVUFBPUlRFRAkJCQkoMCA8PCAxMykKPiAgI2RlZmluZSAgQ01EX01PREVfREFUQV9X SURUSF8xNl9CSVQJCQkoMSA8PCAxMykKPiBAQCAtNzY0OSwzMiArNzYyMywyNyBAQCBlbnVtIHNr bF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgCj4gICNkZWZpbmUgX01JUElBX0hTX1RYX1RJTUVPVVQJ CShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGIwMTApCj4gICNkZWZpbmUgX01JUElDX0hT X1RYX1RJTUVPVVQJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGI4MTApCj4gLSNkZWZp bmUgTUlQSV9IU19UWF9USU1FT1VUKHBvcnQpCV9NSVBJX1BPUlQocG9ydCwgX01JUElBX0hTX1RY X1RJTUVPVVQsIFwKPiAtCQkJCQlfTUlQSUNfSFNfVFhfVElNRU9VVCkKPiArI2RlZmluZSBNSVBJ X0hTX1RYX1RJTUVPVVQocG9ydCkJX1JFR19NSVBJKHBvcnQsIF9NSVBJQV9IU19UWF9USU1FT1VU LCBfTUlQSUNfSFNfVFhfVElNRU9VVCkKPiAgI2RlZmluZSAgSElHSF9TUEVFRF9UWF9USU1FT1VU X0NPVU5URVJfTUFTSwkJMHhmZmZmZmYKPiAgCj4gICNkZWZpbmUgX01JUElBX0xQX1JYX1RJTUVP VVQJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGIwMTQpCj4gICNkZWZpbmUgX01JUElD X0xQX1JYX1RJTUVPVVQJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGI4MTQpCj4gLSNk ZWZpbmUgTUlQSV9MUF9SWF9USU1FT1VUKHBvcnQpCV9NSVBJX1BPUlQocG9ydCwgX01JUElBX0xQ X1JYX1RJTUVPVVQsIFwKPiAtCQkJCQlfTUlQSUNfTFBfUlhfVElNRU9VVCkKPiArI2RlZmluZSBN SVBJX0xQX1JYX1RJTUVPVVQocG9ydCkJX1JFR19NSVBJKHBvcnQsIF9NSVBJQV9MUF9SWF9USU1F T1VULCBfTUlQSUNfTFBfUlhfVElNRU9VVCkKPiAgI2RlZmluZSAgTE9XX1BPV0VSX1JYX1RJTUVP VVRfQ09VTlRFUl9NQVNLCQkweGZmZmZmZgo+ICAKPiAgI2RlZmluZSBfTUlQSUFfVFVSTl9BUk9V TkRfVElNRU9VVAkoZGV2X3ByaXYtPm1pcGlfbW1pb19iYXNlICsgMHhiMDE4KQo+ICAjZGVmaW5l IF9NSVBJQ19UVVJOX0FST1VORF9USU1FT1VUCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAw eGI4MTgpCj4gLSNkZWZpbmUgTUlQSV9UVVJOX0FST1VORF9USU1FT1VUKHBvcnQpCV9NSVBJX1BP UlQocG9ydCwgXAo+IC0JCQlfTUlQSUFfVFVSTl9BUk9VTkRfVElNRU9VVCwgX01JUElDX1RVUk5f QVJPVU5EX1RJTUVPVVQpCj4gKyNkZWZpbmUgTUlQSV9UVVJOX0FST1VORF9USU1FT1VUKHBvcnQp CV9SRUdfTUlQSShwb3J0LCBfTUlQSUFfVFVSTl9BUk9VTkRfVElNRU9VVCwgX01JUElDX1RVUk5f QVJPVU5EX1RJTUVPVVQpCj4gICNkZWZpbmUgIFRVUk5fQVJPVU5EX1RJTUVPVVRfTUFTSwkJCTB4 M2YKPiAgCj4gICNkZWZpbmUgX01JUElBX0RFVklDRV9SRVNFVF9USU1FUgkoZGV2X3ByaXYtPm1p cGlfbW1pb19iYXNlICsgMHhiMDFjKQo+ICAjZGVmaW5lIF9NSVBJQ19ERVZJQ0VfUkVTRVRfVElN RVIJKGRldl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4YjgxYykKPiAtI2RlZmluZSBNSVBJX0RF VklDRV9SRVNFVF9USU1FUihwb3J0KQlfTUlQSV9QT1JUKHBvcnQsIFwKPiAtCQkJX01JUElBX0RF VklDRV9SRVNFVF9USU1FUiwgX01JUElDX0RFVklDRV9SRVNFVF9USU1FUikKPiArI2RlZmluZSBN SVBJX0RFVklDRV9SRVNFVF9USU1FUihwb3J0KQlfUkVHX01JUEkocG9ydCwgX01JUElBX0RFVklD RV9SRVNFVF9USU1FUiwgX01JUElDX0RFVklDRV9SRVNFVF9USU1FUikKPiAgI2RlZmluZSAgREVW SUNFX1JFU0VUX1RJTUVSX01BU0sJCQkweGZmZmYKPiAgCj4gICNkZWZpbmUgX01JUElBX0RQSV9S RVNPTFVUSU9OCQkoZGV2X3ByaXYtPm1pcGlfbW1pb19iYXNlICsgMHhiMDIwKQo+ICAjZGVmaW5l IF9NSVBJQ19EUElfUkVTT0xVVElPTgkJKGRldl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4Yjgy MCkKPiAtI2RlZmluZSBNSVBJX0RQSV9SRVNPTFVUSU9OKHBvcnQpCV9NSVBJX1BPUlQocG9ydCwg X01JUElBX0RQSV9SRVNPTFVUSU9OLCBcCj4gLQkJCQkJX01JUElDX0RQSV9SRVNPTFVUSU9OKQo+ ICsjZGVmaW5lIE1JUElfRFBJX1JFU09MVVRJT04ocG9ydCkJX1JFR19NSVBJKHBvcnQsIF9NSVBJ QV9EUElfUkVTT0xVVElPTiwgX01JUElDX0RQSV9SRVNPTFVUSU9OKQo+ICAjZGVmaW5lICBWRVJU SUNBTF9BRERSRVNTX1NISUZUCQkJCTE2Cj4gICNkZWZpbmUgIFZFUlRJQ0FMX0FERFJFU1NfTUFT SwkJCQkoMHhmZmZmIDw8IDE2KQo+ICAjZGVmaW5lICBIT1JJWk9OVEFMX0FERFJFU1NfU0hJRlQJ CQkwCj4gQEAgLTc2ODIsOCArNzY1MSw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ ICAKPiAgI2RlZmluZSBfTUlQSUFfREJJX0ZJRk9fVEhST1RUTEUJKGRldl9wcml2LT5taXBpX21t aW9fYmFzZSArIDB4YjAyNCkKPiAgI2RlZmluZSBfTUlQSUNfREJJX0ZJRk9fVEhST1RUTEUJKGRl dl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4YjgyNCkKPiAtI2RlZmluZSBNSVBJX0RCSV9GSUZP X1RIUk9UVExFKHBvcnQpCV9NSVBJX1BPUlQocG9ydCwgXAo+IC0JCQlfTUlQSUFfREJJX0ZJRk9f VEhST1RUTEUsIF9NSVBJQ19EQklfRklGT19USFJPVFRMRSkKPiArI2RlZmluZSBNSVBJX0RCSV9G SUZPX1RIUk9UVExFKHBvcnQpCV9SRUdfTUlQSShwb3J0LCBfTUlQSUFfREJJX0ZJRk9fVEhST1RU TEUsIF9NSVBJQ19EQklfRklGT19USFJPVFRMRSkKPiAgI2RlZmluZSAgREJJX0ZJRk9fRU1QVFlf SEFMRgkJCQkoMCA8PCAwKQo+ICAjZGVmaW5lICBEQklfRklGT19FTVBUWV9RVUFSVEVSCQkJCSgx IDw8IDApCj4gICNkZWZpbmUgIERCSV9GSUZPX0VNUFRZXzdfTE9DQVRJT05TCQkJKDIgPDwgMCkK PiBAQCAtNzY5MSw1MCArNzY1OSw0MSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAg LyogcmVncyBiZWxvdyBhcmUgYml0cyAxNTowICovCj4gICNkZWZpbmUgX01JUElBX0hTWU5DX1BB RERJTkdfQ09VTlQJKGRldl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4YjAyOCkKPiAgI2RlZmlu ZSBfTUlQSUNfSFNZTkNfUEFERElOR19DT1VOVAkoZGV2X3ByaXYtPm1pcGlfbW1pb19iYXNlICsg MHhiODI4KQo+IC0jZGVmaW5lIE1JUElfSFNZTkNfUEFERElOR19DT1VOVChwb3J0KQlfTUlQSV9Q T1JUKHBvcnQsIFwKPiAtCQkJX01JUElBX0hTWU5DX1BBRERJTkdfQ09VTlQsIF9NSVBJQ19IU1lO Q19QQURESU5HX0NPVU5UKQo+ICsjZGVmaW5lIE1JUElfSFNZTkNfUEFERElOR19DT1VOVChwb3J0 KQlfUkVHX01JUEkocG9ydCwgX01JUElBX0hTWU5DX1BBRERJTkdfQ09VTlQsIF9NSVBJQ19IU1lO Q19QQURESU5HX0NPVU5UKQo+ICAKPiAgI2RlZmluZSBfTUlQSUFfSEJQX0NPVU5UCQkoZGV2X3By aXYtPm1pcGlfbW1pb19iYXNlICsgMHhiMDJjKQo+ICAjZGVmaW5lIF9NSVBJQ19IQlBfQ09VTlQJ CShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGI4MmMpCj4gLSNkZWZpbmUgTUlQSV9IQlBf Q09VTlQocG9ydCkJCV9NSVBJX1BPUlQocG9ydCwgX01JUElBX0hCUF9DT1VOVCwgXAo+IC0JCQkJ CV9NSVBJQ19IQlBfQ09VTlQpCj4gKyNkZWZpbmUgTUlQSV9IQlBfQ09VTlQocG9ydCkJCV9SRUdf TUlQSShwb3J0LCBfTUlQSUFfSEJQX0NPVU5ULCBfTUlQSUNfSEJQX0NPVU5UKQo+ICAKPiAgI2Rl ZmluZSBfTUlQSUFfSEZQX0NPVU5UCQkoZGV2X3ByaXYtPm1pcGlfbW1pb19iYXNlICsgMHhiMDMw KQo+ICAjZGVmaW5lIF9NSVBJQ19IRlBfQ09VTlQJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2Ug KyAweGI4MzApCj4gLSNkZWZpbmUgTUlQSV9IRlBfQ09VTlQocG9ydCkJCV9NSVBJX1BPUlQocG9y dCwgX01JUElBX0hGUF9DT1VOVCwgXAo+IC0JCQkJCV9NSVBJQ19IRlBfQ09VTlQpCj4gKyNkZWZp bmUgTUlQSV9IRlBfQ09VTlQocG9ydCkJCV9SRUdfTUlQSShwb3J0LCBfTUlQSUFfSEZQX0NPVU5U LCBfTUlQSUNfSEZQX0NPVU5UKQo+ICAKPiAgI2RlZmluZSBfTUlQSUFfSEFDVElWRV9BUkVBX0NP VU5UCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGIwMzQpCj4gICNkZWZpbmUgX01JUElD X0hBQ1RJVkVfQVJFQV9DT1VOVAkoZGV2X3ByaXYtPm1pcGlfbW1pb19iYXNlICsgMHhiODM0KQo+ IC0jZGVmaW5lIE1JUElfSEFDVElWRV9BUkVBX0NPVU5UKHBvcnQpCV9NSVBJX1BPUlQocG9ydCwg XAo+IC0JCQlfTUlQSUFfSEFDVElWRV9BUkVBX0NPVU5ULCBfTUlQSUNfSEFDVElWRV9BUkVBX0NP VU5UKQo+ICsjZGVmaW5lIE1JUElfSEFDVElWRV9BUkVBX0NPVU5UKHBvcnQpCV9SRUdfTUlQSShw b3J0LCBfTUlQSUFfSEFDVElWRV9BUkVBX0NPVU5ULCBfTUlQSUNfSEFDVElWRV9BUkVBX0NPVU5U KQo+ICAKPiAgI2RlZmluZSBfTUlQSUFfVlNZTkNfUEFERElOR19DT1VOVAkoZGV2X3ByaXYtPm1p cGlfbW1pb19iYXNlICsgMHhiMDM4KQo+ICAjZGVmaW5lIF9NSVBJQ19WU1lOQ19QQURESU5HX0NP VU5UCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGI4MzgpCj4gLSNkZWZpbmUgTUlQSV9W U1lOQ19QQURESU5HX0NPVU5UKHBvcnQpCV9NSVBJX1BPUlQocG9ydCwgXAo+IC0JCQlfTUlQSUFf VlNZTkNfUEFERElOR19DT1VOVCwgX01JUElDX1ZTWU5DX1BBRERJTkdfQ09VTlQpCj4gKyNkZWZp bmUgTUlQSV9WU1lOQ19QQURESU5HX0NPVU5UKHBvcnQpCV9SRUdfTUlQSShwb3J0LCBfTUlQSUFf VlNZTkNfUEFERElOR19DT1VOVCwgX01JUElDX1ZTWU5DX1BBRERJTkdfQ09VTlQpCj4gIAo+ICAj ZGVmaW5lIF9NSVBJQV9WQlBfQ09VTlQJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGIw M2MpCj4gICNkZWZpbmUgX01JUElDX1ZCUF9DT1VOVAkJKGRldl9wcml2LT5taXBpX21taW9fYmFz ZSArIDB4YjgzYykKPiAtI2RlZmluZSBNSVBJX1ZCUF9DT1VOVChwb3J0KQkJX01JUElfUE9SVChw b3J0LCBfTUlQSUFfVkJQX0NPVU5ULCBcCj4gLQkJCQkJX01JUElDX1ZCUF9DT1VOVCkKPiArI2Rl ZmluZSBNSVBJX1ZCUF9DT1VOVChwb3J0KQkJX1JFR19NSVBJKHBvcnQsIF9NSVBJQV9WQlBfQ09V TlQsIF9NSVBJQ19WQlBfQ09VTlQpCj4gIAo+ICAjZGVmaW5lIF9NSVBJQV9WRlBfQ09VTlQJCShk ZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGIwNDApCj4gICNkZWZpbmUgX01JUElDX1ZGUF9D T1VOVAkJKGRldl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4Yjg0MCkKPiAtI2RlZmluZSBNSVBJ X1ZGUF9DT1VOVChwb3J0KQkJX01JUElfUE9SVChwb3J0LCBfTUlQSUFfVkZQX0NPVU5ULCBcCj4g LQkJCQkJX01JUElDX1ZGUF9DT1VOVCkKPiArI2RlZmluZSBNSVBJX1ZGUF9DT1VOVChwb3J0KQkJ X1JFR19NSVBJKHBvcnQsIF9NSVBJQV9WRlBfQ09VTlQsIF9NSVBJQ19WRlBfQ09VTlQpCj4gIAo+ ICAjZGVmaW5lIF9NSVBJQV9ISUdIX0xPV19TV0lUQ0hfQ09VTlQJKGRldl9wcml2LT5taXBpX21t aW9fYmFzZSArIDB4YjA0NCkKPiAgI2RlZmluZSBfTUlQSUNfSElHSF9MT1dfU1dJVENIX0NPVU5U CShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGI4NDQpCj4gLSNkZWZpbmUgTUlQSV9ISUdI X0xPV19TV0lUQ0hfQ09VTlQocG9ydCkJX01JUElfUE9SVChwb3J0LAlcCj4gLQkJX01JUElBX0hJ R0hfTE9XX1NXSVRDSF9DT1VOVCwgX01JUElDX0hJR0hfTE9XX1NXSVRDSF9DT1VOVCkKPiArI2Rl ZmluZSBNSVBJX0hJR0hfTE9XX1NXSVRDSF9DT1VOVChwb3J0KQlfUkVHX01JUEkocG9ydCwJX01J UElBX0hJR0hfTE9XX1NXSVRDSF9DT1VOVCwgX01JUElDX0hJR0hfTE9XX1NXSVRDSF9DT1VOVCkK PiAgCj4gIC8qIHJlZ3MgYWJvdmUgYXJlIGJpdHMgMTU6MCAqLwo+ICAKPiAgI2RlZmluZSBfTUlQ SUFfRFBJX0NPTlRST0wJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGIwNDgpCj4gICNk ZWZpbmUgX01JUElDX0RQSV9DT05UUk9MCQkoZGV2X3ByaXYtPm1pcGlfbW1pb19iYXNlICsgMHhi ODQ4KQo+IC0jZGVmaW5lIE1JUElfRFBJX0NPTlRST0wocG9ydCkJCV9NSVBJX1BPUlQocG9ydCwg X01JUElBX0RQSV9DT05UUk9MLCBcCj4gLQkJCQkJX01JUElDX0RQSV9DT05UUk9MKQo+ICsjZGVm aW5lIE1JUElfRFBJX0NPTlRST0wocG9ydCkJCV9SRUdfTUlQSShwb3J0LCBfTUlQSUFfRFBJX0NP TlRST0wsIF9NSVBJQ19EUElfQ09OVFJPTCkKPiAgI2RlZmluZSAgRFBJX0xQX01PREUJCQkJCSgx IDw8IDYpCj4gICNkZWZpbmUgIEJBQ0tMSUdIVF9PRkYJCQkJCSgxIDw8IDUpCj4gICNkZWZpbmUg IEJBQ0tMSUdIVF9PTgkJCQkJKDEgPDwgNCkKPiBAQCAtNzc0NSwyOSArNzcwNCwyNiBAQCBlbnVt IHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgCj4gICNkZWZpbmUgX01JUElBX0RQSV9EQVRBCQkJ KGRldl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4YjA0YykKPiAgI2RlZmluZSBfTUlQSUNfRFBJ X0RBVEEJCQkoZGV2X3ByaXYtPm1pcGlfbW1pb19iYXNlICsgMHhiODRjKQo+IC0jZGVmaW5lIE1J UElfRFBJX0RBVEEocG9ydCkJCV9NSVBJX1BPUlQocG9ydCwgX01JUElBX0RQSV9EQVRBLCBcCj4g LQkJCQkJX01JUElDX0RQSV9EQVRBKQo+ICsjZGVmaW5lIE1JUElfRFBJX0RBVEEocG9ydCkJCV9S RUdfTUlQSShwb3J0LCBfTUlQSUFfRFBJX0RBVEEsIF9NSVBJQ19EUElfREFUQSkKPiAgI2RlZmlu ZSAgQ09NTUFORF9CWVRFX1NISUZUCQkJCTAKPiAgI2RlZmluZSAgQ09NTUFORF9CWVRFX01BU0sJ CQkJKDB4M2YgPDwgMCkKPiAgCj4gICNkZWZpbmUgX01JUElBX0lOSVRfQ09VTlQJCShkZXZfcHJp di0+bWlwaV9tbWlvX2Jhc2UgKyAweGIwNTApCj4gICNkZWZpbmUgX01JUElDX0lOSVRfQ09VTlQJ CShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGI4NTApCj4gLSNkZWZpbmUgTUlQSV9JTklU X0NPVU5UKHBvcnQpCQlfTUlQSV9QT1JUKHBvcnQsIF9NSVBJQV9JTklUX0NPVU5ULCBcCj4gLQkJ CQkJX01JUElDX0lOSVRfQ09VTlQpCj4gKyNkZWZpbmUgTUlQSV9JTklUX0NPVU5UKHBvcnQpCQlf UkVHX01JUEkocG9ydCwgX01JUElBX0lOSVRfQ09VTlQsIF9NSVBJQ19JTklUX0NPVU5UKQo+ICAj ZGVmaW5lICBNQVNURVJfSU5JVF9USU1FUl9TSElGVAkJCTAKPiAgI2RlZmluZSAgTUFTVEVSX0lO SVRfVElNRVJfTUFTSwkJCQkoMHhmZmZmIDw8IDApCj4gIAo+ICAjZGVmaW5lIF9NSVBJQV9NQVhf UkVUVVJOX1BLVF9TSVpFCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGIwNTQpCj4gICNk ZWZpbmUgX01JUElDX01BWF9SRVRVUk5fUEtUX1NJWkUJKGRldl9wcml2LT5taXBpX21taW9fYmFz ZSArIDB4Yjg1NCkKPiAtI2RlZmluZSBNSVBJX01BWF9SRVRVUk5fUEtUX1NJWkUocG9ydCkJX01J UElfUE9SVChwb3J0LCBcCj4gKyNkZWZpbmUgTUlQSV9NQVhfUkVUVVJOX1BLVF9TSVpFKHBvcnQp CV9SRUdfTUlQSShwb3J0LCBcCj4gIAkJCV9NSVBJQV9NQVhfUkVUVVJOX1BLVF9TSVpFLCBfTUlQ SUNfTUFYX1JFVFVSTl9QS1RfU0laRSkKPiAgI2RlZmluZSAgTUFYX1JFVFVSTl9QS1RfU0laRV9T SElGVAkJCTAKPiAgI2RlZmluZSAgTUFYX1JFVFVSTl9QS1RfU0laRV9NQVNLCQkJKDB4M2ZmIDw8 IDApCj4gIAo+ICAjZGVmaW5lIF9NSVBJQV9WSURFT19NT0RFX0ZPUk1BVAkoZGV2X3ByaXYtPm1p cGlfbW1pb19iYXNlICsgMHhiMDU4KQo+ICAjZGVmaW5lIF9NSVBJQ19WSURFT19NT0RFX0ZPUk1B VAkoZGV2X3ByaXYtPm1pcGlfbW1pb19iYXNlICsgMHhiODU4KQo+IC0jZGVmaW5lIE1JUElfVklE RU9fTU9ERV9GT1JNQVQocG9ydCkJX01JUElfUE9SVChwb3J0LCBcCj4gLQkJCV9NSVBJQV9WSURF T19NT0RFX0ZPUk1BVCwgX01JUElDX1ZJREVPX01PREVfRk9STUFUKQo+ICsjZGVmaW5lIE1JUElf VklERU9fTU9ERV9GT1JNQVQocG9ydCkJX1JFR19NSVBJKHBvcnQsIF9NSVBJQV9WSURFT19NT0RF X0ZPUk1BVCwgX01JUElDX1ZJREVPX01PREVfRk9STUFUKQo+ICAjZGVmaW5lICBSQU5ET01fRFBJ X0RJU1BMQVlfUkVTT0xVVElPTgkJCSgxIDw8IDQpCj4gICNkZWZpbmUgIERJU0FCTEVfVklERU9f QlRBCQkJCSgxIDw8IDMpCj4gICNkZWZpbmUgIElQX1RHX0NPTkZJRwkJCQkJKDEgPDwgMikKPiBA QCAtNzc3Nyw4ICs3NzMzLDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gIAo+ICAj ZGVmaW5lIF9NSVBJQV9FT1RfRElTQUJMRQkJKGRldl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4 YjA1YykKPiAgI2RlZmluZSBfTUlQSUNfRU9UX0RJU0FCTEUJCShkZXZfcHJpdi0+bWlwaV9tbWlv X2Jhc2UgKyAweGI4NWMpCj4gLSNkZWZpbmUgTUlQSV9FT1RfRElTQUJMRShwb3J0KQkJX01JUElf UE9SVChwb3J0LCBfTUlQSUFfRU9UX0RJU0FCTEUsIFwKPiAtCQkJCQlfTUlQSUNfRU9UX0RJU0FC TEUpCj4gKyNkZWZpbmUgTUlQSV9FT1RfRElTQUJMRShwb3J0KQkJX1JFR19NSVBJKHBvcnQsIF9N SVBJQV9FT1RfRElTQUJMRSwgX01JUElDX0VPVF9ESVNBQkxFKQo+ICAjZGVmaW5lICBMUF9SWF9U SU1FT1VUX0VSUk9SX1JFQ09WRVJZX0RJU0FCTEUJCSgxIDw8IDcpCj4gICNkZWZpbmUgIEhTX1JY X1RJTUVPVVRfRVJST1JfUkVDT1ZFUllfRElTQUJMRQkJKDEgPDwgNikKPiAgI2RlZmluZSAgTE9X X0NPTlRFTlRJT05fUkVDT1ZFUllfRElTQUJMRQkJKDEgPDwgNSkKPiBAQCAtNzc5MCwzMSArNzc0 NSwyNiBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgCj4gICNkZWZpbmUgX01JUElB X0xQX0JZVEVDTEsJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGIwNjApCj4gICNkZWZp bmUgX01JUElDX0xQX0JZVEVDTEsJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGI4NjAp Cj4gLSNkZWZpbmUgTUlQSV9MUF9CWVRFQ0xLKHBvcnQpCQlfTUlQSV9QT1JUKHBvcnQsIF9NSVBJ QV9MUF9CWVRFQ0xLLCBcCj4gLQkJCQkJX01JUElDX0xQX0JZVEVDTEspCj4gKyNkZWZpbmUgTUlQ SV9MUF9CWVRFQ0xLKHBvcnQpCQlfUkVHX01JUEkocG9ydCwgX01JUElBX0xQX0JZVEVDTEssIF9N SVBJQ19MUF9CWVRFQ0xLKQo+ICAjZGVmaW5lICBMUF9CWVRFQ0xLX1NISUZUCQkJCTAKPiAgI2Rl ZmluZSAgTFBfQllURUNMS19NQVNLCQkJCSgweGZmZmYgPDwgMCkKPiAgCj4gIC8qIGJpdHMgMzE6 MCAqLwo+ICAjZGVmaW5lIF9NSVBJQV9MUF9HRU5fREFUQQkJKGRldl9wcml2LT5taXBpX21taW9f YmFzZSArIDB4YjA2NCkKPiAgI2RlZmluZSBfTUlQSUNfTFBfR0VOX0RBVEEJCShkZXZfcHJpdi0+ bWlwaV9tbWlvX2Jhc2UgKyAweGI4NjQpCj4gLSNkZWZpbmUgTUlQSV9MUF9HRU5fREFUQShwb3J0 KQkJX01JUElfUE9SVChwb3J0LCBfTUlQSUFfTFBfR0VOX0RBVEEsIFwKPiAtCQkJCQlfTUlQSUNf TFBfR0VOX0RBVEEpCj4gKyNkZWZpbmUgTUlQSV9MUF9HRU5fREFUQShwb3J0KQkJX1JFR19NSVBJ KHBvcnQsIF9NSVBJQV9MUF9HRU5fREFUQSwgX01JUElDX0xQX0dFTl9EQVRBKQo+ICAKPiAgLyog Yml0cyAzMTowICovCj4gICNkZWZpbmUgX01JUElBX0hTX0dFTl9EQVRBCQkoZGV2X3ByaXYtPm1p cGlfbW1pb19iYXNlICsgMHhiMDY4KQo+ICAjZGVmaW5lIF9NSVBJQ19IU19HRU5fREFUQQkJKGRl dl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4Yjg2OCkKPiAtI2RlZmluZSBNSVBJX0hTX0dFTl9E QVRBKHBvcnQpCQlfTUlQSV9QT1JUKHBvcnQsIF9NSVBJQV9IU19HRU5fREFUQSwgXAo+IC0JCQkJ CV9NSVBJQ19IU19HRU5fREFUQSkKPiArI2RlZmluZSBNSVBJX0hTX0dFTl9EQVRBKHBvcnQpCQlf UkVHX01JUEkocG9ydCwgX01JUElBX0hTX0dFTl9EQVRBLCBfTUlQSUNfSFNfR0VOX0RBVEEpCj4g IAo+ICAjZGVmaW5lIF9NSVBJQV9MUF9HRU5fQ1RSTAkJKGRldl9wcml2LT5taXBpX21taW9fYmFz ZSArIDB4YjA2YykKPiAgI2RlZmluZSBfTUlQSUNfTFBfR0VOX0NUUkwJCShkZXZfcHJpdi0+bWlw aV9tbWlvX2Jhc2UgKyAweGI4NmMpCj4gLSNkZWZpbmUgTUlQSV9MUF9HRU5fQ1RSTChwb3J0KQkJ X01JUElfUE9SVChwb3J0LCBfTUlQSUFfTFBfR0VOX0NUUkwsIFwKPiAtCQkJCQlfTUlQSUNfTFBf R0VOX0NUUkwpCj4gKyNkZWZpbmUgTUlQSV9MUF9HRU5fQ1RSTChwb3J0KQkJX1JFR19NSVBJKHBv cnQsIF9NSVBJQV9MUF9HRU5fQ1RSTCwgX01JUElDX0xQX0dFTl9DVFJMKQo+ICAjZGVmaW5lIF9N SVBJQV9IU19HRU5fQ1RSTAkJKGRldl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4YjA3MCkKPiAg I2RlZmluZSBfTUlQSUNfSFNfR0VOX0NUUkwJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAw eGI4NzApCj4gLSNkZWZpbmUgTUlQSV9IU19HRU5fQ1RSTChwb3J0KQkJX01JUElfUE9SVChwb3J0 LCBfTUlQSUFfSFNfR0VOX0NUUkwsIFwKPiAtCQkJCQlfTUlQSUNfSFNfR0VOX0NUUkwpCj4gKyNk ZWZpbmUgTUlQSV9IU19HRU5fQ1RSTChwb3J0KQkJX1JFR19NSVBJKHBvcnQsIF9NSVBJQV9IU19H RU5fQ1RSTCwgX01JUElDX0hTX0dFTl9DVFJMKQo+ICAjZGVmaW5lICBMT05HX1BBQ0tFVF9XT1JE X0NPVU5UX1NISUZUCQkJOAo+ICAjZGVmaW5lICBMT05HX1BBQ0tFVF9XT1JEX0NPVU5UX01BU0sJ CQkoMHhmZmZmIDw8IDgpCj4gICNkZWZpbmUgIFNIT1JUX1BBQ0tFVF9QQVJBTV9TSElGVAkJCTgK PiBAQCAtNzgyNyw4ICs3Nzc3LDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gIAo+ ICAjZGVmaW5lIF9NSVBJQV9HRU5fRklGT19TVEFUCQkoZGV2X3ByaXYtPm1pcGlfbW1pb19iYXNl ICsgMHhiMDc0KQo+ICAjZGVmaW5lIF9NSVBJQ19HRU5fRklGT19TVEFUCQkoZGV2X3ByaXYtPm1p cGlfbW1pb19iYXNlICsgMHhiODc0KQo+IC0jZGVmaW5lIE1JUElfR0VOX0ZJRk9fU1RBVChwb3J0 KQlfTUlQSV9QT1JUKHBvcnQsIF9NSVBJQV9HRU5fRklGT19TVEFULCBcCj4gLQkJCQkJX01JUElD X0dFTl9GSUZPX1NUQVQpCj4gKyNkZWZpbmUgTUlQSV9HRU5fRklGT19TVEFUKHBvcnQpCV9SRUdf TUlQSShwb3J0LCBfTUlQSUFfR0VOX0ZJRk9fU1RBVCwgX01JUElDX0dFTl9GSUZPX1NUQVQpCj4g ICNkZWZpbmUgIERQSV9GSUZPX0VNUFRZCQkJCQkoMSA8PCAyOCkKPiAgI2RlZmluZSAgREJJX0ZJ Rk9fRU1QVFkJCQkJCSgxIDw8IDI3KQo+ICAjZGVmaW5lICBMUF9DVFJMX0ZJRk9fRU1QVFkJCQkJ KDEgPDwgMjYpCj4gQEAgLTc4NDYsMTYgKzc3OTUsMTQgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93 ZWxscyB7Cj4gIAo+ICAjZGVmaW5lIF9NSVBJQV9IU19MU19EQklfRU5BQkxFCQkoZGV2X3ByaXYt Pm1pcGlfbW1pb19iYXNlICsgMHhiMDc4KQo+ICAjZGVmaW5lIF9NSVBJQ19IU19MU19EQklfRU5B QkxFCQkoZGV2X3ByaXYtPm1pcGlfbW1pb19iYXNlICsgMHhiODc4KQo+IC0jZGVmaW5lIE1JUElf SFNfTFBfREJJX0VOQUJMRShwb3J0KQlfTUlQSV9QT1JUKHBvcnQsIFwKPiAtCQkJX01JUElBX0hT X0xTX0RCSV9FTkFCTEUsIF9NSVBJQ19IU19MU19EQklfRU5BQkxFKQo+ICsjZGVmaW5lIE1JUElf SFNfTFBfREJJX0VOQUJMRShwb3J0KQlfUkVHX01JUEkocG9ydCwgX01JUElBX0hTX0xTX0RCSV9F TkFCTEUsIF9NSVBJQ19IU19MU19EQklfRU5BQkxFKQo+ICAjZGVmaW5lICBEQklfSFNfTFBfTU9E RV9NQVNLCQkJCSgxIDw8IDApCj4gICNkZWZpbmUgIERCSV9MUF9NT0RFCQkJCQkoMSA8PCAwKQo+ ICAjZGVmaW5lICBEQklfSFNfTU9ERQkJCQkJKDAgPDwgMCkKPiAgCj4gICNkZWZpbmUgX01JUElB X0RQSFlfUEFSQU0JCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGIwODApCj4gICNkZWZp bmUgX01JUElDX0RQSFlfUEFSQU0JCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGI4ODAp Cj4gLSNkZWZpbmUgTUlQSV9EUEhZX1BBUkFNKHBvcnQpCQlfTUlQSV9QT1JUKHBvcnQsIF9NSVBJ QV9EUEhZX1BBUkFNLCBcCj4gLQkJCQkJX01JUElDX0RQSFlfUEFSQU0pCj4gKyNkZWZpbmUgTUlQ SV9EUEhZX1BBUkFNKHBvcnQpCQlfUkVHX01JUEkocG9ydCwgX01JUElBX0RQSFlfUEFSQU0sIF9N SVBJQ19EUEhZX1BBUkFNKQo+ICAjZGVmaW5lICBFWElUX1pFUk9fQ09VTlRfU0hJRlQJCQkJMjQK PiAgI2RlZmluZSAgRVhJVF9aRVJPX0NPVU5UX01BU0sJCQkJKDB4M2YgPDwgMjQpCj4gICNkZWZp bmUgIFRSQUlMX0NPVU5UX1NISUZUCQkJCTE2Cj4gQEAgLTc4NjgsMTUgKzc4MTUsMTEgQEAgZW51 bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gIC8qIGJpdHMgMzE6MCAqLwo+ICAjZGVmaW5lIF9N SVBJQV9EQklfQldfQ1RSTAkJKGRldl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4YjA4NCkKPiAg I2RlZmluZSBfTUlQSUNfREJJX0JXX0NUUkwJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAw eGI4ODQpCj4gLSNkZWZpbmUgTUlQSV9EQklfQldfQ1RSTChwb3J0KQkJX01JUElfUE9SVChwb3J0 LCBfTUlQSUFfREJJX0JXX0NUUkwsIFwKPiAtCQkJCQlfTUlQSUNfREJJX0JXX0NUUkwpCj4gLQo+ IC0jZGVmaW5lIF9NSVBJQV9DTEtfTEFORV9TV0lUQ0hfVElNRV9DTlQJCShkZXZfcHJpdi0+bWlw aV9tbWlvX2Jhc2UgXAo+IC0JCQkJCQkJKyAweGIwODgpCj4gLSNkZWZpbmUgX01JUElDX0NMS19M QU5FX1NXSVRDSF9USU1FX0NOVAkJKGRldl9wcml2LT5taXBpX21taW9fYmFzZSBcCj4gLQkJCQkJ CQkrIDB4Yjg4OCkKPiAtI2RlZmluZSBNSVBJX0NMS19MQU5FX1NXSVRDSF9USU1FX0NOVChwb3J0 KQlfTUlQSV9QT1JUKHBvcnQsIFwKPiAtCV9NSVBJQV9DTEtfTEFORV9TV0lUQ0hfVElNRV9DTlQs IF9NSVBJQ19DTEtfTEFORV9TV0lUQ0hfVElNRV9DTlQpCj4gKyNkZWZpbmUgTUlQSV9EQklfQldf Q1RSTChwb3J0KQkJX1JFR19NSVBJKHBvcnQsIF9NSVBJQV9EQklfQldfQ1RSTCwgX01JUElDX0RC SV9CV19DVFJMKQo+ICsKPiArI2RlZmluZSBfTUlQSUFfQ0xLX0xBTkVfU1dJVENIX1RJTUVfQ05U CQkoZGV2X3ByaXYtPm1pcGlfbW1pb19iYXNlICsgMHhiMDg4KQo+ICsjZGVmaW5lIF9NSVBJQ19D TEtfTEFORV9TV0lUQ0hfVElNRV9DTlQJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGI4 ODgpCj4gKyNkZWZpbmUgTUlQSV9DTEtfTEFORV9TV0lUQ0hfVElNRV9DTlQocG9ydCkJX1JFR19N SVBJKHBvcnQsIF9NSVBJQV9DTEtfTEFORV9TV0lUQ0hfVElNRV9DTlQsIF9NSVBJQ19DTEtfTEFO RV9TV0lUQ0hfVElNRV9DTlQpCj4gICNkZWZpbmUgIExQX0hTX1NTV19DTlRfU0hJRlQJCQkJMTYK PiAgI2RlZmluZSAgTFBfSFNfU1NXX0NOVF9NQVNLCQkJCSgweGZmZmYgPDwgMTYpCj4gICNkZWZp bmUgIEhTX0xQX1BXUl9TV19DTlRfU0hJRlQJCQkJMAo+IEBAIC03ODg0LDE5ICs3ODI3LDE2IEBA IGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAKPiAgI2RlZmluZSBfTUlQSUFfU1RPUF9T VEFURV9TVEFMTAkJKGRldl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4YjA4YykKPiAgI2RlZmlu ZSBfTUlQSUNfU1RPUF9TVEFURV9TVEFMTAkJKGRldl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4 Yjg4YykKPiAtI2RlZmluZSBNSVBJX1NUT1BfU1RBVEVfU1RBTEwocG9ydCkJX01JUElfUE9SVChw b3J0LCBcCj4gLQkJCV9NSVBJQV9TVE9QX1NUQVRFX1NUQUxMLCBfTUlQSUNfU1RPUF9TVEFURV9T VEFMTCkKPiArI2RlZmluZSBNSVBJX1NUT1BfU1RBVEVfU1RBTEwocG9ydCkJX1JFR19NSVBJKHBv cnQsIF9NSVBJQV9TVE9QX1NUQVRFX1NUQUxMLCBfTUlQSUNfU1RPUF9TVEFURV9TVEFMTCkKPiAg I2RlZmluZSAgU1RPUF9TVEFURV9TVEFMTF9DT1VOVEVSX1NISUZUCQkJMAo+ICAjZGVmaW5lICBT VE9QX1NUQVRFX1NUQUxMX0NPVU5URVJfTUFTSwkJCSgweGZmIDw8IDApCj4gIAo+ICAjZGVmaW5l IF9NSVBJQV9JTlRSX1NUQVRfUkVHXzEJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGIw OTApCj4gICNkZWZpbmUgX01JUElDX0lOVFJfU1RBVF9SRUdfMQkJKGRldl9wcml2LT5taXBpX21t aW9fYmFzZSArIDB4Yjg5MCkKPiAtI2RlZmluZSBNSVBJX0lOVFJfU1RBVF9SRUdfMShwb3J0KQlf TUlQSV9QT1JUKHBvcnQsIFwKPiAtCQkJCV9NSVBJQV9JTlRSX1NUQVRfUkVHXzEsIF9NSVBJQ19J TlRSX1NUQVRfUkVHXzEpCj4gKyNkZWZpbmUgTUlQSV9JTlRSX1NUQVRfUkVHXzEocG9ydCkJX1JF R19NSVBJKHBvcnQsIF9NSVBJQV9JTlRSX1NUQVRfUkVHXzEsIF9NSVBJQ19JTlRSX1NUQVRfUkVH XzEpCj4gICNkZWZpbmUgX01JUElBX0lOVFJfRU5fUkVHXzEJCShkZXZfcHJpdi0+bWlwaV9tbWlv X2Jhc2UgKyAweGIwOTQpCj4gICNkZWZpbmUgX01JUElDX0lOVFJfRU5fUkVHXzEJCShkZXZfcHJp di0+bWlwaV9tbWlvX2Jhc2UgKyAweGI4OTQpCj4gLSNkZWZpbmUgTUlQSV9JTlRSX0VOX1JFR18x KHBvcnQpCV9NSVBJX1BPUlQocG9ydCwgX01JUElBX0lOVFJfRU5fUkVHXzEsIFwKPiAtCQkJCQlf TUlQSUNfSU5UUl9FTl9SRUdfMSkKPiArI2RlZmluZSBNSVBJX0lOVFJfRU5fUkVHXzEocG9ydCkJ X1JFR19NSVBJKHBvcnQsIF9NSVBJQV9JTlRSX0VOX1JFR18xLCBfTUlQSUNfSU5UUl9FTl9SRUdf MSkKPiAgI2RlZmluZSAgUlhfQ09OVEVOVElPTl9ERVRFQ1RFRAkJCQkoMSA8PCAwKQo+ICAKPiAg LyogWFhYOiBvbmx5IHBpcGUgQSA/IT8gKi8KPiBAQCAtNzkxNiw4ICs3ODU2LDcgQEAgZW51bSBz a2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gIAo+ICAjZGVmaW5lIF9NSVBJQV9DVFJMCQkJKGRldl9w cml2LT5taXBpX21taW9fYmFzZSArIDB4YjEwNCkKPiAgI2RlZmluZSBfTUlQSUNfQ1RSTAkJCShk ZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGI5MDQpCj4gLSNkZWZpbmUgTUlQSV9DVFJMKHBv cnQpCQkJX01JUElfUE9SVChwb3J0LCBfTUlQSUFfQ1RSTCwgXAo+IC0JCQkJCV9NSVBJQ19DVFJM KQo+ICsjZGVmaW5lIE1JUElfQ1RSTChwb3J0KQkJCV9SRUdfTUlQSShwb3J0LCBfTUlQSUFfQ1RS TCwgX01JUElDX0NUUkwpCj4gICNkZWZpbmUgIEVTQ0FQRV9DTE9DS19ESVZJREVSX1NISUZUCQkJ NSAvKiBBIG9ubHkgKi8KPiAgI2RlZmluZSAgRVNDQVBFX0NMT0NLX0RJVklERVJfTUFTSwkJCSgz IDw8IDUpCj4gICNkZWZpbmUgIEVTQ0FQRV9DTE9DS19ESVZJREVSXzEJCQkJKDAgPDwgNSkKPiBA QCAtNzkzMSwyMyArNzg3MCwyMCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgCj4g ICNkZWZpbmUgX01JUElBX0RBVEFfQUREUkVTUwkJKGRldl9wcml2LT5taXBpX21taW9fYmFzZSAr IDB4YjEwOCkKPiAgI2RlZmluZSBfTUlQSUNfREFUQV9BRERSRVNTCQkoZGV2X3ByaXYtPm1pcGlf bW1pb19iYXNlICsgMHhiOTA4KQo+IC0jZGVmaW5lIE1JUElfREFUQV9BRERSRVNTKHBvcnQpCQlf TUlQSV9QT1JUKHBvcnQsIF9NSVBJQV9EQVRBX0FERFJFU1MsIFwKPiAtCQkJCQlfTUlQSUNfREFU QV9BRERSRVNTKQo+ICsjZGVmaW5lIE1JUElfREFUQV9BRERSRVNTKHBvcnQpCQlfUkVHX01JUEko cG9ydCwgX01JUElBX0RBVEFfQUREUkVTUywgX01JUElDX0RBVEFfQUREUkVTUykKPiAgI2RlZmlu ZSAgREFUQV9NRU1fQUREUkVTU19TSElGVAkJCQk1Cj4gICNkZWZpbmUgIERBVEFfTUVNX0FERFJF U1NfTUFTSwkJCQkoMHg3ZmZmZmZmIDw8IDUpCj4gICNkZWZpbmUgIERBVEFfVkFMSUQJCQkJCSgx IDw8IDApCj4gIAo+ICAjZGVmaW5lIF9NSVBJQV9EQVRBX0xFTkdUSAkJKGRldl9wcml2LT5taXBp X21taW9fYmFzZSArIDB4YjEwYykKPiAgI2RlZmluZSBfTUlQSUNfREFUQV9MRU5HVEgJCShkZXZf cHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGI5MGMpCj4gLSNkZWZpbmUgTUlQSV9EQVRBX0xFTkdU SChwb3J0KQkJX01JUElfUE9SVChwb3J0LCBfTUlQSUFfREFUQV9MRU5HVEgsIFwKPiAtCQkJCQlf TUlQSUNfREFUQV9MRU5HVEgpCj4gKyNkZWZpbmUgTUlQSV9EQVRBX0xFTkdUSChwb3J0KQkJX1JF R19NSVBJKHBvcnQsIF9NSVBJQV9EQVRBX0xFTkdUSCwgX01JUElDX0RBVEFfTEVOR1RIKQo+ICAj ZGVmaW5lICBEQVRBX0xFTkdUSF9TSElGVAkJCQkwCj4gICNkZWZpbmUgIERBVEFfTEVOR1RIX01B U0sJCQkJKDB4ZmZmZmYgPDwgMCkKPiAgCj4gICNkZWZpbmUgX01JUElBX0NPTU1BTkRfQUREUkVT UwkJKGRldl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4YjExMCkKPiAgI2RlZmluZSBfTUlQSUNf Q09NTUFORF9BRERSRVNTCQkoZGV2X3ByaXYtPm1pcGlfbW1pb19iYXNlICsgMHhiOTEwKQo+IC0j ZGVmaW5lIE1JUElfQ09NTUFORF9BRERSRVNTKHBvcnQpCV9NSVBJX1BPUlQocG9ydCwgXAo+IC0J CQkJX01JUElBX0NPTU1BTkRfQUREUkVTUywgX01JUElDX0NPTU1BTkRfQUREUkVTUykKPiArI2Rl ZmluZSBNSVBJX0NPTU1BTkRfQUREUkVTUyhwb3J0KQlfUkVHX01JUEkocG9ydCwgX01JUElBX0NP TU1BTkRfQUREUkVTUywgX01JUElDX0NPTU1BTkRfQUREUkVTUykKPiAgI2RlZmluZSAgQ09NTUFO RF9NRU1fQUREUkVTU19TSElGVAkJCTUKPiAgI2RlZmluZSAgQ09NTUFORF9NRU1fQUREUkVTU19N QVNLCQkJKDB4N2ZmZmZmZiA8PCA1KQo+ICAjZGVmaW5lICBBVVRPX1BXR19FTkFCTEUJCQkJKDEg PDwgMikKPiBAQCAtNzk1NiwyMSArNzg5MiwxNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxz IHsKPiAgCj4gICNkZWZpbmUgX01JUElBX0NPTU1BTkRfTEVOR1RICQkoZGV2X3ByaXYtPm1pcGlf bW1pb19iYXNlICsgMHhiMTE0KQo+ICAjZGVmaW5lIF9NSVBJQ19DT01NQU5EX0xFTkdUSAkJKGRl dl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4YjkxNCkKPiAtI2RlZmluZSBNSVBJX0NPTU1BTkRf TEVOR1RIKHBvcnQpCV9NSVBJX1BPUlQocG9ydCwgX01JUElBX0NPTU1BTkRfTEVOR1RILCBcCj4g LQkJCQkJX01JUElDX0NPTU1BTkRfTEVOR1RIKQo+ICsjZGVmaW5lIE1JUElfQ09NTUFORF9MRU5H VEgocG9ydCkJX1JFR19NSVBJKHBvcnQsIF9NSVBJQV9DT01NQU5EX0xFTkdUSCwgX01JUElDX0NP TU1BTkRfTEVOR1RIKQo+ICAjZGVmaW5lICBDT01NQU5EX0xFTkdUSF9TSElGVChuKQkJCSg4ICog KG4pKSAvKiBuOiAwLi4uMyAqLwo+ICAjZGVmaW5lICBDT01NQU5EX0xFTkdUSF9NQVNLKG4pCQkJ CSgweGZmIDw8ICg4ICogKG4pKSkKPiAgCj4gICNkZWZpbmUgX01JUElBX1JFQURfREFUQV9SRVRV Uk4wCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGIxMTgpCj4gICNkZWZpbmUgX01JUElD X1JFQURfREFUQV9SRVRVUk4wCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGI5MTgpCj4g LSNkZWZpbmUgTUlQSV9SRUFEX0RBVEFfUkVUVVJOKHBvcnQsIG4pIFwKPiAtCShfTUlQSV9QT1JU KHBvcnQsIF9NSVBJQV9SRUFEX0RBVEFfUkVUVVJOMCwgX01JUElDX1JFQURfREFUQV9SRVRVUk4w KSBcCj4gLQkJCQkJKyA0ICogKG4pKSAvKiBuOiAwLi4uNyAqLwo+ICsjZGVmaW5lIE1JUElfUkVB RF9EQVRBX1JFVFVSTihwb3J0LCBuKSBfUkVHKF9NSVBJKHBvcnQsIF9NSVBJQV9SRUFEX0RBVEFf UkVUVVJOMCwgX01JUElDX1JFQURfREFUQV9SRVRVUk4wKSArIDQgKiAobikpIC8qIG46IDAuLi43 ICovCj4gIAo+ICAjZGVmaW5lIF9NSVBJQV9SRUFEX0RBVEFfVkFMSUQJCShkZXZfcHJpdi0+bWlw aV9tbWlvX2Jhc2UgKyAweGIxMzgpCj4gICNkZWZpbmUgX01JUElDX1JFQURfREFUQV9WQUxJRAkJ KGRldl9wcml2LT5taXBpX21taW9fYmFzZSArIDB4YjkzOCkKPiAtI2RlZmluZSBNSVBJX1JFQURf REFUQV9WQUxJRChwb3J0KQlfTUlQSV9QT1JUKHBvcnQsIFwKPiAtCQkJCV9NSVBJQV9SRUFEX0RB VEFfVkFMSUQsIF9NSVBJQ19SRUFEX0RBVEFfVkFMSUQpCj4gKyNkZWZpbmUgTUlQSV9SRUFEX0RB VEFfVkFMSUQocG9ydCkJX1JFR19NSVBJKHBvcnQsIF9NSVBJQV9SRUFEX0RBVEFfVkFMSUQsIF9N SVBJQ19SRUFEX0RBVEFfVkFMSUQpCj4gICNkZWZpbmUgIFJFQURfREFUQV9WQUxJRChuKQkJCQko MSA8PCAobikpCj4gIAo+ICAvKiBGb3IgVU1TIG9ubHkgKGRlcHJlY2F0ZWQpOiAqLwo+IEBAIC03 OTg2LDQgKzc5MTgsMjcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUg R0VOOV9WRUJPWF9NT0NTXzAJMHhjYjAwCS8qIFZpZGVvIE1PQ1MgYmFzZSByZWdpc3RlciovCj4g ICNkZWZpbmUgR0VOOV9CTFRfTU9DU18wCQkweGNjMDAJLyogQmxpdHRlciBNT0NTIGJhc2UgcmVn aXN0ZXIqLwo+ICAKPiArLyoKPiArKiBTS0wgQ1NSIHJlZ2lzdGVycyBmb3IgREM1IGFuZCBEQzYK PiArKi8KPiArI2RlZmluZSBDU1JfUFJPR1JBTShpKQkJCV9SRUcoMHg4MDAwMCArIChpKSAqIDQp Cj4gKyNkZWZpbmUgQ1NSX1NTUF9CQVNFX0FERFJfR0VOOQkJMHgwMDAwMkZDMAo+ICsjZGVmaW5l IENTUl9IVFBfQUREUl9TS0wJCTB4MDA1MDAwMzQKPiArI2RlZmluZSBDU1JfU1NQX0JBU0UJCQlf UkVHKDB4OEYwNzQpCj4gKyNkZWZpbmUgQ1NSX0hUUF9TS0wJCQlfUkVHKDB4OEYwMDQpCj4gKyNk ZWZpbmUgQ1NSX0xBU1RfV1JJVEUJCQlfUkVHKDB4OEYwMzQpCj4gKyNkZWZpbmUgQ1NSX0xBU1Rf V1JJVEVfVkFMVUUJCTB4YzAwM2I0MDAKPiArCj4gKy8qIEV4ZWNsaXN0cyByZWdzICovCj4gKyNk ZWZpbmUgUklOR19FTFNQKHJpbmcpCQkJCV9SRUcoKHJpbmcpLT5tbWlvX2Jhc2UgKyAweDIzMCkK PiArI2RlZmluZSBSSU5HX0VYRUNMSVNUX1NUQVRVU19MTyhyaW5nKQkJX1JFRygocmluZyktPm1t aW9fYmFzZSArIDB4MjM0KQo+ICsjZGVmaW5lIFJJTkdfRVhFQ0xJU1RfU1RBVFVTX0hJKHJpbmcp CQlfUkVHKChyaW5nKS0+bW1pb19iYXNlICsgMHgyMzQgKyA0KQo+ICsjZGVmaW5lIFJJTkdfQ09O VEVYVF9DT05UUk9MKHJpbmcpCQlfUkVHKChyaW5nKS0+bW1pb19iYXNlICsgMHgyNDQpCj4gKyNk ZWZpbmUJICBDVFhfQ1RSTF9JTkhJQklUX1NZTl9DVFhfU1dJVENICSgxIDw8IDMpCj4gKyNkZWZp bmUJICBDVFhfQ1RSTF9FTkdJTkVfQ1RYX1JFU1RPUkVfSU5ISUJJVAkoMSA8PCAwKQo+ICsjZGVm aW5lICAgQ1RYX0NUUkxfUlNfQ1RYX0VOQUJMRSAgICAgICAgICAgICAgICAoMSA8PCAxKQo+ICsj ZGVmaW5lIFJJTkdfQ09OVEVYVF9TVEFUVVNfQlVGX0xPKHJpbmcsIGkpCV9SRUcoKHJpbmcpLT5t bWlvX2Jhc2UgKyAweDM3MCArIChpKSAqIDgpCj4gKyNkZWZpbmUgUklOR19DT05URVhUX1NUQVRV U19CVUZfSEkocmluZywgaSkJX1JFRygocmluZyktPm1taW9fYmFzZSArIDB4MzcwICsgKGkpICog OCArIDQpCj4gKyNkZWZpbmUgUklOR19DT05URVhUX1NUQVRVU19QVFIocmluZykJCV9SRUcoKHJp bmcpLT5tbWlvX2Jhc2UgKyAweDNhMCkKPiArCj4gICNlbmRpZiAvKiBfSTkxNV9SRUdfSF8gKi8K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jCj4gaW5kZXggNTViZDA0Yy4uNjAyZDhhNCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMKPiBAQCAtMzUsNyArMzUsOCBAQAo+ICAjZGVm aW5lIGRldl90b19kcm1fbWlub3IoZCkgZGV2X2dldF9kcnZkYXRhKChkKSkKPiAgCj4gICNpZmRl ZiBDT05GSUdfUE0KPiAtc3RhdGljIHUzMiBjYWxjX3Jlc2lkZW5jeShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBjb25zdCB1MzIgcmVnKQo+ICtzdGF0aWMgdTMyIGNhbGNfcmVzaWRlbmN5KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCj4gKwkJCSAgc3RydWN0IGk5MTVfcmVnIHJlZykKPiAgewo+ICAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAg CXU2NCByYXdfdGltZTsgLyogMzJiIHZhbHVlIG1heSBvdmVyZmxvdyBkdXJpbmcgZml4ZWQgcG9p bnQgbWF0aCAqLwo+IEBAIC00OSw3ICs1MCw4IEBAIHN0YXRpYyB1MzIgY2FsY19yZXNpZGVuY3ko c3RydWN0IGRybV9kZXZpY2UgKmRldiwgY29uc3QgdTMyIHJlZykKPiAgCj4gIAkvKiBPbiBWTFYg YW5kIENIViwgcmVzaWRlbmN5IHRpbWUgaXMgaW4gQ1ogdW5pdHMgcmF0aGVyIHRoYW4gMS4yOHVz ICovCj4gIAlpZiAoSVNfVkFMTEVZVklFVyhkZXYpKSB7Cj4gLQkJdTMyIGNsa19yZWcsIGN6Y291 bnRfMzBuczsKPiArCQlzdHJ1Y3QgaTkxNV9yZWcgY2xrX3JlZzsKPiArCQl1MzIgY3pjb3VudF8z MG5zOwo+ICAKPiAgCQlpZiAoSVNfQ0hFUlJZVklFVyhkZXYpKQo+ICAJCQljbGtfcmVnID0gQ0hW X0NMS19DVEwxOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNl LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNlLmgKPiBpbmRleCBkMDk5M2JjLi45 YTVmYTg4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaAo+IEBAIC02NDQsNyArNjQ0 LDcgQEAgVFJBQ0VfRVZFTlQoaTkxNV9mbGlwX2NvbXBsZXRlLAo+ICApOwo+ICAKPiAgVFJBQ0Vf RVZFTlRfQ09ORElUSU9OKGk5MTVfcmVnX3J3LAo+IC0JVFBfUFJPVE8oYm9vbCB3cml0ZSwgdTMy IHJlZywgdTY0IHZhbCwgaW50IGxlbiwgYm9vbCB0cmFjZSksCj4gKwlUUF9QUk9UTyhib29sIHdy aXRlLCBzdHJ1Y3QgaTkxNV9yZWcgcmVnLCB1NjQgdmFsLCBpbnQgbGVuLCBib29sIHRyYWNlKSwK PiAgCj4gIAlUUF9BUkdTKHdyaXRlLCByZWcsIHZhbCwgbGVuLCB0cmFjZSksCj4gIAo+IEBAIC02 NTksNyArNjU5LDcgQEAgVFJBQ0VfRVZFTlRfQ09ORElUSU9OKGk5MTVfcmVnX3J3LAo+ICAKPiAg CVRQX2Zhc3RfYXNzaWduKAo+ICAJCV9fZW50cnktPnZhbCA9ICh1NjQpdmFsOwo+IC0JCV9fZW50 cnktPnJlZyA9IHJlZzsKPiArCQlfX2VudHJ5LT5yZWcgPSByZWcucmVnOwo+ICAJCV9fZW50cnkt PndyaXRlID0gd3JpdGU7Cj4gIAkJX19lbnRyeS0+bGVuID0gbGVuOwo+ICAJCSksCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV92Z3B1LmMKPiBpbmRleCA1ZWVlNzViLi4zMWVkYjY4IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV92Z3B1LmMKPiBAQCAtNjksMTMgKzY5LDEzIEBAIHZvaWQgaTkxNV9jaGVja192 Z3B1KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAlpZiAoIUlTX0hBU1dFTEwoZGV2KSkKPiAg CQlyZXR1cm47Cj4gIAo+IC0JbWFnaWMgPSByZWFkcShkZXZfcHJpdi0+cmVncyArIHZndGlmX3Jl ZyhtYWdpYykpOwo+ICsJbWFnaWMgPSByZWFkcShkZXZfcHJpdi0+cmVncyArIHZndGlmX3JlZyht YWdpYykucmVnKTsKPiAgCWlmIChtYWdpYyAhPSBWR1RfTUFHSUMpCj4gIAkJcmV0dXJuOwo+ICAK PiAgCXZlcnNpb24gPSBJTlRFTF9WR1RfSUZfVkVSU0lPTl9FTkNPREUoCj4gLQkJcmVhZHcoZGV2 X3ByaXYtPnJlZ3MgKyB2Z3RpZl9yZWcodmVyc2lvbl9tYWpvcikpLAo+IC0JCXJlYWR3KGRldl9w cml2LT5yZWdzICsgdmd0aWZfcmVnKHZlcnNpb25fbWlub3IpKSk7Cj4gKwkJcmVhZHcoZGV2X3By aXYtPnJlZ3MgKyB2Z3RpZl9yZWcodmVyc2lvbl9tYWpvcikucmVnKSwKPiArCQlyZWFkdyhkZXZf cHJpdi0+cmVncyArIHZndGlmX3JlZyh2ZXJzaW9uX21pbm9yKS5yZWcpKTsKPiAgCWlmICh2ZXJz aW9uICE9IElOVEVMX1ZHVF9JRl9WRVJTSU9OKSB7Cj4gIAkJRFJNX0lORk8oIlZHVCBpbnRlcmZh Y2UgdmVyc2lvbiBtaXNtYXRjaCFcbiIpOwo+ICAJCXJldHVybjsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3ZncHUuaAo+IGluZGV4IDIxYzk3ZjQuLjI1ZDQ4MjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV92Z3B1LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3ZncHUuaAo+IEBAIC0xMDgsNyArMTA4LDcgQEAgc3RydWN0IHZndF9pZiB7Cj4gIH0gX19wYWNr ZWQ7Cj4gIAo+ICAjZGVmaW5lIHZndGlmX3JlZyh4KSBcCj4gLQkoVkdUX1BWSU5GT19QQUdFICsg KGxvbmcpJigoc3RydWN0IHZndF9pZiAqKU5VTEwpLT54KQo+ICsJX1JFRygoVkdUX1BWSU5GT19Q QUdFICsgKGxvbmcpJigoc3RydWN0IHZndF9pZiAqKU5VTEwpLT54KSkKPiAgCj4gIC8qIHZHUFUg ZGlzcGxheSBzdGF0dXMgdG8gYmUgdXNlZCBieSB0aGUgaG9zdCBzaWRlICovCj4gICNkZWZpbmUg VkdUX0RSVl9ESVNQTEFZX05PVF9SRUFEWSAwCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2F1ZGlvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5j Cj4gaW5kZXggZTM1OTk3ZS4uMTk3MTFmNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9hdWRpby5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVk aW8uYwo+IEBAIC05MSw5ICs5MSw5IEBAIHN0YXRpYyB1MzIgYXVkaW9fY29uZmlnX2hkbWlfcGl4 ZWxfY2xvY2soc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIH0KPiAgCj4gIHN0YXRp YyBib29sIGludGVsX2VsZF91cHRvZGF0ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+IC0JCQkgICAgICAgaW50IHJlZ19lbGR2LCB1aW50MzJfdCBiaXRzX2VsZHYsCj4gLQkJCSAg ICAgICBpbnQgcmVnX2VsZGEsIHVpbnQzMl90IGJpdHNfZWxkYSwKPiAtCQkJICAgICAgIGludCBy ZWdfZWRpZCkKPiArCQkJICAgICAgIHN0cnVjdCBpOTE1X3JlZyByZWdfZWxkdiwgdWludDMyX3Qg Yml0c19lbGR2LAo+ICsJCQkgICAgICAgc3RydWN0IGk5MTVfcmVnIHJlZ19lbGRhLCB1aW50MzJf dCBiaXRzX2VsZGEsCj4gKwkJCSAgICAgICBzdHJ1Y3QgaTkxNV9yZWcgcmVnX2VkaWQpCj4gIHsK PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGNvbm5lY3Rvci0+ZGV2LT5k ZXZfcHJpdmF0ZTsKPiAgCXVpbnQ4X3QgKmVsZCA9IGNvbm5lY3Rvci0+ZWxkOwo+IEBAIC0yNjQs OCArMjY0LDcgQEAgc3RhdGljIHZvaWQgaWxrX2F1ZGlvX2NvZGVjX2Rpc2FibGUoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0 LT5wb3J0Owo+ICAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+ICAJdWludDMy X3QgdG1wLCBlbGR2Owo+IC0JaW50IGF1ZF9jb25maWc7Cj4gLQlpbnQgYXVkX2NudHJsX3N0MjsK PiArCXN0cnVjdCBpOTE1X3JlZyBhdWRfY29uZmlnLCBhdWRfY250cmxfc3QyOwo+ICAKPiAgCURS TV9ERUJVR19LTVMoIkRpc2FibGUgYXVkaW8gY29kZWMgb24gcG9ydCAlYywgcGlwZSAlY1xuIiwK PiAgCQkgICAgICBwb3J0X25hbWUocG9ydCksIHBpcGVfbmFtZShwaXBlKSk7Cj4gQEAgLTMxNiwx MCArMzE1LDcgQEAgc3RhdGljIHZvaWQgaWxrX2F1ZGlvX2NvZGVjX2VuYWJsZShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJdWludDMyX3QgZWxkdjsKPiAgCXVpbnQzMl90IHRt cDsKPiAgCWludCBsZW4sIGk7Cj4gLQlpbnQgaGRtaXdfaGRtaWVkaWQ7Cj4gLQlpbnQgYXVkX2Nv bmZpZzsKPiAtCWludCBhdWRfY250bF9zdDsKPiAtCWludCBhdWRfY250cmxfc3QyOwo+ICsJc3Ry dWN0IGk5MTVfcmVnIGhkbWl3X2hkbWllZGlkLCBhdWRfY29uZmlnLCBhdWRfY250bF9zdCwgYXVk X2NudHJsX3N0MjsKPiAgCj4gIAlEUk1fREVCVUdfS01TKCJFbmFibGUgYXVkaW8gY29kZWMgb24g cG9ydCAlYywgcGlwZSAlYywgJXUgYnl0ZXMgRUxEXG4iLAo+ICAJCSAgICAgIHBvcnRfbmFtZShw b3J0KSwgcGlwZV9uYW1lKHBpcGUpLCBkcm1fZWxkX3NpemUoZWxkKSk7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfY3J0LmMKPiBpbmRleCAwODZiNWM1Li41ODg3MTRjIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfY3J0LmMKPiBAQCAtNTAsNyArNTAsNyBAQCBzdHJ1Y3QgaW50ZWxfY3J0IHsKPiAgCSAq IGVuY29kZXIncyBlbmFibGUvZGlzYWJsZSBjYWxsYmFja3MgKi8KPiAgCXN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvcjsKPiAgCWJvb2wgZm9yY2VfaG90cGx1Z19yZXF1aXJlZDsKPiAt CXUzMiBhZHBhX3JlZzsKPiArCXN0cnVjdCBpOTE1X3JlZyBhZHBhX3JlZzsKPiAgfTsKPiAgCj4g IHN0YXRpYyBzdHJ1Y3QgaW50ZWxfY3J0ICppbnRlbF9lbmNvZGVyX3RvX2NydChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKPiBAQCAtNTAyLDEyICs1MDIsOCBAQCBpbnRlbF9jcnRfbG9h ZF9kZXRlY3Qoc3RydWN0IGludGVsX2NydCAqY3J0KQo+ICAJdWludDMyX3QgdnNhbXBsZTsKPiAg CXVpbnQzMl90IHZibGFuaywgdmJsYW5rX3N0YXJ0LCB2YmxhbmtfZW5kOwo+ICAJdWludDMyX3Qg ZHNsOwo+IC0JdWludDMyX3QgYmNscnBhdF9yZWc7Cj4gLQl1aW50MzJfdCB2dG90YWxfcmVnOwo+ IC0JdWludDMyX3QgdmJsYW5rX3JlZzsKPiAtCXVpbnQzMl90IHZzeW5jX3JlZzsKPiAtCXVpbnQz Ml90IHBpcGVjb25mX3JlZzsKPiAtCXVpbnQzMl90IHBpcGVfZHNsX3JlZzsKPiArCXN0cnVjdCBp OTE1X3JlZyBiY2xycGF0X3JlZywgdnRvdGFsX3JlZywKPiArCQl2YmxhbmtfcmVnLCB2c3luY19y ZWcsIHBpcGVjb25mX3JlZywgcGlwZV9kc2xfcmVnOwo+ICAJdWludDhfdAlzdDAwOwo+ICAJZW51 bSBkcm1fY29ubmVjdG9yX3N0YXR1cyBzdGF0dXM7Cj4gIAo+IEBAIC01NDAsNyArNTM2LDcgQEAg aW50ZWxfY3J0X2xvYWRfZGV0ZWN0KHN0cnVjdCBpbnRlbF9jcnQgKmNydCkKPiAgCQkvKiBXYWl0 IGZvciBuZXh0IFZibGFuayB0byBzdWJzdGl0dWUKPiAgCQkgKiBib3JkZXIgY29sb3IgZm9yIENv bG9yIGluZm8gKi8KPiAgCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBwaXBlKTsKPiAtCQlz dDAwID0gSTkxNV9SRUFEOChWR0FfTVNSX1dSSVRFKTsKPiArCQlzdDAwID0gSTkxNV9SRUFEOChf VkdBX01TUl9XUklURSk7Cj4gIAkJc3RhdHVzID0gKChzdDAwICYgKDEgPDwgNCkpICE9IDApID8K PiAgCQkJY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQgOgo+ICAJCQljb25uZWN0b3Jfc3RhdHVz X2Rpc2Nvbm5lY3RlZDsKPiBAQCAtNTg1LDcgKzU4MSw3IEBAIGludGVsX2NydF9sb2FkX2RldGVj dChzdHJ1Y3QgaW50ZWxfY3J0ICpjcnQpCj4gIAkJZG8gewo+ICAJCQljb3VudCsrOwo+ICAJCQkv KiBSZWFkIHRoZSBTVDAwIFZHQSBzdGF0dXMgcmVnaXN0ZXIgKi8KPiAtCQkJc3QwMCA9IEk5MTVf UkVBRDgoVkdBX01TUl9XUklURSk7Cj4gKwkJCXN0MDAgPSBJOTE1X1JFQUQ4KF9WR0FfTVNSX1dS SVRFKTsKPiAgCQkJaWYgKHN0MDAgJiAoMSA8PCA0KSkKPiAgCQkJCWRldGVjdCsrOwo+ICAJCX0g d2hpbGUgKChJOTE1X1JFQUQocGlwZV9kc2xfcmVnKSA9PSBkc2wpKTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3NyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9jc3IuYwo+IGluZGV4IDgxNzQzMzUuLjRmYTAyNmVmIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Nzci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfY3NyLmMKPiBAQCAtNDUsMTYgKzQ1LDYgQEAKPiAgCj4gIE1PRFVMRV9GSVJNV0FSRShJ OTE1X0NTUl9TS0wpOwo+ICAKPiAtLyoKPiAtKiBTS0wgQ1NSIHJlZ2lzdGVycyBmb3IgREM1IGFu ZCBEQzYKPiAtKi8KPiAtI2RlZmluZSBDU1JfUFJPR1JBTShpKQkJCSgweDgwMDAwICsgKGkpICog NCkKPiAtI2RlZmluZSBDU1JfU1NQX0JBU0VfQUREUl9HRU45CQkweDAwMDAyRkMwCj4gLSNkZWZp bmUgQ1NSX0hUUF9BRERSX1NLTAkJMHgwMDUwMDAzNAo+IC0jZGVmaW5lIENTUl9TU1BfQkFTRQkJ CTB4OEYwNzQKPiAtI2RlZmluZSBDU1JfSFRQX1NLTAkJCTB4OEYwMDQKPiAtI2RlZmluZSBDU1Jf TEFTVF9XUklURQkJCTB4OEYwMzQKPiAtI2RlZmluZSBDU1JfTEFTVF9XUklURV9WQUxVRQkJMHhj MDAzYjQwMAo+ICAvKiBNTUlPIGFkZHJlc3MgcmFuZ2UgZm9yIENTUiBwcm9ncmFtICgweDgwMDAw IC0gMHg4MkZGRikgKi8KPiAgI2RlZmluZSBDU1JfTUFYX0ZXX1NJWkUJCQkweDJGRkYKPiAgI2Rl ZmluZSBDU1JfREVGQVVMVF9GV19PRkZTRVQJCTB4RkZGRkZGRkYKPiBAQCAtMzU1LDcgKzM0NSw3 IEBAIHN0YXRpYyB2b2lkIGZpbmlzaF9jc3JfbG9hZChjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3 LCB2b2lkICpjb250ZXh0KQo+ICAJCQkJCQlkbWNfaGVhZGVyLT5tbWlvYWRkcltpXSk7Cj4gIAkJ CWdvdG8gb3V0Owo+ICAJCX0KPiAtCQljc3ItPm1taW9hZGRyW2ldID0gZG1jX2hlYWRlci0+bW1p b2FkZHJbaV07Cj4gKwkJY3NyLT5tbWlvYWRkcltpXS5yZWcgPSBkbWNfaGVhZGVyLT5tbWlvYWRk cltpXTsKPiAgCQljc3ItPm1taW9kYXRhW2ldID0gZG1jX2hlYWRlci0+bW1pb2RhdGFbaV07Cj4g IAl9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gaW5kZXggZmI0NTZhNC4uYWI3YzE1 NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gQEAgLTMyOSw3ICszMjksNyBAQCBl bnVtIHBvcnQgaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoc3RydWN0IGludGVsX2VuY29kZXIg KmludGVsX2VuY29kZXIpCj4gIHN0YXRpYyBib29sCj4gIGludGVsX2RpZ19wb3J0X3N1cHBvcnRz X2hkbWkoY29uc3Qgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCj4g IHsKPiAtCXJldHVybiBpbnRlbF9kaWdfcG9ydC0+aGRtaS5oZG1pX3JlZzsKPiArCXJldHVybiBp bnRlbF9kaWdfcG9ydC0+aGRtaS5oZG1pX3JlZy5yZWc7Cj4gIH0KPiAgCj4gIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZGRpX2J1Zl90cmFucyAqc2tsX2dldF9idWZfdHJhbnNfZHAoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiBAQCAtNTU4LDEyICs1NTgsMTEgQEAgdm9pZCBpbnRlbF9wcmVwYXJlX2Rk aShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICBzdGF0aWMgdm9pZCBpbnRlbF93YWl0X2RkaV9i dWZfaWRsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQkgICAgZW51 bSBwb3J0IHBvcnQpCj4gIHsKPiAtCXVpbnQzMl90IHJlZyA9IERESV9CVUZfQ1RMKHBvcnQpOwo+ ICAJaW50IGk7Cj4gIAo+ICAJZm9yIChpID0gMDsgaSA8IDE2OyBpKyspIHsKPiAgCQl1ZGVsYXko MSk7Cj4gLQkJaWYgKEk5MTVfUkVBRChyZWcpICYgRERJX0JVRl9JU19JRExFKQo+ICsJCWlmIChJ OTE1X1JFQUQoRERJX0JVRl9DVEwocG9ydCkpICYgRERJX0JVRl9JU19JRExFKQo+ICAJCQlyZXR1 cm47Cj4gIAl9Cj4gIAlEUk1fRVJST1IoIlRpbWVvdXQgd2FpdGluZyBmb3IgRERJIEJVRiAlYyBp ZGxlIGJpdFxuIiwgcG9ydF9uYW1lKHBvcnQpKTsKPiBAQCAtOTEzLDcgKzkxMiw4IEBAIHN0YXRp YyB2b2lkIGhzd193cnBsbF91cGRhdGVfcm5wKHVpbnQ2NF90IGZyZXEyaywgdW5zaWduZWQgYnVk Z2V0LAo+ICAJLyogT3RoZXJ3aXNlIGEgPCBjICYmIGIgPj0gZCwgZG8gbm90aGluZyAqLwo+ICB9 Cj4gIAo+IC1zdGF0aWMgaW50IGhzd19kZGlfY2FsY193cnBsbF9saW5rKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgaW50IHJlZykKPiArc3RhdGljIGludCBoc3dfZGRpX2NhbGNf d3JwbGxfbGluayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJCQkgICBz dHJ1Y3QgaTkxNV9yZWcgcmVnKQo+ICB7Cj4gIAlpbnQgcmVmY2xrID0gTENfRlJFUTsKPiAgCWlu dCBuLCBwLCByOwo+IEBAIC05NDksNyArOTQ5LDcgQEAgc3RhdGljIGludCBoc3dfZGRpX2NhbGNf d3JwbGxfbGluayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGludCByZWcpCj4g IHN0YXRpYyBpbnQgc2tsX2NhbGNfd3JwbGxfbGluayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gIAkJCSAgICAgICB1aW50MzJfdCBkcGxsKQo+ICB7Cj4gLQl1aW50MzJfdCBj ZmdjcjFfcmVnLCBjZmdjcjJfcmVnOwo+ICsJc3RydWN0IGk5MTVfcmVnIGNmZ2NyMV9yZWcsIGNm Z2NyMl9yZWc7Cj4gIAl1aW50MzJfdCBjZmdjcjFfdmFsLCBjZmdjcjJfdmFsOwo+ICAJdWludDMy X3QgcDAsIHAxLCBwMiwgZGNvX2ZyZXE7Cj4gIAo+IEBAIC0xOTEyLDcgKzE5MTIsNyBAQCB2b2lk IGludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rlcl9mdW5jKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykK PiAgdm9pZCBpbnRlbF9kZGlfZGlzYWJsZV90cmFuc2NvZGVyX2Z1bmMoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJICAgICAgIGVudW0gdHJhbnNjb2RlciBjcHVfdHJh bnNjb2RlcikKPiAgewo+IC0JdWludDMyX3QgcmVnID0gVFJBTlNfRERJX0ZVTkNfQ1RMKGNwdV90 cmFuc2NvZGVyKTsKPiArCXN0cnVjdCBpOTE1X3JlZyByZWcgPSBUUkFOU19ERElfRlVOQ19DVEwo Y3B1X3RyYW5zY29kZXIpOwo+ICAJdWludDMyX3QgdmFsID0gSTkxNV9SRUFEKHJlZyk7Cj4gIAo+ ICAJdmFsICY9IH4oVFJBTlNfRERJX0ZVTkNfRU5BQkxFIHwgVFJBTlNfRERJX1BPUlRfTUFTSyB8 IFRSQU5TX0RESV9EUF9WQ19QQVlMT0FEX0FMTE9DKTsKPiBAQCAtMjA1NSw3ICsyMDU1LDcgQEAg c3RhdGljIHZvaWQgc2tsX2RkaV9zZXRfaWJvb3N0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUz MiBsZXZlbCwKPiAgCXVpbnQ4X3QgaWJvb3N0Owo+ICAJdWludDhfdCBkcF9pYm9vc3QsIGhkbWlf aWJvb3N0Owo+ICAJaW50IG5fZW50cmllczsKPiAtCXUzMiByZWc7Cj4gKwl1MzIgdmFsOwo+ICAK PiAgCS8qIFZCVCBtYXkgb3ZlcnJpZGUgc3RhbmRhcmQgYm9vc3QgdmFsdWVzICovCj4gIAlkcF9p Ym9vc3QgPSBkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0X2luZm9bcG9ydF0uZHBfYm9vc3RfbGV2ZWw7 Cj4gQEAgLTIwOTIsMTYgKzIwOTIsMTYgQEAgc3RhdGljIHZvaWQgc2tsX2RkaV9zZXRfaWJvb3N0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBsZXZlbCwKPiAgCQlyZXR1cm47Cj4gIAl9Cj4g IAo+IC0JcmVnID0gSTkxNV9SRUFEKERJU1BJT19DUl9UWF9CTVVfQ1IwKTsKPiAtCXJlZyAmPSB+ QkFMQU5DRV9MRUdfTUFTSyhwb3J0KTsKPiAtCXJlZyAmPSB+KDEgPDwgKEJBTEFOQ0VfTEVHX0RJ U0FCTEVfU0hJRlQgKyBwb3J0KSk7Cj4gKwl2YWwgPSBJOTE1X1JFQUQoRElTUElPX0NSX1RYX0JN VV9DUjApOwo+ICsJdmFsICY9IH5CQUxBTkNFX0xFR19NQVNLKHBvcnQpOwo+ICsJdmFsICY9IH4o MSA8PCAoQkFMQU5DRV9MRUdfRElTQUJMRV9TSElGVCArIHBvcnQpKTsKPiAgCj4gIAlpZiAoaWJv b3N0KQo+IC0JCXJlZyB8PSBpYm9vc3QgPDwgQkFMQU5DRV9MRUdfU0hJRlQocG9ydCk7Cj4gKwkJ dmFsIHw9IGlib29zdCA8PCBCQUxBTkNFX0xFR19TSElGVChwb3J0KTsKPiAgCWVsc2UKPiAtCQly ZWcgfD0gMSA8PCAoQkFMQU5DRV9MRUdfRElTQUJMRV9TSElGVCArIHBvcnQpOwo+ICsJCXZhbCB8 PSAxIDw8IChCQUxBTkNFX0xFR19ESVNBQkxFX1NISUZUICsgcG9ydCk7Cj4gIAo+IC0JSTkxNV9X UklURShESVNQSU9fQ1JfVFhfQk1VX0NSMCwgcmVnKTsKPiArCUk5MTVfV1JJVEUoRElTUElPX0NS X1RYX0JNVV9DUjAsIHZhbCk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGJ4dF9kZGlfdnN3aW5n X3NlcXVlbmNlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBsZXZlbCwKPiBAQCAtMjQ3Miw3 ICsyNDcyLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBza2xfZGRpX3BsbF9uYW1lc1td ID0gewo+ICB9Owo+ICAKPiAgc3RydWN0IHNrbF9kcGxsX3JlZ3Mgewo+IC0JdTMyIGN0bCwgY2Zn Y3IxLCBjZmdjcjI7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgY3RsLCBjZmdjcjEsIGNmZ2NyMjsKPiAg fTsKPiAgCj4gIC8qIHRoaXMgYXJyYXkgaXMgaW5kZXhlZCBieSB0aGUgKnNoYXJlZCogcGxsIGlk ICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDE2ZTIwNGQuLjdi YzZjOTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTEwNDgs NyArMTA0OCw3IEBAIGVudW0gdHJhbnNjb2RlciBpbnRlbF9waXBlX3RvX2NwdV90cmFuc2NvZGVy KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgc3RhdGljIGJvb2wgcGlwZV9k c2xfc3RvcHBlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBpcGUgcGlwZSkKPiAgewo+ ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiAtCXUzMiByZWcgPSBQSVBFRFNMKHBpcGUpOwo+ICsJc3RydWN0IGk5MTVfcmVnIHJlZyA9IFBJ UEVEU0wocGlwZSk7Cj4gIAl1MzIgbGluZTEsIGxpbmUyOwo+ICAJdTMyIGxpbmVfbWFzazsKPiAg Cj4gQEAgLTEwODgsNyArMTA4OCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3dhaXRfZm9yX3BpcGVf b2ZmKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5w aXBlOwo+ICAKPiAgCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA0KSB7Cj4gLQkJaW50IHJl ZyA9IFBJUEVDT05GKGNwdV90cmFuc2NvZGVyKTsKPiArCQlzdHJ1Y3QgaTkxNV9yZWcgcmVnID0g UElQRUNPTkYoY3B1X3RyYW5zY29kZXIpOwo+ICAKPiAgCQkvKiBXYWl0IGZvciB0aGUgUGlwZSBT dGF0ZSB0byBnbyBvZmYgKi8KPiAgCQlpZiAod2FpdF9mb3IoKEk5MTVfUkVBRChyZWcpICYgSTk2 NV9QSVBFQ09ORl9BQ1RJVkUpID09IDAsCj4gQEAgLTEyMzgsNyArMTIzOCw3IEBAIHZvaWQgYXNz ZXJ0X3BhbmVsX3VubG9ja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAg CQkJICAgZW51bSBwaXBlIHBpcGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBk ZXZfcHJpdi0+ZGV2Owo+IC0JaW50IHBwX3JlZzsKPiArCXN0cnVjdCBpOTE1X3JlZyBwcF9yZWc7 Cj4gIAl1MzIgdmFsOwo+ICAJZW51bSBwaXBlIHBhbmVsX3BpcGUgPSBQSVBFX0E7Cj4gIAlib29s IGxvY2tlZCA9IHRydWU7Cj4gQEAgLTE0MzMsOCArMTQzMyw3IEBAIHN0YXRpYyBib29sIGRwX3Bp cGVfZW5hYmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJcmV0dXJu IGZhbHNlOwo+ICAKPiAgCWlmIChIQVNfUENIX0NQVChkZXZfcHJpdi0+ZGV2KSkgewo+IC0JCXUz Mgl0cmFuc19kcF9jdGxfcmVnID0gVFJBTlNfRFBfQ1RMKHBpcGUpOwo+IC0JCXUzMgl0cmFuc19k cF9jdGwgPSBJOTE1X1JFQUQodHJhbnNfZHBfY3RsX3JlZyk7Cj4gKwkJdTMyIHRyYW5zX2RwX2N0 bCA9IEk5MTVfUkVBRChUUkFOU19EUF9DVEwocGlwZSkpOwo+ICAJCWlmICgodHJhbnNfZHBfY3Rs ICYgVFJBTlNfRFBfUE9SVF9TRUxfTUFTSykgIT0gcG9ydF9zZWwpCj4gIAkJCXJldHVybiBmYWxz ZTsKPiAgCX0gZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhkZXZfcHJpdi0+ZGV2KSkgewo+IEBAIC0x NDk4LDEyICsxNDk3LDEzIEBAIHN0YXRpYyBib29sIGFkcGFfcGlwZV9lbmFibGVkKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgYXNzZXJ0 X3BjaF9kcF9kaXNhYmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gLQkJ CQkgICBlbnVtIHBpcGUgcGlwZSwgaW50IHJlZywgdTMyIHBvcnRfc2VsKQo+ICsJCQkJICAgZW51 bSBwaXBlIHBpcGUsIHN0cnVjdCBpOTE1X3JlZyByZWcsCj4gKwkJCQkgICB1MzIgcG9ydF9zZWwp Cj4gIHsKPiAgCXUzMiB2YWwgPSBJOTE1X1JFQUQocmVnKTsKPiAgCUk5MTVfU1RBVEVfV0FSTihk cF9waXBlX2VuYWJsZWQoZGV2X3ByaXYsIHBpcGUsIHBvcnRfc2VsLCB2YWwpLAo+ICAJICAgICAi UENIIERQICgweCUwOHgpIGVuYWJsZWQgb24gdHJhbnNjb2RlciAlYywgc2hvdWxkIGJlIGRpc2Fi bGVkXG4iLAo+IC0JICAgICByZWcsIHBpcGVfbmFtZShwaXBlKSk7Cj4gKwkgICAgIHJlZy5yZWcs IHBpcGVfbmFtZShwaXBlKSk7Cj4gIAo+ICAJSTkxNV9TVEFURV9XQVJOKEhBU19QQ0hfSUJYKGRl dl9wcml2LT5kZXYpICYmICh2YWwgJiBEUF9QT1JUX0VOKSA9PSAwCj4gIAkgICAgICYmICh2YWwg JiBEUF9QSVBFQl9TRUxFQ1QpLAo+IEBAIC0xNTExLDEyICsxNTExLDEyIEBAIHN0YXRpYyB2b2lk IGFzc2VydF9wY2hfZHBfZGlzYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBhc3NlcnRfcGNoX2hkbWlfZGlzYWJsZWQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IC0JCQkJICAgICBlbnVtIHBpcGUgcGlwZSwg aW50IHJlZykKPiArCQkJCSAgICAgZW51bSBwaXBlIHBpcGUsIHN0cnVjdCBpOTE1X3JlZyByZWcp Cj4gIHsKPiAgCXUzMiB2YWwgPSBJOTE1X1JFQUQocmVnKTsKPiAgCUk5MTVfU1RBVEVfV0FSTiho ZG1pX3BpcGVfZW5hYmxlZChkZXZfcHJpdiwgcGlwZSwgdmFsKSwKPiAgCSAgICAgIlBDSCBIRE1J ICgweCUwOHgpIGVuYWJsZWQgb24gdHJhbnNjb2RlciAlYywgc2hvdWxkIGJlIGRpc2FibGVkXG4i LAo+IC0JICAgICByZWcsIHBpcGVfbmFtZShwaXBlKSk7Cj4gKwkgICAgIHJlZy5yZWcsIHBpcGVf bmFtZShwaXBlKSk7Cj4gIAo+ICAJSTkxNV9TVEFURV9XQVJOKEhBU19QQ0hfSUJYKGRldl9wcml2 LT5kZXYpICYmICh2YWwgJiBTRFZPX0VOQUJMRSkgPT0gMAo+ICAJICAgICAmJiAodmFsICYgU0RW T19QSVBFX0JfU0VMRUNUKSwKPiBAQCAtMTU1Miw3ICsxNTUyLDcgQEAgc3RhdGljIHZvaWQgdmx2 X2VuYWJsZV9wbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gIHsKPiAgCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQlpbnQgcmVnID0gRFBMTChjcnRjLT5w aXBlKTsKPiArCXN0cnVjdCBpOTE1X3JlZyByZWcgPSBEUExMKGNydGMtPnBpcGUpOwo+ICAJdTMy IGRwbGwgPSBwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZS5kcGxsOwo+ICAKPiAgCWFzc2VydF9w aXBlX2Rpc2FibGVkKGRldl9wcml2LCBjcnRjLT5waXBlKTsKPiBAQCAtMTY0MSw3ICsxNjQxLDcg QEAgc3RhdGljIHZvaWQgaTl4eF9lbmFibGVfcGxsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0JaW50 IHJlZyA9IERQTEwoY3J0Yy0+cGlwZSk7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgcmVnID0gRFBMTChj cnRjLT5waXBlKTsKPiAgCXUzMiBkcGxsID0gY3J0Yy0+Y29uZmlnLT5kcGxsX2h3X3N0YXRlLmRw bGw7Cj4gIAo+ICAJYXNzZXJ0X3BpcGVfZGlzYWJsZWQoZGV2X3ByaXYsIGNydGMtPnBpcGUpOwo+ IEBAIC0xNzgxLDcgKzE3ODEsNyBAQCB2b2lkIHZsdl93YWl0X3BvcnRfcmVhZHkoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkgdW5zaWduZWQgaW50IGV4cGVjdGVkX21h c2spCj4gIHsKPiAgCXUzMiBwb3J0X21hc2s7Cj4gLQlpbnQgZHBsbF9yZWc7Cj4gKwlzdHJ1Y3Qg aTkxNV9yZWcgZHBsbF9yZWc7Cj4gIAo+ICAJc3dpdGNoIChkcG9ydC0+cG9ydCkgewo+ICAJY2Fz ZSBQT1JUX0I6Cj4gQEAgLTE5MDYsNyArMTkwNiw4IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2Vu YWJsZV9wY2hfdHJhbnNjb2RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4g IAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsKPiAgCXN0cnVjdCBkcm1f Y3J0YyAqY3J0YyA9IGRldl9wcml2LT5waXBlX3RvX2NydGNfbWFwcGluZ1twaXBlXTsKPiAgCXN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAtCXVp bnQzMl90IHJlZywgdmFsLCBwaXBlY29uZl92YWw7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgcmVnOwo+ ICsJdWludDMyX3QgdmFsLCBwaXBlY29uZl92YWw7Cj4gIAo+ICAJLyogUENIIG9ubHkgYXZhaWxh YmxlIG9uIElMSysgKi8KPiAgCUJVR19PTighSEFTX1BDSF9TUExJVChkZXYpKTsKPiBAQCAtMTk5 NSw3ICsxOTk2LDggQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfZGlzYWJsZV9wY2hfdHJhbnNjb2Rl cihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQkJICAgIGVudW0gcGlw ZSBwaXBlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsK PiAtCXVpbnQzMl90IHJlZywgdmFsOwo+ICsJc3RydWN0IGk5MTVfcmVnIHJlZzsKPiArCXVpbnQz Ml90IHZhbDsKPiAgCj4gIAkvKiBGREkgcmVsaWVzIG9uIHRoZSB0cmFuc2NvZGVyICovCj4gIAlh c3NlcnRfZmRpX3R4X2Rpc2FibGVkKGRldl9wcml2LCBwaXBlKTsKPiBAQCAtMjA1Myw3ICsyMDU1 LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX3BpcGUoc3RydWN0IGludGVsX2NydGMgKmNy dGMpCj4gIAllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBpbnRlbF9waXBlX3RvX2Nw dV90cmFuc2NvZGVyKGRldl9wcml2LAo+ICAJCQkJCQkJCSAgICAgIHBpcGUpOwo+ICAJZW51bSBw aXBlIHBjaF90cmFuc2NvZGVyOwo+IC0JaW50IHJlZzsKPiArCXN0cnVjdCBpOTE1X3JlZyByZWc7 Cj4gIAl1MzIgdmFsOwo+ICAKPiAgCURSTV9ERUJVR19LTVMoImVuYWJsaW5nIHBpcGUgJWNcbiIs IHBpcGVfbmFtZShwaXBlKSk7Cj4gQEAgLTIxMTQsNyArMjExNiw2IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2Rpc2FibGVfcGlwZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGNydGMtPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKPiAg CWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IGNydGMtPmNvbmZpZy0+Y3B1X3RyYW5z Y29kZXI7Cj4gIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7Cj4gLQlpbnQgcmVnOwo+ICAJ dTMyIHZhbDsKPiAgCj4gIAlEUk1fREVCVUdfS01TKCJkaXNhYmxpbmcgcGlwZSAlY1xuIiwgcGlw ZV9uYW1lKHBpcGUpKTsKPiBAQCAtMjEyNyw4ICsyMTI4LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxf ZGlzYWJsZV9waXBlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICAJYXNzZXJ0X2N1cnNvcl9k aXNhYmxlZChkZXZfcHJpdiwgcGlwZSk7Cj4gIAlhc3NlcnRfc3ByaXRlc19kaXNhYmxlZChkZXZf cHJpdiwgcGlwZSk7Cj4gIAo+IC0JcmVnID0gUElQRUNPTkYoY3B1X3RyYW5zY29kZXIpOwo+IC0J dmFsID0gSTkxNV9SRUFEKHJlZyk7Cj4gKwl2YWwgPSBJOTE1X1JFQUQoUElQRUNPTkYoY3B1X3Ry YW5zY29kZXIpKTsKPiAgCWlmICgodmFsICYgUElQRUNPTkZfRU5BQkxFKSA9PSAwKQo+ICAJCXJl dHVybjsKPiAgCj4gQEAgLTIxNDQsNyArMjE0NCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rpc2Fi bGVfcGlwZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCSAgICAhKHBpcGUgPT0gUElQRV9C ICYmIGRldl9wcml2LT5xdWlya3MgJiBRVUlSS19QSVBFQl9GT1JDRSkpCj4gIAkJdmFsICY9IH5Q SVBFQ09ORl9FTkFCTEU7Cj4gIAo+IC0JSTkxNV9XUklURShyZWcsIHZhbCk7Cj4gKwlJOTE1X1dS SVRFKFBJUEVDT05GKGNwdV90cmFuc2NvZGVyKSwgdmFsKTsKPiAgCWlmICgodmFsICYgUElQRUNP TkZfRU5BQkxFKSA9PSAwKQo+ICAJCWludGVsX3dhaXRfZm9yX3BpcGVfb2ZmKGNydGMpOwo+ICB9 Cj4gQEAgLTI1OTksMTYgKzI1OTksMTUgQEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfcHJpbWFy eV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlpbnQgcGxhbmUgPSBpbnRlbF9jcnRj LT5wbGFuZTsKPiAgCXVuc2lnbmVkIGxvbmcgbGluZWFyX29mZnNldDsKPiAgCXUzMiBkc3BjbnRy Owo+IC0JdTMyIHJlZyA9IERTUENOVFIocGxhbmUpOwo+ICAJaW50IHBpeGVsX3NpemU7Cj4gIAo+ ICAJaWYgKCF2aXNpYmxlIHx8ICFmYikgewo+IC0JCUk5MTVfV1JJVEUocmVnLCAwKTsKPiArCQlJ OTE1X1dSSVRFKERTUENOVFIocGxhbmUpLCAwKTsKPiAgCQlpZiAoSU5URUxfSU5GTyhkZXYpLT5n ZW4gPj0gNCkKPiAgCQkJSTkxNV9XUklURShEU1BTVVJGKHBsYW5lKSwgMCk7Cj4gIAkJZWxzZQo+ ICAJCQlJOTE1X1dSSVRFKERTUEFERFIocGxhbmUpLCAwKTsKPiAtCQlQT1NUSU5HX1JFQUQocmVn KTsKPiArCQlQT1NUSU5HX1JFQUQoRFNQQ05UUihwbGFuZSkpOwo+ICAJCXJldHVybjsKPiAgCX0K PiAgCj4gQEAgLTI3MDAsNyArMjY5OSw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX3ByaW1h cnlfcGxhbmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCQkoaW50ZWxfY3J0Yy0+Y29uZmln LT5waXBlX3NyY193IC0gMSkgKiBwaXhlbF9zaXplOwo+ICAJfQo+ICAKPiAtCUk5MTVfV1JJVEUo cmVnLCBkc3BjbnRyKTsKPiArCUk5MTVfV1JJVEUoRFNQQ05UUihwbGFuZSksIGRzcGNudHIpOwo+ ICAKPiAgCUk5MTVfV1JJVEUoRFNQU1RSSURFKHBsYW5lKSwgZmItPnBpdGNoZXNbMF0pOwo+ICAJ aWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDQpIHsKPiBAQCAtMjcxMCw3ICsyNzA5LDcgQEAg c3RhdGljIHZvaWQgaTl4eF91cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCj4gIAkJSTkxNV9XUklURShEU1BMSU5PRkYocGxhbmUpLCBsaW5lYXJfb2Zmc2V0KTsKPiAg CX0gZWxzZQo+ICAJCUk5MTVfV1JJVEUoRFNQQUREUihwbGFuZSksIGk5MTVfZ2VtX29ial9nZ3R0 X29mZnNldChvYmopICsgbGluZWFyX29mZnNldCk7Cj4gLQlQT1NUSU5HX1JFQUQocmVnKTsKPiAr CVBPU1RJTkdfUkVBRChEU1BDTlRSKHBsYW5lKSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGly b25sYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiBAQCAt MjcyNiwxMyArMjcyNSwxMiBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV91cGRhdGVfcHJpbWFyeV9w bGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlpbnQgcGxhbmUgPSBpbnRlbF9jcnRjLT5w bGFuZTsKPiAgCXVuc2lnbmVkIGxvbmcgbGluZWFyX29mZnNldDsKPiAgCXUzMiBkc3BjbnRyOwo+ IC0JdTMyIHJlZyA9IERTUENOVFIocGxhbmUpOwo+ICAJaW50IHBpeGVsX3NpemU7Cj4gIAo+ICAJ aWYgKCF2aXNpYmxlIHx8ICFmYikgewo+IC0JCUk5MTVfV1JJVEUocmVnLCAwKTsKPiArCQlJOTE1 X1dSSVRFKERTUENOVFIocGxhbmUpLCAwKTsKPiAgCQlJOTE1X1dSSVRFKERTUFNVUkYocGxhbmUp LCAwKTsKPiAtCQlQT1NUSU5HX1JFQUQocmVnKTsKPiArCQlQT1NUSU5HX1JFQUQoRFNQQ05UUihw bGFuZSkpOwo+ICAJCXJldHVybjsKPiAgCX0KPiAgCj4gQEAgLTI4MDAsNyArMjc5OCw3IEBAIHN0 YXRpYyB2b2lkIGlyb25sYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKPiAgCQl9Cj4gIAl9Cj4gIAo+IC0JSTkxNV9XUklURShyZWcsIGRzcGNudHIpOwo+ICsJ STkxNV9XUklURShEU1BDTlRSKHBsYW5lKSwgZHNwY250cik7Cj4gIAo+ICAJSTkxNV9XUklURShE U1BTVFJJREUocGxhbmUpLCBmYi0+cGl0Y2hlc1swXSk7Cj4gIAlJOTE1X1dSSVRFKERTUFNVUkYo cGxhbmUpLAo+IEBAIC0yODExLDcgKzI4MDksNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV91cGRh dGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJSTkxNV9XUklURShE U1BUSUxFT0ZGKHBsYW5lKSwgKHkgPDwgMTYpIHwgeCk7Cj4gIAkJSTkxNV9XUklURShEU1BMSU5P RkYocGxhbmUpLCBsaW5lYXJfb2Zmc2V0KTsKPiAgCX0KPiAtCVBPU1RJTkdfUkVBRChyZWcpOwo+ ICsJUE9TVElOR19SRUFEKERTUENOVFIocGxhbmUpKTsKPiAgfQo+ICAKPiAgdTMyIGludGVsX2Zi X3N0cmlkZV9hbGlnbm1lbnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdWludDY0X3QgZmJfbW9k aWZpZXIsCj4gQEAgLTMyODksNyArMzI4Nyw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2ZkaV9ub3Jt YWxfdHJhaW4oc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICpp bnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAgCWludCBwaXBlID0gaW50ZWxfY3J0 Yy0+cGlwZTsKPiAtCXUzMiByZWcsIHRlbXA7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgcmVnOwo+ICsJ dTMyIHRlbXA7Cj4gIAo+ICAJLyogZW5hYmxlIG5vcm1hbCB0cmFpbiAqLwo+ICAJcmVnID0gRkRJ X1RYX0NUTChwaXBlKTsKPiBAQCAtMzMzMSw3ICszMzMwLDggQEAgc3RhdGljIHZvaWQgaXJvbmxh a2VfZmRpX2xpbmtfdHJhaW4oc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRl bF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAgCWludCBwaXBlID0g aW50ZWxfY3J0Yy0+cGlwZTsKPiAtCXUzMiByZWcsIHRlbXAsIHRyaWVzOwo+ICsJc3RydWN0IGk5 MTVfcmVnIHJlZzsKPiArCXUzMiB0ZW1wLCB0cmllczsKPiAgCj4gIAkvKiBGREkgbmVlZHMgYml0 cyBmcm9tIHBpcGUgZmlyc3QgKi8KPiAgCWFzc2VydF9waXBlX2VuYWJsZWQoZGV2X3ByaXYsIHBp cGUpOwo+IEBAIC0zNDMxLDcgKzM0MzEsOCBAQCBzdGF0aWMgdm9pZCBnZW42X2ZkaV9saW5rX3Ry YWluKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxf Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gIAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBp cGU7Cj4gLQl1MzIgcmVnLCB0ZW1wLCBpLCByZXRyeTsKPiArCXN0cnVjdCBpOTE1X3JlZyByZWc7 Cj4gKwl1MzIgdGVtcCwgaSwgcmV0cnk7Cj4gIAo+ICAJLyogVHJhaW4gMTogdW1hc2sgRkRJIFJY IEludGVycnVwdCBzeW1ib2xfbG9jayBhbmQgYml0X2xvY2sgYml0Cj4gIAkgICBmb3IgdHJhaW4g cmVzdWx0ICovCj4gQEAgLTM1NjMsNyArMzU2NCw4IEBAIHN0YXRpYyB2b2lkIGl2Yl9tYW51YWxf ZmRpX2xpbmtfdHJhaW4oc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9j cnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAgCWludCBwaXBlID0gaW50 ZWxfY3J0Yy0+cGlwZTsKPiAtCXUzMiByZWcsIHRlbXAsIGksIGo7Cj4gKwlzdHJ1Y3QgaTkxNV9y ZWcgcmVnOwo+ICsJdTMyIHRlbXAsIGksIGo7Cj4gIAo+ICAJLyogVHJhaW4gMTogdW1hc2sgRkRJ IFJYIEludGVycnVwdCBzeW1ib2xfbG9jayBhbmQgYml0X2xvY2sgYml0Cj4gIAkgICBmb3IgdHJh aW4gcmVzdWx0ICovCj4gQEAgLTM2ODAsOCArMzY4Miw4IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtl X2ZkaV9wbGxfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQo+ICAJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2NydGMtPmJhc2UuZGV2Owo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCWludCBwaXBlID0g aW50ZWxfY3J0Yy0+cGlwZTsKPiAtCXUzMiByZWcsIHRlbXA7Cj4gLQo+ICsJc3RydWN0IGk5MTVf cmVnIHJlZzsKPiArCXUzMiB0ZW1wOwo+ICAKPiAgCS8qIGVuYWJsZSBQQ0ggRkRJIFJYIFBMTCwg d2FpdCB3YXJtdXAgcGx1cyBETUkgbGF0ZW5jeSAqLwo+ICAJcmVnID0gRkRJX1JYX0NUTChwaXBl KTsKPiBAQCAtMzcxNyw3ICszNzE5LDggQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfZmRpX3BsbF9k aXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQo+ICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGludGVsX2NydGMtPmJhc2UuZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCWludCBwaXBlID0gaW50ZWxfY3J0 Yy0+cGlwZTsKPiAtCXUzMiByZWcsIHRlbXA7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgcmVnOwo+ICsJ dTMyIHRlbXA7Cj4gIAo+ICAJLyogU3dpdGNoIGZyb20gUENEY2xrIHRvIFJhd2NsayAqLwo+ICAJ cmVnID0gRkRJX1JYX0NUTChwaXBlKTsKPiBAQCAtMzc0Nyw3ICszNzUwLDggQEAgc3RhdGljIHZv aWQgaXJvbmxha2VfZmRpX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVj dCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAgCWludCBw aXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiAtCXUzMiByZWcsIHRlbXA7Cj4gKwlzdHJ1Y3QgaTkx NV9yZWcgcmVnOwo+ICsJdTMyIHRlbXA7Cj4gIAo+ICAJLyogZGlzYWJsZSBDUFUgRkRJIHR4IGFu ZCBQQ0ggRkRJIHJ4ICovCj4gIAlyZWcgPSBGRElfVFhfQ1RMKHBpcGUpOwo+IEBAIC00MDM3LDcg KzQwNDEsNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9wY2hfZW5hYmxlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2 X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Yyk7Cj4gIAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4gLQl1MzIgcmVnLCB0 ZW1wOwo+ICsJdTMyIHRlbXA7Cj4gIAo+ICAJYXNzZXJ0X3BjaF90cmFuc2NvZGVyX2Rpc2FibGVk KGRldl9wcml2LCBwaXBlKTsKPiAgCj4gQEAgLTQwODUsOCArNDA4OSw3IEBAIHN0YXRpYyB2b2lk IGlyb25sYWtlX3BjaF9lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJLyogRm9yIFBD SCBEUCwgZW5hYmxlIFRSQU5TX0RQX0NUTCAqLwo+ICAJaWYgKEhBU19QQ0hfQ1BUKGRldikgJiYg aW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfZHBfZW5jb2Rlcikgewo+ICAJCXUzMiBicGMgPSAoSTkx NV9SRUFEKFBJUEVDT05GKHBpcGUpKSAmIFBJUEVDT05GX0JQQ19NQVNLKSA+PiA1Owo+IC0JCXJl ZyA9IFRSQU5TX0RQX0NUTChwaXBlKTsKPiAtCQl0ZW1wID0gSTkxNV9SRUFEKHJlZyk7Cj4gKwkJ dGVtcCA9IEk5MTVfUkVBRChUUkFOU19EUF9DVEwocGlwZSkpOwo+ICAJCXRlbXAgJj0gfihUUkFO U19EUF9QT1JUX1NFTF9NQVNLIHwKPiAgCQkJICBUUkFOU19EUF9TWU5DX01BU0sgfAo+ICAJCQkg IFRSQU5TX0RQX0JQQ19NQVNLKTsKPiBAQCAtNDA5OSwyMCArNDEwMiwyMCBAQCBzdGF0aWMgdm9p ZCBpcm9ubGFrZV9wY2hfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCQkJdGVtcCB8 PSBUUkFOU19EUF9WU1lOQ19BQ1RJVkVfSElHSDsKPiAgCj4gIAkJc3dpdGNoIChpbnRlbF90cmFu c19kcF9wb3J0X3NlbChjcnRjKSkgewo+IC0JCWNhc2UgUENIX0RQX0I6Cj4gKwkJY2FzZSBfUENI X0RQX0I6Cj4gIAkJCXRlbXAgfD0gVFJBTlNfRFBfUE9SVF9TRUxfQjsKPiAgCQkJYnJlYWs7Cj4g LQkJY2FzZSBQQ0hfRFBfQzoKPiArCQljYXNlIF9QQ0hfRFBfQzoKPiAgCQkJdGVtcCB8PSBUUkFO U19EUF9QT1JUX1NFTF9DOwo+ICAJCQlicmVhazsKPiAtCQljYXNlIFBDSF9EUF9EOgo+ICsJCWNh c2UgX1BDSF9EUF9EOgo+ICAJCQl0ZW1wIHw9IFRSQU5TX0RQX1BPUlRfU0VMX0Q7Cj4gIAkJCWJy ZWFrOwo+ICAJCWRlZmF1bHQ6Cj4gIAkJCUJVRygpOwo+ICAJCX0KPiAgCj4gLQkJSTkxNV9XUklU RShyZWcsIHRlbXApOwo+ICsJCUk5MTVfV1JJVEUoVFJBTlNfRFBfQ1RMKHBpcGUpLCB0ZW1wKTsK PiAgCX0KPiAgCj4gIAlpcm9ubGFrZV9lbmFibGVfcGNoX3RyYW5zY29kZXIoZGV2X3ByaXYsIHBp cGUpOwo+IEBAIC00MjQyLDcgKzQyNDUsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9zaGFyZWRfZHBs bF9jb21taXQoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICBzdGF0aWMgdm9pZCBj cHRfdmVyaWZ5X21vZGVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUpCj4gIHsK PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 Cj4gLQlpbnQgZHNscmVnID0gUElQRURTTChwaXBlKTsKPiArCXN0cnVjdCBpOTE1X3JlZyBkc2xy ZWcgPSBQSVBFRFNMKHBpcGUpOwo+ICAJdTMyIHRlbXA7Cj4gIAo+ICAJdGVtcCA9IEk5MTVfUkVB RChkc2xyZWcpOwo+IEBAIC00NTUzLDcgKzQ1NTYsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jcnRj X2xvYWRfbHV0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCX0KPiAgCj4gIAlmb3IgKGkgPSAw OyBpIDwgMjU2OyBpKyspIHsKPiAtCQl1MzIgcGFscmVnOwo+ICsJCXN0cnVjdCBpOTE1X3JlZyBw YWxyZWc7Cj4gIAo+ICAJCWlmIChIQVNfR01DSF9ESVNQTEFZKGRldikpCj4gIAkJCXBhbHJlZyA9 IFBBTEVUVEUocGlwZSwgaSk7Cj4gQEAgLTQ5NjEsNyArNDk2NCw2IEBAIHN0YXRpYyB2b2lkIGly b25sYWtlX2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAlzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gIAlzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcjsKPiAgCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiAt CXUzMiByZWcsIHRlbXA7Cj4gIAo+ICAJZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0 YywgZW5jb2RlcikKPiAgCQllbmNvZGVyLT5kaXNhYmxlKGVuY29kZXIpOwo+IEBAIC00OTg3LDYg KzQ5ODksOSBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9j cnRjICpjcnRjKQo+ICAJCWlyb25sYWtlX2Rpc2FibGVfcGNoX3RyYW5zY29kZXIoZGV2X3ByaXYs IHBpcGUpOwo+ICAKPiAgCQlpZiAoSEFTX1BDSF9DUFQoZGV2KSkgewo+ICsJCQlzdHJ1Y3QgaTkx NV9yZWcgcmVnOwo+ICsJCQl1MzIgdGVtcDsKPiArCj4gIAkJCS8qIGRpc2FibGUgVFJBTlNfRFBf Q1RMICovCj4gIAkJCXJlZyA9IFRSQU5TX0RQX0NUTChwaXBlKTsKPiAgCQkJdGVtcCA9IEk5MTVf UkVBRChyZWcpOwo+IEBAIC03Mjg4LDcgKzcyOTMsNyBAQCBzdGF0aWMgdm9pZCBjaHZfcHJlcGFy ZV9wbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkZXYtPmRldl9wcml2YXRlOwo+ICAJaW50IHBpcGUgPSBjcnRjLT5waXBlOwo+IC0JaW50IGRw bGxfcmVnID0gRFBMTChjcnRjLT5waXBlKTsKPiArCXN0cnVjdCBpOTE1X3JlZyBkcGxsX3JlZyA9 IERQTEwoY3J0Yy0+cGlwZSk7Cj4gIAllbnVtIGRwaW9fY2hhbm5lbCBwb3J0ID0gdmx2X3BpcGVf dG9fY2hhbm5lbChwaXBlKTsKPiAgCXUzMiBsb29wZmlsdGVyLCB0cmlidWZfY2FsY250cjsKPiAg CXUzMiBiZXN0biwgYmVzdG0xLCBiZXN0bTIsIGJlc3RwMSwgYmVzdHAyLCBiZXN0bTJfZnJhYzsK PiBAQCAtOTgyNiw3ICs5ODMxLDcgQEAgc3RhdGljIHZvaWQgaTg0NV91cGRhdGVfY3Vyc29yKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywgdTMyIGJhc2UpCj4gIAl9Cj4gIAo+ICAJaWYgKGludGVsX2Ny dGMtPmN1cnNvcl9iYXNlICE9IGJhc2UpIHsKPiAtCQlJOTE1X1dSSVRFKF9DVVJBQkFTRSwgYmFz ZSk7Cj4gKwkJSTkxNV9XUklURShDVVJCQVNFKFBJUEVfQSksIGJhc2UpOwo+ICAJCWludGVsX2Ny dGMtPmN1cnNvcl9iYXNlID0gYmFzZTsKPiAgCX0KPiAgCj4gQEAgLTEwOTg0LDcgKzEwOTg5LDcg QEAgc3RhdGljIGludCBpbnRlbF9nZW43X3F1ZXVlX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiAgCSAqLwo+ICAJaWYgKHJpbmctPmlkID09IFJDUykgewo+ICAJCWludGVsX3JpbmdfZW1p dChyaW5nLCBNSV9MT0FEX1JFR0lTVEVSX0lNTSgxKSk7Cj4gLQkJaW50ZWxfcmluZ19lbWl0KHJp bmcsIERFUlJNUik7Cj4gKwkJaW50ZWxfcmluZ19lbWl0KHJpbmcsIERFUlJNUi5yZWcpOwo+ICAJ CWludGVsX3JpbmdfZW1pdChyaW5nLCB+KERFUlJNUl9QSVBFQV9QUklfRkxJUF9ET05FIHwKPiAg CQkJCQlERVJSTVJfUElQRUJfUFJJX0ZMSVBfRE9ORSB8Cj4gIAkJCQkJREVSUk1SX1BJUEVDX1BS SV9GTElQX0RPTkUpKTsKPiBAQCAtMTA5OTQsNyArMTA5OTksNyBAQCBzdGF0aWMgaW50IGludGVs X2dlbjdfcXVldWVfZmxpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCWVsc2UKPiAgCQkJ aW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX1NUT1JFX1JFR0lTVEVSX01FTSB8Cj4gIAkJCQkJICAg ICAgTUlfU1JNX0xSTV9HTE9CQUxfR1RUKTsKPiAtCQlpbnRlbF9yaW5nX2VtaXQocmluZywgREVS Uk1SKTsKPiArCQlpbnRlbF9yaW5nX2VtaXQocmluZywgREVSUk1SLnJlZyk7Cj4gIAkJaW50ZWxf cmluZ19lbWl0KHJpbmcsIHJpbmctPnNjcmF0Y2guZ3R0X29mZnNldCArIDI1Nik7Cj4gIAkJaWYg KElTX0dFTjgoZGV2KSkgewo+ICAJCQlpbnRlbF9yaW5nX2VtaXQocmluZywgMCk7Cj4gQEAgLTEx MDkwLDEwICsxMTA5NSw5IEBAIHN0YXRpYyB2b2lkIGlsa19kb19tbWlvX2ZsaXAoc3RydWN0IGlu dGVsX2NydGMgKmludGVsX2NydGMpCj4gIAlzdHJ1Y3QgaW50ZWxfZnJhbWVidWZmZXIgKmludGVs X2ZiID0KPiAgCQl0b19pbnRlbF9mcmFtZWJ1ZmZlcihpbnRlbF9jcnRjLT5iYXNlLnByaW1hcnkt PmZiKTsKPiAgCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYi0+b2Jq Owo+ICsJc3RydWN0IGk5MTVfcmVnIHJlZyA9IERTUENOVFIoaW50ZWxfY3J0Yy0+cGxhbmUpOwo+ ICAJdTMyIGRzcGNudHI7Cj4gLQl1MzIgcmVnOwo+ICAKPiAtCXJlZyA9IERTUENOVFIoaW50ZWxf Y3J0Yy0+cGxhbmUpOwo+ICAJZHNwY250ciA9IEk5MTVfUkVBRChyZWcpOwo+ICAKPiAgCWlmIChv YmotPnRpbGluZ19tb2RlICE9IEk5MTVfVElMSU5HX05PTkUpCj4gQEAgLTExMTA2LDcgKzExMTEw LDYgQEAgc3RhdGljIHZvaWQgaWxrX2RvX21taW9fZmxpcChzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YykKPiAgCUk5MTVfV1JJVEUoRFNQU1VSRihpbnRlbF9jcnRjLT5wbGFuZSksCj4gIAkJ ICAgaW50ZWxfY3J0Yy0+dW5waW5fd29yay0+Z3R0X29mZnNldCk7Cj4gIAlQT1NUSU5HX1JFQUQo RFNQU1VSRihpbnRlbF9jcnRjLT5wbGFuZSkpOwo+IC0KPiAgfQo+ICAKPiAgLyoKPiBAQCAtMTQ2 NjEsNyArMTQ2NjQsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2Rpc2FibGVfdmdhKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAl1OCBzcjE7Cj4gLQl1MzIgdmdhX3JlZyA9IGk5MTVfdmdh Y250cmxfcmVnKGRldik7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgdmdhX3JlZyA9IGk5MTVfdmdhY250 cmxfcmVnKGRldik7Cj4gIAo+ICAJLyogV2FFbmFibGVWR0FBY2Nlc3NUaHJvdWdoSU9Qb3J0OmN0 ZyxlbGssaWxrLHNuYixpdmIsdmx2LGhzdyAqLwo+ICAJdmdhX2dldF91bmludGVycnVwdGlibGUo ZGV2LT5wZGV2LCBWR0FfUlNSQ19MRUdBQ1lfSU8pOwo+IEBAIC0xNDgzNCwxMyArMTQ4MzcsMTIg QEAgaW50ZWxfY2hlY2tfcGxhbmVfbWFwcGluZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAg ewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Owo+ICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCXUzMiBy ZWcsIHZhbDsKPiArCXUzMiB2YWw7Cj4gIAo+ICAJaWYgKElOVEVMX0lORk8oZGV2KS0+bnVtX3Bp cGVzID09IDEpCj4gIAkJcmV0dXJuIHRydWU7Cj4gIAo+IC0JcmVnID0gRFNQQ05UUighY3J0Yy0+ cGxhbmUpOwo+IC0JdmFsID0gSTkxNV9SRUFEKHJlZyk7Cj4gKwl2YWwgPSBJOTE1X1JFQUQoRFNQ Q05UUighY3J0Yy0+cGxhbmUpKTsKPiAgCj4gIAlpZiAoKHZhbCAmIERJU1BMQVlfUExBTkVfRU5B QkxFKSAmJgo+ICAJICAgICghISh2YWwgJiBESVNQUExBTkVfU0VMX1BJUEVfTUFTSykgPT0gY3J0 Yy0+cGlwZSkpCj4gQEAgLTE0ODY0LDEwICsxNDg2Niw5IEBAIHN0YXRpYyB2b2lkIGludGVsX3Nh bml0aXplX2NydGMoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIHsKPiAgCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQl1MzIgcmVnOwo+ICsJc3RydWN0IGk5 MTVfcmVnIHJlZyA9IFBJUEVDT05GKGNydGMtPmNvbmZpZy0+Y3B1X3RyYW5zY29kZXIpOwo+ICAK PiAgCS8qIENsZWFyIGFueSBmcmFtZSBzdGFydCBkZWxheXMgdXNlZCBmb3IgZGVidWdnaW5nIGxl ZnQgYnkgdGhlIEJJT1MgKi8KPiAtCXJlZyA9IFBJUEVDT05GKGNydGMtPmNvbmZpZy0+Y3B1X3Ry YW5zY29kZXIpOwo+ICAJSTkxNV9XUklURShyZWcsIEk5MTVfUkVBRChyZWcpICYgflBJUEVDT05G X0ZSQU1FX1NUQVJUX0RFTEFZX01BU0spOwo+ICAKPiAgCS8qIHJlc3RvcmUgdmJsYW5rIGludGVy cnVwdHMgdG8gY29ycmVjdCBzdGF0ZSAqLwo+IEBAIC0xNTAxMyw3ICsxNTAxNCw3IEBAIHN0YXRp YyB2b2lkIGludGVsX3Nhbml0aXplX2VuY29kZXIoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIpCj4gIHZvaWQgaTkxNV9yZWRpc2FibGVfdmdhX3Bvd2VyX29uKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Cj4gLQl1MzIgdmdhX3JlZyA9IGk5MTVfdmdhY250cmxfcmVnKGRldik7Cj4g KwlzdHJ1Y3QgaTkxNV9yZWcgdmdhX3JlZyA9IGk5MTVfdmdhY250cmxfcmVnKGRldik7Cj4gIAo+ ICAJaWYgKCEoSTkxNV9SRUFEKHZnYV9yZWcpICYgVkdBX0RJU1BfRElTQUJMRSkpIHsKPiAgCQlE Uk1fREVCVUdfS01TKCJTb21ldGhpbmcgZW5hYmxlZCBWR0EgcGxhbmUsIGRpc2FibGluZyBpdFxu Iik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gaW5kZXggMGU1ZjY3NC4uNmQ3YTNhZiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IEBAIC01NDEsNyArNTQxLDggQEAgdm9pZCB2bHZf cG93ZXJfc2VxdWVuY2VyX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK PiAgCX0KPiAgfQo+ICAKPiAtc3RhdGljIHUzMiBfcHBfY3RybF9yZWcoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKPiArc3RhdGljIHN0cnVjdCBpOTE1X3JlZwo+ICtfcHBfY3RybF9yZWcoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Cj4gIAo+IEBAIC01NTMsNyArNTU0LDggQEAgc3Rh dGljIHUzMiBfcHBfY3RybF9yZWcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCQlyZXR1 cm4gVkxWX1BJUEVfUFBfQ09OVFJPTCh2bHZfcG93ZXJfc2VxdWVuY2VyX3BpcGUoaW50ZWxfZHAp KTsKPiAgfQo+ICAKPiAtc3RhdGljIHUzMiBfcHBfc3RhdF9yZWcoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKPiArc3RhdGljIHN0cnVjdCBpOTE1X3JlZwo+ICtfcHBfc3RhdF9yZWcoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGlu dGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Cj4gIAo+IEBAIC01NzQsOCArNTc2LDYgQEAgc3RhdGlj IGludCBlZHBfbm90aWZ5X2hhbmRsZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICp0aGlzLCB1bnNp Z25lZCBsb25nIGNvZGUsCj4gIAkJCQkJCSBlZHBfbm90aWZpZXIpOwo+ICAJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Cj4gIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0JdTMyIHBwX2RpdjsK PiAtCXUzMiBwcF9jdHJsX3JlZywgcHBfZGl2X3JlZzsKPiAgCj4gIAlpZiAoIWlzX2VkcChpbnRl bF9kcCkgfHwgY29kZSAhPSBTWVNfUkVTVEFSVCkKPiAgCQlyZXR1cm4gMDsKPiBAQCAtNTg0LDYg KzU4NCw4IEBAIHN0YXRpYyBpbnQgZWRwX25vdGlmeV9oYW5kbGVyKHN0cnVjdCBub3RpZmllcl9i bG9jayAqdGhpcywgdW5zaWduZWQgbG9uZyBjb2RlLAo+ICAKPiAgCWlmIChJU19WQUxMRVlWSUVX KGRldikpIHsKPiAgCQllbnVtIHBpcGUgcGlwZSA9IHZsdl9wb3dlcl9zZXF1ZW5jZXJfcGlwZShp bnRlbF9kcCk7Cj4gKwkJc3RydWN0IGk5MTVfcmVnIHBwX2N0cmxfcmVnLCBwcF9kaXZfcmVnOwo+ ICsJCXUzMiBwcF9kaXY7Cj4gIAo+ICAJCXBwX2N0cmxfcmVnID0gVkxWX1BJUEVfUFBfQ09OVFJP TChwaXBlKTsKPiAgCQlwcF9kaXZfcmVnICA9IFZMVl9QSVBFX1BQX0RJVklTT1IocGlwZSk7Cj4g QEAgLTY1Miw3ICs2NTQsNyBAQCBpbnRlbF9kcF9hdXhfd2FpdF9kb25lKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAsIGJvb2wgaGFzX2F1eF9pcnEpCj4gIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICppbnRlbF9kaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKPiAgCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsKPiAgCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQl1 aW50MzJfdCBjaF9jdGwgPSBpbnRlbF9kcC0+YXV4X2NoX2N0bF9yZWc7Cj4gKwlzdHJ1Y3QgaTkx NV9yZWcgY2hfY3RsID0gaW50ZWxfZHAtPmF1eF9jaF9jdGxfcmVnOwo+ICAJdWludDMyX3Qgc3Rh dHVzOwo+ICAJYm9vbCBkb25lOwo+ICAKPiBAQCAtNzUxLDcgKzc1Myw3IEBAIHN0YXRpYyB1aW50 MzJfdCBpOXh4X2dldF9hdXhfc2VuZF9jdGwoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAg CWVsc2UKPiAgCQlwcmVjaGFyZ2UgPSA1Owo+ICAKPiAtCWlmIChJU19CUk9BRFdFTEwoZGV2KSAm JiBpbnRlbF9kcC0+YXV4X2NoX2N0bF9yZWcgPT0gRFBfQVVYX0NIX0NUTChQT1JUX0EpKQo+ICsJ aWYgKElTX0JST0FEV0VMTChkZXYpICYmIGludGVsX2RwLT5hdXhfY2hfY3RsX3JlZy5yZWcgPT0g RFBfQVVYX0NIX0NUTChQT1JUX0EpLnJlZykKPiAgCQl0aW1lb3V0ID0gRFBfQVVYX0NIX0NUTF9U SU1FX09VVF82MDB1czsKPiAgCWVsc2UKPiAgCQl0aW1lb3V0ID0gRFBfQVVYX0NIX0NUTF9USU1F X09VVF80MDB1czsKPiBAQCAtNzkwLDcgKzc5Miw3IEBAIGludGVsX2RwX2F1eF9jaChzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwLAo+ICAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxf ZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Cj4gIAlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0JdWludDMyX3QgY2hf Y3RsID0gaW50ZWxfZHAtPmF1eF9jaF9jdGxfcmVnOwo+ICsJc3RydWN0IGk5MTVfcmVnIGNoX2N0 bCA9IGludGVsX2RwLT5hdXhfY2hfY3RsX3JlZzsKPiAgCXVpbnQzMl90IGF1eF9jbG9ja19kaXZp ZGVyOwo+ICAJaW50IGksIHJldCwgcmVjdl9ieXRlczsKPiAgCXVpbnQzMl90IHN0YXR1czsKPiBA QCAtMTAwOCwxNSArMTAxMCwxNSBAQCBpbnRlbF9kcF9hdXhfdHJhbnNmZXIoc3RydWN0IGRybV9k cF9hdXggKmF1eCwgc3RydWN0IGRybV9kcF9hdXhfbXNnICptc2cpCj4gIAlyZXR1cm4gcmV0Owo+ ICB9Cj4gIAo+IC1zdGF0aWMgdWludDMyX3QgZzR4X2F1eF9yZWcoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+IC0JCQkgICAgZW51bSBwb3J0IHBvcnQsIGludCBpbmRleCkKPiAr c3RhdGljIHN0cnVjdCBpOTE1X3JlZyBnNHhfYXV4X3JlZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gKwkJCQkgICBlbnVtIHBvcnQgcG9ydCwgaW50IGluZGV4KQo+ICB7Cj4g IAlyZXR1cm4gaW5kZXggPCAwID8gRFBfQVVYX0NIX0NUTChwb3J0KSA6Cj4gIAkJRFBfQVVYX0NI X0RBVEEocG9ydCwgaW5kZXgpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdWludDMyX3QgaWxrX2F1eF9y ZWcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IC0JCQkgICAgZW51bSBwb3J0 IHBvcnQsIGludCBpbmRleCkKPiArc3RhdGljIHN0cnVjdCBpOTE1X3JlZyBpbGtfYXV4X3JlZyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJCQkgICBlbnVtIHBvcnQgcG9y dCwgaW50IGluZGV4KQo+ICB7Cj4gIAlpZiAocG9ydCA9PSBQT1JUX0EpCj4gIAkJcmV0dXJuIGlu ZGV4IDwgMCA/IERQX0FVWF9DSF9DVEwocG9ydCkgOgo+IEBAIC0xMDUwLDggKzEwNTIsOCBAQCBz dGF0aWMgZW51bSBwb3J0IHNrbF9wb3J0ZV9hdXhfcG9ydChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gIAl9Cj4gIH0KPiAgCj4gLXN0YXRpYyB1aW50MzJfdCBza2xfYXV4X3Jl ZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gLQkJCSAgICBlbnVtIHBvcnQg cG9ydCwgaW50IGluZGV4KQo+ICtzdGF0aWMgc3RydWN0IGk5MTVfcmVnIHNrbF9hdXhfcmVnKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJCSAgIGVudW0gcG9ydCBwb3J0 LCBpbnQgaW5kZXgpCj4gIHsKPiAgCWlmIChwb3J0ID09IFBPUlRfRSkKPiAgCQlwb3J0ID0gc2ts X3BvcnRlX2F1eF9wb3J0KGRldl9wcml2KTsKPiBAQCAtMTA2MSw4ICsxMDYzLDggQEAgc3RhdGlj IHVpbnQzMl90IHNrbF9hdXhfcmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK PiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgYXV4X3JlZ19pbml0KHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAsCj4gLQkJCSB1aW50MzJfdCAoKmF1eF9yZWcpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKPiAtCQkJCQkgICAgIGVudW0gcG9ydCBwb3J0LCBpbnQgaW5kZXgpKQo+ICsJ CQkgc3RydWN0IGk5MTVfcmVnICgqYXV4X3JlZykoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAo+ICsJCQkJCQkgICAgZW51bSBwb3J0IHBvcnQsIGludCBpbmRleCkpCj4gIHsKPiAg CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZHBfdG9f ZGV2KGludGVsX2RwKSk7Cj4gIAllbnVtIHBvcnQgcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVs X2RwKS0+cG9ydDsKPiBAQCAtMTcwMiw3ICsxNzA0LDcgQEAgc3RhdGljIHZvaWQgd2FpdF9wYW5l bF9zdGF0dXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAgewo+ICAJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Cj4gIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0JdTMyIHBwX3N0YXRf cmVnLCBwcF9jdHJsX3JlZzsKPiArCXN0cnVjdCBpOTE1X3JlZyBwcF9zdGF0X3JlZywgcHBfY3Ry bF9yZWc7Cj4gIAo+ICAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBwc19tdXRleCk7 Cj4gIAo+IEBAIC0xNzkyLDcgKzE3OTQsNyBAQCBzdGF0aWMgYm9vbCBlZHBfcGFuZWxfdmRkX29u KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2Vy X2RvbWFpbiBwb3dlcl9kb21haW47Cj4gIAl1MzIgcHA7Cj4gLQl1MzIgcHBfc3RhdF9yZWcsIHBw X2N0cmxfcmVnOwo+ICsJc3RydWN0IGk5MTVfcmVnIHBwX3N0YXRfcmVnLCBwcF9jdHJsX3JlZzsK PiAgCWJvb2wgbmVlZF90b19kaXNhYmxlID0gIWludGVsX2RwLT53YW50X3BhbmVsX3ZkZDsKPiAg Cj4gIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKPiBAQCAtMTg2 OCw3ICsxODcwLDcgQEAgc3RhdGljIHZvaWQgZWRwX3BhbmVsX3ZkZF9vZmZfc3luYyhzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQo+ICAJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29k ZXIgPSAmaW50ZWxfZGlnX3BvcnQtPmJhc2U7Cj4gIAllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJf ZG9tYWluIHBvd2VyX2RvbWFpbjsKPiAgCXUzMiBwcDsKPiAtCXUzMiBwcF9zdGF0X3JlZywgcHBf Y3RybF9yZWc7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgcHBfc3RhdF9yZWcsIHBwX2N0cmxfcmVnOwo+ ICAKPiAgCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwo+ICAKPiBA QCAtMTk1NSw3ICsxOTU3LDcgQEAgc3RhdGljIHZvaWQgZWRwX3BhbmVsX29uKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHApCj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHBfdG9f ZGV2KGludGVsX2RwKTsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7Cj4gIAl1MzIgcHA7Cj4gLQl1MzIgcHBfY3RybF9yZWc7Cj4gKwlzdHJ1 Y3QgaTkxNV9yZWcgcHBfY3RybF9yZWc7Cj4gIAo+ICAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2 X3ByaXYtPnBwc19tdXRleCk7Cj4gIAo+IEBAIC0yMDE3LDcgKzIwMTksNyBAQCBzdGF0aWMgdm9p ZCBlZHBfcGFuZWxfb2ZmKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJZW51bSBpbnRl bF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBwb3dlcl9kb21haW47Cj4gIAl1MzIgcHA7Cj4gLQl1MzIg cHBfY3RybF9yZWc7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgcHBfY3RybF9yZWc7Cj4gIAo+ICAJbG9j a2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBwc19tdXRleCk7Cj4gIAo+IEBAIC0yMDY4LDcg KzIwNzAsNyBAQCBzdGF0aWMgdm9pZCBfaW50ZWxfZWRwX2JhY2tsaWdodF9vbihzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKQo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RpZ19w b3J0LT5iYXNlLmJhc2UuZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXUzMiBwcDsKPiAtCXUzMiBwcF9jdHJsX3JlZzsKPiAr CXN0cnVjdCBpOTE1X3JlZyBwcF9jdHJsX3JlZzsKPiAgCj4gIAkvKgo+ICAJICogSWYgd2UgZW5h YmxlIHRoZSBiYWNrbGlnaHQgcmlnaHQgYXdheSBmb2xsb3dpbmcgYSBwYW5lbCBwb3dlcgo+IEBA IC0yMTA5LDcgKzIxMTEsNyBAQCBzdGF0aWMgdm9pZCBfaW50ZWxfZWRwX2JhY2tsaWdodF9vZmYo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBp bnRlbF9kcF90b19kZXYoaW50ZWxfZHApOwo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXUzMiBwcDsKPiAtCXUzMiBwcF9jdHJsX3Jl ZzsKPiArCXN0cnVjdCBpOTE1X3JlZyBwcF9jdHJsX3JlZzsKPiAgCj4gIAlpZiAoIWlzX2VkcChp bnRlbF9kcCkpCj4gIAkJcmV0dXJuOwo+IEBAIC0yMjgzLDcgKzIyODUsNyBAQCBzdGF0aWMgYm9v bCBpbnRlbF9kcF9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4g IAkJfQo+ICAKPiAgCQlEUk1fREVCVUdfS01TKCJObyBwaXBlIGZvciBkcCBwb3J0IDB4JXggZm91 bmRcbiIsCj4gLQkJCSAgICAgIGludGVsX2RwLT5vdXRwdXRfcmVnKTsKPiArCQkJICAgICAgaW50 ZWxfZHAtPm91dHB1dF9yZWcucmVnKTsKPiAgCX0gZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhkZXYp KSB7Cj4gIAkJKnBpcGUgPSBEUF9QT1JUX1RPX1BJUEVfQ0hWKHRtcCk7Cj4gIAl9IGVsc2Ugewo+ IEBAIC0yNjcxLDcgKzI2NzMsNyBAQCBzdGF0aWMgdm9pZCB2bHZfZGV0YWNoX3Bvd2VyX3NlcXVl bmNlcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAJc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Cj4gIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNl LmRldi0+ZGV2X3ByaXZhdGU7Cj4gIAllbnVtIHBpcGUgcGlwZSA9IGludGVsX2RwLT5wcHNfcGlw ZTsKPiAtCWludCBwcF9vbl9yZWcgPSBWTFZfUElQRV9QUF9PTl9ERUxBWVMocGlwZSk7Cj4gKwlz dHJ1Y3QgaTkxNV9yZWcgcHBfb25fcmVnID0gVkxWX1BJUEVfUFBfT05fREVMQVlTKHBpcGUpOwo+ ICAKPiAgCWVkcF9wYW5lbF92ZGRfb2ZmX3N5bmMoaW50ZWxfZHApOwo+ICAKPiBAQCAtNTI1Niw3 ICs1MjU4LDcgQEAgaW50ZWxfdHJhbnNfZHBfcG9ydF9zZWwoc3RydWN0IGRybV9jcnRjICpjcnRj KQo+ICAKPiAgCQlpZiAoaW50ZWxfZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfRElTUExB WVBPUlQgfHwKPiAgCQkgICAgaW50ZWxfZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQ KQo+IC0JCQlyZXR1cm4gaW50ZWxfZHAtPm91dHB1dF9yZWc7Cj4gKwkJCXJldHVybiBpbnRlbF9k cC0+b3V0cHV0X3JlZy5yZWc7Cj4gIAl9Cj4gIAo+ICAJcmV0dXJuIC0xOwo+IEBAIC01MzI2LDcg KzUzMjgsNyBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcihzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+ICAJc3RydWN0IGVkcF9wb3dlcl9zZXEgY3VyLCB2YnQsIHNwZWMsCj4g IAkJKmZpbmFsID0gJmludGVsX2RwLT5wcHNfZGVsYXlzOwo+ICAJdTMyIHBwX29uLCBwcF9vZmYs IHBwX2RpdiA9IDAsIHBwX2N0bCA9IDA7Cj4gLQlpbnQgcHBfY3RybF9yZWcsIHBwX29uX3JlZywg cHBfb2ZmX3JlZywgcHBfZGl2X3JlZyA9IDA7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgcHBfY3RybF9y ZWcsIHBwX29uX3JlZywgcHBfb2ZmX3JlZywgcHBfZGl2X3JlZzsKPiAgCj4gIAlsb2NrZGVwX2Fz c2VydF9oZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKPiAgCj4gQEAgLTU0NDgsNyArNTQ1MCw3 IEBAIGludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyX3JlZ2lzdGVycyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXUzMiBwcF9vbiwgcHBfb2ZmLCBwcF9kaXYsIHBvcnRfc2Vs ID0gMDsKPiAgCWludCBkaXYgPSBIQVNfUENIX1NQTElUKGRldikgPyBpbnRlbF9wY2hfcmF3Y2xr KGRldikgOiBpbnRlbF9ocmF3Y2xrKGRldik7Cj4gLQlpbnQgcHBfb25fcmVnLCBwcF9vZmZfcmVn LCBwcF9kaXZfcmVnID0gMCwgcHBfY3RybF9yZWc7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgcHBfb25f cmVnLCBwcF9vZmZfcmVnLCBwcF9kaXZfcmVnLCBwcF9jdHJsX3JlZzsKPiAgCWVudW0gcG9ydCBw b3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5wb3J0Owo+ICAJY29uc3Qgc3RydWN0IGVk cF9wb3dlcl9zZXEgKnNlcSA9ICZpbnRlbF9kcC0+cHBzX2RlbGF5czsKPiAgCj4gQEAgLTU1NDgs NyArNTU1MCw2IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX3NldF9kcnJzX3N0YXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIGludCByZWZyZXNoX3JhdGUpCj4gIAlzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwID0gZGV2X3ByaXYtPmRycnMuZHA7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y29uZmlnID0gTlVMTDsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gTlVMTDsK PiAtCXUzMiByZWcsIHZhbDsKPiAgCWVudW0gZHJyc19yZWZyZXNoX3JhdGVfdHlwZSBpbmRleCA9 IERSUlNfSElHSF9SUjsKPiAgCj4gIAlpZiAocmVmcmVzaF9yYXRlIDw9IDApIHsKPiBAQCAtNTYx MCw4ICs1NjExLDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBfc2V0X2RycnNfc3RhdGUoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgaW50IHJlZnJlc2hfcmF0ZSkKPiAgCQkJRFJNX0VSUk9SKCJVbnN1 cHBvcnRlZCByZWZyZXNocmF0ZSB0eXBlXG4iKTsKPiAgCQl9Cj4gIAl9IGVsc2UgaWYgKElOVEVM X0lORk8oZGV2KS0+Z2VuID4gNikgewo+IC0JCXJlZyA9IFBJUEVDT05GKGludGVsX2NydGMtPmNv bmZpZy0+Y3B1X3RyYW5zY29kZXIpOwo+IC0JCXZhbCA9IEk5MTVfUkVBRChyZWcpOwo+ICsJCXN0 cnVjdCBpOTE1X3JlZyByZWcgPQo+ICsJCQlQSVBFQ09ORihpbnRlbF9jcnRjLT5jb25maWctPmNw dV90cmFuc2NvZGVyKTsKPiArCQl1MzIgdmFsID0gSTkxNV9SRUFEKHJlZyk7Cj4gIAo+ICAJCWlm IChpbmRleCA+IERSUlNfSElHSF9SUikgewo+ICAJCQlpZiAoSVNfVkFMTEVZVklFVyhkZXYpKQo+ IEBAIC02MTY3LDcgKzYxNjksOCBAQCBpbnRlbF9kcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKPiAgfQo+ICAKPiAgdm9pZAo+IC1pbnRl bF9kcF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBvdXRwdXRfcmVnLCBlbnVtIHBv cnQgcG9ydCkKPiAraW50ZWxfZHBfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJICAg ICAgc3RydWN0IGk5MTVfcmVnIG91dHB1dF9yZWcsIGVudW0gcG9ydCBwb3J0KQo+ICB7Cj4gIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJ c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQ7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPiBpbmRleCAzZmVhMDM5Li5hZmQ4YWM4IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPiBAQCAtNjY2LDcgKzY2Niw3IEBAIHN0cnVjdCBjeHNyX2xhdGVuY3kgewo+ ICAjZGVmaW5lIGludGVsX2ZiX29iaih4KSAoeCA/IHRvX2ludGVsX2ZyYW1lYnVmZmVyKHgpLT5v YmogOiBOVUxMKQo+ICAKPiAgc3RydWN0IGludGVsX2hkbWkgewo+IC0JdTMyIGhkbWlfcmVnOwo+ ICsJc3RydWN0IGk5MTVfcmVnIGhkbWlfcmVnOwo+ICAJaW50IGRkY19idXM7Cj4gIAlib29sIGxp bWl0ZWRfY29sb3JfcmFuZ2U7Cj4gIAlib29sIGNvbG9yX3JhbmdlX2F1dG87Cj4gQEAgLTcxNSw5 ICs3MTUsOSBAQCBzdHJ1Y3Qgc2lua19jcmMgewo+ICB9Owo+ICAKPiAgc3RydWN0IGludGVsX2Rw IHsKPiAtCXVpbnQzMl90IG91dHB1dF9yZWc7Cj4gLQl1aW50MzJfdCBhdXhfY2hfY3RsX3JlZzsK PiAtCXVpbnQzMl90IGF1eF9jaF9kYXRhX3JlZ1s1XTsKPiArCXN0cnVjdCBpOTE1X3JlZyBvdXRw dXRfcmVnOwo+ICsJc3RydWN0IGk5MTVfcmVnIGF1eF9jaF9jdGxfcmVnOwo+ICsJc3RydWN0IGk5 MTVfcmVnIGF1eF9jaF9kYXRhX3JlZ1s1XTsKPiAgCXVpbnQzMl90IERQOwo+ICAJaW50IGxpbmtf cmF0ZTsKPiAgCXVpbnQ4X3QgbGFuZV9jb3VudDsKPiBAQCAtMTE4Miw3ICsxMTgyLDcgQEAgdm9p ZCBpbnRlbF9jc3JfdWNvZGVfZmluaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAgdm9pZCBh c3NlcnRfY3NyX2xvYWRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICAK PiAgLyogaW50ZWxfZHAuYyAqLwo+IC12b2lkIGludGVsX2RwX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgaW50IG91dHB1dF9yZWcsIGVudW0gcG9ydCBwb3J0KTsKPiArdm9pZCBpbnRlbF9k cF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpOTE1X3JlZyBvdXRwdXRfcmVn LCBlbnVtIHBvcnQgcG9ydCk7Cj4gIGJvb2wgaW50ZWxfZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCj4gIAkJCSAgICAgc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yKTsKPiAgdm9pZCBpbnRlbF9kcF9zZXRfbGlu a19wYXJhbXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiBAQCAtMTI3Niw3ICsxMjc2LDcg QEAgY29uc3QgY2hhciAqaW50ZWxfbm9fZmJjX3JlYXNvbl9zdHIoZW51bSBub19mYmNfcmVhc29u IHJlYXNvbik7Cj4gIHZvaWQgaW50ZWxfZmJjX2NsZWFudXBfY2ZiKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdik7Cj4gIAo+ICAvKiBpbnRlbF9oZG1pLmMgKi8KPiAtdm9pZCBpbnRl bF9oZG1pX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGhkbWlfcmVnLCBlbnVtIHBv cnQgcG9ydCk7Cj4gK3ZvaWQgaW50ZWxfaGRtaV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHN0cnVjdCBpOTE1X3JlZyBoZG1pX3JlZywgZW51bSBwb3J0IHBvcnQpOwo+ICB2b2lkIGludGVs X2hkbWlfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGln X3BvcnQsCj4gIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0 b3IpOwo+ICBzdHJ1Y3QgaW50ZWxfaGRtaSAqZW5jX3RvX2ludGVsX2hkbWkoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyKTsKPiBAQCAtMTQxNSw3ICsxNDE1LDggQEAgdm9pZCBza2xfZGRiX2dl dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIHVpbnQzMl90 IGlsa19waXBlX3BpeGVsX3JhdGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVf Y29uZmlnKTsKPiAgCj4gIC8qIGludGVsX3Nkdm8uYyAqLwo+IC1ib29sIGludGVsX3Nkdm9faW5p dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1aW50MzJfdCBzZHZvX3JlZywgYm9vbCBpc19zZHZv Yik7Cj4gK2Jvb2wgaW50ZWxfc2R2b19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gKwkJ ICAgICBzdHJ1Y3QgaTkxNV9yZWcgcmVnLCBib29sIGlzX3Nkdm9iKTsKPiAgCj4gIAo+ICAvKiBp bnRlbF9zcHJpdGUuYyAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCj4gaW5kZXggOGY5Yzgx NC4uNWI1YTFjNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2ku Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCj4gQEAgLTYwLDcgKzYw LDggQEAgc3RhdGljIHZvaWQgd2FpdF9mb3JfZHNpX2ZpZm9fZW1wdHkoc3RydWN0IGludGVsX2Rz aSAqaW50ZWxfZHNpLCBlbnVtIHBvcnQgcG9ydCkKPiAgCQlEUk1fRVJST1IoIkRQSSBGSUZPcyBh cmUgbm90IGVtcHR5XG4iKTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgd3JpdGVfZGF0YShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiByZWcsCj4gK3N0YXRpYyB2b2lkIHdy aXRlX2RhdGEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCSAgICAgICBz dHJ1Y3QgaTkxNV9yZWcgcmVnLAo+ICAJCSAgICAgICBjb25zdCB1OCAqZGF0YSwgdTMyIGxlbikK PiAgewo+ICAJdTMyIGksIGo7Cj4gQEAgLTc1LDcgKzc2LDggQEAgc3RhdGljIHZvaWQgd3JpdGVf ZGF0YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiByZWcsCj4gIAl9Cj4g IH0KPiAgCj4gLXN0YXRpYyB2b2lkIHJlYWRfZGF0YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsIHUzMiByZWcsCj4gK3N0YXRpYyB2b2lkIHJlYWRfZGF0YShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJICAgICAgc3RydWN0IGk5MTVfcmVnIHJlZywKPiAg CQkgICAgICB1OCAqZGF0YSwgdTMyIGxlbikKPiAgewo+ICAJdTMyIGksIGo7Cj4gQEAgLTk4LDcg KzEwMCw4IEBAIHN0YXRpYyBzc2l6ZV90IGludGVsX2RzaV9ob3N0X3RyYW5zZmVyKHN0cnVjdCBt aXBpX2RzaV9ob3N0ICpob3N0LAo+ICAJc3RydWN0IG1pcGlfZHNpX3BhY2tldCBwYWNrZXQ7Cj4g IAlzc2l6ZV90IHJldDsKPiAgCWNvbnN0IHU4ICpoZWFkZXIsICpkYXRhOwo+IC0JdTMyIGRhdGFf cmVnLCBkYXRhX21hc2ssIGN0cmxfcmVnLCBjdHJsX21hc2s7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcg ZGF0YV9yZWcsIGN0cmxfcmVnOwo+ICsJdTMyIGRhdGFfbWFzaywgY3RybF9tYXNrOwo+ICAKPiAg CXJldCA9IG1pcGlfZHNpX2NyZWF0ZV9wYWNrZXQoJnBhY2tldCwgbXNnKTsKPiAgCWlmIChyZXQg PCAwKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCj4gaW5kZXggYzgwZmUxZi4uNzczOWRkNyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCj4gQEAgLTE3MCw3ICsxNzAsNyBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kaXNhYmxlX2R2byhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikK PiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZW5jb2Rlci0+YmFz ZS5kZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGludGVsX2R2byAqaW50ZWxfZHZvID0gZW5j X3RvX2R2byhlbmNvZGVyKTsKPiAtCXUzMiBkdm9fcmVnID0gaW50ZWxfZHZvLT5kZXYuZHZvX3Jl ZzsKPiArCXN0cnVjdCBpOTE1X3JlZyBkdm9fcmVnID0gaW50ZWxfZHZvLT5kZXYuZHZvX3JlZzsK PiAgCXUzMiB0ZW1wID0gSTkxNV9SRUFEKGR2b19yZWcpOwo+ICAKPiAgCWludGVsX2R2by0+ZGV2 LmRldl9vcHMtPmRwbXMoJmludGVsX2R2by0+ZGV2LCBmYWxzZSk7Cj4gQEAgLTE4Myw3ICsxODMs NyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfZHZvKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyKQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZW5jb2Rlci0+ YmFzZS5kZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGludGVsX2R2byAqaW50ZWxfZHZvID0g ZW5jX3RvX2R2byhlbmNvZGVyKTsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhlbmNvZGVyLT5iYXNlLmNydGMpOwo+IC0JdTMyIGR2b19yZWcgPSBpbnRlbF9kdm8t PmRldi5kdm9fcmVnOwo+ICsJc3RydWN0IGk5MTVfcmVnIGR2b19yZWcgPSBpbnRlbF9kdm8tPmRl di5kdm9fcmVnOwo+ICAJdTMyIHRlbXAgPSBJOTE1X1JFQUQoZHZvX3JlZyk7Cj4gIAo+ICAJaW50 ZWxfZHZvLT5kZXYuZGV2X29wcy0+bW9kZV9zZXQoJmludGVsX2R2by0+ZGV2LAo+IEBAIC0yNjMs MTcgKzI2MywxNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kdm9fcHJlX2VuYWJsZShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgCXN0cnVjdCBpbnRlbF9kdm8gKmludGVsX2R2byA9IGVu Y190b19kdm8oZW5jb2Rlcik7Cj4gIAlpbnQgcGlwZSA9IGNydGMtPnBpcGU7Cj4gIAl1MzIgZHZv X3ZhbDsKPiAtCXUzMiBkdm9fcmVnID0gaW50ZWxfZHZvLT5kZXYuZHZvX3JlZywgZHZvX3NyY2Rp bV9yZWc7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgZHZvX3JlZyA9IGludGVsX2R2by0+ZGV2LmR2b19y ZWcsIGR2b19zcmNkaW1fcmVnOwo+ICAKPiAtCXN3aXRjaCAoZHZvX3JlZykgewo+IC0JY2FzZSBE Vk9BOgo+ICsJc3dpdGNoIChkdm9fcmVnLnJlZykgewo+ICsJY2FzZSBfRFZPQToKPiAgCWRlZmF1 bHQ6Cj4gIAkJZHZvX3NyY2RpbV9yZWcgPSBEVk9BX1NSQ0RJTTsKPiAgCQlicmVhazsKPiAtCWNh c2UgRFZPQjoKPiArCWNhc2UgX0RWT0I6Cj4gIAkJZHZvX3NyY2RpbV9yZWcgPSBEVk9CX1NSQ0RJ TTsKPiAgCQlicmVhazsKPiAtCWNhc2UgRFZPQzoKPiArCWNhc2UgX0RWT0M6Cj4gIAkJZHZvX3Ny Y2RpbV9yZWcgPSBEVk9DX1NSQ0RJTTsKPiAgCQlicmVhazsKPiAgCX0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmlmb191bmRlcnJ1bi5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZmlmb191bmRlcnJ1bi5jCj4gaW5kZXggNTRkYWE2Ni4uNGFlMzQ1OCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9maWZvX3VuZGVycnVuLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9maWZvX3VuZGVycnVuLmMKPiBAQCAt OTksNyArOTksNyBAQCB2b2lkIGk5eHhfY2hlY2tfZmlmb191bmRlcnJ1bnMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9s b2NrKTsKPiAgCj4gIAlmb3JfZWFjaF9pbnRlbF9jcnRjKGRldl9wcml2LT5kZXYsIGNydGMpIHsK PiAtCQl1MzIgcmVnID0gUElQRVNUQVQoY3J0Yy0+cGlwZSk7Cj4gKwkJc3RydWN0IGk5MTVfcmVn IHJlZyA9IFBJUEVTVEFUKGNydGMtPnBpcGUpOwo+ICAJCXUzMiBwaXBlc3RhdDsKPiAgCj4gIAkJ aWYgKGNydGMtPmNwdV9maWZvX3VuZGVycnVuX2Rpc2FibGVkKQo+IEBAIC0xMjMsNyArMTIzLDcg QEAgc3RhdGljIHZvaWQgaTl4eF9zZXRfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKPiAgCQkJCQkgICAgIGJvb2wgZW5hYmxlLCBib29sIG9sZCkKPiAgewo+ ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiAtCXUzMiByZWcgPSBQSVBFU1RBVChwaXBlKTsKPiArCXN0cnVjdCBpOTE1X3JlZyByZWcgPSBQ SVBFU1RBVChwaXBlKTsKPiAgCXUzMiBwaXBlc3RhdCA9IEk5MTVfUkVBRChyZWcpICYgMHhmZmZm MDAwMDsKPiAgCj4gIAlhc3NlcnRfc3Bpbl9sb2NrZWQoJmRldl9wcml2LT5pcnFfbG9jayk7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+IGluZGV4IDZiMTYyOTIuLjg4ZDRlYjAgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gQEAgLTExMywxMCArMTEzLDExIEBAIHN0YXRp YyB1MzIgaHN3X2luZm9mcmFtZV9lbmFibGUoZW51bSBoZG1pX2luZm9mcmFtZV90eXBlIHR5cGUp Cj4gIAl9Cj4gIH0KPiAgCj4gLXN0YXRpYyB1MzIgaHN3X2RpcF9kYXRhX3JlZyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gLQkJCSAgICBlbnVtIHRyYW5zY29kZXIgY3B1X3Ry YW5zY29kZXIsCj4gLQkJCSAgICBlbnVtIGhkbWlfaW5mb2ZyYW1lX3R5cGUgdHlwZSwKPiAtCQkJ ICAgIGludCBpKQo+ICtzdGF0aWMgc3RydWN0IGk5MTVfcmVnCj4gK2hzd19kaXBfZGF0YV9yZWco c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCSBlbnVtIHRyYW5zY29kZXIg Y3B1X3RyYW5zY29kZXIsCj4gKwkJIGVudW0gaGRtaV9pbmZvZnJhbWVfdHlwZSB0eXBlLAo+ICsJ CSBpbnQgaSkKPiAgewo+ICAJc3dpdGNoICh0eXBlKSB7Cj4gIAljYXNlIEhETUlfSU5GT0ZSQU1F X1RZUEVfQVZJOgo+IEBAIC0xMjcsNyArMTI4LDcgQEAgc3RhdGljIHUzMiBoc3dfZGlwX2RhdGFf cmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQlyZXR1cm4gSFNXX1RW SURFT19ESVBfVlNfREFUQShjcHVfdHJhbnNjb2RlciwgaSk7Cj4gIAlkZWZhdWx0Ogo+ICAJCURS TV9ERUJVR19EUklWRVIoInVua25vd24gaW5mbyBmcmFtZSB0eXBlICVkXG4iLCB0eXBlKTsKPiAt CQlyZXR1cm4gMDsKPiArCQlyZXR1cm4gX1JFRygwKTsKPiAgCX0KPiAgfQo+ICAKPiBAQCAtMTkz LDggKzE5NCw5IEBAIHN0YXRpYyB2b2lkIGlieF93cml0ZV9pbmZvZnJhbWUoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyLAo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRl djsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoZW5j b2Rlci0+Y3J0Yyk7Cj4gLQlpbnQgaSwgcmVnID0gVFZJREVPX0RJUF9DVEwoaW50ZWxfY3J0Yy0+ cGlwZSk7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgcmVnID0gVFZJREVPX0RJUF9DVEwoaW50ZWxfY3J0 Yy0+cGlwZSk7Cj4gIAl1MzIgdmFsID0gSTkxNV9SRUFEKHJlZyk7Cj4gKwlpbnQgaTsKPiAgCj4g IAlXQVJOKCEodmFsICYgVklERU9fRElQX0VOQUJMRSksICJXcml0aW5nIERJUCB3aXRoIENUTCBy ZWcgZGlzYWJsZWRcbiIpOwo+ICAKPiBAQCAtMjI5LDcgKzIzMSw3IEBAIHN0YXRpYyBib29sIGli eF9pbmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMp Owo+ICAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9f ZGlnX3BvcnQoZW5jb2Rlcik7Cj4gLQlpbnQgcmVnID0gVFZJREVPX0RJUF9DVEwoaW50ZWxfY3J0 Yy0+cGlwZSk7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgcmVnID0gVFZJREVPX0RJUF9DVEwoaW50ZWxf Y3J0Yy0+cGlwZSk7Cj4gIAl1MzIgdmFsID0gSTkxNV9SRUFEKHJlZyk7Cj4gIAo+ICAJaWYgKCh2 YWwgJiBWSURFT19ESVBfRU5BQkxFKSA9PSAwKQo+IEBAIC0yNTEsOCArMjUzLDkgQEAgc3RhdGlj IHZvaWQgY3B0X3dyaXRlX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4g IAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ZGV2Owo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRl bF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5jcnRjKTsKPiAtCWlu dCBpLCByZWcgPSBUVklERU9fRElQX0NUTChpbnRlbF9jcnRjLT5waXBlKTsKPiArCXN0cnVjdCBp OTE1X3JlZyByZWcgPSBUVklERU9fRElQX0NUTChpbnRlbF9jcnRjLT5waXBlKTsKPiAgCXUzMiB2 YWwgPSBJOTE1X1JFQUQocmVnKTsKPiArCWludCBpOwo+ICAKPiAgCVdBUk4oISh2YWwgJiBWSURF T19ESVBfRU5BQkxFKSwgIldyaXRpbmcgRElQIHdpdGggQ1RMIHJlZyBkaXNhYmxlZFxuIik7Cj4g IAo+IEBAIC0yODksOCArMjkyLDcgQEAgc3RhdGljIGJvb2wgY3B0X2luZm9mcmFtZV9lbmFibGVk KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBlbmNvZGVyLT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19p bnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwo+IC0JaW50IHJlZyA9IFRWSURFT19ESVBfQ1RMKGlu dGVsX2NydGMtPnBpcGUpOwo+IC0JdTMyIHZhbCA9IEk5MTVfUkVBRChyZWcpOwo+ICsJdTMyIHZh bCA9IEk5MTVfUkVBRChUVklERU9fRElQX0NUTChpbnRlbF9jcnRjLT5waXBlKSk7Cj4gIAo+ICAJ aWYgKCh2YWwgJiBWSURFT19ESVBfRU5BQkxFKSA9PSAwKQo+ICAJCXJldHVybiBmYWxzZTsKPiBA QCAtMzA4LDggKzMxMCw5IEBAIHN0YXRpYyB2b2lkIHZsdl93cml0ZV9pbmZvZnJhbWUoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29k ZXItPmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2 X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2Ny dGMoZW5jb2Rlci0+Y3J0Yyk7Cj4gLQlpbnQgaSwgcmVnID0gVkxWX1RWSURFT19ESVBfQ1RMKGlu dGVsX2NydGMtPnBpcGUpOwo+ICsJc3RydWN0IGk5MTVfcmVnIHJlZyA9IFZMVl9UVklERU9fRElQ X0NUTChpbnRlbF9jcnRjLT5waXBlKTsKPiAgCXUzMiB2YWwgPSBJOTE1X1JFQUQocmVnKTsKPiAr CWludCBpOwo+ICAKPiAgCVdBUk4oISh2YWwgJiBWSURFT19ESVBfRU5BQkxFKSwgIldyaXRpbmcg RElQIHdpdGggQ1RMIHJlZyBkaXNhYmxlZFxuIik7Cj4gIAo+IEBAIC0zNDQsOCArMzQ3LDcgQEAg c3RhdGljIGJvb2wgdmx2X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlcikKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMo ZW5jb2Rlci0+Y3J0Yyk7Cj4gIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdf cG9ydCA9IGVuY190b19kaWdfcG9ydChlbmNvZGVyKTsKPiAtCWludCByZWcgPSBWTFZfVFZJREVP X0RJUF9DVEwoaW50ZWxfY3J0Yy0+cGlwZSk7Cj4gLQl1MzIgdmFsID0gSTkxNV9SRUFEKHJlZyk7 Cj4gKwl1MzIgdmFsID0gSTkxNV9SRUFEKFZMVl9UVklERU9fRElQX0NUTChpbnRlbF9jcnRjLT5w aXBlKSk7Cj4gIAo+ICAJaWYgKCh2YWwgJiBWSURFT19ESVBfRU5BQkxFKSA9PSAwKQo+ICAJCXJl dHVybiBmYWxzZTsKPiBAQCAtMzY3LDEzICszNjksMTMgQEAgc3RhdGljIHZvaWQgaHN3X3dyaXRl X2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGludGVs X2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwo+ICAJZW51 bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gaW50ZWxfY3J0Yy0+Y29uZmlnLT5jcHVfdHJh bnNjb2RlcjsKPiAtCXUzMiBjdGxfcmVnID0gSFNXX1RWSURFT19ESVBfQ1RMKGNwdV90cmFuc2Nv ZGVyKTsKPiAtCXUzMiBkYXRhX3JlZzsKPiArCXN0cnVjdCBpOTE1X3JlZyBjdGxfcmVnID0gSFNX X1RWSURFT19ESVBfQ1RMKGNwdV90cmFuc2NvZGVyKTsKPiArCXN0cnVjdCBpOTE1X3JlZyBkYXRh X3JlZzsKPiAgCWludCBpOwo+ICAJdTMyIHZhbCA9IEk5MTVfUkVBRChjdGxfcmVnKTsKPiAgCj4g IAlkYXRhX3JlZyA9IGhzd19kaXBfZGF0YV9yZWcoZGV2X3ByaXYsIGNwdV90cmFuc2NvZGVyLCB0 eXBlLCAwKTsKPiAtCWlmIChkYXRhX3JlZyA9PSAwKQo+ICsJaWYgKGRhdGFfcmVnLnJlZyA9PSAw KQo+ICAJCXJldHVybjsKPiAgCj4gIAl2YWwgJj0gfmhzd19pbmZvZnJhbWVfZW5hYmxlKHR5cGUp Owo+IEBAIC00MDEsOCArNDAzLDcgQEAgc3RhdGljIGJvb2wgaHN3X2luZm9mcmFtZV9lbmFibGVk KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBlbmNvZGVyLT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19p bnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwo+IC0JdTMyIGN0bF9yZWcgPSBIU1dfVFZJREVPX0RJ UF9DVEwoaW50ZWxfY3J0Yy0+Y29uZmlnLT5jcHVfdHJhbnNjb2Rlcik7Cj4gLQl1MzIgdmFsID0g STkxNV9SRUFEKGN0bF9yZWcpOwo+ICsJdTMyIHZhbCA9IEk5MTVfUkVBRChIU1dfVFZJREVPX0RJ UF9DVEwoaW50ZWxfY3J0Yy0+Y29uZmlnLT5jcHVfdHJhbnNjb2RlcikpOwo+ICAKPiAgCXJldHVy biB2YWwgJiAoVklERU9fRElQX0VOQUJMRV9WU0NfSFNXIHwgVklERU9fRElQX0VOQUJMRV9BVklf SFNXIHwKPiAgCQkgICAgICBWSURFT19ESVBfRU5BQkxFX0dDUF9IU1cgfCBWSURFT19ESVBfRU5B QkxFX1ZTX0hTVyB8Cj4gQEAgLTUxNiw3ICs1MTcsNyBAQCBzdGF0aWMgdm9pZCBnNHhfc2V0X2lu Zm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZW5jb2Rlci0+ZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVu Y29kZXIpOwo+ICAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSAmaW50ZWxfZGlnX3Bv cnQtPmhkbWk7Cj4gLQl1MzIgcmVnID0gVklERU9fRElQX0NUTDsKPiArCXN0cnVjdCBpOTE1X3Jl ZyByZWcgPSBWSURFT19ESVBfQ1RMOwo+ICAJdTMyIHZhbCA9IEk5MTVfUkVBRChyZWcpOwo+ICAJ dTMyIHBvcnQgPSBWSURFT19ESVBfUE9SVChpbnRlbF9kaWdfcG9ydC0+cG9ydCk7Cj4gIAo+IEBA IC02MzYsNyArNjM3LDggQEAgc3RhdGljIGJvb2wgaW50ZWxfaGRtaV9zZXRfZ2NwX2luZm9mcmFt ZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGVuY29kZXItPmRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+Y3J0Yyk7Cj4gLQl1MzIg cmVnLCB2YWwgPSAwOwo+ICsJc3RydWN0IGk5MTVfcmVnIHJlZzsKPiArCXUzMiB2YWwgPSAwOwo+ ICAKPiAgCWlmIChIQVNfRERJKGRldl9wcml2KSkKPiAgCQlyZWcgPSBIU1dfVFZJREVPX0RJUF9H Q1AoY3J0Yy0+Y29uZmlnLT5jcHVfdHJhbnNjb2Rlcik7Cj4gQEAgLTY2OSw3ICs2NzEsNyBAQCBz dGF0aWMgdm9pZCBpYnhfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVy LAo+ICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29k ZXItPmNydGMpOwo+ICAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQg PSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7Cj4gIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxf aGRtaSA9ICZpbnRlbF9kaWdfcG9ydC0+aGRtaTsKPiAtCXUzMiByZWcgPSBUVklERU9fRElQX0NU TChpbnRlbF9jcnRjLT5waXBlKTsKPiArCXN0cnVjdCBpOTE1X3JlZyByZWcgPSBUVklERU9fRElQ X0NUTChpbnRlbF9jcnRjLT5waXBlKTsKPiAgCXUzMiB2YWwgPSBJOTE1X1JFQUQocmVnKTsKPiAg CXUzMiBwb3J0ID0gVklERU9fRElQX1BPUlQoaW50ZWxfZGlnX3BvcnQtPnBvcnQpOwo+ICAKPiBA QCAtNzIwLDcgKzcyMiw3IEBAIHN0YXRpYyB2b2lkIGNwdF9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBlbmNvZGVyLT5kZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGludGVsX2NydGMgKmlu dGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwo+ICAJc3RydWN0IGludGVs X2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaShlbmNvZGVyKTsKPiAtCXUzMiBy ZWcgPSBUVklERU9fRElQX0NUTChpbnRlbF9jcnRjLT5waXBlKTsKPiArCXN0cnVjdCBpOTE1X3Jl ZyByZWcgPSBUVklERU9fRElQX0NUTChpbnRlbF9jcnRjLT5waXBlKTsKPiAgCXUzMiB2YWwgPSBJ OTE1X1JFQUQocmVnKTsKPiAgCj4gIAlhc3NlcnRfaGRtaV9wb3J0X2Rpc2FibGVkKGludGVsX2hk bWkpOwo+IEBAIC03NjMsNyArNzY1LDcgQEAgc3RhdGljIHZvaWQgdmx2X3NldF9pbmZvZnJhbWVz KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAgCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwo+ICAJc3RydWN0 IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwo+ ICAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaShlbmNv ZGVyKTsKPiAtCXUzMiByZWcgPSBWTFZfVFZJREVPX0RJUF9DVEwoaW50ZWxfY3J0Yy0+cGlwZSk7 Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgcmVnID0gVkxWX1RWSURFT19ESVBfQ1RMKGludGVsX2NydGMt PnBpcGUpOwo+ICAJdTMyIHZhbCA9IEk5MTVfUkVBRChyZWcpOwo+ICAJdTMyIHBvcnQgPSBWSURF T19ESVBfUE9SVChpbnRlbF9kaWdfcG9ydC0+cG9ydCk7Cj4gIAo+IEBAIC04MTQsNyArODE2LDcg QEAgc3RhdGljIHZvaWQgaHN3X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlciwKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVuY29kZXItPmRl di0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2lu dGVsX2NydGMoZW5jb2Rlci0+Y3J0Yyk7Cj4gIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRt aSA9IGVuY190b19pbnRlbF9oZG1pKGVuY29kZXIpOwo+IC0JdTMyIHJlZyA9IEhTV19UVklERU9f RElQX0NUTChpbnRlbF9jcnRjLT5jb25maWctPmNwdV90cmFuc2NvZGVyKTsKPiArCXN0cnVjdCBp OTE1X3JlZyByZWcgPSBIU1dfVFZJREVPX0RJUF9DVEwoaW50ZWxfY3J0Yy0+Y29uZmlnLT5jcHVf dHJhbnNjb2Rlcik7Cj4gIAl1MzIgdmFsID0gSTkxNV9SRUFEKHJlZyk7Cj4gIAo+ICAJYXNzZXJ0 X2hkbWlfcG9ydF9kaXNhYmxlZChpbnRlbF9oZG1pKTsKPiBAQCAtMjEzNCw3ICsyMTM2LDggQEAg dm9pZCBpbnRlbF9oZG1pX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0LAo+ICAJfQo+ICB9Cj4gIAo+IC12b2lkIGludGVsX2hkbWlfaW5pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgaGRtaV9yZWcsIGVudW0gcG9ydCBwb3J0KQo+ICt2 b2lkIGludGVsX2hkbWlfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJCSAgICAgc3Ry dWN0IGk5MTVfcmVnIGhkbWlfcmVnLCBlbnVtIHBvcnQgcG9ydCkKPiAgewo+ICAJc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQ7Cj4gIAlzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqaW50ZWxfZW5jb2RlcjsKPiBAQCAtMjIwNSw3ICsyMjA4LDcgQEAgdm9pZCBpbnRlbF9oZG1p X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGhkbWlfcmVnLCBlbnVtIHBvcnQgcG9y dCkKPiAgCj4gIAlpbnRlbF9kaWdfcG9ydC0+cG9ydCA9IHBvcnQ7Cj4gIAlpbnRlbF9kaWdfcG9y dC0+aGRtaS5oZG1pX3JlZyA9IGhkbWlfcmVnOwo+IC0JaW50ZWxfZGlnX3BvcnQtPmRwLm91dHB1 dF9yZWcgPSAwOwo+ICsJaW50ZWxfZGlnX3BvcnQtPmRwLm91dHB1dF9yZWcgPSBfUkVHKDApOwo+ ICAKPiAgCWludGVsX2hkbWlfaW5pdF9jb25uZWN0b3IoaW50ZWxfZGlnX3BvcnQsIGludGVsX2Nv bm5lY3Rvcik7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf aTJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9pMmMuYwo+IGluZGV4IDEzNjlmYzQu LjFlNTliZTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaTJjLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9pMmMuYwo+IEBAIC0zNiw3ICszNiw3 IEBACj4gIAo+ICBzdHJ1Y3QgZ21idXNfcGluIHsKPiAgCWNvbnN0IGNoYXIgKm5hbWU7Cj4gLQlp bnQgcmVnOwo+ICsJc3RydWN0IGk5MTVfcmVnIHJlZzsKPiAgfTsKPiAgCj4gIC8qIE1hcCBnbWJ1 cyBwaW4gcGFpcnMgdG8gbmFtZXMgYW5kIHJlZ2lzdGVycy4gKi8KPiBAQCAtOTYsNyArOTYsNyBA QCBib29sIGludGVsX2dtYnVzX2lzX3ZhbGlkX3BpbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gIAllbHNlCj4gIAkJc2l6ZSA9IEFSUkFZX1NJWkUoZ21idXNfcGlucyk7Cj4g IAo+IC0JcmV0dXJuIHBpbiA8IHNpemUgJiYgZ2V0X2dtYnVzX3BpbihkZXZfcHJpdiwgcGluKS0+ cmVnOwo+ICsJcmV0dXJuIHBpbiA8IHNpemUgJiYgZ2V0X2dtYnVzX3BpbihkZXZfcHJpdiwgcGlu KS0+cmVnLnJlZzsKPiAgfQo+ICAKPiAgLyogSW50ZWwgR1BJTyBhY2Nlc3MgZnVuY3Rpb25zICov Cj4gQEAgLTI0MCw4ICsyNDAsOCBAQCBpbnRlbF9ncGlvX3NldHVwKHN0cnVjdCBpbnRlbF9nbWJ1 cyAqYnVzLCB1bnNpZ25lZCBpbnQgcGluKQo+ICAKPiAgCWFsZ28gPSAmYnVzLT5iaXRfYWxnbzsK PiAgCj4gLQlidXMtPmdwaW9fcmVnID0gZGV2X3ByaXYtPmdwaW9fbW1pb19iYXNlICsKPiAtCQln ZXRfZ21idXNfcGluKGRldl9wcml2LCBwaW4pLT5yZWc7Cj4gKwlidXMtPmdwaW9fcmVnID0gZ2V0 X2dtYnVzX3BpbihkZXZfcHJpdiwgcGluKS0+cmVnOwo+ICsJYnVzLT5ncGlvX3JlZy5yZWcgKz0g ZGV2X3ByaXYtPmdwaW9fbW1pb19iYXNlOwo+ICAKPiAgCWJ1cy0+YWRhcHRlci5hbGdvX2RhdGEg PSBhbGdvOwo+ICAJYWxnby0+c2V0c2RhID0gc2V0X2RhdGE7Cj4gQEAgLTYyNyw3ICs2MjcsNyBA QCBpbnQgaW50ZWxfc2V0dXBfZ21idXMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCWlmIChI QVNfUENIX05PUChkZXYpKQo+ICAJCXJldHVybiAwOwo+ICAJZWxzZSBpZiAoSEFTX1BDSF9TUExJ VChkZXYpKQo+IC0JCWRldl9wcml2LT5ncGlvX21taW9fYmFzZSA9IFBDSF9HUElPQSAtIEdQSU9B Owo+ICsJCWRldl9wcml2LT5ncGlvX21taW9fYmFzZSA9IFBDSF9HUElPQS5yZWcgLSBHUElPQS5y ZWc7Cj4gIAllbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldikpCj4gIAkJZGV2X3ByaXYtPmdwaW9f bW1pb19iYXNlID0gVkxWX0RJU1BMQVlfQkFTRTsKPiAgCWVsc2UKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYwo+IGluZGV4IGNhOWYxNjEuLmIyNTQyNjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYwo+IEBAIC05MzQsNyArOTM0LDcgQEAgaW50IGludGVsX2V4ZWNsaXN0c19zdWJtaXNz aW9uKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCj4gIAo+ICAJCWludGVs X2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIE1JX05PT1ApOwo+ICAJCWludGVsX2xvZ2ljYWxf cmluZ19lbWl0KHJpbmdidWYsIE1JX0xPQURfUkVHSVNURVJfSU1NKDEpKTsKPiAtCQlpbnRlbF9s b2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBJTlNUUE0pOwo+ICsJCWludGVsX2xvZ2ljYWxfcmlu Z19lbWl0KHJpbmdidWYsIElOU1RQTS5yZWcpOwo+ICAJCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0 KHJpbmdidWYsIGluc3RwX21hc2sgPDwgMTYgfCBpbnN0cF9tb2RlKTsKPiAgCQlpbnRlbF9sb2dp Y2FsX3JpbmdfYWR2YW5jZShyaW5nYnVmKTsKPiAgCj4gQEAgLTExMDksNyArMTEwOSw3IEBAIHN0 YXRpYyBpbnQgaW50ZWxfbG9naWNhbF9yaW5nX3dvcmthcm91bmRzX2VtaXQoc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4gIAo+ICAJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQocmlu Z2J1ZiwgTUlfTE9BRF9SRUdJU1RFUl9JTU0ody0+Y291bnQpKTsKPiAgCWZvciAoaSA9IDA7IGkg PCB3LT5jb3VudDsgaSsrKSB7Cj4gLQkJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1Ziwg dy0+cmVnW2ldLmFkZHIpOwo+ICsJCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIHct PnJlZ1tpXS5hZGRyLnJlZyk7Cj4gIAkJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1Ziwg dy0+cmVnW2ldLnZhbHVlKTsKPiAgCX0KPiAgCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdi dWYsIE1JX05PT1ApOwo+IEBAIC0xMTY3LDEyICsxMTY3LDEyIEBAIHN0YXRpYyBpbmxpbmUgaW50 IGdlbjhfZW1pdF9mbHVzaF9jb2hlcmVudGwzX3dhKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcsCj4gIAo+ICAJd2FfY3R4X2VtaXQoYmF0Y2gsIGluZGV4LCAoTUlfU1RPUkVfUkVHSVNURVJf TUVNX0dFTjggfAo+ICAJCQkJICAgTUlfU1JNX0xSTV9HTE9CQUxfR1RUKSk7Cj4gLQl3YV9jdHhf ZW1pdChiYXRjaCwgaW5kZXgsIEdFTjhfTDNTUUNSRUc0KTsKPiArCXdhX2N0eF9lbWl0KGJhdGNo LCBpbmRleCwgR0VOOF9MM1NRQ1JFRzQucmVnKTsKPiAgCXdhX2N0eF9lbWl0KGJhdGNoLCBpbmRl eCwgcmluZy0+c2NyYXRjaC5ndHRfb2Zmc2V0ICsgMjU2KTsKPiAgCXdhX2N0eF9lbWl0KGJhdGNo LCBpbmRleCwgMCk7Cj4gIAo+ICAJd2FfY3R4X2VtaXQoYmF0Y2gsIGluZGV4LCBNSV9MT0FEX1JF R0lTVEVSX0lNTSgxKSk7Cj4gLQl3YV9jdHhfZW1pdChiYXRjaCwgaW5kZXgsIEdFTjhfTDNTUUNS RUc0KTsKPiArCXdhX2N0eF9lbWl0KGJhdGNoLCBpbmRleCwgR0VOOF9MM1NRQ1JFRzQucmVnKTsK PiAgCXdhX2N0eF9lbWl0KGJhdGNoLCBpbmRleCwgbDNzcWM0X2ZsdXNoKTsKPiAgCj4gIAl3YV9j dHhfZW1pdChiYXRjaCwgaW5kZXgsIEdGWF9PUF9QSVBFX0NPTlRST0woNikpOwo+IEBAIC0xMTg1 LDcgKzExODUsNyBAQCBzdGF0aWMgaW5saW5lIGludCBnZW44X2VtaXRfZmx1c2hfY29oZXJlbnRs M193YShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+ICAKPiAgCXdhX2N0eF9lbWl0KGJh dGNoLCBpbmRleCwgKE1JX0xPQURfUkVHSVNURVJfTUVNX0dFTjggfAo+ICAJCQkJICAgTUlfU1JN X0xSTV9HTE9CQUxfR1RUKSk7Cj4gLQl3YV9jdHhfZW1pdChiYXRjaCwgaW5kZXgsIEdFTjhfTDNT UUNSRUc0KTsKPiArCXdhX2N0eF9lbWl0KGJhdGNoLCBpbmRleCwgR0VOOF9MM1NRQ1JFRzQucmVn KTsKPiAgCXdhX2N0eF9lbWl0KGJhdGNoLCBpbmRleCwgcmluZy0+c2NyYXRjaC5ndHRfb2Zmc2V0 ICsgMjU2KTsKPiAgCXdhX2N0eF9lbWl0KGJhdGNoLCBpbmRleCwgMCk7Cj4gIAo+IEBAIC0xMzU1 LDcgKzEzNTUsNyBAQCBzdGF0aWMgaW50IGdlbjlfaW5pdF9wZXJjdHhfYmIoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZywKPiAgCWlmICgoSVNfU0tZTEFLRShkZXYpICYmIChJTlRFTF9SRVZJ RChkZXYpIDw9IFNLTF9SRVZJRF9CMCkpIHx8Cj4gIAkgICAgKElTX0JST1hUT04oZGV2KSAmJiAo SU5URUxfUkVWSUQoZGV2KSA9PSBCWFRfUkVWSURfQTApKSkgewo+ICAJCXdhX2N0eF9lbWl0KGJh dGNoLCBpbmRleCwgTUlfTE9BRF9SRUdJU1RFUl9JTU0oMSkpOwo+IC0JCXdhX2N0eF9lbWl0KGJh dGNoLCBpbmRleCwgR0VOOV9TTElDRV9DT01NT05fRUNPX0NISUNLRU4wKTsKPiArCQl3YV9jdHhf ZW1pdChiYXRjaCwgaW5kZXgsIEdFTjlfU0xJQ0VfQ09NTU9OX0VDT19DSElDS0VOMC5yZWcpOwo+ ICAJCXdhX2N0eF9lbWl0KGJhdGNoLCBpbmRleCwKPiAgCQkJICAgIF9NQVNLRURfQklUX0VOQUJM RShESVNBQkxFX1BJWEVMX01BU0tfQ0FNTUlORykpOwo+ICAJCXdhX2N0eF9lbWl0KGJhdGNoLCBp bmRleCwgTUlfTk9PUCk7Cj4gQEAgLTE1NTEsOSArMTU1MSw5IEBAIHN0YXRpYyBpbnQgaW50ZWxf bG9naWNhbF9yaW5nX2VtaXRfcGRwcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkK PiAgCWZvciAoaSA9IEdFTjhfTEVHQUNZX1BEUEVTIC0gMTsgaSA+PSAwOyBpLS0pIHsKPiAgCQlj b25zdCBkbWFfYWRkcl90IHBkX2RhZGRyID0gaTkxNV9wYWdlX2Rpcl9kbWFfYWRkcihwcGd0dCwg aSk7Cj4gIAo+IC0JCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIEdFTjhfUklOR19Q RFBfVURXKHJpbmcsIGkpKTsKPiArCQlpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBH RU44X1JJTkdfUERQX1VEVyhyaW5nLCBpKS5yZWcpOwo+ICAJCWludGVsX2xvZ2ljYWxfcmluZ19l bWl0KHJpbmdidWYsIHVwcGVyXzMyX2JpdHMocGRfZGFkZHIpKTsKPiAtCQlpbnRlbF9sb2dpY2Fs X3JpbmdfZW1pdChyaW5nYnVmLCBHRU44X1JJTkdfUERQX0xEVyhyaW5nLCBpKSk7Cj4gKwkJaW50 ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwgR0VOOF9SSU5HX1BEUF9MRFcocmluZywgaSku cmVnKTsKPiAgCQlpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBsb3dlcl8zMl9iaXRz KHBkX2RhZGRyKSk7Cj4gIAl9Cj4gIAo+IEBAIC0yMjU2LDIwICsyMjU2LDIwIEBAIHBvcHVsYXRl X2xyX2NvbnRleHQoc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwgc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKmN0eF9vCj4gIAllbHNlCj4gIAkJcmVnX3N0YXRlW0NUWF9MUklfSEVBREVSXzBd ID0gTUlfTE9BRF9SRUdJU1RFUl9JTU0oMTEpOwo+ICAJcmVnX3N0YXRlW0NUWF9MUklfSEVBREVS XzBdIHw9IE1JX0xSSV9GT1JDRV9QT1NURUQ7Cj4gLQlyZWdfc3RhdGVbQ1RYX0NPTlRFWFRfQ09O VFJPTF0gPSBSSU5HX0NPTlRFWFRfQ09OVFJPTChyaW5nKTsKPiArCXJlZ19zdGF0ZVtDVFhfQ09O VEVYVF9DT05UUk9MXSA9IFJJTkdfQ09OVEVYVF9DT05UUk9MKHJpbmcpLnJlZzsKPiAgCXJlZ19z dGF0ZVtDVFhfQ09OVEVYVF9DT05UUk9MKzFdID0KPiAgCQlfTUFTS0VEX0JJVF9FTkFCTEUoQ1RY X0NUUkxfSU5ISUJJVF9TWU5fQ1RYX1NXSVRDSCB8Cj4gIAkJCQkgICBDVFhfQ1RSTF9FTkdJTkVf Q1RYX1JFU1RPUkVfSU5ISUJJVCB8Cj4gIAkJCQkgICBDVFhfQ1RSTF9SU19DVFhfRU5BQkxFKTsK PiAtCXJlZ19zdGF0ZVtDVFhfUklOR19IRUFEXSA9IFJJTkdfSEVBRChyaW5nLT5tbWlvX2Jhc2Up Owo+ICsJcmVnX3N0YXRlW0NUWF9SSU5HX0hFQURdID0gUklOR19IRUFEKHJpbmctPm1taW9fYmFz ZSkucmVnOwo+ICAJcmVnX3N0YXRlW0NUWF9SSU5HX0hFQUQrMV0gPSAwOwo+IC0JcmVnX3N0YXRl W0NUWF9SSU5HX1RBSUxdID0gUklOR19UQUlMKHJpbmctPm1taW9fYmFzZSk7Cj4gKwlyZWdfc3Rh dGVbQ1RYX1JJTkdfVEFJTF0gPSBSSU5HX1RBSUwocmluZy0+bW1pb19iYXNlKS5yZWc7Cj4gIAly ZWdfc3RhdGVbQ1RYX1JJTkdfVEFJTCsxXSA9IDA7Cj4gLQlyZWdfc3RhdGVbQ1RYX1JJTkdfQlVG RkVSX1NUQVJUXSA9IFJJTkdfU1RBUlQocmluZy0+bW1pb19iYXNlKTsKPiArCXJlZ19zdGF0ZVtD VFhfUklOR19CVUZGRVJfU1RBUlRdID0gUklOR19TVEFSVChyaW5nLT5tbWlvX2Jhc2UpLnJlZzsK PiAgCS8qIFJpbmcgYnVmZmVyIHN0YXJ0IGFkZHJlc3MgaXMgbm90IGtub3duIHVudGlsIHRoZSBi dWZmZXIgaXMgcGlubmVkLgo+ICAJICogSXQgaXMgd3JpdHRlbiB0byB0aGUgY29udGV4dCBpbWFn ZSBpbiBleGVjbGlzdHNfdXBkYXRlX2NvbnRleHQoKQo+ICAJICovCj4gLQlyZWdfc3RhdGVbQ1RY X1JJTkdfQlVGRkVSX0NPTlRST0xdID0gUklOR19DVEwocmluZy0+bW1pb19iYXNlKTsKPiArCXJl Z19zdGF0ZVtDVFhfUklOR19CVUZGRVJfQ09OVFJPTF0gPSBSSU5HX0NUTChyaW5nLT5tbWlvX2Jh c2UpLnJlZzsKPiAgCXJlZ19zdGF0ZVtDVFhfUklOR19CVUZGRVJfQ09OVFJPTCsxXSA9Cj4gIAkJ CSgocmluZ2J1Zi0+c2l6ZSAtIFBBR0VfU0laRSkgJiBSSU5HX05SX1BBR0VTKSB8IFJJTkdfVkFM SUQ7Cj4gIAlyZWdfc3RhdGVbQ1RYX0JCX0hFQURfVV0gPSByaW5nLT5tbWlvX2Jhc2UgKyAweDE2 ODsKPiBAQCAtMjMxMSwxNCArMjMxMSwxNCBAQCBwb3B1bGF0ZV9scl9jb250ZXh0KHN0cnVjdCBp bnRlbF9jb250ZXh0ICpjdHgsIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfbwo+ICAJ cmVnX3N0YXRlW0NUWF9MUklfSEVBREVSXzFdIHw9IE1JX0xSSV9GT1JDRV9QT1NURUQ7Cj4gIAly ZWdfc3RhdGVbQ1RYX0NUWF9USU1FU1RBTVBdID0gcmluZy0+bW1pb19iYXNlICsgMHgzYTg7Cj4g IAlyZWdfc3RhdGVbQ1RYX0NUWF9USU1FU1RBTVArMV0gPSAwOwo+IC0JcmVnX3N0YXRlW0NUWF9Q RFAzX1VEV10gPSBHRU44X1JJTkdfUERQX1VEVyhyaW5nLCAzKTsKPiAtCXJlZ19zdGF0ZVtDVFhf UERQM19MRFddID0gR0VOOF9SSU5HX1BEUF9MRFcocmluZywgMyk7Cj4gLQlyZWdfc3RhdGVbQ1RY X1BEUDJfVURXXSA9IEdFTjhfUklOR19QRFBfVURXKHJpbmcsIDIpOwo+IC0JcmVnX3N0YXRlW0NU WF9QRFAyX0xEV10gPSBHRU44X1JJTkdfUERQX0xEVyhyaW5nLCAyKTsKPiAtCXJlZ19zdGF0ZVtD VFhfUERQMV9VRFddID0gR0VOOF9SSU5HX1BEUF9VRFcocmluZywgMSk7Cj4gLQlyZWdfc3RhdGVb Q1RYX1BEUDFfTERXXSA9IEdFTjhfUklOR19QRFBfTERXKHJpbmcsIDEpOwo+IC0JcmVnX3N0YXRl W0NUWF9QRFAwX1VEV10gPSBHRU44X1JJTkdfUERQX1VEVyhyaW5nLCAwKTsKPiAtCXJlZ19zdGF0 ZVtDVFhfUERQMF9MRFddID0gR0VOOF9SSU5HX1BEUF9MRFcocmluZywgMCk7Cj4gKwlyZWdfc3Rh dGVbQ1RYX1BEUDNfVURXXSA9IEdFTjhfUklOR19QRFBfVURXKHJpbmcsIDMpLnJlZzsKPiArCXJl Z19zdGF0ZVtDVFhfUERQM19MRFddID0gR0VOOF9SSU5HX1BEUF9MRFcocmluZywgMykucmVnOwo+ ICsJcmVnX3N0YXRlW0NUWF9QRFAyX1VEV10gPSBHRU44X1JJTkdfUERQX1VEVyhyaW5nLCAyKS5y ZWc7Cj4gKwlyZWdfc3RhdGVbQ1RYX1BEUDJfTERXXSA9IEdFTjhfUklOR19QRFBfTERXKHJpbmcs IDIpLnJlZzsKPiArCXJlZ19zdGF0ZVtDVFhfUERQMV9VRFddID0gR0VOOF9SSU5HX1BEUF9VRFco cmluZywgMSkucmVnOwo+ICsJcmVnX3N0YXRlW0NUWF9QRFAxX0xEV10gPSBHRU44X1JJTkdfUERQ X0xEVyhyaW5nLCAxKS5yZWc7Cj4gKwlyZWdfc3RhdGVbQ1RYX1BEUDBfVURXXSA9IEdFTjhfUklO R19QRFBfVURXKHJpbmcsIDApLnJlZzsKPiArCXJlZ19zdGF0ZVtDVFhfUERQMF9MRFddID0gR0VO OF9SSU5HX1BEUF9MRFcocmluZywgMCkucmVnOwo+ICAKPiAgCWlmIChVU0VTX0ZVTExfNDhCSVRf UFBHVFQocHBndHQtPmJhc2UuZGV2KSkgewo+ICAJCS8qIDY0YiBQUEdUVCAoNDhiaXQgY2Fub25p Y2FsKQo+IEBAIC0yMzQwLDcgKzIzNDAsNyBAQCBwb3B1bGF0ZV9scl9jb250ZXh0KHN0cnVjdCBp bnRlbF9jb250ZXh0ICpjdHgsIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfbwo+ICAK PiAgCWlmIChyaW5nLT5pZCA9PSBSQ1MpIHsKPiAgCQlyZWdfc3RhdGVbQ1RYX0xSSV9IRUFERVJf Ml0gPSBNSV9MT0FEX1JFR0lTVEVSX0lNTSgxKTsKPiAtCQlyZWdfc3RhdGVbQ1RYX1JfUFdSX0NM S19TVEFURV0gPSBHRU44X1JfUFdSX0NMS19TVEFURTsKPiArCQlyZWdfc3RhdGVbQ1RYX1JfUFdS X0NMS19TVEFURV0gPSBHRU44X1JfUFdSX0NMS19TVEFURS5yZWc7Cj4gIAkJcmVnX3N0YXRlW0NU WF9SX1BXUl9DTEtfU1RBVEUrMV0gPSBtYWtlX3JwY3MoZGV2KTsKPiAgCX0KPiAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmgKPiBpbmRleCA4YTA4YTI3Li4yOGQ2YzI2YiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5oCj4gQEAgLTI2LDE4ICsyNiw2IEBACj4gIAo+ICAjZGVmaW5lIEdF TjhfTFJfQ09OVEVYVF9BTElHTiA0MDk2Cj4gIAo+IC0vKiBFeGVjbGlzdHMgcmVncyAqLwo+IC0j ZGVmaW5lIFJJTkdfRUxTUChyaW5nKQkJCSgocmluZyktPm1taW9fYmFzZSsweDIzMCkKPiAtI2Rl ZmluZSBSSU5HX0VYRUNMSVNUX1NUQVRVU19MTyhyaW5nKQkoKHJpbmcpLT5tbWlvX2Jhc2UrMHgy MzQpCj4gLSNkZWZpbmUgUklOR19FWEVDTElTVF9TVEFUVVNfSEkocmluZykJKChyaW5nKS0+bW1p b19iYXNlKzB4MjM0ICsgNCkKPiAtI2RlZmluZSBSSU5HX0NPTlRFWFRfQ09OVFJPTChyaW5nKQko KHJpbmcpLT5tbWlvX2Jhc2UrMHgyNDQpCj4gLSNkZWZpbmUJICBDVFhfQ1RSTF9JTkhJQklUX1NZ Tl9DVFhfU1dJVENICSgxIDw8IDMpCj4gLSNkZWZpbmUJICBDVFhfQ1RSTF9FTkdJTkVfQ1RYX1JF U1RPUkVfSU5ISUJJVAkoMSA8PCAwKQo+IC0jZGVmaW5lICAgQ1RYX0NUUkxfUlNfQ1RYX0VOQUJM RSAgICAgICAgICAgICAgICAoMSA8PCAxKQo+IC0jZGVmaW5lIFJJTkdfQ09OVEVYVF9TVEFUVVNf QlVGX0xPKHJpbmcsIGkpCSgocmluZyktPm1taW9fYmFzZSsweDM3MCArIChpKSAqIDgpCj4gLSNk ZWZpbmUgUklOR19DT05URVhUX1NUQVRVU19CVUZfSEkocmluZywgaSkJKChyaW5nKS0+bW1pb19i YXNlKzB4MzcwICsgKGkpICogOCArIDQpCj4gLSNkZWZpbmUgUklOR19DT05URVhUX1NUQVRVU19Q VFIocmluZykJKChyaW5nKS0+bW1pb19iYXNlKzB4M2EwKQo+IC0KPiAgLyogTG9naWNhbCBSaW5n cyAqLwo+ICBpbnQgaW50ZWxfbG9naWNhbF9yaW5nX2FsbG9jX3JlcXVlc3RfZXh0cmFzKHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCk7Cj4gIGludCBpbnRlbF9sb2dpY2FsX3Jp bmdfcmVzZXJ2ZV9zcGFjZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKPiBpbmRleCAzNWJhZDcxLi4zODczNTljIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwo+IEBAIC01MSw3ICs1MSw3IEBAIHN0cnVjdCBp bnRlbF9sdmRzX2VuY29kZXIgewo+ICAJc3RydWN0IGludGVsX2VuY29kZXIgYmFzZTsKPiAgCj4g IAlib29sIGlzX2R1YWxfbGluazsKPiAtCXUzMiByZWc7Cj4gKwlzdHJ1Y3QgaTkxNV9yZWcgcmVn Owo+ICAJdTMyIGEzX3Bvd2VyOwo+ICAKPiAgCXN0cnVjdCBpbnRlbF9sdmRzX2Nvbm5lY3RvciAq YXR0YWNoZWRfY29ubmVjdG9yOwo+IEBAIC0yMTEsNyArMjExLDcgQEAgc3RhdGljIHZvaWQgaW50 ZWxfZW5hYmxlX2x2ZHMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIAlzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IgPQo+ICAJCSZsdmRzX2VuY29kZXItPmF0 dGFjaGVkX2Nvbm5lY3Rvci0+YmFzZTsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQl1MzIgY3RsX3JlZywgc3RhdF9yZWc7Cj4gKwlz dHJ1Y3QgaTkxNV9yZWcgY3RsX3JlZywgc3RhdF9yZWc7Cj4gIAo+ICAJaWYgKEhBU19QQ0hfU1BM SVQoZGV2KSkgewo+ICAJCWN0bF9yZWcgPSBQQ0hfUFBfQ09OVFJPTDsKPiBAQCAtMjM2LDcgKzIz Niw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfbHZkcyhzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlcikKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRl djsKPiAgCXN0cnVjdCBpbnRlbF9sdmRzX2VuY29kZXIgKmx2ZHNfZW5jb2RlciA9IHRvX2x2ZHNf ZW5jb2RlcigmZW5jb2Rlci0+YmFzZSk7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0JdTMyIGN0bF9yZWcsIHN0YXRfcmVnOwo+ICsJ c3RydWN0IGk5MTVfcmVnIGN0bF9yZWcsIHN0YXRfcmVnOwo+ICAKPiAgCWlmIChIQVNfUENIX1NQ TElUKGRldikpIHsKPiAgCQljdGxfcmVnID0gUENIX1BQX0NPTlRST0w7Cj4gQEAgLTk0MCw3ICs5 NDAsNyBAQCB2b2lkIGludGVsX2x2ZHNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJ c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmRvd25jbG9ja19tb2RlID0gTlVMTDsKPiAgCXN0cnVj dCBlZGlkICplZGlkOwo+ICAJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+IC0JdTMyIGx2ZHNfcmVn Owo+ICsJc3RydWN0IGk5MTVfcmVnIGx2ZHNfcmVnOwo+ICAJdTMyIGx2ZHM7Cj4gIAlpbnQgcGlw ZTsKPiAgCXU4IHBpbjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBpbmRleCAwZDQzZDUxLi4x MTc4MGMxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAgLTM0MzEsNyArMzQzMSw4 IEBAIHN0YXRpYyB2b2lkIHNrbF9jb21wdXRlX3dtX3Jlc3VsdHMoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPiAgCXItPndtX2xpbmV0aW1lW3BpcGVdID0gcF93bS0+bGluZXRpbWU7Cj4gIH0KPiAg Cj4gLXN0YXRpYyB2b2lkIHNrbF9kZGJfZW50cnlfd3JpdGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCB1aW50MzJfdCByZWcsCj4gK3N0YXRpYyB2b2lkIHNrbF9kZGJfZW50cnlf d3JpdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQkJc3RydWN0IGk5 MTVfcmVnIHJlZywKPiAgCQkJCWNvbnN0IHN0cnVjdCBza2xfZGRiX2VudHJ5ICplbnRyeSkKPiAg ewo+ICAJaWYgKGVudHJ5LT5lbmQpCj4gQEAgLTM5MzYsNyArMzkzNyw3IEBAIHN0YXRpYyB2b2lk IGlsa19waXBlX3dtX2dldF9od19zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAlzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gIAlzdHJ1 Y3QgaW50ZWxfcGlwZV93bSAqYWN0aXZlID0gJmludGVsX2NydGMtPndtLmFjdGl2ZTsKPiAgCWVu dW0gcGlwZSBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiAtCXN0YXRpYyBjb25zdCB1bnNpZ25l ZCBpbnQgd20wX3BpcGVfcmVnW10gPSB7Cj4gKwlzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcmVn IHdtMF9waXBlX3JlZ1tdID0gewo+ICAJCVtQSVBFX0FdID0gV00wX1BJUEVBX0lMSywKPiAgCQlb UElQRV9CXSA9IFdNMF9QSVBFQl9JTEssCj4gIAkJW1BJUEVfQ10gPSBXTTBfUElQRUNfSVZCLAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gaW5kZXggMGY5NDRlMi4uYTU0YzVhNiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gQEAgLTgwLDcgKzgwLDcgQEAgc3RhdGljIHZvaWQg aW50ZWxfcHNyX3dyaXRlX3ZzYyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhkaWdfcG9ydC0+YmFzZS5iYXNlLmNy dGMpOwo+ICAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Yy0+Y29uZmlnLT5j cHVfdHJhbnNjb2RlcjsKPiAtCXUzMiBjdGxfcmVnID0gSFNXX1RWSURFT19ESVBfQ1RMKGNwdV90 cmFuc2NvZGVyKTsKPiArCXN0cnVjdCBpOTE1X3JlZyBjdGxfcmVnID0gSFNXX1RWSURFT19ESVBf Q1RMKGNwdV90cmFuc2NvZGVyKTsKPiAgCXVpbnQzMl90ICpkYXRhID0gKHVpbnQzMl90ICopIHZz Y19wc3I7Cj4gIAl1bnNpZ25lZCBpbnQgaTsKPiAgCj4gQEAgLTE1MSw4ICsxNTEsOCBAQCBzdGF0 aWMgdm9pZCB2bHZfcHNyX2VuYWJsZV9zaW5rKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4g IAkJCSAgIERQX1BTUl9FTkFCTEUgfCBEUF9QU1JfTUFJTl9MSU5LX0FDVElWRSk7Cj4gIH0KPiAg Cj4gLXN0YXRpYyB1aW50MzJfdCBwc3JfYXV4X3JlZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gLQkJCSAgICBlbnVtIHBvcnQgcG9ydCwgaW50IGluZGV4KQo+ICtzdGF0aWMg c3RydWN0IGk5MTVfcmVnIHBzcl9hdXhfcmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKPiArCQkJCSAgIGVudW0gcG9ydCBwb3J0LCBpbnQgaW5kZXgpCj4gIHsKPiAgCWlmIChJ TlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuID49IDkpCj4gIAkJcmV0dXJuIGluZGV4IDwgMCA/IERQ X0FVWF9DSF9DVEwocG9ydCkgOgo+IEBAIC0xNjgsNyArMTY4LDcgQEAgc3RhdGljIHZvaWQgaHN3 X3Bzcl9lbmFibGVfc2luayhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2Owo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXVpbnQzMl90IGF1 eF9jbG9ja19kaXZpZGVyOwo+IC0JdWludDMyX3QgYXV4X2N0bF9yZWc7Cj4gKwlzdHJ1Y3QgaTkx NV9yZWcgYXV4X2N0bF9yZWc7Cj4gIAlpbnQgcHJlY2hhcmdlID0gMHgzOwo+ICAJc3RhdGljIGNv bnN0IHVpbnQ4X3QgYXV4X21zZ1tdID0gewo+ICAJCVswXSA9IERQX0FVWF9OQVRJVkVfV1JJVEUg PDwgNCwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gaW5kZXggMTZh NGVhZC4uMDRhZjI1NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmMKPiBAQCAtNDc5LDcgKzQ3OSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Jpbmdfc2V0dXBfc3Rh dHVzX3BhZ2Uoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKPiAgewo+ICAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IHJpbmctPmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHJpbmctPmRldi0+ZGV2X3ByaXZhdGU7Cj4gLQl1MzIgbW1pbyA9IDA7Cj4gKwlz dHJ1Y3QgaTkxNV9yZWcgbW1pbzsKPiAgCj4gIAkvKiBUaGUgcmluZyBzdGF0dXMgcGFnZSBhZGRy ZXNzZXMgYXJlIG5vIGxvbmdlciBuZXh0IHRvIHRoZSByZXN0IG9mCj4gIAkgKiB0aGUgcmluZyBy ZWdpc3RlcnMgYXMgb2YgZ2VuNy4KPiBAQCAtNTIyLDcgKzUyMiw3IEBAIHN0YXRpYyB2b2lkIGlu dGVsX3Jpbmdfc2V0dXBfc3RhdHVzX3BhZ2Uoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykK PiAgCSAqIGludmFsaWRhdGluZyB0aGUgVExCPwo+ICAJICovCj4gIAlpZiAoSU5URUxfSU5GTyhk ZXYpLT5nZW4gPj0gNiAmJiBJTlRFTF9JTkZPKGRldiktPmdlbiA8IDgpIHsKPiAtCQl1MzIgcmVn ID0gUklOR19JTlNUUE0ocmluZy0+bW1pb19iYXNlKTsKPiArCQlzdHJ1Y3QgaTkxNV9yZWcgcmVn ID0gUklOR19JTlNUUE0ocmluZy0+bW1pb19iYXNlKTsKPiAgCj4gIAkJLyogcmluZyBzaG91bGQg YmUgaWRsZSBiZWZvcmUgaXNzdWluZyBhIHN5bmMgZmx1c2gqLwo+ICAJCVdBUk5fT04oKEk5MTVf UkVBRF9NT0RFKHJpbmcpICYgTU9ERV9JRExFKSA9PSAwKTsKPiBAQCAtNzMxLDcgKzczMSw3IEBA IHN0YXRpYyBpbnQgaW50ZWxfcmluZ193b3JrYXJvdW5kc19lbWl0KHN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcmVxKQo+ICAKPiAgCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9MT0FEX1JF R0lTVEVSX0lNTSh3LT5jb3VudCkpOwo+ICAJZm9yIChpID0gMDsgaSA8IHctPmNvdW50OyBpKysp IHsKPiAtCQlpbnRlbF9yaW5nX2VtaXQocmluZywgdy0+cmVnW2ldLmFkZHIpOwo+ICsJCWludGVs X3JpbmdfZW1pdChyaW5nLCB3LT5yZWdbaV0uYWRkci5yZWcpOwo+ICAJCWludGVsX3JpbmdfZW1p dChyaW5nLCB3LT5yZWdbaV0udmFsdWUpOwo+ICAJfQo+ICAJaW50ZWxfcmluZ19lbWl0KHJpbmcs IE1JX05PT1ApOwo+IEBAIC03NjQsNyArNzY0LDggQEAgc3RhdGljIGludCBpbnRlbF9yY3NfY3R4 X2luaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4gIH0KPiAgCj4gIHN0YXRp YyBpbnQgd2FfYWRkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAtCQkgIGNv bnN0IHUzMiBhZGRyLCBjb25zdCB1MzIgbWFzaywgY29uc3QgdTMyIHZhbCkKPiArCQkgIHN0cnVj dCBpOTE1X3JlZyBhZGRyLAo+ICsJCSAgY29uc3QgdTMyIG1hc2ssIGNvbnN0IHUzMiB2YWwpCj4g IHsKPiAgCWNvbnN0IHUzMiBpZHggPSBkZXZfcHJpdi0+d29ya2Fyb3VuZHMuY291bnQ7Cj4gIAo+ IEBAIC0xMjg5LDExICsxMjkwLDExIEBAIHN0YXRpYyBpbnQgZ2VuNl9zaWduYWwoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpzaWduYWxsZXJfcmVxLAo+ICAJCXJldHVybiByZXQ7Cj4gIAo+ ICAJZm9yX2VhY2hfcmluZyh1c2VsZXNzLCBkZXZfcHJpdiwgaSkgewo+IC0JCXUzMiBtYm94X3Jl ZyA9IHNpZ25hbGxlci0+c2VtYXBob3JlLm1ib3guc2lnbmFsW2ldOwo+IC0JCWlmIChtYm94X3Jl ZyAhPSBHRU42X05PU1lOQykgewo+ICsJCXN0cnVjdCBpOTE1X3JlZyBtYm94X3JlZyA9IHNpZ25h bGxlci0+c2VtYXBob3JlLm1ib3guc2lnbmFsW2ldOwo+ICsJCWlmIChtYm94X3JlZy5yZWcgIT0g R0VONl9OT1NZTkMucmVnKSB7Cj4gIAkJCXUzMiBzZXFubyA9IGk5MTVfZ2VtX3JlcXVlc3RfZ2V0 X3NlcW5vKHNpZ25hbGxlcl9yZXEpOwo+ICAJCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVyLCBN SV9MT0FEX1JFR0lTVEVSX0lNTSgxKSk7Cj4gLQkJCWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIs IG1ib3hfcmVnKTsKPiArCQkJaW50ZWxfcmluZ19lbWl0KHNpZ25hbGxlciwgbWJveF9yZWcucmVn KTsKPiAgCQkJaW50ZWxfcmluZ19lbWl0KHNpZ25hbGxlciwgc2Vxbm8pOwo+ICAJCX0KPiAgCX0K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gaW5kZXggNDlmYTQxZC4u OTYzMTVhYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKPiBA QCAtMjQ3LDcgKzI0Nyw3IEBAIHN0cnVjdCAgaW50ZWxfZW5naW5lX2NzIHsKPiAgCQkJCS8qIG91 ciBtYm94IHdyaXR0ZW4gYnkgb3RoZXJzICovCj4gIAkJCQl1MzIJCXdhaXRbSTkxNV9OVU1fUklO R1NdOwo+ICAJCQkJLyogbWJveGVzIHRoaXMgcmluZyBzaWduYWxzIHRvICovCj4gLQkJCQl1MzIJ CXNpZ25hbFtJOTE1X05VTV9SSU5HU107Cj4gKwkJCQlzdHJ1Y3QgaTkxNV9yZWcJc2lnbmFsW0k5 MTVfTlVNX1JJTkdTXTsKPiAgCQkJfSBtYm94Owo+ICAJCQl1NjQJCXNpZ25hbF9nZ3R0W0k5MTVf TlVNX1JJTkdTXTsKPiAgCQl9Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zZHZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiBpbmRleCAw NTUyMWI1Li40M2U1M2EzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nkdm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+IEBAIC03 NCw3ICs3NCw3IEBAIHN0cnVjdCBpbnRlbF9zZHZvIHsKPiAgCXN0cnVjdCBpMmNfYWRhcHRlciBk ZGM7Cj4gIAo+ICAJLyogUmVnaXN0ZXIgZm9yIHRoZSBTRFZPIGRldmljZTogU0RWT0Igb3IgU0RW T0MgKi8KPiAtCXVpbnQzMl90IHNkdm9fcmVnOwo+ICsJc3RydWN0IGk5MTVfcmVnIHNkdm9fcmVn Owo+ICAKPiAgCS8qIEFjdGl2ZSBvdXRwdXRzIGNvbnRyb2xsZWQgYnkgdGhpcyBTRFZPIG91dHB1 dCAqLwo+ICAJdWludDE2X3QgY29udHJvbGxlZF9vdXRwdXQ7Cj4gQEAgLTI0MCw3ICsyNDAsNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF9zZHZvX3dyaXRlX3Nkdm94KHN0cnVjdCBpbnRlbF9zZHZvICpp bnRlbF9zZHZvLCB1MzIgdmFsKQo+ICAJdTMyIGJ2YWwgPSB2YWwsIGN2YWwgPSB2YWw7Cj4gIAlp bnQgaTsKPiAgCj4gLQlpZiAoaW50ZWxfc2R2by0+c2R2b19yZWcgPT0gUENIX1NEVk9CKSB7Cj4g KwlpZiAoaW50ZWxfc2R2by0+c2R2b19yZWcucmVnID09IFBDSF9TRFZPQi5yZWcpIHsKPiAgCQlJ OTE1X1dSSVRFKGludGVsX3Nkdm8tPnNkdm9fcmVnLCB2YWwpOwo+ICAJCVBPU1RJTkdfUkVBRChp bnRlbF9zZHZvLT5zZHZvX3JlZyk7Cj4gIAkJLyoKPiBAQCAtMjU0LDcgKzI1NCw3IEBAIHN0YXRp YyB2b2lkIGludGVsX3Nkdm9fd3JpdGVfc2R2b3goc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nk dm8sIHUzMiB2YWwpCj4gIAkJcmV0dXJuOwo+ICAJfQo+ICAKPiAtCWlmIChpbnRlbF9zZHZvLT5z ZHZvX3JlZyA9PSBHRU4zX1NEVk9CKQo+ICsJaWYgKGludGVsX3Nkdm8tPnNkdm9fcmVnLnJlZyA9 PSBHRU4zX1NEVk9CLnJlZykKPiAgCQljdmFsID0gSTkxNV9SRUFEKEdFTjNfU0RWT0MpOwo+ICAJ ZWxzZQo+ICAJCWJ2YWwgPSBJOTE1X1JFQUQoR0VOM19TRFZPQik7Cj4gQEAgLTEyNzQsMTEgKzEy NzQsMTEgQEAgc3RhdGljIHZvaWQgaW50ZWxfc2R2b19wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyKQo+ICAJCQlzZHZveCB8PSBTRFZPX0JPUkRFUl9FTkFCTEU7 Cj4gIAl9IGVsc2Ugewo+ICAJCXNkdm94ID0gSTkxNV9SRUFEKGludGVsX3Nkdm8tPnNkdm9fcmVn KTsKPiAtCQlzd2l0Y2ggKGludGVsX3Nkdm8tPnNkdm9fcmVnKSB7Cj4gLQkJY2FzZSBHRU4zX1NE Vk9COgo+ICsJCXN3aXRjaCAoaW50ZWxfc2R2by0+c2R2b19yZWcucmVnKSB7Cj4gKwkJY2FzZSBf R0VOM19TRFZPQjoKPiAgCQkJc2R2b3ggJj0gU0RWT0JfUFJFU0VSVkVfTUFTSzsKPiAgCQkJYnJl YWs7Cj4gLQkJY2FzZSBHRU4zX1NEVk9DOgo+ICsJCWNhc2UgX0dFTjNfU0RWT0M6Cj4gIAkJCXNk dm94ICY9IFNEVk9DX1BSRVNFUlZFX01BU0s7Cj4gIAkJCWJyZWFrOwo+ICAJCX0KPiBAQCAtMjkx Miw3ICsyOTEyLDggQEAgaW50ZWxfc2R2b19pbml0X2RkY19wcm94eShzdHJ1Y3QgaW50ZWxfc2R2 byAqc2R2bywKPiAgCXJldHVybiBpMmNfYWRkX2FkYXB0ZXIoJnNkdm8tPmRkYykgPT0gMDsKPiAg fQo+ICAKPiAtYm9vbCBpbnRlbF9zZHZvX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdWlu dDMyX3Qgc2R2b19yZWcsIGJvb2wgaXNfc2R2b2IpCj4gK2Jvb2wgaW50ZWxfc2R2b19pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gKwkJICAgICBzdHJ1Y3QgaTkxNV9yZWcgc2R2b19yZWcs IGJvb2wgaXNfc2R2b2IpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5j b2RlcjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+IGluZGV4IGFjZjliNGIuLjky NTRkZDkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+IEBAIC01OCw3ICs1 OCw3IEBAIGFzc2VydF9kZXZpY2Vfbm90X3N1c3BlbmRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gIHN0YXRpYyBpbmxpbmUgdm9pZAo+ICBmd19kb21haW5fcmVzZXQoY29u c3Qgc3RydWN0IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9tYWluICpkKQo+ICB7Cj4gLQlXQVJO X09OKGQtPnJlZ19zZXQgPT0gMCk7Cj4gKwlXQVJOX09OKGQtPnJlZ19zZXQucmVnID09IDApOwo+ ICAJX19yYXdfaTkxNV93cml0ZTMyKGQtPmk5MTUsIGQtPnJlZ19zZXQsIGQtPnZhbF9yZXNldCk7 Cj4gIH0KPiAgCj4gQEAgLTEwNCw3ICsxMDQsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQKPiAgZndf ZG9tYWluX3Bvc3RpbmdfcmVhZChjb25zdCBzdHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9k b21haW4gKmQpCj4gIHsKPiAgCS8qIHNvbWV0aGluZyBmcm9tIHNhbWUgY2FjaGVsaW5lLCBidXQg bm90IGZyb20gdGhlIHNldCByZWdpc3RlciAqLwo+IC0JaWYgKGQtPnJlZ19wb3N0KQo+ICsJaWYg KGQtPnJlZ19wb3N0LnJlZykKPiAgCQlfX3Jhd19wb3N0aW5nX3JlYWQoZC0+aTkxNSwgZC0+cmVn X3Bvc3QpOwo+ICB9Cj4gIAo+IEBAIC01MTEsMTAgKzUxMSwxMSBAQCB2b2lkIGFzc2VydF9mb3Jj ZXdha2VzX2luYWN0aXZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgfQo+ ICAKPiAgLyogV2UgZ2l2ZSBmYXN0IHBhdGhzIGZvciB0aGUgcmVhbGx5IGNvb2wgcmVnaXN0ZXJz ICovCj4gLSNkZWZpbmUgTkVFRFNfRk9SQ0VfV0FLRShyZWcpIFwKPiAtCSAoKHJlZykgPCAweDQw MDAwICYmIChyZWcpICE9IEZPUkNFV0FLRSkKPiArI2RlZmluZSBORUVEU19GT1JDRV9XQUtFKHIp IFwKPiArCSgocikucmVnIDwgMHg0MDAwMCAmJiAocikucmVnICE9IEZPUkNFV0FLRS5yZWcpCj4g IAo+IC0jZGVmaW5lIFJFR19SQU5HRShyZWcsIHN0YXJ0LCBlbmQpICgocmVnKSA+PSAoc3RhcnQp ICYmIChyZWcpIDwgKGVuZCkpCj4gKyNkZWZpbmUgUkVHX1JBTkdFKHIsIHN0YXJ0LCBlbmQpIFwK PiArCSgocikucmVnID49IChzdGFydCkgJiYgKHIpLnJlZyA8IChlbmQpKQo+ICAKPiAgI2RlZmlu ZSBGT1JDRVdBS0VfVkxWX1JFTkRFUl9SQU5HRV9PRkZTRVQocmVnKSBcCj4gIAkoUkVHX1JBTkdF KChyZWcpLCAweDIwMDAsIDB4NDAwMCkgfHwgXAo+IEBAIC01NzQsMTIgKzU3NSwxMiBAQCB2b2lk IGFzc2VydF9mb3JjZXdha2VzX2luYWN0aXZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKPiAgI2RlZmluZSBGT1JDRVdBS0VfR0VOOV9DT01NT05fUkFOR0VfT0ZGU0VUKHJlZykg XAo+ICAJUkVHX1JBTkdFKChyZWcpLCAweDk0MDAsIDB4OTgwMCkKPiAgCj4gLSNkZWZpbmUgRk9S Q0VXQUtFX0dFTjlfQkxJVFRFUl9SQU5HRV9PRkZTRVQocmVnKSBcCj4gLQkoKHJlZykgPCAweDQw MDAwICYmXAo+IC0JICFGT1JDRVdBS0VfR0VOOV9VTkNPUkVfUkFOR0VfT0ZGU0VUKHJlZykgJiYg XAo+IC0JICFGT1JDRVdBS0VfR0VOOV9SRU5ERVJfUkFOR0VfT0ZGU0VUKHJlZykgJiYgXAo+IC0J ICFGT1JDRVdBS0VfR0VOOV9NRURJQV9SQU5HRV9PRkZTRVQocmVnKSAmJiBcCj4gLQkgIUZPUkNF V0FLRV9HRU45X0NPTU1PTl9SQU5HRV9PRkZTRVQocmVnKSkKPiArI2RlZmluZSBGT1JDRVdBS0Vf R0VOOV9CTElUVEVSX1JBTkdFX09GRlNFVChyKSBcCj4gKwkoKHIpLnJlZyA8IDB4NDAwMDAgJiYg XAo+ICsJICFGT1JDRVdBS0VfR0VOOV9VTkNPUkVfUkFOR0VfT0ZGU0VUKHIpICYmIFwKPiArCSAh Rk9SQ0VXQUtFX0dFTjlfUkVOREVSX1JBTkdFX09GRlNFVChyKSAmJiBcCj4gKwkgIUZPUkNFV0FL RV9HRU45X01FRElBX1JBTkdFX09GRlNFVChyKSAmJiBcCj4gKwkgIUZPUkNFV0FLRV9HRU45X0NP TU1PTl9SQU5HRV9PRkZTRVQocikpCj4gIAo+ICBzdGF0aWMgdm9pZAo+ICBpbGtfZHVtbXlfd3Jp dGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+IEBAIC01OTEsOCArNTkyLDgg QEAgaWxrX2R1bW15X3dyaXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAg fQo+ICAKPiAgc3RhdGljIHZvaWQKPiAtaHN3X3VuY2xhaW1lZF9yZWdfZGVidWcoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcmVnLCBib29sIHJlYWQsCj4gLQkJCWJvb2wg YmVmb3JlKQo+ICtoc3dfdW5jbGFpbWVkX3JlZ19kZWJ1ZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gKwkJCXN0cnVjdCBpOTE1X3JlZyByZWcsIGJvb2wgcmVhZCwgYm9vbCBi ZWZvcmUpCj4gIHsKPiAgCWNvbnN0IGNoYXIgKm9wID0gcmVhZCA/ICJyZWFkaW5nIiA6ICJ3cml0 aW5nIHRvIjsKPiAgCWNvbnN0IGNoYXIgKndoZW4gPSBiZWZvcmUgPyAiYmVmb3JlIiA6ICJhZnRl ciI7Cj4gQEAgLTYwMiw3ICs2MDMsNyBAQCBoc3dfdW5jbGFpbWVkX3JlZ19kZWJ1ZyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiByZWcsIGJvb2wgcmVhZCwKPiAgCj4gIAlp ZiAoX19yYXdfaTkxNV9yZWFkMzIoZGV2X3ByaXYsIEZQR0FfREJHKSAmIEZQR0FfREJHX1JNX05P Q0xBSU0pIHsKPiAgCQlXQVJOKDEsICJVbmNsYWltZWQgcmVnaXN0ZXIgZGV0ZWN0ZWQgJXMgJXMg cmVnaXN0ZXIgMHgleFxuIiwKPiAtCQkgICAgIHdoZW4sIG9wLCByZWcpOwo+ICsJCSAgICAgd2hl biwgb3AsIHJlZy5yZWcpOwo+ICAJCV9fcmF3X2k5MTVfd3JpdGUzMihkZXZfcHJpdiwgRlBHQV9E QkcsIEZQR0FfREJHX1JNX05PQ0xBSU0pOwo+ICAJCWk5MTUubW1pb19kZWJ1Zy0tOyAvKiBPbmx5 IHJlcG9ydCB0aGUgZmlyc3QgTiBmYWlsdXJlcyAqLwo+ICAJfQo+IEBAIC02MzUsNyArNjM2LDcg QEAgaHN3X3VuY2xhaW1lZF9yZWdfZGV0ZWN0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKPiAgCj4gICNkZWZpbmUgX19nZW4yX3JlYWQoeCkgXAo+ICBzdGF0aWMgdSMjeCBcCj4g LWdlbjJfcmVhZCMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIG9mZl90IHJl ZywgYm9vbCB0cmFjZSkgeyBcCj4gK2dlbjJfcmVhZCMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIHN0cnVjdCBpOTE1X3JlZyByZWcsIGJvb2wgdHJhY2UpIHsgXAo+ICAJR0VO Ml9SRUFEX0hFQURFUih4KTsgXAo+ICAJdmFsID0gX19yYXdfaTkxNV9yZWFkIyN4KGRldl9wcml2 LCByZWcpOyBcCj4gIAlHRU4yX1JFQURfRk9PVEVSOyBcCj4gQEAgLTY0Myw3ICs2NDQsNyBAQCBn ZW4yX3JlYWQjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBvZmZfdCByZWcs IGJvb2wgdHJhY2UpIHsgXAo+ICAKPiAgI2RlZmluZSBfX2dlbjVfcmVhZCh4KSBcCj4gIHN0YXRp YyB1IyN4IFwKPiAtZ2VuNV9yZWFkIyN4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgb2ZmX3QgcmVnLCBib29sIHRyYWNlKSB7IFwKPiArZ2VuNV9yZWFkIyN4KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3RydWN0IGk5MTVfcmVnIHJlZywgYm9vbCB0cmFjZSkg eyBcCj4gIAlHRU4yX1JFQURfSEVBREVSKHgpOyBcCj4gIAlpbGtfZHVtbXlfd3JpdGUoZGV2X3By aXYpOyBcCj4gIAl2YWwgPSBfX3Jhd19pOTE1X3JlYWQjI3goZGV2X3ByaXYsIHJlZyk7IFwKPiBA QCAtNzAyLDcgKzcwMyw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2ZvcmNlX3dha2VfZ2V0KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCj4gICNkZWZpbmUgX192Z3B1X3Jl YWQoeCkgXAo+ICBzdGF0aWMgdSMjeCBcCj4gLXZncHVfcmVhZCMjeChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsIG9mZl90IHJlZywgYm9vbCB0cmFjZSkgeyBcCj4gK3ZncHVfcmVh ZCMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHN0cnVjdCBpOTE1X3JlZyBy ZWcsIGJvb2wgdHJhY2UpIHsgXAo+ICAJR0VONl9SRUFEX0hFQURFUih4KTsgXAo+ICAJdmFsID0g X19yYXdfaTkxNV9yZWFkIyN4KGRldl9wcml2LCByZWcpOyBcCj4gIAlHRU42X1JFQURfRk9PVEVS OyBcCj4gQEAgLTcxMCw3ICs3MTEsNyBAQCB2Z3B1X3JlYWQjI3goc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LCBvZmZfdCByZWcsIGJvb2wgdHJhY2UpIHsgXAo+ICAKPiAgI2RlZmlu ZSBfX2dlbjZfcmVhZCh4KSBcCj4gIHN0YXRpYyB1IyN4IFwKPiAtZ2VuNl9yZWFkIyN4KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgb2ZmX3QgcmVnLCBib29sIHRyYWNlKSB7IFwK PiArZ2VuNl9yZWFkIyN4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3RydWN0 IGk5MTVfcmVnIHJlZywgYm9vbCB0cmFjZSkgeyBcCj4gIAlHRU42X1JFQURfSEVBREVSKHgpOyBc Cj4gIAloc3dfdW5jbGFpbWVkX3JlZ19kZWJ1ZyhkZXZfcHJpdiwgcmVnLCB0cnVlLCB0cnVlKTsg XAo+ICAJaWYgKE5FRURTX0ZPUkNFX1dBS0UocmVnKSkgXAo+IEBAIC03MjIsNyArNzIzLDcgQEAg Z2VuNl9yZWFkIyN4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgb2ZmX3QgcmVn LCBib29sIHRyYWNlKSB7IFwKPiAgCj4gICNkZWZpbmUgX192bHZfcmVhZCh4KSBcCj4gIHN0YXRp YyB1IyN4IFwKPiAtdmx2X3JlYWQjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCBvZmZfdCByZWcsIGJvb2wgdHJhY2UpIHsgXAo+ICt2bHZfcmVhZCMjeChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHN0cnVjdCBpOTE1X3JlZyByZWcsIGJvb2wgdHJhY2UpIHsg XAo+ICAJR0VONl9SRUFEX0hFQURFUih4KTsgXAo+ICAJaWYgKEZPUkNFV0FLRV9WTFZfUkVOREVS X1JBTkdFX09GRlNFVChyZWcpKSBcCj4gIAkJX19mb3JjZV93YWtlX2dldChkZXZfcHJpdiwgRk9S Q0VXQUtFX1JFTkRFUik7IFwKPiBAQCAtNzM0LDcgKzczNSw3IEBAIHZsdl9yZWFkIyN4KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgb2ZmX3QgcmVnLCBib29sIHRyYWNlKSB7IFwK PiAgCj4gICNkZWZpbmUgX19jaHZfcmVhZCh4KSBcCj4gIHN0YXRpYyB1IyN4IFwKPiAtY2h2X3Jl YWQjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBvZmZfdCByZWcsIGJvb2wg dHJhY2UpIHsgXAo+ICtjaHZfcmVhZCMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIHN0cnVjdCBpOTE1X3JlZyByZWcsIGJvb2wgdHJhY2UpIHsgXAo+ICAJR0VONl9SRUFEX0hF QURFUih4KTsgXAo+ICAJaWYgKEZPUkNFV0FLRV9DSFZfUkVOREVSX1JBTkdFX09GRlNFVChyZWcp KSBcCj4gIAkJX19mb3JjZV93YWtlX2dldChkZXZfcHJpdiwgRk9SQ0VXQUtFX1JFTkRFUik7IFwK PiBAQCAtNzQ3LDEyICs3NDgsMTIgQEAgY2h2X3JlYWQjI3goc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCBvZmZfdCByZWcsIGJvb2wgdHJhY2UpIHsgXAo+ICAJR0VONl9SRUFEX0ZP T1RFUjsgXAo+ICB9Cj4gIAo+IC0jZGVmaW5lIFNLTF9ORUVEU19GT1JDRV9XQUtFKHJlZykgXAo+ IC0JICgocmVnKSA8IDB4NDAwMDAgJiYgIUZPUkNFV0FLRV9HRU45X1VOQ09SRV9SQU5HRV9PRkZT RVQocmVnKSkKPiArI2RlZmluZSBTS0xfTkVFRFNfRk9SQ0VfV0FLRShyKSBcCj4gKwkoKHIpLnJl ZyA8IDB4NDAwMDAgJiYgIUZPUkNFV0FLRV9HRU45X1VOQ09SRV9SQU5HRV9PRkZTRVQocikpCj4g IAo+ICAjZGVmaW5lIF9fZ2VuOV9yZWFkKHgpIFwKPiAgc3RhdGljIHUjI3ggXAo+IC1nZW45X3Jl YWQjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBvZmZfdCByZWcsIGJvb2wg dHJhY2UpIHsgXAo+ICtnZW45X3JlYWQjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCBzdHJ1Y3QgaTkxNV9yZWcgcmVnLCBib29sIHRyYWNlKSB7IFwKPiAgCWVudW0gZm9yY2V3 YWtlX2RvbWFpbnMgZndfZW5naW5lOyBcCj4gIAlHRU42X1JFQURfSEVBREVSKHgpOyBcCj4gIAlo c3dfdW5jbGFpbWVkX3JlZ19kZWJ1ZyhkZXZfcHJpdiwgcmVnLCB0cnVlLCB0cnVlKTsgXAo+IEBA IC04MTAsNyArODExLDcgQEAgX19nZW42X3JlYWQoNjQpCj4gIAo+ICAjZGVmaW5lIF9fZ2VuMl93 cml0ZSh4KSBcCj4gIHN0YXRpYyB2b2lkIFwKPiAtZ2VuMl93cml0ZSMjeChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIG9mZl90IHJlZywgdSMjeCB2YWwsIGJvb2wgdHJhY2UpIHsg XAo+ICtnZW4yX3dyaXRlIyN4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3Ry dWN0IGk5MTVfcmVnIHJlZywgdSMjeCB2YWwsIGJvb2wgdHJhY2UpIHsgXAo+ICAJR0VOMl9XUklU RV9IRUFERVI7IFwKPiAgCV9fcmF3X2k5MTVfd3JpdGUjI3goZGV2X3ByaXYsIHJlZywgdmFsKTsg XAo+ICAJR0VOMl9XUklURV9GT09URVI7IFwKPiBAQCAtODE4LDcgKzgxOSw3IEBAIGdlbjJfd3Jp dGUjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBvZmZfdCByZWcsIHUjI3gg dmFsLCBib29sIHRyYWNlCj4gIAo+ICAjZGVmaW5lIF9fZ2VuNV93cml0ZSh4KSBcCj4gIHN0YXRp YyB2b2lkIFwKPiAtZ2VuNV93cml0ZSMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIG9mZl90IHJlZywgdSMjeCB2YWwsIGJvb2wgdHJhY2UpIHsgXAo+ICtnZW41X3dyaXRlIyN4 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3RydWN0IGk5MTVfcmVnIHJlZywg dSMjeCB2YWwsIGJvb2wgdHJhY2UpIHsgXAo+ICAJR0VOMl9XUklURV9IRUFERVI7IFwKPiAgCWls a19kdW1teV93cml0ZShkZXZfcHJpdik7IFwKPiAgCV9fcmF3X2k5MTVfd3JpdGUjI3goZGV2X3By aXYsIHJlZywgdmFsKTsgXAo+IEBAIC04NTEsNyArODUyLDcgQEAgX19nZW4yX3dyaXRlKDY0KQo+ ICAKPiAgI2RlZmluZSBfX2dlbjZfd3JpdGUoeCkgXAo+ICBzdGF0aWMgdm9pZCBcCj4gLWdlbjZf d3JpdGUjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBvZmZfdCByZWcsIHUj I3ggdmFsLCBib29sIHRyYWNlKSB7IFwKPiArZ2VuNl93cml0ZSMjeChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsIHN0cnVjdCBpOTE1X3JlZyByZWcsIHUjI3ggdmFsLCBib29sIHRy YWNlKSB7IFwKPiAgCXUzMiBfX2ZpZm9fcmV0ID0gMDsgXAo+ICAJR0VONl9XUklURV9IRUFERVI7 IFwKPiAgCWlmIChORUVEU19GT1JDRV9XQUtFKHJlZykpIHsgXAo+IEBAIC04NjYsNyArODY3LDcg QEAgZ2VuNl93cml0ZSMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIG9mZl90 IHJlZywgdSMjeCB2YWwsIGJvb2wgdHJhY2UKPiAgCj4gICNkZWZpbmUgX19oc3dfd3JpdGUoeCkg XAo+ICBzdGF0aWMgdm9pZCBcCj4gLWhzd193cml0ZSMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIG9mZl90IHJlZywgdSMjeCB2YWwsIGJvb2wgdHJhY2UpIHsgXAo+ICtoc3df d3JpdGUjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBzdHJ1Y3QgaTkxNV9y ZWcgcmVnLCB1IyN4IHZhbCwgYm9vbCB0cmFjZSkgeyBcCj4gIAl1MzIgX19maWZvX3JldCA9IDA7 IFwKPiAgCUdFTjZfV1JJVEVfSEVBREVSOyBcCj4gIAlpZiAoTkVFRFNfRk9SQ0VfV0FLRShyZWcp KSB7IFwKPiBAQCAtODg0LDEzICs4ODUsMTMgQEAgaHN3X3dyaXRlIyN4KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgb2ZmX3QgcmVnLCB1IyN4IHZhbCwgYm9vbCB0cmFjZSkKPiAg Cj4gICNkZWZpbmUgX192Z3B1X3dyaXRlKHgpIFwKPiAgc3RhdGljIHZvaWQgdmdwdV93cml0ZSMj eChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIFwKPiAtCQkJICBvZmZfdCByZWcs IHUjI3ggdmFsLCBib29sIHRyYWNlKSB7IFwKPiArCQkJICBzdHJ1Y3QgaTkxNV9yZWcgcmVnLCB1 IyN4IHZhbCwgYm9vbCB0cmFjZSkgeyBcCj4gIAlHRU42X1dSSVRFX0hFQURFUjsgXAo+ICAJX19y YXdfaTkxNV93cml0ZSMjeChkZXZfcHJpdiwgcmVnLCB2YWwpOyBcCj4gIAlHRU42X1dSSVRFX0ZP T1RFUjsgXAo+ICB9Cj4gIAo+IC1zdGF0aWMgY29uc3QgdTMyIGdlbjhfc2hhZG93ZWRfcmVnc1td ID0gewo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcmVnIGdlbjhfc2hhZG93ZWRfcmVnc1td ID0gewo+ICAJRk9SQ0VXQUtFX01ULAo+ICAJR0VONl9SUE5TV1JFUSwKPiAgCUdFTjZfUkNfVklE RU9fRlJFUSwKPiBAQCAtOTAxLDExICs5MDIsMTIgQEAgc3RhdGljIGNvbnN0IHUzMiBnZW44X3No YWRvd2VkX3JlZ3NbXSA9IHsKPiAgCS8qIFRPRE86IE90aGVyIHJlZ2lzdGVycyBhcmUgbm90IHll dCB1c2VkICovCj4gIH07Cj4gIAo+IC1zdGF0aWMgYm9vbCBpc19nZW44X3NoYWRvd2VkKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIHJlZykKPiArc3RhdGljIGJvb2wgaXNf Z2VuOF9zaGFkb3dlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJCSAg ICAgc3RydWN0IGk5MTVfcmVnIHJlZykKPiAgewo+ICAJaW50IGk7Cj4gIAlmb3IgKGkgPSAwOyBp IDwgQVJSQVlfU0laRShnZW44X3NoYWRvd2VkX3JlZ3MpOyBpKyspCj4gLQkJaWYgKHJlZyA9PSBn ZW44X3NoYWRvd2VkX3JlZ3NbaV0pCj4gKwkJaWYgKHJlZy5yZWcgPT0gZ2VuOF9zaGFkb3dlZF9y ZWdzW2ldLnJlZykKPiAgCQkJcmV0dXJuIHRydWU7Cj4gIAo+ICAJcmV0dXJuIGZhbHNlOwo+IEBA IC05MTMsMTAgKzkxNSwxMCBAQCBzdGF0aWMgYm9vbCBpc19nZW44X3NoYWRvd2VkKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIHJlZykKPiAgCj4gICNkZWZpbmUgX19nZW44 X3dyaXRlKHgpIFwKPiAgc3RhdGljIHZvaWQgXAo+IC1nZW44X3dyaXRlIyN4KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwgb2ZmX3QgcmVnLCB1IyN4IHZhbCwgYm9vbCB0cmFjZSkg eyBcCj4gK2dlbjhfd3JpdGUjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBz dHJ1Y3QgaTkxNV9yZWcgcmVnLCB1IyN4IHZhbCwgYm9vbCB0cmFjZSkgeyBcCj4gIAlHRU42X1dS SVRFX0hFQURFUjsgXAo+ICAJaHN3X3VuY2xhaW1lZF9yZWdfZGVidWcoZGV2X3ByaXYsIHJlZywg ZmFsc2UsIHRydWUpOyBcCj4gLQlpZiAocmVnIDwgMHg0MDAwMCAmJiAhaXNfZ2VuOF9zaGFkb3dl ZChkZXZfcHJpdiwgcmVnKSkgXAo+ICsJaWYgKHJlZy5yZWcgPCAweDQwMDAwICYmICFpc19nZW44 X3NoYWRvd2VkKGRldl9wcml2LCByZWcpKSBcCj4gIAkJX19mb3JjZV93YWtlX2dldChkZXZfcHJp diwgRk9SQ0VXQUtFX1JFTkRFUik7IFwKPiAgCV9fcmF3X2k5MTVfd3JpdGUjI3goZGV2X3ByaXYs IHJlZywgdmFsKTsgXAo+ICAJaHN3X3VuY2xhaW1lZF9yZWdfZGVidWcoZGV2X3ByaXYsIHJlZywg ZmFsc2UsIGZhbHNlKTsgXAo+IEBAIC05MjYsNyArOTI4LDcgQEAgZ2VuOF93cml0ZSMjeChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIG9mZl90IHJlZywgdSMjeCB2YWwsIGJvb2wg dHJhY2UKPiAgCj4gICNkZWZpbmUgX19jaHZfd3JpdGUoeCkgXAo+ICBzdGF0aWMgdm9pZCBcCj4g LWNodl93cml0ZSMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIG9mZl90IHJl ZywgdSMjeCB2YWwsIGJvb2wgdHJhY2UpIHsgXAo+ICtjaHZfd3JpdGUjI3goc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LCBzdHJ1Y3QgaTkxNV9yZWcgcmVnLCB1IyN4IHZhbCwgYm9v bCB0cmFjZSkgeyBcCj4gIAlib29sIHNoYWRvd2VkID0gaXNfZ2VuOF9zaGFkb3dlZChkZXZfcHJp diwgcmVnKTsgXAo+ICAJR0VONl9XUklURV9IRUFERVI7IFwKPiAgCWlmICghc2hhZG93ZWQpIHsg XAo+IEBAIC05NDEsNyArOTQzLDcgQEAgY2h2X3dyaXRlIyN4KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwgb2ZmX3QgcmVnLCB1IyN4IHZhbCwgYm9vbCB0cmFjZSkKPiAgCUdFTjZf V1JJVEVfRk9PVEVSOyBcCj4gIH0KPiAgCj4gLXN0YXRpYyBjb25zdCB1MzIgZ2VuOV9zaGFkb3dl ZF9yZWdzW10gPSB7Cj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9yZWcgZ2VuOV9zaGFkb3dl ZF9yZWdzW10gPSB7Cj4gIAlSSU5HX1RBSUwoUkVOREVSX1JJTkdfQkFTRSksCj4gIAlSSU5HX1RB SUwoR0VONl9CU0RfUklOR19CQVNFKSwKPiAgCVJJTkdfVEFJTChWRUJPWF9SSU5HX0JBU0UpLAo+ IEBAIC05NTQsMTEgKzk1NiwxMiBAQCBzdGF0aWMgY29uc3QgdTMyIGdlbjlfc2hhZG93ZWRfcmVn c1tdID0gewo+ICAJLyogVE9ETzogT3RoZXIgcmVnaXN0ZXJzIGFyZSBub3QgeWV0IHVzZWQgKi8K PiAgfTsKPiAgCj4gLXN0YXRpYyBib29sIGlzX2dlbjlfc2hhZG93ZWQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcmVnKQo+ICtzdGF0aWMgYm9vbCBpc19nZW45X3NoYWRv d2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJICAgICBzdHJ1Y3Qg aTkxNV9yZWcgcmVnKQo+ICB7Cj4gIAlpbnQgaTsKPiAgCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9T SVpFKGdlbjlfc2hhZG93ZWRfcmVncyk7IGkrKykKPiAtCQlpZiAocmVnID09IGdlbjlfc2hhZG93 ZWRfcmVnc1tpXSkKPiArCQlpZiAocmVnLnJlZyA9PSBnZW45X3NoYWRvd2VkX3JlZ3NbaV0ucmVn KQo+ICAJCQlyZXR1cm4gdHJ1ZTsKPiAgCj4gIAlyZXR1cm4gZmFsc2U7Cj4gQEAgLTk2Niw3ICs5 NjksNyBAQCBzdGF0aWMgYm9vbCBpc19nZW45X3NoYWRvd2VkKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwgdTMyIHJlZykKPiAgCj4gICNkZWZpbmUgX19nZW45X3dyaXRlKHgpIFwK PiAgc3RhdGljIHZvaWQgXAo+IC1nZW45X3dyaXRlIyN4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgb2ZmX3QgcmVnLCB1IyN4IHZhbCwgXAo+ICtnZW45X3dyaXRlIyN4KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3RydWN0IGk5MTVfcmVnIHJlZywgdSMjeCB2 YWwsIFwKPiAgCQlib29sIHRyYWNlKSB7IFwKPiAgCWVudW0gZm9yY2V3YWtlX2RvbWFpbnMgZndf ZW5naW5lOyBcCj4gIAlHRU42X1dSSVRFX0hFQURFUjsgXAo+IEBAIC0xMDQzLDcgKzEwNDYsOCBA QCBkbyB7IFwKPiAgCj4gIHN0YXRpYyB2b2lkIGZ3X2RvbWFpbl9pbml0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJICAgZW51bSBmb3JjZXdha2VfZG9tYWluX2lkIGRv bWFpbl9pZCwKPiAtCQkJICAgdTMyIHJlZ19zZXQsIHUzMiByZWdfYWNrKQo+ICsJCQkgICBzdHJ1 Y3QgaTkxNV9yZWcgcmVnX3NldCwKPiArCQkJICAgc3RydWN0IGk5MTVfcmVnIHJlZ19hY2spCj4g IHsKPiAgCXN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZDsKPiAgCj4gQEAg LTEwNzMsOCArMTA3Nyw2IEBAIHN0YXRpYyB2b2lkIGZ3X2RvbWFpbl9pbml0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQlkLT5yZWdfcG9zdCA9IEZPUkNFV0FLRV9BQ0tf VkxWOwo+ICAJZWxzZSBpZiAoSVNfR0VONihkZXZfcHJpdikgfHwgSVNfR0VONyhkZXZfcHJpdikg fHwgSVNfR0VOOChkZXZfcHJpdikpCj4gIAkJZC0+cmVnX3Bvc3QgPSBFQ09CVVM7Cj4gLQllbHNl Cj4gLQkJZC0+cmVnX3Bvc3QgPSAwOwo+ICAKPiAgCWQtPmk5MTUgPSBkZXZfcHJpdjsKPiAgCWQt PmlkID0gZG9tYWluX2lkOwo+IEBAIC0xMjQ4LDcgKzEyNTAsNyBAQCB2b2lkIGludGVsX3VuY29y ZV9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICNkZWZpbmUgR0VOX1JBTkdFKGwsIGgp IEdFTk1BU0soaCwgbCkKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnaXN0ZXJfd2hpdGVs aXN0IHsKPiAtCXVpbnQ2NF90IG9mZnNldDsKPiArCXN0cnVjdCBpOTE1X3JlZyBvZmZzZXQ7Cj4g IAl1aW50MzJfdCBzaXplOwo+ICAJLyogc3VwcG9ydGVkIGdlbnMsIDB4MTAgZm9yIDQsIDB4MzAg Zm9yIDQgYW5kIDUsIGV0Yy4gKi8KPiAgCXVpbnQzMl90IGdlbl9iaXRtYXNrOwo+IEBAIC0xMjYz LDExICsxMjY1LDExIEBAIGludCBpOTE1X3JlZ19yZWFkX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcmVnX3JlYWQgKnJlZyA9IGRhdGE7Cj4gIAlzdHJ1 Y3QgcmVnaXN0ZXJfd2hpdGVsaXN0IGNvbnN0ICplbnRyeSA9IHdoaXRlbGlzdDsKPiAgCXVuc2ln bmVkIHNpemU7Cj4gLQl1NjQgb2Zmc2V0Owo+ICsJc3RydWN0IGk5MTVfcmVnIG9mZnNldCwgb2Zm c2V0X2hpOwo+ICAJaW50IGksIHJldCA9IDA7Cj4gIAo+ICAJZm9yIChpID0gMDsgaSA8IEFSUkFZ X1NJWkUod2hpdGVsaXN0KTsgaSsrLCBlbnRyeSsrKSB7Cj4gLQkJaWYgKGVudHJ5LT5vZmZzZXQg PT0gKHJlZy0+b2Zmc2V0ICYgLWVudHJ5LT5zaXplKSAmJgo+ICsJCWlmIChlbnRyeS0+b2Zmc2V0 LnJlZyA9PSAocmVnLT5vZmZzZXQgJiAtZW50cnktPnNpemUpICYmCj4gIAkJICAgICgxIDw8IElO VEVMX0lORk8oZGV2KS0+Z2VuICYgZW50cnktPmdlbl9iaXRtYXNrKSkKPiAgCQkJYnJlYWs7Cj4g IAl9Cj4gQEAgLTEyODAsMTQgKzEyODIsMTUgQEAgaW50IGk5MTVfcmVnX3JlYWRfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCSAqIGxpbWl0IHRoZSBhdmFpbGFibGUgZmxhZ3MgZm9y IHRoYXQgcmVnaXN0ZXIpLgo+ICAJICovCj4gIAlvZmZzZXQgPSBlbnRyeS0+b2Zmc2V0Owo+ICsJ b2Zmc2V0X2hpLnJlZyA9IG9mZnNldC5yZWcgKyA0Owo+ICAJc2l6ZSA9IGVudHJ5LT5zaXplOwo+ IC0Jc2l6ZSB8PSByZWctPm9mZnNldCBeIG9mZnNldDsKPiArCXNpemUgfD0gcmVnLT5vZmZzZXQg XiBvZmZzZXQucmVnOwo+ICAKPiAgCWludGVsX3J1bnRpbWVfcG1fZ2V0KGRldl9wcml2KTsKPiAg Cj4gIAlzd2l0Y2ggKHNpemUpIHsKPiAgCWNhc2UgOCB8IDE6Cj4gLQkJcmVnLT52YWwgPSBJOTE1 X1JFQUQ2NF8yeDMyKG9mZnNldCwgb2Zmc2V0KzQpOwo+ICsJCXJlZy0+dmFsID0gSTkxNV9SRUFE NjRfMngzMihvZmZzZXQsIG9mZnNldF9oaSk7Cj4gIAkJYnJlYWs7Cj4gIAljYXNlIDg6Cj4gIAkJ cmVnLT52YWwgPSBJOTE1X1JFQUQ2NChvZmZzZXQpOwo+IEBAIC0xNDU2LDcgKzE0NTksNyBAQCBz dGF0aWMgaW50IGdlbjZfZG9fcmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgfQo+ICAK PiAgc3RhdGljIGludCB3YWl0X2Zvcl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gLQkJCSAgICAgY29uc3QgdTMyIHJlZywKPiArCQkJICAgICBzdHJ1Y3QgaTkx NV9yZWcgcmVnLAo+ICAJCQkgICAgIGNvbnN0IHUzMiBtYXNrLAo+ICAJCQkgICAgIGNvbnN0IHUz MiB2YWx1ZSwKPiAgCQkJICAgICBjb25zdCB1bnNpZ25lZCBsb25nIHRpbWVvdXRfbXMpCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3F1aXJrcy5jIGIvZHJpdmVycy9wY2kvcXVpcmtzLmMKPiBp bmRleCA2YTMwMjUyLi4xMjc1OThkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcGNpL3F1aXJrcy5j Cj4gKysrIGIvZHJpdmVycy9wY2kvcXVpcmtzLmMKPiBAQCAtMzQxNCwxNCArMzQxNCwxNCBAQCBz dGF0aWMgaW50IHJlc2V0X2l2Yl9pZ2Qoc3RydWN0IHBjaV9kZXYgKmRldiwgaW50IHByb2JlKQo+ ICAJICogdGhlIGJpdHMgaGF2ZSBiZWVuIHNldCBieSBpOTE1IHByZXZpb3VzbHksIHNvIHdlIGNs b2JiZXIKPiAgCSAqIFNPVVRIX0NISUNLRU4yIHJlZ2lzdGVyIGRpcmVjdGx5IGhlcmUuCj4gIAkg Ki8KPiAtCWlvd3JpdGUzMigweDAwMDAwMDA1LCBtbWlvX2Jhc2UgKyBTT1VUSF9DSElDS0VOMik7 Cj4gKwlpb3dyaXRlMzIoMHgwMDAwMDAwNSwgbW1pb19iYXNlICsgU09VVEhfQ0hJQ0tFTjIucmVn KTsKPiAgCj4gLQl2YWwgPSBpb3JlYWQzMihtbWlvX2Jhc2UgKyBQQ0hfUFBfQ09OVFJPTCkgJiAw eGZmZmZmZmZlOwo+IC0JaW93cml0ZTMyKHZhbCwgbW1pb19iYXNlICsgUENIX1BQX0NPTlRST0wp Owo+ICsJdmFsID0gaW9yZWFkMzIobW1pb19iYXNlICsgUENIX1BQX0NPTlRST0wucmVnKSAmIDB4 ZmZmZmZmZmU7Cj4gKwlpb3dyaXRlMzIodmFsLCBtbWlvX2Jhc2UgKyBQQ0hfUFBfQ09OVFJPTC5y ZWcpOwo+ICAKPiAgCXRpbWVvdXQgPSBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcyhJR0RfT1BF UkFUSU9OX1RJTUVPVVQpOwo+ICAJZG8gewo+IC0JCXZhbCA9IGlvcmVhZDMyKG1taW9fYmFzZSAr IFBDSF9QUF9TVEFUVVMpOwo+ICsJCXZhbCA9IGlvcmVhZDMyKG1taW9fYmFzZSArIFBDSF9QUF9T VEFUVVMucmVnKTsKPiAgCQlpZiAoKHZhbCAmIDB4YjAwMDAwMDApID09IDApCj4gIAkJCWdvdG8g cmVzZXRfY29tcGxldGU7Cj4gIAkJbXNsZWVwKDEwKTsKPiAtLSAKPiAyLjQuNgo+IAo+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKRGFuaWVs IFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cu ZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK