From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 14992 invoked from network); 24 Apr 2022 13:19:01 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 24 Apr 2022 13:19:01 -0000 Content-Type: multipart/mixed; boundary="===============6988211323192970151==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_Subsurface?= To: ml@inbox.vuxu.org From: adbrown101 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 24 Apr 2022 15:18:57 +0200 List-Id: Message-ID: <20220424131857.X_tO1KYVHip4WghcXXzW3CHmSUQNFFfeJ6ZPDEJY9CY@z> GitHub notification mails are now in MIME to allow UTF8. --===============6988211323192970151== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgYWRicm93bjEwMSBhZ2FpbnN0IG1h c3RlciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20v YWRicm93bjEwMS92b2lkLXBhY2thZ2VzIHN1YnN1cmZhY2UKaHR0cHM6Ly9naXRodWIuY29tL3Zv aWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzM0MTg3CgpTdWJzdXJmYWNlCjwhLS0gVW5jb21t ZW50IHJlbGV2YW50IHNlY3Rpb25zIGFuZCBkZWxldGUgb3B0aW9ucyB3aGljaCBhcmUgbm90IGFw cGxpY2FibGUgLS0+DQoNCiMjIyMgVGVzdGluZyB0aGUgY2hhbmdlcw0KLSBJIHRlc3RlZCB0aGUg Y2hhbmdlcyBpbiB0aGlzIFBSOiAqKllFUyoqDQoNCiMjIyMgTmV3IHBhY2thZ2UNCi0gVGhpcyBu ZXcgcGFja2FnZSBjb25mb3JtcyB0byB0aGUgW3F1YWxpdHkgcmVxdWlyZW1lbnRzXShodHRwczov L2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL01hbnVhbC5t ZCNxdWFsaXR5LXJlcXVpcmVtZW50cyk6ICoqWUVTKioNCg0KDQo8IS0tIE5vdGU6IElmIHRoZSBi dWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBob3VycywgcGxlYXNlIFtza2lwIENJ XShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVy L0NPTlRSSUJVVElORy5tZCNjb250aW51b3VzLWludGVncmF0aW9uKQ0KYW5kIHRlc3QgYXQgbGVh c3Qgb25lIG5hdGl2ZSBidWlsZCBhbmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qgb25lIGNyb3Nz IGJ1aWxkLg0KSWdub3JlIHRoaXMgc2VjdGlvbiBpZiB0aGlzIFBSIGlzIG5vdCBza2lwcGluZyBD SS4NCi0tPg0KDQojIyMjIExvY2FsIGJ1aWxkIHRlc3RpbmcNCi0gSSBidWlsdCB0aGlzIFBSIGxv Y2FsbHkgZm9yIG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsIHg4Nl82NCwgeDg2XzY0LW11c2wsIGk2 ODYNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlm IHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFyY2g2NCwgYWFyY2g2NC1tdXNs DQogDQpJIGhhdmUgYmVlbiB1c2luZyBzdWJzdXJmYWNlIGZvciBzb21lIHRpbWUgYW5kIGhhdmUg dXNlZCBvbiB4ODZfNjQgYW5kIHg4Nl82NC1tdXNsLiBXb3JrcyB3ZWxsIG9uIHZvaWQuDQoKCkEg cGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2Fn ZXMvcHVsbC8zNDE4Ny5wYXRjaCBpcyBhdHRhY2hlZA== --===============6988211323192970151== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-subsurface-34187.patch" RnJvbSA4M2Q0N2ZkZjk3NzJlYzA3ZDUyYTQ3MTJkOTJkN2MyNzhjYzI1ZmZjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJyb3duIDxhZGJyb3duQHJvY2tldG1haWwuY29tPgpE YXRlOiBUaHUsIDI1IE5vdiAyMDIxIDE4OjIyOjE0ICswMDAwClN1YmplY3Q6IFtQQVRDSCAxLzNd IE5ldyBwYWNrYWdlOiBxdGxvY2F0aW9uLXBsdWdpbi1nb29nbGVtYXBzLTAuMC4wLjIKCi0tLQog c3JjcGtncy9xdGxvY2F0aW9uLXBsdWdpbi1nb29nbGVtYXBzL3RlbXBsYXRlIHwgMTggKysrKysr KysrKysrKysrKysrCiBzcmNwa2dzL3F0bG9jYXRpb24tcGx1Z2luLWdvb2dsZW1hcHMvdXBkYXRl ICAgfCAgMiArKwogMiBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9xdGxvY2F0aW9uLXBsdWdpbi1nb29nbGVtYXBzL3RlbXBsYXRlCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdGxvY2F0aW9uLXBsdWdpbi1nb29nbGVtYXBzL3Vw ZGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXRsb2NhdGlvbi1wbHVnaW4tZ29vZ2xlbWFwcy90 ZW1wbGF0ZSBiL3NyY3BrZ3MvcXRsb2NhdGlvbi1wbHVnaW4tZ29vZ2xlbWFwcy90ZW1wbGF0ZQpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmVmMzAxZDU0MjI3MwotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXRsb2NhdGlvbi1wbHVnaW4tZ29vZ2xlbWFwcy90ZW1w bGF0ZQpAQCAtMCwwICsxLDE4IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdxdGxvY2F0aW9uLXBs dWdpbi1nb29nbGVtYXBzJworcGtnbmFtZT1xdGxvY2F0aW9uLXBsdWdpbi1nb29nbGVtYXBzCit2 ZXJzaW9uPTAuMC4wLjIKK3JldmlzaW9uPTEKK3dya3NyYz1nb29nbGVtYXBzLXYuJHt2ZXJzaW9u fQorYnVpbGRfc3R5bGU9cW1ha2UKK2hvc3RtYWtlZGVwZW5kcz0icXQ1LXFtYWtlIHF0NS1kZXZl bCIKK21ha2VkZXBlbmRzPSJxdDUtZGV2ZWwgcXQ1LWxvY2F0aW9uLWRldmVsIHF0NS1kZWNsYXJh dGl2ZS1kZXZlbCIKK3Nob3J0X2Rlc2M9Ikdvb2dsZSBNYXBzIHBsdWdpbiBmb3IgUXRMb2NhdGlv biIKK21haW50YWluZXI9IkFsYW4gQnJvd24gPGFkYnJvd25Acm9ja2V0bWFpbC5jb20+IgorbGlj ZW5zZT0iTUlUIgoraG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS92bGFkZXN0L2dvb2dsZW1h cHMiCitkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS92bGFkZXN0L2dvb2dsZW1hcHMvYXJj aGl2ZS92LiR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09YWFjMmY5OTU5MTdlNzVkZmYyODYx Y2UzODA0OWNjYmIxY2Q1MWQwNzhjYjQ1ZDc4MTU4Y2FhNDBhOTdhNWJmMAorCitwb3N0X2luc3Rh bGwoKSB7CisJdmxpY2Vuc2UgTElDRU5TRS50eHQKK30KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXRs b2NhdGlvbi1wbHVnaW4tZ29vZ2xlbWFwcy91cGRhdGUgYi9zcmNwa2dzL3F0bG9jYXRpb24tcGx1 Z2luLWdvb2dsZW1hcHMvdXBkYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uN2I2OGY5YmU2MmUzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdGxvY2F0aW9u LXBsdWdpbi1nb29nbGVtYXBzL3VwZGF0ZQpAQCAtMCwwICsxLDIgQEAKK3BrZ25hbWU9Z29vZ2xl bWFwcworcGF0dGVybj0idlwuXEtbXGRcLl0rKD89XC50YXJcLmd6KSIKCkZyb20gYTQzNzYwOWUy OGUzNTA3MjBkNzY0NmI0OGFlNDUwZjk2MmI0OWMxNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogQWxhbiBCcm93biA8YWRicm93bkByb2NrZXRtYWlsLmNvbT4KRGF0ZTogVGh1LCAyNSBO b3YgMjAyMSAxODoyMzowNCArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMi8zXSBOZXcgcGFja2FnZTog bGliZGl2ZWNvbXB1dGVyLXN1YnN1cmZhY2UtNS4wLjgKCi0tLQogc3JjcGtncy9saWJkaXZlY29t cHV0ZXItc3Vic3VyZmFjZS1kZXZlbCAgICAgIHwgICAxICsKIC4uLi9wYXRjaGVzL1BBR0VTSVpF LnBhdGNoICAgICAgICAgICAgICAgICAgICB8IDg3MyArKysrKysrKysrKysrKysrKysKIHNyY3Br Z3MvbGliZGl2ZWNvbXB1dGVyLXN1YnN1cmZhY2UvdGVtcGxhdGUgICB8ICAzMCArCiBzcmNwa2dz L2xpYmRpdmVjb21wdXRlci1zdWJzdXJmYWNlL3VwZGF0ZSAgICAgfCAgIDIgKwogNCBmaWxlcyBj aGFuZ2VkLCA5MDYgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvbGli ZGl2ZWNvbXB1dGVyLXN1YnN1cmZhY2UtZGV2ZWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L2xpYmRpdmVjb21wdXRlci1zdWJzdXJmYWNlL3BhdGNoZXMvUEFHRVNJWkUucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpYmRpdmVjb21wdXRlci1zdWJzdXJmYWNlL3RlbXBsYXRl CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saWJkaXZlY29tcHV0ZXItc3Vic3VyZmFjZS91 cGRhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmRpdmVjb21wdXRlci1zdWJzdXJmYWNlLWRl dmVsIGIvc3JjcGtncy9saWJkaXZlY29tcHV0ZXItc3Vic3VyZmFjZS1kZXZlbApuZXcgZmlsZSBt b2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjM1MDBlMGI1YjBkNQotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvbGliZGl2ZWNvbXB1dGVyLXN1YnN1cmZhY2UtZGV2ZWwKQEAgLTAsMCAr MSBAQAorbGliZGl2ZWNvbXB1dGVyLXN1YnN1cmZhY2UKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmRpdmVjb21wdXRlci1zdWJzdXJmYWNlL3BhdGNo ZXMvUEFHRVNJWkUucGF0Y2ggYi9zcmNwa2dzL2xpYmRpdmVjb21wdXRlci1zdWJzdXJmYWNlL3Bh dGNoZXMvUEFHRVNJWkUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi5lMWMzYmQzZDA2NmYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmRpdmVjb21w dXRlci1zdWJzdXJmYWNlL3BhdGNoZXMvUEFHRVNJWkUucGF0Y2gKQEAgLTAsMCArMSw4NzMgQEAK Ky0tLSBhL3NyYy9saXF1aXZpc2lvbl9seW54LmMKKysrKyBiL3NyYy9saXF1aXZpc2lvbl9seW54 LmMKK0BAIC02MSwxNiArNjEsMTYgQEAKKyAjZGVmaW5lIE1BWFJFVFJJRVMgMgorICNkZWZpbmUg TUFYUEFDS0VUIDEyCisgI2RlZmluZSBTRUdNRU5UU0laRSAweDQwMAorLSNkZWZpbmUgUEFHRVNJ WkUgICAgMHgxMDAwCisrI2RlZmluZSBYUEFHRVNJWkUgICAgMHgxMDAwCisgI2RlZmluZSBNRU1T SVpFICAgICAweDIwMDAwMAorIAorLSNkZWZpbmUgUkJfTE9HQk9PS19CRUdJTiAgICAgICAgICgx ICogUEFHRVNJWkUpCistI2RlZmluZSBSQl9MT0dCT09LX0VORCAgICAgICAgICAgKDI1ICogUEFH RVNJWkUpCisrI2RlZmluZSBSQl9MT0dCT09LX0JFR0lOICAgICAgICAgKDEgKiBYUEFHRVNJWkUp CisrI2RlZmluZSBSQl9MT0dCT09LX0VORCAgICAgICAgICAgKDI1ICogWFBBR0VTSVpFKQorICNk ZWZpbmUgUkJfTE9HQk9PS19TSVpFICAgICAgICAgIChSQl9MT0dCT09LX0VORCAtIFJCX0xPR0JP T0tfQkVHSU4pCisgI2RlZmluZSBSQl9MT0dCT09LX0RJU1RBTkNFKGEsYikgcmluZ2J1ZmZlcl9k aXN0YW5jZSAoYSwgYiwgMSwgUkJfTE9HQk9PS19CRUdJTiwgUkJfTE9HQk9PS19FTkQpCisgCist I2RlZmluZSBSQl9QUk9GSUxFX0JFR0lOICAgICAgICAgKDI1ICogUEFHRVNJWkUpCistI2RlZmlu ZSBSQl9QUk9GSUxFX0VORCAgICAgICAgICAgKDUwMCAqIFBBR0VTSVpFKQorKyNkZWZpbmUgUkJf UFJPRklMRV9CRUdJTiAgICAgICAgICgyNSAqIFhQQUdFU0laRSkKKysjZGVmaW5lIFJCX1BST0ZJ TEVfRU5EICAgICAgICAgICAoNTAwICogWFBBR0VTSVpFKQorICNkZWZpbmUgUkJfUFJPRklMRV9T SVpFICAgICAgICAgIChSQl9QUk9GSUxFX0VORCAtIFJCX1BST0ZJTEVfQkVHSU4pCisgI2RlZmlu ZSBSQl9QUk9GSUxFX0RJU1RBTkNFKGEsYikgcmluZ2J1ZmZlcl9kaXN0YW5jZSAoYSwgYiwgMSwg UkJfUFJPRklMRV9CRUdJTiwgUkJfUFJPRklMRV9FTkQpCisgCitAQCAtMzExLDggKzMxMSw4IEBA IGxpcXVpdmlzaW9uX2x5bnhfZGV2aWNlX3JlYWQgKGRjX2RldmljZV90ICphYnN0cmFjdCwgdW5z aWduZWQgaW50IGFkZHJlc3MsIHVuc2lnCisgCQlyZXR1cm4gRENfU1RBVFVTX0lOVkFMSURBUkdT OworIAorIAkvLyBHZXQgdGhlIHBhZ2UgYW5kIHNlZ21lbnQgbnVtYmVyLgorLQl1bnNpZ25lZCBp bnQgcGFnZSAgICA9IChhZGRyZXNzIC8gUEFHRVNJWkUpOworLQl1bnNpZ25lZCBpbnQgc2VnbWVu dCA9IChhZGRyZXNzICUgUEFHRVNJWkUpIC8gU0VHTUVOVFNJWkU7CisrCXVuc2lnbmVkIGludCBw YWdlICAgID0gKGFkZHJlc3MgLyBYUEFHRVNJWkUpOworKwl1bnNpZ25lZCBpbnQgc2VnbWVudCA9 IChhZGRyZXNzICUgWFBBR0VTSVpFKSAvIFNFR01FTlRTSVpFOworIAorIAl1bnNpZ25lZCBpbnQg bmJ5dGVzID0gMDsKKyAJd2hpbGUgKG5ieXRlcyA8IHNpemUpIHsKK0BAIC0zMzYsNyArMzM2LDcg QEAgbGlxdWl2aXNpb25fbHlueF9kZXZpY2VfcmVhZCAoZGNfZGV2aWNlX3QgKmFic3RyYWN0LCB1 bnNpZ25lZCBpbnQgYWRkcmVzcywgdW5zaWcKKyAKKyAJCW5ieXRlcyArPSBTRUdNRU5UU0laRTsK KyAJCXNlZ21lbnQrKzsKKy0JCWlmIChzZWdtZW50ID09IChQQUdFU0laRSAvIFNFR01FTlRTSVpF KSkgeworKwkJaWYgKHNlZ21lbnQgPT0gKFhQQUdFU0laRSAvIFNFR01FTlRTSVpFKSkgeworIAkJ CXNlZ21lbnQgPSAwOworIAkJCXBhZ2UrKzsKKyAJCX0KK0BAIC00MTAsMTMgKzQxMCwxMyBAQCBs aXF1aXZpc2lvbl9seW54X2RldmljZV9mb3JlYWNoIChkY19kZXZpY2VfdCAqYWJzdHJhY3QsIGRj X2RpdmVfY2FsbGJhY2tfdCBjYWxsYgorIAl1bnNpZ25lZCBpbnQgaGVhZGVyc2l6ZSA9IChtb2Rl bCA9PSBYRU4pID8gU1pfSEVBREVSX1hFTiA6IFNaX0hFQURFUl9PVEhFUjsKKyAKKyAJLy8gR2V0 IHRoZSBudW1iZXIgb2YgaGVhZGVycyBwZXIgcGFnZS4KKy0JdW5zaWduZWQgaW50IG5wYWdlcyA9 IFBBR0VTSVpFIC8gaGVhZGVyc2l6ZTsKKysJdW5zaWduZWQgaW50IG5wYWdlcyA9IFhQQUdFU0la RSAvIGhlYWRlcnNpemU7CisgCisgCS8vIEdldCB0aGUgbG9nYm9vayBwb2ludGVycy4KKyAJdW5z aWduZWQgaW50IGJlZ2luID0gYXJyYXlfdWludDE2X2xlIChjb25maWcgKyAweDQ2KTsKKyAJdW5z aWduZWQgaW50IGVuZCAgID0gYXJyYXlfdWludDE2X2xlIChjb25maWcgKyAweDQ4KTsKKy0JdW5z aWduZWQgaW50IHJiX2xvZ2Jvb2tfYmVnaW4gPSBSQl9MT0dCT09LX0JFR0lOICsgKGJlZ2luIC8g bnBhZ2VzKSAqIFBBR0VTSVpFICsgKGJlZ2luICUgbnBhZ2VzKSAqIGhlYWRlcnNpemU7CistCXVu c2lnbmVkIGludCByYl9sb2dib29rX2VuZCAgID0gUkJfTE9HQk9PS19CRUdJTiArIChlbmQgICAv IG5wYWdlcykgKiBQQUdFU0laRSArIChlbmQgICAlIG5wYWdlcykgKiBoZWFkZXJzaXplOworKwl1 bnNpZ25lZCBpbnQgcmJfbG9nYm9va19iZWdpbiA9IFJCX0xPR0JPT0tfQkVHSU4gKyAoYmVnaW4g LyBucGFnZXMpICogWFBBR0VTSVpFICsgKGJlZ2luICUgbnBhZ2VzKSAqIGhlYWRlcnNpemU7Cisr CXVuc2lnbmVkIGludCByYl9sb2dib29rX2VuZCAgID0gUkJfTE9HQk9PS19CRUdJTiArIChlbmQg ICAvIG5wYWdlcykgKiBYUEFHRVNJWkUgKyAoZW5kICAgJSBucGFnZXMpICogaGVhZGVyc2l6ZTsK KyAJaWYgKHJiX2xvZ2Jvb2tfYmVnaW4gPCBSQl9MT0dCT09LX0JFR0lOIHx8IHJiX2xvZ2Jvb2tf YmVnaW4gPiBSQl9MT0dCT09LX0VORCB8fAorIAkJcmJfbG9nYm9va19lbmQgICA8IFJCX0xPR0JP T0tfQkVHSU4gfHwgcmJfbG9nYm9va19lbmQgICA+IFJCX0xPR0JPT0tfRU5EKSB7CisgCQlFUlJP UiAoYWJzdHJhY3QtPmNvbnRleHQsICJJbnZhbGlkIGxvZ2Jvb2sgcG9pbnRlcnMgKCUwNHgsICUw NHgpLiIsCitAQCAtNDc4LDggKzQ3OCw4IEBAIGxpcXVpdmlzaW9uX2x5bnhfZGV2aWNlX2ZvcmVh Y2ggKGRjX2RldmljZV90ICphYnN0cmFjdCwgZGNfZGl2ZV9jYWxsYmFja190IGNhbGxiCisgCQkJ YWRkcmVzcyA9IFJCX0xPR0JPT0tfRU5EOworIAorIAkJLy8gU2tpcCB0aGUgcGFkZGluZyBieXRl cy4KKy0JCWlmICgoYWRkcmVzcyAlIFBBR0VTSVpFKSA9PSAwKSB7CistCQkJdW5zaWduZWQgaW50 IHBhZGRpbmcgPSBQQUdFU0laRSAlIGhlYWRlcnNpemU7CisrCQlpZiAoKGFkZHJlc3MgJSBYUEFH RVNJWkUpID09IDApIHsKKysJCQl1bnNpZ25lZCBpbnQgcGFkZGluZyA9IFhQQUdFU0laRSAlIGhl YWRlcnNpemU7CisgCQkJdW5zaWduZWQgY2hhciBkdW1teVtTWl9IRUFERVJfTUFYXSA9IHswfTsK KyAJCQlzdGF0dXMgPSBkY19yYnN0cmVhbV9yZWFkIChyYmxvZ2Jvb2ssICZwcm9ncmVzcywgZHVt bXksIHBhZGRpbmcpOworIAkJCWlmIChzdGF0dXMgIT0gRENfU1RBVFVTX1NVQ0NFU1MpIHsKKy0t LSBhL3NyYy9vY2VhbmljX2F0b20yLmMKKysrKyBiL3NyYy9vY2VhbmljX2F0b20yLmMKK0BAIC0x MDA5LDExICsxMDA5LDExIEBAIG9jZWFuaWNfYXRvbTJfZGV2aWNlX3ZlcnNpb24gKGRjX2Rldmlj ZV90ICphYnN0cmFjdCwgdW5zaWduZWQgY2hhciBkYXRhW10sIHVuc2lnCisgCWlmICghSVNJTlNU QU5DRSAoYWJzdHJhY3QpKQorIAkJcmV0dXJuIERDX1NUQVRVU19JTlZBTElEQVJHUzsKKyAKKy0J aWYgKHNpemUgPCBQQUdFU0laRSkKKysJaWYgKHNpemUgPCBYUEFHRVNJWkUpCisgCQlyZXR1cm4g RENfU1RBVFVTX0lOVkFMSURBUkdTOworIAorIAl1bnNpZ25lZCBjaGFyIGNvbW1hbmRbXSA9IHtD TURfVkVSU0lPTn07CistCWRjX3N0YXR1c190IHJjID0gb2NlYW5pY19hdG9tMl90cmFuc2ZlciAo ZGV2aWNlLCBjb21tYW5kLCBzaXplb2YgKGNvbW1hbmQpLCBBQ0ssIGRhdGEsIFBBR0VTSVpFLCAx KTsKKysJZGNfc3RhdHVzX3QgcmMgPSBvY2VhbmljX2F0b20yX3RyYW5zZmVyIChkZXZpY2UsIGNv bW1hbmQsIHNpemVvZiAoY29tbWFuZCksIEFDSywgZGF0YSwgWFBBR0VTSVpFLCAxKTsKKyAJaWYg KHJjICE9IERDX1NUQVRVU19TVUNDRVNTKQorIAkJcmV0dXJuIHJjOworIAorQEAgLTEwMjcsOCAr MTAyNyw4IEBAIG9jZWFuaWNfYXRvbTJfZGV2aWNlX3JlYWQgKGRjX2RldmljZV90ICphYnN0cmFj dCwgdW5zaWduZWQgaW50IGFkZHJlc3MsIHVuc2lnbmVkCisgCW9jZWFuaWNfYXRvbTJfZGV2aWNl X3QgKmRldmljZSA9IChvY2VhbmljX2F0b20yX2RldmljZV90KikgYWJzdHJhY3Q7CisgCWNvbnN0 IG9jZWFuaWNfY29tbW9uX2xheW91dF90ICpsYXlvdXQgPSBkZXZpY2UtPmJhc2UubGF5b3V0Owor IAorLQlpZiAoKGFkZHJlc3MgJSBQQUdFU0laRSAhPSAwKSB8fAorLQkJKHNpemUgICAgJSBQQUdF U0laRSAhPSAwKSkKKysJaWYgKChhZGRyZXNzICUgWFBBR0VTSVpFICE9IDApIHx8CisrCQkoc2l6 ZSAgICAlIFhQQUdFU0laRSAhPSAwKSkKKyAJCXJldHVybiBEQ19TVEFUVVNfSU5WQUxJREFSR1M7 CisgCisgCS8vIFBpY2sgdGhlIGNvcnJlY3QgcmVhZCBjb21tYW5kIGFuZCBudW1iZXIgb2YgY2hl Y2tzdW0gYnl0ZXMuCitAQCAtMTA1Miw3ICsxMDUyLDcgQEAgb2NlYW5pY19hdG9tMl9kZXZpY2Vf cmVhZCAoZGNfZGV2aWNlX3QgKmFic3RyYWN0LCB1bnNpZ25lZCBpbnQgYWRkcmVzcywgdW5zaWdu ZWQKKyAJfQorIAorIAkvLyBQaWNrIHRoZSBiZXN0IHBhZ2VzaXplIHRvIHVzZS4KKy0JdW5zaWdu ZWQgaW50IHBhZ2VzaXplID0gZGV2aWNlLT5iaWdwYWdlICogUEFHRVNJWkU7CisrCXVuc2lnbmVk IGludCBwYWdlc2l6ZSA9IGRldmljZS0+YmlncGFnZSAqIFhQQUdFU0laRTsKKyAKKyAJLy8gSGln aCBtZW1vcnkgc3RhdGUuCisgCXVuc2lnbmVkIGludCBoaWdobWVtID0gMDsKK0BAIC0xMDY0LDcg KzEwNjQsNyBAQCBvY2VhbmljX2F0b20yX2RldmljZV9yZWFkIChkY19kZXZpY2VfdCAqYWJzdHJh Y3QsIHVuc2lnbmVkIGludCBhZGRyZXNzLCB1bnNpZ25lZAorIAkJCWhpZ2htZW0gPSBsYXlvdXQt PmhpZ2htZW07CisgCQkJcmVhZF9jbWQgPSBDTURfUkVBRDE2SEk7CisgCQkJY3JjX3NpemUgPSAy OworLQkJCXBhZ2VzaXplID0gMTYgKiBQQUdFU0laRTsKKysJCQlwYWdlc2l6ZSA9IDE2ICogWFBB R0VTSVpFOworIAkJfQorIAorIAkJLy8gQ2FsY3VsYXRlIHRoZSBwYWdlIG51bWJlciBhZnRlciBt YXBwaW5nIHRoZSB2aXJ0dWFsIGhpZ2ggbWVtb3J5CitAQCAtMTA3Myw3ICsxMDczLDcgQEAgb2Nl YW5pY19hdG9tMl9kZXZpY2VfcmVhZCAoZGNfZGV2aWNlX3QgKmFic3RyYWN0LCB1bnNpZ25lZCBp bnQgYWRkcmVzcywgdW5zaWduZWQKKyAKKyAJCWlmIChwYWdlICE9IGRldmljZS0+Y2FjaGVkX3Bh Z2UgfHwgaGlnaG1lbSAhPSBkZXZpY2UtPmNhY2hlZF9oaWdobWVtKSB7CisgCQkJLy8gUmVhZCB0 aGUgcGFja2FnZS4KKy0JCQl1bnNpZ25lZCBpbnQgbnVtYmVyID0gaGlnaG1lbSA/IHBhZ2UgOiBw YWdlICogZGV2aWNlLT5iaWdwYWdlOyAvLyBUaGlzIGlzIGFsd2F5cyBQQUdFU0laRSwgZXZlbiBp biBiaWcgcGFnZSBtb2RlLgorKwkJCXVuc2lnbmVkIGludCBudW1iZXIgPSBoaWdobWVtID8gcGFn ZSA6IHBhZ2UgKiBkZXZpY2UtPmJpZ3BhZ2U7IC8vIFRoaXMgaXMgYWx3YXlzIFhQQUdFU0laRSwg ZXZlbiBpbiBiaWcgcGFnZSBtb2RlLgorIAkJCXVuc2lnbmVkIGNoYXIgY29tbWFuZFtdID0ge3Jl YWRfY21kLAorIAkJCQkJKG51bWJlciA+PiA4KSAmIDB4RkYsIC8vIGhpZ2gKKyAJCQkJCShudW1i ZXIgICAgICkgJiAweEZGLCAvLyBsb3cKK0BAIC0xMTA4LDggKzExMDgsOCBAQCBvY2VhbmljX2F0 b20yX2RldmljZV93cml0ZSAoZGNfZGV2aWNlX3QgKmFic3RyYWN0LCB1bnNpZ25lZCBpbnQgYWRk cmVzcywgY29uc3QgdQorIHsKKyAJb2NlYW5pY19hdG9tMl9kZXZpY2VfdCAqZGV2aWNlID0gKG9j ZWFuaWNfYXRvbTJfZGV2aWNlX3QqKSBhYnN0cmFjdDsKKyAKKy0JaWYgKChhZGRyZXNzICUgUEFH RVNJWkUgIT0gMCkgfHwKKy0JCShzaXplICAgICUgUEFHRVNJWkUgIT0gMCkpCisrCWlmICgoYWRk cmVzcyAlIFhQQUdFU0laRSAhPSAwKSB8fAorKwkJKHNpemUgICAgJSBYUEFHRVNJWkUgIT0gMCkp CisgCQlyZXR1cm4gRENfU1RBVFVTX0lOVkFMSURBUkdTOworIAorIAkvLyBJbnZhbGlkYXRlIHRo ZSBjYWNoZS4KK0BAIC0xMTE5LDcgKzExMTksNyBAQCBvY2VhbmljX2F0b20yX2RldmljZV93cml0 ZSAoZGNfZGV2aWNlX3QgKmFic3RyYWN0LCB1bnNpZ25lZCBpbnQgYWRkcmVzcywgY29uc3QgdQor IAl1bnNpZ25lZCBpbnQgbmJ5dGVzID0gMDsKKyAJd2hpbGUgKG5ieXRlcyA8IHNpemUpIHsKKyAJ CS8vIFByZXBhcmUgdG8gd3JpdGUgdGhlIHBhY2thZ2UuCistCQl1bnNpZ25lZCBpbnQgbnVtYmVy ID0gYWRkcmVzcyAvIFBBR0VTSVpFOworKwkJdW5zaWduZWQgaW50IG51bWJlciA9IGFkZHJlc3Mg LyBYUEFHRVNJWkU7CisgCQl1bnNpZ25lZCBjaGFyIHByZXBhcmVbXSA9IHtDTURfV1JJVEUsCisg CQkJCShudW1iZXIgPj4gOCkgJiAweEZGLCAvLyBoaWdoCisgCQkJCShudW1iZXIgICAgICkgJiAw eEZGLCAvLyBsb3cKK0BAIC0xMTI5LDE2ICsxMTI5LDE2IEBAIG9jZWFuaWNfYXRvbTJfZGV2aWNl X3dyaXRlIChkY19kZXZpY2VfdCAqYWJzdHJhY3QsIHVuc2lnbmVkIGludCBhZGRyZXNzLCBjb25z dCB1CisgCQkJcmV0dXJuIHJjOworIAorIAkJLy8gV3JpdGUgdGhlIHBhY2thZ2UuCistCQl1bnNp Z25lZCBjaGFyIGNvbW1hbmRbUEFHRVNJWkUgKyAxXSA9IHswfTsKKy0JCW1lbWNweSAoY29tbWFu ZCwgZGF0YSwgUEFHRVNJWkUpOworLQkJY29tbWFuZFtQQUdFU0laRV0gPSBjaGVja3N1bV9hZGRf dWludDggKGNvbW1hbmQsIFBBR0VTSVpFLCAweDAwKTsKKysJCXVuc2lnbmVkIGNoYXIgY29tbWFu ZFtYUEFHRVNJWkUgKyAxXSA9IHswfTsKKysJCW1lbWNweSAoY29tbWFuZCwgZGF0YSwgWFBBR0VT SVpFKTsKKysJCWNvbW1hbmRbWFBBR0VTSVpFXSA9IGNoZWNrc3VtX2FkZF91aW50OCAoY29tbWFu ZCwgWFBBR0VTSVpFLCAweDAwKTsKKyAJCXJjID0gb2NlYW5pY19hdG9tMl90cmFuc2ZlciAoZGV2 aWNlLCBjb21tYW5kLCBzaXplb2YgKGNvbW1hbmQpLCBBQ0ssIE5VTEwsIDAsIDApOworIAkJaWYg KHJjICE9IERDX1NUQVRVU19TVUNDRVNTKQorIAkJCXJldHVybiByYzsKKyAKKy0JCW5ieXRlcyAr PSBQQUdFU0laRTsKKy0JCWFkZHJlc3MgKz0gUEFHRVNJWkU7CistCQlkYXRhICs9IFBBR0VTSVpF OworKwkJbmJ5dGVzICs9IFhQQUdFU0laRTsKKysJCWFkZHJlc3MgKz0gWFBBR0VTSVpFOworKwkJ ZGF0YSArPSBYUEFHRVNJWkU7CisgCX0KKyAKKyAJcmV0dXJuIERDX1NUQVRVU19TVUNDRVNTOwor LS0tIGEvc3JjL29jZWFuaWNfYXRvbTJfcGFyc2VyLmMKKysrKyBiL3NyYy9vY2VhbmljX2F0b20y X3BhcnNlci5jCitAQCAtMTY1LDggKzE2NSw4IEBAIG9jZWFuaWNfYXRvbTJfcGFyc2VyX2NyZWF0 ZSAoZGNfcGFyc2VyX3QgKipvdXQsIGRjX2NvbnRleHRfdCAqY29udGV4dCwgdW5zaWduZWQKKyAK KyAJLy8gU2V0IHRoZSBkZWZhdWx0IHZhbHVlcy4KKyAJcGFyc2VyLT5tb2RlbCA9IG1vZGVsOwor LQlwYXJzZXItPmhlYWRlcnNpemUgPSA5ICogUEFHRVNJWkUgLyAyOworLQlwYXJzZXItPmZvb3Rl cnNpemUgPSAyICogUEFHRVNJWkUgLyAyOworKwlwYXJzZXItPmhlYWRlcnNpemUgPSA5ICogWFBB R0VTSVpFIC8gMjsKKysJcGFyc2VyLT5mb290ZXJzaXplID0gMiAqIFhQQUdFU0laRSAvIDI7Cisg CWlmIChtb2RlbCA9PSBEQVRBTUFTSyB8fCBtb2RlbCA9PSBDT01QVU1BU0sgfHwKKyAJCW1vZGVs ID09IEdFTyB8fCBtb2RlbCA9PSBHRU8yMCB8fAorIAkJbW9kZWwgPT0gVkVPMjAgfHwgbW9kZWwg PT0gVkVPMzAgfHwKK0BAIC0xNzcsMzAgKzE3NywzMCBAQCBvY2VhbmljX2F0b20yX3BhcnNlcl9j cmVhdGUgKGRjX3BhcnNlcl90ICoqb3V0LCBkY19jb250ZXh0X3QgKmNvbnRleHQsIHVuc2lnbmVk CisgCQltb2RlbCA9PSBJMjAwIHx8IG1vZGVsID09IEkyMDBDIHx8CisgCQltb2RlbCA9PSBJMzAw QyB8fCBtb2RlbCA9PSBHRU80MCB8fAorIAkJbW9kZWwgPT0gVkVPNDAgfHwgbW9kZWwgPT0gSTQ3 MFRDKSB7CistCQlwYXJzZXItPmhlYWRlcnNpemUgLT0gUEFHRVNJWkU7CisrCQlwYXJzZXItPmhl YWRlcnNpemUgLT0gWFBBR0VTSVpFOworIAl9IGVsc2UgaWYgKG1vZGVsID09IFZUNCB8fCBtb2Rl bCA9PSBWVDQxKSB7CistCQlwYXJzZXItPmhlYWRlcnNpemUgKz0gUEFHRVNJWkU7CisrCQlwYXJz ZXItPmhlYWRlcnNpemUgKz0gWFBBR0VTSVpFOworIAl9IGVsc2UgaWYgKG1vZGVsID09IFRYMSkg eworLQkJcGFyc2VyLT5oZWFkZXJzaXplICs9IDIgKiBQQUdFU0laRTsKKysJCXBhcnNlci0+aGVh ZGVyc2l6ZSArPSAyICogWFBBR0VTSVpFOworIAl9IGVsc2UgaWYgKG1vZGVsID09IEFUT00xIHx8 IG1vZGVsID09IEkxMDAgfHwKKyAJCW1vZGVsID09IFBST1BMVVM0KSB7CistCQlwYXJzZXItPmhl YWRlcnNpemUgLT0gMiAqIFBBR0VTSVpFOworKwkJcGFyc2VyLT5oZWFkZXJzaXplIC09IDIgKiBY UEFHRVNJWkU7CisgCX0gZWxzZSBpZiAobW9kZWwgPT0gRjEwQSB8fCBtb2RlbCA9PSBGMTBCIHx8 CisgCQltb2RlbCA9PSBNVU5ESUFMMiB8fCBtb2RlbCA9PSBNVU5ESUFMMykgeworLQkJcGFyc2Vy LT5oZWFkZXJzaXplID0gMyAqIFBBR0VTSVpFOworKwkJcGFyc2VyLT5oZWFkZXJzaXplID0gMyAq IFhQQUdFU0laRTsKKyAJCXBhcnNlci0+Zm9vdGVyc2l6ZSA9IDA7CisgCX0gZWxzZSBpZiAobW9k ZWwgPT0gRjExQSB8fCBtb2RlbCA9PSBGMTFCKSB7CistCQlwYXJzZXItPmhlYWRlcnNpemUgPSA1 ICogUEFHRVNJWkU7CisrCQlwYXJzZXItPmhlYWRlcnNpemUgPSA1ICogWFBBR0VTSVpFOworIAkJ cGFyc2VyLT5mb290ZXJzaXplID0gMDsKKyAJfSBlbHNlIGlmIChtb2RlbCA9PSBBMzAwQ1MgfHwg bW9kZWwgPT0gVlRYIHx8CisgCQltb2RlbCA9PSBJNDUwVCB8fCBtb2RlbCA9PSBJNzUwVEMgfHwK KyAJCW1vZGVsID09IEk3NzBSIHx8IG1vZGVsID09IFNBR0UgfHwKKyAJCW1vZGVsID09IEJFQUNP TikgeworLQkJcGFyc2VyLT5oZWFkZXJzaXplID0gNSAqIFBBR0VTSVpFOworKwkJcGFyc2VyLT5o ZWFkZXJzaXplID0gNSAqIFhQQUdFU0laRTsKKyAJfSBlbHNlIGlmIChtb2RlbCA9PSBQUk9QTFVT WCkgeworLQkJcGFyc2VyLT5oZWFkZXJzaXplID0gMyAqIFBBR0VTSVpFOworKwkJcGFyc2VyLT5o ZWFkZXJzaXplID0gMyAqIFhQQUdFU0laRTsKKyAJfSBlbHNlIGlmIChtb2RlbCA9PSBJNTUwQyB8 fCBtb2RlbCA9PSBXSVNET000KSB7CistCQlwYXJzZXItPmhlYWRlcnNpemUgPSA1ICogUEFHRVNJ WkUgLyAyOworKwkJcGFyc2VyLT5oZWFkZXJzaXplID0gNSAqIFhQQUdFU0laRSAvIDI7CisgCX0K KyAKKyAJcGFyc2VyLT5zZXJpYWwgPSBzZXJpYWw7CitAQCAtNDI4LDEyICs0MjgsMTIgQEAgb2Nl YW5pY19hdG9tMl9wYXJzZXJfY2FjaGUgKG9jZWFuaWNfYXRvbTJfcGFyc2VyX3QgKnBhcnNlcikK KyAJCXJldHVybiBEQ19TVEFUVVNfREFUQUZPUk1BVDsKKyAKKyAJLy8gR2V0IHRoZSBvZmZzZXQg dG8gdGhlIGhlYWRlciBhbmQgZm9vdGVyIHNhbXBsZS4KKy0JdW5zaWduZWQgaW50IGhlYWRlciA9 IGhlYWRlcnNpemUgLSBQQUdFU0laRSAvIDI7CisrCXVuc2lnbmVkIGludCBoZWFkZXIgPSBoZWFk ZXJzaXplIC0gWFBBR0VTSVpFIC8gMjsKKyAJdW5zaWduZWQgaW50IGZvb3RlciA9IHNpemUgLSBm b290ZXJzaXplOworIAlpZiAocGFyc2VyLT5tb2RlbCA9PSBWVDQgfHwgcGFyc2VyLT5tb2RlbCA9 PSBWVDQxIHx8CisgCQlwYXJzZXItPm1vZGVsID09IEEzMDBBSSB8fCBwYXJzZXItPm1vZGVsID09 IFZJU0lPTiB8fAorIAkJcGFyc2VyLT5tb2RlbCA9PSBYUEFJUikgeworLQkJaGVhZGVyID0gMyAq IFBBR0VTSVpFOworKwkJaGVhZGVyID0gMyAqIFhQQUdFU0laRTsKKyAJfQorIAorIAkvLyBHZXQg dGhlIGRpdmUgbW9kZS4KK0BAIC02NjAsNyArNjYwLDcgQEAgb2NlYW5pY19hdG9tMl9wYXJzZXJf dmVuZG9yIChvY2VhbmljX2F0b20yX3BhcnNlcl90ICpwYXJzZXIsIGNvbnN0IHVuc2lnbmVkIGNo YXIKKyAJCS8vIEdldCB0aGUgc2FtcGxlIHNpemUuCisgCQl1bnNpZ25lZCBpbnQgbGVuZ3RoID0g c2FtcGxlc2l6ZTsKKyAJCWlmIChzYW1wbGV0eXBlID09IDB4QkIpIHsKKy0JCQlsZW5ndGggPSBQ QUdFU0laRTsKKysJCQlsZW5ndGggPSBYUEFHRVNJWkU7CisgCQl9CisgCisgCQkvLyBWZW5kb3Ig c3BlY2lmaWMgZGF0YQorQEAgLTczOCw3ICs3MzgsNyBAQCBvY2VhbmljX2F0b20yX3BhcnNlcl9z YW1wbGVzX2ZvcmVhY2ggKGRjX3BhcnNlcl90ICphYnN0cmFjdCwgZGNfc2FtcGxlX2NhbGxiYWNr XworIAkJfQorIAl9CisgCistCXVuc2lnbmVkIGludCBzYW1wbGVzaXplID0gUEFHRVNJWkUgLyAy OworKwl1bnNpZ25lZCBpbnQgc2FtcGxlc2l6ZSA9IFhQQUdFU0laRSAvIDI7CisgCWlmIChwYXJz ZXItPm1vZGUgPT0gRlJFRURJVkUpIHsKKyAJCWlmIChwYXJzZXItPm1vZGVsID09IEYxMEEgfHwg cGFyc2VyLT5tb2RlbCA9PSBGMTBCIHx8CisgCQkJcGFyc2VyLT5tb2RlbCA9PSBGMTFBIHx8IHBh cnNlci0+bW9kZWwgPT0gRjExQiB8fAorQEAgLTc1NCw3ICs3NTQsNyBAQCBvY2VhbmljX2F0b20y X3BhcnNlcl9zYW1wbGVzX2ZvcmVhY2ggKGRjX3BhcnNlcl90ICphYnN0cmFjdCwgZGNfc2FtcGxl X2NhbGxiYWNrXworIAkJcGFyc2VyLT5tb2RlbCA9PSBJNzUwVEMgfHwgcGFyc2VyLT5tb2RlbCA9 PSBQUk9QTFVTWCB8fAorIAkJcGFyc2VyLT5tb2RlbCA9PSBJNzcwUiB8fCBwYXJzZXItPm1vZGVs ID09IEk0NzBUQyB8fAorIAkJcGFyc2VyLT5tb2RlbCA9PSBTQUdFIHx8IHBhcnNlci0+bW9kZWwg PT0gQkVBQ09OKSB7CistCQlzYW1wbGVzaXplID0gUEFHRVNJWkU7CisrCQlzYW1wbGVzaXplID0g WFBBR0VTSVpFOworIAl9CisgCisgCXVuc2lnbmVkIGludCBoYXZlX3RlbXBlcmF0dXJlID0gMSwg aGF2ZV9wcmVzc3VyZSA9IDE7CitAQCAtODI0LDcgKzgyNCw3IEBAIG9jZWFuaWNfYXRvbTJfcGFy c2VyX3NhbXBsZXNfZm9yZWFjaCAoZGNfcGFyc2VyX3QgKmFic3RyYWN0LCBkY19zYW1wbGVfY2Fs bGJhY2tfCisgCQkvLyBsYXJnZXIgc2l6ZS4gQ2hlY2sgd2hldGhlciB3ZSBoYXZlIHRoYXQgbWFu eSBieXRlcyBhdmFpbGFibGUuCisgCQl1bnNpZ25lZCBpbnQgbGVuZ3RoID0gc2FtcGxlc2l6ZTsK KyAJCWlmIChzYW1wbGV0eXBlID09IDB4QkIpIHsKKy0JCQlsZW5ndGggPSBQQUdFU0laRTsKKysJ CQlsZW5ndGggPSBYUEFHRVNJWkU7CisgCQkJaWYgKG9mZnNldCArIGxlbmd0aCA+IHNpemUgLSBw YXJzZXItPmZvb3RlcnNpemUpIHsKKyAJCQkJRVJST1IgKGFic3RyYWN0LT5jb250ZXh0LCAiQnVm ZmVyIG92ZXJmbG93IGRldGVjdGVkISIpOworIAkJCQlyZXR1cm4gRENfU1RBVFVTX0RBVEFGT1JN QVQ7CistLS0gYS9zcmMvb2NlYW5pY19jb21tb24uYworKysrIGIvc3JjL29jZWFuaWNfY29tbW9u LmMKK0BAIC0xMDQsNyArMTA0LDcgQEAgb2NlYW5pY19jb21tb25fbWF0Y2hfcGF0dGVybiAoY29u c3QgdW5zaWduZWQgY2hhciAqc3RyaW5nLCBjb25zdCB1bnNpZ25lZCBjaGFyICoKKyAJdW5zaWdu ZWQgaW50IHZhbHVlID0gMDsKKyAJdW5zaWduZWQgaW50IGNvdW50ID0gMDsKKyAKKy0JZm9yICh1 bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBQQUdFU0laRTsgKytpLCArK3BhdHRlcm4sICsrc3RyaW5n KSB7CisrCWZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgWFBBR0VTSVpFOyArK2ksICsrcGF0 dGVybiwgKytzdHJpbmcpIHsKKyAJCWlmICgqcGF0dGVybiAhPSAnXDAnKSB7CisgCQkJLy8gQ29t cGFyZSB0aGUgcGF0dGVybi4KKyAJCQlpZiAoKnBhdHRlcm4gIT0gKnN0cmluZykKK0BAIC0yMDYs NyArMjA2LDcgQEAgb2NlYW5pY19jb21tb25fZGV2aWNlX2R1bXAgKGRjX2RldmljZV90ICphYnN0 cmFjdCwgZGNfYnVmZmVyX3QgKmJ1ZmZlcikKKyAJZGV2aWNlX2V2ZW50X2VtaXQgKGFic3RyYWN0 LCBEQ19FVkVOVF9WRU5ET1IsICZ2ZW5kb3IpOworIAorIAlyZXR1cm4gZGV2aWNlX2R1bXBfcmVh ZCAoYWJzdHJhY3QsIGRjX2J1ZmZlcl9nZXRfZGF0YSAoYnVmZmVyKSwKKy0JCWRjX2J1ZmZlcl9n ZXRfc2l6ZSAoYnVmZmVyKSwgUEFHRVNJWkUgKiBkZXZpY2UtPm11bHRpcGFnZSk7CisrCQlkY19i dWZmZXJfZ2V0X3NpemUgKGJ1ZmZlciksIFhQQUdFU0laRSAqIGRldmljZS0+bXVsdGlwYWdlKTsK KyB9CisgCisgCitAQCAtMjM1LDcgKzIzNSw3IEBAIG9jZWFuaWNfY29tbW9uX2RldmljZV9sb2di b29rIChkY19kZXZpY2VfdCAqYWJzdHJhY3QsIGRjX2V2ZW50X3Byb2dyZXNzX3QgKnByb2dyCisg CX0KKyAKKyAJLy8gUmVhZCB0aGUgcG9pbnRlciBkYXRhLgorLQl1bnNpZ25lZCBjaGFyIHBvaW50 ZXJzW1BBR0VTSVpFXSA9IHswfTsKKysJdW5zaWduZWQgY2hhciBwb2ludGVyc1tYUEFHRVNJWkVd ID0gezB9OworIAlyYyA9IGRjX2RldmljZV9yZWFkIChhYnN0cmFjdCwgbGF5b3V0LT5jZl9wb2lu dGVycywgcG9pbnRlcnMsIHNpemVvZiAocG9pbnRlcnMpKTsKKyAJaWYgKHJjICE9IERDX1NUQVRV U19TVUNDRVNTKSB7CisgCQlFUlJPUiAoYWJzdHJhY3QtPmNvbnRleHQsICJGYWlsZWQgdG8gcmVh ZCB0aGUgbWVtb3J5IHBhZ2UuIik7CitAQCAtMjc5LDggKzI3OSw4IEBAIG9jZWFuaWNfY29tbW9u X2RldmljZV9sb2dib29rIChkY19kZXZpY2VfdCAqYWJzdHJhY3QsIGRjX2V2ZW50X3Byb2dyZXNz X3QgKnByb2dyCisgCX0KKyAKKyAJLy8gVXBkYXRlIGFuZCBlbWl0IGEgcHJvZ3Jlc3MgZXZlbnQu CistCXByb2dyZXNzLT5jdXJyZW50ICs9IFBBR0VTSVpFOworLQlwcm9ncmVzcy0+bWF4aW11bSAr PSBQQUdFU0laRTsKKysJcHJvZ3Jlc3MtPmN1cnJlbnQgKz0gWFBBR0VTSVpFOworKwlwcm9ncmVz cy0+bWF4aW11bSArPSBYUEFHRVNJWkU7CisgCXByb2dyZXNzLT5tYXhpbXVtIC09IChsYXlvdXQt PnJiX2xvZ2Jvb2tfZW5kIC0gbGF5b3V0LT5yYl9sb2dib29rX2JlZ2luKSAtIHJiX2xvZ2Jvb2tf c2l6ZTsKKyAJZGV2aWNlX2V2ZW50X2VtaXQgKGFic3RyYWN0LCBEQ19FVkVOVF9QUk9HUkVTUywg cHJvZ3Jlc3MpOworIAorQEAgLTI5OCw3ICsyOTgsNyBAQCBvY2VhbmljX2NvbW1vbl9kZXZpY2Vf bG9nYm9vayAoZGNfZGV2aWNlX3QgKmFic3RyYWN0LCBkY19ldmVudF9wcm9ncmVzc190ICpwcm9n cgorIAorIAkvLyBDcmVhdGUgdGhlIHJpbmdidWZmZXIgc3RyZWFtLgorIAlkY19yYnN0cmVhbV90 ICpyYnN0cmVhbSA9IE5VTEw7CistCXJjID0gZGNfcmJzdHJlYW1fbmV3ICgmcmJzdHJlYW0sIGFi c3RyYWN0LCBQQUdFU0laRSwgUEFHRVNJWkUgKiBkZXZpY2UtPm11bHRpcGFnZSwgbGF5b3V0LT5y Yl9sb2dib29rX2JlZ2luLCBsYXlvdXQtPnJiX2xvZ2Jvb2tfZW5kLCByYl9sb2dib29rX2VuZCk7 CisrCXJjID0gZGNfcmJzdHJlYW1fbmV3ICgmcmJzdHJlYW0sIGFic3RyYWN0LCBYUEFHRVNJWkUs IFhQQUdFU0laRSAqIGRldmljZS0+bXVsdGlwYWdlLCBsYXlvdXQtPnJiX2xvZ2Jvb2tfYmVnaW4s IGxheW91dC0+cmJfbG9nYm9va19lbmQsIHJiX2xvZ2Jvb2tfZW5kKTsKKyAJaWYgKHJjICE9IERD X1NUQVRVU19TVUNDRVNTKSB7CisgCQlFUlJPUiAoYWJzdHJhY3QtPmNvbnRleHQsICJGYWlsZWQg dG8gY3JlYXRlIHRoZSByaW5nYnVmZmVyIHN0cmVhbS4iKTsKKyAJCXJldHVybiByYzsKK0BAIC0z NzUsNyArMzc1LDcgQEAgb2NlYW5pY19jb21tb25fZGV2aWNlX3Byb2ZpbGUgKGRjX2RldmljZV90 ICphYnN0cmFjdCwgZGNfZXZlbnRfcHJvZ3Jlc3NfdCAqcHJvZ3IKKyAJY29uc3Qgb2NlYW5pY19j b21tb25fbGF5b3V0X3QgKmxheW91dCA9IGRldmljZS0+bGF5b3V0OworIAorIAkvLyBHZXQgdGhl IHBhZ2VzaXplCistCXVuc2lnbmVkIGludCBwYWdlc2l6ZSA9IGxheW91dC0+aGlnaG1lbSA/IDE2 ICogUEFHRVNJWkUgOiBQQUdFU0laRTsKKysJdW5zaWduZWQgaW50IHBhZ2VzaXplID0gbGF5b3V0 LT5oaWdobWVtID8gMTYgKiBYUEFHRVNJWkUgOiBYUEFHRVNJWkU7CisgCisgCS8vIENhY2hlIHRo ZSBsb2dib29rIHBvaW50ZXIgYW5kIHNpemUuCisgCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmxvZ2Jv b2tzID0gZGNfYnVmZmVyX2dldF9kYXRhIChsb2dib29rKTsKK0BAIC00NjAsNyArNDYwLDcgQEAg b2NlYW5pY19jb21tb25fZGV2aWNlX3Byb2ZpbGUgKGRjX2RldmljZV90ICphYnN0cmFjdCwgZGNf ZXZlbnRfcHJvZ3Jlc3NfdCAqcHJvZ3IKKyAKKyAJLy8gQ3JlYXRlIHRoZSByaW5nYnVmZmVyIHN0 cmVhbS4KKyAJZGNfcmJzdHJlYW1fdCAqcmJzdHJlYW0gPSBOVUxMOworLQlyYyA9IGRjX3Jic3Ry ZWFtX25ldyAoJnJic3RyZWFtLCBhYnN0cmFjdCwgUEFHRVNJWkUsIFBBR0VTSVpFICogZGV2aWNl LT5tdWx0aXBhZ2UsIGxheW91dC0+cmJfcHJvZmlsZV9iZWdpbiwgbGF5b3V0LT5yYl9wcm9maWxl X2VuZCwgcmJfcHJvZmlsZV9lbmQpOworKwlyYyA9IGRjX3Jic3RyZWFtX25ldyAoJnJic3RyZWFt LCBhYnN0cmFjdCwgWFBBR0VTSVpFLCBYUEFHRVNJWkUgKiBkZXZpY2UtPm11bHRpcGFnZSwgbGF5 b3V0LT5yYl9wcm9maWxlX2JlZ2luLCBsYXlvdXQtPnJiX3Byb2ZpbGVfZW5kLCByYl9wcm9maWxl X2VuZCk7CisgCWlmIChyYyAhPSBEQ19TVEFUVVNfU1VDQ0VTUykgeworIAkJRVJST1IgKGFic3Ry YWN0LT5jb250ZXh0LCAiRmFpbGVkIHRvIGNyZWF0ZSB0aGUgcmluZ2J1ZmZlciBzdHJlYW0uIik7 CisgCQlyZXR1cm4gcmM7CitAQCAtNTUzLDcgKzU1Myw3IEBAIG9jZWFuaWNfY29tbW9uX2Rldmlj ZV9wcm9maWxlIChkY19kZXZpY2VfdCAqYWJzdHJhY3QsIGRjX2V2ZW50X3Byb2dyZXNzX3QgKnBy b2dyCisgCQkJdW5zaWduZWQgaW50IHZhbHVlX2hpID0gdmFsdWUgJiAweEUwMDA7CisgCQkJdW5z aWduZWQgaW50IHZhbHVlX2xvID0gdmFsdWUgJiAweDBGRkY7CisgCQkJdW5zaWduZWQgaW50IG5w YWdlcyA9ICgodmFsdWVfaGkgPj4gMSkgfCB2YWx1ZV9sbykgKyAxOworLQkJCXVuc2lnbmVkIGlu dCBsZW5ndGggPSBucGFnZXMgKiBQQUdFU0laRTsKKysJCQl1bnNpZ25lZCBpbnQgbGVuZ3RoID0g bnBhZ2VzICogWFBBR0VTSVpFOworIAkJCWlmIChyYl9lbnRyeV9zaXplID4gbGVuZ3RoKSB7Cisg CQkJCXJiX2VudHJ5X3NpemUgPSBsZW5ndGg7CisgCQkJfQorQEAgLTU4NCw3ICs1ODQsNyBAQCBv Y2VhbmljX2NvbW1vbl9kZXZpY2VfZm9yZWFjaCAoZGNfZGV2aWNlX3QgKmFic3RyYWN0LCBkY19k aXZlX2NhbGxiYWNrX3QgY2FsbGJhYworIAorIAkvLyBFbmFibGUgcHJvZ3Jlc3Mgbm90aWZpY2F0 aW9ucy4KKyAJZGNfZXZlbnRfcHJvZ3Jlc3NfdCBwcm9ncmVzcyA9IEVWRU5UX1BST0dSRVNTX0lO SVRJQUxJWkVSOworLQlwcm9ncmVzcy5tYXhpbXVtID0gUEFHRVNJWkUgKworKwlwcm9ncmVzcy5t YXhpbXVtID0gWFBBR0VTSVpFICsKKyAJCShsYXlvdXQtPnJiX2xvZ2Jvb2tfZW5kIC0gbGF5b3V0 LT5yYl9sb2dib29rX2JlZ2luKSArCisgCQkobGF5b3V0LT5yYl9wcm9maWxlX2VuZCAtIGxheW91 dC0+cmJfcHJvZmlsZV9iZWdpbik7CisgCWRldmljZV9ldmVudF9lbWl0IChhYnN0cmFjdCwgRENf RVZFTlRfUFJPR1JFU1MsICZwcm9ncmVzcyk7CitAQCAtNTk2LDcgKzU5Niw3IEBAIG9jZWFuaWNf Y29tbW9uX2RldmljZV9mb3JlYWNoIChkY19kZXZpY2VfdCAqYWJzdHJhY3QsIGRjX2RpdmVfY2Fs bGJhY2tfdCBjYWxsYmFjCisgCWRldmljZV9ldmVudF9lbWl0IChhYnN0cmFjdCwgRENfRVZFTlRf VkVORE9SLCAmdmVuZG9yKTsKKyAKKyAJLy8gUmVhZCB0aGUgZGV2aWNlIGlkLgorLQl1bnNpZ25l ZCBjaGFyIGlkW1BBR0VTSVpFXSA9IHswfTsKKysJdW5zaWduZWQgY2hhciBpZFtYUEFHRVNJWkVd ID0gezB9OworIAlkY19zdGF0dXNfdCByYyA9IGRjX2RldmljZV9yZWFkIChhYnN0cmFjdCwgbGF5 b3V0LT5jZl9kZXZpbmZvLCBpZCwgc2l6ZW9mIChpZCkpOworIAlpZiAocmMgIT0gRENfU1RBVFVT X1NVQ0NFU1MpIHsKKyAJCUVSUk9SIChhYnN0cmFjdC0+Y29udGV4dCwgIkZhaWxlZCB0byByZWFk IHRoZSBtZW1vcnkgcGFnZS4iKTsKK0BAIC02MDQsNyArNjA0LDcgQEAgb2NlYW5pY19jb21tb25f ZGV2aWNlX2ZvcmVhY2ggKGRjX2RldmljZV90ICphYnN0cmFjdCwgZGNfZGl2ZV9jYWxsYmFja190 IGNhbGxiYWMKKyAJfQorIAorIAkvLyBVcGRhdGUgYW5kIGVtaXQgYSBwcm9ncmVzcyBldmVudC4K Ky0JcHJvZ3Jlc3MuY3VycmVudCArPSBQQUdFU0laRTsKKysJcHJvZ3Jlc3MuY3VycmVudCArPSBY UEFHRVNJWkU7CisgCWRldmljZV9ldmVudF9lbWl0IChhYnN0cmFjdCwgRENfRVZFTlRfUFJPR1JF U1MsICZwcm9ncmVzcyk7CisgCisgCS8vIEVtaXQgYSBkZXZpY2UgaW5mbyBldmVudC4KKy0tLSBh L3NyYy9vY2VhbmljX2NvbW1vbi5oCisrKysgYi9zcmMvb2NlYW5pY19jb21tb24uaAorQEAgLTI4 LDcgKzI4LDcgQEAKKyBleHRlcm4gIkMiIHsKKyAjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKyAK Ky0jZGVmaW5lIFBBR0VTSVpFIDB4MTAKKysjZGVmaW5lIFhQQUdFU0laRSAweDEwCisgI2RlZmlu ZSBGUE1BWFNJWkUgMHgyMAorIAorICNkZWZpbmUgT0NFQU5JQ19DT01NT05fTUFUQ0godmVyc2lv bixwYXR0ZXJucyxmaXJtd2FyZSkgXAorQEAgLTYyLDcgKzYyLDcgQEAgdHlwZWRlZiBzdHJ1Y3Qg b2NlYW5pY19jb21tb25fbGF5b3V0X3QgeworIHR5cGVkZWYgc3RydWN0IG9jZWFuaWNfY29tbW9u X2RldmljZV90IHsKKyAJZGNfZGV2aWNlX3QgYmFzZTsKKyAJdW5zaWduZWQgaW50IGZpcm13YXJl OworLQl1bnNpZ25lZCBjaGFyIHZlcnNpb25bUEFHRVNJWkVdOworKwl1bnNpZ25lZCBjaGFyIHZl cnNpb25bWFBBR0VTSVpFXTsKKyAJdW5zaWduZWQgY2hhciBmaW5nZXJwcmludFtGUE1BWFNJWkVd OworIAljb25zdCBvY2VhbmljX2NvbW1vbl9sYXlvdXRfdCAqbGF5b3V0OworIAl1bnNpZ25lZCBp bnQgbXVsdGlwYWdlOworQEAgLTc1LDcgKzc1LDcgQEAgdHlwZWRlZiBzdHJ1Y3Qgb2NlYW5pY19j b21tb25fZGV2aWNlX3Z0YWJsZV90IHsKKyB9IG9jZWFuaWNfY29tbW9uX2RldmljZV92dGFibGVf dDsKKyAKKyB0eXBlZGVmIHN0cnVjdCBvY2VhbmljX2NvbW1vbl92ZXJzaW9uX3QgeworLQl1bnNp Z25lZCBjaGFyIHBhdHRlcm5bUEFHRVNJWkUgKyAxXTsKKysJdW5zaWduZWQgY2hhciBwYXR0ZXJu W1hQQUdFU0laRSArIDFdOworIAl1bnNpZ25lZCBpbnQgZmlybXdhcmU7CisgCWNvbnN0IG9jZWFu aWNfY29tbW9uX2xheW91dF90ICpsYXlvdXQ7CisgfSBvY2VhbmljX2NvbW1vbl92ZXJzaW9uX3Q7 CistLS0gYS9zcmMvb2NlYW5pY192ZW8yNTAuYworKysrIGIvc3JjL29jZWFuaWNfdmVvMjUwLmMK K0BAIC0zODQsMjQgKzM4NCwyNCBAQCBvY2VhbmljX3ZlbzI1MF9kZXZpY2VfdmVyc2lvbiAoZGNf ZGV2aWNlX3QgKmFic3RyYWN0LCB1bnNpZ25lZCBjaGFyIGRhdGFbXSwgdW5zaQorIAlpZiAoIUlT SU5TVEFOQ0UgKGFic3RyYWN0KSkKKyAJCXJldHVybiBEQ19TVEFUVVNfSU5WQUxJREFSR1M7Cisg CistCWlmIChzaXplIDwgUEFHRVNJWkUpCisrCWlmIChzaXplIDwgWFBBR0VTSVpFKQorIAkJcmV0 dXJuIERDX1NUQVRVU19JTlZBTElEQVJHUzsKKyAKKy0JdW5zaWduZWQgY2hhciBhbnN3ZXJbUEFH RVNJWkUgKyAyXSA9IHswfTsKKysJdW5zaWduZWQgY2hhciBhbnN3ZXJbWFBBR0VTSVpFICsgMl0g PSB7MH07CisgCXVuc2lnbmVkIGNoYXIgY29tbWFuZFsyXSA9IHsweDkwLCAweDAwfTsKKyAJZGNf c3RhdHVzX3QgcmMgPSBvY2VhbmljX3ZlbzI1MF90cmFuc2ZlciAoZGV2aWNlLCBjb21tYW5kLCBz aXplb2YgKGNvbW1hbmQpLCBhbnN3ZXIsIHNpemVvZiAoYW5zd2VyKSk7CisgCWlmIChyYyAhPSBE Q19TVEFUVVNfU1VDQ0VTUykKKyAJCXJldHVybiByYzsKKyAKKyAJLy8gVmVyaWZ5IHRoZSBjaGVj a3N1bSBvZiB0aGUgYW5zd2VyLgorLQl1bnNpZ25lZCBjaGFyIGNyYyA9IGFuc3dlcltQQUdFU0la RV07CistCXVuc2lnbmVkIGNoYXIgY2NyYyA9IGNoZWNrc3VtX2FkZF91aW50OCAoYW5zd2VyLCBQ QUdFU0laRSwgMHgwMCk7CisrCXVuc2lnbmVkIGNoYXIgY3JjID0gYW5zd2VyW1hQQUdFU0laRV07 CisrCXVuc2lnbmVkIGNoYXIgY2NyYyA9IGNoZWNrc3VtX2FkZF91aW50OCAoYW5zd2VyLCBYUEFH RVNJWkUsIDB4MDApOworIAlpZiAoY3JjICE9IGNjcmMpIHsKKyAJCUVSUk9SIChhYnN0cmFjdC0+ Y29udGV4dCwgIlVuZXhwZWN0ZWQgYW5zd2VyIGNoZWNrc3VtLiIpOworIAkJcmV0dXJuIERDX1NU QVRVU19QUk9UT0NPTDsKKyAJfQorIAorLQltZW1jcHkgKGRhdGEsIGFuc3dlciwgUEFHRVNJWkUp OworKwltZW1jcHkgKGRhdGEsIGFuc3dlciwgWFBBR0VTSVpFKTsKKyAKKyAJcmV0dXJuIERDX1NU QVRVU19TVUNDRVNTOworIH0KK0BAIC00MTIsMjggKzQxMiwyOCBAQCBvY2VhbmljX3ZlbzI1MF9k ZXZpY2VfcmVhZCAoZGNfZGV2aWNlX3QgKmFic3RyYWN0LCB1bnNpZ25lZCBpbnQgYWRkcmVzcywg dW5zaWduZQorIHsKKyAJb2NlYW5pY192ZW8yNTBfZGV2aWNlX3QgKmRldmljZSA9IChvY2Vhbmlj X3ZlbzI1MF9kZXZpY2VfdCopIGFic3RyYWN0OworIAorLQlpZiAoKGFkZHJlc3MgJSBQQUdFU0la RSAhPSAwKSB8fAorLQkJKHNpemUgICAgJSBQQUdFU0laRSAhPSAwKSkKKysJaWYgKChhZGRyZXNz ICUgWFBBR0VTSVpFICE9IDApIHx8CisrCQkoc2l6ZSAgICAlIFhQQUdFU0laRSAhPSAwKSkKKyAJ CXJldHVybiBEQ19TVEFUVVNfSU5WQUxJREFSR1M7CisgCisgCXVuc2lnbmVkIGludCBuYnl0ZXMg PSAwOworIAl3aGlsZSAobmJ5dGVzIDwgc2l6ZSkgeworIAkJLy8gQ2FsY3VsYXRlIHRoZSBudW1i ZXIgb2YgcGFja2FnZXMuCistCQl1bnNpZ25lZCBpbnQgbnBhY2tldHMgPSAoc2l6ZSAtIG5ieXRl cykgLyBQQUdFU0laRTsKKysJCXVuc2lnbmVkIGludCBucGFja2V0cyA9IChzaXplIC0gbmJ5dGVz KSAvIFhQQUdFU0laRTsKKyAJCWlmIChucGFja2V0cyA+IE1VTFRJUEFHRSkKKyAJCQlucGFja2V0 cyA9IE1VTFRJUEFHRTsKKyAKKyAJCS8vIFJlYWQgdGhlIHBhY2thZ2UuCistCQl1bnNpZ25lZCBp bnQgZmlyc3QgPSAgYWRkcmVzcyAvIFBBR0VTSVpFOworKwkJdW5zaWduZWQgaW50IGZpcnN0ID0g IGFkZHJlc3MgLyBYUEFHRVNJWkU7CisgCQl1bnNpZ25lZCBpbnQgbGFzdCAgPSBmaXJzdCArIG5w YWNrZXRzIC0gMTsKKy0JCXVuc2lnbmVkIGNoYXIgYW5zd2VyWyhQQUdFU0laRSArIDEpICogTVVM VElQQUdFICsgMV0gPSB7MH07CisrCQl1bnNpZ25lZCBjaGFyIGFuc3dlclsoWFBBR0VTSVpFICsg MSkgKiBNVUxUSVBBR0UgKyAxXSA9IHswfTsKKyAJCXVuc2lnbmVkIGNoYXIgY29tbWFuZFs2XSA9 IHsweDIwLAorIAkJCQkoZmlyc3QgICAgICkgJiAweEZGLCAvLyBsb3cKKyAJCQkJKGZpcnN0ID4+ IDgpICYgMHhGRiwgLy8gaGlnaAorIAkJCQkobGFzdCAgICAgKSAmIDB4RkYsIC8vIGxvdworIAkJ CQkobGFzdCA+PiA4KSAmIDB4RkYsIC8vIGhpZ2gKKyAJCQkJMH07CistCQlkY19zdGF0dXNfdCBy YyA9IG9jZWFuaWNfdmVvMjUwX3RyYW5zZmVyIChkZXZpY2UsIGNvbW1hbmQsIHNpemVvZiAoY29t bWFuZCksIGFuc3dlciwgKFBBR0VTSVpFICsgMSkgKiBucGFja2V0cyArIDEpOworKwkJZGNfc3Rh dHVzX3QgcmMgPSBvY2VhbmljX3ZlbzI1MF90cmFuc2ZlciAoZGV2aWNlLCBjb21tYW5kLCBzaXpl b2YgKGNvbW1hbmQpLCBhbnN3ZXIsIChYUEFHRVNJWkUgKyAxKSAqIG5wYWNrZXRzICsgMSk7Cisg CQlpZiAocmMgIT0gRENfU1RBVFVTX1NVQ0NFU1MpCisgCQkJcmV0dXJuIHJjOworIAorQEAgLTQ0 MiwxOSArNDQyLDE5IEBAIG9jZWFuaWNfdmVvMjUwX2RldmljZV9yZWFkIChkY19kZXZpY2VfdCAq YWJzdHJhY3QsIHVuc2lnbmVkIGludCBhZGRyZXNzLCB1bnNpZ25lCisgCQl1bnNpZ25lZCBpbnQg b2Zmc2V0ID0gMDsKKyAJCWZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnBhY2tldHM7ICsr aSkgeworIAkJCS8vIFZlcmlmeSB0aGUgY2hlY2tzdW0gb2YgdGhlIGFuc3dlci4KKy0JCQl1bnNp Z25lZCBjaGFyIGNyYyA9IGFuc3dlcltvZmZzZXQgKyBQQUdFU0laRV07CistCQkJdW5zaWduZWQg Y2hhciBjY3JjID0gY2hlY2tzdW1fYWRkX3VpbnQ4IChhbnN3ZXIgKyBvZmZzZXQsIFBBR0VTSVpF LCAweDAwKTsKKysJCQl1bnNpZ25lZCBjaGFyIGNyYyA9IGFuc3dlcltvZmZzZXQgKyBYUEFHRVNJ WkVdOworKwkJCXVuc2lnbmVkIGNoYXIgY2NyYyA9IGNoZWNrc3VtX2FkZF91aW50OCAoYW5zd2Vy ICsgb2Zmc2V0LCBYUEFHRVNJWkUsIDB4MDApOworIAkJCWlmIChjcmMgIT0gY2NyYykgeworIAkJ CQlFUlJPUiAoYWJzdHJhY3QtPmNvbnRleHQsICJVbmV4cGVjdGVkIGFuc3dlciBjaGVja3N1bS4i KTsKKyAJCQkJcmV0dXJuIERDX1NUQVRVU19QUk9UT0NPTDsKKyAJCQl9CisgCistCQkJbWVtY3B5 IChkYXRhLCBhbnN3ZXIgKyBvZmZzZXQsIFBBR0VTSVpFKTsKKysJCQltZW1jcHkgKGRhdGEsIGFu c3dlciArIG9mZnNldCwgWFBBR0VTSVpFKTsKKyAKKy0JCQlvZmZzZXQgKz0gUEFHRVNJWkUgKyAx OworLQkJCW5ieXRlcyArPSBQQUdFU0laRTsKKy0JCQlhZGRyZXNzICs9IFBBR0VTSVpFOworLQkJ CWRhdGEgKz0gUEFHRVNJWkU7CisrCQkJb2Zmc2V0ICs9IFhQQUdFU0laRSArIDE7CisrCQkJbmJ5 dGVzICs9IFhQQUdFU0laRTsKKysJCQlhZGRyZXNzICs9IFhQQUdFU0laRTsKKysJCQlkYXRhICs9 IFhQQUdFU0laRTsKKyAJCX0KKyAJfQorIAorLS0tIGEvc3JjL29jZWFuaWNfdmVvMjUwX3BhcnNl ci5jCisrKysgYi9zcmMvb2NlYW5pY192ZW8yNTBfcGFyc2VyLmMKK0BAIC0xNDIsNyArMTQyLDcg QEAgb2NlYW5pY192ZW8yNTBfcGFyc2VyX2dldF9maWVsZCAoZGNfcGFyc2VyX3QgKmFic3RyYWN0 LCBkY19maWVsZF90eXBlX3QgdHlwZSwgdW4KKyAJY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSA9 IGFic3RyYWN0LT5kYXRhOworIAl1bnNpZ25lZCBpbnQgc2l6ZSA9IGFic3RyYWN0LT5zaXplOwor IAorLQlpZiAoc2l6ZSA8IDcgKiBQQUdFU0laRSAvIDIpCisrCWlmIChzaXplIDwgNyAqIFhQQUdF U0laRSAvIDIpCisgCQlyZXR1cm4gRENfU1RBVFVTX0RBVEFGT1JNQVQ7CisgCisgCWlmICghcGFy c2VyLT5jYWNoZWQpIHsKK0BAIC0xNTcsNyArMTU3LDcgQEAgb2NlYW5pY192ZW8yNTBfcGFyc2Vy X2dldF9maWVsZCAoZGNfcGFyc2VyX3QgKmFic3RyYWN0LCBkY19maWVsZF90eXBlX3QgdHlwZSwg dW4KKyAJCXBhcnNlci0+bWF4ZGVwdGggPSBzdGF0aXN0aWNzLm1heGRlcHRoOworIAl9CisgCist CXVuc2lnbmVkIGludCBmb290ZXIgPSBzaXplIC0gUEFHRVNJWkU7CisrCXVuc2lnbmVkIGludCBm b290ZXIgPSBzaXplIC0gWFBBR0VTSVpFOworIAorIAlkY19nYXNtaXhfdCAqZ2FzbWl4ID0gKGRj X2dhc21peF90ICopIHZhbHVlOworIAorQEAgLTE5Niw3ICsxOTYsNyBAQCBvY2VhbmljX3ZlbzI1 MF9wYXJzZXJfc2FtcGxlc19mb3JlYWNoIChkY19wYXJzZXJfdCAqYWJzdHJhY3QsIGRjX3NhbXBs ZV9jYWxsYmFjaworIAljb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhID0gYWJzdHJhY3QtPmRhdGE7 CisgCXVuc2lnbmVkIGludCBzaXplID0gYWJzdHJhY3QtPnNpemU7CisgCistCWlmIChzaXplIDwg NyAqIFBBR0VTSVpFIC8gMikKKysJaWYgKHNpemUgPCA3ICogWFBBR0VTSVpFIC8gMikKKyAJCXJl dHVybiBEQ19TVEFUVVNfREFUQUZPUk1BVDsKKyAKKyAJdW5zaWduZWQgaW50IHRpbWUgPSAwOwor QEAgLTIyMSwxMyArMjIxLDEzIEBAIG9jZWFuaWNfdmVvMjUwX3BhcnNlcl9zYW1wbGVzX2ZvcmVh Y2ggKGRjX3BhcnNlcl90ICphYnN0cmFjdCwgZGNfc2FtcGxlX2NhbGxiYWNrCisgCQlicmVhazsK KyAJfQorIAorLQl1bnNpZ25lZCBpbnQgb2Zmc2V0ID0gNSAqIFBBR0VTSVpFIC8gMjsKKy0Jd2hp bGUgKG9mZnNldCArIFBBR0VTSVpFIC8gMiA8PSBzaXplIC0gUEFHRVNJWkUpIHsKKysJdW5zaWdu ZWQgaW50IG9mZnNldCA9IDUgKiBYUEFHRVNJWkUgLyAyOworKwl3aGlsZSAob2Zmc2V0ICsgWFBB R0VTSVpFIC8gMiA8PSBzaXplIC0gWFBBR0VTSVpFKSB7CisgCQlkY19zYW1wbGVfdmFsdWVfdCBz YW1wbGUgPSB7MH07CisgCisgCQkvLyBJZ25vcmUgZW1wdHkgc2FtcGxlcy4KKy0JCWlmIChhcnJh eV9pc2VxdWFsIChkYXRhICsgb2Zmc2V0LCBQQUdFU0laRSAvIDIsIDB4MDApKSB7CistCQkJb2Zm c2V0ICs9IFBBR0VTSVpFIC8gMjsKKysJCWlmIChhcnJheV9pc2VxdWFsIChkYXRhICsgb2Zmc2V0 LCBYUEFHRVNJWkUgLyAyLCAweDAwKSkgeworKwkJCW9mZnNldCArPSBYUEFHRVNJWkUgLyAyOwor IAkJCWNvbnRpbnVlOworIAkJfQorIAorQEAgLTIzOCw3ICsyMzgsNyBAQCBvY2VhbmljX3ZlbzI1 MF9wYXJzZXJfc2FtcGxlc19mb3JlYWNoIChkY19wYXJzZXJfdCAqYWJzdHJhY3QsIGRjX3NhbXBs ZV9jYWxsYmFjaworIAorIAkJLy8gVmVuZG9yIHNwZWNpZmljIGRhdGEKKyAJCXNhbXBsZS52ZW5k b3IudHlwZSA9IFNBTVBMRV9WRU5ET1JfT0NFQU5JQ19WRU8yNTA7CistCQlzYW1wbGUudmVuZG9y LnNpemUgPSBQQUdFU0laRSAvIDI7CisrCQlzYW1wbGUudmVuZG9yLnNpemUgPSBYUEFHRVNJWkUg LyAyOworIAkJc2FtcGxlLnZlbmRvci5kYXRhID0gZGF0YSArIG9mZnNldDsKKyAJCWlmIChjYWxs YmFjaykgY2FsbGJhY2sgKERDX1NBTVBMRV9WRU5ET1IsIHNhbXBsZSwgdXNlcmRhdGEpOworIAor QEAgLTI4Myw3ICsyODMsNyBAQCBvY2VhbmljX3ZlbzI1MF9wYXJzZXJfc2FtcGxlc19mb3JlYWNo IChkY19wYXJzZXJfdCAqYWJzdHJhY3QsIGRjX3NhbXBsZV9jYWxsYmFjaworIAkJCWlmIChjYWxs YmFjaykgY2FsbGJhY2sgKERDX1NBTVBMRV9ERUNPLCBzYW1wbGUsIHVzZXJkYXRhKTsKKyAJCX0K KyAKKy0JCW9mZnNldCArPSBQQUdFU0laRSAvIDI7CisrCQlvZmZzZXQgKz0gWFBBR0VTSVpFIC8g MjsKKyAJfQorIAorIAlyZXR1cm4gRENfU1RBVFVTX1NVQ0NFU1M7CistLS0gYS9zcmMvb2NlYW5p Y192dHByby5jCisrKysgYi9zcmMvb2NlYW5pY192dHByby5jCitAQCAtMjk2LDcgKzI5Niw3IEBA IG9jZWFuaWNfYWVyaXM1MDBhaV9kZXZpY2VfbG9nYm9vayAoZGNfZGV2aWNlX3QgKmFic3RyYWN0 LCBkY19ldmVudF9wcm9ncmVzc190ICpwCisgCisgCWFzc2VydCAoZGV2aWNlICE9IE5VTEwpOwor IAlhc3NlcnQgKGRldmljZS0+YmFzZS5sYXlvdXQgIT0gTlVMTCk7CistCWFzc2VydCAoZGV2aWNl LT5iYXNlLmxheW91dC0+cmJfbG9nYm9va19lbnRyeV9zaXplID09IFBBR0VTSVpFIC8gMik7Cisr CWFzc2VydCAoZGV2aWNlLT5iYXNlLmxheW91dC0+cmJfbG9nYm9va19lbnRyeV9zaXplID09IFhQ QUdFU0laRSAvIDIpOworIAlhc3NlcnQgKGRldmljZS0+YmFzZS5sYXlvdXQtPnJiX2xvZ2Jvb2tf YmVnaW4gPT0gZGV2aWNlLT5iYXNlLmxheW91dC0+cmJfbG9nYm9va19lbmQpOworIAlhc3NlcnQg KHByb2dyZXNzICE9IE5VTEwpOworIAorQEAgLTMwNyw3ICszMDcsNyBAQCBvY2VhbmljX2Flcmlz NTAwYWlfZGV2aWNlX2xvZ2Jvb2sgKGRjX2RldmljZV90ICphYnN0cmFjdCwgZGNfZXZlbnRfcHJv Z3Jlc3NfdCAqcAorIAkJcmV0dXJuIERDX1NUQVRVU19OT01FTU9SWTsKKyAKKyAJLy8gUmVhZCB0 aGUgcG9pbnRlciBkYXRhLgorLQl1bnNpZ25lZCBjaGFyIHBvaW50ZXJzW1BBR0VTSVpFXSA9IHsw fTsKKysJdW5zaWduZWQgY2hhciBwb2ludGVyc1tYUEFHRVNJWkVdID0gezB9OworIAlyYyA9IG9j ZWFuaWNfdnRwcm9fZGV2aWNlX3JlYWQgKGFic3RyYWN0LCBsYXlvdXQtPmNmX3BvaW50ZXJzLCBw b2ludGVycywgc2l6ZW9mIChwb2ludGVycykpOworIAlpZiAocmMgIT0gRENfU1RBVFVTX1NVQ0NF U1MpIHsKKyAJCUVSUk9SIChhYnN0cmFjdC0+Y29udGV4dCwgIkZhaWxlZCB0byByZWFkIHRoZSBt ZW1vcnkgcGFnZS4iKTsKK0BAIC0zMTgsMTIgKzMxOCwxMiBAQCBvY2VhbmljX2FlcmlzNTAwYWlf ZGV2aWNlX2xvZ2Jvb2sgKGRjX2RldmljZV90ICphYnN0cmFjdCwgZGNfZXZlbnRfcHJvZ3Jlc3Nf dCAqcAorIAl1bnNpZ25lZCBpbnQgbGFzdCA9IHBvaW50ZXJzWzB4MDNdOworIAorIAkvLyBVcGRh dGUgYW5kIGVtaXQgYSBwcm9ncmVzcyBldmVudC4KKy0JcHJvZ3Jlc3MtPmN1cnJlbnQgKz0gUEFH RVNJWkU7CistCXByb2dyZXNzLT5tYXhpbXVtICs9IFBBR0VTSVpFICsgKGxhc3QgKyAxKSAqIFBB R0VTSVpFIC8gMjsKKysJcHJvZ3Jlc3MtPmN1cnJlbnQgKz0gWFBBR0VTSVpFOworKwlwcm9ncmVz cy0+bWF4aW11bSArPSBYUEFHRVNJWkUgKyAobGFzdCArIDEpICogWFBBR0VTSVpFIC8gMjsKKyAJ ZGV2aWNlX2V2ZW50X2VtaXQgKGFic3RyYWN0LCBEQ19FVkVOVF9QUk9HUkVTUywgcHJvZ3Jlc3Mp OworIAorIAkvLyBBbGxvY2F0ZSBtZW1vcnkgZm9yIHRoZSBsb2dib29rIGVudHJpZXMuCistCWlm ICghZGNfYnVmZmVyX3Jlc2VydmUgKGxvZ2Jvb2ssIChsYXN0ICsgMSkgKiBQQUdFU0laRSAvIDIp KQorKwlpZiAoIWRjX2J1ZmZlcl9yZXNlcnZlIChsb2dib29rLCAobGFzdCArIDEpICogWFBBR0VT SVpFIC8gMikpCisgCQlyZXR1cm4gRENfU1RBVFVTX05PTUVNT1JZOworIAorIAkvLyBTZW5kIHRo ZSBsb2dib29rIGluZGV4IGNvbW1hbmQuCitAQCAtMzQwLDcgKzM0MCw3IEBAIG9jZWFuaWNfYWVy aXM1MDBhaV9kZXZpY2VfbG9nYm9vayAoZGNfZGV2aWNlX3QgKmFic3RyYWN0LCBkY19ldmVudF9w cm9ncmVzc190ICpwCisgCS8vIFJlYWQgdGhlIGxvZ2Jvb2sgaW5kZXguCisgCWZvciAodW5zaWdu ZWQgaW50IGkgPSAwOyBpIDwgbGFzdCArIDE7ICsraSkgeworIAkJLy8gUmVjZWl2ZSB0aGUgYW5z d2VyIG9mIHRoZSBkaXZlIGNvbXB1dGVyLgorLQkJdW5zaWduZWQgY2hhciBhbnN3ZXJbUEFHRVNJ WkUgLyAyICsgMV0gPSB7MH07CisrCQl1bnNpZ25lZCBjaGFyIGFuc3dlcltYUEFHRVNJWkUgLyAy ICsgMV0gPSB7MH07CisgCQlyYyA9IGRjX2lvc3RyZWFtX3JlYWQgKGRldmljZS0+aW9zdHJlYW0s IGFuc3dlciwgc2l6ZW9mKGFuc3dlciksIE5VTEwpOworIAkJaWYgKHJjICE9IERDX1NUQVRVU19T VUNDRVNTKSB7CisgCQkJRVJST1IgKGFic3RyYWN0LT5jb250ZXh0LCAiRmFpbGVkIHRvIHJlY2Vp dmUgdGhlIGFuc3dlci4iKTsKK0BAIC0zNDgsMjggKzM0OCwyOCBAQCBvY2VhbmljX2FlcmlzNTAw YWlfZGV2aWNlX2xvZ2Jvb2sgKGRjX2RldmljZV90ICphYnN0cmFjdCwgZGNfZXZlbnRfcHJvZ3Jl c3NfdCAqcAorIAkJfQorIAorIAkJLy8gVmVyaWZ5IHRoZSBjaGVja3N1bSBvZiB0aGUgYW5zd2Vy LgorLQkJdW5zaWduZWQgY2hhciBjcmMgPSBhbnN3ZXJbUEFHRVNJWkUgLyAyXTsKKy0JCXVuc2ln bmVkIGNoYXIgY2NyYyA9IGNoZWNrc3VtX2FkZF91aW50NCAoYW5zd2VyLCBQQUdFU0laRSAvIDIs IDB4MDApOworKwkJdW5zaWduZWQgY2hhciBjcmMgPSBhbnN3ZXJbWFBBR0VTSVpFIC8gMl07Cisr CQl1bnNpZ25lZCBjaGFyIGNjcmMgPSBjaGVja3N1bV9hZGRfdWludDQgKGFuc3dlciwgWFBBR0VT SVpFIC8gMiwgMHgwMCk7CisgCQlpZiAoY3JjICE9IGNjcmMpIHsKKyAJCQlFUlJPUiAoYWJzdHJh Y3QtPmNvbnRleHQsICJVbmV4cGVjdGVkIGFuc3dlciBjaGVja3N1bS4iKTsKKyAJCQlyZXR1cm4g RENfU1RBVFVTX1BST1RPQ09MOworIAkJfQorIAorIAkJLy8gVXBkYXRlIGFuZCBlbWl0IGEgcHJv Z3Jlc3MgZXZlbnQuCistCQlwcm9ncmVzcy0+Y3VycmVudCArPSBQQUdFU0laRSAvIDI7CisrCQlw cm9ncmVzcy0+Y3VycmVudCArPSBYUEFHRVNJWkUgLyAyOworIAkJZGV2aWNlX2V2ZW50X2VtaXQg KGFic3RyYWN0LCBEQ19FVkVOVF9QUk9HUkVTUywgcHJvZ3Jlc3MpOworIAorIAkJLy8gSWdub3Jl IHVuaW5pdGlhbGl6ZWQgZW50cmllcy4KKy0JCWlmIChhcnJheV9pc2VxdWFsIChhbnN3ZXIsIFBB R0VTSVpFIC8gMiwgMHhGRikpIHsKKysJCWlmIChhcnJheV9pc2VxdWFsIChhbnN3ZXIsIFhQQUdF U0laRSAvIDIsIDB4RkYpKSB7CisgCQkJV0FSTklORyAoYWJzdHJhY3QtPmNvbnRleHQsICJVbmlu aXRpYWxpemVkIGxvZ2Jvb2sgZW50cmllcyBkZXRlY3RlZCEiKTsKKyAJCQljb250aW51ZTsKKyAJ CX0KKyAKKyAJCS8vIENvbXBhcmUgdGhlIGZpbmdlcnByaW50IHRvIGlkZW50aWZ5IHByZXZpb3Vz bHkgZG93bmxvYWRlZCBlbnRyaWVzLgorLQkJaWYgKG1lbWNtcCAoYW5zd2VyLCBkZXZpY2UtPmJh c2UuZmluZ2VycHJpbnQsIFBBR0VTSVpFIC8gMikgPT0gMCkgeworKwkJaWYgKG1lbWNtcCAoYW5z d2VyLCBkZXZpY2UtPmJhc2UuZmluZ2VycHJpbnQsIFhQQUdFU0laRSAvIDIpID09IDApIHsKKyAJ CQlkY19idWZmZXJfY2xlYXIgKGxvZ2Jvb2spOworIAkJfSBlbHNlIHsKKy0JCQlkY19idWZmZXJf YXBwZW5kIChsb2dib29rLCBhbnN3ZXIsIFBBR0VTSVpFIC8gMik7CisrCQkJZGNfYnVmZmVyX2Fw cGVuZCAobG9nYm9vaywgYW5zd2VyLCBYUEFHRVNJWkUgLyAyKTsKKyAJCX0KKyAJfQorIAorQEAg LTU2MCw3ICs1NjAsNyBAQCBvY2VhbmljX3Z0cHJvX2RldmljZV92ZXJzaW9uIChkY19kZXZpY2Vf dCAqYWJzdHJhY3QsIHVuc2lnbmVkIGNoYXIgZGF0YVtdLCB1bnNpZworIAlpZiAoIUlTSU5TVEFO Q0UgKGFic3RyYWN0KSkKKyAJCXJldHVybiBEQ19TVEFUVVNfSU5WQUxJREFSR1M7CisgCistCWlm IChzaXplIDwgUEFHRVNJWkUpCisrCWlmIChzaXplIDwgWFBBR0VTSVpFKQorIAkJcmV0dXJuIERD X1NUQVRVU19JTlZBTElEQVJHUzsKKyAKKyAJLy8gU3dpdGNoIHRoZSBkZXZpY2UgaW50byBkb3du bG9hZCBtb2RlLiBUaGUgcmVzcG9uc2UgaXMgaWdub3JlZCBoZXJlLAorQEAgLTU2OCwxNCArNTY4 LDE0IEBAIG9jZWFuaWNfdnRwcm9fZGV2aWNlX3ZlcnNpb24gKGRjX2RldmljZV90ICphYnN0cmFj dCwgdW5zaWduZWQgY2hhciBkYXRhW10sIHVuc2lnCisgCS8vIHJlc3BvbnNlIG9mIHRoZSBmaXJz dCBwYXJ0IG9mIHRoZSBvdGhlciBjb21tYW5kIGluIHRoaXMgZnVuY3Rpb24uCisgCisgCXVuc2ln bmVkIGNoYXIgY21kWzJdID0gezB4ODgsIDB4MDB9OworLQl1bnNpZ25lZCBjaGFyIGFuc1tQQUdF U0laRSAvIDIgKyAxXSA9IHswfTsKKysJdW5zaWduZWQgY2hhciBhbnNbWFBBR0VTSVpFIC8gMiAr IDFdID0gezB9OworIAlkY19zdGF0dXNfdCByYyA9IG9jZWFuaWNfdnRwcm9fdHJhbnNmZXIgKGRl dmljZSwgY21kLCBzaXplb2YgKGNtZCksIGFucywgc2l6ZW9mIChhbnMpKTsKKyAJaWYgKHJjICE9 IERDX1NUQVRVU19TVUNDRVNTKQorIAkJcmV0dXJuIHJjOworIAorIAkvLyBWZXJpZnkgdGhlIGNo ZWNrc3VtIG9mIHRoZSBhbnN3ZXIuCistCXVuc2lnbmVkIGNoYXIgY3JjID0gYW5zW1BBR0VTSVpF IC8gMl07CistCXVuc2lnbmVkIGNoYXIgY2NyYyA9IGNoZWNrc3VtX2FkZF91aW50NCAoYW5zLCBQ QUdFU0laRSAvIDIsIDB4MDApOworKwl1bnNpZ25lZCBjaGFyIGNyYyA9IGFuc1tYUEFHRVNJWkUg LyAyXTsKKysJdW5zaWduZWQgY2hhciBjY3JjID0gY2hlY2tzdW1fYWRkX3VpbnQ0IChhbnMsIFhQ QUdFU0laRSAvIDIsIDB4MDApOworIAlpZiAoY3JjICE9IGNjcmMpIHsKKyAJCUVSUk9SIChhYnN0 cmFjdC0+Y29udGV4dCwgIlVuZXhwZWN0ZWQgYW5zd2VyIGNoZWNrc3VtLiIpOworIAkJcmV0dXJu IERDX1NUQVRVU19QUk9UT0NPTDsKK0BAIC01ODYsMzEgKzU4NiwzMSBAQCBvY2VhbmljX3Z0cHJv X2RldmljZV92ZXJzaW9uIChkY19kZXZpY2VfdCAqYWJzdHJhY3QsIHVuc2lnbmVkIGNoYXIgZGF0 YVtdLCB1bnNpZworIAkJLy8gc3BsaXQgb3ZlciB0d28gcGFja2V0cywgYnV0IHdlIGpvaW4gYm90 aCBwYXJ0cyBhZ2Fpbi4KKyAJCWZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMjsgKytpKSB7 CisgCQkJdW5zaWduZWQgY2hhciBjb21tYW5kWzRdID0gezB4NzIsIDB4MDMsIGkgKiAweDEwLCAw eDAwfTsKKy0JCQl1bnNpZ25lZCBjaGFyIGFuc3dlcltQQUdFU0laRSAvIDIgKyAyXSA9IHswfTsK KysJCQl1bnNpZ25lZCBjaGFyIGFuc3dlcltYUEFHRVNJWkUgLyAyICsgMl0gPSB7MH07CisgCQkJ cmMgPSBvY2VhbmljX3Z0cHJvX3RyYW5zZmVyIChkZXZpY2UsIGNvbW1hbmQsIHNpemVvZiAoY29t bWFuZCksIGFuc3dlciwgc2l6ZW9mIChhbnN3ZXIpKTsKKyAJCQlpZiAocmMgIT0gRENfU1RBVFVT X1NVQ0NFU1MpCisgCQkJCXJldHVybiByYzsKKyAKKyAJCQkvLyBWZXJpZnkgdGhlIGNoZWNrc3Vt IG9mIHRoZSBhbnN3ZXIuCistCQkJY3JjID0gYW5zd2VyW1BBR0VTSVpFIC8gMl07CistCQkJY2Ny YyA9IGNoZWNrc3VtX2FkZF91aW50NCAoYW5zd2VyLCBQQUdFU0laRSAvIDIsIDB4MDApOworKwkJ CWNyYyA9IGFuc3dlcltYUEFHRVNJWkUgLyAyXTsKKysJCQljY3JjID0gY2hlY2tzdW1fYWRkX3Vp bnQ0IChhbnN3ZXIsIFhQQUdFU0laRSAvIDIsIDB4MDApOworIAkJCWlmIChjcmMgIT0gY2NyYykg eworIAkJCQlFUlJPUiAoYWJzdHJhY3QtPmNvbnRleHQsICJVbmV4cGVjdGVkIGFuc3dlciBjaGVj a3N1bS4iKTsKKyAJCQkJcmV0dXJuIERDX1NUQVRVU19QUk9UT0NPTDsKKyAJCQl9CisgCisgCQkJ Ly8gVmVyaWZ5IHRoZSBsYXN0IGJ5dGUgb2YgdGhlIGFuc3dlci4KKy0JCQlpZiAoYW5zd2VyW1BB R0VTSVpFIC8gMiArIDFdICE9IEVORCkgeworKwkJCWlmIChhbnN3ZXJbWFBBR0VTSVpFIC8gMiAr IDFdICE9IEVORCkgeworIAkJCQlFUlJPUiAoYWJzdHJhY3QtPmNvbnRleHQsICJVbmV4cGVjdGVk IGFuc3dlciBieXRlLiIpOworIAkJCQlyZXR1cm4gRENfU1RBVFVTX1BST1RPQ09MOworIAkJCX0K KyAKKyAJCQkvLyBBcHBlbmQgdGhlIGFuc3dlciB0byB0aGUgb3V0cHV0IGJ1ZmZlci4KKy0JCQlt ZW1jcHkgKGRhdGEgKyBpICogUEFHRVNJWkUgLyAyLCBhbnN3ZXIsIFBBR0VTSVpFIC8gMik7Cisr CQkJbWVtY3B5IChkYXRhICsgaSAqIFhQQUdFU0laRSAvIDIsIGFuc3dlciwgWFBBR0VTSVpFIC8g Mik7CisgCQl9CisgCX0gZWxzZSB7CisgCQkvLyBSZXR1cm4gYW4gZW1wdHkgZGV2aWNlIGlkZW50 aWZpY2F0aW9uIHN0cmluZy4KKy0JCW1lbXNldCAoZGF0YSwgMHgwMCwgUEFHRVNJWkUpOworKwkJ bWVtc2V0IChkYXRhLCAweDAwLCBYUEFHRVNJWkUpOworIAl9CisgCisgCXJldHVybiBEQ19TVEFU VVNfU1VDQ0VTUzsKK0BAIC02MjIsNDcgKzYyMiw0NyBAQCBvY2VhbmljX3Z0cHJvX2RldmljZV9y ZWFkIChkY19kZXZpY2VfdCAqYWJzdHJhY3QsIHVuc2lnbmVkIGludCBhZGRyZXNzLCB1bnNpZ25l ZAorIHsKKyAJb2NlYW5pY192dHByb19kZXZpY2VfdCAqZGV2aWNlID0gKG9jZWFuaWNfdnRwcm9f ZGV2aWNlX3QqKSBhYnN0cmFjdDsKKyAKKy0JaWYgKChhZGRyZXNzICUgUEFHRVNJWkUgIT0gMCkg fHwKKy0JCShzaXplICAgICUgUEFHRVNJWkUgIT0gMCkpCisrCWlmICgoYWRkcmVzcyAlIFhQQUdF U0laRSAhPSAwKSB8fAorKwkJKHNpemUgICAgJSBYUEFHRVNJWkUgIT0gMCkpCisgCQlyZXR1cm4g RENfU1RBVFVTX0lOVkFMSURBUkdTOworIAorIAl1bnNpZ25lZCBpbnQgbmJ5dGVzID0gMDsKKyAJ d2hpbGUgKG5ieXRlcyA8IHNpemUpIHsKKyAJCS8vIENhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIHBh Y2thZ2VzLgorLQkJdW5zaWduZWQgaW50IG5wYWNrZXRzID0gKHNpemUgLSBuYnl0ZXMpIC8gUEFH RVNJWkU7CisrCQl1bnNpZ25lZCBpbnQgbnBhY2tldHMgPSAoc2l6ZSAtIG5ieXRlcykgLyBYUEFH RVNJWkU7CisgCQlpZiAobnBhY2tldHMgPiBNVUxUSVBBR0UpCisgCQkJbnBhY2tldHMgPSBNVUxU SVBBR0U7CisgCisgCQkvLyBSZWFkIHRoZSBwYWNrYWdlLgorLQkJdW5zaWduZWQgaW50IGZpcnN0 ID0gIGFkZHJlc3MgLyBQQUdFU0laRTsKKysJCXVuc2lnbmVkIGludCBmaXJzdCA9ICBhZGRyZXNz IC8gWFBBR0VTSVpFOworIAkJdW5zaWduZWQgaW50IGxhc3QgID0gZmlyc3QgKyBucGFja2V0cyAt IDE7CistCQl1bnNpZ25lZCBjaGFyIGFuc3dlclsoUEFHRVNJWkUgKyAxKSAqIE1VTFRJUEFHRV0g PSB7MH07CisrCQl1bnNpZ25lZCBjaGFyIGFuc3dlclsoWFBBR0VTSVpFICsgMSkgKiBNVUxUSVBB R0VdID0gezB9OworIAkJdW5zaWduZWQgY2hhciBjb21tYW5kWzZdID0gezB4MzQsCisgCQkJCShm aXJzdCA+PiA4KSAmIDB4RkYsIC8vIGhpZ2gKKyAJCQkJKGZpcnN0ICAgICApICYgMHhGRiwgLy8g bG93CisgCQkJCShsYXN0ID4+IDgpICYgMHhGRiwgLy8gaGlnaAorIAkJCQkobGFzdCAgICAgKSAm IDB4RkYsIC8vIGxvdworIAkJCQkweDAwfTsKKy0JCWRjX3N0YXR1c190IHJjID0gb2NlYW5pY192 dHByb190cmFuc2ZlciAoZGV2aWNlLCBjb21tYW5kLCBzaXplb2YgKGNvbW1hbmQpLCBhbnN3ZXIs IChQQUdFU0laRSArIDEpICogbnBhY2tldHMpOworKwkJZGNfc3RhdHVzX3QgcmMgPSBvY2Vhbmlj X3Z0cHJvX3RyYW5zZmVyIChkZXZpY2UsIGNvbW1hbmQsIHNpemVvZiAoY29tbWFuZCksIGFuc3dl ciwgKFhQQUdFU0laRSArIDEpICogbnBhY2tldHMpOworIAkJaWYgKHJjICE9IERDX1NUQVRVU19T VUNDRVNTKQorIAkJCXJldHVybiByYzsKKyAKKyAJCXVuc2lnbmVkIGludCBvZmZzZXQgPSAwOwor IAkJZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBucGFja2V0czsgKytpKSB7CisgCQkJLy8g VmVyaWZ5IHRoZSBjaGVja3N1bSBvZiB0aGUgYW5zd2VyLgorLQkJCXVuc2lnbmVkIGNoYXIgY3Jj ID0gYW5zd2VyW29mZnNldCArIFBBR0VTSVpFXTsKKy0JCQl1bnNpZ25lZCBjaGFyIGNjcmMgPSBj aGVja3N1bV9hZGRfdWludDggKGFuc3dlciArIG9mZnNldCwgUEFHRVNJWkUsIDB4MDApOworKwkJ CXVuc2lnbmVkIGNoYXIgY3JjID0gYW5zd2VyW29mZnNldCArIFhQQUdFU0laRV07CisrCQkJdW5z aWduZWQgY2hhciBjY3JjID0gY2hlY2tzdW1fYWRkX3VpbnQ4IChhbnN3ZXIgKyBvZmZzZXQsIFhQ QUdFU0laRSwgMHgwMCk7CisgCQkJaWYgKGNyYyAhPSBjY3JjKSB7CisgCQkJCUVSUk9SIChhYnN0 cmFjdC0+Y29udGV4dCwgIlVuZXhwZWN0ZWQgYW5zd2VyIGNoZWNrc3VtLiIpOworIAkJCQlyZXR1 cm4gRENfU1RBVFVTX1BST1RPQ09MOworIAkJCX0KKyAKKy0JCQltZW1jcHkgKGRhdGEsIGFuc3dl ciArIG9mZnNldCwgUEFHRVNJWkUpOworKwkJCW1lbWNweSAoZGF0YSwgYW5zd2VyICsgb2Zmc2V0 LCBYUEFHRVNJWkUpOworIAorLQkJCW9mZnNldCArPSBQQUdFU0laRSArIDE7CistCQkJbmJ5dGVz ICs9IFBBR0VTSVpFOworLQkJCWFkZHJlc3MgKz0gUEFHRVNJWkU7CistCQkJZGF0YSArPSBQQUdF U0laRTsKKysJCQlvZmZzZXQgKz0gWFBBR0VTSVpFICsgMTsKKysJCQluYnl0ZXMgKz0gWFBBR0VT SVpFOworKwkJCWFkZHJlc3MgKz0gWFBBR0VTSVpFOworKwkJCWRhdGEgKz0gWFBBR0VTSVpFOwor IAkJfQorIAl9CisgCistLS0gYS9zcmMvb2NlYW5pY192dHByb19wYXJzZXIuYworKysrIGIvc3Jj L29jZWFuaWNfdnRwcm9fcGFyc2VyLmMKK0BAIC0xNTUsNyArMTU1LDcgQEAgb2NlYW5pY192dHBy b19wYXJzZXJfZ2V0X2ZpZWxkIChkY19wYXJzZXJfdCAqYWJzdHJhY3QsIGRjX2ZpZWxkX3R5cGVf dCB0eXBlLCB1bnMKKyAJY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSA9IGFic3RyYWN0LT5kYXRh OworIAl1bnNpZ25lZCBpbnQgc2l6ZSA9IGFic3RyYWN0LT5zaXplOworIAorLQlpZiAoc2l6ZSA8 IDcgKiBQQUdFU0laRSAvIDIpCisrCWlmIChzaXplIDwgNyAqIFhQQUdFU0laRSAvIDIpCisgCQly ZXR1cm4gRENfU1RBVFVTX0RBVEFGT1JNQVQ7CisgCisgCWlmICghcGFyc2VyLT5jYWNoZWQpIHsK K0BAIC0xNzAsNyArMTcwLDcgQEAgb2NlYW5pY192dHByb19wYXJzZXJfZ2V0X2ZpZWxkIChkY19w YXJzZXJfdCAqYWJzdHJhY3QsIGRjX2ZpZWxkX3R5cGVfdCB0eXBlLCB1bnMKKyAJCXBhcnNlci0+ bWF4ZGVwdGggPSBzdGF0aXN0aWNzLm1heGRlcHRoOworIAl9CisgCistCXVuc2lnbmVkIGludCBm b290ZXIgPSBzaXplIC0gUEFHRVNJWkU7CisrCXVuc2lnbmVkIGludCBmb290ZXIgPSBzaXplIC0g WFBBR0VTSVpFOworIAorIAl1bnNpZ25lZCBpbnQgb3h5Z2VuID0gMDsKKyAJdW5zaWduZWQgaW50 IG1heGRlcHRoID0gMDsKK0BAIC0yMzcsNyArMjM3LDcgQEAgb2NlYW5pY192dHByb19wYXJzZXJf c2FtcGxlc19mb3JlYWNoIChkY19wYXJzZXJfdCAqYWJzdHJhY3QsIGRjX3NhbXBsZV9jYWxsYmFj a18KKyAJY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSA9IGFic3RyYWN0LT5kYXRhOworIAl1bnNp Z25lZCBpbnQgc2l6ZSA9IGFic3RyYWN0LT5zaXplOworIAorLQlpZiAoc2l6ZSA8IDcgKiBQQUdF U0laRSAvIDIpCisrCWlmIChzaXplIDwgNyAqIFhQQUdFU0laRSAvIDIpCisgCQlyZXR1cm4gRENf U1RBVFVTX0RBVEFGT1JNQVQ7CisgCisgCXVuc2lnbmVkIGludCB0aW1lID0gMDsKK0BAIC0yNTks MTQgKzI1OSwxNCBAQCBvY2VhbmljX3Z0cHJvX3BhcnNlcl9zYW1wbGVzX2ZvcmVhY2ggKGRjX3Bh cnNlcl90ICphYnN0cmFjdCwgZGNfc2FtcGxlX2NhbGxiYWNrXworIAkvLyBJbml0aWFsaXplIHRo ZSBzdGF0ZSBmb3IgdGhlIHRpbWVzdGFtcCBwcm9jZXNzaW5nLgorIAl1bnNpZ25lZCBpbnQgdGlt ZXN0YW1wID0gMCwgY291bnQgPSAwLCBpID0gMDsKKyAKKy0JdW5zaWduZWQgaW50IG9mZnNldCA9 IDUgKiBQQUdFU0laRSAvIDI7CistCXdoaWxlIChvZmZzZXQgKyBQQUdFU0laRSAvIDIgPD0gc2l6 ZSAtIFBBR0VTSVpFKSB7CisrCXVuc2lnbmVkIGludCBvZmZzZXQgPSA1ICogWFBBR0VTSVpFIC8g MjsKKysJd2hpbGUgKG9mZnNldCArIFhQQUdFU0laRSAvIDIgPD0gc2l6ZSAtIFhQQUdFU0laRSkg eworIAkJZGNfc2FtcGxlX3ZhbHVlX3Qgc2FtcGxlID0gezB9OworIAorIAkJLy8gSWdub3JlIGVt cHR5IHNhbXBsZXMuCistCQlpZiAoYXJyYXlfaXNlcXVhbCAoZGF0YSArIG9mZnNldCwgUEFHRVNJ WkUgLyAyLCAweDAwKSB8fAorLQkJCWFycmF5X2lzZXF1YWwgKGRhdGEgKyBvZmZzZXQsIFBBR0VT SVpFIC8gMiwgMHhGRikpIHsKKy0JCQlvZmZzZXQgKz0gUEFHRVNJWkUgLyAyOworKwkJaWYgKGFy cmF5X2lzZXF1YWwgKGRhdGEgKyBvZmZzZXQsIFhQQUdFU0laRSAvIDIsIDB4MDApIHx8CisrCQkJ YXJyYXlfaXNlcXVhbCAoZGF0YSArIG9mZnNldCwgWFBBR0VTSVpFIC8gMiwgMHhGRikpIHsKKysJ CQlvZmZzZXQgKz0gWFBBR0VTSVpFIC8gMjsKKyAJCQljb250aW51ZTsKKyAJCX0KKyAKK0BAIC0y ODgsMTIgKzI4OCwxMiBAQCBvY2VhbmljX3Z0cHJvX3BhcnNlcl9zYW1wbGVzX2ZvcmVhY2ggKGRj X3BhcnNlcl90ICphYnN0cmFjdCwgZGNfc2FtcGxlX2NhbGxiYWNrXworIAkJCQkvLyBXaXRoIGEg ZGVwdGggYmFzZWQgc2FtcGxlIGludGVydmFsLCB0aGUgZXhhY3QgbnVtYmVyCisgCQkJCS8vIG9m IHNhbXBsZXMgZm9yIGEgc2luZ2xlIHRpbWVzdGFtcCBuZWVkcyB0byBiZSBjb3VudGVkLgorIAkJ CQljb3VudCA9IDE7CistCQkJCXVuc2lnbmVkIGludCBpZHggPSBvZmZzZXQgKyBQQUdFU0laRSAv IDIgOworLQkJCQl3aGlsZSAoaWR4ICsgUEFHRVNJWkUgLyAyIDw9IHNpemUgLSBQQUdFU0laRSkg eworKwkJCQl1bnNpZ25lZCBpbnQgaWR4ID0gb2Zmc2V0ICsgWFBBR0VTSVpFIC8gMiA7CisrCQkJ CXdoaWxlIChpZHggKyBYUEFHRVNJWkUgLyAyIDw9IHNpemUgLSBYUEFHRVNJWkUpIHsKKyAJCQkJ CS8vIElnbm9yZSBlbXB0eSBzYW1wbGVzLgorLQkJCQkJaWYgKGFycmF5X2lzZXF1YWwgKGRhdGEg KyBpZHgsIFBBR0VTSVpFIC8gMiwgMHgwMCkgfHwKKy0JCQkJCQlhcnJheV9pc2VxdWFsIChkYXRh ICsgaWR4LCBQQUdFU0laRSAvIDIsIDB4RkYpKSB7CistCQkJCQkJaWR4ICs9IFBBR0VTSVpFIC8g MjsKKysJCQkJCWlmIChhcnJheV9pc2VxdWFsIChkYXRhICsgaWR4LCBYUEFHRVNJWkUgLyAyLCAw eDAwKSB8fAorKwkJCQkJCWFycmF5X2lzZXF1YWwgKGRhdGEgKyBpZHgsIFhQQUdFU0laRSAvIDIs IDB4RkYpKSB7CisrCQkJCQkJaWR4ICs9IFhQQUdFU0laRSAvIDI7CisgCQkJCQkJY29udGludWU7 CisgCQkJCQl9CisgCitAQCAtMzAxLDcgKzMwMSw3IEBAIG9jZWFuaWNfdnRwcm9fcGFyc2VyX3Nh bXBsZXNfZm9yZWFjaCAoZGNfcGFyc2VyX3QgKmFic3RyYWN0LCBkY19zYW1wbGVfY2FsbGJhY2tf CisgCQkJCQlpZiAobmV4dCAhPSBjdXJyZW50KQorIAkJCQkJCWJyZWFrOworIAorLQkJCQkJaWR4 ICs9IFBBR0VTSVpFIC8gMjsKKysJCQkJCWlkeCArPSBYUEFHRVNJWkUgLyAyOworIAkJCQkJY291 bnQrKzsKKyAJCQkJfQorIAkJCX0KK0BAIC0zMTcsNyArMzE3LDcgQEAgb2NlYW5pY192dHByb19w YXJzZXJfc2FtcGxlc19mb3JlYWNoIChkY19wYXJzZXJfdCAqYWJzdHJhY3QsIGRjX3NhbXBsZV9j YWxsYmFja18KKyAJCQl9CisgCQkJaWYgKGkgPj0gY291bnQpIHsKKyAJCQkJV0FSTklORyAoYWJz dHJhY3QtPmNvbnRleHQsICJVbmV4cGVjdGVkIHNhbXBsZSB3aXRoIHRoZSBzYW1lIHRpbWVzdGFt cCBpZ25vcmVkLiIpOworLQkJCQlvZmZzZXQgKz0gUEFHRVNJWkUgLyAyOworKwkJCQlvZmZzZXQg Kz0gWFBBR0VTSVpFIC8gMjsKKyAJCQkJY29udGludWU7CisgCQkJfQorIAkJfQorQEAgLTMzNSw3 ICszMzUsNyBAQCBvY2VhbmljX3Z0cHJvX3BhcnNlcl9zYW1wbGVzX2ZvcmVhY2ggKGRjX3BhcnNl cl90ICphYnN0cmFjdCwgZGNfc2FtcGxlX2NhbGxiYWNrXworIAorIAkJLy8gVmVuZG9yIHNwZWNp ZmljIGRhdGEKKyAJCXNhbXBsZS52ZW5kb3IudHlwZSA9IFNBTVBMRV9WRU5ET1JfT0NFQU5JQ19W VFBSTzsKKy0JCXNhbXBsZS52ZW5kb3Iuc2l6ZSA9IFBBR0VTSVpFIC8gMjsKKysJCXNhbXBsZS52 ZW5kb3Iuc2l6ZSA9IFhQQUdFU0laRSAvIDI7CisgCQlzYW1wbGUudmVuZG9yLmRhdGEgPSBkYXRh ICsgb2Zmc2V0OworIAkJaWYgKGNhbGxiYWNrKSBjYWxsYmFjayAoRENfU0FNUExFX1ZFTkRPUiwg c2FtcGxlLCB1c2VyZGF0YSk7CisgCitAQCAtMzc0LDcgKzM3NCw3IEBAIG9jZWFuaWNfdnRwcm9f cGFyc2VyX3NhbXBsZXNfZm9yZWFjaCAoZGNfcGFyc2VyX3QgKmFic3RyYWN0LCBkY19zYW1wbGVf Y2FsbGJhY2tfCisgCQkJaWYgKGNhbGxiYWNrKSBjYWxsYmFjayAoRENfU0FNUExFX0RFQ08sIHNh bXBsZSwgdXNlcmRhdGEpOworIAkJfQorIAorLQkJb2Zmc2V0ICs9IFBBR0VTSVpFIC8gMjsKKysJ CW9mZnNldCArPSBYUEFHRVNJWkUgLyAyOworIAl9CisgCisgCXJldHVybiBEQ19TVEFUVVNfU1VD Q0VTUzsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGliZGl2ZWNvbXB1dGVyLXN1YnN1cmZhY2UvdGVt cGxhdGUgYi9zcmNwa2dzL2xpYmRpdmVjb21wdXRlci1zdWJzdXJmYWNlL3RlbXBsYXRlCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMDM5OTViZmJmYzFiCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9saWJkaXZlY29tcHV0ZXItc3Vic3VyZmFjZS90ZW1wbGF0ZQpA QCAtMCwwICsxLDMwIEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdsaWJkaXZlY29tcHV0ZXItc3Vi c3VyZmFjZScKK3BrZ25hbWU9bGliZGl2ZWNvbXB1dGVyLXN1YnN1cmZhY2UKK3ZlcnNpb249NS4w LjgKK3JldmlzaW9uPTEKK3dya3NyYz0ibGliZGl2ZWNvbXB1dGVyLXN1YnN1cmZhY2UtYnJhbmNo LSR7dmVyc2lvbn0iCitidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCitob3N0bWFrZWRlcGVuZHM9 ImxpYnRvb2wgYXV0b21ha2UgYXV0b2NvbmYgcGtnLWNvbmZpZyIKK21ha2VkZXBlbmRzPSJsaWJ1 c2ItZGV2ZWwgbGlibXRwLWRldmVsIGhpZGFwaS1kZXZlbCBsaWJibHVldG9vdGgtZGV2ZWwiCitz aG9ydF9kZXNjPSJTdWJzdXJmYWNlIHZlcnNpb24gb2YgbGliZGl2ZWNvbXB1dGVyIgorbWFpbnRh aW5lcj0iQWxhbiBCcm93biA8YWRicm93bkByb2NrZXRtYWlsLmNvbT4iCitsaWNlbnNlPSJMR1BM LTIuMS1vbmx5IgoraG9tZXBhZ2U9Imh0dHBzOi8vc3Vic3VyZmFjZS1kaXZlbG9nLm9yZy8iCitk aXN0ZmlsZXM9IiR7aG9tZXBhZ2V9L2Rvd25sb2Fkcy8ke3BrZ25hbWV9LWJyYW5jaC0ke3ZlcnNp b259LnRneiIKK2NoZWNrc3VtPWY2OTUzNDIxMTQ4ZDM2ZGM3ZTFjYTk1OTgxYmM5ODczODk0ZTBh YjUxZjg3YWMzMzJmZDYyMzIyZTc3Yzc2ZjIKKworcHJlX2NvbmZpZ3VyZSgpIHsKKwlhdXRvcmVj b25mIC1maQorfQorCitsaWJkaXZlY29tcHV0ZXItc3Vic3VyZmFjZS1kZXZlbF9wYWNrYWdlKCkg eworCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKKwlzaG9y dF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3Zl IHVzci9pbmNsdWRlCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCisJCXZtb3ZlICJ1c3IvbGli Lyouc28iCisJCXZtb3ZlICJ1c3IvbGliLyouYSIKKwkJdm1vdmUgdXNyL3NoYXJlL21hbi9tYW4z CisJfQorfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJkaXZlY29tcHV0ZXItc3Vic3VyZmFjZS91 cGRhdGUgYi9zcmNwa2dzL2xpYmRpdmVjb21wdXRlci1zdWJzdXJmYWNlL3VwZGF0ZQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjYxZmZmMjQ1OTc0NQotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvbGliZGl2ZWNvbXB1dGVyLXN1YnN1cmZhY2UvdXBkYXRlCkBAIC0w LDAgKzEsMiBAQAorc2l0ZT0iJHtob21lcGFnZX0vZG93bmxvYWRzIgorcGF0dGVybj0iJHtwa2du YW1lfS1icmFuY2gtXEtbXGRcLl0rKD89XC50Z3opIgoKRnJvbSA3OGE2OGYxMTg5YTQ0OTQxNzhh MWMxZGU4MTA0YTgzODAzZDRmMjVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFu IEJyb3duIDxhZGJyb3duQHJvY2tldG1haWwuY29tPgpEYXRlOiBUaHUsIDI1IE5vdiAyMDIxIDE4 OjIzOjM5ICswMDAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIE5ldyBwYWNrYWdlOiBTdWJzdXJmYWNl LTUuMC44CgotLS0KIC4uLi9wYXRjaGVzL2NvcmUtZGVwZW5kcy1nZW5lcmF0ZWQtdWkucGF0Y2gg ICB8IDEwICsrKysrKysrKysKIC4uLi9TdWJzdXJmYWNlL3BhdGNoZXMvbWFrZS1vci1uaW5qYS5w YXRjaCAgICB8IDExICsrKysrKysrKysKIHNyY3BrZ3MvU3Vic3VyZmFjZS90ZW1wbGF0ZSAgICAg ICAgICAgICAgICAgICB8IDIwICsrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwg NDEgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvU3Vic3VyZmFjZS9w YXRjaGVzL2NvcmUtZGVwZW5kcy1nZW5lcmF0ZWQtdWkucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL1N1YnN1cmZhY2UvcGF0Y2hlcy9tYWtlLW9yLW5pbmphLnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9TdWJzdXJmYWNlL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9TdWJzdXJmYWNlL3BhdGNoZXMvY29yZS1kZXBlbmRzLWdlbmVyYXRlZC11aS5wYXRjaCBi L3NyY3BrZ3MvU3Vic3VyZmFjZS9wYXRjaGVzL2NvcmUtZGVwZW5kcy1nZW5lcmF0ZWQtdWkucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kNDIyZTcwNWRmMDkK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL1N1YnN1cmZhY2UvcGF0Y2hlcy9jb3JlLWRlcGVu ZHMtZ2VuZXJhdGVkLXVpLnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBhL0NNYWtlTGlzdHMu dHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTQ1NSw2ICs0NTUsNyBAQCBlbHNlaWYgKFNV QlNVUkZBQ0VfVEFSR0VUX0VYRUNVVEFCTEUgTUFUQ0hFUyAiRGVza3RvcEV4ZWN1dGFibGUiKQor IAlhZGRfZGVwZW5kZW5jaWVzKHN1YnN1cmZhY2VfaW50ZXJmYWNlIHN1YnN1cmZhY2VfZ2VuZXJh dGVkX3VpKQorIAlhZGRfZGVwZW5kZW5jaWVzKHN1YnN1cmZhY2VfcHJvZmlsZSBzdWJzdXJmYWNl X2dlbmVyYXRlZF91aSkKKyAJYWRkX2RlcGVuZGVuY2llcyhzdWJzdXJmYWNlX21vZGVsc19kZXNr dG9wIHN1YnN1cmZhY2VfZ2VuZXJhdGVkX3VpKQorKwlhZGRfZGVwZW5kZW5jaWVzKHN1YnN1cmZh Y2VfY29yZWxpYiBzdWJzdXJmYWNlX2dlbmVyYXRlZF91aSkKKyAJYWRkX2RlcGVuZGVuY2llcyhz dWJzdXJmYWNlX2dlbmVyYXRlZF91aSB2ZXJzaW9uKQorIGVsc2VpZiAoU1VCU1VSRkFDRV9UQVJH RVRfRVhFQ1VUQUJMRSBNQVRDSEVTICJEb3dubG9hZGVyRXhlY3V0YWJsZSIpCisgCXNldChET1dO TE9BREVSX0FQUApkaWZmIC0tZ2l0IGEvc3JjcGtncy9TdWJzdXJmYWNlL3BhdGNoZXMvbWFrZS1v ci1uaW5qYS5wYXRjaCBiL3NyY3BrZ3MvU3Vic3VyZmFjZS9wYXRjaGVzL21ha2Utb3ItbmluamEu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4wOGYxMWE0MzRi NTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL1N1YnN1cmZhY2UvcGF0Y2hlcy9tYWtlLW9y LW5pbmphLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBhL2NtYWtlL01vZHVsZXMvUnVuT25C dWlsZERpci5jbWFrZQorKysrIGIvY21ha2UvTW9kdWxlcy9SdW5PbkJ1aWxkRGlyLmNtYWtlCitA QCAtMjUsNyArMjUsNyBAQCBpZihOT1QgTk9fRE9DUykKKyAJYWRkX2N1c3RvbV90YXJnZXQoCisg CQlkb2N1bWVudGF0aW9uIEFMTAorIAkJQ09NTUFORAorLQkJJHtDTUFLRV9NQUtFX1BST0dSQU19 IC1DICR7Q01BS0VfU09VUkNFX0RJUn0vRG9jdW1lbnRhdGlvbiBPVVQ9JHtDTUFLRV9CSU5BUllf RElSfS9Eb2N1bWVudGF0aW9uLyBkb2MKKysJCW1ha2UgLUMgJHtDTUFLRV9TT1VSQ0VfRElSfS9E b2N1bWVudGF0aW9uIE9VVD0ke0NNQUtFX0JJTkFSWV9ESVJ9L0RvY3VtZW50YXRpb24vIGRvYwor IAkJREVQRU5EUyBkb2N1bWVudGF0aW9uTGluaworIAkpCisgZW5kaWYoKQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9TdWJzdXJmYWNlL3RlbXBsYXRlIGIvc3JjcGtncy9TdWJzdXJmYWNlL3RlbXBsYXRl Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYjg2MGU5NWZmNTYxCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9TdWJzdXJmYWNlL3RlbXBsYXRlCkBAIC0wLDAgKzEs MjAgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ1N1YnN1cmZhY2UnCitwa2duYW1lPVN1YnN1cmZh Y2UKK3ZlcnNpb249NS4wLjgKK3JldmlzaW9uPTEKK2J1aWxkX3N0eWxlPWNtYWtlCitjb25maWd1 cmVfYXJncz0iLURTVUJTVVJGQUNFX1RBUkdFVF9FWEVDVVRBQkxFPURlc2t0b3BFeGVjdXRhYmxl CisgLURCVFNVUFBPUlQ9T04gLUROT19VU0VSTUFOVUFMPU9GRiAtRE5PX1BSSU5USU5HPU9GRiIK K2hvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBhdXRvY29uZiBhdXRvbWFrZSBsaWJ0b29sIHF0 NS1kZXZlbCIKK21ha2VkZXBlbmRzPSJsaWJkaXZlY29tcHV0ZXItc3Vic3VyZmFjZS1kZXZlbCBs aWJibHVldG9vdGgtZGV2ZWwgbGliY3VybC1kZXZlbAorIHNxbGl0ZS1kZXZlbCBsaWJzc2gyLWRl dmVsIGV1ZGV2LWxpYnVkZXYtZGV2ZWwgbGlidXNiLWRldmVsIGxpYnhtbDItZGV2ZWwKKyBsaWJ4 c2x0LWRldmVsIHF0NS1kZXZlbCBxdDUtY29ubmVjdGl2aXR5LWRldmVsIHF0NS1kZWNsYXJhdGl2 ZS1kZXZlbAorIHF0NS1sb2NhdGlvbi1kZXZlbCBxdDUtc2NyaXB0LWRldmVsIHF0NS1zdmctZGV2 ZWwgcXQ1LXRvb2xzLWRldmVsCisgcXQ1LXdlYmtpdC1kZXZlbCBibHVlei1xdDUtZGV2ZWwgbGli Z2l0Mi1kZXZlbCBsaWJ6aXAtZGV2ZWwgbGlibXRwLWRldmVsIgorZGVwZW5kcz0ibGliZGl2ZWNv bXB1dGVyLXN1YnN1cmZhY2UgcXRsb2NhdGlvbi1wbHVnaW4tZ29vZ2xlbWFwcyIKK3Nob3J0X2Rl c2M9Ik11bHRpLXBsYXRmb3JtIGRpdmVsb2cgc29mdHdhcmUiCittYWludGFpbmVyPSJBbGFuIEJy b3duIDxhZGJyb3duQHJvY2tldG1haWwuY29tPiIKK2xpY2Vuc2U9IkdQTC0yLjAtb25seSIKK2hv bWVwYWdlPSJodHRwczovL3N1YnN1cmZhY2UtZGl2ZWxvZy5vcmcvIgorZGlzdGZpbGVzPSIke2hv bWVwYWdlfS9kb3dubG9hZHMvJHtwa2duYW1lfS0ke3ZlcnNpb259LnRneiIKK2NoZWNrc3VtPTM4 ODAzYTg0ZWY2YzNlZmNlOTM3ZjA2ZDk5ZmNhMzY1YmRjMjI3ODljMjhjNTdkMjE5ODM4NzQ4ZmJj ODEwY2YK --===============6988211323192970151==--