From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 30875 invoked from network); 8 Aug 2022 10:13:39 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 8 Aug 2022 10:13:39 -0000 Content-Type: multipart/mixed; boundary="===============4226010963204689901==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_WIP_Qt6_webengine?= To: ml@inbox.vuxu.org From: sgn Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 08 Aug 2022 12:13:38 +0200 List-Id: Message-ID: <20220808101338.pVmbKx505eji1g_Qpp3B75v8ODkbTCVWDRZZ3nIKGKo@z> GitHub notification mails are now in MIME to allow UTF8. --===============4226010963204689901== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgc2duIGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9zZ24vdm9p ZC1wYWNrYWdlcyBxdDYtd2ViZW5naW5lCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvcHVsbC8zODUwOQoKV0lQIFF0NiB3ZWJlbmdpbmUKPCEtLSBVbmNvbW1lbnQg cmVsZXZhbnQgc2VjdGlvbnMgYW5kIGRlbGV0ZSBvcHRpb25zIHdoaWNoIGFyZSBub3QgYXBwbGlj YWJsZSAtLT4NCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQotIEkgdGVzdGVkIHRoZSBjaGFu Z2VzIGluIHRoaXMgUFI6ICoqWUVTKip8KipicmllZmx5Kip8KipOTyoqDQpbY2kgc2tpcF0NCg0K PCEtLQ0KIyMjIyBOZXcgcGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRo ZSBbcXVhbGl0eSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1lbnRzKTog KipZRVMqKnwqKk5PKioNCi0tPg0KDQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkg dG8gdGFrZSBtb3JlIHRoYW4gMiBob3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBhcyBkZXNj cmliZWQgaW4NCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxv Yi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFuZCB0ZXN0 IGF0IGxlYXN0IG9uZSBuYXRpdmUgYnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0IG9u ZSBjcm9zcyBidWlsZC4NCklnbm9yZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBub3Qgc2tp cHBpbmcgQ0kuDQotLT4NCjwhLS0NCiMjIyMgTG9jYWwgYnVpbGQgdGVzdGluZw0KLSBJIGJ1aWx0 IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykN Ci0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1 cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFyY2g2NC1tdXNsDQogIC0gYXJtdjds DQogIC0gYXJtdjZsLW11c2wNCi0tPg0KCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1 Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzg1MDkucGF0Y2ggaXMgYXR0YWNo ZWQ= --===============4226010963204689901== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-qt6-webengine-38509.patch" RnJvbSBkMjhjM2ZmNmZiNmJiYTRjODU5NGE2MDIxOTk1MzA1ZDY2YjM1ZDgxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1B N249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9u LCA4IEF1ZyAyMDIyIDE3OjEzOjA3ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwMS8yMl0gcXQ2LWJh c2U6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL2xpYmF0 b21pYy5wYXRjaCB8IDE0IC0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3F0Ni1iYXNlL3RlbXBsYXRl ICAgICAgICAgICAgICAgIHwgMTMgKysrKysrKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA5IGlu c2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv cXQ2LWJhc2UvcGF0Y2hlcy9saWJhdG9taWMucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni1iYXNlL3BhdGNoZXMvbGliYXRvbWljLnBhdGNoIGIvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVz L2xpYmF0b21pYy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmY3YTgwNzUx OGU0Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL2xpYmF0b21p Yy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLUluZGV4OiBjbWFrZS9GaW5k V3JhcEF0b21pYy5jbWFrZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGEvY21ha2UvRmluZFdyYXBBdG9taWMu Y21ha2UKLSsrKyBiL2NtYWtlL0ZpbmRXcmFwQXRvbWljLmNtYWtlCi1AQCAtMzgsNyArMzgsOCBA QCBlbmRpZigpCi0gCi0gYWRkX2xpYnJhcnkoV3JhcEF0b21pYzo6V3JhcEF0b21pYyBJTlRFUkZB Q0UgSU1QT1JURUQpCi0gaWYoSEFWRV9TVERBVE9NSUNfV0lUSF9MSUIpCi0tICAgIHRhcmdldF9s aW5rX2xpYnJhcmllcyhXcmFwQXRvbWljOjpXcmFwQXRvbWljIElOVEVSRkFDRSBhdG9taWMpCi0r ICAgIGZpbmRfbGlicmFyeShMSUJBVE9NSUMgYXRvbWljIFJFUVVJUkVEKQotKyAgICB0YXJnZXRf bGlua19saWJyYXJpZXMoV3JhcEF0b21pYzo6V3JhcEF0b21pYyBJTlRFUkZBQ0UgJHtMSUJBVE9N SUN9KQotIGVuZGlmKCkKLSAKLSBzZXQoV3JhcEF0b21pY19GT1VORCAxKQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDYtYmFzZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxhdGUKaW5k ZXggY2M0N2UxOGE3MGZmLi43NDY5MjdlMmE0YjIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWJh c2UvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtYmFzZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1iYXNlJwogcGtnbmFtZT1xdDYtYmFzZQotdmVy c2lvbj02LjMuMAotcmV2aXNpb249MgordmVyc2lvbj02LjMuMQorcmV2aXNpb249MQogd3Jrc3Jj PSJxdGJhc2UtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBj b25maWd1cmVfYXJncz0iLURJTlNUQUxMX0RBVEFESVI9c2hhcmUvcXQ2CkBAIC05LDYgKzksOCBA QCBjb25maWd1cmVfYXJncz0iLURJTlNUQUxMX0RBVEFESVI9c2hhcmUvcXQ2CiAgLURJTlNUQUxM X0JJTkRJUj1saWIvcXQ2L2JpbgogIC1ESU5TVEFMTF9NS1NQRUNTRElSPWxpYi9xdDYvbWtzcGVj cwogIC1ESU5TVEFMTF9JTkNMVURFRElSPWluY2x1ZGUvcXQ2CisgLURJTlNUQUxMX0VYQU1QTEVT RElSPWxpYi9xdDYvZXhhbXBsZXMKKyAtRElOU1RBTExfVEVTVFNESVI9bGliL3F0Ni90ZXN0cwog IC1ESU5TVEFMTF9TWVNDT05GRElSPS9ldGMveGRnCiAgLURRVF9GRUFUVVJFX29wZW5zc2xfbGlu a2VkPU9OCiAgLURRVF9GRUFUVVJFX3N5c3RlbV9zcWxpdGU9T04KQEAgLTI5LDcgKzMxLDcgQEAg bWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAt b25seSBXSVRIIFF0LUdQTC1leGNlcHRpb24tMS4wLCBMR1BMLTMuMC1vbmx5LCBHUEwtMi4wLW9y LWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnF0LmlvIgogZGlzdGZpbGVzPSJodHRwczov L2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJz aW9ufS9zdWJtb2R1bGVzL3F0YmFzZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIK LWNoZWNrc3VtPWI4NjVhYWU0MzM1N2Y3OTJiM2IwYTE2Mjg5OWQ5YmY2YTEzOTNhNTVjNGU1ZTRl ZGU1MzE2YjE1N2IxYTBmOTkKK2NoZWNrc3VtPTBhNjQ0MjFkOWMyNDY5YzJjNDg0OTBhMDMyYWI5 MWQ1NDcwMTdjOWNjMTcxZjNmODA3MGJjMzE4ODhmMjRlMDMKIHB5dGhvbl92ZXJzaW9uPTMKIAog aWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCkBAIC0yMjUsNyArMjI3LDcgQEAgcXQ2LXBsdWdp bi10bHMtcWNlcnRvbmx5X3BhY2thZ2UoKSB7CiBxdDYtcGx1Z2luLW5ldHdvcmtpbmZvcm1hdGlv bl9wYWNrYWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBOZXR3b3JraW5mb3JtYXRpb24gcGx1Z2lu IgogCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSB1c3IvbGliL3F0Ni9wbHVnaW5zL25ldHdvcmtp bmZvcm1hdGlvbi9saWJxbmV0d29ya21hbmFnZXIuc28KKwkJdm1vdmUgdXNyL2xpYi9xdDYvcGx1 Z2lucy9uZXR3b3JraW5mb3JtYXRpb24vCiAJfQogfQogCkBAIC0yNDYsOSArMjQ4LDEyIEBAIHF0 Ni1iYXNlLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9p bmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMK KwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwog CQl2bW92ZSAidXNyL2xpYi8qLmEiCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1 c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9t IGQ5ZmJiZTBlOWNhZjE3NTM4Y2NiODlhOTM2YjViNjBmNDBhZjAwNmYgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0y MEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDgg QXVnIDIwMjIgMTc6MTM6MDcgKzA3MDAKU3ViamVjdDogW1BBVENIIDAyLzIyXSBxdDYtY2hhcnRz OiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LWNoYXJ0cy90ZW1wbGF0ZSB8IDcg KysrKystLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1jaGFydHMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1j aGFydHMvdGVtcGxhdGUKaW5kZXggNzljYjhhMjIwNDAxLi5lN2ZjOTUzYjQxODggMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvcXQ2LWNoYXJ0cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1jaGFydHMv dGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtY2hhcnRz JwogcGtnbmFtZT1xdDYtY2hhcnRzCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZp c2lvbj0xCiB3cmtzcmM9InF0Y2hhcnRzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWls ZF9zdHlsZT1jbWFrZQpAQCAtMTIsNyArMTIsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hu bnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8v cXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFz ZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRjaGFydHMtZXZlcnl3 aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT02NzI3NjJjNWY2NDFjY2M4OGEz MGFlZWRlZmI2M2YwM2MwZjgzNzY0OWIzMzRmNDZlZWE1NzU5MmU4N2UzNmNkCitjaGVja3N1bT1m MzMwY2MyMzI4NzI5MTA0ZDc5YjIwODg5OTBjZTA4NDBmMmRhODlkOWQ5ODkzNjBkNGMzNTJlNzk3 ZDI3Y2Y3CiAKIHF0Ni1jaGFydHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJj ZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCkBAIC0yMCw4ICsyMCwxMSBAQCBxdDYtY2hh cnRzLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNs dWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJ dm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2 bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNy L3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA4NTRiZjBjY2RjOGNjYjQ4OWRiMmZlMGQ3 YWFiMzQxZGI3MWIxNmY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/ PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25n ZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA3ICswNzAwClN1 YmplY3Q6IFtQQVRDSCAwMy8yMl0gcXQ2LWRlY2xhcmF0aXZlOiB1cGRhdGUgdG8gNi4zLjEuCgot LS0KIHNyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3RlbXBsYXRlIHwgNyArKysrKy0tCiAxIGZpbGUg Y2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUv dGVtcGxhdGUKaW5kZXggZTBiZDI4ZDllMzgzLi45Zjc5MDg2ODVjYWQgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0 aXZlL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LWRl Y2xhcmF0aXZlJwogcGtnbmFtZT1xdDYtZGVjbGFyYXRpdmUKLXZlcnNpb249Ni4zLjAKK3ZlcnNp b249Ni4zLjEKIHJldmlzaW9uPTEKIHdya3NyYz0icXRkZWNsYXJhdGl2ZS1ldmVyeXdoZXJlLXNy Yy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKQEAgLTEzLDcgKzEzLDcgQEAgbWFpbnRh aW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSB3 aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wLCBMR1BMLTMuMC1vbmx5LCBHUEwtMi4wLW9yLWxhdGVy IgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnF0LmlvIgogZGlzdGZpbGVzPSJodHRwczovL2Rvd25s b2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9z dWJtb2R1bGVzL3F0ZGVjbGFyYXRpdmUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoi Ci1jaGVja3N1bT1kMjk0YjAyOWRjMmIyZDRmNjVkYTUxNmZkYzNiODA4OGQzMjY0M2ViN2ZmNzdk YjEzNWE4YjljZTkwNGNhYTM3CitjaGVja3N1bT0wM2U3Njk0MTIzODIwZmNjYTM5N2Y5NWNlMzEy ZTBiN2YzMDM5NDkzYzg3NTRjODM2ZGEwOThhMWEwNDM0NmU4CiByZXBsYWNlcz0icXQ2LXF1aWNr Y29udHJvbHMyPj0wIgogCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KQEAgLTYwLDExICs2 MCwxNCBAQCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgp IHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1 c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3Iv bGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliL2xpYlF0NlF1aWNrVGVzdC5zby4qIgog CQl2bW92ZSB1c3IvbGliL3F0Ni9xbWwvUXRUZXN0CiAJCXZtb3ZlIHVzci9saWIvcXQ2L2Jpbi9x bWx0ZXN0cnVubmVyCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyou cHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIDliYmYzNGQ4 N2IzY2IwNjljZWZhNTA0MzgyZjNiZjQyYjIxNmE4ZjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRu Zz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIg MTc6MTM6MDcgKzA3MDAKU3ViamVjdDogW1BBVENIIDA0LzIyXSBxdDYtaW1hZ2Vmb3JtYXRzOiB1 cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZSB8 IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUgYi9zcmNwa2dz L3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUKaW5kZXggZWFjYTk1MjQzYzQ4Li42NWI2MDQzZmU0 OTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdxdDYtaW1hZ2Vmb3JtYXRzJwogcGtnbmFtZT1xdDYtaW1hZ2Vmb3JtYXRz Ci12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0aW1h Z2Vmb3JtYXRzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQpA QCAtMTIsNCArMTIsNCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+Igog bGljZW5zZT0iTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5Igog aG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQu aW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVs ZXMvcXRpbWFnZWZvcm1hdHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVj a3N1bT0wMjVkMGQxN2VkNzViNDJhN2ViNmI1MjM3MzFhYjhmMTcwMjU0MjFhODgxMGNhZGUyNWNh ZmZlMDVkOTNhYmVmCitjaGVja3N1bT1hZDAzMTJiOGRmYmJiNjdmNzI5YmZhZGJmY2Q0NzI0NmVl NGExMjhiNzE3NzMxYmExNThjNDFkMDFmZGUyMTJmCgpGcm9tIGU4M2FlOTc4NjA1NWJjNjk0OTJj MTZhYzM4NjU1OTgxNjdiNTEyMmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRG LTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQog PGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MDcgKzA3 MDAKU3ViamVjdDogW1BBVENIIDA1LzIyXSBxdDYtbG9jYXRpb246IHVwZGF0ZSB0byA2LjMuMS4K Ci0tLQogc3JjcGtncy9xdDYtbG9jYXRpb24vdGVtcGxhdGUgfCA3ICsrKysrLS0KIDEgZmlsZSBj aGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9xdDYtbG9jYXRpb24vdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1sb2NhdGlvbi90ZW1wbGF0 ZQppbmRleCBiNzM5N2Y1Zjg5NDIuLmQ1ODYwMjBjN2MxMCAxMDA2NDQKLS0tIGEvc3JjcGtncy9x dDYtbG9jYXRpb24vdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtbG9jYXRpb24vdGVtcGxhdGUK QEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtbG9jYXRpb24nCiBwa2du YW1lPXF0Ni1sb2NhdGlvbgotdmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQogcmV2aXNpb249 MQogd3Jrc3JjPSJxdHBvc2l0aW9uaW5nLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWls ZF9zdHlsZT1jbWFrZQpAQCAtMTIsNyArMTIsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hu bnluYXRvci5kZXY+IgogbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9S IEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4w IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQu cXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1v ZHVsZXMvcXRwb3NpdGlvbmluZy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNo ZWNrc3VtPWU5ZWQ1MGY2YjI0NWEzNDZkYjM0ZDYyNWQwMDEyNzc0ZWYwZWM4ZTdmZDY1MDM3MTI3 ZWMyNjc1ODcwODIzNmUKK2NoZWNrc3VtPTA2Nzg4ZTRlY2FlMTkyMDA5NGIzMGU0MDQ2ZjBhYmQy M2M4MTg5ZDhhNTFlOWM5MzliMDJmMGI2YWJlMmU4NmMKIAogcXQ2LWxvY2F0aW9uLWRldmVsX3Bh Y2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259 IHF0Ni1iYXNlLWRldmVsPj0ke3ZlcnNpb259XzEiCkBAIC0yMCw4ICsyMCwxMSBAQCBxdDYtbG9j YXRpb24tZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2lu Y2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcwor CQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJ CXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1 c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIDZkYzZkNWZmNTNjODA4MGJjOGQ4ZWM2 ZjRiODA1ZjdlMmI4YjRlMGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/ cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNv bmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MDggKzA3MDAK U3ViamVjdDogW1BBVENIIDA2LzIyXSBxdDYtbG90dGllOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0K IHNyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZSB8IDYgKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwg NCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LWxvdHRpZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQppbmRleCAxYzk3 Y2Q1ZjRmMzIuLjJjNTJmZmM3Zjg5ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtbG90dGllL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1sb3R0aWUnCiBwa2duYW1lPXF0Ni1sb3R0aWUKLXZl cnNpb249Ni4zLjAKK3ZlcnNpb249Ni4zLjEKIHJldmlzaW9uPTEKIHdya3NyYz0icXRsb3R0aWUt ZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCkBAIC0xMiw3ICsx Miw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJH UEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6 Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVy c2lvbn0vc3VibW9kdWxlcy9xdGxvdHRpZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54 eiIKLWNoZWNrc3VtPTM5ZGI1NzBiYmJhNWI1MjdhMWViNmE1Nzc0YmVkNDczOThhY2UyZjcyMTdi YmY0NWIxMTk0YWRhNmNmOTdkZWIKK2NoZWNrc3VtPTc0MGJhNzY5OTkxMjRkNWUxYTg1ZWYzZDAx YzY5OTc2YmI4NTU3ODYyYjZiMjZiZjQ4YjM1N2ZlMGNhYjFjZjUKIAogaWYgWyAiJFhCUFNfQ0hF Q0tfUEtHUyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERfVEVTVFM9T04i CkBAIC0yOCw4ICsyOCwxMCBAQCBxdDYtbG90dGllLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2lu c3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJ dm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2 bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNy L3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSBhY2E4YTY4ODUzZTcwNGU4ZWE5YzJjMDdl MzcwNzQ4YWJlOGY4NzU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/ PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25n ZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA4ICswNzAwClN1 YmplY3Q6IFtQQVRDSCAwNy8yMl0gcXQ2LW5ldHdvcmthdXRoOiB1cGRhdGUgdG8gNi4zLjEuCgot LS0KIHNyY3BrZ3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlIHwgNyArKysrKy0tCiAxIGZpbGUg Y2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtbmV0d29ya2F1dGgv dGVtcGxhdGUKaW5kZXggZTkzNGJlYWRhOWIwLi5kZjJiOWI1MGJiNzkgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LW5ldHdvcmth dXRoL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LW5l dHdvcmthdXRoJwogcGtnbmFtZT1xdDYtbmV0d29ya2F1dGgKLXZlcnNpb249Ni4zLjAKK3ZlcnNp b249Ni4zLjEKIHJldmlzaW9uPTEKIHdya3NyYz0icXRuZXR3b3JrYXV0aC1ldmVyeXdoZXJlLXNy Yy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKQEAgLTEyLDcgKzEyLDcgQEAgbWFpbnRh aW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSIK IGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0 LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1 bGVzL3F0bmV0d29ya2F1dGgtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVj a3N1bT0yMDNhOTg5NDI5MTkwMjg1MjAwMzhmOTBhMjBjZDdlZTMyYjUzNzIzMzU0NWQxMWU0Mjlj M2UyYzFhZDkwNjlmCitjaGVja3N1bT1kNjBmNTRiOWQ0NTA5ZmE4YmRiZjE5OTBiYzkxZjZlMjYw ZTM4Y2RiNTdhN2I4MTE5ZmEzODYxYmM1ZDJmYjJhCiAKIGlmIFsgIiRYQlBTX0NIRUNLX1BLR1Mi IF07IHRoZW4KIAljb25maWd1cmVfYXJncys9IiAtRFFUX0JVSUxEX1RFU1RTPU9OIgpAQCAtMjQs OCArMjQsMTEgQEAgcXQ2LW5ldHdvcmthdXRoLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3Rh bGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1v dmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUg dXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNy L2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA4 NzY0ODhjYTBjMTI3ZTA5NGM2OTQ0OTgyNzIwZjY1MThkNGM5ZWUwIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBD PUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1 ZyAyMDIyIDE3OjEzOjA4ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwOC8yMl0gcXQ2LXF0NWNvbXBh dDogdXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0Ni1xdDVjb21wYXQvdGVtcGxhdGUg fCA5ICsrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1xdDVjb21wYXQvdGVtcGxhdGUgYi9zcmNw a2dzL3F0Ni1xdDVjb21wYXQvdGVtcGxhdGUKaW5kZXggN2ZjZDVhZDUwODBlLi40MjFkNzQyYzA4 ZTAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXF0NWNvbXBhdC90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3F0Ni1xdDVjb21wYXQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdxdDYtcXQ1Y29tcGF0JwogcGtnbmFtZT1xdDYtcXQ1Y29tcGF0Ci12ZXJzaW9uPTYu My4wCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTYuMy4xCityZXZpc2lvbj0xCiB3cmtzcmM9InF0NWNv bXBhdC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZp Z3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIgpAQCAtMTIsNyArMTIsNyBAQCBtYWludGFp bmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdp dGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIExHUEwtMy4wLW9ubHksIEdQTC0yLjAtb3ItbGF0ZXIi CiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5x dC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9k dWxlcy9xdDVjb21wYXQtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1 bT0yYjE5OWJlNzgwYzUwZDkyMTQ1MTJiOTIyZDk0Y2IyNDBiMDQxMmZkNjNmNDU5ZTM1NmI3NjEw MmNhZDE3MTNlCitjaGVja3N1bT1hNDNlYzYyYmQ3NzhlYWVjZjg4YWQ3ODQ3MTE4ZDFjMmE0NzFi MGZjYjgyMGY5M2JlYjMxMWQ3YWI5NTY2Y2ZkCiAKIGlmIFsgIiRYQlBTX0NIRUNLX1BLR1MiIF07 IHRoZW4KIAljb25maWd1cmVfYXJncys9IiAtRFFUX0JVSUxEX1RFU1RTPU9OIgpAQCAtMjQsOCAr MjQsMTEgQEAgcXQ2LXF0NWNvbXBhdC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkg ewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVz ci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9s aWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIv Ki5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gMzhiNDY5 MDI2MzI0MThlYjkxYmQzZmVkM2Y1YzY3NzMyNDY5YjI1NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1C NG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAy MiAxNzoxMzowOCArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMjJdIHF0Ni1xdWljazNkOiB1cGRh dGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LXF1aWNrM2QvdGVtcGxhdGUgfCA5ICsrKysr Ky0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1xdWljazNkL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcXVp Y2szZC90ZW1wbGF0ZQppbmRleCAwZjdlZjMzNmEzZmYuLjJmMjE2YWJjZjNiOSAxMDA2NDQKLS0t IGEvc3JjcGtncy9xdDYtcXVpY2szZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1xdWljazNk L3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF1aWNr M2QnCiBwa2duYW1lPXF0Ni1xdWljazNkCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiBy ZXZpc2lvbj0xCiB3cmtzcmM9InF0cXVpY2szZC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259Igog YnVpbGRfc3R5bGU9Y21ha2UKQEAgLTEzLDcgKzEzLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVA am9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0i aHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lh bF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHF1aWNr M2QtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT0wYWQwNWJkMWVl MWY3ODRiMTgyMjBhMmQyNjI1ZWU4ZGU5MTY2MmM4OGZkYzdiNzk4NjYyOTUzZDg2ZWIzMjdlCitj aGVja3N1bT0yZmE3NjZlZTQ3YjhjMDc0MTJiM2I3NTUyMDZhZGEwNzE1ZmIwNzgxM2I2NGVkMDY5 ZTcyMDUwNDRjMDYxMjU2CiAKIGlmIFsgIiRYQlBTX1RBUkdFVF9FTkRJQU4iID0gImJlIiBdOyB0 aGVuCiAJIyBwb3NzaWJseSBhIHF0Ni1zaGFkZXJ0b29scyBidWcsIGFjdHVhbGx5CkBAIC0yNiw5 ICsyNiwxMiBAQCBxdDYtcXVpY2szZC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkg ewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVz ci9saWIvcXQ2L21rc3BlY3MKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNy L2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvYmluCisJCXZtb3ZlIHVzci9saWIv cXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5w cmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gMGRhMmQ2M2E0 YzM2ZGEzZTVjYWE4N2NiY2E3NTU3OWYxYzBjZGZiNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5n PTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAx NzoxMzowOSArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMjJdIHF0Ni1xdWlja3RpbWVsaW5lOiB1 cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LXF1aWNrdGltZWxpbmUvdGVtcGxhdGUg fCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtcXVpY2t0aW1lbGluZS90ZW1wbGF0ZSBiL3NyY3Br Z3MvcXQ2LXF1aWNrdGltZWxpbmUvdGVtcGxhdGUKaW5kZXggMTVhYTdhOGU1ODE5Li5kYzdjM2Ix M2NiYTYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXF1aWNrdGltZWxpbmUvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9xdDYtcXVpY2t0aW1lbGluZS90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1xdWlja3RpbWVsaW5lJwogcGtnbmFtZT1xdDYtcXVpY2t0 aW1lbGluZQotdmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3Jj PSJxdHF1aWNrdGltZWxpbmUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL3JjLy1yY30iCiBidWls ZF9zdHlsZT1jbWFrZQpAQCAtMTIsNyArMTIsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hu bnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRw czovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3Jl bGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9uL3JjLy1yY30vc3VibW9kdWxlcy9xdHF1 aWNrdGltZWxpbmUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL3JjLy1yY30udGFyLnh6IgotY2hl Y2tzdW09OWZmMGE5MzExNTllZmM2YmU1YmQ5ZjhhMWU0YTE2YTcwZTJkYWIzN2NmMjJhZDg1YzZk MzMwY2NmZGYzMWMxYQorY2hlY2tzdW09NThhMTNjZjBjZThlNzc1NTYzOWYyMDY4NDA3ODczM2Fm MjRmNWEzMTdmNmRkYjQwZDYwNzljOGM1YTI4ZWJiZQogCiBpZiBbICIkWEJQU19DSEVDS19QS0dT IiBdOyB0aGVuCiAJY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9URVNUUz1PTiIKCkZyb20g OGUzZTJkNjkyOWU2MDI4ZTJkNWNjZGI2N2FhYmJmMTRlOGYyNmYwMiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIw Qz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBB dWcgMjAyMiAxNzoxMzowOSArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMjJdIHF0Ni1zY3htbDog dXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0Ni1zY3htbC90ZW1wbGF0ZSB8IDcgKysr KystLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1zY3htbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXNjeG1s L3RlbXBsYXRlCmluZGV4IDExMmJhY2EwYWI4My4uMDYzYmE4MTk5ZDBlIDEwMDY0NAotLS0gYS9z cmNwa2dzL3F0Ni1zY3htbC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1zY3htbC90ZW1wbGF0 ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1zY3htbCcKIHBrZ25h bWU9cXQ2LXNjeG1sCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3 cmtzcmM9InF0c2N4bWwtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNt YWtlCkBAIC0xMiw3ICsxMiw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRl dj4iCiBsaWNlbnNlPSJMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9u bHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9h ZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3Vi bW9kdWxlcy9xdHNjeG1sLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tz dW09MDliMGRiZDZhYzM2NzkyMGZiMWJhOTZhMzlkY2Q0YzlkMzNlYjA4MjBkY2M3OTUzODk5Mjgy NWQ1ODhhNzBmMAorY2hlY2tzdW09MDFiYzE1NGQ2MTYzZDFmMDQ5ZjRlMWU3NjY1OGEwNDQ3MzBh Y2U3YjBhNWJlMzVjOWE0NmZjZDEzOTZmODYxOQogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBd OyB0aGVuCiAJY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9URVNUUz1PTiIKQEAgLTI0LDgg KzI0LDExIEBAIHF0Ni1zY3htbC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewog CQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9s aWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIv cXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5w cmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gODNjMWQ1ZDdm YWEyYmFmNmU0YjBjNjc5NjMyYmIyZmU2NGU5MjVhZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5n PTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAx NzoxMzowOSArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMjJdIHF0Ni1zZXJpYWxwb3J0OiB1cGRh dGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUgfCA3ICsr KysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtc2VyaWFscG9ydC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2 LXNlcmlhbHBvcnQvdGVtcGxhdGUKaW5kZXggMDgwNDY3MWNhNTdiLi4zYjYzNzNlZGEyYzcgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9x dDYtc2VyaWFscG9ydC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3F0Ni1zZXJpYWxwb3J0JwogcGtnbmFtZT1xdDYtc2VyaWFscG9ydAotdmVyc2lvbj02LjMu MAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHNlcmlhbHBvcnQtZXZlcnl3 aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCkBAIC0xMiw3ICsxMiw3IEBA IG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSIoTEdQTC0z LjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMuMC1vbmx5 IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBk aXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3Zl cnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHNlcmlhbHBvcnQtZXZlcnl3aGVyZS1z cmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1lZWJkNjkzNGQ0OGNjMDQ0YjhjODc3OTVh NGZkOTFiYjgxZjcxOTVkNGI1YTJkZGIxMjgwMmYzNDNkNWRiNjRmCitjaGVja3N1bT00ZWI2ZDgw ZTY1Nzk5ZGQyZTAzMThkZjRkZmJhMTQxNzNjMTkyOWU4NjE3MThjZGE5YmVkY2EyNDI1M2I2MTZl CiAKIHF0Ni1zZXJpYWxwb3J0LWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vw a2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IHF0Ni1iYXNlLWRldmVsPj0ke3ZlcnNpb259XzEi CkBAIC0yMCw4ICsyMCwxMSBAQCBxdDYtc2VyaWFscG9ydC1kZXZlbF9wYWNrYWdlKCkgewogCXBr Z19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtl CisJCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJ CXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1v dmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0K CkZyb20gN2YzMTVhYWEwNDUyOTcwNzNlNWM0NmQwMDZhYjFjNDVkOWYxMzU2MSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9 QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1v biwgOCBBdWcgMjAyMiAxNzoxMzowOSArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTMvMjJdIHF0Ni1z aGFkZXJ0b29sczogdXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0Ni1zaGFkZXJ0b29s cy90ZW1wbGF0ZSB8IDcgKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1zaGFkZXJ0b29scy90ZW1w bGF0ZSBiL3NyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlCmluZGV4IDljMWVjMjEwYTk2 YS4uNzg1YzU0NjgyNDQ2IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1zaGFkZXJ0b29scy90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1zaGFkZXJ0b29scy90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1zaGFkZXJ0b29scycKIHBrZ25hbWU9cXQ2LXNo YWRlcnRvb2xzCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtz cmM9InF0c2hhZGVydG9vbHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxl PWNtYWtlCkBAIC0xMiw3ICsxMiw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9y LmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQu aW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMv cXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRzaGFkZXJ0b29scy1ldmVy eXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTU0OTg5NTliOWQzN2MyNTRi ZDEyNmFiMTMyMGNmODZhZWI4YTMxYjNlYTdlNTFkYjY2NmE4Zjk2OThhZmJkNmMKK2NoZWNrc3Vt PTU5Yjc3MTc2OTYxNTI4Y2M3YjBjOTMyNTEzNDY1NWUyNzNhYTg3YjRjYjM4NmMwZjQ2ODNkOGYy ODUyZTQzNWEKIAogcXQ2LXNoYWRlcnRvb2xzLWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0i JHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IHF0Ni1iYXNlLWRldmVsPj0ke3Zl cnNpb259XzEiCkBAIC0yMCw4ICsyMCwxMSBAQCBxdDYtc2hhZGVydG9vbHMtZGV2ZWxfcGFja2Fn ZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNy L2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3Br Z2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyou c28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVs ZXMKIAl9CiB9CgpGcm9tIDJkNzlhZThlMjAxY2NlOThjYTQ5NjNiYzk5OGQ4ZTNjNjI5ZDFjOTYg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0y MFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29t PgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MDkgKzA3MDAKU3ViamVjdDogW1BBVENIIDE0 LzIyXSBxdDYtc3ZnOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LXN2Zy90ZW1w bGF0ZSB8IDcgKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1zdmcvdGVtcGxhdGUgYi9zcmNwa2dz L3F0Ni1zdmcvdGVtcGxhdGUKaW5kZXggYWE4ZTZiNzQ1MTA5Li5hODIxYWZjMTFmMTAgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1zdmcvdGVt cGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtc3ZnJwogcGtn bmFtZT1xdDYtc3ZnCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3 cmtzcmM9InF0c3ZnLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFr ZQpAQCAtMTIsNyArMTIsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+ IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIEdQTC0y LjAtb3ItbGF0ZXIsIExHUEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBk aXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3Zl cnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHN2Zy1ldmVyeXdoZXJlLXNyYy0ke3Zl cnNpb259LnRhci54eiIKLWNoZWNrc3VtPTMxNjQ1MDRkN2UzZjY0MDQzOTMwODIzNTczOWIxMTI2 MDVhYjVmYzljYzUxN2NhMGIyOGY5ZmI5M2E4ZGIwZTMKK2NoZWNrc3VtPTdiMTlmNDE4ZTZmN2I4 ZTIzMzQ0MDgyZGQwNDQ0MGFhY2Y1ZGEyM2M1YTczOTgwYmEyMmFlNGViYTRmODdkZjcKIAogaWYg WyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJ TERfVEVTVFM9T04iCkBAIC0yOSw4ICsyOSwxMSBAQCBxdDYtc3ZnLWRldmVsX3BhY2thZ2UoKSB7 CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIv Y21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25m aWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgog CQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJ fQogfQoKRnJvbSBmMTNhMjRjYTI5Y2QxOWUwODM3N2VjYTQxNzgyY2YzNjkxZDQxMWFiIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1F MT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0 ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjEwICswNzAwClN1YmplY3Q6IFtQQVRDSCAxNS8yMl0g cXQ2LXRvb2xzOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LXRvb2xzL3RlbXBs YXRlIHwgNyArKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXRvb2xzL3RlbXBsYXRlIGIvc3JjcGtn cy9xdDYtdG9vbHMvdGVtcGxhdGUKaW5kZXggZjg3NWRmZjVjMDQ2Li5lMGEwNDg4MjA0NTAgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXRvb2xzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXRv b2xzL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXRv b2xzJwogcGtnbmFtZT1xdDYtdG9vbHMKLXZlcnNpb249Ni4zLjAKK3ZlcnNpb249Ni4zLjEKIHJl dmlzaW9uPTEKIHdya3NyYz0icXR0b29scy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVp bGRfc3R5bGU9Y21ha2UKQEAgLTEyLDcgKzEyLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9o bm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRp b24tMS4wLCBMR1BMLTMuMC1vbmx5LCBHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBz Oi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVs ZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR0b29scy1ldmVy eXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWZjZTk0Njg4ZWE5MjU3ODJh Mjg3OTM0NzU4NDk5MWY4NTQ2MzBkYWFkYmE2YzUyYWVkNmQ5M2UzM2NkMGIxOWMKK2NoZWNrc3Vt PWM0MTI3NTBmMmFhM2JlYjkzZmNlNWYzMDUxN2M2MDdmNTVkYWFlYjdkMDQwN2FmMjA2YThhZGY5 MTdlMTI2YzEKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9h cmdzKz0iIC1EUVRfQlVJTERfVEVTVFM9T04iCkBAIC0zMSw4ICszMSwxMSBAQCBxdDYtdG9vbHMt ZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUK IAkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92 ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3Zl ICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hh cmUvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIGRkMTFiZDJjZjVmMTViMWIyM2QyOGU4YmJiZDIw ZGRmOGQ0YWMzNmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9 OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5o cXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MTAgKzA3MDAKU3ViamVj dDogW1BBVENIIDE2LzIyXSBxdDYtdHJhbnNsYXRpb25zOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0K IHNyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5n ZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni10cmFuc2xhdGlvbnMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni10cmFuc2xhdGlvbnMvdGVt cGxhdGUKaW5kZXggYmUwYTc0Y2E3NGUyLi5mYTc1MWIwOTc0NjYgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni10cmFuc2xhdGlv bnMvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtdHJh bnNsYXRpb25zJwogcGtnbmFtZT1xdDYtdHJhbnNsYXRpb25zCi12ZXJzaW9uPTYuMy4wCit2ZXJz aW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0dHJhbnNsYXRpb25zLWV2ZXJ5d2hlcmUt c3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQpAQCAtMTIsNCArMTIsNCBAQCBtYWlu dGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5 IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBk aXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3Zl cnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHRyYW5zbGF0aW9ucy1ldmVyeXdoZXJl LXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWU0ZGQ0ZWY4OTJhMzRhOTUxNGExOTIz OGYxODlhMzNlZDg1Yzc2ZjMxZGNhZDY1OTljZWQ5M2IxZTMzNDQwYjMKK2NoZWNrc3VtPWQ3YmRk NTVlMjkwOGRlZDkwMWRjYzI2MjE1NzEwMGFmMmE0OTBiZjA0ZDMxZTMyOTk1ZjZkOTFkNzhkZmRi OTcKCkZyb20gMWRlYmJkMzg1OGQ3NGI4MjZmMTU1NjFjZDIwMDExYTJjZmJmMmEzYyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9 QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6 IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzoxMCArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTcvMjJdIHF0 Ni12aXJ0dWFsa2V5Ym9hcmQ6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtdmly dHVhbGtleWJvYXJkL3RlbXBsYXRlIHwgNyArKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXZpcnR1 YWxrZXlib2FyZC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXZpcnR1YWxrZXlib2FyZC90ZW1wbGF0 ZQppbmRleCA2N2VjZWYxNDVlYTEuLjcyYzRmOTRhM2UzMiAxMDA2NDQKLS0tIGEvc3JjcGtncy9x dDYtdmlydHVhbGtleWJvYXJkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXZpcnR1YWxrZXli b2FyZC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni12 aXJ0dWFsa2V5Ym9hcmQnCiBwa2duYW1lPXF0Ni12aXJ0dWFsa2V5Ym9hcmQKLXZlcnNpb249Ni4z LjAKK3ZlcnNpb249Ni4zLjEKIHJldmlzaW9uPTEKIHdya3NyYz0icXR2aXJ0dWFsa2V5Ym9hcmQt ZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCkBAIC0xMiw3ICsx Miw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJH UEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6 Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVy c2lvbn0vc3VibW9kdWxlcy9xdHZpcnR1YWxrZXlib2FyZC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNp b259LnRhci54eiIKLWNoZWNrc3VtPTg5YWFmMTVhY2Y1NDMyYWY4ZjVjZjRlYzQ1Y2IzMmQ4N2Ez MzQ4OTA2MjE1ZGQ1NmU4MWNiMjk0ZWIyNzY1NzMKK2NoZWNrc3VtPTVmZTA4OWIyMDRkODU5YWIw ZGQwMTY5ZjgxMWYyZTMwY2FlN2M1Y2IzNmY4YWI5NWNhMzY4ODNmMWZjMGMyYjgKIAogaWYgWyAi JFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERf VEVTVFM9T04iCkBAIC0zMiw4ICszMiwxMSBAQCBxdDYtdmlydHVhbGtleWJvYXJkLWRldmVsX3Bh Y2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3Zl IHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xp Yi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xp Yi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9t b2R1bGVzCiAJfQogfQoKRnJvbSAzNGRjYmIyOWYzZWI0NDNlMjI0OWQzZDNhZDE3YzNiN2MxYzEz MGU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1B MG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWls LmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjEwICswNzAwClN1YmplY3Q6IFtQQVRD SCAxOC8yMl0gcXQ2LXdheWxhbmQ6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYt d2F5bGFuZC90ZW1wbGF0ZSB8IDkgKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdheWxhbmQv dGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRlCmluZGV4IGI3MWEyNzMwMDli OS4uMmJiYjhlMDZlMDliIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdxdDYtd2F5bGFuZCcKIHBrZ25hbWU9cXQ2LXdheWxhbmQKLXZlcnNp b249Ni4zLjAKK3ZlcnNpb249Ni4zLjEKIHJldmlzaW9uPTEKIHdya3NyYz0icXR3YXlsYW5kLWV2 ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQpAQCAtOCw2ICs4LDcg QEAgY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IgLURRVF9CVUlMRF9UT09MU19X SEVOX0NST1NTQ09NUElMSU5HPXRydWUiCiBob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVs IHBlcmwgcGtnLWNvbmZpZyB3YXlsYW5kLWRldmVsIHF0Ni13YXlsYW5kLWRldmVsIgogIyBYWFg6 IFFtbCBhcyBvcHRpb25hbCBkZXAKIG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCB3YXlsYW5k LWRldmVsIGxpYnhrYmNvbW1vbi1kZXZlbAorIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbAogIGxpYlhj b21wb3NpdGUtZGV2ZWwgTWVzYUxpYi1kZXZlbCBWdWxrYW4tSGVhZGVycyBsaWJkcm0tZGV2ZWwi CiBjaGVja2RlcGVuZHM9ImRidXMgbWVzYS1kcmkiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9y bSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gV2F5bGFuZCIKQEAgLTE1LDcgKzE2LDcg QEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0z LjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wLCBMR1BMLTMuMC1vbmx5LCBHUEwtMi4w LW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnF0LmlvIgogZGlzdGZpbGVzPSJodHRw czovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2 ZXJzaW9ufS9zdWJtb2R1bGVzL3F0d2F5bGFuZC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRh ci54eiIKLWNoZWNrc3VtPWU3YjU2N2Y2ZTQzZmZjNTkxOGQ0YWE4MjVjZTFlY2VkNjZhMDBjYjBh ODcxMzNiMjkxMmJhNWMxYjJhMDIxOTAKK2NoZWNrc3VtPTZmMTRmZWEyZDE3MmE1YjQxNzBiZTNl ZmNiMGU1ODUzNWY2NjA1YjYxYmNkODIzZjZkNWM5ZDE2NWJiOGMwZjAKIAogaWYgWyAiJFhCUFNf Q0hFQ0tfUEtHUyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERfVEVTVFM9 T04iCkBAIC0zMiw5ICszMywxMSBAQCBxdDYtd2F5bGFuZC1kZXZlbF9wYWNrYWdlKCkgewogCXBr Z19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtl CisJCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJ CXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKLQkJdm1vdmUgdXNyL2xpYi9xdDYvbGliZXhlYy9x dHdheWxhbmRzY2FubmVyCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGli LyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIGY4Yjk4 YjRmNjdjZjBlYjE2ZTczY2M3ZTY4ZGUxMDgxMjQ2ZWQyYWEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9 QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIw MjIgMTc6MTM6MTAgKzA3MDAKU3ViamVjdDogW1BBVENIIDE5LzIyXSBxdDYtd2Vic29ja2V0czog dXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3RlbXBsYXRlIHwg NyArKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvdGVtcGxhdGUgYi9zcmNwa2dz L3F0Ni13ZWJzb2NrZXRzL3RlbXBsYXRlCmluZGV4IGMyZTY3NGFhY2IzMS4uNjljMzgzMzU1YTNk IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvcXQ2LXdlYnNvY2tldHMvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdxdDYtd2Vic29ja2V0cycKIHBrZ25hbWU9cXQ2LXdlYnNvY2tldHMKLXZlcnNpb249 Ni4zLjAKK3ZlcnNpb249Ni4zLjEKIHJldmlzaW9uPTEKIHdya3NyYz0icXR3ZWJzb2NrZXRzLWV2 ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQpAQCAtMTIsNyArMTIs NyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iKExH UEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAt b25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8v IgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQv JHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR3ZWJzb2NrZXRzLWV2ZXJ5d2hl cmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ZTAxOGEwOWZlOTYwYjdkOTU2MGQ2 YmJjOWQzY2EwMjJmZWQ2NTY2ZTZiYTZmYzZkODY5YTk3NDgyZDRlNjM2MQorY2hlY2tzdW09OWY5 ODBkOTBjOTdmY2JkZTFiNTBjNzczZjZkYzU4MGNmZGY4YzM2Y2UxNGExYmUzYWEyY2NhZGZlNjA1 MTIxYQogCiBxdDYtd2Vic29ja2V0cy1kZXZlbF9wYWNrYWdlKCkgewogCWRlcGVuZHM9IiR7c291 cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtYmFzZS1kZXZlbD49JHt2ZXJzaW9u fV8xIgpAQCAtMjAsOCArMjAsMTEgQEAgcXQ2LXdlYnNvY2tldHMtZGV2ZWxfcGFja2FnZSgpIHsK IAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9j bWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZp ZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJ CXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9 CiB9CgpGcm9tIDM2Nzk3NzZhOGY1OTc3YzM0OTQ0YzhhZjVjZTY0OGMzMWZkZTRiZWEgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUx PUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRl OiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MTEgKzA3MDAKU3ViamVjdDogW1BBVENIIDIwLzIyXSBO ZXcgcGFja2FnZTogcXQ2LXdlYmNoYW5uZWwtNi4zLjEKCi0tLQogc3JjcGtncy9xdDYtd2ViY2hh bm5lbC1kZXZlbCAgICB8ICAxICsKIHNyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdGVtcGxhdGUgfCAz MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvcXQ2LXdlYmNoYW5u ZWwvdXBkYXRlICAgfCAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKykKIGNy ZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3F0Ni13ZWJjaGFubmVsLWRldmVsCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0ZQogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtd2ViY2hhbm5lbC1kZXZlbCBiL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwtZGV2ZWwKbmV3IGZp bGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi4wM2U4YjIzZDc4NWQKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsLWRldmVsCkBAIC0wLDAgKzEgQEAKK3F0 Ni13ZWJjaGFubmVsClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdGVt cGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kOGRiNmZhZTlk OGIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3RlbXBsYXRlCkBA IC0wLDAgKzEsMzMgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni13ZWJjaGFubmVsJworcGtn bmFtZT1xdDYtd2ViY2hhbm5lbAordmVyc2lvbj02LjMuMQorcmV2aXNpb249MQord3Jrc3JjPSJx dHdlYmNoYW5uZWwtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKK2J1aWxkX3N0eWxlPWNtYWtl Citjb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BBVEg9L3VzciIKK2hvc3RtYWtlZGVwZW5kcz0i cGVybCBxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCittYWtlZGVwZW5kcz0i cXQ2LWJhc2UtZGV2ZWwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIHF0Ni13ZWJzb2NrZXRzLWRldmVs Igorc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29y ayAtIHdlYmNoYW5uZWwiCittYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+Igor bGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkg QU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgoraG9tZXBhZ2U9Imh0 dHBzOi8vcXQuaW8vIgorZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxf cmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR3ZWJjaGFu bmVsLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgorY2hlY2tzdW09YWFhMjBhYzIz Zjg2OTkyNzIxYjdlZTQ4N2MzNzlhM2ZkNjhjYWE4Y2RjZWEwYTc3YTM3ZTBkOGI0N2ZmMjY2OAor CitxdDYtd2ViY2hhbm5lbC1kZXZlbF9wYWNrYWdlKCkgeworCWRlcGVuZHM9IiR7c291cmNlcGtn fT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtYmFzZS1kZXZlbD49JHt2ZXJzaW9ufV8xCisJ IHF0Ni13ZWJzb2NrZXRzLWRldmVsPj0ke3ZlcnNpb259XzEiCisJc2hvcnRfZGVzYys9IiAtIGRl dmVsb3BtZW50IGZpbGVzIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1c3IvaW5jbHVkZQor CQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3Zl IHVzci9saWIvcGtnY29uZmlnCisJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKKwkJdm1vdmUg dXNyL2xpYi9xdDYvcW1sL1F0V2ViQ2hhbm5lbC9wbHVnaW5zLnFtbHR5cGVzCisJCXZtb3ZlIHVz ci9saWIvcXQ2L3FtbC9RdFdlYkNoYW5uZWwvcW1sZGlyCisJCXZtb3ZlICJ1c3IvbGliLyouc28i CisJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMK Kwl9Cit9CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3VwZGF0ZSBiL3NyY3Br Z3MvcXQ2LXdlYmNoYW5uZWwvdXBkYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uODQ0NTUyNDY1MjIyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2Vi Y2hhbm5lbC91cGRhdGUKQEAgLTAsMCArMSBAQAorcGtnbmFtZT0iJHtwa2duYW1lLzYtL30tZXZl cnl3aGVyZS1zcmMiCgpGcm9tIGIwNDgzNTU2OTc0YjQ1ODY1MTY0ZDI4OTEwMDNjODQ0NjE2ZjBl NjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEw bj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwu Y29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MTEgKzA3MDAKU3ViamVjdDogW1BBVENI IDIxLzIyXSBOZXcgcGFja2FnZTogcXQ2LW11bHRpbWVkaWEtNi4zLjEKCi0tLQogc3JjcGtncy9x dDYtbXVsdGltZWRpYS1kZXZlbCAgICB8ICAxICsKIHNyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVt cGxhdGUgfCAzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvcXQ2 LW11bHRpbWVkaWEvdXBkYXRlICAgfCAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlv bnMoKykKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3F0Ni1tdWx0aW1lZGlhLWRldmVsCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZQogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdXBkYXRlCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDYtbXVsdGltZWRpYS1kZXZlbCBiL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEtZGV2 ZWwKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi45MzQzNDQ2NTAyZDAK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni1tdWx0aW1lZGlhLWRldmVsCkBAIC0wLDAg KzEgQEAKK3F0Ni1tdWx0aW1lZGlhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LW11bHRp bWVkaWEvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5j Y2M1MjkwODUyZTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3Rl bXBsYXRlCkBAIC0wLDAgKzEsMzMgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1tdWx0aW1l ZGlhJworcGtnbmFtZT1xdDYtbXVsdGltZWRpYQordmVyc2lvbj02LjMuMQorcmV2aXNpb249MQor d3Jrc3JjPSJxdG11bHRpbWVkaWEtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKK2J1aWxkX3N0 eWxlPWNtYWtlCitjb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BBVEg9L3VzciAtRFFUX0ZFQVRV UkVfZ3N0cmVhbWVyPU9OIgoraG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1kZWNsYXJhdGl2ZS1k ZXZlbCBwa2ctY29uZmlnCisgcXQ2LXNoYWRlcnRvb2xzLWRldmVsIgorbWFrZWRlcGVuZHM9InF0 Ni1kZWNsYXJhdGl2ZS1kZXZlbAorIHF0Ni1zaGFkZXJ0b29scy1kZXZlbCBsaWJnbGliLWRldmVs IGdzdC1wbHVnaW5zLWJhc2UxLWRldmVsIgorc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBw bGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIG11bHRpbWVkaWEiCittYWludGFpbmVyPSJKb2hu IDxtZUBqb2hubnluYXRvci5kZXY+IgorbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIu MC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNl cHRpb24tMS4wIgoraG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgorZGlzdGZpbGVzPSJodHRwOi8v ZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNp b259L3N1Ym1vZHVsZXMvcXRtdWx0aW1lZGlhLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFy Lnh6IgorY2hlY2tzdW09N2UwMzI0MmFhZGQ2MzRmZjJkOWZjZjA4OTQ4MjkwZjAzZGEzZDlhNTAx MjM2OWQ5MDhkYTg5ZjgyYjFkNzMzNgorCitxdDYtbXVsdGltZWRpYS1kZXZlbF9wYWNrYWdlKCkg eworCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtYmFz ZS1kZXZlbD49JHt2ZXJzaW9ufV8xIgorCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxl cyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2luY2x1ZGUKKwkJdm1vdmUgdXNyL2xp Yi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2Nv bmZpZworCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCisJCXZtb3ZlIHVzci9saWIvcXQ2L3Ft bC9RdE11bHRpbWVkaWEvcGx1Z2lucy5xbWx0eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9xbWwv UXRNdWx0aW1lZGlhL3FtbGRpcgorCQl2bW92ZSAidXNyL2xpYi8qLnNvIgorCQl2bW92ZSAidXNy L2xpYi8qLnBybCIKKwl9Cit9CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3Vw ZGF0ZSBiL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdXBkYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uODQ0NTUyNDY1MjIyCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9xdDYtbXVsdGltZWRpYS91cGRhdGUKQEAgLTAsMCArMSBAQAorcGtnbmFtZT0iJHtwa2du YW1lLzYtL30tZXZlcnl3aGVyZS1zcmMiCgpGcm9tIDRmMWVhZGIzYjlhZWI4NzdhNmQ1MTUxYTJi YzA0Zjg2ZGU2ZmE4NzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89 QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdk YW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MTEgKzA3MDAKU3Vi amVjdDogW1BBVENIIDIyLzIyXSBOZXcgcGFja2FnZTogcXQ2LXdlYmVuZ2luZS02LjMuMS4KCi0t LQogY29tbW9uL3NobGlicyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNyAr CiBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUtZGV2ZWwgICAgICAgICAgICAgICAgICAgfCAgICAxICsK IC4uLi9wYXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5wYXRjaCAgICAgICAgICB8ICAgMTEgKwog Li4uL3BhdGNoZXMvMDAwMi1lbmFibGUtcHBjNjQucGF0Y2ggICAgICAgICAgIHwgICAyMCArCiAu Li4vcGF0Y2hlcy8wMDAzLWNyb3NzLWhhY2sucGF0Y2ggICAgICAgICAgICAgfCAgIDEwICsKIC4u Li8wMDA0LXBwYy1kaXNhYmxlLWp4bC1kZWNvZGVyLnBhdGNoICAgICAgICB8ICAgMTMgKwogLi4u L3BhdGNoZXMvMDA1MC1uby1nbGliYy1jbWFrZS1jaGVjay5wYXRjaCAgIHwgICAxNCArCiAuLi4v MDEwMC1jaHJvbWl1bS1zYW5kYm94LW1lbWJhcnJpZXIucGF0Y2ggICAgfCAgIDU4ICsKIC4uLi9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMS1zaXplX3QucGF0Y2ggICB8ICAgMTYgKwogLi4uLzAx MDItY2hyb21pdW0tOTAtcnV5LWluY2x1ZGUucGF0Y2ggICAgICAgIHwgICAxOSArCiAuLi4tdjgt bW9ub3RvbmljLXB0aHJlYWQtY29udF90aW1lZHdhaXQucGF0Y2ggfCAgIDIyICsKIC4uLi8wMTA0 LWNocm9taXVtLXJldmVydC05ZDA4MGMwLnBhdGNoICAgICAgICB8ICAxNjIgKwogLi4uLWNocm9t aXVtLXJldmVydC1kcm9wLW9mLXN5c3RlbS1qYXZhLnBhdGNoIHwgICAxNSArCiAuLi4vcGF0Y2hl cy8wMTA2LWNocm9taXVtLXN5c3RlbS1ub2RlanMucGF0Y2ggfCAgIDIwICsKIC4uLi8wMTA3LWNo cm9taXVtLWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2ggICB8ICAgMTggKwogLi4uLzAxMDgtY2hy b21pdW0tZml4LW5hcnJvd2luZy1jYXN0LnBhdGNoICAgIHwgICA1MyArCiAuLi4vMDEwOS1jaHJv bWl1bS1yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoICAgfCAgIDMyICsKIC4uLml1bS1yZXZlcnQt dXNlLWZmaWxlLWNvbXBpbGF0aW9uLWRpci5wYXRjaCB8ICAgNTcgKwogLi4uMTEtY2hyb21pdW0t bm8tV25vLXN0cmluZ29wLW92ZXJyZWFkLnBhdGNoIHwgICAxMCArCiAuLi4vMDE1MC1jaHJvbWl1 bS1nbGliYy1saWJjX21hbGxvYy5wYXRjaCAgICAgfCAgIDI0ICsKIC4uLi1pbmNsdWRlLXN5cy1y ZWcuaC10by1nZXQtX19XT1JEU0laRS5wYXRjaCB8ICAgMjEgKwogLi4uLzAyMDEtY2hyb21pdW0t bXVzbC1kaXNwYXRjaC10by1tdXNsLnBhdGNoIHwgIDEwMyArCiAuLi4vMDIwMi1jaHJvbWl1bS1t dXNsLW5vLW1hbGxpbmZvLnBhdGNoICAgICAgfCAgIDYyICsKIC4uLi8wMjAzLWNocm9taXVtLW11 c2wtc2lnaW5mb190LnBhdGNoICAgICAgICB8ICAgMTggKwogLi4uLzAyMDQtY2hyb21pdW0tbXVz bC1zdGFja3N0YXJ0LnBhdGNoICAgICAgIHwgICAyMCArCiAuLi4vcGF0Y2hlcy8wMjA1LWNocm9t aXVtLW11c2wtc2FuZGJveC5wYXRjaCAgfCAgIDkyICsKIC4uLjAyMDYtY2hyb21pdW0tbXVzbC1k ZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaCB8ICAgMTUgKwogLi4uLWNocm9taXVtLW11c2wtY3Jvc3Mt bm8tYXNtX3B0cmFjZV9oLnBhdGNoIHwgICAzMCArCiAuLi4vcGF0Y2hlcy8wMjA4LWNocm9taXVt LW11c2wtZXhlY2luZm8ucGF0Y2ggfCAgMTI1ICsKIC4uLi8wMjA5LWNocm9taXVtLW11c2wtdGhy ZWFkLXN0YWNrc2l6ZS5wYXRjaCB8ICAgMjIgKwogLi4uLzAyMTAtY2hyb21pdW0tbXVzbC1tc2d2 ZWMtcHVzaF9iYWNrLnBhdGNoIHwgICAxNCArCiAuLi5pdW0tbXVzbC1jYW5vbmljYWxpemUtZmls ZS1uYW1lLW11c2wucGF0Y2ggfCAgIDExICsKIC4uLi8wMjEyLWNocm9taXVtLW11c2wtbm8tZ2V0 Y29udGV4dC5wYXRjaCAgICB8ICAgMjkgKwogLi4uL3BhdGNoZXMvMDIxMy1jaHJvbWl1bS1tdXNs LWNyYXNocGFkLnBhdGNoIHwgICAyMiArCiAuLi4vcGF0Y2hlcy8wMjE0LWNocm9taXVtLW11c2wt Zml4ZXMucGF0Y2ggICAgfCAgMTA4ICsKIC4uLi9wYXRjaGVzLzAyMTUtY2hyb21pdW0tbXVzbC1j ZGVmcy5wYXRjaCAgICB8ICAgMjkgKwogLi4uL3BhdGNoZXMvMDIxNi1jaHJvbWl1bS1tdXNsLXN0 YXQucGF0Y2ggICAgIHwgICAxMiArCiAuLi4vcGF0Y2hlcy8wMjE3LWNocm9taXVtLW11c2wtcmVz b2x2ZXIucGF0Y2ggfCAgIDc3ICsKIC4uLi9wYXRjaGVzLzA2MDAtY2hyb21pdW0tc25kaW8ucGF0 Y2ggICAgICAgICB8ICA4NzYgKysrKwogLi4uL3BhdGNoZXMvMDcwMC1hcm12N2wtbmVvbi5wYXRj aCAgICAgICAgICAgIHwgICAxMCArCiAuLi4vMDc1MC1jaHJvbWl1bS1tdXNsLWFybS11c2VyX3Zm cC5wYXRjaCAgICAgfCAgIDIwICsKIC4uLi8wNzUxLWNocm9taXVtLW11c2wtYXJtLWVsZl9hdXh2 X3QucGF0Y2ggICB8ICAgMTggKwogLi4uMDgwMS1jaHJvbWl1bS1pNjg2LXZhYXBpLWZwZXJtaXNz aXZlLnBhdGNoIHwgICAyNCArCiAuLi4vcGF0Y2hlcy8wOTAwLXh4eC1wcGM2NGxlLWxpYnZweC5w YXRjaCAgICAgfCAgIDY1ICsKIC4uLi8wOTAxLXh4eC1wcGM2NGxlLXNhbmRib3gtbGludXgtc3Rh dC5wYXRjaCB8ICAgMzEgKwogLi4uL3BhdGNoZXMvMDkwMi14eHgtcHBjNjRsZS1zdXBwb3J0LnBh dGNoICAgIHwgMzU1OSArKysrKysrKysrKysrKysrKwogLi4uLzA5MDMteHh4LXBwYzY0bGUtc3dp ZnRzaGFkZXIucGF0Y2ggICAgICAgIHwgICAxOCArCiBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvdGVt cGxhdGUgICAgICAgICAgICAgICAgfCAgMTc1ICsKIHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS91cGRh dGUgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogNDkgZmlsZXMgY2hhbmdlZCwgNjE4OSBpbnNl cnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVs CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMS1O b25lLW5vLWRlYnVnLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDAwMi1lbmFibGUtcHBjNjQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAzLWNyb3NzLWhhY2sucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA0LXBwYy1kaXNh YmxlLWp4bC1kZWNvZGVyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDA1MC1uby1nbGliYy1jbWFrZS1jaGVjay5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDAtY2hyb21pdW0tc2Fu ZGJveC1tZW1iYXJyaWVyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDEwMS1zaXplX3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAyLWNocm9taXVtLTkwLXJ1eS1pbmNsdWRlLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEw My1jaHJvbWl1bS12OC1tb25vdG9uaWMtcHRocmVhZC1jb250X3RpbWVkd2FpdC5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDQtY2hyb21p dW0tcmV2ZXJ0LTlkMDgwYzAucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTA1LWNocm9taXVtLXJldmVydC1kcm9wLW9mLXN5c3RlbS1qYXZh LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDEwNi1jaHJvbWl1bS1zeXN0ZW0tbm9kZWpzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNy1jaHJvbWl1bS1jdXJzZWReVXNjb3BlZF9m aWxlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDEwOC1jaHJvbWl1bS1maXgtbmFycm93aW5nLWNhc3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA5LWNocm9taXVtLXJlbW92ZS1z dHJpcF9iaW5hcnkucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMTEwLWNocm9taXVtLXJldmVydC11c2UtZmZpbGUtY29tcGlsYXRpb24tZGly LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDExMS1jaHJvbWl1bS1uby1Xbm8tc3RyaW5nb3Atb3ZlcnJlYWQucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTUwLWNocm9taXVtLWdsaWJj LWxpYmNfbWFsbG9jLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1tdXNsLWluY2x1ZGUtc3lzLXJlZy5oLXRvLWdldC1f X1dPUkRTSVpFLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDIwMS1jaHJvbWl1bS1tdXNsLWRpc3BhdGNoLXRvLW11c2wucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAyLWNocm9taXVt LW11c2wtbm8tbWFsbGluZm8ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMjAzLWNocm9taXVtLW11c2wtc2lnaW5mb190LnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwNC1jaHJvbWl1 bS1tdXNsLXN0YWNrc3RhcnQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMjA1LWNocm9taXVtLW11c2wtc2FuZGJveC5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDYtY2hyb21pdW0t bXVzbC1kZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDctY2hyb21pdW0tbXVzbC1jcm9zcy1uby1hc21fcHRy YWNlX2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMjA4LWNocm9taXVtLW11c2wtZXhlY2luZm8ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA5LWNocm9taXVtLW11c2wtdGhyZWFk LXN0YWNrc2l6ZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAyMTAtY2hyb21pdW0tbXVzbC1tc2d2ZWMtcHVzaF9iYWNrLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMS1jaHJvbWl1 bS1tdXNsLWNhbm9uaWNhbGl6ZS1maWxlLW5hbWUtbXVzbC5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTItY2hyb21pdW0tbXVzbC1uby1n ZXRjb250ZXh0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDIxMy1jaHJvbWl1bS1tdXNsLWNyYXNocGFkLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNC1jaHJvbWl1bS1tdXNsLWZp eGVzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDIxNS1jaHJvbWl1bS1tdXNsLWNkZWZzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNi1jaHJvbWl1bS1tdXNsLXN0YXQucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE3LWNo cm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNjAwLWNocm9taXVtLXNuZGlvLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDcwMC1hcm12N2wtbmVvbi5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3 NTAtY2hyb21pdW0tbXVzbC1hcm0tdXNlcl92ZnAucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUxLWNocm9taXVtLW11c2wtYXJtLWVsZl9h dXh2X3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wODAxLWNocm9taXVtLWk2ODYtdmFhcGktZnBlcm1pc3NpdmUucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAwLXh4eC1wcGM2NGxl LWxpYnZweC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzA5MDEteHh4LXBwYzY0bGUtc2FuZGJveC1saW51eC1zdGF0LnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDkwMi14eHgtcHBjNjRs ZS1zdXBwb3J0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDkwMy14eHgtcHBjNjRsZS1zd2lmdHNoYWRlci5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZQogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS91cGRhdGUKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJz IGIvY29tbW9uL3NobGlicwppbmRleCAzMjY5NDM3MTNmMDcuLjk2ZTQwYTllMjRmZiAxMDA2NDQK LS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0yMDc3LDYgKzIwNzcs MTMgQEAgbGliUXQ2U2VyaWFsUG9ydC5zby42IHF0Ni1zZXJpYWxwb3J0LTYuMi4wYWxwaGFfMQog bGliUXQ2V2ViU29ja2V0cy5zby42IHF0Ni13ZWJzb2NrZXRzLTYuMi4wYWxwaGFfMQogbGliUXQ2 V2ViQ2hhbm5lbC5zby42IHF0Ni13ZWJjaGFubmVsLTYuMi4wYWxwaGFfMQogbGliUXQ2UG9zaXRp b25pbmcuc28uNiBxdDYtbG9jYXRpb24tNi4yLjBhbHBoYV8xCitsaWJRdDZXZWJFbmdpbmVRdWlj ay5zby42IHF0Ni13ZWJlbmdpbmUtNi4zLjFfMQorbGliUXQ2UGRmV2lkZ2V0cy5zby42IHF0Ni13 ZWJlbmdpbmUtNi4zLjFfMQorbGliUXQ2UGRmUXVpY2suc28uNiBxdDYtd2ViZW5naW5lLTYuMy4x XzEKK2xpYlF0NldlYkVuZ2luZUNvcmUuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKK2xpYlF0 NlBkZi5zby42IHF0Ni13ZWJlbmdpbmUtNi4zLjFfMQorbGliUXQ2V2ViRW5naW5lUXVpY2tEZWxl Z2F0ZXNRbWwuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKK2xpYlF0NldlYkVuZ2luZVdpZGdl dHMuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKIGxpYm5wdGguc28uMCBucHRoLTEuMV8xCiBs aWJucHVwbnAuc28uNCBsaWJucHVwbnAtNC4wLjJfMQogbGliZ2xmdy5zby4zIGdsZnctMy4wLjRf MQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVsIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4u OGU0ZDFiOTljNTg3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lLWRl dmVsCkBAIC0wLDAgKzEgQEAKK3F0Ni13ZWJlbmdpbmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAxLU5vbmUt bm8tZGVidWcucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAxLU5vbmUt bm8tZGVidWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4x YmEzM2Y4ZTZmZDkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMDAxLU5vbmUtbm8tZGVidWcucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGEvY21h a2UvRnVuY3Rpb25zLmNtYWtlCisrKysgYi9jbWFrZS9GdW5jdGlvbnMuY21ha2UKK0BAIC04MTMs NiArODEzLDggQEAgbWFjcm8oYXBwZW5kX2J1aWxkX3R5cGVfc2V0dXApCisgICAgICAgICBlbmRp ZigpCisgICAgIGVsc2VpZigke2NvbmZpZ30gU1RSRVFVQUwgIk1pblNpemVSZWwiKQorICAgICAg ICAgbGlzdChBUFBFTkQgZ25BcmdBcmcgaXNfZGVidWc9ZmFsc2Ugc3ltYm9sX2xldmVsPTAgb3B0 aW1pemVfZm9yX3NpemU9dHJ1ZSkKKysgICAgZWxzZWlmKCR7Y29uZmlnfSBTVFJFUVVBTCAiTm9u ZSIpCisrICAgICAgICBsaXN0KEFQUEVORCBnbkFyZ0FyZyBpc19kZWJ1Zz1mYWxzZSBzeW1ib2xf bGV2ZWw9MCkKKyAgICAgZW5kaWYoKQorICAgICBpZihGRUFUVVJFX2RldmVsb3Blcl9idWlsZCBP UiAoJHtjb25maWd9IFNUUkVRVUFMICJEZWJ1ZyIpIE9SIFFUX0ZFQVRVUkVfd2ViZW5naW5lX3Nh bml0aXplcikKKyAgICAgICAgIGxpc3QoQVBQRU5EIGduQXJnQXJnCmRpZmYgLS1naXQgYS9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAyLWVuYWJsZS1wcGM2NC5wYXRjaCBiL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDItZW5hYmxlLXBwYzY0LnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDcyZWYxYWQxYTEwCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMi1lbmFibGUtcHBjNjQu cGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorLS0tIGEvY21ha2UvRnVuY3Rpb25zLmNtYWtlCisrKysg Yi9jbWFrZS9GdW5jdGlvbnMuY21ha2UKK0BAIC02MjIsNiArNjIyLDggQEAgZnVuY3Rpb24oZ2V0 X2duX2FyY2ggcmVzdWx0IGFyY2gpCisgICAgICAgICBzZXQoJHtyZXN1bHR9ICJtaXBzZWwiIFBB UkVOVF9TQ09QRSkKKyAgICAgZWxzZWlmKGFyY2ggU1RSRVFVQUwgIm1pcHNlbDY0IikKKyAgICAg ICAgIHNldCgke3Jlc3VsdH0gIm1pcHM2NGVsIiBQQVJFTlRfU0NPUEUpCisrICAgIGVsc2VpZihh cmNoIFNUUkVRVUFMICJwb3dlcjY0IikKKysgICAgICAgIHNldCgke3Jlc3VsdH0gInBvd2VyNjQi IFBBUkVOVF9TQ09QRSkKKyAgICAgZWxzZSgpCisgICAgICAgICBtZXNzYWdlKERFQlVHICJVbnN1 cHBvcnRlZCBhcmNoaXRlY3R1cmU6ICR7YXJjaH0iKQorICAgICBlbmRpZigpCitAQCAtNjQxLDYg KzY0Myw4IEBAIGZ1bmN0aW9uKGdldF92OF9hcmNoIHJlc3VsdCB0YXJnZXRBcmNoIGgKKyAgICAg ICAgICAgICBzZXQoJHtyZXN1bHR9ICJtaXBzZWwiIFBBUkVOVF9TQ09QRSkKKyAgICAgICAgIGVs c2VpZihob3N0QXJjaCBTVFJFUVVBTCAibWlwc2VsNjQiKQorICAgICAgICAgICAgIHNldCgke3Jl c3VsdH0gIm1pcHNlbCIgUEFSRU5UX1NDT1BFKQorKyAgICAgICAgZWxzZWlmKGhvc3RBcmNoIFNU UkVRVUFMICJwb3dlcjY0IikKKysgICAgICAgICAgICBzZXQoJHtyZXN1bHR9ICJwb3dlcjY0IiBQ QVJFTlRfU0NPUEUpCisgICAgICAgICBlbHNlKCkKKyAgICAgICAgICAgICBtZXNzYWdlKERFQlVH ICJVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmU6ICR7aG9zdEFyY2h9IikKKyAgICAgICAgIGVuZGlm KCkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDMtY3Jvc3Mt aGFjay5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDMtY3Jvc3MtaGFj ay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmVhOWY5MDA5 NGE2MwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAw MDMtY3Jvc3MtaGFjay5wYXRjaApAQCAtMCwwICsxLDEwIEBACistLS0gYS9zcmMvY29yZS9hcGkv Q01ha2VMaXN0cy50eHQKKysrKyBiL3NyYy9jb3JlL2FwaS9DTWFrZUxpc3RzLnR4dAorQEAgLTUw LDYgKzUwLDcgQEAgcXRfaW50ZXJuYWxfYWRkX21vZHVsZShXZWJFbmdpbmVDb3JlCisgICAgICAg ICBRdDo6R3VpCisgICAgICAgICBRdDo6TmV0d29yaworICAgICAgICAgUXQ6OlF1aWNrCisrICAg ICAgICBYMTEKKyApCisgCisgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKFdlYkVuZ2luZUNvcmUgUFJP UEVSVElFUyBRVFdFQkVOR0lORVBST0NFU1NfTkFNRSAke3F0V2ViRW5naW5lUHJvY2Vzc05hbWV9 KQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNC1wcGMtZGlz YWJsZS1qeGwtZGVjb2Rlci5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAw MDQtcHBjLWRpc2FibGUtanhsLWRlY29kZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwLi43M2MxMTUxOTY4ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA0LXBwYy1kaXNhYmxlLWp4bC1kZWNvZGVyLnBhdGNo CkBAIC0wLDAgKzEsMTMgQEAKKy0tLSBhL3NyYy9jb3JlL0NNYWtlTGlzdHMudHh0CisrKysgYi9z cmMvY29yZS9DTWFrZUxpc3RzLnR4dAorQEAgLTQxNCw2ICs0MTQsMTAgQEAgZm9yZWFjaChhcmNo ICR7YXJjaHN9KQorICAgICAgICAgICAgICAgICBDT05ESVRJT04gUVRfRkVBVFVSRV93ZWJlbmdp bmVfb3pvbmVfeDExIEFORCBYU0NSTlNBVkVSX0ZPVU5ECisgICAgICAgICAgICAgKQorIAorKyAg ICAgICAgICAgIGlmIChjcHUgU1RSRVFVQUwgInBwYzY0IikKKysgICAgICAgICAgICAgICAgbGlz dChBUFBFTkQgZ25BcmdBcmcgZW5hYmxlX2p4bF9kZWNvZGVyPWZhbHNlKQorKyAgICAgICAgICAg IGVuZGlmKCkKKysKKyAgICAgICAgICAgICBpZihRVF9GRUFUVVJFX3dlYmVuZ2luZV9rZXJiZXJv cykKKyAgICAgICAgICAgICAgICAgbGlzdChBUFBFTkQgZ25BcmdBcmcKKyAgICAgICAgICAgICAg ICAgICAgICBleHRlcm5hbF9nc3NhcGlfaW5jbHVkZV9kaXI9IiR7R1NTQVBJX0lOQ0xVREVfRElS U30vZ3NzYXBpIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDA1 MC1uby1nbGliYy1jbWFrZS1jaGVjay5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAwNTAtbm8tZ2xpYmMtY21ha2UtY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwLi5mNzU2YmYwMjg2YmIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDUwLW5vLWdsaWJjLWNtYWtlLWNoZWNrLnBhdGNo CkBAIC0wLDAgKzEsMTQgQEAKKy0tLSBhL2NvbmZpZ3VyZS5jbWFrZQorKysrIGIvY29uZmlndXJl LmNtYWtlCitAQCAtNDk5LDExICs0OTksNiBAQCBhZGRfY2hlY2tfZm9yX3N1cHBvcnQoCisgKQor IGFkZF9jaGVja19mb3Jfc3VwcG9ydCgKKyAgICBNT0RVTEVTIFF0V2ViRW5naW5lIFF0UGRmCist ICAgQ09ORElUSU9OIE5PVCBMSU5VWCBPUiBURVNUX2dsaWJjCistICAgTUVTU0FHRSAiQSBzdWl0 YWJsZSB2ZXJzaW9uID49IDIuMTcgb2YgZ2xpYmMgaXMgcmVxdWlyZWQuIgorLSkKKy1hZGRfY2hl Y2tfZm9yX3N1cHBvcnQoCistICAgTU9EVUxFUyBRdFdlYkVuZ2luZSBRdFBkZgorICAgIENPTkRJ VElPTiBOT1QgTElOVVggT1IgVEVTVF9raHIKKyAgICBNRVNTQUdFICJCdWlsZCByZXF1aXJlcyBL aHJvbm9zIGRldmVsb3BtZW50IGhlYWRlcnMgZm9yIGJ1aWxkIC0gc2VlIG1lc2EvbGliZWdsMS1t ZXNhLWRldiIKKyApCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MTAwLWNocm9taXVtLXNhbmRib3gtbWVtYmFycmllci5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAxMDAtY2hyb21pdW0tc2FuZGJveC1tZW1iYXJyaWVyLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmRkN2I0YWE5NDhmCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMC1jaHJvbWl1bS1z YW5kYm94LW1lbWJhcnJpZXIucGF0Y2gKQEAgLTAsMCArMSw1OCBAQAorLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3Nl dHMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAt YnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCitAQCAtNDEzLDYgKzQxMyw3IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzQWxsb3dlZFByb2Nlc3NTdGFydE8KKyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAg ICAgY2FzZSBfX05SX2V4aXQ6CisgICAgIGNhc2UgX19OUl9leGl0X2dyb3VwOgorKyAgICBjYXNl IF9fTlJfbWVtYmFycmllcjoKKyAgICAgY2FzZSBfX05SX3dhaXQ0OgorICAgICBjYXNlIF9fTlJf d2FpdGlkOgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMuaAor KysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMv YXJtNjRfbGludXhfc3lzY2FsbHMuaAorQEAgLTEyMTUsNCArMTIxNSw4IEBACisgI2RlZmluZSBf X05SX2xhbmRsb2NrX3Jlc3RyaWN0X3NlbGYgNDQ2CisgI2VuZGlmCisgCisrI2lmICFkZWZpbmVk KF9fTlJfbWVtYmFycmllcikKKysjZGVmaW5lIF9fTlJfbWVtYmFycmllciAyODMKKysjZW5kaWYK KysKKyAjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfQVJNNjRfTElOVVhf U1lTQ0FMTFNfSF8KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5 c3RlbV9oZWFkZXJzL2FybV9saW51eF9zeXNjYWxscy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm1fbGludXhfc3lzY2FsbHMuaAor QEAgLTE2MTcsNiArMTYxNywxMCBAQAorICNkZWZpbmUgX19OUl9sYW5kbG9ja19yZXN0cmljdF9z ZWxmIChfX05SX1NZU0NBTExfQkFTRSArIDQ0NikKKyAjZW5kaWYKKyAKKysjaWYgIWRlZmluZWQo X19OUl9tZW1iYXJyaWVyKQorKyNkZWZpbmUgX19OUl9tZW1iYXJyaWVyIChfX05SX1NZU0NBTExf QkFTRSszODkpCisrI2VuZGlmCisrCisgLy8gQVJNIHByaXZhdGUgc3lzY2FsbHMuCisgI2lmICFk ZWZpbmVkKF9fQVJNX05SX0JBU0UpCisgI2RlZmluZSBfX0FSTV9OUl9CQVNFIChfX05SX1NZU0NB TExfQkFTRSArIDB4RjAwMDApCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9s aW51eC9zeXN0ZW1faGVhZGVycy94ODZfMzJfbGludXhfc3lzY2FsbHMuaAorKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMveDg2XzMyX2xpbnV4 X3N5c2NhbGxzLmgKK0BAIC0xNzUwLDUgKzE3NTAsOSBAQAorICNkZWZpbmUgX19OUl9sYW5kbG9j a19yZXN0cmljdF9zZWxmIDQ0NgorICNlbmRpZgorIAorKyNpZiAhZGVmaW5lZChfX05SX21lbWJh cnJpZXIpCisrI2RlZmluZSBfX05SX21lbWJhcnJpZXIgMzc1CisrI2VuZGlmCisrCisgI2VuZGlm ICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1g4Nl8zMl9MSU5VWF9TWVNDQUxMU19I XworIAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hl YWRlcnMveDg2XzY0X2xpbnV4X3N5c2NhbGxzLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3g4Nl82NF9saW51eF9zeXNjYWxscy5oCitA QCAtMTQzOCw1ICsxNDM4LDkgQEAKKyAjZGVmaW5lIF9fTlJfbGFuZGxvY2tfcmVzdHJpY3Rfc2Vs ZiA0NDYKKyAjZW5kaWYKKyAKKysjaWYgIWRlZmluZWQoX19OUl9tZW1iYXJyaWVyKQorKyNkZWZp bmUgX19OUl9tZW1iYXJyaWVyIDMyNAorKyNlbmRpZgorKworICNlbmRpZiAgLy8gU0FOREJPWF9M SU5VWF9TWVNURU1fSEVBREVSU19YODZfNjRfTElOVVhfU1lTQ0FMTFNfSF8KKyAKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDEtc2l6ZV90LnBhdGNoIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMS1zaXplX3QucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5mY2NjMDg1ZGEzMTEKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAxLXNpemVfdC5wYXRjaApAQCAt MCwwICsxLDE2IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYW5n bGUvaW5jbHVkZS9wbGF0Zm9ybS9QbGF0Zm9ybU1ldGhvZHMuaAorKysrIGIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvcGxhdGZvcm0vUGxhdGZvcm1NZXRo b2RzLmgKK0BAIC0yMzksMTEgKzIzOSwxMSBAQCBpbmxpbmUgdm9pZCBEZWZhdWx0T3ZlcnJpZGVG ZWF0dXJlc010bChQCisgdXNpbmcgUHJvZ3JhbUtleVR5cGUgICA9IHN0ZDo6YXJyYXk8dWludDhf dCwgMjA+OworIHVzaW5nIENhY2hlUHJvZ3JhbUZ1bmMgPSB2b2lkICgqKShQbGF0Zm9ybU1ldGhv ZHMgKnBsYXRmb3JtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQ cm9ncmFtS2V5VHlwZSAma2V5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz aXplX3QgcHJvZ3JhbVNpemUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 ZDo6c2l6ZV90IHByb2dyYW1TaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCB1aW50OF90ICpwcm9ncmFtQnl0ZXMpOworIGlubGluZSB2b2lkIERlZmF1bHRDYWNo ZVByb2dyYW0oUGxhdGZvcm1NZXRob2RzICpwbGF0Zm9ybSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IFByb2dyYW1LZXlUeXBlICZrZXksCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzaXplX3QgcHJvZ3JhbVNpemUsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdGQ6OnNpemVfdCBwcm9ncmFtU2l6ZSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnByb2dyYW1CeXRlcykKKyB7fQorIApkaWZm IC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMi1jaHJvbWl1bS05MC1y dXktaW5jbHVkZS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDItY2hy b21pdW0tOTAtcnV5LWluY2x1ZGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi5iYmJhNTc5MDc2ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTAyLWNocm9taXVtLTkwLXJ1eS1pbmNsdWRlLnBhdGNoCkBAIC0w LDAgKzEsMTkgQEAKK0Zyb20gNzE0MDkyZjMzNmJiMTRkMmZjYzI3Mzk2ZWMzMjNiM2Q4NDNiYjk2 MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZXBoYW4gSGFydG1hbm4gPHN0aGEw OUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFRodSwgNCBNYXIgMjAyMSAxNTowNTo0NiArMDAwMAor U3ViamVjdDogW1BBVENIXSBJV1lVOiBpbmNsdWRlIGxpbWl0cyBmb3Igc3RkOjpudW1lcmljX2xp bWl0cworCistLS0KKyB0aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9ibG9ja19tYXAuY2MgfCAxICsK KyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L2Jsb2NrX21hcC5jYworKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L2Jsb2NrX21hcC5jYworQEAg LTE3LDYgKzE3LDcgQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgCisgI2luY2x1 ZGUgPGFsZ29yaXRobT4KKyAjaW5jbHVkZSA8Y3N0ZGludD4KKysjaW5jbHVkZSA8bGltaXRzPgor IAorICNpZmRlZiBSVVlfTUFLRUJMT0NLTUFQX0RFQlVHCisgI2luY2x1ZGUgPGNzdGRpbz4KZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDMtY2hyb21pdW0tdjgt bW9ub3RvbmljLXB0aHJlYWQtY29udF90aW1lZHdhaXQucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMTAzLWNocm9taXVtLXY4LW1vbm90b25pYy1wdGhyZWFkLWNvbnRfdGlt ZWR3YWl0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMWRj OGJjNGQzZDE3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDEwMy1jaHJvbWl1bS12OC1tb25vdG9uaWMtcHRocmVhZC1jb250X3RpbWVkd2FpdC5wYXRj aApAQCAtMCwwICsxLDIyIEBACitVc2UgbW9ub3RvbmljIGNsb2NrIGZvciBwdGhyZWFkX2NvbmRf dGltZWR3YWl0IHdpdGggbXVzbCB0b28uCisKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92 OC9zcmMvYmFzZS9wbGF0Zm9ybS9jb25kaXRpb24tdmFyaWFibGUuY2MKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9wbGF0Zm9ybS9jb25kaXRpb24tdmFyaWFibGUuY2MK K0BAIC0yMCw3ICsyMCw3IEBAIG5hbWVzcGFjZSBiYXNlIHsKKyAKKyBDb25kaXRpb25WYXJpYWJs ZTo6Q29uZGl0aW9uVmFyaWFibGUoKSB7CisgI2lmIChWOF9PU19GUkVFQlNEIHx8IFY4X09TX05F VEJTRCB8fCBWOF9PU19PUEVOQlNEIHx8IFwKKy0gICAgIChWOF9PU19MSU5VWCAmJiBWOF9MSUJD X0dMSUJDKSkKKysgICAgIFY4X09TX0xJTlVYKQorICAgLy8gT24gRnJlZS9OZXQvT3BlbkJTRCBh bmQgTGludXggd2l0aCBnbGliYyB3ZSBjYW4gY2hhbmdlIHRoZSB0aW1lCisgICAvLyBzb3VyY2Ug Zm9yIHB0aHJlYWRfY29uZF90aW1lZHdhaXQoKSB0byB1c2UgdGhlIG1vbm90b25pYyBjbG9jay4K KyAgIHB0aHJlYWRfY29uZGF0dHJfdCBhdHRyOworQEAgLTk2LDcgKzk2LDcgQEAgYm9vbCBDb25k aXRpb25WYXJpYWJsZTo6V2FpdEZvcihNdXRleCogbQorICAgICAgICZuYXRpdmVfaGFuZGxlXywg Jm11dGV4LT5uYXRpdmVfaGFuZGxlKCksICZ0cyk7CisgI2Vsc2UKKyAjaWYgKFY4X09TX0ZSRUVC U0QgfHwgVjhfT1NfTkVUQlNEIHx8IFY4X09TX09QRU5CU0QgfHwgXAorLSAgICAgKFY4X09TX0xJ TlVYICYmIFY4X0xJQkNfR0xJQkMpKQorKyAgICAgVjhfT1NfTElOVVgpCisgICAvLyBPbiBGcmVl L05ldC9PcGVuQlNEIGFuZCBMaW51eCB3aXRoIGdsaWJjIHdlIGNhbiBjaGFuZ2UgdGhlIHRpbWUK KyAgIC8vIHNvdXJjZSBmb3IgcHRocmVhZF9jb25kX3RpbWVkd2FpdCgpIHRvIHVzZSB0aGUgbW9u b3RvbmljIGNsb2NrLgorICAgcmVzdWx0ID0gY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMs ICZ0cyk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA0LWNo cm9taXVtLXJldmVydC05ZDA4MGMwLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDEwNC1jaHJvbWl1bS1yZXZlcnQtOWQwODBjMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLjQyYjFlZTllYzA2MwotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDQtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAu cGF0Y2gKQEAgLTAsMCArMSwxNjIgQEAKKyBPcmlnaW5hbCBjaGFuZ2UncyBkZXNjcmlwdGlvbjoK KyA+IFJlcGxhY2UgJ2JsYWNrbGlzdCcgd2l0aCAnaWdub3JlbGlzdCcgaW4gLi90b29scy9tc2Fu Ly4KKyA+CisgPiBCdWc6IDEwOTcyNzIsIDEwOTcyNjgKKyA+IENoYW5nZS1JZDogSWQ1YzgyMjdh NWJmYjFmZmFlYzgyZDMxNjhiNjA5MDg1YjEwYzgyOTcKKyA+IFJldmlld2VkLW9uOiBodHRwczov L2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMjg2Nzcz MAorID4gQ29tbWl0LVF1ZXVlOiBEeWxhbiBDdXRsZXIgPGR5bGFuY3V0bGVyQGdvb2dsZS5jb20+ CisgPiBSZXZpZXdlZC1ieTogTmljbyBXZWJlciA8dGhha2lzQGNocm9taXVtLm9yZz4KKyA+IFJl dmlld2VkLWJ5OiBKb25hdGhhbiBNZXR6bWFuIDxtZXR6bWFuQGNocm9taXVtLm9yZz4KKyA+IENy LUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM4ODMwMzV9CistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vYnVpbGQvY29uZmlnL3Nhbml0aXplcnMvQlVJTEQuZ24KKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9jb25maWcvc2FuaXRpemVycy9CVUlMRC5nbgor QEAgLTI3MiwxMSArMjcyLDExIEBAIGNvbmZpZygiYXNhbl9mbGFncyIpIHsKKyAgIGlmIChpc19h c2FuKSB7CisgICAgIGNmbGFncyArPSBbICItZnNhbml0aXplPWFkZHJlc3MiIF0KKyAgICAgaWYg KGlzX3dpbikgeworLSAgICAgIGlmICghZGVmaW5lZChhc2FuX3dpbl9ibG9ja2xpc3RfcGF0aCkp IHsKKy0gICAgICAgIGFzYW5fd2luX2Jsb2NrbGlzdF9wYXRoID0KKysgICAgICBpZiAoIWRlZmlu ZWQoYXNhbl93aW5fYmxhY2tsaXN0X3BhdGgpKSB7CisrICAgICAgICBhc2FuX3dpbl9ibGFja2xp c3RfcGF0aCA9CisgICAgICAgICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvbWVtb3J5L2FzYW4v YmxvY2tsaXN0X3dpbi50eHQiLCByb290X2J1aWxkX2RpcikKKyAgICAgICB9CistICAgICAgY2Zs YWdzICs9IFsgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0kYXNhbl93aW5fYmxvY2tsaXN0X3BhdGgi IF0KKysgICAgICBjZmxhZ3MgKz0gWyAiLWZzYW5pdGl6ZS1ibGFja2xpc3Q9JGFzYW5fd2luX2Js YWNrbGlzdF9wYXRoIiBdCisgICAgIH0KKyAgIH0KKyB9CitAQCAtMzA2LDEzICszMDYsMTMgQEAg Y29uZmlnKCJsaW5rX3NoYXJlZF9saWJyYXJ5IikgeworIGNvbmZpZygiY2ZpX2ZsYWdzIikgewor ICAgY2ZsYWdzID0gW10KKyAgIGlmIChpc19jZmkgJiYgY3VycmVudF90b29sY2hhaW4gPT0gZGVm YXVsdF90b29sY2hhaW4pIHsKKy0gICAgaWYgKCFkZWZpbmVkKGNmaV9pZ25vcmVsaXN0X3BhdGgp KSB7CistICAgICAgY2ZpX2lnbm9yZWxpc3RfcGF0aCA9CisrICAgIGlmICghZGVmaW5lZChjZmlf YmxhY2tsaXN0X3BhdGgpKSB7CisrICAgICAgY2ZpX2JsYWNrbGlzdF9wYXRoID0KKyAgICAgICAg ICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvY2ZpL2lnbm9yZXMudHh0Iiwgcm9vdF9idWlsZF9kaXIp CisgICAgIH0KKyAgICAgY2ZsYWdzICs9IFsKKyAgICAgICAiLWZzYW5pdGl6ZT1jZmktdmNhbGwi LAorLSAgICAgICItZnNhbml0aXplLWlnbm9yZWxpc3Q9JGNmaV9pZ25vcmVsaXN0X3BhdGgiLAor KyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0kY2ZpX2JsYWNrbGlzdF9wYXRoIiwKKyAgICAg XQorIAorICAgICBpZiAodXNlX2NmaV9jYXN0KSB7CitAQCAtNDA5LDE0ICs0MDksMTQgQEAgY29u ZmlnKCJtc2FuX2ZsYWdzIikgeworICAgaWYgKGlzX21zYW4pIHsKKyAgICAgYXNzZXJ0KGlzX2xp bnV4IHx8IGlzX2Nocm9tZW9zLAorICAgICAgICAgICAgIm1zYW4gb25seSBzdXBwb3J0ZWQgb24g bGludXggeDg2XzY0L0Nocm9tZU9TIikKKy0gICAgaWYgKCFkZWZpbmVkKG1zYW5faWdub3JlbGlz dF9wYXRoKSkgeworLSAgICAgIG1zYW5faWdub3JlbGlzdF9wYXRoID0KKy0gICAgICAgICAgcmVi YXNlX3BhdGgoIi8vdG9vbHMvbXNhbi9pZ25vcmVsaXN0LnR4dCIsIHJvb3RfYnVpbGRfZGlyKQor KyAgICBpZiAoIWRlZmluZWQobXNhbl9ibGFja2xpc3RfcGF0aCkpIHsKKysgICAgICBtc2FuX2Js YWNrbGlzdF9wYXRoID0KKysgICAgICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvbXNhbi9ibGFj a2xpc3QudHh0Iiwgcm9vdF9idWlsZF9kaXIpCisgICAgIH0KKyAgICAgY2ZsYWdzID0gWworICAg ICAgICItZnNhbml0aXplPW1lbW9yeSIsCisgICAgICAgIi1mc2FuaXRpemUtbWVtb3J5LXRyYWNr LW9yaWdpbnM9JG1zYW5fdHJhY2tfb3JpZ2lucyIsCistICAgICAgIi1mc2FuaXRpemUtaWdub3Jl bGlzdD0kbXNhbl9pZ25vcmVsaXN0X3BhdGgiLAorKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlz dD0kbXNhbl9ibGFja2xpc3RfcGF0aCIsCisgICAgIF0KKyAgIH0KKyB9CitAQCAtNDI0LDEzICs0 MjQsMTMgQEAgY29uZmlnKCJtc2FuX2ZsYWdzIikgeworIGNvbmZpZygidHNhbl9mbGFncyIpIHsK KyAgIGlmIChpc190c2FuKSB7CisgICAgIGFzc2VydChpc19saW51eCB8fCBpc19jaHJvbWVvcywg InRzYW4gb25seSBzdXBwb3J0ZWQgb24gbGludXggeDg2XzY0IikKKy0gICAgaWYgKCFkZWZpbmVk KHRzYW5faWdub3JlbGlzdF9wYXRoKSkgeworLSAgICAgIHRzYW5faWdub3JlbGlzdF9wYXRoID0K KysgICAgaWYgKCFkZWZpbmVkKHRzYW5fYmxhY2tsaXN0X3BhdGgpKSB7CisrICAgICAgdHNhbl9i bGFja2xpc3RfcGF0aCA9CisgICAgICAgICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL21lbW9yeS90 c2FuX3YyL2lnbm9yZXMudHh0Iiwgcm9vdF9idWlsZF9kaXIpCisgICAgIH0KKyAgICAgY2ZsYWdz ID0gWworICAgICAgICItZnNhbml0aXplPXRocmVhZCIsCistICAgICAgIi1mc2FuaXRpemUtaWdu b3JlbGlzdD0kdHNhbl9pZ25vcmVsaXN0X3BhdGgiLAorKyAgICAgICItZnNhbml0aXplLWJsYWNr bGlzdD0kdHNhbl9ibGFja2xpc3RfcGF0aCIsCisgICAgIF0KKyAgIH0KKyB9CitAQCAtNDM4LDgg KzQzOCw4IEBAIGNvbmZpZygidHNhbl9mbGFncyIpIHsKKyBjb25maWcoInVic2FuX2ZsYWdzIikg eworICAgY2ZsYWdzID0gW10KKyAgIGlmIChpc191YnNhbikgeworLSAgICBpZiAoIWRlZmluZWQo dWJzYW5faWdub3JlbGlzdF9wYXRoKSkgeworLSAgICAgIHVic2FuX2lnbm9yZWxpc3RfcGF0aCA9 CisrICAgIGlmICghZGVmaW5lZCh1YnNhbl9ibGFja2xpc3RfcGF0aCkpIHsKKysgICAgICB1YnNh bl9ibGFja2xpc3RfcGF0aCA9CisgICAgICAgICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL3Vic2Fu L2lnbm9yZWxpc3QudHh0Iiwgcm9vdF9idWlsZF9kaXIpCisgICAgIH0KKyAgICAgY2ZsYWdzICs9 IFsKK0BAIC00NTYsNyArNDU2LDcgQEAgY29uZmlnKCJ1YnNhbl9mbGFncyIpIHsKKyAgICAgICAi LWZzYW5pdGl6ZT1zaWduZWQtaW50ZWdlci1vdmVyZmxvdyIsCisgICAgICAgIi1mc2FuaXRpemU9 dW5yZWFjaGFibGUiLAorICAgICAgICItZnNhbml0aXplPXZsYS1ib3VuZCIsCistICAgICAgIi1m c2FuaXRpemUtaWdub3JlbGlzdD0kdWJzYW5faWdub3JlbGlzdF9wYXRoIiwKKysgICAgICAiLWZz YW5pdGl6ZS1ibGFja2xpc3Q9JHVic2FuX2JsYWNrbGlzdF9wYXRoIiwKKyAgICAgXQorICAgICBp ZiAoIWlzX2NsYW5nKSB7CisgICAgICAgIyBUaGVzZSBleHBvc2VzIHRvbyBtdWNoIGlsbGVnYWwg QysrMTQgY29kZSB0byBjb21waWxlIG9uIGFueXRoaW5nIHN0cmljdGVyIHRoYW4gY2xhbmc6CitA QCAtNDk3LDggKzQ5Nyw4IEBAIGNvbmZpZygidWJzYW5fbm9fcmVjb3ZlciIpIHsKKyAKKyBjb25m aWcoInVic2FuX3NlY3VyaXR5X2ZsYWdzIikgeworICAgaWYgKGlzX3Vic2FuX3NlY3VyaXR5KSB7 CistICAgIGlmICghZGVmaW5lZCh1YnNhbl9zZWN1cml0eV9pZ25vcmVsaXN0X3BhdGgpKSB7Cist ICAgICAgdWJzYW5fc2VjdXJpdHlfaWdub3JlbGlzdF9wYXRoID0KKysgICAgaWYgKCFkZWZpbmVk KHVic2FuX3NlY3VyaXR5X2JsYWNrbGlzdF9wYXRoKSkgeworKyAgICAgIHVic2FuX3NlY3VyaXR5 X2JsYWNrbGlzdF9wYXRoID0KKyAgICAgICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvdWJzYW4v c2VjdXJpdHlfaWdub3JlbGlzdC50eHQiLCByb290X2J1aWxkX2RpcikKKyAgICAgfQorICAgICBj ZmxhZ3MgPSBbCitAQCAtNTA2LDcgKzUwNiw3IEBAIGNvbmZpZygidWJzYW5fc2VjdXJpdHlfZmxh Z3MiKSB7CisgICAgICAgIi1mc2FuaXRpemU9c2hpZnQiLAorICAgICAgICItZnNhbml0aXplPXNp Z25lZC1pbnRlZ2VyLW92ZXJmbG93IiwKKyAgICAgICAiLWZzYW5pdGl6ZT12bGEtYm91bmQiLAor LSAgICAgICItZnNhbml0aXplLWlnbm9yZWxpc3Q9JHVic2FuX3NlY3VyaXR5X2lnbm9yZWxpc3Rf cGF0aCIsCisrICAgICAgIi1mc2FuaXRpemUtYmxhY2tsaXN0PSR1YnNhbl9zZWN1cml0eV9ibGFj a2xpc3RfcGF0aCIsCisgICAgIF0KKyAgIH0KKyB9CitAQCAtNTE5LDEzICs1MTksMTMgQEAgY29u ZmlnKCJ1YnNhbl9udWxsX2ZsYWdzIikgeworIAorIGNvbmZpZygidWJzYW5fdnB0cl9mbGFncyIp IHsKKyAgIGlmIChpc191YnNhbl92cHRyKSB7CistICAgIGlmICghZGVmaW5lZCh1YnNhbl92cHRy X2lnbm9yZWxpc3RfcGF0aCkpIHsKKy0gICAgICB1YnNhbl92cHRyX2lnbm9yZWxpc3RfcGF0aCA9 CisrICAgIGlmICghZGVmaW5lZCh1YnNhbl92cHRyX2JsYWNrbGlzdF9wYXRoKSkgeworKyAgICAg IHVic2FuX3ZwdHJfYmxhY2tsaXN0X3BhdGggPQorICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90 b29scy91YnNhbi92cHRyX2lnbm9yZWxpc3QudHh0Iiwgcm9vdF9idWlsZF9kaXIpCisgICAgIH0K KyAgICAgY2ZsYWdzID0gWworICAgICAgICItZnNhbml0aXplPXZwdHIiLAorLSAgICAgICItZnNh bml0aXplLWlnbm9yZWxpc3Q9JHVic2FuX3ZwdHJfaWdub3JlbGlzdF9wYXRoIiwKKysgICAgICAi LWZzYW5pdGl6ZS1ibGFja2xpc3Q9JHVic2FuX3ZwdHJfYmxhY2tsaXN0X3BhdGgiLAorICAgICBd CisgICAgIGlmICghaXNfY2xhbmcpIHsKKyAgICAgICAjIENsYW5nIHNwZWNpZmljIGZsYWc6Cist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGRfb3ZlcnJpZGVzL2J1aWxkLmduaQorKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkX292ZXJyaWRlcy9idWlsZC5nbmkKK0BAIC00 MywxNSArNDMsMTUgQEAgZGVjbGFyZV9hcmdzKCkgeworICMgQWxsb3dzIGRpZmZlcmVudCBwcm9q ZWN0cyB0byBzcGVjaWZ5IHRoZWlyIG93biBzdXBwcmVzc2lvbi9pZ25vcmUgbGlzdHMgZm9yCisg IyBzYW5pdGl6ZXIgdG9vbHMuCisgIyBhc2FuX3N1cHByZXNzaW9uc19maWxlID0gInBhdGgvdG8v YXNhbl9zdXBwcmVzc2lvbnMuY2MiCistIyBhc2FuX3dpbl9pZ25vcmVsaXN0X3BhdGggPSAicGF0 aC90by9hc2FuL2Jsb2NrbGlzdF93aW4udHh0IgorKyMgYXNhbl93aW5fYmxhY2tsaXN0X3BhdGgg PSAicGF0aC90by9hc2FuL2Jsb2NrbGlzdF93aW4udHh0IgorICMgbHNhbl9zdXBwcmVzc2lvbnNf ZmlsZSA9ICJwYXRoL3RvL2xzYW5fc3VwcHJlc3Npb25zLmNjIgorICMgdHNhbl9zdXBwcmVzc2lv bnNfZmlsZSA9ICJwYXRoL3RvL3RzYW5fc3VwcHJlc3Npb25zLmNjIgorLSMgdHNhbl9pZ25vcmVs aXN0X3BhdGggPSAicGF0aC90by90c2FuL2lnbm9yZXMudHh0IgorLSMgbXNhbl9pZ25vcmVsaXN0 X3BhdGggPSAicGF0aC90by9tc2FuL2lnbm9yZWxpc3QudHh0IgorLSMgdWJzYW5faWdub3JlbGlz dF9wYXRoID0gInBhdGgvdG8vdWJzYW4vaWdub3JlbGlzdC50eHQiCistIyB1YnNhbl92cHRyX2ln bm9yZWxpc3RfcGF0aCA9ICJwYXRoL3RvL3Vic2FuL3ZwdHJfaWdub3JlbGlzdC50eHQiCistIyB1 YnNhbl9zZWN1cml0eV9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by91YnNhbi9zZWN1cml0eV9p Z25vcmVsaXN0LnR4dCIKKy0jIGNmaV9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by9jZmkvaWdu b3Jlcy50eHQiCisrIyB0c2FuX2JsYWNrbGlzdF9wYXRoID0gInBhdGgvdG8vdHNhbi9pZ25vcmVz LnR4dCIKKysjIG1zYW5fYmxhY2tsaXN0X3BhdGggPSAicGF0aC90by9tc2FuL2JsYWNrbGlzdC50 eHQiCisrIyB1YnNhbl9ibGFja2xpc3RfcGF0aCA9ICJwYXRoL3RvL3Vic2FuL2JsYWNrbGlzdC50 eHQiCisrIyB1YnNhbl92cHRyX2JsYWNrbGlzdF9wYXRoID0gInBhdGgvdG8vdWJzYW4vdnB0cl9i bGFja2xpc3QudHh0IgorKyMgdWJzYW5fc2VjdXJpdHlfYmxhY2tsaXN0X3BhdGggPSAicGF0aC90 by91YnNhbi9zZWN1cml0eV9ibGFja2xpc3QudHh0IgorKyMgY2ZpX2JsYWNrbGlzdF9wYXRoID0g InBhdGgvdG8vY2ZpL2lnbm9yZXMudHh0IgorIAorIGRlY2xhcmVfYXJncygpIHsKKyAgICMgQW5k cm9pZCAzMi1iaXQgbm9uLWNvbXBvbmVudCwgbm9uLWNsYW5nIGJ1aWxkcyBjYW5ub3QgaGF2ZSBz eW1ib2xfbGV2ZWw9MgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDEwNS1jaHJvbWl1bS1yZXZlcnQtZHJvcC1vZi1zeXN0ZW0tamF2YS5wYXRjaCBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDUtY2hyb21pdW0tcmV2ZXJ0LWRyb3Atb2Ytc3lzdGVt LWphdmEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40NGYz YWE4ZmFlNWUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMTA1LWNocm9taXVtLXJldmVydC1kcm9wLW9mLXN5c3RlbS1qYXZhLnBhdGNoCkBAIC0wLDAg KzEsMTUgQEAKK1RoaXMgd2FzIGRyb3BwZWQgZm9yIHNvbWUgcmVhc29uIGluIDY5NTFjMzdjZWNk MDU5NzliMjMyYTM5ZTVjMTBlNjM0NmEwZjc0ZWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9jbG9zdXJlX2NvbXBpbGVyL2NvbXBpbGVyLnB5CisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY2xvc3VyZV9jb21waWxlci9jb21waWxlci5weQor QEAgLTEzLDggKzEzLDkgQEAgaW1wb3J0IHN1YnByb2Nlc3MKKyAKKyAKKyBfQ1VSUkVOVF9ESVIg PSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSkKKy1fSkFWQV9QQVRIID0g b3MucGF0aC5qb2luKF9DVVJSRU5UX0RJUiwgIi4uIiwgImpkayIsICJjdXJyZW50IiwgImJpbiIs ICJqYXZhIikKKy1hc3NlcnQgb3MucGF0aC5pc2ZpbGUoX0pBVkFfUEFUSCksICJqYXZhIG9ubHkg YWxsb3dlZCBpbiBhbmRyb2lkIGJ1aWxkcyIKKytfSkFWQV9CSU4gPSAiamF2YSIKKytfSkRLX1BB VEggPSBvcy5wYXRoLmpvaW4oX0NVUlJFTlRfRElSLCAiLi4iLCAiamRrIiwgImN1cnJlbnQiLCAi YmluIiwgImphdmEiKQorK19KQVZBX1BBVEggPSBfSkRLX1BBVEggaWYgb3MucGF0aC5pc2ZpbGUo X0pES19QQVRIKSBlbHNlIF9KQVZBX0JJTgorIAorIGNsYXNzIENvbXBpbGVyKG9iamVjdCk6Cisg ICAiIiJSdW5zIHRoZSBDbG9zdXJlIGNvbXBpbGVyIG9uIGdpdmVuIHNvdXJjZSBmaWxlcyB0byB0 eXBlY2hlY2sgdGhlbQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDEwNi1jaHJvbWl1bS1zeXN0ZW0tbm9kZWpzLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDEwNi1jaHJvbWl1bS1zeXN0ZW0tbm9kZWpzLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMWUwNjdjYzZlZGEwCi0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNi1jaHJvbWl1bS1zeXN0ZW0tbm9k ZWpzLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9ub2RlL25vZGUucHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9ub2RlL25vZGUucHkKK0BAIC0zNiwxMSArMzYsMTIgQEAgZGVmIEdldEJpbmFyeVBh dGgoKToKKyAgIGlmIHBsYXRmb3JtLnN5c3RlbSgpID09ICdEYXJ3aW4nIGFuZCBwbGF0Zm9ybS5t YWNoaW5lKCkgPT0gJ2FybTY0JzoKKyAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKG9zX3BhdGgu am9pbihvc19wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnbWFjJywKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICdub2RlLWRhcndpbi1hcm02NCcsICdiaW4nLCAnbm9kZScpKQorLSAgcmV0dXJu IG9zX3BhdGguam9pbihvc19wYXRoLmRpcm5hbWUoX19maWxlX18pLCAqeworLSAgICAnRGFyd2lu JzogKCdtYWMnLCAnbm9kZS1kYXJ3aW4teDY0JywgJ2JpbicsICdub2RlJyksCistICAgICdMaW51 eCc6ICgnbGludXgnLCAnbm9kZS1saW51eC14NjQnLCAnYmluJywgJ25vZGUnKSwKKy0gICAgJ1dp bmRvd3MnOiAoJ3dpbicsICdub2RlLmV4ZScpLAorLSAgfVtwbGF0Zm9ybS5zeXN0ZW0oKV0pCisr ICByZXR1cm4gIi91c3IvYmluL25vZGUiCisrICAjcmV0dXJuIG9zX3BhdGguam9pbihvc19wYXRo LmRpcm5hbWUoX19maWxlX18pLCAqeworKyAgIyAgJ0Rhcndpbic6ICgnbWFjJywgJ25vZGUtZGFy d2luLXg2NCcsICdiaW4nLCAnbm9kZScpLAorKyAgIyAgJ0xpbnV4JzogKCdsaW51eCcsICdub2Rl LWxpbnV4LXg2NCcsICdiaW4nLCAnbm9kZScpLAorKyAgIyAgJ1dpbmRvd3MnOiAoJ3dpbicsICdu b2RlLmV4ZScpLAorKyAgI31bcGxhdGZvcm0uc3lzdGVtKCldKQorIAorIAorIGRlZiBSdW5Ob2Rl KGNtZF9wYXJ0cywgc3Rkb3V0PU5vbmUpOgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDEwNy1jaHJvbWl1bS1jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNy1jaHJvbWl1bS1jdXJzZWReVXNjb3BlZF9m aWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYThmNWQ5 NzE4ODNkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDEwNy1jaHJvbWl1bS1jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAK Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2ZpbGVzL3Njb3BlZF9maWxlX2xpbnV4 LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9maWxlcy9zY29wZWRfZmlsZV9s aW51eC5jYworQEAgLTc3LDE1ICs3NywzIEBAIGJvb2wgSXNGRE93bmVkKGludCBmZCkgeworIH0K KyAKKyB9ICAvLyBuYW1lc3BhY2UgYmFzZQorLQorLWV4dGVybiAiQyIgeworLQorLWludCBfX2Ns b3NlKGludCk7CistCistX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiZGVmYXVsdCIpLCBub2lu bGluZSkpIGludCBjbG9zZShpbnQgZmQpIHsKKy0gIGlmIChiYXNlOjpJc0ZET3duZWQoZmQpICYm IGdfaXNfb3duZXJzaGlwX2VuZm9yY2VkKQorLSAgICBDcmFzaE9uRmRPd25lcnNoaXBWaW9sYXRp b24oKTsKKy0gIHJldHVybiBfX2Nsb3NlKGZkKTsKKy19CistCistfSAgLy8gZXh0ZXJuICJDIgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOC1jaHJvbWl1bS1m aXgtbmFycm93aW5nLWNhc3QucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MTA4LWNocm9taXVtLWZpeC1uYXJyb3dpbmctY2FzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLmVkMzJjZDliNzQxNQotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDgtY2hyb21pdW0tZml4LW5hcnJvd2luZy1j YXN0LnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9i YXNlL2ZpbGVzL2ZpbGVfdXRpbF9saW51eC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L2Jhc2UvZmlsZXMvZmlsZV91dGlsX2xpbnV4LmNjCitAQCAtMjMsMTQgKzIzLDE0IEBAIGJvb2wg R2V0RmlsZVN5c3RlbVR5cGUoY29uc3QgRmlsZVBhdGgmIHAKKyAKKyAgIC8vIE5vdCBhbGwgcG9z c2libGUgfHN0YXRmc19idWYuZl90eXBlfCB2YWx1ZXMgYXJlIGluIGxpbnV4L21hZ2ljLmguCisg ICAvLyBNaXNzaW5nIHZhbHVlcyBhcmUgY29waWVkIGZyb20gdGhlIHN0YXRmcyBtYW4gcGFnZS4K Ky0gIHN3aXRjaCAoc3RhdGZzX2J1Zi5mX3R5cGUpIHsKKysgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8 dWludG1heF90PihzdGF0ZnNfYnVmLmZfdHlwZSkpIHsKKyAgICAgY2FzZSAwOgorICAgICAgICp0 eXBlID0gRklMRV9TWVNURU1fMDsKKyAgICAgICBicmVhazsKKyAgICAgY2FzZSBFWFQyX1NVUEVS X01BR0lDOiAgLy8gQWxzbyBleHQzIGFuZCBleHQ0CisgICAgIGNhc2UgTVNET1NfU1VQRVJfTUFH SUM6CisgICAgIGNhc2UgUkVJU0VSRlNfU1VQRVJfTUFHSUM6CistICAgIGNhc2Ugc3RhdGljX2Nh c3Q8aW50PihCVFJGU19TVVBFUl9NQUdJQyk6CisrICAgIGNhc2UgQlRSRlNfU1VQRVJfTUFHSUM6 CisgICAgIGNhc2UgMHg1MzQ2NTQ0RTogIC8vIE5URlMKKyAgICAgY2FzZSAweDU4NDY1MzQyOiAg Ly8gWEZTCisgICAgIGNhc2UgMHgzMTUzNDY0QTogIC8vIEpGUworQEAgLTQwLDE0ICs0MCwxNCBA QCBib29sIEdldEZpbGVTeXN0ZW1UeXBlKGNvbnN0IEZpbGVQYXRoJiBwCisgICAgICAgKnR5cGUg PSBGSUxFX1NZU1RFTV9ORlM7CisgICAgICAgYnJlYWs7CisgICAgIGNhc2UgU01CX1NVUEVSX01B R0lDOgorLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oMHhGRjUzNEQ0Mik6ICAvLyBDSUZTCisr ICAgIGNhc2UgMHhGRjUzNEQ0MjogIC8vIENJRlMKKyAgICAgICAqdHlwZSA9IEZJTEVfU1lTVEVN X1NNQjsKKyAgICAgICBicmVhazsKKyAgICAgY2FzZSBDT0RBX1NVUEVSX01BR0lDOgorICAgICAg ICp0eXBlID0gRklMRV9TWVNURU1fQ09EQTsKKyAgICAgICBicmVhazsKKy0gICAgY2FzZSBzdGF0 aWNfY2FzdDxpbnQ+KEhVR0VUTEJGU19NQUdJQyk6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50 PihSQU1GU19NQUdJQyk6CisrICAgIGNhc2UgSFVHRVRMQkZTX01BR0lDOgorKyAgICBjYXNlIFJB TUZTX01BR0lDOgorICAgICBjYXNlIFRNUEZTX01BR0lDOgorICAgICAgICp0eXBlID0gRklMRV9T WVNURU1fTUVNT1JZOworICAgICAgIGJyZWFrOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L2Jhc2Uvc3lzdGVtL3N5c19pbmZvX3Bvc2l4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vYmFzZS9zeXN0ZW0vc3lzX2luZm9fcG9zaXguY2MKK0BAIC0xMDAsMTAgKzEwMCwxMCBAQCBi b29sIElzU3RhdHNaZXJvSWZVbmxpbWl0ZWQoY29uc3QgYmFzZTo6CisgICBpZiAoSEFORExFX0VJ TlRSKHN0YXRmcyhwYXRoLnZhbHVlKCkuY19zdHIoKSwgJnN0YXRzKSkgIT0gMCkKKyAgICAgcmV0 dXJuIGZhbHNlOworIAorLSAgc3dpdGNoIChzdGF0cy5mX3R5cGUpIHsKKysgIHN3aXRjaCAoc3Rh dGljX2Nhc3Q8dWludG1heF90PihzdGF0cy5mX3R5cGUpKSB7CisgICAgIGNhc2UgVE1QRlNfTUFH SUM6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PihIVUdFVExCRlNfTUFHSUMpOgorLSAgICBj YXNlIHN0YXRpY19jYXN0PGludD4oUkFNRlNfTUFHSUMpOgorKyAgICBjYXNlIEhVR0VUTEJGU19N QUdJQzoKKysgICAgY2FzZSBSQU1GU19NQUdJQzoKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgIH0K KyAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAxMDktY2hyb21pdW0tcmVtb3ZlLXN0cmlwX2JpbmFyeS5wYXRjaCBiL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDktY2hyb21pdW0tcmVtb3ZlLXN0cmlwX2JpbmFyeS5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjVlYmQxNmU2NTlhZgot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDktY2hy b21pdW0tcmVtb3ZlLXN0cmlwX2JpbmFyeS5wYXRjaApAQCAtMCwwICsxLDMyIEBACistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL0JVSUxELmduCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL0JVSUxE LmduCitAQCAtMzA4LDExICszMDgsNyBAQCBzb3VyY2Vfc2V0KCJsaWIiKSB7CisgICB9CisgfQor IAorLWlmIChpc19saW51eCkgeworLSAgY2hyb21lZHJpdmVyX291dHB1dCA9ICJjaHJvbWVkcml2 ZXIudW5zdHJpcHBlZCIKKy19IGVsc2UgeworLSAgY2hyb21lZHJpdmVyX291dHB1dCA9ICJjaHJv bWVkcml2ZXIiCistfQorK2Nocm9tZWRyaXZlcl9vdXRwdXQgPSAiY2hyb21lZHJpdmVyIgorIAor IGV4ZWN1dGFibGUoIiRjaHJvbWVkcml2ZXJfb3V0cHV0IikgeworICAgdGVzdG9ubHkgPSB0cnVl CitAQCAtMzM2LDE2ICszMzIsNiBAQCBleGVjdXRhYmxlKCIkY2hyb21lZHJpdmVyX291dHB1dCIp IHsKKyAgIH0KKyB9CisgCistaWYgKGlzX2xpbnV4KSB7CistICBzdHJpcF9iaW5hcnkoImNocm9t ZWRyaXZlciIpIHsKKy0gICAgdGVzdG9ubHkgPSB0cnVlCistICAgIGJpbmFyeV9pbnB1dCA9ICIk cm9vdF9vdXRfZGlyLyRjaHJvbWVkcml2ZXJfb3V0cHV0IgorLSAgICBzeW1ib2xfb3V0cHV0ID0g IiRyb290X291dF9kaXIvY2hyb21lZHJpdmVyLmRlYnVnIgorLSAgICBzdHJpcHBlZF9iaW5hcnlf b3V0cHV0ID0gIiRyb290X291dF9kaXIvY2hyb21lZHJpdmVyIgorLSAgICBkZXBzID0gWyAiOiRj aHJvbWVkcml2ZXJfb3V0cHV0IiBdCistICB9CistfQorLQorIHB5dGhvbl9saWJyYXJ5KCJjaHJv bWVkcml2ZXJfcHlfdGVzdHMiKSB7CisgICB0ZXN0b25seSA9IHRydWUKKyAgIGRlcHMgPSBbCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTEwLWNocm9taXVtLXJl dmVydC11c2UtZmZpbGUtY29tcGlsYXRpb24tZGlyLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDExMC1jaHJvbWl1bS1yZXZlcnQtdXNlLWZmaWxlLWNvbXBpbGF0aW9uLWRp ci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmEwMGY3ZWE4 MGY3YQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAx MTAtY2hyb21pdW0tcmV2ZXJ0LXVzZS1mZmlsZS1jb21waWxhdGlvbi1kaXIucGF0Y2gKQEAgLTAs MCArMSw1NyBAQAorRnJvbSAzNGE5NTU4MjM2MzAwOTZmNWIwMWMyYjAxZDUxYzFlYTU5ZDIyNzYz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogWmVxdWFuIFd1IDx6ZXF1YW53dUBnb29n bGUuY29tPgorRGF0ZTogVHVlLCAyMCBKdWwgMjAyMSAxNDoxMzo1MCArMDAwMAorU3ViamVjdDog W1BBVENIXSBVc2UgLWZmaWxlLWNvbXBpbGF0aW9uLWRpcj0gaW5zdGVhZCBvZgorIC1mZGVidWct Y29tcGlsYXRpb24tZGlyPQorCitCdWc6IDEwMTAyNjcKK0NoYW5nZS1JZDogSWYyYjRlYWQ4NTM1 YTc2NDkwZWI0NjZhMzhlM2Q4ZmVkNmVhOTEwNzkKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9t aXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMjc3MDczOAorQXV0 by1TdWJtaXQ6IFplcXVhbiBXdSA8emVxdWFud3VAZ29vZ2xlLmNvbT4KK0NvbW1pdC1RdWV1ZTog TmljbyBXZWJlciA8dGhha2lzQGNocm9taXVtLm9yZz4KK1Jldmlld2VkLWJ5OiBOaWNvIFdlYmVy IDx0aGFraXNAY2hyb21pdW0ub3JnPgorQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21h c3RlckB7IzkwMzQ1Nn0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9jb25maWcv Y29tcGlsZXIvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9jb25m aWcvY29tcGlsZXIvQlVJTEQuZ24KK0BAIC0xMjY5LDE5ICsxMjY5LDEyIEBAIGNvbmZpZygiY29t cGlsZXJfZGV0ZXJtaW5pc3RpYyIpIHsKKyAgICAgIyBkaWZmZXJlbnQgYnVpbGQgZGlyZWN0b3J5 IGxpa2UgIm91dC9mZWF0dXJlX2EiIGFuZCAib3V0L2ZlYXR1cmVfYiIgaWYKKyAgICAgIyB3ZSBi dWlsZCBzYW1lIGZpbGVzIHdpdGggc2FtZSBjb21waWxlIGZsYWcuCisgICAgICMgT3RoZXIgcGF0 aHMgYXJlIGFscmVhZHkgZ2l2ZW4gaW4gcmVsYXRpdmUsIG5vIG5lZWQgdG8gbm9ybWFsaXplIHRo ZW0uCistICAgIGlmIChpc19uYWNsKSB7CistICAgICAgIyBUT0RPKGh0dHBzOi8vY3JidWcuY29t LzEyMzEyMzYpOiBVc2UgLWZmaWxlLWNvbXBpbGF0aW9uLWRpcj0gaGVyZS4KKy0gICAgICBjZmxh Z3MgKz0gWworLSAgICAgICAgIi1YY2xhbmciLAorLSAgICAgICAgIi1mZGVidWctY29tcGlsYXRp b24tZGlyIiwKKy0gICAgICAgICItWGNsYW5nIiwKKy0gICAgICAgICIuIiwKKy0gICAgICBdCist ICAgIH0gZWxzZSB7CistICAgICAgIyAtZmZpbGUtY29tcGlsYXRpb24tZGlyIGlzIGFuIGFsaWFz IGZvciBib3RoIC1mZGVidWctY29tcGlsYXRpb24tZGlyPQorLSAgICAgICMgYW5kIC1mY292ZXJh Z2UtY29tcGlsYXRpb24tZGlyPS4KKy0gICAgICBjZmxhZ3MgKz0gWyAiLWZmaWxlLWNvbXBpbGF0 aW9uLWRpcj0uIiBdCistICAgIH0KKysgICAgY2ZsYWdzICs9IFsKKysgICAgICAiLVhjbGFuZyIs CisrICAgICAgIi1mZGVidWctY29tcGlsYXRpb24tZGlyIiwKKysgICAgICAiLVhjbGFuZyIsCisr ICAgICAgIi4iLAorKyAgICBdCisgICAgIGlmICghaXNfd2luKSB7CisgICAgICAgIyBXZSBkb24n dCB1c2UgY2xhbmcgLWNjMWFzIG9uIFdpbmRvd3MgKHlldD8gaHR0cHM6Ly9jcmJ1Zy5jb20vNzYy MTY3KQorICAgICAgIGFzbWZsYWdzID0gWyAiLVdhLC1mZGVidWctY29tcGlsYXRpb24tZGlyLC4i IF0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9jb25maWcvY29tcGlsZXIvY29t cGlsZXIuZ25pCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGQvY29uZmlnL2NvbXBp bGVyL2NvbXBpbGVyLmduaQorQEAgLTIyOCw4ICsyMjgsMTEgQEAgZGVjbGFyZV9hcmdzKCkgewor ICMgZGV0ZXJtaW5pc3RpYyBidWlsZHMgdG8gcmVkdWNlIGNvbXBpbGUgdGltZXMsIHNvIHRoaXMg aXMgbGVzcyByZWxldmFudCBmb3IKKyAjIG9mZmljaWFsIGJ1aWxkZXJzLgorIHN0cmlwX2Fic29s dXRlX3BhdGhzX2Zyb21fZGVidWdfc3ltYm9sc19kZWZhdWx0ID0KKy0gICAgaXNfYW5kcm9pZCB8 fCBpc19mdWNoc2lhIHx8IGlzX25hY2wgfHwgKGlzX3dpbiAmJiB1c2VfbGxkKSB8fCBpc19saW51 eCB8fAorLSAgICBpc19jaHJvbWVvcyB8fCAoaXNfYXBwbGUgJiYgIWVuYWJsZV9kc3ltcykKKysg ICAgIyBUT0RPKGNyYnVnLmNvbS8xMDEwMjY3KTogcmVtb3ZlICchdXNlX2NsYW5nX2NvdmVyYWdl JywgY292ZXJhZ2UgYnVpbGQgaGFzCisrICAgICMgZGVwZW5kZW5jeSB0byBhYnNvbHV0ZSBwYXRo IG9mIHNvdXJjZSBmaWxlcy4KKysgICAgIXVzZV9jbGFuZ19jb3ZlcmFnZSAmJgorKyAgICAoaXNf YW5kcm9pZCB8fCBpc19mdWNoc2lhIHx8IGlzX25hY2wgfHwgKGlzX3dpbiAmJiB1c2VfbGxkKSB8 fCBpc19saW51eCB8fAorKyAgICAgaXNfY2hyb21lb3MgfHwgKGlzX2FwcGxlICYmICFlbmFibGVf ZHN5bXMpKQorIAorIGRlY2xhcmVfYXJncygpIHsKKyAgIHN0cmlwX2Fic29sdXRlX3BhdGhzX2Zy b21fZGVidWdfc3ltYm9scyA9IHN0cmlwX2Fic29sdXRlX3BhdGhzX2Zyb21fZGVidWdfc3ltYm9s c19kZWZhdWx0CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTEx LWNocm9taXVtLW5vLVduby1zdHJpbmdvcC1vdmVycmVhZC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAxMTEtY2hyb21pdW0tbm8tV25vLXN0cmluZ29wLW92ZXJyZWFkLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMDNlYWMzZjhlMDY3 Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMS1j aHJvbWl1bS1uby1Xbm8tc3RyaW5nb3Atb3ZlcnJlYWQucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5n bgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlM RC5nbgorQEAgLTM5NCw3ICszOTQsNiBAQCBjb25maWcoImNvbXBpbGVyIikgeworICAgICAgICAg Ii1Xbm8tcGFyZW50aGVzZXMiLAorICAgICAgICAgIi1Xbm8tc2lnbi1jb21wYXJlIiwgIyBmaWRv CisgICAgICAgICAiLVduby1zdHJpbmdvcC1vdmVyZmxvdyIsICMgc2tpYSwgbGliYW9tLCBwcm90 b2J1ZiwgaWN1CistICAgICAgICAiLVduby1zdHJpbmdvcC1vdmVycmVhZCIsICMgbGliYW9tCisg ICAgICAgICAiLVduby1wc2FiaSIsICMgc2tpYQorICAgICAgICAgIi1Xbm8tbXVsdGljaGFyIiwg IyBjcmFzaHBhZAorICAgICAgICAgIi1Xbm8tZm9ybWF0LXplcm8tbGVuZ3RoIiwgIyB1c2VyX2Fn ZW50LmNjCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTUwLWNo cm9taXVtLWdsaWJjLWxpYmNfbWFsbG9jLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDE1MC1jaHJvbWl1bS1nbGliYy1saWJjX21hbGxvYy5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjdlMWI2NmU1YzczZAotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTAtY2hyb21pdW0tZ2xpYmMtbGli Y19tYWxsb2MucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL2Jhc2UvcHJvY2Vzcy9tZW1vcnlfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9iYXNlL3Byb2Nlc3MvbWVtb3J5X2xpbnV4LmNjCitAQCAtMjMsNiArMjMsMTIgQEAKKyAj aW5jbHVkZSAidGhpcmRfcGFydHkvdGNtYWxsb2MvY2hyb21pdW0vc3JjL2dwZXJmdG9vbHMvdGNt YWxsb2MuaCIKKyAjZW5kaWYKKyAKKysjaWYgZGVmaW5lZChMSUJDX0dMSUJDKQorK2V4dGVybiAi QyIgeworK2V4dGVybiB2b2lkICpfX2xpYmNfbWFsbG9jKHNpemVfdCBzaXplKTsKKyt9CisrI2Vu ZGlmCisrCisgbmFtZXNwYWNlIGJhc2UgeworIAorIG5hbWVzcGFjZSB7CitAQCAtMTIwLDcgKzEy Niw3IEBAIGJvb2wgVW5jaGVja2VkTWFsbG9jKHNpemVfdCBzaXplLCB2b2lkKioKKyAgICAgKCFk ZWZpbmVkKExJQkNfR0xJQkMpICYmICFCVUlMREZMQUcoVVNFX1RDTUFMTE9DKSkKKyAgICpyZXN1 bHQgPSBtYWxsb2Moc2l6ZSk7CisgI2VsaWYgZGVmaW5lZChMSUJDX0dMSUJDKSAmJiAhQlVJTERG TEFHKFVTRV9UQ01BTExPQykKKy0gICpyZXN1bHQgPSBfX2xpYmNfbWFsbG9jKHNpemUpOworKyAg KnJlc3VsdCA9IDo6X19saWJjX21hbGxvYyhzaXplKTsKKyAjZWxpZiBCVUlMREZMQUcoVVNFX1RD TUFMTE9DKQorICAgKnJlc3VsdCA9IHRjX21hbGxvY19za2lwX25ld19oYW5kbGVyKHNpemUpOwor ICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMC1j aHJvbWl1bS1tdXNsLWluY2x1ZGUtc3lzLXJlZy5oLXRvLWdldC1fX1dPUkRTSVpFLnBhdGNoIGIv c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1tdXNsLWluY2x1ZGUt c3lzLXJlZy5oLXRvLWdldC1fX1dPUkRTSVpFLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uNDFiOTAwNzFiNWU0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1tdXNsLWluY2x1ZGUtc3lzLXJl Zy5oLXRvLWdldC1fX1dPUkRTSVpFLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK0Zyb20gOTAwMWM1 NGQ2Yjk3NDQ0OTE3NGE4Y2VlOGYzZjVkNzhhOWJkNmM5ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IEZlbGl4IEphbmRhIDxmZWxpeC5qYW5kYUBwb3N0ZW8uZGU+CitEYXRlOiBTdW4s IDEgRmViIDIwMTUgMTQ6MjY6NTIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzZdIGluY2x1ZGUg PHN5cy9yZWcuaD4gdG8gZ2V0IF9fV09SRFNJWkUgb24gbXVzbCBsaWJjCisKKy0tLQorIHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY29tbW9uL2xpbnV4L2VsZl9jb3JlX2R1bXAuaCB8IDEgKworIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKQorCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wLmgKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY29tbW9uL2xpbnV4L2VsZl9jb3JlX2R1bXAuaAorQEAgLTM3LDYgKzM3LDkgQEAKKyAjaW5j bHVkZSA8bGltaXRzLmg+CisgI2luY2x1ZGUgPGxpbmsuaD4KKyAjaW5jbHVkZSA8c3RkZGVmLmg+ CisrI2lmbmRlZiBfX0dMSUJDX18KKysjaW5jbHVkZSA8c3lzL3JlZy5oPgorKyNlbmRpZgorIAor ICNpbmNsdWRlICJjb21tb24vbWVtb3J5X3JhbmdlLmgiCisgCmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAxLWNocm9taXVtLW11c2wtZGlzcGF0Y2gtdG8tbXVz bC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDEtY2hyb21pdW0tbXVz bC1kaXNwYXRjaC10by1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uYTU4YTY4OGE0YjU1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDIwMS1jaHJvbWl1bS1tdXNsLWRpc3BhdGNoLXRvLW11c2wucGF0Y2gK QEAgLTAsMCArMSwxMDMgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2FsbG9j YXRvci9hbGxvY2F0b3Jfc2hpbV9kZWZhdWx0X2Rpc3BhdGNoX3RvX2dsaWJjLmNjCisrKysgYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9hbGxvY2F0b3IvYWxsb2NhdG9yX3NoaW1fZGVmYXVs dF9kaXNwYXRjaF90b19nbGliYy5jYworQEAgLTgsNiArOCw3IEBACisgI2luY2x1ZGUgPGRsZmNu Lmg+CisgI2luY2x1ZGUgPG1hbGxvYy5oPgorIAorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAv LyBUaGlzIHRyYW5zbGF0aW9uIHVuaXQgZGVmaW5lcyBhIGRlZmF1bHQgZGlzcGF0Y2ggZm9yIHRo ZSBhbGxvY2F0b3Igc2hpbSB3aGljaAorIC8vIHJvdXRlcyBhbGxvY2F0aW9ucyB0byBsaWJjIGZ1 bmN0aW9ucy4KKyAvLyBUaGUgY29kZSBoZXJlIGlzIHN0cm9uZ2x5IGluc3BpcmVkIGZyb20gdGNt YWxsb2MncyBsaWJjX292ZXJyaWRlX2dsaWJjLmguCitAQCAtODcsMyArODgsOTIgQEAgY29uc3Qg QWxsb2NhdG9yRGlzcGF0Y2ggQWxsb2NhdG9yRGlzcGF0YworICAgICBudWxscHRyLCAgICAgICAg ICAgICAgIC8qIGFsaWduZWRfZnJlZV9mdW5jdGlvbiAqLworICAgICBudWxscHRyLCAgICAgICAg ICAgICAgIC8qIG5leHQgKi8KKyB9OworKworKyNlbHNlIC8vIGRlZmluZWQoX19HTElCQ19fKQor KworKyNpbmNsdWRlIDxkbGZjbi5oPgorKworK2V4dGVybiAiQyIgeworKy8vIERlY2xhcmUgZnVu Y3Rpb24gcG9pbnRlcnMgdG8gdGhlIG1lbW9yeSBmdW5jdGlvbnMKKyt0eXBlZGVmIHZvaWQqICgq dF9saWJjX21hbGxvYykoc2l6ZV90IHNpemUpOworK3R5cGVkZWYgdm9pZCogKCp0X2xpYmNfY2Fs bG9jKShzaXplX3Qgbiwgc2l6ZV90IHNpemUpOworK3R5cGVkZWYgdm9pZCogKCp0X2xpYmNfcmVh bGxvYykodm9pZCogYWRkcmVzcywgc2l6ZV90IHNpemUpOworK3R5cGVkZWYgdm9pZCogKCp0X2xp YmNfbWVtYWxpZ24pKHNpemVfdCBhbGlnbm1lbnQsIHNpemVfdCBzaXplKTsKKyt0eXBlZGVmIHZv aWQgKCp0X2xpYmNfZnJlZSkodm9pZCogcHRyKTsKKyt0eXBlZGVmIHNpemVfdCAoKnRfbGliY19t YWxsb2NfdXNhYmxlX3NpemUpKHZvaWQqIHB0cik7CisrCisrLy8gU3RhdGljIGluc3RhbmNlcyBv ZiBwb2ludGVycyB0byBsaWJjLnNvIGRsIHN5bWJvbHMKKytzdGF0aWMgdF9saWJjX21hbGxvYyBs aWJjX21hbGxvYyA9IE5VTEw7Cisrc3RhdGljIHRfbGliY19jYWxsb2MgbGliY19jYWxsb2MgPSBO VUxMOworK3N0YXRpYyB0X2xpYmNfcmVhbGxvYyBsaWJjX3JlYWxsb2MgPSBOVUxMOworK3N0YXRp YyB0X2xpYmNfbWVtYWxpZ24gbGliY19tZW1hbGlnbiA9IE5VTEw7Cisrc3RhdGljIHRfbGliY19m cmVlIGxpYmNfZnJlZSA9IE5VTEw7Cisrc3RhdGljIHRfbGliY19tYWxsb2NfdXNhYmxlX3NpemUg bGliY19tYWxsb2NfdXNhYmxlX3NpemUgPSBOVUxMOworKworKy8vIHJlc29sdmUgdGhlIHN5bWJv bHMgaW4gbGliYy5zbworK3ZvaWQgbXVzbF9saWJjX21lbW9yeV9pbml0KHZvaWQpCisreworKyAg bGliY19tYWxsb2MgPSAodF9saWJjX21hbGxvYykgZGxzeW0oUlRMRF9ORVhULCAibWFsbG9jIik7 CisrICBsaWJjX2NhbGxvYyA9ICh0X2xpYmNfY2FsbG9jKSBkbHN5bShSVExEX05FWFQsICJjYWxs b2MiKTsKKysgIGxpYmNfcmVhbGxvYyA9ICh0X2xpYmNfcmVhbGxvYykgZGxzeW0oUlRMRF9ORVhU LCAicmVhbGxvYyIpOworKyAgbGliY19tZW1hbGlnbiA9ICh0X2xpYmNfbWVtYWxpZ24pIGRsc3lt KFJUTERfTkVYVCwgIm1lbWFsaWduIik7CisrICBsaWJjX2ZyZWUgPSAodF9saWJjX2ZyZWUpIGRs c3ltKFJUTERfTkVYVCwgImZyZWUiKTsKKysgIGxpYmNfbWFsbG9jX3VzYWJsZV9zaXplID0gKHRf bGliY19tYWxsb2NfdXNhYmxlX3NpemUpIGRsc3ltKFJUTERfTkVYVCwgIm1hbGxvY191c2FibGVf c2l6ZSIpOworK30KKyt9ICAvLyBleHRlcm4gIkMiCisrCisrbmFtZXNwYWNlIHsKKysKKyt1c2lu ZyBiYXNlOjphbGxvY2F0b3I6OkFsbG9jYXRvckRpc3BhdGNoOworKworK3ZvaWQqIE11c2xNYWxs b2MoY29uc3QgQWxsb2NhdG9yRGlzcGF0Y2gqLCBzaXplX3Qgc2l6ZSwgdm9pZCogY29udGV4dCkg eworKyAgaWYgKCFsaWJjX21hbGxvYykKKysgICAgbXVzbF9saWJjX21lbW9yeV9pbml0KCk7Cisr ICByZXR1cm4gKCpsaWJjX21hbGxvYykoc2l6ZSk7CisrfQorKworK3ZvaWQqIE11c2xDYWxsb2Mo Y29uc3QgQWxsb2NhdG9yRGlzcGF0Y2gqLCBzaXplX3Qgbiwgc2l6ZV90IHNpemUsIHZvaWQqIGNv bnRleHQpIHsKKysgIGlmICghbGliY19jYWxsb2MpCisrICAgIG11c2xfbGliY19tZW1vcnlfaW5p dCgpOworKyAgcmV0dXJuICgqbGliY19jYWxsb2MpKG4sIHNpemUpOworK30KKysKKyt2b2lkKiBN dXNsUmVhbGxvYyhjb25zdCBBbGxvY2F0b3JEaXNwYXRjaCosIHZvaWQqIGFkZHJlc3MsIHNpemVf dCBzaXplLCB2b2lkKiBjb250ZXh0KSB7CisrICBpZiAoIWxpYmNfcmVhbGxvYykKKysgICAgbXVz bF9saWJjX21lbW9yeV9pbml0KCk7CisrICByZXR1cm4gKCpsaWJjX3JlYWxsb2MpKGFkZHJlc3Ms IHNpemUpOworK30KKysKKyt2b2lkKiBNdXNsTWVtYWxpZ24oY29uc3QgQWxsb2NhdG9yRGlzcGF0 Y2gqLCBzaXplX3QgYWxpZ25tZW50LCBzaXplX3Qgc2l6ZSwgdm9pZCogY29udGV4dCkgeworKyAg aWYgKCFsaWJjX21lbWFsaWduKQorKyAgICBtdXNsX2xpYmNfbWVtb3J5X2luaXQoKTsKKysgIHJl dHVybiAoKmxpYmNfbWVtYWxpZ24pKGFsaWdubWVudCwgc2l6ZSk7CisrfQorKworK3ZvaWQgTXVz bEZyZWUoY29uc3QgQWxsb2NhdG9yRGlzcGF0Y2gqLCB2b2lkKiBhZGRyZXNzLCB2b2lkKiBjb250 ZXh0KSB7CisrICBpZiAoIWxpYmNfZnJlZSkKKysgICAgbXVzbF9saWJjX21lbW9yeV9pbml0KCk7 CisrICAoKmxpYmNfZnJlZSkoYWRkcmVzcyk7CisrfQorKworK3NpemVfdCBNdXNsR2V0U2l6ZUVz dGltYXRlKGNvbnN0IEFsbG9jYXRvckRpc3BhdGNoKiwgdm9pZCogYWRkcmVzcywgdm9pZCogY29u dGV4dCkgeworKyAgLy8gVE9ETyhzaWdnaSwgcHJpbWlhbm8pOiBtYWxsb2NfdXNhYmxlX3NpemUg bWF5IG5lZWQgcmVkaXJlY3Rpb24gaW4gdGhlCisrICAvLyAgICAgcHJlc2VuY2Ugb2YgaW50ZXJw b3Npbmcgc2hpbXMgdGhhdCBkaXZlcnQgYWxsb2NhdGlvbnMuCisrICBpZiAoIWxpYmNfbWFsbG9j X3VzYWJsZV9zaXplKQorKyAgICBtdXNsX2xpYmNfbWVtb3J5X2luaXQoKTsKKysgIHJldHVybiAo KmxpYmNfbWFsbG9jX3VzYWJsZV9zaXplKShhZGRyZXNzKTsKKyt9CisrCisrfSAgLy8gbmFtZXNw YWNlCisrCisrY29uc3QgQWxsb2NhdG9yRGlzcGF0Y2ggQWxsb2NhdG9yRGlzcGF0Y2g6OmRlZmF1 bHRfZGlzcGF0Y2ggPSB7CisrICAgICZNdXNsTWFsbG9jLCAgICAgICAgICAgLyogYWxsb2NfZnVu Y3Rpb24gKi8KKysgICAgJk11c2xDYWxsb2MsICAgICAgICAgICAvKiBhbGxvY196ZXJvX2luaXRp YWxpemVkX2Z1bmN0aW9uICovCisrICAgICZNdXNsTWVtYWxpZ24sICAgICAgICAgLyogYWxsb2Nf YWxpZ25lZF9mdW5jdGlvbiAqLworKyAgICAmTXVzbFJlYWxsb2MsICAgICAgICAgIC8qIHJlYWxs b2NfZnVuY3Rpb24gKi8KKysgICAgJk11c2xGcmVlLCAgICAgICAgICAgICAvKiBmcmVlX2Z1bmN0 aW9uICovCisrICAgICZNdXNsR2V0U2l6ZUVzdGltYXRlLCAgLyogZ2V0X3NpemVfZXN0aW1hdGVf ZnVuY3Rpb24gKi8KKysgICAgbnVsbHB0ciwgICAgICAgICAgICAgICAvKiBuZXh0ICovCisrfTsK KysKKysjZW5kaWYKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAy MDItY2hyb21pdW0tbXVzbC1uby1tYWxsaW5mby5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAyMDItY2hyb21pdW0tbXVzbC1uby1tYWxsaW5mby5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmE1YmRiNWE0M2E1ZgotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDItY2hyb21pdW0tbXVzbC1u by1tYWxsaW5mby5wYXRjaApAQCAtMCwwICsxLDYyIEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vYmFzZS9wcm9jZXNzL3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYworKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL2Jhc2UvcHJvY2Vzcy9wcm9jZXNzX21ldHJpY3NfcG9zaXguY2MKK0BA IC0xMDUsNyArMTA1LDcgQEAgdm9pZCBJbmNyZWFzZUZkTGltaXRUbyh1bnNpZ25lZCBpbnQgbWF4 XworIAorICNlbmRpZiAgLy8gIWRlZmluZWQoT1NfRlVDSFNJQSkKKyAKKy0jaWYgZGVmaW5lZChP U19MSU5VWCkgfHwgZGVmaW5lZChPU19DSFJPTUVPUykgfHwgZGVmaW5lZChPU19BTkRST0lEKQor KyNpZiAoZGVmaW5lZChPU19MSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pKSB8fCBkZWZpbmVk KE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpCisgbmFtZXNwYWNlIHsKKyAKKyBz aXplX3QgR2V0TWFsbG9jVXNhZ2VNYWxsaW5mbygpIHsKK0BAIC0xMjcsMTYgKzEyNywxNiBAQCBz aXplX3QgR2V0TWFsbG9jVXNhZ2VNYWxsaW5mbygpIHsKKyB9CisgCisgfSAgLy8gbmFtZXNwYWNl CistI2VuZGlmICAvLyBkZWZpbmVkKE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8 fCBkZWZpbmVkKE9TX0FORFJPSUQpCisrI2VuZGlmICAvLyAoZGVmaW5lZChPU19MSU5VWCkgJiYg ZGVmaW5lZChfX0dMSUJDX18pKSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9T X0FORFJPSUQpCisgCisgc2l6ZV90IFByb2Nlc3NNZXRyaWNzOjpHZXRNYWxsb2NVc2FnZSgpIHsK KyAjaWYgZGVmaW5lZChPU19BUFBMRSkKKyAgIG1hbGxvY19zdGF0aXN0aWNzX3Qgc3RhdHMgPSB7 MH07CisgICBtYWxsb2Nfem9uZV9zdGF0aXN0aWNzKG51bGxwdHIsICZzdGF0cyk7CisgICByZXR1 cm4gc3RhdHMuc2l6ZV9pbl91c2U7CistI2VsaWYgZGVmaW5lZChPU19MSU5VWCkgfHwgZGVmaW5l ZChPU19DSFJPTUVPUykgfHwgZGVmaW5lZChPU19BTkRST0lEKQorKyNlbGlmIChkZWZpbmVkKE9T X0xJTlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykpIHx8IGRlZmluZWQoT1NfQ0hST01FT1MpIHx8 IGRlZmluZWQoT1NfQU5EUk9JRCkKKyAgIHJldHVybiBHZXRNYWxsb2NVc2FnZU1hbGxpbmZvKCk7 CistI2VsaWYgZGVmaW5lZChPU19GVUNIU0lBKQorKyNlbHNlCisgICAvLyBUT0RPKGZ1Y2hzaWEp OiBOb3QgY3VycmVudGx5IGV4cG9zZWQuIGh0dHBzOi8vY3JidWcuY29tLzczNTA4Ny4KKyAgIHJl dHVybiAwOworICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL3Byb2ZpbGluZy9tZW1vcnlfaW5mby5jYworKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxv dy9saXRlL3Byb2ZpbGluZy9tZW1vcnlfaW5mby5jYworQEAgLTI3LDcgKzI3LDcgQEAgbmFtZXNw YWNlIG1lbW9yeSB7CisgY29uc3QgaW50IE1lbW9yeVVzYWdlOjprVmFsdWVOb3RTZXQgPSAwOwor IAorIGJvb2wgTWVtb3J5VXNhZ2U6OklzU3VwcG9ydGVkKCkgeworLSNpZmRlZiBfX2xpbnV4X18K KysjaWZkZWYgX19HTElCQ19fCisgICByZXR1cm4gdHJ1ZTsKKyAjZW5kaWYKKyAgIHJldHVybiBm YWxzZTsKK0BAIC0zNSw3ICszNSw3IEBAIGJvb2wgTWVtb3J5VXNhZ2U6OklzU3VwcG9ydGVkKCkg eworIAorIE1lbW9yeVVzYWdlIEdldE1lbW9yeVVzYWdlKCkgeworICAgTWVtb3J5VXNhZ2UgcmVz dWx0OworLSNpZmRlZiBfX2xpbnV4X18KKysjaWZkZWYgX19HTElCQ19fCisgICBydXNhZ2UgcmVz OworICAgaWYgKGdldHJ1c2FnZShSVVNBR0VfU0VMRiwgJnJlcykgPT0gMCkgeworICAgICByZXN1 bHQubWF4X3Jzc19rYiA9IHJlcy5ydV9tYXhyc3M7CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYworKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL2Jhc2UvdHJhY2VfZXZlbnQvbWFsbG9jX2R1bXBfcHJvdmlkZXIuY2MK K0BAIC0yMTMsNyArMjEzLDcgQEAgYm9vbCBNYWxsb2NEdW1wUHJvdmlkZXI6Ok9uTWVtb3J5RHVt cChjbworICAgICAgICAgICAgICAgICAgICAgICZhbGxvY2F0ZWRfb2JqZWN0c19jb3VudCk7Cisg I2VsaWYgZGVmaW5lZChPU19GVUNIU0lBKQorIC8vIFRPRE8oZnVjaHNpYSk6IFBvcnQsIHNlZSBo dHRwczovL2NyYnVnLmNvbS83MDY1OTIuCistI2Vsc2UKKysjZWxpZiBkZWZpbmVkKF9fR0xJQkNf XykKKyAjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmIGRlZmluZWQoX19HTElCQ19QUkVSRVEpCisg I2lmIF9fR0xJQkNfUFJFUkVRKDIsIDMzKQorICNkZWZpbmUgTUFMTElORk8yX0ZPVU5EX0lOX0xJ QkMKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDMtY2hyb21p dW0tbXVzbC1zaWdpbmZvX3QucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MjAzLWNocm9taXVtLW11c2wtc2lnaW5mb190LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uNDNlZjdmZDdjNWQyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMy1jaHJvbWl1bS1tdXNsLXNpZ2luZm9fdC5wYXRj aApAQCAtMCwwICsxLDE4IEBACitUaGVyZSdzIGEgc3VidGxlIGRpZmZlcmVuY2UgaW4gdGhlIGlu dGVybmFsIG5hbWUgb2Ygc2lnaW5mb190IGZpZWxkcworYmV0d2VlbiBnbGliYyBhbmQgbXVzbC4g VGhlIHN0cnVjdHVyZSBpdHNlbGYgaXMgZXF1aXZhbGVudCwgc28gaXQKK3Nob3VsZCBzdWZmaWNl IHRvIGFkZCBhIG1hY3JvIHRvIHJlbmFtZSB0aGUgZmllbGQuCisKKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3RyYXAuY2MKKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3RyYXAuY2MKK0BAIC0x NzQsNyArMTc0LDExIEBAIHZvaWQgVHJhcDo6U2lnU3lzKGludCBuciwgTGludXhTaWdJbmZvKgor ICAgLy8gSWYgdGhlIHZlcnNpb24gb2YgZ2xpYmMgZG9lc24ndCBpbmNsdWRlIHRoaXMgaW5mb3Jt YXRpb24gaW4KKyAgIC8vIHNpZ2luZm9fdCAob2xkZXIgdGhhbiAyLjE3KSwgd2UgbmVlZCB0byBl eHBsaWNpdGx5IGNvcHkgaXQKKyAgIC8vIGludG8gYW4gYXJjaF9zaWdzeXMgc3RydWN0dXJlLgor KyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIG1lbWNweSgmc2lnc3lzLCAmaW5mby0+X3NpZmll bGRzLCBzaXplb2Yoc2lnc3lzKSk7CisrI2Vsc2UKKysgIG1lbWNweSgmc2lnc3lzLCAmaW5mby0+ X19zaV9maWVsZHMsIHNpemVvZihzaWdzeXMpKTsKKysjZW5kaWYKKyAjZW5kaWYKKyAKKyAjaWYg ZGVmaW5lZChfX21pcHNfXykKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAyMDQtY2hyb21pdW0tbXVzbC1zdGFja3N0YXJ0LnBhdGNoIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDIwNC1jaHJvbWl1bS1tdXNsLXN0YWNrc3RhcnQucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iMDNjZjQzYjg2ZGIKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA0LWNocm9taXVtLW11 c2wtc3RhY2tzdGFydC5wYXRjaApAQCAtMCwwICsxLDIwIEBACistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3N0YWNrX3V0 aWwuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9wbGF0Zm9ybS93dGYvc3RhY2tfdXRpbC5jYworQEAgLTI5LDcgKzI5LDcgQEAgc2l6ZV90 IEdldFVuZGVyZXN0aW1hdGVkU3RhY2tTaXplKCkgeworIC8vIEZJWE1FOiBPbiBNYWMgT1NYIGFu ZCBMaW51eCwgdGhpcyBtZXRob2QgY2Fubm90IGVzdGltYXRlIHN0YWNrIHNpemUKKyAvLyBjb3Jy ZWN0bHkgZm9yIHRoZSBtYWluIHRocmVhZC4KKyAKKy0jZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykg fHwgZGVmaW5lZChPU19BTkRST0lEKSB8fCBkZWZpbmVkKE9TX0ZSRUVCU0QpIHx8IFwKKysjZWxp ZiBkZWZpbmVkKE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpIHx8IGRlZmluZWQoT1Nf RlJFRUJTRCkgfHwgXAorICAgICBkZWZpbmVkKE9TX0ZVQ0hTSUEpCisgICAvLyBwdGhyZWFkX2dl dGF0dHJfbnAoKSBjYW4gZmFpbCBpZiB0aGUgdGhyZWFkIGlzIG5vdCBpbnZva2VkIGJ5CisgICAv LyBwdGhyZWFkX2NyZWF0ZSgpIChlLmcuLCB0aGUgbWFpbiB0aHJlYWQgb2YgYmxpbmtfdW5pdHRl c3RzKS4KK0BAIC05Nyw3ICs5Nyw3IEBAIHJldHVybiBUaHJlYWRpbmc6OlRocmVhZFN0YWNrU2l6 ZSgpOworIH0KKyAKKyB2b2lkKiBHZXRTdGFja1N0YXJ0KCkgeworLSNpZiBkZWZpbmVkKF9fR0xJ QkNfXykgfHwgZGVmaW5lZChPU19BTkRST0lEKSB8fCBkZWZpbmVkKE9TX0ZSRUVCU0QpIHx8IFwK KysjaWYgZGVmaW5lZChPU19MSU5VWCkgfHwgZGVmaW5lZChPU19BTkRST0lEKSB8fCBkZWZpbmVk KE9TX0ZSRUVCU0QpIHx8IFwKKyAgICAgZGVmaW5lZChPU19GVUNIU0lBKQorICAgcHRocmVhZF9h dHRyX3QgYXR0cjsKKyAgIGludCBlcnJvcjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAyMDUtY2hyb21pdW0tbXVzbC1zYW5kYm94LnBhdGNoIGIvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwNS1jaHJvbWl1bS1tdXNsLXNhbmRib3gucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43NzJhNTc4ZmQ4MjMKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA1LWNocm9taXVt LW11c2wtc2FuZGJveC5wYXRjaApAQCAtMCwwICsxLDkyIEBACistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1l dGVyc19yZXN0cmljdGlvbnMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9u cy5jYworQEAgLTEzOCw3ICsxMzgsNyBAQCBuYW1lc3BhY2Ugc2FuZGJveCB7CisgLy8gcHJlc2Vu dCAoYXMgaW4gbmV3ZXIgdmVyc2lvbnMgb2YgcG9zaXhfc3Bhd24pLgorIFJlc3VsdEV4cHIgUmVz dHJpY3RDbG9uZVRvVGhyZWFkc0FuZEVQRVJNRm9yaygpIHsKKyAgIGNvbnN0IEFyZzx1bnNpZ25l ZCBsb25nPiBmbGFncygwKTsKKy0KKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgICAvLyBUT0RP KG1kZW1wc2t5KTogRXh0ZW5kIERTTCB0byBzdXBwb3J0IChmbGFncyAmIH5tYXNrMSkgPT0gbWFz azIuCisgICBjb25zdCB1aW50NjRfdCBrQW5kcm9pZENsb25lTWFzayA9IENMT05FX1ZNIHwgQ0xP TkVfRlMgfCBDTE9ORV9GSUxFUyB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIENMT05FX1NJR0hBTkQgfCBDTE9ORV9USFJFQUQgfAorQEAgLTE2NSw2ICsxNjUsMTcgQEAg UmVzdWx0RXhwciBSZXN0cmljdENsb25lVG9UaHJlYWRzQW5kRVBFUgorICAgcmV0dXJuIElmKElz QW5kcm9pZCgpID8gYW5kcm9pZF90ZXN0IDogZ2xpYmNfdGVzdCwgQWxsb3coKSkKKyAgICAgICAu RWxzZUlmKGlzX2Zvcmtfb3JfY2xvbmVfdmZvcmssIEVycm9yKEVQRVJNKSkKKyAgICAgICAuRWxz ZShDcmFzaFNJR1NZU0Nsb25lKCkpOworKyNlbHNlCisrICBjb25zdCBpbnQgcmVxdWlyZWQgPSBD TE9ORV9WTSB8IENMT05FX0ZTIHwgQ0xPTkVfRklMRVMgfCBDTE9ORV9TSUdIQU5EIHwKKysgICAg ICAgICAgICAgICAgICAgICAgIENMT05FX1RIUkVBRCB8IENMT05FX1NZU1ZTRU07CisrICBjb25z dCBpbnQgc2FmZSA9IENMT05FX1NFVFRMUyB8IENMT05FX1BBUkVOVF9TRVRUSUQgfCBDTE9ORV9D SElMRF9DTEVBUlRJRCB8CisrICAgICAgICAgICAgICAgICAgIENMT05FX0RFVEFDSEVEOworKyAg Y29uc3QgQm9vbEV4cHIgdGhyZWFkX2Nsb25lX29rID0gKGZsYWdzJn5zYWZlKT09cmVxdWlyZWQ7 CisrCisrICByZXR1cm4gSWYodGhyZWFkX2Nsb25lX29rLCBBbGxvdygpKQorKyAgICAgIC5FbHNl SWYoKGZsYWdzICYgKENMT05FX1ZNIHwgQ0xPTkVfVEhSRUFEKSkgPT0gMCwgRXJyb3IoRVBFUk0p KQorKyAgICAgIC5FbHNlKENyYXNoU0lHU1lTQ2xvbmUoKSk7CisrI2VuZGlmCisgfQorIAorICNp Zm5kZWYgUFJfUEFDX1JFU0VUX0tFWVMKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5k Ym94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2Nh bGxfc2V0cy5jYworQEAgLTQxOSw2ICs0MTksOSBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93 ZWRQcm9jZXNzU3RhcnRPCisgI2lmIGRlZmluZWQoX19pMzg2X18pCisgICAgIGNhc2UgX19OUl93 YWl0cGlkOgorICNlbmRpZgorKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrICAgIGNhc2UgX19O Ul9zZXRfdGlkX2FkZHJlc3M6CisrI2VuZGlmCisgICAgICAgcmV0dXJuIHRydWU7CisgICAgIGNh c2UgX19OUl9jbG9uZTogIC8vIFNob3VsZCBiZSBwYXJhbWV0ZXItcmVzdHJpY3RlZC4KKyAgICAg Y2FzZSBfX05SX3NldG5zOiAgLy8gUHJpdmlsZWdlZC4KK0BAIC00MzEsNyArNDM0LDkgQEAgYm9v bCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0TworICNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCisgICAgIGNh c2UgX19OUl9zZXRfdGhyZWFkX2FyZWE6CisgI2VuZGlmCisrI2lmIGRlZmluZWQoX19HTElCQ19f KQorICAgICBjYXNlIF9fTlJfc2V0X3RpZF9hZGRyZXNzOgorKyNlbmRpZgorICAgICBjYXNlIF9f TlJfdW5zaGFyZToKKyAjaWYgIWRlZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9fYWFyY2g2 NF9fKQorICAgICBjYXNlIF9fTlJfdmZvcms6CitAQCAtNTQ1LDYgKzU1MCw5IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzQWxsb3dlZEFkZHJlc3NTcGFjZUEKKyAgICAgY2FzZSBfX05SX21sb2NrOgor ICAgICBjYXNlIF9fTlJfbXVubG9jazoKKyAgICAgY2FzZSBfX05SX211bm1hcDoKKysjaWYgIWRl ZmluZWQoX19HTElCQ19fKQorKyAgICBjYXNlIF9fTlJfbXJlbWFwOgorKyNlbmRpZgorICAgICAg IHJldHVybiB0cnVlOworICAgICBjYXNlIF9fTlJfbWFkdmlzZToKKyAgICAgY2FzZSBfX05SX21p bmNvcmU6CitAQCAtNTYyLDcgKzU3MCw5IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEFk ZHJlc3NTcGFjZUEKKyAgICAgY2FzZSBfX05SX21vZGlmeV9sZHQ6CisgI2VuZGlmCisgICAgIGNh c2UgX19OUl9tcHJvdGVjdDoKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgICAgIGNhc2UgX19O Ul9tcmVtYXA6CisrI2VuZGlmCisgICAgIGNhc2UgX19OUl9tc3luYzoKKyAgICAgY2FzZSBfX05S X211bmxvY2thbGw6CisgICAgIGNhc2UgX19OUl9yZWFkYWhlYWQ6CistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51 eC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvcG9saWN5L2xpbnV4L2Jw Zl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MKK0BAIC05NywxMSArOTcsMTggQEAgUmVzdWx0RXhw ciBSZW5kZXJlclByb2Nlc3NQb2xpY3k6OkV2YWx1YQorICAgICBjYXNlIF9fTlJfc3lzaW5mbzoK KyAgICAgY2FzZSBfX05SX3RpbWVzOgorICAgICBjYXNlIF9fTlJfdW5hbWU6CisrI2lmICFkZWZp bmVkKF9fR0xJQkNfXykKKysgICAgY2FzZSBfX05SX3NjaGVkX2dldHBhcmFtOgorKyAgICBjYXNl IF9fTlJfc2NoZWRfZ2V0c2NoZWR1bGVyOgorKyAgICBjYXNlIF9fTlJfc2NoZWRfc2V0c2NoZWR1 bGVyOgorKyNlbmRpZgorICAgICAgIHJldHVybiBBbGxvdygpOworICAgICBjYXNlIF9fTlJfc2No ZWRfZ2V0YWZmaW5pdHk6CisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAgICBjYXNlIF9fTlJf c2NoZWRfZ2V0cGFyYW06CisgICAgIGNhc2UgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXI6CisgICAg IGNhc2UgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXI6CisrI2VuZGlmCisgICAgICAgcmV0dXJuIFJl c3RyaWN0U2NoZWRUYXJnZXQoR2V0UG9saWN5UGlkKCksIHN5c25vKTsKKyAgICAgY2FzZSBfX05S X3BybGltaXQ2NDoKKyAgICAgICAvLyBTZWUgY3JidWcuY29tLzY2MjQ1MCBhbmQgc2V0cmxpbWl0 IGNvbW1lbnQgYWJvdmUuCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMjA2LWNocm9taXVtLW11c2wtZGVmYXVsdC1zdGFja3NpemUucGF0Y2ggYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA2LWNocm9taXVtLW11c2wtZGVmYXVsdC1zdGFja3NpemUu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iYzA3NDk1Yjgx NDQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA2 LWNocm9taXVtLW11c2wtZGVmYXVsdC1zdGFja3NpemUucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvdGhyZWFkaW5nL3BsYXRmb3JtX3RocmVh ZF9saW51eC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvdGhyZWFkaW5nL3Bs YXRmb3JtX3RocmVhZF9saW51eC5jYworQEAgLTQzOSw3ICs0MzksMTIgQEAgdm9pZCBUZXJtaW5h dGVPblRocmVhZCgpIHt9CisgCisgc2l6ZV90IEdldERlZmF1bHRUaHJlYWRTdGFja1NpemUoY29u c3QgcHRocmVhZF9hdHRyX3QmIGF0dHJpYnV0ZXMpIHsKKyAjaWYgIWRlZmluZWQoVEhSRUFEX1NB TklUSVpFUikKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgICByZXR1cm4gMDsKKysjZWxzZSAv LyBkZWZpbmVkKF9fR0xJQkNfXykKKysgIC8vIEZvciBNdXNsIGxpYmMgdHJ5IHdpdGggYSBkZWZh dWx0IHN0YWNrIHNpemUgb2YgMiBNaUIKKysgIHJldHVybiAyICogMTAyNCAqIDEwMjQ7CisrI2Vu ZGlmIC8vICFkZWZpbmVkKF9fR0xJQkNfXykKKyAjZWxzZQorICAgLy8gVGhyZWFkU2FuaXRpemVy IGJsb2F0cyB0aGUgc3RhY2sgaGVhdmlseS4gRXZpZGVuY2UgaGFzIGJlZW4gdGhhdCB0aGUKKyAg IC8vIGRlZmF1bHQgc3RhY2sgc2l6ZSBpc24ndCBlbm91Z2ggZm9yIHNvbWUgYnJvd3NlciB0ZXN0 cy4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDctY2hyb21p dW0tbXVzbC1jcm9zcy1uby1hc21fcHRyYWNlX2gucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMjA3LWNocm9taXVtLW11c2wtY3Jvc3Mtbm8tYXNtX3B0cmFjZV9oLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uM2NmMTMyOTA4YWY0Ci0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwNy1jaHJv bWl1bS1tdXNsLWNyb3NzLW5vLWFzbV9wdHJhY2VfaC5wYXRjaApAQCAtMCwwICsxLDMwIEBACist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlci5jYwor KysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIuY2MK K0BAIC0zOCw3ICszOCwxMiBAQAorIAorICNpbmNsdWRlICJjbGllbnQvbGludXgvbWluaWR1bXBf d3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIuaCIKKyAKKysjaWYgZGVmaW5lZChfX0dMSUJDX18p CisgI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KKysjZWxzZQorKy8qIEZvciBhcm0qLW11c2wgdGhp cyBkZWZpbml0aW9uIGlzIG1pc3NpbmcgKi8KKysjZGVmaW5lIEFSTV9zcCB1cmVnc1sxM10KKysj ZW5kaWYKKyAjaW5jbHVkZSA8YXNzZXJ0Lmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1 ZGUgPGZjbnRsLmg+CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfY29y ZV9kdW1wZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9jb3Jl X2R1bXBlci5jYworQEAgLTMyLDcgKzMyLDEyIEBACisgCisgI2luY2x1ZGUgImNsaWVudC9saW51 eC9taW5pZHVtcF93cml0ZXIvbGludXhfY29yZV9kdW1wZXIuaCIKKyAKKysjaWYgZGVmaW5lZChf X0dMSUJDX18pCisgI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KKysjZWxzZQorKy8qIEZvciBhcm0q LW11c2wgdGhpcyBkZWZpbml0aW9uIGlzIG1pc3NpbmcgKi8KKysjZGVmaW5lIEFSTV9zcCB1cmVn c1sxM10KKysjZW5kaWYKKyAjaW5jbHVkZSA8YXNzZXJ0Lmg+CisgI2luY2x1ZGUgPGVsZi5oPgor ICNpbmNsdWRlIDxzdGRpby5oPgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDIwOC1jaHJvbWl1bS1tdXNsLWV4ZWNpbmZvLnBhdGNoIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDIwOC1jaHJvbWl1bS1tdXNsLWV4ZWNpbmZvLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uOWYzYjk2NDY3NmIzCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwOC1jaHJvbWl1bS1tdXNs LWV4ZWNpbmZvLnBhdGNoCkBAIC0wLDAgKzEsMTI1IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vYmFzZS9kZWJ1Zy9zdGFja190cmFjZS5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2UuY2MKK0BAIC0yNTIsNyArMjUyLDkgQEAgdm9pZCBT dGFja1RyYWNlOjpQcmludCgpIGNvbnN0IHsKKyB9CisgCisgdm9pZCBTdGFja1RyYWNlOjpPdXRw dXRUb1N0cmVhbShzdGQ6Om9zdHJlYW0qIG9zKSBjb25zdCB7CisrI2lmIGRlZmluZWQoX19HTElC Q19fKSAmJiAhZGVmaW5lZChfQUlYKQorICAgT3V0cHV0VG9TdHJlYW1XaXRoUHJlZml4KG9zLCBu dWxscHRyKTsKKysjZW5kaWYKKyB9CisgCisgc3RkOjpzdHJpbmcgU3RhY2tUcmFjZTo6VG9TdHJp bmcoKSBjb25zdCB7CitAQCAtMjYwLDcgKzI2Miw3IEBAIHN0ZDo6c3RyaW5nIFN0YWNrVHJhY2U6 OlRvU3RyaW5nKCkgY29uc3QKKyB9Cisgc3RkOjpzdHJpbmcgU3RhY2tUcmFjZTo6VG9TdHJpbmdX aXRoUHJlZml4KGNvbnN0IGNoYXIqIHByZWZpeF9zdHJpbmcpIGNvbnN0IHsKKyAgIHN0ZDo6c3Ry aW5nc3RyZWFtIHN0cmVhbTsKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQo X0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgICBPdXRw dXRUb1N0cmVhbVdpdGhQcmVmaXgoJnN0cmVhbSwgcHJlZml4X3N0cmluZyk7CisgI2VuZGlmCisg ICByZXR1cm4gc3RyZWFtLnN0cigpOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2Uv ZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9i YXNlL2RlYnVnL3N0YWNrX3RyYWNlX3Bvc2l4LmNjCitAQCAtMjcsNyArMjcsNyBAQAorICNpZiAh ZGVmaW5lZChVU0VfU1lNQk9MSVpFKQorICNpbmNsdWRlIDxjeHhhYmkuaD4KKyAjZW5kaWYKKy0j aWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChf X0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CisgI2Vu ZGlmCisgCitAQCAtODksNyArODksNyBAQCB2b2lkIERlbWFuZ2xlU3ltYm9scyhzdGQ6OnN0cmlu ZyogdGV4dCkKKyAgIC8vIE5vdGU6IGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyBOT1QgYXN5bmMt c2lnbmFsIHNhZmUgKHN0ZDo6c3RyaW5nIHVzZXMKKyAgIC8vIG1hbGxvYyBpbnRlcm5hbGx5KS4K KyAKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVm aW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgICBzdGQ6OnN0cmluZzo6c2l6ZV90 eXBlIHNlYXJjaF9mcm9tID0gMDsKKyAgIHdoaWxlIChzZWFyY2hfZnJvbSA8IHRleHQtPnNpemUo KSkgeworICAgICAvLyBMb29rIGZvciB0aGUgc3RhcnQgb2YgYSBtYW5nbGVkIHN5bWJvbCwgZnJv bSBzZWFyY2hfZnJvbS4KK0BAIC0xMjQsNyArMTI0LDcgQEAgdm9pZCBEZW1hbmdsZVN5bWJvbHMo c3RkOjpzdHJpbmcqIHRleHQpCisgICAgICAgc2VhcmNoX2Zyb20gPSBtYW5nbGVkX3N0YXJ0ICsg MjsKKyAgICAgfQorICAgfQorLSNlbmRpZiAgLy8gIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRl ZmluZWQoX0FJWCkKKysjZW5kaWYgIC8vICFkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQo X0FJWCkKKyB9CisgI2VuZGlmICAvLyAhZGVmaW5lZChVU0VfU1lNQk9MSVpFKQorIAorQEAgLTEz Niw3ICsxMzYsNyBAQCBjbGFzcyBCYWNrdHJhY2VPdXRwdXRIYW5kbGVyIHsKKyAgIHZpcnR1YWwg fkJhY2t0cmFjZU91dHB1dEhhbmRsZXIoKSA9IGRlZmF1bHQ7CisgfTsKKyAKKy0jaWYgIWRlZmlu ZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18p ICYmICFkZWZpbmVkKF9BSVgpCisgdm9pZCBPdXRwdXRQb2ludGVyKHZvaWQqIHBvaW50ZXIsIEJh Y2t0cmFjZU91dHB1dEhhbmRsZXIqIGhhbmRsZXIpIHsKKyAgIC8vIFRoaXMgc2hvdWxkIGJlIG1v cmUgdGhhbiBlbm91Z2ggdG8gc3RvcmUgYSA2NC1iaXQgbnVtYmVyIGluIGhleDoKKyAgIC8vIDE2 IGhleCBkaWdpdHMgKyAxIGZvciBudWxsLXRlcm1pbmF0b3IuCitAQCAtMjE5LDcgKzIxOSw3IEBA IHZvaWQgUHJvY2Vzc0JhY2t0cmFjZSh2b2lkKiBjb25zdCogdHJhY2UKKyAgIH0KKyAjZW5kaWYg IC8vIGRlZmluZWQoVVNFX1NZTUJPTElaRSkKKyB9CistI2VuZGlmICAvLyAhZGVmaW5lZChfX1VD TElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNlbmRpZiAgLy8gIWRlZmluZWQoX19HTElCQ19f KSAmJiAhZGVmaW5lZChfQUlYKQorIAorIHZvaWQgUHJpbnRUb1N0ZGVycihjb25zdCBjaGFyKiBv dXRwdXQpIHsKKyAgIC8vIE5PVEU6IFRoaXMgY29kZSBNVVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZl IChpdCdzIHVzZWQgYnkgaW4tcHJvY2VzcworQEAgLTgzOSw3ICs4MzksNyBAQCBzaXplX3QgQ29s bGVjdFN0YWNrVHJhY2Uodm9pZCoqIHRyYWNlLCBzCisgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSB1 bndpbmQgdGFibGVzLCB0aGVuIHRyeSB0cmFjaW5nIHVzaW5nIGZyYW1lIHBvaW50ZXJzLgorICAg cmV0dXJuIGJhc2U6OmRlYnVnOjpUcmFjZVN0YWNrRnJhbWVQb2ludGVycyhjb25zdF9jYXN0PGNv bnN0IHZvaWQqKj4odHJhY2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb3VudCwgMCk7CistI2VsaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRl ZmluZWQoX0FJWCkKKysjZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkK KyAgIC8vIFRob3VnaCB0aGUgYmFja3RyYWNlIEFQSSBtYW4gcGFnZSBkb2VzIG5vdCBsaXN0IGFu eSBwb3NzaWJsZSBuZWdhdGl2ZQorICAgLy8gcmV0dXJuIHZhbHVlcywgd2UgdGFrZSBubyBjaGFu Y2UuCisgICByZXR1cm4gYmFzZTo6c2F0dXJhdGVkX2Nhc3Q8c2l6ZV90PihiYWNrdHJhY2UodHJh Y2UsIGNvdW50KSk7CitAQCAtODUyLDEzICs4NTIsMTMgQEAgdm9pZCBTdGFja1RyYWNlOjpQcmlu dFdpdGhQcmVmaXgoY29uc3QgYworIC8vIE5PVEU6IFRoaXMgY29kZSBNVVNUIGJlIGFzeW5jLXNp Z25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2VzcworIC8vIHN0YWNrIGR1bXBpbmcgc2ln bmFsIGhhbmRsZXIpLiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMgYWxsb3dlZCBoZXJlLgorIAorLSNp ZiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNpZiBkZWZpbmVkKF9f R0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyAgIFByaW50QmFja3RyYWNlT3V0cHV0SGFuZGxl ciBoYW5kbGVyOworICAgUHJvY2Vzc0JhY2t0cmFjZSh0cmFjZV8sIGNvdW50XywgcHJlZml4X3N0 cmluZywgJmhhbmRsZXIpOworICNlbmRpZgorIH0KKyAKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNf XykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVk KF9BSVgpCisgdm9pZCBTdGFja1RyYWNlOjpPdXRwdXRUb1N0cmVhbVdpdGhQcmVmaXgoc3RkOjpv c3RyZWFtKiBvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBjaGFyKiBwcmVmaXhfc3RyaW5nKSBjb25zdCB7CisgICBTdHJlYW1CYWNrdHJhY2VPdXRw dXRIYW5kbGVyIGhhbmRsZXIob3MpOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2Uv bG9nZ2luZy5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvbG9nZ2luZy5jYwor QEAgLTU4Miw3ICs1ODIsNyBAQCBMb2dNZXNzYWdlOjpMb2dNZXNzYWdlKGNvbnN0IGNoYXIqIGZp bGUsCisgCisgTG9nTWVzc2FnZTo6fkxvZ01lc3NhZ2UoKSB7CisgICBzaXplX3Qgc3RhY2tfc3Rh cnQgPSBzdHJlYW1fLnRlbGxwKCk7CistI2lmICFkZWZpbmVkKE9GRklDSUFMX0JVSUxEKSAmJiAh ZGVmaW5lZChPU19OQUNMKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiBcCisrI2lmICFkZWZp bmVkKE9GRklDSUFMX0JVSUxEKSAmJiAhZGVmaW5lZChPU19OQUNMKSAmJiBkZWZpbmVkKF9fR0xJ QkNfXykgJiYgXAorICAgICAhZGVmaW5lZChPU19BSVgpCisgICBpZiAoc2V2ZXJpdHlfID09IExP R0dJTkdfRkFUQUwgJiYgIWJhc2U6OmRlYnVnOjpCZWluZ0RlYnVnZ2VkKCkpIHsKKyAgICAgLy8g SW5jbHVkZSBhIHN0YWNrIHRyYWNlIG9uIGEgZmF0YWwsIHVubGVzcyBhIGRlYnVnZ2VyIGlzIGF0 dGFjaGVkLgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9jb2RlZ2VuL2V4dGVy bmFsLXJlZmVyZW5jZS10YWJsZS5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3Ny Yy9jb2RlZ2VuL2V4dGVybmFsLXJlZmVyZW5jZS10YWJsZS5jYworQEAgLTEyLDcgKzEyLDkgQEAK KyAKKyAjaWYgZGVmaW5lZChERUJVRykgJiYgZGVmaW5lZChWOF9PU19MSU5VWCkgJiYgIWRlZmlu ZWQoVjhfT1NfQU5EUk9JRCkKKyAjZGVmaW5lIFNZTUJPTElaRV9GVU5DVElPTgorKyNpZiBkZWZp bmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KKysjZW5kaWYKKyAKKyAjaW5j bHVkZSA8dmVjdG9yPgorIAorQEAgLTEwMyw3ICsxMDUsNyBAQCB2b2lkIEV4dGVybmFsUmVmZXJl bmNlVGFibGU6OkluaXQoSXNvbGF0CisgfQorIAorIGNvbnN0IGNoYXIqIEV4dGVybmFsUmVmZXJl bmNlVGFibGU6OlJlc29sdmVTeW1ib2wodm9pZCogYWRkcmVzcykgeworLSNpZmRlZiBTWU1CT0xJ WkVfRlVOQ1RJT04KKysjaWYgZGVmaW5lZChTWU1CT0xJWkVfRlVOQ1RJT04pICYmIGRlZmluZWQo X19HTElCQ19fKQorICAgY2hhcioqIG5hbWVzID0gYmFja3RyYWNlX3N5bWJvbHMoJmFkZHJlc3Ms IDEpOworICAgY29uc3QgY2hhciogbmFtZSA9IG5hbWVzWzBdOworICAgLy8gVGhlIGFycmF5IG9m IG5hbWVzIGlzIG1hbGxvYydlZC4gSG93ZXZlciwgZWFjaCBuYW1lIHN0cmluZyBpcyBzdGF0aWMK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDktY2hyb21pdW0t bXVzbC10aHJlYWQtc3RhY2tzaXplLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDIwOS1jaHJvbWl1bS1tdXNsLXRocmVhZC1zdGFja3NpemUucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40Yjc2MGE0MjhiMjUKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA5LWNocm9taXVtLW11c2wtdGhy ZWFkLXN0YWNrc2l6ZS5wYXRjaApAQCAtMCwwICsxLDIyIEBACistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vcHBhcGkvdXRpbGl0eS90aHJlYWRpbmcvc2ltcGxlX3RocmVhZC5jYworKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3BwYXBpL3V0aWxpdHkvdGhyZWFkaW5nL3NpbXBsZV90aHJl YWQuY2MKK0BAIC0xMyw3ICsxMyw3IEBAIG5hbWVzcGFjZSBwcCB7CisgbmFtZXNwYWNlIHsKKyAK KyAvLyBVc2UgMk1CIGRlZmF1bHQgc3RhY2sgc2l6ZSBmb3IgTmF0aXZlIENsaWVudCwgb3RoZXJ3 aXNlIHVzZSBzeXN0ZW0gZGVmYXVsdC4KKy0jaWYgZGVmaW5lZChfX25hdGl2ZV9jbGllbnRfXykK KysjaWYgZGVmaW5lZChfX25hdGl2ZV9jbGllbnRfXykgfHwgIWRlZmluZWQoX19HTElCQ19fKQor IGNvbnN0IHNpemVfdCBrRGVmYXVsdFN0YWNrU2l6ZSA9IDIgKiAxMDI0ICogMTAyNDsKKyAjZWxz ZQorIGNvbnN0IHNpemVfdCBrRGVmYXVsdFN0YWNrU2l6ZSA9IDA7CistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdjgvc3JjL2Jhc2UvcGxhdGZvcm0vcGxhdGZvcm0tcG9zaXguY2MKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9wbGF0Zm9ybS9wbGF0Zm9ybS1wb3Np eC5jYworQEAgLTg4Myw3ICs4ODMsNyBAQCBib29sIFRocmVhZDo6U3RhcnQoKSB7CisgI2lmIFY4 X09TX01BQ09TWAorICAgICAvLyBEZWZhdWx0IG9uIE1hYyBPUyBYIGlzIDUxMmtCIC0tIGJ1bXAg dXAgdG8gMU1CCisgICAgIHN0YWNrX3NpemUgPSAxICogMTAyNCAqIDEwMjQ7CistI2VsaWYgVjhf T1NfQUlYCisrI2VsaWYgVjhfT1NfQUlYIHx8ICFkZWZpbmVkKF9fR0xJQkNfXykKKyAgICAgLy8g RGVmYXVsdCBvbiBBSVggaXMgOTZrQiAtLSBidW1wIHVwIHRvIDJNQgorICAgICBzdGFja19zaXpl ID0gMiAqIDEwMjQgKiAxMDI0OworICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDIxMC1jaHJvbWl1bS1tdXNsLW1zZ3ZlYy1wdXNoX2JhY2sucGF0Y2gg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjEwLWNocm9taXVtLW11c2wtbXNndmVj LXB1c2hfYmFjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LjkwNWRhYTIyMzcwMAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAyMTAtY2hyb21pdW0tbXVzbC1tc2d2ZWMtcHVzaF9iYWNrLnBhdGNoCkBAIC0wLDAg KzEsMTQgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvc29ja2V0L3VkcF9zb2Nr ZXRfcG9zaXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvc29ja2V0L3VkcF9z b2NrZXRfcG9zaXguY2MKK0BAIC0xMTYyLDcgKzExNjIsMTEgQEAgU2VuZFJlc3VsdCBVRFBTb2Nr ZXRQb3NpeFNlbmRlcjo6SW50ZXJuYQorICAgICBtc2dfaW92LT5wdXNoX2JhY2soe2NvbnN0X2Nh c3Q8Y2hhcio+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5sZW5ndGgoKX0pOworICAgbXNndmVj LT5yZXNlcnZlKGJ1ZmZlcnMuc2l6ZSgpKTsKKyAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgYnVm ZmVycy5zaXplKCk7IGorKykKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgICAgIG1zZ3ZlYy0+ cHVzaF9iYWNrKHt7bnVsbHB0ciwgMCwgJm1zZ19pb3Zbal0sIDEsIG51bGxwdHIsIDAsIDB9LCAw fSk7CisrI2Vsc2UKKysgICAgbXNndmVjLT5wdXNoX2JhY2soe3tudWxscHRyLCAwLCAmbXNnX2lv dltqXSwgMSwgMCwgMCwgMH0sIDB9KTsKKysjZW5kaWYKKyAgIGludCByZXN1bHQgPSBIQU5ETEVf RUlOVFIoU2VuZG1tc2coZmQsICZtc2d2ZWNbMF0sIGJ1ZmZlcnMuc2l6ZSgpLCAwKSk7CisgICBT ZW5kUmVzdWx0IHNlbmRfcmVzdWx0KDAsIDAsIHN0ZDo6bW92ZShidWZmZXJzKSk7CisgICBpZiAo cmVzdWx0IDwgMCkgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDIxMS1jaHJvbWl1bS1tdXNsLWNhbm9uaWNhbGl6ZS1maWxlLW5hbWUtbXVzbC5wYXRjaCBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTEtY2hyb21pdW0tbXVzbC1jYW5vbmljYWxp emUtZmlsZS1uYW1lLW11c2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi5kNDNlNmJkNDg4YmMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMjExLWNocm9taXVtLW11c2wtY2Fub25pY2FsaXplLWZpbGUtbmFtZS1t dXNsLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9uYXNtL25hc21saWIvcmVhbHBhdGguYworKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L25hc20vbmFzbWxpYi9yZWFscGF0aC5jCitAQCAtNTUsNyArNTUs NyBAQAorICAqLworIGNoYXIgKm5hc21fcmVhbHBhdGgoY29uc3QgY2hhciAqcmVsX3BhdGgpCisg eworLSAgICBjaGFyICpycCA9IGNhbm9uaWNhbGl6ZV9maWxlX25hbWUocmVsX3BhdGgpOworKyAg ICBjaGFyICpycCA9IHJlYWxwYXRoKHJlbF9wYXRoLCBOVUxMKTsKKyAgICAgcmV0dXJuIHJwID8g cnAgOiBuYXNtX3N0cmR1cChyZWxfcGF0aCk7CisgfQorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMi1jaHJvbWl1bS1tdXNsLW5vLWdldGNvbnRleHQucGF0 Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjEyLWNocm9taXVtLW11c2wtbm8t Z2V0Y29udGV4dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LjU3NTVmMWI0NWE3ZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAyMTItY2hyb21pdW0tbXVzbC1uby1nZXRjb250ZXh0LnBhdGNoCkBAIC0wLDAgKzEs MjkgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKK0BAIC00ODksOCAr NDg5LDEwIEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6U2ltdWxhdGVTaWduYWxEZWwKKyAgIC8v IEV4Y2VwdGlvbkhhbmRsZXI6OkhhbmRsZVNpZ25hbCgpLgorICAgc2lnaW5mby5zaV9jb2RlID0g U0lfVVNFUjsKKyAgIHNpZ2luZm8uc2lfcGlkID0gZ2V0cGlkKCk7CistICB1Y29udGV4dF90IGNv bnRleHQ7CisrICB1Y29udGV4dF90IGNvbnRleHQgPSB7IDAgfTsKKysjaWYgZGVmaW5lZChfX0dM SUJDX18pCisgICBnZXRjb250ZXh0KCZjb250ZXh0KTsKKysjZW5kaWYKKyAgIHJldHVybiBIYW5k bGVTaWduYWwoc2lnLCAmc2lnaW5mbywgJmNvbnRleHQpOworIH0KKyAKK0BAIC02NzUsOSArNjc3 LDE0IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6V3JpdGVNaW5pZHVtcCgpIHsKKyAgIHN5c19w cmN0bChQUl9TRVRfRFVNUEFCTEUsIDEsIDAsIDAsIDApOworIAorICAgQ3Jhc2hDb250ZXh0IGNv bnRleHQ7CisrCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAgaW50IGdldGNvbnRleHRfcmVz dWx0ID0gZ2V0Y29udGV4dCgmY29udGV4dC5jb250ZXh0KTsKKyAgIGlmIChnZXRjb250ZXh0X3Jl c3VsdCkKKyAgICAgcmV0dXJuIGZhbHNlOworKyNlbHNlCisrICByZXR1cm4gZmFsc2U7CisrI2Vu ZGlmCisgCisgI2lmIGRlZmluZWQoX19pMzg2X18pCisgICAvLyBJbiBDUFVGaWxsRnJvbVVDb250 ZXh0IGluIG1pbmlkdW1wd3JpdGVyLmNjIHRoZSBzdGFjayBwb2ludGVyIGlzIHJldHJpZXZlZApk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMy1jaHJvbWl1bS1t dXNsLWNyYXNocGFkLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMy1j aHJvbWl1bS1tdXNsLWNyYXNocGFkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uNGQ0OTk5N2VkNGYzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDIxMy1jaHJvbWl1bS1tdXNsLWNyYXNocGFkLnBhdGNoCkBAIC0w LDAgKzEsMjIgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9jb21wYXQvbGludXgvc3lzL3B0cmFjZS5oCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4L3N5 cy9wdHJhY2UuaAorQEAgLTE3LDcgKzE3LDkgQEAKKyAKKyAjaW5jbHVkZV9uZXh0IDxzeXMvcHRy YWNlLmg+CisgCisrI2lmZGVmIF9fR0xJQkNfXworICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKysj ZW5kaWYKKyAKKyAvLyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNn aT9pZD0yMjQzMworICNpZiAhZGVmaW5lZChQVFJBQ0VfR0VUX1RIUkVBRF9BUkVBKSAmJiAhZGVm aW5lZChQVF9HRVRfVEhSRUFEX0FSRUEpICYmIFwKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0cmFjZXIuY2MKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91 dGlsL2xpbnV4L3B0cmFjZXIuY2MKK0BAIC0yNiw2ICsyNiw3IEBACisgCisgI2lmIGRlZmluZWQo QVJDSF9DUFVfWDg2X0ZBTUlMWSkKKyAjaW5jbHVkZSA8YXNtL2xkdC5oPgorKyNpbmNsdWRlIDxh c20vcHRyYWNlLWFiaS5oPgorICNlbmRpZgorIAorIG5hbWVzcGFjZSBjcmFzaHBhZCB7CmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE0LWNocm9taXVtLW11c2wt Zml4ZXMucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE0LWNocm9taXVt LW11c2wtZml4ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li41NWIyNjdlZDE3MTQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wMjE0LWNocm9taXVtLW11c2wtZml4ZXMucGF0Y2gKQEAgLTAsMCArMSwxMDggQEAK Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N1aWQvcHJvY2Vzc191 dGlsLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N1aWQvcHJv Y2Vzc191dGlsLmgKK0BAIC0xMiw2ICsxMiwxNSBAQAorICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAj aW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgCisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRl ZmluZWQoVEVNUF9GQUlMVVJFX1JFVFJZKQorKyMgZGVmaW5lIFRFTVBfRkFJTFVSRV9SRVRSWShl eHByZXNzaW9uKSBcCisrCShfX2V4dGVuc2lvbl9fCQkJXAorKwkgKHsgbG9uZyBpbnQgX19yZXN1 bHQ7CQlcCisrCSAgZG8gX19yZXN1bHQgPSAobG9uZyBpbnQpIChleHByZXNzaW9uKTsgXAorKwkg IHdoaWxlIChfX3Jlc3VsdCA9PSAtMUwgJiYgZXJybm8gPT0gRUlOVFIpOyBcCisrCSAgX19yZXN1 bHQ7IH0pKQorKyNlbmRpZgorKworIC8vIFRoaXMgYWRqdXN0cyAvcHJvYy9wcm9jZXNzL29vbV9z Y29yZV9hZGogc28gdGhlIExpbnV4IE9PTSBraWxsZXIKKyAvLyB3aWxsIHByZWZlciBjZXJ0YWlu IHByb2Nlc3MgdHlwZXMgb3ZlciBvdGhlcnMuIFRoZSByYW5nZSBmb3IgdGhlCisgLy8gYWRqdXN0 bWVudCBpcyBbLTEwMDAsIDEwMDBdLCB3aXRoIFswLCAxMDAwXSBiZWluZyB1c2VyIGFjY2Vzc2li bGUuCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2VydmljZXMvZGV2aWNlL3NlcmlhbC9z ZXJpYWxfaW9faGFuZGxlcl9wb3NpeC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Nl cnZpY2VzL2RldmljZS9zZXJpYWwvc2VyaWFsX2lvX2hhbmRsZXJfcG9zaXguY2MKK0BAIC02LDYg KzYsNyBAQAorIAorICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyAjaW5jbHVkZSA8dGVybWlvcy5o PgorKyNpbmNsdWRlIDxhc20tZ2VuZXJpYy9pb2N0bHMuaD4KKyAKKyAjaW5jbHVkZSA8YWxnb3Jp dGhtPgorICNpbmNsdWRlIDx1dGlsaXR5PgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJf Y29tbW9uL3Vjb250ZXh0X3JlYWRlci5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9j b21tb24vdWNvbnRleHRfcmVhZGVyLmgKK0BAIC0zOCw2ICszOCwxMCBAQAorICNpbmNsdWRlICJj b21tb24vbWVtb3J5X2FsbG9jYXRvci5oIgorICNpbmNsdWRlICJnb29nbGVfYnJlYWtwYWQvY29t bW9uL21pbmlkdW1wX2Zvcm1hdC5oIgorIAorKyNpZm5kZWYgX19HTElCQ19fCisrI2RlZmluZSBf bGliY19mcHN0YXRlIF9mcHN0YXRlCisrI2VuZGlmCisrCisgbmFtZXNwYWNlIGdvb2dsZV9icmVh a3BhZCB7CisgCisgLy8gV3JhcHMgcGxhdGZvcm0tZGVwZW5kZW50IGltcGxlbWVudGF0aW9ucyBv ZiBhY2Nlc3NvcnMgdG8gdWNvbnRleHRfdCBzdHJ1Y3RzLgorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2ZmbXBlZy9saWJhdnV0aWwvY3B1LmMKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9mZm1wZWcvbGliYXZ1dGlsL2NwdS5jCitAQCAtNDEs OCArNDEsMTAgQEAKKyAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisgI2VuZGlmCisgI2luY2x1ZGUg PHN5cy90eXBlcy5oPgorKyNpZmRlZiBfX0dMSUJDX18KKyAjaW5jbHVkZSA8c3lzL3N5c2N0bC5o PgorICNlbmRpZgorKyNlbmRpZgorICNpZiBIQVZFX1VOSVNURF9ICisgI2luY2x1ZGUgPHVuaXN0 ZC5oPgorICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3Bl cmZldHRvL2luY2x1ZGUvcGVyZmV0dG8vZXh0L2Jhc2UvdGhyZWFkX3V0aWxzLmgKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9wZXJmZXR0by9pbmNsdWRlL3BlcmZldHRv L2V4dC9iYXNlL3RocmVhZF91dGlscy5oCitAQCAtMjksOSArMjksNyBAQAorICNpbmNsdWRlIDxh bGdvcml0aG0+CisgI2VuZGlmCisgCistI2lmIFBFUkZFVFRPX0JVSUxERkxBRyhQRVJGRVRUT19P U19BTkRST0lEKQorICNpbmNsdWRlIDxzeXMvcHJjdGwuaD4KKy0jZW5kaWYKKyAKKyAvLyBJbnRl cm5hbCBpbXBsZW1lbnRhdGlvbiB1dGlscyB0aGF0IGFyZW4ndCBhcyB3aWRlbHkgdXNlZnVsL3N1 cHBvcnRlZCBhcworIC8vIGJhc2UvdGhyZWFkX3V0aWxzLmguCitAQCAtNTgsNyArNTYsNyBAQCBp bmxpbmUgYm9vbCBNYXliZVNldFRocmVhZE5hbWUoY29uc3Qgc3RkCisgCisgaW5saW5lIGJvb2wg R2V0VGhyZWFkTmFtZShzdGQ6OnN0cmluZyYgb3V0X3Jlc3VsdCkgeworICAgY2hhciBidWZbMTZd ID0ge307CistI2lmIFBFUkZFVFRPX0JVSUxERkxBRyhQRVJGRVRUT19PU19BTkRST0lEKQorKyNp ZiAhZGVmaW5lZChfX0dMSUJDX18pCisgICBpZiAocHJjdGwoUFJfR0VUX05BTUUsIGJ1ZikgIT0g MCkKKyAgICAgcmV0dXJuIGZhbHNlOworICNlbHNlCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCitA QCAtMTMwMCw2ICsxMzAwLDE4IEBAIHN0cnVjdCBrZXJuZWxfc3RhdGZzIHsKKyAjaWZuZGVmIF9f TlJfZmFsbG9jYXRlCisgI2RlZmluZSBfX05SX2ZhbGxvY2F0ZSAgICAgICAgICAyODUKKyAjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyNpZmRlZiBfX05SX3ByZWFkCisrI3Vu ZGVmIF9fTlJfcHJlYWQKKysjZW5kaWYKKysjaWZkZWYgX19OUl9wd3JpdGUKKysjdW5kZWYgX19O Ul9wd3JpdGUKKysjZW5kaWYKKysjZGVmaW5lIF9fTlJfcHJlYWQgX19OUl9wcmVhZDY0CisrI2Rl ZmluZSBfX05SX3B3cml0ZSBfX05SX3B3cml0ZTY0CisrI2VuZGlmIC8qICFkZWZpbmVkKF9fR0xJ QkNfXykgKi8KKysKKyAjaWZuZGVmIF9fTlJfZ2V0cmFuZG9tCisgI2RlZmluZSBfX05SX2dldHJh bmRvbSAgICAgICAgICAzMTgKKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9u ZXQvZG5zL2Ruc19jb25maWdfc2VydmljZV9wb3NpeC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL25ldC9kbnMvZG5zX2NvbmZpZ19zZXJ2aWNlX3Bvc2l4LmNjCitAQCAtOTMsNyArOTMs OCBAQCBhYnNsOjpvcHRpb25hbDxEbnNDb25maWc+IFJlYWREbnNDb25maWcoCisgCisgICBhYnNs OjpvcHRpb25hbDxEbnNDb25maWc+IGRuc19jb25maWc7CisgLy8gVE9ETyhmdWNoc2lhKTogVXNl IHJlc19uaW5pdCgpIHdoZW4gaXQncyBpbXBsZW1lbnRlZCBvbiBGdWNoc2lhLgorLSNpZiBkZWZp bmVkKE9TX09QRU5CU0QpIHx8IGRlZmluZWQoT1NfRlVDSFNJQSkKKysjaWYgZGVmaW5lZChPU19P UEVOQlNEKSB8fCBkZWZpbmVkKE9TX0ZVQ0hTSUEpIHx8IFwKKysgIChkZWZpbmVkKE9TX0xJTlVY KSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQorICAgLy8gTm90ZTogcmVzX25pbml0IGluIGdsaWJj IGFsd2F5cyByZXR1cm5zIDAgYW5kIHNldHMgUkVTX0lOSVQuCisgICAvLyByZXNfaW5pdCBiZWhh dmVzIHRoZSBzYW1lIHdheS4KKyAgIG1lbXNldCgmX3JlcywgMCwgc2l6ZW9mKF9yZXMpKTsKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTUtY2hyb21pdW0tbXVz bC1jZGVmcy5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTUtY2hyb21p dW0tbXVzbC1jZGVmcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MDAuLjlkMWRhZWMyOTExOAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAyMTUtY2hyb21pdW0tbXVzbC1jZGVmcy5wYXRjaApAQCAtMCwwICsxLDI5IEBA CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGlic3luYy9zcmMvaW5j bHVkZS9zeW5jL3N5bmMuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2xpYnN5bmMvc3JjL2luY2x1ZGUvc3luYy9zeW5jLmgKK0BAIC0xOSwxMiArMTksMTMgQEAKKyAj aWZuZGVmIF9fU1lTX0NPUkVfU1lOQ19ICisgI2RlZmluZSBfX1NZU19DT1JFX1NZTkNfSAorIAor LSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisgI2luY2x1 ZGUgPGxpbnV4L3R5cGVzLmg+CisgCistX19CRUdJTl9ERUNMUworKyNpZmRlZiBfX2NwbHVzcGx1 cworK2V4dGVybiAiQyIgeworKyNlbmRpZgorIAorIHN0cnVjdCBzeW5jX2xlZ2FjeV9tZXJnZV9k YXRhIHsKKyAgaW50MzJfdCBmZDI7CitAQCAtMTU4LDYgKzE1OSw5IEBAIHN0cnVjdCBzeW5jX3B0 X2luZm8gKnN5bmNfcHRfaW5mbyhzdHJ1Y3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHN5bmNfcHRfaW5mbyAqaXRyKTsKKyB2b2lkIHN5bmNfZmVuY2VfaW5mb19m cmVlKHN0cnVjdCBzeW5jX2ZlbmNlX2luZm9fZGF0YSAqaW5mbyk7CisgCistX19FTkRfREVDTFMK KysjaWZkZWYgX19jcGx1c3BsdXMKKyt9CisrI2VuZGlmCisrCisgCisgI2VuZGlmIC8qIF9fU1lT X0NPUkVfU1lOQ19IICovCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMjE2LWNocm9taXVtLW11c2wtc3RhdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAyMTYtY2hyb21pdW0tbXVzbC1zdGF0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uNDUwOWE2OTU3Y2Q3Ci0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNi1jaHJvbWl1bS1tdXNsLXN0YXQucGF0Y2gK QEAgLTAsMCArMSwxMiBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvZmlsZXMv ZmlsZS5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9maWxlcy9maWxlLmgKK0BA IC0xOSw3ICsxOSw4IEBACisgI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgorIAorICNp ZiBkZWZpbmVkKE9TX0JTRCkgfHwgZGVmaW5lZChPU19BUFBMRSkgfHwgZGVmaW5lZChPU19OQUNM KSB8fCBcCistICAgIGRlZmluZWQoT1NfRlVDSFNJQSkgfHwgKGRlZmluZWQoT1NfQU5EUk9JRCkg JiYgX19BTkRST0lEX0FQSV9fIDwgMjEpCisrICAgIGRlZmluZWQoT1NfRlVDSFNJQSkgfHwgKGRl ZmluZWQoT1NfQU5EUk9JRCkgJiYgX19BTkRST0lEX0FQSV9fIDwgMjEpIHx8IFwKKysgICAgKGRl ZmluZWQoT1NfTElOVVgpICYmICFkZWZpbmVkKF9fR0xJQkNfXykpCisgc3RydWN0IHN0YXQ7Cisg bmFtZXNwYWNlIGJhc2UgeworIHR5cGVkZWYgc3RydWN0IHN0YXQgc3RhdF93cmFwcGVyX3Q7CmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE3LWNocm9taXVtLW11 c2wtcmVzb2x2ZXIucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE3LWNo cm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi5jM2Q3YWZhZDliMTkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMjE3LWNocm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2gKQEAgLTAs MCArMSw3NyBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvZG5zX2NvbmZp Z19zZXJ2aWNlX2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9k bnNfY29uZmlnX3NlcnZpY2VfbGludXguY2MKK0BAIC00MzIsMTEgKzQzMiwxMyBAQCBjbGFzcyBE bnNDb25maWdTZXJ2aWNlTGludXg6OkNvbmZpZ1JlYWRlCisgICAgIGJhc2U6OlNjb3BlZEJsb2Nr aW5nQ2FsbCBzY29wZWRfYmxvY2tpbmdfY2FsbCgKKyAgICAgICAgIEZST01fSEVSRSwgYmFzZTo6 QmxvY2tpbmdUeXBlOjpNQVlfQkxPQ0spOworIAorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAg ICAgc3RkOjp1bmlxdWVfcHRyPHN0cnVjdCBfX3Jlc19zdGF0ZT4gcmVzID0gcmVzb2x2X3JlYWRl cl8tPkdldFJlc1N0YXRlKCk7CisgICAgIGlmIChyZXMpIHsKKyAgICAgICBkbnNfY29uZmlnXyA9 IENvbnZlcnRSZXNTdGF0ZVRvRG5zQ29uZmlnKCpyZXMuZ2V0KCkpOworICAgICAgIHJlc29sdl9y ZWFkZXJfLT5DbG9zZVJlc1N0YXRlKHJlcy5nZXQoKSk7CisgICAgIH0KKysjZW5kaWYKKyAKKyAg ICAgVU1BX0hJU1RPR1JBTV9CT09MRUFOKCJOZXQuRE5TLkRuc0NvbmZpZy5SZXNvbHYuUmVhZCIs CisgICAgICAgICAgICAgICAgICAgICAgICAgICBkbnNfY29uZmlnXy5oYXNfdmFsdWUoKSk7CitA QCAtNDg2LDYgKzQ4OCw3IEBAIGNsYXNzIERuc0NvbmZpZ1NlcnZpY2VMaW51eDo6Q29uZmlnUmVh ZGUKKyAKKyBzdGQ6OnVuaXF1ZV9wdHI8c3RydWN0IF9fcmVzX3N0YXRlPgorIERuc0NvbmZpZ1Nl cnZpY2VMaW51eDo6UmVzb2x2UmVhZGVyOjpHZXRSZXNTdGF0ZSgpIHsKKysjaWYgZGVmaW5lZChf X0dMSUJDX18pCisgICBhdXRvIHJlcyA9IHN0ZDo6bWFrZV91bmlxdWU8c3RydWN0IF9fcmVzX3N0 YXRlPigpOworICAgbWVtc2V0KHJlcy5nZXQoKSwgMCwgc2l6ZW9mKHN0cnVjdCBfX3Jlc19zdGF0 ZSkpOworIAorQEAgLTQ5NSwxMSArNDk4LDE2IEBAIERuc0NvbmZpZ1NlcnZpY2VMaW51eDo6UmVz b2x2UmVhZGVyOjpHZXQKKyAgIH0KKyAKKyAgIHJldHVybiByZXM7CisrI2Vsc2UKKysgIHJldHVy biBudWxscHRyOworKyNlbmRpZgorIH0KKyAKKyB2b2lkIERuc0NvbmZpZ1NlcnZpY2VMaW51eDo6 UmVzb2x2UmVhZGVyOjpDbG9zZVJlc1N0YXRlKAorICAgICBzdHJ1Y3QgX19yZXNfc3RhdGUqIHJl cykgeworKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIHJlc19uY2xvc2UocmVzKTsKKysjZW5k aWYKKyB9CisgCisgRG5zQ29uZmlnU2VydmljZUxpbnV4OjpEbnNDb25maWdTZXJ2aWNlTGludXgo KQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvZG5zX3JlbG9hZGVyLmNjCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9kbnNfcmVsb2FkZXIuY2MKK0BAIC00 LDggKzQsNyBAQAorIAorICNpbmNsdWRlICJuZXQvZG5zL2Ruc19yZWxvYWRlci5oIgorIAorLSNp ZiBkZWZpbmVkKE9TX1BPU0lYKSAmJiAhZGVmaW5lZChPU19BUFBMRSkgJiYgIWRlZmluZWQoT1Nf T1BFTkJTRCkgJiYgXAorLSAgICAhZGVmaW5lZChPU19BTkRST0lEKSAmJiAhZGVmaW5lZChPU19G VUNIU0lBKQorKyNpZmRlZiBfX0dMSUJDX18KKyAKKyAjaW5jbHVkZSA8cmVzb2x2Lmg+CisgCist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9ob3N0X3Jlc29sdmVyX21hbmFnZXIu Y2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfbWFu YWdlci5jYworQEAgLTI3MjAsOCArMjcyMCw3IEBAIEhvc3RSZXNvbHZlck1hbmFnZXI6Okhvc3RS ZXNvbHZlck1hbmFnZXIKKyAgIE5ldHdvcmtDaGFuZ2VOb3RpZmllcjo6QWRkQ29ubmVjdGlvblR5 cGVPYnNlcnZlcih0aGlzKTsKKyAgIGlmIChzeXN0ZW1fZG5zX2NvbmZpZ19ub3RpZmllcl8pCisg ICAgIHN5c3RlbV9kbnNfY29uZmlnX25vdGlmaWVyXy0+QWRkT2JzZXJ2ZXIodGhpcyk7CistI2lm IGRlZmluZWQoT1NfUE9TSVgpICYmICFkZWZpbmVkKE9TX0FQUExFKSAmJiAhZGVmaW5lZChPU19P UEVOQlNEKSAmJiBcCistICAgICFkZWZpbmVkKE9TX0FORFJPSUQpCisrI2lmZGVmIF9fR0xJQkNf XworICAgRW5zdXJlRG5zUmVsb2FkZXJJbml0KCk7CisgI2VuZGlmCisgCistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vbmV0L2Rucy9ob3N0X3Jlc29sdmVyX3Byb2MuY2MKKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfcHJvYy5jYworQEAgLTE3Niw4 ICsxNzYsNyBAQCBpbnQgU3lzdGVtSG9zdFJlc29sdmVyQ2FsbChjb25zdCBzdGQ6OnN0CisgICBi YXNlOjpTY29wZWRCbG9ja2luZ0NhbGwgc2NvcGVkX2Jsb2NraW5nX2NhbGwoRlJPTV9IRVJFLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2U6OkJs b2NraW5nVHlwZTo6V0lMTF9CTE9DSyk7CisgCistI2lmIGRlZmluZWQoT1NfUE9TSVgpICYmICFk ZWZpbmVkKE9TX0FQUExFKSAmJiAhZGVmaW5lZChPU19PUEVOQlNEKSAmJiBcCistICAgICFkZWZp bmVkKE9TX0FORFJPSUQpICYmICFkZWZpbmVkKE9TX0ZVQ0hTSUEpCisrI2lmZGVmIF9fR0xJQkNf XworICAgRG5zUmVsb2FkZXJNYXliZVJlbG9hZCgpOworICNlbmRpZgorICAgYWJzbDo6b3B0aW9u YWw8QWRkcmVzc0luZm8+IGFpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDYwMC1jaHJvbWl1bS1zbmRpby5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzA2MDAtY2hyb21pdW0tc25kaW8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwLi4wMzAyODc0ZmZiYTQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNjAwLWNocm9taXVtLXNuZGlvLnBhdGNoCkBAIC0wLDAg KzEsODc2IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvQlVJTEQuZ24KKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9CVUlMRC5nbgorQEAgLTcyLDYgKzcyLDkg QEAgY29uZmlnKCJtZWRpYV9jb25maWciKSB7CisgICAgICAgZGVmaW5lcyArPSBbICJETE9QRU5f UFVMU0VBVURJTyIgXQorICAgICB9CisgICB9CisrICBpZiAodXNlX3NuZGlvKSB7CisrICAgIGRl ZmluZXMgKz0gWyAiVVNFX1NORElPIiBdCisrICB9CisgICBpZiAodXNlX2NyYXMpIHsKKyAgICAg ZGVmaW5lcyArPSBbICJVU0VfQ1JBUyIgXQorICAgfQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL21lZGlhL2F1ZGlvL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVk aWEvYXVkaW8vQlVJTEQuZ24KK0BAIC0yNDAsNiArMjQwLDE3IEBAIHNvdXJjZV9zZXQoImF1ZGlv IikgeworICAgICBzb3VyY2VzICs9IFsgImxpbnV4L2F1ZGlvX21hbmFnZXJfbGludXguY2MiIF0K KyAgIH0KKyAKKysgIGlmICh1c2Vfc25kaW8pIHsKKysgICAgbGlicyArPSBbICJzbmRpbyIgXQor KyAgICBzb3VyY2VzICs9IFsKKysgICAgICAic25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5jYyIs CisrICAgICAgInNuZGlvL3NuZGlvX2lucHV0LmNjIiwKKysgICAgICAic25kaW8vc25kaW9faW5w dXQuaCIsCisrICAgICAgInNuZGlvL3NuZGlvX291dHB1dC5jYyIsCisrICAgICAgInNuZGlvL3Nu ZGlvX291dHB1dC5oIgorKyAgICBdCisrICB9CisrCisgICBpZiAodXNlX2Fsc2EpIHsKKyAgICAg bGlicyArPSBbICJhc291bmQiIF0KKyAgICAgc291cmNlcyArPSBbCistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vbGludXgvYXVkaW9fbWFuYWdlcl9saW51eC5jYworKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL2xpbnV4L2F1ZGlvX21hbmFnZXJf bGludXguY2MKK0BAIC0yNSw2ICsyNSwxMSBAQAorICNpbmNsdWRlICJtZWRpYS9hdWRpby9wdWxz ZS9hdWRpb19tYW5hZ2VyX3B1bHNlLmgiCisgI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3B1bHNlL3B1 bHNlX3V0aWwuaCIKKyAjZW5kaWYKKysjaWYgZGVmaW5lZChVU0VfU05ESU8pCisrI2luY2x1ZGUg Im1lZGlhL2F1ZGlvL3NuZGlvL2F1ZGlvX21hbmFnZXJfc25kaW8uaCIKKysjaW5jbHVkZSAibWVk aWEvYXVkaW8vc25kaW8vc25kaW9faW5wdXQuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25k aW8vc25kaW9fb3V0cHV0LmgiCisrI2VuZGlmCisgCisgbmFtZXNwYWNlIG1lZGlhIHsKKyAKK0BA IC0zMiw3ICszNyw4IEBAIGVudW0gTGludXhBdWRpb0lPIHsKKyAgIGtQdWxzZSwKKyAgIGtBbHNh LAorICAga0NyYXMsCistICBrQXVkaW9JT01heCA9IGtDcmFzICAvLyBNdXN0IGFsd2F5cyBiZSBl cXVhbCB0byBsYXJnZXN0IGxvZ2dlZCBlbnRyeS4KKysgIGtTbmRpbywKKysgIGtBdWRpb0lPTWF4 ID0ga1NuZGlvIC8vIE11c3QgYWx3YXlzIGJlIGVxdWFsIHRvIGxhcmdlc3QgbG9nZ2VkIGVudHJ5 LgorIH07CisgCisgc3RkOjp1bmlxdWVfcHRyPG1lZGlhOjpBdWRpb01hbmFnZXI+IENyZWF0ZUF1 ZGlvTWFuYWdlcigKK0BAIC00NSw2ICs1MSwxNiBAQCBzdGQ6OnVuaXF1ZV9wdHI8bWVkaWE6OkF1 ZGlvTWFuYWdlcj4gQ3JlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGF1ZGlvX2xvZ19mYWN0b3J5KTsKKyAgIH0KKyAKKysjaWYgZGVmaW5lZChVU0VfU05E SU8pCisrICBzdHJ1Y3Qgc2lvX2hkbCAqaGRsID0gc2lvX29wZW4oU0lPX0RFVkFOWSwgU0lPX1BM QVksIDApOworKyAgaWYgKGhkbCAhPSBOVUxMKSB7CisrICAgIHNpb19jbG9zZShoZGwpOworKyAg ICBVTUFfSElTVE9HUkFNX0VOVU1FUkFUSU9OKCJNZWRpYS5MaW51eEF1ZGlvSU8iLCBrU25kaW8s IGtBdWRpb0lPTWF4ICsgMSk7CisrICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPEF1ZGlvTWFu YWdlclNuZGlvPihzdGQ6Om1vdmUoYXVkaW9fdGhyZWFkKSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX2xvZ19mYWN0b3J5KTsKKysgIH0K KysjZW5kaWYKKysKKyAjaWYgZGVmaW5lZChVU0VfQ1JBUykKKyAgIGlmIChiYXNlOjpDb21tYW5k TGluZTo6Rm9yQ3VycmVudFByb2Nlc3MoKS0+SGFzU3dpdGNoKHN3aXRjaGVzOjprVXNlQ3Jhcykp IHsKKyAgICAgVU1BX0hJU1RPR1JBTV9FTlVNRVJBVElPTigiTWVkaWEuTGludXhBdWRpb0lPIiwg a0NyYXMsIGtBdWRpb0lPTWF4ICsgMSk7CistLS0gL2Rldi9udWxsCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5jYworQEAg LTAsMCArMSwxNDggQEAKKysvLyBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIENocm9taXVtIEF1dGhv cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMg Z292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGlu IHRoZSBMSUNFTlNFIGZpbGUuCisrCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL2F1ZGlv X21hbmFnZXJfc25kaW8uaCIKKysKKysjaW5jbHVkZSAiYmFzZS9tZXRyaWNzL2hpc3RvZ3JhbV9t YWNyb3MuaCIKKysjaW5jbHVkZSAiYmFzZS9tZW1vcnkvcHRyX3V0aWwuaCIKKysjaW5jbHVkZSAi bWVkaWEvYXVkaW8vYXVkaW9fZGV2aWNlX2Rlc2NyaXB0aW9uLmgiCisrI2luY2x1ZGUgIm1lZGlh L2F1ZGlvL2F1ZGlvX291dHB1dF9kaXNwYXRjaGVyLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlv L3NuZGlvL3NuZGlvX2lucHV0LmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL3NuZGlv X291dHB1dC5oIgorKyNpbmNsdWRlICJtZWRpYS9iYXNlL2xpbWl0cy5oIgorKyNpbmNsdWRlICJt ZWRpYS9iYXNlL21lZGlhX3N3aXRjaGVzLmgiCisrCisrbmFtZXNwYWNlIG1lZGlhIHsKKysKKysK KysvLyBNYXhpbXVtIG51bWJlciBvZiBvdXRwdXQgc3RyZWFtcyB0aGF0IGNhbiBiZSBvcGVuIHNp bXVsdGFuZW91c2x5LgorK3N0YXRpYyBjb25zdCBpbnQga01heE91dHB1dFN0cmVhbXMgPSA0Owor KworKy8vIERlZmF1bHQgc2FtcGxlIHJhdGUgZm9yIGlucHV0IGFuZCBvdXRwdXQgc3RyZWFtcy4K KytzdGF0aWMgY29uc3QgaW50IGtEZWZhdWx0U2FtcGxlUmF0ZSA9IDQ4MDAwOworKworK3ZvaWQg QWRkRGVmYXVsdERldmljZShBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIHsKKysgIERD SEVDSyhkZXZpY2VfbmFtZXMtPmVtcHR5KCkpOworKyAgZGV2aWNlX25hbWVzLT5wdXNoX2Zyb250 KEF1ZGlvRGV2aWNlTmFtZTo6Q3JlYXRlRGVmYXVsdCgpKTsKKyt9CisrCisrYm9vbCBBdWRpb01h bmFnZXJTbmRpbzo6SGFzQXVkaW9PdXRwdXREZXZpY2VzKCkgeworKyAgcmV0dXJuIHRydWU7Cisr fQorKworK2Jvb2wgQXVkaW9NYW5hZ2VyU25kaW86Okhhc0F1ZGlvSW5wdXREZXZpY2VzKCkgewor KyAgcmV0dXJuIHRydWU7CisrfQorKworK3ZvaWQgQXVkaW9NYW5hZ2VyU25kaW86OkdldEF1ZGlv SW5wdXREZXZpY2VOYW1lcygKKysgICAgQXVkaW9EZXZpY2VOYW1lcyogZGV2aWNlX25hbWVzKSB7 CisrICBEQ0hFQ0soZGV2aWNlX25hbWVzLT5lbXB0eSgpKTsKKysgIEFkZERlZmF1bHREZXZpY2Uo ZGV2aWNlX25hbWVzKTsKKyt9CisrCisrdm9pZCBBdWRpb01hbmFnZXJTbmRpbzo6R2V0QXVkaW9P dXRwdXREZXZpY2VOYW1lcygKKysgICAgQXVkaW9EZXZpY2VOYW1lcyogZGV2aWNlX25hbWVzKSB7 CisrICBBZGREZWZhdWx0RGV2aWNlKGRldmljZV9uYW1lcyk7CisrfQorKworK2NvbnN0IGNoYXIq IEF1ZGlvTWFuYWdlclNuZGlvOjpHZXROYW1lKCkgeworKyAgcmV0dXJuICJTTkRJTyI7CisrfQor KworK0F1ZGlvUGFyYW1ldGVycyBBdWRpb01hbmFnZXJTbmRpbzo6R2V0SW5wdXRTdHJlYW1QYXJh bWV0ZXJzKAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkKSB7CisrICBzdGF0aWMg Y29uc3QgaW50IGtEZWZhdWx0SW5wdXRCdWZmZXJTaXplID0gMTAyNDsKKysKKysgIGludCB1c2Vy X2J1ZmZlcl9zaXplID0gR2V0VXNlckJ1ZmZlclNpemUoKTsKKysgIGludCBidWZmZXJfc2l6ZSA9 IHVzZXJfYnVmZmVyX3NpemUgPworKyAgICAgIHVzZXJfYnVmZmVyX3NpemUgOiBrRGVmYXVsdElu cHV0QnVmZmVyU2l6ZTsKKysKKysgIHJldHVybiBBdWRpb1BhcmFtZXRlcnMoCisrICAgICAgQXVk aW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ksIENIQU5ORUxfTEFZT1VUX1NURVJF TywKKysgICAgICBrRGVmYXVsdFNhbXBsZVJhdGUsIGJ1ZmZlcl9zaXplKTsKKyt9CisrCisrQXVk aW9NYW5hZ2VyU25kaW86OkF1ZGlvTWFuYWdlclNuZGlvKHN0ZDo6dW5pcXVlX3B0cjxBdWRpb1Ro cmVhZD4gYXVkaW9fdGhyZWFkLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgQXVkaW9Mb2dGYWN0b3J5KiBhdWRpb19sb2dfZmFjdG9yeSkKKysgICAgOiBBdWRpb01h bmFnZXJCYXNlKHN0ZDo6bW92ZShhdWRpb190aHJlYWQpLAorKyAgICAgICAgICAgICAgICAgICAg ICAgYXVkaW9fbG9nX2ZhY3RvcnkpIHsKKysgIERMT0coV0FSTklORykgPDwgIkF1ZGlvTWFuYWdl clNuZGlvIjsKKysgIFNldE1heE91dHB1dFN0cmVhbXNBbGxvd2VkKGtNYXhPdXRwdXRTdHJlYW1z KTsKKyt9CisrCisrQXVkaW9NYW5hZ2VyU25kaW86On5BdWRpb01hbmFnZXJTbmRpbygpIHsKKysg IFNodXRkb3duKCk7CisrfQorKworK0F1ZGlvT3V0cHV0U3RyZWFtKiBBdWRpb01hbmFnZXJTbmRp bzo6TWFrZUxpbmVhck91dHB1dFN0cmVhbSgKKysgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBw YXJhbXMsCisrICAgIGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIHsKKysgIERDSEVD S19FUShBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MSU5FQVIsIHBhcmFtcy5mb3JtYXQoKSk7 CisrICByZXR1cm4gTWFrZU91dHB1dFN0cmVhbShwYXJhbXMpOworK30KKysKKytBdWRpb091dHB1 dFN0cmVhbSogQXVkaW9NYW5hZ2VyU25kaW86Ok1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtKAor KyAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgY29uc3Qgc3RkOjpzdHJp bmcmIGRldmljZV9pZCwKKysgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgewor KyAgRExPR19JRihFUlJPUiwgIWRldmljZV9pZC5lbXB0eSgpKSA8PCAiTm90IGltcGxlbWVudGVk ISI7CisrICBEQ0hFQ0tfRVEoQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ks IHBhcmFtcy5mb3JtYXQoKSk7CisrICByZXR1cm4gTWFrZU91dHB1dFN0cmVhbShwYXJhbXMpOwor K30KKysKKytBdWRpb0lucHV0U3RyZWFtKiBBdWRpb01hbmFnZXJTbmRpbzo6TWFrZUxpbmVhcklu cHV0U3RyZWFtKAorKyAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgY29u c3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCwKKysgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19j YWxsYmFjaykgeworKyAgRENIRUNLX0VRKEF1ZGlvUGFyYW1ldGVyczo6QVVESU9fUENNX0xJTkVB UiwgcGFyYW1zLmZvcm1hdCgpKTsKKysgIHJldHVybiBNYWtlSW5wdXRTdHJlYW0ocGFyYW1zKTsK Kyt9CisrCisrQXVkaW9JbnB1dFN0cmVhbSogQXVkaW9NYW5hZ2VyU25kaW86Ok1ha2VMb3dMYXRl bmN5SW5wdXRTdHJlYW0oCisrICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAorKyAg ICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkLAorKyAgICBjb25zdCBMb2dDYWxsYmFjayYg bG9nX2NhbGxiYWNrKSB7CisrICBEQ0hFQ0tfRVEoQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01f TE9XX0xBVEVOQ1ksIHBhcmFtcy5mb3JtYXQoKSk7CisrICByZXR1cm4gTWFrZUlucHV0U3RyZWFt KHBhcmFtcyk7CisrfQorKworK0F1ZGlvUGFyYW1ldGVycyBBdWRpb01hbmFnZXJTbmRpbzo6R2V0 UHJlZmVycmVkT3V0cHV0U3RyZWFtUGFyYW1ldGVycygKKysgICAgY29uc3Qgc3RkOjpzdHJpbmcm IG91dHB1dF9kZXZpY2VfaWQsCisrICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgaW5wdXRfcGFy YW1zKSB7CisrICAvLyBUT0RPKHRvbW1pKTogU3VwcG9ydCB8b3V0cHV0X2RldmljZV9pZHwuCisr ICBETE9HX0lGKEVSUk9SLCAhb3V0cHV0X2RldmljZV9pZC5lbXB0eSgpKSA8PCAiTm90IGltcGxl bWVudGVkISI7CisrICBzdGF0aWMgY29uc3QgaW50IGtEZWZhdWx0T3V0cHV0QnVmZmVyU2l6ZSA9 IDIwNDg7CisrCisrICBDaGFubmVsTGF5b3V0IGNoYW5uZWxfbGF5b3V0ID0gQ0hBTk5FTF9MQVlP VVRfU1RFUkVPOworKyAgaW50IHNhbXBsZV9yYXRlID0ga0RlZmF1bHRTYW1wbGVSYXRlOworKyAg aW50IGJ1ZmZlcl9zaXplID0ga0RlZmF1bHRPdXRwdXRCdWZmZXJTaXplOworKyAgaWYgKGlucHV0 X3BhcmFtcy5Jc1ZhbGlkKCkpIHsKKysgICAgc2FtcGxlX3JhdGUgPSBpbnB1dF9wYXJhbXMuc2Ft cGxlX3JhdGUoKTsKKysgICAgY2hhbm5lbF9sYXlvdXQgPSBpbnB1dF9wYXJhbXMuY2hhbm5lbF9s YXlvdXQoKTsKKysgICAgYnVmZmVyX3NpemUgPSBzdGQ6Om1pbihidWZmZXJfc2l6ZSwgaW5wdXRf cGFyYW1zLmZyYW1lc19wZXJfYnVmZmVyKCkpOworKyAgfQorKworKyAgaW50IHVzZXJfYnVmZmVy X3NpemUgPSBHZXRVc2VyQnVmZmVyU2l6ZSgpOworKyAgaWYgKHVzZXJfYnVmZmVyX3NpemUpCisr ICAgIGJ1ZmZlcl9zaXplID0gdXNlcl9idWZmZXJfc2l6ZTsKKysKKysgIHJldHVybiBBdWRpb1Bh cmFtZXRlcnMoCisrICAgICAgQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ks IGNoYW5uZWxfbGF5b3V0LAorKyAgICAgIHNhbXBsZV9yYXRlLCBidWZmZXJfc2l6ZSk7CisrfQor KworK0F1ZGlvSW5wdXRTdHJlYW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlSW5wdXRTdHJlYW0o CisrICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zKSB7CisrICBETE9HKFdBUk5JTkcp IDw8ICJNYWtlSW5wdXRTdHJlYW0iOworKyAgcmV0dXJuIG5ldyBTbmRpb0F1ZGlvSW5wdXRTdHJl YW0odGhpcywKKysgICAgICAgICAgICAgQXVkaW9EZXZpY2VEZXNjcmlwdGlvbjo6a0RlZmF1bHRE ZXZpY2VJZCwgcGFyYW1zKTsKKyt9CisrCisrQXVkaW9PdXRwdXRTdHJlYW0qIEF1ZGlvTWFuYWdl clNuZGlvOjpNYWtlT3V0cHV0U3RyZWFtKAorKyAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBh cmFtcykgeworKyAgRExPRyhXQVJOSU5HKSA8PCAiTWFrZU91dHB1dFN0cmVhbSI7CisrICByZXR1 cm4gbmV3IFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0ocGFyYW1zLCB0aGlzKTsKKyt9CisrCisrfSAg Ly8gbmFtZXNwYWNlIG1lZGlhCistLS0gL2Rldi9udWxsCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vbWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5oCitAQCAtMCwwICsx LDY1IEBACisrLy8gQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwg cmlnaHRzIHJlc2VydmVkLgorKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVk IGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKysvLyBmb3VuZCBpbiB0aGUgTElD RU5TRSBmaWxlLgorKworKyNpZm5kZWYgTUVESUFfQVVESU9fU05ESU9fQVVESU9fTUFOQUdFUl9T TkRJT19IXworKyNkZWZpbmUgTUVESUFfQVVESU9fU05ESU9fQVVESU9fTUFOQUdFUl9TTkRJT19I XworKworKyNpbmNsdWRlIDxzZXQ+CisrCisrI2luY2x1ZGUgImJhc2UvY29tcGlsZXJfc3BlY2lm aWMuaCIKKysjaW5jbHVkZSAiYmFzZS9tYWNyb3MuaCIKKysjaW5jbHVkZSAiYmFzZS9tZW1vcnkv cmVmX2NvdW50ZWQuaCIKKysjaW5jbHVkZSAiYmFzZS90aHJlYWRpbmcvdGhyZWFkLmgiCisrI2lu Y2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX21hbmFnZXJfYmFzZS5oIgorKworK25hbWVzcGFjZSBt ZWRpYSB7CisrCisrY2xhc3MgTUVESUFfRVhQT1JUIEF1ZGlvTWFuYWdlclNuZGlvIDogcHVibGlj IEF1ZGlvTWFuYWdlckJhc2UgeworKyBwdWJsaWM6CisrICBBdWRpb01hbmFnZXJTbmRpbyhzdGQ6 OnVuaXF1ZV9wdHI8QXVkaW9UaHJlYWQ+IGF1ZGlvX3RocmVhZCwKKysgICAgICAgICAgICAgICAg ICAgQXVkaW9Mb2dGYWN0b3J5KiBhdWRpb19sb2dfZmFjdG9yeSk7CisrICB+QXVkaW9NYW5hZ2Vy U25kaW8oKSBvdmVycmlkZTsKKysKKysgIC8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlvTWFuYWdl ci4KKysgIGJvb2wgSGFzQXVkaW9PdXRwdXREZXZpY2VzKCkgb3ZlcnJpZGU7CisrICBib29sIEhh c0F1ZGlvSW5wdXREZXZpY2VzKCkgb3ZlcnJpZGU7CisrICB2b2lkIEdldEF1ZGlvSW5wdXREZXZp Y2VOYW1lcyhBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIG92ZXJyaWRlOworKyAgdm9p ZCBHZXRBdWRpb091dHB1dERldmljZU5hbWVzKEF1ZGlvRGV2aWNlTmFtZXMqIGRldmljZV9uYW1l cykgb3ZlcnJpZGU7CisrICBBdWRpb1BhcmFtZXRlcnMgR2V0SW5wdXRTdHJlYW1QYXJhbWV0ZXJz KAorKyAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2VfaWQpIG92ZXJyaWRlOworKyAgY29u c3QgY2hhciogR2V0TmFtZSgpIG92ZXJyaWRlOworKworKyAgLy8gSW1wbGVtZW50YXRpb24gb2Yg QXVkaW9NYW5hZ2VyQmFzZS4KKysgIEF1ZGlvT3V0cHV0U3RyZWFtKiBNYWtlTGluZWFyT3V0cHV0 U3RyZWFtKAorKyAgICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAorKyAgICAgIGNv bnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIG92ZXJyaWRlOworKyAgQXVkaW9PdXRwdXRT dHJlYW0qIE1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtKAorKyAgICAgIGNvbnN0IEF1ZGlvUGFy YW1ldGVycyYgcGFyYW1zLAorKyAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2VfaWQsCisr ICAgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgb3ZlcnJpZGU7CisrICBBdWRp b0lucHV0U3RyZWFtKiBNYWtlTGluZWFySW5wdXRTdHJlYW0oCisrICAgICAgY29uc3QgQXVkaW9Q YXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCwK KysgICAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSBvdmVycmlkZTsKKysgIEF1 ZGlvSW5wdXRTdHJlYW0qIE1ha2VMb3dMYXRlbmN5SW5wdXRTdHJlYW0oCisrICAgICAgY29uc3Qg QXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmlj ZV9pZCwKKysgICAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSBvdmVycmlkZTsK KysKKysgcHJvdGVjdGVkOgorKyAgQXVkaW9QYXJhbWV0ZXJzIEdldFByZWZlcnJlZE91dHB1dFN0 cmVhbVBhcmFtZXRlcnMoCisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG91dHB1dF9kZXZpY2Vf aWQsCisrICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBpbnB1dF9wYXJhbXMpIG92ZXJyaWRl OworKworKyBwcml2YXRlOgorKyAgLy8gQ2FsbGVkIGJ5IE1ha2VMaW5lYXJPdXRwdXRTdHJlYW0g YW5kIE1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtLgorKyAgQXVkaW9PdXRwdXRTdHJlYW0qIE1h a2VPdXRwdXRTdHJlYW0oY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMpOworKyAgQXVkaW9J bnB1dFN0cmVhbSogTWFrZUlucHV0U3RyZWFtKGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1z KTsKKysKKysgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihBdWRpb01hbmFnZXJTbmRpbyk7Cisr fTsKKysKKyt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKKysKKysjZW5kaWYgIC8vIE1FRElBX0FVRElP X1NORElPX0FVRElPX01BTkFHRVJfU05ESU9fSF8KKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9zbmRpby9zbmRpb19pbnB1dC5jYworQEAgLTAs MCArMSwyMDAgQEAKKysvLyBDb3B5cmlnaHQgMjAxMyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxs IHJpZ2h0cyByZXNlcnZlZC4KKysvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5l ZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisrLy8gZm91bmQgaW4gdGhlIExJ Q0VOU0UgZmlsZS4KKysKKysjaW5jbHVkZSAiYmFzZS9iaW5kLmgiCisrI2luY2x1ZGUgImJhc2Uv bG9nZ2luZy5oIgorKyNpbmNsdWRlICJiYXNlL21hY3Jvcy5oIgorKyNpbmNsdWRlICJtZWRpYS9i YXNlL2F1ZGlvX3RpbWVzdGFtcF9oZWxwZXIuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25k aW8vYXVkaW9fbWFuYWdlcl9zbmRpby5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9hdWRpb19t YW5hZ2VyLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX2lucHV0LmgiCisr CisrbmFtZXNwYWNlIG1lZGlhIHsKKysKKytzdGF0aWMgY29uc3QgU2FtcGxlRm9ybWF0IGtTYW1w bGVGb3JtYXQgPSBrU2FtcGxlRm9ybWF0UzE2OworKworK3ZvaWQgU25kaW9BdWRpb0lucHV0U3Ry ZWFtOjpPbk1vdmVDYWxsYmFjayh2b2lkICphcmcsIGludCBkZWx0YSkKKyt7CisrICBTbmRpb0F1 ZGlvSW5wdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRpb0F1ZGlvSW5wdXRTdHJlYW0q PihhcmcpOworKworKyAgc2VsZi0+aHdfZGVsYXkgKz0gZGVsdGE7CisrfQorKworK3ZvaWQgKlNu ZGlvQXVkaW9JbnB1dFN0cmVhbTo6VGhyZWFkRW50cnkodm9pZCAqYXJnKSB7CisrICBTbmRpb0F1 ZGlvSW5wdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRpb0F1ZGlvSW5wdXRTdHJlYW0q PihhcmcpOworKworKyAgc2VsZi0+VGhyZWFkTG9vcCgpOworKyAgcmV0dXJuIE5VTEw7CisrfQor KworK1NuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U25kaW9BdWRpb0lucHV0U3RyZWFtKEF1ZGlvTWFu YWdlckJhc2UqIG1hbmFnZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9uYW1lLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFy YW1zKQorKyAgICA6IG1hbmFnZXIobWFuYWdlciksCisrICAgICAgcGFyYW1zKHBhcmFtcyksCisr ICAgICAgYXVkaW9fYnVzKEF1ZGlvQnVzOjpDcmVhdGUocGFyYW1zKSksCisrICAgICAgc3RhdGUo a0Nsb3NlZCkgeworK30KKysKKytTbmRpb0F1ZGlvSW5wdXRTdHJlYW06On5TbmRpb0F1ZGlvSW5w dXRTdHJlYW0oKSB7CisrICBpZiAoc3RhdGUgIT0ga0Nsb3NlZCkKKysgICAgQ2xvc2UoKTsKKyt9 CisrCisrYm9vbCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06Ok9wZW4oKSB7CisrICBzdHJ1Y3Qgc2lv X3BhciBwYXI7CisrICBpbnQgc2lnOworKworKyAgaWYgKHN0YXRlICE9IGtDbG9zZWQpCisrICAg IHJldHVybiBmYWxzZTsKKysKKysgIGlmIChwYXJhbXMuZm9ybWF0KCkgIT0gQXVkaW9QYXJhbWV0 ZXJzOjpBVURJT19QQ01fTElORUFSICYmCisrICAgICAgcGFyYW1zLmZvcm1hdCgpICE9IEF1ZGlv UGFyYW1ldGVyczo6QVVESU9fUENNX0xPV19MQVRFTkNZKSB7CisrICAgIExPRyhXQVJOSU5HKSA8 PCAiVW5zdXBwb3J0ZWQgYXVkaW8gZm9ybWF0LiI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0K KysKKysgIHNpb19pbml0cGFyKCZwYXIpOworKyAgcGFyLnJhdGUgPSBwYXJhbXMuc2FtcGxlX3Jh dGUoKTsKKysgIHBhci5yY2hhbiA9IHBhcmFtcy5jaGFubmVscygpOworKyAgcGFyLmJpdHMgPSBT YW1wbGVGb3JtYXRUb0JpdHNQZXJDaGFubmVsKGtTYW1wbGVGb3JtYXQpOworKyAgcGFyLmJwcyA9 IHBhci5iaXRzIC8gODsKKysgIHBhci5zaWcgPSBzaWcgPSBwYXIuYml0cyAhPSA4ID8gMSA6IDA7 CisrICBwYXIubGUgPSBTSU9fTEVfTkFUSVZFOworKyAgcGFyLmFwcGJ1ZnN6ID0gcGFyYW1zLmZy YW1lc19wZXJfYnVmZmVyKCk7CisrCisrICBoZGwgPSBzaW9fb3BlbihTSU9fREVWQU5ZLCBTSU9f UkVDLCAwKTsKKysKKysgIGlmIChoZGwgPT0gTlVMTCkgeworKyAgICBMT0coRVJST1IpIDw8ICJD b3VsZG4ndCBvcGVuIGF1ZGlvIGRldmljZS4iOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9Cisr CisrICBpZiAoIXNpb19zZXRwYXIoaGRsLCAmcGFyKSB8fCAhc2lvX2dldHBhcihoZGwsICZwYXIp KSB7CisrICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHNldCBhdWRpbyBwYXJhbWV0ZXJzLiI7 CisrICAgIGdvdG8gYmFkX2Nsb3NlOworKyAgfQorKworKyAgaWYgKHBhci5yYXRlICAhPSAodW5z aWduZWQgaW50KXBhcmFtcy5zYW1wbGVfcmF0ZSgpIHx8CisrICAgICAgcGFyLnJjaGFuICE9ICh1 bnNpZ25lZCBpbnQpcGFyYW1zLmNoYW5uZWxzKCkgfHwKKysgICAgICBwYXIuYml0cyAgIT0gKHVu c2lnbmVkIGludClTYW1wbGVGb3JtYXRUb0JpdHNQZXJDaGFubmVsKGtTYW1wbGVGb3JtYXQpIHx8 CisrICAgICAgcGFyLnNpZyAgICE9ICh1bnNpZ25lZCBpbnQpc2lnIHx8CisrICAgICAgKHBhci5i cHMgPiAxICYmIHBhci5sZSAhPSBTSU9fTEVfTkFUSVZFKSB8fAorKyAgICAgIChwYXIuYml0cyAh PSBwYXIuYnBzICogOCkpIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiVW5zdXBwb3J0ZWQgYXVkaW8g cGFyYW1ldGVycy4iOworKyAgICBnb3RvIGJhZF9jbG9zZTsKKysgIH0KKysgIHN0YXRlID0ga1N0 b3BwZWQ7CisrICBidWZmZXIgPSBuZXcgY2hhclthdWRpb19idXMtPmZyYW1lcygpICogcGFyYW1z LkdldEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCldOworKyAgc2lvX29ubW92ZShoZGwsICZP bk1vdmVDYWxsYmFjaywgdGhpcyk7CisrICByZXR1cm4gdHJ1ZTsKKytiYWRfY2xvc2U6CisrICBz aW9fY2xvc2UoaGRsKTsKKysgIHJldHVybiBmYWxzZTsKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlv SW5wdXRTdHJlYW06OlN0YXJ0KEF1ZGlvSW5wdXRDYWxsYmFjayogY2IpIHsKKysKKysgIFN0YXJ0 QWdjKCk7CisrCisrICBzdGF0ZSA9IGtSdW5uaW5nOworKyAgaHdfZGVsYXkgPSAwOworKyAgY2Fs bGJhY2sgPSBjYjsKKysgIHNpb19zdGFydChoZGwpOworKyAgaWYgKHB0aHJlYWRfY3JlYXRlKCZ0 aHJlYWQsIE5VTEwsICZUaHJlYWRFbnRyeSwgdGhpcykgIT0gMCkgeworKyAgICBMT0coRVJST1Ip IDw8ICJGYWlsZWQgdG8gY3JlYXRlIHJlYWwtdGltZSB0aHJlYWQgZm9yIHJlY29yZGluZy4iOwor KyAgICBzaW9fc3RvcChoZGwpOworKyAgICBzdGF0ZSA9IGtTdG9wcGVkOworKyAgfQorK30KKysK Kyt2b2lkIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U3RvcCgpIHsKKysKKysgIGlmIChzdGF0ZSA9 PSBrU3RvcHBlZCkKKysgICAgcmV0dXJuOworKworKyAgc3RhdGUgPSBrU3RvcFdhaXQ7CisrICBw dGhyZWFkX2pvaW4odGhyZWFkLCBOVUxMKTsKKysgIHNpb19zdG9wKGhkbCk7CisrICBzdGF0ZSA9 IGtTdG9wcGVkOworKworKyAgU3RvcEFnYygpOworK30KKysKKyt2b2lkIFNuZGlvQXVkaW9JbnB1 dFN0cmVhbTo6Q2xvc2UoKSB7CisrCisrICBpZiAoc3RhdGUgPT0ga0Nsb3NlZCkKKysgICAgcmV0 dXJuOworKworKyAgaWYgKHN0YXRlID09IGtSdW5uaW5nKQorKyAgICBTdG9wKCk7CisrCisrICBz dGF0ZSA9IGtDbG9zZWQ7CisrICBkZWxldGUgW10gYnVmZmVyOworKyAgc2lvX2Nsb3NlKGhkbCk7 CisrCisrICBtYW5hZ2VyLT5SZWxlYXNlSW5wdXRTdHJlYW0odGhpcyk7CisrfQorKworK2RvdWJs ZSBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OkdldE1heFZvbHVtZSgpIHsKKysgIC8vIE5vdCBzdXBw b3J0ZWQKKysgIHJldHVybiAwLjA7CisrfQorKworK3ZvaWQgU25kaW9BdWRpb0lucHV0U3RyZWFt OjpTZXRWb2x1bWUoZG91YmxlIHZvbHVtZSkgeworKyAgLy8gTm90IHN1cHBvcnRlZC4gRG8gbm90 aGluZy4KKyt9CisrCisrZG91YmxlIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6R2V0Vm9sdW1lKCkg eworKyAgLy8gTm90IHN1cHBvcnRlZC4KKysgIHJldHVybiAwLjA7CisrfQorKworK2Jvb2wgU25k aW9BdWRpb0lucHV0U3RyZWFtOjpJc011dGVkKCkgeworKyAgLy8gTm90IHN1cHBvcnRlZC4KKysg IHJldHVybiBmYWxzZTsKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OlNldE91 dHB1dERldmljZUZvckFlYygKKysgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG91dHB1dF9kZXZpY2Vf aWQpIHsKKysgIC8vIE5vdCBzdXBwb3J0ZWQuCisrfQorKworK3ZvaWQgU25kaW9BdWRpb0lucHV0 U3RyZWFtOjpUaHJlYWRMb29wKHZvaWQpIHsKKysgIHNpemVfdCB0b2RvLCBuOworKyAgY2hhciAq ZGF0YTsKKysgIHVuc2lnbmVkIGludCBuZnJhbWVzOworKyAgZG91YmxlIG5vcm1hbGl6ZWRfdm9s dW1lID0gMC4wOworKworKyAgbmZyYW1lcyA9IGF1ZGlvX2J1cy0+ZnJhbWVzKCk7CisrCisrICB3 aGlsZSAoc3RhdGUgPT0ga1J1bm5pbmcgJiYgIXNpb19lb2YoaGRsKSkgeworKworKyAgICBHZXRB Z2NWb2x1bWUoJm5vcm1hbGl6ZWRfdm9sdW1lKTsKKysKKysgICAgLy8gcmVhZCBvbmUgYmxvY2sK KysgICAgdG9kbyA9IG5mcmFtZXMgKiBwYXJhbXMuR2V0Qnl0ZXNQZXJGcmFtZShrU2FtcGxlRm9y bWF0KTsKKysgICAgZGF0YSA9IGJ1ZmZlcjsKKysgICAgd2hpbGUgKHRvZG8gPiAwKSB7CisrICAg ICAgbiA9IHNpb19yZWFkKGhkbCwgZGF0YSwgdG9kbyk7CisrICAgICAgaWYgKG4gPT0gMCkKKysg ICAgICAgIHJldHVybjsJLy8gdW5yZWNvdmVyYWJsZSBJL08gZXJyb3IKKysgICAgICB0b2RvIC09 IG47CisrICAgICAgZGF0YSArPSBuOworKyAgICB9CisrICAgIGh3X2RlbGF5IC09IG5mcmFtZXM7 CisrCisrICAgIC8vIGNvbnZlcnQgZnJhbWVzIGNvdW50IHRvIFRpbWVEZWx0YQorKyAgICBjb25z dCBiYXNlOjpUaW1lRGVsdGEgZGVsYXkgPSBBdWRpb1RpbWVzdGFtcEhlbHBlcjo6RnJhbWVzVG9U aW1lKGh3X2RlbGF5LAorKyAgICAgIHBhcmFtcy5zYW1wbGVfcmF0ZSgpKTsKKysKKysgICAgLy8g cHVzaCBpbnRvIGJ1cworKyAgICBhdWRpb19idXMtPkZyb21JbnRlcmxlYXZlZDxTaWduZWRJbnQx NlNhbXBsZVR5cGVUcmFpdHM+KHJlaW50ZXJwcmV0X2Nhc3Q8aW50MTZfdCo+KGJ1ZmZlciksIG5m cmFtZXMpOworKworKyAgICAvLyBpbnZva2UgY2FsbGJhY2sKKysgICAgY2FsbGJhY2stPk9uRGF0 YShhdWRpb19idXMuZ2V0KCksIGJhc2U6OlRpbWVUaWNrczo6Tm93KCkgLSBkZWxheSwgMS4pOwor KyAgfQorK30KKysKKyt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKKy0tLSAvZGV2L251bGwKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9zbmRpby9zbmRpb19pbnB1dC5oCitA QCAtMCwwICsxLDkxIEBACisrLy8gQ29weXJpZ2h0IDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMu IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292 ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRo ZSBMSUNFTlNFIGZpbGUuCisrCisrI2lmbmRlZiBNRURJQV9BVURJT19TTkRJT19TTkRJT19JTlBV VF9IXworKyNkZWZpbmUgTUVESUFfQVVESU9fU05ESU9fU05ESU9fSU5QVVRfSF8KKysKKysjaW5j bHVkZSA8c3RkaW50Lmg+CisrI2luY2x1ZGUgPHN0cmluZz4KKysjaW5jbHVkZSA8c25kaW8uaD4K KysKKysjaW5jbHVkZSAiYmFzZS9jb21waWxlcl9zcGVjaWZpYy5oIgorKyNpbmNsdWRlICJiYXNl L21hY3Jvcy5oIgorKyNpbmNsdWRlICJiYXNlL21lbW9yeS93ZWFrX3B0ci5oIgorKyNpbmNsdWRl ICJiYXNlL3RpbWUvdGltZS5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9hZ2NfYXVkaW9fc3Ry ZWFtLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX2lvLmgiCisrI2luY2x1ZGUgIm1l ZGlhL2F1ZGlvL2F1ZGlvX2RldmljZV9kZXNjcmlwdGlvbi5oIgorKyNpbmNsdWRlICJtZWRpYS9i YXNlL2F1ZGlvX3BhcmFtZXRlcnMuaCIKKysKKytuYW1lc3BhY2UgbWVkaWEgeworKworK2NsYXNz IEF1ZGlvTWFuYWdlckJhc2U7CisrCisrLy8gSW1wbGVtZW50YXRpb24gb2YgQXVkaW9PdXRwdXRT dHJlYW0gdXNpbmcgc25kaW8oNykKKytjbGFzcyBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0gOiBwdWJs aWMgQWdjQXVkaW9TdHJlYW08QXVkaW9JbnB1dFN0cmVhbT4geworKyBwdWJsaWM6CisrICAvLyBQ YXNzIHRoaXMgdG8gdGhlIGNvbnN0cnVjdG9yIGlmIHlvdSB3YW50IHRvIGF0dGVtcHQgYXV0by1z ZWxlY3Rpb24KKysgIC8vIG9mIHRoZSBhdWRpbyByZWNvcmRpbmcgZGV2aWNlLgorKyAgc3RhdGlj IGNvbnN0IGNoYXIga0F1dG9TZWxlY3REZXZpY2VbXTsKKysKKysgIC8vIENyZWF0ZSBhIFBDTSBP dXRwdXQgc3RyZWFtIGZvciB0aGUgU05ESU8gZGV2aWNlIGlkZW50aWZpZWQgYnkKKysgIC8vIHxk ZXZpY2VfbmFtZXwuIElmIHVuc3VyZSBvZiB3aGF0IHRvIHVzZSBmb3IgfGRldmljZV9uYW1lfCwg dXNlCisrICAvLyB8a0F1dG9TZWxlY3REZXZpY2V8LgorKyAgU25kaW9BdWRpb0lucHV0U3RyZWFt KEF1ZGlvTWFuYWdlckJhc2UqIGF1ZGlvX21hbmFnZXIsCisrICAgICAgICAgICAgICAgICAgICAg Y29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9uYW1lLAorKyAgICAgICAgICAgICAgICAgICAgIGNv bnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zKTsKKysKKysgIH5TbmRpb0F1ZGlvSW5wdXRTdHJl YW0oKSBvdmVycmlkZTsKKysKKysgIC8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlvSW5wdXRTdHJl YW0uCisrICBib29sIE9wZW4oKSBvdmVycmlkZTsKKysgIHZvaWQgU3RhcnQoQXVkaW9JbnB1dENh bGxiYWNrKiBjYWxsYmFjaykgb3ZlcnJpZGU7CisrICB2b2lkIFN0b3AoKSBvdmVycmlkZTsKKysg IHZvaWQgQ2xvc2UoKSBvdmVycmlkZTsKKysgIGRvdWJsZSBHZXRNYXhWb2x1bWUoKSBvdmVycmlk ZTsKKysgIHZvaWQgU2V0Vm9sdW1lKGRvdWJsZSB2b2x1bWUpIG92ZXJyaWRlOworKyAgZG91Ymxl IEdldFZvbHVtZSgpIG92ZXJyaWRlOworKyAgYm9vbCBJc011dGVkKCkgb3ZlcnJpZGU7CisrICB2 b2lkIFNldE91dHB1dERldmljZUZvckFlYyhjb25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2Rldmlj ZV9pZCkgb3ZlcnJpZGU7CisrCisrIHByaXZhdGU6CisrCisrICBlbnVtIFN0cmVhbVN0YXRlIHsK KysgICAga0Nsb3NlZCwgICAgICAgICAgICAvLyBOb3Qgb3BlbmVkIHlldAorKyAgICBrU3RvcHBl ZCwgICAgICAgICAgIC8vIERldmljZSBvcGVuZWQsIGJ1dCBub3Qgc3RhcnRlZCB5ZXQKKysgICAg a1J1bm5pbmcsICAgICAgICAgICAvLyBTdGFydGVkLCBkZXZpY2UgcGxheWluZworKyAgICBrU3Rv cFdhaXQgICAgICAgICAgIC8vIFN0b3BwaW5nLCB3YWl0aW5nIGZvciB0aGUgcmVhbC10aW1lIHRo cmVhZCB0byBleGl0CisrICB9OworKworKyAgLy8gQy1zdHlsZSBjYWxsLWJhY2tzCisrICBzdGF0 aWMgdm9pZCBPbk1vdmVDYWxsYmFjayh2b2lkICphcmcsIGludCBkZWx0YSk7CisrICBzdGF0aWMg dm9pZCogVGhyZWFkRW50cnkodm9pZCAqYXJnKTsKKysKKysgIC8vIENvbnRpbnVvdXNseSBtb3Zl cyBkYXRhIGZyb20gdGhlIGRldmljZSB0byB0aGUgY29uc3VtZXIKKysgIHZvaWQgVGhyZWFkTG9v cCgpOworKyAgLy8gT3VyIGNyZWF0b3IsIHRoZSBhdWRpbyBtYW5hZ2VyIG5lZWRzIHRvIGJlIG5v dGlmaWVkIHdoZW4gd2UgY2xvc2UuCisrICBBdWRpb01hbmFnZXJCYXNlKiBtYW5hZ2VyOworKyAg Ly8gUGFyYW1ldGVycyBvZiB0aGUgc291cmNlCisrICBBdWRpb1BhcmFtZXRlcnMgcGFyYW1zOwor KyAgLy8gV2Ugc3RvcmUgZGF0YSBoZXJlIGZvciBjb25zdW1lcgorKyAgc3RkOjp1bmlxdWVfcHRy PEF1ZGlvQnVzPiBhdWRpb19idXM7CisrICAvLyBDYWxsLWJhY2sgdGhhdCBjb25zdW1lcyByZWNv cmRlZCBkYXRhCisrICBBdWRpb0lucHV0Q2FsbGJhY2sqIGNhbGxiYWNrOyAgLy8gVmFsaWQgZHVy aW5nIGEgcmVjb3JkaW5nIHNlc3Npb24uCisrICAvLyBIYW5kbGUgb2YgdGhlIGF1ZGlvIGRldmlj ZQorKyAgc3RydWN0IHNpb19oZGwqIGhkbDsKKysgIC8vIEN1cnJlbnQgc3RhdGUgb2YgdGhlIHN0 cmVhbQorKyAgZW51bSBTdHJlYW1TdGF0ZSBzdGF0ZTsKKysgIC8vIEhpZ2ggcHJpb3JpdHkgdGhy ZWFkIHJ1bm5pbmcgVGhyZWFkTG9vcCgpCisrICBwdGhyZWFkX3QgdGhyZWFkOworKyAgLy8gTnVt YmVyIG9mIGZyYW1lcyBidWZmZXJlZCBpbiB0aGUgaGFyZHdhcmUKKysgIGludCBod19kZWxheTsK KysgIC8vIFRlbXBvcmFyeSBidWZmZXIgd2hlcmUgZGF0YSBpcyBzdG9yZWQgc25kaW8tY29tcGF0 aWJsZSBmb3JtYXQKKysgIGNoYXIqIGJ1ZmZlcjsKKysKKysgIERJU0FMTE9XX0NPUFlfQU5EX0FT U0lHTihTbmRpb0F1ZGlvSW5wdXRTdHJlYW0pOworK307CisrCisrfSAgLy8gbmFtZXNwYWNlIG1l ZGlhCisrCisrI2VuZGlmICAvLyBNRURJQV9BVURJT19TTkRJT19TTkRJT19JTlBVVF9IXworLS0t IC9kZXYvbnVsbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL3NuZGlv L3NuZGlvX291dHB1dC5jYworQEAgLTAsMCArMSwxODMgQEAKKysvLyBDb3B5cmlnaHQgKGMpIDIw MTIgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9m IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0 IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisrCisrI2luY2x1ZGUgImJh c2UvbG9nZ2luZy5oIgorKyNpbmNsdWRlICJiYXNlL3RpbWUvdGltZS5oIgorKyNpbmNsdWRlICJi YXNlL3RpbWUvZGVmYXVsdF90aWNrX2Nsb2NrLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1 ZGlvX21hbmFnZXJfYmFzZS5oIgorKyNpbmNsdWRlICJtZWRpYS9iYXNlL2F1ZGlvX3RpbWVzdGFt cF9oZWxwZXIuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0cHV0Lmgi CisrCisrbmFtZXNwYWNlIG1lZGlhIHsKKysKKytzdGF0aWMgY29uc3QgU2FtcGxlRm9ybWF0IGtT YW1wbGVGb3JtYXQgPSBrU2FtcGxlRm9ybWF0UzE2OworKworK3ZvaWQgU25kaW9BdWRpb091dHB1 dFN0cmVhbTo6T25Nb3ZlQ2FsbGJhY2sodm9pZCAqYXJnLCBpbnQgZGVsdGEpIHsKKysgIFNuZGlv QXVkaW9PdXRwdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRpb0F1ZGlvT3V0cHV0U3Ry ZWFtKj4oYXJnKTsKKysKKysgIHNlbGYtPmh3X2RlbGF5IC09IGRlbHRhOworK30KKysKKyt2b2lk IFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06Ok9uVm9sQ2FsbGJhY2sodm9pZCAqYXJnLCB1bnNpZ25l ZCBpbnQgdm9sKSB7CisrICBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKiBzZWxmID0gc3RhdGljX2Nh c3Q8U25kaW9BdWRpb091dHB1dFN0cmVhbSo+KGFyZyk7CisrCisrICBzZWxmLT52b2wgPSB2b2w7 CisrfQorKworK3ZvaWQgKlNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlRocmVhZEVudHJ5KHZvaWQg KmFyZykgeworKyAgU25kaW9BdWRpb091dHB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNu ZGlvQXVkaW9PdXRwdXRTdHJlYW0qPihhcmcpOworKworKyAgc2VsZi0+VGhyZWFkTG9vcCgpOwor KyAgcmV0dXJuIE5VTEw7CisrfQorKworK1NuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlNuZGlvQXVk aW9PdXRwdXRTdHJlYW0oY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpb01hbmFnZXJCYXNlKiBt YW5hZ2VyKQorKyAgICA6IG1hbmFnZXIobWFuYWdlciksCisrICAgICAgcGFyYW1zKHBhcmFtcyks CisrICAgICAgYXVkaW9fYnVzKEF1ZGlvQnVzOjpDcmVhdGUocGFyYW1zKSksCisrICAgICAgc3Rh dGUoa0Nsb3NlZCksCisrICAgICAgbXV0ZXgoUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUikgewor K30KKysKKytTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjp+U25kaW9BdWRpb091dHB1dFN0cmVhbSgp IHsKKysgIGlmIChzdGF0ZSAhPSBrQ2xvc2VkKQorKyAgICBDbG9zZSgpOworK30KKysKKytib29s IFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06Ok9wZW4oKSB7CisrICBzdHJ1Y3Qgc2lvX3BhciBwYXI7 CisrICBpbnQgc2lnOworKworKyAgaWYgKHBhcmFtcy5mb3JtYXQoKSAhPSBBdWRpb1BhcmFtZXRl cnM6OkFVRElPX1BDTV9MSU5FQVIgJiYKKysgICAgICBwYXJhbXMuZm9ybWF0KCkgIT0gQXVkaW9Q YXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1kpIHsKKysgICAgTE9HKFdBUk5JTkcpIDw8 ICJVbnN1cHBvcnRlZCBhdWRpbyBmb3JtYXQuIjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAgfQor KyAgc2lvX2luaXRwYXIoJnBhcik7CisrICBwYXIucmF0ZSA9IHBhcmFtcy5zYW1wbGVfcmF0ZSgp OworKyAgcGFyLnBjaGFuID0gcGFyYW1zLmNoYW5uZWxzKCk7CisrICBwYXIuYml0cyA9IFNhbXBs ZUZvcm1hdFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1hdCk7CisrICBwYXIuYnBzID0gcGFy LmJpdHMgLyA4OworKyAgcGFyLnNpZyA9IHNpZyA9IHBhci5iaXRzICE9IDggPyAxIDogMDsKKysg IHBhci5sZSA9IFNJT19MRV9OQVRJVkU7CisrICBwYXIuYXBwYnVmc3ogPSBwYXJhbXMuZnJhbWVz X3Blcl9idWZmZXIoKTsKKysKKysgIGhkbCA9IHNpb19vcGVuKFNJT19ERVZBTlksIFNJT19QTEFZ LCAwKTsKKysgIGlmIChoZGwgPT0gTlVMTCkgeworKyAgICBMT0coRVJST1IpIDw8ICJDb3VsZG4n dCBvcGVuIGF1ZGlvIGRldmljZS4iOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrICBpZiAo IXNpb19zZXRwYXIoaGRsLCAmcGFyKSB8fCAhc2lvX2dldHBhcihoZGwsICZwYXIpKSB7CisrICAg IExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHNldCBhdWRpbyBwYXJhbWV0ZXJzLiI7CisrICAgIGdv dG8gYmFkX2Nsb3NlOworKyAgfQorKyAgaWYgKHBhci5yYXRlICAhPSAodW5zaWduZWQgaW50KXBh cmFtcy5zYW1wbGVfcmF0ZSgpIHx8CisrICAgICAgcGFyLnBjaGFuICE9ICh1bnNpZ25lZCBpbnQp cGFyYW1zLmNoYW5uZWxzKCkgfHwKKysgICAgICBwYXIuYml0cyAgIT0gKHVuc2lnbmVkIGludClT YW1wbGVGb3JtYXRUb0JpdHNQZXJDaGFubmVsKGtTYW1wbGVGb3JtYXQpIHx8CisrICAgICAgcGFy LnNpZyAgICE9ICh1bnNpZ25lZCBpbnQpc2lnIHx8CisrICAgICAgKHBhci5icHMgPiAxICYmIHBh ci5sZSAhPSBTSU9fTEVfTkFUSVZFKSB8fAorKyAgICAgIChwYXIuYml0cyAhPSBwYXIuYnBzICog OCkpIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiVW5zdXBwb3J0ZWQgYXVkaW8gcGFyYW1ldGVycy4i OworKyAgICBnb3RvIGJhZF9jbG9zZTsKKysgIH0KKysgIHN0YXRlID0ga1N0b3BwZWQ7CisrICB2 b2xwZW5kaW5nID0gMDsKKysgIHZvbCA9IDA7CisrICBidWZmZXIgPSBuZXcgY2hhclthdWRpb19i dXMtPmZyYW1lcygpICogcGFyYW1zLkdldEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCldOwor KyAgc2lvX29ubW92ZShoZGwsICZPbk1vdmVDYWxsYmFjaywgdGhpcyk7CisrICBzaW9fb252b2wo aGRsLCAmT25Wb2xDYWxsYmFjaywgdGhpcyk7CisrICByZXR1cm4gdHJ1ZTsKKysgYmFkX2Nsb3Nl OgorKyAgc2lvX2Nsb3NlKGhkbCk7CisrICByZXR1cm4gZmFsc2U7CisrfQorKworK3ZvaWQgU25k aW9BdWRpb091dHB1dFN0cmVhbTo6Q2xvc2UoKSB7CisrICBpZiAoc3RhdGUgPT0ga0Nsb3NlZCkK KysgICAgcmV0dXJuOworKyAgaWYgKHN0YXRlID09IGtSdW5uaW5nKQorKyAgICBTdG9wKCk7Cisr ICBzdGF0ZSA9IGtDbG9zZWQ7CisrICBkZWxldGUgW10gYnVmZmVyOworKyAgc2lvX2Nsb3NlKGhk bCk7CisrICBtYW5hZ2VyLT5SZWxlYXNlT3V0cHV0U3RyZWFtKHRoaXMpOyAgLy8gQ2FsbHMgdGhl IGRlc3RydWN0b3IKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpTdGFydChB dWRpb1NvdXJjZUNhbGxiYWNrKiBjYWxsYmFjaykgeworKyAgc3RhdGUgPSBrUnVubmluZzsKKysg IGh3X2RlbGF5ID0gMDsKKysgIHNvdXJjZSA9IGNhbGxiYWNrOworKyAgc2lvX3N0YXJ0KGhkbCk7 CisrICBpZiAocHRocmVhZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwgJlRocmVhZEVudHJ5LCB0aGlz KSAhPSAwKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkZhaWxlZCB0byBjcmVhdGUgcmVhbC10aW1l IHRocmVhZC4iOworKyAgICBzaW9fc3RvcChoZGwpOworKyAgICBzdGF0ZSA9IGtTdG9wcGVkOwor KyAgfQorK30KKysKKyt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlN0b3AoKSB7CisrICBp ZiAoc3RhdGUgPT0ga1N0b3BwZWQpCisrICAgIHJldHVybjsKKysgIHN0YXRlID0ga1N0b3BXYWl0 OworKyAgcHRocmVhZF9qb2luKHRocmVhZCwgTlVMTCk7CisrICBzaW9fc3RvcChoZGwpOworKyAg c3RhdGUgPSBrU3RvcHBlZDsKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpT ZXRWb2x1bWUoZG91YmxlIHYpIHsKKysgIHB0aHJlYWRfbXV0ZXhfbG9jaygmbXV0ZXgpOworKyAg dm9sID0gdiAqIFNJT19NQVhWT0w7CisrICB2b2xwZW5kaW5nID0gMTsKKysgIHB0aHJlYWRfbXV0 ZXhfdW5sb2NrKCZtdXRleCk7CisrfQorKworK3ZvaWQgU25kaW9BdWRpb091dHB1dFN0cmVhbTo6 R2V0Vm9sdW1lKGRvdWJsZSogdikgeworKyAgcHRocmVhZF9tdXRleF9sb2NrKCZtdXRleCk7Cisr ICAqdiA9IHZvbCAqICgxLiAvIFNJT19NQVhWT0wpOworKyAgcHRocmVhZF9tdXRleF91bmxvY2so Jm11dGV4KTsKKyt9CisrCisrLy8gVGhpcyBzdHJlYW0gaXMgYWx3YXlzIHVzZWQgd2l0aCBzdWIg c2Vjb25kIGJ1ZmZlciBzaXplcywgd2hlcmUgaXQncworKy8vIHN1ZmZpY2llbnQgdG8gc2ltcGx5 IGFsd2F5cyBmbHVzaCB1cG9uIFN0YXJ0KCkuCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFt OjpGbHVzaCgpIHt9CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpUaHJlYWRMb29w KHZvaWQpIHsKKysgIGludCBhdmFpbCwgY291bnQsIHJlc3VsdDsKKysKKysgIHdoaWxlIChzdGF0 ZSA9PSBrUnVubmluZykgeworKyAgICAvLyBVcGRhdGUgdm9sdW1lIGlmIG5lZWRlZAorKyAgICBw dGhyZWFkX211dGV4X2xvY2soJm11dGV4KTsKKysgICAgaWYgKHZvbHBlbmRpbmcpIHsKKysgICAg ICB2b2xwZW5kaW5nID0gMDsKKysgICAgICBzaW9fc2V0dm9sKGhkbCwgdm9sKTsKKysgICAgfQor KyAgICBwdGhyZWFkX211dGV4X3VubG9jaygmbXV0ZXgpOworKworKyAgICAvLyBHZXQgZGF0YSB0 byBwbGF5CisrICAgIGNvbnN0IGJhc2U6OlRpbWVEZWx0YSBkZWxheSA9IEF1ZGlvVGltZXN0YW1w SGVscGVyOjpGcmFtZXNUb1RpbWUoaHdfZGVsYXksCisrCXBhcmFtcy5zYW1wbGVfcmF0ZSgpKTsK KysgICAgY291bnQgPSBzb3VyY2UtPk9uTW9yZURhdGEoZGVsYXksIGJhc2U6OlRpbWVUaWNrczo6 Tm93KCksIDAsIGF1ZGlvX2J1cy5nZXQoKSk7CisrICAgIGF1ZGlvX2J1cy0+VG9JbnRlcmxlYXZl ZDxTaWduZWRJbnQxNlNhbXBsZVR5cGVUcmFpdHM+KGNvdW50LCByZWludGVycHJldF9jYXN0PGlu dDE2X3QqPihidWZmZXIpKTsKKysgICAgaWYgKGNvdW50ID09IDApIHsKKysgICAgICAvLyBXZSBo YXZlIHRvIHN1Ym1pdCBzb21ldGhpbmcgdG8gdGhlIGRldmljZQorKyAgICAgIGNvdW50ID0gYXVk aW9fYnVzLT5mcmFtZXMoKTsKKysgICAgICBtZW1zZXQoYnVmZmVyLCAwLCBjb3VudCAqIHBhcmFt cy5HZXRCeXRlc1BlckZyYW1lKGtTYW1wbGVGb3JtYXQpKTsKKysgICAgICBMT0coV0FSTklORykg PDwgIk5vIGRhdGEgdG8gcGxheSwgcnVubmluZyBlbXB0eSBjeWNsZS4iOworKyAgICB9CisrCisr ICAgIC8vIFN1Ym1pdCBkYXRhIHRvIHRoZSBkZXZpY2UKKysgICAgYXZhaWwgPSBjb3VudCAqIHBh cmFtcy5HZXRCeXRlc1BlckZyYW1lKGtTYW1wbGVGb3JtYXQpOworKyAgICByZXN1bHQgPSBzaW9f d3JpdGUoaGRsLCBidWZmZXIsIGF2YWlsKTsKKysgICAgaWYgKHJlc3VsdCA9PSAwKSB7CisrICAg ICAgTE9HKFdBUk5JTkcpIDw8ICJBdWRpbyBkZXZpY2UgZGlzY29ubmVjdGVkLiI7CisrICAgICAg YnJlYWs7CisrICAgIH0KKysKKysgICAgLy8gVXBkYXRlIGhhcmR3YXJlIHBvaW50ZXIKKysgICAg aHdfZGVsYXkgKz0gY291bnQ7CisrICB9CisrfQorKworK30gIC8vIG5hbWVzcGFjZSBtZWRpYQor LS0tIC9kZXYvbnVsbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL3Nu ZGlvL3NuZGlvX291dHB1dC5oCitAQCAtMCwwICsxLDg2IEBACisrLy8gQ29weXJpZ2h0IChjKSAy MDEyIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKy8vIFVzZSBv ZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhh dCBjYW4gYmUKKysvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorKworKyNpZm5kZWYgTUVE SUFfQVVESU9fU05ESU9fU05ESU9fT1VUUFVUX0hfCisrI2RlZmluZSBNRURJQV9BVURJT19TTkRJ T19TTkRJT19PVVRQVVRfSF8KKysKKysjaW5jbHVkZSA8cHRocmVhZC5oPgorKyNpbmNsdWRlIDxz bmRpby5oPgorKworKyNpbmNsdWRlICJiYXNlL3RpbWUvdGlja19jbG9jay5oIgorKyNpbmNsdWRl ICJiYXNlL3RpbWUvdGltZS5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9hdWRpb19pby5oIgor KworK25hbWVzcGFjZSBtZWRpYSB7CisrCisrY2xhc3MgQXVkaW9NYW5hZ2VyQmFzZTsKKysKKysv LyBJbXBsZW1lbnRhdGlvbiBvZiBBdWRpb091dHB1dFN0cmVhbSB1c2luZyBzbmRpbyg3KQorK2Ns YXNzIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0gOiBwdWJsaWMgQXVkaW9PdXRwdXRTdHJlYW0gewor KyBwdWJsaWM6CisrICAvLyBUaGUgbWFuYWdlciBpcyBjcmVhdGluZyB0aGlzIG9iamVjdAorKyAg U25kaW9BdWRpb091dHB1dFN0cmVhbShjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysg ICAgICAgICAgICAgICAgICAgICAgICAgQXVkaW9NYW5hZ2VyQmFzZSogbWFuYWdlcik7CisrICB2 aXJ0dWFsIH5TbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKCk7CisrCisrICAvLyBJbXBsZW1lbnRhdGlv biBvZiBBdWRpb091dHB1dFN0cmVhbS4KKysgIGJvb2wgT3BlbigpIG92ZXJyaWRlOworKyAgdm9p ZCBDbG9zZSgpIG92ZXJyaWRlOworKyAgdm9pZCBTdGFydChBdWRpb1NvdXJjZUNhbGxiYWNrKiBj YWxsYmFjaykgb3ZlcnJpZGU7CisrICB2b2lkIFN0b3AoKSBvdmVycmlkZTsKKysgIHZvaWQgU2V0 Vm9sdW1lKGRvdWJsZSB2b2x1bWUpIG92ZXJyaWRlOworKyAgdm9pZCBHZXRWb2x1bWUoZG91Ymxl KiB2b2x1bWUpIG92ZXJyaWRlOworKyAgdm9pZCBGbHVzaCgpIG92ZXJyaWRlOworKworKyAgZnJp ZW5kIHZvaWQgc25kaW9fb25tb3ZlKHZvaWQgKmFyZywgaW50IGRlbHRhKTsKKysgIGZyaWVuZCB2 b2lkIHNuZGlvX29udm9sKHZvaWQgKmFyZywgdW5zaWduZWQgaW50IHZvbCk7CisrICBmcmllbmQg dm9pZCAqc25kaW9fdGhyZWFkc3RhcnQodm9pZCAqYXJnKTsKKysKKysgcHJpdmF0ZToKKysgIGVu dW0gU3RyZWFtU3RhdGUgeworKyAgICBrQ2xvc2VkLCAgICAgICAgICAgIC8vIE5vdCBvcGVuZWQg eWV0CisrICAgIGtTdG9wcGVkLCAgICAgICAgICAgLy8gRGV2aWNlIG9wZW5lZCwgYnV0IG5vdCBz dGFydGVkIHlldAorKyAgICBrUnVubmluZywgICAgICAgICAgIC8vIFN0YXJ0ZWQsIGRldmljZSBw bGF5aW5nCisrICAgIGtTdG9wV2FpdCAgICAgICAgICAgLy8gU3RvcHBpbmcsIHdhaXRpbmcgZm9y IHRoZSByZWFsLXRpbWUgdGhyZWFkIHRvIGV4aXQKKysgIH07CisrCisrICAvLyBDLXN0eWxlIGNh bGwtYmFja3MKKysgIHN0YXRpYyB2b2lkIE9uTW92ZUNhbGxiYWNrKHZvaWQgKmFyZywgaW50IGRl bHRhKTsKKysgIHN0YXRpYyB2b2lkIE9uVm9sQ2FsbGJhY2sodm9pZCAqYXJnLCB1bnNpZ25lZCBp bnQgdm9sKTsKKysgIHN0YXRpYyB2b2lkKiBUaHJlYWRFbnRyeSh2b2lkICphcmcpOworKworKyAg Ly8gQ29udGludW91c2x5IG1vdmVzIGRhdGEgZnJvbSB0aGUgcHJvZHVjZXIgdG8gdGhlIGRldmlj ZQorKyAgdm9pZCBUaHJlYWRMb29wKHZvaWQpOworKworKyAgLy8gT3VyIGNyZWF0b3IsIHRoZSBh dWRpbyBtYW5hZ2VyIG5lZWRzIHRvIGJlIG5vdGlmaWVkIHdoZW4gd2UgY2xvc2UuCisrICBBdWRp b01hbmFnZXJCYXNlKiBtYW5hZ2VyOworKyAgLy8gUGFyYW1ldGVycyBvZiB0aGUgc291cmNlCisr ICBBdWRpb1BhcmFtZXRlcnMgcGFyYW1zOworKyAgLy8gU291cmNlIHN0b3JlcyBkYXRhIGhlcmUK KysgIHN0ZDo6dW5pcXVlX3B0cjxBdWRpb0J1cz4gYXVkaW9fYnVzOworKyAgLy8gQ2FsbC1iYWNr IHRoYXQgcHJvZHVjZXMgZGF0YSB0byBwbGF5CisrICBBdWRpb1NvdXJjZUNhbGxiYWNrKiBzb3Vy Y2U7CisrICAvLyBIYW5kbGUgb2YgdGhlIGF1ZGlvIGRldmljZQorKyAgc3RydWN0IHNpb19oZGwq IGhkbDsKKysgIC8vIEN1cnJlbnQgc3RhdGUgb2YgdGhlIHN0cmVhbQorKyAgZW51bSBTdHJlYW1T dGF0ZSBzdGF0ZTsKKysgIC8vIEhpZ2ggcHJpb3JpdHkgdGhyZWFkIHJ1bm5pbmcgVGhyZWFkTG9v cCgpCisrICBwdGhyZWFkX3QgdGhyZWFkOworKyAgLy8gUHJvdGVjdHMgdm9sLCB2b2xwZW5kaW5n IGFuZCBod19kZWxheQorKyAgcHRocmVhZF9tdXRleF90IG11dGV4OworKyAgLy8gQ3VycmVudCB2 b2x1bWUgaW4gdGhlIDAuLlNJT19NQVhWT0wgcmFuZ2UKKysgIGludCB2b2w7CisrICAvLyBTZXQg dG8gMSBpZiB2b2x1bWVzIG11c3QgYmUgcmVmcmVzaGVkIGluIHRoZSByZWFsdGltZSB0aHJlYWQK KysgIGludCB2b2xwZW5kaW5nOworKyAgLy8gTnVtYmVyIG9mIGZyYW1lcyBidWZmZXJlZCBpbiB0 aGUgaGFyZHdhcmUKKysgIGludCBod19kZWxheTsKKysgIC8vIFRlbXBvcmFyeSBidWZmZXIgd2hl cmUgZGF0YSBpcyBzdG9yZWQgc25kaW8tY29tcGF0aWJsZSBmb3JtYXQKKysgIGNoYXIqIGJ1ZmZl cjsKKysKKysgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihTbmRpb0F1ZGlvT3V0cHV0U3RyZWFt KTsKKyt9OworKworK30gIC8vIG5hbWVzcGFjZSBtZWRpYQorKworKyNlbmRpZiAgLy8gTUVESUFf QVVESU9fU05ESU9fU05ESU9fT1VUUFVUX0hfCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v bWVkaWEvbWVkaWFfb3B0aW9ucy5nbmkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRp YS9tZWRpYV9vcHRpb25zLmduaQorQEAgLTEyMSw2ICsxMjEsOSBAQCBkZWNsYXJlX2FyZ3MoKSB7 CisgICAjIEVuYWJsZXMgcnVudGltZSBzZWxlY3Rpb24gb2YgQUxTQSBsaWJyYXJ5IGZvciBhdWRp by4KKyAgIHVzZV9hbHNhID0gZmFsc2UKKyAKKysgICMgRW5hYmxlIHJ1bnRpbWUgc2VsZWN0aW9u IG9mIHNuZGlvKDcpCisrICB1c2Vfc25kaW8gPSBmYWxzZQorKworICAgIyBBbHNhIHNob3VsZCBi ZSB1c2VkIG9uIG5vbi1BbmRyb2lkLCBub24tTWFjIFBPU0lYIHN5c3RlbXMuCisgICAjIEFsc2Eg c2hvdWxkIGJlIHVzZWQgb24gZGVza3RvcCBDaHJvbWVjYXN0IGFuZCBhdWRpby1vbmx5IENocm9t ZWNhc3QgYnVpbGRzLgorICAgaWYgKGlzX3Bvc2l4ICYmICFpc19hbmRyb2lkICYmICFpc19tYWMg JiYKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3MDAtYXJtdjds LW5lb24ucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzAwLWFybXY3bC1u ZW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDQyZmEx OWEwN2ExCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDcwMC1hcm12N2wtbmVvbi5wYXRjaApAQCAtMCwwICsxLDEwIEBACistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2tpYS9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Nr aWEvQlVJTEQuZ24KK0BAIC04MDAsNyArODAwLDYgQEAgc2tpYV9zb3VyY2Vfc2V0KCJza2lhX29w dHMiKSB7CisgICAgICAgICAjIFJvb3QgYnVpbGQgY29uZmlnIHNldHMgLW1mcHU9JGFybV9mcHUs IHdoaWNoIHdlIGV4cGVjdCB0byBiZSBuZW9uCisgICAgICAgICAjIHdoZW4gcnVubmluZyB0aGlz LgorICAgICAgICAgaWYgKCFhcm1fdXNlX25lb24pIHsKKy0gICAgICAgICAgY29uZmlncyAtPSBb ICIvL2J1aWxkL2NvbmZpZy9jb21waWxlcjpjb21waWxlcl9hcm1fZnB1IiBdCisgICAgICAgICAg IGNmbGFncyArPSBbICItbWZwdT1uZW9uIiBdCisgICAgICAgICB9CisgICAgICAgfQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1MC1jaHJvbWl1bS1tdXNsLWFy bS11c2VyX3ZmcC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3NTAtY2hy b21pdW0tbXVzbC1hcm0tdXNlcl92ZnAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi42ZTJkNjJmMzVlZTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUwLWNocm9taXVtLW11c2wtYXJtLXVzZXJfdmZwLnBhdGNo CkBAIC0wLDAgKzEsMjAgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4 L3RocmVhZF9pbmZvLmgKK0BAIC0xNyw2ICsxNywxNyBAQAorIAorICNpbmNsdWRlIDxzdGRpbnQu aD4KKyAjaW5jbHVkZSA8c3lzL3VzZXIuaD4KKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorK3N0 cnVjdCB1c2VyX3ZmcCB7CisrCXVuc2lnbmVkIGxvbmcgbG9uZyBmcHJlZ3NbMzJdOworKwl1bnNp Z25lZCBsb25nIGZwc2NyOworK307Cisrc3RydWN0IHVzZXJfdmZwX2V4YyB7CisrCXVuc2lnbmVk IGxvbmcgZnBleGM7CisrCXVuc2lnbmVkIGxvbmcgZnBpbnN0OworKwl1bnNpZ25lZCBsb25nIGZw aW5zdDI7CisrfTsKKysjZW5kaWYgLyogIWRlZmluZWQoX19HTElCQ19fKSAqLworIAorICNpbmNs dWRlIDx0eXBlX3RyYWl0cz4KKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzA3NTEtY2hyb21pdW0tbXVzbC1hcm0tZWxmX2F1eHZfdC5wYXRjaCBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3NTEtY2hyb21pdW0tbXVzbC1hcm0tZWxmX2F1eHZfdC5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjcxMTJjOGNmZDNm YQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3NTEt Y2hyb21pdW0tbXVzbC1hcm0tZWxmX2F1eHZfdC5wYXRjaApAQCAtMCwwICsxLDE4IEBACistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL2Jhc2UvY3B1LmNjCisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdjgvc3JjL2Jhc2UvY3B1LmNjCitAQCAtMTYzLDYgKzE2MywxNSBAQCBz dGF0aWMgVjhfSU5MSU5FIHZvaWQgX19jcHVpZChpbnQgY3B1X2luCisgCisgI2lmIFY4X0hPU1Rf QVJDSF9BUk0gfHwgVjhfSE9TVF9BUkNIX0FSTTY0CisgCisrI2lmbmRlZiBfX0dMSUJDX18KKysj aW5jbHVkZSA8ZWxmLmg+CisrI2lmZGVmIF9fTFA2NF9fCisrdHlwZWRlZiBFbGY2NF9hdXh2X3Qg ZWxmX2F1eHZfdDsKKysjZWxzZQorK3R5cGVkZWYgRWxmMzJfYXV4dl90IGVsZl9hdXh2X3Q7Cisr I2VuZGlmCisrI2VuZGlmCisrCisgc3RhdGljIHVpbnQzMl90IFJlYWRFTEZIV0NhcHMoKSB7Cisg ICB1aW50MzJfdCByZXN1bHQgPSAwOworICNpZiBWOF9HTElCQ19QUkVSRVEoMiwgMTYpCmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wODAxLWNocm9taXVtLWk2ODYt dmFhcGktZnBlcm1pc3NpdmUucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w ODAxLWNocm9taXVtLWk2ODYtdmFhcGktZnBlcm1pc3NpdmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4zZDQwNDNlMDNiODkKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wODAxLWNocm9taXVtLWk2ODYtdmFhcGkt ZnBlcm1pc3NpdmUucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL21lZGlhL2dwdS92YWFwaS9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL21lZGlhL2dwdS92YWFwaS9CVUlMRC5nbgorQEAgLTE0LDYgKzE0LDEwIEBAIGltcG9ydCgi Ly91aS9nbC9mZWF0dXJlcy5nbmkiKQorIGFzc2VydChpc19saW51eCB8fCBpc19jaHJvbWVvcykK KyBhc3NlcnQodXNlX3ZhYXBpKQorIAorK2NvbmZpZygidmFhcGlfcGVybWlzc2l2ZSIpIHsKKysg IGNmbGFncyA9IFsgIi1mcGVybWlzc2l2ZSIgXQorK30KKysKKyBnZW5lcmF0ZV9zdHVicygibGli dmFfc3R1YnMiKSB7CisgICBleHRyYV9oZWFkZXIgPSAidmFfc3R1Yl9oZWFkZXIuZnJhZ21lbnQi CisgICBzaWdzID0gWyAidmEuc2lncyIgXQorQEAgLTEzNiw2ICsxNDAsMTAgQEAgc291cmNlX3Nl dCgidmFhcGkiKSB7CisgICAgIF0KKyAgIH0KKyAKKysgIGlmICh0YXJnZXRfY3B1ID09ICJ4ODYi KSB7CisrICAgIGNvbmZpZ3MgKz0gWyAiOnZhYXBpX3Blcm1pc3NpdmUiIF0KKysgIH0KKysKKyAg IGlmICh1c2VfeDExKSB7CisgICAgIGRlcHMgKz0gWyAiLy91aS9nZngveCIgXQorICAgICBzb3Vy Y2VzICs9IFsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA5MDAt eHh4LXBwYzY0bGUtbGlidnB4LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDkwMC14eHgtcHBjNjRsZS1saWJ2cHgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi41Yzk1NjZiNTZiZDQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAwLXh4eC1wcGM2NGxlLWxpYnZweC5wYXRjaApAQCAtMCww ICsxLDY1IEBACitVc2VzIGdlbmVyaWMgdGFyZ2V0IGZvciBub3cuIFRvIHVzZSBwcGM2NGxlLCBj aGFuZ2UgLS10YXJnZXQgdG8gcHBjNjRsZS1nbnUKK2FuZCBhZGQgLS1lbmFibGUtdnN4LCBhbmQg Y2hhbmdlIGdlbmVyaWMgdG8gcHBjIGZvciB0aGUgcnRjZCBoZWFkZXIuCisKK0Zyb20gMThlNmM1 YzU1Y2ZhZTBjZmI0NThkODIxMGQ3YmM3MDkzNjBhMGU5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+CitEYXRlOiBXZWQsIDkgU2VwIDIw MjAgMTk6MDg6MjUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gZW5hYmxlIGdlbmVyYXRpb24gb2Yg cHBjNjQgbGlidnB4IGJpdHMKKwordGhpcyBkb2Vzbid0IHVwZGF0ZSB0aGUgZ25pIGZpbGUsIHRo YXQncyBkb25lIGZyb20KK3RoZSB0ZW1wbGF0ZSBieSBydW5uaW5nIHRoZSBhcHByb3ByaWF0ZSBz Y3JpcHRzCistLS0KKyB0aGlyZF9wYXJ0eS9saWJ2cHgvQlVJTEQuZ24gICAgICAgIHwgNCArKysr CisgdGhpcmRfcGFydHkvbGlidnB4L2dlbmVyYXRlX2duaS5zaCB8IDkgKysrKysrKysrCisgMiBm aWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspCisKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9saWJ2cHgvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9saWJ2cHgvQlVJTEQuZ24KK0BAIC00MjQsNiArNDI0LDggQEAgc3Rh dGljX2xpYnJhcnkoImJ1bmRsZWRfbGlidnB4IikgeworICAgICAgIHNvdXJjZXMgPSBsaWJ2cHhf c3Jjc19hcm02NAorICAgICAgIHB1YmxpY19kZXBzID0gWyAiOmxpYnZweF9hcm02NF9oZWFkZXJz IiBdCisgICAgIH0KKysgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0IikgeworKyAg ICBzb3VyY2VzID0gbGlidnB4X3NyY3NfcHBjNjQKKyAgIH0KKyAKKyAgIGNvbmZpZ3MgLT0gWyAi Ly9idWlsZC9jb25maWcvY29tcGlsZXI6Y2hyb21pdW1fY29kZSIgXQorLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xpYnZweC9nZW5lcmF0ZV9nbmkuc2gKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9saWJ2cHgvZ2VuZXJhdGVfZ25pLnNoCitA QCAtMzc0LDYgKzM3NCw3IEBAIGdlbl9jb25maWdfZmlsZXMgbGludXgvYXJtLW5lb24taGlnaGJk ICIKKyBnZW5fY29uZmlnX2ZpbGVzIGxpbnV4L2FybTY0LWhpZ2hiZCAiLS10YXJnZXQ9YXJtdjgt bGludXgtZ2NjICR7YWxsX3BsYXRmb3Jtc30gJHtISUdIQkR9IgorIGdlbl9jb25maWdfZmlsZXMg bGludXgvbWlwc2VsICItLXRhcmdldD1taXBzMzItbGludXgtZ2NjICR7YWxsX3BsYXRmb3Jtc30i CisgZ2VuX2NvbmZpZ19maWxlcyBsaW51eC9taXBzNjRlbCAiLS10YXJnZXQ9bWlwczY0LWxpbnV4 LWdjYyAke2FsbF9wbGF0Zm9ybXN9IgorK2dlbl9jb25maWdfZmlsZXMgbGludXgvcHBjNjQgIi0t dGFyZ2V0PWdlbmVyaWMtZ251ICRISUdIQkQgJHthbGxfcGxhdGZvcm1zfSIKKyBnZW5fY29uZmln X2ZpbGVzIGxpbnV4L2dlbmVyaWMgIi0tdGFyZ2V0PWdlbmVyaWMtZ251ICRISUdIQkQgJHthbGxf cGxhdGZvcm1zfSIKKyBnZW5fY29uZmlnX2ZpbGVzIHdpbi9hcm02NCAiLS10YXJnZXQ9YXJtNjQt d2luNjQtdnMxNSAke2FsbF9wbGF0Zm9ybXN9ICR7SElHSEJEfSIKKyBnZW5fY29uZmlnX2ZpbGVz IHdpbi9pYTMyICItLXRhcmdldD14ODYtd2luMzItdnMxNCAke2FsbF9wbGF0Zm9ybXN9ICR7eDg2 X3BsYXRmb3Jtc30iCitAQCAtMzk5LDYgKzQwMCw3IEBAIGxpbnRfY29uZmlnIGxpbnV4L2FybS1u ZW9uLWhpZ2hiZAorIGxpbnRfY29uZmlnIGxpbnV4L2FybTY0LWhpZ2hiZAorIGxpbnRfY29uZmln IGxpbnV4L21pcHNlbAorIGxpbnRfY29uZmlnIGxpbnV4L21pcHM2NGVsCisrbGludF9jb25maWcg bGludXgvcHBjNjQKKyBsaW50X2NvbmZpZyBsaW51eC9nZW5lcmljCisgbGludF9jb25maWcgd2lu L2FybTY0CisgbGludF9jb25maWcgd2luL2lhMzIKK0BAIC00MjgsNiArNDMwLDcgQEAgZ2VuX3J0 Y2RfaGVhZGVyIGxpbnV4L2FybS1uZW9uLWhpZ2hiZCBhcgorIGdlbl9ydGNkX2hlYWRlciBsaW51 eC9hcm02NC1oaWdoYmQgYXJtdjgKKyBnZW5fcnRjZF9oZWFkZXIgbGludXgvbWlwc2VsIG1pcHNl bAorIGdlbl9ydGNkX2hlYWRlciBsaW51eC9taXBzNjRlbCBtaXBzNjRlbAorK2dlbl9ydGNkX2hl YWRlciBsaW51eC9wcGM2NCBnZW5lcmljCisgZ2VuX3J0Y2RfaGVhZGVyIGxpbnV4L2dlbmVyaWMg Z2VuZXJpYworIGdlbl9ydGNkX2hlYWRlciB3aW4vYXJtNjQgYXJtdjgKKyBnZW5fcnRjZF9oZWFk ZXIgd2luL2lhMzIgeDg2ICIke3JlcXVpcmVfc3NlMn0iCitAQCAtNTEzLDYgKzUxNiwxMiBAQCBp ZiBbIC16ICRPTkxZX0NPTkZJR1MgXTsgdGhlbgorIAorICAgZWNobyAiTUlQUzY0IHNvdXJjZSBs aXN0IGlzIGlkZW50aWNhbCB0byBNSVBTIHNvdXJjZSBsaXN0LiBObyBuZWVkIHRvIGdlbmVyYXRl IGl0LiIKKyAKKysgIGVjaG8gIkdlbmVyYXRlIHBwYzY0IHNvdXJjZSBsaXN0LiIKKysgIGNvbmZp Zz0kKHByaW50X2NvbmZpZ19iYXNpYyBsaW51eC9wcGM2NCkKKysgIG1ha2VfY2xlYW4KKysgIG1h a2UgbGlidnB4X3NyY3MudHh0IHRhcmdldD1saWJzICRjb25maWcgPiAvZGV2L251bGwKKysgIGNv bnZlcnRfc3Jjc190b19wcm9qZWN0X2ZpbGVzIGxpYnZweF9zcmNzLnR4dCBsaWJ2cHhfc3Jjc19w cGM2NAorKworICAgZWNobyAiR2VuZXJhdGUgTmFDbCBzb3VyY2UgbGlzdC4iCisgICBjb25maWc9 JChwcmludF9jb25maWdfYmFzaWMgbmFjbCkKKyAgIG1ha2VfY2xlYW4KZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA5MDEteHh4LXBwYzY0bGUtc2FuZGJveC1saW51 eC1zdGF0LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDkwMS14eHgtcHBj NjRsZS1zYW5kYm94LWxpbnV4LXN0YXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi40YjhlNjMyMDYwMWMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAxLXh4eC1wcGM2NGxlLXNhbmRib3gtbGludXgtc3RhdC5w YXRjaApAQCAtMCwwICsxLDMxIEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJv eC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaAorQEAgLTE1 NSw2ICsxNTUsMjggQEAgc3RydWN0IGtlcm5lbF9zdGF0IHsKKyAgIHVuc2lnbmVkIGludCBfX3Vu dXNlZDQ7CisgICB1bnNpZ25lZCBpbnQgX191bnVzZWQ1OworIH07CisrI2VsaWYgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQorK3N0cnVjdCBrZXJuZWxfc3RhdCB7CisrICB1bnNpZ25lZCBsb25nCXN0 X2RldjsKKysgIHVuc2lnbmVkIGxvbmcJc3RfaW5vOworKyAgdW5zaWduZWQgbG9uZwlzdF9ubGlu azsKKysgIHVuc2lnbmVkIGludAlzdF9tb2RlOworKyAgdW5zaWduZWQgaW50CXN0X3VpZDsKKysg IHVuc2lnbmVkIGludAlzdF9naWQ7CisrICB1bnNpZ25lZCBsb25nCXN0X3JkZXY7CisrICBsb25n CQlzdF9zaXplOworKyAgdW5zaWduZWQgbG9uZwlzdF9ibGtzaXplOworKyAgdW5zaWduZWQgbG9u ZwlzdF9ibG9ja3M7CisrICB1bnNpZ25lZCBsb25nCXN0X2F0aW1lXzsKKysgIHVuc2lnbmVkIGxv bmcJc3RfYXRpbWVfbnNlY187CisrICB1bnNpZ25lZCBsb25nCXN0X210aW1lXzsKKysgIHVuc2ln bmVkIGxvbmcJc3RfbXRpbWVfbnNlY187CisrICB1bnNpZ25lZCBsb25nCXN0X2N0aW1lXzsKKysg IHVuc2lnbmVkIGxvbmcJc3RfY3RpbWVfbnNlY187CisrICB1bnNpZ25lZCBsb25nCV9fdW51c2Vk NDsKKysgIHVuc2lnbmVkIGxvbmcJX191bnVzZWQ1OworKyAgdW5zaWduZWQgbG9uZwlfX3VudXNl ZDY7CisrfTsKKyAjZW5kaWYKKyAKKyAjaWYgIWRlZmluZWQoQVRfRU1QVFlfUEFUSCkKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA5MDIteHh4LXBwYzY0bGUtc3Vw cG9ydC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA5MDIteHh4LXBwYzY0 bGUtc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LjYwNTAzYzIyZTM2YgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzA5MDIteHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaApAQCAtMCwwICsxLDM1NTkgQEAK K2NvbW1pdCAyYzAxM2EzMTdiMTExNGVmNjdjZGJiYzMwODI0YjI4OTA3YjllYTk0CitBdXRob3I6 IERhbmllbCBLb2xlc2EgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgorRGF0ZTogICBXZWQgTWFyIDMg MTk6MDg6MjkgMjAyMSArMDEwMAorCisgICAgcHBjNjRsZSBzdXBwb3J0CisKKy0tLSBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2ZlYXR1cmVzLmduaQorKysrIGIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3NhbmRib3gvZmVhdHVyZXMuZ25pCitAQCAtMTEsNyArMTEsOCBAQCBpbXBvcnQo Ii8vYnVpbGQvY29uZmlnL25hY2wvY29uZmlnLmduaSIpCisgdXNlX3NlY2NvbXBfYnBmID0gKGlz X2xpbnV4IHx8IGlzX2Nocm9tZW9zIHx8IGlzX2FuZHJvaWQpICYmCisgICAgICAgICAgICAgICAg ICAgKGN1cnJlbnRfY3B1ID09ICJ4ODYiIHx8IGN1cnJlbnRfY3B1ID09ICJ4NjQiIHx8CisgICAg ICAgICAgICAgICAgICAgIGN1cnJlbnRfY3B1ID09ICJhcm0iIHx8IGN1cnJlbnRfY3B1ID09ICJh cm02NCIgfHwKKy0gICAgICAgICAgICAgICAgICAgY3VycmVudF9jcHUgPT0gIm1pcHNlbCIgfHwg Y3VycmVudF9jcHUgPT0gIm1pcHM2NGVsIikKKysgICAgICAgICAgICAgICAgICAgY3VycmVudF9j cHUgPT0gIm1pcHNlbCIgfHwgY3VycmVudF9jcHUgPT0gIm1pcHM2NGVsIiB8fAorKyAgICAgICAg ICAgICAgICAgICBjdXJyZW50X2NwdSA9PSAicHBjNjQiKQorIAorIHVzZV9zZWNjb21wX2JwZiA9 IHVzZV9zZWNjb21wX2JwZiB8fCBpc19uYWNsX25vbnNmaQorIAorLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3NhbmRib3gvbGludXgvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L2xpbnV4L0JVSUxELmduCitAQCAtNDMzLDYgKzQzMyw4IEBAIGNvbXBvbmVu dCgic2FuZGJveF9zZXJ2aWNlcyIpIHsKKyAKKyBzb3VyY2Vfc2V0KCJzYW5kYm94X3NlcnZpY2Vz X2hlYWRlcnMiKSB7CisgICBzb3VyY2VzID0gWworKyAgICAic3lzdGVtX2hlYWRlcnMvcHBjNjRf bGludXhfc3lzY2FsbHMuaCIsCisrICAgICJzeXN0ZW1faGVhZGVycy9wcGM2NF9saW51eF91Y29u dGV4dC5oIiwKKyAgICAgInN5c3RlbV9oZWFkZXJzL2FybTY0X2xpbnV4X3N5c2NhbGxzLmgiLAor ICAgICAic3lzdGVtX2hlYWRlcnMvYXJtX2xpbnV4X3N5c2NhbGxzLmgiLAorICAgICAic3lzdGVt X2hlYWRlcnMvYXJtX2xpbnV4X3Vjb250ZXh0LmgiLAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3NhbmRib3gvbGludXgvYnBmX2RzbC9saW51eF9zeXNjYWxsX3Jhbmdlcy5oCisrKysgYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9icGZfZHNsL2xpbnV4X3N5c2NhbGxf cmFuZ2VzLmgKK0BAIC01Niw2ICs1NiwxMyBAQAorICNkZWZpbmUgTUFYX1BVQkxJQ19TWVNDQUxM IF9fTlJfc3lzY2FsbHMKKyAjZGVmaW5lIE1BWF9TWVNDQUxMIE1BWF9QVUJMSUNfU1lTQ0FMTAor IAorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysKKysjaW5jbHVkZSA8YXNtL3VuaXN0 ZC5oPgorKyNkZWZpbmUgTUlOX1NZU0NBTEwgMHUKKysjZGVmaW5lIE1BWF9QVUJMSUNfU1lTQ0FM TCAzODZ1CisrI2RlZmluZSBNQVhfU1lTQ0FMTCBNQVhfUFVCTElDX1NZU0NBTEwKKysKKyAjZWxz ZQorICNlcnJvciAiVW5zdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlIgorICNlbmRpZgorLS0tIGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvYnBmX2RzbC9zZWNjb21wX21hY3Jvcy5o CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9icGZfZHNsL3NlY2Nv bXBfbWFjcm9zLmgKK0BAIC0xNiw2ICsxNiw5IEBACisgI2lmIGRlZmluZWQoX19taXBzX18pCisg Ly8gc3lzL3VzZXIuaCBpbiBlZ2xpYmMgbWlzc2VzIHNpemVfdCBkZWZpbml0aW9uCisgI2luY2x1 ZGUgPHN0ZGRlZi5oPgorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykgJiYgZGVmaW5lZChf X0dMSUJDX18pCisrLy8gTWFudWFsbHkgZGVmaW5lIGdyZWdfdCBvbiBwcGM2NAorK3R5cGVkZWYg dW5zaWduZWQgbG9uZyBsb25nIGdyZWdfdDsKKyAjZW5kaWYKKyAjZW5kaWYKKyAKK0BAIC0zNDYs NiArMzQ5LDU5IEBAIHN0cnVjdCByZWdzX3N0cnVjdCB7CisgI2RlZmluZSBTRUNDT01QX1BUX1BB Uk00KF9yZWdzKSAoX3JlZ3MpLnJlZ3NbM10KKyAjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTUoX3Jl Z3MpIChfcmVncykucmVnc1s0XQorICNkZWZpbmUgU0VDQ09NUF9QVF9QQVJNNihfcmVncykgKF9y ZWdzKS5yZWdzWzVdCisrCisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyNpbmNsdWRl IDxhc20vcHRyYWNlLmg+CisrCisrdHlwZWRlZiBzdHJ1Y3QgcHRfcmVncyByZWdzX3N0cnVjdDsK KysKKysjaWZkZWYgQVJDSF9DUFVfTElUVExFX0VORElBTgorKyNkZWZpbmUgU0VDQ09NUF9BUkNI IEFVRElUX0FSQ0hfUFBDNjRMRQorKyNlbHNlCisrI2RlZmluZSBTRUNDT01QX0FSQ0ggQVVESVRf QVJDSF9QUEM2NAorKyNlbmRpZgorKworKyNpZmRlZiBfX0dMSUJDX18KKysjZGVmaW5lIFNFQ0NP TVBfUkVHKF9jdHgsIF9yZWcpICgoX2N0eCktPnVjX21jb250ZXh0LnJlZ3MtPmdwcltfcmVnXSkK KysjZWxzZQorKyNkZWZpbmUgU0VDQ09NUF9SRUcoX2N0eCwgX3JlZykgKCgoc3RydWN0IHB0X3Jl Z3MgKikoX2N0eCktPnVjX21jb250ZXh0LnJlZ3MpLT5ncHJbX3JlZ10pCisrI2VuZGlmCisrCisr I2RlZmluZSBTRUNDT01QX1JFU1VMVChfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCAzKQorKyNkZWZp bmUgU0VDQ09NUF9TWVNDQUxMKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDApCisrI2lmZGVmIF9f R0xJQkNfXworKyNkZWZpbmUgU0VDQ09NUF9JUChfY3R4KSAoX2N0eCktPnVjX21jb250ZXh0LnJl Z3MtPm5pcAorKyNlbHNlCisrI2RlZmluZSBTRUNDT01QX0lQKF9jdHgpICgoc3RydWN0IHB0X3Jl Z3MgKikoX2N0eCktPnVjX21jb250ZXh0LnJlZ3MpLT5uaXAKKysjZW5kaWYKKysjZGVmaW5lIFNF Q0NPTVBfUEFSTTEoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgMykKKysjZGVmaW5lIFNFQ0NPTVBf UEFSTTIoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgNCkKKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTMo X2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgNSkKKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTQoX2N0eCkg U0VDQ09NUF9SRUcoX2N0eCwgNikKKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTUoX2N0eCkgU0VDQ09N UF9SRUcoX2N0eCwgNykKKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTYoX2N0eCkgU0VDQ09NUF9SRUco X2N0eCwgOCkKKysKKysjZGVmaW5lIFNFQ0NPTVBfTlJfSURYIChvZmZzZXRvZihzdHJ1Y3QgYXJj aF9zZWNjb21wX2RhdGEsIG5yKSkKKysjZGVmaW5lIFNFQ0NPTVBfQVJDSF9JRFggKG9mZnNldG9m KHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgYXJjaCkpCisrI2RlZmluZSBTRUNDT01QX0lQX01T Ql9JRFggXAorKyAgKG9mZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgaW5zdHJ1Y3Rp b25fcG9pbnRlcikgKyA0KQorKyNkZWZpbmUgU0VDQ09NUF9JUF9MU0JfSURYIFwKKysgIChvZmZz ZXRvZihzdHJ1Y3QgYXJjaF9zZWNjb21wX2RhdGEsIGluc3RydWN0aW9uX3BvaW50ZXIpICsgMCkK KysjZGVmaW5lIFNFQ0NPTVBfQVJHX01TQl9JRFgobnIpIFwKKysgIChvZmZzZXRvZihzdHJ1Y3Qg YXJjaF9zZWNjb21wX2RhdGEsIGFyZ3MpICsgOCAqIChucikgKyA0KQorKyNkZWZpbmUgU0VDQ09N UF9BUkdfTFNCX0lEWChucikgXAorKyAgKG9mZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0 YSwgYXJncykgKyA4ICogKG5yKSArIDApCisrCisrI2RlZmluZSBTRUNDT01QX1BUX1JFU1VMVChf cmVncykgKF9yZWdzKS5ncHJbM10KKysjZGVmaW5lIFNFQ0NPTVBfUFRfU1lTQ0FMTChfcmVncykg KF9yZWdzKS5ncHJbMF0KKysjZGVmaW5lIFNFQ0NPTVBfUFRfSVAoX3JlZ3MpIChfcmVncykubmlw CisrI2RlZmluZSBTRUNDT01QX1BUX1BBUk0xKF9yZWdzKSAoX3JlZ3MpLmdwclszXQorKyNkZWZp bmUgU0VDQ09NUF9QVF9QQVJNMihfcmVncykgKF9yZWdzKS5ncHJbNF0KKysjZGVmaW5lIFNFQ0NP TVBfUFRfUEFSTTMoX3JlZ3MpIChfcmVncykuZ3ByWzVdCisrI2RlZmluZSBTRUNDT01QX1BUX1BB Uk00KF9yZWdzKSAoX3JlZ3MpLmdwcls2XQorKyNkZWZpbmUgU0VDQ09NUF9QVF9QQVJNNShfcmVn cykgKF9yZWdzKS5ncHJbN10KKysjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTYoX3JlZ3MpIChfcmVn cykuZ3ByWzhdCisrCisgI2Vsc2UKKyAjZXJyb3IgVW5zdXBwb3J0ZWQgdGFyZ2V0IHBsYXRmb3Jt CisgCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJw Zi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MKK0BA IC05MSw3ICs5MSw4IEBAIGJvb2wgSXNCYXNlbGluZVBvbGljeVdhdGNoZWQoaW50IHN5c25vKQor ICAgICAgICAgIFN5c2NhbGxTZXRzOjpJc1ByY3RsKHN5c25vKSB8fAorICAgICAgICAgIFN5c2Nh bGxTZXRzOjpJc1Byb2Nlc3NHcm91cE9yU2Vzc2lvbihzeXNubykgfHwKKyAjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgXAorLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVm aW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1J TFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Bv d2VycGM2NF9fKQorICAgICAgICAgIFN5c2NhbGxTZXRzOjpJc1NvY2tldENhbGwoc3lzbm8pIHx8 CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19hcm1fXykKK0BAIC0yNTgsNyArMjU5LDcgQEAgUmVz dWx0RXhwciBFdmFsdWF0ZVN5c2NhbGxJbXBsKGludCBmc19kZQorICAgfQorIAorICNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18p IHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRf XykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgaWYgKHN5c25vID09IF9fTlJfbW1hcCkK KyAgICAgcmV0dXJuIFJlc3RyaWN0TW1hcEZsYWdzKCk7CisgI2VuZGlmCitAQCAtMjc5LDcgKzI4 MCw3IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGUKKyAgICAgcmV0 dXJuIFJlc3RyaWN0UHJjdGwoKTsKKyAKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZp bmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2Fh cmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQorICAgaWYgKHN5c25vID09IF9fTlJfc29ja2V0cGFpcikgeworICAgICAvLyBPbmx5IGFs bG93IEFGX1VOSVgsIFBGX1VOSVguIENyYXNoIGlmIGFueXRoaW5nIGVsc2UgaXMgc2Vlbi4KKyAg ICAgc3RhdGljX2Fzc2VydChBRl9VTklYID09IFBGX1VOSVgsCitAQCAtMzQzLDcgKzM0NCw4IEBA IFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGUKKyAgIH0KKyAKKyAjaWYg ZGVmaW5lZChfX2kzODZfXykgfHwgXAorLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlM WSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKysgICAgKGRlZmluZWQoQVJDSF9DUFVf TUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKKysgICAgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQorICAgaWYgKFN5c2NhbGxTZXRzOjpJc1NvY2tldENhbGwoc3lz bm8pKQorICAgICByZXR1cm4gUmVzdHJpY3RTb2NrZXRjYWxsQ29tbWFuZCgpOworICNlbmRpZgor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVs cGVycy9iYXNlbGluZV9wb2xpY3lfdW5pdHRlc3QuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5X3Vu aXR0ZXN0LmNjCitAQCAtMzE3LDcgKzMxNyw3IEBAIFRFU1RfQkFTRUxJTkVfU0lHU1lTKF9fTlJf c3lzaW5mbykKKyBURVNUX0JBU0VMSU5FX1NJR1NZUyhfX05SX3N5c2xvZykKKyBURVNUX0JBU0VM SU5FX1NJR1NZUyhfX05SX3RpbWVyX2NyZWF0ZSkKKyAKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0 X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9f KQorIFRFU1RfQkFTRUxJTkVfU0lHU1lTKF9fTlJfaW5vdGlmeV9pbml0KQorIFRFU1RfQkFTRUxJ TkVfU0lHU1lTKF9fTlJfdnNlcnZlcikKKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJz X3Jlc3RyaWN0aW9ucy5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGlu dXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNj CitAQCAtNDAsNyArNDAsOCBAQAorICNpbmNsdWRlIDxzeXMvcHRyYWNlLmg+CisgI2lmIChkZWZp bmVkKE9TX0xJTlVYKSB8fCBCVUlMREZMQUcoSVNfQ0hST01FT1NfTEFDUk9TKSkgJiYgXAorICAg ICAhZGVmaW5lZChfX2FybV9fKSAmJiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgICAgICAgICAg IFwKKy0gICAgIWRlZmluZWQoUFRSQUNFX0dFVF9USFJFQURfQVJFQSkKKysgICAgIWRlZmluZWQo UFRSQUNFX0dFVF9USFJFQURfQVJFQSkgJiYJCQkgICAgXAorKyAgICAhZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQorIC8vIEFsc28gaW5jbHVkZSBhc20vcHRyYWNlLWFiaS5oIHNpbmNlIHB0cmFjZS5o IGluIG9sZGVyIGxpYmMgKGZvciBpbnN0YW5jZQorIC8vIHRoZSBvbmUgaW4gVWJ1bnR1IDE2LjA0 IExUUykgaXMgbWlzc2luZyBQVFJBQ0VfR0VUX1RIUkVBRF9BUkVBLgorIC8vIGFzbS9wdHJhY2Ut YWJpLmggZG9lc24ndCBleGlzdCBvbiBhcm0zMiBhbmQgUFRSQUNFX0dFVF9USFJFQURfQVJFQSBp c24ndAorQEAgLTQ5LDYgKzUwLDExIEBACisgI2VuZGlmCisgI2VuZGlmICAvLyAhT1NfTkFDTF9O T05TRkkKKyAKKysvLyBPbiBQUEM2NCwgVENHRVRTIGlzIGRlZmluZWQgaW4gdGVybXMgb2Ygc3Ry dWN0IHRlcm1pb3MsIHNvIHdlIG11c3QgaW5jbHVkZSB0ZXJtaW9zLmgKKysjaWZkZWYgX19wb3dl cnBjNjRfXworKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisrI2VuZGlmCisrCisgI2lmIGRlZmluZWQo T1NfQU5EUk9JRCkKKyAKKyAjaWYgIWRlZmluZWQoRl9EVVBGRF9DTE9FWEVDKQorQEAgLTEwNiw2 ICsxMTIsMTQgQEAgaW5saW5lIGJvb2wgSXNBcmNoaXRlY3R1cmVNaXBzKCkgeworICNlbmRpZgor IH0KKyAKKytpbmxpbmUgYm9vbCBJc0FyY2hpdGVjdHVyZVBQQzY0KCkgeworKyNpZiBkZWZpbmVk KF9fcG93ZXJwYzY0X18pCisrICByZXR1cm4gdHJ1ZTsKKysjZWxzZQorKyAgcmV0dXJuIGZhbHNl OworKyNlbmRpZgorK30KKysKKyAvLyBVYnVudHUncyB2ZXJzaW9uIG9mIGdsaWJjIGhhcyBhIHJh Y2UgY29uZGl0aW9uIGluIHNlbV9wb3N0IHRoYXQgY2FuIGNhdXNlCisgLy8gaXQgdG8gY2FsbCBm dXRleCgyKSB3aXRoIGJvZ3VzIG9wIGFyZ3VtZW50cy4gVG8gd29ya2Fyb3VuZCB0aGlzLCB3ZSBu ZWVkCisgLy8gdG8gYWxsb3cgdGhvc2UgZnV0ZXgoMikgY2FsbHMgdG8gZmFpbCB3aXRoIEVJTlZB TCwgaW5zdGVhZCBvZiBjcmFzaGluZyB0aGUKK0BAIC0yNzAsNiArMjg0LDggQEAgUmVzdWx0RXhw ciBSZXN0cmljdEZjbnRsQ29tbWFuZHMoKSB7CisgICB1aW50NjRfdCBrT0xhcmdlRmlsZUZsYWcg PSBPX0xBUkdFRklMRTsKKyAgIGlmIChJc0FyY2hpdGVjdHVyZVg4Nl82NCgpIHx8IElzQXJjaGl0 ZWN0dXJlSTM4NigpIHx8IElzQXJjaGl0ZWN0dXJlTWlwcygpKQorICAgICBrT0xhcmdlRmlsZUZs YWcgPSAwMTAwMDAwOworKyAgZWxzZSBpZiAoSXNBcmNoaXRlY3R1cmVQUEM2NCgpKQorKyAgICBr T0xhcmdlRmlsZUZsYWcgPSAwMjAwMDAwOworIAorICAgY29uc3QgQXJnPGludD4gY21kKDEpOwor ICAgY29uc3QgQXJnPGxvbmc+IGxvbmdfYXJnKDIpOworQEAgLTI4Nyw3ICszMDMsMTYgQEAgUmVz dWx0RXhwciBSZXN0cmljdEZjbnRsQ29tbWFuZHMoKSB7CisgICAgICAgICAgICAgICBGX1NFVExL VywKKyAgICAgICAgICAgICAgIEZfR0VUTEssCisgICAgICAgICAgICAgICBGX0RVUEZELAorLSAg ICAgICAgICAgICAgRl9EVVBGRF9DTE9FWEVDKSwKKysgICAgICAgICAgICAgIEZfRFVQRkRfQ0xP RVhFQworKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrLy8gT24gUFBDNjQsIEZfU0VUTEss IEZfR0VUTEssIEZfU0VUTEtXIGFyZSBkZWZpbmVkIGFzIHRoZSA2NC1iaXQgdmFyaWFudHMKKysv LyBidXQgZ2xpYmMgd2lsbCBzb21ldGltZXMgc3RpbGwgdXNlIHRoZSAzMi1iaXQgdmVyc2lvbnMu IEFsbG93IGJvdGguCisrICAgICAgICAgICAgICAsCisrICAgICAgICAgICAgICA1LCAvKiBGX0dF VExLICgzMikgKi8KKysgICAgICAgICAgICAgIDYsIC8qIEZfU0VUTEsgKDMyKSAqLworKyAgICAg ICAgICAgICAgNyAgLyogRl9TRVRMS1cgKDMyKSAqLworKyNlbmRpZgorKwkgICAgICksCisgICAg ICAgICAgICAgIEFsbG93KCkpCisgICAgICAgLkNhc2UoRl9TRVRGTCwKKyAgICAgICAgICAgICBJ ZigobG9uZ19hcmcgJiB+a0FsbG93ZWRNYXNrKSA9PSAwLCBBbGxvdygpKS5FbHNlKENyYXNoU0lH U1lTKCkpKQorQEAgLTI5Nyw3ICszMjIsNyBAQCBSZXN1bHRFeHByIFJlc3RyaWN0RmNudGxDb21t YW5kcygpIHsKKyAgIC8vIGNsYW5nLWZvcm1hdCBvbgorIH0KKyAKKy0jaWYgZGVmaW5lZChfX2kz ODZfXykgfHwgZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorIFJlc3VsdEV4cHIgUmVz dHJpY3RTb2NrZXRjYWxsQ29tbWFuZCgpIHsKKyAgIC8vIFVuZm9ydHVuYXRlbHksIHdlIGFyZSB1 bmFibGUgdG8gcmVzdHJpY3QgdGhlIGZpcnN0IHBhcmFtZXRlciB0bworICAgLy8gc29ja2V0cGFp cigyKS4gV2hpbHN0IGluaXRpYWxseSBzb3VuZGluZyBiYWQsIGl0J3Mgbm90ZXdvcnRoeSB0aGF0 IHZlcnkKK0BAIC00NTQsNyArNDc5LDcgQEAgUmVzdWx0RXhwciBSZXN0cmljdFB0cmFjZSgpIHsK KyAjZW5kaWYKKyAgIHJldHVybiBTd2l0Y2gocmVxdWVzdCkKKyAgICAgICAuQ0FTRVMoKAorLSNp ZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgICAgICAgICAgICAgICBQVFJBQ0VfR0VUUkVHUywg UFRSQUNFX0dFVEZQUkVHUywKKyAjaWYgZGVmaW5lZChUUkFDRV9HRVRfVEhSRUFEX0FSRUEpCisg ICAgICAgICAgICAgICAgICBQVFJBQ0VfR0VUX1RIUkVBRF9BUkVBLAorLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3Bh cmFtZXRlcnNfcmVzdHJpY3Rpb25zLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5k Ym94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0 aW9ucy5oCitAQCAtNDksNyArNDksNyBAQCBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRF eHByIFJlc3RyCisgLy8gT19OT05CTE9DSyB8IE9fU1lOQyB8IE9fTEFSR0VGSUxFIHwgT19DTE9F WEVDIHwgT19OT0FUSU1FLgorIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmVz dHJpY3RGY250bENvbW1hbmRzKCk7CisgCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19taXBzX18p IHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAvLyBSZXN0cmljdCBzb2NrZXRjYWxsKDIpIHRv IG9ubHkgYWxsb3cgc29ja2V0cGFpcigyKSwgc2VuZCgyKSwgcmVjdigyKSwKKyAvLyBzZW5kdG8o MiksIHJlY3Zmcm9tKDIpLCBzaHV0ZG93bigyKSwgc2VuZG1zZygyKSBhbmQgcmVjdm1zZygyKS4K KyBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIFJlc3RyaWN0U29ja2V0Y2FsbENv bW1hbmQoKTsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYworQEAg LTI4LDcgKzI4LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNLaWxsKGludCBzeXNubykgeworIGJv b2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdldHRpbWUoaW50IHN5c25vKSB7CisgICBzd2l0Y2gg KHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9nZXR0aW1lb2ZkYXk6CistI2lmIGRlZmluZWQoX19p Mzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4Nl9f KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAor ICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8z Ml9CSVRTKSkKKyAgICAgY2FzZSBfX05SX3RpbWU6CisgI2VuZGlmCitAQCAtNTEsMTIgKzUxLDEy IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdldHRpbWUoaW50IHMKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBmaWx0ZXJlZCBieSBSZXN0cmljdENsb2NrSUQo KS4KKyAgICAgY2FzZSBfX05SX2Nsb2NrX25hbm9zbGVlcF90aW1lNjQ6ICAvLyBQYXJhbWV0ZXJz IGZpbHRlcmVkIGJ5IFJlc3RyaWN0Q2xvY2tJRCgpLgorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9f aTM4Nl9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBj NjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5l ZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05SX2Z0aW1lOiAgLy8gT2Jzb2xldGUu CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9zZXR0aW1lb2ZkYXk6ICAvLyBQcml2aWxlZ2VkLgor LSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRl ZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZB TUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05SX3N0aW1l OgorICNlbmRpZgorQEAgLTEzNSw3ICsxMzUsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZpbGVT eXN0ZW0oaW50IHN5c25vCisgICAgIGNhc2UgX19OUl9mYWNjZXNzYXQ6ICAvLyBFUEVSTSBub3Qg YSB2YWxpZCBlcnJuby4KKyAgICAgY2FzZSBfX05SX2ZjaG1vZGF0OgorICAgICBjYXNlIF9fTlJf ZmNob3duYXQ6ICAvLyBTaG91bGQgYmUgY2FsbGVkIGNob3duYXQgPworLSNpZiBkZWZpbmVkKF9f eDg2XzY0X18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmIGRlZmluZWQoX194ODZfNjRf XykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAg ICBjYXNlIF9fTlJfbmV3ZnN0YXRhdDogIC8vIGZzdGF0YXQoKS4gRVBFUk0gbm90IGEgdmFsaWQg ZXJybm8uCisgI2VsaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBc CisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BV XzMyX0JJVFMpKQorQEAgLTE1NCw3ICsxNTQsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZpbGVT eXN0ZW0oaW50IHN5c25vCisgICAgIGNhc2UgX19OUl9tZW1mZF9jcmVhdGU6CisgICAgIGNhc2Ug X19OUl9ta2RpcmF0OgorICAgICBjYXNlIF9fTlJfbWtub2RhdDoKKy0jaWYgZGVmaW5lZChfX2kz ODZfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQor ICAgICBjYXNlIF9fTlJfb2xkbHN0YXQ6CisgICAgIGNhc2UgX19OUl9vbGRzdGF0OgorICNlbmRp ZgorQEAgLTE2Nyw3ICsxNjcsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZpbGVTeXN0ZW0oaW50 IHN5c25vCisgICAgIGNhc2UgX19OUl9zdGF0NjQ6CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9z dGF0ZnM6ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KKy0jaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRl ZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZp bmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQor ICAgICBjYXNlIF9fTlJfc3RhdGZzNjQ6CisgI2VuZGlmCitAQCAtMTc5LDcgKzE3OSw4IEBAIGJv b2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8KKyAgICAgY2FzZSBfX05SX3Ry dW5jYXRlNjQ6CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl91bmxpbmthdDoKKy0jaWYgZGVmaW5l ZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQor KyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQo X19taXBzX18pIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9f TlJfdXRpbWU6CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl91dGltZW5zYXQ6ICAvLyBOZXcuCitA QCAtMjA0LDcgKzIwNSw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEZpbGVTeXN0ZW1B Y2MKKyAjZW5kaWYKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAvLyBUT0RPKGpsbik6IHRoZXNlIHNo b3VsZCBiZSBkZW5pZWQgZ3JhY2VmdWxseSBhcyB3ZWxsIChtb3ZlZCBiZWxvdykuCistI2lmIGRl ZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNf XykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZp bmVkKF9fbWlwc19fKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2Fz ZSBfX05SX2ZhZHZpc2U2NDogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorICNlbmRpZgor ICNpZiBkZWZpbmVkKF9faTM4Nl9fKQorQEAgLTIxNiwxMiArMjE4LDEyIEBAIGJvb2wgU3lzY2Fs bFNldHM6OklzQWxsb3dlZEZpbGVTeXN0ZW1BY2MKKyAgICAgY2FzZSBfX05SX2ZkYXRhc3luYzog IC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorICAgICBjYXNlIF9fTlJfZmxvY2s6ICAgICAg Ly8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCisgICAgIGNhc2UgX19OUl9mc3RhdGZzOiAgICAv LyBHaXZlIGluZm9ybWF0aW9uIGFib3V0IHRoZSB3aG9sZSBmaWxlc3lzdGVtLgorLSNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2kz ODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwK KyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVf MzJfQklUUykpCisgICAgIGNhc2UgX19OUl9mc3RhdGZzNjQ6CisgI2VuZGlmCisgICAgIGNhc2Ug X19OUl9mc3luYzogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorLSNpZiBkZWZpbmVkKF9f aTM4Nl9fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisgICAgIGNhc2UgX19OUl9vbGRmc3RhdDoKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCitAQCAt MjI5LDYgKzIzMSw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEZpbGVTeXN0ZW1BY2MK KyAgICAgY2FzZSBfX05SX3N5bmNfZmlsZV9yYW5nZTogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVy cm5vLgorICNlbGlmIGRlZmluZWQoX19hcm1fXykKKyAgICAgY2FzZSBfX05SX2FybV9zeW5jX2Zp bGVfcmFuZ2U6ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KKysjZWxpZiBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCisrICAgIGNhc2UgX19OUl9zeW5jX2ZpbGVfcmFuZ2UyOiAvLyBFUEVSTSBu b3QgYSB2YWxpZCBlcnJuby4KKyAjZW5kaWYKKyAgICAgZGVmYXVsdDoKKyAgICAgICByZXR1cm4g ZmFsc2U7CitAQCAtMjQ4LDcgKzI1Miw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRGVuaWVkRmls ZVN5c3RlbUFjY2UKKyAgICAgY2FzZSBfX05SX2dldGRlbnRzOiAgICAvLyBFUEVSTSBub3QgYSB2 YWxpZCBlcnJuby4KKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX2dldGRlbnRzNjQ6ICAvLyBFUEVS TSBub3QgYSB2YWxpZCBlcnJuby4KKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAorKyNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykp CisgICAgIGNhc2UgX19OUl9yZWFkZGlyOgorICNlbmRpZgorQEAgLTI5MCw3ICsyOTQsNyBAQCBi b29sIFN5c2NhbGxTZXRzOjpJc0dldFNpbXBsZUlkKGludCBzeXNuCisgYm9vbCBTeXNjYWxsU2V0 czo6SXNQcm9jZXNzUHJpdmlsZWdlQ2hhbmdlKGludCBzeXNubykgeworICAgc3dpdGNoIChzeXNu bykgeworICAgICBjYXNlIF9fTlJfY2Fwc2V0OgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBk ZWZpbmVkKF9feDg2XzY0X18pCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194 ODZfNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfaW9wZXJt OiAgLy8gSW50ZWwgcHJpdmlsZWdlLgorICAgICBjYXNlIF9fTlJfaW9wbDogICAgLy8gSW50ZWwg cHJpdmlsZWdlLgorICNlbmRpZgorQEAgLTM0MCw3ICszNDQsNyBAQCBib29sIFN5c2NhbGxTZXRz OjpJc0FsbG93ZWRTaWduYWxIYW5kbGluCisgICAgIGNhc2UgX19OUl9ydF9zaWdwcm9jbWFzazoK KyAgICAgY2FzZSBfX05SX3J0X3NpZ3JldHVybjoKKyAgICAgY2FzZSBfX05SX3J0X3NpZ3RpbWVk d2FpdDoKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCisr I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX3Bv d2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBk ZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJfcnRfc2lndGltZWR3YWl0 X3RpbWU2NDoKKyAgICAgY2FzZSBfX05SX3NpZ2FjdGlvbjoKK0BAIC0zNTcsNyArMzYxLDcgQEAg Ym9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkU2lnbmFsSGFuZGxpbgorICAgICBjYXNlIF9fTlJf c2lnbmFsZmQ6CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9zaWduYWxmZDQ6CistI2lmIGRlZmlu ZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAor ICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8z Ml9CSVRTKSkKKyAgICAgY2FzZSBfX05SX3NpZ3BlbmRpbmc6CisgICAgIGNhc2UgX19OUl9zaWdz dXNwZW5kOgorQEAgLTM4Miw3ICszODYsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRP cGVyYXRpb25PbkZkCisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9kdXAzOgorICNpZiBkZWZpbmVk KF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwg XAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8 fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9zaHV0ZG93bjoKKyAjZW5k aWYKKyAgICAgICByZXR1cm4gdHJ1ZTsKK0BAIC00MTYsNyArNDIwLDcgQEAgYm9vbCBTeXNjYWxs U2V0czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0TworICAgICBjYXNlIF9fTlJfbWVtYmFycmllcjoK KyAgICAgY2FzZSBfX05SX3dhaXQ0OgorICAgICBjYXNlIF9fTlJfd2FpdGlkOgorLSNpZiBkZWZp bmVkKF9faTM4Nl9fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJw YzY0X18pCisgICAgIGNhc2UgX19OUl93YWl0cGlkOgorICNlbmRpZgorICNpZiAhZGVmaW5lZChf X0dMSUJDX18pCitAQCAtNDM4LDcgKzQ0Miw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dl ZFByb2Nlc3NTdGFydE8KKyAgICAgY2FzZSBfX05SX3NldF90aWRfYWRkcmVzczoKKyAjZW5kaWYK KyAgICAgY2FzZSBfX05SX3Vuc2hhcmU6CistI2lmICFkZWZpbmVkKF9fbWlwc19fKSAmJiAhZGVm aW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9f YWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl92Zm9y azoKKyAjZW5kaWYKKyAgICAgZGVmYXVsdDoKK0BAIC00OTEsNyArNDk1LDcgQEAgYm9vbCBTeXNj YWxsU2V0czo6SXNBbGxvd2VkR2V0T3JNb2RpZnlTbworICAgICAgIHJldHVybiB0cnVlOworICAg ICBkZWZhdWx0OgorICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykg fHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAg ICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNh c2UgX19OUl9zb2NrZXRwYWlyOiAgLy8gV2Ugd2lsbCB3YW50IHRvIGluc3BlY3QgaXRzIGFyZ3Vt ZW50LgorICNlbmRpZgorICAgICAgIHJldHVybiBmYWxzZTsKK0BAIC01MDEsNyArNTA1LDcgQEAg Ym9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0T3JNb2RpZnlTbworIGJvb2wgU3lzY2FsbFNl dHM6OklzRGVuaWVkR2V0T3JNb2RpZnlTb2NrZXQoaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5 c25vKSB7CisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBk ZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRl ZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBf X05SX2FjY2VwdDoKKyAgICAgY2FzZSBfX05SX2FjY2VwdDQ6CisgICAgIGNhc2UgX19OUl9iaW5k OgorQEAgLTUxNSw3ICs1MTksNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0RlbmllZEdldE9yTW9k aWZ5U29jCisgICB9CisgfQorIAorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCisrI2lmIGRl ZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVm aW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkK KyAvLyBCaWcgbXVsdGlwbGV4aW5nIHN5c3RlbSBjYWxsIGZvciBzb2NrZXRzLgorIGJvb2wgU3lz Y2FsbFNldHM6OklzU29ja2V0Q2FsbChpbnQgc3lzbm8pIHsKK0BAIC01MzAsNyArNTM0LDggQEAg Ym9vbCBTeXNjYWxsU2V0czo6SXNTb2NrZXRDYWxsKGludCBzeXNubworIH0KKyAjZW5kaWYKKyAK Ky0jaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQo X19taXBzX18pCisrI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8 fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyBi b29sIFN5c2NhbGxTZXRzOjpJc05ldHdvcmtTb2NrZXRJbmZvcm1hdGlvbihpbnQgc3lzbm8pIHsK KyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2dldHBlZXJuYW1lOgorQEAgLTU1 OCw3ICs1NjMsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRBZGRyZXNzU3BhY2VBCisg ICAgIGNhc2UgX19OUl9taW5jb3JlOgorICAgICBjYXNlIF9fTlJfbWxvY2thbGw6CisgI2lmIGRl ZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNf XykgfHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2 NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9tbWFwOgorICNl bmRpZgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKK0BA IC01ODksNyArNTk0LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkQWRkcmVzc1NwYWNl QQorIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdlbmVyYWxJbyhpbnQgc3lzbm8pIHsKKyAg IHN3aXRjaCAoc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2xzZWVrOgorLSNpZiBkZWZpbmVkKF9f aTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAg KGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklU UykpCisgICAgIGNhc2UgX19OUl9fbGxzZWVrOgorICNlbmRpZgorQEAgLTYwOSwyNyArNjE0LDI3 IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdlbmVyYWxJbyhpbnQKKyAgICAgY2FzZSBf X05SX3JlYWQ6CisgICAgIGNhc2UgX19OUl9yZWFkdjoKKyAgICAgY2FzZSBfX05SX3ByZWFkNjQ6 CistI2lmIGRlZmluZWQoX19hcm1fXykgfHwgXAorKyNpZiBkZWZpbmVkKF9fYXJtX18pIHx8IGRl ZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZB TUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05SX3JlY3Y6 CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8 fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisrICAg IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2Fz ZSBfX05SX3JlY3Zmcm9tOiAgLy8gQ291bGQgc3BlY2lmeSBzb3VyY2UuCisgICAgIGNhc2UgX19O Ul9yZWN2bXNnOiAgIC8vIENvdWxkIHNwZWNpZnkgc291cmNlLgorICNlbmRpZgorLSNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisrI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAg ICBjYXNlIF9fTlJfc2VsZWN0OgorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBk ZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfX25ld3NlbGVjdDoKKyAjZW5kaWYKKy0jaWYg ZGVmaW5lZChfX2FybV9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChf X3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAm JiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJfc2VuZDoKKyAjZW5k aWYKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmlu ZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5l ZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJf c2VuZG1zZzogIC8vIENvdWxkIHNwZWNpZnkgZGVzdGluYXRpb24uCisgICAgIGNhc2UgX19OUl9z ZW5kdG86ICAgLy8gQ291bGQgc3BlY2lmeSBkZXN0aW5hdGlvbi4KKyAjZW5kaWYKK0BAIC02ODQs NyArNjg5LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkQmFzaWNTY2hlZHVsZQorICAg ICBjYXNlIF9fTlJfbmFub3NsZWVwOgorICAgICAgIHJldHVybiB0cnVlOworICAgICBjYXNlIF9f TlJfZ2V0cHJpb3JpdHk6CistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1f XykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRl ZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZB TUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05SX25pY2U6 CisgI2VuZGlmCitAQCAtNjk2LDcgKzcwMSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dl ZEJhc2ljU2NoZWR1bGUKKyAKKyBib29sIFN5c2NhbGxTZXRzOjpJc0FkbWluT3BlcmF0aW9uKGlu dCBzeXNubykgeworICAgc3dpdGNoIChzeXNubykgeworLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5l ZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmluZWQo QVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisgICAg IGNhc2UgX19OUl9iZGZsdXNoOgorICNlbmRpZgorQEAgLTcxMyw3ICs3MTgsOCBAQCBib29sIFN5 c2NhbGxTZXRzOjpJc0FkbWluT3BlcmF0aW9uKGludCBzCisgCisgYm9vbCBTeXNjYWxsU2V0czo6 SXNLZXJuZWxNb2R1bGUoaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CistI2lmIGRl ZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNf XykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZp bmVkKF9fbWlwc19fKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2Fz ZSBfX05SX2NyZWF0ZV9tb2R1bGU6CisgICAgIGNhc2UgX19OUl9nZXRfa2VybmVsX3N5bXM6ICAv LyBTaG91bGQgRU5PU1lTLgorICAgICBjYXNlIF9fTlJfcXVlcnlfbW9kdWxlOgorQEAgLTc0NSw3 ICs3NTEsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZzQ29udHJvbChpbnQgc3lzbm8pCisgICAg IGNhc2UgX19OUl9xdW90YWN0bDoKKyAgICAgY2FzZSBfX05SX3N3YXBvZmY6CisgICAgIGNhc2Ug X19OUl9zd2Fwb246CistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKKysjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFS Q0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBj YXNlIF9fTlJfdW1vdW50OgorICNlbmRpZgorQEAgLTc2Miw3ICs3NjgsNyBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc051bWEoaW50IHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9nZXRjcHU6CisgICAg IGNhc2UgX19OUl9tYmluZDoKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4 Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0 X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykK KyAgICAgY2FzZSBfX05SX21pZ3JhdGVfcGFnZXM6CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9t b3ZlX3BhZ2VzOgorQEAgLTc5NywxMyArODAzLDEzIEBAIGJvb2wgU3lzY2FsbFNldHM6OklzR2xv YmFsUHJvY2Vzc0Vudmlyb24KKyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2Fj Y3Q6ICAvLyBQcml2aWxlZ2VkLgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9f eDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNo NjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQorICAgICBjYXNlIF9fTlJfZ2V0cmxpbWl0OgorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfdWdl dHJsaW1pdDoKKyAjZW5kaWYKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAorKyNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmlu ZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisg ICAgIGNhc2UgX19OUl91bGltaXQ6CisgI2VuZGlmCitAQCAtODM4LDcgKzg0NCw3IEBAIGJvb2wg U3lzY2FsbFNldHM6OklzR2xvYmFsU3lzdGVtU3RhdHVzKGkKKyAjZW5kaWYKKyAgICAgY2FzZSBf X05SX3N5c2luZm86CisgICAgIGNhc2UgX19OUl91bmFtZToKKy0jaWYgZGVmaW5lZChfX2kzODZf XykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAg ICBjYXNlIF9fTlJfb2xkdW5hbWU6CisgICAgIGNhc2UgX19OUl9vbGRvbGR1bmFtZToKKyAjZW5k aWYKK0BAIC05MDQsOCArOTEwLDE2IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVtVlNlbWFw aG9yZXMoaW4KKyB9CisgI2VuZGlmCisgCisrLyogc2hpdHR5IGhhY2sgYXJvdW5kIFZvaWQncyA0 LjE5IGtlcm5lbCBoZWFkZXJzIG1pc3NpbmcgdGhvc2UgbnVtYmVycyAqLworKyNpZiBkZWZpbmVk KF9fcG93ZXJwYzY0X18pICYmICFkZWZpbmVkKF9fTlJfc2htZ2V0KQorKyNkZWZpbmUgX19OUl9z aG1nZXQgMzk1CisrI2RlZmluZSBfX05SX3NobWN0bCAzOTYKKysjZGVmaW5lIF9fTlJfc2htYXQg Mzk3CisrI2RlZmluZSBfX05SX3NobWR0IDM5OAorKyNlbmRpZgorKworICNpZiBkZWZpbmVkKF9f aTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAor LSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRl ZmluZWQoQVJDSF9DUFVfNjRfQklUUykpCisgLy8gVGhlc2UgZ2l2ZSBhIGxvdCBvZiBhbWJpZW50 IGF1dGhvcml0eSBhbmQgYnlwYXNzIHRoZSBzZXR1aWQgc2FuZGJveC4KKyBib29sIFN5c2NhbGxT ZXRzOjpJc1N5c3RlbVZTaGFyZWRNZW1vcnkoaW50IHN5c25vKSB7CitAQCAtOTM2LDcgKzk1MCw3 IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVtVk1lc3NhZ2VRdWV1ZSgKKyB9CisgI2VuZGlm CisgCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01J UFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorIC8vIEJpZyBzeXN0ZW0g ViBtdWx0aXBsZXhpbmcgc3lzdGVtIGNhbGwuCisgYm9vbCBTeXNjYWxsU2V0czo6SXNTeXN0ZW1W SXBjKGludCBzeXNubykgeworQEAgLTk1Niw3ICs5NzAsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJ c0FueVN5c3RlbVYoaW50IHN5c25vCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZ KSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMpKQorICAgcmV0dXJuIElzU3lzdGVtVk1lc3Nh Z2VRdWV1ZShzeXNubykgfHwgSXNTeXN0ZW1WU2VtYXBob3JlcyhzeXNubykgfHwKKyAgICAgICAg ICBJc1N5c3RlbVZTaGFyZWRNZW1vcnkoc3lzbm8pOworLSNlbGlmIGRlZmluZWQoX19pMzg2X18p IHx8IFwKKysjZWxpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p IHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJD SF9DUFVfMzJfQklUUykpCisgICByZXR1cm4gSXNTeXN0ZW1WSXBjKHN5c25vKTsKKyAjZW5kaWYK K0BAIC0xMDE0LDcgKzEwMjgsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZhTm90aWZ5KGludCBz eXNubykKKyBib29sIFN5c2NhbGxTZXRzOjpJc1RpbWVyKGludCBzeXNubykgeworICAgc3dpdGNo IChzeXNubykgeworICAgICBjYXNlIF9fTlJfZ2V0aXRpbWVyOgorLSNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCisrI2lmIGRl ZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNf XykgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9hbGFy bToKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX3NldGl0aW1lcjoKK0BAIC0xMDk2LDE3ICsxMTEx LDIwIEBAIGJvb2wgU3lzY2FsbFNldHM6OklzTWlzYyhpbnQgc3lzbm8pIHsKKyAgICAgY2FzZSBf X05SX3N5bmNmczoKKyAgICAgY2FzZSBfX05SX3ZoYW5ndXA6CisgLy8gVGhlIHN5c3RlbSBjYWxs cyBiZWxvdyBhcmUgbm90IGltcGxlbWVudGVkLgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBk ZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19p Mzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAor KyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9hZnNfc3lzY2FsbDoK KyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAorLSAgICAoZGVmaW5lZChBUkNI X0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKysgICAgKGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykp IHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfYnJlYWs6 CisgI2VuZGlmCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykg fHwgZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChf X3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dl cnBjNjRfXykKKyAgICAgY2FzZSBfX05SX2dldHBtc2c6CisgI2VuZGlmCistI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZp bmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJfZ3R0eToKKyAgICAgY2FzZSBf X05SX2lkbGU6CitAQCAtMTExNSwyMCArMTEzMywyMSBAQCBib29sIFN5c2NhbGxTZXRzOjpJc01p c2MoaW50IHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9wcm9mOgorICAgICBjYXNlIF9fTlJfcHJv ZmlsOgorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0 X18pIHx8IGRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorKyAgICBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9wdXRwbXNnOgorICNlbmRpZgorICNpZiBkZWZp bmVkKF9feDg2XzY0X18pCisgICAgIGNhc2UgX19OUl9zZWN1cml0eToKKyAjZW5kaWYKKy0jaWYg ZGVmaW5lZChfX2kzODZfXykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkp ICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisgICAgIGNhc2UgX19OUl9zdHR5OgorICNl bmRpZgorLSNpZiBkZWZpbmVkKF9feDg2XzY0X18pCisrI2lmIGRlZmluZWQoX194ODZfNjRfXykg fHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfdHV4Y2FsbDoKKyAjZW5k aWYKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9f KSAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfdnNlcnZlcjoKKyAj ZW5kaWYKKyAgICAgICByZXR1cm4gdHJ1ZTsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9z YW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmgKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lz Y2FsbF9zZXRzLmgKK0BAIC00MywxMyArNDMsMTQgQEAgY2xhc3MgU0FOREJPWF9FWFBPUlQgU3lz Y2FsbFNldHMgeworICAgc3RhdGljIGJvb2wgSXNEZW5pZWRHZXRPck1vZGlmeVNvY2tldChpbnQg c3lzbm8pOworIAorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCistICAgIChkZWZpbmVkKEFS Q0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorKyAgICAo ZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRT KSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAvLyBCaWcgbXVsdGlwbGV4 aW5nIHN5c3RlbSBjYWxsIGZvciBzb2NrZXRzLgorICAgc3RhdGljIGJvb2wgSXNTb2NrZXRDYWxs KGludCBzeXNubyk7CisgI2VuZGlmCisgCisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVm aW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19h YXJjaDY0X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBj NjRfXykKKyAgIHN0YXRpYyBib29sIElzTmV0d29ya1NvY2tldEluZm9ybWF0aW9uKGludCBzeXNu byk7CisgI2VuZGlmCisgCitAQCAtNzcsNyArNzgsNyBAQCBjbGFzcyBTQU5EQk9YX0VYUE9SVCBT eXNjYWxsU2V0cyB7CisgICBzdGF0aWMgYm9vbCBJc1N5c3RlbVZTZW1hcGhvcmVzKGludCBzeXNu byk7CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRf XykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIGRlZmluZWQo X19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5l ZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKSkKKyAg IC8vIFRoZXNlIGdpdmUgYSBsb3Qgb2YgYW1iaWVudCBhdXRob3JpdHkgYW5kIGJ5cGFzcyB0aGUg c2V0dWlkIHNhbmRib3guCisgICBzdGF0aWMgYm9vbCBJc1N5c3RlbVZTaGFyZWRNZW1vcnkoaW50 IHN5c25vKTsKK0BAIC04OSw3ICs5MCw4IEBAIGNsYXNzIFNBTkRCT1hfRVhQT1JUIFN5c2NhbGxT ZXRzIHsKKyAjZW5kaWYKKyAKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAorLSAgICAoZGVm aW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkK KysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVf MzJfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgLy8gQmlnIHN5 c3RlbSBWIG11bHRpcGxleGluZyBzeXN0ZW0gY2FsbC4KKyAgIHN0YXRpYyBib29sIElzU3lzdGVt VklwYyhpbnQgc3lzbm8pOworICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Nh bmRib3gvbGludXgvc2VjY29tcC1icGYvc3lzY2FsbC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvc3lzY2FsbC5jYworQEAgLTE4LDcgKzE4 LDcgQEAgbmFtZXNwYWNlIHNhbmRib3ggeworIG5hbWVzcGFjZSB7CisgCisgI2lmIGRlZmluZWQo QVJDSF9DUFVfWDg2X0ZBTUlMWSkgfHwgZGVmaW5lZChBUkNIX0NQVV9BUk1fRkFNSUxZKSB8fCBc CistICAgIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisrICAgIGRlZmluZWQoQVJDSF9D UFVfTUlQU19GQU1JTFkpIHx8IGRlZmluZWQgKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKyAvLyBO dW1iZXIgdGhhdCdzIG5vdCBjdXJyZW50bHkgdXNlZCBieSBhbnkgTGludXgga2VybmVsIEFCSXMu CisgY29uc3QgaW50IGtJbnZhbGlkU3lzY2FsbE51bWJlciA9IDB4MzUxZDM7CisgI2Vsc2UKK0BA IC0zMTIsMTAgKzMxMiw1NCBAQCBhc20oLy8gV2UgbmVlZCB0byBiZSBhYmxlIHRvIHRlbGwgdGhl IGtlCisgICAgICIyOnJldFxuIgorICAgICAiLmNmaV9lbmRwcm9jXG4iCisgICAgICIuc2l6ZSBT eXNjYWxsQXNtLCAuLVN5c2NhbGxBc21cbiIKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisrICAgICIudGV4dFxuIgorKyAgICAiLmFsaWduIDRcbiIKKysgICAgIi50eXBlIFN5c2NhbGxB c20gQGZ1bmN0aW9uXG4iCisrICAgICJTeXNjYWxsQXNtOlxuIgorKyAgICAiLmNmaV9zdGFydHBy b2NcbiIKKysKKysgICAgLy8gQ2hlY2sgaWYgcjMgaXMgbmVnYXRpdmUKKysgICAgImNtcGRpIDMs IDBcbiIKKysgICAgImJndCAyZlxuIgorKworKyAgICAvLyBMb2FkIGFkZHJlc3Mgb2YgM2YgaW50 byByMyBhbmQgcmV0dXJuCisrICAgICJtZmxyIDEwXG4iCisrICAgICJibCAxZlxuIgorKyAgICAi MTogbWZsciAzXG4iCisrICAgICJtdGxyIDEwXG4iCisrICAgICJhZGRpIDMsIDMsIDQqMTNcbiIK KysgICAgImJsclxuIgorKworKyAgICAvLyBMb2FkIGFyZ3VtZW50cyBmcm9tIGFycmF5IGludG8g cjMtOAorKyAgICAvLyBzYXZlIHBhcmFtIDMgaW4gcjEwCisrICAgICIyOlxuIgorKyAgICAibXIg MCwgM1xuIgorKyAgICAibGQgMywgMCg0KVxuIgorKyAgICAibGQgNSwgMTYoNClcbiIKKysgICAg ImxkIDYsIDI0KDQpXG4iCisrICAgICJsZCA3LCAzMig0KVxuIgorKyAgICAibGQgOCwgNDAoNClc biIKKysgICAgImxkIDQsIDgoNClcbiIKKysgICAgImxpIDksIDBcbiIKKysKKysgICAgLy8gRW50 ZXIga2VybmVsCisrICAgICJzY1xuIgorKworKyAgICAvLyBNYWdpYyByZXR1cm4gYWRkcmVzcwor KyAgICAiMzpcbiIKKysgICAgLy8gTGlrZSBNSVBTLCBwcGM2NCByZXR1cm4gdmFsdWVzIGFyZSBh bHdheXMgcG9zaXRpdmUuCisrICAgIC8vIENoZWNrIGZvciBlcnJvciBpbiBjcjAuU08gYW5kIG5l Z2F0ZSB1cG9uIGVycm9yCisrICAgICJiYyA0LCAzLCA0ZlxuIgorKyAgICAibmVnIDMsIDNcbiIK KysgICAgIjQ6IGJsclxuIgorKworKyAgICAiLmNmaV9lbmRwcm9jXG4iCisrICAgICIuc2l6ZSBT eXNjYWxsQXNtLCAuLVN5c2NhbGxBc21cbiIKKyAjZW5kaWYKKyAgICAgKTsgIC8vIGFzbQorIAor LSNpZiBkZWZpbmVkKF9feDg2XzY0X18pCisrI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQorIGV4dGVybiAiQyIgeworIGludHB0cl90IFN5c2NhbGxBc20o aW50cHRyX3QgbnIsIGNvbnN0IGludHB0cl90IGFyZ3NbNl0pOworIH0KK0BAIC00MjksNiArNDcz LDggQEAgaW50cHRyX3QgU3lzY2FsbDo6Q2FsbChpbnQgbnIsCisgICAgIHJldCA9IGlub3V0Owor ICAgfQorIAorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIGludHB0cl90IHJldCA9 IFN5c2NhbGxBc20obnIsIGFyZ3MpOworICNlbHNlCisgI2Vycm9yICJVbmltcGxlbWVudGVkIGFy Y2hpdGVjdHVyZSIKKyAjZW5kaWYKK0BAIC00NDUsOCArNDkxLDI2IEBAIHZvaWQgU3lzY2FsbDo6 UHV0VmFsdWVJblVjb250ZXh0KGludHB0cl8KKyAgICAgLy8gbmVlZHMgdG8gYmUgY2hhbmdlZCBi YWNrLgorICAgICByZXRfdmFsID0gLXJldF92YWw7CisgICAgIFNFQ0NPTVBfUEFSTTQoY3R4KSA9 IDE7CistICB9IGVsc2UKKysgIH0gZWxzZSB7CisgICAgIFNFQ0NPTVBfUEFSTTQoY3R4KSA9IDA7 CisrICB9CisrI2VuZGlmCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIC8vIFNhbWUg YXMgTUlQUywgbmVlZCB0byBpbnZlcnQgcmV0IGFuZCBzZXQgZXJyb3IgcmVnaXN0ZXIgKGNyMC5T TykKKysgIGlmIChyZXRfdmFsIDw9IC0xICYmIHJldF92YWwgPj0gLTQwOTUpIHsKKysgICAgcmV0 X3ZhbCA9IC1yZXRfdmFsOworKyNpZmRlZiBfX0dMSUJDX18KKysgICAgY3R4LT51Y19tY29udGV4 dC5yZWdzLT5jY3IgfD0gKDEgPDwgMjgpOworKyNlbHNlCisrICAgICgoc3RydWN0IHB0X3JlZ3Mg KiljdHgtPnVjX21jb250ZXh0LnJlZ3MpLT5jY3IgfD0gKDEgPDwgMjgpOworKyNlbmRpZgorKyAg fSBlbHNlIHsKKysjaWZkZWYgX19HTElCQ19fCisrICAgIGN0eC0+dWNfbWNvbnRleHQucmVncy0+ Y2NyICY9IH4oMSA8PCAyOCk7CisrI2Vsc2UKKysgICAgKChzdHJ1Y3QgcHRfcmVncyAqKWN0eC0+ dWNfbWNvbnRleHQucmVncyktPmNjciAmPSB+KDEgPDwgMjgpOworKyNlbmRpZgorKyAgfQorICNl bmRpZgorICAgU0VDQ09NUF9SRVNVTFQoY3R4KSA9IHN0YXRpY19jYXN0PGdyZWdfdD4ocmV0X3Zh bCk7CisgfQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29t cC1icGYvdHJhcC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgv c2VjY29tcC1icGYvdHJhcC5jYworQEAgLTIzNiw2ICsyMzYsMjAgQEAgdm9pZCBUcmFwOjpTaWdT eXMoaW50IG5yLCBMaW51eFNpZ0luZm8qCisgICAgICAgU2V0SXNJblNpZ0hhbmRsZXIoKTsKKyAg ICAgfQorIAorKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAgIC8vIE9uIHBwYzY0K2ds aWJjLCBzb21lIHN5c2NhbGxzIHNlZW0gdG8gYWNjaWRlbnRhbGx5IG5lZ2F0ZSB0aGUgZmlyc3QK KysgICAgLy8gcGFyYW1ldGVyIHdoaWNoIGNhdXNlcyBjaGVja3MgYWdhaW5zdCBpdCB0byBmYWls LiBGb3Igbm93LCBtYW51YWxseQorKyAgICAvLyBuZWdhdGUgdGhlbSBiYWNrLgorKyAgICAvLyBU T0RPKHNoYXduQGFuYXN0YXMuaW8pOiBpbnZlc3RpZ2F0ZSB0aGlzIGlzc3VlIGZ1cnRoZXIKKysg ICAgYXV0byBuciA9IFNFQ0NPTVBfU1lTQ0FMTChjdHgpOworKyAgICBpZiAobnIgPT0gX19OUl9v cGVuYXQgfHwgbnIgPT0gX19OUl9ta2RpcmF0IHx8IG5yID09IF9fTlJfZmFjY2Vzc2F0IHx8IG5y ID09IF9fTlJfcmVhZGxpbmthdCB8fAorKyAgICAgICAgbnIgPT0gX19OUl9yZW5hbWVhdCB8fCBu ciA9PSBfX05SX3JlbmFtZWF0MiB8fCBuciA9PSBfX05SX25ld2ZzdGF0YXQgfHwgbnIgPT0gX19O Ul91bmxpbmthdCkgeworKyAgICAgICAgaWYgKHN0YXRpY19jYXN0PGludD4oU0VDQ09NUF9QQVJN MShjdHgpKSA+IDApIHsKKysgICAgICAgICAgICBTRUNDT01QX1BBUk0xKGN0eCkgPSAtU0VDQ09N UF9QQVJNMShjdHgpOworKyAgICAgICAgfQorKyAgICB9CisrI2VuZGlmCisrCisgICAgIC8vIENv cHkgdGhlIHNlY2NvbXAtc3BlY2lmaWMgZGF0YSBpbnRvIGEgYXJjaF9zZWNjb21wX2RhdGEgc3Ry dWN0dXJlLiBUaGlzCisgICAgIC8vIGlzIHdoYXQgd2UgYXJlIHNob3dpbmcgdG8gVHJhcEZuYyBj YWxsYmFja3MgdGhhdCB0aGUgc3lzdGVtIGNhbGwKKyAgICAgLy8gZXZhbHVhdG9yIHJlZ2lzdGVy ZWQgd2l0aCB0aGUgc2FuZGJveC4KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94 L2xpbnV4L3NlcnZpY2VzL2NyZWRlbnRpYWxzLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vc2FuZGJveC9saW51eC9zZXJ2aWNlcy9jcmVkZW50aWFscy5jYworQEAgLTgxLDcgKzgxLDcg QEAgYm9vbCBDaHJvb3RUb1NhZmVFbXB0eURpcigpIHsKKyAgIHBpZF90IHBpZCA9IC0xOworICAg YWxpZ25hcygxNikgY2hhciBzdGFja19idWZbUFRIUkVBRF9TVEFDS19NSU5dOworICNpZiBkZWZp bmVkKEFSQ0hfQ1BVX1g4Nl9GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNX0ZBTUlMWSkg fHwgXAorLSAgICBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorKyAgICBkZWZpbmVkKEFS Q0hfQ1BVX01JUFNfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKyAg IC8vIFRoZSBzdGFjayBncm93cyBkb3dud2FyZC4KKyAgIHZvaWQqIHN0YWNrID0gc3RhY2tfYnVm ICsgc2l6ZW9mKHN0YWNrX2J1Zik7CisgI2Vsc2UKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MKKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMu Y2MKK0BAIC02MSw3ICs2MSw3IEBAIGxvbmcgc3lzX2Nsb25lKHVuc2lnbmVkIGxvbmcgZmxhZ3Ms CisgI2lmIGRlZmluZWQoQVJDSF9DUFVfWDg2XzY0KQorICAgcmV0dXJuIHN5c2NhbGwoX19OUl9j bG9uZSwgZmxhZ3MsIGNoaWxkX3N0YWNrLCBwdGlkLCBjdGlkLCB0bHMpOworICNlbGlmIGRlZmlu ZWQoQVJDSF9DUFVfWDg2KSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTV9GQU1JTFkpIHx8IFwKKy0g ICAgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKysgICAgZGVmaW5lZChBUkNIX0NQVV9N SVBTX0ZBTUlMWSkgfHwgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisgICAvLyBDT05G SUdfQ0xPTkVfQkFDS1dBUkRTIGRlZmluZWQuCisgICByZXR1cm4gc3lzY2FsbChfX05SX2Nsb25l LCBmbGFncywgY2hpbGRfc3RhY2ssIHB0aWQsIHRscywgY3RpZCk7CisgI2VuZGlmCistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJf cHJvY2Vzcy5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lz Y2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3MuY2MKK0BAIC0xNjUsNyArMTY1LDcgQEAgYm9vbCBC cm9rZXJQcm9jZXNzOjpJc1N5c2NhbGxCcm9rZXJhYmxlKAorICNpZiBkZWZpbmVkKF9fTlJfZnN0 YXRhdDY0KQorICAgICBjYXNlIF9fTlJfZnN0YXRhdDY0OgorICNlbmRpZgorLSNpZiBkZWZpbmVk KF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmIGRlZmluZWQoX194ODZf NjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQor ICAgICBjYXNlIF9fTlJfbmV3ZnN0YXRhdDoKKyAjZW5kaWYKKyAgICAgICByZXR1cm4gIWZhc3Rf Y2hlY2sgfHwgYWxsb3dlZF9jb21tYW5kX3NldF8udGVzdChDT01NQU5EX1NUQVQpOworLS0tIGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhf c2VjY29tcC5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9saW51eF9zZWNjb21wLmgKK0BAIC00MSw2ICs0MSw5IEBACisgI2lmbmRlZiBF TV9BQVJDSDY0CisgI2RlZmluZSBFTV9BQVJDSDY0IDE4MworICNlbmRpZgorKyNpZm5kZWYgRU1f UFBDNjQKKysjZGVmaW5lIEVNX1BQQzY0IDIxCisrI2VuZGlmCisgCisgI2lmbmRlZiBfX0FVRElU X0FSQ0hfNjRCSVQKKyAjZGVmaW5lIF9fQVVESVRfQVJDSF82NEJJVCAweDgwMDAwMDAwCitAQCAt NzQsNiArNzcsMTQgQEAKKyAjZGVmaW5lIEFVRElUX0FSQ0hfQUFSQ0g2NCAoRU1fQUFSQ0g2NCB8 IF9fQVVESVRfQVJDSF82NEJJVCB8IF9fQVVESVRfQVJDSF9MRSkKKyAjZW5kaWYKKyAKKysjaWZu ZGVmIEFVRElUX0FSQ0hfUFBDNjQKKysjZGVmaW5lIEFVRElUX0FSQ0hfUFBDNjQgKEVNX1BQQzY0 IHwgX19BVURJVF9BUkNIXzY0QklUKQorKyNlbmRpZgorKworKyNpZm5kZWYgQVVESVRfQVJDSF9Q UEM2NExFCisrI2RlZmluZSBBVURJVF9BUkNIX1BQQzY0TEUgKEVNX1BQQzY0IHwgX19BVURJVF9B UkNIXzY0QklUIHwgX19BVURJVF9BUkNIX0xFKQorKyNlbmRpZgorKworIC8vIEZvciBwcmN0bC5o CisgI2lmbmRlZiBQUl9TRVRfU0VDQ09NUAorICNkZWZpbmUgUFJfU0VUX1NFQ0NPTVAgICAgICAg ICAgICAgICAyMgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lz dGVtX2hlYWRlcnMvbGludXhfc2lnbmFsLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9z YW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NpZ25hbC5oCitAQCAtMTMsNyArMTMs NyBAQAorIC8vIChub3QgdW5kZWZpbmVkLCBidXQgZGVmaW5lZCBkaWZmZXJlbnQgdmFsdWVzIGFu ZCBpbiBkaWZmZXJlbnQgbWVtb3J5CisgLy8gbGF5b3V0cykuIFNvLCBmaWxsIHRoZSBnYXAgaGVy ZS4KKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZp bmVkKF9fYXJtX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5l ZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorIAorICNkZWZpbmUgTElO VVhfU0lHSFVQIDEKKyAjZGVmaW5lIExJTlVYX1NJR0lOVCAyCistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zeXNjYWxscy5oCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9s aW51eF9zeXNjYWxscy5oCitAQCAtMzUsNSArMzUsOSBAQAorICNpbmNsdWRlICJzYW5kYm94L2xp bnV4L3N5c3RlbV9oZWFkZXJzL2FybTY0X2xpbnV4X3N5c2NhbGxzLmgiCisgI2VuZGlmCisgCisr I2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9wcGM2NF9saW51eF9zeXNjYWxscy5oIgorKyNlbmRpZgorKworICNlbmRpZiAg Ly8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19MSU5VWF9TWVNDQUxMU19IXworIAorLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGlu dXhfdWNvbnRleHQuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgv c3lzdGVtX2hlYWRlcnMvbGludXhfdWNvbnRleHQuaAorQEAgLTExLDYgKzExLDggQEAKKyAjaW5j bHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm1fbGludXhfdWNvbnRleHQuaCIK KyAjZWxpZiBkZWZpbmVkKF9faTM4Nl9fKQorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3Rl bV9oZWFkZXJzL2kzODZfbGludXhfdWNvbnRleHQuaCIKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJw YzY0X18pCisrI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvcHBjNjRfbGlu dXhfdWNvbnRleHQuaCIKKyAjZWxzZQorICNlcnJvciAiTm8gc3VwcG9ydCBmb3IgeW91ciBhcmNo aXRlY3R1cmUgaW4gUE5hQ2wgaGVhZGVyIgorICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVu ZGVyZXJfcG9saWN5X2xpbnV4LmNjCitAQCAtMTUsNiArMTUsMTEgQEAKKyAjaW5jbHVkZSAic2Fu ZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zeXNjYWxscy5oIgorICNpbmNsdWRlICJz YW5kYm94L3BvbGljeS9saW51eC9zYW5kYm94X2xpbnV4LmgiCisgCisrLy8gT24gUFBDNjQsIFRD R0VUUyBpcyBkZWZpbmVkIGluIHRlcm1zIG9mIHN0cnVjdCB0ZXJtaW9zLCBzbyB3ZSBtdXN0IGlu Y2x1ZGUgdGVybWlvcy5oCisrI2lmZGVmIF9fcG93ZXJwYzY0X18KKysjaW5jbHVkZSA8dGVybWlv cy5oPgorKyNlbmRpZgorKworIC8vIFRPRE8odmlnbmF0dGkpOiByZXBsYWNlIHRoZSBsb2NhbCBk ZWZpbml0aW9ucyBiZWxvdyB3aXRoICNpbmNsdWRlCisgLy8gPGxpbnV4L2RtYS1idWYuaD4gb25j ZSBrZXJuZWwgdmVyc2lvbiA0LjYgYmVjb21lcyB3aWRlbHkgdXNlZC4KKyAjaW5jbHVkZSA8bGlu dXgvdHlwZXMuaD4KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9hbmds ZS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9JbmZvU2luay5oCisrKysgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvSW5mb1Np bmsuaAorQEAgLTkzLDcgKzkzLDE2IEBAIGNsYXNzIFRJbmZvU2lua0Jhc2UKKyAgICAgICAgICAg ICBzdHJlYW0ucHJlY2lzaW9uKDgpOworICAgICAgICAgICAgIHN0cmVhbSA8PCBmOworICAgICAg ICAgfQorLSAgICAgICAgc2luay5hcHBlbmQoc3RyZWFtLnN0cigpKTsKKysKKysgICAgICAgIC8v IEhhY2sgdG8gd29yayBhcm91bmQgYSBidWcgd2hlcmUgbmVnYXRpdmUgZmxvYXRpbmcgcG9pbnQg dmFsdWVzCisrICAgICAgICAvLyBhcmUgcmVuZGVyZWQgbGlrZSAnLjAuNScgaW5zdGVhZCBvZiAn LTAuNScKKysgICAgICAgIHN0ZDo6c3RyaW5nIHJlcyhzdHJlYW0uc3RyKCkpOworKworKyAgICAg ICAgaWYgKHNpZ25iaXQoZikpIHsgLy8gdGVzdCBpZiBmIGlzIG5lZ2F0aXZlCisrICAgICAgICAg ICAgcmVzWzBdID0gJy0nOworKyAgICAgICAgfQorKworKyAgICAgICAgc2luay5hcHBlbmQocmVz KTsKKyAgICAgICAgIHJldHVybiAqdGhpczsKKyAgICAgfQorICAgICAvLyBXcml0ZSBib29sZWFu IHZhbHVlcyBhcyB0aGVpciBuYW1lcyBpbnN0ZWFkIG9mIGludGVncmFsIHZhbHVlLgorLS0tIGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2FuZ2xlL3NyYy9saWJBTkdMRS9Db25z dGFudHMuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2FuZ2xlL3Ny Yy9saWJBTkdMRS9Db25zdGFudHMuaAorQEAgLTksNiArOSw3IEBACisgI2lmbmRlZiBMSUJBTkdM RV9DT05TVEFOVFNfSF8KKyAjZGVmaW5lIExJQkFOR0xFX0NPTlNUQU5UU19IXworIAorKyNpbmNs dWRlIDxjc3RkZGVmPgorICNpbmNsdWRlICJjb21tb24vcGxhdGZvcm0uaCIKKyAKKyAjaW5jbHVk ZSA8c3RkaW50Lmg+CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYm9y aW5nc3NsL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv Ym9yaW5nc3NsL0JVSUxELmduCitAQCAtOTksNiArOTksMTMgQEAgaWYgKGlzX3dpbiAmJiAhaXNf bXNhbiAmJiBjdXJyZW50X2NwdSAhPQorICAgICAgIH0gZWxzZSB7CisgICAgICAgICBwdWJsaWNf Y29uZmlncyA9IFsgIjpub19hc21fY29uZmlnIiBdCisgICAgICAgfQorKyAgICB9IGVsc2UgaWYg KGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpIHsKKysgICAgICBpZiAoaXNfbGludXgpIHsKKysgICAg ICAgICMgVE9ETzogcHBjNjQgKGJlKSBjaGVjaworKyAgICAgICAgc291cmNlcyArPSBjcnlwdG9f c291cmNlc19saW51eF9wcGM2NGxlCisrICAgICAgfSBlbHNlIHsKKysgICAgICAgIHB1YmxpY19j b25maWdzID0gWyAiOm5vX2FzbV9jb25maWciIF0KKysgICAgICB9CisgICAgIH0gZWxzZSB7Cisg ICAgICAgcHVibGljX2NvbmZpZ3MgPSBbICI6bm9fYXNtX2NvbmZpZyIgXQorICAgICB9CistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvQlVJTEQuZ24KKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9CVUlMRC5nbgor QEAgLTYyMyw3ICs2MjMsNiBAQCBpZiAoaXNfbGludXggfHwgaXNfY2hyb21lb3MgfHwgaXNfYW5k cm9pCisgICAgICAgImJyZWFrcGFkL3NyYy9jbGllbnQvbWluaWR1bXBfZmlsZV93cml0ZXIuaCIs CisgICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vY29udmVydF9VVEYuY2MiLAorICAgICAgICJi cmVha3BhZC9zcmMvY29tbW9uL2NvbnZlcnRfVVRGLmgiLAorLSAgICAgICJicmVha3BhZC9zcmMv Y29tbW9uL2xpbnV4L2JyZWFrcGFkX2dldGNvbnRleHQuUyIsCisgICAgICAgImJyZWFrcGFkL3Ny Yy9jb21tb24vbGludXgvZWxmX2NvcmVfZHVtcC5jYyIsCisgICAgICAgImJyZWFrcGFkL3NyYy9j b21tb24vbGludXgvZWxmX2NvcmVfZHVtcC5oIiwKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1v bi9saW51eC9lbGZ1dGlscy5jYyIsCitAQCAtNjYzLDYgKzY2MiwxNSBAQCBpZiAoaXNfbGludXgg fHwgaXNfY2hyb21lb3MgfHwgaXNfYW5kcm9pCisgCisgICAgIGxpYnMgPSBbICJkbCIgXQorIAor KyAgICBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0IikgeworKyAgICAgICAgZGVmaW5lcyA9IFsg IkhBVkVfR0VUQ09OVEVYVCIgXQorKyAgICAgICAgbGlicyArPSBbICJ1Y29udGV4dCIgXQorKyAg ICB9IGVsc2UgeworKyAgICAgICAgc291cmNlcyArPSBbCisrICAgICAgICAgICAgImJyZWFrcGFk L3NyYy9jb21tb24vbGludXgvYnJlYWtwYWRfZ2V0Y29udGV4dC5TIgorKyAgICAgICAgXQorKyAg ICB9CisrCisgICAgIGluY2x1ZGVfZGlycyA9IFsKKyAgICAgICAiLiIsCisgICAgICAgImJyZWFr cGFkL3NyYyIsCitAQCAtNzEyLDcgKzcyMCw2IEBAIGlmIChpc19saW51eCB8fCBpc19jaHJvbWVv cyB8fCBpc19hbmRyb2kKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVt cF93cml0ZXIvbWluaWR1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjIiwKKyAgICAgICAiYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyX3VuaXR0ZXN0 X3V0aWxzLmNjIiwKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93 cml0ZXIvcHJvY19jcHVpbmZvX3JlYWRlcl91bml0dGVzdC5jYyIsCistICAgICAgImJyZWFrcGFk L3NyYy9jb21tb24vbGludXgvYnJlYWtwYWRfZ2V0Y29udGV4dF91bml0dGVzdC5jYyIsCisgICAg ICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZWxmX2NvcmVfZHVtcF91bml0dGVzdC5jYyIs CisgICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZmlsZV9pZF91bml0dGVzdC5jYyIs CisgICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbGludXhfbGliY19zdXBwb3J0X3Vu aXR0ZXN0LmNjIiwKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi9yYXdfY29u dGV4dF9jcHUuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Jhd19jb250 ZXh0X2NwdS5oCitAQCAtNDQsNiArNDQsOCBAQCB0eXBlZGVmIE1EUmF3Q29udGV4dEFSTSBSYXdD b250ZXh0Q1BVOworIHR5cGVkZWYgTURSYXdDb250ZXh0QVJNNjRfT2xkIFJhd0NvbnRleHRDUFU7 CisgI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKyB0eXBlZGVmIE1EUmF3Q29udGV4dE1JUFMgUmF3 Q29udGV4dENQVTsKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrdHlwZWRlZiBNRFJh d0NvbnRleHRQUEM2NCBSYXdDb250ZXh0Q1BVOworICNlbHNlCisgI2Vycm9yICJUaGlzIGNvZGUg aGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCisgI2VuZGlmCistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uY2MKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5jYworQEAgLTI3MCw3ICsy NzAsNTQgQEAgdm9pZCBUaHJlYWRJbmZvOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZQorICAgb3V0 LT5mbG9hdF9zYXZlLmZpciA9IG1jb250ZXh0LmZwY19laXI7CisgI2VuZGlmCisgfQorLSNlbmRp ZiAgLy8gX19taXBzX18KKysKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrCisrI2lm ICFkZWZpbmVkKF9fR0xJQkNfXykKKysjaW5jbHVkZSA8YXNtL2VsZi5oPgorKyNpbmNsdWRlIDxh c20vcHRyYWNlLmg+CisrI2VuZGlmCisrCisrdWludHB0cl90IFRocmVhZEluZm86OkdldEluc3Ry dWN0aW9uUG9pbnRlcigpIGNvbnN0IHsKKysgICAgcmV0dXJuIG1jb250ZXh0LmdwX3JlZ3NbUFRf TklQXTsKKyt9CisrCisrdm9pZCBUaHJlYWRJbmZvOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0 Q1BVKiBvdXQpIGNvbnN0IHsKKysgICAgb3V0LT5jb250ZXh0X2ZsYWdzID0gTURfQ09OVEVYVF9Q UEM2NF9GVUxMOworKyAgICBmb3IgKGludCBpID0gMDsgaSA8IE1EX0NPTlRFWFRfUFBDNjRfR1BS X0NPVU5UOyBpKyspCisrICAgICAgICBvdXQtPmdwcltpXSA9IG1jb250ZXh0LmdwX3JlZ3NbaV07 CisrCisrICAgIG91dC0+bHIgPSBtY29udGV4dC5ncF9yZWdzW1BUX0xOS107CisrICAgIG91dC0+ c3JyMCA9IG1jb250ZXh0LmdwX3JlZ3NbUFRfTklQXTsKKysgICAgb3V0LT5zcnIxID0gbWNvbnRl eHQuZ3BfcmVnc1tQVF9NU1JdOworKyAgICBvdXQtPmNyID0gbWNvbnRleHQuZ3BfcmVnc1tQVF9D Q1JdOworKyAgICBvdXQtPnhlciA9IG1jb250ZXh0LmdwX3JlZ3NbUFRfWEVSXTsKKysgICAgb3V0 LT5jdHIgPSBtY29udGV4dC5ncF9yZWdzW1BUX0NUUl07CisrCisrI2lmZGVmIF9fR0xJQkNfXwor KyAgICBmb3IgKGludCBpID0gMDsgaSA8IE1EX0ZMT0FUSU5HU0FWRUFSRUFfUFBDX0ZQUl9DT1VO VDsgaSsrKQorKyAgICAgICAgb3V0LT5mbG9hdF9zYXZlLmZwcmVnc1tpXSA9IG1jb250ZXh0LmZw X3JlZ3NbaV07CisrCisrICAgIG91dC0+ZmxvYXRfc2F2ZS5mcHNjciA9IG1jb250ZXh0LmZwX3Jl Z3NbTkZQUkVHLTFdOworKyNlbHNlCisrICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfRkxPQVRJ TkdTQVZFQVJFQV9QUENfRlBSX0NPVU5UOyBpKyspCisrICAgICAgICBvdXQtPmZsb2F0X3NhdmUu ZnByZWdzW2ldID0gKCh1aW50NjRfdCAqKSZtY29udGV4dC5mcF9yZWdzKVtpXTsKKysKKysgICAg IG91dC0+ZmxvYXRfc2F2ZS5mcHNjciA9ICgodWludDY0X3QgKikmbWNvbnRleHQuZnBfcmVncylb RUxGX05GUFJFRy0xXTsKKysjZW5kaWYKKysKKysgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9W RUNUT1JTQVZFQVJFQV9QUENfVlJfQ09VTlQ7IGkrKykKKysgICAgICAgIG91dC0+dmVjdG9yX3Nh dmUuc2F2ZV92cltpXSA9IFwKKysgICAgICAgICAgICB7KCgodWludDY0X3QpdnJlZ3MudnJyZWdz W2ldWzBdKSA8PCAzMikKKysgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdnJlZ3MudnJyZWdz W2ldWzFdLAorKyAgICAgICAgICAgICgoKHVpbnQ2NF90KXZyZWdzLnZycmVnc1tpXVsyXSkgPDwg MzIpCisrICAgICAgICAgICAgICAgICAgICAgICAgIHwgdnJlZ3MudnJyZWdzW2ldWzNdfTsKKysK KysgICAgb3V0LT52cnNhdmUgPSB2cmVncy52cnNhdmU7CisrICAgIG91dC0+dmVjdG9yX3NhdmUu c2F2ZV92c2NyID0gezAsIHZyZWdzLnZzY3IudnNjcl93b3JkfTsKKysgICAgb3V0LT52ZWN0b3Jf c2F2ZS5zYXZlX3ZydmFsaWQgPSAweEZGRkZGRkZGOworK30KKysjZW5kaWYgIC8vIF9fcG93ZXJw YzY0X18KKyAKKyB2b2lkIFRocmVhZEluZm86OkdldEdlbmVyYWxQdXJwb3NlUmVnaXN0ZXJzKHZv aWQqKiBncF9yZWdzLCBzaXplX3QqIHNpemUpIHsKKyAgIGFzc2VydChncF9yZWdzIHx8IHNpemUp OworQEAgLTI3OSw2ICszMjYsMTEgQEAgdm9pZCBUaHJlYWRJbmZvOjpHZXRHZW5lcmFsUHVycG9z ZVJlZ2lzdAorICAgICAqZ3BfcmVncyA9IG1jb250ZXh0LmdyZWdzOworICAgaWYgKHNpemUpCisg ICAgICpzaXplID0gc2l6ZW9mKG1jb250ZXh0LmdyZWdzKTsKKysjZWxpZiBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCisrICBpZiAoZ3BfcmVncykKKysgICAgKmdwX3JlZ3MgPSBtY29udGV4dC5ncF9y ZWdzOworKyAgaWYgKHNpemUpCisrICAgICpzaXplID0gc2l6ZW9mKG1jb250ZXh0LmdwX3JlZ3Mp OworICNlbHNlCisgICBpZiAoZ3BfcmVncykKKyAgICAgKmdwX3JlZ3MgPSAmcmVnczsKK0BAIC0y OTQsNiArMzQ2LDExIEBAIHZvaWQgVGhyZWFkSW5mbzo6R2V0RmxvYXRpbmdQb2ludFJlZ2lzdGUK KyAgICAgKmZwX3JlZ3MgPSAmbWNvbnRleHQuZnByZWdzOworICAgaWYgKHNpemUpCisgICAgICpz aXplID0gc2l6ZW9mKG1jb250ZXh0LmZwcmVncyk7CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQorKyAgaWYgKGZwX3JlZ3MpCisrICAgICpmcF9yZWdzID0gJm1jb250ZXh0LmZwX3JlZ3M7 CisrICBpZiAoc2l6ZSkKKysgICAgKnNpemUgPSBzaXplb2YobWNvbnRleHQuZnBfcmVncyk7Cisg I2Vsc2UKKyAgIGlmIChmcF9yZWdzKQorICAgICAqZnBfcmVncyA9ICZmcHJlZ3M7CitAQCAtMzAy LDQgKzM1OSwxMyBAQCB2b2lkIFRocmVhZEluZm86OkdldEZsb2F0aW5nUG9pbnRSZWdpc3RlCisg I2VuZGlmCisgfQorIAorKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrdm9pZCBUaHJlYWRJ bmZvOjpHZXRWZWN0b3JSZWdpc3RlcnModm9pZCoqIHZfcmVncywgc2l6ZV90KiBzaXplKSB7Cisr ICAgIGlmICh2X3JlZ3MpCisrICAgICAgICAqdl9yZWdzID0gJnZyZWdzOworKyAgICBpZiAoc2l6 ZSkKKysgICAgICAgICpzaXplID0gc2l6ZW9mKHZyZWdzKTsKKyt9CisrI2VuZGlmCisrCisgfSAg Ly8gbmFtZXNwYWNlIGdvb2dsZV9icmVha3BhZAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0 ZXJfY29tbW9uL3RocmVhZF9pbmZvLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2Nv bW1vbi90aHJlYWRfaW5mby5oCitAQCAtNjgsNiArNjgsMTAgQEAgc3RydWN0IFRocmVhZEluZm8g eworICAgLy8gVXNlIHRoZSBzdHJ1Y3R1cmVzIGRlZmluZWQgaW4gPHN5cy91c2VyLmg+CisgICBz dHJ1Y3QgdXNlcl9yZWdzX3N0cnVjdCByZWdzOworICAgc3RydWN0IHVzZXJfZnBzaW1kX3N0cnVj dCBmcHJlZ3M7CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgLy8gVXNlIHRoZSBz dHJ1Y3R1cmVzIGRlZmluZWQgaW4gPHN5cy91Y29udGV4dC5oPi4KKysgIG1jb250ZXh0X3QgbWNv bnRleHQ7CisrICB2cnJlZ3NldF90IHZyZWdzOworICNlbGlmIGRlZmluZWQoX19taXBzX18pCisg ICAvLyBVc2UgdGhlIHN0cnVjdHVyZSBkZWZpbmVkIGluIDxzeXMvdWNvbnRleHQuaD4uCisgICBt Y29udGV4dF90IG1jb250ZXh0OworQEAgLTg0LDYgKzg4LDExIEBAIHN0cnVjdCBUaHJlYWRJbmZv IHsKKyAKKyAgIC8vIFJldHVybnMgdGhlIHBvaW50ZXIgYW5kIHNpemUgb2YgZmxvYXQgcG9pbnQg cmVnaXN0ZXIgYXJlYS4KKyAgIHZvaWQgR2V0RmxvYXRpbmdQb2ludFJlZ2lzdGVycyh2b2lkKiog ZnBfcmVncywgc2l6ZV90KiBzaXplKTsKKysKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQor KyAgLy8gUmV0dXJucyB0aGUgcG9pbnRlciBhbmQgc2l6ZSBvZiB0aGUgdmVjdG9yIHJlZ2lzdGVy IGFyZWEuIChQUEM2NCBvbmx5KQorKyAgdm9pZCBHZXRWZWN0b3JSZWdpc3RlcnModm9pZCoqIHZf cmVncywgc2l6ZV90KiBzaXplKTsKKysjZW5kaWYKKyB9OworIAorIH0gIC8vIG5hbWVzcGFjZSBn b29nbGVfYnJlYWtwYWQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29u dGV4dF9yZWFkZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29u dGV4dF9yZWFkZXIuY2MKK0BAIC0yNTQsNiArMjU0LDYwIEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6 OkZpbGxDUFVDb250ZXh0KFJhd0MKKyAgIG91dC0+ZmxvYXRfc2F2ZS5maXIgPSB1Yy0+dWNfbWNv bnRleHQuZnBjX2VpcjsgIC8vIFVudXNlZC4KKyAjZW5kaWYKKyB9CisrCisrI2VsaWYgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQorKworKyNpZm5kZWYgX19HTElCQ19fCisrI2luY2x1ZGUgPGFzbS9l bGYuaD4KKysjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgorKyNlbmRpZgorKworK3VpbnRwdHJfdCBV Q29udGV4dFJlYWRlcjo6R2V0U3RhY2tQb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7Cisr ICAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1tNRF9DT05URVhUX1BQQzY0X1JFR19T UF07CisrfQorKworK3VpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0SW5zdHJ1Y3Rpb25Qb2lu dGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7CisrICAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQu Z3BfcmVnc1tQVF9OSVBdOworK30KKysKKyt2b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29u dGV4dChSYXdDb250ZXh0Q1BVKiBvdXQsIGNvbnN0IHVjb250ZXh0X3QqIHVjLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZycmVnc2V0X3QqIHZyZWdzKSB7Cisr ICAgIG91dC0+Y29udGV4dF9mbGFncyA9IE1EX0NPTlRFWFRfUFBDNjRfRlVMTDsKKysKKysgICAg Zm9yIChpbnQgaSA9IDA7IGkgPCBNRF9DT05URVhUX1BQQzY0X0dQUl9DT1VOVDsgaSsrKQorKyAg ICAgICAgb3V0LT5ncHJbaV0gPSB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1tpXTsKKysKKysgICAg b3V0LT5sciA9IHVjLT51Y19tY29udGV4dC5ncF9yZWdzW1BUX0xOS107CisrICAgIG91dC0+c3Jy MCA9IHVjLT51Y19tY29udGV4dC5ncF9yZWdzW1BUX05JUF07CisrICAgIG91dC0+c3JyMSA9IHVj LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX01TUl07CisrICAgIG91dC0+Y3IgPSB1Yy0+dWNfbWNv bnRleHQuZ3BfcmVnc1tQVF9DQ1JdOworKyAgICBvdXQtPnhlciA9IHVjLT51Y19tY29udGV4dC5n cF9yZWdzW1BUX1hFUl07CisrICAgIG91dC0+Y3RyID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3Nb UFRfQ1RSXTsKKysKKysjaWZkZWYgX19HTElCQ19fCisrICAgIGZvciAoaW50IGkgPSAwOyBpIDwg TURfRkxPQVRJTkdTQVZFQVJFQV9QUENfRlBSX0NPVU5UOyBpKyspCisrICAgICAgICBvdXQtPmZs b2F0X3NhdmUuZnByZWdzW2ldID0gdWMtPnVjX21jb250ZXh0LmZwX3JlZ3NbaV07CisrCisrICAg IG91dC0+ZmxvYXRfc2F2ZS5mcHNjciA9IHVjLT51Y19tY29udGV4dC5mcF9yZWdzW05GUFJFRy0x XTsKKysjZWxzZQorKyAgICBmb3IgKGludCBpID0gMDsgaSA8IE1EX0ZMT0FUSU5HU0FWRUFSRUFf UFBDX0ZQUl9DT1VOVDsgaSsrKQorKyAgICAgICAgb3V0LT5mbG9hdF9zYXZlLmZwcmVnc1tpXSA9 ICgodWludDY0X3QgKikmdWMtPnVjX21jb250ZXh0LmZwX3JlZ3MpW2ldOworKworKyAgICBvdXQt PmZsb2F0X3NhdmUuZnBzY3IgPSAoKHVpbnQ2NF90ICopJnVjLT51Y19tY29udGV4dC5mcF9yZWdz KVtFTEZfTkZQUkVHLTFdOworKyNlbmRpZgorKworKyAgICBmb3IgKGludCBpID0gMDsgaSA8IE1E X1ZFQ1RPUlNBVkVBUkVBX1BQQ19WUl9DT1VOVDsgaSsrKQorKyAgICAgICAgb3V0LT52ZWN0b3Jf c2F2ZS5zYXZlX3ZyW2ldID0KKysgICAgICAgICAgICB7KCgodWludDY0X3QpdnJlZ3MtPnZycmVn c1tpXVswXSkgPDwgMzIpCisrICAgICAgICAgICAgICAgICAgICAgICAgIHwgdnJlZ3MtPnZycmVn c1tpXVsxXSwKKysgICAgICAgICAgICAgKCgodWludDY0X3QpdnJlZ3MtPnZycmVnc1tpXVsyXSkg PDwgMzIpCisrICAgICAgICAgICAgICAgICAgICAgICAgIHwgdnJlZ3MtPnZycmVnc1tpXVszXX07 CisrCisrICAgIG91dC0+dnJzYXZlID0gdnJlZ3MtPnZyc2F2ZTsKKysgICAgb3V0LT52ZWN0b3Jf c2F2ZS5zYXZlX3ZzY3IgPSB7MCwgdnJlZ3MtPnZzY3IudnNjcl93b3JkfTsKKysgICAgb3V0LT52 ZWN0b3Jfc2F2ZS5zYXZlX3ZydmFsaWQgPSAweEZGRkZGRkZGOworK30KKysKKyAjZW5kaWYKKyAK KyB9ICAvLyBuYW1lc3BhY2UgZ29vZ2xlX2JyZWFrcGFkCistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1w X3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBf d3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAorQEAgLTU5LDYgKzU5LDkgQEAgc3RydWN0 IFVDb250ZXh0UmVhZGVyIHsKKyAjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQorICAgc3RhdGlj IHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSogb3V0LCBjb25zdCB1Y29udGV4dF90 KiB1YywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmcHNpbWRf Y29udGV4dCogZnByZWdzKTsKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICBzdGF0 aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0 X3QgKnVjLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdnJyZWdzZXRfdCog dnJlZ3MpOworICNlbHNlCisgICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0 Q1BVKiBvdXQsIGNvbnN0IHVjb250ZXh0X3QqIHVjKTsKKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRs ZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKK0BAIC0xMDUsNiArMTA1LDEzIEBACisgI2RlZmluZSBQ Ul9TRVRfUFRSQUNFUiAweDU5NjE2ZDYxCisgI2VuZGlmCisgCisrLyogbXVzbCBoYWNrLCBjYW4n dCBpbmNsdWRlIGFzbS9wdHJhY2UuaCBhcyB0aGF0IGNhdXNlcyBjb25mbGljdHMgKi8KKysjaWZu ZGVmIF9fR0xJQkNfXworKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pICYmICFkZWZpbmVkKFBU X05JUCkKKysjZGVmaW5lIFBUX05JUCAzMgorKyNlbmRpZgorKyNlbmRpZgorKworIG5hbWVzcGFj ZSBnb29nbGVfYnJlYWtwYWQgeworIAorIG5hbWVzcGFjZSB7CitAQCAtNDYxLDkgKzQ2OCwxNiBA QCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6OkhhbmRsZVNpZ25hbChpbnQKKyAgICAgbWVtY3B5KCZn X2NyYXNoX2NvbnRleHRfLmZsb2F0X3N0YXRlLCBmcF9wdHIsCisgICAgICAgICAgICBzaXplb2Yo Z19jcmFzaF9jb250ZXh0Xy5mbG9hdF9zdGF0ZSkpOworICAgfQorKyNlbGlmIGRlZmluZWQoX19w b3dlcnBjNjRfXykKKysgIC8vIE9uIFBQQzY0LCB3ZSBtdXN0IGNvcHkgVlIgc3RhdGUKKysgIHVj b250ZXh0X3QqIHVjX3B0ciA9ICh1Y29udGV4dF90Kil1YzsKKysgIGlmICh1Y19wdHItPnVjX21j b250ZXh0LnZfcmVncykgeworKyAgICBtZW1jcHkoJmdfY3Jhc2hfY29udGV4dF8udmVjdG9yX3N0 YXRlLCB1Y19wdHItPnVjX21jb250ZXh0LnZfcmVncywKKysgICAgICAgICAgIHNpemVvZihnX2Ny YXNoX2NvbnRleHRfLnZlY3Rvcl9zdGF0ZSkpOworKyAgfQorICNlbGlmICFkZWZpbmVkKF9fQVJN X0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisgICAvLyBGUCBzdGF0ZSBpcyBub3QgcGFy dCBvZiB1c2VyIEFCSSBvbiBBUk0gTGludXguCistICAvLyBJbiBjYXNlIG9mIE1JUFMgTGludXgg RlAgc3RhdGUgaXMgYWxyZWFkeSBwYXJ0IG9mIHVjb250ZXh0X3QKKysgIC8vIEluIGNhc2Ugb2Yg TUlQUywgTGludXggRlAgc3RhdGUgaXMgYWxyZWFkeSBwYXJ0IG9mIHVjb250ZXh0X3QKKyAgIC8v IGFuZCAnZmxvYXRfc3RhdGUnIGlzIG5vdCBhIG1lbWJlciBvZiBDcmFzaENvbnRleHQuCisgICB1 Y29udGV4dF90KiB1Y19wdHIgPSAodWNvbnRleHRfdCopdWM7CisgICBpZiAodWNfcHRyLT51Y19t Y29udGV4dC5mcHJlZ3MpIHsKK0BAIC03MDgsMTEgKzcyMiwxOSBAQCBib29sIEV4Y2VwdGlvbkhh bmRsZXI6OldyaXRlTWluaWR1bXAoKSB7CisgICB9CisgI2VuZGlmCisgCistI2lmICFkZWZpbmVk KF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fbWlw c19fKQorKyNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fYWFyY2g2NF9f KSAmJiAhZGVmaW5lZChfX21pcHNfXykgXAorKyAgICAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9f KQorICAgLy8gRlBVIHN0YXRlIGlzIG5vdCBwYXJ0IG9mIEFSTSBFQUJJIHVjb250ZXh0X3QuCisg ICBtZW1jcHkoJmNvbnRleHQuZmxvYXRfc3RhdGUsIGNvbnRleHQuY29udGV4dC51Y19tY29udGV4 dC5mcHJlZ3MsCisgICAgICAgICAgc2l6ZW9mKGNvbnRleHQuZmxvYXRfc3RhdGUpKTsKKyAjZW5k aWYKKysKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgLy8gVmVjdG9yIHJlZ2lzdGVy cyBtdXN0IGJlIGNvcGllZCBvbiBQUEM2NAorKyAgbWVtY3B5KCZjb250ZXh0LnZlY3Rvcl9zdGF0 ZSwgY29udGV4dC5jb250ZXh0LnVjX21jb250ZXh0LnZfcmVncywKKysgICAgICAgICBzaXplb2Yo Y29udGV4dC52ZWN0b3Jfc3RhdGUpKTsKKysjZW5kaWYKKysKKyAgIGNvbnRleHQudGlkID0gc3lz X2dldHRpZCgpOworIAorICAgLy8gQWRkIGFuIGV4Y2VwdGlvbiBzdHJlYW0gdG8gdGhlIG1pbmlk dW1wIGZvciBiZXR0ZXIgcmVwb3J0aW5nLgorQEAgLTczMyw2ICs3NTUsOSBAQCBib29sIEV4Y2Vw dGlvbkhhbmRsZXI6OldyaXRlTWluaWR1bXAoKSB7CisgI2VsaWYgZGVmaW5lZChfX21pcHNfXykK KyAgIGNvbnRleHQuc2lnaW5mby5zaV9hZGRyID0KKyAgICAgICByZWludGVycHJldF9jYXN0PHZv aWQqPihjb250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQucGMpOworKyNlbGlmIGRlZmluZWQoX19w b3dlcnBjNjRfXykKKysgIGNvbnRleHQuc2lnaW5mby5zaV9hZGRyID0KKysgICAgICByZWludGVy cHJldF9jYXN0PHZvaWQqPihjb250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9O SVBdKTsKKyAjZWxzZQorICNlcnJvciAiVGhpcyBjb2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8g eW91ciBwbGF0Zm9ybSB5ZXQuIgorICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9l eGNlcHRpb25faGFuZGxlci5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9o YW5kbGVyLmgKK0BAIC0xOTIsNyArMTkyLDExIEBAIGNsYXNzIEV4Y2VwdGlvbkhhbmRsZXIgewor ICAgICBzaWdpbmZvX3Qgc2lnaW5mbzsKKyAgICAgcGlkX3QgdGlkOyAgLy8gdGhlIGNyYXNoaW5n IHRocmVhZC4KKyAgICAgdWNvbnRleHRfdCBjb250ZXh0OworLSNpZiAhZGVmaW5lZChfX0FSTV9F QUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisrICAgIC8vIFBQQzY0J3MgRlAgc3RhdGUgaXMgYSBwYXJ0IG9mIHVjb250ZXh0X3QgbGlrZSBN SVBTIGJ1dCB0aGUgdmVjdG9yCisrICAgIC8vIHN0YXRlIGlzIG5vdCwgc28gYSBzdHJ1Y3QgaXMg bmVlZGVkLgorKyAgICB2c3RhdGVfdCB2ZWN0b3Jfc3RhdGU7CisrI2VsaWYgIWRlZmluZWQoX19B Uk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKyAgICAgLy8gI2lmZGVmIHRoaXMgb3V0 IGJlY2F1c2UgRlAgc3RhdGUgaXMgbm90IHBhcnQgb2YgdXNlciBBQkkgZm9yIExpbnV4IEFSTS4K KyAgICAgLy8gSW4gY2FzZSBvZiBNSVBTIExpbnV4IEZQIHN0YXRlIGlzIGFscmVhZHkgcGFydCBv ZiB1Y29udGV4dF90IHNvCisgICAgIC8vICdmbG9hdF9zdGF0ZScgaXMgbm90IHJlcXVpcmVkLgor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlcl91bml0dGVzdC5jYwor KysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlcl91bml0dGVzdC5jYwor QEAgLTMwNyw3ICszMDcsNyBAQCBURVNUKEV4Y2VwdGlvbkhhbmRsZXJUZXN0LCBQYXJhbGxlbENo aWxkCisgICB9CisgCisgICAvLyBXYWl0IGEgd2hpbGUgdW50aWwgdGhlIGNoaWxkIHNob3VsZCBo YXZlIGNyYXNoZWQuCistICB1c2xlZXAoMTAwMDAwMCk7CisrICB1c2xlZXAoMjAwMDAwMCk7Cisg ICAvLyBLaWxsIHRoZSBjaGlsZCBpZiBpdCBpcyBzdGlsbCBydW5uaW5nLgorICAga2lsbChjaGls ZCwgU0lHS0lMTCk7CisgCitAQCAtNTU5LDYgKzU1OSw4IEBAIGNvbnN0IHVuc2lnbmVkIGNoYXIg a0lsbGVnYWxJbnN0cnVjdGlvblsKKyAjaWYgZGVmaW5lZChfX21pcHNfXykKKyAgIC8vIG1mYzIg emVybyxJbXBsIC0gdXN1YWxseSBpbGxlZ2FsIGluIHVzZXJzcGFjZS4KKyAgIDB4NDgsIDB4MDAs IDB4MDAsIDB4NDgKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAweDAxLCAweDAx LCAweDAxLCAweDAxIC8vIENyYXNoZXMgb24gYSB0ZXN0ZWQgUE9XRVI5IGNwdQorICNlbHNlCisg ICAvLyBUaGlzIGNyYXNoZXMgd2l0aCBTSUdJTEwgb24geDg2L3g4Ni02NC9hcm0uCisgICAweGZm LCAweGZmLCAweGZmLCAweGZmCitAQCAtNzU0LDEwICs3NTYsMTAgQEAgVEVTVChFeGNlcHRpb25I YW5kbGVyVGVzdCwgSW5zdHJ1Y3Rpb25QbworIAorICAgLy8gVGhlc2UgYXJlIGRlZmluZWQgaGVy ZSBzbyB0aGUgcGFyZW50IGNhbiB1c2UgdGhlbSB0byBjaGVjayB0aGUKKyAgIC8vIGRhdGEgZnJv bSB0aGUgbWluaWR1bXAgYWZ0ZXJ3YXJkcy4KKy0gIC8vIFVzZSA0ayBoZXJlIGJlY2F1c2UgdGhl IE9TIHdpbGwgaGFuZCBvdXQgYSBzaW5nbGUgcGFnZSBldmVuCisrICAvLyBVc2UgdGhlIHBhZ2Ug c2l6ZSBoZXJlIGJlY2F1c2UgdGhlIE9TIHdpbGwgaGFuZCBvdXQgYSBzaW5nbGUgcGFnZSBldmVu CisgICAvLyBpZiBhIHNtYWxsZXIgc2l6ZSBpcyByZXF1ZXN0ZWQsIGFuZCB0aGlzIHRlc3Qgd2Fu dHMgdG8KKyAgIC8vIHRlc3QgdGhlIHVwcGVyIGJvdW5kIG9mIHRoZSBtZW1vcnkgcmFuZ2UuCist ICBjb25zdCB1aW50MzJfdCBrTWVtb3J5U2l6ZSA9IDQwOTY7ICAvLyBieXRlcworKyAgY29uc3Qg dWludDMyX3Qga01lbW9yeVNpemUgPSBnZXRwYWdlc2l6ZSgpOyAgLy8gYnl0ZXMKKyAgIGNvbnN0 IGludCBrT2Zmc2V0ID0ga01lbW9yeVNpemUgLSBzaXplb2Yoa0lsbGVnYWxJbnN0cnVjdGlvbik7 CisgCisgICBjb25zdCBwaWRfdCBjaGlsZCA9IGZvcmsoKTsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21p Y3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWlj cm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyLmNjCitAQCAtMTM4LDcgKzEzOCw5IEBAIGNs YXNzIE1pY3JvZHVtcFdyaXRlciB7CisgICAgICAgICAgICAgICAgICAgY29uc3QgTWljcm9kdW1w RXh0cmFJbmZvJiBtaWNyb2R1bXBfZXh0cmFfaW5mbywKKyAgICAgICAgICAgICAgICAgICBMaW51 eER1bXBlciogZHVtcGVyKQorICAgICAgIDogdWNvbnRleHRfKGNvbnRleHQgPyAmY29udGV4dC0+ Y29udGV4dCA6IE5VTEwpLAorLSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVk KF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAgICAgICB2ZWN0b3Jf c3RhdGVfKGNvbnRleHQgPyAmY29udGV4dC0+dmVjdG9yX3N0YXRlIDogTlVMTCksCisrI2VsaWYg IWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKyAgICAgICAgIGZs b2F0X3N0YXRlXyhjb250ZXh0ID8gJmNvbnRleHQtPmZsb2F0X3N0YXRlIDogTlVMTCksCisgI2Vu ZGlmCisgICAgICAgICBkdW1wZXJfKGR1bXBlciksCitAQCAtMzM3LDYgKzMzOSw4IEBAIGNsYXNz IE1pY3JvZHVtcFdyaXRlciB7CisgIyBlbHNlCisgIyAgZXJyb3IgIlRoaXMgbWlwcyBBQkkgaXMg Y3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgKG4zMikiCisgI2VuZGlmCisrI2VsaWYgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQorKyAgICBjb25zdCBjaGFyIGtBcmNoW10gPSAicHBjNjQiOworICNlbHNl CisgI2Vycm9yICJUaGlzIGNvZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3Jt IHlldCIKKyAjZW5kaWYKK0BAIC00MDksNyArNDEzLDkgQEAgY2xhc3MgTWljcm9kdW1wV3JpdGVy IHsKKyAgIHZvaWQgRHVtcENQVVN0YXRlKCkgeworICAgICBSYXdDb250ZXh0Q1BVIGNwdTsKKyAg ICAgbXlfbWVtc2V0KCZjcHUsIDAsIHNpemVvZihSYXdDb250ZXh0Q1BVKSk7CistI2lmICFkZWZp bmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19w b3dlcnBjNjRfXykKKysgICAgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KCZjcHUsIHVj b250ZXh0XywgdmVjdG9yX3N0YXRlXyk7CisrI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAm JiAhZGVmaW5lZChfX21pcHNfXykKKyAgICAgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0 KCZjcHUsIHVjb250ZXh0XywgZmxvYXRfc3RhdGVfKTsKKyAjZWxzZQorICAgICBVQ29udGV4dFJl YWRlcjo6RmlsbENQVUNvbnRleHQoJmNwdSwgdWNvbnRleHRfKTsKK0BAIC02MDUsNyArNjExLDkg QEAgY2xhc3MgTWljcm9kdW1wV3JpdGVyIHsKKyAgIHZvaWQqIEFsbG9jKHVuc2lnbmVkIGJ5dGVz KSB7IHJldHVybiBkdW1wZXJfLT5hbGxvY2F0b3IoKS0+QWxsb2MoYnl0ZXMpOyB9CisgCisgICBj b25zdCB1Y29udGV4dF90KiBjb25zdCB1Y29udGV4dF87CistI2lmICFkZWZpbmVkKF9fQVJNX0VB QklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykK KysgIGNvbnN0IGdvb2dsZV9icmVha3BhZDo6dnN0YXRlX3QqIGNvbnN0IHZlY3Rvcl9zdGF0ZV87 CisrI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKyAg IGNvbnN0IGdvb2dsZV9icmVha3BhZDo6ZnBzdGF0ZV90KiBjb25zdCBmbG9hdF9zdGF0ZV87Cisg I2VuZGlmCisgICBMaW51eER1bXBlciogZHVtcGVyXzsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3Jv ZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlcl91bml0dGVzdC5jYworKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCitAQCAtMjc5 LDEwICsyNzksMTkgQEAgVEVTVChNaWNyb2R1bXBXcml0ZXJUZXN0LCBCYXNpY1dpdGhNYXBwaQor ICAgQ3Jhc2hBbmRHZXRNaWNyb2R1bXAobWFwcGluZ3MsIE1pY3JvZHVtcEV4dHJhSW5mbygpLCAm YnVmKTsKKyAgIEFTU0VSVF9UUlVFKENvbnRhaW5zTWljcm9kdW1wKGJ1ZikpOworIAorKyAgaW50 IHBhZ2Vfc2l6ZSA9IGdldHBhZ2VzaXplKCk7CisgI2lmZGVmIF9fTFA2NF9fCistICBBU1NFUlRf TkUoc3RkOjpzdHJpbmc6Om5wb3MsCistICAgICAgICAgICAgYnVmLmZpbmQoIk0gMDAwMDAwMDAw MDAwMTAwMCAwMDAwMDAwMDAwMDAwMDJBIDAwMDAwMDAwMDAwMDEwMDAgIgorLSAgICAgICAgICAg ICAgICAgICAgICIzMzIyMTEwMDU1NDQ3NzY2ODg5OUFBQkJDQ0RERUVGRjAgbGliZm9vLnNvIikp OworKyAgLy8gVGhpcyB0ZXN0IGlzIG9ubHkgYXZhaWxhYmxlIGZvciB0aGUgZm9sbG93aW5nIHBh Z2Ugc2l6ZXMKKysgIEFTU0VSVF9UUlVFKChwYWdlX3NpemUgPT0gNDA5NikgfHwgKHBhZ2Vfc2l6 ZSA9PSA2NTUzNikpOworKyAgaWYgKHBhZ2Vfc2l6ZSA9PSA0MDk2KSB7CisrICAgIEFTU0VSVF9O RShzdGQ6OnN0cmluZzo6bnBvcywKKysgICAgICAgICAgICAgIGJ1Zi5maW5kKCJNIDAwMDAwMDAw MDAwMDEwMDAgMDAwMDAwMDAwMDAwMDAyQSAwMDAwMDAwMDAwMDAxMDAwICIKKysgICAgICAgICAg ICAgICAgICAgICAgICIzMzIyMTEwMDU1NDQ3NzY2ODg5OUFBQkJDQ0RERUVGRjAgbGliZm9vLnNv IikpOworKyAgfSBlbHNlIHsKKysgICAgQVNTRVJUX05FKHN0ZDo6c3RyaW5nOjpucG9zLAorKyAg ICAgICAgICAgICAgYnVmLmZpbmQoIk0gMDAwMDAwMDAwMDAxMDAwMCAwMDAwMDAwMDAwMDAwMDJB IDAwMDAwMDAwMDAwMTAwMDAgIgorKyAgICAgICAgICAgICAgICAgICAgICAgIjMzMjIxMTAwNTU0 NDc3NjY4ODk5QUFCQkNDRERFRUZGMCBsaWJmb28uc28iKSk7CisrICB9CisgI2Vsc2UKKyAgIEFT U0VSVF9ORShzdGQ6OnN0cmluZzo6bnBvcywKKyAgICAgICAgICAgICBidWYuZmluZCgiTSAwMDAw MTAwMCAwMDAwMDAyQSAwMDAwMTAwMCAiCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0 ZXIvbGludXhfY29yZV9kdW1wZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRl ci9saW51eF9jb3JlX2R1bXBlci5jYworQEAgLTExNyw2ICsxMTcsOSBAQCBib29sIExpbnV4Q29y ZUR1bXBlcjo6R2V0VGhyZWFkSW5mb0J5SW5kCisgI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKyAg IHN0YWNrX3BvaW50ZXIgPQorICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGluZm8t Pm1jb250ZXh0LmdyZWdzW01EX0NPTlRFWFRfTUlQU19SRUdfU1BdKTsKKysjZWxpZiBkZWZpbmVk KF9fcG93ZXJwYzY0X18pCisrICBzdGFja19wb2ludGVyID0KKysgICAgICByZWludGVycHJldF9j YXN0PHVpbnQ4X3QqPihpbmZvLT5tY29udGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBDNjRfUkVH X1NQXSk7CisgI2Vsc2UKKyAjZXJyb3IgIlRoaXMgY29kZSBoYXNuJ3QgYmVlbiBwb3J0ZWQgdG8g eW91ciBwbGF0Zm9ybSB5ZXQuIgorICNlbmRpZgorQEAgLTIxMiw3ICsyMTUsMTAgQEAgYm9vbCBM aW51eENvcmVEdW1wZXI6OkVudW1lcmF0ZVRocmVhZHMoKQorICAgICAgICAgbWVtc2V0KCZpbmZv LCAwLCBzaXplb2YoVGhyZWFkSW5mbykpOworICAgICAgICAgaW5mby50Z2lkID0gc3RhdHVzLT5w cl9wZ3JwOworICAgICAgICAgaW5mby5wcGlkID0gc3RhdHVzLT5wcl9wcGlkOworLSNpZiBkZWZp bmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAgICAgICBmb3Ig KGludCBpID0gMDsgaSA8IDMxOyBpKyspCisrICAgICAgICAgICAgaW5mby5tY29udGV4dC5ncF9y ZWdzW2ldID0gc3RhdHVzLT5wcl9yZWdbaV07CisrI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKyAj aWYgZGVmaW5lZChfX0FORFJPSURfXykKKyAgICAgICAgIGZvciAoaW50IGkgPSBFRl9SMDsgaSA8 PSBFRl9SMzE7IGkrKykKKyAgICAgICAgICAgaW5mby5tY29udGV4dC5ncmVnc1tpIC0gRUZfUjBd ID0gc3RhdHVzLT5wcl9yZWdbaV07CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIv bGludXhfZHVtcGVyLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhf ZHVtcGVyLmNjCitAQCAtNzY1LDcgKzc2NSw5IEBAIGJvb2wgTGludXhEdW1wZXI6OkdldFN0YWNr SW5mbyhjb25zdCB2b2kKKyAgICAgICByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihpbnRfc3Rh Y2tfcG9pbnRlciAmIH4ocGFnZV9zaXplIC0gMSkpOworIAorICAgLy8gVGhlIG51bWJlciBvZiBi eXRlcyBvZiBzdGFjayB3aGljaCB3ZSB0cnkgdG8gY2FwdHVyZS4KKy0gIHN0YXRpYyBjb25zdCBw dHJkaWZmX3Qga1N0YWNrVG9DYXB0dXJlID0gMzIgKiAxMDI0OworKyAgLy8gVGhpcyBub3cgZGVw ZW5kcyBvbiBwYWdlX3NpemUgdG8gYXZvaWQgbWlzc2luZyBkYXRhCisrICAvLyBvbiBzeXN0ZW1z IHdpdGggbGFyZ2VyIHBhZ2Ugc2l6ZXMuCisrICBzdGF0aWMgY29uc3QgcHRyZGlmZl90IGtTdGFj a1RvQ2FwdHVyZSA9IDggKiBwYWdlX3NpemU7CisgCisgICBjb25zdCBNYXBwaW5nSW5mbyogbWFw cGluZyA9IEZpbmRNYXBwaW5nKHN0YWNrX3BvaW50ZXIpOworICAgaWYgKCFtYXBwaW5nKQorLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5oCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmgKK0BAIC02Myw3ICs2Myw4IEBA IG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQgeworICAoZGVmaW5lZChfX21pcHNfXykgJiYgX01J UFNfU0lNID09IF9BQklPMzIpCisgdHlwZWRlZiBFbGYzMl9hdXh2X3QgZWxmX2F1eF9lbnRyeTsK KyAjZWxpZiBkZWZpbmVkKF9feDg2XzY0KSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBcCist ICAgICAoZGVmaW5lZChfX21pcHNfXykgJiYgX01JUFNfU0lNICE9IF9BQklPMzIpCisrICAgICAo ZGVmaW5lZChfX21pcHNfXykgJiYgX01JUFNfU0lNICE9IF9BQklPMzIpIHx8IFwKKysgICAgIGRl ZmluZWQoX19wb3dlcnBjNjRfXykKKyB0eXBlZGVmIEVsZjY0X2F1eHZfdCBlbGZfYXV4X2VudHJ5 OworICNlbmRpZgorIAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1 bXBlcl91bml0dGVzdF9oZWxwZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRl ci9saW51eF9kdW1wZXJfdW5pdHRlc3RfaGVscGVyLmNjCitAQCAtNTEsNiArNTEsOCBAQAorICNk ZWZpbmUgVElEX1BUUl9SRUdJU1RFUiAicmN4IgorICNlbGlmIGRlZmluZWQoX19taXBzX18pCisg I2RlZmluZSBUSURfUFRSX1JFR0lTVEVSICIkMSIKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCisrI2RlZmluZSBUSURfUFRSX1JFR0lTVEVSICJyOCIKKyAjZWxzZQorICNlcnJvciBUaGlz IHRlc3QgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB0aGlzIHBsYXRmb3JtLgorICNlbmRpZgorLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIuY2MKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNjCitA QCAtMTU0LDE5ICsxNTQsMjcgQEAgYm9vbCBMaW51eFB0cmFjZUR1bXBlcjo6Q29weUZyb21Qcm9j ZXNzKAorICAgcmV0dXJuIHRydWU7CisgfQorIAorLWJvb2wgTGludXhQdHJhY2VEdW1wZXI6OlJl YWRSZWdpc3RlclNldChUaHJlYWRJbmZvKiBpbmZvLCBwaWRfdCB0aWQpCisteworK2Jvb2wgTGlu dXhQdHJhY2VEdW1wZXI6OlJlYWRSZWdpc3RlclNldChUaHJlYWRJbmZvKiBpbmZvLCBwaWRfdCB0 aWQpIHsKKyAjaWZkZWYgUFRSQUNFX0dFVFJFR1NFVAorICAgc3RydWN0IGlvdmVjIGlvOworICAg aW5mby0+R2V0R2VuZXJhbFB1cnBvc2VSZWdpc3RlcnMoJmlvLmlvdl9iYXNlLCAmaW8uaW92X2xl bik7CistICBpZiAoc3lzX3B0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsICh2b2lkKilOVF9Q UlNUQVRVUywgKHZvaWQqKSZpbykgPT0gLTEpIHsKKysgIGlmIChwdHJhY2UoUFRSQUNFX0dFVFJF R1NFVCwgdGlkLCAodm9pZCopTlRfUFJTVEFUVVMsICh2b2lkKikmaW8pID09IC0xKSB7CisgICAg IHJldHVybiBmYWxzZTsKKyAgIH0KKyAKKyAgIGluZm8tPkdldEZsb2F0aW5nUG9pbnRSZWdpc3Rl cnMoJmlvLmlvdl9iYXNlLCAmaW8uaW92X2xlbik7CistICBpZiAoc3lzX3B0cmFjZShQVFJBQ0Vf R0VUUkVHU0VULCB0aWQsICh2b2lkKilOVF9GUFJFR1NFVCwgKHZvaWQqKSZpbykgPT0gLTEpIHsK KysgIGlmIChwdHJhY2UoUFRSQUNFX0dFVFJFR1NFVCwgdGlkLCAodm9pZCopTlRfRlBSRUdTRVQs ICh2b2lkKikmaW8pID09IC0xKSB7CisgICAgIHJldHVybiBmYWxzZTsKKyAgIH0KKysKKysjaWYg ZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgLy8gR3JhYiB0aGUgdmVjdG9yIHJlZ2lzdGVycyBv biBQUEM2NCB0b28KKysgIGluZm8tPkdldFZlY3RvclJlZ2lzdGVycygmaW8uaW92X2Jhc2UsICZp by5pb3ZfbGVuKTsKKysgIGlmIChwdHJhY2UoUFRSQUNFX0dFVFJFR1NFVCwgdGlkLCAodm9pZCop TlRfUFBDX1ZNWCwgKHZvaWQqKSZpbykgPT0gLTEpIHsKKysgICAgcmV0dXJuIGZhbHNlOworKyAg fQorKyNlbmRpZiAvLyBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrCisgICByZXR1cm4gdHJ1ZTsK KyAjZWxzZQorICAgcmV0dXJuIGZhbHNlOworQEAgLTMwMyw2ICszMTEsOSBAQCBib29sIExpbnV4 UHRyYWNlRHVtcGVyOjpHZXRUaHJlYWRJbmZvQnlJCisgI2VsaWYgZGVmaW5lZChfX21pcHNfXykK KyAgIHN0YWNrX3BvaW50ZXIgPQorICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGlu Zm8tPm1jb250ZXh0LmdyZWdzW01EX0NPTlRFWFRfTUlQU19SRUdfU1BdKTsKKysjZWxpZiBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCisrICBzdGFja19wb2ludGVyID0KKysgICAgICByZWludGVycHJl dF9jYXN0PHVpbnQ4X3QqPihpbmZvLT5tY29udGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBDNjRf UkVHX1NQXSk7CisgI2Vsc2UKKyAjZXJyb3IgIlRoaXMgY29kZSBoYXNuJ3QgYmVlbiBwb3J0ZWQg dG8geW91ciBwbGF0Zm9ybSB5ZXQuIgorICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1 bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXJfdW5pdHRlc3QuY2MKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyX3VuaXR0ZXN0LmNjCitAQCAt NDYyLDYgKzQ2Miw5IEBAIFRFU1QoTGludXhQdHJhY2VEdW1wZXJUZXN0LCBWZXJpZnlTdGFja1IK KyAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQorICAgICBwaWRfdCogcHJvY2Vzc190aWRfbG9jYXRp b24gPQorICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxwaWRfdCo+KG9uZV90aHJlYWQubWNvbnRl eHQuZ3JlZ3NbMV0pOworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgcGlkX3Qq IHByb2Nlc3NfdGlkX2xvY2F0aW9uID0KKysgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8cGlkX3Qq PihvbmVfdGhyZWFkLm1jb250ZXh0LmdwX3JlZ3NbOF0pOworICNlbHNlCisgI2Vycm9yIFRoaXMg dGVzdCBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHRoaXMgcGxhdGZvcm0uCisgI2VuZGlmCitAQCAt NTU5LDYgKzU2Miw4IEBAIFRFU1RfRihMaW51eFB0cmFjZUR1bXBlclRlc3QsIFNhbml0aXplU3QK KyAgIHVpbnRwdHJfdCBoZWFwX2FkZHIgPSB0aHJlYWRfaW5mby5yZWdzLnJjeDsKKyAjZWxpZiBk ZWZpbmVkKF9fbWlwc19fKQorICAgdWludHB0cl90IGhlYXBfYWRkciA9IHRocmVhZF9pbmZvLm1j b250ZXh0LmdyZWdzWzFdOworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIHVpbnRw dHJfdCBoZWFwX2FkZHIgPSB0aHJlYWRfaW5mby5tY29udGV4dC5ncF9yZWdzWzhdOworICNlbHNl CisgI2Vycm9yIFRoaXMgdGVzdCBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHRoaXMgcGxhdGZvcm0u CisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3Jp dGVyLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVy LmNjCitAQCAtMTM2LDcgKzEzNiw5IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVyIHsKKyAgICAgICA6 IGZkXyhtaW5pZHVtcF9mZCksCisgICAgICAgICBwYXRoXyhtaW5pZHVtcF9wYXRoKSwKKyAgICAg ICAgIHVjb250ZXh0Xyhjb250ZXh0ID8gJmNvbnRleHQtPmNvbnRleHQgOiBOVUxMKSwKKy0jaWYg IWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQorKyAgICAgICAgdmVjdG9yX3N0YXRlXyhjb250ZXh0ID8gJmNvbnRl eHQtPnZlY3Rvcl9zdGF0ZSA6IE5VTEwpLAorKyNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykg JiYgIWRlZmluZWQoX19taXBzX18pCisgICAgICAgICBmbG9hdF9zdGF0ZV8oY29udGV4dCA/ICZj b250ZXh0LT5mbG9hdF9zdGF0ZSA6IE5VTEwpLAorICNlbmRpZgorICAgICAgICAgZHVtcGVyXyhk dW1wZXIpLAorQEAgLTQ2OCw3ICs0NzAsOSBAQCBjbGFzcyBNaW5pZHVtcFdyaXRlciB7CisgICAg ICAgICBpZiAoIWNwdS5BbGxvY2F0ZSgpKQorICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg ICAgICBteV9tZW1zZXQoY3B1LmdldCgpLCAwLCBzaXplb2YoUmF3Q29udGV4dENQVSkpOworLSNp ZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCisrICAgICAgICBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRl eHQoY3B1LmdldCgpLCB1Y29udGV4dF8sIHZlY3Rvcl9zdGF0ZV8pOworKyNlbGlmICFkZWZpbmVk KF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisgICAgICAgICBVQ29udGV4dFJl YWRlcjo6RmlsbENQVUNvbnRleHQoY3B1LmdldCgpLCB1Y29udGV4dF8sIGZsb2F0X3N0YXRlXyk7 CisgI2Vsc2UKKyAgICAgICAgIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChjcHUuZ2V0 KCksIHVjb250ZXh0Xyk7CitAQCAtODk3LDcgKzkwMSw3IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVy IHsKKyAgICAgZGlyZW50LT5sb2NhdGlvbi5ydmEgPSAwOworICAgfQorIAorLSNpZiBkZWZpbmVk KF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCisr I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChf X21pcHNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgYm9vbCBXcml0ZUNQVUluZm9y bWF0aW9uKE1EUmF3U3lzdGVtSW5mbyogc3lzX2luZm8pIHsKKyAgICAgY2hhciB2ZW5kb3JfaWRb c2l6ZW9mKHN5c19pbmZvLT5jcHUueDg2X2NwdV9pbmZvLnZlbmRvcl9pZCkgKyAxXSA9IHswfTsK KyAgICAgc3RhdGljIGNvbnN0IGNoYXIgdmVuZG9yX2lkX25hbWVbXSA9ICJ2ZW5kb3JfaWQiOwor QEAgLTkxNyw3ICs5MjEsOSBAQCBjbGFzcyBNaW5pZHVtcFdyaXRlciB7CisgCisgICAgIC8vIHBy b2Nlc3Nvcl9hcmNoaXRlY3R1cmUgc2hvdWxkIGFsd2F5cyBiZSBzZXQsIGRvIHRoaXMgZmlyc3QK KyAgICAgc3lzX2luZm8tPnByb2Nlc3Nvcl9hcmNoaXRlY3R1cmUgPQorLSNpZiBkZWZpbmVkKF9f bWlwc19fKQorKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAgICAgICBNRF9DUFVfQVJD SElURUNUVVJFX1BQQzY0OworKyNlbGlmIGRlZmluZWQoX19taXBzX18pCisgIyBpZiBfTUlQU19T SU0gPT0gX0FCSU8zMgorICAgICAgICAgTURfQ1BVX0FSQ0hJVEVDVFVSRV9NSVBTOworICMgZWxp ZiBfTUlQU19TSU0gPT0gX0FCSTY0CitAQCAtMTMzMyw3ICsxMzM5LDkgQEAgY2xhc3MgTWluaWR1 bXBXcml0ZXIgeworICAgY29uc3QgY2hhciogcGF0aF87ICAvLyBQYXRoIHRvIHRoZSBmaWxlIHdo ZXJlIHRoZSBtaW5pZHVtIHNob3VsZCBiZSB3cml0dGVuLgorIAorICAgY29uc3QgdWNvbnRleHRf dCogY29uc3QgdWNvbnRleHRfOyAgLy8gYWxzbyBmcm9tIHRoZSBzaWduYWwgaGFuZGxlcgorLSNp ZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCisrICBjb25zdCBnb29nbGVfYnJlYWtwYWQ6OnZzdGF0ZV90KiBj b25zdCB2ZWN0b3Jfc3RhdGVfOworKyNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRl ZmluZWQoX19taXBzX18pCisgICBjb25zdCBnb29nbGVfYnJlYWtwYWQ6OmZwc3RhdGVfdCogY29u c3QgZmxvYXRfc3RhdGVfOyAgLy8gZGl0dG8KKyAjZW5kaWYKKyAgIExpbnV4RHVtcGVyKiBkdW1w ZXJfOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5o CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmgKK0BA IC00OCw2ICs0OCw4IEBAIGNsYXNzIEV4Y2VwdGlvbkhhbmRsZXI7CisgCisgI2lmIGRlZmluZWQo X19hYXJjaDY0X18pCisgdHlwZWRlZiBzdHJ1Y3QgZnBzaW1kX2NvbnRleHQgZnBzdGF0ZV90Owor KyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyt0eXBlZGVmIHZycmVnc2V0X3QgdnN0YXRl X3Q7CisgI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykK KyB0eXBlZGVmIHN0ZDo6cmVtb3ZlX3BvaW50ZXI8ZnByZWdzZXRfdD46OnR5cGUgZnBzdGF0ZV90 OworICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dy aXRlcl91bml0dGVzdC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlk dW1wX3dyaXRlcl91bml0dGVzdC5jYworQEAgLTcxNSw2ICs3MTUsMTIgQEAgVEVTVChNaW5pZHVt cFdyaXRlclRlc3QsIEludmFsaWRTdGFja1BvaQorICNlbGlmIGRlZmluZWQoX19taXBzX18pCisg ICBjb250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQuZ3JlZ3NbTURfQ09OVEVYVF9NSVBTX1JFR19T UF0gPQorICAgICAgIGludmFsaWRfc3RhY2tfcG9pbnRlcjsKKysjZWxpZiBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCisrICBjb250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQuZ3BfcmVnc1tNRF9DT05U RVhUX1BQQzY0X1JFR19TUF0gPQorKyAgICAgIGludmFsaWRfc3RhY2tfcG9pbnRlcjsKKysjZWxp ZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICBjb250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQu Z3BfcmVnc1tNRF9DT05URVhUX1BQQzY0X1JFR19TUF0gPQorKyAgICAgIGludmFsaWRfc3RhY2tf cG9pbnRlcjsKKyAjZWxzZQorICMgZXJyb3IgIlRoaXMgY29kZSBoYXMgbm90IGJlZW4gcG9ydGVk IHRvIHlvdXIgcGxhdGZvcm0geWV0LiIKKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9y eV9tYXBwZWRfZmlsZS5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlLmNj CitAQCAtNjUsOCArNjUsNyBAQCBib29sIE1lbW9yeU1hcHBlZEZpbGU6Ok1hcChjb25zdCBjaGFy KiBwCisgICB9CisgCisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FhcmNo NjRfXykgfHwgXAorLSAgIChkZWZpbmVkKF9fbWlwc19fKSAmJiBfTUlQU19TSU0gPT0gX0FCSTY0 KQorLQorKyAgIChkZWZpbmVkKF9fbWlwc19fKSAmJiBfTUlQU19TSU0gPT0gX0FCSTY0KSB8fCBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICBzdHJ1Y3Qga2VybmVsX3N0YXQgc3Q7CisgICBpZiAo c3lzX2ZzdGF0KGZkLCAmc3QpID09IC0xIHx8IHN0LnN0X3NpemUgPCAwKSB7CisgI2Vsc2UKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZV91bml0dGVzdC5jYworKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21t b24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlX3VuaXR0ZXN0LmNjCitAQCAtMTc2LDkgKzE3Niwx MCBAQCBURVNUX0YoTWVtb3J5TWFwcGVkRmlsZVRlc3QsIFJlbWFwQWZ0ZXJNCisgVEVTVF9GKE1l bW9yeU1hcHBlZEZpbGVUZXN0LCBNYXBXaXRoT2Zmc2V0KSB7CisgICAvLyBQdXQgbW9yZSBkYXRh IGluIHRoZSB0ZXN0IGZpbGUgdGhpcyB0aW1lLiBPZmZzZXRzIGNhbiBvbmx5IGJlCisgICAvLyBk b25lIG9uIHBhZ2UgYm91bmRhcmllcywgc28gd2UgbmVlZCBhIHR3byBwYWdlIGZpbGUgdG8gdGVz dCB0aGlzLgorLSAgY29uc3QgaW50IHBhZ2Vfc2l6ZSA9IDQwOTY7CistICBjaGFyIGRhdGExWzIg KiBwYWdlX3NpemVdOworLSAgc2l6ZV90IGRhdGExX3NpemUgPSBzaXplb2YoZGF0YTEpOworKyAg Y29uc3QgaW50IHBhZ2Vfc2l6ZSA9IGdldHBhZ2VzaXplKCk7CisrICBjaGFyICpkYXRhMSA9IHN0 YXRpY19jYXN0PGNoYXIqPihtYWxsb2MoMiAqIHBhZ2Vfc2l6ZSkpOworKyAgRVhQRUNUX1RSVUUo ZGF0YTEgIT0gTlVMTCk7CisrICBzaXplX3QgZGF0YTFfc2l6ZSA9ICgyICogcGFnZV9zaXplKTsK KyAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZGF0YTFfc2l6ZTsgKytpKSB7CisgICAgIGRhdGEx W2ldID0gaSAmIDB4N2Y7CisgICB9CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9tZW1vcnlfYWxsb2NhdG9yX3VuaXR0 ZXN0LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NvbW1vbi9tZW1vcnlfYWxsb2NhdG9yX3VuaXR0ZXN0LmNjCitAQCAtNTcs OCArNTcsOSBAQCBURVNUKFBhZ2VBbGxvY2F0b3JUZXN0LCBMYXJnZU9iamVjdCkgeworIAorICAg RVhQRUNUX0VRKDBVLCBhbGxvY2F0b3IucGFnZXNfYWxsb2NhdGVkKCkpOworICAgdWludDhfdCog cCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGFsbG9jYXRvci5BbGxvYygxMDAwMCkpOwor KyAgdWludDY0X3QgZXhwZWN0ZWRfcGFnZXMgPSAxICsgKCgxMDAwMCAtIDEpIC8gZ2V0cGFnZXNp emUoKSk7CisgICBBU1NFUlRfRkFMU0UocCA9PSBOVUxMKTsKKy0gIEVYUEVDVF9FUSgzVSwgYWxs b2NhdG9yLnBhZ2VzX2FsbG9jYXRlZCgpKTsKKysgIEVYUEVDVF9FUShleHBlY3RlZF9wYWdlcywg YWxsb2NhdG9yLnBhZ2VzX2FsbG9jYXRlZCgpKTsKKyAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkg PCAxMDsgKytpKSB7CisgICAgIHVpbnQ4X3QqIHAgPSByZWludGVycHJldF9jYXN0PHVpbnQ4X3Qq PihhbGxvY2F0b3IuQWxsb2MoaSkpOworICAgICBBU1NFUlRfRkFMU0UocCA9PSBOVUxMKTsKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBs b2l0YWJpbGl0eV9saW51eC5jYworQEAgLTIwMiwxMiArMjAyLDE0IEBAIGJvb2wgRXhwbG9pdGFi aWxpdHlMaW51eDo6RW5kZWRPbklsbGVnYWwKKyAgIC8vIENoZWNrIGFyY2hpdGVjdHVyZSBhbmQg c2V0IGFyY2hpdGVjdHVyZSB2YXJpYWJsZSB0byBjb3JyZXNwb25kaW5nIGZsYWcKKyAgIC8vIGlu IG9iamR1bXAuCisgICBzd2l0Y2ggKGNvbnRleHQtPkdldENvbnRleHRDUFUoKSkgeworKyNpZiBk ZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82NCkKKyAgICAgY2FzZSBNRF9DT05URVhU X1g4NjoKKyAgICAgICBhcmNoaXRlY3R1cmUgPSAiaTM4NiI7CisgICAgICAgYnJlYWs7CisgICAg IGNhc2UgTURfQ09OVEVYVF9BTUQ2NDoKKyAgICAgICBhcmNoaXRlY3R1cmUgPSAiaTM4Njp4ODYt NjQiOworICAgICAgIGJyZWFrOworKyNlbmRpZgorICAgICBkZWZhdWx0OgorICAgICAgIC8vIFVu c3VwcG9ydGVkIGFyY2hpdGVjdHVyZS4gTm90ZSB0aGF0IEFSTSBhcmNoaXRlY3R1cmVzIGFyZSBu b3QKKyAgICAgICAvLyBzdXBwb3J0ZWQgYmVjYXVzZSBvYmpkdW1wIGRvZXMgbm90IHN1cHBvcnQg QVJNLgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9pdGFiaWxpdHlfdW5pdHRlc3QuY2MKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJv Y2Vzc29yL2V4cGxvaXRhYmlsaXR5X3VuaXR0ZXN0LmNjCitAQCAtMTA0LDYgKzEwNCw4IEBAIEV4 cGxvaXRhYmlsaXR5Rm9yKGNvbnN0IHN0cmluZyYgZmlsZW5hbWUKKyB9CisgCisgVEVTVChFeHBs b2l0YWJpbGl0eVRlc3QsIFRlc3RXaW5kb3dzRW5naW5lKSB7CisrLy8gVGhlIGZvbGxvd2luZyB0 ZXN0cyBhcmUgb25seSBleGVjdXRhYmxlIG9uIGFuIHg4Ni1jbGFzcyBsaW51eCBtYWNoaW5lLgor KyNpZiAhZGVmaW5lZChfV0lOMzIpICYmIChkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4 Nl82NCkpCisgICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdI LAorICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJhc2NpaV9yZWFkX2F2LmRtcCIpKTsK KyAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0hJR0gsCitAQCAt MTM2LDkgKzEzOCwxMiBAQCBURVNUKEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVzdFdpbmRvd3NFbmdp CisgICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoInJlYWRfYXZfY2xvYmJlcl93cml0ZS5k bXAiKSk7CisgICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9MT1cs CisgICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoInJlYWRfYXZfY29uZGl0aW9uYWwuZG1w IikpOworKyNlbmRpZgorIH0KKyAKKyBURVNUKEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVzdExpbnV4 RW5naW5lKSB7CisrLy8gVGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgb25seSBleGVjdXRhYmxlIG9u IGFuIHg4Ni1jbGFzcyBsaW51eCBtYWNoaW5lLgorKyNpZiBkZWZpbmVkKF9faTM4NikgfHwgZGVm aW5lZChfX3g4Nl82NCkKKyAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklM SVRZX0lOVEVSRVNUSU5HLAorICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF9u dWxsX3JlYWRfYXYuZG1wIikpOworICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9J VEFCSUxJVFlfSElHSCwKK0BAIC0xNzEsNyArMTc2LDggQEAgVEVTVChFeHBsb2l0YWJpbGl0eVRl c3QsIFRlc3RMaW51eEVuZ2luZQorICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51 eF9leGVjdXRhYmxlX2hlYXAuZG1wIikpOworICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6 RVhQTE9JVEFCSUxJVFlfSElHSCwKKyAgICAgICAgICAgICBFeHBsb2l0YWJpbGl0eUZvcigibGlu dXhfam1wX3RvX21vZHVsZV9ub3RfZXhlX3JlZ2lvbi5kbXAiKSk7CistI2lmbmRlZiBfV0lOMzIK KysjZW5kaWYKKysjaWYgIWRlZmluZWQoX1dJTjMyKSAmJiAoZGVmaW5lZChfX2kzODYpIHx8IGRl ZmluZWQoX194ODZfNjQpKQorICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFC SUxJVFlfSElHSCwKKyAgICAgICAgICAgICBFeHBsb2l0YWJpbGl0eUZvcigibGludXhfd3JpdGVf dG9fbm9ud3JpdGFibGVfbW9kdWxlLmRtcCIpKTsKKyAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtw YWQ6OkVYUExPSVRBQklMSVRZX0hJR0gsCitAQCAtMTgyLDEwICsxODgsMTAgQEAgVEVTVChFeHBs b2l0YWJpbGl0eVRlc3QsIFRlc3RMaW51eEVuZ2luZQorICAgICAgICAgICAgIEV4cGxvaXRhYmls aXR5Rm9yKCJsaW51eF93cml0ZV90b19vdXRzaWRlX21vZHVsZV92aWFfbWF0aC5kbXAiKSk7Cisg ICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9JTlRFUkVTVElORywK KyAgICAgICAgICAgICBFeHBsb2l0YWJpbGl0eUZvcigibGludXhfd3JpdGVfdG9fdW5kZXJfNGsu ZG1wIikpOworLSNlbmRpZiAgLy8gX1dJTjMyCisrI2VuZGlmICAvLyAhZGVmaW5lZChfV0lOMzIp ICYmICghZGVmaW5lZChfX2kzODYpICYmICFkZWZpbmVkKF9feDg2XzY0KSkKKyB9CisgCistI2lm bmRlZiBfV0lOMzIKKysjaWYgIWRlZmluZWQoX1dJTjMyKSAmJiAoZGVmaW5lZChfX2kzODYpIHx8 IGRlZmluZWQoX194ODZfNjQpKQorIFRFU1QoRXhwbG9pdGFiaWxpdHlMaW51eFV0aWxzVGVzdCwg RGlzYXNzZW1ibGVCeXRlc1Rlc3QpIHsKKyAgIEFTU0VSVF9GQUxTRShFeHBsb2l0YWJpbGl0eUxp bnV4VGVzdDo6RGlzYXNzZW1ibGVCeXRlcygiIiwgTlVMTCwgNSwgTlVMTCkpOworICAgdWludDhf dCBieXRlc1s2XSA9IHsweGM3LCAweDAsIDB4NSwgMHgwLCAweDAsIDB4MH07CitAQCAtMzAxLDYg KzMwNyw3IEBAIFRFU1QoRXhwbG9pdGFiaWxpdHlMaW51eFV0aWxzVGVzdCwgQ2FsY3UKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250 ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZ3cml0ZV9hZGRyZXNzKSk7CisgfQorLSNlbmRpZiAgLy8gX1dJTjMyCisrI2VuZGlm ICAvLyAhZGVmaW5lZChfV0lOMzIpICYmIChkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4 Nl82NCkpCisrCisgCisgfSAgLy8gbmFtZXNwYWNlCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Rvb2xzL2xpbnV4L21kMmNvcmUv bWluaWR1bXAtMi1jb3JlLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Rvb2xzL2xpbnV4L21kMmNvcmUvbWluaWR1bXAtMi1j b3JlLmNjCitAQCAtNzcsNiArNzcsOCBAQAorICAgI2RlZmluZSBFTEZfQVJDSCAgRU1fTUlQUwor ICNlbGlmIGRlZmluZWQoX19hYXJjaDY0X18pCisgICAjZGVmaW5lIEVMRl9BUkNIICBFTV9BQVJD SDY0CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgI2RlZmluZSBFTEZfQVJDSCAg RU1fUFBDNjQKKyAjZW5kaWYKKyAKKyAjaWYgZGVmaW5lZChfX2FybV9fKQorQEAgLTg3LDYgKzg5 LDggQEAgdHlwZWRlZiB1c2VyX3JlZ3MgdXNlcl9yZWdzX3N0cnVjdDsKKyAjZWxpZiBkZWZpbmVk IChfX21pcHNfXykKKyAvLyBUaGlzIGZpbGUtbG9jYWwgdHlwZWRlZiBzaW1wbGlmaWVzIHRoZSBz b3VyY2UgY29kZS4KKyB0eXBlZGVmIGdyZWdzZXRfdCB1c2VyX3JlZ3Nfc3RydWN0OworKyNlbGlm IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyt0eXBlZGVmIHN0cnVjdCBwdF9yZWdzIHVzZXJfcmVn c19zdHJ1Y3Q7CisgI2VuZGlmCisgCisgdXNpbmcgZ29vZ2xlX2JyZWFrcGFkOjpNRFR5cGVIZWxw ZXI7CitAQCAtMzIyLDYgKzMyNiwxMiBAQCBzdHJ1Y3QgQ3Jhc2hlZFByb2Nlc3MgeworICNpZiBk ZWZpbmVkKF9fYWFyY2g2NF9fKQorICAgICB1c2VyX2Zwc2ltZF9zdHJ1Y3QgZnByZWdzOworICNl bmRpZgorKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAgIG1jb250ZXh0X3QgbWNvbnRl eHQ7CisrI2VuZGlmCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgbWNvbnRleHRf dCBtY29udGV4dDsKKysjZW5kaWYKKyAgICAgdWludHB0cl90IHN0YWNrX2FkZHI7CisgICAgIGNv bnN0IHVpbnQ4X3QqIHN0YWNrOworICAgICBzaXplX3Qgc3RhY2tfbGVuZ3RoOworQEAgLTUzNSw2 ICs1NDUsMzggQEAgUGFyc2VUaHJlYWRSZWdpc3RlcnMoQ3Jhc2hlZFByb2Nlc3M6OlRocgorICAg dGhyZWFkLT5tY29udGV4dC5mcGNfZWlyID0gcmF3cmVncy0+ZmxvYXRfc2F2ZS5maXI7CisgI2Vu ZGlmCisgfQorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKytzdGF0aWMgdm9pZAorK1Bh cnNlVGhyZWFkUmVnaXN0ZXJzKENyYXNoZWRQcm9jZXNzOjpUaHJlYWQqIHRocmVhZCwKKysgICAg ICAgICAgICAgICAgICAgICBjb25zdCBNaW5pZHVtcE1lbW9yeVJhbmdlJiByYW5nZSkgeworKyAg Y29uc3QgTURSYXdDb250ZXh0UFBDNjQqIHJhd3JlZ3MgPSByYW5nZS5HZXREYXRhPE1EUmF3Q29u dGV4dFBQQzY0PigwKTsKKysKKysgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfQ09OVEVYVF9QUEM2 NF9HUFJfQ09VTlQ7IGkrKykKKysgICAgdGhyZWFkLT5tY29udGV4dC5ncF9yZWdzW2ldID0gcmF3 cmVncy0+Z3ByW2ldOworKworKyAgdGhyZWFkLT5tY29udGV4dC5ncF9yZWdzW1BUX0xOS10gPSBy YXdyZWdzLT5scjsKKysgIHRocmVhZC0+bWNvbnRleHQuZ3BfcmVnc1tQVF9OSVBdID0gcmF3cmVn cy0+c3JyMDsKKysgIHRocmVhZC0+bWNvbnRleHQuZ3BfcmVnc1tQVF9NU1JdID0gcmF3cmVncy0+ c3JyMTsKKysgIHRocmVhZC0+bWNvbnRleHQuZ3BfcmVnc1tQVF9DQ1JdID0gcmF3cmVncy0+Y3I7 CisrICB0aHJlYWQtPm1jb250ZXh0LmdwX3JlZ3NbUFRfWEVSXSA9IHJhd3JlZ3MtPnhlcjsKKysg IHRocmVhZC0+bWNvbnRleHQuZ3BfcmVnc1tQVF9DVFJdID0gcmF3cmVncy0+Y3RyOworKyAgdGhy ZWFkLT5tY29udGV4dC52X3JlZ3MtPnZyc2F2ZSA9IHJhd3JlZ3MtPnZyc2F2ZTsKKysKKysgIGZv ciAoaW50IGkgPSAwOyBpIDwgTURfRkxPQVRJTkdTQVZFQVJFQV9QUENfRlBSX0NPVU5UOyBpKysp CisrICAgICAgdGhyZWFkLT5tY29udGV4dC5mcF9yZWdzW2ldID0gcmF3cmVncy0+ZmxvYXRfc2F2 ZS5mcHJlZ3NbaV07CisrCisrICB0aHJlYWQtPm1jb250ZXh0LmZwX3JlZ3NbTkZQUkVHLTFdID0g cmF3cmVncy0+ZmxvYXRfc2F2ZS5mcHNjcjsKKysKKysgIGZvciAoaW50IGkgPSAwOyBpIDwgTURf VkVDVE9SU0FWRUFSRUFfUFBDX1ZSX0NPVU5UOyBpKyspIHsKKysgICAgICB0aHJlYWQtPm1jb250 ZXh0LnZfcmVncy0+dnJyZWdzW2ldWzBdID0gcmF3cmVncy0+dmVjdG9yX3NhdmUuc2F2ZV92cltp XS5oaWdoID4+IDMyOworKyAgICAgIHRocmVhZC0+bWNvbnRleHQudl9yZWdzLT52cnJlZ3NbaV1b MV0gPSByYXdyZWdzLT52ZWN0b3Jfc2F2ZS5zYXZlX3ZyW2ldLmhpZ2g7CisrICAgICAgdGhyZWFk LT5tY29udGV4dC52X3JlZ3MtPnZycmVnc1tpXVsyXSA9IHJhd3JlZ3MtPnZlY3Rvcl9zYXZlLnNh dmVfdnJbaV0ubG93ID4+IDMyOworKyAgICAgIHRocmVhZC0+bWNvbnRleHQudl9yZWdzLT52cnJl Z3NbaV1bM10gPSByYXdyZWdzLT52ZWN0b3Jfc2F2ZS5zYXZlX3ZyW2ldLmxvdzsKKysgIH0KKysK KysgIHRocmVhZC0+bWNvbnRleHQudl9yZWdzLT52c2NyLnZzY3Jfd29yZCA9IHJhd3JlZ3MtPnZl Y3Rvcl9zYXZlLnNhdmVfdnNjci5sb3cgJiAweEZGRkZGRkZGOworK30KKysKKyAjZWxzZQorICNl cnJvciAiVGhpcyBjb2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQi CisgI2VuZGlmCitAQCAtNjIzLDYgKzY2NSwxMiBAQCBQYXJzZVN5c3RlbUluZm8oY29uc3QgT3B0 aW9ucyYgb3B0aW9ucywKKyAjIGVsc2UKKyAjICBlcnJvciAiVGhpcyBtaXBzIEFCSSBpcyBjdXJy ZW50bHkgbm90IHN1cHBvcnRlZCAobjMyKSIKKyAjIGVuZGlmCisrI2VsaWYgZGVmaW5lZChfX3Bv d2VycGM2NF9fKQorKyAgaWYgKHN5c2luZm8tPnByb2Nlc3Nvcl9hcmNoaXRlY3R1cmUgIT0gTURf Q1BVX0FSQ0hJVEVDVFVSRV9QUEM2NCkgeworKyAgICBmcHJpbnRmKHN0ZGVyciwKKysgICAgICAg ICAgICAiVGhpcyB2ZXJzaW9uIG9mIG1pbmlkdW1wLTItY29yZSBvbmx5IHN1cHBvcnRzIFBQQzY0 LlxuIik7CisrICAgIGV4aXQoMSk7CisrICB9CisgI2Vsc2UKKyAjZXJyb3IgIlRoaXMgY29kZSBo YXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0IgorICNlbmRpZgorLS0tIGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL0NPTlRS SUJVVE9SUworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL0NPTlRSSUJVVE9SUworQEAgLTEzLDMgKzEzLDQgQEAgTWFyayBNZW50b3ZhaSA8 bWFya0BjaHJvbWl1bS5vcmc+CisgUm9iZXJ0IFNlc2VrIDxyc2VzZWtAY2hyb21pdW0ub3JnPgor IFNjb3R0IEdyYWhhbSA8c2NvdHRtZ0BjaHJvbWl1bS5vcmc+CisgSm9zaHVhIFBlcmF6YSA8anBl cmF6YUBjaHJvbWl1bS5vcmc+CisrU2hhd24gQW5hc3Rhc2lvIDxzaGF3bkBhbmFzdGFzLmlvPgor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L2NvbXBhdC9saW51eC9zeXMvdXNlci5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4L3N5cy91c2VyLmgKK0BAIC0x NSw2ICsxNSw3IEBACisgI2lmbmRlZiBDUkFTSFBBRF9DT01QQVRfTElOVVhfU1lTX1VTRVJfSF8K KyAjZGVmaW5lIENSQVNIUEFEX0NPTVBBVF9MSU5VWF9TWVNfVVNFUl9IXworIAorKyNpbmNsdWRl IDxjc3RkZGVmPgorICNpbmNsdWRlX25leHQgPHN5cy91c2VyLmg+CisgCisgI2luY2x1ZGUgPGZl YXR1cmVzLmg+CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dC5oCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1 bXBfY29udGV4dC5oCitAQCAtNTkyLDYgKzU5Miw3MCBAQCBzdHJ1Y3QgTWluaWR1bXBDb250ZXh0 TUlQUzY0IHsKKyAgIHVpbnQ2NF90IGZpcjsKKyB9OworIAorKy8vISBcYnJpZWYgcHBjNjQtc3Bl Y2lmaWMgZmxhZ3MgZm9yIE1pbmlkdW1wUFBDNjQ6OmNvbnRleHRfZmxhZ3MKKysvLyEgQmFzZWQg b24gbWluaWR1bXBfY3B1X3BwYzY0LmggZnJvbSBicmVha3BhZAorK2VudW0gTWluaWR1bXBDb250 ZXh0UFBDNjRGbGFncyA6IHVpbnQzMl90IHsKKysgIC8vISBcYnJpZWYgSWRlbnRpZmllcyB0aGUg Y29udGV4dCBhcyBQUEM2NC4KKysgIGtNaW5pZHVtcENvbnRleHRQUEM2NCA9IDB4MDEwMDAwMDAs CisrCisrICAvLyEgXGJyaWVmIEluZGljYXRlcyB0aGUgdmFsaWRpdHkgb2YgZ2VuZXJhbCBwdXJw b3NlIHJlZ2lzdGVycy4KKysgIC8vIQorKyAgLy8hIFJlZ2lzdGVycyBgcjBgLWByMzFgLCBgbmlw YCwgYG1zcmAsIGBscmAsIGV0Yy4gYXJlIHZhbGlkLgorKyAga01pbmlkdW1wQ29udGV4dFBQQzY0 QmFzZSA9IGtNaW5pZHVtcENvbnRleHRQUEM2NCB8IDB4MDAwMDAwMDEsCisrCisrICAvLyEgXGJy aWVmIEluZGljYXRlcyB0aGUgdmFsaWRpdHkgb2YgZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzLgor KyAgLy8hCisrICAvLyEgUmVnaXN0ZXJzIGBmcDBgLWBmcDMxYCwgYGZwc2NyYCBhcmUgdmFsaWQu CisrICBrTWluaWR1bXBDb250ZXh0UFBDNjRGbG9hdGluZyA9IGtNaW5pZHVtcENvbnRleHRQUEM2 NCB8IDB4MDAwMDAwMDgsCisrCisrICAvLyEgXGJyaWVmIEluZGljYXRlcyB0aGUgdmFsaWRpdHkg b2YgQWx0aXZlYy9WTVggcmVnaXN0ZXJzLgorKyAgLy8hCisrICAvLyEgUmVnaXN0ZXJzIGB2MGAt YHYzMWAsIGB2c2NyYCwgYHZyc2F2ZWAuCisrICBrTWluaWR1bXBDb250ZXh0UFBDNjRWZWN0b3Ig PSBrTWluaWR1bXBDb250ZXh0UFBDNjQgfCAweDAwMDAwMDIwLAorKworKyAgLy8hIFxicmllZiBJ bmRpY2F0ZXMgdGhlIHZhbGlkaXR5IG9mIGFsbCByZWdpc3RlcnMKKysgIGtNaW5pZHVtcENvbnRl eHRQUEM2NEFsbCA9IGtNaW5pZHVtcENvbnRleHRQUEM2NEJhc2UgICAgIHwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGtNaW5pZHVtcENvbnRleHRQUEM2NEZsb2F0aW5nIHwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGtNaW5pZHVtcENvbnRleHRQUEM2NFZlY3RvcgorK307 CisrCisrLy8hIFxicmllZiBBIFBQQzY0IENQVSBjb250ZXh0IGNhcnJpZWQgaW4gYSBtaW5pZHVt cCBmaWxlLgorKy8vISBCYXNlZCBvbiBtaW5pZHVtcF9jcHVfcHBjNjQuaCBmcm9tIGJyZWFrcGFk LgorK3N0cnVjdCBNaW5pZHVtcENvbnRleHRQUEM2NCB7CisrICB1aW50NjRfdCBjb250ZXh0X2Zs YWdzOworKworKyAgLy8hIFxicmllZiBHZW5lcmFsIHB1cnBvc2UgcmVnaXN0ZXJzLgorKyAgdWlu dDY0X3QgbmlwOworKyAgdWludDY0X3QgbXNyOworKyAgdWludDY0X3QgcmVnc1szMl07CisrICB1 aW50NjRfdCBjY3I7CisrICB1aW50NjRfdCB4ZXI7CisrICB1aW50NjRfdCBsbms7CisrICB1aW50 NjRfdCBjdHI7CisrCisrICAvLyEgXGJyaWVmIEZsb2F0aW5nIHBvaW50IHJlZ2lzdGVycy4KKysg IGRvdWJsZSBmcHJlZ3NbMzJdOworKworKyAgLy8hIFxicmllZiBGUFUgc3RhdHVzIHJlZ2lzdGVy LgorKyAgZG91YmxlIGZwc2NyOworKworKyAgLy8hIFxicmllZiBBbHRpdmVjL1ZNWCB2ZWN0b3Ig cmVnaXN0ZXJzLgorKyAgc3RydWN0IHsKKysgICAgICAvLyEgXGJyaWVmIFZlY3RvciByZWdpc3Rl cnMgYXJlIDEyOGJpdHMuCisrICAgICAgdWludDEyOF9zdHJ1Y3Qgc2F2ZV92clszMl07CisrICAg ICAgdWludDEyOF9zdHJ1Y3Qgc2F2ZV92c2NyOworKworKyAgICAgIC8vISBcYnJpZWYgUGFkZGlu ZyBpbmNsdWRlZCBmb3IgYnJlYWtwYWQgY29tcGF0aWJpbHRpeS4KKysgICAgICB1aW50MzJfdCBz YXZlX3BhZDVbNF07CisrCisrICAgICAgLy8hIFxicmllZiBWUlNBVkUgcmVnaXN0ZXIuCisrICAg ICAgdWludDMyX3Qgc2F2ZV92cnNhdmU7CisrCisrICAgICAgLy8hIFxicmllZiBQYWRkaW5nIGlu Y2x1ZGVkIGZvciBicmVha3BhZCBjb21wYXRpYmlsdGl5LgorKyAgICAgIHVpbnQzMl90IHNhdmVf cGFkNls3XTsKKysgIH0gdnJlZ3M7CisrfTsKKysKKyB9ICAvLyBuYW1lc3BhY2UgY3Jhc2hwYWQK KyAKKyAjZW5kaWYgIC8vIENSQVNIUEFEX01JTklEVU1QX01JTklEVU1QX0NPTlRFWFRfSF8KKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9t aW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2Nv bnRleHRfd3JpdGVyLmNjCitAQCAtMTAxLDYgKzEwMSwxMyBAQCBNaW5pZHVtcENvbnRleHRXcml0 ZXI6OkNyZWF0ZUZyb21TbmFwc2hvCisgICAgICAgYnJlYWs7CisgICAgIH0KKyAKKysgICAgY2Fz ZSBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQ6IHsKKysgICAgICBjb250ZXh0ID0gc3RkOjptYWtlX3Vu aXF1ZTxNaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlcj4oKTsKKysgICAgICByZWludGVycHJldF9j YXN0PE1pbmlkdW1wQ29udGV4dFBQQzY0V3JpdGVyKj4oY29udGV4dC5nZXQoKSkKKysgICAgICAg ICAgLT5Jbml0YWxpemVGcm9tU25hcHNob3QoY29udGV4dF9zbmFwc2hvdC0+cHBjNjQpOworKyAg ICAgIGJyZWFrOworKyAgICB9CisrCisgICAgIGRlZmF1bHQ6IHsKKyAgICAgICBMT0coRVJST1Ip IDw8ICJ1bmtub3duIGNvbnRleHQgYXJjaGl0ZWN0dXJlICIKKyAgICAgICAgICAgICAgICAgIDw8 IGNvbnRleHRfc25hcHNob3QtPmFyY2hpdGVjdHVyZTsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250 ZXh0X3dyaXRlci5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuaAorQEAgLTMx NSw2ICszMTUsNDUgQEAgY2xhc3MgTWluaWR1bXBDb250ZXh0TUlQUzY0V3JpdGVyIGZpbmFsCisg ICBESVNBTExPV19DT1BZX0FORF9BU1NJR04oTWluaWR1bXBDb250ZXh0TUlQUzY0V3JpdGVyKTsK KyB9OworIAorK2NsYXNzIE1pbmlkdW1wQ29udGV4dFBQQzY0V3JpdGVyIGZpbmFsIDogcHVibGlj IE1pbmlkdW1wQ29udGV4dFdyaXRlciB7CisrIHB1YmxpYzoKKysgIE1pbmlkdW1wQ29udGV4dFBQ QzY0V3JpdGVyKCk7CisrICB+TWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIoKSBvdmVycmlkZTsK KysKKysgIC8vISBcYnJpZWYgSW5pdGFsaXplcyB0aGUgTWluaWR1bXBDb250ZXh0UFBDNjQgYmFz ZWQgb24gXGEgY29udGV4dF9zbmFwc2hvdC4KKysgIC8vIQorKyAgLy8hIFxwYXJhbVtpbl0gY29u dGV4dF9zbmFwc2hvdCBUaGUgY29udGV4dCBzbmFwc2hvdCB0byB1c2UgYXMgc291cmNlIGRhdGEu CisrICAvLyEKKysgIC8vISBcbm90ZSBWYWxpZCBpbiAja1N0YXRlTXV0YWJsZS4gTm8gbXV0YXRp b24gb2YgY29udGV4dCgpIG1heSBiZSBkb25lIGJlZm9yZQorKyAgLy8hICAgICBjYWxsaW5nIHRo aXMgbWV0aG9kLCBhbmQgaXQgaXMgbm90IG5vcm1hbGx5IG5lY2Vzc2FyeSB0byBhbHRlcgorKyAg Ly8hICAgICBjb250ZXh0KCkgYWZ0ZXIgY2FsbGluZyB0aGlzIG1ldGhvZC4KKysgIHZvaWQgSW5p dGFsaXplRnJvbVNuYXBzaG90KGNvbnN0IENQVUNvbnRleHRQUEM2NCogY29udGV4dF9zbmFwc2hv dCk7CisrCisrICAvLyEgXGJyaWVmIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBjb250ZXh0IHN0 cnVjdHVyZSB0aGF0IHRoaXMgb2JqZWN0IHdpbGwKKysgIC8vISAgICAgd3JpdGUuCisrICAvLyEK KysgIC8vISBcYXR0ZW50aW9uIFRoaXMgcmV0dXJucyBhIG5vbi1gY29uc3RgIHBvaW50ZXIgdG8g dGhpcyBvYmplY3TigJlzIHByaXZhdGUKKysgIC8vISAgICAgZGF0YSBzbyB0aGF0IGEgY2FsbGVy IGNhbiBwb3B1bGF0ZSB0aGUgY29udGV4dCBzdHJ1Y3R1cmUgZGlyZWN0bHkuCisrICAvLyEgICAg IFRoaXMgaXMgZG9uZSBiZWNhdXNlIHByb3ZpZGluZyBzZXR0ZXIgaW50ZXJmYWNlcyB0byBlYWNo IGZpZWxkIGluIHRoZQorKyAgLy8hICAgICBjb250ZXh0IHN0cnVjdHVyZSB3b3VsZCBiZSB1bndp ZWxkeSBhbmQgY3VtYmVyc29tZS4gQ2FyZSBtdXN0IGJlIHRha2VuCisrICAvLyEgICAgIHRvIHBv cHVsYXRlIHRoZSBjb250ZXh0IHN0cnVjdHVyZSBjb3JyZWN0bHkuIFRoZSBjb250ZXh0IHN0cnVj dHVyZQorKyAgLy8hICAgICBtdXN0IG9ubHkgYmUgbW9kaWZpZWQgd2hpbGUgdGhpcyBvYmplY3Qg aXMgaW4gdGhlICNrU3RhdGVNdXRhYmxlCisrICAvLyEgICAgIHN0YXRlLgorKyAgTWluaWR1bXBD b250ZXh0UFBDNjQqIGNvbnRleHQoKSB7IHJldHVybiAmY29udGV4dF87IH0KKysKKysgcHJvdGVj dGVkOgorKyAgLy8gTWluaWR1bXBXcml0YWJsZToKKysgIGJvb2wgV3JpdGVPYmplY3QoRmlsZVdy aXRlckludGVyZmFjZSogZmlsZV93cml0ZXIpIG92ZXJyaWRlOworKworKyAgLy8gTWluaWR1bXBD b250ZXh0V3JpdGVyOgorKyAgc2l6ZV90IENvbnRleHRTaXplKCkgY29uc3Qgb3ZlcnJpZGU7Cisr CisrIHByaXZhdGU6CisrICBNaW5pZHVtcENvbnRleHRQUEM2NCBjb250ZXh0XzsKKysKKysgIERJ U0FMTE9XX0NPUFlfQU5EX0FTU0lHTihNaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlcik7CisrfTsK KysKKyB9ICAvLyBuYW1lc3BhY2UgY3Jhc2hwYWQKKyAKKyAjZW5kaWYgIC8vIENSQVNIUEFEX01J TklEVU1QX01JTklEVU1QX0NPTlRFWFRfV1JJVEVSX0hfCistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29u dGV4dF93cml0ZXJfdGVzdC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyX3Rl c3QuY2MKK0BAIC0yMTMsNiArMjEzLDIxIEBAIFRFU1QoTWluaWR1bXBDb250ZXh0V3JpdGVyLCBN SVBTNjRfRnJvbVMKKyAgICAgICBjb250ZXh0LCBFeHBlY3RNaW5pZHVtcENvbnRleHRNSVBTNjQs IGtTZWVkKTsKKyB9CisgCisrVEVTVChNaW5pZHVtcENvbnRleHRXcml0ZXIsIFBQQzY0X1plcm9z KSB7CisrICBFbXB0eUNvbnRleHRUZXN0PE1pbmlkdW1wQ29udGV4dFBQQzY0V3JpdGVyLCBNaW5p ZHVtcENvbnRleHRQUEM2ND4oCisrICAgIEV4cGVjdE1pbmlkdW1wQ29udGV4dFBQQzY0KTsKKyt9 CisrCisrVEVTVChNaW5pZHVtcENvbnRleHRXcml0ZXIsIFBQQzY0X0Zyb21TbmFwc2hvdCkgewor KyAgY29uc3RleHByIHVpbnQzMl90IGtTZWVkID0gNjQ7CisrICBDUFVDb250ZXh0UFBDNjQgY29u dGV4dF9wcGM2NDsKKysgIENQVUNvbnRleHQgY29udGV4dDsKKysgIGNvbnRleHQucHBjNjQgPSAm Y29udGV4dF9wcGM2NDsKKysgIEluaXRpYWxpemVDUFVDb250ZXh0UFBDNjQoJmNvbnRleHQsIGtT ZWVkKTsKKysgIEZyb21TbmFwc2hvdFRlc3Q8TWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIsIE1p bmlkdW1wQ29udGV4dFBQQzY0PigKKysgICAgICBjb250ZXh0LCBFeHBlY3RNaW5pZHVtcENvbnRl eHRQUEM2NCwga1NlZWQpOworK30KKysKKyB9ICAvLyBuYW1lc3BhY2UKKyB9ICAvLyBuYW1lc3Bh Y2UgdGVzdAorIH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX21p c2NfaW5mb193cml0ZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9taXNjX2luZm9fd3JpdGVyLmNj CitAQCAtMTM1LDYgKzEzNSw4IEBAIHN0ZDo6c3RyaW5nIE1pbmlkdW1wTWlzY0luZm9EZWJ1Z0J1 aWxkU3QKKyAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBrQ1BVW10gPSAibWlwcyI7CisgI2VsaWYg ZGVmaW5lZChBUkNIX0NQVV9NSVBTNjRFTCkKKyAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBrQ1BV W10gPSAibWlwczY0IjsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQorKyAgc3RhdGlj IGNvbnN0ZXhwciBjaGFyIGtDUFVbXSA9ICJwcGM2NCI7CisgI2Vsc2UKKyAjZXJyb3IgZGVmaW5l IGtDUFUgZm9yIHRoaXMgQ1BVCisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY2FwdHVyZV9tZW1vcnkuY2MK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9jYXB0dXJlX21lbW9yeS5jYworQEAgLTExMiw2ICsxMTIsMTEgQEAgdm9pZCBD YXB0dXJlTWVtb3J5OjpQb2ludGVkVG9CeUNvbnRleHQoYworICAgZm9yIChzaXplX3QgaSA9IDA7 IGkgPCBiYXNlOjpzaXplKGNvbnRleHQubWlwc2VsLT5yZWdzKTsgKytpKSB7CisgICAgIE1heWJl Q2FwdHVyZU1lbW9yeUFyb3VuZChkZWxlZ2F0ZSwgY29udGV4dC5taXBzZWwtPnJlZ3NbaV0pOwor ICAgfQorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgTWF5YmVDYXB0 dXJlTWVtb3J5QXJvdW5kKGRlbGVnYXRlLCBjb250ZXh0LnBwYzY0LT5uaXApOworKyAgZm9yIChz aXplX3QgaSA9IDA7IGkgPCBiYXNlOjpzaXplKGNvbnRleHQucHBjNjQtPnJlZ3MpOyArK2kpIHsK KysgICAgTWF5YmVDYXB0dXJlTWVtb3J5QXJvdW5kKGRlbGVnYXRlLCBjb250ZXh0LnBwYzY0LT5y ZWdzW2ldKTsKKysgIH0KKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZgorLS0tIGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90 L2NwdV9hcmNoaXRlY3R1cmUuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9hcmNoaXRlY3R1cmUuaAorQEAgLTQz LDcgKzQzLDEwIEBAIGVudW0gQ1BVQXJjaGl0ZWN0dXJlIHsKKyAgIGtDUFVBcmNoaXRlY3R1cmVN SVBTRUwsCisgCisgICAvLyEgXGJyaWVmIDY0LWJpdCBNSVBTRUwuCistICBrQ1BVQXJjaGl0ZWN0 dXJlTUlQUzY0RUwKKysgIGtDUFVBcmNoaXRlY3R1cmVNSVBTNjRFTCwKKysKKysgIC8vISBcYnJp ZWYgNjQtYml0IFBQQzY0LgorKyAga0NQVUFyY2hpdGVjdHVyZVBQQzY0CisgfTsKKyAKKyB9ICAv LyBuYW1lc3BhY2UgY3Jhc2hwYWQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfY29udGV4dC5jYworKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90 L2NwdV9jb250ZXh0LmNjCitAQCAtMTY5LDYgKzE2OSw4IEBAIHVpbnQ2NF90IENQVUNvbnRleHQ6 Okluc3RydWN0aW9uUG9pbnRlcigKKyAgICAgICByZXR1cm4gYXJtLT5wYzsKKyAgICAgY2FzZSBr Q1BVQXJjaGl0ZWN0dXJlQVJNNjQ6CisgICAgICAgcmV0dXJuIGFybTY0LT5wYzsKKysgICAgY2Fz ZSBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQ6CisrICAgICAgcmV0dXJuIHBwYzY0LT5uaXA7CisgICAg IGRlZmF1bHQ6CisgICAgICAgTk9UUkVBQ0hFRCgpOworICAgICAgIHJldHVybiB+MHVsbDsKK0BA IC0xODUsNiArMTg3LDggQEAgdWludDY0X3QgQ1BVQ29udGV4dDo6U3RhY2tQb2ludGVyKCkgY29u cworICAgICAgIHJldHVybiBhcm0tPnNwOworICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVBUk02 NDoKKyAgICAgICByZXR1cm4gYXJtNjQtPnNwOworKyAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVQ UEM2NDoKKysgICAgICByZXR1cm4gcHBjNjQtPnJlZ3NbMV07CisgICAgIGRlZmF1bHQ6CisgICAg ICAgTk9UUkVBQ0hFRCgpOworICAgICAgIHJldHVybiB+MHVsbDsKK0BAIC0xOTYsNiArMjAwLDcg QEAgYm9vbCBDUFVDb250ZXh0OjpJczY0Qml0KCkgY29uc3QgeworICAgICBjYXNlIGtDUFVBcmNo aXRlY3R1cmVYODZfNjQ6CisgICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZUFSTTY0OgorICAgICBj YXNlIGtDUFVBcmNoaXRlY3R1cmVNSVBTNjRFTDoKKysgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJl UFBDNjQ6CisgICAgICAgcmV0dXJuIHRydWU7CisgICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZVg4 NjoKKyAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlQVJNOgorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0 LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC9zbmFwc2hvdC9jcHVfY29udGV4dC5oCitAQCAtMzUyLDYgKzM1MiwyNCBAQCBzdHJ1Y3Qg Q1BVQ29udGV4dE1JUFM2NCB7CisgICB1aW50NjRfdCBmaXI7CisgfTsKKyAKKysvLyEgXGJyaWVm IEEgY29udGV4dCBzdHJ1Y3R1cmUgY2FycnlpbmcgUFBDNjQgQ1BVIHN0YXRlLgorK3N0cnVjdCBD UFVDb250ZXh0UFBDNjQgeworKyAgdWludDY0X3QgbmlwOworKyAgdWludDY0X3QgbXNyOworKyAg dWludDY0X3QgcmVnc1szMl07CisrICB1aW50NjRfdCBjY3I7CisrICB1aW50NjRfdCB4ZXI7Cisr ICB1aW50NjRfdCBsbms7CisrICB1aW50NjRfdCBjdHI7CisrICBkb3VibGUgZnByZWdzWzMyXTsK KysgIGRvdWJsZSBmcHNjcjsKKysgIHN0cnVjdCB7CisrICAgIHVpbnQxMjhfc3RydWN0IHNhdmVf dnJbMzJdOworKyAgICB1aW50MTI4X3N0cnVjdCBzYXZlX3ZzY3I7CisrICAgIHVpbnQzMl90IHNh dmVfdnJzYXZlOworKyAgfSB2cmVnczsKKyt9OworKworIC8vISBcYnJpZWYgQSBjb250ZXh0IHN0 cnVjdHVyZSBjYXBhYmxlIG9mIGNhcnJ5aW5nIHRoZSBjb250ZXh0IG9mIGFueSBzdXBwb3J0ZWQK KyAvLyEgICAgIENQVSBhcmNoaXRlY3R1cmUuCisgc3RydWN0IENQVUNvbnRleHQgeworQEAgLTM4 Miw2ICs0MDAsNyBAQCBzdHJ1Y3QgQ1BVQ29udGV4dCB7CisgICAgIENQVUNvbnRleHRBUk02NCog YXJtNjQ7CisgICAgIENQVUNvbnRleHRNSVBTKiBtaXBzZWw7CisgICAgIENQVUNvbnRleHRNSVBT NjQqIG1pcHM2NDsKKysgICAgQ1BVQ29udGV4dFBQQzY0KiBwcGM2NDsKKyAgIH07CisgfTsKKyAK Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9saW51eC9jcHVfY29udGV4dF9saW51eC5oCisrKysgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvY3B1 X2NvbnRleHRfbGludXguaAorQEAgLTE1LDYgKzE1LDcgQEAKKyAjaWZuZGVmIENSQVNIUEFEX1NO QVBTSE9UX0xJTlVYX0NQVV9DT05URVhUX0xJTlVYX0hfCisgI2RlZmluZSBDUkFTSFBBRF9TTkFQ U0hPVF9MSU5VWF9DUFVfQ09OVEVYVF9MSU5VWF9IXworIAorKyNpbmNsdWRlIDxjc3RyaW5nPgor ICNpbmNsdWRlICJidWlsZC9idWlsZF9jb25maWcuaCIKKyAjaW5jbHVkZSAic25hcHNob3QvY3B1 X2NvbnRleHQuaCIKKyAjaW5jbHVkZSAic25hcHNob3QvbGludXgvc2lnbmFsX2NvbnRleHQuaCIK K0BAIC0xNzQsNiArMTc1LDc2IEBAIHZvaWQgSW5pdGlhbGl6ZUNQVUNvbnRleHRNSVBTKAorIAor ICNlbmRpZiAgLy8gQVJDSF9DUFVfTUlQU19GQU1JTFkgfHwgRE9YWUdFTgorIAorKyNpZiBkZWZp bmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkgfHwgRE9YWUdFTgorKworKy8vISBcYnJpZWYgSW5p dGFsaXplcyBhIENQVUNvbnRleHRQUEM2NCBzdHJ1Y3R1cmUgZnJvbSBuYXRpdmUgY29udGV4dAor Ky8vISAgICAgc3RydWN0dXJlcyBvbiBMaW51eC4KKysvLyEKKysvLyEgXHBhcmFtW2luXSB0aHJl YWRfY29udGV4dCBUaGUgbmF0aXZlIHRocmVhZCBjb250ZXh0LgorKy8vISBccGFyYW1baW5dIGZs b2F0X2NvbnRleHQgVGhlIG5hdGl2ZSBmbG9hdCBjb250ZXh0LgorKy8vISBccGFyYW1baW5dIHZl Y3Rvcl9jb250ZXh0IFRoZSBuYXRpdmUgdmVjdG9yIGNvbnRleHQuCisrLy8hIFxwYXJhbVtvdXRd IGNvbnRleHQgVGhlIENQVUNvbnRleHRQUEM2NCBzdHJ1Y3R1cmUgdG8gaW5pdGFsaXplLgorK3Rl bXBsYXRlIDx0eXBlbmFtZSBUcmFpdHM+Cisrdm9pZCBJbml0aWFsaXplQ1BVQ29udGV4dFBQQzY0 KAorKyAgICBjb25zdCBUaHJlYWRDb250ZXh0Ojp0NjRfdCYgdGhyZWFkX2NvbnRleHQsCisrICAg IGNvbnN0IEZsb2F0Q29udGV4dDo6ZjY0X3QmIGZsb2F0X2NvbnRleHQsCisrICAgIGNvbnN0IFZl Y3RvckNvbnRleHQ6OnY2NF90JiB2ZWN0b3JfY29udGV4dCwKKysgICAgdHlwZW5hbWUgVHJhaXRz OjpDUFVDb250ZXh0KiBjb250ZXh0KSB7CisrCisrICBtZW1jcHkoY29udGV4dC0+cmVncywgdGhy ZWFkX2NvbnRleHQuZ3ByLCBzaXplb2YoY29udGV4dC0+cmVncykpOworKyAgY29udGV4dC0+bmlw ID0gdGhyZWFkX2NvbnRleHQubmlwOworKyAgY29udGV4dC0+bXNyID0gdGhyZWFkX2NvbnRleHQu bXNyOworKyAgY29udGV4dC0+Y2NyID0gdGhyZWFkX2NvbnRleHQuY2NyOworKyAgY29udGV4dC0+ eGVyID0gdGhyZWFkX2NvbnRleHQueGVyOworKyAgY29udGV4dC0+bG5rID0gdGhyZWFkX2NvbnRl eHQubG5rOworKyAgY29udGV4dC0+Y3RyID0gdGhyZWFkX2NvbnRleHQuY3RyOworKworKyAgbWVt Y3B5KGNvbnRleHQtPmZwcmVncywgZmxvYXRfY29udGV4dC5mcHJlZ3MsIHNpemVvZihjb250ZXh0 LT5mcHJlZ3MpKTsKKysgIGNvbnRleHQtPmZwc2NyID0gZmxvYXRfY29udGV4dC5mcHNjcjsKKysK KysgIGZvciAodWludDhfdCBpID0gMDsgaSA8IDMyOyBpKyspIHsKKysgICAgY29udGV4dC0+dnJl Z3Muc2F2ZV92cltpXSA9IHsKKysgICAgICAoKCh1aW50NjRfdCl2ZWN0b3JfY29udGV4dC52cnJl Z3NbaV1bMF0pIDw8IDMyKSB8CisrICAgICAgICB2ZWN0b3JfY29udGV4dC52cnJlZ3NbaV1bMV0s CisrICAgICAgKCgodWludDY0X3QpdmVjdG9yX2NvbnRleHQudnJyZWdzW2ldWzJdKSA8PCAzMikg fAorKyAgICAgICAgdmVjdG9yX2NvbnRleHQudnJyZWdzW2ldWzNdCisrICAgIH07CisrICB9Cisr ICBjb250ZXh0LT52cmVncy5zYXZlX3Zyc2F2ZSA9IHZlY3Rvcl9jb250ZXh0LnZyc2F2ZTsKKysg IGNvbnRleHQtPnZyZWdzLnNhdmVfdnNjciA9IHswLCAodWludDY0X3QpdmVjdG9yX2NvbnRleHQu dnNjci52c2NyX3dvcmR9OworK30KKysKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJhaXRzPgorK3Zv aWQgSW5pdGlhbGl6ZUNQVUNvbnRleHRQUEM2NCgKKysgICAgY29uc3QgU2lnbmFsVGhyZWFkQ29u dGV4dDY0ICZ0aHJlYWRfY29udGV4dCwKKysgICAgY29uc3QgU2lnbmFsRmxvYXRDb250ZXh0NjQg JmZsb2F0X2NvbnRleHQsCisrICAgIGNvbnN0IFNpZ25hbFZlY3RvckNvbnRleHQ2NCAmdmVjdG9y X2NvbnRleHQsCisrICAgIHR5cGVuYW1lIFRyYWl0czo6Q1BVQ29udGV4dCogY29udGV4dCkgewor KworKyAgbWVtY3B5KGNvbnRleHQtPnJlZ3MsIHRocmVhZF9jb250ZXh0LnJlZ3MsIHNpemVvZihj b250ZXh0LT5yZWdzKSk7CisrICBjb250ZXh0LT5uaXAgPSB0aHJlYWRfY29udGV4dC5uaXA7Cisr ICBjb250ZXh0LT5tc3IgPSB0aHJlYWRfY29udGV4dC5tc3I7CisrICBjb250ZXh0LT5jY3IgPSB0 aHJlYWRfY29udGV4dC5jY3I7CisrICBjb250ZXh0LT54ZXIgPSB0aHJlYWRfY29udGV4dC54ZXI7 CisrICBjb250ZXh0LT5sbmsgPSB0aHJlYWRfY29udGV4dC5sbms7CisrICBjb250ZXh0LT5jdHIg PSB0aHJlYWRfY29udGV4dC5jdHI7CisrCisrICBtZW1jcHkoY29udGV4dC0+ZnByZWdzLCBmbG9h dF9jb250ZXh0LnJlZ3MsIHNpemVvZihjb250ZXh0LT5mcHJlZ3MpKTsKKysgIGNvbnRleHQtPmZw c2NyID0gZmxvYXRfY29udGV4dC5mcHNjcjsKKysKKysgIGZvciAodWludDhfdCBpID0gMDsgaSA8 IDMyOyBpKyspIHsKKysgICAgY29udGV4dC0+dnJlZ3Muc2F2ZV92cltpXSA9IHsKKysgICAgICAo KCh1aW50NjRfdCl2ZWN0b3JfY29udGV4dC52cnJlZ3NbaV1bMF0pIDw8IDMyKSB8CisrICAgICAg ICB2ZWN0b3JfY29udGV4dC52cnJlZ3NbaV1bMV0sCisrICAgICAgKCgodWludDY0X3QpdmVjdG9y X2NvbnRleHQudnJyZWdzW2ldWzJdKSA8PCAzMikgfAorKyAgICAgICAgdmVjdG9yX2NvbnRleHQu dnJyZWdzW2ldWzNdCisrICAgIH07CisrICB9CisrICBjb250ZXh0LT52cmVncy5zYXZlX3Zyc2F2 ZSA9IHZlY3Rvcl9jb250ZXh0LnZyc2F2ZTsKKysgIGNvbnRleHQtPnZyZWdzLnNhdmVfdnNjciA9 IHswLCAodWludDY0X3QpdmVjdG9yX2NvbnRleHQudnNjci52c2NyX3dvcmR9OworK30KKysKKysj ZW5kaWYKKyB9ICAvLyBuYW1lc3BhY2UgaW50ZXJuYWwKKyB9ICAvLyBuYW1lc3BhY2UgY3Jhc2hw YWQKKyAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9saW51eC9kZWJ1Z19yZW5kZXp2b3VzX3Rlc3QuY2MKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hv dC9saW51eC9kZWJ1Z19yZW5kZXp2b3VzX3Rlc3QuY2MKK0BAIC0xOTIsNiArMTkyLDggQEAgdm9p ZCBUZXN0QWdhaW5zdFRhcmdldChQdHJhY2VDb25uZWN0aW9uKgorICAgICAgICAgICAgICAgZGV2 aWNlID09IDAgJiYgaW5vZGUgPT0gMCAmJiBtYXBwaW5nX25hbWUgPT0gIlt2ZHNvXSI7CisgI2lm IGRlZmluZWQoQVJDSF9DUFVfWDg2KQorICAgICAgICAgICBzdGF0aWMgY29uc3RleHByIGNoYXIg a1ByZWZpeFtdID0gImxpbnV4LWdhdGUuc28uIjsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQ QzY0KQorKyAgICAgICAgICBzdGF0aWMgY29uc3RleHByIGNoYXIga1ByZWZpeFtdID0gImxpbnV4 LXZkc282NC5zby4iOworICNlbHNlCisgICAgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBr UHJlZml4W10gPSAibGludXgtdmRzby5zby4iOworICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4 Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFw c2hvdF9saW51eC5jYworQEAgLTMyMyw2ICszMjMsNjkgQEAgYm9vbCBFeGNlcHRpb25TbmFwc2hv dExpbnV4OjpSZWFkQ29udGV4dAorICAgICAgIHJlYWRlciwgY29udGV4dF9hZGRyZXNzLCBjb250 ZXh0Xy5taXBzNjQpOworIH0KKyAKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlM WSkKKysKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJhaXRzPgorK3N0YXRpYyBib29sIFJlYWRDb250 ZXh0KFByb2Nlc3NSZWFkZXJMaW51eCogcmVhZGVyLAorKyAgICAgICAgICAgICAgICAgICAgICAg IExpbnV4Vk1BZGRyZXNzIGNvbnRleHRfYWRkcmVzcywKKysgICAgICAgICAgICAgICAgICAgICAg ICB0eXBlbmFtZSBUcmFpdHM6OkNQVUNvbnRleHQqIGRlc3RfY29udGV4dCkgeworKyAgY29uc3Qg UHJvY2Vzc01lbW9yeSogbWVtb3J5ID0gcmVhZGVyLT5NZW1vcnkoKTsKKysKKysgIExpbnV4Vk1B ZGRyZXNzIGdwX3JlZ3NfYWRkcmVzcyA9IGNvbnRleHRfYWRkcmVzcyArCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZihVQ29udGV4dCwgbWNvbnRleHQpICsKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKHR5cGVuYW1lIFRyYWl0 czo6TUNvbnRleHQsIGdwX3JlZ3MpOworKworKyAgdHlwZW5hbWUgVHJhaXRzOjpTaWduYWxUaHJl YWRDb250ZXh0IHRocmVhZF9jb250ZXh0OworKyAgaWYgKCFtZW1vcnktPlJlYWQoZ3BfcmVnc19h ZGRyZXNzLCBzaXplb2YodGhyZWFkX2NvbnRleHQpLCAmdGhyZWFkX2NvbnRleHQpKSB7CisrICAg IExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHJlYWQgZ3BfcmVncyEiOworKyAgICByZXR1cm4gZmFs c2U7CisrICB9CisrCisrICBMaW51eFZNQWRkcmVzcyBmcF9yZWdzX2FkZHJlc3MgPSBjb250ZXh0 X2FkZHJlc3MgKworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2Yo VUNvbnRleHQsIG1jb250ZXh0KSArCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBvZmZzZXRvZih0eXBlbmFtZSBUcmFpdHM6Ok1Db250ZXh0LCBmcF9yZWdzKTsKKysKKysgIHR5 cGVuYW1lIFRyYWl0czo6U2lnbmFsRmxvYXRDb250ZXh0IGZwX2NvbnRleHQ7CisrICBpZiAoIW1l bW9yeS0+UmVhZChmcF9yZWdzX2FkZHJlc3MsIHNpemVvZihmcF9jb250ZXh0KSwgJmZwX2NvbnRl eHQpKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHJlYWQgZnBfcmVncyEiOworKyAg ICByZXR1cm4gZmFsc2U7CisrICB9CisrCisrICBMaW51eFZNQWRkcmVzcyB2X3JlZ3NfcHRyX2Fk ZHJlc3MgPSBjb250ZXh0X2FkZHJlc3MgKworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvZmZzZXRvZihVQ29udGV4dCwgbWNvbnRleHQpICsKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgb2Zmc2V0b2YodHlwZW5hbWUgVHJhaXRzOjpNQ29udGV4dCwgdm14X3Jl c2VydmUpICsgODsKKysKKysgIHR5cGVuYW1lIFRyYWl0czo6U2lnbmFsVmVjdG9yQ29udGV4dCB2 X2NvbnRleHQ7CisrICBpZiAoIW1lbW9yeS0+UmVhZCh2X3JlZ3NfcHRyX2FkZHJlc3MsIHNpemVv Zih2X2NvbnRleHQpLCAmdl9jb250ZXh0KSkgeworKyAgICBMT0coRVJST1IpIDw8ICJDb3VsZG4n dCByZWFkIHZfcmVncyEiOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrCisrICBJbml0aWFs aXplQ1BVQ29udGV4dFBQQzY0PENvbnRleHRUcmFpdHM2ND4odGhyZWFkX2NvbnRleHQsIGZwX2Nv bnRleHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZfY29udGV4dCwgZGVzdF9jb250 ZXh0KTsKKysKKysgIHJldHVybiB0cnVlOworK30KKysKKyt0ZW1wbGF0ZTw+CisrYm9vbCBFeGNl cHRpb25TbmFwc2hvdExpbnV4OjpSZWFkQ29udGV4dDxDb250ZXh0VHJhaXRzNjQ+KAorKyAgICBQ cm9jZXNzUmVhZGVyTGludXgqIHJlYWRlciwKKysgICAgTGludXhWTUFkZHJlc3MgY29udGV4dF9h ZGRyZXNzKSB7CisrICBjb250ZXh0Xy5hcmNoaXRlY3R1cmUgPSBrQ1BVQXJjaGl0ZWN0dXJlUFBD NjQ7CisrICBjb250ZXh0Xy5wcGM2NCA9ICZjb250ZXh0X3VuaW9uXy5wcGM2NDsKKysKKysgIHJl dHVybiBpbnRlcm5hbDo6UmVhZENvbnRleHQ8Q29udGV4dFRyYWl0czY0PigKKysgICAgICByZWFk ZXIsIGNvbnRleHRfYWRkcmVzcywgY29udGV4dF8ucHBjNjQpOworK30KKysKKyt0ZW1wbGF0ZTw+ CisrYm9vbCBFeGNlcHRpb25TbmFwc2hvdExpbnV4OjpSZWFkQ29udGV4dDxDb250ZXh0VHJhaXRz MzI+KAorKyAgICBQcm9jZXNzUmVhZGVyTGludXgqIHJlYWRlciwKKysgICAgTGludXhWTUFkZHJl c3MgY29udGV4dF9hZGRyZXNzKSB7CisrICAvLyBQUEM2NCBpcyA2NC1iaXQKKysgIHJldHVybiBm YWxzZTsKKyt9CisrCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCisgCisgYm9vbCBF eGNlcHRpb25TbmFwc2hvdExpbnV4OjpJbml0aWFsaXplKFByb2Nlc3NSZWFkZXJMaW51eCogcHJv Y2Vzc19yZWFkZXIsCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmgK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguaAorQEAgLTg0LDYgKzg0 LDggQEAgY2xhc3MgRXhjZXB0aW9uU25hcHNob3RMaW51eCBmaW5hbCA6IHB1YgorICNlbGlmIGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICAgIENQVUNvbnRleHRNSVBTIG1pcHNlbDsK KyAgICAgQ1BVQ29udGV4dE1JUFM2NCBtaXBzNjQ7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9Q UEM2NF9GQU1JTFkpCisrICAgIENQVUNvbnRleHRQUEM2NCBwcGM2NDsKKyAjZW5kaWYKKyAgIH0g Y29udGV4dF91bmlvbl87CisgICBDUFVDb250ZXh0IGNvbnRleHRfOworLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4 L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eF90ZXN0LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0 aW9uX3NuYXBzaG90X2xpbnV4X3Rlc3QuY2MKK0BAIC0yOTYsNyArMjk2LDI4IEBAIHZvaWQgRXhw ZWN0Q29udGV4dChjb25zdCBDUFVDb250ZXh0JiBhY3QKKyAgICAgICAgICAgICAwKTsKKyAjdW5k ZWYgQ1BVX0FSQ0hfTkFNRQorIH0KKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlM WSkKKyt1c2luZyBOYXRpdmVDUFVDb250ZXh0ID0gdWNvbnRleHRfdDsKKyAKKyt2b2lkIEluaXRp YWxpemVDb250ZXh0KE5hdGl2ZUNQVUNvbnRleHQqIGNvbnRleHQpIHsKKysgIGZvciAoc2l6ZV90 IHJlZyA9IDA7IHJlZyA8IDMyOyArK3JlZykgeworKyAgICBjb250ZXh0LT51Y19tY29udGV4dC5n cF9yZWdzW3JlZ10gPSByZWc7CisrICB9CisrCisrICBtZW1zZXQoJmNvbnRleHQtPnVjX21jb250 ZXh0LmZwX3JlZ3MsIDQ0LAorKyAgICAgIHNpemVvZihjb250ZXh0LT51Y19tY29udGV4dC5mcF9y ZWdzKSk7CisrfQorKworK3ZvaWQgRXhwZWN0Q29udGV4dChjb25zdCBDUFVDb250ZXh0JiBhY3R1 YWwsIGNvbnN0IE5hdGl2ZUNQVUNvbnRleHQmIGV4cGVjdGVkKSB7CisrICBFWFBFQ1RfRVEoYWN0 dWFsLmFyY2hpdGVjdHVyZSwga0NQVUFyY2hpdGVjdHVyZVBQQzY0KTsKKysKKysgIGZvciAoc2l6 ZV90IHJlZyA9IDA7IHJlZyA8IDMyOyArK3JlZykgeworKyAgICBFWFBFQ1RfRVEoYWN0dWFsLnBw YzY0LT5yZWdzW3JlZ10sIGV4cGVjdGVkLnVjX21jb250ZXh0LmdwX3JlZ3NbcmVnXSk7CisrICB9 CisrCisrICBFWFBFQ1RfRVEobWVtY21wKGFjdHVhbC5wcGM2NC0+ZnByZWdzLCBleHBlY3RlZC51 Y19tY29udGV4dC5mcF9yZWdzLAorKyAgICAgICAgICAgIHNpemVvZihhY3R1YWwucHBjNjQtPmZw cmVncykpLCAwKTsKKyt9CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hv dC9saW51eC9wcm9jZXNzX3JlYWRlcl9saW51eC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3Byb2Nlc3Nf cmVhZGVyX2xpbnV4LmNjCitAQCAtMTA4LDYgKzEwOCw4IEBAIHZvaWQgUHJvY2Vzc1JlYWRlckxp bnV4OjpUaHJlYWQ6OkluaXRpYWwKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZ KQorICAgc3RhY2tfcG9pbnRlciA9IHJlYWRlci0+SXM2NEJpdCgpID8gdGhyZWFkX2luZm8udGhy ZWFkX2NvbnRleHQudDY0LnJlZ3NbMjldCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOiB0aHJlYWRfaW5mby50aHJlYWRfY29udGV4dC50MzIucmVnc1syOV07CisrI2VsaWYg ZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICBzdGFja19wb2ludGVyID0gdGhyZWFk X2luZm8udGhyZWFkX2NvbnRleHQudDY0LmdwclsxXTsKKyAjZWxzZQorICNlcnJvciBQb3J0Lgor ICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3NpZ25hbF9jb250ZXh0LmgKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC9zaWduYWxfY29udGV4dC5oCitAQCAtNDIyLDYgKzQyMiw5MyBAQCBzdGF0aWNfYXNzZXJ0KG9m ZnNldG9mKFVDb250ZXh0PENvbnRleHRUCisgICAgICAgICAgICAgICAiY29udGV4dCBvZmZzZXQg bWlzbWF0Y2giKTsKKyAjZW5kaWYKKyAKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZB TUlMWSkKKysKKytzdHJ1Y3QgU2lnbmFsVGhyZWFkQ29udGV4dDY0IHsKKysgIHVpbnQ2NF90IHJl Z3NbMzJdOworKyAgdWludDY0X3QgbmlwOworKyAgdWludDY0X3QgbXNyOworKyAgdWludDY0X3Qg b3JpZ19yMzsKKysgIHVpbnQ2NF90IGN0cjsKKysgIHVpbnQ2NF90IGxuazsKKysgIHVpbnQ2NF90 IHhlcjsKKysgIHVpbnQ2NF90IGNjcjsKKysgIHVpbnQ2NF90IHNvZnRlOworKyAgdWludDY0X3Qg dHJhcDsKKysgIHVpbnQ2NF90IGRhcjsKKysgIHVpbnQ2NF90IGRzaXNyOworKyAgdWludDY0X3Qg cmVzdWx0OworKyAgdWludDY0X3QgZHNjcjsKKysgIHVpbnQ2NF90IGZwcjBbM107CisrfTsKKysK KytzdHJ1Y3QgU2lnbmFsRmxvYXRDb250ZXh0NjQgeworKyAgZG91YmxlIHJlZ3NbMzJdOworKyAg ZG91YmxlIGZwc2NyOworK307CisrCisrc3RydWN0IFNpZ25hbFZlY3RvckNvbnRleHQ2NCB7Cisr ICBpbnQzMl90IHZycmVnc1szMl1bNF07CisrICBzdHJ1Y3QgeworKyAgICBpbnQzMl90IF9fcGFk WzNdOworKyAgICBpbnQzMl90IHZzY3Jfd29yZDsKKysgIH0gdnNjcjsKKysgIGludDMyX3QgdnJz YXZlOworKyAgaW50MzJfdCBfX3BhZFszXTsKKyt9IF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9f KDE2KSkpOworKworKworKyNwcmFnbWEgcGFjayhwb3ApCisrc3RydWN0IE1Db250ZXh0NjQgewor KyAgdWludDY0X3QgcmVzZXJ2ZWRbNF07CisrICBpbnQzMl90IHNpZ25hbDsKKysgIGludDMyX3Qg X19wYWQwOworKyAgdWludDY0X3QgaGFuZGxlcjsKKysgIHVpbnQ2NF90IG9sZG1hc2s7CisrICB1 aW50NjRfdCBwdF9yZWdzX3B0cjsKKysgIFNpZ25hbFRocmVhZENvbnRleHQ2NCBncF9yZWdzOwor KyAgU2lnbmFsRmxvYXRDb250ZXh0NjQgIGZwX3JlZ3M7CisrICBTaWduYWxWZWN0b3JDb250ZXh0 NjQgKnZfcmVnczsKKysjaWZkZWYgX19HTElCQ19fCisrICBpbnQ2NF90IHZteF9yZXNlcnZlWzY5 XTsKKysjZWxzZQorKyAgaW50NjRfdCB2bXhfcmVzZXJ2ZVsxMDFdOworKyNlbmRpZgorK307Cisr Cisrc3RydWN0IENvbnRleHRUcmFpdHM2NCA6IHB1YmxpYyBUcmFpdHM2NCB7CisrICB1c2luZyBN Q29udGV4dCA9IE1Db250ZXh0NjQ7CisrICB1c2luZyBTaWduYWxUaHJlYWRDb250ZXh0ID0gU2ln bmFsVGhyZWFkQ29udGV4dDY0OworKyAgdXNpbmcgU2lnbmFsRmxvYXRDb250ZXh0ID0gU2lnbmFs RmxvYXRDb250ZXh0NjQ7CisrICB1c2luZyBTaWduYWxWZWN0b3JDb250ZXh0ID0gU2lnbmFsVmVj dG9yQ29udGV4dDY0OworKyAgdXNpbmcgQ1BVQ29udGV4dCA9IENQVUNvbnRleHRQUEM2NDsKKyt9 OworKworK3N0cnVjdCBDb250ZXh0VHJhaXRzMzIgOiBwdWJsaWMgVHJhaXRzMzIge307CisrCisr c3RydWN0IFVDb250ZXh0IHsKKysgIHVpbnQ2NF90IGZsYWdzOworKyAgdWludDY0X3QgbGluazsK KysgIFNpZ25hbFN0YWNrPENvbnRleHRUcmFpdHM2ND4gc3RhY2s7CisrICBTaWdzZXQ8Q29udGV4 dFRyYWl0czY0PiBzaWdtYXNrOworKyAgTUNvbnRleHQ2NCBtY29udGV4dDsKKyt9OworKyNwcmFn bWEgcGFjayhwdXNoLCAxKQorKworK3N0YXRpY19hc3NlcnQoc2l6ZW9mKFVDb250ZXh0KSA9PSBz aXplb2YodWNvbnRleHRfdCksCisrICAgICAgICAgICAgICAidWNvbnRleHRfdCBzaXplIG1pc21h dGNoIik7Cisrc3RhdGljX2Fzc2VydChzaXplb2YoTUNvbnRleHQ2NCkgPT0gc2l6ZW9mKG1jb250 ZXh0X3QpLAorKyAgICAgICAgICAgICAgIm1jb250ZXh0X3Qgc2l6ZSBtaXNtYXRjaCIpOworK3N0 YXRpY19hc3NlcnQoc2l6ZW9mKFNpZ25hbFRocmVhZENvbnRleHQ2NCkgPT0gc2l6ZW9mKGdyZWdz ZXRfdCksCisrICAgICAgICAgICAgICAiZ3JlZ3NldF90IHNpemUgbWlzbWF0Y2giKTsKKytzdGF0 aWNfYXNzZXJ0KHNpemVvZihTaWduYWxGbG9hdENvbnRleHQ2NCkgPT0gc2l6ZW9mKGZwcmVnc2V0 X3QpLAorKyAgICAgICAgICAgICAgImZwcmVnc2V0X3Qgc2l6ZSBtaXNtYXRjaCIpOworK3N0YXRp Y19hc3NlcnQoc2l6ZW9mKFNpZ25hbFZlY3RvckNvbnRleHQ2NCkgPT0gc2l6ZW9mKHZycmVnc2V0 X3QpLAorKyAgICAgICAgICAgICAgInZycmVnc2V0X3Qgc2l6ZSBtaXNtYXRjaCIpOworK3N0YXRp Y19hc3NlcnQob2Zmc2V0b2YoVUNvbnRleHQsIG1jb250ZXh0KSA9PQorKyAgICAgICAgICAgICAg b2Zmc2V0b2YodWNvbnRleHRfdCwgdWNfbWNvbnRleHQpLCAibWNvbnRleHQgb2Zmc2V0IG1pc21h dGNoIik7Cisrc3RhdGljX2Fzc2VydChvZmZzZXRvZihNQ29udGV4dDY0LCBncF9yZWdzKSA9PQor KyAgICAgICAgICAgICAgb2Zmc2V0b2YobWNvbnRleHRfdCwgZ3BfcmVncyksICJncF9yZWdzIG9m ZnNldCBtaXNtYXRjaCIpOworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNI X0NQVV9YODZfRkFNSUxZCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc3lzdGVtX3NuYXBzaG90X2xpbnV4LmNj CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvc25hcHNob3QvbGludXgvc3lzdGVtX3NuYXBzaG90X2xpbnV4LmNjCitAQCAtMjA0LDYgKzIw NCw4IEBAIENQVUFyY2hpdGVjdHVyZSBTeXN0ZW1TbmFwc2hvdExpbnV4OjpHZXQKKyAjZWxpZiBk ZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorICAgcmV0dXJuIHByb2Nlc3NfcmVhZGVyXy0+ SXM2NEJpdCgpID8ga0NQVUFyY2hpdGVjdHVyZU1JUFM2NEVMCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOiBrQ1BVQXJjaGl0ZWN0dXJlTUlQU0VMOworKyNlbGlmIGRlZmlu ZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgcmV0dXJuIGtDUFVBcmNoaXRlY3R1cmVQUEM2 NDsKKyAjZWxzZQorICNlcnJvciBwb3J0IHRvIHlvdXIgYXJjaGl0ZWN0dXJlCisgI2VuZGlmCitA QCAtMjE5LDYgKzIyMSw5IEBAIHVpbnQzMl90IFN5c3RlbVNuYXBzaG90TGludXg6OkNQVVJldmlz aW8KKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorICAgLy8gTm90IGltcGxl bWVudGFibGUgb24gTUlQUworICAgcmV0dXJuIDA7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9Q UEM2NF9GQU1JTFkpCisrICAvLyBOb3QgeWV0IGltcGxlbWVudGVkIG9uIFBQQzY0CisrICByZXR1 cm4gMDsKKyAjZWxzZQorICNlcnJvciBwb3J0IHRvIHlvdXIgYXJjaGl0ZWN0dXJlCisgI2VuZGlm CitAQCAtMjM5LDYgKzI0NCw5IEBAIHN0ZDo6c3RyaW5nIFN5c3RlbVNuYXBzaG90TGludXg6OkNQ VVZlbmQKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorICAgLy8gTm90IGlt cGxlbWVudGFibGUgb24gTUlQUworICAgcmV0dXJuIHN0ZDo6c3RyaW5nKCk7CisrI2VsaWYgZGVm aW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICAvLyBOb3QgeWV0IGltcGxlbWVudGVkIG9u IFBQQzY0CisrICByZXR1cm4gc3RkOjpzdHJpbmcoKTsKKyAjZWxzZQorICNlcnJvciBwb3J0IHRv IHlvdXIgYXJjaGl0ZWN0dXJlCisgI2VuZGlmCitAQCAtMzcyLDYgKzM4MCw5IEBAIGJvb2wgU3lz dGVtU25hcHNob3RMaW51eDo6TlhFbmFibGVkKCkgY28KKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BV X01JUFNfRkFNSUxZKQorICAgLy8gTm90IGltcGxlbWVudGFibGUgb24gTUlQUworICAgcmV0dXJu IGZhbHNlOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgLy8gTm90 IHlldCBpbXBsZW1lbnRlZCBvbiBQUEM2NAorKyAgcmV0dXJuIGZhbHNlOworICNlbHNlCisgI2Vy cm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGlu dXgvdGVzdF9tb2R1bGVzLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGVzdF9tb2R1bGVzLmNjCitAQCAt MTEwLDYgKzExMCw4IEBAIGJvb2wgV3JpdGVUZXN0TW9kdWxlKGNvbnN0IGJhc2U6OkZpbGVQYXQK KyAgIG1vZHVsZS5laGRyLmVfbWFjaGluZSA9IEVNX0FBUkNINjQ7CisgI2VsaWYgZGVmaW5lZChB UkNIX0NQVV9NSVBTRUwpIHx8IGRlZmluZWQoQVJDSF9DUFVfTUlQUzY0RUwpCisgICBtb2R1bGUu ZWhkci5lX21hY2hpbmUgPSBFTV9NSVBTOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjQp CisrICBtb2R1bGUuZWhkci5lX21hY2hpbmUgPSBFTV9QUEM2NDsKKyAjZW5kaWYKKyAKKyAgIG1v ZHVsZS5laGRyLmVfdmVyc2lvbiA9IEVWX0NVUlJFTlQ7CistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFk X3NuYXBzaG90X2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4 LmNjCitAQCAtMTg2LDYgKzE4NiwxNCBAQCBib29sIFRocmVhZFNuYXBzaG90TGludXg6OkluaXRp YWxpemUoUHJvCisgICAgICAgICB0aHJlYWQudGhyZWFkX2luZm8uZmxvYXRfY29udGV4dC5mMzIs CisgICAgICAgICBjb250ZXh0Xy5taXBzZWwpOworICAgfQorKyNlbGlmIGRlZmluZWQoQVJDSF9D UFVfUFBDNjRfRkFNSUxZKQorKyAgY29udGV4dF8uYXJjaGl0ZWN0dXJlID0ga0NQVUFyY2hpdGVj dHVyZVBQQzY0OworKyAgY29udGV4dF8ucHBjNjQgPSAmY29udGV4dF91bmlvbl8ucHBjNjQ7Cisr ICBJbml0aWFsaXplQ1BVQ29udGV4dFBQQzY0PENvbnRleHRUcmFpdHM2ND4oCisrICAgICAgdGhy ZWFkLnRocmVhZF9pbmZvLnRocmVhZF9jb250ZXh0LnQ2NCwKKysgICAgICB0aHJlYWQudGhyZWFk X2luZm8uZmxvYXRfY29udGV4dC5mNjQsCisrICAgICAgdGhyZWFkLnRocmVhZF9pbmZvLnZlY3Rv cl9jb250ZXh0LnY2NCwKKysgICAgICBjb250ZXh0Xy5wcGM2NCk7CisgI2Vsc2UKKyAjZXJyb3Ig UG9ydC4KKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXguaAor KysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5oCitAQCAtNjgsNiArNjgsOCBA QCBjbGFzcyBUaHJlYWRTbmFwc2hvdExpbnV4IGZpbmFsIDogcHVibGljCisgI2VsaWYgZGVmaW5l ZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKyAgICAgQ1BVQ29udGV4dE1JUFMgbWlwc2VsOworICAg ICBDUFVDb250ZXh0TUlQUzY0IG1pcHM2NDsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0 X0ZBTUlMWSkKKysgICAgQ1BVQ29udGV4dFBQQzY0IHBwYzY0OworICNlbHNlCisgI2Vycm9yIFBv cnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9hdXhpbGlh cnlfdmVjdG9yLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9hdXhpbGlhcnlfdmVjdG9yLmNjCitAQCAtNTYsNiAr NTYsMTEgQEAgYm9vbCBBdXhpbGlhcnlWZWN0b3I6OlJlYWQoUHRyYWNlQ29ubmVjdAorICAgICBp ZiAodHlwZSA9PSBBVF9JR05PUkUpIHsKKyAgICAgICBjb250aW51ZTsKKyAgICAgfQorKyNpZiBk ZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgICAgaWYgKHR5cGUgPT0gQVRfSUdOT1JF UFBDKSB7CisrICAgICAgY29udGludWU7CisrICAgIH0KKysjZW5kaWYKKyAgICAgaWYgKCFNYXBJ bnNlcnRPclJlcGxhY2UoJnZhbHVlc18sIHR5cGUsIHZhbHVlLCBudWxscHRyKSkgeworICAgICAg IExPRyhFUlJPUikgPDwgImR1cGxpY2F0ZSBhdXh2IGVudHJ5IjsKKyAgICAgICByZXR1cm4gZmFs c2U7CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvdXRpbC9saW51eC9wdHJhY2VyLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2VyLmNjCitAQCAt Mzk5LDYgKzM5OSw2NCBAQCBib29sIEdldFRocmVhZEFyZWE2NChwaWRfdCB0aWQsCisgICByZXR1 cm4gdHJ1ZTsKKyB9CisgCisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisr Ly8gUFBDNjQgaGFzIGhhZCBIQVZFX0FSQ0hfVFJBQ0VIT09LIHNldCBzaW5jZSAyLjYuMjcgKGV2 ZW4gYmVmb3JlIHg4NiBoYWQgaXQpLgorKy8vIFRoYXQgbWVhbnMgd2UgY2FuIHNpbXBseSB1c2Ug UFRSQUNFX0dFVFJFR0VTRVQuCisrCisrdGVtcGxhdGUgPHR5cGVuYW1lIERlc3RpbmF0aW9uPgor K2Jvb2wgR2V0UmVnaXN0ZXJTZXQocGlkX3QgdGlkLCBpbnQgc2V0LCBEZXN0aW5hdGlvbiogZGVz dCwgYm9vbCBjYW5fbG9nKSB7CisrICBpb3ZlYyBpb3Y7CisrICBpb3YuaW92X2Jhc2UgPSByZWlu dGVycHJldF9jYXN0PHZvaWQqPihkZXN0KTsKKysgIGlvdi5pb3ZfbGVuID0gc2l6ZW9mKCpkZXN0 KTsKKysgIGlmIChwdHJhY2UoUFRSQUNFX0dFVFJFR1NFVCwgdGlkLCByZWludGVycHJldF9jYXN0 PHZvaWQqPihzZXQpLCAmaW92KSAhPSAwKSB7CisrICAgIFBMT0dfSUYoRVJST1IsIGNhbl9sb2cp IDw8ICJwdHJhY2UiOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrICBpZiAoaW92Lmlvdl9s ZW4gIT0gc2l6ZW9mKCpkZXN0KSkgeworKyAgICBMT0dfSUYoRVJST1IsIGNhbl9sb2cpIDw8ICJV bmV4cGVjdGVkIHJlZ2lzdGVycyBzaXplIjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAgfQorKyAg cmV0dXJuIHRydWU7CisrfQorKworK2Jvb2wgR2V0VmVjdG9yUmVnaXN0ZXJzNjQocGlkX3QgdGlk LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgVmVjdG9yQ29udGV4dCogY29udGV4dCwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuX2xvZykgeworKyAgcmV0dXJuIEdldFJl Z2lzdGVyU2V0KHRpZCwgTlRfUFBDX1ZNWCwgJmNvbnRleHQtPnY2NCwgY2FuX2xvZyk7CisrfQor KworK2Jvb2wgR2V0RmxvYXRpbmdQb2ludFJlZ2lzdGVyczY0KHBpZF90IHRpZCwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9hdENvbnRleHQqIGNvbnRleHQsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5fbG9nKSB7CisrICByZXR1cm4gR2V0 UmVnaXN0ZXJTZXQodGlkLCBOVF9QUkZQUkVHLCAmY29udGV4dC0+ZjY0LCBjYW5fbG9nKTsKKyt9 CisrCisrYm9vbCBHZXRUaHJlYWRBcmVhNjQocGlkX3QgdGlkLAorKyAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IFRocmVhZENvbnRleHQmIGNvbnRleHQsCisrICAgICAgICAgICAgICAgICAgICAg TGludXhWTUFkZHJlc3MqIGFkZHJlc3MsCisrICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5f bG9nKSB7CisrICAvLyBQUEM2NCBkb2Vzbid0IGhhdmUgUFRSQUNFX0dFVF9USFJFQURfQVJFQSBz aW5jZSB0aGUgdGhyZWFkIHBvaW50ZXIKKysgIC8vIGlzIHN0b3JlZCBpbiBHUFIgMTMuCisrICBU aHJlYWRDb250ZXh0Ojp0NjRfdCB0YzsKKysgIGlmICghR2V0UmVnaXN0ZXJTZXQodGlkLCBOVF9Q UlNUQVRVUywgJnRjLCBjYW5fbG9nKSkgeworKyAgICBMT0dfSUYoRVJST1IsIGNhbl9sb2cpIDw8 ICJVbmFibGUgdG8gZ2V0IHRocmVhZCBwb2ludGVyISI7CisrICAgIHJldHVybiBmYWxzZTsKKysg IH0KKysKKysgICphZGRyZXNzID0gdGMuZ3ByWzEzXTsKKysKKysgIHJldHVybiB0cnVlOworK30K KysKKysvLyBTdHVicyBmb3IgMzItYml0IGZ1bmN0aW9ucyBub3QgYXBwbGljYWJsZSBvbiBQUEM2 NAorK2Jvb2wgR2V0RmxvYXRpbmdQb2ludFJlZ2lzdGVyczMyKHBpZF90IHRpZCwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9hdENvbnRleHQqIGNvbnRleHQsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5fbG9nKSB7IHJldHVybiBmYWxzZTsg fQorK2Jvb2wgR2V0VGhyZWFkQXJlYTMyKHBpZF90IHRpZCwKKysgICAgICAgICAgICAgICAgICAg ICBjb25zdCBUaHJlYWRDb250ZXh0ICZjb250ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgIExp bnV4Vk1BZGRyZXNzICphZGRyZXNzLAorKyAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuX2xv ZykgeyByZXR1cm4gZmFsc2U7IH0KKysKKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZiAg Ly8gQVJDSF9DUFVfWDg2X0ZBTUlMWQorQEAgLTQ5NSw2ICs1NTMsOSBAQCBib29sIFB0cmFjZXI6 OkdldFRocmVhZEluZm8ocGlkX3QgdGlkLCBUCisgICBpZiAoaXNfNjRfYml0XykgeworICAgICBy ZXR1cm4gR2V0R2VuZXJhbFB1cnBvc2VSZWdpc3RlcnM2NCh0aWQsICZpbmZvLT50aHJlYWRfY29u dGV4dCwgY2FuX2xvZ18pICYmCisgICAgICAgICAgICBHZXRGbG9hdGluZ1BvaW50UmVnaXN0ZXJz NjQodGlkLCAmaW5mby0+ZmxvYXRfY29udGV4dCwgY2FuX2xvZ18pICYmCisrI2lmIGRlZmluZWQo QVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgICAgICAgICAgR2V0VmVjdG9yUmVnaXN0ZXJzNjQo dGlkLCAmaW5mby0+dmVjdG9yX2NvbnRleHQsIGNhbl9sb2dfKSAmJgorKyNlbmRpZgorICAgICAg ICAgICAgR2V0VGhyZWFkQXJlYTY0KHRpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bmZvLT50aHJlYWRfY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW5mby0+ dGhyZWFkX3NwZWNpZmljX2RhdGFfYWRkcmVzcywKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKK0BAIC0zOSw2ICszOSwxMyBAQCBzdHJ1Y3QgdXNl cl92ZnBfZXhjIHsKKyAjaW5jbHVkZSA8YW5kcm9pZC9hcGktbGV2ZWwuaD4KKyAjZW5kaWYKKyAK KysjaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrI2luY2x1ZGUgPHN5cy91Y29u dGV4dC5oPgorKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrI2luY2x1ZGUgPGFzbS9wdHJhY2Uu aD4KKysjZW5kaWYKKysjZW5kaWYKKysKKyBuYW1lc3BhY2UgY3Jhc2hwYWQgeworIAorIC8vISBc YnJpZWYgVGhlIHNldCBvZiBnZW5lcmFsIHB1cnBvc2UgcmVnaXN0ZXJzIGZvciBhbiBhcmNoaXRl Y3R1cmUgZmFtaWx5LgorQEAgLTkwLDYgKzk3LDggQEAgdW5pb24gVGhyZWFkQ29udGV4dCB7Cisg ICAgIHVpbnQzMl90IGNwMF9zdGF0dXM7CisgICAgIHVpbnQzMl90IGNwMF9jYXVzZTsKKyAgICAg dWludDMyX3QgcGFkZGluZzFfOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZ KQorKyAgICAvLyBQUEM2NCBpcyA2NC1iaXQKKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRp ZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQorQEAgLTE0Myw2ICsxNTIsMjEgQEAgdW5pb24gVGhy ZWFkQ29udGV4dCB7CisgICAgIHVpbnQ2NF90IGNwMF9iYWR2YWRkcjsKKyAgICAgdWludDY0X3Qg Y3AwX3N0YXR1czsKKyAgICAgdWludDY0X3QgY3AwX2NhdXNlOworKyNlbGlmIGRlZmluZWQoQVJD SF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgICAvLyBSZWZsZWN0cyBzdHJ1Y3QgcHRfcmVncyBpbiBh c20vcHRyYWNlLmguCisrICAgIHVpbnQ2NF90IGdwclszMl07CisrICAgIHVpbnQ2NF90IG5pcDsK KysgICAgdWludDY0X3QgbXNyOworKyAgICB1aW50NjRfdCBvcmlnX2dwcjM7CisrICAgIHVpbnQ2 NF90IGN0cjsKKysgICAgdWludDY0X3QgbG5rOworKyAgICB1aW50NjRfdCB4ZXI7CisrICAgIHVp bnQ2NF90IGNjcjsKKysgICAgdWludDY0X3Qgc29mdGU7CisrICAgIHVpbnQ2NF90IHRyYXA7Cisr ICAgIHVpbnQ2NF90IGRhcjsKKysgICAgdWludDY0X3QgZHNpc3I7CisrICAgIHVpbnQ2NF90IHJl c3VsdDsKKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZB TUlMWQorQEAgLTE1NCw2ICsxNzgsOCBAQCB1bmlvbiBUaHJlYWRDb250ZXh0IHsKKyAgIHVzaW5n IE5hdGl2ZVRocmVhZENvbnRleHQgPSB1c2VyX3JlZ3M7CisgI2VsaWYgZGVmaW5lZChBUkNIX0NQ VV9NSVBTX0ZBTUlMWSkKKyAvLyBObyBhcHByb3ByaWF0ZSBOYXRpdmVUaHJlYWRzQ29udGV4dCB0 eXBlIGF2YWlsYWJsZSBmb3IgTUlQUworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFN SUxZKQorKyAgdXNpbmcgTmF0aXZlVGhyZWFkQ29udGV4dCA9IHN0cnVjdCBwdF9yZWdzOworICNl bHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZIHx8IEFS Q0hfQ1BVX0FSTTY0CitAQCAtMjI5LDYgKzI1NSw5IEBAIHVuaW9uIEZsb2F0Q29udGV4dCB7Cisg ICAgIH0gZnByZWdzWzMyXTsKKyAgICAgdWludDMyX3QgZnBjc3I7CisgICAgIHVpbnQzMl90IGZw dV9pZDsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgICAgLy8gQ3Jh c2hwYWQncyBQUEMgc3VwcG9ydCBpcyA2NC1iaXQgb25seSwgc28gdGhpcworKyAgICAvLyAzMmJp dC1vbmx5IHN0cnVjdCBpcyBkZWNsYXJlZCBhcyBlbXB0eS4KKyAjZWxzZQorICNlcnJvciBQb3J0 LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQorQEAgLTI2Myw2ICsyOTIsMTAgQEAg dW5pb24gRmxvYXRDb250ZXh0IHsKKyAgICAgZG91YmxlIGZwcmVnc1szMl07CisgICAgIHVpbnQz Ml90IGZwY3NyOworICAgICB1aW50MzJfdCBmcHVfaWQ7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQ VV9QUEM2NF9GQU1JTFkpCisrICAgIC8vIFJlZmxlY3RzIGZwcmVnc2V0X3QgaW4gc3lzL3Vjb250 ZXh0LmgKKysgICAgZG91YmxlIGZwcmVnc1szMl07CisrICAgIGRvdWJsZSBmcHNjcjsKKyAjZWxz ZQorICNlcnJvciBQb3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQorQEAgLTI5 MSw2ICszMjQsOCBAQCB1bmlvbiBGbG9hdENvbnRleHQgeworICAgc3RhdGljX2Fzc2VydChzaXpl b2YoZjY0KSA9PSBzaXplb2YodXNlcl9mcHNpbWRfc3RydWN0KSwgIlNpemUgbWlzbWF0Y2giKTsK KyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorIC8vIE5vIGFwcHJvcHJpYXRl IGZsb2F0aW5nIHBvaW50IGNvbnRleHQgbmF0aXZlIHR5cGUgZm9yIGF2YWlsYWJsZSBNSVBTLgor KyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgc3RhdGljX2Fzc2VydChz aXplb2YoZjY0KSA9PSBzaXplb2YoZnByZWdzZXRfdCksICJTaXplIG1pc21hdGNoIik7CisgI2Vs c2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4NgorQEAgLTI5OCw2ICsz MzMsMjYgQEAgdW5pb24gRmxvYXRDb250ZXh0IHsKKyBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfc3Rh bmRhcmRfbGF5b3V0PEZsb2F0Q29udGV4dD46OnZhbHVlLAorICAgICAgICAgICAgICAgIk5vdCBz dGFuZGFyZCBsYXlvdXQiKTsKKyAKKysvLyEgXGJyaWVmIFRoZSB2ZWN0b3IgcmVnaXN0ZXJzIHVz ZWQgZm9yIGFuIGFyY2hpdGVjdHVyZSBmYW1pbHkKKyt1bmlvbiBWZWN0b3JDb250ZXh0IHsKKysg IHN0cnVjdCB2MzJfdCB7fSB2MzI7CisrI2lmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZ KQorKyAgX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oMTYpKSkgLy8gVmVjdG9yIGNvbnRleHQg bXVzdCBiZSBkb3VibGV3b3JkIGFsaWduZWQuCisrI2VuZGlmCisrICBzdHJ1Y3QgdjY0X3Qgewor KyNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgICAgLy8gUmVmbGVjdHMgdnJy ZWdzZXRfdCBpbiBzeXMvdWNvbnRleHQuaAorKyAgICB1aW50MzJfdCB2cnJlZ3NbMzJdWzRdOwor KyAgICBzdHJ1Y3QgeworKyAgICAgIHVpbnQzMl90IF9fcGFkWzNdOworKyAgICAgIHVpbnQzMl90 IHZzY3Jfd29yZDsKKysgICAgfSB2c2NyOworKyAgICB1aW50MzJfdCB2cnNhdmU7CisrICAgIHVp bnQzMl90IF9fcGFkWzNdOworKyNlbmRpZgorKyAgfSB2NjQ7CisrfTsKKysKKyAvLyEgXGJyaWVm IEEgY29sbGVjdGlvbiBvZiBgcHRyYWNlYC1hYmxlIGluZm9ybWF0aW9uIGFib3V0IGEgdGhyZWFk LgorIHN0cnVjdCBUaHJlYWRJbmZvIHsKKyAgIFRocmVhZEluZm8oKTsKK0BAIC0zMDksNiArMzY0 LDkgQEAgc3RydWN0IFRocmVhZEluZm8geworICAgLy8hIFxicmllZiBUaGUgZmxvYXRpbmcgcG9p bnQgcmVnaXN0ZXJzIGZvciB0aGUgdGhyZWFkLgorICAgRmxvYXRDb250ZXh0IGZsb2F0X2NvbnRl eHQ7CisgCisrICAvLyEgXGJyaWVmIChPcHRpb25hbCkgVGhlIHZlY3RvciByZWdpc3RlcnMgdXNl ZCBmb3IgdGhlIHRocmVhZC4KKysgIFZlY3RvckNvbnRleHQgdmVjdG9yX2NvbnRleHQ7CisrCisg ICAvLyEgXGJyaWVmIFRoZSB0aHJlYWQtbG9jYWwgc3RvcmFnZSBhZGRyZXNzIGZvciB0aGUgdGhy ZWFkLgorICAgTGludXhWTUFkZHJlc3MgdGhyZWFkX3NwZWNpZmljX2RhdGFfYWRkcmVzczsKKyB9 OworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHQuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRl eHQuaAorQEAgLTY5LDYgKzY5LDcgQEAgdXNpbmcgTmF0aXZlQ1BVQ29udGV4dCA9IHVjb250ZXh0 X3Q7CisgLy8hICAgICBtYWNPUy9MaW51eC9GdWNoc2lhIHwgeDg2XzY0ICAgICAgIHwgYCUlcmRp YAorIC8vISAgICAgTGludXggICAgICAgICAgICAgICB8IEFSTS9BUk02NCAgICB8IGByMGAvYHgw YAorIC8vISAgICAgTGludXggICAgICAgICAgICAgICB8IE1JUFMvTUlQUzY0ICB8IGAkYTBgCisr Ly8hICAgICBMaW51eCAgICAgICAgICAgICAgIHwgUFBDNjQgICAgICAgIHwgYHIzYAorIC8vIQor IC8vISAgICAgQWRkaXRpb25hbGx5LCB0aGUgdmFsdWUgYExSYCBvbiBBUk0vQVJNNjQgd2lsbCBi ZSB0aGUgcmV0dXJuIGFkZHJlc3Mgb2YKKyAvLyEgICAgIHRoaXMgZnVuY3Rpb24uCistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9t aXNjL2NhcHR1cmVfY29udGV4dF9saW51eC5TCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF9s aW51eC5TCitAQCAtMzIsNyArMzIsNyBAQAorICAgLmJhbGlnbiA0LCAweDAKKyAgIC50eXBlIENB UFRVUkVDT05URVhUX1NZTUJPTCwgJWZ1bmN0aW9uCisgICAudHlwZSBDQVBUVVJFQ09OVEVYVF9T WU1CT0wyLCAlZnVuY3Rpb24KKy0jZWxpZiBkZWZpbmVkKF9fbWlwc19fKQorKyNlbGlmIGRlZmlu ZWQoX19taXBzX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgIC5iYWxpZ24gNCwgMHgw CisgI2VuZGlmCisgCitAQCAtNDIzLDQgKzQyMywyMTQgQEAgQ0FQVFVSRUNPTlRFWFRfU1lNQk9M MjoKKyAgIGpyICRyYQorIAorICAgLnNldCBhdAorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRf XykKKysgIC8vIFN0b3JlIHIwLXIzMQorKyAgc3RkIDAsIDB4ZTgoMykgICAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzBdCisrICBzdGQgMSwgMHhmMCgzKSAgIC8vIGNvbnRleHQtPnVj X21jb250ZXh0LmdwX3JlZ3NbMV0KKysgIHN0ZCAyLCAweGY4KDMpICAgLy8gY29udGV4dC0+dWNf bWNvbnRleHQuZ3BfcmVnc1syXQorKyAgLy8gbm90ZSB0aGF0IHIzJ3Mgb3JpZ2luYWwgdmFsdWUg d2FzIGxvc3QKKysgIHN0ZCAzLCAweDEwMCgzKSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3Bf cmVnc1szXQorKyAgc3RkIDQsIDB4MTA4KDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9y ZWdzWzRdCisrICBzdGQgNSwgMHgxMTAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbNV0KKysgIHN0ZCA2LCAweDExOCgzKSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVn c1s2XQorKyAgc3RkIDcsIDB4MTIwKDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdz WzddCisrICBzdGQgOCwgMHgxMjgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3Nb OF0KKysgIHN0ZCA5LCAweDEzMCgzKSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1s5 XQorKyAgc3RkIDEwLCAweDEzOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzEw XQorKyAgc3RkIDExLCAweDE0MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzEx XQorKyAgc3RkIDEyLCAweDE0OCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzEy XQorKyAgc3RkIDEzLCAweDE1MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzEz XQorKyAgc3RkIDE0LCAweDE1OCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzE0 XQorKyAgc3RkIDE1LCAweDE2MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzE1 XQorKyAgc3RkIDE2LCAweDE2OCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzE2 XQorKyAgc3RkIDE3LCAweDE3MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzE3 XQorKyAgc3RkIDE4LCAweDE3OCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzE4 XQorKyAgc3RkIDE5LCAweDE4MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzE5 XQorKyAgc3RkIDIwLCAweDE4OCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzIw XQorKyAgc3RkIDIxLCAweDE5MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzIx XQorKyAgc3RkIDIyLCAweDE5OCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzIy XQorKyAgc3RkIDIzLCAweDFhMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzIz XQorKyAgc3RkIDI0LCAweDFhOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzI0 XQorKyAgc3RkIDI1LCAweDFiMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzI1 XQorKyAgc3RkIDI2LCAweDFiOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzI2 XQorKyAgc3RkIDI3LCAweDFjMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzI3 XQorKyAgc3RkIDI4LCAweDFjOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzI4 XQorKyAgc3RkIDI5LCAweDFkMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzI5 XQorKyAgc3RkIDMwLCAweDFkOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzMw XQorKyAgc3RkIDMxLCAweDFlMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzMx XQorKworKyAgLy8gRm9yIE5JUCwgd2UgY2FuIHVzZSB0aGUgdmFsdWUgaW4gdGhlIGxpbmsgcmVn aXN0ZXIKKysgIG1mbHIgMAorKyAgc3RkIDAsIDB4MWU4KDMpIC8vIGNvbnRleHQtPnVjX21jb250 ZXh0LmdwX3JlZ3NbUFRfTklQXQorKworKyAgLy8gQ1RSCisrICBtZmN0ciAwCisrICBzdGQgMCwg MHgyMDAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9DVFJdCisrCisrICAv LyBGb3IgTE5LLCB3ZSdsbCB1c2UgdGhlIGNhbGxlcidzIExSIHNhdmUgYXJlYSAoMiBzdGFjayBm cmFtZXMgdXApLgorKyAgLy8gcjQgY2FuIGJlIHVzZWQgYXMgYSBzY3JhdGNoIHJlZ2lzdGVyIHNp bmNlIGl0IGhhcyBhbHJlYWR5IGJlZW4gc2F2ZWQuCisrICBsZCA0LCAwKDEpCisrICBsZCA0LCAx Nig0KQorKyAgc3RkIDQsIDB4MjA4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3Nb UFRfTE5LXQorKworKyAgLy8gWEVSCisrICBtZnhlciAwCisrICBzdGQgMCwgMHgyMTAoMykgLy8g Y29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9YRVJdCisrCisrICAvLyBDQ1IKKysgIG1m Y3IgMAorKyAgc3RkIDAsIDB4MjE4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3Nb UFRfQ0NSXQorKworKyAgLy8gTVNSLCBvcmlnX3IzLCBNUSwgVFJBUCwgREFSLCBEU0lTUiwgUkVT VUxULCBEU0NSLAorKyAgLy8gbm90IHVzZWQgb3Igbm90IHJlbGV2YW50LCAgemVybyB0aGVtIG91 dC4KKysgIGxpIDQsIDAKKysgIHN0ZCA0LCAweDFmMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4 dC5ncF9yZWdzW1BUX01TUl0KKysgIHN0ZCA0LCAweDFmOCgzKSAvLyBjb250ZXh0LT51Y19tY29u dGV4dC5ncF9yZWdzW1BUX09SSUdfUjNdCisrICBzdGQgNCwgMHgyMjAoMykgLy8gY29udGV4dC0+ dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9NUV0KKysgIHN0ZCA0LCAweDIyOCgzKSAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX1RSQVBdCisrICBzdGQgNCwgMHgyMzAoMykgLy8gY29u dGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9EQVJdCisrICBzdGQgNCwgMHgyMzgoMykgLy8g Y29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9EU0lTUl0KKysgIHN0ZCA0LCAweDI0MCgz KSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX1JFU1VMVF0KKysgIHN0ZCA0LCAw eDI0OCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX0RTQ1JdCisrCisrICAv LyBVcGRhdGUgY29udGV4dC0+dWNfbWNvbnRleHQucmVncyB0byBwb2ludCB0byBncF9yZWdzCisr ICBhZGRpIDAsIDMsIDB4ZTgKKysgIHN0ZCAwLCAweGUwKDMpCisrCisrICAvLyBTYXZlIGZsb2F0 aW5nIHBvaW50IHJlZ2lzdGVycyAwLTMxCisrICBzdGZkIDAsIDB4MjY4KDMpICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5mcF9yZWdzWzBdCisrICBzdGZkIDEsIDB4MjcwKDMpICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5mcF9yZWdzWzFdCisrICBzdGZkIDIsIDB4Mjc4KDMpICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5mcF9yZWdzWzJdCisrICBzdGZkIDMsIDB4MjgwKDMpICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5mcF9yZWdzWzNdCisrICBzdGZkIDQsIDB4Mjg4KDMpICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5mcF9yZWdzWzRdCisrICBzdGZkIDUsIDB4MjkwKDMpICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5mcF9yZWdzWzVdCisrICBzdGZkIDYsIDB4Mjk4KDMpICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5mcF9yZWdzWzZdCisrICBzdGZkIDcsIDB4MmEwKDMpICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5mcF9yZWdzWzddCisrICBzdGZkIDgsIDB4MmE4KDMpICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5mcF9yZWdzWzhdCisrICBzdGZkIDksIDB4MmIwKDMpICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5mcF9yZWdzWzldCisrICBzdGZkIDEwLCAweDJiOCgzKSAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5mcF9yZWdzWzEwXQorKyAgc3RmZCAxMSwgMHgyYzAoMykgLy8gY29udGV4 dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxMV0KKysgIHN0ZmQgMTIsIDB4MmM4KDMpIC8vIGNvbnRl eHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTJdCisrICBzdGZkIDEzLCAweDJkMCgzKSAvLyBjb250 ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzEzXQorKyAgc3RmZCAxNCwgMHgyZDgoMykgLy8gY29u dGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxNF0KKysgIHN0ZmQgMTUsIDB4MmUwKDMpIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTVdCisrICBzdGZkIDE2LCAweDJlOCgzKSAvLyBj b250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzE2XQorKyAgc3RmZCAxNywgMHgyZjAoMykgLy8g Y29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxN10KKysgIHN0ZmQgMTgsIDB4MmY4KDMpIC8v IGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMThdCisrICBzdGZkIDE5LCAweDMwMCgzKSAv LyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzE5XQorKyAgc3RmZCAyMCwgMHgzMDgoMykg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syMF0KKysgIHN0ZmQgMjEsIDB4MzEwKDMp IC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjFdCisrICBzdGZkIDIyLCAweDMxOCgz KSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzIyXQorKyAgc3RmZCAyMywgMHgzMjAo MykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syM10KKysgIHN0ZmQgMjQsIDB4MzI4 KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjRdCisrICBzdGZkIDI1LCAweDMz MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzI1XQorKyAgc3RmZCAyNiwgMHgz MzgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syNl0KKysgIHN0ZmQgMjcsIDB4 MzQwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjddCisrICBzdGZkIDI4LCAw eDM0OCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzI4XQorKyAgc3RmZCAyOSwg MHgzNTAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syOV0KKysgIHN0ZmQgMzAs IDB4MzU4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMzBdCisrICBzdGZkIDMx LCAweDM2MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzMxXQorKworKyAgLy8g RlBTQ1IKKysgIG1mZnMgMAorKyAgc3RmZCAwLCAweDM2OCgzKSAvLyBjb250ZXh0LT51Y19tY29u dGV4dC5mcF9yZWdzWzMyXQorKworKyAgLy8gU2F2ZSBWTVggVmVjdG9yIHJlZ2lzdGVycworKyAg Ly8gVXBkYXRlIHI0IHRvIGNvbnRhaW4gdGhlIGJhc2UgYWRkcmVzcyBvZiB2bXhfcmVzZXJ2ZQor KyAgYWRkaSA0LCAzLCAweDM3OAorKyAgLy8gRW5zdXJlIHRoYXQgaXQgaXMgcXVhZHdvcmQgYWxp Z25lZAorKyAgYW5kaS4gNSwgNCwgMHhGCisrICBiZXEgMWYgLy8gTm8gYWxpZ25tZW50IGlzIG5l Y2Vzc2FyeQorKyAgLy8gQWRkcmVzcyBpcyBkb3VibGV3b3JkIGFsaWduZWQgYW5kIG5vdCBxdWFk d29yZCBhbGlnbmVkLCBhZGQgOAorKyAgYWRkaSA0LCA0LCA4CisrCisrMToKKysgIC8vIFN0b3Jl IFZNWCByZWdpc3RlcnMgMC0zMQorKyAgLy8gcjQgd2lsbCBjb250YWluIHRoZSBiYXNlIGFkZHJl c3MKKysgIC8vIHI1IHdpbGwgY29udGFpbiB0aGUgaW5kZXgKKysgIGxpIDUsIDAKKysgIHN0dngg MCwgNCwgNSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAw XQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAxLCA0LCA1ICAgLy8gY29udGV4dC0+dWNfbWNv bnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDFdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4 IDIsIDQsIDUgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsg Ml0KKysgIGFkZGkgNSwgNSwgMTYKKysgIHN0dnggMywgNCwgNSAgIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAzXQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2 eCA0LCA0LCA1ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSAr IDRdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDUsIDQsIDUgICAvLyBjb250ZXh0LT51Y19t Y29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgNV0KKysgIGFkZGkgNSwgNSwgMTYKKysgIHN0 dnggNiwgNCwgNSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikg KyA2XQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCA3LCA0LCA1ICAgLy8gY29udGV4dC0+dWNf bWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDddCisrICBhZGRpIDUsIDUsIDE2CisrICBz dHZ4IDgsIDQsIDUgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24p ICsgOF0KKysgIGFkZGkgNSwgNSwgMTYKKysgIHN0dnggOSwgNCwgNSAgIC8vIGNvbnRleHQtPnVj X21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyA5XQorKyAgYWRkaSA1LCA1LCAxNgorKyAg c3R2eCAxMCwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWdu KSArIDEwXQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAxMSwgNCwgNSAgLy8gY29udGV4dC0+ dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDExXQorKyAgYWRkaSA1LCA1LCAxNgor KyAgc3R2eCAxMiwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFs aWduKSArIDEyXQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAxMywgNCwgNSAgLy8gY29udGV4 dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDEzXQorKyAgYWRkaSA1LCA1LCAx NgorKyAgc3R2eCAxNCwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVb KGFsaWduKSArIDE0XQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAxNSwgNCwgNSAgLy8gY29u dGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDE1XQorKyAgYWRkaSA1LCA1 LCAxNgorKyAgc3R2eCAxNiwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2Vy dmVbKGFsaWduKSArIDE2XQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAxNywgNCwgNSAgLy8g Y29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDE3XQorKyAgYWRkaSA1 LCA1LCAxNgorKyAgc3R2eCAxOCwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jl c2VydmVbKGFsaWduKSArIDE4XQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAxOSwgNCwgNSAg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDE5XQorKyAgYWRk aSA1LCA1LCAxNgorKyAgc3R2eCAyMCwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14 X3Jlc2VydmVbKGFsaWduKSArIDIwXQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAyMSwgNCwg NSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDIxXQorKyAg YWRkaSA1LCA1LCAxNgorKyAgc3R2eCAyMiwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu dm14X3Jlc2VydmVbKGFsaWduKSArIDIyXQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAyMywg NCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDIzXQor KyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAyNCwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRl eHQudm14X3Jlc2VydmVbKGFsaWduKSArIDI0XQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAy NSwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDI1 XQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAyNiwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNv bnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDI2XQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2 eCAyNywgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSAr IDI3XQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAyOCwgNCwgNSAgLy8gY29udGV4dC0+dWNf bWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDI4XQorKyAgYWRkaSA1LCA1LCAxNgorKyAg c3R2eCAyOSwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWdu KSArIDI5XQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAzMCwgNCwgNSAgLy8gY29udGV4dC0+ dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDMwXQorKyAgYWRkaSA1LCA1LCAxNgor KyAgc3R2eCAzMSwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFs aWduKSArIDMxXQorKyAgYWRkaSA1LCA1LCAxNgorKworKyAgLy8gVlNDUgorKyAgbWZ2c2NyIDAK KysgIHN0dnggMCwgNCwgNQorKyAgYWRkaSA1LCA1LCAxNgorKworKyAgLy8gVlJTQVZFCisrICBt ZnZyc2F2ZSAwCisrICBzdHd4IDAsIDQsIDUKKysKKysgIC8vIFVwZGF0ZSBjb250ZXh0LT51Y19t Y29udGV4dC52X3JlZ3MgdG8gcG9pbnQgdG8gdm14X3Jlc2VydmUgKyBhbGlnbm1lbnQuCisrICBz dGQgNCwgMHgzNzAoMykKKysKKysgIC8vIFplcm8gb3V0IGFsbCB1bnVzZWQgZmllbGRzCisrICBs aSA0LCAwCisrICBzdGQgNCwgMHhjOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5zaWduYWwK KysgIHN0ZCA0LCAweGQwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmhhbmRsZXIKKysgIHN0 ZCA0LCAweGQ4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0Lm9sZG1hc2sKKysKKysgIGJscgor ICNlbmRpZiAgLy8gX19pMzg2X18KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3QuY2MK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3QuY2MKK0BAIC01Nyw3ICs1Nyw3IEBAIHZv aWQgVGVzdENhcHR1cmVDb250ZXh0KCkgeworICAgdWludHB0cl90IHBjID0gUHJvZ3JhbUNvdW50 ZXJGcm9tQ29udGV4dChjb250ZXh0XzEpOworIAorICNpZiAhZGVmaW5lZChBRERSRVNTX1NBTklU SVpFUikgJiYgIWRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIFwKKy0gICAgIWRlZmlu ZWQoTUVNT1JZX1NBTklUSVpFUikKKysgICAgIWRlZmluZWQoTUVNT1JZX1NBTklUSVpFUikgJiYg IWRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorICAgLy8gU2FuaXRpemVycyBjYW4gY2F1 c2UgZW5vdWdoIGNvZGUgYmxvYXQgdGhhdCB0aGUg4oCcbmVhcmJ54oCdIGNoZWNrIHdvdWxkCisg ICAvLyBsaWtlbHkgZmFpbC4KKyAgIGNvbnN0IHVpbnRwdHJfdCBrUmVmZXJlbmNlUEMgPQorLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0 aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfdGVzdF91dGlsX2xpbnV4LmNjCisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2Nh cHR1cmVfY29udGV4dF90ZXN0X3V0aWxfbGludXguY2MKK0BAIC0zNSw2ICszNSw4IEBAIHZvaWQg U2FuaXR5Q2hlY2tDb250ZXh0KGNvbnN0IE5hdGl2ZUNQVUMKKyAgIEVYUEVDVF9FUShjb250ZXh0 LnVjX21jb250ZXh0LnJlZ3NbMF0sIEZyb21Qb2ludGVyQ2FzdDx1aW50cHRyX3Q+KCZjb250ZXh0 KSk7CisgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKyAgIEVYUEVDVF9FUShj b250ZXh0LnVjX21jb250ZXh0LmdyZWdzWzRdLCBGcm9tUG9pbnRlckNhc3Q8dWludHB0cl90Pigm Y29udGV4dCkpOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgRVhQ RUNUX0VRKGNvbnRleHQudWNfbWNvbnRleHQuZ3BfcmVnc1szXSwgRnJvbVBvaW50ZXJDYXN0PHVp bnRwdHJfdD4oJmNvbnRleHQpKTsKKyAjZW5kaWYKKyB9CisgCitAQCAtNDksNiArNTEsOCBAQCB1 aW50cHRyX3QgUHJvZ3JhbUNvdW50ZXJGcm9tQ29udGV4dChjb25zCisgICByZXR1cm4gY29udGV4 dC51Y19tY29udGV4dC5wYzsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQor ICAgcmV0dXJuIGNvbnRleHQudWNfbWNvbnRleHQucGM7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQ VV9QUEM2NF9GQU1JTFkpCisrICByZXR1cm4gY29udGV4dC51Y19tY29udGV4dC5ncF9yZWdzW1BU X05JUF07CisgI2VuZGlmCisgfQorIAorQEAgLTYzLDYgKzY3LDggQEAgdWludHB0cl90IFN0YWNr UG9pbnRlckZyb21Db250ZXh0KGNvbnN0CisgICByZXR1cm4gY29udGV4dC51Y19tY29udGV4dC5z cDsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorICAgcmV0dXJuIGNvbnRl eHQudWNfbWNvbnRleHQuZ3JlZ3NbMjldOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRf RkFNSUxZKQorKyAgcmV0dXJuIGNvbnRleHQudWNfbWNvbnRleHQuZ3BfcmVnc1sxXTsKKyAjZW5k aWYKKyB9CisgCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvdXRpbC9wb3NpeC9zaWduYWxzX3Rlc3QuY2MKKysrKyBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL3Bvc2l4L3NpZ25h bHNfdGVzdC5jYworQEAgLTQ2LDkgKzQ2LDkgQEAgYm9vbCBDYW5DYXVzZVNpZ25hbChpbnQgc2ln KSB7CisgICByZXR1cm4gc2lnID09IFNJR0FCUlQgfHwKKyAgICAgICAgICBzaWcgPT0gU0lHQUxS TSB8fAorICAgICAgICAgIHNpZyA9PSBTSUdCVVMgfHwKKy0jaWYgIWRlZmluZWQoQVJDSF9DUFVf QVJNNjQpCisrI2lmICFkZWZpbmVkKEFSQ0hfQ1BVX0FSTTY0KSAmJiAhZGVmaW5lZChBUkNIX0NQ VV9QUEM2NCkKKyAgICAgICAgICBzaWcgPT0gU0lHRlBFIHx8CistI2VuZGlmICAvLyAhZGVmaW5l ZChBUkNIX0NQVV9BUk02NCkKKysjZW5kaWYgIC8vICFkZWZpbmVkKEFSQ0hfQ1BVX0FSTTY0KSAm JiAhZGVmaW5lZChBUkNIX0NQVV9QUEM2NCkKKyAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODZfRkFN SUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTUVMKQorICAgICAgICAgIHNpZyA9PSBTSUdJTEwg fHwKKyAjZW5kaWYgIC8vIGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkgfHwgZGVmaW5lZChB UkNIX0NQVV9BUk1FTCkKK0BAIC0xMTcsOSArMTE3LDExIEBAIHZvaWQgQ2F1c2VTaWduYWwoaW50 IHNpZykgeworICAgICAgIGJyZWFrOworICAgICB9CisgCistI2lmICFkZWZpbmVkKEFSQ0hfQ1BV X0FSTTY0KQorKyNpZiAhZGVmaW5lZChBUkNIX0NQVV9BUk02NCkgJiYgIWRlZmluZWQoQVJDSF9D UFVfUFBDNjQpCisgICAgIC8vIEFSTTY0IGhhcyBoYXJkd2FyZSBpbnRlZ2VyIGRpdmlzaW9uIGlu c3RydWN0aW9ucyB0aGF0IGRvbuKAmXQgZ2VuZXJhdGUgYQorICAgICAvLyB0cmFwIGZvciBkaXZp ZGUtYnktemVybywgc28gdGhpcyBkb2VzbuKAmXQgcHJvZHVjZSBTSUdGUEUuCisrICAgIC8vCisr ICAgIC8vIFBQQzY0IGZpeGVkLXBvaW50IGRpdmlzaW9uIGJ5IHplcm8gYWxzbyBkb2Vzbid0IHBy b2R1Y2UgYSBTSUdGUEUuCisgICAgIGNhc2UgU0lHRlBFOiB7CisgICAgICAgLy8gT3B0aW1pemF0 aW9uIG1ha2VzIHRoaXMgdHJpY2t5LCBzbyBnZXQgemVybyBmcm9tIGEgc3lzdGVtIGNhbGwgbGlr ZWx5CisgICAgICAgLy8gdG8gc3VjY2VlZCwgYW5kIHRyeSB0byBkbyBzb21ldGhpbmcgd2l0aCB0 aGUgcmVzdWx0LgorQEAgLTEzNyw3ICsxMzksNyBAQCB2b2lkIENhdXNlU2lnbmFsKGludCBzaWcp IHsKKyAgICAgICBmc3RhdChxdW90aWVudCwgJnN0YXRfYnVmKTsKKyAgICAgICBicmVhazsKKyAg ICAgfQorLSNlbmRpZiAgLy8gQVJDSF9DUFVfQVJNNjQKKysjZW5kaWYgIC8vICFkZWZpbmVkKEFS Q0hfQ1BVX0FSTTY0KSAmJiAhZGVmaW5lZChBUkNIX0NQVV9QUEM2NCkKKyAKKyAjaWYgZGVmaW5l ZChBUkNIX0NQVV9YODZfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTUVMKQorICAgICBj YXNlIFNJR0lMTDogeworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Rh djFkL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZGF2 MWQvQlVJTEQuZ24KK0BAIC0xOTYsNiArMTk2LDggQEAgc3RhdGljX2xpYnJhcnkoImRhdjFkXzhi aXQiKSB7CisgICAgIHNvdXJjZXMgKz0gYXJtX3RlbXBsYXRlX3NvdXJjZXMKKyAgIH0gZWxzZSBp ZiAoY3VycmVudF9jcHUgPT0gImFybTY0IikgeworICAgICBzb3VyY2VzICs9IGFybV90ZW1wbGF0 ZV9zb3VyY2VzCisrICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpIHsKKysgICAg c291cmNlcyArPSBwcGM2NF90ZW1wbGF0ZV9zb3VyY2VzCisgICB9CisgCisgICBjZmxhZ3MgPSBk YXYxZF9jb3B0cworQEAgLTIyNiw2ICsyMjgsOCBAQCBzdGF0aWNfbGlicmFyeSgiZGF2MWRfMTBi aXQiKSB7CisgICAgIHNvdXJjZXMgKz0gYXJtX3RlbXBsYXRlX3NvdXJjZXMKKyAgIH0gZWxzZSBp ZiAoY3VycmVudF9jcHUgPT0gImFybTY0IikgeworICAgICBzb3VyY2VzICs9IGFybV90ZW1wbGF0 ZV9zb3VyY2VzCisrICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpIHsKKysgICAg c291cmNlcyArPSBwcGM2NF90ZW1wbGF0ZV9zb3VyY2VzCisgICB9CisgCisgICBjZmxhZ3MgPSBk YXYxZF9jb3B0cworQEAgLTI4Myw2ICsyODcsMjEgQEAgaWYgKGN1cnJlbnRfY3B1ID09ICJ4ODYi IHx8IGN1cnJlbnRfY3B1CisgICAgIH0KKyAKKyAgICAgY2ZsYWdzID0gZGF2MWRfY29wdHMKKysg IH0KKyt9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpIHsKKysgIHN0YXRpY19saWJy YXJ5KCJkYXYxZF9wcGMiKSB7CisrICAgIHNvdXJjZXMgPSBbCisrICAgICAgImxpYmRhdjFkL3Ny Yy9wcGMvY3B1LmMiLAorKyAgICAgICJsaWJkYXYxZC9zcmMvcHBjL2NwdS5oIiwKKysgICAgXQor KworKyAgICBjb25maWdzIC09IFsgIi8vYnVpbGQvY29uZmlnL2NvbXBpbGVyOmNocm9taXVtX2Nv ZGUiIF0KKysgICAgY29uZmlncyArPSBbCisrICAgICAgIi8vYnVpbGQvY29uZmlnL2NvbXBpbGVy Om5vX2Nocm9taXVtX2NvZGUiLAorKyAgICAgICI6ZGF2MWRfY29uZmlnIiwKKysgICAgXQorKwor KyAgICBjZmxhZ3MgPSBkYXYxZF9jb3B0cworIAorICAgICBkZXBzID0gWyAiOmRhdjFkX2hlYWRl cnMiIF0KKyAgICAgYWxsb3dfY2lyY3VsYXJfaW5jbHVkZXNfZnJvbSA9IFsgIjpkYXYxZF9oZWFk ZXJzIiBdCitAQCAtMzE1LDUgKzMzNCw3IEBAIHN0YXRpY19saWJyYXJ5KCJkYXYxZCIpIHsKKyAg ICAgfQorICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAiYXJtIiB8fCBjdXJyZW50X2NwdSA9 PSAiYXJtNjQiKSB7CisgICAgIGRlcHMgKz0gWyAiOmRhdjFkX2FybSIgXQorKyAgfSBlbHNlIGlm IChjdXJyZW50X2NwdSA9PSAicHBjNjQiKSB7CisrICAgIGRlcHMgKz0gWyAiOmRhdjFkX3BwYyIg XQorICAgfQorIH0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kYXYx ZC9kYXYxZF9nZW5lcmF0ZWQuZ25pCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvZGF2MWQvZGF2MWRfZ2VuZXJhdGVkLmduaQorQEAgLTEwMyw2ICsxMDMsMTEgQEAgYXJt X3RlbXBsYXRlX3NvdXJjZXMgPSBbCisgICAibGliZGF2MWQvc3JjL2FybS9tY19pbml0X3RtcGwu YyIsCisgXQorIAorK3BwYzY0X3RlbXBsYXRlX3NvdXJjZXMgPSBbCisrICAibGliZGF2MWQvc3Jj L3BwYy9jZGVmX2luaXRfdG1wbC5jIiwKKysgICJsaWJkYXYxZC9zcmMvcHBjL2xvb3ByZXN0b3Jh dGlvbl9pbml0X3RtcGwuYyIsCisrXQorKworIHRlbXBsYXRlX3NvdXJjZXMgPSBbCisgICAibGli ZGF2MWQvc3JjL2NkZWZfYXBwbHlfdG1wbC5jIiwKKyAgICJsaWJkYXYxZC9zcmMvY2RlZl90bXBs LmMiLAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2RhdjFkL2dlbmVy YXRlX3NvdXJjZS5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Rh djFkL2dlbmVyYXRlX3NvdXJjZS5weQorQEAgLTU3LDYgKzU3LDggQEAgZGVmIF9Xcml0ZUduKGZk KToKKyAgIF9Xcml0ZUFycmF5KGZkLCAiYXJtNjRfYXNtX3NvdXJjZXMiLCBfR2xvYigibGliZGF2 MWQvc3JjL2FybS82NC8qLlMiKSkKKyAgIF9Xcml0ZUFycmF5KGZkLCAiYXJtX3RlbXBsYXRlX3Nv dXJjZXMiLCBfR2xvYigibGliZGF2MWQvc3JjL2FybS8qX3RtcGwuYyIpKQorIAorKyAgX1dyaXRl QXJyYXkoZmQsICJwcGM2NF90ZW1wbGF0ZV9zb3VyY2VzIiwgX0dsb2IoImxpYmRhdjFkL3NyYy9w cGMvKl90bXBsLmMiKSkKKysKKyAgIHRlbXBsYXRlX3NvdXJjZXMgPSBfR2xvYigibGliZGF2MWQv c3JjLypfdG1wbC5jIikKKyAgIF9Xcml0ZUFycmF5KGZkLCAidGVtcGxhdGVfc291cmNlcyIsIHRl bXBsYXRlX3NvdXJjZXMpCisgCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvZGF2MWQvbGliZGF2MWQvc3JjL3BwYy90eXBlcy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvZGF2MWQvbGliZGF2MWQvc3JjL3BwYy90eXBlcy5oCitAQCAtNTEs NCArNTEsMTkgQEAKKyAjZGVmaW5lIHUxNmxfdG9faTMyKHYpICgoaTMyeDQpIHZlY19tZXJnZWwo KHUxNng4KSB2LCB2ZWNfc3BsYXRfdTE2KDApKSkKKyAjZGVmaW5lIGkxNmxfdG9faTMyKHYpICgo aTMyeDQpIHZlY191bnBhY2tsKChpMTZ4OCl2KSkKKyAKKysjaWYgZGVmaW5lZChfX2NsYW5nX18p CisrI3VuZGVmIHZlY19zcGxhdHMKKysjZGVmaW5lIHZlY19zcGxhdHMoTikgICAgICAgICAgICAg ICAgICAgICBcCisrICAgIF9HZW5lcmljKChOKSwgICAgICAgICAgICAgICAgICAgICAgICAgXAor KyAgICAgICAgdW5zaWduZWQgY2hhcjogICAgICAoKHU4eDE2KShOKSksIFwKKysgICAgICAgIHNp Z25lZCBjaGFyOiAgICAgICAgKChpOHgxNikoTikpLCBcCisrICAgICAgICB1bnNpZ25lZCBzaG9y dDogICAgICgodTE2eDgpKE4pKSwgXAorKyAgICAgICAgc2lnbmVkIHNob3J0OiAgICAgICAoKGkx Nng4KShOKSksIFwKKysgICAgICAgIHVuc2lnbmVkIGludDogICAgICAgKCh1MzJ4NCkoTikpLCBc CisrICAgICAgICBzaWduZWQgaW50OiAgICAgICAgICgoaTMyeDQpKE4pKSwgXAorKyAgICAgICAg dW5zaWduZWQgbG9uZyBsb25nOiAoKHU2NHgyKShOKSksIFwKKysgICAgICAgIHNpZ25lZCBsb25n IGxvbmc6ICAgKChpNjR4MikoTikpICBcCisrICAgICkKKysjZW5kaWYKKysKKyAjZW5kaWYgLyog REFWMURfU1JDX1BQQ19UWVBFU19IICovCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvZWlnZW4zL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvZWlnZW4zL0JVSUxELmduCitAQCAtMjIsNCArMjIsOCBAQCBjb25maWcoImVpZ2Vu X2luY2x1ZGVzIikgeworICAgICAjIGZvciB0aGlzIGNvbXBvbmVudCBvbiBXaW5kb3dzIG9uIEFy bSBkdWUgdG8gY29tcGlsYXRpb24gZXJyb3JzLgorICAgICBkZWZpbmVzICs9IFsgIkVJR0VOX0RP TlRfVkVDVE9SSVpFIiBdCisgICB9CisrCisrICBpZiAodGFyZ2V0X2NwdSA9PSAicHBjNjQiKSB7 CisrICAgIGRlZmluZXMgKz0gWyAiRUlHRU5fRE9OVF9WRUNUT1JJWkUiIF0KKysgIH0KKyB9Cist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGliYW9tL0JVSUxELmduCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGliYW9tL0JVSUxELmduCitA QCAtMzcsNiArMzcsOCBAQCBpZiAoZW5hYmxlX2xpYmFvbSkgeworICAgICB9IGVsc2UgeworICAg ICAgIGNwdV9hcmNoX2Z1bGwgPSAiYXJtIgorICAgICB9CisrICB9IGVsc2UgaWYgKGN1cnJlbnRf Y3B1ID09ICJwcGM2NCIpIHsKKysgICAgY3B1X2FyY2hfZnVsbCA9ICJnZW5lcmljIgorICAgfSBl bHNlIHsKKyAgICAgY3B1X2FyY2hfZnVsbCA9IGN1cnJlbnRfY3B1CisgICB9CistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGliZ2F2MS9vcHRpb25zLmduaQorKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xpYmdhdjEvb3B0aW9ucy5nbmkKK0BA IC0xMiw1ICsxMiw1IEBAIGRlY2xhcmVfYXJncygpIHsKKyAgICAgICBpc19jaHJvbWVvc19hc2gg JiYgKHRhcmdldF9jcHUgPT0gImFybSIgfHwgdGFyZ2V0X2NwdSA9PSAiYXJtNjQiKQorICAgdXNl X2xpYmdhdjFfcGFyc2VyID0KKyAgICAgICAoaXNfY2hyb21lb3MgfHwgaXNfbGludXggfHwgaXNf d2luKSAmJgorLSAgICAgICh0YXJnZXRfY3B1ID09ICJ4ODYiIHx8IHRhcmdldF9jcHUgPT0gIng2 NCIgfHwgdGFyZ2V0X2NwdSA9PSAiYXJtNjQiKQorKyAgICAgICh0YXJnZXRfY3B1ID09ICJ4ODYi IHx8IHRhcmdldF9jcHUgPT0gIng2NCIgfHwgdGFyZ2V0X2NwdSA9PSAiYXJtNjQiIHx8IHRhcmdl dF9jcHUgPT0gInBwYzY0IikKKyB9CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCitAQCAtNDI2Miw3 ICs0MjYyLDcgQEAgc3RydWN0IGtlcm5lbF9zdGF0ZnMgeworICAgICAgIExTU19SRUcoMiwgYnVm KTsKKyAgICAgICBMU1NfQk9EWSh2b2lkKiwgbW1hcDIsICIwIihfX3IyKSk7CisgICAgIH0KKy0j ZWxzZQorKyNlbGlmICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pIC8qIHBwYzY0IGRvZXNuJ3QgaGF2 ZSBtbWFwMiAqLworICAgICAjZGVmaW5lIF9fTlJfX21tYXAyIF9fTlJfbW1hcDIKKyAgICAgTFNT X0lOTElORSBfc3lzY2FsbDYodm9pZCosIF9tbWFwMiwgICAgICAgICAgICB2b2lkKiwgcywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90LCAgICAgICAgICAgICAgICAgICBsLCBpbnQs ICAgICAgICAgICAgICAgcCwKK0BAIC00MzczLDcgKzQzNzMsNyBAQCBzdHJ1Y3Qga2VybmVsX3N0 YXRmcyB7CisgICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgIGRlZmluZWQoX19BUk1fQVJD SF8zX18pIHx8IGRlZmluZWQoX19BUk1fRUFCSV9fKSB8fCAgICAgICAgICAgICAgICAgICAgIFwK KyAgICAgIChkZWZpbmVkKF9fbWlwc19fKSAmJiBfTUlQU19TSU0gPT0gX01JUFNfU0lNX0FCSTMy KSB8fCAgICAgICAgICAgICAgICAgICBcCistICAgICAgZGVmaW5lZChfX1BQQ19fKSB8fCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICAg KGRlZmluZWQoX19QUENfXykgJiYgIWRlZmluZWQoX19wb3dlcnBjNjRfXykpIHx8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAoZGVm aW5lZChfX3MzOTBfXykgJiYgIWRlZmluZWQoX19zMzkweF9fKSkKKyAgICAgLyogT24gdGhlc2Ug YXJjaGl0ZWN0dXJlcywgaW1wbGVtZW50IG1tYXAoKSB3aXRoIG1tYXAyKCkuICovCisgICAgIExT U19JTkxJTkUgdm9pZCogTFNTX05BTUUobW1hcCkodm9pZCAqcywgc2l6ZV90IGwsIGludCBwLCBp bnQgZiwgaW50IGQsCitAQCAtNDU1Niw5ICs0NTU2LDE3IEBAIHN0cnVjdCBrZXJuZWxfc3RhdGZz IHsKKyAgICAgfQorICAgI2VuZGlmCisgICAjaWYgZGVmaW5lZChfX05SX2ZzdGF0YXQ2NCkKKysg ICAgI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysgICAgICAgIC8vIG11c2wgZG9lc24ndCBkZWZp bmUgZnN0YXRhdDY0IGZzdGF0YXQKKysgICAgICAgICN1bmRlZiBmc3RhdGF0NjQKKysgICAgI2Vu ZGlmCisgICAgIExTU19JTkxJTkUgX3N5c2NhbGw0KGludCwgICBmc3RhdGF0NjQsICAgICAgICBp bnQsICAgZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqLCAgICAgIHAs CisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfc3RhdDY0ICosICAgYiwg ICAgaW50LCAgIGYpCisrICAgICNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrICAgIAkvLyB0aGVu IHJlc3RvcmUgaXQKKysgICAgICAgICNkZWZpbmUgZnN0YXRhdDY0IGZzdGF0YXQKKysgICAgI2Vu ZGlmCisgICAjZW5kaWYKKyAgICNpZiBkZWZpbmVkKF9fTlJfd2FpdHBpZCkKKyAgICAgLy8gd2Fp dHBpZCBpcyBwb2x5ZmlsbGVkIGJlbG93IHdoZW4gbm90IGF2YWlsYWJsZS4KKy0tLSBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9wZGZpdW0vdGhpcmRfcGFydHkvbGlicG5nMTYv cG5ncHJpdi5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcGRmaXVt L3RoaXJkX3BhcnR5L2xpYnBuZzE2L3BuZ3ByaXYuaAorQEAgLTE5NiwxMSArMTk2LDcgQEAKKyAj ZW5kaWYKKyAKKyAjaWZuZGVmIFBOR19QT1dFUlBDX1ZTWF9PUFQKKy0jICBpZiBkZWZpbmVkKF9f UFBDNjRfXykgJiYgZGVmaW5lZChfX0FMVElWRUNfXykgJiYgZGVmaW5lZChfX1ZTWF9fKQorLSMg ICAgIGRlZmluZSBQTkdfUE9XRVJQQ19WU1hfT1BUIDIKKy0jICBlbHNlCistIyAgICAgZGVmaW5l IFBOR19QT1dFUlBDX1ZTWF9PUFQgMAorLSMgIGVuZGlmCisrIyAgZGVmaW5lIFBOR19QT1dFUlBD X1ZTWF9PUFQgMAorICNlbmRpZgorIAorICNpZm5kZWYgUE5HX0lOVEVMX1NTRV9PUFQKKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9wZmZmdC9zcmMvcGZmZnQuYworKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3BmZmZ0L3NyYy9wZmZmdC5jCitA QCAtMTAwLDYgKzEwMCw3IEBACisgICAgQWx0aXZlYyBzdXBwb3J0IG1hY3JvcyAKKyAqLworICNp ZiAhZGVmaW5lZChQRkZGVF9TSU1EX0RJU0FCTEUpICYmIChkZWZpbmVkKF9fcHBjX18pIHx8IGRl ZmluZWQoX19wcGM2NF9fKSkKKysjaW5jbHVkZSA8YWx0aXZlYy5oPgorIHR5cGVkZWYgdmVjdG9y IGZsb2F0IHY0c2Y7CisgIyAgZGVmaW5lIFNJTURfU1ogNAorICMgIGRlZmluZSBWWkVSTygpICgo dmVjdG9yIGZsb2F0KSB2ZWNfc3BsYXRfdTgoMCkpCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvc2tpYS9zcmMvc2tzbC9Ta1NMU3RyaW5nLmNwcAorKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NraWEvc3JjL3Nrc2wvU2tTTFN0cmluZy5jcHAK K0BAIC0xNDIsNyArMTQyLDEyIEBAIFN0cmluZyB0b19zdHJpbmcoZG91YmxlIHZhbHVlKSB7Cisg ICAgIGlmIChuZWVkc0RvdFplcm8pIHsKKyAgICAgICAgIGJ1ZmZlciA8PCAiLjAiOworICAgICB9 CistICAgIHJldHVybiBTdHJpbmcoYnVmZmVyLnN0cigpLmNfc3RyKCkpOworKworKyAgICBzdGQ6 OnN0cmluZyByZXQoYnVmZmVyLnN0cigpKTsKKysgICAgaWYgKHNpZ25iaXQodmFsdWUpICYmIHJl dFswXSA9PSAnLicpIHsKKysgICAgICAgIHJldFswXSA9ICctJzsKKysgICAgfQorKyAgICByZXR1 cm4gU3RyaW5nKHJldC5jX3N0cigpKTsKKyB9CisgCisgYm9vbCBzdG9kKGNvbnN0IHNrc3RkOjpz dHJpbmdfdmlldyYgcywgU0tTTF9GTE9BVCogdmFsdWUpIHsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlvbi9zcWxpdGUzLmMKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxnYW1h dGlvbi9zcWxpdGUzLmMKK0BAIC0xNDYyOCw3ICsxNDYyOCw4IEBAIHR5cGVkZWYgSU5UMTZfVFlQ RSBMb2dFc3Q7CisgIyBpZiBkZWZpbmVkKGkzODYpICAgICAgfHwgZGVmaW5lZChfX2kzODZfXykg ICAgICB8fCBkZWZpbmVkKF9NX0lYODYpIHx8ICAgIFwKKyAgICAgIGRlZmluZWQoX194ODZfNjQp ICB8fCBkZWZpbmVkKF9feDg2XzY0X18pICAgIHx8IGRlZmluZWQoX01fWDY0KSAgfHwgICAgXAor ICAgICAgZGVmaW5lZChfTV9BTUQ2NCkgIHx8IGRlZmluZWQoX01fQVJNKSAgICAgICAgfHwgZGVm aW5lZChfX3g4NikgICB8fCAgICBcCistICAgICBkZWZpbmVkKF9fQVJNRUxfXykgfHwgZGVmaW5l ZChfX0FBUkNINjRFTF9fKSB8fCBkZWZpbmVkKF9NX0FSTTY0KQorKyAgICAgZGVmaW5lZChfX0FS TUVMX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUxfXykgfHwgZGVmaW5lZChfTV9BUk02NCkgfHwg ICBcCisrICAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pICYmIChfX0JZVEVfT1JERVJfXyA9PSBf X09SREVSX0xJVFRMRV9FTkRJQU5fXykKKyAjICAgZGVmaW5lIFNRTElURV9CWVRFT1JERVIgICAg MTIzNAorICMgZWxpZiBkZWZpbmVkKHNwYXJjKSAgICAgfHwgZGVmaW5lZChfX3BwY19fKSB8fCBc CisgICAgICAgIGRlZmluZWQoX19BUk1FQl9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVCX18pCist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9hbWFsZ2Ft YXRpb25fZGV2L3NxbGl0ZTMuYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L3NxbGl0ZS9zcmMvYW1hbGdhbWF0aW9uX2Rldi9zcWxpdGUzLmMKK0BAIC0xNDY0MSw3ICsx NDY0MSw4IEBAIHR5cGVkZWYgSU5UMTZfVFlQRSBMb2dFc3Q7CisgIyBpZiBkZWZpbmVkKGkzODYp ICAgICAgfHwgZGVmaW5lZChfX2kzODZfXykgICAgICB8fCBkZWZpbmVkKF9NX0lYODYpIHx8ICAg IFwKKyAgICAgIGRlZmluZWQoX194ODZfNjQpICB8fCBkZWZpbmVkKF9feDg2XzY0X18pICAgIHx8 IGRlZmluZWQoX01fWDY0KSAgfHwgICAgXAorICAgICAgZGVmaW5lZChfTV9BTUQ2NCkgIHx8IGRl ZmluZWQoX01fQVJNKSAgICAgICAgfHwgZGVmaW5lZChfX3g4NikgICB8fCAgICBcCistICAgICBk ZWZpbmVkKF9fQVJNRUxfXykgfHwgZGVmaW5lZChfX0FBUkNINjRFTF9fKSB8fCBkZWZpbmVkKF9N X0FSTTY0KQorKyAgICAgZGVmaW5lZChfX0FSTUVMX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUxf XykgfHwgZGVmaW5lZChfTV9BUk02NCkgfHwgICBcCisrICAgICBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pICYmIChfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXykKKyAjICAg ZGVmaW5lIFNRTElURV9CWVRFT1JERVIgICAgMTIzNAorICMgZWxpZiBkZWZpbmVkKHNwYXJjKSAg ICAgfHwgZGVmaW5lZChfX3BwY19fKSB8fCBcCisgICAgICAgIGRlZmluZWQoX19BUk1FQl9fKSB8 fCBkZWZpbmVkKF9fQUFSQ0g2NEVCX18pCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvc3FsaXRlL3NyYy9leHQvcnRyZWUvcnRyZWUuYworKysrIGIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvZXh0L3J0cmVlL3J0cmVlLmMKK0BAIC00 NTAsNyArNDUwLDcgQEAgc3RydWN0IFJ0cmVlTWF0Y2hBcmcgeworICNpZiBkZWZpbmVkKGkzODYp ICAgICB8fCBkZWZpbmVkKF9faTM4Nl9fKSAgIHx8IGRlZmluZWQoX01fSVg4NikgfHwgICAgXAor ICAgICBkZWZpbmVkKF9feDg2XzY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQo X01fWDY0KSAgfHwgICAgXAorICAgICBkZWZpbmVkKF9NX0FNRDY0KSB8fCBkZWZpbmVkKF9NX0FS TSkgICAgIHx8IGRlZmluZWQoX194ODYpICAgfHwgICAgXAorLSAgICBkZWZpbmVkKF9fYXJtX18p CisrICAgIGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSAmJiAoX19C WVRFX09SREVSX18gPT0gX19PUkRFUl9MSVRUTEVfRU5ESUFOX18pCisgIyBkZWZpbmUgU1FMSVRF X0JZVEVPUkRFUiAgICAxMjM0CisgI2VsaWYgZGVmaW5lZChzcGFyYykgICAgfHwgZGVmaW5lZChf X3BwY19fKQorICMgZGVmaW5lIFNRTElURV9CWVRFT1JERVIgICAgNDMyMQorLS0tIGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvc3JjL3NxbGl0ZUludC5oCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9zcmMvc3Fs aXRlSW50LmgKK0BAIC04OTAsNyArODkwLDggQEAgdHlwZWRlZiBJTlQxNl9UWVBFIExvZ0VzdDsK KyAjIGlmIGRlZmluZWQoaTM4NikgICAgICB8fCBkZWZpbmVkKF9faTM4Nl9fKSAgICAgIHx8IGRl ZmluZWQoX01fSVg4NikgfHwgICAgXAorICAgICAgZGVmaW5lZChfX3g4Nl82NCkgIHx8IGRlZmlu ZWQoX194ODZfNjRfXykgICAgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAgICBcCisgICAgICBkZWZp bmVkKF9NX0FNRDY0KSAgfHwgZGVmaW5lZChfTV9BUk0pICAgICAgICB8fCBkZWZpbmVkKF9feDg2 KSAgIHx8ICAgIFwKKy0gICAgIGRlZmluZWQoX19BUk1FTF9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2 NEVMX18pIHx8IGRlZmluZWQoX01fQVJNNjQpCisrICAgICBkZWZpbmVkKF9fQVJNRUxfXykgfHwg ZGVmaW5lZChfX0FBUkNINjRFTF9fKSB8fCBkZWZpbmVkKF9NX0FSTTY0KSB8fCBcCisrICAgICBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pICYmIChfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRM RV9FTkRJQU5fXykKKyAjICAgZGVmaW5lIFNRTElURV9CWVRFT1JERVIgICAgMTIzNAorICMgZWxp ZiBkZWZpbmVkKHNwYXJjKSAgICAgfHwgZGVmaW5lZChfX3BwY19fKSB8fCBcCisgICAgICAgIGRl ZmluZWQoX19BUk1FQl9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVCX18pCistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvZGVza3RvcF9jYXB0dXJl L2RpZmZlcl9ibG9jay5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L3dlYnJ0Yy9tb2R1bGVzL2Rlc2t0b3BfY2FwdHVyZS9kaWZmZXJfYmxvY2suY2MKK0BAIC0zMCwx MSArMzAsNyBAQCBib29sIFZlY3RvckRpZmZlcmVuY2UoY29uc3QgdWludDhfdCogaW1hCisgICBz dGF0aWMgYm9vbCAoKmRpZmZfcHJvYykoY29uc3QgdWludDhfdCosIGNvbnN0IHVpbnQ4X3QqKSA9 IG51bGxwdHI7CisgCisgICBpZiAoIWRpZmZfcHJvYykgeworLSNpZiBkZWZpbmVkKFdFQlJUQ19B UkNIX0FSTV9GQU1JTFkpIHx8IGRlZmluZWQoV0VCUlRDX0FSQ0hfTUlQU19GQU1JTFkpCistICAg IC8vIEZvciBBUk0gYW5kIE1JUFMgcHJvY2Vzc29ycywgYWx3YXlzIHVzZSBDIHZlcnNpb24uCist ICAgIC8vIFRPRE8oaGNsYW0pOiBJbXBsZW1lbnQgYSBORU9OIHZlcnNpb24uCistICAgIGRpZmZf cHJvYyA9ICZWZWN0b3JEaWZmZXJlbmNlX0M7CistI2Vsc2UKKysjaWYgZGVmaW5lZChXRUJSVENf QVJDSF9YODZfRkFNSUxZKQorICAgICBib29sIGhhdmVfc3NlMiA9IEdldENQVUluZm8oa1NTRTIp ICE9IDA7CisgICAgIC8vIEZvciB4ODYgcHJvY2Vzc29ycywgY2hlY2sgaWYgU1NFMiBpcyBzdXBw b3J0ZWQuCisgICAgIGlmIChoYXZlX3NzZTIgJiYga0Jsb2NrU2l6ZSA9PSAzMikgeworQEAgLTQ0 LDYgKzQwLDEwIEBAIGJvb2wgVmVjdG9yRGlmZmVyZW5jZShjb25zdCB1aW50OF90KiBpbWEKKyAg ICAgfSBlbHNlIHsKKyAgICAgICBkaWZmX3Byb2MgPSAmVmVjdG9yRGlmZmVyZW5jZV9DOworICAg ICB9CisrI2Vsc2UKKysgICAgLy8gRm9yIG90aGVyIHByb2Nlc3NvcnMsIGFsd2F5cyB1c2UgQyB2 ZXJzaW9uLgorKyAgICAvLyBUT0RPKGhjbGFtKTogSW1wbGVtZW50IGEgTkVPTiB2ZXJzaW9uLgor KyAgICBkaWZmX3Byb2MgPSAmVmVjdG9yRGlmZmVyZW5jZV9DOworICNlbmRpZgorICAgfQorIAor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdjgvQlVJTEQuZ24KK0BAIC0xMDgzLDYgKzEwODMsMTIgQEAgY29uZmlnKCJ0 b29sY2hhaW4iKSB7CisgICAgIH0KKyAgICAgaWYgKGhvc3RfYnl0ZW9yZGVyID09ICJsaXR0bGUi KSB7CisgICAgICAgZGVmaW5lcyArPSBbICJWOF9UQVJHRVRfQVJDSF9QUENfTEUiIF0KKysgICAg ICBjZmxhZ3MgKz0gWworKyAgICAgICAgIyBFbmFibGUgdXNhZ2Ugb2YgQWx0aVZlYywgVlNYLCBh bmQgb3RoZXIgUE9XRVI4IGFuZCBoaWdoZXIgZmVhdHVyZXMKKysgICAgICAgICItbWNwdT1wb3dl cjgiLAorKyAgICAgICAgIi1tYWx0aXZlYyIsCisrICAgICAgICAiLW12c3giLAorKyAgICAgIF0K KyAgICAgfSBlbHNlIGlmIChob3N0X2J5dGVvcmRlciA9PSAiYmlnIikgeworICAgICAgIGRlZmlu ZXMgKz0gWyAiVjhfVEFSR0VUX0FSQ0hfUFBDX0JFIiBdCisgICAgICAgaWYgKGN1cnJlbnRfb3Mg PT0gImFpeCIpIHsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS91aS9nbC9mZWF0dXJlcy5n bmkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS91aS9nbC9mZWF0dXJlcy5nbmkKK0BAIC0z NSw3ICszNSw4IEBAIGRlY2xhcmVfYXJncygpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAo aXNfbWFjICYmIHVzZV9lZ2wpIHx8IGlzX2Nocm9tZW9zX2FzaCB8fCBpc19mdWNoc2lhKSAmJgor ICAgICAgICAgICAgICAgICAgICAgICAgKHRhcmdldF9jcHUgPT0gIng4NiIgfHwgdGFyZ2V0X2Nw dSA9PSAieDY0IiB8fAorICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9jcHUgPT0gImFy bSIgfHwgdGFyZ2V0X2NwdSA9PSAiYXJtNjQiIHx8CistICAgICAgICAgICAgICAgICAgICAgICAg dGFyZ2V0X2NwdSA9PSAibWlwc2VsIiB8fCB0YXJnZXRfY3B1ID09ICJtaXBzNjRlbCIpCisrICAg ICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2NwdSA9PSAibWlwc2VsIiB8fCB0YXJnZXRfY3B1 ID09ICJtaXBzNjRlbCIgfHwKKysgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfY3B1ID09 ICJwcGM2NCIpCisgfQorIAorIHVzZV9nbHggPSB1c2VfeDExIHx8IG96b25lX3BsYXRmb3JtX3gx MQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3Rlc3QvQlVJTEQuZ24KKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS92OC90ZXN0L0JVSUxELmduCitAQCAtNDIsNyArNDIsNiBAQCBn cm91cCgiZ25fYWxsIikgeworICAgICAgICJiZW5jaG1hcmtzL2NwcDpnbl9hbGwiLAorICAgICAg ICJjY3Rlc3Q6Y2N0ZXN0IiwKKyAgICAgICAiY2N0ZXN0OmdlbmVyYXRlLWJ5dGVjb2RlLWV4cGVj dGF0aW9ucyIsCistICAgICAgInVuaXR0ZXN0czp1bml0dGVzdHMiLAorICAgICBdCisgICB9Cisg fQorQEAgLTg0LDcgKzgzLDYgQEAgZ3JvdXAoInY4X2JvdF9kZWZhdWx0IikgeworICAgICAibWVz c2FnZTp2OF9tZXNzYWdlIiwKKyAgICAgIm1qc3VuaXQ6djhfbWpzdW5pdCIsCisgICAgICJta2dy b2tkdW1wOm1rZ3Jva2R1bXAiLAorLSAgICAidW5pdHRlc3RzOnVuaXR0ZXN0cyIsCisgICAgICJ3 ZWJraXQ6djhfd2Via2l0IiwKKyAgIF0KKyAKK0BAIC0xMDksNyArMTA3LDYgQEAgZ3JvdXAoInY4 X2RlZmF1bHQiKSB7CisgICAgICJtZXNzYWdlOnY4X21lc3NhZ2UiLAorICAgICAibWpzdW5pdDp2 OF9tanN1bml0IiwKKyAgICAgIm1rZ3Jva2R1bXA6bWtncm9rZHVtcCIsCistICAgICJ1bml0dGVz dHM6dW5pdHRlc3RzIiwKKyAgIF0KKyAKKyAgIGlmICh2OF9lbmFibGVfd2ViYXNzZW1ibHkpIHsK Ky0tLSAvZGV2L251bGwKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9kZXYvbnVsbAorQEAg LTAsMCArMSwzOSBAQAorKy8qCisrICogQXV0b2dlbmVyYXRlZCBieSB0aGUgTWVzb24gYnVpbGQg c3lzdGVtLgorKyAqIERvIG5vdCBlZGl0LCB5b3VyIGNoYW5nZXMgd2lsbCBiZSBsb3N0LgorKyAq LworKworKyNwcmFnbWEgb25jZQorKworKyNkZWZpbmUgQVJDSF9BQVJDSDY0IDAKKysKKysjZGVm aW5lIEFSQ0hfQVJNIDAKKysKKysjZGVmaW5lIEFSQ0hfUFBDNjRMRSAxCisrCisrI2RlZmluZSBB UkNIX1g4NiAwCisrCisrI2RlZmluZSBBUkNIX1g4Nl8zMiAwCisrCisrI2RlZmluZSBBUkNIX1g4 Nl82NCAwCisrCisrI2RlZmluZSBDT05GSUdfMTZCUEMgMQorKworKyNkZWZpbmUgQ09ORklHXzhC UEMgMQorKworKy8vICNkZWZpbmUgQ09ORklHX0xPRyAxIC0tIExvZ2dpbmcgaXMgY29udHJvbGxl ZCBieSBDaHJvbWl1bQorKworKyNkZWZpbmUgRU5ESUFOTkVTU19CSUcgMAorKworKyNkZWZpbmUg SEFWRV9BU00gMQorKworKyNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKKysKKysjZGVmaW5l IEhBVkVfRExTWU0gMQorKworKyNkZWZpbmUgSEFWRV9HRVRBVVhWQUwgMQorKworKyNkZWZpbmUg SEFWRV9QT1NJWF9NRU1BTElHTiAxCisrCisrI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKKysKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvYmFz ZS9pbnRlcm5hbC91bnNjYWxlZGN5Y2xlY2xvY2suaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9iYXNlL2ludGVybmFsL3Vuc2NhbGVkY3lj bGVjbG9jay5oCitAQCAtNDYsNyArNDYsNyBAQAorIAorIC8vIFRoZSBmb2xsb3dpbmcgcGxhdGZv cm1zIGhhdmUgYW4gaW1wbGVtZW50YXRpb24gb2YgYSBoYXJkd2FyZSBjb3VudGVyLgorICNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hYXJj aDY0X18pIHx8IFwKKy0gIGRlZmluZWQoX19wb3dlcnBjX18pIHx8IGRlZmluZWQoX19wcGNfXykg fHwgXAorKyAgKChkZWZpbmVkKF9fcG93ZXJwY19fKSB8fCBkZWZpbmVkKF9fcHBjX18pKSAmJiBk ZWZpbmVkKF9fR0xJQkNfXykpIHx8IFwKKyAgIGRlZmluZWQoX01fSVg4NikgfHwgZGVmaW5lZChf TV9YNjQpCisgI2RlZmluZSBBQlNMX0hBVkVfVU5TQ0FMRURfQ1lDTEVDTE9DS19JTVBMRU1FTlRB VElPTiAxCisgI2Vsc2UKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9h YnNlaWwtY3BwL2Fic2wvZGVidWdnaW5nL2ludGVybmFsL3N0YWNrdHJhY2VfY29uZmlnLmgKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvZGVi dWdnaW5nL2ludGVybmFsL3N0YWNrdHJhY2VfY29uZmlnLmgKK0BAIC01OSw3ICs1OSw3IEBACisg I2VsaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQorICNkZWZpbmUg QUJTTF9TVEFDS1RSQUNFX0lOTF9IRUFERVIgXAorICAgImFic2wvZGVidWdnaW5nL2ludGVybmFs L3N0YWNrdHJhY2VfeDg2LWlubC5pbmMiCistI2VsaWYgZGVmaW5lZChfX3BwY19fKSB8fCBkZWZp bmVkKF9fUFBDX18pCisrI2VsaWYgZGVmaW5lZChfX3BwY19fKSB8fCBkZWZpbmVkKF9fUFBDX18p ICYmIGRlZmluZWQoX19HTElCQ19fKQorICNkZWZpbmUgQUJTTF9TVEFDS1RSQUNFX0lOTF9IRUFE RVIgXAorICAgImFic2wvZGVidWdnaW5nL2ludGVybmFsL3N0YWNrdHJhY2VfcG93ZXJwYy1pbmwu aW5jIgorICNlbGlmIGRlZmluZWQoX19hYXJjaDY0X18pCistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2Nf Y29uZmlnLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2FsbG9jYXRvci9wYXJ0 aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY19jb25maWcuaAorQEAgLTEwMCw3ICsxMDAs OCBAQCBzdGF0aWNfYXNzZXJ0KHNpemVvZih2b2lkKikgIT0gOCwgIiIpOworIC8vIFBVVF9SRUZf Q09VTlRfSU5fUFJFVklPVVNfU0xPVCBkb2VzLiBJbiB0aGlzIGNhc2UgdGhlIHJlZmNvdW50IG92 ZXJsYXBzIHdpdGgKKyAvLyB0aGUgbmV4dCBwb2ludGVyIHNoYWRvdyBmb3IgdGhlIHNtYWxsZXN0 IGJ1Y2tldC4KKyAjaWYgIShkZWZpbmVkKE9TX01BQykgJiYgZGVmaW5lZChBUkNIX0NQVV9BUk02 NCkpICYmIFwKKy0gICAgIUJVSUxERkxBRyhQVVRfUkVGX0NPVU5UX0lOX1BSRVZJT1VTX1NMT1Qp CisrICAgICFCVUlMREZMQUcoUFVUX1JFRl9DT1VOVF9JTl9QUkVWSU9VU19TTE9UKSAmJiBcCisr ICAgICghZGVmaW5lZChfX0dMSUJDKSAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKSkKKyAjZGVm aW5lIFBBX0hBU19GUkVFTElTVF9IQVJERU5JTkcKKyAjZW5kaWYKKyAKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9idWlsZC9kb3dubG9hZF9uYWNsX3Rvb2xjaGFpbnMucHkKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9kb3dubG9hZF9uYWNsX3Rvb2xjaGFpbnMucHkKK0BA IC0xMyw2ICsxMyw4IEBAIGltcG9ydCBzeXMKKyAKKyAKKyBkZWYgTWFpbihhcmdzKToKKysgIGlm ICdkaXNhYmxlX25hY2w9MScgaW4gb3MuZW52aXJvbi5nZXQoJ0dZUF9ERUZJTkVTJywgJycpOgor KyAgICByZXR1cm4gMAorICAgc2NyaXB0X2RpciA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFi c3BhdGgoX19maWxlX18pKQorICAgc3JjX2RpciA9IG9zLnBhdGguZGlybmFtZShzY3JpcHRfZGly KQorICAgbmFjbF9kaXIgPSBvcy5wYXRoLmpvaW4oc3JjX2RpciwgJ25hdGl2ZV9jbGllbnQnKQor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Nocm9tZS9pbnN0YWxsZXIvbGludXgvQlVJTEQu Z24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jaHJvbWUvaW5zdGFsbGVyL2xpbnV4L0JV SUxELmduCitAQCAtMTAwLDggKzEwMCw2IEBAIHBhY2thZ2luZ19maWxlcyA9IHBhY2thZ2luZ19m aWxlc19iaW5hcmkKKyAgICAgICAgICAgICAgICAgICAgICIkcm9vdF9vdXRfZGlyL3hkZy1taW1l IiwKKyAgICAgICAgICAgICAgICAgICAgICIkcm9vdF9vdXRfZGlyL3hkZy1zZXR0aW5ncyIsCisg ICAgICAgICAgICAgICAgICAgICAiJHJvb3Rfb3V0X2Rpci9sb2NhbGVzL2VuLVVTLnBhayIsCist ICAgICAgICAgICAgICAgICAgICAiJHJvb3Rfb3V0X2Rpci9NRUlQcmVsb2FkL21hbmlmZXN0Lmpz b24iLAorLSAgICAgICAgICAgICAgICAgICAgIiRyb290X291dF9kaXIvTUVJUHJlbG9hZC9wcmVs b2FkZWRfZGF0YS5wYiIsCisgICAgICAgICAgICAgICAgICAgXQorIAorIGFjdGlvbl9mb3JlYWNo KCJjYWxjdWxhdGVfZGViX2RlcGVuZGVuY2llcyIpIHsKK0BAIC0zMjEsNyArMzE5LDYgQEAgZ3Jv dXAoImluc3RhbGxlcl9kZXBzIikgeworICAgICAiOnRoZW1lX2ZpbGVzIiwKKyAgICAgIi8vY2hy b21lIiwKKyAgICAgIi8vY2hyb21lOnBhY2tlZF9yZXNvdXJjZXMiLAorLSAgICAiLy9jaHJvbWUv YnJvd3Nlci9yZXNvdXJjZXMvbWVkaWEvbWVpX3ByZWxvYWQ6Y29tcG9uZW50IiwKKyAgICAgIi8v Y29tcG9uZW50cy9jcmFzaC9jb3JlL2FwcDpjaHJvbWVfY3Jhc2hwYWRfaGFuZGxlciIsCisgICAg ICIvL3NhbmRib3gvbGludXg6Y2hyb21lX3NhbmRib3giLAorICAgXQorLS0tIC9kZXYvbnVsbAor KysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMv cHBjNjRfbGludXhfc3lzY2FsbHMuaAorQEAgLTAsMCArMSwxMiBAQAorKy8vIENvcHlyaWdodCAy MDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKy8vIFVzZSBv ZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhh dCBjYW4gYmUKKysvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorKworKyNpZm5kZWYgU0FO REJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9TWVNDQUxMU19IXworKyNkZWZp bmUgU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9TWVNDQUxMU19IXwor KworKyNpbmNsdWRlIDxhc20vdW5pc3RkLmg+CisrCisrLy9UT0RPOiBpcyBpdCBuZWNlc3Nhcnkg dG8gcmVkZWZpbmUgc3lzY2FsbCBudW1iZXJzIGZvciBQUEM2ND8KKysKKysjZW5kaWYgIC8vIFNB TkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfUFBDNjRfTElOVVhfU1lTQ0FMTFNfSF8KKy0tLSAv ZGV2L251bGwKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3Rl bV9oZWFkZXJzL3BwYzY0X2xpbnV4X3Vjb250ZXh0LmgKK0BAIC0wLDAgKzEsMTIgQEAKKysvLyBD b3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K KysvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBs aWNlbnNlIHRoYXQgY2FuIGJlCisrLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKysKKysj aWZuZGVmIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfUFBDNjRfTElOVVhfVUNPTlRFWFRf SF8KKysjZGVmaW5lIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfUFBDNjRfTElOVVhfVUNP TlRFWFRfSF8KKysKKysjaW5jbHVkZSA8c3lzL3Vjb250ZXh0Lmg+CisrCisrLy9UT0RPOiBpcyBp dCBuZWNlc3NhcnkgdG8gcmVkZWZpbmUgdWNvbnRleHQgb24gUFBDNjQ/CisrCisrI2VuZGlmICAv LyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1BQQzY0X0xJTlVYX1VDT05URVhUX0hfCist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv dXRpbC9uZXQvaHR0cF90cmFuc3BvcnRfbGliY3VybC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbmV0L2h0dHBfdHJhbnNw b3J0X2xpYmN1cmwuY2MKK0BAIC0yMzYsNiArMjM2LDEyIEBAIHN0ZDo6c3RyaW5nIFVzZXJBZ2Vu dCgpIHsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX0JJR19FTkRJQU4pCisgICAgIHN0YXRpYyBj b25zdGV4cHIgY2hhciBhcmNoW10gPSAiYWFyY2g2NF9iZSI7CisgI2VuZGlmCisrI2VsaWYgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQorKyNpZiBkZWZpbmVkKEFSQ0hfQ1BVX0xJVFRMRV9FTkRJQU4p CisrICAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBhcmNoW10gPSAicHBjNjRsZSI7CisrI2VsaWYg ZGVmaW5lZChBUkNIX0NQVV9CSUdfRU5ESUFOKQorKyAgICBzdGF0aWMgY29uc3RleHByIGNoYXIg YXJjaFtdID0gInBwYzY0IjsKKysjZW5kaWYKKyAjZWxzZQorICNlcnJvciBQb3J0CisgI2VuZGlm CistLS0gL2Rldi9udWxsCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv ZGF2MWQvY29uZmlnL2xpbnV4L3BwYzY0L2NvbmZpZy5oCitAQCAtMCwwICsxLDM5IEBACisrLyoK KysgKiBBdXRvZ2VuZXJhdGVkIGJ5IHRoZSBNZXNvbiBidWlsZCBzeXN0ZW0uCisrICogRG8gbm90 IGVkaXQsIHlvdXIgY2hhbmdlcyB3aWxsIGJlIGxvc3QuCisrICovCisrCisrI3ByYWdtYSBvbmNl CisrCisrI2RlZmluZSBBUkNIX0FBUkNINjQgMAorKworKyNkZWZpbmUgQVJDSF9BUk0gMAorKwor KyNkZWZpbmUgQVJDSF9QUEM2NExFIDEKKysKKysjZGVmaW5lIEFSQ0hfWDg2IDAKKysKKysjZGVm aW5lIEFSQ0hfWDg2XzMyIDAKKysKKysjZGVmaW5lIEFSQ0hfWDg2XzY0IDAKKysKKysjZGVmaW5l IENPTkZJR18xNkJQQyAxCisrCisrI2RlZmluZSBDT05GSUdfOEJQQyAxCisrCisrLy8gI2RlZmlu ZSBDT05GSUdfTE9HIDEgLS0gTG9nZ2luZyBpcyBjb250cm9sbGVkIGJ5IENocm9taXVtCisrCisr I2RlZmluZSBFTkRJQU5ORVNTX0JJRyAwCisrCisrI2RlZmluZSBIQVZFX0FTTSAxCisrCisrI2Rl ZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQorKworKyNkZWZpbmUgSEFWRV9ETFNZTSAxCisrCisr I2RlZmluZSBIQVZFX0dFVEFVWFZBTCAxCisrCisrI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdO IDEKKysKKysjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQorKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDkwMy14eHgtcHBjNjRsZS1zd2lmdHNoYWRlci5wYXRjaCBi L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA5MDMteHh4LXBwYzY0bGUtc3dpZnRzaGFk ZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xYThjZDgz NjhkYTEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w OTAzLXh4eC1wcGM2NGxlLXN3aWZ0c2hhZGVyLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0 eS9sbHZtLTEwLjAvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvQlVJTEQuZ24KK0BAIC01NzYs NiArNTc2LDcgQEAgc3dpZnRzaGFkZXJfbGx2bV9zb3VyY2Vfc2V0KCJzd2lmdHNoYWRlcgorICAg ICAibGx2bS9saWIvTUMvTUNBc21JbmZvQ09GRi5jcHAiLAorICAgICAibGx2bS9saWIvTUMvTUNB c21JbmZvRGFyd2luLmNwcCIsCisgICAgICJsbHZtL2xpYi9NQy9NQ0FzbUluZm9FTEYuY3BwIiwK KysgICAgImxsdm0vbGliL01DL01DQXNtSW5mb1hDT0ZGLmNwcCIsCisgICAgICJsbHZtL2xpYi9N Qy9NQ0FzbU1hY3JvLmNwcCIsCisgICAgICJsbHZtL2xpYi9NQy9NQ0FzbVN0cmVhbWVyLmNwcCIs CisgICAgICJsbHZtL2xpYi9NQy9NQ0Fzc2VtYmxlci5jcHAiLAorQEAgLTYzMSw2ICs2MzIsNyBA QCBzd2lmdHNoYWRlcl9sbHZtX3NvdXJjZV9zZXQoInN3aWZ0c2hhZGVyCisgICAgICJsbHZtL2xp Yi9NQy9NQ1dpbkNPRkZTdHJlYW1lci5jcHAiLAorICAgICAibGx2bS9saWIvTUMvTUNXaW5FSC5j cHAiLAorICAgICAibGx2bS9saWIvTUMvTUNYQ09GRlN0cmVhbWVyLmNwcCIsCisrICAgICJsbHZt L2xpYi9NQy9NQ1hDT0ZGT2JqZWN0VGFyZ2V0V3JpdGVyLmNwcCIsCisgICAgICJsbHZtL2xpYi9N Qy9NYWNoT2JqZWN0V3JpdGVyLmNwcCIsCisgICAgICJsbHZtL2xpYi9NQy9TdHJpbmdUYWJsZUJ1 aWxkZXIuY3BwIiwKKyAgICAgImxsdm0vbGliL01DL1N1YnRhcmdldEZlYXR1cmUuY3BwIiwKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LjcxNjBhNDYyZGI3ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90 ZW1wbGF0ZQpAQCAtMCwwICsxLDE3NSBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXdlYmVu Z2luZScKK3BrZ25hbWU9cXQ2LXdlYmVuZ2luZQordmVyc2lvbj02LjMuMQorcmV2aXNpb249MQor d3Jrc3JjPSJxdHdlYmVuZ2luZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgorYnVpbGRfc3R5 bGU9Y21ha2UKK2NvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIC1EUVRfQlVJTERf VE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz10cnVlCisgLURRVF9GRUFUVVJFX3dlYmVuZ2luZV9z eXN0ZW1fZmZtcGVnPU9OCisgLURRVF9GRUFUVVJFX3dlYmVuZ2luZV9zeXN0ZW1fbGliZXZlbnQ9 T04KKyAtRFFUX0ZFQVRVUkVfd2ViZW5naW5lX3N5c3RlbV9nbj1PTgorIC1EUVRfRkVBVFVSRV93 ZWJlbmdpbmVfc3lzdGVtX2ljdT1PTgorIC1EUVRfRkVBVFVSRV93ZWJlbmdpbmVfd2VicnRjX3Bp cGV3aXJlPU9OCisgLUROaW5qYV9FWEVDVVRBQkxFPSRYQlBTX1dSQVBQRVJESVIvbmluamEKKyAk KHZvcHRfYm9vbCBleGFtcGxlcyBRVF9CVUlMRF9FWEFNUExFUykKKyAtRFBLR19DT05GSUdfSE9T VF9FWEVDVVRBQkxFPSR7UEtHX0NPTkZJR19GT1JfQlVJTER9IgoraG9zdG1ha2VkZXBlbmRzPSJx dDYtYmFzZS1kZXZlbCBwZXJsIHBrZy1jb25maWcgbm9kZWpzIHB5dGhvbjMtaHRtbDVsaWIKKyBx dDYtZGVjbGFyYXRpdmUtZGV2ZWwgcHJvdG9idWYgZ3BlcmYgZmxleCBuc3MtZGV2ZWwgbGlid2Vi cC1kZXZlbAorIGljdS1kZXZlbCBsaWJldmVudC1kZXZlbCIKK21ha2VkZXBlbmRzPSJxdDYtYmFz ZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcHVsc2VhdWRpby1kZXZlbAorIHF0Ni10b29s cy1kZXZlbCBxdDYtd2Vic29ja2V0cy1kZXZlbCBsaWJmbGFjLWRldmVsCisgYWxzYS1saWItZGV2 ZWwgbGlidnB4LWRldmVsIHBjaXV0aWxzLWRldmVsIG9wdXMtZGV2ZWwgbGlieHNsdC1kZXZlbAor IGxpYnhtbDItZGV2ZWwgZnJlZXR5cGUtZGV2ZWwgbGNtczItZGV2ZWwgbGlid2VicC1kZXZlbCBp Y3UtZGV2ZWwKKyByZTItZGV2ZWwgemxpYi1kZXZlbCBsaWJwbmctZGV2ZWwgbWluaXppcC1kZXZl bCBoYXJmYnV6ei1kZXZlbAorIG5zcy1kZXZlbCBsaWJYY3Vyc29yLWRldmVsIGxpYlhjb21wb3Np dGUtZGV2ZWwgbGliWFNjcm5TYXZlci1kZXZlbAorIHByb3RvYnVmLWRldmVsIGZmbXBlZy1kZXZl bCBzbmFwcHktZGV2ZWwgbGliZXZlbnQtZGV2ZWwgcGlwZXdpcmUtZGV2ZWwKKyBsaWJ4a2JmaWxl LWRldmVsIHF0Ni1sb2NhdGlvbi1kZXZlbCBxdDYtd2ViY2hhbm5lbC1kZXZlbCBsaWJ4c2htZmVu Y2UtZGV2ZWwiCitzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkg ZnJhbWV3b3JrIC0gV2ViZW5naW5lIgorbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3Iu ZGV2PiIKK2xpY2Vuc2U9IkdQTC0zLjAtb25seSwgR1BMLTIuMC1vbmx5LCBMR1BMLTMuMC1vbmx5 IEJTRC0zLUNsYXVzZSIKK2hvbWVwYWdlPSJodHRwczovL3d3dy5xdC5pbyIKK2Rpc3RmaWxlcz0i aHR0cHM6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9 LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHdlYmVuZ2luZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNp b259LnRhci54eiIKK2NoZWNrc3VtPWFkN2EzM2IyMWE5NTZkZWRhMzdjNTg3ZDUwZjgyMWNhMzgx NjQwM2FlMzFiYTliNWQ1OWQwMTU2MWFkNjZlNDcKKworaWYgWyAteiAiJENST1NTX0JVSUxEIiBd O3RoZW4KKwljb25maWd1cmVfYXJncys9IiAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPS91c3IvbGli L2NtYWtlL1F0Ni9xdC50b29sY2hhaW4uY21ha2UiCitmaQorCitpZiBbICIkWEJQU19MSUJDIiA9 ICJtdXNsIiBdOyB0aGVuCisJaG9zdG1ha2VkZXBlbmRzKz0iIG11c2wtbGVnYWN5LWNvbXBhdCIK K2ZpCisKK2lmIFsgIiRYQlBTX1RBUkdFVF9MSUJDIiA9ICJtdXNsIiBdOyB0aGVuCisJbWFrZWRl cGVuZHMrPSIgbXVzbC1sZWdhY3ktY29tcGF0IgorZmkKKworaWYgWyAhICIkWEJQU19XT1JEU0la RSIgPSAiJFhCUFNfVEFSR0VUX1dPUkRTSVpFIiBdOyB0aGVuCisJYnJva2VuPSJ3ZWJlbmdpbmUg Y2FuIGJlIGJ1aWx0IG9ubHkgaWYgd29yZCBzaXplIG1hdGNoZXMiCitmaQorCitpZiBbICIkWEJQ U19XT1JEU0laRSIgLWVxIDMyIF07IHRoZW4KKwlub2RlYnVnPXllcworCUxERkxBR1M9Ii1XbCwt LW5vLWtlZXAtbWVtb3J5IgorZmkKKworaWYgWyAiJFhCUFNfVEFSR0VUX0VORElBTiIgIT0gImxl IiBdOyB0aGVuCisJYnJva2VuPSJ3ZWJlbmdpbmUgb25seSBzdXBwb3J0cyBsaXR0bGUgZW5kaWFu IgorZmkKKworYnVpbGRfb3B0aW9ucz0ic25kaW8gZXhhbXBsZXMiCitidWlsZF9vcHRpb25zX2Rl ZmF1bHQ9IiIKK2Rlc2Nfb3B0aW9uX2V4YW1wbGVzPSJCdWlsZCBleGFtcGxlcyIKK2Rlc2Nfb3B0 aW9uX3NuZGlvPSJFbmFibGUgc3VwcG9ydCBmb3Igc25kaW8iCisKK3N1YnBhY2thZ2VzPSJxdDYt d2ViZW5naW5lLWRldmVsIgorCitpZiBbICIkYnVpbGRfb3B0aW9uX2V4YW1wbGVzIiBdOyB0aGVu CisJc3VicGFja2FnZXMrPSIgcXQ2LXdlYmVuZ2luZS1leGFtcGxlcyIKK2ZpCisKK19ib290c3Ry YXBfZ24oKSB7CisJIyBCb290c3RyYXAgZ24gKGdlbmVyYXRlIG5pbmphKQorCWVjaG8gIkJvb3Rz dHJhcHBpbmcgJ2duJyIKKwljZCAke3dya3NyY30vc3JjLzNyZHBhcnR5L2duCisJQ0ZMQUdTPSIk Q0ZMQUdTX2hvc3QiIENYWEZMQUdTPSIkQ1hYRkxBR1NfaG9zdCIgTERGTEFHUz0iJExERkxBR1Nf aG9zdCIgXAorCVBLR0NPTkZJRz0vdXNyL2Jpbi9wa2djb25maWcgUEtHX0NPTkZJR19QQVRIPSIv dXNyL2xpYi9wa2djb25maWc6L3Vzci9zaGFyZS9wa2djb25maWciIFwKKwkJcHl0aG9uMyBidWls ZC9nZW4ucHkgLS1uby1sYXN0LWNvbW1pdC1wb3NpdGlvbiAtLW91dC1wYXRoIFwKKwkJCSR7d3Jr c3JjfS9zcmMvM3JkcGFydHkvZ24vb3V0L1JlbGVhc2UgLS1jYyAiJHtDQ19ob3N0Oi0kQ0N9IiBc CisJCQktLWN4eCAiJHtDWFhfaG9zdDotJENYWH0iIC0tbGQgIiR7Q1hYX2hvc3Q6LSRDWFh9IiAt LWFyICIke0FSX2hvc3Q6LSRBUn0iIFwKKwkJCS0tcXQtdmVyc2lvbiAiJHt2ZXJzaW9ufS5xdHdl YmVuZ2luZS5xdC5pbyIKKwluaW5qYSAtQyBvdXQvUmVsZWFzZSBnbgorCWNkICR7d3Jrc3JjfQor fQorCitfdW5idW5kbGVfbGlicygpIHsKKwljZCAke3dya3NyY30vc3JjLzNyZHBhcnR5L2Nocm9t aXVtCisJZWNobyBEcm9wcGluZyBidW5kbGVkIGxpYnMgZnJvbSBjaHJvbWl1bQorCSMgVXNlIHN5 c3RlbS1wcm92aWRlZCBsaWJyYXJpZXMuCisJIyBUT0RPOiB1c2Vfc3lzdGVtX2h1bnNwZWxsICh1 cHN0cmVhbSBjaGFuZ2VzIG5lZWRlZCkuCisJIyBUT0RPOiB1c2Vfc3lzdGVtX2xpYnNydHAuCisJ IyBUT0RPOiB1c2Vfc3lzdGVtX2xpYnVzYiAoaHR0cDovL2NyYnVnLmNvbS8yNjYxNDkpLgorCSMg VE9ETzogdXNlX3N5c3RlbV9zc2wgKGh0dHA6Ly9jcmJ1Zy5jb20vNTgwODcpLgorCSMgVE9ETzog dXNlX3N5c3RlbV9zcWxpdGUgKGh0dHA6Ly9jcmJ1Zy5jb20vMjIyMDgpLgorCSMgVE9ETzogdXNl X3N5c3RlbV9pY3UgKHNlZ2ZhdWx0cykKKwkjIHVzZV9zeXN0ZW1fcHJvdG9idWYKKwkjIHVzZV9z eXN0ZW1fdjg9MQorCSMgdXNlX3N5c3RlbV96bGliPTEKKwkjIGJ6aXAyIGpzb25jcHAgbWluaXpp cCB4ZGdfdXRpbHMgc3BlZXgKKwlzeXN0ZW09IgorCQlmZm1wZWcKKwkJZmxhYworCQlmb250Y29u ZmlnCisJCWZyZWV0eXBlCisJCWhhcmZidXp6LW5nCisJCWljdQorCQlsaWJkcm0KKwkJbGliZXZl bnQKKwkJbGlianBlZworCQlsaWJwbmcKKwkJbGlid2VicAorCQlsaWJ4bWwKKwkJbGlieHNsdAor CQlvcHVzCisJCXJlMgorCQlzbmFwcHkKKwkiCisJYnVpbGQvbGludXgvdW5idW5kbGUvcmVwbGFj ZV9nbl9maWxlcy5weSAtLXN5c3RlbS1saWJyYXJpZXMgJHtzeXN0ZW19Cit9CisKKyMgUHJvdmlk ZSBhIHdyYXBwZXIgdG8gcnVuIC4veGJwcy1zcmMgLWogMSBidWlsZCBsYXRlcgorX3dyYXBfbmlu amEoKSB7CisJY2F0IDw8LSdfRU9GJyA+IiRYQlBTX1dSQVBQRVJESVIiL25pbmphCisJIyEvYmlu L3NoCisKKwlleGVjIC91c3IvYmluL25pbmphICROSU5KQUZMQUdTICIkQCIKKwlfRU9GCisJY2ht b2QgK3ggIiRYQlBTX1dSQVBQRVJESVIiL25pbmphCit9CisKK3ByZV9jb25maWd1cmUoKSB7CisJ X2Jvb3RzdHJhcF9nbgorCSMgX3VuYnVuZGxlX2xpYnMKKwlfd3JhcF9uaW5qYQorCWV4cG9ydCBQ QVRIPSIkUEFUSDoke3dya3NyY30vc3JjLzNyZHBhcnR5L2duL291dC9SZWxlYXNlIgorfQorCitw cmVfYnVpbGQoKSB7CisJZXhwb3J0IFBBVEg9IiRQQVRIOiR7d3Jrc3JjfS9zcmMvM3JkcGFydHkv Z24vb3V0L1JlbGVhc2UiCisJZXhwb3J0IE5JTkpBRkxBR1M9IiRtYWtlam9icyIKKworfQorCitw cmVfaW5zdGFsbCgpIHsKKwlleHBvcnQgUEFUSD0iJFBBVEg6JHt3cmtzcmN9L3NyYy8zcmRwYXJ0 eS9nbi9vdXQvUmVsZWFzZSIKK30KKworcG9zdF9pbnN0YWxsKCkgeworCWxvY2FsIF9maWxlCisJ ZmluZCAiJHtERVNURElSfSIvdXNyL2xpYi9xdDYvZXhhbXBsZXMgXAorCQktcGF0aCAnKi9saWIv cXQ2LyoqL2xpYi9xdDYvKicgLXR5cGUgZiB8CisJd2hpbGUgcmVhZCBfZmlsZTsgZG8KKwkJbXYg IiRfZmlsZSIgIiR7X2ZpbGUlL2xpYi9xdDYvKn0iCisJZG9uZQorfQorCitxdDYtd2ViZW5naW5l LWRldmVsX3BhY2thZ2UoKSB7CisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7 cmV2aXNpb259IHF0Ni13ZWJjaGFubmVsLWRldmVsPj0ke3ZlcnNpb259XzEKKwkgcXQ2LWRlY2xh cmF0aXZlLWRldmVsPj0ke3ZlcnNpb259XzEgcXQ2LWxvY2F0aW9uLWRldmVsPj0ke3ZlcnNpb259 XzEiCisJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgorCXBrZ19pbnN0YWxsKCkg eworCQl2bW92ZSB1c3IvaW5jbHVkZQorCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVz ci9saWIvcGtnY29uZmlnCisJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKKwkJdm1vdmUgInVz ci9saWIvKi5zbyIKKwkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9x dDYvbW9kdWxlcworCX0KK30KKworcXQ2LXdlYmVuZ2luZS1leGFtcGxlc19wYWNrYWdlKCkgewor CXNob3J0X2Rlc2MrPSIgLSBzYW1wbGUgYnJvd3NlcnMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZt b3ZlIHVzci9saWIvcXQ2L2V4YW1wbGVzCisJfQorfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYt d2ViZW5naW5lL3VwZGF0ZSBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS91cGRhdGUKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44NDQ1NTI0NjUyMjIKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvdXBkYXRlCkBAIC0wLDAgKzEgQEAKK3BrZ25h bWU9IiR7cGtnbmFtZS82LS99LWV2ZXJ5d2hlcmUtc3JjIgo= --===============4226010963204689901==--