From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN autolearn=no autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id E208423165 for ; Thu, 4 Jul 2024 10:51:42 +0200 (CEST) Content-Type: multipart/mixed; boundary="===============1341366035543151945==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_Lenovo_X13s_support?= To: ml@inbox.vuxu.org From: classabbyamp Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Thu, 04 Jul 2024 10:51:42 +0200 List-Id: Message-Id: <20240704085142.E208423165@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============1341366035543151945== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgY2xhc3NhYmJ5YW1wIGFnYWluc3Qg bWFzdGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNv bS9jbGFzc2FiYnlhbXAvdm9pZC1wYWNrYWdlcyB4MTNzLXN1cHBvcnQKaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ5NjE1CgpMZW5vdm8gWDEzcyBzdXBw b3J0CiMjIHJlcG8gZm9yIHRlc3Rpbmc6IGh0dHBzOi8vZGV2c3BhY2Uudm9pZGxpbnV4Lm9yZy9h YmJ5L3gxM3MvDQoNCiMjIyMgVE9ET3MNCi0gW3hdIGRvY3VtZW50IGluc3RhbGwgcHJvY2Vzcywg aW5jbHVkaW5nIHJlcXVpcmVkIGNtZGxpbmUgKGBhcm02NC5ub3BhdXRoIGNsa19pZ25vcmVfdW51 c2VkIHBkX2lnbm9yZV91bnVzZWRgKQ0KICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1kb2NzL2NvbXBhcmUvbWFzdGVyLi4uY2xhc3NhYmJ5YW1wOnZvaWQtZG9jczp4MTNz DQotIFt4XSBmaXggYmx1ZXRvb3RoIG1hYyBhZGRyZXNzOiAoYGJ0bWdtdCBwdWJsaWMtYWRkciBG NDpBMDowRDpYWDpZWTpaWmApDQotIFt4XSBzZXQgYSByYW5kb20gbWFjIHdpdGggdGhlIGNvcnJl Y3QgT1VJIChgRjQ6QTA6MEQ6eHg6eXk6enpgKSBhdCBpbnN0YWxsPw0KLSBbeF0gbWtpbml0Y3Bp byBkcm9wLWluIGNvbmZpZw0KLSBbIF0gbWtpbml0Y3BpbyB3b3JraW5nDQogICAgLSBodHRwczov L2dpdGxhYi5hcmNobGludXgub3JnL2FyY2hsaW51eC9ta2luaXRjcGlvL21raW5pdGNwaW8vLS9t ZXJnZV9yZXF1ZXN0cy8zNzcNCiAgICAtIGRvZXMgbm90IGxvYWQgbW9kdWxlcyBhbmQvb3IgZmly bXdhcmUgY29ycmVjdGx5DQotIFsgXSBjcmVhdGUgYW5kIHRlc3QgbGl2ZSBpbWFnZXMNCiAgICAt ICoqSEVBVklMWSBXSVAqKiBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLW1rbGl2 ZS9jb21wYXJlL21hc3Rlci4uLmNsYXNzYWJieWFtcDp2b2lkLW1rbGl2ZTphYXJjaDY0LWxpdmUN Ci0gW3hdIH5+a2VybmVsIGluc3RhbGwgaG9vayB0byB1cGRhdGUgdGhlIGR0Yj9+fiBncnViIGR0 YiBsb2FkaW5nIHN1cHBvcnQNCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQotIEkgdGVzdGVk IHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqWUVTKioNCg0KIyMjIyBOZXcgcGFja2FnZQ0KLSBU aGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcGFja2FnZSByZXF1aXJlbWVudHNdKGh0 dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09O VFJJQlVUSU5HLm1kI3BhY2thZ2UtcmVxdWlyZW1lbnRzKTogKipZRVMqKg0KDQpbY2kgc2tpcF0K CkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFj a2FnZXMvcHVsbC80OTYxNS5wYXRjaCBpcyBhdHRhY2hlZA== --===============1341366035543151945== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-x13s-support-49615.patch" RnJvbSBlMWJiYmY2Njg2Y2U1MzdjMzYyMDNkZjM5OWY4MjM3OGZkYjE4OGIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+ CkRhdGU6IFRodSwgMjEgTWFyIDIwMjQgMTg6MDA6NDUgLTA0MDAKU3ViamVjdDogW1BBVENIIDEv M10gTmV3IHBhY2thZ2U6IHgxM3MtYmFzZS0xCgotLS0KIHNyY3BrZ3MveDEzcy1iYXNlL0lOU1RB TEwgICAgICAgICAgICAgICAgICAgIHwgIDkgKysrKysrKysKIHNyY3BrZ3MveDEzcy1iYXNlL2Zp bGVzLzcyLXRvdWNoc2NyZWVuLnJ1bGVzIHwgIDEgKwogc3JjcGtncy94MTNzLWJhc2UvZmlsZXMv OTAtYnQtYWRkcmVzcy5zaCAgICAgfCAgMiArKwogc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvOTAt bmV0LWFkZHJlc3MucnVsZXMgfCAgMSArCiBzcmNwa2dzL3gxM3MtYmFzZS9maWxlcy9kcmFjdXQu Y29uZiAgICAgICAgICB8ICA2ICsrKysrKwogc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvbWtpbml0 Y3Bpby5jb25mICAgICAgfCAgNiArKysrKysKIHNyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzL3gxM3Mt c2V0dXAgICAgICAgICAgIHwgMTggKysrKysrKysrKysrKysrKwogc3JjcGtncy94MTNzLWJhc2Uv ZmlsZXMveDEzcy5kZWZhdWx0ICAgICAgICAgfCAgMiArKwogc3JjcGtncy94MTNzLWJhc2UvdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgfCAyMiArKysrKysrKysrKysrKysrKysrKwogOSBmaWxl cyBjaGFuZ2VkLCA2NyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy94 MTNzLWJhc2UvSU5TVEFMTAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MveDEzcy1iYXNlL2Zp bGVzLzcyLXRvdWNoc2NyZWVuLnJ1bGVzCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy94MTNz LWJhc2UvZmlsZXMvOTAtYnQtYWRkcmVzcy5zaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv eDEzcy1iYXNlL2ZpbGVzLzkwLW5ldC1hZGRyZXNzLnJ1bGVzCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy94MTNzLWJhc2UvZmlsZXMvZHJhY3V0LmNvbmYKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3gxM3MtYmFzZS9maWxlcy9ta2luaXRjcGlvLmNvbmYKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3gxM3MtYmFzZS9maWxlcy94MTNzLXNldHVwCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy94MTNzLWJhc2UvZmlsZXMveDEzcy5kZWZhdWx0CiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy94MTNzLWJhc2UvdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3gxM3MtYmFz ZS9JTlNUQUxMIGIvc3JjcGtncy94MTNzLWJhc2UvSU5TVEFMTApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uNmM1ODZmNzk2OWYwNmYKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3gxM3MtYmFzZS9JTlNUQUxMCkBAIC0wLDAgKzEsOSBAQAorY2FzZSAiJEFDVElP TiIgaW4KK3Bvc3QpCisJIyBhc3NpZ24gYSByYW5kb20gd2xhbiBhbmQgYmx1ZXRvb2ggTUFDIGFk ZHJlc3NlcyB3aXRoIHRoZSBjb3JyZWN0IE9VSQorCSMgYXMgdGhlIGZpcm13YXJlIGRvZXNuJ3Qg c3VwcG9ydCBzYXZpbmcgdGhpcworCXNlZCAtaSAtZSAicy86VVU6VlY6V1cvJChvZCAtQW4gLU4z IC10IHgxIC9kZXYvdXJhbmRvbSB8IHRyICcgJyAnOicpL2ciIFwKKwkJLWUgInMvOlhYOllZOlpa LyQob2QgLUFuIC1OMyAtdCB4MSAvZGV2L3VyYW5kb20gfCB0ciAnICcgJzonKS9nIiBcCisJCWV0 Yy9kZWZhdWx0L3gxM3MKKwk7OworZXNhYwpkaWZmIC0tZ2l0IGEvc3JjcGtncy94MTNzLWJhc2Uv ZmlsZXMvNzItdG91Y2hzY3JlZW4ucnVsZXMgYi9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy83Mi10 b3VjaHNjcmVlbi5ydWxlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw MC4uYzBhMWNiNjM3NDk2NDMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3gxM3MtYmFzZS9m aWxlcy83Mi10b3VjaHNjcmVlbi5ydWxlcwpAQCAtMCwwICsxIEBACitBQ1RJT049PSJhZGQiICwg UlVOKz0iL2Jpbi9zaCAtYyAnZWNobyA0LTAwMTAgPiAvc3lzL2J1cy9pMmMvZHJpdmVycy9pMmNf aGlkX29mL2JpbmQnIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvOTAtYnQt YWRkcmVzcy5zaCBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzkwLWJ0LWFkZHJlc3Muc2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLmEwMjczZWZiYjA2M2MzCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvOTAtYnQtYWRkcmVzcy5z aApAQCAtMCwwICsxLDIgQEAKK21zZyAiU2V0dGluZyBibHVldG9vdGggTUFDIGFkZHJlc3MuLi4i CisvdXNyL2xpYmV4ZWMveDEzcy1zZXR1cCBibHVldG9vdGgKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv eDEzcy1iYXNlL2ZpbGVzLzkwLW5ldC1hZGRyZXNzLnJ1bGVzIGIvc3JjcGtncy94MTNzLWJhc2Uv ZmlsZXMvOTAtbmV0LWFkZHJlc3MucnVsZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwMDAuLjFjNTBhNGEyZTQ1ZWE0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy94 MTNzLWJhc2UvZmlsZXMvOTAtbmV0LWFkZHJlc3MucnVsZXMKQEAgLTAsMCArMSBAQAorQUNUSU9O PT0iYWRkIiwgU1VCU1lTVEVNPT0ibmV0IiwgS0VSTkVMUz09IjAwMDY6MDE6MDAuMCIsIFJVTis9 Ii91c3IvbGliZXhlYy94MTNzLXNldHVwIHdsYW4gJG5hbWUiCmRpZmYgLS1naXQgYS9zcmNwa2dz L3gxM3MtYmFzZS9maWxlcy9kcmFjdXQuY29uZiBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzL2Ry YWN1dC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5hMjRh Y2ZhM2QwYTA2ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzL2Ry YWN1dC5jb25mCkBAIC0wLDAgKzEsNiBAQAorZm9yY2VfZHJpdmVycys9IiBudm1lIHBoeV9xY29t X3FtcF9wY2llICIKKyMga2V5Ym9hcmQKK2ZvcmNlX2RyaXZlcnMrPSIgaTJjX2hpZF9vZiBpMmNf cWNvbV9nZW5pICIKKyMgZGlzcGxheQorZm9yY2VfZHJpdmVycys9IiBsZWRzX3Fjb21fbHBnIHB3 bV9ibCBxcnRyIHBtaWNfZ2xpbmtfYWx0bW9kZSBncGlvX3NidV9tdXggcGFuZWxfZWRwIG1zbSAi Citmb3JjZV9kcml2ZXJzKz0iIHBoeV9xY29tX3FtcF9jb21ibyBwaW5jdHJsX3NjODI4MHhwIGdw dWNjX3NjODI4MHhwIGRpc3BjY19zYzgyODB4cCBwaHlfcWNvbV9lZHAgIgpkaWZmIC0tZ2l0IGEv c3JjcGtncy94MTNzLWJhc2UvZmlsZXMvbWtpbml0Y3Bpby5jb25mIGIvc3JjcGtncy94MTNzLWJh c2UvZmlsZXMvbWtpbml0Y3Bpby5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMDAwLi5hNDI4ZWVmYjIwMTZmOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MveDEz cy1iYXNlL2ZpbGVzL21raW5pdGNwaW8uY29uZgpAQCAtMCwwICsxLDYgQEAKK01PRFVMRVMrPShu dm1lIHBoeV9xY29tX3FtcF9wY2llKQorIyBrZXlib2FyZAorTU9EVUxFUys9KGkyY19oaWRfb2Yg aTJjX3Fjb21fZ2VuaSkKKyMgZGlzcGxheQorTU9EVUxFUys9KGxlZHNfcWNvbV9scGcgcHdtX2Js IHFydHIgcG1pY19nbGlua19hbHRtb2RlIGdwaW9fc2J1X211eCBwYW5lbF9lZHAgbXNtCisgcGh5 X3Fjb21fcW1wX2NvbWJvIHBpbmN0cmxfc2M4MjgweHAgZ3B1Y2Nfc2M4MjgweHAgZGlzcGNjX3Nj ODI4MHhwIHBoeV9xY29tX2VkcCkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVz L3gxM3Mtc2V0dXAgYi9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy94MTNzLXNldHVwCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5jZTA4NzJlODNkOGUwNAotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzL3gxM3Mtc2V0dXAKQEAgLTAsMCAr MSwxOCBAQAorIyEvYmluL3NoCisjIHgxM3Mtc2V0dXAgd2xhbiA8aW50ZXJmYWNlPgorIyB4MTNz LXNldHVwIGJsdWV0b290aAorCitbIC1yIC9ldGMvZGVmYXVsdC94MTNzIF0gJiYgLiAvZXRjL2Rl ZmF1bHQveDEzcworCitjYXNlICIkMSIgaW4KK3dsYW4pCisJaWYgWyAtbiAiJFdMQU5fTUFDIiBd ICYmIGNvbW1hbmQgLXYgaXAgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJCWV4ZWMgaXAgbGluayBz ZXQgZGV2ICIkMiIgYWRkcmVzcyAiJFdMQU5fTUFDIgorCWZpCisJOzsKK2JsdWV0b290aCkKKwlp ZiBbIC1uICIkQkxVRVRPT1RIX01BQyIgXSAmJiBjb21tYW5kIC12IGJ0bWdtdCA+L2Rldi9udWxs IDI+JjE7IHRoZW4KKwkJZXhlYyBidG1nbXQgLS1pbmRleCAwIHB1YmxpYy1hZGRyICIkQkxVRVRP T1RIX01BQyIKKwlmaQorCTs7Citlc2FjCmRpZmYgLS1naXQgYS9zcmNwa2dzL3gxM3MtYmFzZS9m aWxlcy94MTNzLmRlZmF1bHQgYi9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy94MTNzLmRlZmF1bHQK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLmU1NGFkYzcwMTNmMjZm Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMveDEzcy5kZWZhdWx0 CkBAIC0wLDAgKzEsMiBAQAorV0xBTl9NQUM9IkY0OkEwOjBEOlVVOlZWOldXIgorQkxVRVRPT1RI X01BQz0iRjQ6QTA6MEQ6WFg6WVk6WloiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3gxM3MtYmFzZS90 ZW1wbGF0ZSBiL3NyY3BrZ3MveDEzcy1iYXNlL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMDAwLi4xN2RhNWVlMzg4Y2MzZAotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MveDEzcy1iYXNlL3RlbXBsYXRlCkBAIC0wLDAgKzEsMjIgQEAKKyMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3gxM3MtYmFzZScKK3BrZ25hbWU9eDEzcy1iYXNlCit2ZXJzaW9uPTEKK3Jldmlz aW9uPTEKK2FyY2hzPSJhYXJjaDY0KiIKK2RlcGVuZHM9ImxpbnV4LW1haW5saW5lPj02LjggbGlu dXgtZmlybXdhcmUtcXVhbGNvbW0gYWxzYS11Y20tY29uZiIKK3Nob3J0X2Rlc2M9IlZvaWQgTGlu dXggVGhpbmtwYWQgWDEzcyBwbGF0Zm9ybSBwYWNrYWdlIgorbWFpbnRhaW5lcj0iY2xhc3NhYmJ5 YW1wIDx2b2lkQHBsYWNldmlvbGV0dGUubmV0PiIKK2xpY2Vuc2U9IlB1YmxpYyBEb21haW4iCito b21lcGFnZT0iaHR0cHM6Ly93d3cudm9pZGxpbnV4Lm9yZyIKK2NvbmZfZmlsZXM9Ii9ldGMvZGVm YXVsdC94MTNzIgorCitkb19pbnN0YWxsKCkgeworCXZpbnN0YWxsICIke0ZJTEVTRElSfSIvNzIt dG91Y2hzY3JlZW4ucnVsZXMgNjQ0IHVzci9saWIvdWRldi9ydWxlcy5kIDcyLXgxM3MtdG91Y2hz Y3JlZW4ucnVsZXMKKwl2aW5zdGFsbCAiJHtGSUxFU0RJUn0iLzkwLW5ldC1hZGRyZXNzLnJ1bGVz IDY0NCB1c3IvbGliL3VkZXYvcnVsZXMuZCA5MC14MTNzLW5ldC1hZGRyZXNzLnJ1bGVzCisJdmlu c3RhbGwgIiR7RklMRVNESVJ9Ii85MC1idC1hZGRyZXNzLnNoIDY0NCBldGMvcnVuaXQvY29yZS1z ZXJ2aWNlcyA5MC14MTNzLWJ0LWFkZHJlc3Muc2gKKwl2aW5zdGFsbCAiJHtGSUxFU0RJUn0iL2Ry YWN1dC5jb25mIDY0NCB1c3IvbGliL2RyYWN1dC9kcmFjdXQuY29uZi5kIHgxM3MuY29uZgorCXZp bnN0YWxsICIke0ZJTEVTRElSfSIveDEzcy1zZXR1cCA3NTUgdXNyL2xpYmV4ZWMKKwl2aW5zdGFs bCAiJHtGSUxFU0RJUn0iL3gxM3MuZGVmYXVsdCA2NDQgZXRjL2RlZmF1bHQgeDEzcworCSMgbm90 IGN1cnJlbnRseSB3b3JraW5nCisJIyB2aW5zdGFsbCAiJHtGSUxFU0RJUn0iL21raW5pdGNwaW8u Y29uZiA2NDQgZXRjL21raW5pdGNwaW8uY29uZi5kIHgxM3MuY29uZgorfQoKRnJvbSAzODVkYzkz ZjkyOGRmNGE2MzBkZTY2MTc4MDgwMWJmNWY3NmY5NWQ0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+CkRhdGU6IFRodSwg MjEgTWFyIDIwMjQgMTg6MDE6MzAgLTA0MDAKU3ViamVjdDogW1BBVENIIDIvM10gbGludXg2Ljg6 IGFkZCBzdXBwb3J0IGZvciBsZW5vdm8geDEzcwoKLS0tCiBzcmNwa2dzL2xpbnV4Ni44L2ZpbGVz L2FybTY0LWRvdGNvbmZpZyAgICAgICAgfCAgIDg0ICstCiAuLi5kLWluLWtlcm5lbC1wZC1tYXBw ZXItaW1wbGVtZW50YXRpb24ucGF0Y2ggfCAxOTUxICsrKysrKysrKysrKysrKysrCiBzcmNwa2dz L2xpbnV4Ni44L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgfCAgICAyICstCiAzIGZpbGVz IGNoYW5nZWQsIDIwMTIgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9saW51eDYuOC9wYXRjaGVzL3NvYy1xY29tLWFkZC1pbi1rZXJuZWwt cGQtbWFwcGVyLWltcGxlbWVudGF0aW9uLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saW51 eDYuOC9maWxlcy9hcm02NC1kb3Rjb25maWcgYi9zcmNwa2dzL2xpbnV4Ni44L2ZpbGVzL2FybTY0 LWRvdGNvbmZpZwppbmRleCBjODNiNjFlNWZjYmUyZi4uODgzNzgzZmM1NjUzZmUgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvbGludXg2LjgvZmlsZXMvYXJtNjQtZG90Y29uZmlnCisrKyBiL3NyY3BrZ3Mv bGludXg2LjgvZmlsZXMvYXJtNjQtZG90Y29uZmlnCkBAIC0xLDYgKzEsNiBAQAogIwogIyBBdXRv bWF0aWNhbGx5IGdlbmVyYXRlZCBmaWxlOyBETyBOT1QgRURJVC4KLSMgTGludXgvYXJtNjQgNi44 LjkgS2VybmVsIENvbmZpZ3VyYXRpb24KKyMgTGludXgvYXJtNjQgNi44LjEyIEtlcm5lbCBDb25m aWd1cmF0aW9uCiAjCiBDT05GSUdfQ0NfVkVSU0lPTl9URVhUPSJhYXJjaDY0LWxpbnV4LW11c2wt Z2NjIChHQ0MpIDEzLjIuMCIKIENPTkZJR19DQ19JU19HQ0M9eQpAQCAtMTgsNyArMTgsNyBAQCBD T05GSUdfQ0NfSEFTX0FTTV9HT1RPX1RJRURfT1VUUFVUPXkKIENPTkZJR19HQ0NfQVNNX0dPVE9f T1VUUFVUX1dPUktBUk9VTkQ9eQogQ09ORklHX0NDX0hBU19BU01fSU5MSU5FPXkKIENPTkZJR19D Q19IQVNfTk9fUFJPRklMRV9GTl9BVFRSPXkKLUNPTkZJR19QQUhPTEVfVkVSU0lPTj0xMjYKK0NP TkZJR19QQUhPTEVfVkVSU0lPTj0xMjcKIENPTkZJR19JUlFfV09SSz15CiBDT05GSUdfQlVJTERU SU1FX1RBQkxFX1NPUlQ9eQogQ09ORklHX1RIUkVBRF9JTkZPX0lOX1RBU0s9eQpAQCAtMjksNyAr MjksNyBAQCBDT05GSUdfVEhSRUFEX0lORk9fSU5fVEFTSz15CiBDT05GSUdfSU5JVF9FTlZfQVJH X0xJTUlUPTMyCiAjIENPTkZJR19DT01QSUxFX1RFU1QgaXMgbm90IHNldAogIyBDT05GSUdfV0VS Uk9SIGlzIG5vdCBzZXQKLUNPTkZJR19MT0NBTFZFUlNJT049Il8xIgorQ09ORklHX0xPQ0FMVkVS U0lPTj0iXzIiCiAjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CiBDT05GSUdf QlVJTERfU0FMVD0iIgogQ09ORklHX0RFRkFVTFRfSU5JVD0iIgpAQCAtNTk2LDcgKzU5Niw3IEBA IENPTkZJR19EUE1fV0FUQ0hET0c9eQogQ09ORklHX0RQTV9XQVRDSERPR19USU1FT1VUPTYwCiBD T05GSUdfUE1fQ0xLPXkKIENPTkZJR19QTV9HRU5FUklDX0RPTUFJTlM9eQotIyBDT05GSUdfV1Ff UE9XRVJfRUZGSUNJRU5UX0RFRkFVTFQgaXMgbm90IHNldAorQ09ORklHX1dRX1BPV0VSX0VGRklD SUVOVF9ERUZBVUxUPXkKIENPTkZJR19QTV9HRU5FUklDX0RPTUFJTlNfU0xFRVA9eQogQ09ORklH X1BNX0dFTkVSSUNfRE9NQUlOU19PRj15CiBDT05GSUdfQ1BVX1BNPXkKQEAgLTIzNjksNyArMjM2 OSw3IEBAIENPTkZJR19TT0NfQlVTPXkKIENPTkZJR19SRUdNQVA9eQogQ09ORklHX1JFR01BUF9J MkM9eQogQ09ORklHX1JFR01BUF9TUEk9eQotQ09ORklHX1JFR01BUF9TUE1JPW0KK0NPTkZJR19S RUdNQVBfU1BNST15CiBDT05GSUdfUkVHTUFQX1cxPW0KIENPTkZJR19SRUdNQVBfTU1JTz15CiBD T05GSUdfUkVHTUFQX0lSUT15CkBAIC0yNDM3LDcgKzI0MzcsNyBAQCBDT05GSUdfQVJNX1NDTUlf VFJBTlNQT1JUX1ZJUlRJT19WRVJTSU9OMV9DT01QTElBTkNFPXkKIENPTkZJR19BUk1fU0NNSV9Q T1dFUl9DT05UUk9MPW0KICMgZW5kIG9mIEFSTSBTeXN0ZW0gQ29udHJvbCBhbmQgTWFuYWdlbWVu dCBJbnRlcmZhY2UgUHJvdG9jb2wKIAotQ09ORklHX0FSTV9TQ1BJX1BST1RPQ09MPW0KK0NPTkZJ R19BUk1fU0NQSV9QUk9UT0NPTD15CiBDT05GSUdfQVJNX1NERV9JTlRFUkZBQ0U9eQogQ09ORklH X0ZJUk1XQVJFX01FTU1BUD15CiBDT05GSUdfRE1JSUQ9eQpAQCAtMjQ5Myw3ICsyNDkzLDggQEAg Q09ORklHX0FSTV9QU0NJX0ZXPXkKICMKIENPTkZJR19RQ09NX1NDTT15CiAjIENPTkZJR19RQ09N X1NDTV9ET1dOTE9BRF9NT0RFX0RFRkFVTFQgaXMgbm90IHNldAotIyBDT05GSUdfUUNPTV9RU0VF Q09NIGlzIG5vdCBzZXQKK0NPTkZJR19RQ09NX1FTRUVDT009eQorQ09ORklHX1FDT01fUVNFRUNP TV9VRUZJU0VDQVBQPXkKICMgZW5kIG9mIFF1YWxjb21tIGZpcm13YXJlIGRyaXZlcnMKIAogQ09O RklHX0hBVkVfQVJNX1NNQ0NDPXkKQEAgLTQ5MDQsNyArNDkwNSw3IEBAIENPTkZJR19YSUxMWVVT Qj1tCiBDT05GSUdfSTJDPXkKIENPTkZJR19BQ1BJX0kyQ19PUFJFR0lPTj15CiBDT05GSUdfSTJD X0JPQVJESU5GTz15Ci0jIENPTkZJR19JMkNfQ09NUEFUIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNf Q09NUEFUPXkKIENPTkZJR19JMkNfQ0hBUkRFVj1tCiBDT05GSUdfSTJDX01VWD1tCiAKQEAgLTUx MzMsNyArNTEzNCw3IEBAIENPTkZJR19TUElfU0xBVkU9eQogQ09ORklHX1NQSV9TTEFWRV9USU1F PW0KIENPTkZJR19TUElfU0xBVkVfU1lTVEVNX0NPTlRST0w9bQogQ09ORklHX1NQSV9EWU5BTUlD PXkKLUNPTkZJR19TUE1JPW0KK0NPTkZJR19TUE1JPXkKIENPTkZJR19TUE1JX0hJU0kzNjcwPW0K IENPTkZJR19TUE1JX01TTV9QTUlDX0FSQj1tCiBDT05GSUdfU1BNSV9NVEtfUE1JRj1tCkBAIC01 MzA0LDcgKzUzMDUsNyBAQCBDT05GSUdfUElOQ1RSTF9TQTg3NzVQPW0KIENPTkZJR19QSU5DVFJM X1NDNzE4MD1tCiBDT05GSUdfUElOQ1RSTF9TQzcyODA9bQogQ09ORklHX1BJTkNUUkxfU0M4MTgw WD1tCi1DT05GSUdfUElOQ1RSTF9TQzgyODBYUD1tCitDT05GSUdfUElOQ1RSTF9TQzgyODBYUD15 CiAjIENPTkZJR19QSU5DVFJMX1NETTY2MCBpcyBub3Qgc2V0CiBDT05GSUdfUElOQ1RSTF9TRE02 NzA9bQogQ09ORklHX1BJTkNUUkxfU0RNODQ1PW0KQEAgLTUzMjIsNyArNTMyMyw3IEBAIENPTkZJ R19QSU5DVFJMX1NNODQ1MD1tCiBDT05GSUdfUElOQ1RSTF9TTTg1NTA9bQogIyBDT05GSUdfUElO Q1RSTF9TTTg2NTAgaXMgbm90IHNldAogIyBDT05GSUdfUElOQ1RSTF9YMUU4MDEwMCBpcyBub3Qg c2V0Ci1DT05GSUdfUElOQ1RSTF9RQ09NX1NQTUlfUE1JQz1tCitDT05GSUdfUElOQ1RSTF9RQ09N X1NQTUlfUE1JQz15CiBDT05GSUdfUElOQ1RSTF9RQ09NX1NTQklfUE1JQz1tCiBDT05GSUdfUElO Q1RSTF9MUEFTU19MUEk9bQogIyBDT05GSUdfUElOQ1RSTF9TQzcyODBfTFBBU1NfTFBJIGlzIG5v dCBzZXQKQEAgLTU5MTEsMTIgKzU5MTIsMTMgQEAgQ09ORklHX1RIRVJNQUxfT0Y9eQogQ09ORklH X1RIRVJNQUxfREVGQVVMVF9HT1ZfU1RFUF9XSVNFPXkKICMgQ09ORklHX1RIRVJNQUxfREVGQVVM VF9HT1ZfRkFJUl9TSEFSRSBpcyBub3Qgc2V0CiAjIENPTkZJR19USEVSTUFMX0RFRkFVTFRfR09W X1VTRVJfU1BBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfVEhFUk1BTF9ERUZBVUxUX0dPVl9QT1dF Ul9BTExPQ0FUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVEhFUk1BTF9ERUZBVUxUX0dPVl9CQU5H X0JBTkcgaXMgbm90IHNldAogQ09ORklHX1RIRVJNQUxfR09WX0ZBSVJfU0hBUkU9eQogQ09ORklH X1RIRVJNQUxfR09WX1NURVBfV0lTRT15CiBDT05GSUdfVEhFUk1BTF9HT1ZfQkFOR19CQU5HPXkK IENPTkZJR19USEVSTUFMX0dPVl9VU0VSX1NQQUNFPXkKLSMgQ09ORklHX1RIRVJNQUxfR09WX1BP V0VSX0FMTE9DQVRPUiBpcyBub3Qgc2V0CitDT05GSUdfVEhFUk1BTF9HT1ZfUE9XRVJfQUxMT0NB VE9SPXkKIENPTkZJR19DUFVfVEhFUk1BTD15CiBDT05GSUdfQ1BVX0ZSRVFfVEhFUk1BTD15CiAj IENPTkZJR19DUFVfSURMRV9USEVSTUFMIGlzIG5vdCBzZXQKQEAgLTU5NzQsNyArNTk3Niw3IEBA IENPTkZJR19HRU5FUklDX0FEQ19USEVSTUFMPW0KICMKIENPTkZJR19RQ09NX1RTRU5TPW0KIENP TkZJR19RQ09NX1NQTUlfQURDX1RNNT1tCi0jIENPTkZJR19RQ09NX1NQTUlfVEVNUF9BTEFSTSBp cyBub3Qgc2V0CitDT05GSUdfUUNPTV9TUE1JX1RFTVBfQUxBUk09bQogQ09ORklHX1FDT01fTE1I PW0KICMgZW5kIG9mIFF1YWxjb21tIHRoZXJtYWwgZHJpdmVycwogCkBAIC02MDEyLDcgKzYwMTQs NyBAQCBDT05GSUdfWElMSU5YX1dBVENIRE9HPW0KIENPTkZJR19aSUlSQVZFX1dBVENIRE9HPW0K IENPTkZJR19NTFhfV0RUPW0KIENPTkZJR19TTDI4Q1BMRF9XQVRDSERPRz1tCi0jIENPTkZJR19B Uk1fU1A4MDVfV0FUQ0hET0cgaXMgbm90IHNldAorQ09ORklHX0FSTV9TUDgwNV9XQVRDSERPRz15 CiBDT05GSUdfQVJNX1NCU0FfV0FUQ0hET0c9bQogQ09ORklHX0FSTUFEQV8zN1hYX1dBVENIRE9H PW0KIENPTkZJR19DQURFTkNFX1dBVENIRE9HPW0KQEAgLTYwMjUsNyArNjAyNyw3IEBAIENPTkZJ R19JTVgyX1dEVD1tCiBDT05GSUdfSU1YX1NDX1dEVD1tCiBDT05GSUdfSU1YN1VMUF9XRFQ9bQog Q09ORklHX1RFR1JBX1dBVENIRE9HPW0KLSMgQ09ORklHX1FDT01fV0RUIGlzIG5vdCBzZXQKK0NP TkZJR19RQ09NX1dEVD1tCiBDT05GSUdfTUVTT05fR1hCQl9XQVRDSERPRz1tCiBDT05GSUdfTUVT T05fV0FUQ0hET0c9bQogQ09ORklHX01FRElBVEVLX1dBVENIRE9HPW0KQEAgLTkzMjUsNyArOTMy Nyw3IEBAIENPTkZJR19TQ1NJX1VGU0hDRF9QQ0k9bQogQ09ORklHX1NDU0lfVUZTSENEX1BMQVRG T1JNPW0KIENPTkZJR19TQ1NJX1VGU19DRE5TX1BMQVRGT1JNPW0KICMgQ09ORklHX1NDU0lfVUZT X0RXQ19UQ19QTEFURk9STSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1VGU19RQ09NIGlzIG5v dCBzZXQKK0NPTkZJR19TQ1NJX1VGU19RQ09NPW0KIENPTkZJR19TQ1NJX1VGU19NRURJQVRFSz1t CiBDT05GSUdfU0NTSV9VRlNfSElTST1tCiBDT05GSUdfU0NTSV9VRlNfRVhZTk9TPW0KQEAgLTEw MzQ0LDcgKzEwMzQ2LDcgQEAgQ09ORklHX1FDTV9HQ0NfMjI5MD1tCiBDT05GSUdfUUNTX0dDQ180 MDQ9bQogQ09ORklHX1NDX0NBTUNDXzcxODA9bQogQ09ORklHX1NDX0NBTUNDXzcyODA9bQotIyBD T05GSUdfU0NfQ0FNQ0NfODI4MFhQIGlzIG5vdCBzZXQKK0NPTkZJR19TQ19DQU1DQ184MjgwWFA9 bQogQ09ORklHX1NDX0RJU1BDQ183MTgwPW0KIENPTkZJR19TQ19ESVNQQ0NfNzI4MD1tCiBDT05G SUdfU0NfRElTUENDXzgyODBYUD1tCkBAIC0xMDM1Niw5ICsxMDM1OCw5IEBAIENPTkZJR19TQ19H Q0NfODE4MFg9bQogQ09ORklHX1NDX0dDQ184MjgwWFA9bQogQ09ORklHX1NDX0dQVUNDXzcxODA9 bQogQ09ORklHX1NDX0dQVUNDXzcyODA9bQotIyBDT05GSUdfU0NfR1BVQ0NfODI4MFhQIGlzIG5v dCBzZXQKK0NPTkZJR19TQ19HUFVDQ184MjgwWFA9bQogQ09ORklHX1NDX0xQQVNTQ0NfNzI4MD1t Ci0jIENPTkZJR19TQ19MUEFTU0NDXzgyODBYUCBpcyBub3Qgc2V0CitDT05GSUdfU0NfTFBBU1ND Q184MjgwWFA9bQogQ09ORklHX1NDX0xQQVNTX0NPUkVDQ183MTgwPW0KIENPTkZJR19TQ19MUEFT U19DT1JFQ0NfNzI4MD1tCiBDT05GSUdfU0NfTVNTXzcxODA9bQpAQCAtMTA0MTYsNyArMTA0MTgs NyBAQCBDT05GSUdfU01fVENTUkNDXzg1NTA9bQogIyBDT05GSUdfU01fVENTUkNDXzg2NTAgaXMg bm90IHNldAogQ09ORklHX1NNX1ZJREVPQ0NfODE1MD1tCiBDT05GSUdfU01fVklERU9DQ184MjUw PW0KLSMgQ09ORklHX1NNX1ZJREVPQ0NfODM1MCBpcyBub3Qgc2V0CitDT05GSUdfU01fVklERU9D Q184MzUwPW0KICMgQ09ORklHX1NNX1ZJREVPQ0NfODU1MCBpcyBub3Qgc2V0CiBDT05GSUdfU1BN SV9QTUlDX0NMS0RJVj1tCiBDT05GSUdfUUNPTV9IRlBMTD1tCkBAIC0xMDQ5NCw3ICsxMDQ5Niw3 IEBAIENPTkZJR19USU1FUl9JTVhfU1lTX0NUUj15CiAjIGVuZCBvZiBDbG9jayBTb3VyY2UgZHJp dmVycwogCiBDT05GSUdfTUFJTEJPWD15Ci0jIENPTkZJR19BUk1fTUhVIGlzIG5vdCBzZXQKK0NP TkZJR19BUk1fTUhVPXkKIENPTkZJR19BUk1fTUhVX1YyPW0KIENPTkZJR19JTVhfTUJPWD1tCiBD T05GSUdfUExBVEZPUk1fTUhVPW0KQEAgLTEwNTM2LDggKzEwNTM4LDggQEAgQ09ORklHX0lPTU1V X0lPX1BHVEFCTEVfREFSVD15CiAKICMgQ09ORklHX0lPTU1VX0RFQlVHRlMgaXMgbm90IHNldAog IyBDT05GSUdfSU9NTVVfREVGQVVMVF9ETUFfU1RSSUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lP TU1VX0RFRkFVTFRfRE1BX0xBWlkgaXMgbm90IHNldAotQ09ORklHX0lPTU1VX0RFRkFVTFRfUEFT U1RIUk9VR0g9eQorQ09ORklHX0lPTU1VX0RFRkFVTFRfRE1BX0xBWlk9eQorIyBDT05GSUdfSU9N TVVfREVGQVVMVF9QQVNTVEhST1VHSCBpcyBub3Qgc2V0CiBDT05GSUdfT0ZfSU9NTVU9eQogQ09O RklHX0lPTU1VX0RNQT15CiBDT05GSUdfSU9NTVVfU1ZBPXkKQEAgLTEwNjk1LDcgKzEwNjk3LDkg QEAgQ09ORklHX1FDT01fTExDQz1tCiBDT05GSUdfUUNPTV9LUllPX0wyX0FDQ0VTU09SUz15CiBD T05GSUdfUUNPTV9NRFRfTE9BREVSPW0KIENPTkZJR19RQ09NX09DTUVNPW0KK0NPTkZJR19RQ09N X1BEX01BUFBFUj1tCiBDT05GSUdfUUNPTV9QRFJfSEVMUEVSUz1tCitDT05GSUdfUUNPTV9QRFJf TVNHPW0KICMgQ09ORklHX1FDT01fUE1JQ19QRENIQVJHRVJfVUxPRyBpcyBub3Qgc2V0CiBDT05G SUdfUUNPTV9QTUlDX0dMSU5LPW0KIENPTkZJR19RQ09NX1FNSV9IRUxQRVJTPW0KQEAgLTExOTI3 LDcgKzExOTMxLDM4IEBAIENPTkZJR19JTlRFUkNPTk5FQ1RfSU1YOE1NPW0KIENPTkZJR19JTlRF UkNPTk5FQ1RfSU1YOE1OPW0KIENPTkZJR19JTlRFUkNPTk5FQ1RfSU1YOE1RPW0KIENPTkZJR19J TlRFUkNPTk5FQ1RfSU1YOE1QPW0KLSMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NIGlzIG5vdCBz ZXQKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTT15CitDT05GSUdfSU5URVJDT05ORUNUX1FDT01f QkNNX1ZPVEVSPXkKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX01TTTg5MTYgaXMgbm90IHNl dAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fTVNNODkzOSBpcyBub3Qgc2V0CisjIENPTkZJ R19JTlRFUkNPTk5FQ1RfUUNPTV9NU004OTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09O TkVDVF9RQ09NX01TTTg5OTYgaXMgbm90IHNldAorQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX09T TV9MMz1tCisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9RQ00yMjkwIGlzIG5vdCBzZXQKKyMg Q09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1FDUzQwNCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRF UkNPTk5FQ1RfUUNPTV9RRFUxMDAwIGlzIG5vdCBzZXQKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNP TV9SUE1IX1BPU1NJQkxFPXkKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9SUE1IPXkKKyMgQ09O RklHX0lOVEVSQ09OTkVDVF9RQ09NX1NBODc3NVAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJD T05ORUNUX1FDT01fU0M3MTgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09N X1NDNzI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TQzgxODBYIGlz IG5vdCBzZXQKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TQzgyODBYUD15CisjIENPTkZJR19J TlRFUkNPTk5FQ1RfUUNPTV9TRE02NjAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNU X1FDT01fU0RNNjcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NETTg0 NSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg1NSBpcyBub3Qgc2V0 CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg2NSBpcyBub3Qgc2V0CisjIENPTkZJR19J TlRFUkNPTk5FQ1RfUUNPTV9TRFg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1Rf UUNPTV9TTTYxMTUgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU002MzUw IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNODE1MCBpcyBub3Qgc2V0 CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTgyNTAgaXMgbm90IHNldAorIyBDT05GSUdf SU5URVJDT05ORUNUX1FDT01fU004MzUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVD VF9RQ09NX1NNODQ1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTg1 NTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU004NjUwIGlzIG5vdCBz ZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1gxRTgwMTAwIGlzIG5vdCBzZXQKIENPTkZJ R19JTlRFUkNPTk5FQ1RfU0FNU1VORz15CiBDT05GSUdfSU5URVJDT05ORUNUX0VYWU5PUz1tCiBD T05GSUdfSU5URVJDT05ORUNUX0NMSz1tCkBAIC0xMjQyOSw2ICsxMjQ2NCw3IEBAIENPTkZJR19D UllQVE9fQUxHQVBJPXkKIENPTkZJR19DUllQVE9fQUxHQVBJMj15CiBDT05GSUdfQ1JZUFRPX0FF QUQ9eQogQ09ORklHX0NSWVBUT19BRUFEMj15CitDT05GSUdfQ1JZUFRPX1NJRz15CiBDT05GSUdf Q1JZUFRPX1NJRzI9eQogQ09ORklHX0NSWVBUT19TS0NJUEhFUj15CiBDT05GSUdfQ1JZUFRPX1NL Q0lQSEVSMj15CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpbnV4Ni44L3BhdGNoZXMvc29jLXFjb20t YWRkLWluLWtlcm5lbC1wZC1tYXBwZXItaW1wbGVtZW50YXRpb24ucGF0Y2ggYi9zcmNwa2dzL2xp bnV4Ni44L3BhdGNoZXMvc29jLXFjb20tYWRkLWluLWtlcm5lbC1wZC1tYXBwZXItaW1wbGVtZW50 YXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjc5 NGFjMmYyZDc3ZjkyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saW51eDYuOC9wYXRjaGVz L3NvYy1xY29tLWFkZC1pbi1rZXJuZWwtcGQtbWFwcGVyLWltcGxlbWVudGF0aW9uLnBhdGNoCkBA IC0wLDAgKzEsMTk1MSBAQAoraHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wcm9qZWN0L2xp bnV4LWFybS1tc20vY292ZXIvMjAyNDA2MjItcWNvbS1wZC1tYXBwZXItdjktMC1hODRlZTM1OTFj OGVAbGluYXJvLm9yZy8KKworYWNjZXB0ZWQgdXBzdHJlYW0sIGV4cGVjdGVkIG1haW5saW5lIGlu IDYuMTEKKworRnJvbTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8u b3JnPgorRGF0ZTogU2F0LCAyMiBKdW4gMjAyNCAwMTowMzo0MCArMDMwMAorU3ViamVjdDogW1BB VENIIHY5IDEvNV0gc29jOiBxY29tOiBwZHI6IHByb3RlY3QgbG9jYXRvcl9hZGRyIHdpdGggdGhl IG1haW4KKyBtdXRleAorCitJZiB0aGUgc2VydmljZSBsb2NhdG9yIHNlcnZlciBpcyByZXN0YXJ0 ZWQgZmFzdCBlbm91Z2gsIHRoZSBQRFIgY2FuCityZXdyaXRlIGxvY2F0b3JfYWRkciBmaWVsZHMg Y29uY3VycmVudGx5LiBQcm90ZWN0IHRoZW0gYnkgcGxhY2luZworbW9kaWZpY2F0aW9uIG9mIHRo b3NlIGZpZWxkcyB1bmRlciB0aGUgbWFpbiBwZHItPmxvY2suCisKK0ZpeGVzOiBmYmU2MzliNDRh ODIgKCJzb2M6IHFjb206IEludHJvZHVjZSBQcm90ZWN0aW9uIERvbWFpbiBSZXN0YXJ0IGhlbHBl cnMiKQorVGVzdGVkLWJ5OiBOZWlsIEFybXN0cm9uZyA8bmVpbC5hcm1zdHJvbmdAbGluYXJvLm9y Zz4gIyBvbiBTTTg1NTAtUVJECitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pld3NraSA8c3RlZXZA a2FsaS5vcmc+CitUZXN0ZWQtYnk6IEFsZXhleSBNaW5uZWtoYW5vdiA8YWxleGV5bWluQHBvc3Rt YXJrZXRvcy5vcmc+CitTaWduZWQtb2ZmLWJ5OiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFy eXNoa292QGxpbmFyby5vcmc+CitSZXZpZXdlZC1ieTogQ2hyaXMgTGV3IDxxdWljX2NsZXdAcXVp Y2luYy5jb20+CistLS0KKyBkcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYyB8IDYgKysr Ky0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jIGIvZHJpdmVycy9z b2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKK2luZGV4IGExYjZhNDA4MWRlYS4uNzZhNjJjMmVjYzU4 IDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKKysrKyBiL2Ry aXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jCitAQCAtNzYsMTIgKzc2LDEyIEBAIHN0YXRp YyBpbnQgcGRyX2xvY2F0b3JfbmV3X3NlcnZlcihzdHJ1Y3QgcW1pX2hhbmRsZSAqcW1pLAorIAkJ CQkJICAgICAgbG9jYXRvcl9oZGwpOworIAlzdHJ1Y3QgcGRyX3NlcnZpY2UgKnBkczsKKyAKKysJ bXV0ZXhfbG9jaygmcGRyLT5sb2NrKTsKKyAJLyogQ3JlYXRlIGEgbG9jYWwgY2xpZW50IHBvcnQg Zm9yIFFNSSBjb21tdW5pY2F0aW9uICovCisgCXBkci0+bG9jYXRvcl9hZGRyLnNxX2ZhbWlseSA9 IEFGX1FJUENSVFI7CisgCXBkci0+bG9jYXRvcl9hZGRyLnNxX25vZGUgPSBzdmMtPm5vZGU7Cisg CXBkci0+bG9jYXRvcl9hZGRyLnNxX3BvcnQgPSBzdmMtPnBvcnQ7CisgCistCW11dGV4X2xvY2so JnBkci0+bG9jayk7CisgCXBkci0+bG9jYXRvcl9pbml0X2NvbXBsZXRlID0gdHJ1ZTsKKyAJbXV0 ZXhfdW5sb2NrKCZwZHItPmxvY2spOworIAorQEAgLTEwNCwxMCArMTA0LDEwIEBAIHN0YXRpYyB2 b2lkIHBkcl9sb2NhdG9yX2RlbF9zZXJ2ZXIoc3RydWN0IHFtaV9oYW5kbGUgKnFtaSwKKyAKKyAJ bXV0ZXhfbG9jaygmcGRyLT5sb2NrKTsKKyAJcGRyLT5sb2NhdG9yX2luaXRfY29tcGxldGUgPSBm YWxzZTsKKy0JbXV0ZXhfdW5sb2NrKCZwZHItPmxvY2spOworIAorIAlwZHItPmxvY2F0b3JfYWRk ci5zcV9ub2RlID0gMDsKKyAJcGRyLT5sb2NhdG9yX2FkZHIuc3FfcG9ydCA9IDA7CisrCW11dGV4 X3VubG9jaygmcGRyLT5sb2NrKTsKKyB9CisgCisgc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfb3Bz IHBkcl9sb2NhdG9yX29wcyA9IHsKK0BAIC0zNjUsMTIgKzM2NSwxNCBAQCBzdGF0aWMgaW50IHBk cl9nZXRfZG9tYWluX2xpc3Qoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSAqcmVx LAorIAlpZiAocmV0IDwgMCkKKyAJCXJldHVybiByZXQ7CisgCisrCW11dGV4X2xvY2soJnBkci0+ bG9jayk7CisgCXJldCA9IHFtaV9zZW5kX3JlcXVlc3QoJnBkci0+bG9jYXRvcl9oZGwsCisgCQkJ ICAgICAgICZwZHItPmxvY2F0b3JfYWRkciwKKyAJCQkgICAgICAgJnR4biwgU0VSVlJFR19HRVRf RE9NQUlOX0xJU1RfUkVRLAorIAkJCSAgICAgICBTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVFf TUFYX0xFTiwKKyAJCQkgICAgICAgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpLAorIAkJ CSAgICAgICByZXEpOworKwltdXRleF91bmxvY2soJnBkci0+bG9jayk7CisgCWlmIChyZXQgPCAw KSB7CisgCQlxbWlfdHhuX2NhbmNlbCgmdHhuKTsKKyAJCXJldHVybiByZXQ7CisKK0Zyb206IERt aXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KK0RhdGU6IFNhdCwg MjIgSnVuIDIwMjQgMDE6MDM6NDEgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCB2OSAyLzVdIHNvYzog cWNvbTogcGRyOiBmaXggcGFyc2luZyBvZiBkb21haW5zIGxpc3RzCisKK1doaWxlIHBhcnNpbmcg dGhlIGRvbWFpbnMgbGlzdCwgc3RhcnQgb2Zmc2V0cyBmcm9tIDAgcmF0aGVyIHRoYW4gZnJvbQor ZG9tYWluc19yZWFkLiBUaGUgZG9tYWluc19yZWFkIGlzIGVxdWFsIHRvIHRoZSB0b3RhbCBjb3Vu dCBvZiB0aGUKK2RvbWFpbnMgd2UgaGF2ZSBzZWVuLCB3aGlsZSB0aGUgZG9tYWlucyBsaXN0IGlu IHRoZSBtZXNzYWdlIHN0YXJ0cyBmcm9tCitvZmZzZXQgMC4KKworRml4ZXM6IGZiZTYzOWI0NGE4 MiAoInNvYzogcWNvbTogSW50cm9kdWNlIFByb3RlY3Rpb24gRG9tYWluIFJlc3RhcnQgaGVscGVy cyIpCitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pld3NraSA8c3RlZXZAa2FsaS5vcmc+CitUZXN0 ZWQtYnk6IEFsZXhleSBNaW5uZWtoYW5vdiA8YWxleGV5bWluQHBvc3RtYXJrZXRvcy5vcmc+CitS ZXZpZXdlZC1ieTogQ2hyaXMgTGV3IDxxdWljX2NsZXdAcXVpY2luYy5jb20+CitUZXN0ZWQtYnk6 IE5laWwgQXJtc3Ryb25nIDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPiAjIG9uIFNNODU1MC1R UkQKK1NpZ25lZC1vZmYtYnk6IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGlu YXJvLm9yZz4KKy0tLQorIGRyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jIHwgMiArLQor IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0t Z2l0IGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMgYi9kcml2ZXJzL3NvYy9xY29t L3Bkcl9pbnRlcmZhY2UuYworaW5kZXggNzZhNjJjMmVjYzU4Li4yMTYxNjZlOThmYWUgMTAwNjQ0 CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYworKysrIGIvZHJpdmVycy9z b2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKK0BAIC00MTcsNyArNDE3LDcgQEAgc3RhdGljIGludCBw ZHJfbG9jYXRlX3NlcnZpY2Uoc3RydWN0IHBkcl9oYW5kbGUgKnBkciwgc3RydWN0IHBkcl9zZXJ2 aWNlICpwZHMpCisgCQlpZiAocmV0IDwgMCkKKyAJCQlnb3RvIG91dDsKKyAKKy0JCWZvciAoaSA9 IGRvbWFpbnNfcmVhZDsgaSA8IHJlc3AtPmRvbWFpbl9saXN0X2xlbjsgaSsrKSB7CisrCQlmb3Ig KGkgPSAwOyBpIDwgcmVzcC0+ZG9tYWluX2xpc3RfbGVuOyBpKyspIHsKKyAJCQllbnRyeSA9ICZy ZXNwLT5kb21haW5fbGlzdFtpXTsKKyAKKyAJCQlpZiAoc3RybmxlbihlbnRyeS0+bmFtZSwgc2l6 ZW9mKGVudHJ5LT5uYW1lKSkgPT0gc2l6ZW9mKGVudHJ5LT5uYW1lKSkKKworRnJvbTogRG1pdHJ5 IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0ZTogU2F0LCAyMiBK dW4gMjAyNCAwMTowMzo0MiArMDMwMAorU3ViamVjdDogW1BBVENIIHY5IDMvNV0gc29jOiBxY29t OiBwZHI6IGV4dHJhY3QgUERSIG1lc3NhZ2UgbWFyc2hhbGxpbmcKKyBkYXRhCisKK1RoZSBpbi1r ZXJuZWwgUEQgbWFwcGVyIGlzIGdvaW5nIHRvIHVzZSBzYW1lIG1lc3NhZ2Ugc3RydWN0dXJlcyBh cyB0aGUKK1FDT01fUERSX0hFTFBFUlMgbW9kdWxlLiBFeHRyYWN0IG1lc3NhZ2UgbWFyc2hhbGxp bmcgZGF0YSB0byBzZXBhcmF0ZQorbW9kdWxlIHRoYXQgY2FuIGJlIHVzZWQgYnkgYm90aCBQRFIg aGVscGVycyBhbmQgYnkgUEQgbWFwcGVyLgorCitSZXZpZXdlZC1ieTogQnJ5YW4gTydEb25vZ2h1 ZSA8YnJ5YW4ub2Rvbm9naHVlQGxpbmFyby5vcmc+CitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pl d3NraSA8c3RlZXZAa2FsaS5vcmc+CitUZXN0ZWQtYnk6IEFsZXhleSBNaW5uZWtoYW5vdiA8YWxl eGV5bWluQHBvc3RtYXJrZXRvcy5vcmc+CitUZXN0ZWQtYnk6IE5laWwgQXJtc3Ryb25nIDxuZWls LmFybXN0cm9uZ0BsaW5hcm8ub3JnPiAjIG9uIFNNODU1MC1RUkQKK1NpZ25lZC1vZmYtYnk6IERt aXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KKy0tLQorIGRyaXZl cnMvc29jL3Fjb20vS2NvbmZpZyAgICAgICAgfCAgIDQgKworIGRyaXZlcnMvc29jL3Fjb20vTWFr ZWZpbGUgICAgICAgfCAgIDEgKworIGRyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmggfCAz MDYgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBkcml2ZXJzL3NvYy9x Y29tL3Fjb21fcGRyX21zZy5jIHwgMzE5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKKyA0IGZpbGVzIGNoYW5nZWQsIDMzNCBpbnNlcnRpb25zKCspLCAyOTYgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL0tjb25maWcgYi9kcml2ZXJz L3NvYy9xY29tL0tjb25maWcKK2luZGV4IDVhZjMzYjBlMzQ3MC4uOTU5NzNjNmI4MjhmIDEwMDY0 NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCisrKysgYi9kcml2ZXJzL3NvYy9xY29t L0tjb25maWcKK0BAIC03NSw4ICs3NSwxMiBAQCBjb25maWcgUUNPTV9PQ01FTQorIGNvbmZpZyBR Q09NX1BEUl9IRUxQRVJTCisgCXRyaXN0YXRlCisgCXNlbGVjdCBRQ09NX1FNSV9IRUxQRVJTCisr CXNlbGVjdCBRQ09NX1BEUl9NU0cKKyAJZGVwZW5kcyBvbiBORVQKKyAKKytjb25maWcgUUNPTV9Q RFJfTVNHCisrCXRyaXN0YXRlCisrCisgY29uZmlnIFFDT01fUE1JQ19QRENIQVJHRVJfVUxPRwor IAl0cmlzdGF0ZSAiUXVhbGNvbW0gUE1JQyBQRENoYXJnZXIgVUxPRyBkcml2ZXIiCisgCWRlcGVu ZHMgb24gUlBNU0cKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlIGIvZHJp dmVycy9zb2MvcWNvbS9NYWtlZmlsZQoraW5kZXggY2EwYmVjZTBkZmZmLi4zMTEwYWMzMjg4YmMg MTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlCisrKysgYi9kcml2ZXJzL3Nv Yy9xY29tL01ha2VmaWxlCitAQCAtOCw2ICs4LDcgQEAgb2JqLSQoQ09ORklHX1FDT01fR1NCSSkJ Kz0JcWNvbV9nc2JpLm8KKyBvYmotJChDT05GSUdfUUNPTV9NRFRfTE9BREVSKQkrPSBtZHRfbG9h ZGVyLm8KKyBvYmotJChDT05GSUdfUUNPTV9PQ01FTSkJKz0gb2NtZW0ubworIG9iai0kKENPTkZJ R19RQ09NX1BEUl9IRUxQRVJTKQkrPSBwZHJfaW50ZXJmYWNlLm8KKytvYmotJChDT05GSUdfUUNP TV9QRFJfTVNHKQkrPSBxY29tX3Bkcl9tc2cubworIG9iai0kKENPTkZJR19RQ09NX1BNSUNfR0xJ TkspCSs9IHBtaWNfZ2xpbmsubworIG9iai0kKENPTkZJR19RQ09NX1BNSUNfR0xJTkspCSs9IHBt aWNfZ2xpbmtfYWx0bW9kZS5vCisgb2JqLSQoQ09ORklHX1FDT01fUE1JQ19QRENIQVJHRVJfVUxP RykJKz0gcG1pY19wZGNoYXJnZXJfdWxvZy5vCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNv bS9wZHJfaW50ZXJuYWwuaCBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKK2luZGV4 IDAzYzI4MmI3ZjE3ZS4uN2U1YmI1YTk1Mjc1IDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNv bS9wZHJfaW50ZXJuYWwuaAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaAor QEAgLTI4LDgzICsyOCwxMiBAQCBzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSB7CisgCXUz MiBpbnN0YW5jZTsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBz ZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9 IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsg MSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0g Tk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAgID0g b2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCistCQkJCQkgICBuYW1lKSwK Ky0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwKKy0J CS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMyKSwK Ky0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAwLAorLQkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnks CistCQkJCQkgICBpbnN0YW5jZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFN SV9VTlNJR05FRF8xX0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6 ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2 X3R5cGUgICAgICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNl cnZyZWdfbG9jYXRpb25fZW50cnksCistCQkJCQkgICBzZXJ2aWNlX2RhdGFfdmFsaWQpLAorLQl9 LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorLQkJLmVs ZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorLQkJ LmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDAsCistCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKy0J CQkJCSAgIHNlcnZpY2VfZGF0YSksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJl Z19nZXRfZG9tYWluX2xpc3RfcmVxIHsKKyAJY2hhciBzZXJ2aWNlX25hbWVbU0VSVlJFR19OQU1F X0xFTkdUSCArIDFdOworIAl1OCBkb21haW5fb2Zmc2V0X3ZhbGlkOworIAl1MzIgZG9tYWluX29m ZnNldDsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVn X2dldF9kb21haW5fbGlzdF9yZXFfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0g UU1JX1NUUklORywKKy0JCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAx LAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorLQkJLmFycmF5X3R5cGUJPSBO T19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCistCQkub2Zmc2V0ICAgICAgICAg PSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorLQkJCQkJICAg c2VydmljZV9uYW1lKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9G TEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVv Zih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0g MHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9k b21haW5fbGlzdF9yZXEsCistCQkJCQkgICBkb21haW5fb2Zmc2V0X3ZhbGlkKSwKKy0JfSwKKy0J eworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwKKy0JCS5lbGVtX2xl biAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMyKSwKKy0JCS5hcnJh eV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNl dCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSwK Ky0JCQkJCSAgIGRvbWFpbl9vZmZzZXQpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNl cnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AgeworIAlzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVf djAxIHJlc3A7CisgCXU4IHRvdGFsX2RvbWFpbnNfdmFsaWQ7CitAQCAtMTE2LDI2NCArNDUsNDkg QEAgc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AgeworIAlzdHJ1Y3Qgc2VydnJl Z19sb2NhdGlvbl9lbnRyeSBkb21haW5fbGlzdFtTRVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdUSF07 CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRf ZG9tYWluX2xpc3RfcmVzcF9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlf U1RSVUNULAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNp emVvZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKy0JCS5hcnJheV90eXBlCT0gTk9f QVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0g b2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBy ZXNwKSwKKy0JCS5laV9hcnJheSAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAorLQl9 LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCistCQkuZWxlbV9sZW4g ICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90 eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNldCAg ICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCist CQkJCQkgICB0b3RhbF9kb21haW5zX3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAg ICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQku ZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVks CistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0 b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICB0b3RhbF9k b21haW5zKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAor LQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCks CistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMSwK Ky0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5f bGlzdF9yZXNwLAorLQkJCQkJICAgZGJfcmV2X2NvdW50X3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAg ICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBl CT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDExLAorLQkJLm9mZnNldCAgICAg ICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJ CQkgICBkYl9yZXZfY291bnQpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlf T1BUX0ZMQUcsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0g c2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAg ICAgPSAweDEyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdf Z2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBkb21haW5fbGlzdF92YWxpZCksCistCX0s CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9EQVRBX0xFTiwKKy0JCS5lbGVtX2xlbiAg ICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5 cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCistCQkub2Zmc2V0ICAg ICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKy0J CQkJCSAgIGRvbWFpbl9saXN0X2xlbiksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9 IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX0RPTUFJTl9MSVNUX0xF TkdUSCwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlv bl9lbnRyeSksCistCQkuYXJyYXlfdHlwZQk9IFZBUl9MRU5fQVJSQVksCistCQkudGx2X3R5cGUg ICAgICAgPSAweDEyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZy ZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBkb21haW5fbGlzdCksCistCQkuZWlf YXJyYXkgICAgICA9IHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWksCistCX0sCistCXt9CistfTsK Ky0KKyBzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEgeworIAl1OCBlbmFibGU7 CisgCWNoYXIgc2VydmljZV9wYXRoW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyB9OworIAor LXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3Rl bmVyX3JlcV9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURf MV9CWVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNp emVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAg ID0gMHgwMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3Jl Z2lzdGVyX2xpc3RlbmVyX3JlcSwKKy0JCQkJCSAgIGVuYWJsZSksCistCX0sCistCXsKKy0JCS5k YXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVH X05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKy0J CS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVu ZXJfcmVxLAorLQkJCQkJICAgc2VydmljZV9wYXRoKSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0 cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AgeworIAlzdHJ1Y3QgcW1pX3Jlc3Bv bnNlX3R5cGVfdjAxIHJlc3A7CisgCXU4IGN1cnJfc3RhdGVfdmFsaWQ7CisgCWVudW0gc2VydnJl Z19zZXJ2aWNlX3N0YXRlIGN1cnJfc3RhdGU7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0 IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwX2VpW10gPSB7Cist CXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4gICAgICAg PSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9uc2VfdHlw ZV92MDEpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9 IDB4MDIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdp c3Rlcl9saXN0ZW5lcl9yZXNwLAorLQkJCQkJICAgcmVzcCksCistCQkuZWlfYXJyYXkgICAgICA9 IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUg ICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90 eXBlICAgICAgID0gMHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBz ZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AsCistCQkJCQkgICBjdXJyX3N0YXRlX3ZhbGlk KSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NJR05FRF80X0JZVEVfRU5V TSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yo ZW51bSBzZXJ2cmVnX3NlcnZpY2Vfc3RhdGUpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwK Ky0JCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRv ZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorLQkJCQkJICAgY3Vycl9z dGF0ZSksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0X3BkX3Jl cSB7CisgCWNoYXIgc2VydmljZV9wYXRoW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyB9Owor IAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRf cmVxX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQku ZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUg ICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2 X3R5cGUgICAgICAgPSAweDAxLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0 IHNlcnZyZWdfcmVzdGFydF9wZF9yZXEsCistCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorLQl9LAor LQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwIHsKKyAJc3RydWN0 IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOworIH07CisgCistc3RhdGljIGNvbnN0IHN0cnVj dCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwX2VpW10gPSB7CistCXsKKy0J CS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAor LQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEp LAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDIs CistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0X3Bk X3Jlc3AsCistCQkJCQkgICByZXNwKSwKKy0JCS5laV9hcnJheSAgICAgID0gcW1pX3Jlc3BvbnNl X3R5cGVfdjAxX2VpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfc3RhdGVf dXBkYXRlZF9pbmQgeworIAllbnVtIHNlcnZyZWdfc2VydmljZV9zdGF0ZSBjdXJyX3N0YXRlOwor IAljaGFyIHNlcnZpY2VfcGF0aFtTRVJWUkVHX05BTUVfTEVOR1RIICsgMV07CisgCXUxNiB0cmFu c2FjdGlvbl9pZDsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBz ZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAg ICA9IFFNSV9TSUdORURfNF9CWVRFX0VOVU0sCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJ LmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUzMiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZ LAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNl dG9mKHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorLQkJCQkJICAgY3Vycl9zdGF0 ZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxl bV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAg ICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5 cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNl cnZyZWdfc3RhdGVfdXBkYXRlZF9pbmQsCistCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorLQl9LAor LQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9CWVRFLAorLQkJLmVsZW1f bGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MTYpLAorLQkJLmFy cmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDMsCistCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwK Ky0JCQkJCSAgIHRyYW5zYWN0aW9uX2lkKSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0cnVjdCBz ZXJ2cmVnX3NldF9hY2tfcmVxIHsKKyAJY2hhciBzZXJ2aWNlX3BhdGhbU0VSVlJFR19OQU1FX0xF TkdUSCArIDFdOworIAl1MTYgdHJhbnNhY3Rpb25faWQ7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qg c3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3JlcV9laVtdID0geworLQl7Cist CQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VS VlJFR19OQU1FX0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciks CistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMSwK Ky0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVx LAorLQkJCQkJICAgc2VydmljZV9wYXRoKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxl bV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCist CQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yo c3RydWN0IHNlcnZyZWdfc2V0X2Fja19yZXEsCistCQkJCQkgICB0cmFuc2FjdGlvbl9pZCksCist CX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3Jlc3AgeworIAlzdHJ1 Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxIHJlc3A7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3Ry dWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXSA9IHsKKy0JeworLQkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCist CQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSks CistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwK Ky0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVz cCwKKy0JCQkJCSAgIHJlc3ApLAorLQkJLmVpX2FycmF5ICAgICAgID0gcW1pX3Jlc3BvbnNlX3R5 cGVfdjAxX2VpLAorLQl9LAorLQl7fQorLX07CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxl bV9pbmZvIHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0 IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpW107CisrZXh0ZXJu IGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3Bf ZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rl cl9saXN0ZW5lcl9yZXFfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8g c2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVj dCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXFfZWlbXTsKKytleHRlcm4gY29u c3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3BfZWlbXTsKKytl eHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zdGF0ZV91cGRhdGVkX2lu ZF9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9h Y2tfcmVxX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdf c2V0X2Fja19yZXNwX2VpW107CisgCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2Mv cWNvbS9xY29tX3Bkcl9tc2cuYyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMDAuLjliNDZmNDJhYTE0NgorLS0t IC9kZXYvbnVsbAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYworQEAgLTAs MCArMSwzMTkgQEAKKysvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorKy8qCisr ICogQ29weXJpZ2h0IChDKSAyMDIwIFRoZSBMaW51eCBGb3VuZGF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLgorKyAqLworKworKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKysjaW5jbHVkZSA8 bGludXgvc29jL3Fjb20vcW1pLmg+CisrCisrI2luY2x1ZGUgInBkcl9pbnRlcm5hbC5oIgorKwor K2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWlbXSA9 IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAg ICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6 ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAg ICA9IDAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2Nh dGlvbl9lbnRyeSwKKysJCQkJCSAgIG5hbWUpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAg ICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5l bGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwK KysJCS50bHZfdHlwZSAgICAgICA9IDAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihz dHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJCQkJCSAgIGluc3RhbmNlKSwKKysJfSwK KysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzFfQllURSwKKysJCS5lbGVt X2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFy cmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDAsCisrCQkub2Zmc2V0 ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJCQkJ CSAgIHNlcnZpY2VfZGF0YV92YWxpZCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9 IFFNSV9VTlNJR05FRF80X0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1f c2l6ZSAgICAgID0gc2l6ZW9mKHUzMiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJ LnRsdl90eXBlICAgICAgID0gMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAorKwkJCQkJICAgc2VydmljZV9kYXRhKSwKKysJfSwK KysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWkp OworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0 X3JlcV9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorKwkJ LmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9zaXpl ICAgICAgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRs dl90eXBlICAgICAgID0gMHgwMSwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXEsCisrCQkJCQkgICBzZXJ2aWNlX25hbWUpLAor Kwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCisrCQkuZWxlbV9s ZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJh eV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorKwkJLm9mZnNl dCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSwK KysJCQkJCSAgIGRvbWFpbl9vZmZzZXRfdmFsaWQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBl ICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJ CS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorKwkJCQkJICAgZG9tYWlu X29mZnNldCksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX2dl dF9kb21haW5fbGlzdF9yZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNl cnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAg ICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXpl ICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSksCisrCQkuYXJyYXlf dHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQg ICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAor KwkJCQkJICAgcmVzcCksCisrCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3Yw MV9laSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorKwkJ LmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCisr CQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKysJ CS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlz dF9yZXNwLAorKwkJCQkJICAgdG90YWxfZG9tYWluc192YWxpZCksCisrCX0sCisrCXsKKysJCS5k YXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAg PSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCisrCQkuYXJyYXlfdHlwZQk9 IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQgICAgICAg ICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJ ICAgdG90YWxfZG9tYWlucyksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9P UFRfRkxBRywKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAg ICA9IDB4MTEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19n ZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIGRiX3Jldl9jb3VudF92YWxpZCksCisrCX0s CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCisrCQkuZWxl bV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCisrCQku YXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMSwKKysJCS5v ZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9y ZXNwLAorKwkJCQkJICAgZGJfcmV2X2NvdW50KSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAg ICAgID0gUU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3Np emUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRs dl90eXBlICAgICAgID0gMHgxMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZG9tYWluX2xpc3RfdmFs aWQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfREFUQV9MRU4sCisrCQku ZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJ CS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEyLAorKwkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0 X3Jlc3AsCisrCQkJCQkgICBkb21haW5fbGlzdF9sZW4pLAorKwl9LAorKwl7CisrCQkuZGF0YV90 eXBlICAgICAgPSBRTUlfU1RSVUNULAorKwkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19ET01B SU5fTElTVF9MRU5HVEgsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHNlcnZy ZWdfbG9jYXRpb25fZW50cnkpLAorKwkJLmFycmF5X3R5cGUJPSBWQVJfTEVOX0FSUkFZLAorKwkJ LnRsdl90eXBlICAgICAgID0gMHgxMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0 cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZG9tYWluX2xpc3Qp LAorKwkJLmVpX2FycmF5ICAgICAgPSBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpLAorKwl9LAor Kwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVz cF9laSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9s aXN0ZW5lcl9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lH TkVEXzFfQllURSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAg PSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAg ICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJl Z19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEsCisrCQkJCQkgICBlbmFibGUpLAorKwl9LAorKwl7Cisr CQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorKwkJLmVsZW1fbGVuICAgICAgID0gU0VS VlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciks CisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwK KysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xp c3RlbmVyX3JlcSwKKysJCQkJCSAgIHNlcnZpY2VfcGF0aCksCisrCX0sCisrCXt9CisrfTsKKytF WFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcV9laSk7CisrCisr Y29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNw X2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCisrCQkuZWxl bV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlf cmVzcG9uc2VfdHlwZV92MDEpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZf dHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qg c2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorKwkJCQkJICAgcmVzcCksCisrCQkuZWlf YXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJeworKwkJLmRh dGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJ CS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZ LAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNl dG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AsCisrCQkJCQkgICBjdXJy X3N0YXRlX3ZhbGlkKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NJR05F RF80X0JZVEVfRU5VTSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAg ICAgPSBzaXplb2YoZW51bSBzZXJ2cmVnX3NlcnZpY2Vfc3RhdGUpLAorKwkJLmFycmF5X3R5cGUJ PSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAgICAg ICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorKwkJ CQkJICAgY3Vycl9zdGF0ZSksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChz ZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3BfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlf ZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFf dHlwZSAgICAgID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFN RV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFy cmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0X3BkX3JlcSwKKysJ CQkJCSAgIHNlcnZpY2VfcGF0aCksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQ TChzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxX2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1f aW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVzcF9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBl ICAgICAgPSBRTUlfU1RSVUNULAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3Np emUgICAgICA9IHNpemVvZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKysJCS5hcnJh eV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJLm9mZnNl dCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwLAorKwkJ CQkJICAgcmVzcCksCisrCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9l aSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfcmVzdGFydF9w ZF9yZXNwX2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3N0YXRl X3VwZGF0ZWRfaW5kX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TSUdO RURfNF9CWVRFX0VOVU0sCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAg ICAgID0gc2l6ZW9mKHUzMiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90 eXBlICAgICAgID0gMHgwMSwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBz ZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorKwkJCQkJICAgY3Vycl9zdGF0ZSksCisrCX0sCisr CXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisrCQkuZWxlbV9sZW4gICAgICAg PSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihj aGFyKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAw eDAyLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc3RhdGVf dXBkYXRlZF9pbmQsCisrCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9LAorKwl7CisrCQkuZGF0 YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0g MSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MTYpLAorKwkJLmFycmF5X3R5cGUJPSBO T19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDMsCisrCQkub2Zmc2V0ICAgICAgICAg PSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwKKysJCQkJCSAgIHRy YW5zYWN0aW9uX2lkKSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZy ZWdfc3RhdGVfdXBkYXRlZF9pbmRfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZv IHNlcnZyZWdfc2V0X2Fja19yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0g UU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAx LAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBO T19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAgICAg PSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSwKKysJCQkJCSAgIHNlcnZpY2Vf cGF0aCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZ VEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9m KHUxNiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0g MHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9h Y2tfcmVxLAorKwkJCQkJICAgdHJhbnNhY3Rpb25faWQpLAorKwl9LAorKwl7fQorK307CisrRVhQ T1JUX1NZTUJPTF9HUEwoc2VydnJlZ19zZXRfYWNrX3JlcV9laSk7CisrCisrY29uc3Qgc3RydWN0 IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXSA9IHsKKysJeworKwkJLmRh dGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQku ZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSksCisr CQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJ CS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVzcCwK KysJCQkJCSAgIHJlc3ApLAorKwkJLmVpX2FycmF5ICAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVf djAxX2VpLAorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19zZXRf YWNrX3Jlc3BfZWkpOworKworK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKKytNT0RVTEVfREVTQ1JJ UFRJT04oIlF1YWxjb21tIFByb3RlY3Rpb24gRG9tYWluIG1lc3NhZ2VzIGRhdGEiKTsKKworRnJv bTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0ZTog U2F0LCAyMiBKdW4gMjAyNCAwMTowMzo0MyArMDMwMAorU3ViamVjdDogW1BBVENIIHY5IDQvNV0g c29jOiBxY29tOiBhZGQgcGQtbWFwcGVyIGltcGxlbWVudGF0aW9uCisKK0V4aXN0aW5nIHVzZXJz cGFjZSBwcm90ZWN0aW9uIGRvbWFpbiBtYXBwZXIgaW1wbGVtZW50YXRpb24gaGFzIHNldmVyYWwK K2lzc3VlLiBJdCBkb2Vzbid0IHBsYXkgd2VsbCB3aXRoIENPTkZJR19FWFRSQV9GSVJNV0FSRSwg aXQgZG9lc24ndAorcmVyZWFkIEpTT04gZmlsZXMgaWYgZmlybXdhcmUgbG9jYXRpb24gaXMgY2hh bmdlZCAob3IgaWYgZmlybXdhcmUgd2FzCitub3QgYXZhaWxhYmxlIGF0IHRoZSB0aW1lIHBkLW1h cHBlciB3YXMgc3RhcnRlZCBidXQgdGhlIGNvcnJlc3BvbmRpbmcKK2RpcmVjdG9yeSBpcyBtb3Vu dGVkIGxhdGVyKSwgZXRjLgorCitQcm92aWRlIGluLWtlcm5lbCBzZXJ2aWNlIGltcGxlbWVudGlu ZyBwcm90ZWN0aW9uIGRvbWFpbiBtYXBwaW5nCityZXF1aXJlZCB0byB3b3JrIHdpdGggc2V2ZXJh bCBzZXJ2aWNlcywgd2hpY2ggYXJlIHByb3ZpZGVkIGJ5IHRoZSBEU1AKK2Zpcm13YXJlLgorCitU aGlzIG1vZHVsZSBpcyBsb2FkZWQgYXV0b21hdGljYWxseSBieSB0aGUgcmVtb3RlcHJvYyBkcml2 ZXJzIHdoZW4KK25lY2Vzc2FyeSB2aWEgdGhlIHN5bWJvbCBkZXBlbmRlbmN5LiBJdCB1c2VzIGEg cm9vdCBub2RlIHRvIG1hdGNoIGEKK3Byb3RlY3Rpb24gZG9tYWlucyBtYXAgZm9yIGEgcGFydGlj dWxhciBib2FyZC4gSXQgaXMgbm90IHBvc3NpYmxlIHRvCitpbXBsZW1lbnQgaXQgYXMgYSAnZHJp dmVyJyBhcyB0aGVyZSBpcyBubyBjb3JyZXNwb25kaW5nIGRldmljZS4KKworVGVzdGVkLWJ5OiBT dGVldiBLbGltYXN6ZXdza2kgPHN0ZWV2QGthbGkub3JnPgorVGVzdGVkLWJ5OiBBbGV4ZXkgTWlu bmVraGFub3YgPGFsZXhleW1pbkBwb3N0bWFya2V0b3Mub3JnPgorUmV2aWV3ZWQtYnk6IENocmlz IExldyA8cXVpY19jbGV3QHF1aWNpbmMuY29tPgorVGVzdGVkLWJ5OiBOZWlsIEFybXN0cm9uZyA8 bmVpbC5hcm1zdHJvbmdAbGluYXJvLm9yZz4gIyBvbiBTTTg1NTAtUVJECitTaWduZWQtb2ZmLWJ5 OiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5vcmc+CistLS0KKyBk cml2ZXJzL3NvYy9xY29tL0tjb25maWcgICAgICAgICAgfCAgMTEgKworIGRyaXZlcnMvc29jL3Fj b20vTWFrZWZpbGUgICAgICAgICB8ICAgMSArCisgZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJu YWwuaCAgIHwgIDE0ICsKKyBkcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRfbWFwcGVyLmMgfCA2NzYg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBkcml2ZXJzL3NvYy9xY29t L3Fjb21fcGRyX21zZy5jICAgfCAgMzQgKysKKyA1IGZpbGVzIGNoYW5nZWQsIDczNiBpbnNlcnRp b25zKCspCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL0tjb25maWcgYi9kcml2ZXJz L3NvYy9xY29tL0tjb25maWcKK2luZGV4IDk1OTczYzZiODI4Zi4uMGEyZjJiZmQ3ODYzIDEwMDY0 NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCisrKysgYi9kcml2ZXJzL3NvYy9xY29t L0tjb25maWcKK0BAIC03Miw2ICs3MiwxNyBAQCBjb25maWcgUUNPTV9PQ01FTQorIAkgIHJlcXVp cmVtZW50cy4gVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCBieSB0aGUgR1BVLCBjYW1lcmEvdmlkZW8s IGFuZAorIAkgIGF1ZGlvIGNvbXBvbmVudHMgb24gc29tZSBTbmFwZHJhZ29uIFNvQ3MuCisgCisr Y29uZmlnIFFDT01fUERfTUFQUEVSCisrCXRyaXN0YXRlICJRdWFsY29tbSBQcm90ZWN0aW9uIERv bWFpbiBNYXBwZXIiCisrCXNlbGVjdCBRQ09NX1FNSV9IRUxQRVJTCisrCWRlcGVuZHMgb24gTkVU ICYmIFFSVFIKKysJZGVmYXVsdCBRQ09NX1JQUk9DX0NPTU1PTgorKwloZWxwCisrCSAgVGhlIFBy b3RlY3Rpb24gRG9tYWluIE1hcHBlciBtYXBzIHJlZ2lzdGVyZWQgc2VydmljZXMgdG8gdGhlIGRv bWFpbnMKKysJICBhbmQgaW5zdGFuY2VzIGhhbmRsZWQgYnkgdGhlIHJlbW90ZSBEU1BzLiBUaGlz IGlzIGEga2VybmVsLXNwYWNlCisrCSAgaW1wbGVtZW50YXRpb24gb2YgdGhlIHNlcnZpY2UuIEl0 IGlzIGEgc2ltcGxlciBhbHRlcm5hdGl2ZSB0byB0aGUKKysJICB1c2Vyc3BhY2UgZGFlbW9uLgor KworIGNvbmZpZyBRQ09NX1BEUl9IRUxQRVJTCisgCXRyaXN0YXRlCisgCXNlbGVjdCBRQ09NX1FN SV9IRUxQRVJTCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZSBiL2RyaXZl cnMvc29jL3Fjb20vTWFrZWZpbGUKK2luZGV4IDMxMTBhYzMyODhiYy4uZDM1NjBmODYxMDg1IDEw MDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQorKysrIGIvZHJpdmVycy9zb2Mv cWNvbS9NYWtlZmlsZQorQEAgLTcsNiArNyw3IEBAIG9iai0kKENPTkZJR19RQ09NX0NPTU1BTkRf REIpICs9IGNtZC1kYi5vCisgb2JqLSQoQ09ORklHX1FDT01fR1NCSSkJKz0JcWNvbV9nc2JpLm8K KyBvYmotJChDT05GSUdfUUNPTV9NRFRfTE9BREVSKQkrPSBtZHRfbG9hZGVyLm8KKyBvYmotJChD T05GSUdfUUNPTV9PQ01FTSkJKz0gb2NtZW0ubworK29iai0kKENPTkZJR19RQ09NX1BEX01BUFBF UikJKz0gcWNvbV9wZF9tYXBwZXIubworIG9iai0kKENPTkZJR19RQ09NX1BEUl9IRUxQRVJTKQkr PSBwZHJfaW50ZXJmYWNlLm8KKyBvYmotJChDT05GSUdfUUNPTV9QRFJfTVNHKQkrPSBxY29tX3Bk cl9tc2cubworIG9iai0kKENPTkZJR19RQ09NX1BNSUNfR0xJTkspCSs9IHBtaWNfZ2xpbmsubwor ZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmggYi9kcml2ZXJzL3Nv Yy9xY29tL3Bkcl9pbnRlcm5hbC5oCitpbmRleCA3ZTViYjVhOTUyNzUuLjhkMTdmN2ZiNzllNyAx MDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKKysrKyBiL2RyaXZl cnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKK0BAIC0xMyw2ICsxMyw4IEBACisgI2RlZmluZSBT RVJWUkVHX1NFVF9BQ0tfUkVRCQkJCTB4MjMKKyAjZGVmaW5lIFNFUlZSRUdfUkVTVEFSVF9QRF9S RVEJCQkJMHgyNAorIAorKyNkZWZpbmUgU0VSVlJFR19MT0NfUEZSX1JFUQkJCQkweDI0CisrCisg I2RlZmluZSBTRVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdUSAkJCTMyCisgI2RlZmluZSBTRVJWUkVH X1JFU1RBUlRfUERfUkVRX01BWF9MRU4JCQk2NworICNkZWZpbmUgU0VSVlJFR19SRUdJU1RFUl9M SVNURU5FUl9SRVFfTEVOCQk3MQorQEAgLTIwLDYgKzIyLDcgQEAKKyAjZGVmaW5lIFNFUlZSRUdf R0VUX0RPTUFJTl9MSVNUX1JFUV9NQVhfTEVOCQk3NAorICNkZWZpbmUgU0VSVlJFR19TVEFURV9V UERBVEVEX0lORF9NQVhfTEVOCQk3OQorICNkZWZpbmUgU0VSVlJFR19HRVRfRE9NQUlOX0xJU1Rf UkVTUF9NQVhfTEVOCQkyMzg5CisrI2RlZmluZSBTRVJWUkVHX0xPQ19QRlJfUkVTUF9NQVhfTEVO CQkJMTAKKyAKKyBzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSB7CisgCWNoYXIgbmFtZVtT RVJWUkVHX05BTUVfTEVOR1RIICsgMV07CitAQCAtNzksNiArODIsMTUgQEAgc3RydWN0IHNlcnZy ZWdfc2V0X2Fja19yZXNwIHsKKyAJc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOwor IH07CisgCisrc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXEgeworKwljaGFyIHNlcnZpY2VbU0VS VlJFR19OQU1FX0xFTkdUSCArIDFdOworKwljaGFyIHJlYXNvblsyNTddOworK307CisrCisrc3Ry dWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXNwIHsKKysJc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3Yw MSByc3A7CisrfTsKKysKKyBleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJl Z19sb2NhdGlvbl9lbnRyeV9laVtdOworIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5m byBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXFfZWlbXTsKKyBleHRlcm4gY29uc3Qgc3RydWN0 IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcF9laVtdOworQEAgLTg5 LDUgKzEwMSw3IEBAIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jl c3RhcnRfcGRfcmVzcF9laVtdOworIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBz ZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2VpW107CisgZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlf ZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXFfZWlbXTsKKyBleHRlcm4gY29uc3Qgc3RydWN0 IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXTsKKytleHRlcm4gY29uc3Qg c3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZyX3JlcV9laVtdOworK2V4dGVybiBj b25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xvY19wZnJfcmVzcF9laVtdOworIAor ICNlbmRpZgorZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZF9tYXBwZXIuYyBi L2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZF9tYXBwZXIuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAwMDAwMC4uZWNiNjRmMDY1MjdmCistLS0gL2Rldi9udWxsCisrKysgYi9k cml2ZXJzL3NvYy9xY29tL3Fjb21fcGRfbWFwcGVyLmMKK0BAIC0wLDAgKzEsNjc2IEBACisrLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorKy8qCisrICogUXVhbGNvbW0g UHJvdGVjdGlvbiBEb21haW4gbWFwcGVyCisrICoKKysgKiBDb3B5cmlnaHQgKGMpIDIwMjMgTGlu YXJvIEx0ZC4KKysgKi8KKysKKysjaW5jbHVkZSA8bGludXgvYXV4aWxpYXJ5X2J1cy5oPgorKyNp bmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKysjaW5jbHVkZSA8bGludXgvbW9kX2RldmljZXRhYmxl Lmg+CisrI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorKyNpbmNsdWRlIDxsaW51eC9vZi5oPgor KyNpbmNsdWRlIDxsaW51eC9yZWZjb3VudC5oPgorKyNpbmNsdWRlIDxsaW51eC9zb2MvcWNvbS9x bWkuaD4KKysKKysjaW5jbHVkZSAicGRyX2ludGVybmFsLmgiCisrCisrI2RlZmluZSBTRVJWUkVH X1FNSV9WRVJTSU9OIDB4MTAxCisrI2RlZmluZSBTRVJWUkVHX1FNSV9JTlNUQU5DRSAwCisrCisr I2RlZmluZSBUTVNfU0VSVlJFR19TRVJWSUNFICJ0bXMvc2VydnJlZyIKKysKKytzdHJ1Y3QgcWNv bV9wZG1fZG9tYWluX2RhdGEgeworKwljb25zdCBjaGFyICpkb21haW47CisrCXUzMiBpbnN0YW5j ZV9pZDsKKysJLyogTlVMTC10ZXJtaW5hdGVkIGFycmF5ICovCisrCWNvbnN0IGNoYXIgKiBzZXJ2 aWNlc1tdOworK307CisrCisrc3RydWN0IHFjb21fcGRtX2RvbWFpbiB7CisrCXN0cnVjdCBsaXN0 X2hlYWQgbGlzdDsKKysJY29uc3QgY2hhciAqbmFtZTsKKysJdTMyIGluc3RhbmNlX2lkOworK307 CisrCisrc3RydWN0IHFjb21fcGRtX3NlcnZpY2UgeworKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7 CisrCXN0cnVjdCBsaXN0X2hlYWQgZG9tYWluczsKKysJY29uc3QgY2hhciAqbmFtZTsKKyt9Owor KworK3N0cnVjdCBxY29tX3BkbV9kYXRhIHsKKysJcmVmY291bnRfdCByZWZjbnQ7CisrCXN0cnVj dCBxbWlfaGFuZGxlIGhhbmRsZTsKKysJc3RydWN0IGxpc3RfaGVhZCBzZXJ2aWNlczsKKyt9Owor KworK3N0YXRpYyBERUZJTkVfTVVURVgocWNvbV9wZG1fbXV0ZXgpOyAvKiBwcm90ZWN0cyBfX3Fj b21fcGRtX2RhdGEgKi8KKytzdGF0aWMgc3RydWN0IHFjb21fcGRtX2RhdGEgKl9fcWNvbV9wZG1f ZGF0YTsKKysKKytzdGF0aWMgc3RydWN0IHFjb21fcGRtX3NlcnZpY2UgKnFjb21fcGRtX2ZpbmQo c3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEsCisrCQkJCQkgICAgICBjb25zdCBjaGFyICpuYW1l KQorK3sKKysJc3RydWN0IHFjb21fcGRtX3NlcnZpY2UgKnNlcnZpY2U7CisrCisrCWxpc3RfZm9y X2VhY2hfZW50cnkoc2VydmljZSwgJmRhdGEtPnNlcnZpY2VzLCBsaXN0KSB7CisrCQlpZiAoIXN0 cmNtcChzZXJ2aWNlLT5uYW1lLCBuYW1lKSkKKysJCQlyZXR1cm4gc2VydmljZTsKKysJfQorKwor KwlyZXR1cm4gTlVMTDsKKyt9CisrCisrc3RhdGljIGludCBxY29tX3BkbV9hZGRfc2VydmljZV9k b21haW4oc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEsCisrCQkJCSAgICAgICBjb25zdCBjaGFy ICpzZXJ2aWNlX25hbWUsCisrCQkJCSAgICAgICBjb25zdCBjaGFyICpkb21haW5fbmFtZSwKKysJ CQkJICAgICAgIHUzMiBpbnN0YW5jZV9pZCkKKyt7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2aWNl ICpzZXJ2aWNlOworKwlzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluICpkb21haW47CisrCisrCXNlcnZp Y2UgPSBxY29tX3BkbV9maW5kKGRhdGEsIHNlcnZpY2VfbmFtZSk7CisrCWlmIChzZXJ2aWNlKSB7 CisrCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGRvbWFpbiwgJnNlcnZpY2UtPmRvbWFpbnMsIGxpc3Qp IHsKKysJCQlpZiAoIXN0cmNtcChkb21haW4tPm5hbWUsIGRvbWFpbl9uYW1lKSkKKysJCQkJcmV0 dXJuIC1FQlVTWTsKKysJCX0KKysJfSBlbHNlIHsKKysJCXNlcnZpY2UgPSBremFsbG9jKHNpemVv Zigqc2VydmljZSksIEdGUF9LRVJORUwpOworKwkJaWYgKCFzZXJ2aWNlKQorKwkJCXJldHVybiAt RU5PTUVNOworKworKwkJSU5JVF9MSVNUX0hFQUQoJnNlcnZpY2UtPmRvbWFpbnMpOworKwkJc2Vy dmljZS0+bmFtZSA9IHNlcnZpY2VfbmFtZTsKKysKKysJCWxpc3RfYWRkX3RhaWwoJnNlcnZpY2Ut Pmxpc3QsICZkYXRhLT5zZXJ2aWNlcyk7CisrCX0KKysKKysJZG9tYWluID0ga3phbGxvYyhzaXpl b2YoKmRvbWFpbiksIEdGUF9LRVJORUwpOworKwlpZiAoIWRvbWFpbikgeworKwkJaWYgKGxpc3Rf ZW1wdHkoJnNlcnZpY2UtPmRvbWFpbnMpKSB7CisrCQkJbGlzdF9kZWwoJnNlcnZpY2UtPmxpc3Qp OworKwkJCWtmcmVlKHNlcnZpY2UpOworKwkJfQorKworKwkJcmV0dXJuIC1FTk9NRU07CisrCX0K KysKKysJZG9tYWluLT5uYW1lID0gZG9tYWluX25hbWU7CisrCWRvbWFpbi0+aW5zdGFuY2VfaWQg PSBpbnN0YW5jZV9pZDsKKysJbGlzdF9hZGRfdGFpbCgmZG9tYWluLT5saXN0LCAmc2VydmljZS0+ ZG9tYWlucyk7CisrCisrCXJldHVybiAwOworK30KKysKKytzdGF0aWMgaW50IHFjb21fcGRtX2Fk ZF9kb21haW4oc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEsCisrCQkJICAgICAgIGNvbnN0IHN0 cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqZG9tYWluKQorK3sKKysJaW50IHJldDsKKysJaW50 IGk7CisrCisrCXJldCA9IHFjb21fcGRtX2FkZF9zZXJ2aWNlX2RvbWFpbihkYXRhLAorKwkJCQkJ ICBUTVNfU0VSVlJFR19TRVJWSUNFLAorKwkJCQkJICBkb21haW4tPmRvbWFpbiwKKysJCQkJCSAg ZG9tYWluLT5pbnN0YW5jZV9pZCk7CisrCWlmIChyZXQpCisrCQlyZXR1cm4gcmV0OworKworKwlm b3IgKGkgPSAwOyBkb21haW4tPnNlcnZpY2VzW2ldOyBpKyspIHsKKysJCXJldCA9IHFjb21fcGRt X2FkZF9zZXJ2aWNlX2RvbWFpbihkYXRhLAorKwkJCQkJCSAgZG9tYWluLT5zZXJ2aWNlc1tpXSwK KysJCQkJCQkgIGRvbWFpbi0+ZG9tYWluLAorKwkJCQkJCSAgZG9tYWluLT5pbnN0YW5jZV9pZCk7 CisrCQlpZiAocmV0KQorKwkJCXJldHVybiByZXQ7CisrCX0KKysKKysJcmV0dXJuIDA7CisrCisr fQorKworK3N0YXRpYyB2b2lkIHFjb21fcGRtX2ZyZWVfZG9tYWlucyhzdHJ1Y3QgcWNvbV9wZG1f ZGF0YSAqZGF0YSkKKyt7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2aWNlICpzZXJ2aWNlLCAqdHNl cnZpY2U7CisrCXN0cnVjdCBxY29tX3BkbV9kb21haW4gKmRvbWFpbiwgKnRkb21haW47CisrCisr CWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShzZXJ2aWNlLCB0c2VydmljZSwgJmRhdGEtPnNlcnZp Y2VzLCBsaXN0KSB7CisrCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZG9tYWluLCB0ZG9tYWlu LCAmc2VydmljZS0+ZG9tYWlucywgbGlzdCkgeworKwkJCWxpc3RfZGVsKCZkb21haW4tPmxpc3Qp OworKwkJCWtmcmVlKGRvbWFpbik7CisrCQl9CisrCisrCQlsaXN0X2RlbCgmc2VydmljZS0+bGlz dCk7CisrCQlrZnJlZShzZXJ2aWNlKTsKKysJfQorK30KKysKKytzdGF0aWMgdm9pZCBxY29tX3Bk bV9nZXRfZG9tYWluX2xpc3Qoc3RydWN0IHFtaV9oYW5kbGUgKnFtaSwKKysJCQkJICAgICBzdHJ1 Y3Qgc29ja2FkZHJfcXJ0ciAqc3EsCisrCQkJCSAgICAgc3RydWN0IHFtaV90eG4gKnR4biwKKysJ CQkJICAgICBjb25zdCB2b2lkICpkZWNvZGVkKQorK3sKKysJc3RydWN0IHFjb21fcGRtX2RhdGEg KmRhdGEgPSBjb250YWluZXJfb2YocW1pLCBzdHJ1Y3QgcWNvbV9wZG1fZGF0YSwgaGFuZGxlKTsK KysJY29uc3Qgc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSAqcmVxID0gZGVjb2Rl ZDsKKysJc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AgKnJzcDsKKysJc3RydWN0 IHFjb21fcGRtX3NlcnZpY2UgKnNlcnZpY2U7CisrCXUzMiBvZmZzZXQ7CisrCWludCByZXQ7Cisr CisrCXJzcCA9IGt6YWxsb2Moc2l6ZW9mKCpyc3ApLCBHRlBfS0VSTkVMKTsKKysJaWYgKCFyc3Ap CisrCQlyZXR1cm47CisrCisrCW9mZnNldCA9IHJlcS0+ZG9tYWluX29mZnNldF92YWxpZCA/IHJl cS0+ZG9tYWluX29mZnNldCA6IDA7CisrCisrCXJzcC0+cmVzcC5yZXN1bHQgPSBRTUlfUkVTVUxU X1NVQ0NFU1NfVjAxOworKwlyc3AtPnJlc3AuZXJyb3IgPSBRTUlfRVJSX05PTkVfVjAxOworKwor Kwlyc3AtPmRiX3Jldl9jb3VudF92YWxpZCA9IHRydWU7CisrCXJzcC0+ZGJfcmV2X2NvdW50ID0g MTsKKysKKysJcnNwLT50b3RhbF9kb21haW5zX3ZhbGlkID0gdHJ1ZTsKKysJcnNwLT50b3RhbF9k b21haW5zID0gMDsKKysKKysJbXV0ZXhfbG9jaygmcWNvbV9wZG1fbXV0ZXgpOworKworKwlzZXJ2 aWNlID0gcWNvbV9wZG1fZmluZChkYXRhLCByZXEtPnNlcnZpY2VfbmFtZSk7CisrCWlmIChzZXJ2 aWNlKSB7CisrCQlzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluICpkb21haW47CisrCisrCQlyc3AtPmRv bWFpbl9saXN0X3ZhbGlkID0gdHJ1ZTsKKysJCXJzcC0+ZG9tYWluX2xpc3RfbGVuID0gMDsKKysK KysJCWxpc3RfZm9yX2VhY2hfZW50cnkoZG9tYWluLCAmc2VydmljZS0+ZG9tYWlucywgbGlzdCkg eworKwkJCXUzMiBpID0gcnNwLT50b3RhbF9kb21haW5zKys7CisrCisrCQkJaWYgKGkgPj0gb2Zm c2V0ICYmIGkgPCBTRVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdUSCkgeworKwkJCQl1MzIgaiA9IHJz cC0+ZG9tYWluX2xpc3RfbGVuKys7CisrCisrCQkJCXN0cnNjcHkocnNwLT5kb21haW5fbGlzdFtq XS5uYW1lLCBkb21haW4tPm5hbWUsCisrCQkJCQlzaXplb2YocnNwLT5kb21haW5fbGlzdFtpXS5u YW1lKSk7CisrCQkJCXJzcC0+ZG9tYWluX2xpc3Rbal0uaW5zdGFuY2UgPSBkb21haW4tPmluc3Rh bmNlX2lkOworKworKwkJCQlwcl9kZWJ1ZygiUERNOiBmb3VuZCAlcyAvICVkXG4iLCBkb21haW4t Pm5hbWUsCisrCQkJCQkgZG9tYWluLT5pbnN0YW5jZV9pZCk7CisrCQkJfQorKwkJfQorKwl9Cisr CisrCXByX2RlYnVnKCJQRE06IHNlcnZpY2UgJyVzJyBvZmZzZXQgJWQgcmV0dXJuaW5nICVkIGRv bWFpbnMgKG9mICVkKVxuIiwgcmVxLT5zZXJ2aWNlX25hbWUsCisrCQkgcmVxLT5kb21haW5fb2Zm c2V0X3ZhbGlkID8gcmVxLT5kb21haW5fb2Zmc2V0IDogLTEsIHJzcC0+ZG9tYWluX2xpc3RfbGVu LCByc3AtPnRvdGFsX2RvbWFpbnMpOworKworKwlyZXQgPSBxbWlfc2VuZF9yZXNwb25zZShxbWks IHNxLCB0eG4sIFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFUSwKKysJCQkJU0VSVlJFR19HRVRf RE9NQUlOX0xJU1RfUkVTUF9NQVhfTEVOLAorKwkJCQlzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9y ZXNwX2VpLCByc3ApOworKwlpZiAocmV0KQorKwkJcHJfZXJyKCJFcnJvciBzZW5kaW5nIHNlcnZy ZWcgcmVzcG9uc2U6ICVkXG4iLCByZXQpOworKworKwltdXRleF91bmxvY2soJnFjb21fcGRtX211 dGV4KTsKKysKKysJa2ZyZWUocnNwKTsKKyt9CisrCisrc3RhdGljIHZvaWQgcWNvbV9wZG1fcGZy KHN0cnVjdCBxbWlfaGFuZGxlICpxbWksCisrCQkJIHN0cnVjdCBzb2NrYWRkcl9xcnRyICpzcSwK KysJCQkgc3RydWN0IHFtaV90eG4gKnR4biwKKysJCQkgY29uc3Qgdm9pZCAqZGVjb2RlZCkKKyt7 CisrCWNvbnN0IHN0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVxICpyZXEgPSBkZWNvZGVkOworKwlz dHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3Jlc3AgcnNwID0ge307CisrCWludCByZXQ7CisrCisrCXBy X3dhcm5fcmF0ZWxpbWl0ZWQoIlBETTogc2VydmljZSAnJXMnIGNyYXNoOiAnJXMnXG4iLCByZXEt PnNlcnZpY2UsIHJlcS0+cmVhc29uKTsKKysKKysJcnNwLnJzcC5yZXN1bHQgPSBRTUlfUkVTVUxU X1NVQ0NFU1NfVjAxOworKwlyc3AucnNwLmVycm9yID0gUU1JX0VSUl9OT05FX1YwMTsKKysKKysJ cmV0ID0gcW1pX3NlbmRfcmVzcG9uc2UocW1pLCBzcSwgdHhuLCBTRVJWUkVHX0xPQ19QRlJfUkVR LAorKwkJCQlTRVJWUkVHX0xPQ19QRlJfUkVTUF9NQVhfTEVOLAorKwkJCQlzZXJ2cmVnX2xvY19w ZnJfcmVzcF9laSwgJnJzcCk7CisrCWlmIChyZXQpCisrCQlwcl9lcnIoIkVycm9yIHNlbmRpbmcg c2VydnJlZyByZXNwb25zZTogJWRcbiIsIHJldCk7CisrfQorKworK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgcW1pX21zZ19oYW5kbGVyIHFjb21fcGRtX21zZ19oYW5kbGVyc1tdID0geworKwl7CisrCQku dHlwZSA9IFFNSV9SRVFVRVNULAorKwkJLm1zZ19pZCA9IFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNU X1JFUSwKKysJCS5laSA9IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcV9laSwKKysJCS5kZWNv ZGVkX3NpemUgPSBzaXplb2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSksCisr CQkuZm4gPSBxY29tX3BkbV9nZXRfZG9tYWluX2xpc3QsCisrCX0sCisrCXsKKysJCS50eXBlID0g UU1JX1JFUVVFU1QsCisrCQkubXNnX2lkID0gU0VSVlJFR19MT0NfUEZSX1JFUSwKKysJCS5laSA9 IHNlcnZyZWdfbG9jX3Bmcl9yZXFfZWksCisrCQkuZGVjb2RlZF9zaXplID0gc2l6ZW9mKHN0cnVj dCBzZXJ2cmVnX2xvY19wZnJfcmVxKSwKKysJCS5mbiA9IHFjb21fcGRtX3BmciwKKysJfSwKKysJ eyB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBh ZHNwX2F1ZGlvX3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL2F1ZGlvX3BkIiwKKysJLmlu c3RhbmNlX2lkID0gNzQsCisrCS5zZXJ2aWNlcyA9IHsKKysJCSJhdnMvYXVkaW8iLAorKwkJTlVM TCwKKysJfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2Rh dGEgYWRzcF9jaGFyZ2VyX3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL2NoYXJnZXJfcGQi LAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIGFkc3Bfcm9vdF9wZCA9 IHsKKysJLmRvbWFpbiA9ICJtc20vYWRzcC9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0gNzQs CisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBx Y29tX3BkbV9kb21haW5fZGF0YSBhZHNwX3Jvb3RfcGRfcGRyID0geworKwkuZG9tYWluID0gIm1z bS9hZHNwL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJLnNlcnZpY2VzID0gewor KwkJInRtcy9wZHJfZW5hYmxlZCIsCisrCQlOVUxMLAorKwl9LAorK307CisrCisrc3RhdGljIGNv bnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBhZHNwX3NlbnNvcl9wZCA9IHsKKysJLmRv bWFpbiA9ICJtc20vYWRzcC9zZW5zb3JfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJLnNl cnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRt X2RvbWFpbl9kYXRhIG1zbTg5OTZfYWRzcF9hdWRpb19wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20v YWRzcC9hdWRpb19wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDQsCisrCS5zZXJ2aWNlcyA9IHsgTlVM TCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBt c204OTk2X2Fkc3Bfcm9vdF9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vYWRzcC9yb290X3BkIiwK KysJLmluc3RhbmNlX2lkID0gNCwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysKKytz dGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIGNkc3Bfcm9vdF9wZCA9IHsK KysJLmRvbWFpbiA9ICJtc20vY2RzcC9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0gNzYsCisr CS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29t X3BkbV9kb21haW5fZGF0YSBzbHBpX3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL3NscGkv cm9vdF9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDkwLAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwK Kyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgc2xwaV9z ZW5zb3JfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL3NscGkvc2Vuc29yX3BkIiwKKysJLmluc3Rh bmNlX2lkID0gOTAsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNv bnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBtcHNzX3Jvb3RfcGQgPSB7CisrCS5kb21h aW4gPSAibXNtL21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxODAsCisrCS5zZXJ2 aWNlcyA9IHsKKysJCU5VTEwsCisrCX0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFj b21fcGRtX2RvbWFpbl9kYXRhIG1wc3Nfcm9vdF9wZF9ncHMgPSB7CisrCS5kb21haW4gPSAibXNt L21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxODAsCisrCS5zZXJ2aWNlcyA9IHsK KysJCSJncHMvZ3BzX3NlcnZpY2UiLAorKwkJTlVMTCwKKysJfSwKKyt9OworKworK3N0YXRpYyBj b25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXBzc19yb290X3BkX2dwc19wZHIgPSB7 CisrCS5kb21haW4gPSAibXNtL21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxODAs CisrCS5zZXJ2aWNlcyA9IHsKKysJCSJncHMvZ3BzX3NlcnZpY2UiLAorKwkJInRtcy9wZHJfZW5h YmxlZCIsCisrCQlOVUxMLAorKwl9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29t X3BkbV9kb21haW5fZGF0YSBtc204OTk2X21wc3Nfcm9vdF9wZCA9IHsKKysJLmRvbWFpbiA9ICJt c20vbW9kZW0vcm9vdF9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDEwMCwKKysJLnNlcnZpY2VzID0g eyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9k YXRhIG1wc3Nfd2xhbl9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vbW9kZW0vd2xhbl9wZCIsCisr CS5pbnN0YW5jZV9pZCA9IDE4MCwKKysJLnNlcnZpY2VzID0geworKwkJImtlcm5lbC9lbGZfbG9h ZGVyIiwKKysJCSJ3bGFuL2Z3IiwKKysJCU5VTEwsCisrCX0sCisrfTsKKysKKytzdGF0aWMgY29u c3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICptc204OTk2X2RvbWFpbnNbXSA9IHsKKysJ Jm1zbTg5OTZfYWRzcF9hdWRpb19wZCwKKysJJm1zbTg5OTZfYWRzcF9yb290X3BkLAorKwkmbXNt ODk5Nl9tcHNzX3Jvb3RfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0 IHFjb21fcGRtX2RvbWFpbl9kYXRhICptc204OTk4X2RvbWFpbnNbXSA9IHsKKysJJm1wc3Nfcm9v dF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBz dHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnFjbTIyOTBfZG9tYWluc1tdID0geworKwkmYWRz cF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmbXBz c19yb290X3BkX2dwcywKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRp YyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnFjczQwNF9kb21haW5zW10gPSB7 CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9zZW5zb3JfcGQs CisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisr CU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRh ICpzYzcxODBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9w ZF9wZHIsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHNfcGRyLAorKwkm bXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29t X3BkbV9kb21haW5fZGF0YSAqc2M3MjgwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQs CisrCSZhZHNwX3Jvb3RfcGRfcGRyLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmYWRzcF9zZW5z b3JfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzX3BkciwKKysJTlVM TCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNj ODE4MHhfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwK KysJJmFkc3BfY2hhcmdlcl9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9n cHMsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3Ry dWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzYzgyODB4cF9kb21haW5zW10gPSB7CisrCSZhZHNw X2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFkc3BfY2hhcmdlcl9wZCwKKysJ JmNkc3Bfcm9vdF9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNv bV9wZG1fZG9tYWluX2RhdGEgKnNkbTY2MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3Bk LAorKwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9zZW5zb3JfcGQsCisrCSZjZHNwX3Jvb3RfcGQs CisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytz dGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzZG02NzBfZG9tYWluc1td ID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmNkc3Bfcm9vdF9w ZCwKKysJJm1wc3Nfcm9vdF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKwor K3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNkbTg0NV9kb21haW5z W10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmY2RzcF9yb290 X3BkLAorKwkmbXBzc19yb290X3BkLAorKwkmbXBzc193bGFuX3BkLAorKwkmc2xwaV9yb290X3Bk LAorKwkmc2xwaV9zZW5zb3JfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3Ry dWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzbTYxMTVfZG9tYWluc1tdID0geworKwkmYWRzcF9h dWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9y b290X3BkLAorKwkmbXBzc19yb290X3BkX2dwcywKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwK Kyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNtNjM1 MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkm YWRzcF9zZW5zb3JfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5V TEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpz bTgxNTBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwK KysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZtcHNzX3dsYW5fcGQs CisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9k YXRhICpzbTgyNTBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9v dF9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJnNscGlfcm9vdF9wZCwKKysJJnNscGlfc2Vuc29y X3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21h aW5fZGF0YSAqc204MzUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNw X3Jvb3RfcGRfcGRyLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkm bXBzc19yb290X3BkX2dwcywKKysJJnNscGlfcm9vdF9wZCwKKysJJnNscGlfc2Vuc29yX3BkLAor KwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0 YSAqc204NTUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3Rf cGQsCisrCSZhZHNwX2NoYXJnZXJfcGQsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJmNkc3Bfcm9v dF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29u c3Qgc3RydWN0IG9mX2RldmljZV9pZCBxY29tX3BkbV9kb21haW5zW10gPSB7CisrCXsgLmNvbXBh dGlibGUgPSAicWNvbSxhcHE4MDY0IiwgLmRhdGEgPSBOVUxMLCB9LAorKwl7IC5jb21wYXRpYmxl ID0gInFjb20sYXBxODA3NCIsIC5kYXRhID0gTlVMTCwgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJx Y29tLGFwcTgwODQiLCAuZGF0YSA9IE5VTEwsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxh cHE4MDk2IiwgLmRhdGEgPSBtc204OTk2X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAi cWNvbSxtc204MjI2IiwgLmRhdGEgPSBOVUxMLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20s bXNtODk3NCIsIC5kYXRhID0gTlVMTCwgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLG1zbTg5 OTYiLCAuZGF0YSA9IG1zbTg5OTZfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29t LG1zbTg5OTgiLCAuZGF0YSA9IG1zbTg5OThfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9 ICJxY29tLHFjbTIyOTAiLCAuZGF0YSA9IHFjbTIyOTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0 aWJsZSA9ICJxY29tLHFjczQwNCIsIC5kYXRhID0gcWNzNDA0X2RvbWFpbnMsIH0sCisrCXsgLmNv bXBhdGlibGUgPSAicWNvbSxzYzcxODAiLCAuZGF0YSA9IHNjNzE4MF9kb21haW5zLCB9LAorKwl7 IC5jb21wYXRpYmxlID0gInFjb20sc2M3MjgwIiwgLmRhdGEgPSBzYzcyODBfZG9tYWlucywgfSwK KysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNjODE4MHgiLCAuZGF0YSA9IHNjODE4MHhfZG9tYWlu cywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNjODI4MHhwIiwgLmRhdGEgPSBzYzgyODB4 cF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2RhNjYwIiwgLmRhdGEgPSBz ZG02NjBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNkbTY2MCIsIC5kYXRh ID0gc2RtNjYwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzZG02NzAiLCAu ZGF0YSA9IHNkbTY3MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2RtODQ1 IiwgLmRhdGEgPSBzZG04NDVfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNt NDI1MCIsIC5kYXRhID0gc202MTE1X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNv bSxzbTYxMTUiLCAuZGF0YSA9IHNtNjExNV9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0g InFjb20sc202MzUwIiwgLmRhdGEgPSBzbTYzNTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJs ZSA9ICJxY29tLHNtODE1MCIsIC5kYXRhID0gc204MTUwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBh dGlibGUgPSAicWNvbSxzbTgyNTAiLCAuZGF0YSA9IHNtODI1MF9kb21haW5zLCB9LAorKwl7IC5j b21wYXRpYmxlID0gInFjb20sc204MzUwIiwgLmRhdGEgPSBzbTgzNTBfZG9tYWlucywgfSwKKysJ eyAuY29tcGF0aWJsZSA9ICJxY29tLHNtODQ1MCIsIC5kYXRhID0gc204MzUwX2RvbWFpbnMsIH0s CisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTg1NTAiLCAuZGF0YSA9IHNtODU1MF9kb21haW5z LCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204NjUwIiwgLmRhdGEgPSBzbTg1NTBfZG9t YWlucywgfSwKKysJe30sCisrfTsKKysKKytzdGF0aWMgdm9pZCBxY29tX3BkbV9zdG9wKHN0cnVj dCBxY29tX3BkbV9kYXRhICpkYXRhKQorK3sKKysJcWNvbV9wZG1fZnJlZV9kb21haW5zKGRhdGEp OworKworKwkvKiBUaGUgc2VydmVyIGlzIHJlbW92ZWQgYXV0b21hdGljYWxseSAqLworKwlxbWlf aGFuZGxlX3JlbGVhc2UoJmRhdGEtPmhhbmRsZSk7CisrCisrCWtmcmVlKGRhdGEpOworK30KKysK KytzdGF0aWMgc3RydWN0IHFjb21fcGRtX2RhdGEgKnFjb21fcGRtX3N0YXJ0KHZvaWQpCisrewor Kwljb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKiBjb25zdCAqZG9tYWluczsKKysJ Y29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCAqbWF0Y2g7CisrCXN0cnVjdCBxY29tX3BkbV9kYXRh ICpkYXRhOworKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKnJvb3Q7CisrCWludCByZXQsIGk7CisrCisr CXJvb3QgPSBvZl9maW5kX25vZGVfYnlfcGF0aCgiLyIpOworKwlpZiAoIXJvb3QpCisrCQlyZXR1 cm4gRVJSX1BUUigtRU5PREVWKTsKKysKKysJbWF0Y2ggPSBvZl9tYXRjaF9ub2RlKHFjb21fcGRt X2RvbWFpbnMsIHJvb3QpOworKwlvZl9ub2RlX3B1dChyb290KTsKKysJaWYgKCFtYXRjaCkgewor KwkJcHJfbm90aWNlKCJQRE06IG5vIHN1cHBvcnQgZm9yIHRoZSBwbGF0Zm9ybSwgdXNlcnNwYWNl IGRhZW1vbiBtaWdodCBiZSByZXF1aXJlZC5cbiIpOworKwkJcmV0dXJuIEVSUl9QVFIoLUVOT0RF Vik7CisrCX0KKysKKysJZG9tYWlucyA9IG1hdGNoLT5kYXRhOworKwlpZiAoIWRvbWFpbnMpIHsK KysJCXByX2RlYnVnKCJQRE06IG5vIGRvbWFpbnNcbiIpOworKwkJcmV0dXJuIEVSUl9QVFIoLUVO T0RFVik7CisrCX0KKysKKysJZGF0YSA9IGt6YWxsb2Moc2l6ZW9mKCpkYXRhKSwgR0ZQX0tFUk5F TCk7CisrCWlmICghZGF0YSkKKysJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworKworKwlJTklU X0xJU1RfSEVBRCgmZGF0YS0+c2VydmljZXMpOworKworKwlyZXQgPSBxbWlfaGFuZGxlX2luaXQo JmRhdGEtPmhhbmRsZSwgU0VSVlJFR19HRVRfRE9NQUlOX0xJU1RfUkVRX01BWF9MRU4sCisrCQkJ ICAgICAgTlVMTCwgcWNvbV9wZG1fbXNnX2hhbmRsZXJzKTsKKysJaWYgKHJldCkgeworKwkJa2Zy ZWUoZGF0YSk7CisrCQlyZXR1cm4gRVJSX1BUUihyZXQpOworKwl9CisrCisrCXJlZmNvdW50X3Nl dCgmZGF0YS0+cmVmY250LCAxKTsKKysKKysJZm9yIChpID0gMDsgZG9tYWluc1tpXTsgaSsrKSB7 CisrCQlyZXQgPSBxY29tX3BkbV9hZGRfZG9tYWluKGRhdGEsIGRvbWFpbnNbaV0pOworKwkJaWYg KHJldCkKKysJCQlnb3RvIGVycl9zdG9wOworKwl9CisrCisrCXJldCA9IHFtaV9hZGRfc2VydmVy KCZkYXRhLT5oYW5kbGUsIFNFUlZSRUdfTE9DQVRPUl9TRVJWSUNFLAorKwkJCSAgICAgU0VSVlJF R19RTUlfVkVSU0lPTiwgU0VSVlJFR19RTUlfSU5TVEFOQ0UpOworKwlpZiAocmV0KSB7CisrCQlw cl9lcnIoIlBETTogZXJyb3IgYWRkaW5nIHNlcnZlciAlZFxuIiwgcmV0KTsKKysJCWdvdG8gZXJy X3N0b3A7CisrCX0KKysKKysJcmV0dXJuIGRhdGE7CisrCisrZXJyX3N0b3A6CisrCXFjb21fcGRt X3N0b3AoZGF0YSk7CisrCisrCXJldHVybiBFUlJfUFRSKHJldCk7CisrfQorKworK3N0YXRpYyBp bnQgcWNvbV9wZG1fcHJvYmUoc3RydWN0IGF1eGlsaWFyeV9kZXZpY2UgKmF1eGRldiwKKysJCQkg IGNvbnN0IHN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlX2lkICppZCkKKysKKyt7CisrCXN0cnVjdCBx Y29tX3BkbV9kYXRhICpkYXRhOworKwlpbnQgcmV0ID0gMDsKKysKKysJbXV0ZXhfbG9jaygmcWNv bV9wZG1fbXV0ZXgpOworKworKwlpZiAoIV9fcWNvbV9wZG1fZGF0YSkgeworKwkJZGF0YSA9IHFj b21fcGRtX3N0YXJ0KCk7CisrCisrCQlpZiAoSVNfRVJSKGRhdGEpKQorKwkJCXJldCA9IFBUUl9F UlIoZGF0YSk7CisrCQllbHNlCisrCQkJX19xY29tX3BkbV9kYXRhID0gZGF0YTsKKysJfQorKwor KwlhdXhpbGlhcnlfc2V0X2RydmRhdGEoYXV4ZGV2LCBfX3Fjb21fcGRtX2RhdGEpOworKworKwlt dXRleF91bmxvY2soJnFjb21fcGRtX211dGV4KTsKKysKKysJcmV0dXJuIHJldDsKKyt9CisrCisr c3RhdGljIHZvaWQgcWNvbV9wZG1fcmVtb3ZlKHN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlICphdXhk ZXYpCisreworKwlzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YTsKKysKKysJZGF0YSA9IGF1eGls aWFyeV9nZXRfZHJ2ZGF0YShhdXhkZXYpOworKwlpZiAoIWRhdGEpCisrCQlyZXR1cm47CisrCisr CWlmIChyZWZjb3VudF9kZWNfYW5kX211dGV4X2xvY2soJmRhdGEtPnJlZmNudCwgJnFjb21fcGRt X211dGV4KSkgeworKwkJX19xY29tX3BkbV9kYXRhID0gTlVMTDsKKysJCXFjb21fcGRtX3N0b3Ao ZGF0YSk7CisrCQltdXRleF91bmxvY2soJnFjb21fcGRtX211dGV4KTsKKysJfQorK30KKysKKytz dGF0aWMgY29uc3Qgc3RydWN0IGF1eGlsaWFyeV9kZXZpY2VfaWQgcWNvbV9wZG1fdGFibGVbXSA9 IHsKKysJeyAubmFtZSA9ICJxY29tX2NvbW1vbi5wZC1tYXBwZXIiIH0sCisrCXt9LAorK307Cisr TU9EVUxFX0RFVklDRV9UQUJMRShhdXhpbGlhcnksIHFjb21fcGRtX3RhYmxlKTsKKysKKytzdGF0 aWMgc3RydWN0IGF1eGlsaWFyeV9kcml2ZXIgcWNvbV9wZG1fZHJ2ID0geworKwkubmFtZSA9ICJx Y29tLXBkbS1tYXBwZXIiLAorKwkuaWRfdGFibGUgPSBxY29tX3BkbV90YWJsZSwKKysJLnByb2Jl ID0gcWNvbV9wZG1fcHJvYmUsCisrCS5yZW1vdmUgPSBxY29tX3BkbV9yZW1vdmUsCisrfTsKKytt b2R1bGVfYXV4aWxpYXJ5X2RyaXZlcihxY29tX3BkbV9kcnYpOworKworK01PRFVMRV9ERVNDUklQ VElPTigiUXVhbGNvbW0gUHJvdGVjdGlvbiBEb21haW4gTWFwcGVyIik7CisrTU9EVUxFX0xJQ0VO U0UoIkdQTCIpOworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMg Yi9kcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRyX21zZy5jCitpbmRleCA5YjQ2ZjQyYWExNDYuLmJm M2U0YTQ3MTY1ZSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMK KysrKyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMKK0BAIC0zMTUsNSArMzE1LDM5 IEBAIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpW10g PSB7CisgfTsKKyBFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3NldF9hY2tfcmVzcF9laSk7Cisg CisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZyX3JlcV9laVtdID0g eworKwl7CisrCQkuZGF0YV90eXBlID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiA9IFNFUlZS RUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSA9IHNpemVvZihjaGFyKSwKKysJCS5h cnJheV90eXBlID0gVkFSX0xFTl9BUlJBWSwKKysJCS50bHZfdHlwZSA9IDB4MDEsCisrCQkub2Zm c2V0ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXEsIHNlcnZpY2UpCisrCX0s CisrCXsKKysJCS5kYXRhX3R5cGUgPSBRTUlfU1RSSU5HLAorKwkJLmVsZW1fbGVuID0gU0VSVlJF R19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9zaXplID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFy cmF5X3R5cGUgPSBWQVJfTEVOX0FSUkFZLAorKwkJLnRsdl90eXBlID0gMHgwMiwKKysJCS5vZmZz ZXQgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3JlcSwgcmVhc29uKQorKwl9LAor Kwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19sb2NfcGZyX3JlcV9laSk7Cisr CisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZyX3Jlc3BfZWlbXSA9 IHsKKysJeworKwkJLmRhdGFfdHlwZSA9IFFNSV9TVFJVQ1QsCisrCQkuZWxlbV9sZW4gPSAxLAor KwkJLmVsZW1fc2l6ZSA9IHNpemVvZl9maWVsZChzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3Jlc3As IHJzcCksCisrCQkudGx2X3R5cGUgPSAweDAyLAorKwkJLm9mZnNldCA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX2xvY19wZnJfcmVzcCwgcnNwKSwKKysJCS5laV9hcnJheSA9IHFtaV9yZXNwb25z ZV90eXBlX3YwMV9laSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZy ZWdfbG9jX3Bmcl9yZXNwX2VpKTsKKysKKyBNT0RVTEVfTElDRU5TRSgiR1BMIik7CisgTU9EVUxF X0RFU0NSSVBUSU9OKCJRdWFsY29tbSBQcm90ZWN0aW9uIERvbWFpbiBtZXNzYWdlcyBkYXRhIik7 CisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4K K0RhdGU6IFNhdCwgMjIgSnVuIDIwMjQgMDE6MDM6NDQgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCB2 OSA1LzVdIHJlbW90ZXByb2M6IHFjb206IGVuYWJsZSBpbi1rZXJuZWwgUEQgbWFwcGVyCisKK1Jl cXVlc3QgaW4ta2VybmVsIHByb3RlY3Rpb24gZG9tYWluIG1hcHBlciB0byBiZSBzdGFydGVkIGJl Zm9yZSBzdGFydGluZworUXVhbGNvbW0gRFNQIGFuZCByZWxlYXNlIGl0IG9uY2UgRFNQIGlzIHN0 b3BwZWQuIE9uY2UgYWxsIERTUHMgYXJlCitzdG9wcGVkLCB0aGUgUEQgbWFwcGVyIHdpbGwgYmUg c3RvcHBlZCB0b28uCisKK1Jldmlld2VkLWJ5OiBDaHJpcyBMZXcgPHF1aWNfY2xld0BxdWljaW5j LmNvbT4KK1Rlc3RlZC1ieTogU3RlZXYgS2xpbWFzemV3c2tpIDxzdGVldkBrYWxpLm9yZz4KK1Rl c3RlZC1ieTogTmVpbCBBcm1zdHJvbmcgPG5laWwuYXJtc3Ryb25nQGxpbmFyby5vcmc+ICMgb24g U004NTUwLVFSRAorU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlz aGtvdkBsaW5hcm8ub3JnPgorLS0tCisgZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmMg ICAgfCA4NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZHJpdmVycy9y ZW1vdGVwcm9jL3Fjb21fY29tbW9uLmggICAgfCAxMCArKysrKworIGRyaXZlcnMvcmVtb3RlcHJv Yy9xY29tX3E2djVfYWRzcC5jIHwgIDMgKysKKyBkcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1 X21zcy5jICB8ICAzICsrCisgZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9wYXMuYyAgfCAg MyArKworIGRyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfd2Nzcy5jIHwgIDMgKysKKyA2IGZp bGVzIGNoYW5nZWQsIDEwOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3Jl bW90ZXByb2MvcWNvbV9jb21tb24uYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5j CitpbmRleCAwM2U1ZjVkNTMzZWIuLjhjODY4OGY5OWYwYSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMv cmVtb3RlcHJvYy9xY29tX2NvbW1vbi5jCisrKysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9j b21tb24uYworQEAgLTEzLDYgKzEzLDcgQEAKKyAjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4K KyAjaW5jbHVkZSA8bGludXgvcmVtb3RlcHJvYy5oPgorICNpbmNsdWRlIDxsaW51eC9yZW1vdGVw cm9jL3Fjb21fcnByb2MuaD4KKysjaW5jbHVkZSA8bGludXgvYXV4aWxpYXJ5X2J1cy5oPgorICNp bmNsdWRlIDxsaW51eC9ycG1zZy9xY29tX2dsaW5rLmg+CisgI2luY2x1ZGUgPGxpbnV4L3JwbXNn L3Fjb21fc21kLmg+CisgI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KK0BAIC0yNSw2ICsyNiw3IEBA CisgI2RlZmluZSB0b19nbGlua19zdWJkZXYoZCkgY29udGFpbmVyX29mKGQsIHN0cnVjdCBxY29t X3Jwcm9jX2dsaW5rLCBzdWJkZXYpCisgI2RlZmluZSB0b19zbWRfc3ViZGV2KGQpIGNvbnRhaW5l cl9vZihkLCBzdHJ1Y3QgcWNvbV9ycHJvY19zdWJkZXYsIHN1YmRldikKKyAjZGVmaW5lIHRvX3Nz cl9zdWJkZXYoZCkgY29udGFpbmVyX29mKGQsIHN0cnVjdCBxY29tX3Jwcm9jX3Nzciwgc3ViZGV2 KQorKyNkZWZpbmUgdG9fcGRtX3N1YmRldihkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IHFjb21f cnByb2NfcGRtLCBzdWJkZXYpCisgCisgI2RlZmluZSBNQVhfTlVNX09GX1NTICAgICAgICAgICAx MAorICNkZWZpbmUgTUFYX1JFR0lPTl9OQU1FX0xFTkdUSCAgMTYKK0BAIC01MTksNSArNTIxLDkw IEBAIHZvaWQgcWNvbV9yZW1vdmVfc3NyX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1 Y3QgcWNvbV9ycHJvY19zc3IgKnNzcikKKyB9CisgRVhQT1JUX1NZTUJPTF9HUEwocWNvbV9yZW1v dmVfc3NyX3N1YmRldik7CisgCisrc3RhdGljIHZvaWQgcGRtX2Rldl9yZWxlYXNlKHN0cnVjdCBk ZXZpY2UgKmRldikKKyt7CisrCXN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlICphZGV2ID0gdG9fYXV4 aWxpYXJ5X2RldihkZXYpOworKworKwlrZnJlZShhZGV2KTsKKyt9CisrCisrc3RhdGljIGludCBw ZG1fbm90aWZ5X3ByZXBhcmUoc3RydWN0IHJwcm9jX3N1YmRldiAqc3ViZGV2KQorK3sKKysJc3Ry dWN0IHFjb21fcnByb2NfcGRtICpwZG0gPSB0b19wZG1fc3ViZGV2KHN1YmRldik7CisrCXN0cnVj dCBhdXhpbGlhcnlfZGV2aWNlICphZGV2OworKwlpbnQgcmV0OworKworKwlhZGV2ID0ga3phbGxv YyhzaXplb2YoKmFkZXYpLCBHRlBfS0VSTkVMKTsKKysJaWYgKCFhZGV2KQorKwkJcmV0dXJuIC1F Tk9NRU07CisrCisrCWFkZXYtPmRldi5wYXJlbnQgPSBwZG0tPmRldjsKKysJYWRldi0+ZGV2LnJl bGVhc2UgPSBwZG1fZGV2X3JlbGVhc2U7CisrCWFkZXYtPm5hbWUgPSAicGQtbWFwcGVyIjsKKysJ YWRldi0+aWQgPSBwZG0tPmluZGV4OworKworKwlyZXQgPSBhdXhpbGlhcnlfZGV2aWNlX2luaXQo YWRldik7CisrCWlmIChyZXQpIHsKKysJCWtmcmVlKGFkZXYpOworKwkJcmV0dXJuIHJldDsKKysJ fQorKworKwlyZXQgPSBhdXhpbGlhcnlfZGV2aWNlX2FkZChhZGV2KTsKKysJaWYgKHJldCkgewor KwkJYXV4aWxpYXJ5X2RldmljZV91bmluaXQoYWRldik7CisrCQlyZXR1cm4gcmV0OworKwl9Cisr CisrCXBkbS0+YWRldiA9IGFkZXY7CisrCisrCXJldHVybiAwOworK30KKysKKysKKytzdGF0aWMg dm9pZCBwZG1fbm90aWZ5X3VucHJlcGFyZShzdHJ1Y3QgcnByb2Nfc3ViZGV2ICpzdWJkZXYpCisr eworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gKnBkbSA9IHRvX3BkbV9zdWJkZXYoc3ViZGV2KTsK KysKKysJaWYgKCFwZG0tPmFkZXYpCisrCQlyZXR1cm47CisrCisrCWF1eGlsaWFyeV9kZXZpY2Vf ZGVsZXRlKHBkbS0+YWRldik7CisrCWF1eGlsaWFyeV9kZXZpY2VfdW5pbml0KHBkbS0+YWRldik7 CisrCXBkbS0+YWRldiA9IE5VTEw7CisrfQorKworKy8qKgorKyAqIHFjb21fYWRkX3BkbV9zdWJk ZXYoKSAtIHJlZ2lzdGVyIFBEIE1hcHBlciBzdWJkZXZpY2UKKysgKiBAcnByb2M6CXJwcm9jIGhh bmRsZQorKyAqIEBwZG06CVBETSBzdWJkZXZpY2UgaGFuZGxlCisrICoKKysgKiBSZWdpc3RlciBA cGRtIHNvIHRoYXQgUHJvdGVjdGlvbiBEZXZpY2UgbWFwcGVyIHNlcnZpY2UgaXMgc3RhcnRlZCB3 aGVuIHRoZQorKyAqIERTUCBpcyBzdGFydGVkIHRvby4KKysgKi8KKyt2b2lkIHFjb21fYWRkX3Bk bV9zdWJkZXYoc3RydWN0IHJwcm9jICpycHJvYywgc3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0p CisreworKwlwZG0tPmRldiA9ICZycHJvYy0+ZGV2OworKwlwZG0tPmluZGV4ID0gcnByb2MtPmlu ZGV4OworKworKwlwZG0tPnN1YmRldi5wcmVwYXJlID0gcGRtX25vdGlmeV9wcmVwYXJlOworKwlw ZG0tPnN1YmRldi51bnByZXBhcmUgPSBwZG1fbm90aWZ5X3VucHJlcGFyZTsKKysKKysJcnByb2Nf YWRkX3N1YmRldihycHJvYywgJnBkbS0+c3ViZGV2KTsKKyt9CisrRVhQT1JUX1NZTUJPTF9HUEwo cWNvbV9hZGRfcGRtX3N1YmRldik7CisrCisrLyoqCisrICogcWNvbV9yZW1vdmVfcGRtX3N1YmRl digpIC0gcmVtb3ZlIFBEIE1hcHBlciBzdWJkZXZpY2UKKysgKiBAcnByb2M6CXJwcm9jIGhhbmRs ZQorKyAqIEBwZG06CVBETSBzdWJkZXZpY2UgaGFuZGxlCisrICoKKysgKiBSZW1vdmUgdGhlIFBE IE1hcHBlciBzdWJkZXZpY2UuCisrICovCisrdm9pZCBxY29tX3JlbW92ZV9wZG1fc3ViZGV2KHN0 cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBxY29tX3Jwcm9jX3BkbSAqcGRtKQorK3sKKysJcnBy b2NfcmVtb3ZlX3N1YmRldihycHJvYywgJnBkbS0+c3ViZGV2KTsKKyt9CisrRVhQT1JUX1NZTUJP TF9HUEwocWNvbV9yZW1vdmVfcGRtX3N1YmRldik7CisrCisgTU9EVUxFX0RFU0NSSVBUSU9OKCJR dWFsY29tbSBSZW1vdGVwcm9jIGhlbHBlciBkcml2ZXIiKTsKKyBNT0RVTEVfTElDRU5TRSgiR1BM IHYyIik7CitkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmggYi9k cml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uaAoraW5kZXggOWVmNDQ0OTA1MmE5Li5iMDdm YmFhMDkxYTAgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uaAor KysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmgKK0BAIC0zNCw2ICszNCwxMyBA QCBzdHJ1Y3QgcWNvbV9ycHJvY19zc3IgeworIAlzdHJ1Y3QgcWNvbV9zc3Jfc3Vic3lzdGVtICpp bmZvOworIH07CisgCisrc3RydWN0IHFjb21fcnByb2NfcGRtIHsKKysJc3RydWN0IHJwcm9jX3N1 YmRldiBzdWJkZXY7CisrCXN0cnVjdCBkZXZpY2UgKmRldjsKKysJaW50IGluZGV4OworKwlzdHJ1 Y3QgYXV4aWxpYXJ5X2RldmljZSAqYWRldjsKKyt9OworKworIHZvaWQgcWNvbV9taW5pZHVtcChz dHJ1Y3QgcnByb2MgKnJwcm9jLCB1bnNpZ25lZCBpbnQgbWluaWR1bXBfaWQsCisgCQkJdm9pZCAo KnJwcm9jX2R1bXBmbl90KShzdHJ1Y3QgcnByb2MgKnJwcm9jLAorIAkJCQlzdHJ1Y3QgcnByb2Nf ZHVtcF9zZWdtZW50ICpzZWdtZW50LCB2b2lkICpkZXN0LCBzaXplX3Qgb2Zmc2V0LAorQEAgLTUy LDYgKzU5LDkgQEAgdm9pZCBxY29tX2FkZF9zc3Jfc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2Ms IHN0cnVjdCBxY29tX3Jwcm9jX3NzciAqc3NyLAorIAkJCSBjb25zdCBjaGFyICpzc3JfbmFtZSk7 Cisgdm9pZCBxY29tX3JlbW92ZV9zc3Jfc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0cnVj dCBxY29tX3Jwcm9jX3NzciAqc3NyKTsKKyAKKyt2b2lkIHFjb21fYWRkX3BkbV9zdWJkZXYoc3Ry dWN0IHJwcm9jICpycHJvYywgc3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0pOworK3ZvaWQgcWNv bV9yZW1vdmVfcGRtX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJv Y19wZG0gKnBkbSk7CisrCisgI2lmIElTX0VOQUJMRUQoQ09ORklHX1FDT01fU1lTTU9OKQorIHN0 cnVjdCBxY29tX3N5c21vbiAqcWNvbV9hZGRfc3lzbW9uX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJw cm9jLAorIAkJCQkJICAgY29uc3QgY2hhciAqbmFtZSwKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3Jl bW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVf YWRzcC5jCitpbmRleCAxZDI0YzliNjU2YTguLjU3MmRjYjBmMDU1YiAxMDA2NDQKKy0tLSBhL2Ry aXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfYWRzcC5jCisrKysgYi9kcml2ZXJzL3JlbW90ZXBy b2MvcWNvbV9xNnY1X2Fkc3AuYworQEAgLTExMiw2ICsxMTIsNyBAQCBzdHJ1Y3QgcWNvbV9hZHNw IHsKKyAJc3RydWN0IGRldl9wbV9kb21haW5fbGlzdCAqcGRfbGlzdDsKKyAKKyAJc3RydWN0IHFj b21fcnByb2NfZ2xpbmsgZ2xpbmtfc3ViZGV2OworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gcGRt X3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnByb2Nfc3NyIHNzcl9zdWJkZXY7CisgCXN0cnVjdCBx Y29tX3N5c21vbiAqc3lzbW9uOworIAorQEAgLTcyNiw2ICs3MjcsNyBAQCBzdGF0aWMgaW50IGFk c3BfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJCWdvdG8gZGlzYWJsZV9w bTsKKyAKKyAJcWNvbV9hZGRfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmYWRzcC0+Z2xpbmtfc3ViZGV2 LCBkZXNjLT5zc3JfbmFtZSk7CisrCXFjb21fYWRkX3BkbV9zdWJkZXYocnByb2MsICZhZHNwLT5w ZG1fc3ViZGV2KTsKKyAJcWNvbV9hZGRfc3NyX3N1YmRldihycHJvYywgJmFkc3AtPnNzcl9zdWJk ZXYsIGRlc2MtPnNzcl9uYW1lKTsKKyAJYWRzcC0+c3lzbW9uID0gcWNvbV9hZGRfc3lzbW9uX3N1 YmRldihycHJvYywKKyAJCQkJCSAgICAgIGRlc2MtPnN5c21vbl9uYW1lLAorQEAgLTc1NSw2ICs3 NTcsNyBAQCBzdGF0aWMgdm9pZCBhZHNwX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQorIAorIAlxY29tX3E2djVfZGVpbml0KCZhZHNwLT5xNnY1KTsKKyAJcWNvbV9yZW1vdmVf Z2xpbmtfc3ViZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+Z2xpbmtfc3ViZGV2KTsKKysJcWNvbV9y ZW1vdmVfcGRtX3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3AtPnBkbV9zdWJkZXYpOworIAlxY29t X3JlbW92ZV9zeXNtb25fc3ViZGV2KGFkc3AtPnN5c21vbik7CisgCXFjb21fcmVtb3ZlX3Nzcl9z dWJkZXYoYWRzcC0+cnByb2MsICZhZHNwLT5zc3Jfc3ViZGV2KTsKKyAJcWNvbV9ycHJvY19wZHNf ZGV0YWNoKGFkc3ApOworZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVf bXNzLmMgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X21zcy5jCitpbmRleCAxNzc5ZmM4 OTBlMTAuLjJhNDIyMTVjZThlMCAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29t X3E2djVfbXNzLmMKKysrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfbXNzLmMKK0BA IC0yMjgsNiArMjI4LDcgQEAgc3RydWN0IHE2djUgeworIAorIAlzdHJ1Y3QgcWNvbV9ycHJvY19n bGluayBnbGlua19zdWJkZXY7CisgCXN0cnVjdCBxY29tX3Jwcm9jX3N1YmRldiBzbWRfc3ViZGV2 OworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gcGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnBy b2Nfc3NyIHNzcl9zdWJkZXY7CisgCXN0cnVjdCBxY29tX3N5c21vbiAqc3lzbW9uOworIAlzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpiYW1fZG11eDsKK0BAIC0yMTAyLDYgKzIxMDMsNyBAQCBzdGF0 aWMgaW50IHE2djVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJcXByb2Mt Pm1iYV9wZXJtID0gQklUKFFDT01fU0NNX1ZNSURfSExPUyk7CisgCXFjb21fYWRkX2dsaW5rX3N1 YmRldihycHJvYywgJnFwcm9jLT5nbGlua19zdWJkZXYsICJtcHNzIik7CisgCXFjb21fYWRkX3Nt ZF9zdWJkZXYocnByb2MsICZxcHJvYy0+c21kX3N1YmRldik7CisrCXFjb21fYWRkX3BkbV9zdWJk ZXYocnByb2MsICZxcHJvYy0+cGRtX3N1YmRldik7CisgCXFjb21fYWRkX3Nzcl9zdWJkZXYocnBy b2MsICZxcHJvYy0+c3NyX3N1YmRldiwgIm1wc3MiKTsKKyAJcXByb2MtPnN5c21vbiA9IHFjb21f YWRkX3N5c21vbl9zdWJkZXYocnByb2MsICJtb2RlbSIsIDB4MTIpOworIAlpZiAoSVNfRVJSKHFw cm9jLT5zeXNtb24pKSB7CitAQCAtMjE0Myw2ICsyMTQ1LDcgQEAgc3RhdGljIHZvaWQgcTZ2NV9y ZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJcWNvbV9xNnY1X2RlaW5pdCgm cXByb2MtPnE2djUpOworIAlxY29tX3JlbW92ZV9zeXNtb25fc3ViZGV2KHFwcm9jLT5zeXNtb24p OworIAlxY29tX3JlbW92ZV9zc3Jfc3ViZGV2KHJwcm9jLCAmcXByb2MtPnNzcl9zdWJkZXYpOwor KwlxY29tX3JlbW92ZV9wZG1fc3ViZGV2KHJwcm9jLCAmcXByb2MtPnBkbV9zdWJkZXYpOworIAlx Y29tX3JlbW92ZV9zbWRfc3ViZGV2KHJwcm9jLCAmcXByb2MtPnNtZF9zdWJkZXYpOworIAlxY29t X3JlbW92ZV9nbGlua19zdWJkZXYocnByb2MsICZxcHJvYy0+Z2xpbmtfc3ViZGV2KTsKKyAKK2Rp ZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jIGIvZHJpdmVycy9y ZW1vdGVwcm9jL3Fjb21fcTZ2NV9wYXMuYworaW5kZXggODQ1OGJjZmU5ZTE5Li44OGU3Yjg0ZjIy M2MgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jCisrKysg Yi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jCitAQCAtMTExLDYgKzExMSw3IEBA IHN0cnVjdCBxY29tX2Fkc3AgeworIAorIAlzdHJ1Y3QgcWNvbV9ycHJvY19nbGluayBnbGlua19z dWJkZXY7CisgCXN0cnVjdCBxY29tX3Jwcm9jX3N1YmRldiBzbWRfc3ViZGV2OworKwlzdHJ1Y3Qg cWNvbV9ycHJvY19wZG0gcGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnByb2Nfc3NyIHNzcl9z dWJkZXY7CisgCXN0cnVjdCBxY29tX3N5c21vbiAqc3lzbW9uOworIAorQEAgLTc3Nyw2ICs3Nzgs NyBAQCBzdGF0aWMgaW50IGFkc3BfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK KyAKKyAJcWNvbV9hZGRfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmYWRzcC0+Z2xpbmtfc3ViZGV2LCBk ZXNjLT5zc3JfbmFtZSk7CisgCXFjb21fYWRkX3NtZF9zdWJkZXYocnByb2MsICZhZHNwLT5zbWRf c3ViZGV2KTsKKysJcWNvbV9hZGRfcGRtX3N1YmRldihycHJvYywgJmFkc3AtPnBkbV9zdWJkZXYp OworIAlhZHNwLT5zeXNtb24gPSBxY29tX2FkZF9zeXNtb25fc3ViZGV2KHJwcm9jLAorIAkJCQkJ ICAgICAgZGVzYy0+c3lzbW9uX25hbWUsCisgCQkJCQkgICAgICBkZXNjLT5zc2N0bF9pZCk7CitA QCAtODExLDYgKzgxMyw3IEBAIHN0YXRpYyB2b2lkIGFkc3BfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCisgCXFjb21fcmVtb3ZlX2dsaW5rX3N1YmRldihhZHNwLT5ycHJvYywg JmFkc3AtPmdsaW5rX3N1YmRldik7CisgCXFjb21fcmVtb3ZlX3N5c21vbl9zdWJkZXYoYWRzcC0+ c3lzbW9uKTsKKyAJcWNvbV9yZW1vdmVfc21kX3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3AtPnNt ZF9zdWJkZXYpOworKwlxY29tX3JlbW92ZV9wZG1fc3ViZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+ cGRtX3N1YmRldik7CisgCXFjb21fcmVtb3ZlX3Nzcl9zdWJkZXYoYWRzcC0+cnByb2MsICZhZHNw LT5zc3Jfc3ViZGV2KTsKKyAJYWRzcF9wZHNfZGV0YWNoKGFkc3AsIGFkc3AtPnByb3h5X3Bkcywg YWRzcC0+cHJveHlfcGRfY291bnQpOworIAlkZXZpY2VfaW5pdF93YWtldXAoYWRzcC0+ZGV2LCBm YWxzZSk7CitkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV93Y3NzLmMg Yi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3djc3MuYworaW5kZXggOTRmNjhjOTE5ZWU2 Li5lOTEzZGFiYWU5OTIgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1 X3djc3MuYworKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV93Y3NzLmMKK0BAIC0x NDgsNiArMTQ4LDcgQEAgc3RydWN0IHE2djVfd2NzcyB7CisgCWJvb2wgcmVxdWlyZXNfZm9yY2Vf c3RvcDsKKyAKKyAJc3RydWN0IHFjb21fcnByb2NfZ2xpbmsgZ2xpbmtfc3ViZGV2OworKwlzdHJ1 Y3QgcWNvbV9ycHJvY19wZG0gcGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnByb2Nfc3NyIHNz cl9zdWJkZXY7CisgfTsKKyAKK0BAIC0xMDUyLDYgKzEwNTMsNyBAQCBzdGF0aWMgaW50IHE2djVf d2Nzc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorIAkJcmV0dXJuIHJldDsK KyAKKyAJcWNvbV9hZGRfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmd2Nzcy0+Z2xpbmtfc3ViZGV2LCAi cTZ3Y3NzIik7CisrCXFjb21fYWRkX3BkbV9zdWJkZXYocnByb2MsICZ3Y3NzLT5wZG1fc3ViZGV2 KTsKKyAJcWNvbV9hZGRfc3NyX3N1YmRldihycHJvYywgJndjc3MtPnNzcl9zdWJkZXYsICJxNndj c3MiKTsKKyAKKyAJaWYgKGRlc2MtPnNzY3RsX2lkKQorQEAgLTEwNzQsNiArMTA3Niw3IEBAIHN0 YXRpYyB2b2lkIHE2djVfd2Nzc19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK KyAJc3RydWN0IHE2djVfd2NzcyAqd2NzcyA9IHJwcm9jLT5wcml2OworIAorIAlxY29tX3E2djVf ZGVpbml0KCZ3Y3NzLT5xNnY1KTsKKysJcWNvbV9yZW1vdmVfcGRtX3N1YmRldihycHJvYywgJndj c3MtPnBkbV9zdWJkZXYpOworIAlycHJvY19kZWwocnByb2MpOworIH0KKyAKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvbGludXg2LjgvdGVtcGxhdGUgYi9zcmNwa2dzL2xpbnV4Ni44L3RlbXBsYXRlCmlu ZGV4IDBkYjY4ZjA0YmI2ZTIzLi5mOWZmODFiM2Q2OGQ2MiAxMDA2NDQKLS0tIGEvc3JjcGtncy9s aW51eDYuOC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2xpbnV4Ni44L3RlbXBsYXRlCkBAIC0xLDcg KzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbGludXg2LjgnCiBwa2duYW1lPWxpbnV4Ni44 CiB2ZXJzaW9uPTYuOC4xMgotcmV2aXNpb249MQorcmV2aXNpb249Mgogc2hvcnRfZGVzYz0iTGlu dXgga2VybmVsIGFuZCBtb2R1bGVzICgke3ZlcnNpb24lLip9IHNlcmllcykiCiBtYWludGFpbmVy PSJEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vbmx5 IgoKRnJvbSBkZjVlNzg4YTVhM2UxMzc4OWVlMjE3M2JiNWM5NjYyNTI0NTFiYWJjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5u ZXQ+CkRhdGU6IFR1ZSwgMjUgSnVuIDIwMjQgMTk6MzY6MTggLTA0MDAKU3ViamVjdDogW1BBVENI IDMvM10gbGludXg2Ljk6IGFkZCBzdXBwb3J0IGZvciBsZW5vdm8geDEzcwoKLS0tCiBzcmNwa2dz L2xpbnV4Ni45L2ZpbGVzL2FybTY0LWRvdGNvbmZpZyAgICAgICAgfCAgIDgzICstCiAuLi5kLWlu LWtlcm5lbC1wZC1tYXBwZXItaW1wbGVtZW50YXRpb24ucGF0Y2ggfCAxOTUxICsrKysrKysrKysr KysrKysrCiBzcmNwa2dzL2xpbnV4Ni45L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgfCAg ICAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDIwMTIgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25z KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saW51eDYuOS9wYXRjaGVzL3NvYy1xY29t LWFkZC1pbi1rZXJuZWwtcGQtbWFwcGVyLWltcGxlbWVudGF0aW9uLnBhdGNoCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9saW51eDYuOS9maWxlcy9hcm02NC1kb3Rjb25maWcgYi9zcmNwa2dzL2xpbnV4 Ni45L2ZpbGVzL2FybTY0LWRvdGNvbmZpZwppbmRleCBmMTdjMDVmNzFjZTEwMy4uNzA0MjhkNmRj OGUyZTkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbGludXg2LjkvZmlsZXMvYXJtNjQtZG90Y29uZmln CisrKyBiL3NyY3BrZ3MvbGludXg2LjkvZmlsZXMvYXJtNjQtZG90Y29uZmlnCkBAIC0yLDcgKzIs NyBAQAogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmaWxlOyBETyBOT1QgRURJVC4KICMgTGlu dXgvYXJtNjQgNi45LjcgS2VybmVsIENvbmZpZ3VyYXRpb24KICMKLUNPTkZJR19DQ19WRVJTSU9O X1RFWFQ9ImFhcmNoNjQtbGludXgtbXVzbC1nY2MgKEdDQykgMTMuMi4wIgorQ09ORklHX0NDX1ZF UlNJT05fVEVYVD0iYWFyY2g2NC1saW51eC1nbnUtZ2NjIChHQ0MpIDEzLjIuMCIKIENPTkZJR19D Q19JU19HQ0M9eQogQ09ORklHX0dDQ19WRVJTSU9OPTEzMDIwMAogQ09ORklHX0NMQU5HX1ZFUlNJ T049MApAQCAtMjksNyArMjksNyBAQCBDT05GSUdfVEhSRUFEX0lORk9fSU5fVEFTSz15CiBDT05G SUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCiAjIENPTkZJR19DT01QSUxFX1RFU1QgaXMgbm90IHNl dAogIyBDT05GSUdfV0VSUk9SIGlzIG5vdCBzZXQKLUNPTkZJR19MT0NBTFZFUlNJT049Il8xIgor Q09ORklHX0xPQ0FMVkVSU0lPTj0iXzIiCiAjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBu b3Qgc2V0CiBDT05GSUdfQlVJTERfU0FMVD0iIgogQ09ORklHX0RFRkFVTFRfSU5JVD0iIgpAQCAt NjAyLDcgKzYwMiw3IEBAIENPTkZJR19EUE1fV0FUQ0hET0c9eQogQ09ORklHX0RQTV9XQVRDSERP R19USU1FT1VUPTYwCiBDT05GSUdfUE1fQ0xLPXkKIENPTkZJR19QTV9HRU5FUklDX0RPTUFJTlM9 eQotIyBDT05GSUdfV1FfUE9XRVJfRUZGSUNJRU5UX0RFRkFVTFQgaXMgbm90IHNldAorQ09ORklH X1dRX1BPV0VSX0VGRklDSUVOVF9ERUZBVUxUPXkKIENPTkZJR19QTV9HRU5FUklDX0RPTUFJTlNf U0xFRVA9eQogQ09ORklHX1BNX0dFTkVSSUNfRE9NQUlOU19PRj15CiBDT05GSUdfQ1BVX1BNPXkK QEAgLTIzNzksNyArMjM3OSw3IEBAIENPTkZJR19TT0NfQlVTPXkKIENPTkZJR19SRUdNQVA9eQog Q09ORklHX1JFR01BUF9JMkM9eQogQ09ORklHX1JFR01BUF9TUEk9eQotQ09ORklHX1JFR01BUF9T UE1JPW0KK0NPTkZJR19SRUdNQVBfU1BNST15CiBDT05GSUdfUkVHTUFQX1cxPW0KIENPTkZJR19S RUdNQVBfTU1JTz15CiBDT05GSUdfUkVHTUFQX0lSUT15CkBAIC0yNDQ3LDcgKzI0NDcsNyBAQCBD T05GSUdfQVJNX1NDTUlfVFJBTlNQT1JUX1ZJUlRJT19WRVJTSU9OMV9DT01QTElBTkNFPXkKIENP TkZJR19BUk1fU0NNSV9QT1dFUl9DT05UUk9MPW0KICMgZW5kIG9mIEFSTSBTeXN0ZW0gQ29udHJv bCBhbmQgTWFuYWdlbWVudCBJbnRlcmZhY2UgUHJvdG9jb2wKIAotQ09ORklHX0FSTV9TQ1BJX1BS T1RPQ09MPW0KK0NPTkZJR19BUk1fU0NQSV9QUk9UT0NPTD15CiBDT05GSUdfQVJNX1NERV9JTlRF UkZBQ0U9eQogQ09ORklHX0ZJUk1XQVJFX01FTU1BUD15CiBDT05GSUdfRE1JSUQ9eQpAQCAtMjUw Myw3ICsyNTAzLDggQEAgQ09ORklHX0FSTV9QU0NJX0ZXPXkKICMKIENPTkZJR19RQ09NX1NDTT15 CiAjIENPTkZJR19RQ09NX1NDTV9ET1dOTE9BRF9NT0RFX0RFRkFVTFQgaXMgbm90IHNldAotIyBD T05GSUdfUUNPTV9RU0VFQ09NIGlzIG5vdCBzZXQKK0NPTkZJR19RQ09NX1FTRUVDT009eQorQ09O RklHX1FDT01fUVNFRUNPTV9VRUZJU0VDQVBQPXkKICMgZW5kIG9mIFF1YWxjb21tIGZpcm13YXJl IGRyaXZlcnMKIAogQ09ORklHX0hBVkVfQVJNX1NNQ0NDPXkKQEAgLTQ5MjEsNyArNDkyMiw3IEBA IENPTkZJR19YSUxMWVVTQj1tCiBDT05GSUdfSTJDPXkKIENPTkZJR19BQ1BJX0kyQ19PUFJFR0lP Tj15CiBDT05GSUdfSTJDX0JPQVJESU5GTz15Ci0jIENPTkZJR19JMkNfQ09NUEFUIGlzIG5vdCBz ZXQKK0NPTkZJR19JMkNfQ09NUEFUPXkKIENPTkZJR19JMkNfQ0hBUkRFVj1tCiBDT05GSUdfSTJD X01VWD1tCiAKQEAgLTUxNTAsNyArNTE1MSw3IEBAIENPTkZJR19TUElfU0xBVkU9eQogQ09ORklH X1NQSV9TTEFWRV9USU1FPW0KIENPTkZJR19TUElfU0xBVkVfU1lTVEVNX0NPTlRST0w9bQogQ09O RklHX1NQSV9EWU5BTUlDPXkKLUNPTkZJR19TUE1JPW0KK0NPTkZJR19TUE1JPXkKIENPTkZJR19T UE1JX0hJU0kzNjcwPW0KIENPTkZJR19TUE1JX01TTV9QTUlDX0FSQj1tCiBDT05GSUdfU1BNSV9N VEtfUE1JRj1tCkBAIC01MzIzLDcgKzUzMjQsNyBAQCBDT05GSUdfUElOQ1RSTF9TQTg3NzVQPW0K IENPTkZJR19QSU5DVFJMX1NDNzE4MD1tCiBDT05GSUdfUElOQ1RSTF9TQzcyODA9bQogQ09ORklH X1BJTkNUUkxfU0M4MTgwWD1tCi1DT05GSUdfUElOQ1RSTF9TQzgyODBYUD1tCitDT05GSUdfUElO Q1RSTF9TQzgyODBYUD15CiAjIENPTkZJR19QSU5DVFJMX1NETTY2MCBpcyBub3Qgc2V0CiBDT05G SUdfUElOQ1RSTF9TRE02NzA9bQogQ09ORklHX1BJTkNUUkxfU0RNODQ1PW0KQEAgLTUzNDEsNyAr NTM0Miw3IEBAIENPTkZJR19QSU5DVFJMX1NNODQ1MD1tCiBDT05GSUdfUElOQ1RSTF9TTTg1NTA9 bQogIyBDT05GSUdfUElOQ1RSTF9TTTg2NTAgaXMgbm90IHNldAogIyBDT05GSUdfUElOQ1RSTF9Y MUU4MDEwMCBpcyBub3Qgc2V0Ci1DT05GSUdfUElOQ1RSTF9RQ09NX1NQTUlfUE1JQz1tCitDT05G SUdfUElOQ1RSTF9RQ09NX1NQTUlfUE1JQz15CiBDT05GSUdfUElOQ1RSTF9RQ09NX1NTQklfUE1J Qz1tCiBDT05GSUdfUElOQ1RSTF9MUEFTU19MUEk9bQogIyBDT05GSUdfUElOQ1RSTF9TQzcyODBf TFBBU1NfTFBJIGlzIG5vdCBzZXQKQEAgLTU5MzgsMTIgKzU5MzksMTMgQEAgQ09ORklHX1RIRVJN QUxfT0Y9eQogQ09ORklHX1RIRVJNQUxfREVGQVVMVF9HT1ZfU1RFUF9XSVNFPXkKICMgQ09ORklH X1RIRVJNQUxfREVGQVVMVF9HT1ZfRkFJUl9TSEFSRSBpcyBub3Qgc2V0CiAjIENPTkZJR19USEVS TUFMX0RFRkFVTFRfR09WX1VTRVJfU1BBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfVEhFUk1BTF9E RUZBVUxUX0dPVl9QT1dFUl9BTExPQ0FUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVEhFUk1BTF9E RUZBVUxUX0dPVl9CQU5HX0JBTkcgaXMgbm90IHNldAogQ09ORklHX1RIRVJNQUxfR09WX0ZBSVJf U0hBUkU9eQogQ09ORklHX1RIRVJNQUxfR09WX1NURVBfV0lTRT15CiBDT05GSUdfVEhFUk1BTF9H T1ZfQkFOR19CQU5HPXkKIENPTkZJR19USEVSTUFMX0dPVl9VU0VSX1NQQUNFPXkKLSMgQ09ORklH X1RIRVJNQUxfR09WX1BPV0VSX0FMTE9DQVRPUiBpcyBub3Qgc2V0CitDT05GSUdfVEhFUk1BTF9H T1ZfUE9XRVJfQUxMT0NBVE9SPXkKIENPTkZJR19DUFVfVEhFUk1BTD15CiBDT05GSUdfQ1BVX0ZS RVFfVEhFUk1BTD15CiAjIENPTkZJR19DUFVfSURMRV9USEVSTUFMIGlzIG5vdCBzZXQKQEAgLTYw MDEsNyArNjAwMyw3IEBAIENPTkZJR19HRU5FUklDX0FEQ19USEVSTUFMPW0KICMKIENPTkZJR19R Q09NX1RTRU5TPW0KIENPTkZJR19RQ09NX1NQTUlfQURDX1RNNT1tCi0jIENPTkZJR19RQ09NX1NQ TUlfVEVNUF9BTEFSTSBpcyBub3Qgc2V0CitDT05GSUdfUUNPTV9TUE1JX1RFTVBfQUxBUk09bQog Q09ORklHX1FDT01fTE1IPW0KICMgZW5kIG9mIFF1YWxjb21tIHRoZXJtYWwgZHJpdmVycwogCkBA IC02MDQwLDcgKzYwNDIsNyBAQCBDT05GSUdfWElMSU5YX1dBVENIRE9HPW0KIENPTkZJR19aSUlS QVZFX1dBVENIRE9HPW0KIENPTkZJR19NTFhfV0RUPW0KIENPTkZJR19TTDI4Q1BMRF9XQVRDSERP Rz1tCi0jIENPTkZJR19BUk1fU1A4MDVfV0FUQ0hET0cgaXMgbm90IHNldAorQ09ORklHX0FSTV9T UDgwNV9XQVRDSERPRz15CiBDT05GSUdfQVJNX1NCU0FfV0FUQ0hET0c9bQogQ09ORklHX0FSTUFE QV8zN1hYX1dBVENIRE9HPW0KIENPTkZJR19DQURFTkNFX1dBVENIRE9HPW0KQEAgLTYwNTMsNyAr NjA1NSw3IEBAIENPTkZJR19JTVgyX1dEVD1tCiBDT05GSUdfSU1YX1NDX1dEVD1tCiBDT05GSUdf SU1YN1VMUF9XRFQ9bQogQ09ORklHX1RFR1JBX1dBVENIRE9HPW0KLSMgQ09ORklHX1FDT01fV0RU IGlzIG5vdCBzZXQKK0NPTkZJR19RQ09NX1dEVD1tCiBDT05GSUdfTUVTT05fR1hCQl9XQVRDSERP Rz1tCiBDT05GSUdfTUVTT05fV0FUQ0hET0c9bQogQ09ORklHX01FRElBVEVLX1dBVENIRE9HPW0K QEAgLTkzNjgsNyArOTM3MCw3IEBAIENPTkZJR19TQ1NJX1VGU0hDRF9QQ0k9bQogQ09ORklHX1ND U0lfVUZTSENEX1BMQVRGT1JNPW0KIENPTkZJR19TQ1NJX1VGU19DRE5TX1BMQVRGT1JNPW0KICMg Q09ORklHX1NDU0lfVUZTX0RXQ19UQ19QTEFURk9STSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJ X1VGU19RQ09NIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1VGU19RQ09NPW0KIENPTkZJR19TQ1NJ X1VGU19NRURJQVRFSz1tCiBDT05GSUdfU0NTSV9VRlNfSElTST1tCiBDT05GSUdfU0NTSV9VRlNf RVhZTk9TPW0KQEAgLTEwMzkyLDcgKzEwMzk0LDcgQEAgQ09ORklHX1FDTV9HQ0NfMjI5MD1tCiBD T05GSUdfUUNTX0dDQ180MDQ9bQogQ09ORklHX1NDX0NBTUNDXzcxODA9bQogQ09ORklHX1NDX0NB TUNDXzcyODA9bQotIyBDT05GSUdfU0NfQ0FNQ0NfODI4MFhQIGlzIG5vdCBzZXQKK0NPTkZJR19T Q19DQU1DQ184MjgwWFA9bQogQ09ORklHX1NDX0RJU1BDQ183MTgwPW0KIENPTkZJR19TQ19ESVNQ Q0NfNzI4MD1tCiBDT05GSUdfU0NfRElTUENDXzgyODBYUD1tCkBAIC0xMDQwNCw5ICsxMDQwNiw5 IEBAIENPTkZJR19TQ19HQ0NfODE4MFg9bQogQ09ORklHX1NDX0dDQ184MjgwWFA9bQogQ09ORklH X1NDX0dQVUNDXzcxODA9bQogQ09ORklHX1NDX0dQVUNDXzcyODA9bQotIyBDT05GSUdfU0NfR1BV Q0NfODI4MFhQIGlzIG5vdCBzZXQKK0NPTkZJR19TQ19HUFVDQ184MjgwWFA9bQogQ09ORklHX1ND X0xQQVNTQ0NfNzI4MD1tCi0jIENPTkZJR19TQ19MUEFTU0NDXzgyODBYUCBpcyBub3Qgc2V0CitD T05GSUdfU0NfTFBBU1NDQ184MjgwWFA9bQogQ09ORklHX1NDX0xQQVNTX0NPUkVDQ183MTgwPW0K IENPTkZJR19TQ19MUEFTU19DT1JFQ0NfNzI4MD1tCiBDT05GSUdfU0NfVklERU9DQ183MTgwPW0K QEAgLTEwNDYzLDcgKzEwNDY1LDcgQEAgQ09ORklHX1NNX1RDU1JDQ184NTUwPW0KICMgQ09ORklH X1NNX1RDU1JDQ184NjUwIGlzIG5vdCBzZXQKIENPTkZJR19TTV9WSURFT0NDXzgxNTA9bQogQ09O RklHX1NNX1ZJREVPQ0NfODI1MD1tCi0jIENPTkZJR19TTV9WSURFT0NDXzgzNTAgaXMgbm90IHNl dAorQ09ORklHX1NNX1ZJREVPQ0NfODM1MD1tCiAjIENPTkZJR19TTV9WSURFT0NDXzg1NTAgaXMg bm90IHNldAogQ09ORklHX1NQTUlfUE1JQ19DTEtESVY9bQogQ09ORklHX1FDT01fSEZQTEw9bQpA QCAtMTA1NDEsNyArMTA1NDMsNyBAQCBDT05GSUdfVElNRVJfSU1YX1NZU19DVFI9eQogIyBlbmQg b2YgQ2xvY2sgU291cmNlIGRyaXZlcnMKIAogQ09ORklHX01BSUxCT1g9eQotIyBDT05GSUdfQVJN X01IVSBpcyBub3Qgc2V0CitDT05GSUdfQVJNX01IVT15CiBDT05GSUdfQVJNX01IVV9WMj1tCiBD T05GSUdfSU1YX01CT1g9bQogQ09ORklHX1BMQVRGT1JNX01IVT1tCkBAIC0xMDU4Myw4ICsxMDU4 NSw4IEBAIENPTkZJR19JT01NVV9JT19QR1RBQkxFX0RBUlQ9eQogCiAjIENPTkZJR19JT01NVV9E RUJVR0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lPTU1VX0RFRkFVTFRfRE1BX1NUUklDVCBpcyBu b3Qgc2V0Ci0jIENPTkZJR19JT01NVV9ERUZBVUxUX0RNQV9MQVpZIGlzIG5vdCBzZXQKLUNPTkZJ R19JT01NVV9ERUZBVUxUX1BBU1NUSFJPVUdIPXkKK0NPTkZJR19JT01NVV9ERUZBVUxUX0RNQV9M QVpZPXkKKyMgQ09ORklHX0lPTU1VX0RFRkFVTFRfUEFTU1RIUk9VR0ggaXMgbm90IHNldAogQ09O RklHX09GX0lPTU1VPXkKIENPTkZJR19JT01NVV9ETUE9eQogQ09ORklHX0lPTU1VX1NWQT15CkBA IC0xMDc0NCw3ICsxMDc0Niw5IEBAIENPTkZJR19RQ09NX0xMQ0M9bQogQ09ORklHX1FDT01fS1JZ T19MMl9BQ0NFU1NPUlM9eQogQ09ORklHX1FDT01fTURUX0xPQURFUj1tCiBDT05GSUdfUUNPTV9P Q01FTT1tCitDT05GSUdfUUNPTV9QRF9NQVBQRVI9bQogQ09ORklHX1FDT01fUERSX0hFTFBFUlM9 bQorQ09ORklHX1FDT01fUERSX01TRz1tCiAjIENPTkZJR19RQ09NX1BNSUNfUERDSEFSR0VSX1VM T0cgaXMgbm90IHNldAogQ09ORklHX1FDT01fUE1JQ19HTElOSz1tCiBDT05GSUdfUUNPTV9RTUlf SEVMUEVSUz1tCkBAIC0xMTk5MCw3ICsxMTk5NCw0MCBAQCBDT05GSUdfSU5URVJDT05ORUNUX0lN WDhNTT1tCiBDT05GSUdfSU5URVJDT05ORUNUX0lNWDhNTj1tCiBDT05GSUdfSU5URVJDT05ORUNU X0lNWDhNUT1tCiBDT05GSUdfSU5URVJDT05ORUNUX0lNWDhNUD1tCi0jIENPTkZJR19JTlRFUkNP Tk5FQ1RfUUNPTSBpcyBub3Qgc2V0CitDT05GSUdfSU5URVJDT05ORUNUX1FDT009eQorQ09ORklH X0lOVEVSQ09OTkVDVF9RQ09NX0JDTV9WT1RFUj15CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNP TV9NU004OTA5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX01TTTg5MTYg aXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fTVNNODkzOSBpcyBub3Qgc2V0 CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9NU004OTc0IGlzIG5vdCBzZXQKKyMgQ09ORklH X0lOVEVSQ09OTkVDVF9RQ09NX01TTTg5OTYgaXMgbm90IHNldAorQ09ORklHX0lOVEVSQ09OTkVD VF9RQ09NX09TTV9MMz1tCisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9RQ00yMjkwIGlzIG5v dCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1FDUzQwNCBpcyBub3Qgc2V0CisjIENP TkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9RRFUxMDAwIGlzIG5vdCBzZXQKK0NPTkZJR19JTlRFUkNP Tk5FQ1RfUUNPTV9SUE1IX1BPU1NJQkxFPXkKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9SUE1I PXkKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NBODc3NVAgaXMgbm90IHNldAorIyBDT05G SUdfSU5URVJDT05ORUNUX1FDT01fU0M3MTgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09O TkVDVF9RQ09NX1NDNzI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9T QzgxODBYIGlzIG5vdCBzZXQKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TQzgyODBYUD15Cisj IENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRE02NjAgaXMgbm90IHNldAorIyBDT05GSUdfSU5U RVJDT05ORUNUX1FDT01fU0RNNjcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9R Q09NX1NETTg0NSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg1NSBp cyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg2NSBpcyBub3Qgc2V0Cisj IENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRF UkNPTk5FQ1RfUUNPTV9TTTYxMTUgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FD T01fU002MzUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNNzE1MCBp cyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTgxNTAgaXMgbm90IHNldAor IyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU004MjUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lO VEVSQ09OTkVDVF9RQ09NX1NNODM1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1Rf UUNPTV9TTTg0NTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU004NTUw IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNODY1MCBpcyBub3Qgc2V0 CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9YMUU4MDEwMCBpcyBub3Qgc2V0CiBDT05GSUdf SU5URVJDT05ORUNUX1NBTVNVTkc9eQogQ09ORklHX0lOVEVSQ09OTkVDVF9FWFlOT1M9bQogQ09O RklHX0lOVEVSQ09OTkVDVF9DTEs9bQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saW51eDYuOS9wYXRj aGVzL3NvYy1xY29tLWFkZC1pbi1rZXJuZWwtcGQtbWFwcGVyLWltcGxlbWVudGF0aW9uLnBhdGNo IGIvc3JjcGtncy9saW51eDYuOS9wYXRjaGVzL3NvYy1xY29tLWFkZC1pbi1rZXJuZWwtcGQtbWFw cGVyLWltcGxlbWVudGF0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMDAwLi43OTRhYzJmMmQ3N2Y5MgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGlu dXg2LjkvcGF0Y2hlcy9zb2MtcWNvbS1hZGQtaW4ta2VybmVsLXBkLW1hcHBlci1pbXBsZW1lbnRh dGlvbi5wYXRjaApAQCAtMCwwICsxLDE5NTEgQEAKK2h0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5v cmcvcHJvamVjdC9saW51eC1hcm0tbXNtL2NvdmVyLzIwMjQwNjIyLXFjb20tcGQtbWFwcGVyLXY5 LTAtYTg0ZWUzNTkxYzhlQGxpbmFyby5vcmcvCisKK2FjY2VwdGVkIHVwc3RyZWFtLCBleHBlY3Rl ZCBtYWlubGluZSBpbiA2LjExCisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5 c2hrb3ZAbGluYXJvLm9yZz4KK0RhdGU6IFNhdCwgMjIgSnVuIDIwMjQgMDE6MDM6NDAgKzAzMDAK K1N1YmplY3Q6IFtQQVRDSCB2OSAxLzVdIHNvYzogcWNvbTogcGRyOiBwcm90ZWN0IGxvY2F0b3Jf YWRkciB3aXRoIHRoZSBtYWluCisgbXV0ZXgKKworSWYgdGhlIHNlcnZpY2UgbG9jYXRvciBzZXJ2 ZXIgaXMgcmVzdGFydGVkIGZhc3QgZW5vdWdoLCB0aGUgUERSIGNhbgorcmV3cml0ZSBsb2NhdG9y X2FkZHIgZmllbGRzIGNvbmN1cnJlbnRseS4gUHJvdGVjdCB0aGVtIGJ5IHBsYWNpbmcKK21vZGlm aWNhdGlvbiBvZiB0aG9zZSBmaWVsZHMgdW5kZXIgdGhlIG1haW4gcGRyLT5sb2NrLgorCitGaXhl czogZmJlNjM5YjQ0YTgyICgic29jOiBxY29tOiBJbnRyb2R1Y2UgUHJvdGVjdGlvbiBEb21haW4g UmVzdGFydCBoZWxwZXJzIikKK1Rlc3RlZC1ieTogTmVpbCBBcm1zdHJvbmcgPG5laWwuYXJtc3Ry b25nQGxpbmFyby5vcmc+ICMgb24gU004NTUwLVFSRAorVGVzdGVkLWJ5OiBTdGVldiBLbGltYXN6 ZXdza2kgPHN0ZWV2QGthbGkub3JnPgorVGVzdGVkLWJ5OiBBbGV4ZXkgTWlubmVraGFub3YgPGFs ZXhleW1pbkBwb3N0bWFya2V0b3Mub3JnPgorU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJhcnlzaGtv diA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorUmV2aWV3ZWQtYnk6IENocmlzIExldyA8 cXVpY19jbGV3QHF1aWNpbmMuY29tPgorLS0tCisgZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJm YWNlLmMgfCA2ICsrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2Uu YyBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jCitpbmRleCBhMWI2YTQwODFkZWEu Ljc2YTYyYzJlY2M1OCAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFj ZS5jCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYworQEAgLTc2LDEyICs3 NiwxMiBAQCBzdGF0aWMgaW50IHBkcl9sb2NhdG9yX25ld19zZXJ2ZXIoc3RydWN0IHFtaV9oYW5k bGUgKnFtaSwKKyAJCQkJCSAgICAgIGxvY2F0b3JfaGRsKTsKKyAJc3RydWN0IHBkcl9zZXJ2aWNl ICpwZHM7CisgCisrCW11dGV4X2xvY2soJnBkci0+bG9jayk7CisgCS8qIENyZWF0ZSBhIGxvY2Fs IGNsaWVudCBwb3J0IGZvciBRTUkgY29tbXVuaWNhdGlvbiAqLworIAlwZHItPmxvY2F0b3JfYWRk ci5zcV9mYW1pbHkgPSBBRl9RSVBDUlRSOworIAlwZHItPmxvY2F0b3JfYWRkci5zcV9ub2RlID0g c3ZjLT5ub2RlOworIAlwZHItPmxvY2F0b3JfYWRkci5zcV9wb3J0ID0gc3ZjLT5wb3J0OworIAor LQltdXRleF9sb2NrKCZwZHItPmxvY2spOworIAlwZHItPmxvY2F0b3JfaW5pdF9jb21wbGV0ZSA9 IHRydWU7CisgCW11dGV4X3VubG9jaygmcGRyLT5sb2NrKTsKKyAKK0BAIC0xMDQsMTAgKzEwNCwx MCBAQCBzdGF0aWMgdm9pZCBwZHJfbG9jYXRvcl9kZWxfc2VydmVyKHN0cnVjdCBxbWlfaGFuZGxl ICpxbWksCisgCisgCW11dGV4X2xvY2soJnBkci0+bG9jayk7CisgCXBkci0+bG9jYXRvcl9pbml0 X2NvbXBsZXRlID0gZmFsc2U7CistCW11dGV4X3VubG9jaygmcGRyLT5sb2NrKTsKKyAKKyAJcGRy LT5sb2NhdG9yX2FkZHIuc3Ffbm9kZSA9IDA7CisgCXBkci0+bG9jYXRvcl9hZGRyLnNxX3BvcnQg PSAwOworKwltdXRleF91bmxvY2soJnBkci0+bG9jayk7CisgfQorIAorIHN0YXRpYyBjb25zdCBz dHJ1Y3QgcW1pX29wcyBwZHJfbG9jYXRvcl9vcHMgPSB7CitAQCAtMzY1LDEyICszNjUsMTQgQEAg c3RhdGljIGludCBwZHJfZ2V0X2RvbWFpbl9saXN0KHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5f bGlzdF9yZXEgKnJlcSwKKyAJaWYgKHJldCA8IDApCisgCQlyZXR1cm4gcmV0OworIAorKwltdXRl eF9sb2NrKCZwZHItPmxvY2spOworIAlyZXQgPSBxbWlfc2VuZF9yZXF1ZXN0KCZwZHItPmxvY2F0 b3JfaGRsLAorIAkJCSAgICAgICAmcGRyLT5sb2NhdG9yX2FkZHIsCisgCQkJICAgICAgICZ0eG4s IFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFUSwKKyAJCQkgICAgICAgU0VSVlJFR19HRVRfRE9N QUlOX0xJU1RfUkVRX01BWF9MRU4sCisgCQkJICAgICAgIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0 X3JlcV9laSwKKyAJCQkgICAgICAgcmVxKTsKKysJbXV0ZXhfdW5sb2NrKCZwZHItPmxvY2spOwor IAlpZiAocmV0IDwgMCkgeworIAkJcW1pX3R4bl9jYW5jZWwoJnR4bik7CisgCQlyZXR1cm4gcmV0 OworCitGcm9tOiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5vcmc+ CitEYXRlOiBTYXQsIDIyIEp1biAyMDI0IDAxOjAzOjQxICswMzAwCitTdWJqZWN0OiBbUEFUQ0gg djkgMi81XSBzb2M6IHFjb206IHBkcjogZml4IHBhcnNpbmcgb2YgZG9tYWlucyBsaXN0cworCitX aGlsZSBwYXJzaW5nIHRoZSBkb21haW5zIGxpc3QsIHN0YXJ0IG9mZnNldHMgZnJvbSAwIHJhdGhl ciB0aGFuIGZyb20KK2RvbWFpbnNfcmVhZC4gVGhlIGRvbWFpbnNfcmVhZCBpcyBlcXVhbCB0byB0 aGUgdG90YWwgY291bnQgb2YgdGhlCitkb21haW5zIHdlIGhhdmUgc2Vlbiwgd2hpbGUgdGhlIGRv bWFpbnMgbGlzdCBpbiB0aGUgbWVzc2FnZSBzdGFydHMgZnJvbQorb2Zmc2V0IDAuCisKK0ZpeGVz OiBmYmU2MzliNDRhODIgKCJzb2M6IHFjb206IEludHJvZHVjZSBQcm90ZWN0aW9uIERvbWFpbiBS ZXN0YXJ0IGhlbHBlcnMiKQorVGVzdGVkLWJ5OiBTdGVldiBLbGltYXN6ZXdza2kgPHN0ZWV2QGth bGkub3JnPgorVGVzdGVkLWJ5OiBBbGV4ZXkgTWlubmVraGFub3YgPGFsZXhleW1pbkBwb3N0bWFy a2V0b3Mub3JnPgorUmV2aWV3ZWQtYnk6IENocmlzIExldyA8cXVpY19jbGV3QHF1aWNpbmMuY29t PgorVGVzdGVkLWJ5OiBOZWlsIEFybXN0cm9uZyA8bmVpbC5hcm1zdHJvbmdAbGluYXJvLm9yZz4g IyBvbiBTTTg1NTAtUVJECitTaWduZWQtb2ZmLWJ5OiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnku YmFyeXNoa292QGxpbmFyby5vcmc+CistLS0KKyBkcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZh Y2UuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKKworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jIGIvZHJp dmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKK2luZGV4IDc2YTYyYzJlY2M1OC4uMjE2MTY2 ZTk4ZmFlIDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKKysr KyBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jCitAQCAtNDE3LDcgKzQxNyw3IEBA IHN0YXRpYyBpbnQgcGRyX2xvY2F0ZV9zZXJ2aWNlKHN0cnVjdCBwZHJfaGFuZGxlICpwZHIsIHN0 cnVjdCBwZHJfc2VydmljZSAqcGRzKQorIAkJaWYgKHJldCA8IDApCisgCQkJZ290byBvdXQ7Cisg CistCQlmb3IgKGkgPSBkb21haW5zX3JlYWQ7IGkgPCByZXNwLT5kb21haW5fbGlzdF9sZW47IGkr KykgeworKwkJZm9yIChpID0gMDsgaSA8IHJlc3AtPmRvbWFpbl9saXN0X2xlbjsgaSsrKSB7Cisg CQkJZW50cnkgPSAmcmVzcC0+ZG9tYWluX2xpc3RbaV07CisgCisgCQkJaWYgKHN0cm5sZW4oZW50 cnktPm5hbWUsIHNpemVvZihlbnRyeS0+bmFtZSkpID09IHNpemVvZihlbnRyeS0+bmFtZSkpCisK K0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KK0Rh dGU6IFNhdCwgMjIgSnVuIDIwMjQgMDE6MDM6NDIgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCB2OSAz LzVdIHNvYzogcWNvbTogcGRyOiBleHRyYWN0IFBEUiBtZXNzYWdlIG1hcnNoYWxsaW5nCisgZGF0 YQorCitUaGUgaW4ta2VybmVsIFBEIG1hcHBlciBpcyBnb2luZyB0byB1c2Ugc2FtZSBtZXNzYWdl IHN0cnVjdHVyZXMgYXMgdGhlCitRQ09NX1BEUl9IRUxQRVJTIG1vZHVsZS4gRXh0cmFjdCBtZXNz YWdlIG1hcnNoYWxsaW5nIGRhdGEgdG8gc2VwYXJhdGUKK21vZHVsZSB0aGF0IGNhbiBiZSB1c2Vk IGJ5IGJvdGggUERSIGhlbHBlcnMgYW5kIGJ5IFBEIG1hcHBlci4KKworUmV2aWV3ZWQtYnk6IEJy eWFuIE8nRG9ub2dodWUgPGJyeWFuLm9kb25vZ2h1ZUBsaW5hcm8ub3JnPgorVGVzdGVkLWJ5OiBT dGVldiBLbGltYXN6ZXdza2kgPHN0ZWV2QGthbGkub3JnPgorVGVzdGVkLWJ5OiBBbGV4ZXkgTWlu bmVraGFub3YgPGFsZXhleW1pbkBwb3N0bWFya2V0b3Mub3JnPgorVGVzdGVkLWJ5OiBOZWlsIEFy bXN0cm9uZyA8bmVpbC5hcm1zdHJvbmdAbGluYXJvLm9yZz4gIyBvbiBTTTg1NTAtUVJECitTaWdu ZWQtb2ZmLWJ5OiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5vcmc+ CistLS0KKyBkcml2ZXJzL3NvYy9xY29tL0tjb25maWcgICAgICAgIHwgICA0ICsKKyBkcml2ZXJz L3NvYy9xY29tL01ha2VmaWxlICAgICAgIHwgICAxICsKKyBkcml2ZXJzL3NvYy9xY29tL3Bkcl9p bnRlcm5hbC5oIHwgMzA2ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg ZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYyB8IDMxOSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCAzMzQgaW5zZXJ0aW9ucygr KSwgMjk2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9LY29u ZmlnIGIvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCitpbmRleCA1YWYzM2IwZTM0NzAuLjk1OTcz YzZiODI4ZiAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vS2NvbmZpZworKysrIGIvZHJp dmVycy9zb2MvcWNvbS9LY29uZmlnCitAQCAtNzUsOCArNzUsMTIgQEAgY29uZmlnIFFDT01fT0NN RU0KKyBjb25maWcgUUNPTV9QRFJfSEVMUEVSUworIAl0cmlzdGF0ZQorIAlzZWxlY3QgUUNPTV9R TUlfSEVMUEVSUworKwlzZWxlY3QgUUNPTV9QRFJfTVNHCisgCWRlcGVuZHMgb24gTkVUCisgCisr Y29uZmlnIFFDT01fUERSX01TRworKwl0cmlzdGF0ZQorKworIGNvbmZpZyBRQ09NX1BNSUNfUERD SEFSR0VSX1VMT0cKKyAJdHJpc3RhdGUgIlF1YWxjb21tIFBNSUMgUERDaGFyZ2VyIFVMT0cgZHJp dmVyIgorIAlkZXBlbmRzIG9uIFJQTVNHCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9N YWtlZmlsZSBiL2RyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUKK2luZGV4IGNhMGJlY2UwZGZmZi4u MzExMGFjMzI4OGJjIDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQorKysr IGIvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQorQEAgLTgsNiArOCw3IEBAIG9iai0kKENPTkZJ R19RQ09NX0dTQkkpCSs9CXFjb21fZ3NiaS5vCisgb2JqLSQoQ09ORklHX1FDT01fTURUX0xPQURF UikJKz0gbWR0X2xvYWRlci5vCisgb2JqLSQoQ09ORklHX1FDT01fT0NNRU0pCSs9IG9jbWVtLm8K KyBvYmotJChDT05GSUdfUUNPTV9QRFJfSEVMUEVSUykJKz0gcGRyX2ludGVyZmFjZS5vCisrb2Jq LSQoQ09ORklHX1FDT01fUERSX01TRykJKz0gcWNvbV9wZHJfbXNnLm8KKyBvYmotJChDT05GSUdf UUNPTV9QTUlDX0dMSU5LKQkrPSBwbWljX2dsaW5rLm8KKyBvYmotJChDT05GSUdfUUNPTV9QTUlD X0dMSU5LKQkrPSBwbWljX2dsaW5rX2FsdG1vZGUubworIG9iai0kKENPTkZJR19RQ09NX1BNSUNf UERDSEFSR0VSX1VMT0cpCSs9IHBtaWNfcGRjaGFyZ2VyX3Vsb2cubworZGlmZiAtLWdpdCBhL2Ry aXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmggYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRl cm5hbC5oCitpbmRleCAwM2MyODJiN2YxN2UuLjdlNWJiNWE5NTI3NSAxMDA2NDQKKy0tLSBhL2Ry aXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vcGRy X2ludGVybmFsLmgKK0BAIC0yOCw4MyArMjgsMTIgQEAgc3RydWN0IHNlcnZyZWdfbG9jYXRpb25f ZW50cnkgeworIAl1MzIgaW5zdGFuY2U7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFt aV9lbGVtX2luZm8gc2VydnJlZ19sb2NhdGlvbl9lbnRyeV9laVtdID0geworLQl7CistCQkuZGF0 YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19O QU1FX0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCistCQku YXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMCwKKy0JCS5vZmZz ZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAorLQkJ CQkJICAgbmFtZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05F RF80X0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0g c2l6ZW9mKHUzMiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAg ICAgID0gMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xv Y2F0aW9uX2VudHJ5LAorLQkJCQkJICAgaW5zdGFuY2UpLAorLQl9LAorLQl7CistCQkuZGF0YV90 eXBlICAgICAgPSBRTUlfVU5TSUdORURfMV9CWVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwK Ky0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FS UkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNl dG9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAorLQkJCQkJICAgc2VydmljZV9kYXRh X3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRf QllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXpl b2YodTMyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAg PSAwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRp b25fZW50cnksCistCQkJCQkgICBzZXJ2aWNlX2RhdGEpLAorLQl9LAorLQl7fQorLX07CistCisg c3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSB7CisgCWNoYXIgc2VydmljZV9uYW1l W1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyAJdTggZG9tYWluX29mZnNldF92YWxpZDsKKyAJ dTMyIGRvbWFpbl9vZmZzZXQ7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVt X2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpW10gPSB7CistCXsKKy0JCS5kYXRh X3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05B TUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5h cnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAxLAorLQkJLm9m ZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jl cSwKKy0JCQkJCSAgIHNlcnZpY2VfbmFtZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAg ICA9IFFNSV9PUFRfRkxBRywKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXpl ICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZf dHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qg c2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorLQkJCQkJICAgZG9tYWluX29mZnNldF92YWxp ZCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF80X0JZVEUs CistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUz MiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgx MCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21h aW5fbGlzdF9yZXEsCistCQkJCQkgICBkb21haW5fb2Zmc2V0KSwKKy0JfSwKKy0Je30KKy19Owor LQorIHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwIHsKKyAJc3RydWN0IHFtaV9y ZXNwb25zZV90eXBlX3YwMSByZXNwOworIAl1OCB0b3RhbF9kb21haW5zX3ZhbGlkOworQEAgLTEx NiwyNjQgKzQ1LDQ5IEBAIHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwIHsKKyAJ c3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnkgZG9tYWluX2xpc3RbU0VSVlJFR19ET01BSU5f TElTVF9MRU5HVEhdOworIH07CisgCistc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZv IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlw ZSAgICAgID0gUU1JX1NUUlVDVCwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9z aXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSksCistCQkuYXJy YXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5vZmZz ZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNw LAorLQkJCQkJICAgcmVzcCksCistCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBl X3YwMV9laSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAor LQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCks CistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMCwK Ky0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5f bGlzdF9yZXNwLAorLQkJCQkJICAgdG90YWxfZG9tYWluc192YWxpZCksCistCX0sCistCXsKKy0J CS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCistCQkuZWxlbV9sZW4gICAg ICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCistCQkuYXJyYXlfdHlw ZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKy0JCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJ CQkJICAgdG90YWxfZG9tYWlucyksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFN SV9PUFRfRkxBRywKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAg PSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAg ICAgICA9IDB4MTEsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJl Z19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKy0JCQkJCSAgIGRiX3Jldl9jb3VudF92YWxpZCksCist CX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCistCQku ZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCist CQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMSwKKy0J CS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlz dF9yZXNwLAorLQkJCQkJICAgZGJfcmV2X2NvdW50KSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlw ZSAgICAgID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVt X3NpemUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJ LnRsdl90eXBlICAgICAgID0gMHgxMiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0 cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJCQkJICAgZG9tYWluX2xpc3Rf dmFsaWQpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfREFUQV9MRU4sCist CQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwK Ky0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEyLAor LQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9s aXN0X3Jlc3AsCistCQkJCQkgICBkb21haW5fbGlzdF9sZW4pLAorLQl9LAorLQl7CistCQkuZGF0 YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19E T01BSU5fTElTVF9MRU5HVEgsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHNl cnZyZWdfbG9jYXRpb25fZW50cnkpLAorLQkJLmFycmF5X3R5cGUJPSBWQVJfTEVOX0FSUkFZLAor LQkJLnRsdl90eXBlICAgICAgID0gMHgxMiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9m KHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJCQkJICAgZG9tYWluX2xp c3QpLAorLQkJLmVpX2FycmF5ICAgICAgPSBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpLAorLQl9 LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxIHsK KyAJdTggZW5hYmxlOworIAljaGFyIHNlcnZpY2VfcGF0aFtTRVJWUkVHX05BTUVfTEVOR1RIICsg MV07CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19y ZWdpc3Rlcl9saXN0ZW5lcl9yZXFfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0g UU1JX1VOU0lHTkVEXzFfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9z aXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50 bHZfdHlwZSAgICAgICA9IDB4MDEsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1 Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEsCistCQkJCQkgICBlbmFibGUpLAorLQl9 LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVuICAg ICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXpl b2YoY2hhciksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAg ID0gMHgwMiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3Jl Z2lzdGVyX2xpc3RlbmVyX3JlcSwKKy0JCQkJCSAgIHNlcnZpY2VfcGF0aCksCistCX0sCistCXt9 CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwIHsKKyAJc3Ry dWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOworIAl1OCBjdXJyX3N0YXRlX3ZhbGlkOwor IAllbnVtIHNlcnZyZWdfc2VydmljZV9zdGF0ZSBjdXJyX3N0YXRlOworIH07CisgCistc3RhdGlj IGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVz cF9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorLQkJLmVs ZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3QgcW1p X3Jlc3BvbnNlX3R5cGVfdjAxKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2 X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0 IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcCwKKy0JCQkJCSAgIHJlc3ApLAorLQkJLmVp X2FycmF5ICAgICAgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCistCX0sCistCXsKKy0JCS5k YXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCist CQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorLQkJCQkJICAgY3Vy cl9zdGF0ZV92YWxpZCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TSUdO RURfNF9CWVRFX0VOVU0sCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAg ICAgID0gc2l6ZW9mKGVudW0gc2VydnJlZ19zZXJ2aWNlX3N0YXRlKSwKKy0JCS5hcnJheV90eXBl CT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNldCAgICAg ICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcCwKKy0J CQkJCSAgIGN1cnJfc3RhdGUpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdf cmVzdGFydF9wZF9yZXEgeworIAljaGFyIHNlcnZpY2VfcGF0aFtTRVJWUkVHX05BTUVfTEVOR1RI ICsgMV07CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJl Z19yZXN0YXJ0X3BkX3JlcV9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlf U1RSSU5HLAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCist CQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FS UkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9m ZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxLAorLQkJCQkJICAgc2VydmljZV9w YXRoKSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0cnVjdCBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVz cCB7CisgCXN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEgcmVzcDsKKyB9OworIAorLXN0YXRp YyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVzcF9laVtd ID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorLQkJLmVsZW1fbGVu ICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3QgcW1pX3Jlc3Bv bnNlX3R5cGVfdjAxKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUg ICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZy ZWdfcmVzdGFydF9wZF9yZXNwLAorLQkJCQkJICAgcmVzcCksCistCQkuZWlfYXJyYXkgICAgICA9 IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0cnVjdCBz ZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kIHsKKyAJZW51bSBzZXJ2cmVnX3NlcnZpY2Vfc3RhdGUg Y3Vycl9zdGF0ZTsKKyAJY2hhciBzZXJ2aWNlX3BhdGhbU0VSVlJFR19OQU1FX0xFTkdUSCArIDFd OworIAl1MTYgdHJhbnNhY3Rpb25faWQ7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFt aV9lbGVtX2luZm8gc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9laVtdID0geworLQl7CistCQku ZGF0YV90eXBlICAgICAgPSBRTUlfU0lHTkVEXzRfQllURV9FTlVNLAorLQkJLmVsZW1fbGVuICAg ICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorLQkJLmFycmF5X3R5 cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCistCQkub2Zmc2V0ICAg ICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwKKy0JCQkJ CSAgIGN1cnJfc3RhdGUpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RS SU5HLAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCistCQku ZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZ LAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNl dG9mKHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorLQkJCQkJICAgc2VydmljZV9w YXRoKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllU RSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yo dTE2KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAw eDAzLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc3RhdGVf dXBkYXRlZF9pbmQsCistCQkJCQkgICB0cmFuc2FjdGlvbl9pZCksCistCX0sCistCXt9CistfTsK Ky0KKyBzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSB7CisgCWNoYXIgc2VydmljZV9wYXRoW1NF UlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyAJdTE2IHRyYW5zYWN0aW9uX2lkOworIH07CisgCist c3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXFfZWlb XSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKy0JCS5lbGVtX2xl biAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0g c2l6ZW9mKGNoYXIpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAg ICAgICA9IDB4MDEsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJl Z19zZXRfYWNrX3JlcSwKKy0JCQkJCSAgIHNlcnZpY2VfcGF0aCksCistCX0sCistCXsKKy0JCS5k YXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAg PSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCistCQkuYXJyYXlfdHlwZQk9 IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5vZmZzZXQgICAgICAg ICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVxLAorLQkJCQkJICAgdHJhbnNh Y3Rpb25faWQpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfc2V0X2Fja19y ZXNwIHsKKyAJc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOworIH07CisgCistc3Rh dGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpW10g PSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4g ICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9u c2VfdHlwZV92MDEpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAg ICAgICA9IDB4MDIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJl Z19zZXRfYWNrX3Jlc3AsCistCQkJCQkgICByZXNwKSwKKy0JCS5laV9hcnJheSAgICAgICA9IHFt aV9yZXNwb25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0Je30KKy19OworK2V4dGVybiBjb25zdCBz dHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpW107CisrZXh0ZXJu IGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcV9l aVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2dldF9kb21h aW5fbGlzdF9yZXNwX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNl cnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBx bWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcF9laVtdOworK2V4dGVy biBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxX2VpW107 CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9y ZXNwX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc3Rh dGVfdXBkYXRlZF9pbmRfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8g c2VydnJlZ19zZXRfYWNrX3JlcV9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1f aW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVzcF9laVtdOworIAorICNlbmRpZgorZGlmZiAtLWdpdCBh L2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMgYi9kcml2ZXJzL3NvYy9xY29tL3Fjb21f cGRyX21zZy5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAwLi45YjQ2 ZjQyYWExNDYKKy0tLSAvZGV2L251bGwKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJf bXNnLmMKK0BAIC0wLDAgKzEsMzE5IEBACisrLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAKKysvKgorKyAqIENvcHlyaWdodCAoQykgMjAyMCBUaGUgTGludXggRm91bmRhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC4KKysgKi8KKysKKysjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+ CisrI2luY2x1ZGUgPGxpbnV4L3NvYy9xY29tL3FtaS5oPgorKworKyNpbmNsdWRlICJwZHJfaW50 ZXJuYWwuaCIKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xvY2F0aW9u X2VudHJ5X2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisr CQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3Np emUgICAgICA9IHNpemVvZihjaGFyKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQku dGx2X3R5cGUgICAgICAgPSAwLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0 IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCisrCQkJCQkgICBuYW1lKSwKKysJfSwKKysJeworKwkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwKKysJCS5lbGVtX2xlbiAgICAg ICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMyKSwKKysJCS5hcnJheV90eXBl CT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAwLAorKwkJLm9mZnNldCAgICAgICAg ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCisrCQkJCQkgICBpbnN0 YW5jZSksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8xX0JZ VEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9m KHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAw LAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25f ZW50cnksCisrCQkJCQkgICBzZXJ2aWNlX2RhdGFfdmFsaWQpLAorKwl9LAorKwl7CisrCQkuZGF0 YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0g MSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5cGUJPSBO T19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBv ZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJCQkJCSAgIHNlcnZpY2Vf ZGF0YSksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX2xvY2F0 aW9uX2VudHJ5X2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2dl dF9kb21haW5fbGlzdF9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1J X1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAor KwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19B UlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBv ZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorKwkJCQkJICAgc2Vy dmljZV9uYW1lKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFH LAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1 OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgx MCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21h aW5fbGlzdF9yZXEsCisrCQkJCQkgICBkb21haW5fb2Zmc2V0X3ZhbGlkKSwKKysJfSwKKysJewor KwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwKKysJCS5lbGVtX2xlbiAg ICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMyKSwKKysJCS5hcnJheV90 eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorKwkJLm9mZnNldCAg ICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSwKKysJ CQkJCSAgIGRvbWFpbl9vZmZzZXQpLAorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9H UEwoc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1p X2VsZW1faW5mbyBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwX2VpW10gPSB7CisrCXsKKysJ CS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAor KwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEp LAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDIs CisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWlu X2xpc3RfcmVzcCwKKysJCQkJCSAgIHJlc3ApLAorKwkJLmVpX2FycmF5ICAgICAgPSBxbWlfcmVz cG9uc2VfdHlwZV92MDFfZWksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9P UFRfRkxBRywKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAg ICA9IDB4MTAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19n ZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIHRvdGFsX2RvbWFpbnNfdmFsaWQpLAorKwl9 LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9CWVRFLAorKwkJLmVs ZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MTYpLAorKwkJ LmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQku b2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3Rf cmVzcCwKKysJCQkJCSAgIHRvdGFsX2RvbWFpbnMpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBl ICAgICAgPSBRTUlfT1BUX0ZMQUcsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1f c2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQku dGx2X3R5cGUgICAgICAgPSAweDExLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3Ry dWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCisrCQkJCQkgICBkYl9yZXZfY291bnRf dmFsaWQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9C WVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVv Zih1MTYpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9 IDB4MTEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRf ZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIGRiX3Jldl9jb3VudCksCisrCX0sCisrCXsKKysJ CS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKysJCS5lbGVtX2xlbiAgICAgICA9IDEs CisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19B UlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBv ZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIGRv bWFpbl9saXN0X3ZhbGlkKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX0RB VEFfTEVOLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNp emVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAg ID0gMHgxMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dl dF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZG9tYWluX2xpc3RfbGVuKSwKKysJfSwKKysJ eworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAgICA9 IFNFUlZSRUdfRE9NQUlOX0xJU1RfTEVOR1RILAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9m KHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5KSwKKysJCS5hcnJheV90eXBlCT0gVkFSX0xF Tl9BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCisrCQkub2Zmc2V0ICAgICAgICAg PSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAg IGRvbWFpbl9saXN0KSwKKysJCS5laV9hcnJheSAgICAgID0gc2VydnJlZ19sb2NhdGlvbl9lbnRy eV9laSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfZ2V0X2Rv bWFpbl9saXN0X3Jlc3BfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZy ZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAg ICA9IFFNSV9VTlNJR05FRF8xX0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVs ZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisr CQkudGx2X3R5cGUgICAgICAgPSAweDAxLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yo c3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxLAorKwkJCQkJICAgZW5hYmxlKSwK KysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xl biAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0g c2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAg ICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJl Z19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEsCisrCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9LAor Kwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9y ZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVnaXN0ZXJf bGlzdGVuZXJfcmVzcF9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RS VUNULAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVv ZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJS QVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zm c2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcCwKKysJCQkJCSAgIHJl c3ApLAorKwkJLmVpX2FycmF5ICAgICAgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCisrCX0s CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKysJCS5lbGVtX2xlbiAg ICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5 cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAg ICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAor KwkJCQkJICAgY3Vycl9zdGF0ZV92YWxpZCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAg ICA9IFFNSV9TSUdORURfNF9CWVRFX0VOVU0sCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJ LmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGVudW0gc2VydnJlZ19zZXJ2aWNlX3N0YXRlKSwKKysJ CS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorKwkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVu ZXJfcmVzcCwKKysJCQkJCSAgIGN1cnJfc3RhdGUpLAorKwl9LAorKwl7fQorK307CisrRVhQT1JU X1NZTUJPTF9HUEwoc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwX2VpKTsKKysKKytjb25z dCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxX2VpW10gPSB7Cisr CXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisrCQkuZWxlbV9sZW4gICAgICAg PSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihj aGFyKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAw eDAxLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVzdGFy dF9wZF9yZXEsCisrCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9LAorKwl7fQorK307CisrRVhQ T1JUX1NZTUJPTF9HUEwoc2VydnJlZ19yZXN0YXJ0X3BkX3JlcV9laSk7CisrCisrY29uc3Qgc3Ry dWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3BfZWlbXSA9IHsKKysJewor KwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEs CisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3Yw MSksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgw MiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3Jlc3RhcnRf cGRfcmVzcCwKKysJCQkJCSAgIHJlc3ApLAorKwkJLmVpX2FycmF5ICAgICAgPSBxbWlfcmVzcG9u c2VfdHlwZV92MDFfZWksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2 cmVnX3Jlc3RhcnRfcGRfcmVzcF9laSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8g c2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlICAg ICAgPSBRTUlfU0lHTkVEXzRfQllURV9FTlVNLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJ CS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwKKysJCQkJCSAgIGN1cnJfc3Rh dGUpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorKwkJLmVs ZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9zaXplICAg ICAgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90 eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBz ZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorKwkJCQkJICAgc2VydmljZV9wYXRoKSwKKysJfSwK KysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKysJCS5lbGVt X2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKysJCS5h cnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAzLAorKwkJLm9m ZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmQs CisrCQkJCQkgICB0cmFuc2FjdGlvbl9pZCksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lN Qk9MX0dQTChzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2VpKTsKKysKKytjb25zdCBzdHJ1Y3Qg cW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVxX2VpW10gPSB7CisrCXsKKysJCS5kYXRh X3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisrCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05B TUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKysJCS5h cnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAxLAorKwkJLm9m ZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc2V0X2Fja19yZXEsCisrCQkJ CQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlf VU5TSUdORURfMl9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUg ICAgICA9IHNpemVvZih1MTYpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZf dHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qg c2VydnJlZ19zZXRfYWNrX3JlcSwKKysJCQkJCSAgIHRyYW5zYWN0aW9uX2lkKSwKKysJfSwKKysJ e30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfc2V0X2Fja19yZXFfZWkpOworKwor K2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpW10gPSB7 CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCisrCQkuZWxlbV9sZW4gICAg ICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9uc2Vf dHlwZV92MDEpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAg ICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19z ZXRfYWNrX3Jlc3AsCisrCQkJCQkgICByZXNwKSwKKysJCS5laV9hcnJheSAgICAgICA9IHFtaV9y ZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BM KHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpKTsKKysKKytNT0RVTEVfTElDRU5TRSgiR1BMIik7Cisr TU9EVUxFX0RFU0NSSVBUSU9OKCJRdWFsY29tbSBQcm90ZWN0aW9uIERvbWFpbiBtZXNzYWdlcyBk YXRhIik7CisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJv Lm9yZz4KK0RhdGU6IFNhdCwgMjIgSnVuIDIwMjQgMDE6MDM6NDMgKzAzMDAKK1N1YmplY3Q6IFtQ QVRDSCB2OSA0LzVdIHNvYzogcWNvbTogYWRkIHBkLW1hcHBlciBpbXBsZW1lbnRhdGlvbgorCitF eGlzdGluZyB1c2Vyc3BhY2UgcHJvdGVjdGlvbiBkb21haW4gbWFwcGVyIGltcGxlbWVudGF0aW9u IGhhcyBzZXZlcmFsCitpc3N1ZS4gSXQgZG9lc24ndCBwbGF5IHdlbGwgd2l0aCBDT05GSUdfRVhU UkFfRklSTVdBUkUsIGl0IGRvZXNuJ3QKK3JlcmVhZCBKU09OIGZpbGVzIGlmIGZpcm13YXJlIGxv Y2F0aW9uIGlzIGNoYW5nZWQgKG9yIGlmIGZpcm13YXJlIHdhcworbm90IGF2YWlsYWJsZSBhdCB0 aGUgdGltZSBwZC1tYXBwZXIgd2FzIHN0YXJ0ZWQgYnV0IHRoZSBjb3JyZXNwb25kaW5nCitkaXJl Y3RvcnkgaXMgbW91bnRlZCBsYXRlciksIGV0Yy4KKworUHJvdmlkZSBpbi1rZXJuZWwgc2Vydmlj ZSBpbXBsZW1lbnRpbmcgcHJvdGVjdGlvbiBkb21haW4gbWFwcGluZworcmVxdWlyZWQgdG8gd29y ayB3aXRoIHNldmVyYWwgc2VydmljZXMsIHdoaWNoIGFyZSBwcm92aWRlZCBieSB0aGUgRFNQCitm aXJtd2FyZS4KKworVGhpcyBtb2R1bGUgaXMgbG9hZGVkIGF1dG9tYXRpY2FsbHkgYnkgdGhlIHJl bW90ZXByb2MgZHJpdmVycyB3aGVuCituZWNlc3NhcnkgdmlhIHRoZSBzeW1ib2wgZGVwZW5kZW5j eS4gSXQgdXNlcyBhIHJvb3Qgbm9kZSB0byBtYXRjaCBhCitwcm90ZWN0aW9uIGRvbWFpbnMgbWFw IGZvciBhIHBhcnRpY3VsYXIgYm9hcmQuIEl0IGlzIG5vdCBwb3NzaWJsZSB0bworaW1wbGVtZW50 IGl0IGFzIGEgJ2RyaXZlcicgYXMgdGhlcmUgaXMgbm8gY29ycmVzcG9uZGluZyBkZXZpY2UuCisK K1Rlc3RlZC1ieTogU3RlZXYgS2xpbWFzemV3c2tpIDxzdGVldkBrYWxpLm9yZz4KK1Rlc3RlZC1i eTogQWxleGV5IE1pbm5la2hhbm92IDxhbGV4ZXltaW5AcG9zdG1hcmtldG9zLm9yZz4KK1Jldmll d2VkLWJ5OiBDaHJpcyBMZXcgPHF1aWNfY2xld0BxdWljaW5jLmNvbT4KK1Rlc3RlZC1ieTogTmVp bCBBcm1zdHJvbmcgPG5laWwuYXJtc3Ryb25nQGxpbmFyby5vcmc+ICMgb24gU004NTUwLVFSRAor U2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8u b3JnPgorLS0tCisgZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnICAgICAgICAgIHwgIDExICsKKyBk cml2ZXJzL3NvYy9xY29tL01ha2VmaWxlICAgICAgICAgfCAgIDEgKworIGRyaXZlcnMvc29jL3Fj b20vcGRyX2ludGVybmFsLmggICB8ICAxNCArCisgZHJpdmVycy9zb2MvcWNvbS9xY29tX3BkX21h cHBlci5jIHwgNjc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZHJp dmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYyAgIHwgIDM0ICsrCisgNSBmaWxlcyBjaGFuZ2Vk LCA3MzYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9LY29u ZmlnIGIvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCitpbmRleCA5NTk3M2M2YjgyOGYuLjBhMmYy YmZkNzg2MyAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vS2NvbmZpZworKysrIGIvZHJp dmVycy9zb2MvcWNvbS9LY29uZmlnCitAQCAtNzIsNiArNzIsMTcgQEAgY29uZmlnIFFDT01fT0NN RU0KKyAJICByZXF1aXJlbWVudHMuIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWQgYnkgdGhlIEdQVSwg Y2FtZXJhL3ZpZGVvLCBhbmQKKyAJICBhdWRpbyBjb21wb25lbnRzIG9uIHNvbWUgU25hcGRyYWdv biBTb0NzLgorIAorK2NvbmZpZyBRQ09NX1BEX01BUFBFUgorKwl0cmlzdGF0ZSAiUXVhbGNvbW0g UHJvdGVjdGlvbiBEb21haW4gTWFwcGVyIgorKwlzZWxlY3QgUUNPTV9RTUlfSEVMUEVSUworKwlk ZXBlbmRzIG9uIE5FVCAmJiBRUlRSCisrCWRlZmF1bHQgUUNPTV9SUFJPQ19DT01NT04KKysJaGVs cAorKwkgIFRoZSBQcm90ZWN0aW9uIERvbWFpbiBNYXBwZXIgbWFwcyByZWdpc3RlcmVkIHNlcnZp Y2VzIHRvIHRoZSBkb21haW5zCisrCSAgYW5kIGluc3RhbmNlcyBoYW5kbGVkIGJ5IHRoZSByZW1v dGUgRFNQcy4gVGhpcyBpcyBhIGtlcm5lbC1zcGFjZQorKwkgIGltcGxlbWVudGF0aW9uIG9mIHRo ZSBzZXJ2aWNlLiBJdCBpcyBhIHNpbXBsZXIgYWx0ZXJuYXRpdmUgdG8gdGhlCisrCSAgdXNlcnNw YWNlIGRhZW1vbi4KKysKKyBjb25maWcgUUNPTV9QRFJfSEVMUEVSUworIAl0cmlzdGF0ZQorIAlz ZWxlY3QgUUNPTV9RTUlfSEVMUEVSUworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vTWFr ZWZpbGUgYi9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlCitpbmRleCAzMTEwYWMzMjg4YmMuLmQz NTYwZjg2MTA4NSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUKKysrKyBi L2RyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUKK0BAIC03LDYgKzcsNyBAQCBvYmotJChDT05GSUdf UUNPTV9DT01NQU5EX0RCKSArPSBjbWQtZGIubworIG9iai0kKENPTkZJR19RQ09NX0dTQkkpCSs9 CXFjb21fZ3NiaS5vCisgb2JqLSQoQ09ORklHX1FDT01fTURUX0xPQURFUikJKz0gbWR0X2xvYWRl ci5vCisgb2JqLSQoQ09ORklHX1FDT01fT0NNRU0pCSs9IG9jbWVtLm8KKytvYmotJChDT05GSUdf UUNPTV9QRF9NQVBQRVIpCSs9IHFjb21fcGRfbWFwcGVyLm8KKyBvYmotJChDT05GSUdfUUNPTV9Q RFJfSEVMUEVSUykJKz0gcGRyX2ludGVyZmFjZS5vCisgb2JqLSQoQ09ORklHX1FDT01fUERSX01T RykJKz0gcWNvbV9wZHJfbXNnLm8KKyBvYmotJChDT05GSUdfUUNPTV9QTUlDX0dMSU5LKQkrPSBw bWljX2dsaW5rLm8KK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5o IGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaAoraW5kZXggN2U1YmI1YTk1Mjc1Li44 ZDE3ZjdmYjc5ZTcgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5o CisrKysgYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5oCitAQCAtMTMsNiArMTMsOCBA QAorICNkZWZpbmUgU0VSVlJFR19TRVRfQUNLX1JFUQkJCQkweDIzCisgI2RlZmluZSBTRVJWUkVH X1JFU1RBUlRfUERfUkVRCQkJCTB4MjQKKyAKKysjZGVmaW5lIFNFUlZSRUdfTE9DX1BGUl9SRVEJ CQkJMHgyNAorKworICNkZWZpbmUgU0VSVlJFR19ET01BSU5fTElTVF9MRU5HVEgJCQkzMgorICNk ZWZpbmUgU0VSVlJFR19SRVNUQVJUX1BEX1JFUV9NQVhfTEVOCQkJNjcKKyAjZGVmaW5lIFNFUlZS RUdfUkVHSVNURVJfTElTVEVORVJfUkVRX0xFTgkJNzEKK0BAIC0yMCw2ICsyMiw3IEBACisgI2Rl ZmluZSBTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVFfTUFYX0xFTgkJNzQKKyAjZGVmaW5lIFNF UlZSRUdfU1RBVEVfVVBEQVRFRF9JTkRfTUFYX0xFTgkJNzkKKyAjZGVmaW5lIFNFUlZSRUdfR0VU X0RPTUFJTl9MSVNUX1JFU1BfTUFYX0xFTgkJMjM4OQorKyNkZWZpbmUgU0VSVlJFR19MT0NfUEZS X1JFU1BfTUFYX0xFTgkJCTEwCisgCisgc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnkgewor IAljaGFyIG5hbWVbU0VSVlJFR19OQU1FX0xFTkdUSCArIDFdOworQEAgLTc5LDYgKzgyLDE1IEBA IHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVzcCB7CisgCXN0cnVjdCBxbWlfcmVzcG9uc2VfdHlw ZV92MDEgcmVzcDsKKyB9OworIAorK3N0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVxIHsKKysJY2hh ciBzZXJ2aWNlW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKysJY2hhciByZWFzb25bMjU3XTsK Kyt9OworKworK3N0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVzcCB7CisrCXN0cnVjdCBxbWlfcmVz cG9uc2VfdHlwZV92MDEgcnNwOworK307CisrCisgZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxl bV9pbmZvIHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWlbXTsKKyBleHRlcm4gY29uc3Qgc3RydWN0 IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpW107CisgZXh0ZXJu IGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3Bf ZWlbXTsKK0BAIC04OSw1ICsxMDEsNyBAQCBleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2lu Zm8gc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3BfZWlbXTsKKyBleHRlcm4gY29uc3Qgc3RydWN0IHFt aV9lbGVtX2luZm8gc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9laVtdOworIGV4dGVybiBjb25z dCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVxX2VpW107CisgZXh0ZXJu IGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpW107Cisr ZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jX3Bmcl9yZXFfZWlb XTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZyX3Jl c3BfZWlbXTsKKyAKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Fjb21f cGRfbWFwcGVyLmMgYi9kcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRfbWFwcGVyLmMKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMDAuLmVjYjY0ZjA2NTI3ZgorLS0tIC9kZXYv bnVsbAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3BkX21hcHBlci5jCitAQCAtMCwwICsx LDY3NiBAQAorKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKysvKgor KyAqIFF1YWxjb21tIFByb3RlY3Rpb24gRG9tYWluIG1hcHBlcgorKyAqCisrICogQ29weXJpZ2h0 IChjKSAyMDIzIExpbmFybyBMdGQuCisrICovCisrCisrI2luY2x1ZGUgPGxpbnV4L2F1eGlsaWFy eV9idXMuaD4KKysjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisrI2luY2x1ZGUgPGxpbnV4L21v ZF9kZXZpY2V0YWJsZS5oPgorKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKysjaW5jbHVkZSA8 bGludXgvb2YuaD4KKysjaW5jbHVkZSA8bGludXgvcmVmY291bnQuaD4KKysjaW5jbHVkZSA8bGlu dXgvc29jL3Fjb20vcW1pLmg+CisrCisrI2luY2x1ZGUgInBkcl9pbnRlcm5hbC5oIgorKworKyNk ZWZpbmUgU0VSVlJFR19RTUlfVkVSU0lPTiAweDEwMQorKyNkZWZpbmUgU0VSVlJFR19RTUlfSU5T VEFOQ0UgMAorKworKyNkZWZpbmUgVE1TX1NFUlZSRUdfU0VSVklDRSAidG1zL3NlcnZyZWciCisr Cisrc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIHsKKysJY29uc3QgY2hhciAqZG9tYWluOwor Kwl1MzIgaW5zdGFuY2VfaWQ7CisrCS8qIE5VTEwtdGVybWluYXRlZCBhcnJheSAqLworKwljb25z dCBjaGFyICogc2VydmljZXNbXTsKKyt9OworKworK3N0cnVjdCBxY29tX3BkbV9kb21haW4gewor KwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisrCWNvbnN0IGNoYXIgKm5hbWU7CisrCXUzMiBpbnN0 YW5jZV9pZDsKKyt9OworKworK3N0cnVjdCBxY29tX3BkbV9zZXJ2aWNlIHsKKysJc3RydWN0IGxp c3RfaGVhZCBsaXN0OworKwlzdHJ1Y3QgbGlzdF9oZWFkIGRvbWFpbnM7CisrCWNvbnN0IGNoYXIg Km5hbWU7CisrfTsKKysKKytzdHJ1Y3QgcWNvbV9wZG1fZGF0YSB7CisrCXJlZmNvdW50X3QgcmVm Y250OworKwlzdHJ1Y3QgcW1pX2hhbmRsZSBoYW5kbGU7CisrCXN0cnVjdCBsaXN0X2hlYWQgc2Vy dmljZXM7CisrfTsKKysKKytzdGF0aWMgREVGSU5FX01VVEVYKHFjb21fcGRtX211dGV4KTsgLyog cHJvdGVjdHMgX19xY29tX3BkbV9kYXRhICovCisrc3RhdGljIHN0cnVjdCBxY29tX3BkbV9kYXRh ICpfX3Fjb21fcGRtX2RhdGE7CisrCisrc3RhdGljIHN0cnVjdCBxY29tX3BkbV9zZXJ2aWNlICpx Y29tX3BkbV9maW5kKHN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhLAorKwkJCQkJICAgICAgY29u c3QgY2hhciAqbmFtZSkKKyt7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2aWNlICpzZXJ2aWNlOwor KworKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHNlcnZpY2UsICZkYXRhLT5zZXJ2aWNlcywgbGlzdCkg eworKwkJaWYgKCFzdHJjbXAoc2VydmljZS0+bmFtZSwgbmFtZSkpCisrCQkJcmV0dXJuIHNlcnZp Y2U7CisrCX0KKysKKysJcmV0dXJuIE5VTEw7CisrfQorKworK3N0YXRpYyBpbnQgcWNvbV9wZG1f YWRkX3NlcnZpY2VfZG9tYWluKHN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhLAorKwkJCQkgICAg ICAgY29uc3QgY2hhciAqc2VydmljZV9uYW1lLAorKwkJCQkgICAgICAgY29uc3QgY2hhciAqZG9t YWluX25hbWUsCisrCQkJCSAgICAgICB1MzIgaW5zdGFuY2VfaWQpCisreworKwlzdHJ1Y3QgcWNv bV9wZG1fc2VydmljZSAqc2VydmljZTsKKysJc3RydWN0IHFjb21fcGRtX2RvbWFpbiAqZG9tYWlu OworKworKwlzZXJ2aWNlID0gcWNvbV9wZG1fZmluZChkYXRhLCBzZXJ2aWNlX25hbWUpOworKwlp ZiAoc2VydmljZSkgeworKwkJbGlzdF9mb3JfZWFjaF9lbnRyeShkb21haW4sICZzZXJ2aWNlLT5k b21haW5zLCBsaXN0KSB7CisrCQkJaWYgKCFzdHJjbXAoZG9tYWluLT5uYW1lLCBkb21haW5fbmFt ZSkpCisrCQkJCXJldHVybiAtRUJVU1k7CisrCQl9CisrCX0gZWxzZSB7CisrCQlzZXJ2aWNlID0g a3phbGxvYyhzaXplb2YoKnNlcnZpY2UpLCBHRlBfS0VSTkVMKTsKKysJCWlmICghc2VydmljZSkK KysJCQlyZXR1cm4gLUVOT01FTTsKKysKKysJCUlOSVRfTElTVF9IRUFEKCZzZXJ2aWNlLT5kb21h aW5zKTsKKysJCXNlcnZpY2UtPm5hbWUgPSBzZXJ2aWNlX25hbWU7CisrCisrCQlsaXN0X2FkZF90 YWlsKCZzZXJ2aWNlLT5saXN0LCAmZGF0YS0+c2VydmljZXMpOworKwl9CisrCisrCWRvbWFpbiA9 IGt6YWxsb2Moc2l6ZW9mKCpkb21haW4pLCBHRlBfS0VSTkVMKTsKKysJaWYgKCFkb21haW4pIHsK KysJCWlmIChsaXN0X2VtcHR5KCZzZXJ2aWNlLT5kb21haW5zKSkgeworKwkJCWxpc3RfZGVsKCZz ZXJ2aWNlLT5saXN0KTsKKysJCQlrZnJlZShzZXJ2aWNlKTsKKysJCX0KKysKKysJCXJldHVybiAt RU5PTUVNOworKwl9CisrCisrCWRvbWFpbi0+bmFtZSA9IGRvbWFpbl9uYW1lOworKwlkb21haW4t Pmluc3RhbmNlX2lkID0gaW5zdGFuY2VfaWQ7CisrCWxpc3RfYWRkX3RhaWwoJmRvbWFpbi0+bGlz dCwgJnNlcnZpY2UtPmRvbWFpbnMpOworKworKwlyZXR1cm4gMDsKKyt9CisrCisrc3RhdGljIGlu dCBxY29tX3BkbV9hZGRfZG9tYWluKHN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhLAorKwkJCSAg ICAgICBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKmRvbWFpbikKKyt7CisrCWlu dCByZXQ7CisrCWludCBpOworKworKwlyZXQgPSBxY29tX3BkbV9hZGRfc2VydmljZV9kb21haW4o ZGF0YSwKKysJCQkJCSAgVE1TX1NFUlZSRUdfU0VSVklDRSwKKysJCQkJCSAgZG9tYWluLT5kb21h aW4sCisrCQkJCQkgIGRvbWFpbi0+aW5zdGFuY2VfaWQpOworKwlpZiAocmV0KQorKwkJcmV0dXJu IHJldDsKKysKKysJZm9yIChpID0gMDsgZG9tYWluLT5zZXJ2aWNlc1tpXTsgaSsrKSB7CisrCQly ZXQgPSBxY29tX3BkbV9hZGRfc2VydmljZV9kb21haW4oZGF0YSwKKysJCQkJCQkgIGRvbWFpbi0+ c2VydmljZXNbaV0sCisrCQkJCQkJICBkb21haW4tPmRvbWFpbiwKKysJCQkJCQkgIGRvbWFpbi0+ aW5zdGFuY2VfaWQpOworKwkJaWYgKHJldCkKKysJCQlyZXR1cm4gcmV0OworKwl9CisrCisrCXJl dHVybiAwOworKworK30KKysKKytzdGF0aWMgdm9pZCBxY29tX3BkbV9mcmVlX2RvbWFpbnMoc3Ry dWN0IHFjb21fcGRtX2RhdGEgKmRhdGEpCisreworKwlzdHJ1Y3QgcWNvbV9wZG1fc2VydmljZSAq c2VydmljZSwgKnRzZXJ2aWNlOworKwlzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluICpkb21haW4sICp0 ZG9tYWluOworKworKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoc2VydmljZSwgdHNlcnZpY2Us ICZkYXRhLT5zZXJ2aWNlcywgbGlzdCkgeworKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGRv bWFpbiwgdGRvbWFpbiwgJnNlcnZpY2UtPmRvbWFpbnMsIGxpc3QpIHsKKysJCQlsaXN0X2RlbCgm ZG9tYWluLT5saXN0KTsKKysJCQlrZnJlZShkb21haW4pOworKwkJfQorKworKwkJbGlzdF9kZWwo JnNlcnZpY2UtPmxpc3QpOworKwkJa2ZyZWUoc2VydmljZSk7CisrCX0KKyt9CisrCisrc3RhdGlj IHZvaWQgcWNvbV9wZG1fZ2V0X2RvbWFpbl9saXN0KHN0cnVjdCBxbWlfaGFuZGxlICpxbWksCisr CQkJCSAgICAgc3RydWN0IHNvY2thZGRyX3FydHIgKnNxLAorKwkJCQkgICAgIHN0cnVjdCBxbWlf dHhuICp0eG4sCisrCQkJCSAgICAgY29uc3Qgdm9pZCAqZGVjb2RlZCkKKyt7CisrCXN0cnVjdCBx Y29tX3BkbV9kYXRhICpkYXRhID0gY29udGFpbmVyX29mKHFtaSwgc3RydWN0IHFjb21fcGRtX2Rh dGEsIGhhbmRsZSk7CisrCWNvbnN0IHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXEg KnJlcSA9IGRlY29kZWQ7CisrCXN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwICpy c3A7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2aWNlICpzZXJ2aWNlOworKwl1MzIgb2Zmc2V0Owor KwlpbnQgcmV0OworKworKwlyc3AgPSBremFsbG9jKHNpemVvZigqcnNwKSwgR0ZQX0tFUk5FTCk7 CisrCWlmICghcnNwKQorKwkJcmV0dXJuOworKworKwlvZmZzZXQgPSByZXEtPmRvbWFpbl9vZmZz ZXRfdmFsaWQgPyByZXEtPmRvbWFpbl9vZmZzZXQgOiAwOworKworKwlyc3AtPnJlc3AucmVzdWx0 ID0gUU1JX1JFU1VMVF9TVUNDRVNTX1YwMTsKKysJcnNwLT5yZXNwLmVycm9yID0gUU1JX0VSUl9O T05FX1YwMTsKKysKKysJcnNwLT5kYl9yZXZfY291bnRfdmFsaWQgPSB0cnVlOworKwlyc3AtPmRi X3Jldl9jb3VudCA9IDE7CisrCisrCXJzcC0+dG90YWxfZG9tYWluc192YWxpZCA9IHRydWU7Cisr CXJzcC0+dG90YWxfZG9tYWlucyA9IDA7CisrCisrCW11dGV4X2xvY2soJnFjb21fcGRtX211dGV4 KTsKKysKKysJc2VydmljZSA9IHFjb21fcGRtX2ZpbmQoZGF0YSwgcmVxLT5zZXJ2aWNlX25hbWUp OworKwlpZiAoc2VydmljZSkgeworKwkJc3RydWN0IHFjb21fcGRtX2RvbWFpbiAqZG9tYWluOwor KworKwkJcnNwLT5kb21haW5fbGlzdF92YWxpZCA9IHRydWU7CisrCQlyc3AtPmRvbWFpbl9saXN0 X2xlbiA9IDA7CisrCisrCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGRvbWFpbiwgJnNlcnZpY2UtPmRv bWFpbnMsIGxpc3QpIHsKKysJCQl1MzIgaSA9IHJzcC0+dG90YWxfZG9tYWlucysrOworKworKwkJ CWlmIChpID49IG9mZnNldCAmJiBpIDwgU0VSVlJFR19ET01BSU5fTElTVF9MRU5HVEgpIHsKKysJ CQkJdTMyIGogPSByc3AtPmRvbWFpbl9saXN0X2xlbisrOworKworKwkJCQlzdHJzY3B5KHJzcC0+ ZG9tYWluX2xpc3Rbal0ubmFtZSwgZG9tYWluLT5uYW1lLAorKwkJCQkJc2l6ZW9mKHJzcC0+ZG9t YWluX2xpc3RbaV0ubmFtZSkpOworKwkJCQlyc3AtPmRvbWFpbl9saXN0W2pdLmluc3RhbmNlID0g ZG9tYWluLT5pbnN0YW5jZV9pZDsKKysKKysJCQkJcHJfZGVidWcoIlBETTogZm91bmQgJXMgLyAl ZFxuIiwgZG9tYWluLT5uYW1lLAorKwkJCQkJIGRvbWFpbi0+aW5zdGFuY2VfaWQpOworKwkJCX0K KysJCX0KKysJfQorKworKwlwcl9kZWJ1ZygiUERNOiBzZXJ2aWNlICclcycgb2Zmc2V0ICVkIHJl dHVybmluZyAlZCBkb21haW5zIChvZiAlZClcbiIsIHJlcS0+c2VydmljZV9uYW1lLAorKwkJIHJl cS0+ZG9tYWluX29mZnNldF92YWxpZCA/IHJlcS0+ZG9tYWluX29mZnNldCA6IC0xLCByc3AtPmRv bWFpbl9saXN0X2xlbiwgcnNwLT50b3RhbF9kb21haW5zKTsKKysKKysJcmV0ID0gcW1pX3NlbmRf cmVzcG9uc2UocW1pLCBzcSwgdHhuLCBTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVEsCisrCQkJ CVNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFU1BfTUFYX0xFTiwKKysJCQkJc2VydnJlZ19nZXRf ZG9tYWluX2xpc3RfcmVzcF9laSwgcnNwKTsKKysJaWYgKHJldCkKKysJCXByX2VycigiRXJyb3Ig c2VuZGluZyBzZXJ2cmVnIHJlc3BvbnNlOiAlZFxuIiwgcmV0KTsKKysKKysJbXV0ZXhfdW5sb2Nr KCZxY29tX3BkbV9tdXRleCk7CisrCisrCWtmcmVlKHJzcCk7CisrfQorKworK3N0YXRpYyB2b2lk IHFjb21fcGRtX3BmcihzdHJ1Y3QgcW1pX2hhbmRsZSAqcW1pLAorKwkJCSBzdHJ1Y3Qgc29ja2Fk ZHJfcXJ0ciAqc3EsCisrCQkJIHN0cnVjdCBxbWlfdHhuICp0eG4sCisrCQkJIGNvbnN0IHZvaWQg KmRlY29kZWQpCisreworKwljb25zdCBzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3JlcSAqcmVxID0g ZGVjb2RlZDsKKysJc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXNwIHJzcCA9IHt9OworKwlpbnQg cmV0OworKworKwlwcl93YXJuX3JhdGVsaW1pdGVkKCJQRE06IHNlcnZpY2UgJyVzJyBjcmFzaDog JyVzJ1xuIiwgcmVxLT5zZXJ2aWNlLCByZXEtPnJlYXNvbik7CisrCisrCXJzcC5yc3AucmVzdWx0 ID0gUU1JX1JFU1VMVF9TVUNDRVNTX1YwMTsKKysJcnNwLnJzcC5lcnJvciA9IFFNSV9FUlJfTk9O RV9WMDE7CisrCisrCXJldCA9IHFtaV9zZW5kX3Jlc3BvbnNlKHFtaSwgc3EsIHR4biwgU0VSVlJF R19MT0NfUEZSX1JFUSwKKysJCQkJU0VSVlJFR19MT0NfUEZSX1JFU1BfTUFYX0xFTiwKKysJCQkJ c2VydnJlZ19sb2NfcGZyX3Jlc3BfZWksICZyc3ApOworKwlpZiAocmV0KQorKwkJcHJfZXJyKCJF cnJvciBzZW5kaW5nIHNlcnZyZWcgcmVzcG9uc2U6ICVkXG4iLCByZXQpOworK30KKysKKytzdGF0 aWMgY29uc3Qgc3RydWN0IHFtaV9tc2dfaGFuZGxlciBxY29tX3BkbV9tc2dfaGFuZGxlcnNbXSA9 IHsKKysJeworKwkJLnR5cGUgPSBRTUlfUkVRVUVTVCwKKysJCS5tc2dfaWQgPSBTRVJWUkVHX0dF VF9ET01BSU5fTElTVF9SRVEsCisrCQkuZWkgPSBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXFf ZWksCisrCQkuZGVjb2RlZF9zaXplID0gc2l6ZW9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5f bGlzdF9yZXEpLAorKwkJLmZuID0gcWNvbV9wZG1fZ2V0X2RvbWFpbl9saXN0LAorKwl9LAorKwl7 CisrCQkudHlwZSA9IFFNSV9SRVFVRVNULAorKwkJLm1zZ19pZCA9IFNFUlZSRUdfTE9DX1BGUl9S RVEsCisrCQkuZWkgPSBzZXJ2cmVnX2xvY19wZnJfcmVxX2VpLAorKwkJLmRlY29kZWRfc2l6ZSA9 IHNpemVvZihzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3JlcSksCisrCQkuZm4gPSBxY29tX3BkbV9w ZnIsCisrCX0sCisrCXsgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1f ZG9tYWluX2RhdGEgYWRzcF9hdWRpb19wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vYWRzcC9hdWRp b19wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDc0LAorKwkuc2VydmljZXMgPSB7CisrCQkiYXZzL2F1 ZGlvIiwKKysJCU5VTEwsCisrCX0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21f cGRtX2RvbWFpbl9kYXRhIGFkc3BfY2hhcmdlcl9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vYWRz cC9jaGFyZ2VyX3BkIiwKKysJLmluc3RhbmNlX2lkID0gNzQsCisrCS5zZXJ2aWNlcyA9IHsgTlVM TCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBh ZHNwX3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Fkc3Avcm9vdF9wZCIsCisrCS5pbnN0 YW5jZV9pZCA9IDc0LAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBj b25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgYWRzcF9yb290X3BkX3BkciA9IHsKKysJ LmRvbWFpbiA9ICJtc20vYWRzcC9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0gNzQsCisrCS5z ZXJ2aWNlcyA9IHsKKysJCSJ0bXMvcGRyX2VuYWJsZWQiLAorKwkJTlVMTCwKKysJfSwKKyt9Owor KworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgYWRzcF9zZW5zb3Jf cGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Fkc3Avc2Vuc29yX3BkIiwKKysJLmluc3RhbmNlX2lk ID0gNzQsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0 cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBtc204OTk2X2Fkc3BfYXVkaW9fcGQgPSB7CisrCS5k b21haW4gPSAibXNtL2Fkc3AvYXVkaW9fcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA0LAorKwkuc2Vy dmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1f ZG9tYWluX2RhdGEgbXNtODk5Nl9hZHNwX3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Fk c3Avcm9vdF9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDQsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9 LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBjZHNw X3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Nkc3Avcm9vdF9wZCIsCisrCS5pbnN0YW5j ZV9pZCA9IDc2LAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgc2xwaV9yb290X3BkID0geworKwkuZG9tYWlu ID0gIm1zbS9zbHBpL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA5MCwKKysJLnNlcnZpY2Vz ID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFp bl9kYXRhIHNscGlfc2Vuc29yX3BkID0geworKwkuZG9tYWluID0gIm1zbS9zbHBpL3NlbnNvcl9w ZCIsCisrCS5pbnN0YW5jZV9pZCA9IDkwLAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9Owor KworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXBzc19yb290X3Bk ID0geworKwkuZG9tYWluID0gIm1zbS9tb2RlbS9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0g MTgwLAorKwkuc2VydmljZXMgPSB7CisrCQlOVUxMLAorKwl9LAorK307CisrCisrc3RhdGljIGNv bnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBtcHNzX3Jvb3RfcGRfZ3BzID0geworKwku ZG9tYWluID0gIm1zbS9tb2RlbS9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0gMTgwLAorKwku c2VydmljZXMgPSB7CisrCQkiZ3BzL2dwc19zZXJ2aWNlIiwKKysJCU5VTEwsCisrCX0sCisrfTsK KysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIG1wc3Nfcm9vdF9w ZF9ncHNfcGRyID0geworKwkuZG9tYWluID0gIm1zbS9tb2RlbS9yb290X3BkIiwKKysJLmluc3Rh bmNlX2lkID0gMTgwLAorKwkuc2VydmljZXMgPSB7CisrCQkiZ3BzL2dwc19zZXJ2aWNlIiwKKysJ CSJ0bXMvcGRyX2VuYWJsZWQiLAorKwkJTlVMTCwKKysJfSwKKyt9OworKworK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXNtODk5Nl9tcHNzX3Jvb3RfcGQgPSB7Cisr CS5kb21haW4gPSAibXNtL21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxMDAsCisr CS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29t X3BkbV9kb21haW5fZGF0YSBtcHNzX3dsYW5fcGQgPSB7CisrCS5kb21haW4gPSAibXNtL21vZGVt L3dsYW5fcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxODAsCisrCS5zZXJ2aWNlcyA9IHsKKysJCSJr ZXJuZWwvZWxmX2xvYWRlciIsCisrCQkid2xhbi9mdyIsCisrCQlOVUxMLAorKwl9LAorK307Cisr Cisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqbXNtODk5Nl9kb21h aW5zW10gPSB7CisrCSZtc204OTk2X2Fkc3BfYXVkaW9fcGQsCisrCSZtc204OTk2X2Fkc3Bfcm9v dF9wZCwKKysJJm1zbTg5OTZfbXBzc19yb290X3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGlj IGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqbXNtODk5OF9kb21haW5zW10gPSB7 CisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytz dGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpxY20yMjkwX2RvbWFpbnNb XSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNwX3NlbnNv cl9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisr fTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpxY3M0MDRf ZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFk c3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkLAorKwkmbXBz c193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3Bk bV9kb21haW5fZGF0YSAqc2M3MTgwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisr CSZhZHNwX3Jvb3RfcGRfcGRyLAorKwkmYWRzcF9zZW5zb3JfcGQsCisrCSZtcHNzX3Jvb3RfcGRf Z3BzX3BkciwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNjNzI4MF9kb21haW5zW10gPSB7CisrCSZh ZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFkc3BfY2hhcmdlcl9wZCwK KysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkX2dw c19wZHIsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2Rv bWFpbl9kYXRhICpzYzgxODB4X2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZh ZHNwX3Jvb3RfcGQsCisrCSZhZHNwX2NoYXJnZXJfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZt cHNzX3Jvb3RfcGRfZ3BzLAorKwkmbXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3Rh dGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc2M4MjgweHBfZG9tYWluc1td ID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZF9wZHIsCisrCSZhZHNwX2No YXJnZXJfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29u c3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzZG02NjBfZG9tYWluc1tdID0geworKwkm YWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkm Y2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkLAorKwkmbXBzc193bGFuX3BkLAorKwlOVUxM LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc2Rt NjcwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisr CSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5V TEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpz ZG04NDVfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwK KysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJ JnNscGlfcm9vdF9wZCwKKysJJnNscGlfc2Vuc29yX3BkLAorKwlOVUxMLAorK307CisrCisrc3Rh dGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc202MTE1X2RvbWFpbnNbXSA9 IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNwX3NlbnNvcl9w ZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZtcHNzX3dsYW5f cGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFp bl9kYXRhICpzbTYzNTBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bf cm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc193 bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9k b21haW5fZGF0YSAqc204MTUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZh ZHNwX3Jvb3RfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzLAorKwkm bXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29t X3BkbV9kb21haW5fZGF0YSAqc204MjUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQs CisrCSZhZHNwX3Jvb3RfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZzbHBpX3Jvb3RfcGQsCisr CSZzbHBpX3NlbnNvcl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg cWNvbV9wZG1fZG9tYWluX2RhdGEgKnNtODM1MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlv X3BkLAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFkc3BfY2hhcmdlcl9wZCwKKysJJmNkc3Bf cm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZzbHBpX3Jvb3RfcGQsCisrCSZzbHBp X3NlbnNvcl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9w ZG1fZG9tYWluX2RhdGEgKnNtODU1MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAor KwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmYWRzcF9zZW5zb3JfcGQs CisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzLAorKwlOVUxMLAorK307Cisr Cisrc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcWNvbV9wZG1fZG9tYWluc1tdID0g eworKwl7IC5jb21wYXRpYmxlID0gInFjb20sYXBxODA2NCIsIC5kYXRhID0gTlVMTCwgfSwKKysJ eyAuY29tcGF0aWJsZSA9ICJxY29tLGFwcTgwNzQiLCAuZGF0YSA9IE5VTEwsIH0sCisrCXsgLmNv bXBhdGlibGUgPSAicWNvbSxhcHE4MDg0IiwgLmRhdGEgPSBOVUxMLCB9LAorKwl7IC5jb21wYXRp YmxlID0gInFjb20sYXBxODA5NiIsIC5kYXRhID0gbXNtODk5Nl9kb21haW5zLCB9LAorKwl7IC5j b21wYXRpYmxlID0gInFjb20sbXNtODIyNiIsIC5kYXRhID0gTlVMTCwgfSwKKysJeyAuY29tcGF0 aWJsZSA9ICJxY29tLG1zbTg5NzQiLCAuZGF0YSA9IE5VTEwsIH0sCisrCXsgLmNvbXBhdGlibGUg PSAicWNvbSxtc204OTk2IiwgLmRhdGEgPSBtc204OTk2X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBh dGlibGUgPSAicWNvbSxtc204OTk4IiwgLmRhdGEgPSBtc204OTk4X2RvbWFpbnMsIH0sCisrCXsg LmNvbXBhdGlibGUgPSAicWNvbSxxY20yMjkwIiwgLmRhdGEgPSBxY20yMjkwX2RvbWFpbnMsIH0s CisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxxY3M0MDQiLCAuZGF0YSA9IHFjczQwNF9kb21haW5z LCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2M3MTgwIiwgLmRhdGEgPSBzYzcxODBfZG9t YWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNjNzI4MCIsIC5kYXRhID0gc2M3Mjgw X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzYzgxODB4IiwgLmRhdGEgPSBz YzgxODB4X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzYzgyODB4cCIsIC5k YXRhID0gc2M4MjgweHBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNkYTY2 MCIsIC5kYXRhID0gc2RtNjYwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxz ZG02NjAiLCAuZGF0YSA9IHNkbTY2MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFj b20sc2RtNjcwIiwgLmRhdGEgPSBzZG02NzBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9 ICJxY29tLHNkbTg0NSIsIC5kYXRhID0gc2RtODQ1X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGli bGUgPSAicWNvbSxzbTQyNTAiLCAuZGF0YSA9IHNtNjExNV9kb21haW5zLCB9LAorKwl7IC5jb21w YXRpYmxlID0gInFjb20sc202MTE1IiwgLmRhdGEgPSBzbTYxMTVfZG9tYWlucywgfSwKKysJeyAu Y29tcGF0aWJsZSA9ICJxY29tLHNtNjM1MCIsIC5kYXRhID0gc202MzUwX2RvbWFpbnMsIH0sCisr CXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTgxNTAiLCAuZGF0YSA9IHNtODE1MF9kb21haW5zLCB9 LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204MjUwIiwgLmRhdGEgPSBzbTgyNTBfZG9tYWlu cywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtODM1MCIsIC5kYXRhID0gc204MzUwX2Rv bWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTg0NTAiLCAuZGF0YSA9IHNtODM1 MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204NTUwIiwgLmRhdGEgPSBz bTg1NTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtODY1MCIsIC5kYXRh ID0gc204NTUwX2RvbWFpbnMsIH0sCisrCXt9LAorK307CisrCisrc3RhdGljIHZvaWQgcWNvbV9w ZG1fc3RvcChzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YSkKKyt7CisrCXFjb21fcGRtX2ZyZWVf ZG9tYWlucyhkYXRhKTsKKysKKysJLyogVGhlIHNlcnZlciBpcyByZW1vdmVkIGF1dG9tYXRpY2Fs bHkgKi8KKysJcW1pX2hhbmRsZV9yZWxlYXNlKCZkYXRhLT5oYW5kbGUpOworKworKwlrZnJlZShk YXRhKTsKKyt9CisrCisrc3RhdGljIHN0cnVjdCBxY29tX3BkbV9kYXRhICpxY29tX3BkbV9zdGFy dCh2b2lkKQorK3sKKysJY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICogY29uc3Qg KmRvbWFpbnM7CisrCWNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgKm1hdGNoOworKwlzdHJ1Y3Qg cWNvbV9wZG1fZGF0YSAqZGF0YTsKKysJc3RydWN0IGRldmljZV9ub2RlICpyb290OworKwlpbnQg cmV0LCBpOworKworKwlyb290ID0gb2ZfZmluZF9ub2RlX2J5X3BhdGgoIi8iKTsKKysJaWYgKCFy b290KQorKwkJcmV0dXJuIEVSUl9QVFIoLUVOT0RFVik7CisrCisrCW1hdGNoID0gb2ZfbWF0Y2hf bm9kZShxY29tX3BkbV9kb21haW5zLCByb290KTsKKysJb2Zfbm9kZV9wdXQocm9vdCk7CisrCWlm ICghbWF0Y2gpIHsKKysJCXByX25vdGljZSgiUERNOiBubyBzdXBwb3J0IGZvciB0aGUgcGxhdGZv cm0sIHVzZXJzcGFjZSBkYWVtb24gbWlnaHQgYmUgcmVxdWlyZWQuXG4iKTsKKysJCXJldHVybiBF UlJfUFRSKC1FTk9ERVYpOworKwl9CisrCisrCWRvbWFpbnMgPSBtYXRjaC0+ZGF0YTsKKysJaWYg KCFkb21haW5zKSB7CisrCQlwcl9kZWJ1ZygiUERNOiBubyBkb21haW5zXG4iKTsKKysJCXJldHVy biBFUlJfUFRSKC1FTk9ERVYpOworKwl9CisrCisrCWRhdGEgPSBremFsbG9jKHNpemVvZigqZGF0 YSksIEdGUF9LRVJORUwpOworKwlpZiAoIWRhdGEpCisrCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVN KTsKKysKKysJSU5JVF9MSVNUX0hFQUQoJmRhdGEtPnNlcnZpY2VzKTsKKysKKysJcmV0ID0gcW1p X2hhbmRsZV9pbml0KCZkYXRhLT5oYW5kbGUsIFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFUV9N QVhfTEVOLAorKwkJCSAgICAgIE5VTEwsIHFjb21fcGRtX21zZ19oYW5kbGVycyk7CisrCWlmIChy ZXQpIHsKKysJCWtmcmVlKGRhdGEpOworKwkJcmV0dXJuIEVSUl9QVFIocmV0KTsKKysJfQorKwor KwlyZWZjb3VudF9zZXQoJmRhdGEtPnJlZmNudCwgMSk7CisrCisrCWZvciAoaSA9IDA7IGRvbWFp bnNbaV07IGkrKykgeworKwkJcmV0ID0gcWNvbV9wZG1fYWRkX2RvbWFpbihkYXRhLCBkb21haW5z W2ldKTsKKysJCWlmIChyZXQpCisrCQkJZ290byBlcnJfc3RvcDsKKysJfQorKworKwlyZXQgPSBx bWlfYWRkX3NlcnZlcigmZGF0YS0+aGFuZGxlLCBTRVJWUkVHX0xPQ0FUT1JfU0VSVklDRSwKKysJ CQkgICAgIFNFUlZSRUdfUU1JX1ZFUlNJT04sIFNFUlZSRUdfUU1JX0lOU1RBTkNFKTsKKysJaWYg KHJldCkgeworKwkJcHJfZXJyKCJQRE06IGVycm9yIGFkZGluZyBzZXJ2ZXIgJWRcbiIsIHJldCk7 CisrCQlnb3RvIGVycl9zdG9wOworKwl9CisrCisrCXJldHVybiBkYXRhOworKworK2Vycl9zdG9w OgorKwlxY29tX3BkbV9zdG9wKGRhdGEpOworKworKwlyZXR1cm4gRVJSX1BUUihyZXQpOworK30K KysKKytzdGF0aWMgaW50IHFjb21fcGRtX3Byb2JlKHN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlICph dXhkZXYsCisrCQkJICBjb25zdCBzdHJ1Y3QgYXV4aWxpYXJ5X2RldmljZV9pZCAqaWQpCisrCisr eworKwlzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YTsKKysJaW50IHJldCA9IDA7CisrCisrCW11 dGV4X2xvY2soJnFjb21fcGRtX211dGV4KTsKKysKKysJaWYgKCFfX3Fjb21fcGRtX2RhdGEpIHsK KysJCWRhdGEgPSBxY29tX3BkbV9zdGFydCgpOworKworKwkJaWYgKElTX0VSUihkYXRhKSkKKysJ CQlyZXQgPSBQVFJfRVJSKGRhdGEpOworKwkJZWxzZQorKwkJCV9fcWNvbV9wZG1fZGF0YSA9IGRh dGE7CisrCX0KKysKKysJYXV4aWxpYXJ5X3NldF9kcnZkYXRhKGF1eGRldiwgX19xY29tX3BkbV9k YXRhKTsKKysKKysJbXV0ZXhfdW5sb2NrKCZxY29tX3BkbV9tdXRleCk7CisrCisrCXJldHVybiBy ZXQ7CisrfQorKworK3N0YXRpYyB2b2lkIHFjb21fcGRtX3JlbW92ZShzdHJ1Y3QgYXV4aWxpYXJ5 X2RldmljZSAqYXV4ZGV2KQorK3sKKysJc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGE7CisrCisr CWRhdGEgPSBhdXhpbGlhcnlfZ2V0X2RydmRhdGEoYXV4ZGV2KTsKKysJaWYgKCFkYXRhKQorKwkJ cmV0dXJuOworKworKwlpZiAocmVmY291bnRfZGVjX2FuZF9tdXRleF9sb2NrKCZkYXRhLT5yZWZj bnQsICZxY29tX3BkbV9tdXRleCkpIHsKKysJCV9fcWNvbV9wZG1fZGF0YSA9IE5VTEw7CisrCQlx Y29tX3BkbV9zdG9wKGRhdGEpOworKwkJbXV0ZXhfdW5sb2NrKCZxY29tX3BkbV9tdXRleCk7Cisr CX0KKyt9CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlX2lkIHFjb21f cGRtX3RhYmxlW10gPSB7CisrCXsgLm5hbWUgPSAicWNvbV9jb21tb24ucGQtbWFwcGVyIiB9LAor Kwl7fSwKKyt9OworK01PRFVMRV9ERVZJQ0VfVEFCTEUoYXV4aWxpYXJ5LCBxY29tX3BkbV90YWJs ZSk7CisrCisrc3RhdGljIHN0cnVjdCBhdXhpbGlhcnlfZHJpdmVyIHFjb21fcGRtX2RydiA9IHsK KysJLm5hbWUgPSAicWNvbS1wZG0tbWFwcGVyIiwKKysJLmlkX3RhYmxlID0gcWNvbV9wZG1fdGFi bGUsCisrCS5wcm9iZSA9IHFjb21fcGRtX3Byb2JlLAorKwkucmVtb3ZlID0gcWNvbV9wZG1fcmVt b3ZlLAorK307CisrbW9kdWxlX2F1eGlsaWFyeV9kcml2ZXIocWNvbV9wZG1fZHJ2KTsKKysKKytN T0RVTEVfREVTQ1JJUFRJT04oIlF1YWxjb21tIFByb3RlY3Rpb24gRG9tYWluIE1hcHBlciIpOwor K01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Fj b21fcGRyX21zZy5jIGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYworaW5kZXggOWI0 NmY0MmFhMTQ2Li5iZjNlNGE0NzE2NWUgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL3Fj b21fcGRyX21zZy5jCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRyX21zZy5jCitAQCAt MzE1LDUgKzMxNSwzOSBAQCBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9h Y2tfcmVzcF9laVtdID0geworIH07CisgRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19zZXRfYWNr X3Jlc3BfZWkpOworIAorK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jX3Bm cl9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSA9IFFNSV9TVFJJTkcsCisrCQkuZWxl bV9sZW4gPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgPSBzaXplb2Yo Y2hhciksCisrCQkuYXJyYXlfdHlwZSA9IFZBUl9MRU5fQVJSQVksCisrCQkudGx2X3R5cGUgPSAw eDAxLAorKwkJLm9mZnNldCA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVxLCBz ZXJ2aWNlKQorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlID0gUU1JX1NUUklORywKKysJCS5lbGVt X2xlbiA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSA9IHNpemVvZihj aGFyKSwKKysJCS5hcnJheV90eXBlID0gVkFSX0xFTl9BUlJBWSwKKysJCS50bHZfdHlwZSA9IDB4 MDIsCisrCQkub2Zmc2V0ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXEsIHJl YXNvbikKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfbG9jX3Bm cl9yZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jX3Bm cl9yZXNwX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgPSBRTUlfU1RSVUNULAorKwkJLmVs ZW1fbGVuID0gMSwKKysJCS5lbGVtX3NpemUgPSBzaXplb2ZfZmllbGQoc3RydWN0IHNlcnZyZWdf bG9jX3Bmcl9yZXNwLCByc3ApLAorKwkJLnRsdl90eXBlID0gMHgwMiwKKysJCS5vZmZzZXQgPSBv ZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3Jlc3AsIHJzcCksCisrCQkuZWlfYXJyYXkg PSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lN Qk9MX0dQTChzZXJ2cmVnX2xvY19wZnJfcmVzcF9laSk7CisrCisgTU9EVUxFX0xJQ0VOU0UoIkdQ TCIpOworIE1PRFVMRV9ERVNDUklQVElPTigiUXVhbGNvbW0gUHJvdGVjdGlvbiBEb21haW4gbWVz c2FnZXMgZGF0YSIpOworCitGcm9tOiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292 QGxpbmFyby5vcmc+CitEYXRlOiBTYXQsIDIyIEp1biAyMDI0IDAxOjAzOjQ0ICswMzAwCitTdWJq ZWN0OiBbUEFUQ0ggdjkgNS81XSByZW1vdGVwcm9jOiBxY29tOiBlbmFibGUgaW4ta2VybmVsIFBE IG1hcHBlcgorCitSZXF1ZXN0IGluLWtlcm5lbCBwcm90ZWN0aW9uIGRvbWFpbiBtYXBwZXIgdG8g YmUgc3RhcnRlZCBiZWZvcmUgc3RhcnRpbmcKK1F1YWxjb21tIERTUCBhbmQgcmVsZWFzZSBpdCBv bmNlIERTUCBpcyBzdG9wcGVkLiBPbmNlIGFsbCBEU1BzIGFyZQorc3RvcHBlZCwgdGhlIFBEIG1h cHBlciB3aWxsIGJlIHN0b3BwZWQgdG9vLgorCitSZXZpZXdlZC1ieTogQ2hyaXMgTGV3IDxxdWlj X2NsZXdAcXVpY2luYy5jb20+CitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pld3NraSA8c3RlZXZA a2FsaS5vcmc+CitUZXN0ZWQtYnk6IE5laWwgQXJtc3Ryb25nIDxuZWlsLmFybXN0cm9uZ0BsaW5h cm8ub3JnPiAjIG9uIFNNODU1MC1RUkQKK1NpZ25lZC1vZmYtYnk6IERtaXRyeSBCYXJ5c2hrb3Yg PGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KKy0tLQorIGRyaXZlcnMvcmVtb3RlcHJvYy9x Y29tX2NvbW1vbi5jICAgIHwgODcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KworIGRyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5oICAgIHwgMTAgKysrKysKKyBkcml2 ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYyB8ICAzICsrCisgZHJpdmVycy9yZW1vdGVw cm9jL3Fjb21fcTZ2NV9tc3MuYyAgfCAgMyArKworIGRyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2 djVfcGFzLmMgIHwgIDMgKysKKyBkcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3djc3MuYyB8 ICAzICsrCisgNiBmaWxlcyBjaGFuZ2VkLCAxMDkgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0 IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmMgYi9kcml2ZXJzL3JlbW90ZXByb2Mv cWNvbV9jb21tb24uYworaW5kZXggMDNlNWY1ZDUzM2ViLi44Yzg2ODhmOTlmMGEgMTAwNjQ0Cist LS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uYworKysrIGIvZHJpdmVycy9yZW1v dGVwcm9jL3Fjb21fY29tbW9uLmMKK0BAIC0xMyw2ICsxMyw3IEBACisgI2luY2x1ZGUgPGxpbnV4 L25vdGlmaWVyLmg+CisgI2luY2x1ZGUgPGxpbnV4L3JlbW90ZXByb2MuaD4KKyAjaW5jbHVkZSA8 bGludXgvcmVtb3RlcHJvYy9xY29tX3Jwcm9jLmg+CisrI2luY2x1ZGUgPGxpbnV4L2F1eGlsaWFy eV9idXMuaD4KKyAjaW5jbHVkZSA8bGludXgvcnBtc2cvcWNvbV9nbGluay5oPgorICNpbmNsdWRl IDxsaW51eC9ycG1zZy9xY29tX3NtZC5oPgorICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CitAQCAt MjUsNiArMjYsNyBAQAorICNkZWZpbmUgdG9fZ2xpbmtfc3ViZGV2KGQpIGNvbnRhaW5lcl9vZihk LCBzdHJ1Y3QgcWNvbV9ycHJvY19nbGluaywgc3ViZGV2KQorICNkZWZpbmUgdG9fc21kX3N1YmRl dihkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IHFjb21fcnByb2Nfc3ViZGV2LCBzdWJkZXYpCisg I2RlZmluZSB0b19zc3Jfc3ViZGV2KGQpIGNvbnRhaW5lcl9vZihkLCBzdHJ1Y3QgcWNvbV9ycHJv Y19zc3IsIHN1YmRldikKKysjZGVmaW5lIHRvX3BkbV9zdWJkZXYoZCkgY29udGFpbmVyX29mKGQs IHN0cnVjdCBxY29tX3Jwcm9jX3BkbSwgc3ViZGV2KQorIAorICNkZWZpbmUgTUFYX05VTV9PRl9T UyAgICAgICAgICAgMTAKKyAjZGVmaW5lIE1BWF9SRUdJT05fTkFNRV9MRU5HVEggIDE2CitAQCAt NTE5LDUgKzUyMSw5MCBAQCB2b2lkIHFjb21fcmVtb3ZlX3Nzcl9zdWJkZXYoc3RydWN0IHJwcm9j ICpycHJvYywgc3RydWN0IHFjb21fcnByb2Nfc3NyICpzc3IpCisgfQorIEVYUE9SVF9TWU1CT0xf R1BMKHFjb21fcmVtb3ZlX3Nzcl9zdWJkZXYpOworIAorK3N0YXRpYyB2b2lkIHBkbV9kZXZfcmVs ZWFzZShzdHJ1Y3QgZGV2aWNlICpkZXYpCisreworKwlzdHJ1Y3QgYXV4aWxpYXJ5X2RldmljZSAq YWRldiA9IHRvX2F1eGlsaWFyeV9kZXYoZGV2KTsKKysKKysJa2ZyZWUoYWRldik7CisrfQorKwor K3N0YXRpYyBpbnQgcGRtX25vdGlmeV9wcmVwYXJlKHN0cnVjdCBycHJvY19zdWJkZXYgKnN1YmRl dikKKyt7CisrCXN0cnVjdCBxY29tX3Jwcm9jX3BkbSAqcGRtID0gdG9fcGRtX3N1YmRldihzdWJk ZXYpOworKwlzdHJ1Y3QgYXV4aWxpYXJ5X2RldmljZSAqYWRldjsKKysJaW50IHJldDsKKysKKysJ YWRldiA9IGt6YWxsb2Moc2l6ZW9mKCphZGV2KSwgR0ZQX0tFUk5FTCk7CisrCWlmICghYWRldikK KysJCXJldHVybiAtRU5PTUVNOworKworKwlhZGV2LT5kZXYucGFyZW50ID0gcGRtLT5kZXY7Cisr CWFkZXYtPmRldi5yZWxlYXNlID0gcGRtX2Rldl9yZWxlYXNlOworKwlhZGV2LT5uYW1lID0gInBk LW1hcHBlciI7CisrCWFkZXYtPmlkID0gcGRtLT5pbmRleDsKKysKKysJcmV0ID0gYXV4aWxpYXJ5 X2RldmljZV9pbml0KGFkZXYpOworKwlpZiAocmV0KSB7CisrCQlrZnJlZShhZGV2KTsKKysJCXJl dHVybiByZXQ7CisrCX0KKysKKysJcmV0ID0gYXV4aWxpYXJ5X2RldmljZV9hZGQoYWRldik7Cisr CWlmIChyZXQpIHsKKysJCWF1eGlsaWFyeV9kZXZpY2VfdW5pbml0KGFkZXYpOworKwkJcmV0dXJu IHJldDsKKysJfQorKworKwlwZG0tPmFkZXYgPSBhZGV2OworKworKwlyZXR1cm4gMDsKKyt9Cisr CisrCisrc3RhdGljIHZvaWQgcGRtX25vdGlmeV91bnByZXBhcmUoc3RydWN0IHJwcm9jX3N1YmRl diAqc3ViZGV2KQorK3sKKysJc3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0gPSB0b19wZG1fc3Vi ZGV2KHN1YmRldik7CisrCisrCWlmICghcGRtLT5hZGV2KQorKwkJcmV0dXJuOworKworKwlhdXhp bGlhcnlfZGV2aWNlX2RlbGV0ZShwZG0tPmFkZXYpOworKwlhdXhpbGlhcnlfZGV2aWNlX3VuaW5p dChwZG0tPmFkZXYpOworKwlwZG0tPmFkZXYgPSBOVUxMOworK30KKysKKysvKioKKysgKiBxY29t X2FkZF9wZG1fc3ViZGV2KCkgLSByZWdpc3RlciBQRCBNYXBwZXIgc3ViZGV2aWNlCisrICogQHJw cm9jOglycHJvYyBoYW5kbGUKKysgKiBAcGRtOglQRE0gc3ViZGV2aWNlIGhhbmRsZQorKyAqCisr ICogUmVnaXN0ZXIgQHBkbSBzbyB0aGF0IFByb3RlY3Rpb24gRGV2aWNlIG1hcHBlciBzZXJ2aWNl IGlzIHN0YXJ0ZWQgd2hlbiB0aGUKKysgKiBEU1AgaXMgc3RhcnRlZCB0b28uCisrICovCisrdm9p ZCBxY29tX2FkZF9wZG1fc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBxY29tX3Jw cm9jX3BkbSAqcGRtKQorK3sKKysJcGRtLT5kZXYgPSAmcnByb2MtPmRldjsKKysJcGRtLT5pbmRl eCA9IHJwcm9jLT5pbmRleDsKKysKKysJcGRtLT5zdWJkZXYucHJlcGFyZSA9IHBkbV9ub3RpZnlf cHJlcGFyZTsKKysJcGRtLT5zdWJkZXYudW5wcmVwYXJlID0gcGRtX25vdGlmeV91bnByZXBhcmU7 CisrCisrCXJwcm9jX2FkZF9zdWJkZXYocnByb2MsICZwZG0tPnN1YmRldik7CisrfQorK0VYUE9S VF9TWU1CT0xfR1BMKHFjb21fYWRkX3BkbV9zdWJkZXYpOworKworKy8qKgorKyAqIHFjb21fcmVt b3ZlX3BkbV9zdWJkZXYoKSAtIHJlbW92ZSBQRCBNYXBwZXIgc3ViZGV2aWNlCisrICogQHJwcm9j OglycHJvYyBoYW5kbGUKKysgKiBAcGRtOglQRE0gc3ViZGV2aWNlIGhhbmRsZQorKyAqCisrICog UmVtb3ZlIHRoZSBQRCBNYXBwZXIgc3ViZGV2aWNlLgorKyAqLworK3ZvaWQgcWNvbV9yZW1vdmVf cGRtX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gKnBk bSkKKyt7CisrCXJwcm9jX3JlbW92ZV9zdWJkZXYocnByb2MsICZwZG0tPnN1YmRldik7CisrfQor K0VYUE9SVF9TWU1CT0xfR1BMKHFjb21fcmVtb3ZlX3BkbV9zdWJkZXYpOworKworIE1PRFVMRV9E RVNDUklQVElPTigiUXVhbGNvbW0gUmVtb3RlcHJvYyBoZWxwZXIgZHJpdmVyIik7CisgTU9EVUxF X0xJQ0VOU0UoIkdQTCB2MiIpOworZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29t X2NvbW1vbi5oIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmgKK2luZGV4IDllZjQ0 NDkwNTJhOS4uYjA3ZmJhYTA5MWEwIDEwMDY0NAorLS0tIGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fj b21fY29tbW9uLmgKKysrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5oCitAQCAt MzQsNiArMzQsMTMgQEAgc3RydWN0IHFjb21fcnByb2Nfc3NyIHsKKyAJc3RydWN0IHFjb21fc3Ny X3N1YnN5c3RlbSAqaW5mbzsKKyB9OworIAorK3N0cnVjdCBxY29tX3Jwcm9jX3BkbSB7CisrCXN0 cnVjdCBycHJvY19zdWJkZXYgc3ViZGV2OworKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisrCWludCBp bmRleDsKKysJc3RydWN0IGF1eGlsaWFyeV9kZXZpY2UgKmFkZXY7CisrfTsKKysKKyB2b2lkIHFj b21fbWluaWR1bXAoc3RydWN0IHJwcm9jICpycHJvYywgdW5zaWduZWQgaW50IG1pbmlkdW1wX2lk LAorIAkJCXZvaWQgKCpycHJvY19kdW1wZm5fdCkoc3RydWN0IHJwcm9jICpycHJvYywKKyAJCQkJ c3RydWN0IHJwcm9jX2R1bXBfc2VnbWVudCAqc2VnbWVudCwgdm9pZCAqZGVzdCwgc2l6ZV90IG9m ZnNldCwKK0BAIC01Miw2ICs1OSw5IEBAIHZvaWQgcWNvbV9hZGRfc3NyX3N1YmRldihzdHJ1Y3Qg cnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJvY19zc3IgKnNzciwKKyAJCQkgY29uc3QgY2hh ciAqc3NyX25hbWUpOworIHZvaWQgcWNvbV9yZW1vdmVfc3NyX3N1YmRldihzdHJ1Y3QgcnByb2Mg KnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJvY19zc3IgKnNzcik7CisgCisrdm9pZCBxY29tX2FkZF9w ZG1fc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBxY29tX3Jwcm9jX3BkbSAqcGRt KTsKKyt2b2lkIHFjb21fcmVtb3ZlX3BkbV9zdWJkZXYoc3RydWN0IHJwcm9jICpycHJvYywgc3Ry dWN0IHFjb21fcnByb2NfcGRtICpwZG0pOworKworICNpZiBJU19FTkFCTEVEKENPTkZJR19RQ09N X1NZU01PTikKKyBzdHJ1Y3QgcWNvbV9zeXNtb24gKnFjb21fYWRkX3N5c21vbl9zdWJkZXYoc3Ry dWN0IHJwcm9jICpycHJvYywKKyAJCQkJCSAgIGNvbnN0IGNoYXIgKm5hbWUsCitkaWZmIC0tZ2l0 IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9hZHNwLmMgYi9kcml2ZXJzL3JlbW90ZXBy b2MvcWNvbV9xNnY1X2Fkc3AuYworaW5kZXggMWQyNGM5YjY1NmE4Li41NzJkY2IwZjA1NWIgMTAw NjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYworKysrIGIvZHJp dmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9hZHNwLmMKK0BAIC0xMTIsNiArMTEyLDcgQEAgc3Ry dWN0IHFjb21fYWRzcCB7CisgCXN0cnVjdCBkZXZfcG1fZG9tYWluX2xpc3QgKnBkX2xpc3Q7Cisg CisgCXN0cnVjdCBxY29tX3Jwcm9jX2dsaW5rIGdsaW5rX3N1YmRldjsKKysJc3RydWN0IHFjb21f cnByb2NfcGRtIHBkbV9zdWJkZXY7CisgCXN0cnVjdCBxY29tX3Jwcm9jX3NzciBzc3Jfc3ViZGV2 OworIAlzdHJ1Y3QgcWNvbV9zeXNtb24gKnN5c21vbjsKKyAKK0BAIC03MjYsNiArNzI3LDcgQEAg c3RhdGljIGludCBhZHNwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCisgCQln b3RvIGRpc2FibGVfcG07CisgCisgCXFjb21fYWRkX2dsaW5rX3N1YmRldihycHJvYywgJmFkc3At PmdsaW5rX3N1YmRldiwgZGVzYy0+c3NyX25hbWUpOworKwlxY29tX2FkZF9wZG1fc3ViZGV2KHJw cm9jLCAmYWRzcC0+cGRtX3N1YmRldik7CisgCXFjb21fYWRkX3Nzcl9zdWJkZXYocnByb2MsICZh ZHNwLT5zc3Jfc3ViZGV2LCBkZXNjLT5zc3JfbmFtZSk7CisgCWFkc3AtPnN5c21vbiA9IHFjb21f YWRkX3N5c21vbl9zdWJkZXYocnByb2MsCisgCQkJCQkgICAgICBkZXNjLT5zeXNtb25fbmFtZSwK K0BAIC03NTUsNiArNzU3LDcgQEAgc3RhdGljIHZvaWQgYWRzcF9yZW1vdmUoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikKKyAKKyAJcWNvbV9xNnY1X2RlaW5pdCgmYWRzcC0+cTZ2NSk7Cisg CXFjb21fcmVtb3ZlX2dsaW5rX3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3AtPmdsaW5rX3N1YmRl dik7CisrCXFjb21fcmVtb3ZlX3BkbV9zdWJkZXYoYWRzcC0+cnByb2MsICZhZHNwLT5wZG1fc3Vi ZGV2KTsKKyAJcWNvbV9yZW1vdmVfc3lzbW9uX3N1YmRldihhZHNwLT5zeXNtb24pOworIAlxY29t X3JlbW92ZV9zc3Jfc3ViZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+c3NyX3N1YmRldik7CisgCXFj b21fcnByb2NfcGRzX2RldGFjaChhZHNwKTsKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXBy b2MvcWNvbV9xNnY1X21zcy5jIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9tc3MuYwor aW5kZXggMTc3OWZjODkwZTEwLi4yYTQyMjE1Y2U4ZTAgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3Jl bW90ZXByb2MvcWNvbV9xNnY1X21zcy5jCisrKysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9x NnY1X21zcy5jCitAQCAtMjI4LDYgKzIyOCw3IEBAIHN0cnVjdCBxNnY1IHsKKyAKKyAJc3RydWN0 IHFjb21fcnByb2NfZ2xpbmsgZ2xpbmtfc3ViZGV2OworIAlzdHJ1Y3QgcWNvbV9ycHJvY19zdWJk ZXYgc21kX3N1YmRldjsKKysJc3RydWN0IHFjb21fcnByb2NfcGRtIHBkbV9zdWJkZXY7CisgCXN0 cnVjdCBxY29tX3Jwcm9jX3NzciBzc3Jfc3ViZGV2OworIAlzdHJ1Y3QgcWNvbV9zeXNtb24gKnN5 c21vbjsKKyAJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYmFtX2RtdXg7CitAQCAtMjEwMiw2ICsy MTAzLDcgQEAgc3RhdGljIGludCBxNnY1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpCisgCXFwcm9jLT5tYmFfcGVybSA9IEJJVChRQ09NX1NDTV9WTUlEX0hMT1MpOworIAlxY29t X2FkZF9nbGlua19zdWJkZXYocnByb2MsICZxcHJvYy0+Z2xpbmtfc3ViZGV2LCAibXBzcyIpOwor IAlxY29tX2FkZF9zbWRfc3ViZGV2KHJwcm9jLCAmcXByb2MtPnNtZF9zdWJkZXYpOworKwlxY29t X2FkZF9wZG1fc3ViZGV2KHJwcm9jLCAmcXByb2MtPnBkbV9zdWJkZXYpOworIAlxY29tX2FkZF9z c3Jfc3ViZGV2KHJwcm9jLCAmcXByb2MtPnNzcl9zdWJkZXYsICJtcHNzIik7CisgCXFwcm9jLT5z eXNtb24gPSBxY29tX2FkZF9zeXNtb25fc3ViZGV2KHJwcm9jLCAibW9kZW0iLCAweDEyKTsKKyAJ aWYgKElTX0VSUihxcHJvYy0+c3lzbW9uKSkgeworQEAgLTIxNDMsNiArMjE0NSw3IEBAIHN0YXRp YyB2b2lkIHE2djVfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCisgCXFjb21f cTZ2NV9kZWluaXQoJnFwcm9jLT5xNnY1KTsKKyAJcWNvbV9yZW1vdmVfc3lzbW9uX3N1YmRldihx cHJvYy0+c3lzbW9uKTsKKyAJcWNvbV9yZW1vdmVfc3NyX3N1YmRldihycHJvYywgJnFwcm9jLT5z c3Jfc3ViZGV2KTsKKysJcWNvbV9yZW1vdmVfcGRtX3N1YmRldihycHJvYywgJnFwcm9jLT5wZG1f c3ViZGV2KTsKKyAJcWNvbV9yZW1vdmVfc21kX3N1YmRldihycHJvYywgJnFwcm9jLT5zbWRfc3Vi ZGV2KTsKKyAJcWNvbV9yZW1vdmVfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmcXByb2MtPmdsaW5rX3N1 YmRldik7CisgCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9wYXMu YyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfcGFzLmMKK2luZGV4IDg0NThiY2ZlOWUx OS4uODhlN2I4NGYyMjNjIDEwMDY0NAorLS0tIGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2 NV9wYXMuYworKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9wYXMuYworQEAgLTEx MSw2ICsxMTEsNyBAQCBzdHJ1Y3QgcWNvbV9hZHNwIHsKKyAKKyAJc3RydWN0IHFjb21fcnByb2Nf Z2xpbmsgZ2xpbmtfc3ViZGV2OworIAlzdHJ1Y3QgcWNvbV9ycHJvY19zdWJkZXYgc21kX3N1YmRl djsKKysJc3RydWN0IHFjb21fcnByb2NfcGRtIHBkbV9zdWJkZXY7CisgCXN0cnVjdCBxY29tX3Jw cm9jX3NzciBzc3Jfc3ViZGV2OworIAlzdHJ1Y3QgcWNvbV9zeXNtb24gKnN5c21vbjsKKyAKK0BA IC03NzcsNiArNzc4LDcgQEAgc3RhdGljIGludCBhZHNwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpCisgCisgCXFjb21fYWRkX2dsaW5rX3N1YmRldihycHJvYywgJmFkc3AtPmds aW5rX3N1YmRldiwgZGVzYy0+c3NyX25hbWUpOworIAlxY29tX2FkZF9zbWRfc3ViZGV2KHJwcm9j LCAmYWRzcC0+c21kX3N1YmRldik7CisrCXFjb21fYWRkX3BkbV9zdWJkZXYocnByb2MsICZhZHNw LT5wZG1fc3ViZGV2KTsKKyAJYWRzcC0+c3lzbW9uID0gcWNvbV9hZGRfc3lzbW9uX3N1YmRldihy cHJvYywKKyAJCQkJCSAgICAgIGRlc2MtPnN5c21vbl9uYW1lLAorIAkJCQkJICAgICAgZGVzYy0+ c3NjdGxfaWQpOworQEAgLTgxMSw2ICs4MTMsNyBAQCBzdGF0aWMgdm9pZCBhZHNwX3JlbW92ZShz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorIAlxY29tX3JlbW92ZV9nbGlua19zdWJkZXYo YWRzcC0+cnByb2MsICZhZHNwLT5nbGlua19zdWJkZXYpOworIAlxY29tX3JlbW92ZV9zeXNtb25f c3ViZGV2KGFkc3AtPnN5c21vbik7CisgCXFjb21fcmVtb3ZlX3NtZF9zdWJkZXYoYWRzcC0+cnBy b2MsICZhZHNwLT5zbWRfc3ViZGV2KTsKKysJcWNvbV9yZW1vdmVfcGRtX3N1YmRldihhZHNwLT5y cHJvYywgJmFkc3AtPnBkbV9zdWJkZXYpOworIAlxY29tX3JlbW92ZV9zc3Jfc3ViZGV2KGFkc3At PnJwcm9jLCAmYWRzcC0+c3NyX3N1YmRldik7CisgCWFkc3BfcGRzX2RldGFjaChhZHNwLCBhZHNw LT5wcm94eV9wZHMsIGFkc3AtPnByb3h5X3BkX2NvdW50KTsKKyAJZGV2aWNlX2luaXRfd2FrZXVw KGFkc3AtPmRldiwgZmFsc2UpOworZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29t X3E2djVfd2Nzcy5jIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV93Y3NzLmMKK2luZGV4 IDk0ZjY4YzkxOWVlNi4uZTkxM2RhYmFlOTkyIDEwMDY0NAorLS0tIGEvZHJpdmVycy9yZW1vdGVw cm9jL3Fjb21fcTZ2NV93Y3NzLmMKKysrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVf d2Nzcy5jCitAQCAtMTQ4LDYgKzE0OCw3IEBAIHN0cnVjdCBxNnY1X3djc3MgeworIAlib29sIHJl cXVpcmVzX2ZvcmNlX3N0b3A7CisgCisgCXN0cnVjdCBxY29tX3Jwcm9jX2dsaW5rIGdsaW5rX3N1 YmRldjsKKysJc3RydWN0IHFjb21fcnByb2NfcGRtIHBkbV9zdWJkZXY7CisgCXN0cnVjdCBxY29t X3Jwcm9jX3NzciBzc3Jfc3ViZGV2OworIH07CisgCitAQCAtMTA1Miw2ICsxMDUzLDcgQEAgc3Rh dGljIGludCBxNnY1X3djc3NfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJ CXJldHVybiByZXQ7CisgCisgCXFjb21fYWRkX2dsaW5rX3N1YmRldihycHJvYywgJndjc3MtPmds aW5rX3N1YmRldiwgInE2d2NzcyIpOworKwlxY29tX2FkZF9wZG1fc3ViZGV2KHJwcm9jLCAmd2Nz cy0+cGRtX3N1YmRldik7CisgCXFjb21fYWRkX3Nzcl9zdWJkZXYocnByb2MsICZ3Y3NzLT5zc3Jf c3ViZGV2LCAicTZ3Y3NzIik7CisgCisgCWlmIChkZXNjLT5zc2N0bF9pZCkKK0BAIC0xMDc0LDYg KzEwNzYsNyBAQCBzdGF0aWMgdm9pZCBxNnY1X3djc3NfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpCisgCXN0cnVjdCBxNnY1X3djc3MgKndjc3MgPSBycHJvYy0+cHJpdjsKKyAK KyAJcWNvbV9xNnY1X2RlaW5pdCgmd2Nzcy0+cTZ2NSk7CisrCXFjb21fcmVtb3ZlX3BkbV9zdWJk ZXYocnByb2MsICZ3Y3NzLT5wZG1fc3ViZGV2KTsKKyAJcnByb2NfZGVsKHJwcm9jKTsKKyB9Cisg CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpbnV4Ni45L3RlbXBsYXRlIGIvc3JjcGtncy9saW51eDYu OS90ZW1wbGF0ZQppbmRleCAyM2NmYjA1NWE0NTNiYS4uNjYyMDc2ZDZmODY0NzAgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvbGludXg2LjkvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9saW51eDYuOS90ZW1w bGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2xpbnV4Ni45JwogcGtn bmFtZT1saW51eDYuOQogdmVyc2lvbj02LjkuNwotcmV2aXNpb249MQorcmV2aXNpb249Mgogc2hv cnRfZGVzYz0iTGludXgga2VybmVsIGFuZCBtb2R1bGVzICgke3ZlcnNpb24lLip9IHNlcmllcyki CiBtYWludGFpbmVyPSJEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0i R1BMLTIuMC1vbmx5Igo= --===============1341366035543151945==--