From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: Re: [PATCH v3 3/3] drm/bridge: add Silicon Image SiI8620 driver Date: Fri, 30 Sep 2016 09:30:16 +0530 Message-ID: <4a86c5eb-a8b8-ae91-ac70-3d16b81096db@codeaurora.org> References: <1473842027-21670-4-git-send-email-a.hajda@samsung.com> <1474897203-2982-1-git-send-email-a.hajda@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.codeaurora.org (smtp.codeaurora.org [198.145.29.96]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8308F6E196 for ; Fri, 30 Sep 2016 04:00:31 +0000 (UTC) In-Reply-To: <1474897203-2982-1-git-send-email-a.hajda@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Andrzej Hajda , "open list:DRM DRIVERS" , Inki Dae , Daniel Vetter Cc: Daniel Vetter , Marek Szyprowski , Bartlomiej Zolnierkiewicz List-Id: dri-devel@lists.freedesktop.org SGkgQW5kcmV6aiwKCk9uIDA5LzI2LzIwMTYgMDc6MTAgUE0sIEFuZHJ6ZWogSGFqZGEgd3JvdGU6 Cj4gU2lJODYyMCB0cmFuc21pdHRlciBjb252ZXJ0cyBlVE1EUy9IRE1JIHNpZ25hbCB0byBNSEwg My4wLgo+IEl0IGlzIGNvbnRyb2xsZWQgdmlhIEkyQyBidXMuIEl0cyBpbnRlcmFjdGlvbiB3aXRo IG90aGVyCj4gZGV2aWNlcyBpbiB2aWRlbyBwaXBlbGluZSBpcyBwZXJmb3JtZWQgbWFpbmx5IG9u IEhXIGxldmVsLgo+IFRoZSBvbmx5IGludGVyYWN0aW9uIGl0IGRvZXMgb24gZGV2aWNlIGRyaXZl ciBsZXZlbCBpcwo+IGZpbHRlcmluZy1vdXQgdW5zdXBwb3J0ZWQgdmlkZW8gbW9kZXMsIGl0IGV4 cG9zZXMgZHJtX2JyaWRnZQo+IGludGVyZmFjZSB0byBwZXJmb3JtIHRoaXMgb3BlcmF0aW9uLgoK VGhlIHBhdGNoc2V0IGxvb2tzIGdvb2QgdG8gbWUuIElzIHRoZSBNSEwgaGVhZGVyIHBhdGNoCmFj Y2VwdGVkPyBJIHdhcyB3b25kZXJpbmcgaG93IHdlIHB1bGwgdGhpcyBpbi4KCitEYW5pZWwKClRo YW5rcywKQXJjaGl0Cgo+Cj4gU2lnbmVkLW9mZi1ieTogQW5kcnplaiBIYWpkYSA8YS5oYWpkYUBz YW1zdW5nLmNvbT4KPiAtLS0KPiB2MzoKPiAgIC0gbW9kaWZpZWQgZHJpdmVyIGRlc2NyaXB0aW9u LAo+ICAgLSByZW1vdmVkIGR1bW15IGJyaWRnZSBjYWxsYmFja3MsCj4gICAtIHJlbW92ZWQgbG9j a2luZyBmcm9tIGRyaXZlciByZW1vdmUgZnVuY3Rpb24uCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvS2NvbmZpZyAgICAgICB8ICAgIDcgKwo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdl L01ha2VmaWxlICAgICAgfCAgICAxICsKPiAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWwtc2lp ODYyMC5jIHwgMTU1NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGRyaXZl cnMvZ3B1L2RybS9icmlkZ2Uvc2lsLXNpaTg2MjAuaCB8IDE1MTcgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCj4gIDQgZmlsZXMgY2hhbmdlZCwgMzA4MiBpbnNlcnRpb25zKCspCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmMK PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lsLXNpaTg2MjAu aAo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvS2NvbmZpZyBiL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2UvS2NvbmZpZwo+IGluZGV4IGI1OTBlNjcuLmU3ZmIxNzkgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9LY29uZmlnCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9LY29uZmlnCj4gQEAgLTUwLDYgKzUwLDEzIEBAIGNvbmZpZyBEUk1fUEFS QURFX1BTODYyMgo+ICAJLS0taGVscC0tLQo+ICAJICBQYXJhZGUgZURQLUxWRFMgYnJpZGdlIGNo aXAgZHJpdmVyLgo+Cj4gK2NvbmZpZyBEUk1fU0lMX1NJSTg2MjAKPiArCXRyaXN0YXRlICJTaWxp Y29uIEltYWdlIFNJSTg2MjAgSERNSS9NSEwgYnJpZGdlIgo+ICsJZGVwZW5kcyBvbiBPRgo+ICsJ c2VsZWN0IERSTV9LTVNfSEVMUEVSCj4gKwloZWxwCj4gKwkgIFNpbGljb24gSW1hZ2UgU0lJODYy MCBIRE1JL01ITCBicmlkZ2UgY2hpcCBkcml2ZXIuCj4gKwo+ICBjb25maWcgRFJNX1NJSTkwMlgK PiAgCXRyaXN0YXRlICJTaWxpY29uIEltYWdlIHNpaTkwMnggUkdCL0hETUkgYnJpZGdlIgo+ICAJ ZGVwZW5kcyBvbiBPRgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL01ha2Vm aWxlIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9NYWtlZmlsZQo+IGluZGV4IGVmZGIwN2UuLjMw NGNmOWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9NYWtlZmlsZQo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvTWFrZWZpbGUKPiBAQCAtNSw2ICs1LDcgQEAgb2Jq LSQoQ09ORklHX0RSTV9EV19IRE1JKSArPSBkdy1oZG1pLm8KPiAgb2JqLSQoQ09ORklHX0RSTV9E V19IRE1JX0FIQl9BVURJTykgKz0gZHctaGRtaS1haGItYXVkaW8ubwo+ICBvYmotJChDT05GSUdf RFJNX05YUF9QVE4zNDYwKSArPSBueHAtcHRuMzQ2MC5vCj4gIG9iai0kKENPTkZJR19EUk1fUEFS QURFX1BTODYyMikgKz0gcGFyYWRlLXBzODYyMi5vCj4gK29iai0kKENPTkZJR19EUk1fU0lMX1NJ STg2MjApICs9IHNpbC1zaWk4NjIwLm8KPiAgb2JqLSQoQ09ORklHX0RSTV9TSUk5MDJYKSArPSBz aWk5MDJ4Lm8KPiAgb2JqLSQoQ09ORklHX0RSTV9UT1NISUJBX1RDMzU4NzY3KSArPSB0YzM1ODc2 Ny5vCj4gIG9iai0kKENPTkZJR19EUk1fQU5BTE9HSVhfRFApICs9IGFuYWxvZ2l4Lwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmMgYi9kcml2ZXJzL2dw dS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4 IDAwMDAwMDAuLjkwN2M2MTIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9zaWwtc2lpODYyMC5jCj4gQEAgLTAsMCArMSwxNTU3IEBACj4gKy8qCj4gKyAqIFNp bGljb24gSW1hZ2UgU2lJODYyMCBIRE1JL01ITCBicmlkZ2UgZHJpdmVyCj4gKyAqCj4gKyAqIENv cHlyaWdodCAoQykgMjAxNSwgU2Ftc3VuZyBFbGVjdHJvbmljcyBDby4sIEx0ZC4KPiArICogQW5k cnplaiBIYWpkYSA8YS5oYWpkYUBzYW1zdW5nLmNvbT4KPiArICoKPiArICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK PiArICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSB2ZXJzaW9uIDIgYXMKPiArICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24uCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgPGRybS9kcm1fY3J0Yy5oPgo+ICsjaW5jbHVk ZSA8ZHJtL2RybV9lZGlkLmg+Cj4gKwo+ICsjaW5jbHVkZSA8bGludXgvY2xrLmg+Cj4gKyNpbmNs dWRlIDxsaW51eC9kZWxheS5oPgo+ICsjaW5jbHVkZSA8bGludXgvZ3Bpby9jb25zdW1lci5oPgo+ ICsjaW5jbHVkZSA8bGludXgvaTJjLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4K PiArI2luY2x1ZGUgPGxpbnV4L2lycS5oPgo+ICsjaW5jbHVkZSA8bGludXgva2VybmVsLmg+Cj4g KyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9taGwuaD4KPiArI2lu Y2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ICsjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KPiArI2lu Y2x1ZGUgPGxpbnV4L3JlZ3VsYXRvci9jb25zdW1lci5oPgo+ICsjaW5jbHVkZSA8bGludXgvc2xh Yi5oPgo+ICsKPiArI2luY2x1ZGUgInNpbC1zaWk4NjIwLmgiCj4gKwo+ICsjZGVmaW5lIFZBTF9S WF9IRE1JX0NUUkwyX0RFRlZBTAlWQUxfUlhfSERNSV9DVFJMMl9JRExFX0NOVCgzKQo+ICsKPiAr ZW51bSBzaWk4NjIwX21vZGUgewo+ICsJQ01fRElTQ09OTkVDVEVELAo+ICsJQ01fRElTQ09WRVJZ LAo+ICsJQ01fTUhMMSwKPiArCUNNX01ITDMsCj4gKwlDTV9FQ0JVU19TCj4gK307Cj4gKwo+ICtl bnVtIHNpaTg2MjBfc2lua190eXBlIHsKPiArCVNJTktfTk9ORSwKPiArCVNJTktfSERNSSwKPiAr CVNJTktfRFZJCj4gK307Cj4gKwo+ICtlbnVtIHNpaTg2MjBfbXRfc3RhdGUgewo+ICsJTVRfU1RB VEVfUkVBRFksCj4gKwlNVF9TVEFURV9CVVNZLAo+ICsJTVRfU1RBVEVfRE9ORQo+ICt9Owo+ICsK PiArc3RydWN0IHNpaTg2MjAgewo+ICsJc3RydWN0IGRybV9icmlkZ2UgYnJpZGdlOwo+ICsJc3Ry dWN0IGRldmljZSAqZGV2Owo+ICsJc3RydWN0IGNsayAqY2xrX3h0YWw7Cj4gKwlzdHJ1Y3QgZ3Bp b19kZXNjICpncGlvX3Jlc2V0Owo+ICsJc3RydWN0IGdwaW9fZGVzYyAqZ3Bpb19pbnQ7Cj4gKwlz dHJ1Y3QgcmVndWxhdG9yX2J1bGtfZGF0YSBzdXBwbGllc1syXTsKPiArCXN0cnVjdCBtdXRleCBs b2NrOyAvKiBjb250ZXh0IGxvY2ssIHByb3RlY3RzIGZpZWxkcyBiZWxvdyAqLwo+ICsJaW50IGVy cm9yOwo+ICsJZW51bSBzaWk4NjIwX21vZGUgbW9kZTsKPiArCWVudW0gc2lpODYyMF9zaW5rX3R5 cGUgc2lua190eXBlOwo+ICsJdTggY2J1c19zdGF0dXM7Cj4gKwl1OCBzdGF0W01ITF9EU1RfU0la RV07Cj4gKwl1OCB4c3RhdFtNSExfWERTX1NJWkVdOwo+ICsJdTggZGV2Y2FwW01ITF9EQ0FQX1NJ WkVdOwo+ICsJdTggeGRldmNhcFtNSExfWERDX1NJWkVdOwo+ICsJdTggYXZpZlsxOV07Cj4gKwlz dHJ1Y3QgZWRpZCAqZWRpZDsKPiArCXVuc2lnbmVkIGludCBnZW4yX3dyaXRlX2J1cnN0OjE7Cj4g KwllbnVtIHNpaTg2MjBfbXRfc3RhdGUgbXRfc3RhdGU7Cj4gKwlzdHJ1Y3QgbGlzdF9oZWFkIG10 X3F1ZXVlOwo+ICt9Owo+ICsKPiArc3RydWN0IHNpaTg2MjBfbXRfbXNnOwo+ICsKPiArdHlwZWRl ZiB2b2lkICgqc2lpODYyMF9tdF9tc2dfY2IpKHN0cnVjdCBzaWk4NjIwICpjdHgsCj4gKwkJCQkg IHN0cnVjdCBzaWk4NjIwX210X21zZyAqbXNnKTsKPiArCj4gK3N0cnVjdCBzaWk4NjIwX210X21z ZyB7Cj4gKwlzdHJ1Y3QgbGlzdF9oZWFkIG5vZGU7Cj4gKwl1OCByZWdbNF07Cj4gKwl1OCByZXQ7 Cj4gKwlzaWk4NjIwX210X21zZ19jYiBzZW5kOwo+ICsJc2lpODYyMF9tdF9tc2dfY2IgcmVjdjsK PiArfTsKPiArCj4gK3N0YXRpYyBjb25zdCB1OCBzaWk4NjIwX2kyY19wYWdlW10gPSB7Cj4gKwkw eDM5LCAvKiBNYWluIFN5c3RlbSAqLwo+ICsJMHgzZCwgLyogVERNIGFuZCBIU0lDICovCj4gKwkw eDQ5LCAvKiBUTURTIFJlY2VpdmVyLCBNSEwgRURJRCAqLwo+ICsJMHg0ZCwgLyogZU1TQywgSERD UCwgSFNJQyAqLwo+ICsJMHg1ZCwgLyogTUhMIFNwZWMgKi8KPiArCTB4NjQsIC8qIE1ITCBDQlVT ICovCj4gKwkweDU5LCAvKiBIYXJkd2FyZSBUUEkgKFRyYW5zbWl0dGVyIFByb2dyYW1taW5nIElu dGVyZmFjZSkgKi8KPiArCTB4NjEsIC8qIGVDQlVTLVMsIGVDQlVTLUQgKi8KPiArfTsKPiArCj4g K3N0YXRpYyB2b2lkIHNpaTg2MjBfZmV0Y2hfZWRpZChzdHJ1Y3Qgc2lpODYyMCAqY3R4KTsKPiAr c3RhdGljIHZvaWQgc2lpODYyMF9zZXRfdXBzdHJlYW1fZWRpZChzdHJ1Y3Qgc2lpODYyMCAqY3R4 KTsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9lbmFibGVfaHBkKHN0cnVjdCBzaWk4NjIwICpjdHgp Owo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX21obF9kaXNjb25uZWN0ZWQoc3RydWN0IHNpaTg2MjAg KmN0eCk7Cj4gKwo+ICtzdGF0aWMgaW50IHNpaTg2MjBfY2xlYXJfZXJyb3Ioc3RydWN0IHNpaTg2 MjAgKmN0eCkKPiArewo+ICsJaW50IHJldCA9IGN0eC0+ZXJyb3I7Cj4gKwo+ICsJY3R4LT5lcnJv ciA9IDA7Cj4gKwlyZXR1cm4gcmV0Owo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX3Jl YWRfYnVmKHN0cnVjdCBzaWk4NjIwICpjdHgsIHUxNiBhZGRyLCB1OCAqYnVmLCBpbnQgbGVuKQo+ ICt7Cj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBjdHgtPmRldjsKPiArCXN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQgPSB0b19pMmNfY2xpZW50KGRldik7Cj4gKwl1OCBkYXRhID0gYWRkcjsKPiAr CXN0cnVjdCBpMmNfbXNnIG1zZ1tdID0gewo+ICsJCXsKPiArCQkJLmFkZHIgPSBzaWk4NjIwX2ky Y19wYWdlW2FkZHIgPj4gOF0sCj4gKwkJCS5mbGFncyA9IGNsaWVudC0+ZmxhZ3MsCj4gKwkJCS5s ZW4gPSAxLAo+ICsJCQkuYnVmID0gJmRhdGEKPiArCQl9LAo+ICsJCXsKPiArCQkJLmFkZHIgPSBz aWk4NjIwX2kyY19wYWdlW2FkZHIgPj4gOF0sCj4gKwkJCS5mbGFncyA9IGNsaWVudC0+ZmxhZ3Mg fCBJMkNfTV9SRCwKPiArCQkJLmxlbiA9IGxlbiwKPiArCQkJLmJ1ZiA9IGJ1Zgo+ICsJCX0sCj4g Kwl9Owo+ICsJaW50IHJldDsKPiArCj4gKwlpZiAoY3R4LT5lcnJvcikKPiArCQlyZXR1cm47Cj4g Kwo+ICsJcmV0ID0gaTJjX3RyYW5zZmVyKGNsaWVudC0+YWRhcHRlciwgbXNnLCAyKTsKPiArCWRl dl9kYmcoZGV2LCAicmVhZCBhdCAlMDR4OiAlKnBoLCAlZFxuIiwgYWRkciwgbGVuLCBidWYsIHJl dCk7Cj4gKwo+ICsJaWYgKHJldCAhPSAyKSB7Cj4gKwkJZGV2X2VycihkZXYsICJSZWFkIGF0ICUj MDZ4IG9mICVkIGJ5dGVzIGZhaWxlZCB3aXRoIGNvZGUgJWQuXG4iLAo+ICsJCQlhZGRyLCBsZW4s IHJldCk7Cj4gKwkJY3R4LT5lcnJvciA9IHJldCA8IDAgPyByZXQgOiAtRUlPOwo+ICsJfQo+ICt9 Cj4gKwo+ICtzdGF0aWMgdTggc2lpODYyMF9yZWFkYihzdHJ1Y3Qgc2lpODYyMCAqY3R4LCB1MTYg YWRkcikKPiArewo+ICsJdTggcmV0Owo+ICsKPiArCXNpaTg2MjBfcmVhZF9idWYoY3R4LCBhZGRy LCAmcmV0LCAxKTsKPiArCXJldHVybiByZXQ7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2 MjBfd3JpdGVfYnVmKHN0cnVjdCBzaWk4NjIwICpjdHgsIHUxNiBhZGRyLCBjb25zdCB1OCAqYnVm LAo+ICsJCQkgICAgICBpbnQgbGVuKQo+ICt7Cj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBjdHgt PmRldjsKPiArCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQgPSB0b19pMmNfY2xpZW50KGRldik7 Cj4gKwl1OCBkYXRhWzJdOwo+ICsJc3RydWN0IGkyY19tc2cgbXNnID0gewo+ICsJCS5hZGRyID0g c2lpODYyMF9pMmNfcGFnZVthZGRyID4+IDhdLAo+ICsJCS5mbGFncyA9IGNsaWVudC0+ZmxhZ3Ms Cj4gKwkJLmxlbiA9IGxlbiArIDEsCj4gKwl9Owo+ICsJaW50IHJldDsKPiArCj4gKwlpZiAoY3R4 LT5lcnJvcikKPiArCQlyZXR1cm47Cj4gKwo+ICsJaWYgKGxlbiA+IDEpIHsKPiArCQltc2cuYnVm ID0ga21hbGxvYyhsZW4gKyAxLCBHRlBfS0VSTkVMKTsKPiArCQlpZiAoIW1zZy5idWYpIHsKPiAr CQkJY3R4LT5lcnJvciA9IC1FTk9NRU07Cj4gKwkJCXJldHVybjsKPiArCQl9Cj4gKwkJbWVtY3B5 KG1zZy5idWYgKyAxLCBidWYsIGxlbik7Cj4gKwl9IGVsc2Ugewo+ICsJCW1zZy5idWYgPSBkYXRh Owo+ICsJCW1zZy5idWZbMV0gPSAqYnVmOwo+ICsJfQo+ICsKPiArCW1zZy5idWZbMF0gPSBhZGRy Owo+ICsKPiArCXJldCA9IGkyY190cmFuc2ZlcihjbGllbnQtPmFkYXB0ZXIsICZtc2csIDEpOwo+ ICsJZGV2X2RiZyhkZXYsICJ3cml0ZSBhdCAlMDR4OiAlKnBoLCAlZFxuIiwgYWRkciwgbGVuLCBi dWYsIHJldCk7Cj4gKwo+ICsJaWYgKHJldCAhPSAxKSB7Cj4gKwkJZGV2X2VycihkZXYsICJXcml0 ZSBhdCAlIzA2eCBvZiAlKnBoIGZhaWxlZCB3aXRoIGNvZGUgJWQuXG4iLAo+ICsJCQlhZGRyLCBs ZW4sIGJ1ZiwgcmV0KTsKPiArCQljdHgtPmVycm9yID0gcmV0ID86IC1FSU87Cj4gKwl9Cj4gKwo+ ICsJaWYgKGxlbiA+IDEpCj4gKwkJa2ZyZWUobXNnLmJ1Zik7Cj4gK30KPiArCj4gKyNkZWZpbmUg c2lpODYyMF93cml0ZShjdHgsIGFkZHIsIGFyci4uLikgXAo+ICsoe1wKPiArCXU4IGRbXSA9IHsg YXJyIH07IFwKPiArCXNpaTg2MjBfd3JpdGVfYnVmKGN0eCwgYWRkciwgZCwgQVJSQVlfU0laRShk KSk7IFwKPiArfSkKPiArCj4gK3N0YXRpYyB2b2lkIF9fc2lpODYyMF93cml0ZV9zZXEoc3RydWN0 IHNpaTg2MjAgKmN0eCwgdTE2ICpzZXEsIGludCBsZW4pCj4gK3sKPiArCWludCBpOwo+ICsKPiAr CWZvciAoaSA9IDA7IGkgPCBsZW47IGkgKz0gMikKPiArCQlzaWk4NjIwX3dyaXRlKGN0eCwgc2Vx W2ldLCBzZXFbaSArIDFdKTsKPiArfQo+ICsKPiArI2RlZmluZSBzaWk4NjIwX3dyaXRlX3NlcShj dHgsIHNlcS4uLikgXAo+ICsoe1wKPiArCXUxNiBkW10gPSB7IHNlcSB9OyBcCj4gKwlfX3NpaTg2 MjBfd3JpdGVfc2VxKGN0eCwgZCwgQVJSQVlfU0laRShkKSk7IFwKPiArfSkKPiArCj4gK3N0YXRp YyB2b2lkIHNpaTg2MjBfc2V0Yml0cyhzdHJ1Y3Qgc2lpODYyMCAqY3R4LCB1MTYgYWRkciwgdTgg bWFzaywgdTggdmFsKQo+ICt7Cj4gKwl2YWwgPSAodmFsICYgbWFzaykgfCAoc2lpODYyMF9yZWFk YihjdHgsIGFkZHIpICYgfm1hc2spOwo+ICsJc2lpODYyMF93cml0ZShjdHgsIGFkZHIsIHZhbCk7 Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfbXRfY2xlYW51cChzdHJ1Y3Qgc2lpODYy MCAqY3R4KQo+ICt7Cj4gKwlzdHJ1Y3Qgc2lpODYyMF9tdF9tc2cgKm1zZywgKm47Cj4gKwo+ICsJ bGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKG1zZywgbiwgJmN0eC0+bXRfcXVldWUsIG5vZGUpIHsK PiArCQlsaXN0X2RlbCgmbXNnLT5ub2RlKTsKPiArCQlrZnJlZShtc2cpOwo+ICsJfQo+ICsJY3R4 LT5tdF9zdGF0ZSA9IE1UX1NUQVRFX1JFQURZOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4 NjIwX210X3dvcmsoc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJc3RydWN0IHNpaTg2MjBf bXRfbXNnICptc2c7Cj4gKwo+ICsJaWYgKGN0eC0+ZXJyb3IpCj4gKwkJcmV0dXJuOwo+ICsJaWYg KGN0eC0+bXRfc3RhdGUgPT0gTVRfU1RBVEVfQlVTWSB8fCBsaXN0X2VtcHR5KCZjdHgtPm10X3F1 ZXVlKSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJaWYgKGN0eC0+bXRfc3RhdGUgPT0gTVRfU1RBVEVf RE9ORSkgewo+ICsJCWN0eC0+bXRfc3RhdGUgPSBNVF9TVEFURV9SRUFEWTsKPiArCQltc2cgPSBs aXN0X2ZpcnN0X2VudHJ5KCZjdHgtPm10X3F1ZXVlLCBzdHJ1Y3Qgc2lpODYyMF9tdF9tc2csCj4g KwkJCQkgICAgICAgbm9kZSk7Cj4gKwkJaWYgKG1zZy0+cmVjdikKPiArCQkJbXNnLT5yZWN2KGN0 eCwgbXNnKTsKPiArCQlsaXN0X2RlbCgmbXNnLT5ub2RlKTsKPiArCQlrZnJlZShtc2cpOwo+ICsJ fQo+ICsKPiArCWlmIChjdHgtPm10X3N0YXRlICE9IE1UX1NUQVRFX1JFQURZIHx8IGxpc3RfZW1w dHkoJmN0eC0+bXRfcXVldWUpKQo+ICsJCXJldHVybjsKPiArCj4gKwljdHgtPm10X3N0YXRlID0g TVRfU1RBVEVfQlVTWTsKPiArCW1zZyA9IGxpc3RfZmlyc3RfZW50cnkoJmN0eC0+bXRfcXVldWUs IHN0cnVjdCBzaWk4NjIwX210X21zZywgbm9kZSk7Cj4gKwlpZiAobXNnLT5zZW5kKQo+ICsJCW1z Zy0+c2VuZChjdHgsIG1zZyk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfbXRfbXNj X2NtZF9zZW5kKHN0cnVjdCBzaWk4NjIwICpjdHgsCj4gKwkJCQkgICAgICAgc3RydWN0IHNpaTg2 MjBfbXRfbXNnICptc2cpCj4gK3sKPiArCXN3aXRjaCAobXNnLT5yZWdbMF0pIHsKPiArCWNhc2Ug TUhMX1dSSVRFX1NUQVQ6Cj4gKwljYXNlIE1ITF9TRVRfSU5UOgo+ICsJCXNpaTg2MjBfd3JpdGVf YnVmKGN0eCwgUkVHX01TQ19DTURfT1JfT0ZGU0VULCBtc2ctPnJlZyArIDEsIDIpOwo+ICsJCXNp aTg2MjBfd3JpdGUoY3R4LCBSRUdfTVNDX0NPTU1BTkRfU1RBUlQsCj4gKwkJCSAgICAgIEJJVF9N U0NfQ09NTUFORF9TVEFSVF9XUklURV9TVEFUKTsKPiArCQlicmVhazsKPiArCWNhc2UgTUhMX01T Q19NU0c6Cj4gKwkJc2lpODYyMF93cml0ZV9idWYoY3R4LCBSRUdfTVNDX0NNRF9PUl9PRkZTRVQs IG1zZy0+cmVnLCAzKTsKPiArCQlzaWk4NjIwX3dyaXRlKGN0eCwgUkVHX01TQ19DT01NQU5EX1NU QVJULAo+ICsJCQkgICAgICBCSVRfTVNDX0NPTU1BTkRfU1RBUlRfTVNDX01TRyk7Cj4gKwkJYnJl YWs7Cj4gKwlkZWZhdWx0Ogo+ICsJCWRldl9lcnIoY3R4LT5kZXYsICIlczogY29tbWFuZCAlI3gg bm90IHN1cHBvcnRlZFxuIiwgX19mdW5jX18sCj4gKwkJCW1zZy0+cmVnWzBdKTsKPiArCX0KPiAr fQo+ICsKPiArc3RhdGljIHN0cnVjdCBzaWk4NjIwX210X21zZyAqc2lpODYyMF9tdF9tc2dfbmV3 KHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXN0cnVjdCBzaWk4NjIwX210X21zZyAqbXNn ID0ga3phbGxvYyhzaXplb2YoKm1zZyksIEdGUF9LRVJORUwpOwo+ICsKPiArCWlmICghbXNnKQo+ ICsJCWN0eC0+ZXJyb3IgPSAtRU5PTUVNOwo+ICsJZWxzZQo+ICsJCWxpc3RfYWRkX3RhaWwoJm1z Zy0+bm9kZSwgJmN0eC0+bXRfcXVldWUpOwo+ICsKPiArCXJldHVybiBtc2c7Cj4gK30KPiArCj4g K3N0YXRpYyB2b2lkIHNpaTg2MjBfbXRfbXNjX2NtZChzdHJ1Y3Qgc2lpODYyMCAqY3R4LCB1OCBj bWQsIHU4IGFyZzEsIHU4IGFyZzIpCj4gK3sKPiArCXN0cnVjdCBzaWk4NjIwX210X21zZyAqbXNn ID0gc2lpODYyMF9tdF9tc2dfbmV3KGN0eCk7Cj4gKwo+ICsJaWYgKCFtc2cpCj4gKwkJcmV0dXJu Owo+ICsKPiArCW1zZy0+cmVnWzBdID0gY21kOwo+ICsJbXNnLT5yZWdbMV0gPSBhcmcxOwo+ICsJ bXNnLT5yZWdbMl0gPSBhcmcyOwo+ICsJbXNnLT5zZW5kID0gc2lpODYyMF9tdF9tc2NfY21kX3Nl bmQ7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfbXRfd3JpdGVfc3RhdChzdHJ1Y3Qg c2lpODYyMCAqY3R4LCB1OCByZWcsIHU4IHZhbCkKPiArewo+ICsJc2lpODYyMF9tdF9tc2NfY21k KGN0eCwgTUhMX1dSSVRFX1NUQVQsIHJlZywgdmFsKTsKPiArfQo+ICsKPiArc3RhdGljIGlubGlu ZSB2b2lkIHNpaTg2MjBfbXRfc2V0X2ludChzdHJ1Y3Qgc2lpODYyMCAqY3R4LCB1OCBpcnEsIHU4 IG1hc2spCj4gK3sKPiArCXNpaTg2MjBfbXRfbXNjX2NtZChjdHgsIE1ITF9TRVRfSU5ULCBpcnEs IG1hc2spOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX210X21zY19tc2coc3RydWN0 IHNpaTg2MjAgKmN0eCwgdTggY21kLCB1OCBkYXRhKQo+ICt7Cj4gKwlzaWk4NjIwX210X21zY19j bWQoY3R4LCBNSExfTVNDX01TRywgY21kLCBkYXRhKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQg c2lpODYyMF9tdF9yYXAoc3RydWN0IHNpaTg2MjAgKmN0eCwgdTggY29kZSkKPiArewo+ICsJc2lp ODYyMF9tdF9tc2NfbXNnKGN0eCwgTUhMX01TQ19NU0dfUkFQLCBjb2RlKTsKPiArfQo+ICsKPiAr c3RhdGljIHZvaWQgc2lpODYyMF9tdF9yZWFkX2RldmNhcF9zZW5kKHN0cnVjdCBzaWk4NjIwICpj dHgsCj4gKwkJCQkJc3RydWN0IHNpaTg2MjBfbXRfbXNnICptc2cpCj4gK3sKPiArCXU4IGN0cmwg PSBCSVRfRURJRF9DVFJMX0RFVkNBUF9TRUxFQ1RfREVWQ0FQCj4gKwkJCXwgQklUX0VESURfQ1RS TF9FRElEX0ZJRk9fQUREUl9BVVRPCj4gKwkJCXwgQklUX0VESURfQ1RSTF9FRElEX01PREVfRU47 Cj4gKwo+ICsJaWYgKG1zZy0+cmVnWzBdID09IE1ITF9SRUFEX1hERVZDQVApCj4gKwkJY3RybCB8 PSBCSVRfRURJRF9DVFJMX1hERVZDQVBfRU47Cj4gKwo+ICsJc2lpODYyMF93cml0ZV9zZXEoY3R4 LAo+ICsJCVJFR19JTlRSOV9NQVNLLCBCSVRfSU5UUjlfREVWQ0FQX0RPTkUsCj4gKwkJUkVHX0VE SURfQ1RSTCwgY3RybCwKPiArCQlSRUdfVFBJX0NCVVNfU1RBUlQsIEJJVF9UUElfQ0JVU19TVEFS VF9HRVRfREVWQ0FQX1NUQVJUCj4gKwkpOwo+ICt9Cj4gKwo+ICsvKiBjb3B5IHNyYyB0byBkc3Qg YW5kIHNldCBjaGFuZ2VkIGJpdHMgaW4gc3JjICovCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfdXBk YXRlX2FycmF5KHU4ICpkc3QsIHU4ICpzcmMsIGludCBjb3VudCkKPiArewo+ICsJd2hpbGUgKC0t Y291bnQgPj0gMCkgewo+ICsJCSpzcmMgXj0gKmRzdDsKPiArCQkqZHN0KysgXj0gKnNyYysrOwo+ ICsJfQo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX21yX2RldmNhcChzdHJ1Y3Qgc2lp ODYyMCAqY3R4KQo+ICt7Cj4gKwlzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNpbmtfc3RyW10g PSB7Cj4gKwkJW1NJTktfTk9ORV0gPSAiTk9ORSIsCj4gKwkJW1NJTktfSERNSV0gPSAiSERNSSIs Cj4gKwkJW1NJTktfRFZJXSA9ICJEVkkiCj4gKwl9Owo+ICsKPiArCXU4IGRjYXBbTUhMX0RDQVBf U0laRV07Cj4gKwljaGFyIHNpbmtfbmFtZVsyMF07Cj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBj dHgtPmRldjsKPiArCj4gKwlzaWk4NjIwX3JlYWRfYnVmKGN0eCwgUkVHX0VESURfRklGT19SRF9E QVRBLCBkY2FwLCBNSExfRENBUF9TSVpFKTsKPiArCWlmIChjdHgtPmVycm9yIDwgMCkKPiArCQly ZXR1cm47Cj4gKwo+ICsJZGV2X2luZm8oZGV2LCAiZGNhcDogJSpwaFxuIiwgTUhMX0RDQVBfU0la RSwgZGNhcCk7Cj4gKwlkZXZfaW5mbyhkZXYsICJkZXRlY3RlZCBkb25nbGUgTUhMICVkLiVkLCBD aGlwSUQgJTAyeCUwMng6JTAyeCUwMnhcbiIsCj4gKwkJZGNhcFtNSExfRENBUF9NSExfVkVSU0lP Tl0gLyAxNiwgZGNhcFtNSExfRENBUF9NSExfVkVSU0lPTl0gJSAxNiwKPiArCQlkY2FwW01ITF9E Q0FQX0FET1BURVJfSURfSF0sIGRjYXBbTUhMX0RDQVBfQURPUFRFUl9JRF9MXSwKPiArCQlkY2Fw W01ITF9EQ0FQX0RFVklDRV9JRF9IXSwgZGNhcFtNSExfRENBUF9ERVZJQ0VfSURfTF0pOwo+ICsJ c2lpODYyMF91cGRhdGVfYXJyYXkoY3R4LT5kZXZjYXAsIGRjYXAsIE1ITF9EQ0FQX1NJWkUpOwo+ ICsKPiArCWlmICghKGRjYXBbTUhMX0RDQVBfQ0FUXSAmIE1ITF9EQ0FQX0NBVF9TSU5LKSkKPiAr CQlyZXR1cm47Cj4gKwo+ICsJc2lpODYyMF9mZXRjaF9lZGlkKGN0eCk7Cj4gKwlpZiAoIWN0eC0+ ZWRpZCkgewo+ICsJCWRldl9lcnIoY3R4LT5kZXYsICJDYW5ub3QgZmV0Y2ggRURJRFxuIik7Cj4g KwkJc2lpODYyMF9taGxfZGlzY29ubmVjdGVkKGN0eCk7Cj4gKwkJcmV0dXJuOwo+ICsJfQo+ICsK PiArCWlmIChkcm1fZGV0ZWN0X2hkbWlfbW9uaXRvcihjdHgtPmVkaWQpKQo+ICsJCWN0eC0+c2lu a190eXBlID0gU0lOS19IRE1JOwo+ICsJZWxzZQo+ICsJCWN0eC0+c2lua190eXBlID0gU0lOS19E Vkk7Cj4gKwo+ICsJZHJtX2VkaWRfZ2V0X21vbml0b3JfbmFtZShjdHgtPmVkaWQsIHNpbmtfbmFt ZSwgQVJSQVlfU0laRShzaW5rX25hbWUpKTsKPiArCj4gKwlkZXZfaW5mbyhkZXYsICJkZXRlY3Rl ZCBzaW5rKHR5cGU6ICVzKTogJXNcbiIsCj4gKwkJc2lua19zdHJbY3R4LT5zaW5rX3R5cGVdLCBz aW5rX25hbWUpOwo+ICsJc2lpODYyMF9zZXRfdXBzdHJlYW1fZWRpZChjdHgpOwo+ICsJc2lpODYy MF9lbmFibGVfaHBkKGN0eCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfbXJfeGRl dmNhcChzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4gKwlzaWk4NjIwX3JlYWRfYnVmKGN0eCwg UkVHX0VESURfRklGT19SRF9EQVRBLCBjdHgtPnhkZXZjYXAsCj4gKwkJCSBNSExfWERDX1NJWkUp Owo+ICsKPiArCXNpaTg2MjBfbXRfd3JpdGVfc3RhdChjdHgsIE1ITF9YRFNfUkVHKENVUlJfRUNC VVNfTU9ERSksCj4gKwkJCSAgICAgIE1ITF9YRFNfRUNCVVNfUyB8IE1ITF9YRFNfU0xPVF9NT0RF XzhCSVQpOwo+ICsJc2lpODYyMF9tdF9yYXAoY3R4LCBNSExfUkFQX0NCVVNfTU9ERV9VUCk7Cj4g K30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfbXRfcmVhZF9kZXZjYXBfcmVjdihzdHJ1Y3Qg c2lpODYyMCAqY3R4LAo+ICsJCQkJCXN0cnVjdCBzaWk4NjIwX210X21zZyAqbXNnKQo+ICt7Cj4g Kwl1OCBjdHJsID0gQklUX0VESURfQ1RSTF9ERVZDQVBfU0VMRUNUX0RFVkNBUAo+ICsJCXwgQklU X0VESURfQ1RSTF9FRElEX0ZJRk9fQUREUl9BVVRPCj4gKwkJfCBCSVRfRURJRF9DVFJMX0VESURf TU9ERV9FTjsKPiArCj4gKwlpZiAobXNnLT5yZWdbMF0gPT0gTUhMX1JFQURfWERFVkNBUCkKPiAr CQljdHJsIHw9IEJJVF9FRElEX0NUUkxfWERFVkNBUF9FTjsKPiArCj4gKwlzaWk4NjIwX3dyaXRl X3NlcShjdHgsCj4gKwkJUkVHX0lOVFI5X01BU0ssIEJJVF9JTlRSOV9ERVZDQVBfRE9ORSB8IEJJ VF9JTlRSOV9FRElEX0RPTkUKPiArCQkJfCBCSVRfSU5UUjlfRURJRF9FUlJPUiwKPiArCQlSRUdf RURJRF9DVFJMLCBjdHJsLAo+ICsJCVJFR19FRElEX0ZJRk9fQUREUiwgMAo+ICsJKTsKPiArCj4g KwlpZiAobXNnLT5yZWdbMF0gPT0gTUhMX1JFQURfWERFVkNBUCkKPiArCQlzaWk4NjIwX21yX3hk ZXZjYXAoY3R4KTsKPiArCWVsc2UKPiArCQlzaWk4NjIwX21yX2RldmNhcChjdHgpOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX210X3JlYWRfZGV2Y2FwKHN0cnVjdCBzaWk4NjIwICpj dHgsIGJvb2wgeGRldmNhcCkKPiArewo+ICsJc3RydWN0IHNpaTg2MjBfbXRfbXNnICptc2cgPSBz aWk4NjIwX210X21zZ19uZXcoY3R4KTsKPiArCj4gKwlpZiAoIW1zZykKPiArCQlyZXR1cm47Cj4g Kwo+ICsJbXNnLT5yZWdbMF0gPSB4ZGV2Y2FwID8gTUhMX1JFQURfWERFVkNBUCA6IE1ITF9SRUFE X0RFVkNBUDsKPiArCW1zZy0+c2VuZCA9IHNpaTg2MjBfbXRfcmVhZF9kZXZjYXBfc2VuZDsKPiAr CW1zZy0+cmVjdiA9IHNpaTg2MjBfbXRfcmVhZF9kZXZjYXBfcmVjdjsKPiArfQo+ICsKPiArc3Rh dGljIHZvaWQgc2lpODYyMF9mZXRjaF9lZGlkKHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiAr CXU4IGxtX2RkYywgZGRjX2NtZCwgaW50MywgY2J1czsKPiArCWludCBmZXRjaGVkLCBpOwo+ICsJ aW50IGVkaWRfbGVuID0gRURJRF9MRU5HVEg7Cj4gKwl1OCAqZWRpZDsKPiArCj4gKwlzaWk4NjIw X3JlYWRiKGN0eCwgUkVHX0NCVVNfU1RBVFVTKTsKPiArCWxtX2RkYyA9IHNpaTg2MjBfcmVhZGIo Y3R4LCBSRUdfTE1fRERDKTsKPiArCWRkY19jbWQgPSBzaWk4NjIwX3JlYWRiKGN0eCwgUkVHX0RE Q19DTUQpOwo+ICsKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfSU5UUjlfTUFT SywgMCwKPiArCQlSRUdfRURJRF9DVFJMLCBCSVRfRURJRF9DVFJMX0VESURfRklGT19BRERSX0FV VE8sCj4gKwkJUkVHX0hEQ1AyWF9QT0xMX0NTLCAweDcxLAo+ICsJCVJFR19IRENQMlhfQ1RSTF8w LCBCSVRfSERDUDJYX0NUUkxfMF9IRENQMlhfSERDUFRYLAo+ICsJCVJFR19MTV9EREMsIGxtX2Rk YyB8IEJJVF9MTV9ERENfU1dfVFBJX0VOX0RJU0FCTEVELAo+ICsJKTsKPiArCj4gKwlmb3IgKGkg PSAwOyBpIDwgMjU2OyArK2kpIHsKPiArCQl1OCBkZGNfc3RhdCA9IHNpaTg2MjBfcmVhZGIoY3R4 LCBSRUdfRERDX1NUQVRVUyk7Cj4gKwo+ICsJCWlmICghKGRkY19zdGF0ICYgQklUX0REQ19TVEFU VVNfRERDX0kyQ19JTl9QUk9HKSkKPiArCQkJYnJlYWs7Cj4gKwkJc2lpODYyMF93cml0ZShjdHgs IFJFR19ERENfU1RBVFVTLAo+ICsJCQkgICAgICAgQklUX0REQ19TVEFUVVNfRERDX0ZJRk9fRU1Q VFkpOwo+ICsJfQo+ICsKPiArCXNpaTg2MjBfd3JpdGUoY3R4LCBSRUdfRERDX0FERFIsIDB4NTAg PDwgMSk7Cj4gKwo+ICsJZWRpZCA9IGttYWxsb2MoRURJRF9MRU5HVEgsIEdGUF9LRVJORUwpOwo+ ICsJaWYgKCFlZGlkKSB7Cj4gKwkJY3R4LT5lcnJvciA9IC1FTk9NRU07Cj4gKwkJcmV0dXJuOwo+ ICsJfQo+ICsKPiArI2RlZmluZSBGRVRDSF9TSVpFIDE2Cj4gKwlmb3IgKGZldGNoZWQgPSAwOyBm ZXRjaGVkIDwgZWRpZF9sZW47IGZldGNoZWQgKz0gRkVUQ0hfU0laRSkgewo+ICsJCXNpaTg2MjBf cmVhZGIoY3R4LCBSRUdfRERDX1NUQVRVUyk7Cj4gKwkJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ ICsJCQlSRUdfRERDX0NNRCwgZGRjX2NtZCB8IFZBTF9ERENfQ01EX0REQ19DTURfQUJPUlQsCj4g KwkJCVJFR19ERENfQ01ELCBkZGNfY21kIHwgVkFMX0REQ19DTURfRERDX0NNRF9DTEVBUl9GSUZP LAo+ICsJCQlSRUdfRERDX1NUQVRVUywgQklUX0REQ19TVEFUVVNfRERDX0ZJRk9fRU1QVFkKPiAr CQkpOwo+ICsJCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQkJUkVHX0REQ19TRUdNLCBmZXRj aGVkID4+IDgsCj4gKwkJCVJFR19ERENfT0ZGU0VULCBmZXRjaGVkICYgMHhmZiwKPiArCQkJUkVH X0REQ19ESU5fQ05UMSwgRkVUQ0hfU0laRSwKPiArCQkJUkVHX0REQ19ESU5fQ05UMiwgMCwKPiAr CQkJUkVHX0REQ19DTUQsIGRkY19jbWQgfCBWQUxfRERDX0NNRF9FTkhfRERDX1JFQURfTk9fQUNL Cj4gKwkJKTsKPiArCj4gKwkJZG8gewo+ICsJCQlpbnQzID0gc2lpODYyMF9yZWFkYihjdHgsIFJF R19JTlRSMyk7Cj4gKwkJCWNidXMgPSBzaWk4NjIwX3JlYWRiKGN0eCwgUkVHX0NCVVNfU1RBVFVT KTsKPiArCj4gKwkJCWlmIChpbnQzICYgQklUX0REQ19DTURfRE9ORSkKPiArCQkJCWJyZWFrOwo+ ICsKPiArCQkJaWYgKCEoY2J1cyAmIEJJVF9DQlVTX1NUQVRVU19DQlVTX0NPTk5FQ1RFRCkpIHsK PiArCQkJCWtmcmVlKGVkaWQpOwo+ICsJCQkJZWRpZCA9IE5VTEw7Cj4gKwkJCQlnb3RvIGVuZDsK PiArCQkJfQo+ICsJCX0gd2hpbGUgKDEpOwo+ICsKPiArCQlzaWk4NjIwX3JlYWRiKGN0eCwgUkVH X0REQ19TVEFUVVMpOwo+ICsJCXdoaWxlIChzaWk4NjIwX3JlYWRiKGN0eCwgUkVHX0REQ19ET1VU X0NOVCkgPCBGRVRDSF9TSVpFKQo+ICsJCQl1c2xlZXBfcmFuZ2UoMTAsIDIwKTsKPiArCj4gKwkJ c2lpODYyMF9yZWFkX2J1ZihjdHgsIFJFR19ERENfREFUQSwgZWRpZCArIGZldGNoZWQsIEZFVENI X1NJWkUpOwo+ICsJCWlmIChmZXRjaGVkICsgRkVUQ0hfU0laRSA9PSBFRElEX0xFTkdUSCkgewo+ ICsJCQl1OCBleHQgPSAoKHN0cnVjdCBlZGlkICopZWRpZCktPmV4dGVuc2lvbnM7Cj4gKwo+ICsJ CQlpZiAoZXh0KSB7Cj4gKwkJCQl1OCAqbmV3X2VkaWQ7Cj4gKwo+ICsJCQkJZWRpZF9sZW4gKz0g ZXh0ICogRURJRF9MRU5HVEg7Cj4gKwkJCQluZXdfZWRpZCA9IGtyZWFsbG9jKGVkaWQsIGVkaWRf bGVuLCBHRlBfS0VSTkVMKTsKPiArCQkJCWlmICghbmV3X2VkaWQpIHsKPiArCQkJCQlrZnJlZShl ZGlkKTsKPiArCQkJCQljdHgtPmVycm9yID0gLUVOT01FTTsKPiArCQkJCQlyZXR1cm47Cj4gKwkJ CQl9Cj4gKwkJCQllZGlkID0gbmV3X2VkaWQ7Cj4gKwkJCX0KPiArCQl9Cj4gKwo+ICsJCWlmIChm ZXRjaGVkICsgRkVUQ0hfU0laRSA9PSBlZGlkX2xlbikKPiArCQkJc2lpODYyMF93cml0ZShjdHgs IFJFR19JTlRSMywgaW50Myk7Cj4gKwl9Cj4gKwo+ICsJc2lpODYyMF93cml0ZShjdHgsIFJFR19M TV9EREMsIGxtX2RkYyk7Cj4gKwo+ICtlbmQ6Cj4gKwlrZnJlZShjdHgtPmVkaWQpOwo+ICsJY3R4 LT5lZGlkID0gKHN0cnVjdCBlZGlkICopZWRpZDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lp ODYyMF9zZXRfdXBzdHJlYW1fZWRpZChzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4gKwlzaWk4 NjIwX3NldGJpdHMoY3R4LCBSRUdfRFBELCBCSVRfRFBEX1BETlJYMTIgfCBCSVRfRFBEX1BESURD S19OCj4gKwkJCXwgQklUX0RQRF9QRF9NSExfQ0xLX04sIDB4ZmYpOwo+ICsKPiArCXNpaTg2MjBf d3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfUlhfSERNSV9DVFJMMywgMHgwMCwKPiArCQlSRUdfUEtU X0ZJTFRFUl8wLCAweEZGLAo+ICsJCVJFR19QS1RfRklMVEVSXzEsIDB4RkYsCj4gKwkJUkVHX0FM SUNFMF9CV19JMkMsIDB4MDYKPiArCSk7Cj4gKwo+ICsJc2lpODYyMF9zZXRiaXRzKGN0eCwgUkVH X1JYX0hETUlfQ0xSX0JVRkZFUiwKPiArCQkJQklUX1JYX0hETUlfQ0xSX0JVRkZFUl9WU0lfQ0xS X0VOLCAweGZmKTsKPiArCj4gKwlzaWk4NjIwX3dyaXRlX3NlcShjdHgsCj4gKwkJUkVHX0VESURf Q1RSTCwgQklUX0VESURfQ1RSTF9FRElEX0ZJRk9fQUREUl9BVVRPCj4gKwkJCXwgQklUX0VESURf Q1RSTF9FRElEX01PREVfRU4sCj4gKwkJUkVHX0VESURfRklGT19BRERSLCAwLAo+ICsJKTsKPiAr Cj4gKwlzaWk4NjIwX3dyaXRlX2J1ZihjdHgsIFJFR19FRElEX0ZJRk9fV1JfREFUQSwgKHU4ICop Y3R4LT5lZGlkLAo+ICsJCQkoY3R4LT5lZGlkLT5leHRlbnNpb25zICsgMSkgKiBFRElEX0xFTkdU SCk7Cj4gKwo+ICsJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ICsJCVJFR19FRElEX0NUUkwsIEJJ VF9FRElEX0NUUkxfRURJRF9QUklNRV9WQUxJRAo+ICsJCQl8IEJJVF9FRElEX0NUUkxfRURJRF9G SUZPX0FERFJfQVVUTwo+ICsJCQl8IEJJVF9FRElEX0NUUkxfRURJRF9NT0RFX0VOLAo+ICsJCVJF R19JTlRSNV9NQVNLLCBCSVRfSU5UUl9TQ0RUX0NIQU5HRSwKPiArCQlSRUdfSU5UUjlfTUFTSywg MAo+ICsJKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF94dGFsX3NldF9yYXRlKHN0 cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgewo+ICsJCXVu c2lnbmVkIGludCByYXRlOwo+ICsJCXU4IGRpdjsKPiArCQl1OCB0cDE7Cj4gKwl9IHJhdGVzW10g PSB7Cj4gKwkJeyAxOTIwMCwgMHgwNCwgMHg1MyB9LAo+ICsJCXsgMjAwMDAsIDB4MDQsIDB4NjIg fSwKPiArCQl7IDI0MDAwLCAweDA1LCAweDc1IH0sCj4gKwkJeyAzMDAwMCwgMHgwNiwgMHg5MiB9 LAo+ICsJCXsgMzg0MDAsIDB4MGMsIDB4YmMgfSwKPiArCX07Cj4gKwl1bnNpZ25lZCBsb25nIHJh dGUgPSBjbGtfZ2V0X3JhdGUoY3R4LT5jbGtfeHRhbCkgLyAxMDAwOwo+ICsJaW50IGk7Cj4gKwo+ ICsJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocmF0ZXMpIC0gMTsgKytpKQo+ICsJCWlmIChy YXRlIDw9IHJhdGVzW2ldLnJhdGUpCj4gKwkJCWJyZWFrOwo+ICsKPiArCWlmIChyYXRlICE9IHJh dGVzW2ldLnJhdGUpCj4gKwkJZGV2X2VycihjdHgtPmRldiwgInh0YWwgY2xvY2sgcmF0ZSglbHVr SHopIG5vdCBzdXBwb3J0ZWQsIHNldHRpbmcgTUhMIGZvciAldWtIei5cbiIsCj4gKwkJCXJhdGUs IHJhdGVzW2ldLnJhdGUpOwo+ICsKPiArCXNpaTg2MjBfd3JpdGUoY3R4LCBSRUdfRElWX0NUTF9N QUlOLCByYXRlc1tpXS5kaXYpOwo+ICsJc2lpODYyMF93cml0ZShjdHgsIFJFR19IRENQMlhfVFAx LCByYXRlc1tpXS50cDEpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHNpaTg2MjBfaHdfb24oc3Ry dWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJaW50IHJldDsKPiArCj4gKwlyZXQgPSByZWd1bGF0 b3JfYnVsa19lbmFibGUoQVJSQVlfU0laRShjdHgtPnN1cHBsaWVzKSwgY3R4LT5zdXBwbGllcyk7 Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4gKwl1c2xlZXBfcmFuZ2UoMTAwMDAsIDIw MDAwKTsKPiArCXJldHVybiBjbGtfcHJlcGFyZV9lbmFibGUoY3R4LT5jbGtfeHRhbCk7Cj4gK30K PiArCj4gK3N0YXRpYyBpbnQgc2lpODYyMF9od19vZmYoc3RydWN0IHNpaTg2MjAgKmN0eCkKPiAr ewo+ICsJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGN0eC0+Y2xrX3h0YWwpOwo+ICsJZ3Bpb2Rfc2V0 X3ZhbHVlKGN0eC0+Z3Bpb19yZXNldCwgMSk7Cj4gKwlyZXR1cm4gcmVndWxhdG9yX2J1bGtfZGlz YWJsZShBUlJBWV9TSVpFKGN0eC0+c3VwcGxpZXMpLCBjdHgtPnN1cHBsaWVzKTsKPiArfQo+ICsK PiArc3RhdGljIHZvaWQgc2lpODYyMF9od19yZXNldChzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7 Cj4gKwl1c2xlZXBfcmFuZ2UoMTAwMDAsIDIwMDAwKTsKPiArCWdwaW9kX3NldF92YWx1ZShjdHgt PmdwaW9fcmVzZXQsIDApOwo+ICsJdXNsZWVwX3JhbmdlKDUwMDAsIDIwMDAwKTsKPiArCWdwaW9k X3NldF92YWx1ZShjdHgtPmdwaW9fcmVzZXQsIDEpOwo+ICsJdXNsZWVwX3JhbmdlKDEwMDAwLCAy MDAwMCk7Cj4gKwlncGlvZF9zZXRfdmFsdWUoY3R4LT5ncGlvX3Jlc2V0LCAwKTsKPiArCW1zbGVl cCgzMDApOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX2NidXNfcmVzZXQoc3RydWN0 IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ICsJCVJFR19Q V0RfU1JTVCwgQklUX1BXRF9TUlNUX0NCVVNfUlNUCj4gKwkJCXwgQklUX1BXRF9TUlNUX0NCVVNf UlNUX1NXX0VOLAo+ICsJCVJFR19QV0RfU1JTVCwgQklUX1BXRF9TUlNUX0NCVVNfUlNUX1NXX0VO Cj4gKwkpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX3NldF9hdXRvX3pvbmUoc3Ry dWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJaWYgKGN0eC0+bW9kZSAhPSBDTV9NSEwxKSB7Cj4g KwkJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ICsJCQlSRUdfVFhfWk9ORV9DVEwxLCAweDAsCj4g KwkJCVJFR19NSExfUExMX0NUTDAsIFZBTF9NSExfUExMX0NUTDBfSERNSV9DTEtfUkFUSU9fMVgK PiArCQkJCXwgQklUX01ITF9QTExfQ1RMMF9DUllTVEFMX0NMS19TRUwKPiArCQkJCXwgQklUX01I TF9QTExfQ1RMMF9aT05FX01BU0tfT0UKPiArCQkpOwo+ICsJfSBlbHNlIHsKPiArCQlzaWk4NjIw X3dyaXRlX3NlcShjdHgsCj4gKwkJCVJFR19UWF9aT05FX0NUTDEsIFZBTF9UWF9aT05FX0NUTDFf VFhfWk9ORV9DVFJMX01PREUsCj4gKwkJCVJFR19NSExfUExMX0NUTDAsIFZBTF9NSExfUExMX0NU TDBfSERNSV9DTEtfUkFUSU9fMVgKPiArCQkJCXwgQklUX01ITF9QTExfQ1RMMF9aT05FX01BU0tf T0UKPiArCQkpOwo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX3N0b3Bfdmlk ZW8oc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJdTggdW5pbml0aWFsaXplZF92YXIodmFs KTsKPiArCj4gKwlzaWk4NjIwX3dyaXRlX3NlcShjdHgsCj4gKwkJUkVHX1RQSV9JTlRSX0VOLCAw LAo+ICsJCVJFR19IRENQMlhfSU5UUjBfTUFTSywgMCwKPiArCQlSRUdfVFBJX0NPUFBfREFUQTIs IDAsCj4gKwkJUkVHX1RQSV9JTlRSX1NUMCwgfjAsCj4gKwkpOwo+ICsKPiArCXN3aXRjaCAoY3R4 LT5zaW5rX3R5cGUpIHsKPiArCWNhc2UgU0lOS19EVkk6Cj4gKwkJdmFsID0gQklUX1RQSV9TQ19S RUdfVE1EU19PRV9QT1dFUl9ET1dOCj4gKwkJCXwgQklUX1RQSV9TQ19UUElfQVZfTVVURTsKPiAr CQlicmVhazsKPiArCWNhc2UgU0lOS19IRE1JOgo+ICsJCXZhbCA9IEJJVF9UUElfU0NfUkVHX1RN RFNfT0VfUE9XRVJfRE9XTgo+ICsJCQl8IEJJVF9UUElfU0NfVFBJX0FWX01VVEUKPiArCQkJfCBC SVRfVFBJX1NDX1RQSV9PVVRQVVRfTU9ERV8wX0hETUk7Cj4gKwkJYnJlYWs7Cj4gKwlkZWZhdWx0 Ogo+ICsJCXJldHVybjsKPiArCX0KPiArCj4gKwlzaWk4NjIwX3dyaXRlKGN0eCwgUkVHX1RQSV9T QywgdmFsKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9zdGFydF9oZG1pKHN0cnVj dCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdf UlhfSERNSV9DVFJMMiwgVkFMX1JYX0hETUlfQ1RSTDJfREVGVkFMCj4gKwkJCXwgQklUX1JYX0hE TUlfQ1RSTDJfVVNFX0FWX01VVEUsCj4gKwkJUkVHX1ZJRF9PVlJSRCwgQklUX1ZJRF9PVlJSRF9Q UF9BVVRPX0RJU0FCTEUKPiArCQkJfCBCSVRfVklEX09WUlJEX00xMDgwUF9PVlJSRCwKPiArCQlS RUdfVklEX01PREUsIDAsCj4gKwkJUkVHX01ITF9UT1BfQ1RMLCAweDEsCj4gKwkJUkVHX01ITFRY X0NUTDYsIDB4YTAsCj4gKwkJUkVHX1RQSV9JTlBVVCwgVkFMX1RQSV9GT1JNQVQoUkdCLCBGVUxM KSwKPiArCQlSRUdfVFBJX09VVFBVVCwgVkFMX1RQSV9GT1JNQVQoUkdCLCBGVUxMKSwKPiArCSk7 Cj4gKwo+ICsJc2lpODYyMF9tdF93cml0ZV9zdGF0KGN0eCwgTUhMX0RTVF9SRUcoTElOS19NT0RF KSwKPiArCQkJTUhMX0RTVF9MTV9DTEtfTU9ERV9OT1JNQUwgfCBNSExfRFNUX0xNX1BBVEhfRU5B QkxFRCk7Cj4gKwo+ICsJc2lpODYyMF9zZXRfYXV0b196b25lKGN0eCk7Cj4gKwo+ICsJc2lpODYy MF93cml0ZShjdHgsIFJFR19UUElfU0MsIEJJVF9UUElfU0NfVFBJX09VVFBVVF9NT0RFXzBfSERN SSk7Cj4gKwo+ICsJc2lpODYyMF93cml0ZV9idWYoY3R4LCBSRUdfVFBJX0FWSV9DSFNVTSwgY3R4 LT5hdmlmLAo+ICsJCQkgIEFSUkFZX1NJWkUoY3R4LT5hdmlmKSk7Cj4gKwo+ICsJc2lpODYyMF93 cml0ZShjdHgsIFJFR19QS1RfRklMVEVSXzAsIDB4YTEsIDB4Mik7Cj4gK30KPiArCj4gK3N0YXRp YyB2b2lkIHNpaTg2MjBfc3RhcnRfdmlkZW8oc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJ aWYgKGN0eC0+bW9kZSA8IENNX01ITDMpCj4gKwkJc2lpODYyMF9zdG9wX3ZpZGVvKGN0eCk7Cj4g Kwo+ICsJc3dpdGNoIChjdHgtPnNpbmtfdHlwZSkgewo+ICsJY2FzZSBTSU5LX0hETUk6Cj4gKwkJ c2lpODYyMF9zdGFydF9oZG1pKGN0eCk7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIFNJTktfRFZJOgo+ ICsJZGVmYXVsdDoKPiArCQlicmVhazsKPiArCX0KPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lp ODYyMF9kaXNhYmxlX2hwZChzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4gKwlzaWk4NjIwX3Nl dGJpdHMoY3R4LCBSRUdfRURJRF9DVFJMLCBCSVRfRURJRF9DVFJMX0VESURfUFJJTUVfVkFMSUQs IDApOwo+ICsJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ICsJCVJFR19IUERfQ1RSTCwgQklUX0hQ RF9DVFJMX0hQRF9PVVRfT1ZSX0VOLAo+ICsJCVJFR19JTlRSOF9NQVNLLCAwCj4gKwkpOwo+ICt9 Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX2VuYWJsZV9ocGQoc3RydWN0IHNpaTg2MjAgKmN0 eCkKPiArewo+ICsJc2lpODYyMF9zZXRiaXRzKGN0eCwgUkVHX1RNRFNfQ1NUQVRfUDMsCj4gKwkJ CUJJVF9UTURTX0NTVEFUX1AzX1NDRFRfQ0xSX0FWSV9ESVMKPiArCQkJfCBCSVRfVE1EU19DU1RB VF9QM19DTFJfQVZJLCB+MCk7Cj4gKwlzaWk4NjIwX3dyaXRlX3NlcShjdHgsCj4gKwkJUkVHX0hQ RF9DVFJMLCBCSVRfSFBEX0NUUkxfSFBEX09VVF9PVlJfRU4KPiArCQkJfCBCSVRfSFBEX0NUUkxf SFBEX0hJR0gsCj4gKwkpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX2VuYWJsZV9n ZW4yX3dyaXRlX2J1cnN0KHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCWlmIChjdHgtPmdl bjJfd3JpdGVfYnVyc3QpCj4gKwkJcmV0dXJuOwo+ICsKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0 eCwKPiArCQlSRUdfTURUX1JDVl9USU1FT1VULCAxMDAsCj4gKwkJUkVHX01EVF9SQ1ZfQ1RSTCwg QklUX01EVF9SQ1ZfQ1RSTF9NRFRfUkNWX0VOCj4gKwkpOwo+ICsJY3R4LT5nZW4yX3dyaXRlX2J1 cnN0ID0gMTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9kaXNhYmxlX2dlbjJfd3Jp dGVfYnVyc3Qoc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJaWYgKCFjdHgtPmdlbjJfd3Jp dGVfYnVyc3QpCj4gKwkJcmV0dXJuOwo+ICsKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiAr CQlSRUdfTURUX1hNSVRfQ1RSTCwgMCwKPiArCQlSRUdfTURUX1JDVl9DVFJMLCAwCj4gKwkpOwo+ ICsJY3R4LT5nZW4yX3dyaXRlX2J1cnN0ID0gMDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lp ODYyMF9zdGFydF9nZW4yX3dyaXRlX2J1cnN0KHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiAr CXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfTURUX0lOVF8xX01BU0ssIEJJVF9NRFRf UkNWX1RJTUVPVVQKPiArCQkJfCBCSVRfTURUX1JDVl9TTV9BQk9SVF9QS1RfUkNWRCB8IEJJVF9N RFRfUkNWX1NNX0VSUk9SCj4gKwkJCXwgQklUX01EVF9YTUlUX1RJTUVPVVQgfCBCSVRfTURUX1hN SVRfU01fQUJPUlRfUEtUX1JDVkQKPiArCQkJfCBCSVRfTURUX1hNSVRfU01fRVJST1IsCj4gKwkJ UkVHX01EVF9JTlRfMF9NQVNLLCBCSVRfTURUX1hGSUZPX0VNUFRZCj4gKwkJCXwgQklUX01EVF9J RExFX0FGVEVSX0hBV0JfRElTQUJMRQo+ICsJCQl8IEJJVF9NRFRfUkZJRk9fREFUQV9SRFkKPiAr CSk7Cj4gKwlzaWk4NjIwX2VuYWJsZV9nZW4yX3dyaXRlX2J1cnN0KGN0eCk7Cj4gK30KPiArCj4g K3N0YXRpYyB2b2lkIHNpaTg2MjBfbWhsX2Rpc2NvdmVyKHN0cnVjdCBzaWk4NjIwICpjdHgpCj4g K3sKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfRElTQ19DVFJMOSwgQklUX0RJ U0NfQ1RSTDlfV0FLRV9EUlZGTFQKPiArCQkJfCBCSVRfRElTQ19DVFJMOV9ESVNDX1BVTFNFX1BS T0NFRUQsCj4gKwkJUkVHX0RJU0NfQ1RSTDQsIFZBTF9ESVNDX0NUUkw0KFZBTF9QVVBfNUssIFZB TF9QVVBfMjBLKSwKPiArCQlSRUdfQ0JVU19ESVNDX0lOVFIwX01BU0ssIEJJVF9NSEwzX0VTVF9J TlQKPiArCQkJfCBCSVRfTUhMX0VTVF9JTlQKPiArCQkJfCBCSVRfTk9UX01ITF9FU1RfSU5UCj4g KwkJCXwgQklUX0NCVVNfTUhMM19ESVNDT05fSU5UCj4gKwkJCXwgQklUX0NCVVNfTUhMMTJfRElT Q09OX0lOVAo+ICsJCQl8IEJJVF9SR05EX1JFQURZX0lOVCwKPiArCQlSRUdfTUhMX1BMTF9DVEww LCBWQUxfTUhMX1BMTF9DVEwwX0hETUlfQ0xLX1JBVElPXzFYCj4gKwkJCXwgQklUX01ITF9QTExf Q1RMMF9DUllTVEFMX0NMS19TRUwKPiArCQkJfCBCSVRfTUhMX1BMTF9DVEwwX1pPTkVfTUFTS19P RSwKPiArCQlSRUdfTUhMX0RQX0NUTDAsIEJJVF9NSExfRFBfQ1RMMF9EUF9PRQo+ICsJCQl8IEJJ VF9NSExfRFBfQ1RMMF9UWF9PRV9PVlIsCj4gKwkJUkVHX00zX0NUUkwsIFZBTF9NM19DVFJMX01I TDNfVkFMVUUsCj4gKwkJUkVHX01ITF9EUF9DVEwxLCAweEEyLAo+ICsJCVJFR19NSExfRFBfQ1RM MiwgMHgwMywKPiArCQlSRUdfTUhMX0RQX0NUTDMsIDB4MzUsCj4gKwkJUkVHX01ITF9EUF9DVEw1 LCAweDAyLAo+ICsJCVJFR19NSExfRFBfQ1RMNiwgMHgwMiwKPiArCQlSRUdfTUhMX0RQX0NUTDcs IDB4MDMsCj4gKwkJUkVHX0NPQ19DVExDLCAweEZGLAo+ICsJCVJFR19EUEQsIEJJVF9EUERfUFdS T05fUExMIHwgQklUX0RQRF9QRE5UWDEyCj4gKwkJCXwgQklUX0RQRF9PU0NfRU4gfCBCSVRfRFBE X1BXUk9OX0hTSUMsCj4gKwkJUkVHX0NPQ19JTlRSX01BU0ssIEJJVF9DT0NfUExMX0xPQ0tfU1RB VFVTX0NIQU5HRQo+ICsJCQl8IEJJVF9DT0NfQ0FMSUJSQVRJT05fRE9ORSwKPiArCQlSRUdfQ0JV U19JTlRfMV9NQVNLLCBCSVRfQ0JVU19NU0NfQUJPUlRfUkNWRAo+ICsJCQl8IEJJVF9DQlVTX0NN RF9BQk9SVCwKPiArCQlSRUdfQ0JVU19JTlRfMF9NQVNLLCBCSVRfQ0JVU19NU0NfTVRfRE9ORQo+ ICsJCQl8IEJJVF9DQlVTX0hQRF9DSEcKPiArCQkJfCBCSVRfQ0JVU19NU0NfTVJfV1JJVEVfU1RB VAo+ICsJCQl8IEJJVF9DQlVTX01TQ19NUl9NU0NfTVNHCj4gKwkJCXwgQklUX0NCVVNfTVNDX01S X1dSSVRFX0JVUlNUCj4gKwkJCXwgQklUX0NCVVNfTVNDX01SX1NFVF9JTlQKPiArCQkJfCBCSVRf Q0JVU19NU0NfTVRfRE9ORV9OQUNLCj4gKwkpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4 NjIwX3BlZXJfc3BlY2lmaWNfaW5pdChzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4gKwlpZiAo Y3R4LT5tb2RlID09IENNX01ITDMpCj4gKwkJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ICsJCQlS RUdfU1lTX0NUUkwxLCBCSVRfU1lTX0NUUkwxX0JMT0NLX0REQ19CWV9IUEQsCj4gKwkJCVJFR19F TVNDSU5UUk1BU0sxLAo+ICsJCQkJQklUX0VNU0NJTlRSMV9FTVNDX1RSQUlOSU5HX0NPTU1BX0VS Ugo+ICsJCSk7Cj4gKwllbHNlCj4gKwkJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ICsJCQlSRUdf SERDUDJYX0lOVFIwX01BU0ssIDB4MDAsCj4gKwkJCVJFR19FTVNDSU5UUk1BU0sxLCAweDAwLAo+ ICsJCQlSRUdfSERDUDJYX0lOVFIwLCAweEZGLAo+ICsJCQlSRUdfSU5UUjEsIDB4RkYsCj4gKwkJ CVJFR19TWVNfQ1RSTDEsIEJJVF9TWVNfQ1RSTDFfQkxPQ0tfRERDX0JZX0hQRAo+ICsJCQkJfCBC SVRfU1lTX0NUUkwxX1RYX0NUUkxfSERNSQo+ICsJCSk7Cj4gK30KPiArCj4gKyNkZWZpbmUgU0lJ ODYyMF9NSExfVkVSU0lPTgkJCTB4MzIKPiArI2RlZmluZSBTSUk4NjIwX1NDUkFUQ0hQQURfU0la RQkJCTE2Cj4gKyNkZWZpbmUgU0lJODYyMF9JTlRfU1RBVF9TSVpFCQkJMHgzMwo+ICsKPiArc3Rh dGljIHZvaWQgc2lpODYyMF9zZXRfZGV2X2NhcChzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4g KwlzdGF0aWMgY29uc3QgdTggZGV2Y2FwW01ITF9EQ0FQX1NJWkVdID0gewo+ICsJCVtNSExfRENB UF9NSExfVkVSU0lPTl0gPSBTSUk4NjIwX01ITF9WRVJTSU9OLAo+ICsJCVtNSExfRENBUF9DQVRd ID0gTUhMX0RDQVBfQ0FUX1NPVVJDRSB8IE1ITF9EQ0FQX0NBVF9QT1dFUiwKPiArCQlbTUhMX0RD QVBfQURPUFRFUl9JRF9IXSA9IDB4MDEsCj4gKwkJW01ITF9EQ0FQX0FET1BURVJfSURfTF0gPSAw eDQxLAo+ICsJCVtNSExfRENBUF9WSURfTElOS19NT0RFXSA9IE1ITF9EQ0FQX1ZJRF9MSU5LX1JH QjQ0NAo+ICsJCQl8IE1ITF9EQ0FQX1ZJRF9MSU5LX1BQSVhFTAo+ICsJCQl8IE1ITF9EQ0FQX1ZJ RF9MSU5LXzE2QlBQLAo+ICsJCVtNSExfRENBUF9BVURfTElOS19NT0RFXSA9IE1ITF9EQ0FQX0FV RF9MSU5LXzJDSCwKPiArCQlbTUhMX0RDQVBfVklERU9fVFlQRV0gPSBNSExfRENBUF9WVF9HUkFQ SElDUywKPiArCQlbTUhMX0RDQVBfTE9HX0RFVl9NQVBdID0gTUhMX0RDQVBfTERfR1VJLAo+ICsJ CVtNSExfRENBUF9CQU5EV0lEVEhdID0gMHgwZiwKPiArCQlbTUhMX0RDQVBfRkVBVFVSRV9GTEFH XSA9IE1ITF9EQ0FQX0ZFQVRVUkVfUkNQX1NVUFBPUlQKPiArCQkJfCBNSExfRENBUF9GRUFUVVJF X1JBUF9TVVBQT1JUCj4gKwkJCXwgTUhMX0RDQVBfRkVBVFVSRV9TUF9TVVBQT1JULAo+ICsJCVtN SExfRENBUF9TQ1JBVENIUEFEX1NJWkVdID0gU0lJODYyMF9TQ1JBVENIUEFEX1NJWkUsCj4gKwkJ W01ITF9EQ0FQX0lOVF9TVEFUX1NJWkVdID0gU0lJODYyMF9JTlRfU1RBVF9TSVpFLAo+ICsJfTsK PiArCXN0YXRpYyBjb25zdCB1OCB4ZGNhcFtNSExfWERDX1NJWkVdID0gewo+ICsJCVtNSExfWERD X0VDQlVTX1NQRUVEU10gPSBNSExfWERDX0VDQlVTX1NfMDc1Cj4gKwkJCXwgTUhMX1hEQ19FQ0JV U19TXzhCSVQsCj4gKwkJW01ITF9YRENfVE1EU19TUEVFRFNdID0gTUhMX1hEQ19UTURTXzE1MAo+ ICsJCQl8IE1ITF9YRENfVE1EU18zMDAgfCBNSExfWERDX1RNRFNfNjAwLAo+ICsJCVtNSExfWERD X0VDQlVTX1JPTEVTXSA9IE1ITF9YRENfREVWX0hPU1QsCj4gKwkJW01ITF9YRENfTE9HX0RFVl9N QVBYXSA9IE1ITF9YRENfTERfUEhPTkUsCj4gKwl9Owo+ICsKPiArCXNpaTg2MjBfd3JpdGVfYnVm KGN0eCwgUkVHX01ITF9ERVZDQVBfMCwgZGV2Y2FwLCBBUlJBWV9TSVpFKGRldmNhcCkpOwo+ICsJ c2lpODYyMF93cml0ZV9idWYoY3R4LCBSRUdfTUhMX0VYVERFVkNBUF8wLCB4ZGNhcCwgQVJSQVlf U0laRSh4ZGNhcCkpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX21obF9pbml0KHN0 cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlS RUdfRElTQ19DVFJMNCwgVkFMX0RJU0NfQ1RSTDQoVkFMX1BVUF9PRkYsIFZBTF9QVVBfMjBLKSwK PiArCQlSRUdfQ0JVU19NU0NfQ09NUEFUX0NUUkwsCj4gKwkJCUJJVF9DQlVTX01TQ19DT01QQVRf Q1RSTF9YREVWQ0FQX0VOLAo+ICsJKTsKPiArCj4gKwlzaWk4NjIwX3BlZXJfc3BlY2lmaWNfaW5p dChjdHgpOwo+ICsKPiArCXNpaTg2MjBfZGlzYWJsZV9ocGQoY3R4KTsKPiArCj4gKwlzaWk4NjIw X3dyaXRlX3NlcShjdHgsCj4gKwkJUkVHX0VESURfQ1RSTCwgQklUX0VESURfQ1RSTF9FRElEX0ZJ Rk9fQUREUl9BVVRPLAo+ICsJCVJFR19ESVNDX0NUUkw5LCBCSVRfRElTQ19DVFJMOV9XQUtFX0RS VkZMVAo+ICsJCQl8IEJJVF9ESVNDX0NUUkw5X1dBS0VfUFVMU0VfQllQQVNTLAo+ICsJCVJFR19U TURTMF9DQ1RSTDEsIDB4OTAsCj4gKwkJUkVHX1RNRFNfQ0xLX0VOLCAweDAxLAo+ICsJCVJFR19U TURTX0NIX0VOLCAweDExLAo+ICsJCVJFR19CR1JfQklBUywgMHg4NywKPiArCQlSRUdfQUxJQ0Uw X1pPTkVfQ1RSTCwgMHhFOCwKPiArCQlSRUdfQUxJQ0UwX01PREVfQ1RSTCwgMHgwNCwKPiArCSk7 Cj4gKwlzaWk4NjIwX3NldGJpdHMoY3R4LCBSRUdfTE1fRERDLCBCSVRfTE1fRERDX1NXX1RQSV9F Tl9ESVNBQkxFRCwgMCk7Cj4gKwlzaWk4NjIwX3dyaXRlX3NlcShjdHgsCj4gKwkJUkVHX1RQSV9I V19PUFQzLCAweDc2LAo+ICsJCVJFR19UTURTX0NDVFJMLCBCSVRfVE1EU19DQ1RSTF9UTURTX09F LAo+ICsJCVJFR19UUElfRFREX0IyLCA3OSwKPiArCSk7Cj4gKwlzaWk4NjIwX3NldF9kZXZfY2Fw KGN0eCk7Cj4gKwlzaWk4NjIwX3dyaXRlX3NlcShjdHgsCj4gKwkJUkVHX01EVF9YTUlUX1RJTUVP VVQsIDEwMCwKPiArCQlSRUdfTURUX1hNSVRfQ1RSTCwgMHgwMywKPiArCQlSRUdfTURUX1hGSUZP X1NUQVQsIDB4MDAsCj4gKwkJUkVHX01EVF9SQ1ZfVElNRU9VVCwgMTAwLAo+ICsJCVJFR19DQlVT X0xJTktfQ1RSTF84LCAweDFELAo+ICsJKTsKPiArCj4gKwlzaWk4NjIwX3N0YXJ0X2dlbjJfd3Jp dGVfYnVyc3QoY3R4KTsKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfQklTVF9D VFJMLCAweDAwLAo+ICsJCVJFR19DT0NfQ1RMMSwgMHgxMCwKPiArCQlSRUdfQ09DX0NUTDIsIDB4 MTgsCj4gKwkJUkVHX0NPQ19DVExGLCAweDA3LAo+ICsJCVJFR19DT0NfQ1RMMTEsIDB4RjgsCj4g KwkJUkVHX0NPQ19DVEwxNywgMHg2MSwKPiArCQlSRUdfQ09DX0NUTDE4LCAweDQ2LAo+ICsJCVJF R19DT0NfQ1RMMTksIDB4MTUsCj4gKwkJUkVHX0NPQ19DVEwxQSwgMHgwMSwKPiArCQlSRUdfTUhM X0NPQ19DVEwzLCBCSVRfTUhMX0NPQ19DVEwzX0NPQ19BRUNIT19FTiwKPiArCQlSRUdfTUhMX0NP Q19DVEw0LCAweDJELAo+ICsJCVJFR19NSExfQ09DX0NUTDUsIDB4RjksCj4gKwkJUkVHX01TQ19I RUFSVEJFQVRfQ1RSTCwgMHgyNywKPiArCSk7Cj4gKwlzaWk4NjIwX2Rpc2FibGVfZ2VuMl93cml0 ZV9idXJzdChjdHgpOwo+ICsKPiArCS8qIGN1cnJlbnRseSBNSEwzIGlzIG5vdCBzdXBwb3J0ZWQs IHNvIHdlIGZvcmNlIHZlcnNpb24gdG8gMCAqLwo+ICsJc2lpODYyMF9tdF93cml0ZV9zdGF0KGN0 eCwgTUhMX0RTVF9SRUcoVkVSU0lPTiksIDApOwo+ICsJc2lpODYyMF9tdF93cml0ZV9zdGF0KGN0 eCwgTUhMX0RTVF9SRUcoQ09OTkVDVEVEX1JEWSksCj4gKwkJCSAgICAgIE1ITF9EU1RfQ09OTl9E Q0FQX1JEWSB8IE1ITF9EU1RfQ09OTl9YREVWQ0FQUF9TVVBQCj4gKwkJCSAgICAgIHwgTUhMX0RT VF9DT05OX1BPV19TVEFUKTsKPiArCXNpaTg2MjBfbXRfc2V0X2ludChjdHgsIE1ITF9JTlRfUkVH KFJDSEFOR0UpLCBNSExfSU5UX1JDX0RDQVBfQ0hHKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQg c2lpODYyMF9zZXRfbW9kZShzdHJ1Y3Qgc2lpODYyMCAqY3R4LCBlbnVtIHNpaTg2MjBfbW9kZSBt b2RlKQo+ICt7Cj4gKwlpZiAoY3R4LT5tb2RlID09IG1vZGUpCj4gKwkJcmV0dXJuOwo+ICsKPiAr CWN0eC0+bW9kZSA9IG1vZGU7Cj4gKwo+ICsJc3dpdGNoIChtb2RlKSB7Cj4gKwljYXNlIENNX01I TDE6Cj4gKwkJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ICsJCQlSRUdfQ0JVU19NU0NfQ09NUEFU X0NUUkwsIDB4MDIsCj4gKwkJCVJFR19NM19DVFJMLCBWQUxfTTNfQ1RSTF9NSEwxXzJfVkFMVUUs Cj4gKwkJCVJFR19EUEQsIEJJVF9EUERfUFdST05fUExMIHwgQklUX0RQRF9QRE5UWDEyCj4gKwkJ CQl8IEJJVF9EUERfT1NDX0VOLAo+ICsJCQlSRUdfQ09DX0lOVFJfTUFTSywgMAo+ICsJCSk7Cj4g KwkJYnJlYWs7Cj4gKwljYXNlIENNX01ITDM6Cj4gKwkJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ ICsJCQlSRUdfTTNfQ1RSTCwgVkFMX00zX0NUUkxfTUhMM19WQUxVRSwKPiArCQkJUkVHX0NPQ19D VEwwLCAweDQwLAo+ICsJCQlSRUdfTUhMX0NPQ19DVEwxLCAweDA3Cj4gKwkJKTsKPiArCQlicmVh azsKPiArCWNhc2UgQ01fRElTQ09OTkVDVEVEOgo+ICsJCWJyZWFrOwo+ICsJZGVmYXVsdDoKPiAr CQlkZXZfZXJyKGN0eC0+ZGV2LCAiJXMgbW9kZSAlZCBub3Qgc3VwcG9ydGVkXG4iLCBfX2Z1bmNf XywgbW9kZSk7Cj4gKwkJYnJlYWs7Cj4gKwl9Owo+ICsKPiArCXNpaTg2MjBfc2V0X2F1dG9fem9u ZShjdHgpOwo+ICsKPiArCWlmIChtb2RlICE9IENNX01ITDEpCj4gKwkJcmV0dXJuOwo+ICsKPiAr CXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfTUhMX0RQX0NUTDAsIDB4QkMsCj4gKwkJ UkVHX01ITF9EUF9DVEwxLCAweEJCLAo+ICsJCVJFR19NSExfRFBfQ1RMMywgMHg0OCwKPiArCQlS RUdfTUhMX0RQX0NUTDUsIDB4MzksCj4gKwkJUkVHX01ITF9EUF9DVEwyLCAweDJBLAo+ICsJCVJF R19NSExfRFBfQ1RMNiwgMHgyQSwKPiArCQlSRUdfTUhMX0RQX0NUTDcsIDB4MDgKPiArCSk7Cj4g K30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfZGlzY29ubmVjdChzdHJ1Y3Qgc2lpODYyMCAq Y3R4KQo+ICt7Cj4gKwlzaWk4NjIwX2Rpc2FibGVfZ2VuMl93cml0ZV9idXJzdChjdHgpOwo+ICsJ c2lpODYyMF9zdG9wX3ZpZGVvKGN0eCk7Cj4gKwltc2xlZXAoNTApOwo+ICsJc2lpODYyMF9jYnVz X3Jlc2V0KGN0eCk7Cj4gKwlzaWk4NjIwX3NldF9tb2RlKGN0eCwgQ01fRElTQ09OTkVDVEVEKTsK PiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfQ09DX0NUTDAsIDB4NDAsCj4gKwkJ UkVHX0NCVVMzX0NOVlQsIDB4ODQsCj4gKwkJUkVHX0NPQ19DVEwxNCwgMHgwMCwKPiArCQlSRUdf Q09DX0NUTDAsIDB4NDAsCj4gKwkJUkVHX0hSWENUUkwzLCAweDA3LAo+ICsJCVJFR19NSExfUExM X0NUTDAsIFZBTF9NSExfUExMX0NUTDBfSERNSV9DTEtfUkFUSU9fMVgKPiArCQkJfCBCSVRfTUhM X1BMTF9DVEwwX0NSWVNUQUxfQ0xLX1NFTAo+ICsJCQl8IEJJVF9NSExfUExMX0NUTDBfWk9ORV9N QVNLX09FLAo+ICsJCVJFR19NSExfRFBfQ1RMMCwgQklUX01ITF9EUF9DVEwwX0RQX09FCj4gKwkJ CXwgQklUX01ITF9EUF9DVEwwX1RYX09FX09WUiwKPiArCQlSRUdfTUhMX0RQX0NUTDEsIDB4QkIs Cj4gKwkJUkVHX01ITF9EUF9DVEwzLCAweDQ4LAo+ICsJCVJFR19NSExfRFBfQ1RMNSwgMHgzRiwK PiArCQlSRUdfTUhMX0RQX0NUTDIsIDB4MkYsCj4gKwkJUkVHX01ITF9EUF9DVEw2LCAweDJBLAo+ ICsJCVJFR19NSExfRFBfQ1RMNywgMHgwMwo+ICsJKTsKPiArCXNpaTg2MjBfZGlzYWJsZV9ocGQo Y3R4KTsKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfTTNfQ1RSTCwgVkFMX00z X0NUUkxfTUhMM19WQUxVRSwKPiArCQlSRUdfTUhMX0NPQ19DVEwxLCAweDA3LAo+ICsJCVJFR19E SVNDX0NUUkw0LCBWQUxfRElTQ19DVFJMNChWQUxfUFVQX09GRiwgVkFMX1BVUF8yMEspLAo+ICsJ CVJFR19ESVNDX0NUUkw4LCAweDAwLAo+ICsJCVJFR19ESVNDX0NUUkw5LCBCSVRfRElTQ19DVFJM OV9XQUtFX0RSVkZMVAo+ICsJCQl8IEJJVF9ESVNDX0NUUkw5X1dBS0VfUFVMU0VfQllQQVNTLAo+ ICsJCVJFR19JTlRfQ1RSTCwgMHgwMCwKPiArCQlSRUdfTVNDX0hFQVJUQkVBVF9DVFJMLCAweDI3 LAo+ICsJCVJFR19ESVNDX0NUUkwxLCAweDI1LAo+ICsJCVJFR19DQlVTX0RJU0NfSU5UUjAsICh1 OCl+QklUX1JHTkRfUkVBRFlfSU5ULAo+ICsJCVJFR19DQlVTX0RJU0NfSU5UUjBfTUFTSywgQklU X1JHTkRfUkVBRFlfSU5ULAo+ICsJCVJFR19NRFRfSU5UXzEsIDB4ZmYsCj4gKwkJUkVHX01EVF9J TlRfMV9NQVNLLCAweDAwLAo+ICsJCVJFR19NRFRfSU5UXzAsIDB4ZmYsCj4gKwkJUkVHX01EVF9J TlRfMF9NQVNLLCAweDAwLAo+ICsJCVJFR19DT0NfSU5UUiwgMHhmZiwKPiArCQlSRUdfQ09DX0lO VFJfTUFTSywgMHgwMCwKPiArCQlSRUdfVFJYSU5USCwgMHhmZiwKPiArCQlSRUdfVFJYSU5UTUgs IDB4MDAsCj4gKwkJUkVHX0NCVVNfSU5UXzAsIDB4ZmYsCj4gKwkJUkVHX0NCVVNfSU5UXzBfTUFT SywgMHgwMCwKPiArCQlSRUdfQ0JVU19JTlRfMSwgMHhmZiwKPiArCQlSRUdfQ0JVU19JTlRfMV9N QVNLLCAweDAwLAo+ICsJCVJFR19FTVNDSU5UUiwgMHhmZiwKPiArCQlSRUdfRU1TQ0lOVFJNQVNL LCAweDAwLAo+ICsJCVJFR19FTVNDSU5UUjEsIDB4ZmYsCj4gKwkJUkVHX0VNU0NJTlRSTUFTSzEs IDB4MDAsCj4gKwkJUkVHX0lOVFI4LCAweGZmLAo+ICsJCVJFR19JTlRSOF9NQVNLLCAweDAwLAo+ ICsJCVJFR19UUElfSU5UUl9TVDAsIDB4ZmYsCj4gKwkJUkVHX1RQSV9JTlRSX0VOLCAweDAwLAo+ ICsJCVJFR19IRENQMlhfSU5UUjAsIDB4ZmYsCj4gKwkJUkVHX0hEQ1AyWF9JTlRSMF9NQVNLLCAw eDAwLAo+ICsJCVJFR19JTlRSOSwgMHhmZiwKPiArCQlSRUdfSU5UUjlfTUFTSywgMHgwMCwKPiAr CQlSRUdfSU5UUjMsIDB4ZmYsCj4gKwkJUkVHX0lOVFIzX01BU0ssIDB4MDAsCj4gKwkJUkVHX0lO VFI1LCAweGZmLAo+ICsJCVJFR19JTlRSNV9NQVNLLCAweDAwLAo+ICsJCVJFR19JTlRSMiwgMHhm ZiwKPiArCQlSRUdfSU5UUjJfTUFTSywgMHgwMCwKPiArCSk7Cj4gKwltZW1zZXQoY3R4LT5zdGF0 LCAwLCBzaXplb2YoY3R4LT5zdGF0KSk7Cj4gKwltZW1zZXQoY3R4LT54c3RhdCwgMCwgc2l6ZW9m KGN0eC0+eHN0YXQpKTsKPiArCW1lbXNldChjdHgtPmRldmNhcCwgMCwgc2l6ZW9mKGN0eC0+ZGV2 Y2FwKSk7Cj4gKwltZW1zZXQoY3R4LT54ZGV2Y2FwLCAwLCBzaXplb2YoY3R4LT54ZGV2Y2FwKSk7 Cj4gKwljdHgtPmNidXNfc3RhdHVzID0gMDsKPiArCWN0eC0+c2lua190eXBlID0gU0lOS19OT05F Owo+ICsJa2ZyZWUoY3R4LT5lZGlkKTsKPiArCWN0eC0+ZWRpZCA9IE5VTEw7Cj4gKwlzaWk4NjIw X210X2NsZWFudXAoY3R4KTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9taGxfZGlz Y29ubmVjdGVkKHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXNpaTg2MjBfd3JpdGVfc2Vx KGN0eCwKPiArCQlSRUdfRElTQ19DVFJMNCwgVkFMX0RJU0NfQ1RSTDQoVkFMX1BVUF9PRkYsIFZB TF9QVVBfMjBLKSwKPiArCQlSRUdfQ0JVU19NU0NfQ09NUEFUX0NUUkwsCj4gKwkJCUJJVF9DQlVT X01TQ19DT01QQVRfQ1RSTF9YREVWQ0FQX0VOCj4gKwkpOwo+ICsJc2lpODYyMF9kaXNjb25uZWN0 KGN0eCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfaXJxX2Rpc2Moc3RydWN0IHNp aTg2MjAgKmN0eCkKPiArewo+ICsJdTggc3RhdCA9IHNpaTg2MjBfcmVhZGIoY3R4LCBSRUdfQ0JV U19ESVNDX0lOVFIwKTsKPiArCj4gKwlpZiAoc3RhdCAmIFZBTF9DQlVTX01ITF9ESVNDT04pCj4g KwkJc2lpODYyMF9taGxfZGlzY29ubmVjdGVkKGN0eCk7Cj4gKwo+ICsJaWYgKHN0YXQgJiBCSVRf UkdORF9SRUFEWV9JTlQpIHsKPiArCQl1OCBzdGF0MiA9IHNpaTg2MjBfcmVhZGIoY3R4LCBSRUdf RElTQ19TVEFUMik7Cj4gKwo+ICsJCWlmICgoc3RhdDIgJiBNU0tfRElTQ19TVEFUMl9SR05EKSA9 PSBWQUxfUkdORF8xSykKPiArCQkJc2lpODYyMF9taGxfZGlzY292ZXIoY3R4KTsKPiArCQllbHNl IHsKPiArCQkJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ICsJCQkJUkVHX0RJU0NfQ1RSTDksIEJJ VF9ESVNDX0NUUkw5X1dBS0VfRFJWRkxUCj4gKwkJCQkJfCBCSVRfRElTQ19DVFJMOV9OT01ITF9F U1QKPiArCQkJCQl8IEJJVF9ESVNDX0NUUkw5X1dBS0VfUFVMU0VfQllQQVNTLAo+ICsJCQkJUkVH X0NCVVNfRElTQ19JTlRSMF9NQVNLLCBCSVRfUkdORF9SRUFEWV9JTlQKPiArCQkJCQl8IEJJVF9D QlVTX01ITDNfRElTQ09OX0lOVAo+ICsJCQkJCXwgQklUX0NCVVNfTUhMMTJfRElTQ09OX0lOVAo+ ICsJCQkJCXwgQklUX05PVF9NSExfRVNUX0lOVAo+ICsJCQkpOwo+ICsJCX0KPiArCX0KPiArCWlm IChzdGF0ICYgQklUX01ITF9FU1RfSU5UKQo+ICsJCXNpaTg2MjBfbWhsX2luaXQoY3R4KTsKPiAr Cj4gKwlzaWk4NjIwX3dyaXRlKGN0eCwgUkVHX0NCVVNfRElTQ19JTlRSMCwgc3RhdCk7Cj4gK30K PiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfaXJxX2cyd2Ioc3RydWN0IHNpaTg2MjAgKmN0eCkK PiArewo+ICsJdTggc3RhdCA9IHNpaTg2MjBfcmVhZGIoY3R4LCBSRUdfTURUX0lOVF8wKTsKPiAr Cj4gKwlpZiAoc3RhdCAmIEJJVF9NRFRfSURMRV9BRlRFUl9IQVdCX0RJU0FCTEUpCj4gKwkJZGV2 X2RiZyhjdHgtPmRldiwgIkhBV0IgaWRsZVxuIik7Cj4gKwo+ICsJc2lpODYyMF93cml0ZShjdHgs IFJFR19NRFRfSU5UXzAsIHN0YXQpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX3N0 YXR1c19jaGFuZ2VkX2RjYXAoc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJaWYgKGN0eC0+ c3RhdFtNSExfRFNUX0NPTk5FQ1RFRF9SRFldICYgTUhMX0RTVF9DT05OX0RDQVBfUkRZKSB7Cj4g KwkJc2lpODYyMF9zZXRfbW9kZShjdHgsIENNX01ITDEpOwo+ICsJCXNpaTg2MjBfcGVlcl9zcGVj aWZpY19pbml0KGN0eCk7Cj4gKwkJc2lpODYyMF93cml0ZShjdHgsIFJFR19JTlRSOV9NQVNLLCBC SVRfSU5UUjlfREVWQ0FQX0RPTkUKPiArCQkJICAgICAgIHwgQklUX0lOVFI5X0VESURfRE9ORSB8 IEJJVF9JTlRSOV9FRElEX0VSUk9SKTsKPiArCX0KPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lp ODYyMF9zdGF0dXNfY2hhbmdlZF9wYXRoKHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCWlm IChjdHgtPnN0YXRbTUhMX0RTVF9MSU5LX01PREVdICYgTUhMX0RTVF9MTV9QQVRIX0VOQUJMRUQp IHsKPiArCQlzaWk4NjIwX210X3dyaXRlX3N0YXQoY3R4LCBNSExfRFNUX1JFRyhMSU5LX01PREUp LAo+ICsJCQkJICAgICAgTUhMX0RTVF9MTV9DTEtfTU9ERV9OT1JNQUwKPiArCQkJCSAgICAgIHwg TUhMX0RTVF9MTV9QQVRIX0VOQUJMRUQpOwo+ICsJCXNpaTg2MjBfbXRfcmVhZF9kZXZjYXAoY3R4 LCBmYWxzZSk7Cj4gKwl9IGVsc2Ugewo+ICsJCXNpaTg2MjBfbXRfd3JpdGVfc3RhdChjdHgsIE1I TF9EU1RfUkVHKExJTktfTU9ERSksCj4gKwkJCQkgICAgICBNSExfRFNUX0xNX0NMS19NT0RFX05P Uk1BTCk7Cj4gKwl9Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfbXNjX21yX3dyaXRl X3N0YXQoc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJdTggc3RbTUhMX0RTVF9TSVpFXSwg eHN0W01ITF9YRFNfU0laRV07Cj4gKwo+ICsJc2lpODYyMF9yZWFkX2J1ZihjdHgsIFJFR19NSExf U1RBVF8wLCBzdCwgTUhMX0RTVF9TSVpFKTsKPiArCXNpaTg2MjBfcmVhZF9idWYoY3R4LCBSRUdf TUhMX0VYVFNUQVRfMCwgeHN0LCBNSExfWERTX1NJWkUpOwo+ICsKPiArCXNpaTg2MjBfdXBkYXRl X2FycmF5KGN0eC0+c3RhdCwgc3QsIE1ITF9EU1RfU0laRSk7Cj4gKwlzaWk4NjIwX3VwZGF0ZV9h cnJheShjdHgtPnhzdGF0LCB4c3QsIE1ITF9YRFNfU0laRSk7Cj4gKwo+ICsJaWYgKHN0W01ITF9E U1RfQ09OTkVDVEVEX1JEWV0gJiBNSExfRFNUX0NPTk5fRENBUF9SRFkpCj4gKwkJc2lpODYyMF9z dGF0dXNfY2hhbmdlZF9kY2FwKGN0eCk7Cj4gKwo+ICsJaWYgKHN0W01ITF9EU1RfTElOS19NT0RF XSAmIE1ITF9EU1RfTE1fUEFUSF9FTkFCTEVEKQo+ICsJCXNpaTg2MjBfc3RhdHVzX2NoYW5nZWRf cGF0aChjdHgpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX21zY19tcl9zZXRfaW50 KHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXU4IGludHNbTUhMX0lOVF9TSVpFXTsKPiAr Cj4gKwlzaWk4NjIwX3JlYWRfYnVmKGN0eCwgUkVHX01ITF9JTlRfMCwgaW50cywgTUhMX0lOVF9T SVpFKTsKPiArCXNpaTg2MjBfd3JpdGVfYnVmKGN0eCwgUkVHX01ITF9JTlRfMCwgaW50cywgTUhM X0lOVF9TSVpFKTsKPiArfQo+ICsKPiArc3RhdGljIHN0cnVjdCBzaWk4NjIwX210X21zZyAqc2lp ODYyMF9tc2NfbXNnX2ZpcnN0KHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXN0cnVjdCBk ZXZpY2UgKmRldiA9IGN0eC0+ZGV2Owo+ICsKPiArCWlmIChsaXN0X2VtcHR5KCZjdHgtPm10X3F1 ZXVlKSkgewo+ICsJCWRldl9lcnIoZGV2LCAidW5leHBlY3RlZCBNU0MgTVQgcmVzcG9uc2VcbiIp Owo+ICsJCXJldHVybiBOVUxMOwo+ICsJfQo+ICsKPiArCXJldHVybiBsaXN0X2ZpcnN0X2VudHJ5 KCZjdHgtPm10X3F1ZXVlLCBzdHJ1Y3Qgc2lpODYyMF9tdF9tc2csIG5vZGUpOwo+ICt9Cj4gKwo+ ICtzdGF0aWMgdm9pZCBzaWk4NjIwX21zY19tdF9kb25lKHN0cnVjdCBzaWk4NjIwICpjdHgpCj4g K3sKPiArCXN0cnVjdCBzaWk4NjIwX210X21zZyAqbXNnID0gc2lpODYyMF9tc2NfbXNnX2ZpcnN0 KGN0eCk7Cj4gKwo+ICsJaWYgKCFtc2cpCj4gKwkJcmV0dXJuOwo+ICsKPiArCW1zZy0+cmV0ID0g c2lpODYyMF9yZWFkYihjdHgsIFJFR19NU0NfTVRfUkNWRF9EQVRBMCk7Cj4gKwljdHgtPm10X3N0 YXRlID0gTVRfU1RBVEVfRE9ORTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9tc2Nf bXJfbXNjX21zZyhzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4gKwlzdHJ1Y3Qgc2lpODYyMF9t dF9tc2cgKm1zZyA9IHNpaTg2MjBfbXNjX21zZ19maXJzdChjdHgpOwo+ICsJdTggYnVmWzJdOwo+ ICsKPiArCWlmICghbXNnKQo+ICsJCXJldHVybjsKPiArCj4gKwlzaWk4NjIwX3JlYWRfYnVmKGN0 eCwgUkVHX01TQ19NUl9NU0NfTVNHX1JDVkRfMVNUX0RBVEEsIGJ1ZiwgMik7Cj4gKwo+ICsJc3dp dGNoIChidWZbMF0pIHsKPiArCWNhc2UgTUhMX01TQ19NU0dfUkFQSzoKPiArCQltc2ctPnJldCA9 IGJ1ZlsxXTsKPiArCQljdHgtPm10X3N0YXRlID0gTVRfU1RBVEVfRE9ORTsKPiArCQlicmVhazsK PiArCWRlZmF1bHQ6Cj4gKwkJZGV2X2VycihjdHgtPmRldiwgIiVzIG1lc3NhZ2UgdHlwZSAlZCwl ZCBub3Qgc3VwcG9ydGVkIiwKPiArCQkJX19mdW5jX18sIGJ1ZlswXSwgYnVmWzFdKTsKPiArCX0K PiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9pcnFfbXNjKHN0cnVjdCBzaWk4NjIwICpj dHgpCj4gK3sKPiArCXU4IHN0YXQgPSBzaWk4NjIwX3JlYWRiKGN0eCwgUkVHX0NCVVNfSU5UXzAp Owo+ICsKPiArCWlmIChzdGF0ICYgfkJJVF9DQlVTX0hQRF9DSEcpCj4gKwkJc2lpODYyMF93cml0 ZShjdHgsIFJFR19DQlVTX0lOVF8wLCBzdGF0ICYgfkJJVF9DQlVTX0hQRF9DSEcpOwo+ICsKPiAr CWlmIChzdGF0ICYgQklUX0NCVVNfSFBEX0NIRykgewo+ICsJCXU4IGNidXNfc3RhdCA9IHNpaTg2 MjBfcmVhZGIoY3R4LCBSRUdfQ0JVU19TVEFUVVMpOwo+ICsKPiArCQlpZiAoKGNidXNfc3RhdCBe IGN0eC0+Y2J1c19zdGF0dXMpICYgQklUX0NCVVNfU1RBVFVTX0NCVVNfSFBEKSB7Cj4gKwkJCXNp aTg2MjBfd3JpdGUoY3R4LCBSRUdfQ0JVU19JTlRfMCwgQklUX0NCVVNfSFBEX0NIRyk7Cj4gKwkJ fSBlbHNlIHsKPiArCQkJc3RhdCBePSBCSVRfQ0JVU19TVEFUVVNfQ0JVU19IUEQ7Cj4gKwkJCWNi dXNfc3RhdCBePSBCSVRfQ0JVU19TVEFUVVNfQ0JVU19IUEQ7Cj4gKwkJfQo+ICsJCWN0eC0+Y2J1 c19zdGF0dXMgPSBjYnVzX3N0YXQ7Cj4gKwl9Cj4gKwo+ICsJaWYgKHN0YXQgJiBCSVRfQ0JVU19N U0NfTVJfV1JJVEVfU1RBVCkKPiArCQlzaWk4NjIwX21zY19tcl93cml0ZV9zdGF0KGN0eCk7Cj4g Kwo+ICsJaWYgKHN0YXQgJiBCSVRfQ0JVU19NU0NfTVJfU0VUX0lOVCkKPiArCQlzaWk4NjIwX21z Y19tcl9zZXRfaW50KGN0eCk7Cj4gKwo+ICsJaWYgKHN0YXQgJiBCSVRfQ0JVU19NU0NfTVRfRE9O RSkKPiArCQlzaWk4NjIwX21zY19tdF9kb25lKGN0eCk7Cj4gKwo+ICsJaWYgKHN0YXQgJiBCSVRf Q0JVU19NU0NfTVJfTVNDX01TRykKPiArCQlzaWk4NjIwX21zY19tcl9tc2NfbXNnKGN0eCk7Cj4g K30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfaXJxX2NvYyhzdHJ1Y3Qgc2lpODYyMCAqY3R4 KQo+ICt7Cj4gKwl1OCBzdGF0ID0gc2lpODYyMF9yZWFkYihjdHgsIFJFR19DT0NfSU5UUik7Cj4g Kwo+ICsJc2lpODYyMF93cml0ZShjdHgsIFJFR19DT0NfSU5UUiwgc3RhdCk7Cj4gK30KPiArCj4g K3N0YXRpYyB2b2lkIHNpaTg2MjBfaXJxX21lcnIoc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ ICsJdTggc3RhdCA9IHNpaTg2MjBfcmVhZGIoY3R4LCBSRUdfQ0JVU19JTlRfMSk7Cj4gKwo+ICsJ c2lpODYyMF93cml0ZShjdHgsIFJFR19DQlVTX0lOVF8xLCBzdGF0KTsKPiArfQo+ICsKPiArc3Rh dGljIHZvaWQgc2lpODYyMF9pcnFfZWRpZChzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4gKwl1 OCBzdGF0ID0gc2lpODYyMF9yZWFkYihjdHgsIFJFR19JTlRSOSk7Cj4gKwo+ICsJc2lpODYyMF93 cml0ZShjdHgsIFJFR19JTlRSOSwgc3RhdCk7Cj4gKwo+ICsJaWYgKHN0YXQgJiBCSVRfSU5UUjlf REVWQ0FQX0RPTkUpCj4gKwkJY3R4LT5tdF9zdGF0ZSA9IE1UX1NUQVRFX0RPTkU7Cj4gK30KPiAr Cj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfc2NkdF9oaWdoKHN0cnVjdCBzaWk4NjIwICpjdHgpCj4g K3sKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfSU5UUjhfTUFTSywgQklUX0NF QV9ORVdfQVZJIHwgQklUX0NFQV9ORVdfVlNJLAo+ICsJCVJFR19UUElfU0MsIEJJVF9UUElfU0Nf VFBJX09VVFBVVF9NT0RFXzBfSERNSSwKPiArCSk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNp aTg2MjBfc2NkdF9sb3coc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJc2lpODYyMF93cml0 ZShjdHgsIFJFR19UTURTX0NTVEFUX1AzLAo+ICsJCSAgICAgICBCSVRfVE1EU19DU1RBVF9QM19T Q0RUX0NMUl9BVklfRElTCj4gKwkJICAgICAgIHwgQklUX1RNRFNfQ1NUQVRfUDNfQ0xSX0FWSSk7 Cj4gKwo+ICsJc2lpODYyMF9zdG9wX3ZpZGVvKGN0eCk7Cj4gKwo+ICsJc2lpODYyMF93cml0ZShj dHgsIFJFR19JTlRSOF9NQVNLLCAwKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9p cnFfc2NkdChzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4gKwl1OCBzdGF0ID0gc2lpODYyMF9y ZWFkYihjdHgsIFJFR19JTlRSNSk7Cj4gKwo+ICsJaWYgKHN0YXQgJiBCSVRfSU5UUl9TQ0RUX0NI QU5HRSkgewo+ICsJCXU4IGNzdGF0ID0gc2lpODYyMF9yZWFkYihjdHgsIFJFR19UTURTX0NTVEFU X1AzKTsKPiArCj4gKwkJaWYgKGNzdGF0ICYgQklUX1RNRFNfQ1NUQVRfUDNfU0NEVCkKPiArCQkJ c2lpODYyMF9zY2R0X2hpZ2goY3R4KTsKPiArCQllbHNlCj4gKwkJCXNpaTg2MjBfc2NkdF9sb3co Y3R4KTsKPiArCX0KPiArCj4gKwlzaWk4NjIwX3dyaXRlKGN0eCwgUkVHX0lOVFI1LCBzdGF0KTsK PiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9uZXdfdnNpKHN0cnVjdCBzaWk4NjIwICpj dHgpCj4gK3sKPiArCXU4IHZzaWZbMTFdOwo+ICsKPiArCXNpaTg2MjBfd3JpdGUoY3R4LCBSRUdf UlhfSERNSV9DVFJMMiwKPiArCQkgICAgICAgVkFMX1JYX0hETUlfQ1RSTDJfREVGVkFMCj4gKwkJ ICAgICAgIHwgQklUX1JYX0hETUlfQ1RSTDJfVlNJX01PTl9TRUxfVlNJKTsKPiArCXNpaTg2MjBf cmVhZF9idWYoY3R4LCBSRUdfUlhfSERNSV9NT05fUEtUX0hFQURFUjEsIHZzaWYsCj4gKwkJCSBB UlJBWV9TSVpFKHZzaWYpKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9uZXdfYXZp KHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXNpaTg2MjBfd3JpdGUoY3R4LCBSRUdfUlhf SERNSV9DVFJMMiwgVkFMX1JYX0hETUlfQ1RSTDJfREVGVkFMKTsKPiArCXNpaTg2MjBfcmVhZF9i dWYoY3R4LCBSRUdfUlhfSERNSV9NT05fUEtUX0hFQURFUjEsIGN0eC0+YXZpZiwKPiArCQkJIEFS UkFZX1NJWkUoY3R4LT5hdmlmKSk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfaXJx X2luZnIoc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJdTggc3RhdCA9IHNpaTg2MjBfcmVh ZGIoY3R4LCBSRUdfSU5UUjgpCj4gKwkJJiAoQklUX0NFQV9ORVdfVlNJIHwgQklUX0NFQV9ORVdf QVZJKTsKPiArCj4gKwlzaWk4NjIwX3dyaXRlKGN0eCwgUkVHX0lOVFI4LCBzdGF0KTsKPiArCj4g KwlpZiAoc3RhdCAmIEJJVF9DRUFfTkVXX1ZTSSkKPiArCQlzaWk4NjIwX25ld192c2koY3R4KTsK PiArCj4gKwlpZiAoc3RhdCAmIEJJVF9DRUFfTkVXX0FWSSkKPiArCQlzaWk4NjIwX25ld19hdmko Y3R4KTsKPiArCj4gKwlpZiAoc3RhdCAmIChCSVRfQ0VBX05FV19WU0kgfCBCSVRfQ0VBX05FV19B VkkpKQo+ICsJCXNpaTg2MjBfc3RhcnRfdmlkZW8oY3R4KTsKPiArfQo+ICsKPiArLyogZW5kaWFu IGFnbm9zdGljLCBub24tdm9sYXRpbGUgdmVyc2lvbiBvZiB0ZXN0X2JpdCAqLwo+ICtzdGF0aWMg Ym9vbCBzaWk4NjIwX3Rlc3RfYml0KHVuc2lnbmVkIGludCBuciwgY29uc3QgdTggKmFkZHIpCj4g K3sKPiArCXJldHVybiAxICYgKGFkZHJbbnIgLyBCSVRTX1BFUl9CWVRFXSA+PiAobnIgJSBCSVRT X1BFUl9CWVRFKSk7Cj4gK30KPiArCj4gK3N0YXRpYyBpcnFyZXR1cm5fdCBzaWk4NjIwX2lycV90 aHJlYWQoaW50IGlycSwgdm9pZCAqZGF0YSkKPiArewo+ICsJc3RhdGljIGNvbnN0IHN0cnVjdCB7 Cj4gKwkJaW50IGJpdDsKPiArCQl2b2lkICgqaGFuZGxlcikoc3RydWN0IHNpaTg2MjAgKmN0eCk7 Cj4gKwl9IGlycV92ZWNbXSA9IHsKPiArCQl7IEJJVF9GQVNUX0lOVFJfU1RBVF9ESVNDLCBzaWk4 NjIwX2lycV9kaXNjIH0sCj4gKwkJeyBCSVRfRkFTVF9JTlRSX1NUQVRfRzJXQiwgc2lpODYyMF9p cnFfZzJ3YiB9LAo+ICsJCXsgQklUX0ZBU1RfSU5UUl9TVEFUX0NPQywgc2lpODYyMF9pcnFfY29j IH0sCj4gKwkJeyBCSVRfRkFTVF9JTlRSX1NUQVRfTVNDLCBzaWk4NjIwX2lycV9tc2MgfSwKPiAr CQl7IEJJVF9GQVNUX0lOVFJfU1RBVF9NRVJSLCBzaWk4NjIwX2lycV9tZXJyIH0sCj4gKwkJeyBC SVRfRkFTVF9JTlRSX1NUQVRfRURJRCwgc2lpODYyMF9pcnFfZWRpZCB9LAo+ICsJCXsgQklUX0ZB U1RfSU5UUl9TVEFUX1NDRFQsIHNpaTg2MjBfaXJxX3NjZHQgfSwKPiArCQl7IEJJVF9GQVNUX0lO VFJfU1RBVF9JTkZSLCBzaWk4NjIwX2lycV9pbmZyIH0sCj4gKwl9Owo+ICsJc3RydWN0IHNpaTg2 MjAgKmN0eCA9IGRhdGE7Cj4gKwl1OCBzdGF0c1tMRU5fRkFTVF9JTlRSX1NUQVRdOwo+ICsJaW50 IGksIHJldDsKPiArCj4gKwltdXRleF9sb2NrKCZjdHgtPmxvY2spOwo+ICsKPiArCXNpaTg2MjBf cmVhZF9idWYoY3R4LCBSRUdfRkFTVF9JTlRSX1NUQVQsIHN0YXRzLCBBUlJBWV9TSVpFKHN0YXRz KSk7Cj4gKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpcnFfdmVjKTsgKytpKQo+ICsJCWlm IChzaWk4NjIwX3Rlc3RfYml0KGlycV92ZWNbaV0uYml0LCBzdGF0cykpCj4gKwkJCWlycV92ZWNb aV0uaGFuZGxlcihjdHgpOwo+ICsKPiArCXNpaTg2MjBfbXRfd29yayhjdHgpOwo+ICsKPiArCXJl dCA9IHNpaTg2MjBfY2xlYXJfZXJyb3IoY3R4KTsKPiArCWlmIChyZXQpIHsKPiArCQlkZXZfZXJy KGN0eC0+ZGV2LCAiRXJyb3IgZHVyaW5nIElSUSBoYW5kbGluZywgJWQuXG4iLCByZXQpOwo+ICsJ CXNpaTg2MjBfbWhsX2Rpc2Nvbm5lY3RlZChjdHgpOwo+ICsJfQo+ICsJbXV0ZXhfdW5sb2NrKCZj dHgtPmxvY2spOwo+ICsKPiArCXJldHVybiBJUlFfSEFORExFRDsKPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgc2lpODYyMF9jYWJsZV9pbihzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4gKwlzdHJ1 Y3QgZGV2aWNlICpkZXYgPSBjdHgtPmRldjsKPiArCXU4IHZlcls1XTsKPiArCWludCByZXQ7Cj4g Kwo+ICsJcmV0ID0gc2lpODYyMF9od19vbihjdHgpOwo+ICsJaWYgKHJldCkgewo+ICsJCWRldl9l cnIoZGV2LCAiRXJyb3IgcG93ZXJpbmcgb24sICVkLlxuIiwgcmV0KTsKPiArCQlyZXR1cm47Cj4g Kwl9Cj4gKwlzaWk4NjIwX2h3X3Jlc2V0KGN0eCk7Cj4gKwo+ICsJc2lpODYyMF9yZWFkX2J1Zihj dHgsIFJFR19WTkRfSURMLCB2ZXIsIEFSUkFZX1NJWkUodmVyKSk7Cj4gKwlyZXQgPSBzaWk4NjIw X2NsZWFyX2Vycm9yKGN0eCk7Cj4gKwlpZiAocmV0KSB7Cj4gKwkJZGV2X2VycihkZXYsICJFcnJv ciBhY2Nlc3NpbmcgSTJDIGJ1cywgJWQuXG4iLCByZXQpOwo+ICsJCXJldHVybjsKPiArCX0KPiAr Cj4gKwlkZXZfaW5mbyhkZXYsICJDaGlwSUQgJTAyeCUwMng6JTAyeCUwMnggcmV2ICUwMnguXG4i LCB2ZXJbMV0sIHZlclswXSwKPiArCQkgdmVyWzNdLCB2ZXJbMl0sIHZlcls0XSk7Cj4gKwo+ICsJ c2lpODYyMF93cml0ZShjdHgsIFJFR19EUEQsCj4gKwkJCUJJVF9EUERfUFdST05fUExMIHwgQklU X0RQRF9QRE5UWDEyIHwgQklUX0RQRF9PU0NfRU4pOwo+ICsKPiArCXNpaTg2MjBfeHRhbF9zZXRf cmF0ZShjdHgpOwo+ICsJc2lpODYyMF9kaXNjb25uZWN0KGN0eCk7Cj4gKwo+ICsJc2lpODYyMF93 cml0ZV9zZXEoY3R4LAo+ICsJCVJFR19NSExfQ0JVU19DVEwwLCBWQUxfTUhMX0NCVVNfQ1RMMF9D QlVTX0RSVl9TRUxfU1RST05HCj4gKwkJCXwgVkFMX01ITF9DQlVTX0NUTDBfQ0JVU19SR05EX1ZC SUFTXzczNCwKPiArCQlSRUdfTUhMX0NCVVNfQ1RMMSwgVkFMX01ITF9DQlVTX0NUTDFfMTExNV9P SE0sCj4gKwkJUkVHX0RQRCwgQklUX0RQRF9QV1JPTl9QTEwgfCBCSVRfRFBEX1BETlRYMTIgfCBC SVRfRFBEX09TQ19FTiwKPiArCSk7Cj4gKwo+ICsJcmV0ID0gc2lpODYyMF9jbGVhcl9lcnJvcihj dHgpOwo+ICsJaWYgKHJldCkgewo+ICsJCWRldl9lcnIoZGV2LCAiRXJyb3IgYWNjZXNzaW5nIEky QyBidXMsICVkLlxuIiwgcmV0KTsKPiArCQlyZXR1cm47Cj4gKwl9Cj4gKwo+ICsJZW5hYmxlX2ly cSh0b19pMmNfY2xpZW50KGN0eC0+ZGV2KS0+aXJxKTsKPiArfQo+ICsKPiArc3RhdGljIGlubGlu ZSBzdHJ1Y3Qgc2lpODYyMCAqYnJpZGdlX3RvX3NpaTg2MjAoc3RydWN0IGRybV9icmlkZ2UgKmJy aWRnZSkKPiArewo+ICsJcmV0dXJuIGNvbnRhaW5lcl9vZihicmlkZ2UsIHN0cnVjdCBzaWk4NjIw LCBicmlkZ2UpOwo+ICt9Cj4gKwo+ICtib29sIHNpaTg2MjBfbW9kZV9maXh1cChzdHJ1Y3QgZHJt X2JyaWRnZSAqYnJpZGdlLAo+ICsJCSAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlLAo+ICsJCSAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKQo+ICt7 Cj4gKwlzdHJ1Y3Qgc2lpODYyMCAqY3R4ID0gYnJpZGdlX3RvX3NpaTg2MjAoYnJpZGdlKTsKPiAr CWJvb2wgcmV0ID0gZmFsc2U7Cj4gKwlpbnQgbWF4X2Nsb2NrID0gNzQyNTA7Cj4gKwo+ICsJbXV0 ZXhfbG9jaygmY3R4LT5sb2NrKTsKPiArCj4gKwlpZiAobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9G TEFHX0lOVEVSTEFDRSkKPiArCQlnb3RvIG91dDsKPiArCj4gKwlpZiAoY3R4LT5kZXZjYXBbTUhM X0RDQVBfVklEX0xJTktfTU9ERV0gJiBNSExfRENBUF9WSURfTElOS19QUElYRUwpCj4gKwkJbWF4 X2Nsb2NrID0gMzAwMDAwOwo+ICsKPiArCXJldCA9IG1vZGUtPmNsb2NrIDw9IG1heF9jbG9jazsK PiArCj4gK291dDoKPiArCW11dGV4X3VubG9jaygmY3R4LT5sb2NrKTsKPiArCj4gKwlyZXR1cm4g cmV0Owo+ICt9Cj4gKwo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fYnJpZGdlX2Z1bmNz IHNpaTg2MjBfYnJpZGdlX2Z1bmNzID0gewo+ICsJLm1vZGVfZml4dXAgPSBzaWk4NjIwX21vZGVf Zml4dXAsCj4gK307Cj4gKwo+ICtzdGF0aWMgaW50IHNpaTg2MjBfcHJvYmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCwKPiArCQkJIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZCkKPiAr ewo+ICsJc3RydWN0IGRldmljZSAqZGV2ID0gJmNsaWVudC0+ZGV2Owo+ICsJc3RydWN0IHNpaTg2 MjAgKmN0eDsKPiArCWludCByZXQ7Cj4gKwo+ICsJY3R4ID0gZGV2bV9remFsbG9jKGRldiwgc2l6 ZW9mKCpjdHgpLCBHRlBfS0VSTkVMKTsKPiArCWlmICghY3R4KQo+ICsJCXJldHVybiAtRU5PTUVN Owo+ICsKPiArCWN0eC0+ZGV2ID0gZGV2Owo+ICsJbXV0ZXhfaW5pdCgmY3R4LT5sb2NrKTsKPiAr CUlOSVRfTElTVF9IRUFEKCZjdHgtPm10X3F1ZXVlKTsKPiArCj4gKwljdHgtPmNsa194dGFsID0g ZGV2bV9jbGtfZ2V0KGRldiwgInh0YWwiKTsKPiArCWlmIChJU19FUlIoY3R4LT5jbGtfeHRhbCkp IHsKPiArCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBnZXQgeHRhbCBjbG9jayBmcm9tIERUXG4i KTsKPiArCQlyZXR1cm4gUFRSX0VSUihjdHgtPmNsa194dGFsKTsKPiArCX0KPiArCj4gKwlpZiAo IWNsaWVudC0+aXJxKSB7Cj4gKwkJZGV2X2VycihkZXYsICJubyBpcnEgcHJvdmlkZWRcbiIpOwo+ ICsJCXJldHVybiAtRUlOVkFMOwo+ICsJfQo+ICsJaXJxX3NldF9zdGF0dXNfZmxhZ3MoY2xpZW50 LT5pcnEsIElSUV9OT0FVVE9FTik7Cj4gKwlyZXQgPSBkZXZtX3JlcXVlc3RfdGhyZWFkZWRfaXJx KGRldiwgY2xpZW50LT5pcnEsIE5VTEwsCj4gKwkJCXNpaTg2MjBfaXJxX3RocmVhZCwgSVJRRl9U UklHR0VSX0hJR0ggfCBJUlFGX09ORVNIT1QsCj4gKwkJCSJzaWk4NjIwIiwgY3R4KTsKPiArCj4g KwljdHgtPmdwaW9fcmVzZXQgPSBkZXZtX2dwaW9kX2dldChkZXYsICJyZXNldCIsIEdQSU9EX09V VF9ISUdIKTsKPiArCWlmIChJU19FUlIoY3R4LT5ncGlvX3Jlc2V0KSkgewo+ICsJCWRldl9lcnIo ZGV2LCAiZmFpbGVkIHRvIGdldCByZXNldCBncGlvIGZyb20gRFRcbiIpOwo+ICsJCXJldHVybiBQ VFJfRVJSKGN0eC0+Z3Bpb19yZXNldCk7Cj4gKwl9Cj4gKwo+ICsJY3R4LT5zdXBwbGllc1swXS5z dXBwbHkgPSAiY3ZjYzEwIjsKPiArCWN0eC0+c3VwcGxpZXNbMV0uc3VwcGx5ID0gImlvdmNjMTgi Owo+ICsJcmV0ID0gZGV2bV9yZWd1bGF0b3JfYnVsa19nZXQoZGV2LCAyLCBjdHgtPnN1cHBsaWVz KTsKPiArCWlmIChyZXQpCj4gKwkJcmV0dXJuIHJldDsKPiArCj4gKwlpMmNfc2V0X2NsaWVudGRh dGEoY2xpZW50LCBjdHgpOwo+ICsKPiArCWN0eC0+YnJpZGdlLmZ1bmNzID0gJnNpaTg2MjBfYnJp ZGdlX2Z1bmNzOwo+ICsJY3R4LT5icmlkZ2Uub2Zfbm9kZSA9IGRldi0+b2Zfbm9kZTsKPiArCWRy bV9icmlkZ2VfYWRkKCZjdHgtPmJyaWRnZSk7Cj4gKwo+ICsJc2lpODYyMF9jYWJsZV9pbihjdHgp Owo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHNpaTg2MjBfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3sKPiArCXN0cnVjdCBzaWk4NjIwICpjdHgg PSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiArCj4gKwlkaXNhYmxlX2lycSh0b19pMmNf Y2xpZW50KGN0eC0+ZGV2KS0+aXJxKTsKPiArCWRybV9icmlkZ2VfcmVtb3ZlKCZjdHgtPmJyaWRn ZSk7Cj4gKwlzaWk4NjIwX2h3X29mZihjdHgpOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzaWk4NjIwX2R0X21hdGNoW10gPSB7 Cj4gKwl7IC5jb21wYXRpYmxlID0gInNpbCxzaWk4NjIwIiB9LAo+ICsJeyB9LAo+ICt9Owo+ICtN T0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzaWk4NjIwX2R0X21hdGNoKTsKPiArCj4gK3N0YXRpYyBj b25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBzaWk4NjIwX2lkW10gPSB7Cj4gKwl7ICJTSUk4NjIw IiwgMCB9LAo+ICsJeyB9LAo+ICt9Owo+ICsKPiArTU9EVUxFX0RFVklDRV9UQUJMRShpMmMsIHNp aTg2MjBfaWQpOwo+ICtzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgc2lpODYyMF9kcml2ZXIgPSB7 Cj4gKwkuZHJpdmVyID0gewo+ICsJCS5uYW1lCT0gInNpaTg2MjAiLAo+ICsJCS5vd25lcgk9IFRI SVNfTU9EVUxFLAo+ICsJCS5vZl9tYXRjaF90YWJsZSA9IG9mX21hdGNoX3B0cihzaWk4NjIwX2R0 X21hdGNoKSwKPiArCX0sCj4gKwkucHJvYmUJCT0gc2lpODYyMF9wcm9iZSwKPiArCS5yZW1vdmUJ CT0gc2lpODYyMF9yZW1vdmUsCj4gKwkuaWRfdGFibGUgPSBzaWk4NjIwX2lkLAo+ICt9Owo+ICsK PiArbW9kdWxlX2kyY19kcml2ZXIoc2lpODYyMF9kcml2ZXIpOwo+ICtNT0RVTEVfTElDRU5TRSgi R1BMIHYyIik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lsLXNpaTg2 MjAuaCBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lsLXNpaTg2MjAuaAo+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uNmZmNjE2YQo+IC0tLSAvZGV2L251bGwKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmgKPiBAQCAtMCwwICsxLDE1MTcg QEAKPiArLyoKPiArICogUmVnaXN0ZXJzIG9mIFNpbGljb24gSW1hZ2UgU2lJODYyMCBNb2JpbGUg SEQgVHJhbnNtaXR0ZXIKPiArICoKPiArICogQ29weXJpZ2h0IChDKSAyMDE1LCBTYW1zdW5nIEVs ZWN0cm9uaWNzIENvLiwgTHRkLgo+ICsgKiBBbmRyemVqIEhhamRhIDxhLmhhamRhQHNhbXN1bmcu Y29tPgo+ICsgKgo+ICsgKiBCYXNlZCBvbiBNSEwgZHJpdmVyIGZvciBBbmRyb2lkIGRldmljZXMu Cj4gKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE0IFNpbGljb24gSW1hZ2UsIEluYy4KPiArICoK PiArICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKPiArICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKPiArICogcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gKyAqLwo+ICsKPiArI2lmbmRlZiBfX1NJTF9TSUk4 NjIwX0hfXwo+ICsjZGVmaW5lIF9fU0lMX1NJSTg2MjBfSF9fCj4gKwo+ICsvKiBWZW5kb3IgSUQg TG93IGJ5dGUsIGRlZmF1bHQgdmFsdWU6IDB4MDEgKi8KPiArI2RlZmluZSBSRUdfVk5EX0lETAkJ CQkweDAwMDAKPiArCj4gKy8qIFZlbmRvciBJRCBIaWdoIGJ5dGUsIGRlZmF1bHQgdmFsdWU6IDB4 MDAgKi8KPiArI2RlZmluZSBSRUdfVk5EX0lESAkJCQkweDAwMDEKPiArCj4gKy8qIERldmljZSBJ RCBMb3cgYnl0ZSwgZGVmYXVsdCB2YWx1ZTogMHg2MCAqLwo+ICsjZGVmaW5lIFJFR19ERVZfSURM CQkJCTB4MDAwMgo+ICsKPiArLyogRGV2aWNlIElEIEhpZ2ggYnl0ZSwgZGVmYXVsdCB2YWx1ZTog MHg4NiAqLwo+ICsjZGVmaW5lIFJFR19ERVZfSURICQkJCTB4MDAwMwo+ICsKPiArLyogRGV2aWNl IFJldmlzaW9uLCBkZWZhdWx0IHZhbHVlOiAweDEwICovCj4gKyNkZWZpbmUgUkVHX0RFVl9SRVYJ CQkJMHgwMDA0Cj4gKwo+ICsvKiBPVFAgREJZVEU1MTAsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8K PiArI2RlZmluZSBSRUdfT1RQX0RCWVRFNTEwCQkJMHgwMDA2Cj4gKwo+ICsvKiBTeXN0ZW0gQ29u dHJvbCAjMSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19TWVNfQ1RSTDEJ CQkJMHgwMDA4Cj4gKyNkZWZpbmUgQklUX1NZU19DVFJMMV9PVFBWTVVURU9WUl9TRVQJCUJJVCg3 KQo+ICsjZGVmaW5lIEJJVF9TWVNfQ1RSTDFfVlNZTkNQSU4JCQlCSVQoNikKPiArI2RlZmluZSBC SVRfU1lTX0NUUkwxX09UUEFEUk9QT1ZSX1NFVAkJQklUKDUpCj4gKyNkZWZpbmUgQklUX1NZU19D VFJMMV9CTE9DS19ERENfQllfSFBECQlCSVQoNCkKPiArI2RlZmluZSBCSVRfU1lTX0NUUkwxX09U UDJYVk9WUl9FTgkJQklUKDMpCj4gKyNkZWZpbmUgQklUX1NZU19DVFJMMV9PVFAyWEFPVlJfRU4J CUJJVCgyKQo+ICsjZGVmaW5lIEJJVF9TWVNfQ1RSTDFfVFhfQ1RSTF9IRE1JCQlCSVQoMSkKPiAr I2RlZmluZSBCSVRfU1lTX0NUUkwxX09UUEFNVVRFT1ZSX1NFVAkJQklUKDApCj4gKwo+ICsvKiBT eXN0ZW0gQ29udHJvbCBEUEQsIGRlZmF1bHQgdmFsdWU6IDB4OTAgKi8KPiArI2RlZmluZSBSRUdf RFBECQkJCQkweDAwMGIKPiArI2RlZmluZSBCSVRfRFBEX1BXUk9OX1BMTAkJCUJJVCg3KQo+ICsj ZGVmaW5lIEJJVF9EUERfUEROVFgxMgkJCQlCSVQoNikKPiArI2RlZmluZSBCSVRfRFBEX1BETlJY MTIJCQkJQklUKDUpCj4gKyNkZWZpbmUgQklUX0RQRF9PU0NfRU4JCQkJQklUKDQpCj4gKyNkZWZp bmUgQklUX0RQRF9QV1JPTl9IU0lDCQkJQklUKDMpCj4gKyNkZWZpbmUgQklUX0RQRF9QRElEQ0tf TgkJCUJJVCgyKQo+ICsjZGVmaW5lIEJJVF9EUERfUERfTUhMX0NMS19OCQkJQklUKDEpCj4gKwo+ ICsvKiBEdWFsIGxpbmsgQ29udHJvbCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5l IFJFR19EQ1RMCQkJCTB4MDAwZAo+ICsjZGVmaW5lIEJJVF9EQ1RMX1RETV9MQ0xLX1BIQVNFCQkJ QklUKDcpCj4gKyNkZWZpbmUgQklUX0RDVExfSFNJQ19DTEtfUEhBU0UJCQlCSVQoNikKPiArI2Rl ZmluZSBCSVRfRENUTF9DVFNfVENLX1BIQVNFCQkJQklUKDUpCj4gKyNkZWZpbmUgQklUX0RDVExf RVhUX0REQ19TRUwJCQlCSVQoNCkKPiArI2RlZmluZSBCSVRfRENUTF9UUkFOU0NPREUJCQlCSVQo MykKPiArI2RlZmluZSBCSVRfRENUTF9IU0lDX1JYX1NUUk9CRV9QSEFTRQkJQklUKDIpCj4gKyNk ZWZpbmUgQklUX0RDVExfSFNJQ19UWF9CSVNUX1NUQVJUX1NFTAkJQklUKDEpCj4gKyNkZWZpbmUg QklUX0RDVExfVENMS05YX1BIQVNFCQkJQklUKDApCj4gKwo+ICsvKiBQV0QgU29mdHdhcmUgUmVz ZXQsIGRlZmF1bHQgdmFsdWU6IDB4MjAgKi8KPiArI2RlZmluZSBSRUdfUFdEX1NSU1QJCQkJMHgw MDBlCj4gKyNkZWZpbmUgQklUX1BXRF9TUlNUX0NPQ19ET0NfUlNUCQlCSVQoNykKPiArI2RlZmlu ZSBCSVRfUFdEX1NSU1RfQ0JVU19SU1RfU1cJCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9QV0RfU1JT VF9DQlVTX1JTVF9TV19FTgkJQklUKDUpCj4gKyNkZWZpbmUgQklUX1BXRF9TUlNUX01ITEZJRk9f UlNUCQlCSVQoNCkKPiArI2RlZmluZSBCSVRfUFdEX1NSU1RfQ0JVU19SU1QJCQlCSVQoMykKPiAr I2RlZmluZSBCSVRfUFdEX1NSU1RfU1dfUlNUX0FVVE8JCUJJVCgyKQo+ICsjZGVmaW5lIEJJVF9Q V0RfU1JTVF9IRENQMlhfU1dfUlNUCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfUFdEX1NSU1RfU1df UlNUCQkJQklUKDApCj4gKwo+ICsvKiBBS1NWXzEsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiAr I2RlZmluZSBSRUdfQUtTVl8xCQkJCTB4MDAxZAo+ICsKPiArLyogVmlkZW8gSCBSZXNvbHV0aW9u ICMxLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0hfUkVTTAkJCQkweDAw M2EKPiArCj4gKy8qIFZpZGVvIE1vZGUsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmlu ZSBSRUdfVklEX01PREUJCQkJMHgwMDRhCj4gKyNkZWZpbmUgQklUX1ZJRF9NT0RFX00xMDgwUAkJ CUJJVCg2KQo+ICsKPiArLyogVmlkZW8gSW5wdXQgTW9kZSwgZGVmYXVsdCB2YWx1ZTogMHhjMCAq Lwo+ICsjZGVmaW5lIFJFR19WSURfT1ZSUkQJCQkJMHgwMDUxCj4gKyNkZWZpbmUgQklUX1ZJRF9P VlJSRF9QUF9BVVRPX0RJU0FCTEUJCUJJVCg3KQo+ICsjZGVmaW5lIEJJVF9WSURfT1ZSUkRfTTEw ODBQX09WUlJECQlCSVQoNikKPiArI2RlZmluZSBCSVRfVklEX09WUlJEX01JTklWU1lOQ19PTgkJ QklUKDUpCj4gKyNkZWZpbmUgQklUX1ZJRF9PVlJSRF8zRENPTlZfRU5fRlJBTUVfUEFDSwlCSVQo NCkKPiArI2RlZmluZSBCSVRfVklEX09WUlJEX0VOQUJMRV9BVVRPX1BBVEhfRU4JQklUKDMpCj4g KyNkZWZpbmUgQklUX1ZJRF9PVlJSRF9FTlJHQjJZQ0JDUl9PVlJSRAkJQklUKDIpCj4gKyNkZWZp bmUgQklUX1ZJRF9PVlJSRF9FTkRPV05TQU1QTEVfT1ZSUkQJQklUKDApCj4gKwo+ICsvKiBJMkMg QWRkcmVzcyByZWFzc2lnbm1lbnQsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBS RUdfUEFHRV9NSExTUEVDX0FERFIJCQkweDAwNTcKPiArI2RlZmluZSBSRUdfUEFHRTdfQUREUgkJ CQkweDAwNTgKPiArI2RlZmluZSBSRUdfUEFHRThfQUREUgkJCQkweDAwNWMKPiArCj4gKy8qIEZh c3QgSW50ZXJydXB0IFN0YXR1cywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJF R19GQVNUX0lOVFJfU1RBVAkJCTB4MDA1Zgo+ICsjZGVmaW5lIExFTl9GQVNUX0lOVFJfU1RBVAkJ CTcKPiArI2RlZmluZSBCSVRfRkFTVF9JTlRSX1NUQVRfVElNUgkJCTgKPiArI2RlZmluZSBCSVRf RkFTVF9JTlRSX1NUQVRfSU5UMgkJCTkKPiArI2RlZmluZSBCSVRfRkFTVF9JTlRSX1NUQVRfRERD CQkJMTAKPiArI2RlZmluZSBCSVRfRkFTVF9JTlRSX1NUQVRfU0NEVAkJCTExCj4gKyNkZWZpbmUg QklUX0ZBU1RfSU5UUl9TVEFUX0lORlIJCQkxMwo+ICsjZGVmaW5lIEJJVF9GQVNUX0lOVFJfU1RB VF9FRElECQkJMTQKPiArI2RlZmluZSBCSVRfRkFTVF9JTlRSX1NUQVRfSERDUAkJCTE1Cj4gKyNk ZWZpbmUgQklUX0ZBU1RfSU5UUl9TVEFUX01TQwkJCTE2Cj4gKyNkZWZpbmUgQklUX0ZBU1RfSU5U Ul9TVEFUX01FUlIJCQkxNwo+ICsjZGVmaW5lIEJJVF9GQVNUX0lOVFJfU1RBVF9HMldCCQkJMTgK PiArI2RlZmluZSBCSVRfRkFTVF9JTlRSX1NUQVRfRzJXQl9FUlIJCTE5Cj4gKyNkZWZpbmUgQklU X0ZBU1RfSU5UUl9TVEFUX0RJU0MJCQkyOAo+ICsjZGVmaW5lIEJJVF9GQVNUX0lOVFJfU1RBVF9C TE9DSwkJMzAKPiArI2RlZmluZSBCSVRfRkFTVF9JTlRSX1NUQVRfTFRSTgkJCTMxCj4gKyNkZWZp bmUgQklUX0ZBU1RfSU5UUl9TVEFUX0hEQ1AyCQkzMgo+ICsjZGVmaW5lIEJJVF9GQVNUX0lOVFJf U1RBVF9URE0JCQk0Mgo+ICsjZGVmaW5lIEJJVF9GQVNUX0lOVFJfU1RBVF9DT0MJCQk1MQo+ICsK PiArLyogR1BJTyBDb250cm9sLCBkZWZhdWx0IHZhbHVlOiAweDE1ICovCj4gKyNkZWZpbmUgUkVH X0dQSU9fQ1RSTDEJCQkJMHgwMDZlCj4gKyNkZWZpbmUgQklUX0NUUkwxX0dQSU9fSV84CQkJQklU KDUpCj4gKyNkZWZpbmUgQklUX0NUUkwxX0dQSU9fT0VOXzgJCQlCSVQoNCkKPiArI2RlZmluZSBC SVRfQ1RSTDFfR1BJT19JXzcJCQlCSVQoMykKPiArI2RlZmluZSBCSVRfQ1RSTDFfR1BJT19PRU5f NwkJCUJJVCgyKQo+ICsjZGVmaW5lIEJJVF9DVFJMMV9HUElPX0lfNgkJCUJJVCgxKQo+ICsjZGVm aW5lIEJJVF9DVFJMMV9HUElPX09FTl82CQkJQklUKDApCj4gKwo+ICsvKiBJbnRlcnJ1cHQgQ29u dHJvbCwgZGVmYXVsdCB2YWx1ZTogMHgwNiAqLwo+ICsjZGVmaW5lIFJFR19JTlRfQ1RSTAkJCQkw eDAwNmYKPiArI2RlZmluZSBCSVRfSU5UX0NUUkxfU09GVFdBUkVfV1AJCUJJVCg3KQo+ICsjZGVm aW5lIEJJVF9JTlRfQ1RSTF9JTlRSX09ECQkJQklUKDIpCj4gKyNkZWZpbmUgQklUX0lOVF9DVFJM X0lOVFJfUE9MQVJJVFkJCUJJVCgxKQo+ICsKPiArLyogSW50ZXJydXB0IFN0YXRlLCBkZWZhdWx0 IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0lOVFJfU1RBVEUJCQkJMHgwMDcwCj4gKyNk ZWZpbmUgQklUX0lOVFJfU1RBVEVfSU5UUl9TVEFURQkJQklUKDApCj4gKwo+ICsvKiBJbnRlcnJ1 cHQgU291cmNlICMxLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0lOVFIx CQkJCTB4MDA3MQo+ICsKPiArLyogSW50ZXJydXB0IFNvdXJjZSAjMiwgZGVmYXVsdCB2YWx1ZTog MHgwMCAqLwo+ICsjZGVmaW5lIFJFR19JTlRSMgkJCQkweDAwNzIKPiArCj4gKy8qIEludGVycnVw dCBTb3VyY2UgIzMsIGRlZmF1bHQgdmFsdWU6IDB4MDEgKi8KPiArI2RlZmluZSBSRUdfSU5UUjMJ CQkJMHgwMDczCj4gKyNkZWZpbmUgQklUX0REQ19DTURfRE9ORQkJCUJJVCgzKQo+ICsKPiArLyog SW50ZXJydXB0IFNvdXJjZSAjNSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJF R19JTlRSNQkJCQkweDAwNzQKPiArCj4gKy8qIEludGVycnVwdCAjMSBNYXNrLCBkZWZhdWx0IHZh bHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0lOVFIxX01BU0sJCQkJMHgwMDc1Cj4gKwo+ICsv KiBJbnRlcnJ1cHQgIzIgTWFzaywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJF R19JTlRSMl9NQVNLCQkJCTB4MDA3Ngo+ICsKPiArLyogSW50ZXJydXB0ICMzIE1hc2ssIGRlZmF1 bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfSU5UUjNfTUFTSwkJCQkweDAwNzcKPiAr Cj4gKy8qIEludGVycnVwdCAjNSBNYXNrLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZp bmUgUkVHX0lOVFI1X01BU0sJCQkJMHgwMDc4Cj4gKyNkZWZpbmUgQklUX0lOVFJfU0NEVF9DSEFO R0UJCQlCSVQoMCkKPiArCj4gKy8qIEhvdCBQbHVnIENvbm5lY3Rpb24gQ29udHJvbCwgZGVmYXVs dCB2YWx1ZTogMHg0NSAqLwo+ICsjZGVmaW5lIFJFR19IUERfQ1RSTAkJCQkweDAwNzkKPiArI2Rl ZmluZSBCSVRfSFBEX0NUUkxfSFBEX0RTX1NJR05BTAkJQklUKDcpCj4gKyNkZWZpbmUgQklUX0hQ RF9DVFJMX0hQRF9PVVRfT0RfRU4JCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9IUERfQ1RSTF9IUERf SElHSAkJCUJJVCg1KQo+ICsjZGVmaW5lIEJJVF9IUERfQ1RSTF9IUERfT1VUX09WUl9FTgkJQklU KDQpCj4gKyNkZWZpbmUgQklUX0hQRF9DVFJMX0dQSU9fSV8xCQkJQklUKDMpCj4gKyNkZWZpbmUg QklUX0hQRF9DVFJMX0dQSU9fT0VOXzEJCQlCSVQoMikKPiArI2RlZmluZSBCSVRfSFBEX0NUUkxf R1BJT19JXzAJCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfSFBEX0NUUkxfR1BJT19PRU5fMAkJCUJJ VCgwKQo+ICsKPiArLyogR1BJTyBDb250cm9sLCBkZWZhdWx0IHZhbHVlOiAweDU1ICovCj4gKyNk ZWZpbmUgUkVHX0dQSU9fQ1RSTAkJCQkweDAwN2EKPiArI2RlZmluZSBCSVRfQ1RSTF9HUElPX0lf NQkJCUJJVCg3KQo+ICsjZGVmaW5lIEJJVF9DVFJMX0dQSU9fT0VOXzUJCQlCSVQoNikKPiArI2Rl ZmluZSBCSVRfQ1RSTF9HUElPX0lfNAkJCUJJVCg1KQo+ICsjZGVmaW5lIEJJVF9DVFJMX0dQSU9f T0VOXzQJCQlCSVQoNCkKPiArI2RlZmluZSBCSVRfQ1RSTF9HUElPX0lfMwkJCUJJVCgzKQo+ICsj ZGVmaW5lIEJJVF9DVFJMX0dQSU9fT0VOXzMJCQlCSVQoMikKPiArI2RlZmluZSBCSVRfQ1RSTF9H UElPX0lfMgkJCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9DVFJMX0dQSU9fT0VOXzIJCQlCSVQoMCkK PiArCj4gKy8qIEludGVycnVwdCBTb3VyY2UgNywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsj ZGVmaW5lIFJFR19JTlRSNwkJCQkweDAwN2IKPiArCj4gKy8qIEludGVycnVwdCBTb3VyY2UgOCwg ZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19JTlRSOAkJCQkweDAwN2MKPiAr Cj4gKy8qIEludGVycnVwdCAjNyBNYXNrLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZp bmUgUkVHX0lOVFI3X01BU0sJCQkJMHgwMDdkCj4gKwo+ICsvKiBJbnRlcnJ1cHQgIzggTWFzaywg ZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19JTlRSOF9NQVNLCQkJCTB4MDA3 ZQo+ICsjZGVmaW5lIEJJVF9DRUFfTkVXX1ZTSQkJCQlCSVQoMikKPiArI2RlZmluZSBCSVRfQ0VB X05FV19BVkkJCQkJQklUKDEpCj4gKwo+ICsvKiBJRUVFLCBkZWZhdWx0IHZhbHVlOiAweDEwICov Cj4gKyNkZWZpbmUgUkVHX1RNRFNfQ0NUUkwJCQkJMHgwMDgwCj4gKyNkZWZpbmUgQklUX1RNRFNf Q0NUUkxfVE1EU19PRQkJCUJJVCg0KQo+ICsKPiArLyogVE1EUyBDb250cm9sICM0LCBkZWZhdWx0 IHZhbHVlOiAweDAyICovCj4gKyNkZWZpbmUgUkVHX1RNRFNfQ1RSTDQJCQkJMHgwMDg1Cj4gKyNk ZWZpbmUgQklUX1RNRFNfQ1RSTDRfU0NEVF9DS0RUX1NFTAkJQklUKDEpCj4gKyNkZWZpbmUgQklU X1RNRFNfQ1RSTDRfVFhfRU5fQllfU0NEVAkJQklUKDApCj4gKwo+ICsvKiBCSVNUIENOVEwsIGRl ZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfQklTVF9DVFJMCQkJCTB4MDBiYgo+ ICsjZGVmaW5lIEJJVF9SWEJJU1RfVkdCX0VOCQkJQklUKDcpCj4gKyNkZWZpbmUgQklUX1RYQklT VF9WR0JfRU4JCQlCSVQoNikKPiArI2RlZmluZSBCSVRfQklTVF9TVEFSVF9TRUwJCQlCSVQoNSkK PiArI2RlZmluZSBCSVRfQklTVF9TVEFSVF9CSVQJCQlCSVQoNCkKPiArI2RlZmluZSBCSVRfQklT VF9BTFdBWVNfT04JCQlCSVQoMykKPiArI2RlZmluZSBCSVRfQklTVF9UUkFOUwkJCQlCSVQoMikK PiArI2RlZmluZSBCSVRfQklTVF9SRVNFVAkJCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfQklTVF9F TgkJCQlCSVQoMCkKPiArCj4gKy8qIEJJU1QgRFVSQVRJT04wLCBkZWZhdWx0IHZhbHVlOiAweDAw ICovCj4gKyNkZWZpbmUgUkVHX0JJU1RfVEVTVF9TRUwJCQkweDAwYmQKPiArI2RlZmluZSBNU0tf QklTVF9URVNUX1NFTF9CSVNUX1BBVFRfU0VMCQkweDBmCj4gKwo+ICsvKiBCSVNUIFZJREVPX01P REUsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfQklTVF9WSURFT19NT0RF CQkJMHgwMGJlCj4gKyNkZWZpbmUgTVNLX0JJU1RfVklERU9fTU9ERV9CSVNUX1ZJREVPX01PREVf M18wCTB4MGYKPiArCj4gKy8qIEJJU1QgRFVSQVRJT04wLCBkZWZhdWx0IHZhbHVlOiAweDAwICov Cj4gKyNkZWZpbmUgUkVHX0JJU1RfRFVSQVRJT05fMAkJCTB4MDBiZgo+ICsKPiArLyogQklTVCBE VVJBVElPTjEsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfQklTVF9EVVJB VElPTl8xCQkJMHgwMGMwCj4gKwo+ICsvKiBCSVNUIERVUkFUSU9OMiwgZGVmYXVsdCB2YWx1ZTog MHgwMCAqLwo+ICsjZGVmaW5lIFJFR19CSVNUX0RVUkFUSU9OXzIJCQkweDAwYzEKPiArCj4gKy8q IEJJU1QgOEJJVF9QQVRURVJOLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVH X0JJU1RfOEJJVF9QQVRURVJOCQkJMHgwMGMyCj4gKwo+ICsvKiBMTSBEREMsIGRlZmF1bHQgdmFs dWU6IDB4ODAgKi8KPiArI2RlZmluZSBSRUdfTE1fRERDCQkJCTB4MDBjNwo+ICsjZGVmaW5lIEJJ VF9MTV9ERENfU1dfVFBJX0VOX0RJU0FCTEVECQlCSVQoNykKPiArCj4gKyNkZWZpbmUgQklUX0xN X0REQ19WSURFT19NVVRFX0VOCQlCSVQoNSkKPiArI2RlZmluZSBCSVRfTE1fRERDX0REQ19UUElf U1cJCQlCSVQoMikKPiArI2RlZmluZSBCSVRfTE1fRERDX0REQ19HUkFOVAkJCUJJVCgxKQo+ICsj ZGVmaW5lIEJJVF9MTV9ERENfRERDX0dQVV9SRVFVRVNUCQlCSVQoMCkKPiArCj4gKy8qIEREQyBJ MkMgTWFudWFsLCBkZWZhdWx0IHZhbHVlOiAweDAzICovCj4gKyNkZWZpbmUgUkVHX0REQ19NQU5V QUwJCQkJMHgwMGVjCj4gKyNkZWZpbmUgQklUX0REQ19NQU5VQUxfTUFOX0REQwkJCUJJVCg3KQo+ ICsjZGVmaW5lIEJJVF9ERENfTUFOVUFMX1ZQX1NFTAkJCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9E RENfTUFOVUFMX0RTREEJCQlCSVQoNSkKPiArI2RlZmluZSBCSVRfRERDX01BTlVBTF9EU0NMCQkJ QklUKDQpCj4gKyNkZWZpbmUgQklUX0REQ19NQU5VQUxfR0NQX0hXX0NUTF9FTgkJQklUKDMpCj4g KyNkZWZpbmUgQklUX0REQ19NQU5VQUxfRERDTV9BQk9SVF9XUAkJQklUKDIpCj4gKyNkZWZpbmUg QklUX0REQ19NQU5VQUxfSU9fRFNEQQkJCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9ERENfTUFOVUFM X0lPX0RTQ0wJCQlCSVQoMCkKPiArCj4gKy8qIEREQyBJMkMgVGFyZ2V0IFNsYXZlIEFkZHJlc3Ms IGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfRERDX0FERFIJCQkJMHgwMGVk Cj4gKyNkZWZpbmUgTVNLX0REQ19BRERSX0REQ19BRERSCQkJMHhmZQo+ICsKPiArLyogRERDIEky QyBUYXJnZXQgU2VnbWVudCBBZGRyZXNzLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZp bmUgUkVHX0REQ19TRUdNCQkJCTB4MDBlZQo+ICsKPiArLyogRERDIEkyQyBUYXJnZXQgT2Zmc2V0 IEFkZHJlc3MsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfRERDX09GRlNF VAkJCQkweDAwZWYKPiArCj4gKy8qIEREQyBJMkMgRGF0YSBJbiBjb3VudCAjMSwgZGVmYXVsdCB2 YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19ERENfRElOX0NOVDEJCQkweDAwZjAKPiArCj4g Ky8qIEREQyBJMkMgRGF0YSBJbiBjb3VudCAjMiwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsj ZGVmaW5lIFJFR19ERENfRElOX0NOVDIJCQkweDAwZjEKPiArI2RlZmluZSBNU0tfRERDX0RJTl9D TlQyX0REQ19ESU5fQ05UXzlfOAkweDAzCj4gKwo+ICsvKiBEREMgSTJDIFN0YXR1cywgZGVmYXVs dCB2YWx1ZTogMHgwNCAqLwo+ICsjZGVmaW5lIFJFR19ERENfU1RBVFVTCQkJCTB4MDBmMgo+ICsj ZGVmaW5lIEJJVF9ERENfU1RBVFVTX0REQ19CVVNfTE9XCQlCSVQoNikKPiArI2RlZmluZSBCSVRf RERDX1NUQVRVU19ERENfTk9fQUNLCQlCSVQoNSkKPiArI2RlZmluZSBCSVRfRERDX1NUQVRVU19E RENfSTJDX0lOX1BST0cJCUJJVCg0KQo+ICsjZGVmaW5lIEJJVF9ERENfU1RBVFVTX0REQ19GSUZP X0ZVTEwJCUJJVCgzKQo+ICsjZGVmaW5lIEJJVF9ERENfU1RBVFVTX0REQ19GSUZPX0VNUFRZCQlC SVQoMikKPiArI2RlZmluZSBCSVRfRERDX1NUQVRVU19ERENfRklGT19SRUFEX0lOX1NVRQlCSVQo MSkKPiArI2RlZmluZSBCSVRfRERDX1NUQVRVU19ERENfRklGT19XUklURV9JTl9VU0UJQklUKDAp Cj4gKwo+ICsvKiBEREMgSTJDIENvbW1hbmQsIGRlZmF1bHQgdmFsdWU6IDB4NzAgKi8KPiArI2Rl ZmluZSBSRUdfRERDX0NNRAkJCQkweDAwZjMKPiArI2RlZmluZSBCSVRfRERDX0NNRF9IRENQX0RE Q19FTgkJCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9ERENfQ01EX1NEQV9ERUxfRU4JCQlCSVQoNSkK PiArI2RlZmluZSBCSVRfRERDX0NNRF9ERENfRkxUX0VOCQkJQklUKDQpCj4gKwo+ICsjZGVmaW5l IE1TS19ERENfQ01EX0REQ19DTUQJCQkweDBmCj4gKyNkZWZpbmUgVkFMX0REQ19DTURfRU5IX0RE Q19SRUFEX05PX0FDSwkJMHgwNAo+ICsjZGVmaW5lIFZBTF9ERENfQ01EX0REQ19DTURfQ0xFQVJf RklGTwkJMHgwOQo+ICsjZGVmaW5lIFZBTF9ERENfQ01EX0REQ19DTURfQUJPUlQJCTB4MGYKPiAr Cj4gKy8qIEREQyBJMkMgRklGTyBEYXRhIEluL091dCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ ICsjZGVmaW5lIFJFR19ERENfREFUQQkJCQkweDAwZjQKPiArCj4gKy8qIEREQyBJMkMgRGF0YSBP dXQgQ291bnRlciwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19ERENfRE9V VF9DTlQJCQkweDAwZjUKPiArI2RlZmluZSBCSVRfRERDX0RPVVRfQ05UX0REQ19ERUxBWV9DTlRf OAlCSVQoNykKPiArI2RlZmluZSBNU0tfRERDX0RPVVRfQ05UX0REQ19EQVRBX09VVF9DTlQJMHgx Zgo+ICsKPiArLyogRERDIEkyQyBEZWxheSBDb3VudCwgZGVmYXVsdCB2YWx1ZTogMHgxNCAqLwo+ ICsjZGVmaW5lIFJFR19ERENfREVMQVlfQ05UCQkJMHgwMGY2Cj4gKwo+ICsvKiBUZXN0IENvbnRy b2wsIGRlZmF1bHQgdmFsdWU6IDB4ODAgKi8KPiArI2RlZmluZSBSRUdfVEVTVF9UWENUUkwJCQkJ MHgwMGY3Cj4gKyNkZWZpbmUgQklUX1RFU1RfVFhDVFJMX1JDTEtfUkVGX1NFTAkJQklUKDcpCj4g KyNkZWZpbmUgQklUX1RFU1RfVFhDVFJMX1BDTEtfUkVGX1NFTAkJQklUKDYpCj4gKyNkZWZpbmUg TVNLX1RFU1RfVFhDVFJMX0JZUEFTU19QTExfQ0xLCQkweDNjCj4gKyNkZWZpbmUgQklUX1RFU1Rf VFhDVFJMX0hETUlfTU9ERQkJQklUKDEpCj4gKyNkZWZpbmUgQklUX1RFU1RfVFhDVFJMX1RTVF9Q TExDSwkJQklUKDApCj4gKwo+ICsvKiBDQlVTIEFkZHJlc3MsIGRlZmF1bHQgdmFsdWU6IDB4MDAg Ki8KPiArI2RlZmluZSBSRUdfUEFHRV9DQlVTX0FERFIJCQkweDAwZjgKPiArCj4gKy8qIEkyQyBE ZXZpY2UgQWRkcmVzcyByZS1hc3NpZ25tZW50ICovCj4gKyNkZWZpbmUgUkVHX1BBR0UxX0FERFIJ CQkJMHgwMGZjCj4gKyNkZWZpbmUgUkVHX1BBR0UyX0FERFIJCQkJMHgwMGZkCj4gKyNkZWZpbmUg UkVHX1BBR0UzX0FERFIJCQkJMHgwMGZlCj4gKyNkZWZpbmUgUkVHX0hXX1RQSV9BRERSCQkJCTB4 MDBmZgo+ICsKPiArLyogVVNCVCBDVFJMMCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVm aW5lIFJFR19VVFNSU1QJCQkJMHgwMTAwCj4gKyNkZWZpbmUgQklUX1VUU1JTVF9GQ19TUlNUCQkJ QklUKDUpCj4gKyNkZWZpbmUgQklUX1VUU1JTVF9LRUVQRVJfU1JTVAkJCUJJVCg0KQo+ICsjZGVm aW5lIEJJVF9VVFNSU1RfSFRYX1NSU1QJCQlCSVQoMykKPiArI2RlZmluZSBCSVRfVVRTUlNUX1RS WF9TUlNUCQkJQklUKDIpCj4gKyNkZWZpbmUgQklUX1VUU1JTVF9UVFhfU1JTVAkJCUJJVCgxKQo+ ICsjZGVmaW5lIEJJVF9VVFNSU1RfSFJYX1NSU1QJCQlCSVQoMCkKPiArCj4gKy8qIEhTSUMgUlgg Q29udHJvbDMsIGRlZmF1bHQgdmFsdWU6IDB4MDcgKi8KPiArI2RlZmluZSBSRUdfSFJYQ1RSTDMJ CQkJMHgwMTA0Cj4gKyNkZWZpbmUgTVNLX0hSWENUUkwzX0hSWF9BRkZDVFJMCQkweGYwCj4gKyNk ZWZpbmUgQklUX0hSWENUUkwzX0hSWF9PVVRfRU4JCQlCSVQoMikKPiArI2RlZmluZSBCSVRfSFJY Q1RSTDNfU1RBVFVTX0VOCQkJQklUKDEpCj4gKyNkZWZpbmUgQklUX0hSWENUUkwzX0hSWF9TVEFZ X1JFU0VUCQlCSVQoMCkKPiArCj4gKy8qIEhTSUMgUlggSU5UIFJlZ2lzdGVycyAqLwo+ICsjZGVm aW5lIFJFR19IUlhJTlRMCQkJCTB4MDExMQo+ICsjZGVmaW5lIFJFR19IUlhJTlRICQkJCTB4MDEx Mgo+ICsKPiArLyogVERNIFRYIE5VTUJJVFMsIGRlZmF1bHQgdmFsdWU6IDB4MGMgKi8KPiArI2Rl ZmluZSBSRUdfVFRYTlVNQgkJCQkweDAxMTYKPiArI2RlZmluZSBNU0tfVFRYTlVNQl9UVFhfQUZG Q1RSTF8zXzAJCTB4ZjAKPiArI2RlZmluZSBCSVRfVFRYTlVNQl9UVFhfQ09NMV9BVF9TWU5DX1dB SVQJQklUKDMpCj4gKyNkZWZpbmUgTVNLX1RUWE5VTUJfVFRYX05VTUJQU18yXzAJCTB4MDcKPiAr Cj4gKy8qIFRETSBUWCBOVU1TUElTWU0sIGRlZmF1bHQgdmFsdWU6IDB4MDQgKi8KPiArI2RlZmlu ZSBSRUdfVFRYU1BJTlVNUwkJCQkweDAxMTcKPiArCj4gKy8qIFRETSBUWCBOVU1IU0lDU1lNLCBk ZWZhdWx0IHZhbHVlOiAweDE0ICovCj4gKyNkZWZpbmUgUkVHX1RUWEhTSUNOVU1TCQkJCTB4MDEx OAo+ICsKPiArLyogVERNIFRYIE5VTVRPVFNZTSwgZGVmYXVsdCB2YWx1ZTogMHgxOCAqLwo+ICsj ZGVmaW5lIFJFR19UVFhUT1ROVU1TCQkJCTB4MDExOQo+ICsKPiArLyogVERNIFRYIElOVCBMb3cs IGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVFRYSU5UTAkJCQkweDAxMzYK PiArI2RlZmluZSBCSVRfVFRYSU5UTF9UVFhfSU5UUjcJCQlCSVQoNykKPiArI2RlZmluZSBCSVRf VFRYSU5UTF9UVFhfSU5UUjYJCQlCSVQoNikKPiArI2RlZmluZSBCSVRfVFRYSU5UTF9UVFhfSU5U UjUJCQlCSVQoNSkKPiArI2RlZmluZSBCSVRfVFRYSU5UTF9UVFhfSU5UUjQJCQlCSVQoNCkKPiAr I2RlZmluZSBCSVRfVFRYSU5UTF9UVFhfSU5UUjMJCQlCSVQoMykKPiArI2RlZmluZSBCSVRfVFRY SU5UTF9UVFhfSU5UUjIJCQlCSVQoMikKPiArI2RlZmluZSBCSVRfVFRYSU5UTF9UVFhfSU5UUjEJ CQlCSVQoMSkKPiArI2RlZmluZSBCSVRfVFRYSU5UTF9UVFhfSU5UUjAJCQlCSVQoMCkKPiArCj4g Ky8qIFRETSBUWCBJTlQgSGlnaCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJF R19UVFhJTlRICQkJCTB4MDEzNwo+ICsjZGVmaW5lIEJJVF9UVFhJTlRIX1RUWF9JTlRSMTUJCQlC SVQoNykKPiArI2RlZmluZSBCSVRfVFRYSU5USF9UVFhfSU5UUjE0CQkJQklUKDYpCj4gKyNkZWZp bmUgQklUX1RUWElOVEhfVFRYX0lOVFIxMwkJCUJJVCg1KQo+ICsjZGVmaW5lIEJJVF9UVFhJTlRI X1RUWF9JTlRSMTIJCQlCSVQoNCkKPiArI2RlZmluZSBCSVRfVFRYSU5USF9UVFhfSU5UUjExCQkJ QklUKDMpCj4gKyNkZWZpbmUgQklUX1RUWElOVEhfVFRYX0lOVFIxMAkJCUJJVCgyKQo+ICsjZGVm aW5lIEJJVF9UVFhJTlRIX1RUWF9JTlRSOQkJCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9UVFhJTlRI X1RUWF9JTlRSOAkJCUJJVCgwKQo+ICsKPiArLyogVERNIFJYIENvbnRyb2wsIGRlZmF1bHQgdmFs dWU6IDB4MWMgKi8KPiArI2RlZmluZSBSRUdfVFJYQ1RSTAkJCQkweDAxM2IKPiArI2RlZmluZSBC SVRfVFJYQ1RSTF9UUlhfQ0xSX1dWQUxMT1cJCUJJVCg0KQo+ICsjZGVmaW5lIEJJVF9UUlhDVFJM X1RSWF9GUk9NX1NFX0NPQwkJQklUKDMpCj4gKyNkZWZpbmUgTVNLX1RSWENUUkxfVFJYX05VTUJQ U18yXzAJCTB4MDcKPiArCj4gKy8qIFRETSBSWCBOVU1TUElTWU0sIGRlZmF1bHQgdmFsdWU6IDB4 MDQgKi8KPiArI2RlZmluZSBSRUdfVFJYU1BJTlVNUwkJCQkweDAxM2MKPiArCj4gKy8qIFRETSBS WCBOVU1IU0lDU1lNLCBkZWZhdWx0IHZhbHVlOiAweDE0ICovCj4gKyNkZWZpbmUgUkVHX1RSWEhT SUNOVU1TCQkJCTB4MDEzZAo+ICsKPiArLyogVERNIFJYIE5VTVRPVFNZTSwgZGVmYXVsdCB2YWx1 ZTogMHgxOCAqLwo+ICsjZGVmaW5lIFJFR19UUlhUT1ROVU1TCQkJCTB4MDEzZQo+ICsKPiArLyog VERNIFJYIFN0YXR1cyAybmQsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdf VFJYU1RBMgkJCQkweDAxNWMKPiArCj4gKy8qIFRETSBSWCBJTlQgTG93LCBkZWZhdWx0IHZhbHVl OiAweDAwICovCj4gKyNkZWZpbmUgUkVHX1RSWElOVEwJCQkJMHgwMTYzCj4gKwo+ICsvKiBURE0g UlggSU5UIEhpZ2gsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVFJYSU5U SAkJCQkweDAxNjQKPiArCj4gKy8qIFRETSBSWCBJTlRNQVNLIEhpZ2gsIGRlZmF1bHQgdmFsdWU6 IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVFJYSU5UTUgJCQkJMHgwMTY2Cj4gKwo+ICsvKiBIU0lD IFRYIENSVEwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfSFRYQ1RSTAkJ CQkweDAxNjkKPiArI2RlZmluZSBCSVRfSFRYQ1RSTF9IVFhfQUxMU0JFX1NPUAkJQklUKDQpCj4g KyNkZWZpbmUgQklUX0hUWENUUkxfSFRYX1JHRElOVl9VU0IJCUJJVCgzKQo+ICsjZGVmaW5lIEJJ VF9IVFhDVFJMX0hUWF9SU1BURE1fQlVTWQkJQklUKDIpCj4gKyNkZWZpbmUgQklUX0hUWENUUkxf SFRYX0RSVkNPTk4xCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfSFRYQ1RSTF9IVFhfRFJWUlNUMQkJ CUJJVCgwKQo+ICsKPiArLyogSFNJQyBUWCBJTlQgTG93LCBkZWZhdWx0IHZhbHVlOiAweDAwICov Cj4gKyNkZWZpbmUgUkVHX0hUWElOVEwJCQkJMHgwMTdkCj4gKwo+ICsvKiBIU0lDIFRYIElOVCBI aWdoLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0hUWElOVEgJCQkJMHgw MTdlCj4gKwo+ICsvKiBIU0lDIEtlZXBlciwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVm aW5lIFJFR19LRUVQRVIJCQkJMHgwMTgxCj4gKyNkZWZpbmUgTVNLX0tFRVBFUl9LRUVQRVJfTU9E RV8xXzAJCTB4MDMKPiArCj4gKy8qIEhTSUMgRmxvdyBDb250cm9sIEdlbmVyYWwsIGRlZmF1bHQg dmFsdWU6IDB4MDIgKi8KPiArI2RlZmluZSBSRUdfRkNHQwkJCQkweDAxODMKPiArI2RlZmluZSBC SVRfRkNHQ19IU0lDX0ZDX0hPU1RNT0RFCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfRkNHQ19IU0lD X0ZDX0VOQUJMRQkJCUJJVCgwKQo+ICsKPiArLyogSFNJQyBGbG93IENvbnRyb2wgQ1RSMTMsIGRl ZmF1bHQgdmFsdWU6IDB4ZmMgKi8KPiArI2RlZmluZSBSRUdfRkNDVFIxMwkJCQkweDAxOTEKPiAr Cj4gKy8qIEhTSUMgRmxvdyBDb250cm9sIENUUjE0LCBkZWZhdWx0IHZhbHVlOiAweGZmICovCj4g KyNkZWZpbmUgUkVHX0ZDQ1RSMTQJCQkJMHgwMTkyCj4gKwo+ICsvKiBIU0lDIEZsb3cgQ29udHJv bCBDVFIxNSwgZGVmYXVsdCB2YWx1ZTogMHhmZiAqLwo+ICsjZGVmaW5lIFJFR19GQ0NUUjE1CQkJ CTB4MDE5Mwo+ICsKPiArLyogSFNJQyBGbG93IENvbnRyb2wgQ1RSNTAsIGRlZmF1bHQgdmFsdWU6 IDB4MDMgKi8KPiArI2RlZmluZSBSRUdfRkNDVFI1MAkJCQkweDAxYjYKPiArCj4gKy8qIEhTSUMg RmxvdyBDb250cm9sIElOVFIwLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVH X0ZDSU5UUjAJCQkJMHgwMWVjCj4gKyNkZWZpbmUgUkVHX0ZDSU5UUjEJCQkJMHgwMWVkCj4gKyNk ZWZpbmUgUkVHX0ZDSU5UUjIJCQkJMHgwMWVlCj4gKyNkZWZpbmUgUkVHX0ZDSU5UUjMJCQkJMHgw MWVmCj4gKyNkZWZpbmUgUkVHX0ZDSU5UUjQJCQkJMHgwMWYwCj4gKyNkZWZpbmUgUkVHX0ZDSU5U UjUJCQkJMHgwMWYxCj4gKyNkZWZpbmUgUkVHX0ZDSU5UUjYJCQkJMHgwMWYyCj4gKyNkZWZpbmUg UkVHX0ZDSU5UUjcJCQkJMHgwMWYzCj4gKwo+ICsvKiBURE0gTG93IExhdGVuY3ksIGRlZmF1bHQg dmFsdWU6IDB4MjAgKi8KPiArI2RlZmluZSBSRUdfVERNTExDVEwJCQkJMHgwMWZjCj4gKyNkZWZp bmUgTVNLX1RETUxMQ1RMX1RSWF9MTF9TRUxfTUFOVUFMCQkweGMwCj4gKyNkZWZpbmUgTVNLX1RE TUxMQ1RMX1RSWF9MTF9TRUxfTU9ERQkJMHgzMAo+ICsjZGVmaW5lIE1TS19URE1MTENUTF9UVFhf TExfU0VMX01BTlVBTAkJMHgwYwo+ICsjZGVmaW5lIEJJVF9URE1MTENUTF9UVFhfTExfVElFX0xP VwkJQklUKDEpCj4gKyNkZWZpbmUgQklUX1RETUxMQ1RMX1RUWF9MTF9TRUxfTU9ERQkJQklUKDAp Cj4gKwo+ICsvKiBUTURTIDAgQ2xvY2sgQ29udHJvbCwgZGVmYXVsdCB2YWx1ZTogMHgxMCAqLwo+ ICsjZGVmaW5lIFJFR19UTURTMF9DQ1RSTDEJCQkweDAyMTAKPiArI2RlZmluZSBNU0tfVE1EUzBf Q0NUUkwxX1RFU1RfU0VMCQkweGMwCj4gKyNkZWZpbmUgTVNLX1RNRFMwX0NDVFJMMV9DTEsxWF9D VEwJCTB4MzAKPiArCj4gKy8qIFRNRFMgQ2xvY2sgRW5hYmxlLCBkZWZhdWx0IHZhbHVlOiAweDAw ICovCj4gKyNkZWZpbmUgUkVHX1RNRFNfQ0xLX0VOCQkJCTB4MDIxMQo+ICsjZGVmaW5lIEJJVF9U TURTX0NMS19FTl9DTEtfRU4JCQlCSVQoMCkKPiArCj4gKy8qIFRNRFMgQ2hhbm5lbCBFbmFibGUs IGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVE1EU19DSF9FTgkJCQkweDAy MTIKPiArI2RlZmluZSBCSVRfVE1EU19DSF9FTl9DSDBfRU4JCQlCSVQoNCkKPiArI2RlZmluZSBC SVRfVE1EU19DSF9FTl9DSDEyX0VOCQkJQklUKDApCj4gKwo+ICsvKiBCR1JfQklBUywgZGVmYXVs dCB2YWx1ZTogMHgwNyAqLwo+ICsjZGVmaW5lIFJFR19CR1JfQklBUwkJCQkweDAyMTUKPiArI2Rl ZmluZSBCSVRfQkdSX0JJQVNfQkdSX0VOCQkJQklUKDcpCj4gKyNkZWZpbmUgTVNLX0JHUl9CSUFT X0JJQVNfQkdSX0QJCQkweDBmCj4gKwo+ICsvKiBUTURTIDAgRGlnaXRhbCBJMkMgQlcsIGRlZmF1 bHQgdmFsdWU6IDB4MGEgKi8KPiArI2RlZmluZSBSRUdfQUxJQ0UwX0JXX0kyQwkJCTB4MDIzMQo+ ICsKPiArLyogVE1EUyAwIERpZ2l0YWwgWm9uZSBDb250cm9sLCBkZWZhdWx0IHZhbHVlOiAweGUw ICovCj4gKyNkZWZpbmUgUkVHX0FMSUNFMF9aT05FX0NUUkwJCQkweDAyNGMKPiArI2RlZmluZSBC SVRfQUxJQ0UwX1pPTkVfQ1RSTF9JQ1JTVF9OCQlCSVQoNykKPiArI2RlZmluZSBCSVRfQUxJQ0Uw X1pPTkVfQ1RSTF9VU0VfSU5UX0RJVjIwCUJJVCg2KQo+ICsjZGVmaW5lIE1TS19BTElDRTBfWk9O RV9DVFJMX1NaT05FX0kyQwkJMHgzMAo+ICsjZGVmaW5lIE1TS19BTElDRTBfWk9ORV9DVFJMX1pP TkVfQ1RSTAkJMHgwZgo+ICsKPiArLyogVE1EUyAwIERpZ2l0YWwgUExMIE1vZGUgQ29udHJvbCwg ZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19BTElDRTBfTU9ERV9DVFJMCQkJ MHgwMjRkCj4gKyNkZWZpbmUgTVNLX0FMSUNFMF9NT0RFX0NUUkxfUExMX01PREVfSTJDCTB4MGMK PiArI2RlZmluZSBNU0tfQUxJQ0UwX01PREVfQ1RSTF9ESVYyMF9DVFJMCQkweDAzCj4gKwo+ICsv KiBNSEwgVHggQ29udHJvbCA2dGgsIGRlZmF1bHQgdmFsdWU6IDB4YTAgKi8KPiArI2RlZmluZSBS RUdfTUhMVFhfQ1RMNgkJCQkweDAyODUKPiArI2RlZmluZSBNU0tfTUhMVFhfQ1RMNl9FTUlfU0VM CQkJMHhlMAo+ICsjZGVmaW5lIE1TS19NSExUWF9DVEw2X1RYX0NMS19TSEFQRV85XzgJCTB4MDMK PiArCj4gKy8qIFBhY2tldCBGaWx0ZXIwLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZp bmUgUkVHX1BLVF9GSUxURVJfMAkJCTB4MDI5MAo+ICsjZGVmaW5lIEJJVF9QS1RfRklMVEVSXzBf RFJPUF9DRUFfR0FNVVRfUEtUCUJJVCg3KQo+ICsjZGVmaW5lIEJJVF9QS1RfRklMVEVSXzBfRFJP UF9DRUFfQ1BfUEtUCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9QS1RfRklMVEVSXzBfRFJPUF9NUEVH X1BLVAkJQklUKDUpCj4gKyNkZWZpbmUgQklUX1BLVF9GSUxURVJfMF9EUk9QX1NQSUZfUEtUCQlC SVQoNCkKPiArI2RlZmluZSBCSVRfUEtUX0ZJTFRFUl8wX0RST1BfQUlGX1BLVAkJQklUKDMpCj4g KyNkZWZpbmUgQklUX1BLVF9GSUxURVJfMF9EUk9QX0FWSV9QS1QJCUJJVCgyKQo+ICsjZGVmaW5l IEJJVF9QS1RfRklMVEVSXzBfRFJPUF9DVFNfUEtUCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfUEtU X0ZJTFRFUl8wX0RST1BfR0NQX1BLVAkJQklUKDApCj4gKwo+ICsvKiBQYWNrZXQgRmlsdGVyMSwg ZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19QS1RfRklMVEVSXzEJCQkweDAy OTEKPiArI2RlZmluZSBCSVRfUEtUX0ZJTFRFUl8xX1ZTSV9PVkVSUklERV9ESVMJQklUKDcpCj4g KyNkZWZpbmUgQklUX1BLVF9GSUxURVJfMV9BVklfT1ZFUlJJREVfRElTCUJJVCg2KQo+ICsjZGVm aW5lIEJJVF9QS1RfRklMVEVSXzFfRFJPUF9BVURJT19QS1QJCUJJVCgzKQo+ICsjZGVmaW5lIEJJ VF9QS1RfRklMVEVSXzFfRFJPUF9HRU4yX1BLVAkJQklUKDIpCj4gKyNkZWZpbmUgQklUX1BLVF9G SUxURVJfMV9EUk9QX0dFTl9QS1QJCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9QS1RfRklMVEVSXzFf RFJPUF9WU0lGX1BLVAkJQklUKDApCj4gKwo+ICsvKiBUTURTIENsb2NrIFN0YXR1cywgZGVmYXVs dCB2YWx1ZTogMHgxMCAqLwo+ICsjZGVmaW5lIFJFR19UTURTX0NTVEFUX1AzCQkJMHgwMmEwCj4g KyNkZWZpbmUgQklUX1RNRFNfQ1NUQVRfUDNfUlhfSERNSV9DUF9DTFJfTVVURQlCSVQoNykKPiAr I2RlZmluZSBCSVRfVE1EU19DU1RBVF9QM19SWF9IRE1JX0NQX1NFVF9NVVRFCUJJVCg2KQo+ICsj ZGVmaW5lIEJJVF9UTURTX0NTVEFUX1AzX1JYX0hETUlfQ1BfTkVXX0NQCUJJVCg1KQo+ICsjZGVm aW5lIEJJVF9UTURTX0NTVEFUX1AzX0NMUl9BVkkJCUJJVCgzKQo+ICsjZGVmaW5lIEJJVF9UTURT X0NTVEFUX1AzX1NDRFRfQ0xSX0FWSV9ESVMJQklUKDIpCj4gKyNkZWZpbmUgQklUX1RNRFNfQ1NU QVRfUDNfU0NEVAkJCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9UTURTX0NTVEFUX1AzX0NLRFQJCQlC SVQoMCkKPiArCj4gKy8qIFJYX0hETUkgQ29udHJvbCwgZGVmYXVsdCB2YWx1ZTogMHgxMCAqLwo+ ICsjZGVmaW5lIFJFR19SWF9IRE1JX0NUUkwwCQkJMHgwMmExCj4gKyNkZWZpbmUgQklUX1JYX0hE TUlfQ1RSTDBfQllQX0RWSUZJTFRfU1lOQwlCSVQoNSkKPiArI2RlZmluZSBCSVRfUlhfSERNSV9D VFJMMF9IRE1JX01PREVfRU5fSVRTRUxGX0NMUiBCSVQoNCkKPiArI2RlZmluZSBCSVRfUlhfSERN SV9DVFJMMF9IRE1JX01PREVfU1dfVkFMVUUJQklUKDMpCj4gKyNkZWZpbmUgQklUX1JYX0hETUlf Q1RSTDBfSERNSV9NT0RFX09WRVJXUklURQlCSVQoMikKPiArI2RlZmluZSBCSVRfUlhfSERNSV9D VFJMMF9SWF9IRE1JX0hETUlfTU9ERV9FTglCSVQoMSkKPiArI2RlZmluZSBCSVRfUlhfSERNSV9D VFJMMF9SWF9IRE1JX0hETUlfTU9ERQlCSVQoMCkKPiArCj4gKy8qIFJYX0hETUkgQ29udHJvbCwg ZGVmYXVsdCB2YWx1ZTogMHgzOCAqLwo+ICsjZGVmaW5lIFJFR19SWF9IRE1JX0NUUkwyCQkJMHgw MmEzCj4gKyNkZWZpbmUgTVNLX1JYX0hETUlfQ1RSTDJfSURMRV9DTlQJCTB4ZjAKPiArI2RlZmlu ZSBWQUxfUlhfSERNSV9DVFJMMl9JRExFX0NOVChuKQkJKChuKSA8PCA0KQo+ICsjZGVmaW5lIEJJ VF9SWF9IRE1JX0NUUkwyX1VTRV9BVl9NVVRFCQlCSVQoMykKPiArI2RlZmluZSBCSVRfUlhfSERN SV9DVFJMMl9WU0lfTU9OX1NFTF9WU0kJQklUKDApCj4gKwo+ICsvKiBSWF9IRE1JIENvbnRyb2ws IGRlZmF1bHQgdmFsdWU6IDB4MGYgKi8KPiArI2RlZmluZSBSRUdfUlhfSERNSV9DVFJMMwkJCTB4 MDJhNAo+ICsjZGVmaW5lIE1TS19SWF9IRE1JX0NUUkwzX1BQX01PREVfQ0xLX0VOCTB4MGYKPiAr Cj4gKy8qIHJ4X2hkbWkgQ2xlYXIgQnVmZmVyLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNk ZWZpbmUgUkVHX1JYX0hETUlfQ0xSX0JVRkZFUgkJCTB4MDJhYwo+ICsjZGVmaW5lIE1TS19SWF9I RE1JX0NMUl9CVUZGRVJfQUlGNFZTSV9DTVAJMHhjMAo+ICsjZGVmaW5lIEJJVF9SWF9IRE1JX0NM Ul9CVUZGRVJfVVNFX0FJRjRWU0kJQklUKDUpCj4gKyNkZWZpbmUgQklUX1JYX0hETUlfQ0xSX0JV RkZFUl9WU0lfQ0xSX1dfQVZJCUJJVCg0KQo+ICsjZGVmaW5lIEJJVF9SWF9IRE1JX0NMUl9CVUZG RVJfVlNJX0lFRUVfSURfQ0hLX0VOIEJJVCgzKQo+ICsjZGVmaW5lIEJJVF9SWF9IRE1JX0NMUl9C VUZGRVJfU1dBUF9WU0lfSUVFRV9JRAlCSVQoMikKPiArI2RlZmluZSBCSVRfUlhfSERNSV9DTFJf QlVGRkVSX0FJRl9DTFJfRU4JQklUKDEpCj4gKyNkZWZpbmUgQklUX1JYX0hETUlfQ0xSX0JVRkZF Ul9WU0lfQ0xSX0VOCUJJVCgwKQo+ICsKPiArLyogUlhfSERNSSBWU0kgSGVhZGVyMSwgZGVmYXVs dCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19SWF9IRE1JX01PTl9QS1RfSEVBREVSMQkJ MHgwMmI4Cj4gKwo+ICsvKiBSWF9IRE1JIFZTSSBNSEwgTW9uaXRvciwgZGVmYXVsdCB2YWx1ZTog MHgzYyAqLwo+ICsjZGVmaW5lIFJFR19SWF9IRE1JX1ZTSUZfTUhMX01PTgkJMHgwMmQ3Cj4gKwo+ ICsjZGVmaW5lIE1TS19SWF9IRE1JX1ZTSUZfTUhMX01PTl9SWF9IRE1JX01ITF8zRF9GT1JNQVQg MHgzYwo+ICsjZGVmaW5lIE1TS19SWF9IRE1JX1ZTSUZfTUhMX01PTl9SWF9IRE1JX01ITF9WSURf Rk9STUFUIDB4MDMKPiArCj4gKy8qIEludGVycnVwdCBTb3VyY2UgOSwgZGVmYXVsdCB2YWx1ZTog MHgwMCAqLwo+ICsjZGVmaW5lIFJFR19JTlRSOQkJCQkweDAyZTAKPiArI2RlZmluZSBCSVRfSU5U UjlfRURJRF9FUlJPUgkJCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9JTlRSOV9FRElEX0RPTkUJCQlC SVQoNSkKPiArI2RlZmluZSBCSVRfSU5UUjlfREVWQ0FQX0RPTkUJCQlCSVQoNCkKPiArCj4gKy8q IEludGVycnVwdCA5IE1hc2ssIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdf SU5UUjlfTUFTSwkJCQkweDAyZTEKPiArCj4gKy8qIFRQSSBDQlVTIFN0YXJ0LCBkZWZhdWx0IHZh bHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX1RQSV9DQlVTX1NUQVJUCQkJMHgwMmUyCj4gKyNk ZWZpbmUgQklUX1RQSV9DQlVTX1NUQVJUX1JDUF9SRVFfU1RBUlQJQklUKDcpCj4gKyNkZWZpbmUg QklUX1RQSV9DQlVTX1NUQVJUX1JDUEtfUkVQTFlfU1RBUlQJQklUKDYpCj4gKyNkZWZpbmUgQklU X1RQSV9DQlVTX1NUQVJUX1JDUEVfUkVQTFlfU1RBUlQJQklUKDUpCj4gKyNkZWZpbmUgQklUX1RQ SV9DQlVTX1NUQVJUX1BVVF9MSU5LX01PREVfU1RBUlQJQklUKDQpCj4gKyNkZWZpbmUgQklUX1RQ SV9DQlVTX1NUQVJUX1BVVF9EQ0FQQ0hHX1NUQVJUCUJJVCgzKQo+ICsjZGVmaW5lIEJJVF9UUElf Q0JVU19TVEFSVF9QVVRfRENBUFJEWV9TVEFSVAlCSVQoMikKPiArI2RlZmluZSBCSVRfVFBJX0NC VVNfU1RBUlRfR0VUX0VESURfU1RBUlRfMAlCSVQoMSkKPiArI2RlZmluZSBCSVRfVFBJX0NCVVNf U1RBUlRfR0VUX0RFVkNBUF9TVEFSVAlCSVQoMCkKPiArCj4gKy8qIEVESUQgQ29udHJvbCwgZGVm YXVsdCB2YWx1ZTogMHgxMCAqLwo+ICsjZGVmaW5lIFJFR19FRElEX0NUUkwJCQkJMHgwMmUzCj4g KyNkZWZpbmUgQklUX0VESURfQ1RSTF9FRElEX1BSSU1FX1ZBTElECQlCSVQoNykKPiArI2RlZmlu ZSBCSVRfRURJRF9DVFJMX1hERVZDQVBfRU4JCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9FRElEX0NU UkxfREVWQ0FQX1NFTEVDVF9ERVZDQVAJQklUKDUpCj4gKyNkZWZpbmUgQklUX0VESURfQ1RSTF9F RElEX0ZJRk9fQUREUl9BVVRPCUJJVCg0KQo+ICsjZGVmaW5lIEJJVF9FRElEX0NUUkxfRURJRF9G SUZPX0FDQ0VTU19BTFdBWVNfRU4gQklUKDMpCj4gKyNkZWZpbmUgQklUX0VESURfQ1RSTF9FRElE X0ZJRk9fQkxPQ0tfU0VMCUJJVCgyKQo+ICsjZGVmaW5lIEJJVF9FRElEX0NUUkxfSU5WQUxJRF9C S1NWCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfRURJRF9DVFJMX0VESURfTU9ERV9FTgkJQklUKDAp Cj4gKwo+ICsvKiBFRElEIEZJRk8gQWRkciwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVm aW5lIFJFR19FRElEX0ZJRk9fQUREUgkJCTB4MDJlOQo+ICsKPiArLyogRURJRCBGSUZPIFdyaXRl IERhdGEsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfRURJRF9GSUZPX1dS X0RBVEEJCQkweDAyZWEKPiArCj4gKy8qIEVESUQvREVWQ0FQIEZJRk8gSW50ZXJuYWwgQWRkciwg ZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19FRElEX0ZJRk9fQUREUl9NT04J CQkweDAyZWIKPiArCj4gKy8qIEVESUQgRklGTyBSZWFkIERhdGEsIGRlZmF1bHQgdmFsdWU6IDB4 MDAgKi8KPiArI2RlZmluZSBSRUdfRURJRF9GSUZPX1JEX0RBVEEJCQkweDAyZWMKPiArCj4gKy8q IEVESUQgRERDIFNlZ21lbnQgUG9pbnRlciwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVm aW5lIFJFR19FRElEX1NUQVJUX0VYVAkJCTB4MDJlZAo+ICsKPiArLyogVFggSVAgQklTVCBDTlRM IGFuZCBTdGF0dXMsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVFhfSVBf QklTVF9DTlRMU1RBCQkJMHgwMmYyCj4gKyNkZWZpbmUgQklUX1RYX0lQX0JJU1RfQ05UTFNUQV9U WEJJU1RfUVVBUlRFUl9DTEtfU0VMIEJJVCg2KQo+ICsjZGVmaW5lIEJJVF9UWF9JUF9CSVNUX0NO VExTVEFfVFhCSVNUX0RPTkUJQklUKDUpCj4gKyNkZWZpbmUgQklUX1RYX0lQX0JJU1RfQ05UTFNU QV9UWEJJU1RfT04JQklUKDQpCj4gKyNkZWZpbmUgQklUX1RYX0lQX0JJU1RfQ05UTFNUQV9UWEJJ U1RfUlVOCUJJVCgzKQo+ICsjZGVmaW5lIEJJVF9UWF9JUF9CSVNUX0NOVExTVEFfVFhDTEtfSEFM Rl9TRUwJQklUKDIpCj4gKyNkZWZpbmUgQklUX1RYX0lQX0JJU1RfQ05UTFNUQV9UWEJJU1RfRU4J QklUKDEpCj4gKyNkZWZpbmUgQklUX1RYX0lQX0JJU1RfQ05UTFNUQV9UWEJJU1RfU0VMCUJJVCgw KQo+ICsKPiArLyogVFggSVAgQklTVCBJTlNUIExPVywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ ICsjZGVmaW5lIFJFR19UWF9JUF9CSVNUX0lOU1RfTE9XCQkJMHgwMmYzCj4gKyNkZWZpbmUgUkVH X1RYX0lQX0JJU1RfSU5TVF9ISUdICQkweDAyZjQKPiArCj4gKy8qIFRYIElQIEJJU1QgUEFUVEVS TiBMT1csIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVFhfSVBfQklTVF9Q QVRfTE9XCQkJMHgwMmY1Cj4gKyNkZWZpbmUgUkVHX1RYX0lQX0JJU1RfUEFUX0hJR0gJCQkweDAy ZjYKPiArCj4gKy8qIFRYIElQIEJJU1QgQ09ORklHVVJFIExPVywgZGVmYXVsdCB2YWx1ZTogMHgw MCAqLwo+ICsjZGVmaW5lIFJFR19UWF9JUF9CSVNUX0NPTkZfTE9XCQkJMHgwMmY3Cj4gKyNkZWZp bmUgUkVHX1RYX0lQX0JJU1RfQ09ORl9ISUdICQkweDAyZjgKPiArCj4gKy8qIEUtTVNDIEdlbmVy YWwgQ29udHJvbCwgZGVmYXVsdCB2YWx1ZTogMHg4MCAqLwo+ICsjZGVmaW5lIFJFR19HRU5DVEwJ CQkJMHgwMzAwCj4gKyNkZWZpbmUgQklUX0dFTkNUTF9TUEVDX1RSQU5TX0RJUwkJQklUKDcpCj4g KyNkZWZpbmUgQklUX0dFTkNUTF9ESVNfWE1JVF9FUlJfU1RBVEUJCUJJVCg2KQo+ICsjZGVmaW5l IEJJVF9HRU5DVExfU1BJX01JU09fRURHRQkJQklUKDUpCj4gKyNkZWZpbmUgQklUX0dFTkNUTF9T UElfTU9TSV9FREdFCQlCSVQoNCkKPiArI2RlZmluZSBCSVRfR0VOQ1RMX0NMUl9FTVNDX1JGSUZP CQlCSVQoMykKPiArI2RlZmluZSBCSVRfR0VOQ1RMX0NMUl9FTVNDX1hGSUZPCQlCSVQoMikKPiAr I2RlZmluZSBCSVRfR0VOQ1RMX1NUQVJUX1RSQUlOX1NFUQkJQklUKDEpCj4gKyNkZWZpbmUgQklU X0dFTkNUTF9FTVNDX0VOCQkJQklUKDApCj4gKwo+ICsvKiBFLU1TQyBDb21tYSBFcnJvckNOVCwg ZGVmYXVsdCB2YWx1ZTogMHgwMyAqLwo+ICsjZGVmaW5lIFJFR19DT01NRUNOVAkJCQkweDAzMDUK PiArI2RlZmluZSBCSVRfQ09NTUVDTlRfSTJDX1RPX0VNU0NfRU4JCUJJVCg3KQo+ICsjZGVmaW5l IE1TS19DT01NRUNOVF9DT01NQV9DSEFSX0VSUl9DTlQJCTB4MGYKPiArCj4gKy8qIEUtTVNDIFJG SUZPIEJ5dGVDbnQsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfRU1TQ1JG SUZPQkNOVEwJCQkweDAzMWEKPiArI2RlZmluZSBSRUdfRU1TQ1JGSUZPQkNOVEgJCQkweDAzMWIK PiArCj4gKy8qIFNQSSBCdXJzdCBDbnQgU3RhdHVzLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4g KyNkZWZpbmUgUkVHX1NQSUJVUlNUQ05UCQkJCTB4MDMxZQo+ICsKPiArLyogU1BJIEJ1cnN0IFN0 YXR1cyBhbmQgU1dSU1QsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfU1BJ QlVSU1RTVEFUCQkJMHgwMzIyCj4gKyNkZWZpbmUgQklUX1NQSUJVUlNUU1RBVF9TUElfSERDUFJT VAkJQklUKDcpCj4gKyNkZWZpbmUgQklUX1NQSUJVUlNUU1RBVF9TUElfQ0JVU1JTVAkJQklUKDYp Cj4gKyNkZWZpbmUgQklUX1NQSUJVUlNUU1RBVF9TUElfU1JTVAkJQklUKDUpCj4gKyNkZWZpbmUg QklUX1NQSUJVUlNUU1RBVF9FTVNDX05PUk1BTF9NT0RFCUJJVCgwKQo+ICsKPiArLyogRS1NU0Mg MXN0IEludGVycnVwdCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19FTVND SU5UUgkJCQkweDAzMjMKPiArI2RlZmluZSBCSVRfRU1TQ0lOVFJfRU1TQ19YRklGT19FTVBUWQkJ QklUKDcpCj4gKyNkZWZpbmUgQklUX0VNU0NJTlRSX0VNU0NfWE1JVF9BQ0tfVE9VVAkJQklUKDYp Cj4gKyNkZWZpbmUgQklUX0VNU0NJTlRSX0VNU0NfUkZJRk9fUkVBRF9FUlIJQklUKDUpCj4gKyNk ZWZpbmUgQklUX0VNU0NJTlRSX0VNU0NfWEZJRk9fV1JJVEVfRVJSCUJJVCg0KQo+ICsjZGVmaW5l IEJJVF9FTVNDSU5UUl9FTVNDX0NPTU1BX0NIQVJfRVJSCUJJVCgzKQo+ICsjZGVmaW5lIEJJVF9F TVNDSU5UUl9FTVNDX1hNSVRfRE9ORQkJQklUKDIpCj4gKyNkZWZpbmUgQklUX0VNU0NJTlRSX0VN U0NfWE1JVF9HTlRfVE9VVAkJQklUKDEpCj4gKyNkZWZpbmUgQklUX0VNU0NJTlRSX1NQSV9EVkxE CQlCSVQoMCkKPiArCj4gKy8qIEUtTVNDIEludGVycnVwdCBNYXNrLCBkZWZhdWx0IHZhbHVlOiAw eDAwICovCj4gKyNkZWZpbmUgUkVHX0VNU0NJTlRSTUFTSwkJCTB4MDMyNAo+ICsKPiArLyogSTJD IEUtTVNDIFhNSVQgRklGTyBXcml0ZSBQb3J0LCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNk ZWZpbmUgUkVHX0VNU0NfWE1JVF9XUklURV9QT1JUCQkweDAzMmEKPiArCj4gKy8qIEkyQyBFLU1T QyBSQ1YgRklGTyBXcml0ZSBQb3J0LCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUg UkVHX0VNU0NfUkNWX1JFQURfUE9SVAkJCTB4MDMyYgo+ICsKPiArLyogRS1NU0MgMm5kIEludGVy cnVwdCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19FTVNDSU5UUjEJCQkJ MHgwMzJjCj4gKyNkZWZpbmUgQklUX0VNU0NJTlRSMV9FTVNDX1RSQUlOSU5HX0NPTU1BX0VSUglC SVQoMCkKPiArCj4gKy8qIEUtTVNDIEludGVycnVwdCBNYXNrLCBkZWZhdWx0IHZhbHVlOiAweDAw ICovCj4gKyNkZWZpbmUgUkVHX0VNU0NJTlRSTUFTSzEJCQkweDAzMmQKPiArI2RlZmluZSBCSVRf RU1TQ0lOVFJNQVNLMV9FTVNDX0lOVFJNQVNLMV8wCUJJVCgwKQo+ICsKPiArLyogTUhMIFRvcCBD dGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfTUhMX1RPUF9DVEwJCQkJ MHgwMzMwCj4gKyNkZWZpbmUgQklUX01ITF9UT1BfQ1RMX01ITDNfRE9DX1NFTAkJQklUKDcpCj4g KyNkZWZpbmUgQklUX01ITF9UT1BfQ1RMX01ITF9QUF9TRUwJCUJJVCg2KQo+ICsjZGVmaW5lIE1T S19NSExfVE9QX0NUTF9JRl9USU1JTkdfQ1RMCQkweDAzCj4gKwo+ICsvKiBNSEwgRGF0YVBhdGgg MXN0IEN0bCwgZGVmYXVsdCB2YWx1ZTogMHhiYyAqLwo+ICsjZGVmaW5lIFJFR19NSExfRFBfQ1RM MAkJCQkweDAzMzEKPiArI2RlZmluZSBCSVRfTUhMX0RQX0NUTDBfRFBfT0UJCQlCSVQoNykKPiAr I2RlZmluZSBCSVRfTUhMX0RQX0NUTDBfVFhfT0VfT1ZSCQlCSVQoNikKPiArI2RlZmluZSBNU0tf TUhMX0RQX0NUTDBfVFhfT0UJCQkweDNmCj4gKwo+ICsvKiBNSEwgRGF0YVBhdGggMm5kIEN0bCwg ZGVmYXVsdCB2YWx1ZTogMHhiYiAqLwo+ICsjZGVmaW5lIFJFR19NSExfRFBfQ1RMMQkJCQkweDAz MzIKPiArI2RlZmluZSBNU0tfTUhMX0RQX0NUTDFfQ0tfU1dJTkdfQ1RMCQkweGYwCj4gKyNkZWZp bmUgTVNLX01ITF9EUF9DVEwxX0RUX1NXSU5HX0NUTAkJMHgwZgo+ICsKPiArLyogTUhMIERhdGFQ YXRoIDNyZCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MmYgKi8KPiArI2RlZmluZSBSRUdfTUhMX0RQ X0NUTDIJCQkJMHgwMzMzCj4gKyNkZWZpbmUgQklUX01ITF9EUF9DVEwyX0NMS19CWVBBU1NfRU4J CUJJVCg3KQo+ICsjZGVmaW5lIE1TS19NSExfRFBfQ1RMMl9EQU1QX1RFUk1fU0VMCQkweDMwCj4g KyNkZWZpbmUgTVNLX01ITF9EUF9DVEwyX0NLX1RFUk1fU0VMCQkweDBjCj4gKyNkZWZpbmUgTVNL X01ITF9EUF9DVEwyX0RUX1RFUk1fU0VMCQkweDAzCj4gKwo+ICsvKiBNSEwgRGF0YVBhdGggNHRo IEN0bCwgZGVmYXVsdCB2YWx1ZTogMHg0OCAqLwo+ICsjZGVmaW5lIFJFR19NSExfRFBfQ1RMMwkJ CQkweDAzMzQKPiArI2RlZmluZSBNU0tfTUhMX0RQX0NUTDNfRFRfRFJWX1ZOQkNfQ1RMCQkweGYw Cj4gKyNkZWZpbmUgTVNLX01ITF9EUF9DVEwzX0RUX0RSVl9WTkJfQ1RMCQkweDBmCj4gKwo+ICsv KiBNSEwgRGF0YVBhdGggNXRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHg0OCAqLwo+ICsjZGVmaW5l IFJFR19NSExfRFBfQ1RMNAkJCQkweDAzMzUKPiArI2RlZmluZSBNU0tfTUhMX0RQX0NUTDRfQ0tf RFJWX1ZOQkNfQ1RMCQkweGYwCj4gKyNkZWZpbmUgTVNLX01ITF9EUF9DVEw0X0NLX0RSVl9WTkJf Q1RMCQkweDBmCj4gKwo+ICsvKiBNSEwgRGF0YVBhdGggNnRoIEN0bCwgZGVmYXVsdCB2YWx1ZTog MHgzZiAqLwo+ICsjZGVmaW5lIFJFR19NSExfRFBfQ1RMNQkJCQkweDAzMzYKPiArI2RlZmluZSBC SVRfTUhMX0RQX0NUTDVfUlNFTl9FTl9PVlIJCUJJVCg3KQo+ICsjZGVmaW5lIEJJVF9NSExfRFBf Q1RMNV9SU0VOX0VOCQkJQklUKDYpCj4gKyNkZWZpbmUgTVNLX01ITF9EUF9DVEw1X0RBTVBfVEVS TV9WR1NfQ1RMCTB4MzAKPiArI2RlZmluZSBNU0tfTUhMX0RQX0NUTDVfQ0tfVEVSTV9WR1NfQ1RM CQkweDBjCj4gKyNkZWZpbmUgTVNLX01ITF9EUF9DVEw1X0RUX1RFUk1fVkdTX0NUTAkJMHgwMwo+ ICsKPiArLyogTUhMIFBMTCAxc3QgQ3RsLCBkZWZhdWx0IHZhbHVlOiAweDA1ICovCj4gKyNkZWZp bmUgUkVHX01ITF9QTExfQ1RMMAkJCTB4MDMzNwo+ICsjZGVmaW5lIEJJVF9NSExfUExMX0NUTDBf QVVEX0NMS19FTgkJQklUKDcpCj4gKwo+ICsjZGVmaW5lIE1TS19NSExfUExMX0NUTDBfQVVEX0NM S19SQVRJTwkJMHg3MAo+ICsjZGVmaW5lIFZBTF9NSExfUExMX0NUTDBfQVVEX0NMS19SQVRJT181 XzEwCTB4NzAKPiArI2RlZmluZSBWQUxfTUhMX1BMTF9DVEwwX0FVRF9DTEtfUkFUSU9fNV82CTB4 NjAKPiArI2RlZmluZSBWQUxfTUhMX1BMTF9DVEwwX0FVRF9DTEtfUkFUSU9fNV80CTB4NTAKPiAr I2RlZmluZSBWQUxfTUhMX1BMTF9DVEwwX0FVRF9DTEtfUkFUSU9fNV8yCTB4NDAKPiArI2RlZmlu ZSBWQUxfTUhMX1BMTF9DVEwwX0FVRF9DTEtfUkFUSU9fNV81CTB4MzAKPiArI2RlZmluZSBWQUxf TUhMX1BMTF9DVEwwX0FVRF9DTEtfUkFUSU9fNV8zCTB4MjAKPiArI2RlZmluZSBWQUxfTUhMX1BM TF9DVEwwX0FVRF9DTEtfUkFUSU9fNV8yX1BSSU1FIDB4MTAKPiArI2RlZmluZSBWQUxfTUhMX1BM TF9DVEwwX0FVRF9DTEtfUkFUSU9fNV8xCTB4MDAKPiArCj4gKyNkZWZpbmUgTVNLX01ITF9QTExf Q1RMMF9IRE1JX0NMS19SQVRJTwkJMHgwYwo+ICsjZGVmaW5lIFZBTF9NSExfUExMX0NUTDBfSERN SV9DTEtfUkFUSU9fNFgJMHgwYwo+ICsjZGVmaW5lIFZBTF9NSExfUExMX0NUTDBfSERNSV9DTEtf UkFUSU9fMlgJMHgwOAo+ICsjZGVmaW5lIFZBTF9NSExfUExMX0NUTDBfSERNSV9DTEtfUkFUSU9f MVgJMHgwNAo+ICsjZGVmaW5lIFZBTF9NSExfUExMX0NUTDBfSERNSV9DTEtfUkFUSU9fSEFMRl9Y CTB4MDAKPiArCj4gKyNkZWZpbmUgQklUX01ITF9QTExfQ1RMMF9DUllTVEFMX0NMS19TRUwJQklU KDEpCj4gKyNkZWZpbmUgQklUX01ITF9QTExfQ1RMMF9aT05FX01BU0tfT0UJCUJJVCgwKQo+ICsK PiArLyogTUhMIFBMTCAzcmQgQ3RsLCBkZWZhdWx0IHZhbHVlOiAweDgwICovCj4gKyNkZWZpbmUg UkVHX01ITF9QTExfQ1RMMgkJCTB4MDMzOQo+ICsjZGVmaW5lIEJJVF9NSExfUExMX0NUTDJfQ0xL REVURUNUX0VOCQlCSVQoNykKPiArI2RlZmluZSBCSVRfTUhMX1BMTF9DVEwyX01FQVNfRlZDTwkJ QklUKDMpCj4gKyNkZWZpbmUgQklUX01ITF9QTExfQ1RMMl9QTExfRkFTVF9MT0NLCQlCSVQoMikK PiArI2RlZmluZSBNU0tfTUhMX1BMTF9DVEwyX1BMTF9MRl9TRUwJCTB4MDMKPiArCj4gKy8qIE1I TCBDQlVTIDFzdCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MTIgKi8KPiArI2RlZmluZSBSRUdfTUhM X0NCVVNfQ1RMMAkJCTB4MDM0MAo+ICsjZGVmaW5lIEJJVF9NSExfQ0JVU19DVEwwX0NCVVNfUkdO RF9URVNUX01PREUJQklUKDcpCj4gKwo+ICsjZGVmaW5lIE1TS19NSExfQ0JVU19DVEwwX0NCVVNf UkdORF9WVEhfQ1RMCTB4MzAKPiArI2RlZmluZSBWQUxfTUhMX0NCVVNfQ1RMMF9DQlVTX1JHTkRf VkJJQVNfNzM0CTB4MDAKPiArI2RlZmluZSBWQUxfTUhMX0NCVVNfQ1RMMF9DQlVTX1JHTkRfVkJJ QVNfNzQ3CTB4MTAKPiArI2RlZmluZSBWQUxfTUhMX0NCVVNfQ1RMMF9DQlVTX1JHTkRfVkJJQVNf NzQwCTB4MjAKPiArI2RlZmluZSBWQUxfTUhMX0NCVVNfQ1RMMF9DQlVTX1JHTkRfVkJJQVNfNzU0 CTB4MzAKPiArCj4gKyNkZWZpbmUgTVNLX01ITF9DQlVTX0NUTDBfQ0JVU19SRVNfVEVTVF9TRUwJ MHgwYwo+ICsKPiArI2RlZmluZSBNU0tfTUhMX0NCVVNfQ1RMMF9DQlVTX0RSVl9TRUwJCTB4MDMK PiArI2RlZmluZSBWQUxfTUhMX0NCVVNfQ1RMMF9DQlVTX0RSVl9TRUxfV0VBS0VTVAkweDAwCj4g KyNkZWZpbmUgVkFMX01ITF9DQlVTX0NUTDBfQ0JVU19EUlZfU0VMX1dFQUsJMHgwMQo+ICsjZGVm aW5lIFZBTF9NSExfQ0JVU19DVEwwX0NCVVNfRFJWX1NFTF9TVFJPTkcJMHgwMgo+ICsjZGVmaW5l IFZBTF9NSExfQ0JVU19DVEwwX0NCVVNfRFJWX1NFTF9TVFJPTkdFU1QgMHgwMwo+ICsKPiArLyog TUhMIENCVVMgMm5kIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMyAqLwo+ICsjZGVmaW5lIFJFR19N SExfQ0JVU19DVEwxCQkJMHgwMzQxCj4gKyNkZWZpbmUgTVNLX01ITF9DQlVTX0NUTDFfQ0JVU19S R05EX1JFU19DVEwJMHgwNwo+ICsjZGVmaW5lIFZBTF9NSExfQ0JVU19DVEwxXzA4ODhfT0hNCQkw eDAwCj4gKyNkZWZpbmUgVkFMX01ITF9DQlVTX0NUTDFfMTExNV9PSE0JCTB4MDQKPiArI2RlZmlu ZSBWQUxfTUhMX0NCVVNfQ1RMMV8xMzc4X09ITQkJMHgwNwo+ICsKPiArLyogTUhMIENvQyAxc3Qg Q3RsLCBkZWZhdWx0IHZhbHVlOiAweGMzICovCj4gKyNkZWZpbmUgUkVHX01ITF9DT0NfQ1RMMAkJ CTB4MDM0Mgo+ICsjZGVmaW5lIEJJVF9NSExfQ09DX0NUTDBfQ09DX0JJQVNfRU4JCUJJVCg3KQo+ ICsjZGVmaW5lIE1TS19NSExfQ09DX0NUTDBfQ09DX0JJQVNfQ1RMCQkweDcwCj4gKyNkZWZpbmUg TVNLX01ITF9DT0NfQ1RMMF9DT0NfVEVSTV9DVEwJCTB4MDcKPiArCj4gKy8qIE1ITCBDb0MgMm5k IEN0bCwgZGVmYXVsdCB2YWx1ZTogMHg4NyAqLwo+ICsjZGVmaW5lIFJFR19NSExfQ09DX0NUTDEJ CQkweDAzNDMKPiArI2RlZmluZSBCSVRfTUhMX0NPQ19DVEwxX0NPQ19FTgkJCUJJVCg3KQo+ICsj ZGVmaW5lIE1TS19NSExfQ09DX0NUTDFfQ09DX0RSVl9DVEwJCTB4M2YKPiArCj4gKy8qIE1ITCBD b0MgNHRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NSExfQ09D X0NUTDMJCQkweDAzNDUKPiArI2RlZmluZSBCSVRfTUhMX0NPQ19DVEwzX0NPQ19BRUNIT19FTgkJ QklUKDApCj4gKwo+ICsvKiBNSEwgQ29DIDV0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MjggKi8K PiArI2RlZmluZSBSRUdfTUhMX0NPQ19DVEw0CQkJMHgwMzQ2Cj4gKyNkZWZpbmUgTVNLX01ITF9D T0NfQ1RMNF9DT0NfSUZfQ1RMCQkweGYwCj4gKyNkZWZpbmUgTVNLX01ITF9DT0NfQ1RMNF9DT0Nf U0xFV19DVEwJCTB4MGYKPiArCj4gKy8qIE1ITCBDb0MgNnRoIEN0bCwgZGVmYXVsdCB2YWx1ZTog MHgwZCAqLwo+ICsjZGVmaW5lIFJFR19NSExfQ09DX0NUTDUJCQkweDAzNDcKPiArCj4gKy8qIE1I TCBEb0MgMXN0IEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgxOCAqLwo+ICsjZGVmaW5lIFJFR19NSExf RE9DX0NUTDAJCQkweDAzNDkKPiArI2RlZmluZSBCSVRfTUhMX0RPQ19DVEwwX0RPQ19SWERBVEFf RU4JCUJJVCg3KQo+ICsjZGVmaW5lIE1TS19NSExfRE9DX0NUTDBfRE9DX0RNX1RFUk0JCTB4MzgK PiArI2RlZmluZSBNU0tfTUhMX0RPQ19DVEwwX0RPQ19PUE1PREUJCTB4MDYKPiArI2RlZmluZSBC SVRfTUhMX0RPQ19DVEwwX0RPQ19SWEJJQVNfRU4JCUJJVCgwKQo+ICsKPiArLyogTUhMIERhdGFQ YXRoIDd0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MmEgKi8KPiArI2RlZmluZSBSRUdfTUhMX0RQ X0NUTDYJCQkJMHgwMzUwCj4gKyNkZWZpbmUgQklUX01ITF9EUF9DVEw2X0RQX1RBUDJfU0dOCQlC SVQoNSkKPiArI2RlZmluZSBCSVRfTUhMX0RQX0NUTDZfRFBfVEFQMl9FTgkJQklUKDQpCj4gKyNk ZWZpbmUgQklUX01ITF9EUF9DVEw2X0RQX1RBUDFfU0dOCQlCSVQoMykKPiArI2RlZmluZSBCSVRf TUhMX0RQX0NUTDZfRFBfVEFQMV9FTgkJQklUKDIpCj4gKyNkZWZpbmUgQklUX01ITF9EUF9DVEw2 X0RUX1BSRURSVl9GRUVEQ0FQX0VOCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9NSExfRFBfQ1RMNl9E UF9QUkVfUE9TVF9TRUwJCUJJVCgwKQo+ICsKPiArLyogTUhMIERhdGFQYXRoIDh0aCBDdGwsIGRl ZmF1bHQgdmFsdWU6IDB4MDYgKi8KPiArI2RlZmluZSBSRUdfTUhMX0RQX0NUTDcJCQkJMHgwMzUx Cj4gKyNkZWZpbmUgTVNLX01ITF9EUF9DVEw3X0RUX0RSVl9WQklBU19DQVNDVEwJMHhmMAo+ICsj ZGVmaW5lIE1TS19NSExfRFBfQ1RMN19EVF9EUlZfSVJFRl9DVEwJCTB4MGYKPiArCj4gKy8qIFR4 IFpvbmUgQ3RsMSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19UWF9aT05F X0NUTDEJCQkweDAzNjEKPiArI2RlZmluZSBWQUxfVFhfWk9ORV9DVEwxX1RYX1pPTkVfQ1RSTF9N T0RFCTB4MDgKPiArCj4gKy8qIE1ITDMgVHggWm9uZSBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAg Ki8KPiArI2RlZmluZSBSRUdfTUhMM19UWF9aT05FX0NUTAkJCTB4MDM2NAo+ICsjZGVmaW5lIEJJ VF9NSEwzX1RYX1pPTkVfQ1RMX01ITDJfSU5UUExUX1pPTkVfTUFOVV9FTiBCSVQoNykKPiArI2Rl ZmluZSBNU0tfTUhMM19UWF9aT05FX0NUTF9NSEwzX1RYX1pPTkUJMHgwMwo+ICsKPiArI2RlZmlu ZSBNU0tfVFhfWk9ORV9DVEwzX1RYX1pPTkUJCTB4MDMKPiArI2RlZmluZSBWQUxfVFhfWk9ORV9D VEwzX1RYX1pPTkVfNkdCUFMJCTB4MDAKPiArI2RlZmluZSBWQUxfVFhfWk9ORV9DVEwzX1RYX1pP TkVfM0dCUFMJCTB4MDEKPiArI2RlZmluZSBWQUxfVFhfWk9ORV9DVEwzX1RYX1pPTkVfMV81R0JQ UwkweDAyCj4gKwo+ICsvKiBIRENQIFBvbGxpbmcgQ29udHJvbCBhbmQgU3RhdHVzLCBkZWZhdWx0 IHZhbHVlOiAweDcwICovCj4gKyNkZWZpbmUgUkVHX0hEQ1AyWF9QT0xMX0NTCQkJMHgwMzkxCj4g Kwo+ICsjZGVmaW5lIEJJVF9IRENQMlhfUE9MTF9DU19IRENQMlhfTVNHX1NaX0NMUl9PUFRJT04g QklUKDYpCj4gKyNkZWZpbmUgQklUX0hEQ1AyWF9QT0xMX0NTX0hEQ1AyWF9SUFRfUkVBRFlfQ0xS X09QVElPTiBCSVQoNSkKPiArI2RlZmluZSBCSVRfSERDUDJYX1BPTExfQ1NfSERDUDJYX1JFQVVU SF9SRVFfQ0xSX09QVElPTiBCSVQoNCkKPiArI2RlZmluZSBNU0tfSERDUDJYX1BPTExfQ1NfCQkJ MHgwYwo+ICsjZGVmaW5lIEJJVF9IRENQMlhfUE9MTF9DU19IRENQMlhfRElTX1BPTExfR05UCUJJ VCgxKQo+ICsjZGVmaW5lIEJJVF9IRENQMlhfUE9MTF9DU19IRENQMlhfRElTX1BPTExfRU4JQklU KDApCj4gKwo+ICsvKiBIRENQIEludGVycnVwdCAwLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4g KyNkZWZpbmUgUkVHX0hEQ1AyWF9JTlRSMAkJCTB4MDM5OAo+ICsKPiArLyogSERDUCBJbnRlcnJ1 cHQgMCBNYXNrLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0hEQ1AyWF9J TlRSMF9NQVNLCQkJMHgwMzk5Cj4gKwo+ICsvKiBIRENQIEdlbmVyYWwgQ29udHJvbCAwLCBkZWZh dWx0IHZhbHVlOiAweDAyICovCj4gKyNkZWZpbmUgUkVHX0hEQ1AyWF9DVFJMXzAJCQkweDAzYTAK PiArI2RlZmluZSBCSVRfSERDUDJYX0NUUkxfMF9IRENQMlhfRU5DUllQVF9FTglCSVQoNykKPiAr I2RlZmluZSBCSVRfSERDUDJYX0NUUkxfMF9IRENQMlhfUE9MSU5UX1NFTAlCSVQoNikKPiArI2Rl ZmluZSBCSVRfSERDUDJYX0NUUkxfMF9IRENQMlhfUE9MSU5UX09WUglCSVQoNSkKPiArI2RlZmlu ZSBCSVRfSERDUDJYX0NUUkxfMF9IRENQMlhfUFJFQ09NUFVURQlCSVQoNCkKPiArI2RlZmluZSBC SVRfSERDUDJYX0NUUkxfMF9IRENQMlhfSERNSU1PREUJQklUKDMpCj4gKyNkZWZpbmUgQklUX0hE Q1AyWF9DVFJMXzBfSERDUDJYX1JFUEVBVEVSCUJJVCgyKQo+ICsjZGVmaW5lIEJJVF9IRENQMlhf Q1RSTF8wX0hEQ1AyWF9IRENQVFgJCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9IRENQMlhfQ1RSTF8w X0hEQ1AyWF9FTgkJQklUKDApCj4gKwo+ICsvKiBIRENQIEdlbmVyYWwgQ29udHJvbCAxLCBkZWZh dWx0IHZhbHVlOiAweDA4ICovCj4gKyNkZWZpbmUgUkVHX0hEQ1AyWF9DVFJMXzEJCQkweDAzYTEK PiArI2RlZmluZSBNU0tfSERDUDJYX0NUUkxfMV9IRENQMlhfUkVBVVRIX01TS18zXzAJMHhmMAo+ ICsjZGVmaW5lIEJJVF9IRENQMlhfQ1RSTF8xX0hEQ1AyWF9IUERfU1cJCUJJVCgzKQo+ICsjZGVm aW5lIEJJVF9IRENQMlhfQ1RSTF8xX0hEQ1AyWF9IUERfT1ZSCUJJVCgyKQo+ICsjZGVmaW5lIEJJ VF9IRENQMlhfQ1RSTF8xX0hEQ1AyWF9DVEwzTVNLCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9IRENQ MlhfQ1RSTF8xX0hEQ1AyWF9SRUFVVEhfU1cJQklUKDApCj4gKwo+ICsvKiBIRENQIE1pc2MgQ29u dHJvbCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19IRENQMlhfTUlTQ19D VFJMCQkJMHgwM2E1Cj4gKyNkZWZpbmUgQklUX0hEQ1AyWF9NSVNDX0NUUkxfSERDUDJYX1JQVF9T TU5HX1hGRVJfU1RBUlQgQklUKDQpCj4gKyNkZWZpbmUgQklUX0hEQ1AyWF9NSVNDX0NUUkxfSERD UDJYX1JQVF9TTU5HX1dSX1NUQVJUIEJJVCgzKQo+ICsjZGVmaW5lIEJJVF9IRENQMlhfTUlTQ19D VFJMX0hEQ1AyWF9SUFRfU01OR19XUglCSVQoMikKPiArI2RlZmluZSBCSVRfSERDUDJYX01JU0Nf Q1RSTF9IRENQMlhfUlBUX1JDVklEX1JEX1NUQVJUIEJJVCgxKQo+ICsjZGVmaW5lIEJJVF9IRENQ MlhfTUlTQ19DVFJMX0hEQ1AyWF9SUFRfUkNWSURfUkQJQklUKDApCj4gKwo+ICsvKiBIRENQIFJQ VCBTTU5HIEssIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfSERDUDJYX1JQ VF9TTU5HX0sJCQkweDAzYTYKPiArCj4gKy8qIEhEQ1AgUlBUIFNNTkcgSW4sIGRlZmF1bHQgdmFs dWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfSERDUDJYX1JQVF9TTU5HX0lOCQkJMHgwM2E3Cj4g Kwo+ICsvKiBIRENQIEF1dGggU3RhdHVzLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZp bmUgUkVHX0hEQ1AyWF9BVVRIX1NUQVQJCQkweDAzYWEKPiArCj4gKy8qIEhEQ1AgUlBUIFJDVklE IE91dCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19IRENQMlhfUlBUX1JD VklEX09VVAkJMHgwM2FjCj4gKwo+ICsvKiBIRENQIFRQMSwgZGVmYXVsdCB2YWx1ZTogMHg2MiAq Lwo+ICsjZGVmaW5lIFJFR19IRENQMlhfVFAxCQkJCTB4MDNiNAo+ICsKPiArLyogSERDUCBHUCBP dXQgMCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19IRENQMlhfR1BfT1VU MAkJCTB4MDNjNwo+ICsKPiArLyogSERDUCBSZXBlYXRlciBSQ1ZSIElEIDAsIGRlZmF1bHQgdmFs dWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfSERDUDJYX1JQVF9SQ1ZSX0lEMAkJCTB4MDNkMQo+ ICsKPiArLyogSERDUCBERENNIFN0YXR1cywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVm aW5lIFJFR19IRENQMlhfRERDTV9TVFMJCQkweDAzZDgKPiArI2RlZmluZSBNU0tfSERDUDJYX0RE Q01fU1RTX0hEQ1AyWF9ERENNX0VSUl9TVFNfM18wIDB4ZjAKPiArI2RlZmluZSBNU0tfSERDUDJY X0REQ01fU1RTX0hEQ1AyWF9ERENNX0NUTF9DU18zXzAgMHgwZgo+ICsKPiArLyogSERNSTJNSEwz IENvbnRyb2wsIGRlZmF1bHQgdmFsdWU6IDB4MGEgKi8KPiArI2RlZmluZSBSRUdfTTNfQ1RSTAkJ CQkweDAzZTAKPiArI2RlZmluZSBCSVRfTTNfQ1RSTF9IMk1fU1dSU1QJCQlCSVQoNCkKPiArI2Rl ZmluZSBCSVRfTTNfQ1RSTF9TV19NSEwzX1NFTAkJCUJJVCgzKQo+ICsjZGVmaW5lIEJJVF9NM19D VFJMX00zQVZfRU4JCQlCSVQoMikKPiArI2RlZmluZSBCSVRfTTNfQ1RSTF9FTkNfVE1EUwkJCUJJ VCgxKQo+ICsjZGVmaW5lIEJJVF9NM19DVFJMX01ITDNfTUFTVEVSX0VOCQlCSVQoMCkKPiArCj4g KyNkZWZpbmUgVkFMX00zX0NUUkxfTUhMMV8yX1ZBTFVFIChCSVRfTTNfQ1RSTF9TV19NSEwzX1NF TCBcCj4gKwkJCQkgIHwgQklUX00zX0NUUkxfRU5DX1RNRFMpCj4gKyNkZWZpbmUgVkFMX00zX0NU UkxfTUhMM19WQUxVRSAoQklUX00zX0NUUkxfU1dfTUhMM19TRUwgXAo+ICsJCQkJfCBCSVRfTTNf Q1RSTF9NM0FWX0VOIFwKPiArCQkJCXwgQklUX00zX0NUUkxfRU5DX1RNRFMgXAo+ICsJCQkJfCBC SVRfTTNfQ1RSTF9NSEwzX01BU1RFUl9FTikKPiArCj4gKy8qIEhETUkyTUhMMyBQb3J0MCBDb250 cm9sLCBkZWZhdWx0IHZhbHVlOiAweDA0ICovCj4gKyNkZWZpbmUgUkVHX00zX1AwQ1RSTAkJCQkw eDAzZTEKPiArI2RlZmluZSBCSVRfTTNfUDBDVFJMX01ITDNfUDBfSERDUF9FTkNfRU4JQklUKDQp Cj4gKyNkZWZpbmUgQklUX00zX1AwQ1RSTF9NSEwzX1AwX1VOTElNSVRfRU4JQklUKDMpCj4gKyNk ZWZpbmUgQklUX00zX1AwQ1RSTF9NSEwzX1AwX0hEQ1BfRU4JCUJJVCgyKQo+ICsjZGVmaW5lIEJJ VF9NM19QMENUUkxfTUhMM19QMF9QSVhFTF9NT0RFX1BBQ0tFRAlCSVQoMSkKPiArI2RlZmluZSBC SVRfTTNfUDBDVFJMX01ITDNfUDBfUE9SVF9FTgkJQklUKDApCj4gKwo+ICsjZGVmaW5lIFJFR19N M19QT1NUTQkJCQkweDAzZTIKPiArI2RlZmluZSBNU0tfTTNfUE9TVE1fUlJQX0RFQ09ERQkJCTB4 ZjgKPiArI2RlZmluZSBNU0tfTTNfUE9TVE1fTUhMM19QMF9TVE1fSUQJCTB4MDcKPiArCj4gKy8q IEhETUkyTUhMMyBTY3JhbWJsZSBDb250cm9sLCBkZWZhdWx0IHZhbHVlOiAweDQxICovCj4gKyNk ZWZpbmUgUkVHX00zX1NDVFJMCQkJCTB4MDNlNgo+ICsjZGVmaW5lIE1TS19NM19TQ1RSTF9NSEwz X1NSX0xFTkdUSAkJMHhmMAo+ICsjZGVmaW5lIEJJVF9NM19TQ1RSTF9NSEwzX1NDUkFNQkxFUl9F TgkJQklUKDApCj4gKwo+ICsvKiBIU0lDIERpdiBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDUgKi8K PiArI2RlZmluZSBSRUdfRElWX0NUTF9NQUlOCQkJMHgwM2YyCj4gKyNkZWZpbmUgTVNLX0RJVl9D VExfTUFJTl9QUkVfRElWX0NUTF9NQUlOCTB4MWMKPiArI2RlZmluZSBNU0tfRElWX0NUTF9NQUlO X0ZCX0RJVl9DVExfTUFJTgkweDAzCj4gKwo+ICsvKiBNSEwgQ2FwYWJpbGl0eSAxc3QgQnl0ZSwg ZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NSExfREVWQ0FQXzAJCQkweDA0 MDAKPiArCj4gKy8qIE1ITCBJbnRlcnJ1cHQgMXN0IEJ5dGUsIGRlZmF1bHQgdmFsdWU6IDB4MDAg Ki8KPiArI2RlZmluZSBSRUdfTUhMX0lOVF8wCQkJCTB4MDQyMAo+ICsKPiArLyogRGV2aWNlIFN0 YXR1cyAxc3QgYnl0ZSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NSExf U1RBVF8wCQkJCTB4MDQzMAo+ICsKPiArLyogQ0JVUyBTY3JhdGNoIFBhZCAxc3QgQnl0ZSwgZGVm YXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NSExfU0NSUEFEXzAJCQkweDA0NDAK PiArCj4gKy8qIE1ITCBFeHRlbmRlZCBDYXBhYmlsaXR5IDFzdCBCeXRlLCBkZWZhdWx0IHZhbHVl OiAweDAwICovCj4gKyNkZWZpbmUgUkVHX01ITF9FWFRERVZDQVBfMAkJCTB4MDQ4MAo+ICsKPiAr LyogRGV2aWNlIEV4dGVuZGVkIFN0YXR1cyAxc3QgYnl0ZSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAq Lwo+ICsjZGVmaW5lIFJFR19NSExfRVhUU1RBVF8wCQkJMHgwNDkwCj4gKwo+ICsvKiBUUEkgRFRE IEJ5dGUyLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX1RQSV9EVERfQjIJ CQkJMHgwNjAyCj4gKwo+ICsjZGVmaW5lIFZBTF9UUElfUVVBTl9SQU5HRV9MSU1JVEVECQkweDAx Cj4gKyNkZWZpbmUgVkFMX1RQSV9RVUFOX1JBTkdFX0ZVTEwJCQkweDAyCj4gKyNkZWZpbmUgVkFM X1RQSV9GT1JNQVRfUkdCCQkJMHgwMAo+ICsjZGVmaW5lIFZBTF9UUElfRk9STUFUX1lDQkNSNDQ0 CQkJMHgwMQo+ICsjZGVmaW5lIFZBTF9UUElfRk9STUFUX1lDQkNSNDIyCQkJMHgwMgo+ICsjZGVm aW5lIFZBTF9UUElfRk9STUFUX0lOVEVSTkFMX1JHQgkJMHgwMwo+ICsjZGVmaW5lIFZBTF9UUElf Rk9STUFUKF9mbXQsIF9xcikgXAo+ICsJCShWQUxfVFBJX0ZPUk1BVF8jI19mbXQgfCAoVkFMX1RQ SV9RVUFOX1JBTkdFXyMjX3FyIDw8IDIpKQo+ICsKPiArLyogSW5wdXQgRm9ybWF0LCBkZWZhdWx0 IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX1RQSV9JTlBVVAkJCQkweDA2MDkKPiArI2Rl ZmluZSBCSVRfVFBJX0lOUFVUX0VYVEVOREVEQklUTU9ERQkJQklUKDcpCj4gKyNkZWZpbmUgQklU X1RQSV9JTlBVVF9FTkRJVEhFUgkJCUJJVCg2KQo+ICsjZGVmaW5lIE1TS19UUElfSU5QVVRfSU5Q VVRfUVVBTl9SQU5HRQkJMHgwYwo+ICsjZGVmaW5lIE1TS19UUElfSU5QVVRfSU5QVVRfRk9STUFU CQkweDAzCj4gKwo+ICsvKiBPdXRwdXQgRm9ybWF0LCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4g KyNkZWZpbmUgUkVHX1RQSV9PVVRQVVQJCQkJMHgwNjBhCj4gKyNkZWZpbmUgQklUX1RQSV9PVVRQ VVRfQ1NDTU9ERTcwOQkJQklUKDQpCj4gKyNkZWZpbmUgTVNLX1RQSV9PVVRQVVRfT1VUUFVUX1FV QU5fUkFOR0UJMHgwYwo+ICsjZGVmaW5lIE1TS19UUElfT1VUUFVUX09VVFBVVF9GT1JNQVQJCTB4 MDMKPiArCj4gKy8qIFRQSSBBVkkgQ2hlY2sgU3VtLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4g KyNkZWZpbmUgUkVHX1RQSV9BVklfQ0hTVU0JCQkweDA2MGMKPiArCj4gKy8qIFRQSSBTeXN0ZW0g Q29udHJvbCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19UUElfU0MJCQkJ MHgwNjFhCj4gKyNkZWZpbmUgQklUX1RQSV9TQ19UUElfVVBEQVRFX0ZMRwkJQklUKDcpCj4gKyNk ZWZpbmUgQklUX1RQSV9TQ19UUElfUkVBVVRIX0NUTAkJQklUKDYpCj4gKyNkZWZpbmUgQklUX1RQ SV9TQ19UUElfT1VUUFVUX01PREVfMQkJQklUKDUpCj4gKyNkZWZpbmUgQklUX1RQSV9TQ19SRUdf VE1EU19PRV9QT1dFUl9ET1dOCUJJVCg0KQo+ICsjZGVmaW5lIEJJVF9UUElfU0NfVFBJX0FWX01V VEUJCQlCSVQoMykKPiArI2RlZmluZSBCSVRfVFBJX1NDX0REQ19HUFVfUkVRVUVTVAkJQklUKDIp Cj4gKyNkZWZpbmUgQklUX1RQSV9TQ19ERENfVFBJX1NXCQkJQklUKDEpCj4gKyNkZWZpbmUgQklU X1RQSV9TQ19UUElfT1VUUFVUX01PREVfMF9IRE1JCUJJVCgwKQo+ICsKPiArLyogVFBJIENPUFAg UXVlcnkgRGF0YSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19UUElfQ09Q UF9EQVRBMQkJCTB4MDYyOQo+ICsjZGVmaW5lIEJJVF9UUElfQ09QUF9EQVRBMV9DT1BQX0dQUk9U CQlCSVQoNykKPiArI2RlZmluZSBCSVRfVFBJX0NPUFBfREFUQTFfQ09QUF9MUFJPVAkJQklUKDYp Cj4gKyNkZWZpbmUgTVNLX1RQSV9DT1BQX0RBVEExX0NPUFBfTElOS19TVEFUVVMJMHgzMAo+ICsj ZGVmaW5lIFZBTF9UUElfQ09QUF9MSU5LX1NUQVRVU19OT1JNQUwJCTB4MDAKPiArI2RlZmluZSBW QUxfVFBJX0NPUFBfTElOS19TVEFUVVNfTElOS19MT1NUCTB4MTAKPiArI2RlZmluZSBWQUxfVFBJ X0NPUFBfTElOS19TVEFUVVNfUkVORUdPVElBVElPTl9SRVEgMHgyMAo+ICsjZGVmaW5lIFZBTF9U UElfQ09QUF9MSU5LX1NUQVRVU19MSU5LX1NVU1BFTkRFRAkweDMwCj4gKyNkZWZpbmUgQklUX1RQ SV9DT1BQX0RBVEExX0NPUFBfSERDUF9SRVAJQklUKDMpCj4gKyNkZWZpbmUgQklUX1RQSV9DT1BQ X0RBVEExX0NPUFBfQ09OTlRZUEVfMAlCSVQoMikKPiArI2RlZmluZSBCSVRfVFBJX0NPUFBfREFU QTFfQ09QUF9QUk9UWVBFCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfVFBJX0NPUFBfREFUQTFfQ09Q UF9DT05OVFlQRV8xCUJJVCgwKQo+ICsKPiArLyogVFBJIENPUFAgQ29udHJvbCBEYXRhLCBkZWZh dWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX1RQSV9DT1BQX0RBVEEyCQkJMHgwNjJh Cj4gKyNkZWZpbmUgQklUX1RQSV9DT1BQX0RBVEEyX0lOVFJfRU5DUllQVElPTglCSVQoNSkKPiAr I2RlZmluZSBCSVRfVFBJX0NPUFBfREFUQTJfS1NWX0ZPUldBUkQJCUJJVCg0KQo+ICsjZGVmaW5l IEJJVF9UUElfQ09QUF9EQVRBMl9JTlRFUk1fUklfQ0hFQ0tfRU4JQklUKDMpCj4gKyNkZWZpbmUg QklUX1RQSV9DT1BQX0RBVEEyX0RPVUJMRV9SSV9DSEVDSwlCSVQoMikKPiArI2RlZmluZSBCSVRf VFBJX0NPUFBfREFUQTJfRERDX1NIT1JUX1JJX1JECUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9UUElf Q09QUF9EQVRBMl9DT1BQX1BST1RMRVZFTAlCSVQoMCkKPiArCj4gKy8qIFRQSSBJbnRlcnJ1cHQg RW5hYmxlLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX1RQSV9JTlRSX0VO CQkJCTB4MDYzYwo+ICsKPiArLyogVFBJIEludGVycnVwdCBTdGF0dXMgTG93IEJ5dGUsIGRlZmF1 bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVFBJX0lOVFJfU1QwCQkJMHgwNjNkCj4g KyNkZWZpbmUgQklUX1RQSV9JTlRSX1NUMF9UUElfQVVUSF9DSE5HRV9TVEFUCUJJVCg3KQo+ICsj ZGVmaW5lIEJJVF9UUElfSU5UUl9TVDBfVFBJX1ZfUkRZX1NUQVQJCUJJVCg2KQo+ICsjZGVmaW5l IEJJVF9UUElfSU5UUl9TVDBfVFBJX0NPUFBfQ0hOR0VfU1RBVAlCSVQoNSkKPiArI2RlZmluZSBC SVRfVFBJX0lOVFJfU1QwX0tTVl9GSUZPX0ZJUlNUX1NUQVQJQklUKDMpCj4gKyNkZWZpbmUgQklU X1RQSV9JTlRSX1NUMF9SRUFEX0JLU1ZfQkNBUFNfRE9ORV9TVEFUIEJJVCgyKQo+ICsjZGVmaW5l IEJJVF9UUElfSU5UUl9TVDBfUkVBRF9CS1NWX0JDQVBTX0VSUl9TVEFUIEJJVCgxKQo+ICsjZGVm aW5lIEJJVF9UUElfSU5UUl9TVDBfUkVBRF9CS1NWX0VSUl9TVEFUCUJJVCgwKQo+ICsKPiArLyog VFBJIERTIEJDQVBTIFN0YXR1cywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJF R19UUElfRFNfQkNBUFMJCQkweDA2NDQKPiArCj4gKy8qIFRQSSBCU3RhdHVzMSwgZGVmYXVsdCB2 YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19UUElfQlNUQVRVUzEJCQkweDA2NDUKPiArI2Rl ZmluZSBCSVRfVFBJX0JTVEFUVVMxX0RTX0RFVl9FWENFRUQJCUJJVCg3KQo+ICsjZGVmaW5lIE1T S19UUElfQlNUQVRVUzFfRFNfREVWX0NOVAkJMHg3Zgo+ICsKPiArLyogVFBJIEJTdGF0dXMyLCBk ZWZhdWx0IHZhbHVlOiAweDEwICovCj4gKyNkZWZpbmUgUkVHX1RQSV9CU1RBVFVTMgkJCTB4MDY0 Ngo+ICsjZGVmaW5lIE1TS19UUElfQlNUQVRVUzJfRFNfQlNUQVRVUwkJMHhlMAo+ICsjZGVmaW5l IEJJVF9UUElfQlNUQVRVUzJfRFNfSERNSV9NT0RFCQlCSVQoNCkKPiArI2RlZmluZSBCSVRfVFBJ X0JTVEFUVVMyX0RTX0NBU0NfRVhDRUVECQlCSVQoMykKPiArI2RlZmluZSBNU0tfVFBJX0JTVEFU VVMyX0RTX0RFUFRICQkweDA3Cj4gKwo+ICsvKiBUUEkgSFcgT3B0aW1pemF0aW9uIENvbnRyb2wg IzMsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVFBJX0hXX09QVDMJCQkJ MHgwNmJiCj4gKyNkZWZpbmUgQklUX1RQSV9IV19PUFQzX0REQ19ERUJVRwkJQklUKDcpCj4gKyNk ZWZpbmUgQklUX1RQSV9IV19PUFQzX1JJX0NIRUNLX1NLSVAJCUJJVCgzKQo+ICsjZGVmaW5lIEJJ VF9UUElfSFdfT1BUM19UUElfRERDX0JVUlNUX01PREUJQklUKDIpCj4gKyNkZWZpbmUgTVNLX1RQ SV9IV19PUFQzX1RQSV9ERENfUkVRX0xFVkVMCTB4MDMKPiArCj4gKy8qIFRQSSBJbmZvIEZyYW1l IFNlbGVjdCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19UUElfSU5GT19G U0VMCQkJMHgwNmJmCj4gKyNkZWZpbmUgQklUX1RQSV9JTkZPX0ZTRUxfVFBJX0lORk9fRU4JCUJJ VCg3KQo+ICsjZGVmaW5lIEJJVF9UUElfSU5GT19GU0VMX1RQSV9JTkZPX1JQVAkJQklUKDYpCj4g KyNkZWZpbmUgQklUX1RQSV9JTkZPX0ZTRUxfVFBJX0lORk9fUkVBRF9GTEFHCUJJVCg1KQo+ICsj ZGVmaW5lIE1TS19UUElfSU5GT19GU0VMX1RQSV9JTkZPX1NFTAkJMHgwNwo+ICsKPiArLyogVFBJ IEluZm8gQnl0ZSAjMCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19UUElf SU5GT19CMAkJCQkweDA2YzAKPiArCj4gKy8qIENvQyBTdGF0dXMsIGRlZmF1bHQgdmFsdWU6IDB4 MDAgKi8KPiArI2RlZmluZSBSRUdfQ09DX1NUQVRfMAkJCQkweDA3MDAKPiArI2RlZmluZSBSRUdf Q09DX1NUQVRfMQkJCQkweDA3MDEKPiArI2RlZmluZSBSRUdfQ09DX1NUQVRfMgkJCQkweDA3MDIK PiArI2RlZmluZSBSRUdfQ09DX1NUQVRfMwkJCQkweDA3MDMKPiArI2RlZmluZSBSRUdfQ09DX1NU QVRfNAkJCQkweDA3MDQKPiArI2RlZmluZSBSRUdfQ09DX1NUQVRfNQkJCQkweDA3MDUKPiArCj4g Ky8qIENvQyAxc3QgQ3RsLCBkZWZhdWx0IHZhbHVlOiAweDQwICovCj4gKyNkZWZpbmUgUkVHX0NP Q19DVEwwCQkJCTB4MDcxMAo+ICsKPiArLyogQ29DIDJuZCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4 MGEgKi8KPiArI2RlZmluZSBSRUdfQ09DX0NUTDEJCQkJMHgwNzExCj4gKyNkZWZpbmUgTVNLX0NP Q19DVEwxX0NPQ19DVFJMMV83XzYJCTB4YzAKPiArI2RlZmluZSBNU0tfQ09DX0NUTDFfQ09DX0NU UkwxXzVfMAkJMHgzZgo+ICsKPiArLyogQ29DIDNyZCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MTQg Ki8KPiArI2RlZmluZSBSRUdfQ09DX0NUTDIJCQkJMHgwNzEyCj4gKyNkZWZpbmUgTVNLX0NPQ19D VEwyX0NPQ19DVFJMMl83XzYJCTB4YzAKPiArI2RlZmluZSBNU0tfQ09DX0NUTDJfQ09DX0NUUkwy XzVfMAkJMHgzZgo+ICsKPiArLyogQ29DIDR0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4NDAgKi8K PiArI2RlZmluZSBSRUdfQ09DX0NUTDMJCQkJMHgwNzEzCj4gKyNkZWZpbmUgQklUX0NPQ19DVEwz X0NPQ19DVFJMM183CQlCSVQoNykKPiArI2RlZmluZSBNU0tfQ09DX0NUTDNfQ09DX0NUUkwzXzZf MAkJMHg3Zgo+ICsKPiArLyogQ29DIDd0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiAr I2RlZmluZSBSRUdfQ09DX0NUTDYJCQkJMHgwNzE2Cj4gKyNkZWZpbmUgQklUX0NPQ19DVEw2X0NP Q19DVFJMNl83CQlCSVQoNykKPiArI2RlZmluZSBCSVRfQ09DX0NUTDZfQ09DX0NUUkw2XzYJCUJJ VCg2KQo+ICsjZGVmaW5lIE1TS19DT0NfQ1RMNl9DT0NfQ1RSTDZfNV8wCQkweDNmCj4gKwo+ICsv KiBDb0MgOHRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwNiAqLwo+ICsjZGVmaW5lIFJFR19DT0Nf Q1RMNwkJCQkweDA3MTcKPiArI2RlZmluZSBCSVRfQ09DX0NUTDdfQ09DX0NUUkw3XzcJCUJJVCg3 KQo+ICsjZGVmaW5lIEJJVF9DT0NfQ1RMN19DT0NfQ1RSTDdfNgkJQklUKDYpCj4gKyNkZWZpbmUg QklUX0NPQ19DVEw3X0NPQ19DVFJMN181CQlCSVQoNSkKPiArI2RlZmluZSBNU0tfQ09DX0NUTDdf Q09DX0NUUkw3XzRfMwkJMHgxOAo+ICsjZGVmaW5lIE1TS19DT0NfQ1RMN19DT0NfQ1RSTDdfMl8w CQkweDA3Cj4gKwo+ICsvKiBDb0MgMTB0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiAr I2RlZmluZSBSRUdfQ09DX0NUTDkJCQkJMHgwNzE5Cj4gKwo+ICsvKiBDb0MgMTF0aCBDdGwsIGRl ZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfQ09DX0NUTEEJCQkJMHgwNzFhCj4g Kwo+ICsvKiBDb0MgMTJ0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBS RUdfQ09DX0NUTEIJCQkJMHgwNzFiCj4gKwo+ICsvKiBDb0MgMTN0aCBDdGwsIGRlZmF1bHQgdmFs dWU6IDB4MGYgKi8KPiArI2RlZmluZSBSRUdfQ09DX0NUTEMJCQkJMHgwNzFjCj4gKwo+ICsvKiBD b0MgMTR0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MGEgKi8KPiArI2RlZmluZSBSRUdfQ09DX0NU TEQJCQkJMHgwNzFkCj4gKyNkZWZpbmUgQklUX0NPQ19DVExEX0NPQ19DVFJMRF83CQlCSVQoNykK PiArI2RlZmluZSBNU0tfQ09DX0NUTERfQ09DX0NUUkxEXzZfMAkJMHg3Zgo+ICsKPiArLyogQ29D IDE1dGggQ3RsLCBkZWZhdWx0IHZhbHVlOiAweDBhICovCj4gKyNkZWZpbmUgUkVHX0NPQ19DVExF CQkJCTB4MDcxZQo+ICsjZGVmaW5lIEJJVF9DT0NfQ1RMRV9DT0NfQ1RSTEVfNwkJQklUKDcpCj4g KyNkZWZpbmUgTVNLX0NPQ19DVExFX0NPQ19DVFJMRV82XzAJCTB4N2YKPiArCj4gKy8qIENvQyAx NnRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DT0NfQ1RMRgkJ CQkweDA3MWYKPiArI2RlZmluZSBNU0tfQ09DX0NUTEZfQ09DX0NUUkxGXzdfMwkJMHhmOAo+ICsj ZGVmaW5lIE1TS19DT0NfQ1RMRl9DT0NfQ1RSTEZfMl8wCQkweDA3Cj4gKwo+ICsvKiBDb0MgMTh0 aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MzIgKi8KPiArI2RlZmluZSBSRUdfQ09DX0NUTDExCQkJ CTB4MDcyMQo+ICsjZGVmaW5lIE1TS19DT0NfQ1RMMTFfQ09DX0NUUkwxMV83XzQJCTB4ZjAKPiAr I2RlZmluZSBNU0tfQ09DX0NUTDExX0NPQ19DVFJMMTFfM18wCQkweDBmCj4gKwo+ICsvKiBDb0Mg MjFzdCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfQ09DX0NUTDE0 CQkJCTB4MDcyNAo+ICsjZGVmaW5lIE1TS19DT0NfQ1RMMTRfQ09DX0NUUkwxNF83XzQJCTB4ZjAK PiArI2RlZmluZSBNU0tfQ09DX0NUTDE0X0NPQ19DVFJMMTRfM18wCQkweDBmCj4gKwo+ICsvKiBD b0MgMjJuZCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfQ09DX0NU TDE1CQkJCTB4MDcyNQo+ICsjZGVmaW5lIEJJVF9DT0NfQ1RMMTVfQ09DX0NUUkwxNV83CQlCSVQo NykKPiArI2RlZmluZSBNU0tfQ09DX0NUTDE1X0NPQ19DVFJMMTVfNl80CQkweDcwCj4gKyNkZWZp bmUgTVNLX0NPQ19DVEwxNV9DT0NfQ1RSTDE1XzNfMAkJMHgwZgo+ICsKPiArLyogQ29DIEludGVy cnVwdCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DT0NfSU5UUgkJCQkw eDA3MjYKPiArCj4gKy8qIENvQyBJbnRlcnJ1cHQgTWFzaywgZGVmYXVsdCB2YWx1ZTogMHgwMCAq Lwo+ICsjZGVmaW5lIFJFR19DT0NfSU5UUl9NQVNLCQkJMHgwNzI3Cj4gKyNkZWZpbmUgQklUX0NP Q19QTExfTE9DS19TVEFUVVNfQ0hBTkdFCQlCSVQoMCkKPiArI2RlZmluZSBCSVRfQ09DX0NBTElC UkFUSU9OX0RPTkUJCUJJVCgxKQo+ICsKPiArLyogQ29DIE1pc2MgQ3RsLCBkZWZhdWx0IHZhbHVl OiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0NPQ19NSVNDX0NUTDAJCQkweDA3MjgKPiArI2RlZmlu ZSBCSVRfQ09DX01JU0NfQ1RMMF9GU01fTU9OCQlCSVQoNykKPiArCj4gKy8qIENvQyAyNHRoIEN0 bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DT0NfQ1RMMTcJCQkJMHgw NzJhCj4gKyNkZWZpbmUgTVNLX0NPQ19DVEwxN19DT0NfQ1RSTDE3XzdfNAkJMHhmMAo+ICsjZGVm aW5lIE1TS19DT0NfQ1RMMTdfQ09DX0NUUkwxN18zXzAJCTB4MGYKPiArCj4gKy8qIENvQyAyNXRo IEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DT0NfQ1RMMTgJCQkJ MHgwNzJiCj4gKyNkZWZpbmUgTVNLX0NPQ19DVEwxOF9DT0NfQ1RSTDE4XzdfNAkJMHhmMAo+ICsj ZGVmaW5lIE1TS19DT0NfQ1RMMThfQ09DX0NUUkwxOF8zXzAJCTB4MGYKPiArCj4gKy8qIENvQyAy NnRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DT0NfQ1RMMTkJ CQkJMHgwNzJjCj4gKyNkZWZpbmUgTVNLX0NPQ19DVEwxOV9DT0NfQ1RSTDE5XzdfNAkJMHhmMAo+ ICsjZGVmaW5lIE1TS19DT0NfQ1RMMTlfQ09DX0NUUkwxOV8zXzAJCTB4MGYKPiArCj4gKy8qIENv QyAyN3RoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DT0NfQ1RM MUEJCQkJMHgwNzJkCj4gKyNkZWZpbmUgTVNLX0NPQ19DVEwxQV9DT0NfQ1RSTDFBXzdfMgkJMHhm Ywo+ICsjZGVmaW5lIE1TS19DT0NfQ1RMMUFfQ09DX0NUUkwxQV8xXzAJCTB4MDMKPiArCj4gKy8q IERvQyA5dGggU3RhdHVzLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0RP Q19TVEFUXzgJCQkJMHgwNzQwCj4gKwo+ICsvKiBEb0MgMTB0aCBTdGF0dXMsIGRlZmF1bHQgdmFs dWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfRE9DX1NUQVRfOQkJCQkweDA3NDEKPiArCj4gKy8q IERvQyA1dGggQ0ZHLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0RPQ19D Rkc0CQkJCTB4MDc0ZQo+ICsjZGVmaW5lIE1TS19ET0NfQ0ZHNF9EQkdfU1RBVEVfRE9DX0ZTTQkJ MHgwZgo+ICsKPiArLyogRG9DIDFzdCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4NDAgKi8KPiArI2Rl ZmluZSBSRUdfRE9DX0NUTDAJCQkJMHgwNzUxCj4gKwo+ICsvKiBEb0MgN3RoIEN0bCwgZGVmYXVs dCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19ET0NfQ1RMNgkJCQkweDA3NTcKPiArI2Rl ZmluZSBCSVRfRE9DX0NUTDZfRE9DX0NUUkw2XzcJCUJJVCg3KQo+ICsjZGVmaW5lIEJJVF9ET0Nf Q1RMNl9ET0NfQ1RSTDZfNgkJQklUKDYpCj4gKyNkZWZpbmUgTVNLX0RPQ19DVEw2X0RPQ19DVFJM Nl81XzQJCTB4MzAKPiArI2RlZmluZSBNU0tfRE9DX0NUTDZfRE9DX0NUUkw2XzNfMAkJMHgwZgo+ ICsKPiArLyogRG9DIDh0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBS RUdfRE9DX0NUTDcJCQkJMHgwNzU4Cj4gKyNkZWZpbmUgQklUX0RPQ19DVEw3X0RPQ19DVFJMN183 CQlCSVQoNykKPiArI2RlZmluZSBCSVRfRE9DX0NUTDdfRE9DX0NUUkw3XzYJCUJJVCg2KQo+ICsj ZGVmaW5lIEJJVF9ET0NfQ1RMN19ET0NfQ1RSTDdfNQkJQklUKDUpCj4gKyNkZWZpbmUgTVNLX0RP Q19DVEw3X0RPQ19DVFJMN180XzMJCTB4MTgKPiArI2RlZmluZSBNU0tfRE9DX0NUTDdfRE9DX0NU Ukw3XzJfMAkJMHgwNwo+ICsKPiArLyogRG9DIDl0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAg Ki8KPiArI2RlZmluZSBSRUdfRE9DX0NUTDgJCQkJMHgwNzZjCj4gKyNkZWZpbmUgQklUX0RPQ19D VEw4X0RPQ19DVFJMOF83CQlCSVQoNykKPiArI2RlZmluZSBNU0tfRE9DX0NUTDhfRE9DX0NUUkw4 XzZfNAkJMHg3MAo+ICsjZGVmaW5lIE1TS19ET0NfQ1RMOF9ET0NfQ1RSTDhfM18yCQkweDBjCj4g KyNkZWZpbmUgTVNLX0RPQ19DVEw4X0RPQ19DVFJMOF8xXzAJCTB4MDMKPiArCj4gKy8qIERvQyAx MHRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19ET0NfQ1RMOQkJ CQkweDA3NmQKPiArCj4gKy8qIERvQyAxMXRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ ICsjZGVmaW5lIFJFR19ET0NfQ1RMQQkJCQkweDA3NmUKPiArCj4gKy8qIERvQyAxNXRoIEN0bCwg ZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19ET0NfQ1RMRQkJCQkweDA3NzIK PiArI2RlZmluZSBCSVRfRE9DX0NUTEVfRE9DX0NUUkxFXzcJCUJJVCg3KQo+ICsjZGVmaW5lIEJJ VF9ET0NfQ1RMRV9ET0NfQ1RSTEVfNgkJQklUKDYpCj4gKyNkZWZpbmUgTVNLX0RPQ19DVExFX0RP Q19DVFJMRV81XzQJCTB4MzAKPiArI2RlZmluZSBNU0tfRE9DX0NUTEVfRE9DX0NUUkxFXzNfMAkJ MHgwZgo+ICsKPiArLyogSW50ZXJydXB0IE1hc2sgMXN0LCBkZWZhdWx0IHZhbHVlOiAweDAwICov Cj4gKyNkZWZpbmUgUkVHX01ITF9JTlRfMF9NQVNLCQkJMHgwNTgwCj4gKwo+ICsvKiBJbnRlcnJ1 cHQgTWFzayAybmQsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfTUhMX0lO VF8xX01BU0sJCQkweDA1ODEKPiArCj4gKy8qIEludGVycnVwdCBNYXNrIDNyZCwgZGVmYXVsdCB2 YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NSExfSU5UXzJfTUFTSwkJCTB4MDU4Mgo+ICsK PiArLyogSW50ZXJydXB0IE1hc2sgNHRoLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZp bmUgUkVHX01ITF9JTlRfM19NQVNLCQkJMHgwNTgzCj4gKwo+ICsvKiBNRFQgUmVjZWl2ZSBUaW1l IE91dCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NRFRfUkNWX1RJTUVP VVQJCQkweDA1ODQKPiArCj4gKy8qIE1EVCBUcmFuc21pdCBUaW1lIE91dCwgZGVmYXVsdCB2YWx1 ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NRFRfWE1JVF9USU1FT1VUCQkJMHgwNTg1Cj4gKwo+ ICsvKiBNRFQgUmVjZWl2ZSBDb250cm9sLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZp bmUgUkVHX01EVF9SQ1ZfQ1RSTAkJCTB4MDU4Ngo+ICsjZGVmaW5lIEJJVF9NRFRfUkNWX0NUUkxf TURUX1JDVl9FTgkJQklUKDcpCj4gKyNkZWZpbmUgQklUX01EVF9SQ1ZfQ1RSTF9NRFRfREVMQVlf UkNWX0VOCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9NRFRfUkNWX0NUUkxfTURUX1JGSUZPX09WRVJf V1JfRU4JQklUKDQpCj4gKyNkZWZpbmUgQklUX01EVF9SQ1ZfQ1RSTF9NRFRfWEZJRk9fT1ZFUl9X Ul9FTglCSVQoMykKPiArI2RlZmluZSBCSVRfTURUX1JDVl9DVFJMX01EVF9ESVNBQkxFCQlCSVQo MikKPiArI2RlZmluZSBCSVRfTURUX1JDVl9DVFJMX01EVF9SRklGT19DTFJfQUxMCUJJVCgxKQo+ ICsjZGVmaW5lIEJJVF9NRFRfUkNWX0NUUkxfTURUX1JGSUZPX0NMUl9DVVIJQklUKDApCj4gKwo+ ICsvKiBNRFQgUmVjZWl2ZSBSZWFkIFBvcnQsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2Rl ZmluZSBSRUdfTURUX1JDVl9SRUFEX1BPUlQJCQkweDA1ODcKPiArCj4gKy8qIE1EVCBUcmFuc21p dCBDb250cm9sLCBkZWZhdWx0IHZhbHVlOiAweDcwICovCj4gKyNkZWZpbmUgUkVHX01EVF9YTUlU X0NUUkwJCQkweDA1ODgKPiArI2RlZmluZSBCSVRfTURUX1hNSVRfQ1RSTF9NRFRfWE1JVF9FTgkJ QklUKDcpCj4gKyNkZWZpbmUgQklUX01EVF9YTUlUX0NUUkxfTURUX1hNSVRfQ01EX01FUkdFX0VO CUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9NRFRfWE1JVF9DVFJMX01EVF9YTUlUX0ZJWEVEX0JVUlNU X0xFTiBCSVQoNSkKPiArI2RlZmluZSBCSVRfTURUX1hNSVRfQ1RSTF9NRFRfWE1JVF9GSVhFRF9B SUQJQklUKDQpCj4gKyNkZWZpbmUgQklUX01EVF9YTUlUX0NUUkxfTURUX1hNSVRfU0lOR0xFX1JV Tl9FTiBCSVQoMykKPiArI2RlZmluZSBCSVRfTURUX1hNSVRfQ1RSTF9NRFRfQ0xSX0FCT1JUX1dB SVQJQklUKDIpCj4gKyNkZWZpbmUgQklUX01EVF9YTUlUX0NUUkxfTURUX1hGSUZPX0NMUl9BTEwJ QklUKDEpCj4gKyNkZWZpbmUgQklUX01EVF9YTUlUX0NUUkxfTURUX1hGSUZPX0NMUl9DVVIJQklU KDApCj4gKwo+ICsvKiBNRFQgUmVjZWl2ZSBXUklURSBQb3J0LCBkZWZhdWx0IHZhbHVlOiAweDAw ICovCj4gKyNkZWZpbmUgUkVHX01EVF9YTUlUX1dSSVRFX1BPUlQJCQkweDA1ODkKPiArCj4gKy8q IE1EVCBSRklGTyBTdGF0dXMsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdf TURUX1JGSUZPX1NUQVQJCQkweDA1OGEKPiArI2RlZmluZSBNU0tfTURUX1JGSUZPX1NUQVRfTURU X1JGSUZPX0NOVAkweGUwCj4gKyNkZWZpbmUgTVNLX01EVF9SRklGT19TVEFUX01EVF9SRklGT19D VVJfQllURV9DTlQgMHgxZgo+ICsKPiArLyogTURUIFhGSUZPIFN0YXR1cywgZGVmYXVsdCB2YWx1 ZTogMHg4MCAqLwo+ICsjZGVmaW5lIFJFR19NRFRfWEZJRk9fU1RBVAkJCTB4MDU4Ygo+ICsjZGVm aW5lIE1TS19NRFRfWEZJRk9fU1RBVF9NRFRfWEZJRk9fTEVWRUxfQVZBSUwgMHhlMAo+ICsjZGVm aW5lIEJJVF9NRFRfWEZJRk9fU1RBVF9NRFRfWE1JVF9QUkVfSFNfRU4JQklUKDQpCj4gKyNkZWZp bmUgTVNLX01EVF9YRklGT19TVEFUX01EVF9XUklURV9CVVJTVF9MRU4JMHgwZgo+ICsKPiArLyog TURUIEludGVycnVwdCAwLCBkZWZhdWx0IHZhbHVlOiAweDBjICovCj4gKyNkZWZpbmUgUkVHX01E VF9JTlRfMAkJCQkweDA1OGMKPiArI2RlZmluZSBCSVRfTURUX1JGSUZPX0RBVEFfUkRZCQkJQklU KDApCj4gKyNkZWZpbmUgQklUX01EVF9JRExFX0FGVEVSX0hBV0JfRElTQUJMRQkJQklUKDIpCj4g KyNkZWZpbmUgQklUX01EVF9YRklGT19FTVBUWQkJCUJJVCgzKQo+ICsKPiArLyogTURUIEludGVy cnVwdCAwIE1hc2ssIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfTURUX0lO VF8wX01BU0sJCQkweDA1OGQKPiArCj4gKy8qIE1EVCBJbnRlcnJ1cHQgMSwgZGVmYXVsdCB2YWx1 ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NRFRfSU5UXzEJCQkJMHgwNThlCj4gKyNkZWZpbmUg QklUX01EVF9SQ1ZfVElNRU9VVAkJCUJJVCgwKQo+ICsjZGVmaW5lIEJJVF9NRFRfUkNWX1NNX0FC T1JUX1BLVF9SQ1ZECQlCSVQoMSkKPiArI2RlZmluZSBCSVRfTURUX1JDVl9TTV9FUlJPUgkJCUJJ VCgyKQo+ICsjZGVmaW5lIEJJVF9NRFRfWE1JVF9USU1FT1VUCQkJQklUKDUpCj4gKyNkZWZpbmUg QklUX01EVF9YTUlUX1NNX0FCT1JUX1BLVF9SQ1ZECQlCSVQoNikKPiArI2RlZmluZSBCSVRfTURU X1hNSVRfU01fRVJST1IJCQlCSVQoNykKPiArCj4gKy8qIE1EVCBJbnRlcnJ1cHQgMSBNYXNrLCBk ZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX01EVF9JTlRfMV9NQVNLCQkJMHgw NThmCj4gKwo+ICsvKiBDQlVTIFZlbmRvciBJRCwgZGVmYXVsdCB2YWx1ZTogMHgwMSAqLwo+ICsj ZGVmaW5lIFJFR19DQlVTX1ZFTkRPUl9JRAkJCTB4MDU5MAo+ICsKPiArLyogQ0JVUyBDb25uZWN0 aW9uIFN0YXR1cywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DQlVTX1NU QVRVUwkJCQkweDA1OTEKPiArI2RlZmluZSBCSVRfQ0JVU19TVEFUVVNfTUhMX0NBQkxFX1BSRVNF TlQJQklUKDQpCj4gKyNkZWZpbmUgQklUX0NCVVNfU1RBVFVTX01TQ19IQl9TVUNDRVNTCQlCSVQo MykKPiArI2RlZmluZSBCSVRfQ0JVU19TVEFUVVNfQ0JVU19IUEQJCUJJVCgyKQo+ICsjZGVmaW5l IEJJVF9DQlVTX1NUQVRVU19NSExfTU9ERQkJQklUKDEpCj4gKyNkZWZpbmUgQklUX0NCVVNfU1RB VFVTX0NCVVNfQ09OTkVDVEVECQlCSVQoMCkKPiArCj4gKy8qIENCVVMgSW50ZXJydXB0IDFzdCwg ZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DQlVTX0lOVF8wCQkJCTB4MDU5 Mgo+ICsjZGVmaW5lIEJJVF9DQlVTX01TQ19NVF9ET05FX05BQ0sJCUJJVCg3KQo+ICsjZGVmaW5l IEJJVF9DQlVTX01TQ19NUl9TRVRfSU5UCQkJQklUKDYpCj4gKyNkZWZpbmUgQklUX0NCVVNfTVND X01SX1dSSVRFX0JVUlNUCQlCSVQoNSkKPiArI2RlZmluZSBCSVRfQ0JVU19NU0NfTVJfTVNDX01T RwkJCUJJVCg0KQo+ICsjZGVmaW5lIEJJVF9DQlVTX01TQ19NUl9XUklURV9TVEFUCQlCSVQoMykK PiArI2RlZmluZSBCSVRfQ0JVU19IUERfQ0hHCQkJQklUKDIpCj4gKyNkZWZpbmUgQklUX0NCVVNf TVNDX01UX0RPTkUJCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfQ0JVU19DTlhfQ0hHCQkJQklUKDAp Cj4gKwo+ICsvKiBDQlVTIEludGVycnVwdCBNYXNrIDFzdCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAq Lwo+ICsjZGVmaW5lIFJFR19DQlVTX0lOVF8wX01BU0sJCQkweDA1OTMKPiArCj4gKy8qIENCVVMg SW50ZXJydXB0IDJuZCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DQlVT X0lOVF8xCQkJCTB4MDU5NAo+ICsjZGVmaW5lIEJJVF9DQlVTX0NNRF9BQk9SVAkJCUJJVCg2KQo+ ICsjZGVmaW5lIEJJVF9DQlVTX01TQ19BQk9SVF9SQ1ZECQkJQklUKDMpCj4gKyNkZWZpbmUgQklU X0NCVVNfRERDX0FCT1JUCQkJQklUKDIpCj4gKyNkZWZpbmUgQklUX0NCVVNfQ0VDX0FCT1JUCQkJ QklUKDEpCj4gKwo+ICsvKiBDQlVTIEludGVycnVwdCBNYXNrIDJuZCwgZGVmYXVsdCB2YWx1ZTog MHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DQlVTX0lOVF8xX01BU0sJCQkweDA1OTUKPiArCj4gKy8q IENCVVMgRERDIEFib3J0IEludGVycnVwdCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVm aW5lIFJFR19ERENfQUJPUlRfSU5UCQkJMHgwNTk4Cj4gKwo+ICsvKiBDQlVTIEREQyBBYm9ydCBJ bnRlcnJ1cHQgTWFzaywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19ERENf QUJPUlRfSU5UX01BU0sJCQkweDA1OTkKPiArCj4gKy8qIENCVVMgTVNDIFJlcXVlc3RlciBBYm9y dCBJbnRlcnJ1cHQsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfTVNDX01U X0FCT1JUX0lOVAkJCTB4MDU5YQo+ICsKPiArLyogQ0JVUyBNU0MgUmVxdWVzdGVyIEFib3J0IElu dGVycnVwdCBNYXNrLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX01TQ19N VF9BQk9SVF9JTlRfTUFTSwkJMHgwNTliCj4gKwo+ICsvKiBDQlVTIE1TQyBSZXNwb25kZXIgQWJv cnQgSW50ZXJydXB0LCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX01TQ19N Ul9BQk9SVF9JTlQJCQkweDA1OWMKPiArCj4gKy8qIENCVVMgTVNDIFJlc3BvbmRlciBBYm9ydCBJ bnRlcnJ1cHQgTWFzaywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NU0Nf TVJfQUJPUlRfSU5UX01BU0sJCTB4MDU5ZAo+ICsKPiArLyogQ0JVUyBSWCBESVNDT1ZFUlkgaW50 ZXJydXB0LCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0NCVVNfUlhfRElT Q19JTlQwCQkJMHgwNTllCj4gKwo+ICsvKiBDQlVTIFJYIERJU0NPVkVSWSBJbnRlcnJ1cHQgTWFz aywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DQlVTX1JYX0RJU0NfSU5U MF9NQVNLCQkweDA1OWYKPiArCj4gKy8qIENCVVNfTGlua19MYXllciBDb250cm9sICM4LCBkZWZh dWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0NCVVNfTElOS19DVFJMXzgJCQkweDA1 YTcKPiArCj4gKy8qIE1EVCBTdGF0ZSBNYWNoaW5lIFN0YXR1cywgZGVmYXVsdCB2YWx1ZTogMHgw MCAqLwo+ICsjZGVmaW5lIFJFR19NRFRfU01fU1RBVAkJCQkweDA1YjUKPiArI2RlZmluZSBNU0tf TURUX1NNX1NUQVRfTURUX1JDVl9TVEFURQkJMHhmMAo+ICsjZGVmaW5lIE1TS19NRFRfU01fU1RB VF9NRFRfWE1JVF9TVEFURQkJMHgwZgo+ICsKPiArLyogQ0JVUyBNU0MgY29tbWFuZCB0cmlnZ2Vy LCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX01TQ19DT01NQU5EX1NUQVJU CQkJMHgwNWI4Cj4gKyNkZWZpbmUgQklUX01TQ19DT01NQU5EX1NUQVJUX0RFQlVHCQlCSVQoNSkK PiArI2RlZmluZSBCSVRfTVNDX0NPTU1BTkRfU1RBUlRfV1JJVEVfQlVSU1QJQklUKDQpCj4gKyNk ZWZpbmUgQklUX01TQ19DT01NQU5EX1NUQVJUX1dSSVRFX1NUQVQJQklUKDMpCj4gKyNkZWZpbmUg QklUX01TQ19DT01NQU5EX1NUQVJUX1JFQURfREVWQ0FQCUJJVCgyKQo+ICsjZGVmaW5lIEJJVF9N U0NfQ09NTUFORF9TVEFSVF9NU0NfTVNHCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfTVNDX0NPTU1B TkRfU1RBUlRfUEVFUgkJQklUKDApCj4gKwo+ICsvKiBDQlVTIE1TQyBDb21tYW5kL09mZnNldCwg ZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NU0NfQ01EX09SX09GRlNFVAkJ CTB4MDViOQo+ICsKPiArLyogQ0JVUyBNU0MgVHJhbnNtaXQgRGF0YSAqLwo+ICsjZGVmaW5lIFJF R19NU0NfMVNUX1RSQU5TTUlUX0RBVEEJCTB4MDViYQo+ICsjZGVmaW5lIFJFR19NU0NfMk5EX1RS QU5TTUlUX0RBVEEJCTB4MDViYgo+ICsKPiArLyogQ0JVUyBNU0MgUmVxdWVzdGVyIFJlY2VpdmVk IERhdGEgKi8KPiArI2RlZmluZSBSRUdfTVNDX01UX1JDVkRfREFUQTAJCQkweDA1YmMKPiArI2Rl ZmluZSBSRUdfTVNDX01UX1JDVkRfREFUQTEJCQkweDA1YmQKPiArCj4gKy8qIENCVVMgTVNDIFJl c3BvbmRlciBNU0NfTVNHIFJlY2VpdmVkIERhdGEgKi8KPiArI2RlZmluZSBSRUdfTVNDX01SX01T Q19NU0dfUkNWRF8xU1RfREFUQQkweDA1YmYKPiArI2RlZmluZSBSRUdfTVNDX01SX01TQ19NU0df UkNWRF8yTkRfREFUQQkweDA1YzAKPiArCj4gKy8qIENCVVMgTVNDIEhlYXJ0YmVhdCBDb250cm9s LCBkZWZhdWx0IHZhbHVlOiAweDI3ICovCj4gKyNkZWZpbmUgUkVHX01TQ19IRUFSVEJFQVRfQ1RS TAkJCTB4MDVjNAo+ICsjZGVmaW5lIEJJVF9NU0NfSEVBUlRCRUFUX0NUUkxfTVNDX0hCX0VOCUJJ VCg3KQo+ICsjZGVmaW5lIE1TS19NU0NfSEVBUlRCRUFUX0NUUkxfTVNDX0hCX0ZBSUxfTElNSVQg MHg3MAo+ICsjZGVmaW5lIE1TS19NU0NfSEVBUlRCRUFUX0NUUkxfTVNDX0hCX1BFUklPRF9NU0Ig MHgwZgo+ICsKPiArLyogQ0JVUyBNU0MgQ29tcGF0aWJpbGl0eSBDb250cm9sLCBkZWZhdWx0IHZh bHVlOiAweDAyICovCj4gKyNkZWZpbmUgUkVHX0NCVVNfTVNDX0NPTVBBVF9DVFJMCQkweDA1YzcK PiArI2RlZmluZSBCSVRfQ0JVU19NU0NfQ09NUEFUX0NUUkxfWERFVkNBUF9FTglCSVQoNykKPiAr I2RlZmluZSBCSVRfQ0JVU19NU0NfQ09NUEFUX0NUUkxfRElTQUJMRV9NU0NfT05fQ0JVUyBCSVQo NikKPiArI2RlZmluZSBCSVRfQ0JVU19NU0NfQ09NUEFUX0NUUkxfRElTQUJMRV9ERENfT05fQ0JV UyBCSVQoNSkKPiArI2RlZmluZSBCSVRfQ0JVU19NU0NfQ09NUEFUX0NUUkxfRElTQUJMRV9HRVRf RERDX0VSUk9SQ09ERSBCSVQoMykKPiArI2RlZmluZSBCSVRfQ0JVU19NU0NfQ09NUEFUX0NUUkxf RElTQUJMRV9HRVRfVlMxX0VSUk9SQ09ERSBCSVQoMikKPiArCj4gKy8qIENCVVMzIENvbnZlcnRl ciBDb250cm9sLCBkZWZhdWx0IHZhbHVlOiAweDI0ICovCj4gKyNkZWZpbmUgUkVHX0NCVVMzX0NO VlQJCQkJMHgwNWRjCj4gKyNkZWZpbmUgTVNLX0NCVVMzX0NOVlRfQ0JVUzNfUkVUUllMTVQJCTB4 ZjAKPiArI2RlZmluZSBNU0tfQ0JVUzNfQ05WVF9DQlVTM19QRUVSVE9VVF9TRUwJMHgwYwo+ICsj ZGVmaW5lIEJJVF9DQlVTM19DTlZUX1RFQVJDQlVTX0VOCQlCSVQoMSkKPiArI2RlZmluZSBCSVRf Q0JVUzNfQ05WVF9DQlVTM0NOVlRfRU4JCUJJVCgwKQo+ICsKPiArLyogRGlzY292ZXJ5IENvbnRy b2wxLCBkZWZhdWx0IHZhbHVlOiAweDI0ICovCj4gKyNkZWZpbmUgUkVHX0RJU0NfQ1RSTDEJCQkJ MHgwNWUwCj4gKyNkZWZpbmUgQklUX0RJU0NfQ1RSTDFfQ0JVU19JTlRSX0VOCQlCSVQoNykKPiAr I2RlZmluZSBCSVRfRElTQ19DVFJMMV9IQl9PTkxZCQkJQklUKDYpCj4gKyNkZWZpbmUgTVNLX0RJ U0NfQ1RSTDFfRElTQ19BVFQJCQkweDMwCj4gKyNkZWZpbmUgTVNLX0RJU0NfQ1RSTDFfRElTQ19D WUMJCQkweDBjCj4gKyNkZWZpbmUgQklUX0RJU0NfQ1RSTDFfRElTQ19FTgkJCUJJVCgwKQo+ICsK PiArI2RlZmluZSBWQUxfUFVQX09GRgkJCQkwCj4gKyNkZWZpbmUgVkFMX1BVUF8yMEsJCQkJMQo+ ICsjZGVmaW5lIFZBTF9QVVBfNUsJCQkJMgo+ICsKPiArLyogRGlzY292ZXJ5IENvbnRyb2w0LCBk ZWZhdWx0IHZhbHVlOiAweDgwICovCj4gKyNkZWZpbmUgUkVHX0RJU0NfQ1RSTDQJCQkJMHgwNWUz Cj4gKyNkZWZpbmUgTVNLX0RJU0NfQ1RSTDRfQ0JVU0RJU0NfUFVQX1NFTAkJMHhjMAo+ICsjZGVm aW5lIE1TS19ESVNDX0NUUkw0X0NCVVNJRExFX1BVUF9TRUwJCTB4MzAKPiArI2RlZmluZSBWQUxf RElTQ19DVFJMNChwdXBfZGlzYywgcHVwX2lkbGUpICgoKHB1cF9kaXNjKSA8PCA2KSB8IChwdXBf aWRsZSA8PCA0KSkKPiArCj4gKy8qIERpc2NvdmVyeSBDb250cm9sNSwgZGVmYXVsdCB2YWx1ZTog MHgwMyAqLwo+ICsjZGVmaW5lIFJFR19ESVNDX0NUUkw1CQkJCTB4MDVlNAo+ICsjZGVmaW5lIEJJ VF9ESVNDX0NUUkw1X0RTTV9PVlJJREUJCUJJVCgzKQo+ICsjZGVmaW5lIE1TS19ESVNDX0NUUkw1 X0NCVVNNSExfUFVQX1NFTAkJMHgwMwo+ICsKPiArLyogRGlzY292ZXJ5IENvbnRyb2w4LCBkZWZh dWx0IHZhbHVlOiAweDgxICovCj4gKyNkZWZpbmUgUkVHX0RJU0NfQ1RSTDgJCQkJMHgwNWU3Cj4g KyNkZWZpbmUgQklUX0RJU0NfQ1RSTDhfTk9NSExJTlRfQ0xSX0JZUEFTUwlCSVQoNykKPiArI2Rl ZmluZSBCSVRfRElTQ19DVFJMOF9ERUxBWV9DQlVTX0lOVFJfRU4JQklUKDApCj4gKwo+ICsvKiBE aXNjb3ZlcnkgQ29udHJvbDksIGRlZmF1bHQgdmFsdWU6IDB4NTQgKi8KPiArI2RlZmluZSBSRUdf RElTQ19DVFJMOQkJCTB4MDVlOAo+ICsjZGVmaW5lIEJJVF9ESVNDX0NUUkw5X01ITDNfUlNFTl9C WVAJCUJJVCg3KQo+ICsjZGVmaW5lIEJJVF9ESVNDX0NUUkw5X01ITDNESVNDX0VOCQlCSVQoNikK PiArI2RlZmluZSBCSVRfRElTQ19DVFJMOV9XQUtFX0RSVkZMVAkJQklUKDQpCj4gKyNkZWZpbmUg QklUX0RJU0NfQ1RSTDlfTk9NSExfRVNUCQlCSVQoMykKPiArI2RlZmluZSBCSVRfRElTQ19DVFJM OV9ESVNDX1BVTFNFX1BST0NFRUQJQklUKDIpCj4gKyNkZWZpbmUgQklUX0RJU0NfQ1RSTDlfV0FL RV9QVUxTRV9CWVBBU1MJQklUKDEpCj4gKyNkZWZpbmUgQklUX0RJU0NfQ1RSTDlfVkJVU19PVVRQ VVRfQ0FQQUJJTElUWV9TUkMgQklUKDApCj4gKwo+ICsvKiBEaXNjb3ZlcnkgU3RhdHVzMSwgZGVm YXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19ESVNDX1NUQVQxCQkJCTB4MDVlYgo+ ICsjZGVmaW5lIEJJVF9ESVNDX1NUQVQxX1BTTV9PVlJJREUJCUJJVCg1KQo+ICsjZGVmaW5lIE1T S19ESVNDX1NUQVQxX0RJU0NfU00JCQkweDBmCj4gKwo+ICsvKiBEaXNjb3ZlcnkgU3RhdHVzMiwg ZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19ESVNDX1NUQVQyCQkJCTB4MDVl Ywo+ICsjZGVmaW5lIEJJVF9ESVNDX1NUQVQyX0NCVVNfT0VfUE9MCQlCSVQoNikKPiArI2RlZmlu ZSBCSVRfRElTQ19TVEFUMl9DQlVTX1NBVFVTCQlCSVQoNSkKPiArI2RlZmluZSBCSVRfRElTQ19T VEFUMl9SU0VOCQkJQklUKDQpCj4gKwo+ICsjZGVmaW5lIE1TS19ESVNDX1NUQVQyX01ITF9WUlNO CQkJMHgwYwo+ICsjZGVmaW5lIFZBTF9ESVNDX1NUQVQyX0RFRkFVTFQJCQkweDAwCj4gKyNkZWZp bmUgVkFMX0RJU0NfU1RBVDJfTUhMMV8yCQkJMHgwNAo+ICsjZGVmaW5lIFZBTF9ESVNDX1NUQVQy X01ITDMJCQkweDA4Cj4gKyNkZWZpbmUgVkFMX0RJU0NfU1RBVDJfUkVTRVJWRUQJCQkweDBjCj4g Kwo+ICsjZGVmaW5lIE1TS19ESVNDX1NUQVQyX1JHTkQJCQkweDAzCj4gKyNkZWZpbmUgVkFMX1JH TkRfT1BFTgkJCQkweDAwCj4gKyNkZWZpbmUgVkFMX1JHTkRfMksJCQkJMHgwMQo+ICsjZGVmaW5l IFZBTF9SR05EXzFLCQkJCTB4MDIKPiArI2RlZmluZSBWQUxfUkdORF9TSE9SVAkJCQkweDAzCj4g Kwo+ICsvKiBJbnRlcnJ1cHQgQ0JVU19yZWcxIElOVFIwLCBkZWZhdWx0IHZhbHVlOiAweDAwICov Cj4gKyNkZWZpbmUgUkVHX0NCVVNfRElTQ19JTlRSMAkJCTB4MDVlZAo+ICsjZGVmaW5lIEJJVF9S R05EX1JFQURZX0lOVAkJCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9DQlVTX01ITDEyX0RJU0NPTl9J TlQJCUJJVCg1KQo+ICsjZGVmaW5lIEJJVF9DQlVTX01ITDNfRElTQ09OX0lOVAkJQklUKDQpCj4g KyNkZWZpbmUgQklUX05PVF9NSExfRVNUX0lOVAkJCUJJVCgzKQo+ICsjZGVmaW5lIEJJVF9NSExf RVNUX0lOVAkJCQlCSVQoMikKPiArI2RlZmluZSBCSVRfTUhMM19FU1RfSU5UCQkJQklUKDEpCj4g KyNkZWZpbmUgVkFMX0NCVVNfTUhMX0RJU0NPTiAoQklUX0NCVVNfTUhMMTJfRElTQ09OX0lOVCBc Cj4gKwkJCSAgICB8IEJJVF9DQlVTX01ITDNfRElTQ09OX0lOVCBcCj4gKwkJCSAgICB8IEJJVF9O T1RfTUhMX0VTVF9JTlQpCj4gKwo+ICsvKiBJbnRlcnJ1cHQgQ0JVU19yZWcxIElOVFIwIE1hc2ss IGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfQ0JVU19ESVNDX0lOVFIwX01B U0sJCTB4MDVlZQo+ICsKPiArI2VuZGlmIC8qIF9fU0lMX1NJSTg2MjBfSF9fICovCj4KCi0tIApR dWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiBDb2RlIEF1cm9y YSBGb3J1bSwKYSBMaW51eCBGb3VuZGF0aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdApfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK