From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Rebase to FSF GDB 7.99.90.20170420 (pre-8.0 stable branch). Date: Thu, 23 Jul 2026 18:32:52 GMT Message-ID: <178483157295.1.1276995070553305247.rpms-gdb-5bb0f3bac30a@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 5bb0f3bac30ad11883d687f69a0620d256819e8a QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogNWJiMGYzYmFjMzBhZDExODgzZDY4N2Y2OWEwNjIwZDI1 NjgxOWU4YQpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KRGF0ZSAgIDogMjAxNy0wNC0yMVQxNDo0Nzo0MSswMjowMApTdGF0cyAgOiArOTQ3Ly04Njgg aW4gMTYgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1z L2dkYi9jLzViYjBmM2JhYzMwYWQxMTg4M2Q2ODdmNjlhMDYyMGQyNTY4MTllOGE/YnJhbmNoPWZp eC1kdXAtcGF0Y2gKCkxvZzoKUmViYXNlIHRvIEZTRiBHREIgNy45OS45MC4yMDE3MDQyMCAocHJl LTguMCBzdGFibGUgYnJhbmNoKS4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRp Z25vcmUKaW5kZXggMTdkM2YxZC4uYjZhOTc0YiAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysg Yi8uZ2l0aWdub3JlCkBAIC0xLDMgKzEsMyBAQAogL2dkYi1saWJzdGRjKystdjMtcHl0aG9uLTYu My4xLTIwMTcwMjEyLnRhci54egogL3YxLjUudGFyLmd6Ci0vZ2RiLTcuMTIuNTAuMjAxNzAzMDku dGFyLnh6CisvZ2RiLTcuOTkuOTAuMjAxNzA0MjAudGFyLnh6CgpkaWZmIC0tZ2l0IGEvZ2RiLTYu My1yZWFkbmV2ZXItMjAwNTA5MDcucGF0Y2ggYi9nZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5w YXRjaAppbmRleCA2NzBiNTA1Li40Y2UyNmMwIDEwMDY0NAotLS0gYS9nZGItNi4zLXJlYWRuZXZl ci0yMDA1MDkwNy5wYXRjaAorKysgYi9nZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRjaApA QCAtMTEsMTAgKzExLDEwIEBACiAKICAgICAgICAgKiBnZGIudGV4aW5mbyAoRmlsZSBPcHRpb25z KTogRG9jdW1lbnQgLS1yZWFkbmV2ZXIuCiAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvZG9jL2dkYi50ZXhpbmZvCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2RvYy9n ZGIudGV4aW5mbwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2Ri L2RvYy9nZGIudGV4aW5mbwkyMDE3LTAyLTI2IDIxOjI2OjQzLjYwOTc4ODY2MiArMDEwMAotKysr IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxNy0wMi0yNiAyMToy Njo0Ni41ODI4MDk3MjEgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9k b2MvZ2RiLnRleGluZm8JMjAxNy0wNC0yMCAyMjoyOTozOS4xNzk3NDAwNzYgKzAyMDAKKysrKyBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTctMDQtMjAgMjI6Mjk6 NDAuOTI0NzUxMDk2ICswMjAwCiBAQCAtMTAzNyw2ICsxMDM3LDEyIEBACiAgdGhlIGRlZmF1bHQs IHdoaWNoIGlzIHRvIHJlYWQgaXQgaW5jcmVtZW50YWxseSBhcyBpdCBpcyBuZWVkZWQuCiAgVGhp cyBtYWtlcyBzdGFydHVwIHNsb3dlciwgYnV0IG1ha2VzIGZ1dHVyZSBvcGVyYXRpb25zIGZhc3Rl ci4KQEAgLTI4LDEwICsyOCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2Rv Yy9nZGIudGV4aW5mbwogIEBlbmQgdGFibGUKICAKICBAbm9kZSBNb2RlIE9wdGlvbnMKLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbWFpbi5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL21haW4uYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9y aWcvZ2RiL21haW4uYwkyMDE3LTAyLTI2IDIxOjI2OjQzLjYxMjc4ODY4NCArMDEwMAotKysrIGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9tYWluLmMJMjAxNy0wMi0yNiAyMToyNjo0Ni41ODI4MDk3 MjEgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9tYWluLmMJMjAxNy0w NC0yMCAyMjoyOTozOS4xODI3NDAwOTUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvbWFpbi5jCTIwMTctMDQtMjAgMjI6Mjk6NDAuOTI1NzUxMTAzICswMjAwCiBAQCAtNjE1LDYg KzYxNSw3IEBACiAgICAgICAgeyJ0dWkiLCBub19hcmd1bWVudCwgMCwgT1BUX1RVSX0sCiAgICAg ICAgeyJkYngiLCBub19hcmd1bWVudCwgJmRieF9jb21tYW5kcywgMX0sCkBAIC00MCw3ICs0MCw3 IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbWFpbi5jCiAgICAgICAgeyJyIiwg bm9fYXJndW1lbnQsICZyZWFkbm93X3N5bWJvbF9maWxlcywgMX0sCiAgICAgICAgeyJxdWlldCIs IG5vX2FyZ3VtZW50LCAmcXVpZXQsIDF9LAogICAgICAgIHsicSIsIG5vX2FyZ3VtZW50LCAmcXVp ZXQsIDF9LAotQEAgLTEyNTMsNiArMTI1NCw3IEBACitAQCAtMTI1NCw2ICsxMjU1LDcgQEAKICAg IC0tc2U9RklMRSAgICAgICAgICBVc2UgRklMRSBhcyBzeW1ib2wgZmlsZSBhbmQgZXhlY3V0YWJs ZSBmaWxlLlxuXAogICAgLS1zeW1ib2xzPVNZTUZJTEUgIFJlYWQgc3ltYm9scyBmcm9tIFNZTUZJ TEUuXG5cCiAgICAtLXJlYWRub3cgICAgICAgICAgRnVsbHkgcmVhZCBzeW1ib2wgZmlsZXMgb24g Zmlyc3QgYWNjZXNzLlxuXApAQCAtNDgsMTAgKzQ4LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIyNi9nZGIvbWFpbi5jCiAgICAtLXdyaXRlICAgICAgICAgICAgU2V0IHdyaXRpbmcgaW50 byBleGVjdXRhYmxlIGFuZCBjb3JlIGZpbGVzLlxuXG5cCiAgIiksIHN0cmVhbSk7CiAgICBmcHV0 c191bmZpbHRlcmVkIChfKCJcCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3N5bWZp bGUuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zeW1maWxlLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9zeW1maWxlLmMJMjAxNy0wMi0y NiAyMToyNjo0My42MTM3ODg2OTEgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIv c3ltZmlsZS5jCTIwMTctMDItMjYgMjE6MjY6NDYuNTgzODA5NzI4ICswMTAwCistLS0gZ2RiLTcu OTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvc3ltZmlsZS5jCTIwMTctMDQtMjAgMjI6Mjk6MzkuMTgz NzQwMTAxICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3N5bWZpbGUuYwkyMDE3 LTA0LTIwIDIyOjI5OjQwLjkyNjc1MTEwOSArMDIwMAogQEAgLTc5LDYgKzc5LDcgQEAKICAKICAv KiBHbG9iYWwgdmFyaWFibGVzIG93bmVkIGJ5IHRoaXMgZmlsZS4gICovCkBAIC02MCwxOSArNjAs MTkgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9zeW1maWxlLmMKICAKICAvKiBG dW5jdGlvbnMgdGhpcyBmaWxlIGRlZmluZXMuICAqLwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9kd2FyZjJyZWFkLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv ZHdhcmYycmVhZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9n ZGIvZHdhcmYycmVhZC5jCTIwMTctMDItMjYgMjE6MjY6NDMuNjIwNzg4NzQwICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJmMnJlYWQuYwkyMDE3LTAyLTI2IDIxOjI2OjU5 LjA3ODg5ODIzNCArMDEwMAotQEAgLTcxLDYgKzcxLDcgQEAKLSAjaW5jbHVkZSAibmFtZXNwYWNl LmgiCi0gI2luY2x1ZGUgImNvbW1vbi9nZGJfdW5saW5rZXIuaCIKKy0tLSBnZGItNy45OS45MC4y MDE3MDQyMC5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wNC0yMCAyMjoyOTozOS4xOTA3NDAx NDUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYycmVhZC5jCTIwMTct MDQtMjAgMjI6Mjk6NTcuOTczODU4NzY2ICswMjAwCitAQCAtNzMsNiArNzMsNyBAQAogICNpbmNs dWRlICJjb21tb24vZnVuY3Rpb24tdmlldy5oIgorICNpbmNsdWRlICJjb21tb24vZ2RiX29wdGlv bmFsLmgiCisgI2luY2x1ZGUgImNvbW1vbi91bmRlcmx5aW5nLmgiCiArI2luY2x1ZGUgInRvcC5o IgogIAogICNpbmNsdWRlIDxmY250bC5oPgogICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLUBAIC0y MTEzLDcgKzIxMTQsOCBAQAorQEAgLTIyMDgsNyArMjIwOSw4IEBACiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAodm9pZCAqKSBuYW1lcyk7CiAgICAgICAgZHdhcmYyX3Blcl9vYmpmaWxl LT5vYmpmaWxlID0gb2JqZmlsZTsKICAgICAgfQpAQCAtODIsMTAgKzgyLDEwIEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZHdhcmYycmVhZC5jCiAgCSAgJiYgZHdhcmYyX3Blcl9v YmpmaWxlLT5pbmZvLnMuc2VjdGlvbiAhPSBOVUxMCiAgCSAgJiYgIWR3YXJmMl9wZXJfb2JqZmls ZS0+YWJicmV2LmlzX3ZpcnR1YWwKICAJICAmJiBkd2FyZjJfcGVyX29iamZpbGUtPmFiYnJldi5z LnNlY3Rpb24gIT0gTlVMTCk7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3RvcC5o CitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3RvcC5oCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvdG9wLmgJMjAxNy0wMi0yNiAyMToyNjo0My42 MjI3ODg3NTQgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdG9wLmgJMjAxNy0w Mi0yNiAyMToyNjo0Ni41ODk4MDk3NzEgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5v cmlnL2dkYi90b3AuaAkyMDE3LTA0LTIwIDIyOjI5OjM5LjE5MTc0MDE1MiArMDIwMAorKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90b3AuaAkyMDE3LTA0LTIwIDIyOjI5OjQwLjkzMjc1MTE0 NyArMDIwMAogQEAgLTI2OSw2ICsyNjksNyBAQAogIAogIC8qIEZyb20gcmFuZG9tIHBsYWNlcy4g ICovCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaCBiL2dkYi02LjYt YnVpbGRpZC1sb2NhdGUucGF0Y2gKaW5kZXggMGY1ZmE4YS4uM2FiODljZiAxMDA2NDQKLS0tIGEv Z2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAorKysgYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRl LnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9j b3JlbG93LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvY29yZWxvdy5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvY29yZWxvdy5jCTIwMTct MDItMjQgMjI6MTg6MDIuMTc2MzkxNDAwICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcv Z2RiL2NvcmVsb3cuYwkyMDE3LTAyLTI0IDIyOjMyOjM4Ljc5MzI2NDM5NiArMDEwMAorLS0tIGdk Yi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2NvcmVsb3cuYwkyMDE3LTA0LTIwIDIzOjAwOjM1 LjQxNTU4NDQyNiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jb3JlbG93LmMJ MjAxNy0wNC0yMCAyMzowMDo0My4zNTg2MjkxODMgKzAyMDAKIEBAIC00NSw2ICs0NSwxMCBAQAog ICNpbmNsdWRlICJnZGJfYmZkLmgiCiAgI2luY2x1ZGUgImNvbXBsZXRlci5oIgpAQCAtODMsNyAr ODMsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2NvcmVsb3cuYwogICAgcG9z dF9jcmVhdGVfaW5mZXJpb3IgKCZjb3JlX29wcywgZnJvbV90dHkpOwogIAogICAgLyogTm93IGdv IHRocm91Z2ggdGhlIHRhcmdldCBzdGFjayBsb29raW5nIGZvciB0aHJlYWRzIHNpbmNlIHRoZXJl Ci1AQCAtMTA3OCw0ICsxMTM4LDExIEBACitAQCAtMTA3OSw0ICsxMTM5LDExIEBACiAgICBpbml0 X2NvcmVfb3BzICgpOwogIAogICAgYWRkX3RhcmdldF93aXRoX2NvbXBsZXRlciAoJmNvcmVfb3Bz LCBmaWxlbmFtZV9jb21wbGV0ZXIpOwpAQCAtOTUsMTEgKzk1LDExIEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIwNy9nZGIvY29yZWxvdy5jCiArCQkJICAgTlVMTCwgTlVMTCwgTlVMTCwKICsJ CQkgICAmc2V0bGlzdCwgJnNob3dsaXN0KTsKICB9Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MDcvZ2RiL2RvYy9nZGIudGV4aW5mbworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9k b2MvZ2RiLnRleGluZm8KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmln L2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxNy0wMi0yNCAyMjoxODowMi4xNzYzOTE0MDAgKzAxMDAK LSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTctMDItMjQg MjI6MzI6MzguODAzMjY0NDYzICswMTAwCi1AQCAtMTg5NjIsNiArMTg5NjIsMjcgQEAKKy0tLSBn ZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxNy0wNC0yMCAy MzowMDozNS40MTU1ODQ0MjYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZG9j L2dkYi50ZXhpbmZvCTIwMTctMDQtMjAgMjM6MDA6NDMuMzY2NjI5MjI4ICswMjAwCitAQCAtMTg5 ODcsNiArMTg5ODcsMjcgQEAKICAKICBAZW5kIHRhYmxlCiAgCkBAIC0xMjcsMTAgKzEyNywxMCBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2RvYy9nZGIudGV4aW5mbwogIEBjaW5k ZXggQGNvZGV7LmdudV9kZWJ1Z2xpbmt9IHNlY3Rpb25zCiAgQGNpbmRleCBkZWJ1ZyBsaW5rIHNl Y3Rpb25zCiAgQSBkZWJ1ZyBsaW5rIGlzIGEgc3BlY2lhbCBzZWN0aW9uIG9mIHRoZSBleGVjdXRh YmxlIGZpbGUgbmFtZWQKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvc29saWItc3Zy NC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3NvbGliLXN2cjQuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3NvbGliLXN2cjQuYwkyMDE3 LTAyLTI0IDIyOjE4OjAyLjE3NjM5MTQwMCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi9zb2xpYi1zdnI0LmMJMjAxNy0wMi0yNCAyMjozMjozOC44MDQyNjQ0NjkgKzAxMDAKKy0t LSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9zb2xpYi1zdnI0LmMJMjAxNy0wNC0yMCAy MzowMDozNS40MTU1ODQ0MjYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc29s aWItc3ZyNC5jCTIwMTctMDQtMjAgMjM6MDA6NDMuMzY3NjI5MjM0ICswMjAwCiBAQCAtNDUsNiAr NDUsNyBAQAogICNpbmNsdWRlICJhdXh2LmgiCiAgI2luY2x1ZGUgImdkYl9iZmQuaCIKQEAgLTE5 NSwxMCArMTk1LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvc29saWItc3Zy NC5jCiAgICAgICAgeGZyZWUgKGJ1ZmZlcik7CiAgCiAgICAgICAgLyogSWYgdGhpcyBlbnRyeSBo YXMgbm8gbmFtZSwgb3IgaXRzIG5hbWUgbWF0Y2hlcyB0aGUgbmFtZQotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9lbGZyZWFkLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvZWxmcmVhZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9n ZGIvZWxmcmVhZC5jCTIwMTctMDItMjQgMjI6MTg6MDIuMTc2MzkxNDAwICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2VsZnJlYWQuYwkyMDE3LTAyLTI0IDIyOjMyOjM4LjgwNTI2 NDQ3NiArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2VsZnJlYWQuYwky MDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi9lbGZyZWFkLmMJMjAxNy0wNC0yMCAyMzowMDo0My4zNjc2MjkyMzQgKzAyMDAKIEBA IC0xMjY1LDggKzEyNjUsOSBAQAogIAkgICAmJiBvYmpmaWxlLT5zZXBhcmF0ZV9kZWJ1Z19vYmpm aWxlID09IE5VTEwKICAJICAgJiYgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNr bGluayA9PSBOVUxMKQpAQCAtMjIxLDExICsyMjEsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi9lbGZyZWFkLmMKICAgICAgfQogIH0KICAKLUluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIwNy9nZGIvc3ltZmlsZS5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3N5 bWZpbGUuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3N5 bWZpbGUuaAkyMDE3LTAyLTI0IDIyOjE4OjAyLjE3NjM5MTQwMCArMDEwMAotKysrIGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9zeW1maWxlLmgJMjAxNy0wMi0yNCAyMjozMjozOC44MDUyNjQ0NzYg KzAxMDAKLUBAIC01NzMsNiArNTczLDEwIEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3Jp Zy9nZGIvc3ltZmlsZS5oCTIwMTctMDQtMjAgMjM6MDA6MzUuNDE1NTg0NDI2ICswMjAwCisrKysg Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3N5bWZpbGUuaAkyMDE3LTA0LTIwIDIzOjAwOjQzLjM2 ODYyOTI0MCArMDIwMAorQEAgLTU2Nyw2ICs1NjcsMTAgQEAKICB2b2lkIG1hcF9zeW1ib2xfZmls ZW5hbWVzIChzeW1ib2xfZmlsZW5hbWVfZnR5cGUgKmZ1biwgdm9pZCAqZGF0YSwKICAJCQkgICBp bnQgbmVlZF9mdWxsbmFtZSk7CiAgCkBAIC0yMzYsMTAgKzIzNiwxMCBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL3N5bWZpbGUuaAogIC8qIEZyb20gZHdhcmYycmVhZC5jICovCiAg CiAgLyogTmFtZXMgZm9yIGEgZHdhcmYyIGRlYnVnZ2luZyBzZWN0aW9uLiAgVGhlIGZpZWxkIE5P Uk1BTCBpcyB0aGUgbm9ybWFsCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3Rz dWl0ZS9saWIvZ2RiLmV4cAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3Vp dGUvbGliL2dkYi5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmln L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAJMjAxNy0wMi0yNCAyMjoxODowMi4xNzYzOTE0MDAg KzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhw CTIwMTctMDItMjQgMjI6MzI6MzguODA2MjY0NDgzICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAx NzA0MjAub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTctMDQtMjAgMjM6MDA6MzUu NDE1NTg0NDI2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9s aWIvZ2RiLmV4cAkyMDE3LTA0LTIwIDIzOjAwOjQzLjM2OTYyOTI0NSArMDIwMAogQEAgLTE2NDYs NiArMTY0NiwxNiBAQAogIAkgICAgd2FybmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0byAw LiIKICAJfQpAQCAtMjU3LDEwICsyNTcsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKICAgICAgcmV0dXJuIDAKICB9CiAgCi1JbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAKK0lu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4 cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3Rlc3RzdWl0 ZS9saWIvbWktc3VwcG9ydC5leHAJMjAxNy0wMi0yNCAyMjoxODowMi4xNzYzOTE0MDAgKzAxMDAK LSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4 cAkyMDE3LTAyLTI0IDIyOjMyOjM4LjgwNzI2NDQ4OSArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIw MTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAJMjAxNy0wNC0yMCAy MzowMDozNS40MTU1ODQ0MjYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVz dHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAkyMDE3LTA0LTIwIDIzOjAwOjQzLjM2OTYyOTI0NSAr MDIwMAogQEAgLTMwOSw2ICszMDksMTYgQEAKICAJICAgIHdhcm5pbmcgIkNvdWxkbid0IHNldCB0 aGUgd2lkdGggdG8gMC4iCiAgCX0KQEAgLTI3OCwxMCArMjc4LDEwIEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAogIAogICAgICBp ZiB7ICRzZXBhcmF0ZV9pbmZlcmlvcl9wdHkgfSB7CiAgCW1pX2NyZWF0ZV9pbmZlcmlvcl9wdHkK LUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL25ldy11 aS1wZW5kaW5nLWlucHV0LmV4cAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvbmV3LXVpLXBlbmRpbmctaW5wdXQuZXhwCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL25ldy11aS1w ZW5kaW5nLWlucHV0LmV4cAkyMDE3LTAyLTI0IDIyOjE4OjAyLjE3NjM5MTQwMCArMDEwMAotKysr IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbmV3LXVpLXBlbmRp bmctaW5wdXQuZXhwCTIwMTctMDItMjQgMjI6MzI6MzguODA3MjY0NDg5ICswMTAwCistLS0gZ2Ri LTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL25ldy11aS1wZW5k aW5nLWlucHV0LmV4cAkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiArMDIwMAorKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbmV3LXVpLXBlbmRpbmct aW5wdXQuZXhwCTIwMTctMDQtMjAgMjM6MDA6NDMuMzY5NjI5MjQ1ICswMjAwCiBAQCAtNjIsNiAr NjIsNyBAQAogICAgICBzZXQgb3B0aW9ucyAiIgogICAgICBhcHBlbmQgb3B0aW9ucyAiIC1pZXgg XCJzZXQgaGVpZ2h0IDBcIiIKQEAgLTI5MCwxMCArMjkwLDEwIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL25ldy11aS1wZW5kaW5nLWlucHV0LmV4 cAogICAgICBhcHBlbmQgb3B0aW9ucyAiIC1pZXggXCJuZXctdWkgY29uc29sZSAkZXh0cmFfdHR5 X25hbWVcIiIKICAgICAgYXBwZW5kIG9wdGlvbnMgIiAtZXggXCJiICRicGxpbmVcIiIKICAgICAg YXBwZW5kIG9wdGlvbnMgIiAtZXggXCJydW5cIiIKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIw Ny9nZGIvb2JqZmlsZXMuaAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9vYmpmaWxl cy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvb2JqZmls ZXMuaAkyMDE3LTAyLTI0IDIyOjE4OjAyLjE3NjM5MTQwMCArMDEwMAotKysrIGdkYi03LjEyLjUw LjIwMTcwMjA3L2dkYi9vYmpmaWxlcy5oCTIwMTctMDItMjQgMjI6MzI6MzguODA4MjY0NDk2ICsw MTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvb2JqZmlsZXMuaAkyMDE3LTA0 LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9vYmpmaWxlcy5oCTIwMTctMDQtMjAgMjM6MDA6NDMuMzcwNjI5MjUxICswMjAwCiBAQCAtNDQ0 LDYgKzQ0NCwxMCBAQAogICAgaHRhYl90IHN0YXRpY19saW5rczsKICB9OwpAQCAtMzA1LDEwICsz MDUsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9vYmpmaWxlcy5oCiAgLyog RGVjbGFyYXRpb25zIGZvciBmdW5jdGlvbnMgZGVmaW5lZCBpbiBvYmpmaWxlcy5jICovCiAgCiAg ZXh0ZXJuIHN0cnVjdCBvYmpmaWxlICphbGxvY2F0ZV9vYmpmaWxlIChiZmQgKiwgY29uc3QgY2hh ciAqbmFtZSwKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2NvcmVmaWxlLmV4cAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAx NzAyMDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4cAkyMDE3LTAyLTI0 IDIyOjE4OjAyLjE3NjM5MTQwMCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhwCTIwMTctMDItMjQgMjI6MzI6MzguODA4MjY0 NDk2ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2NvcmVmaWxlLmV4cAkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiArMDIwMAor KysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUu ZXhwCTIwMTctMDQtMjAgMjM6MDA6NDMuMzcwNjI5MjUxICswMjAwCiBAQCAtMjkzLDMgKzI5Mywz MyBAQAogIAlwYXNzICR0ZXN0CiAgICAgIH0KQEAgLTM0MywxMCArMzQzLDEwIEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4cAog KyAgICBnZGJfdGVzdCAiaW5mbyBmaWxlcyIgIkxvY2FsIGV4ZWMgZmlsZTpcclxuXFsgXHRcXSpg W3N0cmluZ190b19yZWdleHAgJGRlYnVnZGlyLyRidWlsZGlkXScsIGZpbGUgdHlwZSAuKiIKICsg ICAgcGFzcyAkd2hvbGV0ZXN0CiArfQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9i dWlsZC1pZC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2J1aWxkLWlkLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9idWlsZC1pZC5jCTIw MTctMDItMjQgMjI6MTg6MDIuMTc2MzkxNDAwICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAy MDcvZ2RiL2J1aWxkLWlkLmMJMjAxNy0wMi0yNCAyMjo0NToyNS44MTc0MDMxNjIgKzAxMDAKKy0t LSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9idWlsZC1pZC5jCTIwMTctMDQtMjAgMjM6 MDA6MzUuNDE1NTg0NDI2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2J1aWxk LWlkLmMJMjAxNy0wNC0yMCAyMzowMzowMC4wNjAzOTk0NzQgKzAyMDAKIEBAIC0yNiwxMSArMjYs NjcgQEAKICAjaW5jbHVkZSAib2JqZmlsZXMuaCIKICAjaW5jbHVkZSAiZmlsZW5hbWVzLmgiCkBA IC03NzQsNyArNzc0LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9idWlsZC1p ZC5jCiAgCiAgICBpZiAoZm91bmQgPT0gTlVMTCkKICAgICAgd2FybmluZyAoXygiRmlsZSBcIiVz XCIgaGFzIG5vIGJ1aWxkLWlkLCBmaWxlIHNraXBwZWQiKSwKLUBAIC02NSwyMyArNDYzLDU2IEBA CitAQCAtNjUsMjMgKzQ2Myw1NCBAQAogICAgcmV0dXJuIHJldHZhbDsKICB9CiAgCkBAIC03OTYs MTcgKzc5NiwxNSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2J1aWxkLWlkLmMK ICsgICAgdGFyZ2V0ID0geHN0cmR1cCAoYnVmKTsKICsgIGVsc2UKICsgICAgewotKyAgICAgIGNo YXIgKmRpciA9IGxkaXJuYW1lIChzeW1saW5rKTsKKysgICAgICBjb25zdCBzdGQ6OnN0cmluZyBk aXIgKGxkaXJuYW1lIChzeW1saW5rKSk7CiArCi0rICAgICAgaWYgKGRpciA9PSBOVUxMKQotKwly ZXR1cm4geHN0cmR1cCAoc3ltbGluayk7CiArICAgICAgdGFyZ2V0ID0geHN0cnByaW50ZiAoIiVz IgogKyNpZm5kZWYgSEFWRV9ET1NfQkFTRURfRklMRV9TWVNURU0KICsJCQkgICAiLyIKICsjZWxz ZSAvKiBIQVZFX0RPU19CQVNFRF9GSUxFX1NZU1RFTSAqLwogKwkJCSAgICJcXCIKICsjZW5kaWYg LyogSEFWRV9ET1NfQkFTRURfRklMRV9TWVNURU0gKi8KLSsJCQkgICAiJXMiLCBkaXIsIGJ1Zik7 CisrCQkJICAgIiVzIiwgZGlyLmNfc3RyKCksIGJ1Zik7CiArICAgIH0KICsKICsgIHJldHZhbCA9 IGxpbmtfcmVzb2x2ZSAodGFyZ2V0LCBsZXZlbCArIDEpOwpAQCAtODM4LDcgKzgzNiw3IEBAIElu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvYnVpbGQtaWQuYwogIAogICAgLyogS2VlcCBi YWNrd2FyZCBjb21wYXRpYmlsaXR5IHNvIHRoYXQgREVCVUdfRklMRV9ESVJFQ1RPUlkgYmVpbmcg IiIgd2lsbAogICAgICAgY2F1c2UgIi8uYnVpbGQtaWQvLi4uIiBsb29rdXBzLiAgKi8KLUBAIC05 NCw5ICs1MjUsMTIgQEAKK0BAIC05NCw5ICs1MjMsMTIgQEAKICAgICAgICBzaXplX3QgZGVidWdk aXJfbGVuID0gc3RybGVuIChkZWJ1Z2Rpcik7CiAgICAgICAgY29uc3QgZ2RiX2J5dGUgKmRhdGEg PSBidWlsZF9pZDsKICAgICAgICBzaXplX3Qgc2l6ZSA9IGJ1aWxkX2lkX2xlbjsKQEAgLTg1Miw3 ICs4NTAsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2J1aWxkLWlkLmMKICAK ICAgICAgICBtZW1jcHkgKGxpbmssIGRlYnVnZGlyLCBkZWJ1Z2Rpcl9sZW4pOwogICAgICAgIHMg PSAmbGlua1tkZWJ1Z2Rpcl9sZW5dOwotQEAgLTExMCw0NSArNTQ0LDI5MCBAQAorQEAgLTExMCw0 NSArNTQyLDI5MCBAQAogIAkqcysrID0gJy8nOwogICAgICAgIHdoaWxlIChzaXplLS0gPiAwKQog IAlzICs9IHNwcmludGYgKHMsICIlMDJ4IiwgKHVuc2lnbmVkKSAqZGF0YSsrKTsKQEAgLTExNjEs NyArMTE1OSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvYnVpbGQtaWQuYwog ICAgICAgIC8qIFByZXZlbnQgbG9vcGluZyBvbiBhIHN0cmlwcGVkIC5kZWJ1ZyBmaWxlLiAgKi8K ICAgICAgICBpZiAoYWJmZCAhPSBOVUxMCiAgCSAgJiYgZmlsZW5hbWVfY21wIChiZmRfZ2V0X2Zp bGVuYW1lIChhYmZkLmdldCAoKSksCi1AQCAtMTYwLDMgKzgzOSwyMSBAQAorQEAgLTE2MCwzICs4 MzcsMjEgQEAKICAgICAgfQogICAgcmV0dXJuIE5VTEw7CiAgfQpAQCAtMTE4MywxMCArMTE4MSwx MCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2J1aWxkLWlkLmMKICsKICsgIG9i c2VydmVyX2F0dGFjaF9leGVjdXRhYmxlX2NoYW5nZWQgKGRlYnVnX3ByaW50X2V4ZWN1dGFibGVf Y2hhbmdlZCk7CiArfQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9idWlsZC1pZC5o CitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2J1aWxkLWlkLmgKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9idWlsZC1pZC5oCTIwMTctMDItMjQg MjI6MTg6MDIuMTc2MzkxNDAwICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2J1 aWxkLWlkLmgJMjAxNy0wMi0yNCAyMjozMjozOC44MDkyNjQ1MDMgKzAxMDAKKy0tLSBnZGItNy45 OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9idWlsZC1pZC5oCTIwMTctMDQtMjAgMjM6MDA6MzUuNDE1 NTg0NDI2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2J1aWxkLWlkLmgJMjAx Ny0wNC0yMCAyMzowMDo0My4zNzE2MjkyNTcgKzAyMDAKIEBAIC0yMiw5ICsyMiwxMCBAQAogIAog ICNpbmNsdWRlICJnZGJfYmZkLmgiCkBAIC0xMjIyLDExICsxMjIwLDExIEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIwNy9nZGIvYnVpbGQtaWQuaAogKwkJICAgICAgIGdkYjo6dW5pcXVlX3ht YWxsb2NfcHRyPGNoYXI+ICpidWlsZF9pZF9maWxlbmFtZV9yZXR1cm4pOwogIAogICNlbmRpZiAv KiBCVUlMRF9JRF9IICovCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2R3YXJmMnJl YWQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJyZWFkLmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAx Ny0wMi0yNCAyMjoxODowMi4xNzYzOTE0MDAgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIw Ny9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDItMjQgMjI6MzI6MzguODE0MjY0NTM2ICswMTAwCi1A QCAtMjUzNCw3ICsyNTM0LDcgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9k d2FyZjJyZWFkLmMJMjAxNy0wNC0yMCAyMzowMDozNS40MTU1ODQ0MjYgKzAyMDAKKysrKyBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDQtMjAgMjM6MDA6NDMuMzc1 NjI5Mjc5ICswMjAwCitAQCAtMjY3MSw3ICsyNjcxLDcgQEAKICAgICAgfQogIAogICAgaWYgKGR3 el9iZmQgPT0gTlVMTCkKQEAgLTEyMzUsMTEgKzEyMzMsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjA3L2dkYi9kd2FyZjJyZWFkLmMKICAKICAgIGlmIChkd3pfYmZkID09IE5VTEwpCiAg ICAgIGVycm9yIChfKCJjb3VsZCBub3QgZmluZCAnLmdudV9kZWJ1Z2FsdGxpbmsnIGZpbGUgZm9y ICVzIiksCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3B5dGhvbi9weS1vYmpmaWxl LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3B5dGhvbi9weS1v YmpmaWxlLmMJMjAxNy0wMi0yNCAyMjoxODowMi4xNzYzOTE0MDAgKzAxMDAKLSsrKyBnZGItNy4x Mi41MC4yMDE3MDIwNy9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYwkyMDE3LTAyLTI0IDIyOjMyOjM4 LjgxNDI2NDUzNiArMDEwMAotQEAgLTEzNiw3ICsxMzYsNyBAQAorLS0tIGdkYi03Ljk5LjkwLjIw MTcwNDIwLm9yaWcvZ2RiL3B5dGhvbi9weS1vYmpmaWxlLmMJMjAxNy0wNC0yMCAyMzowMDozNS40 MTU1ODQ0MjYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcHl0aG9uL3B5LW9i amZpbGUuYwkyMDE3LTA0LTIwIDIzOjAwOjQzLjM3NTYyOTI3OSArMDIwMAorQEAgLTEzNyw3ICsx MzcsNyBAQAogIAogICAgVFJZCiAgICAgIHsKQEAgLTEyNDgsNyArMTI0Niw3IEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYwogICAgICB9CiAgICBD QVRDSCAoZXhjZXB0LCBSRVRVUk5fTUFTS19BTEwpCiAgICAgIHsKLUBAIC01NDYsNyArNTQ2LDcg QEAKK0BAIC01NDQsNyArNTQ0LDcgQEAKICAgICAgICAvKiBEb24ndCByZXR1cm4gc2VwYXJhdGUg ZGVidWcgZmlsZXMuICAqLwogICAgICAgIGlmIChvYmpmaWxlLT5zZXBhcmF0ZV9kZWJ1Z19vYmpm aWxlX2JhY2tsaW5rICE9IE5VTEwpCiAgCWNvbnRpbnVlOwpAQCAtMTI1NywxMCArMTI1NSwxMCBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3B5dGhvbi9weS1vYmpmaWxlLmMKICAg ICAgICBpZiAob2JmZF9idWlsZF9pZCA9PSBOVUxMKQogIAljb250aW51ZTsKICAgICAgICBpZiAo b2JqZnB5X2J1aWxkX2lkX21hdGNoZXMgKG9iZmRfYnVpbGRfaWQsIGJ1aWxkX2lkKSkKLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvY29mZnJlYWQuYworSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9jb2ZmcmVhZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAx NzAyMDcub3JpZy9nZGIvY29mZnJlYWQuYwkyMDE3LTAyLTI0IDIyOjE4OjAyLjE3NjM5MTQwMCAr MDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9jb2ZmcmVhZC5jCTIwMTctMDItMjQg MjI6MzI6MzguODE1MjY0NTQzICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9n ZGIvY29mZnJlYWQuYwkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiArMDIwMAorKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jb2ZmcmVhZC5jCTIwMTctMDQtMjAgMjM6MDA6NDMuMzc2 NjI5Mjg1ICswMjAwCiBAQCAtNzM0LDcgKzczNCw3IEBACiAgICAgIHsKICAgICAgICBjaGFyICpk ZWJ1Z2ZpbGU7CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuOC1hdHRhY2gtc2lnbmFsbGVkLWRldGFjaC1z dG9wcGVkLnBhdGNoIGIvZ2RiLTYuOC1hdHRhY2gtc2lnbmFsbGVkLWRldGFjaC1zdG9wcGVkLnBh dGNoCmluZGV4IDQ0YjgzMTEuLmM2ZjZiZDQgMTAwNjQ0Ci0tLSBhL2dkYi02LjgtYXR0YWNoLXNp Z25hbGxlZC1kZXRhY2gtc3RvcHBlZC5wYXRjaAorKysgYi9nZGItNi44LWF0dGFjaC1zaWduYWxs ZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1JbmRleDogZ2RiLTcuMTEu NTAuMjAxNjA3MTYvZ2RiL2luZnJ1bi5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L2luZnJ1bi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuNTAuMjAxNjA3MTYub3JpZy9nZGIv aW5mcnVuLmMJMjAxNi0wNy0xNiAxNDozNzowOS4zMTcxNzgxNTAgKzAyMDAKLSsrKyBnZGItNy4x MS41MC4yMDE2MDcxNi9nZGIvaW5mcnVuLmMJMjAxNi0wNy0xNiAxNDozNzoxMC42MzYxODg3NjUg KzAyMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9pbmZydW4uYwkyMDE3LTA0 LTIwIDIzOjE5OjE2LjA1NjQzNDMwOSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9pbmZydW4uYwkyMDE3LTA0LTIwIDIzOjE5OjIyLjkzMjQ4MDM2NyArMDIwMAogQEAgLTYyMCw2 ICs2MjAsMTMgQEAKICAJCQkJdGFyZ2V0X3BpZF90b19zdHIgKHByb2Nlc3NfcHRpZCkpOwogIAkg ICAgfQpAQCAtMTYsMTAgKzE2LDEwIEBAIEluZGV4OiBnZGItNy4xMS41MC4yMDE2MDcxNi9nZGIv aW5mcnVuLmMKICAJICB0YXJnZXRfZGV0YWNoIChOVUxMLCAwKTsKICAJfQogIAotSW5kZXg6IGdk Yi03LjExLjUwLjIwMTYwNzE2L2dkYi9saW51eC1uYXQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjExLjUwLjIwMTYw NzE2Lm9yaWcvZ2RiL2xpbnV4LW5hdC5jCTIwMTYtMDctMTYgMTQ6Mzc6MDkuMzIwMTc4MTc0ICsw MjAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA3MTYvZ2RiL2xpbnV4LW5hdC5jCTIwMTYtMDctMTYg MTQ6Mzg6MDkuNTc0NjYzMDk0ICswMjAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9n ZGIvbGludXgtbmF0LmMJMjAxNy0wNC0yMCAyMzoxOToxNi4wNTg0MzQzMjIgKzAyMDAKKysrKyBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbGludXgtbmF0LmMJMjAxNy0wNC0yMCAyMzoxOToyMi45 MzM0ODAzNzMgKzAyMDAKIEBAIC0xOTQsNiArMTk0LDExIEBACiAgc3RhdGljIHN0cnVjdCB0YXJn ZXRfb3BzICpsaW51eF9vcHM7CiAgc3RhdGljIHN0cnVjdCB0YXJnZXRfb3BzIGxpbnV4X29wc19z YXZlZDsKQEAgLTMyLDcgKzMyLDcgQEAgSW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNzE2L2dkYi9s aW51eC1uYXQuYwogIC8qIFRoZSBtZXRob2QgdG8gY2FsbCwgaWYgYW55LCB3aGVuIGEgbmV3IHRo cmVhZCBpcyBhdHRhY2hlZC4gICovCiAgc3RhdGljIHZvaWQgKCpsaW51eF9uYXRfbmV3X3RocmVh ZCkgKHN0cnVjdCBsd3BfaW5mbyAqKTsKICAKLUBAIC0xMDQ3LDYgKzEwNTIsOSBAQAorQEAgLTEw NTUsNiArMTA2MCw5IEBACiAgICAgICAgaWYgKGRlYnVnX2xpbnV4X25hdCkKICAJZnByaW50Zl91 bmZpbHRlcmVkIChnZGJfc3RkbG9nLAogIAkJCSAgICAiTE5QQVc6IEF0dGFjaGluZyB0byBhIHN0 b3BwZWQgcHJvY2Vzc1xuIik7CkBAIC00Miw3ICs0Miw3IEBAIEluZGV4OiBnZGItNy4xMS41MC4y MDE2MDcxNi9nZGIvbGludXgtbmF0LmMKICAKICAgICAgICAvKiBUaGUgcHJvY2VzcyBpcyBkZWZp bml0ZWx5IHN0b3BwZWQuICBJdCBpcyBpbiBhIGpvYiBjb250cm9sCiAgCSBzdG9wLCB1bmxlc3Mg dGhlIGtlcm5lbCBwcmVkYXRlcyB0aGUgVEFTS19TVE9QUEVEIC8KLUBAIC0xNDA0LDYgKzE0MTIs MjUgQEAKK0BAIC0xNDEyLDYgKzE0MjAsMjUgQEAKICAgICAgICByZXR1cm4gZ2RiX3NpZ25hbF90 b19ob3N0IChzaWdubyk7CiAgICAgIH0KICAKQEAgLTY4LDcgKzY4LDcgQEAgSW5kZXg6IGdkYi03 LjExLjUwLjIwMTYwNzE2L2dkYi9saW51eC1uYXQuYwogICAgcmV0dXJuIDA7CiAgfQogIAotQEAg LTE1NjIsNiArMTU4OSwxMCBAQAorQEAgLTE1NzAsNiArMTU5NywxMCBAQAogICAgICAgIGRldGFj aF9vbmVfbHdwIChtYWluX2x3cCwgJnNpZ25vKTsKICAKICAgICAgICBpbmZfcHRyYWNlX2RldGFj aF9zdWNjZXNzIChvcHMpOwpAQCAtNzcsOSArNzcsOSBAQCBJbmRleDogZ2RiLTcuMTEuNTAuMjAx NjA3MTYvZ2RiL2xpbnV4LW5hdC5jCiArICAgICAgcGlkX3dhc19zdG9wcGVkID0gMDsKICsjZW5k aWYKICAgICAgfQotICAgZGVsZXRlX2x3cCAobWFpbl9sd3AtPnB0aWQpOwogIH0KLUBAIC0xODIz LDYgKzE4NTQsMTYgQEAKKyAKK0BAIC0xODMwLDYgKzE4NjEsMTYgQEAKICAgICAgICByZXR1cm47 CiAgICAgIH0KICAKQEAgLTk2LDcgKzk2LDcgQEAgSW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNzE2 L2dkYi9saW51eC1uYXQuYwogICAgaWYgKHJlc3VtZV9tYW55KQogICAgICBpdGVyYXRlX292ZXJf bHdwcyAocHRpZCwgbGludXhfbmF0X3Jlc3VtZV9jYWxsYmFjaywgbHApOwogIAotQEAgLTM4MTks NiArMzg2MCwxMCBAQAorQEAgLTM4MjYsNiArMzg2NywxMCBAQAogIAogICAgLyogTGV0IHRoZSBh cmNoLXNwZWNpZmljIG5hdGl2ZSBjb2RlIGtub3cgdGhpcyBwcm9jZXNzIGlzIGdvbmUuICAqLwog ICAgbGludXhfbmF0X2ZvcmdldF9wcm9jZXNzIChwaWQpOwpAQCAtMTA3LDEwICsxMDcsMTAgQEAg SW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNzE2L2dkYi9saW51eC1uYXQuYwogIH0KICAKICAvKiBD b252ZXJ0IGEgbmF0aXZlL2hvc3Qgc2lnaW5mbyBvYmplY3QsIGludG8vZnJvbSB0aGUgc2lnaW5m byBpbiB0aGUKLUluZGV4OiBnZGItNy4xMS41MC4yMDE2MDcxNi9nZGIvdGVzdHN1aXRlL2dkYi50 aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXR0YWNoLXN0b3BwZWQuZXhwCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMTEuNTAuMjAxNjA3MTYub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0 dGFjaC1zdG9wcGVkLmV4cAkyMDE2LTA3LTE2IDE0OjM3OjA5LjMyMTE3ODE4MiArMDIwMAotKysr IGdkYi03LjExLjUwLjIwMTYwNzE2L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXR0YWNoLXN0 b3BwZWQuZXhwCTIwMTYtMDctMTYgMTQ6Mzc6MTAuNjQwMTg4Nzk3ICswMjAwCistLS0gZ2RiLTcu OTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1zdG9w cGVkLmV4cAkyMDE3LTA0LTIwIDIzOjE5OjE2LjA1OTQzNDMyOSArMDIwMAorKysrIGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXR0YWNoLXN0b3BwZWQuZXhw CTIwMTctMDQtMjAgMjM6MTk6MjIuOTMzNDgwMzczICswMjAwCiBAQCAtNTYsNyArNTYsNjUgQEAK ICAgICAgZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rpci8kc3ViZGlyCiAgICAgIGdkYl9sb2Fk ICR7YmluZmlsZX0KCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXBpZS1hZGRvbnMta2VlcC1kaXNh YmxlZC5wYXRjaCBiL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCmlu ZGV4IGZmZGY5YTcuLmNkOTE1ZDMgMTAwNjQ0Ci0tLSBhL2dkYi1hcmNoZXItcGllLWFkZG9ucy1r ZWVwLWRpc2FibGVkLnBhdGNoCisrKyBiL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2Fi bGVkLnBhdGNoCkBAIC0xLDggKzEsOCBAQAotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODI5L2dk Yi9icmVha3BvaW50LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYnJlYWtwb2lu dC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAxNjA4Mjkub3JpZy9nZGIvYnJlYWtw b2ludC5jCTIwMTYtMDgtMjkgMDk6NDE6NTcuMDU0ODc1ODEwICswMjAwCi0rKysgZ2RiLTcuMTEu OTAuMjAxNjA4MjkvZ2RiL2JyZWFrcG9pbnQuYwkyMDE2LTA4LTI5IDA5OjQ1OjA0LjE2NjYxMjM3 NiArMDIwMAotQEAgLTE2MTc2LDYgKzE2MTc2LDUwIEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0 MjAub3JpZy9nZGIvYnJlYWtwb2ludC5jCTIwMTctMDQtMjAgMjM6MDQ6MzkuNjI3OTYwNTIzICsw MjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2JyZWFrcG9pbnQuYwkyMDE3LTA0LTIw IDIzOjA3OjI5Ljg1NDkxOTcyNSArMDIwMAorQEAgLTE2MDg2LDYgKzE2MDg2LDUwIEBACiAgc3Rh dGljIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICplbmFibGVicmVha2xpc3QgPSBOVUxMOwogIAog IHZvaWQKQEAgLTQ1LDE5ICs0NSwxOSBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MjkvZ2Ri L2JyZWFrcG9pbnQuYwogKyAgICB9CiArCiArICBpZiAoY2hhbmdlZCkKLSsgICAgcXNvcnQgKGJw X2xvY2F0aW9uLCBicF9sb2NhdGlvbl9jb3VudCwgc2l6ZW9mICgqYnBfbG9jYXRpb24pLAotKwkg ICBicF9sb2NhdGlvbl9jb21wYXJlKTsKKysgICAgcXNvcnQgKGJwX2xvY2F0aW9ucywgYnBfbG9j YXRpb25zX2NvdW50LCBzaXplb2YgKCpicF9sb2NhdGlvbnMpLAorKwkgICBicF9sb2NhdGlvbnNf Y29tcGFyZSk7CiArfQogKwogK3ZvaWQKICBfaW5pdGlhbGl6ZV9icmVha3BvaW50ICh2b2lkKQog IHsKICAgIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpjOwotSW5kZXg6IGdkYi03LjExLjkwLjIw MTYwODI5L2dkYi9icmVha3BvaW50LmgKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv YnJlYWtwb2ludC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAxNjA4Mjkub3JpZy9n ZGIvYnJlYWtwb2ludC5oCTIwMTYtMDgtMjkgMDk6NDE6NTcuMDU0ODc1ODEwICswMjAwCi0rKysg Z2RiLTcuMTEuOTAuMjAxNjA4MjkvZ2RiL2JyZWFrcG9pbnQuaAkyMDE2LTA4LTI5IDA5OjQyOjI0 LjM3MDEyOTMyMCArMDIwMAotQEAgLTE2NDQsNCArMTY0NCw3IEBACistLS0gZ2RiLTcuOTkuOTAu MjAxNzA0MjAub3JpZy9nZGIvYnJlYWtwb2ludC5oCTIwMTctMDQtMjAgMjM6MDQ6MzkuNjI3OTYw NTIzICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2JyZWFrcG9pbnQuaAkyMDE3 LTA0LTIwIDIzOjA0OjQ4LjMzMTAwOTU2MyArMDIwMAorQEAgLTE2NDYsNCArMTY0Niw3IEBACiAg ICAgVUlPVVQgaWZmIGRlYnVnZ2luZyBtdWx0aXBsZSB0aHJlYWRzLiAgKi8KICBleHRlcm4gdm9p ZCBtYXliZV9wcmludF90aHJlYWRfaGl0X2JyZWFrcG9pbnQgKHN0cnVjdCB1aV9vdXQgKnVpb3V0 KTsKICAKQEAgLTY1LDExICs2NSwxMSBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MjkvZ2Ri L2JyZWFrcG9pbnQuaAogKwkJCQkgIHN0cnVjdCBzZWN0aW9uX29mZnNldHMgKmRlbHRhKTsKICsK ICAjZW5kaWYgLyogIWRlZmluZWQgKEJSRUFLUE9JTlRfSCkgKi8KLUluZGV4OiBnZGItNy4xMS45 MC4yMDE2MDgyOS9nZGIvb2JqZmlsZXMuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9vYmpmaWxlcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAxNjA4Mjkub3JpZy9n ZGIvb2JqZmlsZXMuYwkyMDE2LTA4LTI5IDA5OjQxOjU3LjA1NDg3NTgxMCArMDIwMAotKysrIGdk Yi03LjExLjkwLjIwMTYwODI5L2dkYi9vYmpmaWxlcy5jCTIwMTYtMDgtMjkgMDk6NDI6MjQuMzcw MTI5MzIwICswMjAwCi1AQCAtOTE2LDYgKzkxNiwxMSBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcw NDIwLm9yaWcvZ2RiL29iamZpbGVzLmMJMjAxNy0wNC0yMCAyMzowNDozOS42Mjc5NjA1MjMgKzAy MDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvb2JqZmlsZXMuYwkyMDE3LTA0LTIwIDIz OjA0OjQ4LjMzMjAwOTU2OSArMDIwMAorQEAgLTkwOSw2ICs5MDksMTEgQEAKICAJCQkJb2JqX3Nl Y3Rpb25fYWRkciAocykpOwogICAgICB9CiAgCgpkaWZmIC0tZ2l0IGEvZ2RiLWFyY2hlci5wYXRj aCBiL2dkYi1hcmNoZXIucGF0Y2gKaW5kZXggOTcwNzQ1ZC4uYzNjOGRhNiAxMDA2NDQKLS0tIGEv Z2RiLWFyY2hlci5wYXRjaAorKysgYi9nZGItYXJjaGVyLnBhdGNoCkBAIC0yLDcgKzIsNyBAQCBo dHRwOi8vc291cmNld2FyZS5vcmcvZ2RiL3dpa2kvUHJvamVjdEFyY2hlcgogaHR0cDovL3NvdXJj ZXdhcmUub3JnL2dkYi93aWtpL0FyY2hlckJyYW5jaE1hbmFnZW1lbnQKIAogR0lUIHNuYXBzaG90 OgotY29tbWl0IGUyYzBjYmY5M2NmMjA2NjdiZTQ0OWE3NWQyYWRhNWQzNzdkZGIwOTAKK2NvbW1p dCA3MThhMTYxOGIyZjY5MWE3ZjQwNzIxM2JiNTBmMTAwYWM1OWY5MWMzCiAKIHRyb21leS9weXRo b24KIApAQCAtMTYsMTAgKzE2LDEwIEBAIGluZGV4IDAwMDAwMDAuLjE3M2I4ZWEKICtUaGlzIGJy YW5jaCBvcmlnaW5hbGx5IGhlbGQgdGhlIFB5dGhvbiBjb2RlIGZvciBnZGIuICBJdCBzdGlsbCBl eGlzdHMKICtiZWNhdXNlIGEgc21hbGwgYW1vdW50IG9mIGNvZGUgaGVyZSBoYXMgbm90IHlldCBi ZWVuIG1lcmdlZCB1cHN0cmVhbS4KIGRpZmYgLS1naXQgYS9nZGIvTWFrZWZpbGUuaW4gYi9nZGIv TWFrZWZpbGUuaW4KLWluZGV4IDI2OGMyYzYuLjQwNDVlZjcgMTAwNjQ0CitpbmRleCAyOTFiMWEw Li4xNTBhOGVmIDEwMDY0NAogLS0tIGEvZ2RiL01ha2VmaWxlLmluCiArKysgYi9nZGIvTWFrZWZp bGUuaW4KLUBAIC0yMzQ1LDYgKzIzNDUsMTIgQEAgc3RhbXAtaDogJChzcmNkaXIpL2NvbmZpZy5p biBjb25maWcuc3RhdHVzCitAQCAtMjM1MCw2ICsyMzUwLDEyIEBAIHN0YW1wLWg6ICQoc3JjZGly KS9jb25maWcuaW4gY29uZmlnLnN0YXR1cwogIAkgIENPTkZJR19MSU5LUz0gXAogIAkgICQoU0hF TEwpIGNvbmZpZy5zdGF0dXMKICAKQEAgLTU4LDcgKzU4LDcgQEAgaW5kZXggMzA0ZDRiMC4uZDIw MDdhNCAxMDA2NDQKICAJZ2RiL3ByaW50ZXIvYm91bmRfcmVnaXN0ZXJzLnB5CiAgCiBkaWZmIC0t Z2l0IGEvZ2RiL2RvYy9nZGIudGV4aW5mbyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KLWluZGV4IDk2 MjMyNWIuLjU4OWUyMmMgMTAwNjQ0CitpbmRleCAzMDBkNzhlLi42OTlmMmNiIDEwMDY0NAogLS0t IGEvZ2RiL2RvYy9nZGIudGV4aW5mbwogKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwogQEAgLTEy MzAsNiArMTIzMCwxNiBAQCBmb3IgcmVtb3RlIGRlYnVnZ2luZy4KQEAgLTc5LDcgKzc5LDcgQEAg aW5kZXggOTYyMzI1Yi4uNTg5ZTIyYyAxMDA2NDQKICBAaXRlbSAtdHVpCiAgQGNpbmRleCBAY29k ZXstLXR1aX0KIGRpZmYgLS1naXQgYS9nZGIvZG9jL3B5dGhvbi50ZXhpIGIvZ2RiL2RvYy9weXRo b24udGV4aQotaW5kZXggYzNlYTIwMy4uYTNiZGI5OCAxMDA2NDQKK2luZGV4IGNlNTgxMGUuLjRj ZWIxMDggMTAwNjQ0CiAtLS0gYS9nZGIvZG9jL3B5dGhvbi50ZXhpCiArKysgYi9nZGIvZG9jL3B5 dGhvbi50ZXhpCiBAQCAtODgsOCArODgsNiBAQCBjb250YWluaW5nIEBjb2Rle2VuZH0uICBGb3Ig ZXhhbXBsZToKQEAgLTExMiw3ICsxMTIsNyBAQCBpbmRleCAwNWEzOGIyLi45ODAxZmRmIDEwMDY0 NAogICAgc2V0IHZhcmlhYmxlICRnZGJfaW5pdF9kb25lID0gMQogIAogZGlmZiAtLWdpdCBhL2dk Yi9tYWluLmMgYi9nZGIvbWFpbi5jCi1pbmRleCAzMGUyN2MyLi4wNDYwYzI4IDEwMDY0NAoraW5k ZXggZGY0YjExMS4uNmFjYThiMCAxMDA2NDQKIC0tLSBhL2dkYi9tYWluLmMKICsrKyBiL2dkYi9t YWluLmMKIEBAIC0zMyw2ICszMyw3IEBACkBAIC0xMzIsNyArMTMyLDcgQEAgaW5kZXggMzBlMjdj Mi4uMDQ2MGMyOCAxMDA2NDQKICB7CiAgICBpbnQgYXJnYyA9IGNvbnRleHQtPmFyZ2M7CiAgICBj aGFyICoqYXJndiA9IGNvbnRleHQtPmFyZ3Y7Ci1AQCAtNjc0LDEwICs2NzUsMTQgQEAgY2FwdHVy ZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQorQEAgLTY3Niwx MCArNjc3LDE0IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAq Y29udGV4dCkKICAgICAgICB7ImFyZ3MiLCBub19hcmd1bWVudCwgJnNldF9hcmdzLCAxfSwKICAg ICAgICB7ImwiLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgJ2wnfSwKICAgICAgICB7InJldHVybi1j aGlsZC1yZXN1bHQiLCBub19hcmd1bWVudCwgJnJldHVybl9jaGlsZF9yZXN1bHQsIDF9LApAQCAt MTQ4LDcgKzE0OCw3IEBAIGluZGV4IDMwZTI3YzIuLjA0NjBjMjggMTAwNjQ0CiAgICAgICAgewog IAlpbnQgb3B0aW9uX2luZGV4OwogIAotQEAgLTY5NSw2ICs3MDAsOSBAQCBjYXB0dXJlZF9tYWlu XzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitAQCAtNjk3LDYgKzcwMiw5 IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkK ICAJICBjYXNlIDA6CiAgCSAgICAvKiBMb25nIG9wdGlvbiB0aGF0IGp1c3Qgc2V0cyBhIGZsYWcu ICAqLwogIAkgICAgYnJlYWs7CkBAIC0xNTgsNyArMTU4LDcgQEAgaW5kZXggMzBlMjdjMi4uMDQ2 MGMyOCAxMDA2NDQKICAJICBjYXNlIE9QVF9TRToKICAJICAgIHN5bWFyZyA9IG9wdGFyZzsKICAJ ICAgIGV4ZWNhcmcgPSBvcHRhcmc7Ci1AQCAtODUzLDcgKzg2MSwzMSBAQCBjYXB0dXJlZF9tYWlu XzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitAQCAtODU1LDcgKzg2Mywz MSBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQp CiAgCiAgICAvKiBOb3cgdGhhdCBnZGJfaW5pdCBoYXMgY3JlYXRlZCB0aGUgaW5pdGlhbCBpbmZl cmlvciwgd2UncmUgaW4KICAgICAgIHBvc2l0aW9uIHRvIHNldCBhcmdzIGZvciB0aGF0IGluZmVy aW9yLiAgKi8KQEAgLTE5MSw3ICsxOTEsNyBAQCBpbmRleCAzMGUyN2MyLi4wNDYwYzI4IDEwMDY0 NAogICAgICB7CiAgICAgICAgLyogVGhlIHJlbWFpbmluZyBvcHRpb25zIGFyZSB0aGUgY29tbWFu ZC1saW5lIG9wdGlvbnMgZm9yIHRoZQogIAkgaW5mZXJpb3IuICBUaGUgZmlyc3Qgb25lIGlzIHRo ZSBzeW0vZXhlYyBmaWxlLCBhbmQgdGhlIHJlc3QKLUBAIC0xMTIzLDcgKzExNTUsOCBAQCBjYXB0 dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitAQCAtMTEy NSw3ICsxMTU3LDggQEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdz ICpjb250ZXh0KQogIAogICAgLyogUmVhZCBpbiB0aGUgb2xkIGhpc3RvcnkgYWZ0ZXIgYWxsIHRo ZSBjb21tYW5kIGZpbGVzIGhhdmUgYmVlbgogICAgICAgcmVhZC4gICovCkBAIC0yMDEsNyArMjAx LDcgQEAgaW5kZXggMzBlMjdjMi4uMDQ2MGMyOCAxMDA2NDQKICAKICAgIGlmIChiYXRjaF9mbGFn KQogICAgICB7Ci1AQCAtMTEzNiwxNiArMTE2OSwyOSBAQCBzdGF0aWMgdm9pZAorQEAgLTExMzgs MTYgKzExNzEsMjkgQEAgc3RhdGljIHZvaWQKICBjYXB0dXJlZF9tYWluICh2b2lkICpkYXRhKQog IHsKICAgIHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQgPSAoc3RydWN0IGNhcHR1 cmVkX21haW5fYXJncyAqKSBkYXRhOwpAQCAtMjM4LDcgKzIzOCw3IEBAIGluZGV4IDMwZTI3YzIu LjA0NjBjMjggMTAwNjQ0CiAgICAgIH0KICAgIC8qIE5vIGV4aXQgLS0gZXhpdCBpcyB0aHJvdWdo IHF1aXRfY29tbWFuZC4gICovCiAgfQotQEAgLTExODgsNiArMTIzNCwxMiBAQCBwcmludF9nZGJf aGVscCAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKK0BAIC0xMTkwLDYgKzEyMzYsMTIgQEAgcHJp bnRfZ2RiX2hlbHAgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0pCiAgICBmcHV0c191bmZpbHRlcmVk IChfKCJcCiAgVGhpcyBpcyB0aGUgR05VIGRlYnVnZ2VyLiAgVXNhZ2U6XG5cblwKICAgICAgZ2Ri IFtvcHRpb25zXSBbZXhlY3V0YWJsZS1maWxlIFtjb3JlLWZpbGUgb3IgcHJvY2Vzcy1pZF1dXG5c CkBAIC0yNTEsNyArMjUxLDcgQEAgaW5kZXggMzBlMjdjMi4uMDQ2MGMyOCAxMDA2NDQKICAgICAg Z2RiIFtvcHRpb25zXSAtLWFyZ3MgZXhlY3V0YWJsZS1maWxlIFtpbmZlcmlvci1hcmd1bWVudHMg Li4uXVxuXG5cCiAgIiksIHN0cmVhbSk7CiAgICBmcHV0c191bmZpbHRlcmVkIChfKCJcCi1AQCAt MTIzMiw2ICsxMjg0LDEzIEBAIE91dHB1dCBhbmQgdXNlciBpbnRlcmZhY2UgY29udHJvbDpcblxu XAorQEAgLTEyMzQsNiArMTI4NiwxMyBAQCBPdXRwdXQgYW5kIHVzZXIgaW50ZXJmYWNlIGNvbnRy b2w6XG5cblwKICAjZW5kaWYKICAgIGZwdXRzX3VuZmlsdGVyZWQgKF8oIlwKICAgIC0tZGJ4ICAg ICAgICAgICAgICBEQlggY29tcGF0aWJpbGl0eSBtb2RlLlxuXApAQCAtNDQ5LDEwICs0NDksMTAg QEAgaW5kZXggMDAwMDAwMC4uODc0MjY4MAogKwogK0luU2NvcGUgKCkKIGRpZmYgLS1naXQgYS9n ZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oIGIvZ2RiL3B5dGhvbi9weXRob24taW50ZXJuYWwu aAotaW5kZXggNGRkNDEzZC4uMmFkNDA3MSAxMDA2NDQKK2luZGV4IGU4NGM4ZDIuLjY5MzA1YjQg MTAwNjQ0CiAtLS0gYS9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oCiArKysgYi9nZGIvcHl0 aG9uL3B5dGhvbi1pbnRlcm5hbC5oCi1AQCAtNTUxLDYgKzU1MSw5IEBAIGNsYXNzIGdkYnB5X2Vu dGVyX3Zhcm9iaiA6IHB1YmxpYyBnZGJweV9lbnRlcgorQEAgLTY3Miw2ICs2NzIsOSBAQCBjbGFz cyBnZGJweV9lbnRlcl92YXJvYmogOiBwdWJsaWMgZ2RicHlfZW50ZXIKICAKICB9OwogIApAQCAt NDYzLDcgKzQ2Myw3IEBAIGluZGV4IDRkZDQxM2QuLjJhZDQwNzEgMTAwNjQ0CiAgZXh0ZXJuIGNv bnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpweXRob25fbGFuZ3VhZ2U7CiAgCiBkaWZmIC0tZ2l0 IGEvZ2RiL3B5dGhvbi9weXRob24uYyBiL2dkYi9weXRob24vcHl0aG9uLmMKLWluZGV4IDczZmIz ZDAuLjA3ODljMTYgMTAwNjQ0CitpbmRleCA3ZTBjNTA3Li5hNjdmYmMzIDEwMDY0NAogLS0tIGEv Z2RiL3B5dGhvbi9weXRob24uYwogKysrIGIvZ2RiL3B5dGhvbi9weXRob24uYwogQEAgLTk1LDYg Kzk1LDggQEAgY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZuIGV4dGVuc2lvbl9s YW5ndWFnZV9weXRob24gPQpAQCAtNTA1LDcgKzUwNSw3IEBAIGluZGV4IDczZmIzZDAuLjA3ODlj MTYgMTAwNjQ0CiAgLyogU2V0IHRoZSBxdWl0IGZsYWcuICAqLwogIAogIHN0YXRpYyB2b2lkCi1A QCAtMTE5Miw2ICsxMjE3LDkyIEBAIGdkYnB5X3ByaW50X3N0YWNrICh2b2lkKQorQEAgLTExODcs NiArMTIxMiw5MiBAQCBnZGJweV9wcmludF9zdGFjayAodm9pZCkKICAKICAvKiBSZXR1cm4gdGhl IGN1cnJlbnQgUHJvZ3NwYWNlLgogICAgIFRoZXJlIGFsd2F5cyBpcyBvbmUuICAqLwpAQCAtNTk4 LDcgKzU5OCw3IEBAIGluZGV4IDczZmIzZDAuLjA3ODljMTYgMTAwNjQ0CiAgCiAgc3RhdGljIFB5 T2JqZWN0ICoKICBnZGJweV9nZXRfY3VycmVudF9wcm9nc3BhY2UgKFB5T2JqZWN0ICp1bnVzZWQx LCBQeU9iamVjdCAqdW51c2VkMikKLUBAIC0xODg4LDYgKzE5OTksOCBAQCBQeU1ldGhvZERlZiBw eXRob25fR2RiTWV0aG9kc1tdID0KK0BAIC0xODgxLDYgKzE5OTIsOCBAQCBQeU1ldGhvZERlZiBw eXRob25fR2RiTWV0aG9kc1tdID0KICBFdmFsdWF0ZSBjb21tYW5kLCBhIHN0cmluZywgYXMgYSBn ZGIgQ0xJIGNvbW1hbmQuICBPcHRpb25hbGx5IHJldHVybnNcblwKICBhIFB5dGhvbiBTdHJpbmcg Y29udGFpbmluZyB0aGUgb3V0cHV0IG9mIHRoZSBjb21tYW5kIGlmIHRvX3N0cmluZyBpc1xuXAog IHNldCB0byBUcnVlLiIgfSwKQEAgLTYzMiwxMCArNjMyLDEwIEBAIGluZGV4IGY1ZDRhM2MuLjM1 NDZmN2IgMTAwNjQ0CiAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAoJ3Jlc3VsdCA9ICVzJyAlIChn ZGIuc2VsZWN0ZWRfZnJhbWUgKCkucmVhZF9yZWdpc3RlciAoJ3NwJykgPT0gZ2RiLnBhcnNlX2Fu ZF9ldmFsICgnXCRzcCcpKSkiIFwKICAgICIgPSBUcnVlIiBcCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS12YWx1ZS5leHAKLWluZGV4IGQ5YTRkMjAuLmM4N2U0ZDggMTAwNjQ0CitpbmRleCAxNzgx ODg3Li44YTJkZGQ2IDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZh bHVlLmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAotQEAg LTQwNyw2ICs0MDcsMTUgQEAgcHJvYyB0ZXN0X3ZhbHVlX2FmdGVyX2RlYXRoIHt9IHsKK0BAIC0z ODQsNiArMzg0LDE1IEBAIHByb2MgdGVzdF92YWx1ZV9hZnRlcl9kZWF0aCB7fSB7CiAgICAgICJw cmludCB2YWx1ZSdzIHR5cGUiCiAgfQogIApAQCAtNjUxLDE2ICs2NTEsMTYgQEAgaW5kZXggZDlh NGQyMC4uYzg3ZTRkOCAxMDA2NDQKICAjIFJlZ3Jlc3Npb24gdGVzdCBmb3IgaW52YWxpZCBzdWJz Y3JpcHQgb3BlcmF0aW9ucy4gIFRoZSBidWcgd2FzIHRoYXQKICAjIHRoZSB0eXBlIG9mIHRoZSB2 YWx1ZSB3YXMgbm90IGJlaW5nIGNoZWNrZWQgYmVmb3JlIGFsbG93aW5nIGEKICAjIHN1YnNjcmlw dCBvcGVyYXRpb24gdG8gcHJvY2VlZC4KLUBAIC01MzYsNiArNTQ1LDcgQEAgdGVzdF92YWx1ZV9p bl9pbmZlcmlvcgorQEAgLTUxMiw2ICs1MjEsNyBAQCBpZiAhW3J1bnRvX21haW5dIHRoZW4gewor IHRlc3RfdmFsdWVfaW5faW5mZXJpb3IKICB0ZXN0X2luZmVyaW9yX2Z1bmN0aW9uX2NhbGwKLSB0 ZXN0X2xhenlfc3RyaW5ncwogIHRlc3RfdmFsdWVfYWZ0ZXJfZGVhdGgKICt0ZXN0X2Nhc3RfcmVn cmVzc2lvbgogIAogICMgVGVzdCBlaXRoZXIgQyBvciBDKysgdmFsdWVzLiAKICAKIGRpZmYgLS1n aXQgYS9nZGIvdmFyb2JqLmMgYi9nZGIvdmFyb2JqLmMKLWluZGV4IDE3M2FiZjMuLmMzYWJmNjYg MTAwNjQ0CitpbmRleCA1ZjIxZDg0Li4xODUwNmYxIDEwMDY0NAogLS0tIGEvZ2RiL3Zhcm9iai5j CiArKysgYi9nZGIvdmFyb2JqLmMKIEBAIC0yMjYsNiArMjI2LDE0IEBAIGlzX3Jvb3RfcCAoY29u c3Qgc3RydWN0IHZhcm9iaiAqdmFyKQpAQCAtNjc5LDcgKzY3OSw3IEBAIGluZGV4IDE3M2FiZjMu LmMzYWJmNjYgMTAwNjQ0CiAgLyogU2VlIHB5dGhvbi1pbnRlcm5hbC5oLiAgKi8KICBnZGJweV9l bnRlcl92YXJvYmo6OmdkYnB5X2VudGVyX3Zhcm9iaiAoY29uc3Qgc3RydWN0IHZhcm9iaiAqdmFy KQogZGlmZiAtLWdpdCBhL2dkYi92YXJvYmouaCBiL2dkYi92YXJvYmouaAotaW5kZXggOTg5Yzhj ZC4uZmM3ZjE3NyAxMDA2NDQKK2luZGV4IGUzNWMxYjguLjEyMzM5ZDEgMTAwNjQ0CiAtLS0gYS9n ZGIvdmFyb2JqLmgKICsrKyBiL2dkYi92YXJvYmouaAogQEAgLTMyMCw2ICszMjAsOCBAQCBleHRl cm4gaW50IHZhcm9ial9oYXNfbW9yZSAoY29uc3Qgc3RydWN0IHZhcm9iaiAqdmFyLCBpbnQgdG8p OwoKZGlmZiAtLWdpdCBhL2dkYi1nbmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0Y2ggYi9nZGItZ25h dC1kd2FyZi1jcmFzaC0zb2YzLnBhdGNoCmluZGV4IDNmNTdmZDMuLjRhODUwNzMgMTAwNjQ0Ci0t LSBhL2dkYi1nbmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0Y2gKKysrIGIvZ2RiLWduYXQtZHdhcmYt Y3Jhc2gtM29mMy5wYXRjaApAQCAtMzQsMTEgKzM0LDExIEBAIGdkYi8KIAogCSogZHdhcmYycmVh ZC5jIChwcm9jZXNzX2RpZSk6IENoYW5nZSBnZGJfYXNzZXJ0IHRvIGNvbXBsYWludC4KIAotZGlm ZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi1pbmRleCAzZWFh MGIxLi43MWY1ZDM0IDEwMDY0NAotLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYwotKysrIGIvZ2RiL2R3 YXJmMnJlYWQuYwotQEAgLTgwMjksNyArODAyOSwxMyBAQCBwcm9jZXNzX2RpZSAoc3RydWN0IGRp ZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9kd2FyZjJyZWFkLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy45OS45MC4yMDE3 MDQyMC5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wNC0yMCAyMzoxNToyNi41Nzg4OTcyMTAg KzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDQt MjAgMjM6MTU6NTcuODA1MTA2MzcxICswMjAwCitAQCAtODQyNiw3ICs4NDI2LDEzIEBACiAgICBz dHJ1Y3QgY2xlYW51cCAqaW5fcHJvY2VzczsKICAKICAgIC8qIFdlIHNob3VsZCBvbmx5IGJlIHBy b2Nlc3NpbmcgdGhvc2Ugbm90IGFscmVhZHkgaW4gcHJvY2Vzcy4gICovCkBAIC00NywxMiArNDcs OSBAQCBpbmRleCAzZWFhMGIxLi43MWY1ZDM0IDEwMDY0NAogKyAgICB7CiArICAgICAgY29tcGxh aW50ICgmc3ltZmlsZV9jb21wbGFpbnRzLAogKwkJIF8oIkRJRSBhdCAweCV4IGF0dGVtcHRlZCB0 byBiZSBwcm9jZXNzZWQgdHdpY2UiKSwKLSsJCSBkaWUtPm9mZnNldC5zZWN0X29mZik7CisrCQkg dG9fdW5kZXJseWluZyAoZGllLT5zZWN0X29mZikpOwogKyAgICAgIHJldHVybjsKICsgICAgfQog IAogICAgZGllLT5pbl9wcm9jZXNzID0gMTsKICAgIGluX3Byb2Nlc3MgPSBtYWtlX2NsZWFudXAg KHJlc2V0X2RpZV9pbl9wcm9jZXNzLGRpZSk7Ci0KLS0tNlRybmx0U3RYVzRpd21pMC0tCi0KCmRp ZmYgLS1naXQgYS9nZGItcHl0aG9uLWdpbC5wYXRjaCBiL2dkYi1weXRob24tZ2lsLnBhdGNoCmlu ZGV4IDM3NTZmNGEuLmQyNzM2ZmIgMTAwNjQ0Ci0tLSBhL2dkYi1weXRob24tZ2lsLnBhdGNoCisr KyBiL2dkYi1weXRob24tZ2lsLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjI2L2dkYi9kb2MvcHl0aG9uLnRleGkKK0luZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvZG9jL3B5dGhvbi50ZXhpCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAx NzAyMjYub3JpZy9nZGIvZG9jL3B5dGhvbi50ZXhpCTIwMTctMDItMjggMTY6MDY6MTMuNTA4OTY5 MTgxICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2RvYy9weXRob24udGV4aQky MDE3LTAyLTI4IDE2OjA2OjE0Ljk1ODk3OTQ4MCArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcw NDIwLm9yaWcvZ2RiL2RvYy9weXRob24udGV4aQkyMDE3LTA0LTIwIDIzOjE2OjMwLjg5NTMyODAx OCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kb2MvcHl0aG9uLnRleGkJMjAx Ny0wNC0yMCAyMzoxNjozNS42OTAzNjAxMzYgKzAyMDAKIEBAIC0yMzAsNiArMjMwLDE0IEBACiAg cmV0dXJuIHZhbHVlIGlzIEBjb2Rle05vbmV9LiAgSWYgQHZhcnt0b19zdHJpbmd9IGlzIEBjb2Rl e1RydWV9LCB0aGUKICBAdmFsdWV7R0RCTn0gdmlydHVhbCB0ZXJtaW5hbCB3aWxsIGJlIHRlbXBv cmFyaWx5IHNldCB0byB1bmxpbWl0ZWQgd2lkdGgKQEAgLTE3LDEwICsxNywxMCBAQCBJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2RvYy9weXRob24udGV4aQogIEBlbmQgZGVmdW4KICAK ICBAZmluZGV4IGdkYi5icmVha3BvaW50cwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9weXRob24vcHl0aG9uLWludGVybmFsLmgKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAu MjAxNzAyMjYub3JpZy9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oCTIwMTctMDItMjggMTY6 MDY6MTMuNTEwOTY5MTk1ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3B5dGhv bi9weXRob24taW50ZXJuYWwuaAkyMDE3LTAyLTI4IDE2OjA2OjE0Ljk1ODk3OTQ4MCArMDEwMAor LS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3B5dGhvbi9weXRob24taW50ZXJuYWwu aAkyMDE3LTA0LTIwIDIzOjE2OjMwLjg5NjMyODAyNCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9weXRob24vcHl0aG9uLWludGVybmFsLmgJMjAxNy0wNC0yMCAyMzoxNjozNS42 OTAzNjAxMzYgKzAyMDAKIEBAIC0xNDIsNiArMTQyLDggQEAKICAjZGVmaW5lIFB5R0lMU3RhdGVf UmVsZWFzZShBUkcpICgodm9pZCkoQVJHKSkKICAjZGVmaW5lIFB5RXZhbF9Jbml0VGhyZWFkcygp CkBAIC0zMCwzMiArMzAsMzIgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9weXRo b24vcHl0aG9uLWludGVybmFsLmgKICAjZGVmaW5lIFB5RXZhbF9SZWxlYXNlTG9jaygpCiAgI2Vu ZGlmCiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3B5dGhvbi9weXRob24uYwor SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9weXRob24vcHl0aG9uLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9weXRob24vcHl0aG9uLmMJMjAx Ny0wMi0yOCAxNjowNjoxMy41MTA5NjkxOTUgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvcHl0aG9uL3B5dGhvbi5jCTIwMTctMDItMjggMTY6MDY6MTQuOTU5OTc5NDg3ICswMTAw Ci1AQCAtNTk2LDEyICs1OTYsMTYgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi9weXRob24vcHl0aG9uLmMJMjAxNy0wNC0yMCAyMzoxNjozMC44OTczMjgwMzEgKzAyMDAKKysr KyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcHl0aG9uL3B5dGhvbi5jCTIwMTctMDQtMjAgMjM6 MTg6MTEuMzc3MDAxMDcwICswMjAwCitAQCAtNTk0LDEyICs1OTQsMTYgQEAKICB7CiAgICBjb25z dCBjaGFyICphcmc7CiAgICBQeU9iamVjdCAqZnJvbV90dHlfb2JqID0gTlVMTCwgKnRvX3N0cmlu Z19vYmogPSBOVUxMOwogLSAgaW50IGZyb21fdHR5LCB0b19zdHJpbmc7Ci0tICBzdGF0aWMgY2hh ciAqa2V5d29yZHNbXSA9IHsiY29tbWFuZCIsICJmcm9tX3R0eSIsICJ0b19zdHJpbmciLCBOVUxM IH07CistICBzdGF0aWMgY29uc3QgY2hhciAqa2V5d29yZHNbXSA9IHsgImNvbW1hbmQiLCAiZnJv bV90dHkiLCAidG9fc3RyaW5nIiwgTlVMTCB9OwogKyAgaW50IGZyb21fdHR5LCB0b19zdHJpbmcs IHJlbGVhc2VfZ2lsOwotKyAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7ImNvbW1hbmQiLCAi ZnJvbV90dHkiLCAidG9fc3RyaW5nIiwgInJlbGVhc2VfZ2lsIiwgTlVMTCB9OworKyAgc3RhdGlj IGNvbnN0IGNoYXIgKmtleXdvcmRzW10gPSB7ImNvbW1hbmQiLCAiZnJvbV90dHkiLCAidG9fc3Ry aW5nIiwgInJlbGVhc2VfZ2lsIiwgTlVMTCB9OwogKyAgUHlPYmplY3QgKnJlbGVhc2VfZ2lsX29i aiA9IE5VTEw7CiArICAvKiBJbml0aWFsaXplIGl0IGp1c3QgdG8gYXZvaWQgYSBHQ0MgZmFsc2Ug d2FybmluZy4gICovCiArICBQeVRocmVhZFN0YXRlICpzdGF0ZSA9IE5VTEw7CiAgCi0tICBpZiAo ISBQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMgKGFyZ3MsIGt3LCAic3xPIU8hIiwga2V5d29y ZHMsICZhcmcsCi0rICBpZiAoISBQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMgKGFyZ3MsIGt3 LCAic3xPIU8hTyEiLCBrZXl3b3JkcywgJmFyZywKLSAJCQkJICAgICAmUHlCb29sX1R5cGUsICZm cm9tX3R0eV9vYmosCi0tCQkJCSAgICAgJlB5Qm9vbF9UeXBlLCAmdG9fc3RyaW5nX29iaikpCi0r CQkJCSAgICAgJlB5Qm9vbF9UeXBlLCAmdG9fc3RyaW5nX29iaiwKLSsJCQkJICAgICAmUHlCb29s X1R5cGUsICZyZWxlYXNlX2dpbF9vYmopKQorLSAgaWYgKCFnZGJfUHlBcmdfUGFyc2VUdXBsZUFu ZEtleXdvcmRzIChhcmdzLCBrdywgInN8TyFPISIsIGtleXdvcmRzLCAmYXJnLAorKyAgaWYgKCFn ZGJfUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzIChhcmdzLCBrdywgInN8TyFPIU8hIiwga2V5 d29yZHMsICZhcmcsCisgCQkJCQkmUHlCb29sX1R5cGUsICZmcm9tX3R0eV9vYmosCistCQkJCQkm UHlCb29sX1R5cGUsICZ0b19zdHJpbmdfb2JqKSkKKysJCQkJCSZQeUJvb2xfVHlwZSwgJnRvX3N0 cmluZ19vYmosCisrCQkJCQkmUHlCb29sX1R5cGUsICZyZWxlYXNlX2dpbF9vYmopKQogICAgICBy ZXR1cm4gTlVMTDsKICAKICAgIGZyb21fdHR5ID0gMDsKLUBAIC02MjIsNiArNjI2LDE1IEBACitA QCAtNjIwLDYgKzYyNCwxNSBAQAogICAgICAgIHRvX3N0cmluZyA9IGNtcDsKICAgICAgfQogIApA QCAtNzEsNyArNzEsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3B5dGhvbi9w eXRob24uYwogICAgc3RkOjpzdHJpbmcgdG9fc3RyaW5nX3JlczsKICAKICAgIFRSWQotQEAgLTYz MCw2ICs2NDMsMTMgQEAKK0BAIC02MjgsNiArNjQxLDEzIEBACiAgICAgICAgc3RkOjpzdHJpbmcg Y29weSAoYXJnKTsKICAgICAgICBzdHJ1Y3QgaW50ZXJwICppbnRlcnA7CiAgCkBAIC04NSw3ICs4 NSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvcHl0aG9uL3B5dGhvbi5jCiAg ICAgICAgc2NvcGVkX3Jlc3RvcmUgc2F2ZV9hc3luYyA9IG1ha2Vfc2NvcGVkX3Jlc3RvcmUgKCZj dXJyZW50X3VpLT5hc3luYywgMCk7CiAgCiAgICAgICAgc2NvcGVkX3Jlc3RvcmUgc2F2ZV91aW91 dCA9IG1ha2Vfc2NvcGVkX3Jlc3RvcmUgKCZjdXJyZW50X3Vpb3V0KTsKLUBAIC02NDQsMTAgKzY2 NCwyMiBAQAorQEAgLTY0MiwxMCArNjYyLDIyIEBACiAgCXRvX3N0cmluZ19yZXMgPSBleGVjdXRl X2NvbW1hbmRfdG9fc3RyaW5nICgmY29weVswXSwgZnJvbV90dHkpOwogICAgICAgIGVsc2UKICAJ ZXhlY3V0ZV9jb21tYW5kICgmY29weVswXSwgZnJvbV90dHkpOwpAQCAtMTA5LDEwICsxMDksMTAg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9weXRob24vcHl0aG9uLmMKICAgICAg fQogICAgRU5EX0NBVENICiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3Rz dWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1tdGhyZWFkLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2lsLW10aHJlYWQuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRo cmVhZC5jCTIwMTctMDItMjggMTY6MDY6MTQuOTU5OTc5NDg3ICswMTAwCisrKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1tdGhyZWFkLmMJMjAx Ny0wNC0yMCAyMzoxNjozNS42OTEzNjAxNDMgKzAyMDAKIEBAIC0wLDAgKzEsMTMgQEAKICsjaW5j bHVkZSA8c3RkaW8uaD4KICsjaW5jbHVkZSA8dW5pc3RkLmg+CkBAIC0xMjcsMTAgKzEyNywxMCBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5 LWdpbC1tdGhyZWFkLmMKICsgICAgICBwcmludGYgKCJTbGVlcGluZyAlZFxuIiwgaSk7CiArICAg IH0KICt9Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0 aG9uL3B5LWdpbC1tdGhyZWFkLmV4cAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90 ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5leHAKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2lsLW10aHJlYWQuZXhw CTIwMTctMDItMjggMTY6MDY6MTQuOTU5OTc5NDg3ICswMTAwCisrKysgZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1tdGhyZWFkLmV4cAkyMDE3LTA0 LTIwIDIzOjE2OjM1LjY5MTM2MDE0MyArMDIwMAogQEAgLTAsMCArMSw2OSBAQAogKyMgQ29weXJp Z2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMjAxLDEw ICsyMDEsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2Ri LnB5dGhvbi9weS1naWwtbXRocmVhZC5leHAKICsJfQogKyAgICB9CiArfQotSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5w eQorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9w eS1naWwtbXRocmVhZC5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0 c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5weQkyMDE3LTAyLTI4IDE2OjI2OjM5LjU2 NTA4NTY0MyArMDEwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2Ri LnB5dGhvbi9weS1naWwtbXRocmVhZC5weQkyMDE3LTA0LTIwIDIzOjE2OjM1LjY5MjM2MDE0OSAr MDIwMAogQEAgLTAsMCArMSwyOCBAQAogK3RyeToKICsgICBpbXBvcnQgdGhyZWFkCgpkaWZmIC0t Z2l0IGEvZ2RiLXJlbGVhc2Utd2Vycm9yLnBhdGNoIGIvZ2RiLXJlbGVhc2Utd2Vycm9yLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkYmUwYTkKLS0tIC9kZXYvbnVs bAorKysgYi9nZGItcmVsZWFzZS13ZXJyb3IucGF0Y2gKQEAgLTAsMCArMSw3NCBAQAoraHR0cDov L3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTctMDQvbXNnMDA1OTMuaHRtbAorU3Vi amVjdDogW3BhdGNoKzguMF0gcmVsZWFzZSBicmFuY2g6IEZpeDogLS1lbmFibGUtd2Vycm9yCisK KworLS04dDlSSG5FM1p3S01TZ1UrCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 aXNvLTIwMjItanAKK0NvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZQorCitIaSwKKworZ2RiLTgu MC1icmFuY2gKKy4vY29uZmlndXJlIC0tZW5hYmxlLXdlcnJvciAtLWVuYWJsZS10YXJnZXRzPWFs bAorYWFyY2g2NC10ZGVwLmM6MzA0NToxMzogZXJyb3I6IBskQiFGGyhCdm9pZCBzZWxmdGVzdHM6 OmFhcmNoNjRfcHJvY2Vzc19yZWNvcmRfdGVzdCgpGyRCIUcbKEIgZGVjbGFyZWQgGyRCIUYbKEJz dGF0aWMbJEIhRxsoQiBidXQgbmV2ZXIgZGVmaW5lZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25d Cithcm0tdGRlcC5jOjk2MDE6MTM6IGVycm9yOiAbJEIhRhsoQnZvaWQgc2VsZnRlc3RzOjphcm1f cmVjb3JkX3Rlc3QoKRskQiFHGyhCIGRlY2xhcmVkIBskQiFGGyhCc3RhdGljGyRCIUcbKEIgYnV0 IG5ldmVyIGRlZmluZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQorCitPSyBmb3IgY2hlY2st aW4/CisKK1BsZWFzZSBkbyBub3QgdGVsbCBtZSByZWxlYXNlIGJyYW5jaGVzIGRvIG5vdCBzdXBw b3J0IC0tZW5hYmxlLXdlcnJvciBhcyB0aGlzCitpcyBkdWUgdG8gYSBzb3VyY2ViYXNlIGJ1Zywg bm90IGR1ZSB0byBzb21lIHVuZXhwZWN0ZWQgY29tcGlsZXIKK2luY29tcGF0aWJpbGl0eS4KKwor U2VyZ2lvOiBTaG91bGRuJ3QgaXQgYmUgYWxzbyBidWlsZGJvdC10ZXN0ZWQ/CisKKworSmFuCisK Ky0tOHQ5UkhuRTNad0tNU2dVKworQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXVz LWFzY2lpCitDb250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVuYW1lPTEKKworZ2RiL0No YW5nZUxvZworMjAxNy0wNC0yMSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRo YXQuY29tPgorCisJKiBhYXJjaDY0LXRkZXAuYyAoc2VsZnRlc3RzOjphYXJjaDY0X3Byb2Nlc3Nf cmVjb3JkX3Rlc3QpOiBNYWtlIGl0ICNpZgorCUdEQl9TRUxGX1RFU1QuCisJKiBhcm0tdGRlcC5j IChzZWxmdGVzdHM6OmFybV9yZWNvcmRfdGVzdCk6IExpa2V3aXNlLgorCitkaWZmIC0tZ2l0IGEv Z2RiL2FhcmNoNjQtdGRlcC5jIGIvZ2RiL2FhcmNoNjQtdGRlcC5jCitpbmRleCAyOGMyNTczLi42 MTEzNjIxIDEwMDY0NAorLS0tIGEvZ2RiL2FhcmNoNjQtdGRlcC5jCisrKysgYi9nZGIvYWFyY2g2 NC10ZGVwLmMKK0BAIC0zMDQwLDEwICszMDQwLDEyIEBAIGFhcmNoNjRfZHVtcF90ZGVwIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHVpX2ZpbGUgKmZpbGUpCisgCQkgICAgICBwYWRk cmVzcyAoZ2RiYXJjaCwgdGRlcC0+bG93ZXN0X3BjKSk7CisgfQorIAorKyNpZiBHREJfU0VMRl9U RVNUCisgbmFtZXNwYWNlIHNlbGZ0ZXN0cworIHsKKyBzdGF0aWMgdm9pZCBhYXJjaDY0X3Byb2Nl c3NfcmVjb3JkX3Rlc3QgKHZvaWQpOworIH0KKysjZW5kaWYKKyAKKyAvKiBTdXBwcmVzcyB3YXJu aW5nIGZyb20gLVdtaXNzaW5nLXByb3RvdHlwZXMuICAqLworIGV4dGVybiBpbml0aWFsaXplX2Zp bGVfZnR5cGUgX2luaXRpYWxpemVfYWFyY2g2NF90ZGVwOworZGlmZiAtLWdpdCBhL2dkYi9hcm0t dGRlcC5jIGIvZ2RiL2FybS10ZGVwLmMKK2luZGV4IGM4ZmFiZmIuLjlhYzY2N2YgMTAwNjQ0Cist LS0gYS9nZGIvYXJtLXRkZXAuYworKysrIGIvZ2RiL2FybS10ZGVwLmMKK0BAIC05NTk2LDEwICs5 NTk2LDEyIEBAIGFybV9kdW1wX3RkZXAgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3Qg dWlfZmlsZSAqZmlsZSkKKyAJCSAgICAgICh1bnNpZ25lZCBsb25nKSB0ZGVwLT5sb3dlc3RfcGMp OworIH0KKyAKKysjaWYgR0RCX1NFTEZfVEVTVAorIG5hbWVzcGFjZSBzZWxmdGVzdHMKKyB7Cisg c3RhdGljIHZvaWQgYXJtX3JlY29yZF90ZXN0ICh2b2lkKTsKKyB9CisrI2VuZGlmCisgCisgZXh0 ZXJuIGluaXRpYWxpemVfZmlsZV9mdHlwZSBfaW5pdGlhbGl6ZV9hcm1fdGRlcDsgLyogLVdtaXNz aW5nLXByb3RvdHlwZXMgKi8KKyAKKworLS04dDlSSG5FM1p3S01TZ1UrLS0KKwoKZGlmZiAtLWdp dCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2ggYi9nZGItcmhiejc5NTQyNC1i aXRwb3MtMjBvZjI1LnBhdGNoCmluZGV4IDhkMTUyMjcuLjUxOGY4N2IgMTAwNjQ0Ci0tLSBhL2dk Yi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gKKysrIGIvZ2RiLXJoYno3OTU0MjQtYml0 cG9zLTIwb2YyNS5wYXRjaApAQCAtNDYzLDEwICs0NjMsMTAgQEAgQ29udGVudC1UeXBlOiB0ZXh0 L3gtcGF0Y2gKIENvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKIENvbnRlbnQtRGlzcG9z aXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPWJpdHBvcy1tYWluLnBhdGNoCiAKLUluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9hZGEtbGFuZy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAy MjYub3JpZy9nZGIvYWRhLWxhbmcuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEw MAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCTIwMTctMDItMjYgMjI6 MDQ6MDMuNDE1NjA5Nzc0ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIv YWRhLWxhbmcuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE0MjM5NDY3MSArMDIwMAorKysrIGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9hZGEtbGFuZy5jCTIwMTctMDQtMjAgMjM6MDg6NTYuOTY3NDEw NTkwICswMjAwCiBAQCAtNzYsNyArNzYsNyBAQAogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKmRl c2NfYm91bmRzIChzdHJ1Y3QgdmFsdWUgKik7CkBAIC01MzksNyArNTM5LDcgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgCQkJCQkgICAgIHN0cnVjdCB0eXBl ICopOwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKmFzc2lnbl9hZ2dyZWdhdGUgKHN0cnVjdCB2 YWx1ZSAqLCBzdHJ1Y3QgdmFsdWUgKiwgCi1AQCAtNzAxLDcgKzcwMiw3IEBACitAQCAtNjk5LDcg KzcwMCw3IEBACiAgfQogIAogIHN0YXRpYyBjb25zdCBnZGJfYnl0ZSAqCkBAIC01NDgsNyArNTQ4 LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgewogICAg aWYgKHZhbGFkZHIgPT0gTlVMTCkKICAgICAgcmV0dXJuIE5VTEw7Ci1AQCAtNzEwLDcgKzcxMSw3 IEBACitAQCAtNzA4LDcgKzcwOSw3IEBACiAgfQogIAogIHN0YXRpYyBDT1JFX0FERFIKQEAgLTU1 Nyw3ICs1NTcsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmMK ICB7CiAgICBpZiAoYWRkcmVzcyA9PSAwKQogICAgICByZXR1cm4gMDsKLUBAIC0xNzU3LDcgKzE3 NTgsNyBAQAorQEAgLTE3NTUsNyArMTc1Niw3IEBACiAgLyogSWYgVFlQRSBpcyB0aGUgdHlwZSBv ZiBhbiBhcnJheS1kZXNjcmlwdG9yIChmYXQgcG9pbnRlciksICB0aGUgYml0CiAgICAgcG9zaXRp b24gb2YgdGhlIGZpZWxkIGNvbnRhaW5pbmcgdGhlIGFkZHJlc3Mgb2YgdGhlIGJvdW5kcyBkYXRh LiAgKi8KICAKQEAgLTU2Niw3ICs1NjYsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYv Z2RiL2FkYS1sYW5nLmMKICBmYXRfcG50cl9ib3VuZHNfYml0cG9zIChzdHJ1Y3QgdHlwZSAqdHlw ZSkKICB7CiAgICByZXR1cm4gVFlQRV9GSUVMRF9CSVRQT1MgKGRlc2NfYmFzZV90eXBlICh0eXBl KSwgMSk7Ci1AQCAtMTgyMyw3ICsxODI0LDcgQEAKK0BAIC0xODIxLDcgKzE4MjIsNyBAQAogIC8q IElmIFRZUEUgaXMgdGhlIHR5cGUgb2YgYW4gYXJyYXktZGVzY3JpcHRvciAoZmF0IHBvaW50ZXIp LCB0aGUgYml0CiAgICAgcG9zaXRpb24gb2YgdGhlIGZpZWxkIGNvbnRhaW5pbmcgdGhlIGFkZHJl c3Mgb2YgdGhlIGRhdGEuICAqLwogIApAQCAtNTc1LDcgKzU3NSw3IEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogIGZhdF9wbnRyX2RhdGFfYml0cG9zIChzdHJ1 Y3QgdHlwZSAqdHlwZSkKICB7CiAgICByZXR1cm4gVFlQRV9GSUVMRF9CSVRQT1MgKGRlc2NfYmFz ZV90eXBlICh0eXBlKSwgMCk7Ci1AQCAtMTg1OCw3ICsxODU5LDcgQEAKK0BAIC0xODU2LDcgKzE4 NTcsNyBAQAogICAgIG9mIHRoZSBJdGggbG93ZXIgYm91bmQgc3RvcmVkIGluIGl0LCBpZiBXSElD SCBpcyAwLCBhbmQgdGhlIEl0aCB1cHBlcgogICAgIGJvdW5kLCBpZiBXSElDSCBpcyAxLiAgVGhl IGZpcnN0IGJvdW5kIGlzIEk9MS4gICovCiAgCkBAIC01ODQsNyArNTg0LDcgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgZGVzY19ib3VuZF9iaXRwb3MgKHN0 cnVjdCB0eXBlICp0eXBlLCBpbnQgaSwgaW50IHdoaWNoKQogIHsKICAgIHJldHVybiBUWVBFX0ZJ RUxEX0JJVFBPUyAoZGVzY19iYXNlX3R5cGUgKHR5cGUpLCAyICogaSArIHdoaWNoIC0gMik7Ci1A QCAtMjA0OCw3ICsyMDQ5LDcgQEAKK0BAIC0yMDQ2LDcgKzIwNDcsNyBAQAogIAkgICAgICAgICB6 ZXJvLCBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZWNvbXB1dGVkLiAgKi8KICAJICAgICAgaWYg KGxvIDwgaGkpCiAgCQl7CkBAIC01OTMsNyArNTkzLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgCQkgICAgICAgIChoaSAtIGxvICsgMSkgKiBUWVBFX0ZJ RUxEX0JJVFNJWkUgKGVsdF90eXBlLCAwKTsKICAKICAJCSAgVFlQRV9MRU5HVEggKGFycmF5X3R5 cGUpID0gKGFycmF5X2JpdHNpemUgKyA3KSAvIDg7Ci1AQCAtMjIwOCw3ICsyMjA5LDcgQEAKK0BA IC0yMjA2LDcgKzIyMDcsNyBAQAogICAgIHRoZSBsZW5ndGggaXMgYXJiaXRyYXJ5LiAgKi8KICAK ICBzdGF0aWMgc3RydWN0IHR5cGUgKgpAQCAtNjAyLDcgKzYwMiw3IEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogIHsKICAgIHN0cnVjdCB0eXBlICpuZXdfZWx0 X3R5cGU7CiAgICBzdHJ1Y3QgdHlwZSAqbmV3X3R5cGU7Ci1AQCAtMjI2Miw3ICsyMjYzLDcgQEAK K0BAIC0yMjYwLDcgKzIyNjEsNyBAQAogICAgY2hhciAqbmFtZTsKICAgIGNvbnN0IGNoYXIgKnRh aWw7CiAgICBzdHJ1Y3QgdHlwZSAqc2hhZG93X3R5cGU7CkBAIC02MTEsNyArNjExLDcgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgCiAgICBpZiAoIXJhd19u YW1lKQogICAgICByYXdfbmFtZSA9IGFkYV90eXBlX25hbWUgKGRlc2NfYmFzZV90eXBlICh0eXBl KSk7Ci1AQCAtMjMzMyw3ICsyMzM0LDggQEAKK0BAIC0yMzMxLDcgKzIzMzIsOCBAQAogICAJIGFy cmF5IHdpdGggbm8gd3JhcHBlci4gIEluIG9yZGVyIHRvIGludGVycHJldCB0aGUgdmFsdWUgdGhy b3VnaAogICAJIHRoZSAobGVmdC1qdXN0aWZpZWQpIHBhY2tlZCBhcnJheSB0eXBlIHdlIGp1c3Qg YnVpbHQsIHdlIG11c3QKICAgCSBmaXJzdCBsZWZ0LWp1c3RpZnkgaXQuICAqLwpAQCAtNjIxLDcg KzYyMSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogICAg ICAgIFVMT05HRVNUIG1vZDsKICAKICAgICAgICBtb2QgPSBhZGFfbW9kdWx1cyAodmFsdWVfdHlw ZSAoYXJyKSkgLSAxOwotQEAgLTI1NjEsNyArMjU2Myw3IEBACitAQCAtMjU1OSw3ICsyNTYxLDcg QEAKICAKICBzdHJ1Y3QgdmFsdWUgKgogIGFkYV92YWx1ZV9wcmltaXRpdmVfcGFja2VkX3ZhbCAo c3RydWN0IHZhbHVlICpvYmosIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLApAQCAtNjMwLDcgKzYz MCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUpCiAgewogICAgc3Ry dWN0IHZhbHVlICp2OwotQEAgLTI2MzIsNyArMjYzNCw3IEBACitAQCAtMjYzMCw3ICsyNjMyLDcg QEAKICAKICAgIGlmIChvYmogIT0gTlVMTCkKICAgICAgewpAQCAtNjM5LDcgKzYzOSw3IEBAIElu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogIAogICAgICAgIHNldF92 YWx1ZV9jb21wb25lbnRfbG9jYXRpb24gKHYsIG9iaik7CiAgICAgICAgc2V0X3ZhbHVlX2JpdHBv cyAodiwgYml0X29mZnNldCArIHZhbHVlX2JpdHBvcyAob2JqKSk7Ci1AQCAtMjY3OCw3ICsyNjgw LDcgQEAKK0BAIC0yNjc2LDcgKzI2NzgsNyBAQAogICAgIG5vdCBvdmVybGFwLiAgKi8KICBzdGF0 aWMgdm9pZAogIG1vdmVfYml0cyAoZ2RiX2J5dGUgKnRhcmdldCwgaW50IHRhcmdfb2Zmc2V0LCBj b25zdCBnZGJfYnl0ZSAqc291cmNlLApAQCAtNjQ4LDcgKzY0OCw3IEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogIHsKICAgIHVuc2lnbmVkIGludCBhY2N1bSwg bWFzazsKICAgIGludCBhY2N1bV9iaXRzLCBjaHVua19zaXplOwotQEAgLTI3NjgsNyArMjc3MCw3 IEBACitAQCAtMjc2Niw3ICsyNzY4LDcgQEAKICAgICAgewogICAgICAgIGludCBsZW4gPSAodmFs dWVfYml0cG9zICh0b3ZhbCkKICAJCSArIGJpdHMgKyBIT1NUX0NIQVJfQklUIC0gMSkgLyBIT1NU X0NIQVJfQklUOwpAQCAtNjU3LDcgKzY1Nyw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvYWRhLWxhbmcuYwogICAgICAgIGdkYl9ieXRlICpidWZmZXIgPSAoZ2RiX2J5dGUgKikg YWxsb2NhIChsZW4pOwogICAgICAgIHN0cnVjdCB2YWx1ZSAqdmFsOwogICAgICAgIENPUkVfQURE UiB0b19hZGRyID0gdmFsdWVfYWRkcmVzcyAodG92YWwpOwotQEAgLTI4MTksNyArMjgyMSw3IEBA CitAQCAtMjgxNyw3ICsyODE5LDcgQEAKICAgICAgKExPTkdFU1QpICAodmFsdWVfYWRkcmVzcyAo Y29tcG9uZW50KSAtIHZhbHVlX2FkZHJlc3MgKGNvbnRhaW5lcikpOwogICAgaW50IGJpdF9vZmZz ZXRfaW5fY29udGFpbmVyID0KICAgICAgdmFsdWVfYml0cG9zIChjb21wb25lbnQpIC0gdmFsdWVf Yml0cG9zIChjb250YWluZXIpOwpAQCAtNjY2LDcgKzY2Niw3IEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogIAogICAgdmFsID0gdmFsdWVfY2FzdCAodmFsdWVf dHlwZSAoY29tcG9uZW50KSwgdmFsKTsKICAKLUBAIC00NDcwLDcgKzQ0NzIsNyBAQAorQEAgLTQ0 NjgsNyArNDQ3MCw3IEBACiAgICBpZiAoVkFMVUVfTFZBTCAodmFsKSA9PSBub3RfbHZhbAogICAg ICAgIHx8IFZBTFVFX0xWQUwgKHZhbCkgPT0gbHZhbF9pbnRlcm5hbHZhcikKICAgICAgewpAQCAt Njc1LDcgKzY3NSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcu YwogICAgICAgIGNvbnN0IENPUkVfQUREUiBhZGRyID0KICAgICAgICAgIHZhbHVlX2FzX2xvbmcg KHZhbHVlX2FsbG9jYXRlX3NwYWNlX2luX2luZmVyaW9yIChsZW4pKTsKICAKLUBAIC00NTU0LDcg KzQ1NTYsNyBAQAorQEAgLTQ1NTIsNyArNDU1NCw3IEBACiAgdmFsdWVfcG9pbnRlciAoc3RydWN0 IHZhbHVlICp2YWx1ZSwgc3RydWN0IHR5cGUgKnR5cGUpCiAgewogICAgc3RydWN0IGdkYmFyY2gg KmdkYmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsKQEAgLTY4NCw3ICs2ODQsNyBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmMKICAgIGdkYl9ieXRlICpidWYg PSAoZ2RiX2J5dGUgKikgYWxsb2NhIChsZW4pOwogICAgQ09SRV9BRERSIGFkZHI7CiAgCi1AQCAt Njc1NCw3ICs2NzU2LDcgQEAKK0BAIC02NzUyLDcgKzY3NTQsNyBAQAogIAkJCQkgICAgIGNvbnN0 IGdkYl9ieXRlICp2YWxhZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBDT1JFX0FERFIgYWRkcmVzcykKICB7CkBAIC02OTMsNyArNjkzLDcgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgICBzdHJ1Y3QgdHlwZSAqdGFnX3R5cGU7 CiAgCiAgICBpZiAoZmluZF9zdHJ1Y3RfZmllbGQgKCJfdGFnIiwgdHlwZSwgMCwgJnRhZ190eXBl LCAmdGFnX2J5dGVfb2Zmc2V0LAotQEAgLTcyMzUsNyArNzIzNyw3IEBACitAQCAtNzIzMyw3ICs3 MjM1LDcgQEAKICAgICBvbmx5IGluIHRoYXQgaXQgY2FuIGhhbmRsZSBwYWNrZWQgdmFsdWVzIG9m IGFyYml0cmFyeSB0eXBlLiAgKi8KICAKICBzdGF0aWMgc3RydWN0IHZhbHVlICoKQEAgLTcwMiw3 ICs3MDIsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmMKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUpCiAgewogICAg c3RydWN0IHR5cGUgKnR5cGU7Ci1AQCAtNzI0Nyw3ICs3MjQ5LDcgQEAKK0BAIC03MjQ1LDcgKzcy NDcsNyBAQAogIAogICAgaWYgKFRZUEVfRklFTERfQklUU0laRSAoYXJnX3R5cGUsIGZpZWxkbm8p ICE9IDApCiAgICAgIHsKQEAgLTcxMSw3ICs3MTEsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL2FkYS1sYW5nLmMKICAgICAgICBpbnQgYml0X3NpemUgPSBUWVBFX0ZJRUxEX0JJ VFNJWkUgKGFyZ190eXBlLCBmaWVsZG5vKTsKICAKICAgICAgICByZXR1cm4gYWRhX3ZhbHVlX3By aW1pdGl2ZV9wYWNrZWRfdmFsIChhcmcxLCB2YWx1ZV9jb250ZW50cyAoYXJnMSksCi1AQCAtNzI3 NCw5ICs3Mjc2LDkgQEAKK0BAIC03MjcyLDkgKzcyNzQsOSBAQAogICAgIFJldHVybnMgMSBpZiBm b3VuZCwgMCBvdGhlcndpc2UuICAqLwogIAogIHN0YXRpYyBpbnQKQEAgLTcyMyw3ICs3MjMsNyBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmMKICAJCSAgIGludCAq aW5kZXhfcCkKICB7CiAgICBpbnQgaTsKLUBAIC03Mjk0LDggKzcyOTYsOCBAQAorQEAgLTcyOTIs OCArNzI5NCw4IEBACiAgCiAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERTICh0eXBlKTsg aSArPSAxKQogICAgICB7CkBAIC03MzQsNyArNzM0LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgICAgICAgY29uc3QgY2hhciAqdF9maWVsZF9uYW1lID0g VFlQRV9GSUVMRF9OQU1FICh0eXBlLCBpKTsKICAKICAgICAgICBpZiAodF9maWVsZF9uYW1lID09 IE5VTEwpCi1AQCAtNzM2NSw3ICs3MzY3LDcgQEAKK0BAIC03MzYzLDcgKzczNjUsNyBAQAogICAg IFNlYXJjaGVzIHJlY3Vyc2l2ZWx5IHRocm91Z2ggd3JhcHBlciBmaWVsZHMgKGUuZy4sICdfcGFy ZW50JykuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzQzLDcgKzc0Myw3IEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CiAgICBpbnQgaTsKLUBAIC03Mzk4 LDcgKzc0MDAsNyBAQAorQEAgLTczOTYsNyArNzM5OCw3IEBACiAgICAgICAgICAgIGludCBqOwog ICAgICAgICAgICBzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZSA9IGFkYV9jaGVja190eXBlZGVmIChU WVBFX0ZJRUxEX1RZUEUgKHR5cGUsCiAgCQkJCQkJCQkJaSkpOwpAQCAtNzUyLDcgKzc1Miw3IEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogIAogICAgICAgICAg ICBmb3IgKGogPSAwOyBqIDwgVFlQRV9ORklFTERTIChmaWVsZF90eXBlKTsgaiArPSAxKQogICAg ICAgICAgICAgIHsKLUBAIC03NDE2LDggKzc0MTgsOCBAQAorQEAgLTc0MTQsOCArNzQxNiw4IEBA CiAgICByZXR1cm4gTlVMTDsKICB9CiAgCkBAIC03NjMsNyArNzYzLDcgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgCiAgCiAgLyogUmV0dXJuIGZpZWxkICNJ TkRFWCBpbiBBUkcsIHdoZXJlIHRoZSBpbmRleCBpcyB0aGF0IHJldHVybmVkIGJ5Ci1AQCAtNzQy Niw3ICs3NDI4LDcgQEAKK0BAIC03NDI0LDcgKzc0MjYsNyBAQAogICAqIElmIGZvdW5kLCByZXR1 cm4gdmFsdWUsIGVsc2UgcmV0dXJuIE5VTEwuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUg KgpAQCAtNzcyLDcgKzc3Miw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRh LWxhbmcuYwogIAkJCXN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIHJldHVybiBhZGFfaW5kZXhf c3RydWN0X2ZpZWxkXzEgKCZpbmRleCwgYXJnLCBvZmZzZXQsIHR5cGUpOwotQEAgLTc0MzgsNyAr NzQ0MCw3IEBACitAQCAtNzQzNiw3ICs3NDM4LDcgQEAKICAgKiAqSU5ERVhfUC4gICovCiAgCiAg c3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC03ODEsNyArNzgxLDcgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgCQkJICBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7 CiAgICBpbnQgaTsKLUBAIC03NTI4LDcgKzc1MzAsOCBAQAorQEAgLTc1MjYsNyArNzUyOCw4IEBA CiAgICAgIHYgPSBhZGFfc2VhcmNoX3N0cnVjdF9maWVsZCAobmFtZSwgYXJnLCAwLCB0KTsKICAg IGVsc2UKICAgICAgewpAQCAtNzkxLDcgKzc5MSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvYWRhLWxhbmcuYwogICAgICAgIHN0cnVjdCB0eXBlICpmaWVsZF90eXBlOwogICAg ICAgIENPUkVfQUREUiBhZGRyZXNzOwogIAotQEAgLTc4MzQsOCArNzgzNyw4IEBACitAQCAtNzgz Miw4ICs3ODM1LDggQEAKICAvKiBSZXR1cm4gT0ZGIHJvdW5kZWQgdXB3YXJkIGlmIG5lY2Vzc2Fy eSB0byBhIG11bHRpcGxlIG9mCiAgICAgQUxJR05NRU5UIChhIHBvd2VyIG9mIDIpLiAgKi8KICAK QEAgLTgwMiw3ICs4MDIsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS1s YW5nLmMKICB7CiAgICByZXR1cm4gKG9mZiArIGFsaWdubWVudCAtIDEpICYgfihhbGlnbm1lbnQg LSAxKTsKICB9Ci1AQCAtODIyOSwxMCArODIzMiw5IEBACitAQCAtODIyNywxMCArODIzMCw5IEBA CiAgICBzdHJ1Y3QgdmFsdWUgKm1hcmsgPSB2YWx1ZV9tYXJrICgpOwogICAgc3RydWN0IHZhbHVl ICpkdmFsOwogICAgc3RydWN0IHR5cGUgKnJ0eXBlOwpAQCAtODE1LDcgKzgxNSw3IEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogICAgaW50IGY7CiAgCiAgICAv KiBDb21wdXRlIHRoZSBudW1iZXIgb2YgZmllbGRzIGluIHRoaXMgcmVjb3JkIHR5cGUgdGhhdCBh cmUgZ29pbmcKLUBAIC04MzEwLDcgKzgzMTIsNyBAQAorQEAgLTgzMDgsNyArODMxMCw3IEBACiAg CSAgICAgdGhhdCBmb2xsb3cgdGhpcyBvbmUuICAqLwogIAkgIGlmIChhZGFfaXNfYWxpZ25lcl90 eXBlIChmaWVsZF90eXBlKSkKICAJICAgIHsKQEAgLTgyNCw3ICs4MjQsNyBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmMKICAKICAJICAgICAgZmllbGRfdmFsYWRk ciA9IGNvbmRfb2Zmc2V0X2hvc3QgKGZpZWxkX3ZhbGFkZHIsIGZpZWxkX29mZnNldCk7CiAgCSAg ICAgIGZpZWxkX2FkZHJlc3MgPSBjb25kX29mZnNldF90YXJnZXQgKGZpZWxkX2FkZHJlc3MsIGZp ZWxkX29mZnNldCk7Ci1AQCAtODQ0NiwxMSArODQ0OCwxMSBAQAorQEAgLTg0NDQsMTEgKzg0NDYs MTEgQEAKICAgIGlmIChUWVBFX0xFTkdUSCAodHlwZSkgPD0gMCkKICAgICAgewogICAgICAgIGlm IChUWVBFX05BTUUgKHJ0eXBlKSkKQEAgLTg0MCw3ICs4NDAsNyBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmMKICAgICAgfQogICAgZWxzZQogICAgICB7Ci1AQCAt ODkxNyw3ICs4OTE5LDggQEAKK0BAIC04OTE1LDcgKzg5MTcsOCBAQAogIAkgdHlwZSB3YXMgYSBy ZWd1bGFyIChub24tcGFja2VkKSBhcnJheSB0eXBlLiAgQXMgYSByZXN1bHQsIHRoZQogIAkgYml0 c2l6ZSBvZiB0aGUgYXJyYXkgZWxlbWVudHMgbmVlZHMgdG8gYmUgc2V0IGFnYWluLCBhbmQgdGhl IGFycmF5CiAgCSBsZW5ndGggbmVlZHMgdG8gYmUgcmVjb21wdXRlZCBiYXNlZCBvbiB0aGF0IGJp dHNpemUuICAqLwpAQCAtODUwLDEwICs4NTAsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi9hZGEtbGFuZy5jCiAgICAgICAgaW50IGVsdF9iaXRzaXplID0gVFlQRV9GSUVMRF9C SVRTSVpFICh0eXBlMCwgMCk7CiAgCiAgICAgICAgVFlQRV9GSUVMRF9CSVRTSVpFIChyZXN1bHQs IDApID0gVFlQRV9GSUVMRF9CSVRTSVpFICh0eXBlMCwgMCk7Ci1JbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmgKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv YWRhLWxhbmcuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2Ri L2FkYS1sYW5nLmgJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuaAkyMDE3LTAyLTI2IDIyOjA0OjAzLjQxNjYw OTc4MiArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2FkYS1sYW5nLmgJ MjAxNy0wNC0yMCAyMzowODo1NC4xNDMzOTQ2NzYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvYWRhLWxhbmcuaAkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk2NzQxMDU5MCArMDIwMAog QEAgLTE2OCw3ICsxNjgsNyBAQAogIGV4dGVybiB2b2lkIGFkYV9wcmludF90eXBlZGVmIChzdHJ1 Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHN5bWJvbCAqbmV3X3N5bWJvbCwKICAJCQkgICAgICAgc3Ry dWN0IHVpX2ZpbGUgKnN0cmVhbSk7CkBAIC04ODEsMTAgKzg4MSwxMCBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmgKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICopOwogIAogIGV4dGVybiBz dHJ1Y3QgdHlwZSAqYWRhX2NvZXJjZV90b19zaW1wbGVfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUg Kik7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS10eXBlcHJpbnQuYworSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hZGEtdHlwZXByaW50LmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9hZGEtdHlwZXByaW50LmMJMjAxNy0w Mi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvYWRhLXR5cGVwcmludC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDE2NjA5NzgyICswMTAwCist LS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvYWRhLXR5cGVwcmludC5jCTIwMTctMDQt MjAgMjM6MDg6NTQuMTQzMzk0Njc2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L2FkYS10eXBlcHJpbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk2NzQxMDU5MCArMDIwMAogQEAg LTg5MSw4ICs4OTEsOCBAQAogIAkgICAgY29uc3QgY2hhciAqbmFtZSA9IGFkYV90eXBlX25hbWUg KHR5cGUpOwogIApAQCAtOTA2LDEwICs5MDYsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi9hZGEtdHlwZXByaW50LmMKICAJYnJlYWs7CiAgICAgICAgY2FzZSBUWVBFX0NPREVf RU5VTToKICAJaWYgKHNob3cgPCAwKQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9h ZGEtdmFscHJpbnQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hZGEtdmFscHJp bnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2FkYS12 YWxwcmludC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS12YWxwcmludC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDE3 NjA5Nzg5ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvYWRhLXZhbHBy aW50LmMJMjAxNy0wNC0yMCAyMzowODo1NC4xNDQzOTQ2ODIgKzAyMDAKKysrKyBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvYWRhLXZhbHByaW50LmMJMjAxNy0wNC0yMCAyMzowODo1Ni45Njg0MTA1 OTUgKzAyMDAKIEBAIC0zMywxMSArMzMsMTEgQEAKICAjaW5jbHVkZSAib2JqZmlsZXMuaCIKICAK QEAgLTEwMzYsNyArMTAzNiw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRh LXZhbHByaW50LmMKICAKICAgICAgICAvKiBMb29rIGZvciBhIE5VTEwgY2hhci4gICovCiAgICAg ICAgZm9yICh0ZW1wX2xlbiA9IDA7Ci1AQCAtMTA2OSw3ICsxMDcwLDcgQEAKK0BAIC0xMDcyLDcg KzEwNzMsNyBAQAogIAogIHN0YXRpYyB2b2lkCiAgYWRhX3ZhbF9wcmludF8xIChzdHJ1Y3QgdHlw ZSAqdHlwZSwKQEAgLTEwNDUsNyArMTA0NSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvYWRhLXZhbHByaW50LmMKICAJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVj dXJzZSwKICAJCSBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAogIAkJIGNvbnN0IHN0cnVj dCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAotQEAgLTExNTMsNyArMTE1NCw3IEBACitA QCAtMTE1Niw3ICsxMTU3LDcgQEAKICAKICB2b2lkCiAgYWRhX3ZhbF9wcmludCAoc3RydWN0IHR5 cGUgKnR5cGUsCkBAIC0xMDU0LDEwICsxMDU0LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvYWRhLXZhbHByaW50LmMKICAJICAgICAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0s IGludCByZWN1cnNlLAogIAkgICAgICAgc3RydWN0IHZhbHVlICp2YWwsCiAgCSAgICAgICBjb25z dCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvYW5ub3RhdGUuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9hbm5vdGF0ZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9n ZGIvYW5ub3RhdGUuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hbm5vdGF0ZS5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDE3 NjA5Nzg5ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvYW5ub3RhdGUu YwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE0NDM5NDY4MiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9hbm5vdGF0ZS5jCTIwMTctMDQtMjAgMjM6MDg6NTYuOTY4NDEwNTk1ICswMjAw CiBAQCAtNTMzLDIxICs1MzMsMjEgQEAKICB9CiAgDApAQCAtMTA4NCwxMCArMTA4NCwxMCBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2Fubm90YXRlLmMKICB9CiAgCiAgdm9pZAot SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hbm5vdGF0ZS5oCitJbmRleDogZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL2Fubm90YXRlLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41 MC4yMDE3MDIyNi5vcmlnL2dkYi9hbm5vdGF0ZS5oCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5 MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2Fubm90YXRlLmgJMjAxNy0w Mi0yNiAyMjowNDowMy40MTc2MDk3ODkgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5v cmlnL2dkYi9hbm5vdGF0ZS5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTQ1Mzk0Njg4ICswMjAwCisr KysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2Fubm90YXRlLmgJMjAxNy0wNC0yMCAyMzowODo1 Ni45Njg0MTA1OTUgKzAyMDAKIEBAIC05Miw4ICs5Miw4IEBACiAgZXh0ZXJuIHZvaWQgYW5ub3Rh dGVfZnJhbWVfd2hlcmUgKHZvaWQpOwogIGV4dGVybiB2b2lkIGFubm90YXRlX2ZyYW1lX2VuZCAo dm9pZCk7CkBAIC0xMDk5LDEwICsxMDk5LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvYW5ub3RhdGUuaAogIGV4dGVybiB2b2lkIGFubm90YXRlX2VsdF9yZXBfZW5kICh2b2lk KTsKICBleHRlcm4gdm9pZCBhbm5vdGF0ZV9lbHQgKHZvaWQpOwogIGV4dGVybiB2b2lkIGFubm90 YXRlX2FycmF5X3NlY3Rpb25fZW5kICh2b2lkKTsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvYXJtLWxpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2Fy bS1saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcv Z2RiL2FybS1saW51eC1uYXQuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hcm0tbGludXgtbmF0LmMJMjAxNy0wMi0yNiAy MjowNDowMy40MTc2MDk3ODkgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi9hcm0tbGludXgtbmF0LmMJMjAxNy0wNC0yMCAyMzowODo1NC4xNDUzOTQ2ODggKzAyMDAKKysr KyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYXJtLWxpbnV4LW5hdC5jCTIwMTctMDQtMjAgMjM6 MDg6NTYuOTY5NDEwNjAxICswMjAwCiBAQCAtMTA2NSw3ICsxMDY1LDcgQEAKICAgICBBRERSPyAg Ki8KICBzdGF0aWMgaW50CkBAIC0xMTEyLDEwICsxMTEyLDEwIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvYXJtLWxpbnV4LW5hdC5jCiAgewogICAgY29uc3Qgc3RydWN0IGFybV9s aW51eF9od2JwX2NhcCAqY2FwID0gYXJtX2xpbnV4X2dldF9od2JwX2NhcCAoKTsKICAgIENPUkVf QUREUiBtYXhfd3BfbGVuZ3RoLCBhbGlnbmVkX2FkZHI7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL2F4LWdkYi5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2F4LWdk Yi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvYXgtZ2Ri LmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4y MDE3MDIyNi9nZGIvYXgtZ2RiLmMJMjAxNy0wMi0yNiAyMjowNDowMy40MTg2MDk3OTYgKzAxMDAK Ky0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9heC1nZGIuYwkyMDE3LTA0LTIwIDIz OjA4OjU0LjE0NjM5NDY5NCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9heC1n ZGIuYwkyMDE3LTA0LTIwIDIzOjEwOjI0LjE1NDkwMTg3NyArMDIwMAogQEAgLTgzLDEyICs4Mywx MiBAQAogIHN0YXRpYyB2b2lkIGdlbl9zaWduX2V4dGVuZCAoc3RydWN0IGFnZW50X2V4cHIgKiwg c3RydWN0IHR5cGUgKik7CiAgc3RhdGljIHZvaWQgZ2VuX2V4dGVuZCAoc3RydWN0IGFnZW50X2V4 cHIgKiwgc3RydWN0IHR5cGUgKik7CkBAIC0xMTMxLDcgKzExMzEsNyBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL2F4LWdkYi5jCiAgc3RhdGljIHZvaWQgZ2VuX3N5bV9vZmZzZXQg KHN0cnVjdCBhZ2VudF9leHByICosIHN0cnVjdCBzeW1ib2wgKik7CiAgc3RhdGljIHZvaWQgZ2Vu X3Zhcl9yZWYgKHN0cnVjdCBnZGJhcmNoICosIHN0cnVjdCBhZ2VudF9leHByICpheCwKICAJCQkg c3RydWN0IGF4c192YWx1ZSAqdmFsdWUsIHN0cnVjdCBzeW1ib2wgKnZhcik7Ci1AQCAtMTM2LDE1 ICsxMzYsMTYgQEAKK0BAIC0xMzcsMTUgKzEzNywxNSBAQAogIHN0YXRpYyB2b2lkIGdlbl9hZGRy ZXNzX29mIChzdHJ1Y3QgYWdlbnRfZXhwciAqLCBzdHJ1Y3QgYXhzX3ZhbHVlICopOwogIHN0YXRp YyB2b2lkIGdlbl9iaXRmaWVsZF9yZWYgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIHN0cnVjdCBh Z2VudF9leHByICpheCwKICAJCQkgICAgICBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKQEAgLTEx NDEsMTcgKzExNDEsMTYgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9heC1nZGIu YwogIAkJCQkgc3RydWN0IGFnZW50X2V4cHIgKmF4LAogIAkJCQkgc3RydWN0IGF4c192YWx1ZSAq dmFsdWUsCiAtCQkJCSBpbnQgb2Zmc2V0LCBpbnQgZmllbGRubywgc3RydWN0IHR5cGUgKnR5cGUp OwotKwkJCQkgTE9OR0VTVCBvZmZzZXQsIGludCBmaWVsZG5vLAotKwkJCQkgc3RydWN0IHR5cGUg KnR5cGUpOworKwkJCQkgTE9OR0VTVCBvZmZzZXQsIGludCBmaWVsZG5vLCBzdHJ1Y3QgdHlwZSAq dHlwZSk7CiAgc3RhdGljIGludCBnZW5fc3RydWN0X3JlZl9yZWN1cnNpdmUgKHN0cnVjdCBleHBy ZXNzaW9uICpleHAsCiAgCQkJCSAgICAgc3RydWN0IGFnZW50X2V4cHIgKmF4LAogIAkJCQkgICAg IHN0cnVjdCBheHNfdmFsdWUgKnZhbHVlLAotLQkJCQkgICAgIGNoYXIgKmZpZWxkLCBpbnQgb2Zm c2V0LAotKwkJCQkgICAgIGNoYXIgKmZpZWxkLCBMT05HRVNUIG9mZnNldCwKKy0JCQkJICAgICBj b25zdCBjaGFyICpmaWVsZCwgaW50IG9mZnNldCwKKysJCQkJICAgICBjb25zdCBjaGFyICpmaWVs ZCwgTE9OR0VTVCBvZmZzZXQsCiAgCQkJCSAgICAgc3RydWN0IHR5cGUgKnR5cGUpOwogIHN0YXRp YyB2b2lkIGdlbl9zdHJ1Y3RfcmVmIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBzdHJ1Y3QgYWdl bnRfZXhwciAqYXgsCiAgCQkJICAgIHN0cnVjdCBheHNfdmFsdWUgKnZhbHVlLAotQEAgLTUzOCw3 ICs1MzksNyBAQAorQEAgLTU0MSw3ICs1NDEsNyBAQAogICAgIHJpZ2h0IHNoaWZ0IGl0IGJ5IC1E SVNUQU5DRSBiaXRzIGlmIERJU1RBTkNFIDwgMC4gIFRoaXMgZ2VuZXJhdGVzCiAgICAgdW5zaWdu ZWQgKGxvZ2ljYWwpIHJpZ2h0IHNoaWZ0cy4gICovCiAgc3RhdGljIHZvaWQKQEAgLTExNjAsNyAr MTE1OSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYXgtZ2RiLmMKICB7CiAg ICBpZiAoZGlzdGFuY2UgPiAwKQogICAgICB7Ci1AQCAtNTkyLDcgKzU5Myw3IEBACitAQCAtNTk1 LDcgKzU5NSw3IEBACiAgICAgcHJvZ3JhbW1pbmcgaW4gTUwsIGl0IHdvdWxkIGJlIGNsZWFyZXIg d2h5IHRoZXNlIGFyZSB0aGUgc2FtZQogICAgIHRoaW5nLiAgKi8KICBzdGF0aWMgdm9pZApAQCAt MTE2OSw3ICsxMTY4LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9heC1nZGIu YwogIHsKICAgIC8qIEl0IHdvdWxkIHN1ZmZpY2UgdG8gc2ltcGx5IHB1c2ggdGhlIG9mZnNldCBh bmQgYWRkIGl0LCBidXQgdGhpcwogICAgICAgbWFrZXMgaXQgZWFzaWVyIHRvIHJlYWQgcG9zaXRp dmUgYW5kIG5lZ2F0aXZlIG9mZnNldHMgaW4gdGhlCi1AQCAtMTI0Nyw3ICsxMjQ4LDcgQEAKK0BA IC0xMjUxLDcgKzEyNTEsNyBAQAogIHN0YXRpYyB2b2lkCiAgZ2VuX2JpdGZpZWxkX3JlZiAoc3Ry dWN0IGV4cHJlc3Npb24gKmV4cCwgc3RydWN0IGFnZW50X2V4cHIgKmF4LAogIAkJICBzdHJ1Y3Qg YXhzX3ZhbHVlICp2YWx1ZSwgc3RydWN0IHR5cGUgKnR5cGUsCkBAIC0xMTc4LDcgKzExNzcsNyBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2F4LWdkYi5jCiAgewogICAgLyogTm90 ZSB0aGF0IG9wc1tpXSBmZXRjaGVzIDggPDwgaSBiaXRzLiAgKi8KICAgIHN0YXRpYyBlbnVtIGFn ZW50X29wIG9wc1tdCi1AQCAtMTI4MiwxMyArMTI4MywxMyBAQAorQEAgLTEyODYsMTMgKzEyODYs MTMgQEAKICAKICAgIC8qIFRoZSBmaXJzdCBhbmQgb25lLWFmdGVyLWxhc3QgYml0cyBpbiB0aGUg ZmllbGQsIGJ1dCByb3VuZGVkIGRvd24KICAgICAgIGFuZCB1cCB0byBieXRlIGJvdW5kYXJpZXMu ICAqLwpAQCAtMTE5Nyw3ICsxMTk2LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9heC1nZGIuYwogIAogICAgLyogVGhlIGluZGV4IGluIG9wcyBvZiB0aGUgb3Bjb2RlIHdlJ3Jl IGNvbnNpZGVyaW5nLiAgKi8KICAgIGludCBvcDsKLUBAIC0xNDA3LDcgKzE0MDgsNyBAQAorQEAg LTE0MTEsNyArMTQxMSw3IEBACiAgc3RhdGljIHZvaWQKICBnZW5fcHJpbWl0aXZlX2ZpZWxkIChz dHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAogIAkJICAgICBzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsIHN0 cnVjdCBheHNfdmFsdWUgKnZhbHVlLApAQCAtMTIwNiwxOSArMTIwNSwxOSBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2F4LWdkYi5jCiAgewogICAgLyogSXMgdGhpcyBhIGJpdGZp ZWxkPyAgKi8KICAgIGlmIChUWVBFX0ZJRUxEX1BBQ0tFRCAodHlwZSwgZmllbGRubykpCi1AQCAt MTQzMiw3ICsxNDMzLDcgQEAKK0BAIC0xNDM2LDcgKzE0MzYsNyBAQAogIHN0YXRpYyBpbnQKICBn ZW5fc3RydWN0X3JlZl9yZWN1cnNpdmUgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIHN0cnVjdCBh Z2VudF9leHByICpheCwKICAJCQkgIHN0cnVjdCBheHNfdmFsdWUgKnZhbHVlLAotLQkJCSAgY2hh ciAqZmllbGQsIGludCBvZmZzZXQsIHN0cnVjdCB0eXBlICp0eXBlKQotKwkJCSAgY2hhciAqZmll bGQsIExPTkdFU1Qgb2Zmc2V0LCBzdHJ1Y3QgdHlwZSAqdHlwZSkKKy0JCQkgIGNvbnN0IGNoYXIg KmZpZWxkLCBpbnQgb2Zmc2V0LCBzdHJ1Y3QgdHlwZSAqdHlwZSkKKysJCQkgIGNvbnN0IGNoYXIg KmZpZWxkLCBMT05HRVNUIG9mZnNldCwgc3RydWN0IHR5cGUgKnR5cGUpCiAgewogICAgaW50IGks IHJzbHQ7CiAgICBpbnQgbmJhc2VzID0gVFlQRV9OX0JBU0VDTEFTU0VTICh0eXBlKTsKLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYXgtZ2VuZXJhbC5jCitJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2F4LWdlbmVyYWwuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUw LjIwMTcwMjI2Lm9yaWcvZ2RiL2F4LWdlbmVyYWwuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0Mzcx OTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9heC1nZW5lcmFsLmMJMjAx Ny0wMi0yNiAyMjowNDowMy40MTg2MDk3OTYgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQy MC5vcmlnL2dkYi9heC1nZW5lcmFsLmMJMjAxNy0wNC0yMCAyMzowODo1NC4xNDczOTQ2OTkgKzAy MDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYXgtZ2VuZXJhbC5jCTIwMTctMDQtMjAg MjM6MDg6NTYuOTcwNDEwNjA2ICswMjAwCiBAQCAtMTc3LDcgKzE3Nyw3IEBACiAgCiAgLyogQXBw ZW5kIGEgdHJhY2VfcXVpY2sgaW5zdHJ1Y3Rpb24gdG8gRVhQUiwgdG8gcmVjb3JkIE4gYnl0ZXMu ICAqLwpAQCAtMTIyOCwxMCArMTIyNywxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYv Z2RiL2F4LWdlbmVyYWwuYwogIHsKICAgIC8qIE4gbXVzdCBmaXQgaW4gYSBieXRlLiAgKi8KICAg IGlmIChuIDwgMCB8fCBuID4gMjU1KQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9h eC5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2F4LmgKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9heC5oCTIwMTctMDItMjYgMjE6NTk6MzYu MDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2F4LmgJMjAxNy0w Mi0yNiAyMjowNDowMy40MTk2MDk4MDMgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5v cmlnL2dkYi9heC5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTQ3Mzk0Njk5ICswMjAwCisrKysgZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2F4LmgJMjAxNy0wNC0yMCAyMzowODo1Ni45NzA0MTA2MDYg KzAyMDAKIEBAIC0yMDUsNyArMjA1LDcgQEAKICBleHRlcm4gdm9pZCBheF96ZXJvX2V4dCAoc3Ry dWN0IGFnZW50X2V4cHIgKkVYUFIsIGludCBOKTsKICAKQEAgLTEyNDEsMTEgKzEyNDAsMTEgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9heC5oCiAgCiAgLyogQXBwZW5kIGEgZ290 byBvcCB0byBFWFBSLiAgT1AgaXMgdGhlIGFjdHVhbCBvcCAobXVzdCBiZSBhb3BfZ290byBvcgog ICAgIGFvcF9pZl9nb3RvKS4gIFdlIGFzc3VtZSB3ZSBkb24ndCBrbm93IHRoZSB0YXJnZXQgb2Zm c2V0IHlldCwKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYnJlYWtwb2ludC5jCitJ bmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2JyZWFrcG9pbnQuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2JyZWFrcG9pbnQuYwkyMDE3LTAyLTI2 IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9i cmVha3BvaW50LmMJMjAxNy0wMi0yNiAyMjowNDowMy40MjI2MDk4MjQgKzAxMDAKLUBAIC0yMjI2 LDkgKzIyMjYsOSBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2JyZWFrcG9p bnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE1MTM5NDcyMiArMDIwMAorKysrIGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9icmVha3BvaW50LmMJMjAxNy0wNC0yMCAyMzowODo1Ni45NzM0MTA2MjMg KzAyMDAKK0BAIC0yMjI1LDkgKzIyMjUsOSBAQAogIAl7CiAgCSAgZnByaW50Zl91bmZpbHRlcmVk IChnZGJfc3RkbG9nLAogIAkJCSAgICAgICJpbmZydW46IHN0ZXBwaW5nIHBhc3Qgbm9uLXN0ZXBw YWJsZSB3YXRjaHBvaW50LiAiCkBAIC0xMjU3LDcgKzEyNTYsNyBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL2JyZWFrcG9pbnQuYwogIAl9CiAgICAgICAgcmV0dXJuIDA7CiAgICAg IH0KLUBAIC03MTUzLDcgKzcxNTMsNyBAQAorQEAgLTcxNTEsNyArNzE1MSw3IEBACiAgCiAgc3Rh dGljIGludAogIGJyZWFrcG9pbnRfYWRkcmVzc19tYXRjaF9yYW5nZSAoc3RydWN0IGFkZHJlc3Nf c3BhY2UgKmFzcGFjZTEsIENPUkVfQUREUiBhZGRyMSwKQEAgLTEyNjYsNyArMTI2NSw3IEBAIElu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYnJlYWtwb2ludC5jCiAgCQkJCUNPUkVfQURE UiBhZGRyMikKICB7CiAgICByZXR1cm4gKChnZGJhcmNoX2hhc19nbG9iYWxfYnJlYWtwb2ludHMg KHRhcmdldF9nZGJhcmNoICgpKQotQEAgLTExNDc0LDcgKzExNDc0LDcgQEAKK0BAIC0xMTQ0NCw3 ICsxMTQ0NCw3IEBACiAgCQkgICAgICAmJiBUWVBFX0NPREUgKHZ0eXBlKSAhPSBUWVBFX0NPREVf QVJSQVkpKQogIAkJewogIAkJICBDT1JFX0FERFIgdmFkZHIgPSB2YWx1ZV9hZGRyZXNzICh2KTsK QEAgLTEyNzUsMTAgKzEyNzQsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9i cmVha3BvaW50LmMKICAJCSAgaW50IG51bV9yZWdzOwogIAogIAkJICBsZW4gPSAodGFyZ2V0X2V4 YWN0X3dhdGNocG9pbnRzCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2JyZWFrcG9p bnQuaAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9icmVha3BvaW50LmgKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9icmVha3BvaW50LmgJMjAx Ny0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvYnJlYWtwb2ludC5oCTIwMTctMDItMjYgMjI6MDQ6MDMuNDIzNjA5ODMxICswMTAwCist LS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvYnJlYWtwb2ludC5oCTIwMTctMDQtMjAg MjM6MDg6NTQuMTUyMzk0NzI3ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2Jy ZWFrcG9pbnQuaAkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk3NDQxMDYyOSArMDIwMAogQEAgLTI1MCw3 ICsyNTAsNyBAQAogIAogICAgLyogSWYgdGhpcyBpcyBhIHJhbmdlZCBicmVha3BvaW50LCB0aGVu IHRoaXMgZmllbGQgY29udGFpbnMgdGhlCkBAIC0xMjk3LDEwICsxMjk2LDEwIEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYnJlYWtwb2ludC5oCiAgCiAgICAvKiBUeXBlIG9mIGhh cmR3YXJlIHdhdGNocG9pbnQuICAqLwogICAgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB3YXRjaHBv aW50X3R5cGU7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2MtbGFuZy5jCitJbmRl eDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2MtbGFuZy5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvYy1sYW5nLmMJMjAxNy0wMi0yNiAyMTo1OTozNi4w NDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYy1sYW5nLmMJMjAx Ny0wMi0yNiAyMjowNDowMy40MjM2MDk4MzEgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQy MC5vcmlnL2dkYi9jLWxhbmcuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE1MjM5NDcyNyArMDIwMAor KysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jLWxhbmcuYwkyMDE3LTA0LTIwIDIzOjA4OjU2 Ljk3NDQxMDYyOSArMDIwMAogQEAgLTE4Niw3ICsxODYsNyBAQAogIAogIHZvaWQKQEAgLTEzMjgs MTAgKzEzMjcsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9jLWxhbmcuYwog IAogIAkJaWYgKGdldF9kaXNjcmV0ZV9ib3VuZHMgKFRZUEVfSU5ERVhfVFlQRSAoZXhwZWN0X3R5 cGUpLAogIAkJCQkJICZsb3dfYm91bmQsICZoaWdoX2JvdW5kKSA8IDApCi1JbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL2MtbGFuZy5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2MtbGFuZy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9n ZGIvYy1sYW5nLmgJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvYy1sYW5nLmgJMjAxNy0wMi0yNiAyMjowNDowMy40MjM2MDk4 MzEgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9jLWxhbmcuaAkyMDE3 LTA0LTIwIDIzOjA4OjU0LjE1MjM5NDcyNyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9jLWxhbmcuaAkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk3NDQxMDYyOSArMDIwMAogQEAgLTc3 LDcgKzc3LDcgQEAKICAJCQkgICAgIHN0cnVjdCB1aV9maWxlICopOwogIApAQCAtMTM1MCwxMCAr MTM0OSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2MtbGFuZy5oCiAgCQkJ Y29uc3QgY2hhciAqdXNlcl9lbmNvZGluZywKICAJCQlpbnQgZm9yY2VfZWxsaXBzZXMsCiAgCQkJ Y29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpOwotSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9jLXZhbHByaW50LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvYy12YWxwcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAy MjYub3JpZy9nZGIvYy12YWxwcmludC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICsw MTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2MtdmFscHJpbnQuYwkyMDE3LTAyLTI2 IDIyOjA0OjAzLjQyNDYwOTgzOCArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcv Z2RiL2MtdmFscHJpbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE1MzM5NDczMyArMDIwMAorKysr IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jLXZhbHByaW50LmMJMjAxNy0wNC0yMCAyMzowODo1 Ni45NzU0MTA2MzQgKzAyMDAKIEBAIC0yNDQsNyArMjQ0LDcgQEAKICAgIGlmIChUWVBFX0xFTkdU SCAodHlwZSkgPiAwICYmIFRZUEVfTEVOR1RIICh1bnJlc29sdmVkX2VsdHR5cGUpID4gMCkKICAg ICAgewpAQCAtMTM5MiwxMCArMTM5MSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYv Z2RiL2MtdmFscHJpbnQuYwogIAkgICAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1 cnNlLAogIAkgICAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCiAgCSAgICAgY29uc3Qg c3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi1JbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL2NwLWFiaS5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2Nw LWFiaS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvY3At YWJpLmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvY3AtYWJpLmMJMjAxNy0wMi0yNiAyMjowNDowMy40MjQ2MDk4MzggKzAx MDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9jcC1hYmkuYwkyMDE3LTA0LTIw IDIzOjA4OjU0LjE1MzM5NDczMyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9j cC1hYmkuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk3NTQxMDYzNCArMDIwMAogQEAgLTY0LDEyICs2 NCwxMiBAQAogICAgcmV0dXJuICgqY3VycmVudF9jcF9hYmkuaXNfb3BlcmF0b3JfbmFtZSkgKG5h bWUpOwogIH0KQEAgLTE0MjAsMTAgKzE0MTksMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi9jcC1hYmkuYwogIHsKICAgIGlmICgoY3VycmVudF9jcF9hYmkudmlydHVhbF9mbl9m aWVsZCkgPT0gTlVMTCkKICAgICAgcmV0dXJuIE5VTEw7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL2NwLWFiaS5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2NwLWFi aS5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvY3AtYWJp LmgJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4y MDE3MDIyNi9nZGIvY3AtYWJpLmgJMjAxNy0wMi0yNiAyMjowNDowMy40MjQ2MDk4MzggKzAxMDAK Ky0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9jcC1hYmkuaAkyMDE3LTA0LTIwIDIz OjA4OjU0LjE1MzM5NDczMyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jcC1h YmkuaAkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk3NTQxMDYzNCArMDIwMAogQEAgLTEwOCw3ICsxMDgs NyBAQAogIAkJCQkJICAgICBzdHJ1Y3QgZm5fZmllbGQgKmYsCiAgCQkJCQkgICAgIGludCBqLApA QCAtMTQ2NywxMCArMTQ2NiwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2Nw LWFiaS5oCiAgICB2b2lkICgqcHJpbnRfbWV0aG9kX3B0cikgKGNvbnN0IGdkYl9ieXRlICpjb250 ZW50cywKICAJCQkgICAgc3RydWN0IHR5cGUgKnR5cGUsCiAgCQkJICAgIHN0cnVjdCB1aV9maWxl ICpzdHJlYW0pOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9jcC12YWxwcmludC5j CitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2NwLXZhbHByaW50LmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9jcC12YWxwcmludC5jCTIwMTct MDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYv Z2RiL2NwLXZhbHByaW50LmMJMjAxNy0wMi0yNiAyMjowNDowMy40MjQ2MDk4MzggKzAxMDAKKy0t LSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9jcC12YWxwcmludC5jCTIwMTctMDQtMjAg MjM6MDg6NTQuMTUzMzk0NzMzICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2Nw LXZhbHByaW50LmMJMjAxNy0wNC0yMCAyMzowODo1Ni45NzU0MTA2MzQgKzAyMDAKIEBAIC0zMzYs NyArMzM2LDcgQEAKICAJCX0KICAJICAgICAgZWxzZSBpZiAoaSA9PSB2cHRyX2ZpZWxkbm8gJiYg dHlwZSA9PSB2cHRyX2Jhc2V0eXBlKQpAQCAtMTQ4MCwxMCArMTQ3OSwxMCBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2NwLXZhbHByaW50LmMKICAJCSAgc3RydWN0IHR5cGUgKmlf dHlwZSA9IFRZUEVfRklFTERfVFlQRSAodHlwZSwgaSk7CiAgCiAgCQkgIGlmICh2YWxwcmludF9j aGVja192YWxpZGl0eSAoc3RyZWFtLCBpX3R5cGUsIGlfb2Zmc2V0LCB2YWwpKQotSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kLWxhbmcuaAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi9kLWxhbmcuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9y aWcvZ2RiL2QtbGFuZy5oCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2QtbGFuZy5oCTIwMTctMDItMjYgMjI6MDQ6MDMuNDI0 NjA5ODM4ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZC1sYW5nLmgJ MjAxNy0wNC0yMCAyMzowODo1NC4xNTMzOTQ3MzMgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvZC1sYW5nLmgJMjAxNy0wNC0yMCAyMzowODo1Ni45NzU0MTA2MzQgKzAyMDAKIEBA IC04MSw3ICs4MSw3IEBACiAgLyogRGVmaW5lZCBpbiBkLXZhbHByaW50LmMgICovCiAgCkBAIC0x NDkzLDEwICsxNDkyLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZC1sYW5n LmgKICAJCQkgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAgCQkJIHN0cnVj dCB2YWx1ZSAqdmFsLAogIAkJCSBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0 aW9ucyk7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2QtdmFscHJpbnQuYworSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kLXZhbHByaW50LmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9kLXZhbHByaW50LmMJMjAxNy0wMi0yNiAy MTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZC12 YWxwcmludC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDI0NjA5ODM4ICswMTAwCistLS0gZ2RiLTcu OTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZC12YWxwcmludC5jCTIwMTctMDQtMjAgMjM6MDg6NTQu MTU0Mzk0NzM5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2QtdmFscHJpbnQu YwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk3NjQxMDY0MCArMDIwMAogQEAgLTczLDcgKzczLDcgQEAK ICAKICAvKiBJbXBsZW1lbnRzIHRoZSBsYV92YWxfcHJpbnQgcm91dGluZSBmb3IgbGFuZ3VhZ2Ug RC4gICovCkBAIC0xNTA2LDExICsxNTA1LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvZC12YWxwcmludC5jCiAgICAgICAgICAgICAgIENPUkVfQUREUiBhZGRyZXNzLCBzdHJ1 Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJICAgICBzdHJ1Y3QgdmFsdWUgKnZh bCwKICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlv bnMpCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJmMmxvYy5jCitJbmRleDog Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMmxvYy5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZHdhcmYybG9jLmMJMjAxNy0wMi0yNiAyMTo1OToz Ni4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZHdhcmYybG9j LmMJMjAxNy0wMi0yNiAyMjowNDowMy40MjY2MDk4NTIgKzAxMDAKLUBAIC0xNzU4LDEyICsxNzU4 LDEyIEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZHdhcmYybG9jLmMJMjAx Ny0wNC0yMCAyMzowODo1NC4xNTYzOTQ3NTAgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvZHdhcmYybG9jLmMJMjAxNy0wNC0yMCAyMzoxMToyMy4xMzgyNjY1ODIgKzAyMDAKK0BA IC0xNzYxLDEyICsxNzYxLDEyIEBACiAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAq dikKICB7CiAgICBpbnQgaTsKQEAgLTE1MjUsNyArMTUyNCw3IEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvZHdhcmYybG9jLmMKICAgIHNpemVfdCBidWZmZXJfc2l6ZSA9IDA7CiAg ICBzdGQ6OnZlY3RvcjxnZGJfYnl0ZT4gYnVmZmVyOwogICAgaW50IGJpdHNfYmlnX2VuZGlhbgot QEAgLTE3ODcsOCArMTc4Nyw4IEBACitAQCAtMTc5MCw4ICsxNzkwLDggQEAKICAgIGZvciAoaSA9 IDA7IGkgPCBjLT5uX3BpZWNlcyAmJiBvZmZzZXQgPCB0eXBlX2xlbjsgaSsrKQogICAgICB7CiAg ICAgICAgc3RydWN0IGR3YXJmX2V4cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ldOwpAQCAtMTUz Niw3ICsxNTM1LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kd2FyZjJsb2Mu YwogICAgICAgIGNvbnN0IGdkYl9ieXRlICppbnRlcm1lZGlhdGVfYnVmZmVyOwogIAogICAgICAg IC8qIENvbXB1dGUgc2l6ZSwgc291cmNlLCBhbmQgZGVzdGluYXRpb24gb2Zmc2V0cyBmb3IgY29w eWluZywgaW4KLUBAIC0xOTI3LDEyICsxOTI3LDEyIEBACitAQCAtMTkzMCwxMiArMTkzMCwxMiBA QAogIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVlICpm cm9tKQogIHsKICAgIGludCBpOwpAQCAtMTU1MSw3ICsxNTUwLDcgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjI2L2dkYi9kd2FyZjJsb2MuYwogICAgc2l6ZV90IGJ1ZmZlcl9zaXplID0gMDsK ICAgIHN0ZDo6dmVjdG9yPGdkYl9ieXRlPiBidWZmZXI7CiAgICBpbnQgYml0c19iaWdfZW5kaWFu Ci1AQCAtMTk1MSw4ICsxOTUxLDggQEAKK0BAIC0xOTU0LDggKzE5NTQsOCBAQAogICAgZm9yIChp ID0gMDsgaSA8IGMtPm5fcGllY2VzICYmIG9mZnNldCA8IHR5cGVfbGVuOyBpKyspCiAgICAgIHsK ICAgICAgICBzdHJ1Y3QgZHdhcmZfZXhwcl9waWVjZSAqcCA9ICZjLT5waWVjZXNbaV07CkBAIC0x NTYyLDcgKzE1NjEsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJmMmxv Yy5jCiAgICAgICAgaW50IG5lZWRfYml0d2lzZTsKICAgICAgICBjb25zdCBnZGJfYnl0ZSAqc291 cmNlX2J1ZmZlcjsKICAKLUBAIC0yMDcxLDcgKzIwNzEsNyBAQAorQEAgLTIwNzQsNyArMjA3NCw3 IEBACiAgCiAgc3RhdGljIGludAogIGNoZWNrX3BpZWNlZF9zeW50aGV0aWNfcG9pbnRlciAoY29u c3Qgc3RydWN0IHZhbHVlICp2YWx1ZSwgTE9OR0VTVCBiaXRfb2Zmc2V0LApAQCAtMTU3MSw3ICsx NTcwLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kd2FyZjJsb2MuYwogIHsK ICAgIHN0cnVjdCBwaWVjZV9jbG9zdXJlICpjCiAgICAgID0gKHN0cnVjdCBwaWVjZV9jbG9zdXJl ICopIHZhbHVlX2NvbXB1dGVkX2Nsb3N1cmUgKHZhbHVlKTsKLUBAIC0yMDg0LDcgKzIwODQsNyBA QAorQEAgLTIwODcsNyArMjA4Nyw3IEBACiAgICBmb3IgKGkgPSAwOyBpIDwgYy0+bl9waWVjZXMg JiYgYml0X2xlbmd0aCA+IDA7IGkrKykKICAgICAgewogICAgICAgIHN0cnVjdCBkd2FyZl9leHBy X3BpZWNlICpwID0gJmMtPnBpZWNlc1tpXTsKQEAgLTE1ODAsNyArMTU3OSw3IEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZHdhcmYybG9jLmMKICAKICAgICAgICBpZiAoYml0X29m ZnNldCA+IDApCiAgCXsKLUBAIC0yMTg2LDggKzIxODYsOCBAQAorQEAgLTIxOTUsOCArMjE5NSw4 IEBACiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAgIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZTsK ICAgIHN0cnVjdCBkd2FyZjJfbG9jZXhwcl9iYXRvbiBiYXRvbjsKQEAgLTE1OTEsNyArMTU5MCw3 IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZHdhcmYybG9jLmMKICAgIHN0cnVj dCBkd2FyZl9leHByX3BpZWNlICpwaWVjZSA9IE5VTEw7CiAgICBMT05HRVNUIGJ5dGVfb2Zmc2V0 OwogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXI7Ci1AQCAtMjIwNCw3ICsyMjA0LDcgQEAK K0BAIC0yMjEzLDcgKzIyMTMsNyBAQAogICAgZm9yIChpID0gMDsgaSA8IGMtPm5fcGllY2VzICYm IGJpdF9sZW5ndGggPiAwOyBpKyspCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgZHdhcmZfZXhwcl9w aWVjZSAqcCA9ICZjLT5waWVjZXNbaV07CkBAIC0xNjAwLDIwICsxNTk5LDI0IEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZHdhcmYybG9jLmMKICAKICAgICAgICBpZiAoYml0X29m ZnNldCA+IDApCiAgCXsKLUBAIC0yNDc3LDcgKzI0NzcsNyBAQAorQEAgLTI1MDQsOSArMjUwNCw5 IEBACisgCWNhc2UgRFdBUkZfVkFMVUVfU1RBQ0s6CisgCSAgewogIAkgICAgc3RydWN0IHZhbHVl ICp2YWx1ZSA9IGN0eC5mZXRjaCAoMCk7Ci0gCSAgICBnZGJfYnl0ZSAqY29udGVudHM7Ci0gCSAg ICBjb25zdCBnZGJfYnl0ZSAqdmFsX2J5dGVzOwogLQkgICAgc2l6ZV90IG4gPSBUWVBFX0xFTkdU SCAodmFsdWVfdHlwZSAodmFsdWUpKTsKKy0JICAgIHNpemVfdCBsZW4gPSBUWVBFX0xFTkdUSCAo c3Vib2JqX3R5cGUpOworLQkgICAgc2l6ZV90IG1heCA9IFRZUEVfTEVOR1RIICh0eXBlKTsKICsJ ICAgIFVMT05HRVNUIG4gPSBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAodmFsdWUpKTsKKysJICAg IFVMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIIChzdWJvYmpfdHlwZSk7CisrCSAgICBVTE9OR0VT VCBtYXggPSBUWVBFX0xFTkdUSCAodHlwZSk7CisgCSAgICBzdHJ1Y3QgZ2RiYXJjaCAqb2JqZmls ZV9nZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7CiAgCSAgICBzdHJ1Y3QgY2xl YW51cCAqY2xlYW51cDsKICAKLSAJICAgIGlmIChieXRlX29mZnNldCArIFRZUEVfTEVOR1RIICh0 eXBlKSA+IG4pCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJmMnJlYWQuYwor SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJyZWFkLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wMi0y NiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIv ZHdhcmYycmVhZC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDMxNjA5ODg4ICswMTAwCi1AQCAtMTk2 OSwxMiArMTk2OSwxMiBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2R3YXJm MnJlYWQuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE2MDM5NDc3MiArMDIwMAorKysrIGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wNC0yMCAyMzowODo1Ni45ODE0MTA2 NjggKzAyMDAKK0BAIC0yMDY0LDEyICsyMDY0LDEyIEBACiAgfQogIAogIHN0YXRpYyB2b2lkCkBA IC0xNjMwLDcgKzE2MzMsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJm MnJlYWQuYwogIH0KICAKICBzdGF0aWMgdm9pZAotQEAgLTEyNzg5LDggKzEyNzg5LDggQEAKK0BA IC0xMjg2Myw4ICsxMjg2Myw4IEBACiAgCSAgICAgICAgIG9iamVjdCwgYW5kIHRoZW4gc3VidHJh Y3Qgb2ZmIHRoZSBudW1iZXIgb2YgYml0cyBvZgogIAkgICAgICAgICB0aGUgZmllbGQgaXRzZWxm LiAgVGhlIHJlc3VsdCBpcyB0aGUgYml0IG9mZnNldCBvZgogIAkgICAgICAgICB0aGUgTFNCIG9m IHRoZSBmaWVsZC4gICovCkBAIC0xNjQxLDEwICsxNjQ0LDEwIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvZHdhcmYycmVhZC5jCiAgCiAgCSAgICAgIGF0dHIgPSBkd2FyZjJfYXR0 ciAoZGllLCBEV19BVF9ieXRlX3NpemUsIGN1KTsKICAJICAgICAgaWYgKGF0dHIpCi1JbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2V2YWwuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi9ldmFsLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmln L2dkYi9ldmFsLmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvZXZhbC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDMxNjA5ODg4 ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZXZhbC5jCTIwMTctMDQt MjAgMjM6MDg6NTQuMTYyMzk0Nzg0ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L2V2YWwuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk4MjQxMDY3NCArMDIwMAogQEAgLTI5Nyw3ICsy OTcsOCBAQAogICAgd2hpbGUgKC0tbmFyZ3MgPj0gMCkKICAgICAgewpAQCAtMTY5NywxMCArMTcw MCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2V2YWwuYwogIAkgIExPTkdF U1QgbG93X2JvdW5kLCBoaWdoX2JvdW5kLCBpbmRleDsKICAKICAJICBpZiAoZ2V0X2Rpc2NyZXRl X2JvdW5kcyAocmFuZ2VfdHlwZSwgJmxvd19ib3VuZCwgJmhpZ2hfYm91bmQpIDwgMCkKLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZi1sYW5nLmMKK0luZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvZi1sYW5nLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIy Ni5vcmlnL2dkYi9mLWxhbmcuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9mLWxhbmcuYwkyMDE3LTAyLTI2IDIyOjA0OjAz LjQzMjYwOTg5NSArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2YtbGFu Zy5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTYyMzk0Nzg0ICswMjAwCisrKysgZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL2YtbGFuZy5jCTIwMTctMDQtMjAgMjM6MDg6NTYuOTgyNDEwNjc0ICswMjAw CiBAQCAtMTAzLDcgKzEwMyw3IEBACiAgCiAgc3RhdGljIHZvaWQKQEAgLTE3MTAsMTAgKzE3MTMs MTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9mLWxhbmcuYwogIAkgICAgY29u c3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiAgewogICAgY29uc3QgY2hh ciAqdHlwZV9lbmNvZGluZyA9IGZfZ2V0X2VuY29kaW5nICh0eXBlKTsKLUluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvZi1sYW5nLmgKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvZi1sYW5nLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dk Yi9mLWxhbmcuaAkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9mLWxhbmcuaAkyMDE3LTAyLTI2IDIyOjA0OjAzLjQzMjYwOTg5 NSArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2YtbGFuZy5oCTIwMTct MDQtMjAgMjM6MDg6NTQuMTYzMzk0Nzg5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2YtbGFuZy5oCTIwMTctMDQtMjAgMjM6MDg6NTYuOTgyNDEwNjc0ICswMjAwCiBAQCAtMzAs NyArMzAsNyBAQAogIGV4dGVybiB2b2lkIGZfcHJpbnRfdHlwZSAoc3RydWN0IHR5cGUgKiwgY29u c3QgY2hhciAqLCBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCiAgCQkJICBpbnQsIGNvbnN0IHN0cnVj dCB0eXBlX3ByaW50X29wdGlvbnMgKik7CkBAIC0xNzIzLDEwICsxNzI2LDEwIEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZi1sYW5nLmgKICAJCQkgc3RydWN0IHVpX2ZpbGUgKiwg aW50LAogIAkJCSBzdHJ1Y3QgdmFsdWUgKiwKICAJCQkgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50 X29wdGlvbnMgKik7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2YtdmFscHJpbnQu YworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9mLXZhbHByaW50LmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9mLXZhbHByaW50LmMJMjAxNy0w Mi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvZi12YWxwcmludC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDMyNjA5ODk1ICswMTAwCistLS0g Z2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZi12YWxwcmludC5jCTIwMTctMDQtMjAgMjM6 MDg6NTQuMTYzMzk0Nzg5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2YtdmFs cHJpbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk4MjQxMDY3NCArMDIwMAogQEAgLTM4LDcgKzM4 LDcgQEAKICBzdGF0aWMgdm9pZCBpbmZvX2NvbW1vbl9jb21tYW5kIChjaGFyICosIGludCk7CiAg c3RhdGljIHZvaWQgZjc3X2dldF9keW5hbWljX2xlbmd0aF9vZl9hZ2dyZWdhdGUgKHN0cnVjdCB0 eXBlICopOwpAQCAtMTc4MywxMSArMTc4NiwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL2YtdmFscHJpbnQuYwogIAkgICAgIENPUkVfQUREUiBhZGRyZXNzLCBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJICAgICBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFs X3ZhbHVlLAogIAkgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25z KQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9maW5kdmFyLmMKK0luZGV4OiBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvZmluZHZhci5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIu NTAuMjAxNzAyMjYub3JpZy9nZGIvZmluZHZhci5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5 MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2ZpbmR2YXIuYwkyMDE3LTAy LTI2IDIyOjA0OjAzLjQzMjYwOTg5NSArMDEwMAotQEAgLTgxOSw3ICs4MTksNyBAQAorLS0tIGdk Yi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2ZpbmR2YXIuYwkyMDE3LTA0LTIwIDIzOjA4OjU0 LjE2MzM5NDc4OSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9maW5kdmFyLmMJ MjAxNy0wNC0yMCAyMzowODo1Ni45ODM0MTA2ODAgKzAyMDAKK0BAIC04MTcsNyArODE3LDcgQEAK ICBkZWZhdWx0X3ZhbHVlX2Zyb21fcmVnaXN0ZXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBz dHJ1Y3QgdHlwZSAqdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWdu dW0sIHN0cnVjdCBmcmFtZV9pZCBmcmFtZV9pZCkKICB7CkBAIC0xNzk2LDcgKzE3OTksNyBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2ZpbmR2YXIuYwogICAgc3RydWN0IHZhbHVl ICp2YWx1ZSA9IGFsbG9jYXRlX3ZhbHVlICh0eXBlKTsKICAgIHN0cnVjdCBmcmFtZV9pbmZvICpm cmFtZTsKICAKLUBAIC04NjMsNyArODYzLDcgQEAKK0BAIC04NjEsNyArODYxLDcgQEAKICAgIExP TkdFU1Qgb2Zmc2V0ID0gMDsKICAgIExPTkdFU1QgcmVnX29mZnNldCA9IHZhbHVlX29mZnNldCAo dmFsdWUpOwogICAgaW50IHJlZ251bSA9IFZBTFVFX1JFR05VTSAodmFsdWUpOwpAQCAtMTgwNSw3 ICsxODA4LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9maW5kdmFyLmMKICAK ICAgIGdkYl9hc3NlcnQgKFZBTFVFX0xWQUwgKHZhbHVlKSA9PSBsdmFsX3JlZ2lzdGVyKTsKICAK LUBAIC04NzgsNyArODc4LDcgQEAKK0BAIC04NzYsNyArODc2LDcgQEAKICAgIHdoaWxlIChsZW4g PiAwKQogICAgICB7CiAgICAgICAgc3RydWN0IHZhbHVlICpyZWd2YWwgPSBnZXRfZnJhbWVfcmVn aXN0ZXJfdmFsdWUgKGZyYW1lLCByZWdudW0pOwpAQCAtMTgxNCwxMSArMTgxNywxMSBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2ZpbmR2YXIuYwogIAogICAgICAgIC8qIElmIHRo ZSByZWdpc3RlciBsZW5ndGggaXMgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBieXRlcwogICAg ICAgICAgIHJlbWFpbmluZyB0byBjb3B5LCB0aGVuIG9ubHkgY29weSB0aGUgYXBwcm9wcmlhdGUg Ynl0ZXMuICAqLwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9mcmFtZS5jCitJbmRl eDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2ZyYW1lLmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9mcmFtZS5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQz NzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2ZyYW1lLmMJMjAxNy0w Mi0yNiAyMjowNDowMy40MzM2MDk5MDIgKzAxMDAKLUBAIC0xMzU4LDcgKzEzNTgsNyBAQAorLS0t IGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2ZyYW1lLmMJMjAxNy0wNC0yMCAyMzowODo1 NC4xNjQzOTQ3OTUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZnJhbWUuYwky MDE3LTA0LTIwIDIzOjA4OjU2Ljk4MzQxMDY4MCArMDIwMAorQEAgLTEzNzUsNyArMTM3NSw3IEBA CiAgCiAgaW50CiAgZ2V0X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzIChzdHJ1Y3QgZnJhbWVfaW5mbyAq ZnJhbWUsIGludCByZWdudW0sCkBAIC0xODI3LDcgKzE4MzAsNyBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL2ZyYW1lLmMKICAJCQkgIGludCAqb3B0aW1pemVkcCwgaW50ICp1bmF2 YWlsYWJsZXApCiAgewogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfZnJhbWVfYXJj aCAoZnJhbWUpOwotQEAgLTEzODcsNyArMTM4Nyw3IEBACitAQCAtMTQwNCw3ICsxNDA0LDcgQEAK ICAgICAgfQogICAgaWYgKGxlbiA+IG1heHNpemUpCiAgICAgIGVycm9yIChfKCJCYWQgZGVidWcg aW5mb3JtYXRpb24gZGV0ZWN0ZWQ6ICIKQEAgLTE4MzYsMTAgKzE4MzksMTAgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9mcmFtZS5jCiAgCiAgICAvKiBDb3B5IHRoZSBkYXRhLiAg Ki8KICAgIHdoaWxlIChsZW4gPiAwKQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9m cmFtZS5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2ZyYW1lLmgKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9mcmFtZS5oCTIwMTctMDItMjYg MjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2Zy YW1lLmgJMjAxNy0wMi0yNiAyMjowNDowMy40MzM2MDk5MDIgKzAxMDAKKy0tLSBnZGItNy45OS45 MC4yMDE3MDQyMC5vcmlnL2dkYi9mcmFtZS5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTY0Mzk0Nzk1 ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2ZyYW1lLmgJMjAxNy0wNC0yMCAy MzowODo1Ni45ODQ0MTA2ODUgKzAyMDAKIEBAIC02MDAsNyArNjAwLDcgQEAKICAgICBjb250ZW50 cyBhcmUgb3B0aW1pemVkIG91dCBvciB1bmF2YWlsYWJsZSwgc2V0ICpPUFRJTUlaRURQLAogICAg ICpVTkFWQUlMQUJMRVAgYWNjb3JkaW5nbHkuICAqLwpAQCAtMTg0OSwxMSArMTg1MiwxMSBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2ZyYW1lLmgKICAJCQkJICAgICBnZGJfYnl0 ZSAqbXlhZGRyLAogIAkJCQkgICAgIGludCAqb3B0aW1pemVkcCwgaW50ICp1bmF2YWlsYWJsZXAp OwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5jCitJbmRleDog Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2dkYnR5cGVzLmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9nZGJ0eXBlcy5jCTIwMTctMDItMjYgMjE6NTk6MzYu MDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnR5cGVzLmMJ MjAxNy0wMi0yNiAyMjowNDowMy40MzQ2MDk5MDkgKzAxMDAKLUBAIC0yNzgyLDcgKzI3ODIsNyBA QAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2dkYnR5cGVzLmMJMjAxNy0wNC0y MCAyMzowODo1NC4xNjYzOTQ4MDYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv Z2RidHlwZXMuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk4NTQxMDY5MSArMDIwMAorQEAgLTI4MDgs NyArMjgwOCw3IEBACiAgICAgbGVhc3QgYXMgbG9uZyBhcyBPQkpGSUxFLiAgKi8KICAKICBzdHJ1 Y3QgdHlwZSAqCkBAIC0xODYyLDcgKzE4NjUsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL2dkYnR5cGVzLmMKICAJICAgY29uc3QgY2hhciAqbmFtZSkKICB7CiAgICBzdHJ1Y3Qg dHlwZSAqdHlwZTsKLUBAIC0zMDkxLDggKzMwOTEsOCBAQAorQEAgLTMxMTcsOCArMzExNyw4IEBA CiAgCiAgc3RhdGljIGludAogIGlzX3VuaXF1ZV9hbmNlc3Rvcl93b3JrZXIgKHN0cnVjdCB0eXBl ICpiYXNlLCBzdHJ1Y3QgdHlwZSAqZGNsYXNzLApAQCAtMTg3Myw3ICsxODc2LDcgQEAgSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5jCiAgCQkJICAgQ09SRV9BRERSIGFk ZHJlc3MsIHN0cnVjdCB2YWx1ZSAqdmFsKQogIHsKICAgIGludCBpLCBjb3VudCA9IDA7Ci1AQCAt MzEwMyw3ICszMTAzLDcgQEAKK0BAIC0zMTI5LDcgKzMxMjksNyBAQAogICAgZm9yIChpID0gMDsg aSA8IFRZUEVfTl9CQVNFQ0xBU1NFUyAoZGNsYXNzKSAmJiBjb3VudCA8IDI7ICsraSkKICAgICAg ewogICAgICAgIHN0cnVjdCB0eXBlICppdGVyOwpAQCAtMTg4Miw3ICsxODg1LDcgQEAgSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5jCiAgCiAgICAgICAgaXRlciA9IGNo ZWNrX3R5cGVkZWYgKFRZUEVfQkFTRUNMQVNTIChkY2xhc3MsIGkpKTsKICAKLUBAIC0zMTQ0LDcg KzMxNDQsNyBAQAorQEAgLTMxNzAsNyArMzE3MCw3IEBACiAgaW50CiAgaXNfdW5pcXVlX2FuY2Vz dG9yIChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3RydWN0IHZhbHVlICp2YWwpCiAgewpAQCAtMTg5MSw3 ICsxODk0LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5jCiAg CiAgICByZXR1cm4gaXNfdW5pcXVlX2FuY2VzdG9yX3dvcmtlciAoYmFzZSwgdmFsdWVfdHlwZSAo dmFsKSwgJm9mZnNldCwKICAJCQkJICAgIHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAodmFs KSwKLUBAIC00MzMyLDcgKzQzMzIsNyBAQAorQEAgLTQ0MDksNyArNDQwOSw3IEBACiAgICAgICAg YnJlYWs7CiAgICAgIH0KICAgIHB1dHNfZmlsdGVyZWQgKCJcbiIpOwpAQCAtMTkwMCw3ICsxOTAz LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5jCiAgICBpZiAo VFlQRV9PQkpGSUxFX09XTkVEICh0eXBlKSkKICAgICAgewogICAgICAgIHByaW50ZmlfZmlsdGVy ZWQgKHNwYWNlcywgIm9iamZpbGUgIik7Ci1AQCAtNDc5Miw3ICs0NzkyLDcgQEAKK0BAIC00ODY5 LDcgKzQ4NjksNyBAQAogIAogIHN0cnVjdCB0eXBlICoKICBhcmNoX3R5cGUgKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLApAQCAtMTkwOSwxMSArMTkxMiwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL2dkYnR5cGVzLmMKICB7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAKLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2RidHlwZXMuaAorSW5kZXg6IGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9nZGJ0eXBlcy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAu MjAxNzAyMjYub3JpZy9nZGIvZ2RidHlwZXMuaAkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2 OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5oCTIwMTctMDIt MjYgMjI6MDQ6MDMuNDM1NjA5OTE2ICswMTAwCi1AQCAtNzgyLDcgKzc4Miw3IEBACistLS0gZ2Ri LTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZ2RidHlwZXMuaAkyMDE3LTA0LTIwIDIzOjA4OjU0 LjE2NzM5NDgxMiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJ0eXBlcy5o CTIwMTctMDQtMjAgMjM6MDg6NTYuOTg1NDEwNjkxICswMjAwCitAQCAtNzg3LDcgKzc4Nyw3IEBA CiAgICAgICB0eXBlX2xlbmd0aF91bml0cyBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCBpbiBvcmRl ciB0byBnZXQgdGhlIGxlbmd0aAogICAgICAgZXhwcmVzc2VkIGluIHRhcmdldCBhZGRyZXNzYWJs ZSBtZW1vcnkgdW5pdHMuICAqLwogIApAQCAtMTkyMiw3ICsxOTI1LDcgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5oCiAgCiAgICAvKiAqIENvcmUgdHlwZSwgc2hh cmVkIGJ5IGEgZ3JvdXAgb2YgcXVhbGlmaWVkIHR5cGVzLiAgKi8KICAKLUBAIC0xNjU4LDcgKzE2 NTgsNyBAQAorQEAgLTE2NjUsNyArMTY2NSw3IEBACiAgCiAgLyogKiBIZWxwZXIgZnVuY3Rpb24g dG8gY29uc3RydWN0IG9iamZpbGUtb3duZWQgdHlwZXMuICAqLwogIApAQCAtMTkzMSw3ICsxOTM0 LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5oCiAgCQkJICAg ICAgIGNvbnN0IGNoYXIgKik7CiAgZXh0ZXJuIHN0cnVjdCB0eXBlICppbml0X2ludGVnZXJfdHlw ZSAoc3RydWN0IG9iamZpbGUgKiwgaW50LCBpbnQsCiAgCQkJCSAgICAgICBjb25zdCBjaGFyICop OwotQEAgLTE2NzUsNyArMTY3NSw3IEBACitAQCAtMTY4Miw3ICsxNjgyLDcgQEAKICAJCQkJICAg ICAgIHN0cnVjdCB0eXBlICopOwogIAogIC8qIEhlbHBlciBmdW5jdGlvbnMgdG8gY29uc3RydWN0 IGFyY2hpdGVjdHVyZS1vd25lZCB0eXBlcy4gICovCkBAIC0xOTQwLDEwICsxOTQzLDEwIEBAIElu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2RidHlwZXMuaAogIAkJCSAgICAgICBjb25z dCBjaGFyICopOwogIGV4dGVybiBzdHJ1Y3QgdHlwZSAqYXJjaF9pbnRlZ2VyX3R5cGUgKHN0cnVj dCBnZGJhcmNoICosIGludCwgaW50LAogIAkJCQkgICAgICAgY29uc3QgY2hhciAqKTsKLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ251LXYyLWFiaS5jCitJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2dudS12Mi1hYmkuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUw LjIwMTcwMjI2Lm9yaWcvZ2RiL2dudS12Mi1hYmkuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0Mzcx OTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nbnUtdjItYWJpLmMJMjAx Ny0wMi0yNiAyMjowNDowMy40MzU2MDk5MTYgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQy MC5vcmlnL2dkYi9nbnUtdjItYWJpLmMJMjAxNy0wNC0yMCAyMzowODo1NC4xNjczOTQ4MTIgKzAy MDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ251LXYyLWFiaS5jCTIwMTctMDQtMjAg MjM6MDg6NTYuOTg1NDEwNjkxICswMjAwCiBAQCAtODIsNyArODIsNyBAQAogICAgIFRZUEUgaXMg dGhlIHR5cGUgaW4gd2hpY2ggRiBpcyBsb2NhdGVkLiAgKi8KICBzdGF0aWMgc3RydWN0IHZhbHVl ICoKQEAgLTE5ODEsMTEgKzE5ODQsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9nbnUtdjItYWJpLmMKICAJICAgIGdudXYyX2Jhc2VjbGFzc19vZmZzZXQgKHR5cGUsIGksIHZh bGFkZHIsCiAgCQkJCSAgICBlbWJlZGRlZF9vZmZzZXQsIGFkZHJlc3MsIHZhbCk7CiAgCi1JbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dudS12My1hYmkuYworSW5kZXg6IGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9nbnUtdjMtYWJpLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41 MC4yMDE3MDIyNi5vcmlnL2dkYi9nbnUtdjMtYWJpLmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3 MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ251LXYzLWFiaS5jCTIw MTctMDItMjYgMjI6MDQ6MDMuNDM1NjA5OTE2ICswMTAwCi1AQCAtMTA4LDcgKzEwOCw3IEBACist LS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZ251LXYzLWFiaS5jCTIwMTctMDQtMjAg MjM6MDg6NTQuMTY4Mzk0ODE3ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2du dS12My1hYmkuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk4NjQxMDY5NyArMDIwMAorQEAgLTEwOSw3 ICsxMDksNyBAQAogIHsKICAgIHN0cnVjdCB0eXBlICp0OwogICAgc3RydWN0IGZpZWxkICpmaWVs ZF9saXN0LCAqZmllbGQ7CkBAIC0xOTk0LDcgKzE5OTcsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL2dudS12My1hYmkuYwogIAogICAgc3RydWN0IHR5cGUgKnZvaWRfcHRyX3R5 cGUKICAgICAgPSBidWlsdGluX3R5cGUgKGFyY2gpLT5idWlsdGluX2RhdGFfcHRyOwotQEAgLTE4 NCw3ICsxODQsNyBAQAorQEAgLTE4NSw3ICsxODUsNyBAQAogIC8qIFJldHVybiB0aGUgb2Zmc2V0 IGZyb20gdGhlIHN0YXJ0IG9mIHRoZSBpbWFnaW5hcnkgYHN0cnVjdAogICAgIGdkYl9nbnVfdjNf YWJpX3Z0YWJsZScgb2JqZWN0IHRvIHRoZSB2dGFibGUncyAiYWRkcmVzcyBwb2ludCIKICAgICAo aS5lLiwgd2hlcmUgb2JqZWN0cycgdmlydHVhbCB0YWJsZSBwb2ludGVycyBwb2ludCkuICAqLwpA QCAtMjAwMyw3ICsyMDA2LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nbnUt djMtYWJpLmMKICB2dGFibGVfYWRkcmVzc19wb2ludF9vZmZzZXQgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoKQogIHsKICAgIHN0cnVjdCB0eXBlICp2dGFibGVfdHlwZQotQEAgLTQwNyw3ICs0MDcs NyBAQAorQEAgLTQwOCw3ICs0MDgsNyBAQAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgogIGdudXYz X3ZpcnR1YWxfZm5fZmllbGQgKHN0cnVjdCB2YWx1ZSAqKnZhbHVlX3AsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IGZuX2ZpZWxkICpmLCBpbnQgaiwKQEAgLTIwMTIsNyArMjAxNSw3 IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ251LXYzLWFiaS5jCiAgewogICAg c3RydWN0IHR5cGUgKnZhbHVlc190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoKnZh bHVlX3ApKTsKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoOwotQEAgLTQzNyw3ICs0MzcsNyBA QAorQEAgLTQzOCw3ICs0MzgsNyBAQAogIAogICAgIC0xIGlzIHJldHVybmVkIG9uIGVycm9yLiAg Ki8KICAKQEAgLTIwMjEsNyArMjAyNCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvZ251LXYzLWFiaS5jCiAgZ251djNfYmFzZWNsYXNzX29mZnNldCAoc3RydWN0IHR5cGUgKnR5 cGUsIGludCBpbmRleCwKICAJCQljb25zdCBiZmRfYnl0ZSAqdmFsYWRkciwgTE9OR0VTVCBlbWJl ZGRlZF9vZmZzZXQsCiAgCQkJQ09SRV9BRERSIGFkZHJlc3MsIGNvbnN0IHN0cnVjdCB2YWx1ZSAq dmFsKQotQEAgLTQ0Niw3ICs0NDYsNyBAQAorQEAgLTQ0Nyw3ICs0NDcsNyBAQAogICAgc3RydWN0 IHR5cGUgKnB0cl90eXBlOwogICAgc3RydWN0IHZhbHVlICp2dGFibGU7CiAgICBzdHJ1Y3QgdmFs dWUgKnZiYXNlX2FycmF5OwpAQCAtMjAzMCw3ICsyMDMzLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi9nbnUtdjMtYWJpLmMKICAKICAgIC8qIERldGVybWluZSBhcmNoaXRlY3R1 cmUuICAqLwogICAgZ2RiYXJjaCA9IGdldF90eXBlX2FyY2ggKHR5cGUpOwotQEAgLTQ2OSw3ICs0 NjksNyBAQAorQEAgLTQ3MCw3ICs0NzAsNyBAQAogICAgY3VyX2Jhc2Vfb2Zmc2V0ID0gY3VyX2Jh c2Vfb2Zmc2V0ICsgdnRhYmxlX2FkZHJlc3NfcG9pbnRfb2Zmc2V0IChnZGJhcmNoKTsKICAgIGlm ICgoLSBjdXJfYmFzZV9vZmZzZXQpICUgVFlQRV9MRU5HVEggKHB0cl90eXBlKSAhPSAwKQogICAg ICBlcnJvciAoXygiTWlzYWxpZ25lZCB2YmFzZSBvZmZzZXQuIikpOwpAQCAtMjAzOSw3ICsyMDQy LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nbnUtdjMtYWJpLmMKICAKICAg IHZ0YWJsZSA9IGdudXYzX2dldF92dGFibGUgKGdkYmFyY2gsIHR5cGUsIGFkZHJlc3MgKyBlbWJl ZGRlZF9vZmZzZXQpOwogICAgZ2RiX2Fzc2VydCAodnRhYmxlICE9IE5VTEwpOwotQEAgLTUxMyw3 ICs1MTMsNyBAQAorQEAgLTUxNCw3ICs1MTQsNyBAQAogICAgICAgd2UncmUgb3V0IG9mIGx1Y2su ICAqLwogICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTl9CQVNFQ0xBU1NFUyAoZG9tYWluKTsgaSsr KQogICAgICB7CkBAIC0yMDQ4LDEwICsyMDUxLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvZ251LXYzLWFiaS5jCiAgICAgICAgc3RydWN0IHR5cGUgKmJhc2V0eXBlOwogIAog ICAgICAgIGlmIChCQVNFVFlQRV9WSUFfVklSVFVBTCAoZG9tYWluLCBpKSkKLUluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvZ28tbGFuZy5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL2dvLWxhbmcuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9y aWcvZ2RiL2dvLWxhbmcuaAkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysr IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nby1sYW5nLmgJMjAxNy0wMi0yNiAyMjowNDowMy40 MzY2MDk5MjMgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9nby1sYW5n LmgJMjAxNy0wNC0yMCAyMzowODo1NC4xNjgzOTQ4MTcgKzAyMDAKKysrKyBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvZ28tbGFuZy5oCTIwMTctMDQtMjAgMjM6MDg6NTYuOTg2NDEwNjk3ICswMjAw CiBAQCAtODUsNyArODUsNyBAQAogIC8qIERlZmluZWQgaW4gZ28tdmFscHJpbnQuYy4gICovCiAg CkBAIC0yMDYxLDEwICsyMDY0LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIv Z28tbGFuZy5oCiAgCQkJICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJ CQkgIHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29w dGlvbnMgKm9wdGlvbnMpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nby12YWxw cmludC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2dvLXZhbHByaW50LmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9nby12YWxwcmludC5j CTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL2dvLXZhbHByaW50LmMJMjAxNy0wMi0yNiAyMjowNDowMy40MzY2MDk5MjMgKzAx MDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9nby12YWxwcmludC5jCTIwMTct MDQtMjAgMjM6MDg6NTQuMTY4Mzk0ODE3ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2dvLXZhbHByaW50LmMJMjAxNy0wNC0yMCAyMzowODo1Ni45ODY0MTA2OTcgKzAyMDAKIEBA IC04Niw3ICs4Niw3IEBACiAgLyogSW1wbGVtZW50cyB0aGUgbGFfdmFsX3ByaW50IHJvdXRpbmUg Zm9yIGxhbmd1YWdlIEdvLiAgKi8KICAKQEAgLTIwNzQsMTEgKzIwNzcsMTEgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nby12YWxwcmludC5jCiAgCSAgICAgIENPUkVfQUREUiBh ZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJICAgICAgc3Ry dWN0IHZhbHVlICp2YWwsCiAgCSAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25z ICpvcHRpb25zKQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9sYW5ndWFnZS5jCitJ bmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2xhbmd1YWdlLmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9sYW5ndWFnZS5jCTIwMTctMDItMjYgMjE6 NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2xhbmd1 YWdlLmMJMjAxNy0wMi0yNiAyMjowNDowMy40MzY2MDk5MjMgKzAxMDAKLUBAIC03NTQsNyArNzU0 LDcgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9sYW5ndWFnZS5jCTIwMTct MDQtMjAgMjM6MDg6NTQuMTY4Mzk0ODE3ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2xhbmd1YWdlLmMJMjAxNy0wNC0yMCAyMzowODo1Ni45ODY0MTA2OTcgKzAyMDAKK0BAIC03 NTMsNyArNzUzLDcgQEAKICAKICBzdGF0aWMgdm9pZAogIHVua19sYW5nX3ByaW50c3RyIChzdHJ1 Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTIwODcsNyArMjA5MCw3 IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbGFuZ3VhZ2UuYwogIAkJICAgY29u c3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKICAJCSAgIGNvbnN0IHN0cnVj dCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQogIHsKLUBAIC03NzMsNyArNzczLDcgQEAK K0BAIC03NzIsNyArNzcyLDcgQEAKICAKICBzdGF0aWMgdm9pZAogIHVua19sYW5nX3ZhbF9wcmlu dCAoc3RydWN0IHR5cGUgKnR5cGUsCkBAIC0yMDk2LDEwICsyMDk5LDEwIEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvbGFuZ3VhZ2UuYwogIAkJICAgIHN0cnVjdCB1aV9maWxlICpz dHJlYW0sIGludCByZWN1cnNlLAogIAkJICAgIHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJICAgIGNv bnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjI2L2dkYi9sYW5ndWFnZS5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2xhbmd1YWdlLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmln L2dkYi9sYW5ndWFnZS5oCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2xhbmd1YWdlLmgJMjAxNy0wMi0yNiAyMjowNDowMy40 MzY2MDk5MjMgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9sYW5ndWFn ZS5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTY5Mzk0ODIzICswMjAwCisrKysgZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL2xhbmd1YWdlLmgJMjAxNy0wNC0yMCAyMzowODo1Ni45ODY0MTA2OTcgKzAy MDAKIEBAIC0xOTcsNyArMTk3LDcgQEAKICAJCQkgIHN0cnVjdCB1aV9maWxlICogc3RyZWFtKTsK ICAKQEAgLTIxMTgsMTAgKzIxMjEsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9sYW5ndWFnZS5oCiAgCQkJICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwK ICAJCQkgIHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50 X29wdGlvbnMgKm9wdGlvbnMpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9tMi1s YW5nLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbTItbGFuZy5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvbTItbGFuZy5jCTIwMTctMDIt MjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L20yLWxhbmcuYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQzNjYwOTkyMyArMDEwMAorLS0tIGdkYi03 Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL20yLWxhbmcuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE2 OTM5NDgyMyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tMi1sYW5nLmMJMjAx Ny0wNC0yMCAyMzowODo1Ni45ODc0MTA3MDIgKzAyMDAKIEBAIC0xMDQsMTAgKzEwNCwxMCBAQAog IAogIHN0YXRpYyB2b2lkCkBAIC0yMTU2LDEwICsyMTU5LDEwIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvbTItbGFuZy5jCiAgCSAgaSA9IHJlcDEgLSAxOwogIAkgIHRoaW5nc19w cmludGVkICs9IG9wdGlvbnMtPnJlcGVhdF9jb3VudF90aHJlc2hvbGQ7CiAgCSAgbmVlZF9jb21t YSA9IDE7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL20yLWxhbmcuaAorSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tMi1sYW5nLmgKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9tMi1sYW5nLmgJMjAxNy0wMi0yNiAyMTo1OTozNi4w NDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbTItbGFuZy5oCTIw MTctMDItMjYgMjI6MDQ6MDMuNDM3NjA5OTMwICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0 MjAub3JpZy9nZGIvbTItbGFuZy5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTY5Mzk0ODIzICswMjAw CisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL20yLWxhbmcuaAkyMDE3LTA0LTIwIDIzOjA4 OjU2Ljk4NzQxMDcwMiArMDIwMAogQEAgLTM0LDcgKzM0LDcgQEAKICBleHRlcm4gaW50IG0yX2lz X2xvbmdfc2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSk7CiAgZXh0ZXJuIGludCBtMl9pc191bmJvdW5k ZWRfYXJyYXkgKHN0cnVjdCB0eXBlICp0eXBlKTsKQEAgLTIxNjksMTAgKzIxNzIsMTAgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9tMi1sYW5nLmgKICAJCQkgIHN0cnVjdCB1aV9m aWxlICosIGludCwKICAJCQkgIHN0cnVjdCB2YWx1ZSAqLAogIAkJCSAgY29uc3Qgc3RydWN0IHZh bHVlX3ByaW50X29wdGlvbnMgKik7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL20y LXR5cGVwcmludC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL20yLXR5cGVwcmlu dC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvbTItdHlw ZXByaW50LmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvbTItdHlwZXByaW50LmMJMjAxNy0wMi0yNiAyMjowNDowMy40Mzc2 MDk5MzAgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9tMi10eXBlcHJp bnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE2OTM5NDgyMyArMDIwMAorKysrIGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9tMi10eXBlcHJpbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk4NzQxMDcw MiArMDIwMAogQEAgLTIzNCw5ICsyMzQsMTIgQEAKICAJICBtMl9wcmludF9ib3VuZHMgKFRZUEVf SU5ERVhfVFlQRSAodHlwZSksIHN0cmVhbSwgc2hvdywgLTEsIDEpOwogIAl9CkBAIC0yMTg5LDEw ICsyMTkyLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbTItdHlwZXByaW50 LmMKICAgICAgfQogICAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiXSBPRiAiKTsKICAgIG0y X3ByaW50X3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpLCAiIiwgc3RyZWFtLCBzaG93LCBs ZXZlbCwgZmxhZ3MpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9tMi12YWxwcmlu dC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL20yLXZhbHByaW50LmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9tMi12YWxwcmludC5jCTIw MTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL20yLXZhbHByaW50LmMJMjAxNy0wMi0yNiAyMjowNDowMy40Mzc2MDk5MzAgKzAxMDAK Ky0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9tMi12YWxwcmludC5jCTIwMTctMDQt MjAgMjM6MDg6NTQuMTcwMzk0ODI5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L20yLXZhbHByaW50LmMJMjAxNy0wNC0yMCAyMzowODo1Ni45ODc0MTA3MDIgKzAyMDAKIEBAIC0z NSw3ICszNSw3IEBACiAgCQkJCSAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0pOwogIHN0YXRpYyB2 b2lkCkBAIC0yMjYzLDEwICsyMjY2LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvbTItdmFscHJpbnQuYwogIAkgIGludCBuZWVkX2NvbW1hID0gMDsKICAKICAJICBmcHV0c19m aWx0ZXJlZCAoInsiLCBzdHJlYW0pOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9t ZW1yYW5nZS5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL21lbXJhbmdlLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9tZW1yYW5nZS5jCTIw MTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL21lbXJhbmdlLmMJMjAxNy0wMi0yNiAyMjowNDowMy40Mzc2MDk5MzAgKzAxMDAKKy0t LSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9tZW1yYW5nZS5jCTIwMTctMDQtMjAgMjM6 MDg6NTQuMTcwMzk0ODI5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL21lbXJh bmdlLmMJMjAxNy0wNC0yMCAyMzowODo1Ni45ODc0MTA3MDIgKzAyMDAKIEBAIC0yMiw4ICsyMiw4 IEBACiAgI2luY2x1ZGUgPGFsZ29yaXRobT4KICAKQEAgLTIyNzgsMTAgKzIyODEsMTAgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9tZW1yYW5nZS5jCiAgewogICAgVUxPTkdFU1Qg aCwgbDsKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbWVtcmFuZ2UuaAorSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tZW1yYW5nZS5oCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvbWVtcmFuZ2UuaAkyMDE3LTAyLTI2IDIxOjU5 OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9tZW1yYW5n ZS5oCTIwMTctMDItMjYgMjI6MDQ6MDMuNDM3NjA5OTMwICswMTAwCistLS0gZ2RiLTcuOTkuOTAu MjAxNzA0MjAub3JpZy9nZGIvbWVtcmFuZ2UuaAkyMDE3LTA0LTIwIDIzOjA4OjU0LjE3MDM5NDgy OSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tZW1yYW5nZS5oCTIwMTctMDQt MjAgMjM6MDg6NTYuOTg3NDEwNzAyICswMjAwCiBAQCAtMzAsNyArMzAsNyBAQAogICAgQ09SRV9B RERSIHN0YXJ0OwogIApAQCAtMjMwMiwxMSArMjMwNSwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL21lbXJhbmdlLmgKICAKICAvKiBSZXR1cm5zIHRydWUgaWYgQUREUiBpcyBp biBSQU5HRS4gICovCiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL21pcHMtbGlu dXgtbmF0LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWlwcy1saW51eC1uYXQu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL21pcHMtbGlu dXgtbmF0LmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvbWlwcy1saW51eC1uYXQuYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQz ODYwOTkzNyArMDEwMAotQEAgLTU4Nyw3ICs1ODcsNyBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcw NDIwLm9yaWcvZ2RiL21pcHMtbGludXgtbmF0LmMJMjAxNy0wNC0yMCAyMzowODo1NC4xNzAzOTQ4 MjkgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWlwcy1saW51eC1uYXQuYwky MDE3LTA0LTIwIDIzOjA4OjU2Ljk4ODQxMDcwOCArMDIwMAorQEAgLTU4NCw3ICs1ODQsNyBAQAog IAogIHN0YXRpYyBpbnQKICBtaXBzX2xpbnV4X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAo c3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCkBAIC0yMzE1LDEwICsyMzE4LDEwIEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbWlwcy1saW51eC1uYXQuYwogIHsKICAgIHN0cnVjdCBw dF93YXRjaF9yZWdzIGR1bW15X3JlZ3M7CiAgICBpbnQgaTsKLUluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIyNi9nZGIvb3BlbmNsLWxhbmcuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9vcGVuY2wtbGFuZy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3Jp Zy9nZGIvb3BlbmNsLWxhbmcuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9vcGVuY2wtbGFuZy5jCTIwMTctMDItMjYgMjI6 MDQ6MDMuNDM4NjA5OTM3ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIv b3BlbmNsLWxhbmcuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE3MTM5NDgzNCArMDIwMAorKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9vcGVuY2wtbGFuZy5jCTIwMTctMDQtMjAgMjM6MDg6NTYu OTg4NDEwNzA4ICswMjAwCiBAQCAtNzgsMTEgKzc4LDExIEBACiAgCiAgc3RhdGljIHN0cnVjdCB0 eXBlICoKQEAgLTIzODcsMTAgKzIzOTAsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2 L2dkYi9vcGVuY2wtbGFuZy5jCiAgCiAgICAgICAgaWYgKCF2YWx1ZV9iaXRzX3N5bnRoZXRpY19w b2ludGVyIChjLT52YWwsCiAgCQkJCQkgYy0+aW5kaWNlc1tpXSAqIGVsc2l6ZSArIGNvbXBfb2Zm c2V0LAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9wLWxhbmcuYworSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9wLWxhbmcuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEy LjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3AtbGFuZy5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5 MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3AtbGFuZy5jCTIwMTctMDIt MjYgMjI6MDQ6MDMuNDM4NjA5OTM3ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3Jp Zy9nZGIvcC1sYW5nLmMJMjAxNy0wNC0yMCAyMzowODo1NC4xNzEzOTQ4MzQgKzAyMDAKKysrKyBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcC1sYW5nLmMJMjAxNy0wNC0yMCAyMzowODo1Ni45ODg0 MTA3MDggKzAyMDAKIEBAIC05NSw4ICs5NSw4IEBACiAgICAgYXJlIG5vdCBtdWx0aXBsZSBvZiBU QVJHRVRfQ0hBUl9CSVQgdGhlbiB0aGUgcmVzdWx0cyBhcmUgd3JvbmcKICAgICBidXQgdGhpcyBk b2VzIG5vdCBoYXBwZW4gZm9yIEZyZWUgUGFzY2FsIG5vciBmb3IgR1BDLiAgKi8KQEAgLTI0Mzgs MTAgKzI0NDEsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9wLWxhbmcuYwog IAkgIGkgPSByZXAxIC0gMTsKICAJICB0aGluZ3NfcHJpbnRlZCArPSBvcHRpb25zLT5yZXBlYXRf Y291bnRfdGhyZXNob2xkOwogIAkgIG5lZWRfY29tbWEgPSAxOwotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi9wLWxhbmcuaAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9w LWxhbmcuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3At bGFuZy5oCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL3AtbGFuZy5oCTIwMTctMDItMjYgMjI6MDQ6MDMuNDM4NjA5OTM3ICsw MTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvcC1sYW5nLmgJMjAxNy0wNC0y MCAyMzowODo1NC4xNzEzOTQ4MzQgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv cC1sYW5nLmgJMjAxNy0wNC0yMCAyMzowODo1Ni45ODg0MTA3MDggKzAyMDAKIEBAIC0zNiw3ICsz Niw3IEBACiAgZXh0ZXJuIHZvaWQgcGFzY2FsX3ByaW50X3R5cGVkZWYgKHN0cnVjdCB0eXBlICos IHN0cnVjdCBzeW1ib2wgKiwKICAJCQkJICBzdHJ1Y3QgdWlfZmlsZSAqKTsKQEAgLTI0NjcsMTAg KzI0NzAsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9wLWxhbmcuaAogIAkJ CSAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7CiAgCiAgZXh0ZXJuIHN0 cnVjdCB0eXBlICoqY29uc3QgKHBhc2NhbF9idWlsdGluX3R5cGVzW10pOwotSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9wLXZhbHByaW50LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvcC12YWxwcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAy MjYub3JpZy9nZGIvcC12YWxwcmludC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICsw MTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3AtdmFscHJpbnQuYwkyMDE3LTAyLTI2 IDIyOjA0OjAzLjQzOTYwOTk0NCArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcv Z2RiL3AtdmFscHJpbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE3MTM5NDgzNCArMDIwMAorKysr IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9wLXZhbHByaW50LmMJMjAxNy0wNC0yMCAyMzowODo1 Ni45ODk0MTA3MTMgKzAyMDAKIEBAIC01OSw3ICs1OSw3IEBACiAgCiAgdm9pZApAQCAtMjQ5MSwx MSArMjQ5NCwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3AtdmFscHJpbnQu YwogICAgc3RydWN0IHR5cGUgKmNoYXJfdHlwZTsKICAgIENPUkVfQUREUiBhZGRyOwogICAgaW50 IHdhbnRfc3BhY2UgPSAwOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9wcGMtbGlu dXgtbmF0LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcHBjLWxpbnV4LW5hdC5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvcHBjLWxpbnV4 LW5hdC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL3BwYy1saW51eC1uYXQuYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQzOTYw OTk0NCArMDEwMAotQEAgLTE0NDksNyArMTQ0OSw3IEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0 MjAub3JpZy9nZGIvcHBjLWxpbnV4LW5hdC5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTcyMzk0ODQw ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3BwYy1saW51eC1uYXQuYwkyMDE3 LTA0LTIwIDIzOjA4OjU2Ljk4OTQxMDcxMyArMDIwMAorQEAgLTE0NDUsNyArMTQ0NSw3IEBACiAg CiAgc3RhdGljIGludAogIHBwY19saW51eF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0 cnVjdCB0YXJnZXRfb3BzICpzZWxmLApAQCAtMjUwNCwxMCArMjUwNywxMCBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3BwYy1saW51eC1uYXQuYwogIHsKICAgIC8qIEhhbmRsZSBz dWItOC1ieXRlIHF1YW50aXRpZXMuICAqLwogICAgaWYgKGxlbiA8PSAwKQotSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9wcmludGNtZC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL3ByaW50Y21kLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5v cmlnL2dkYi9wcmludGNtZC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0r KysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3ByaW50Y21kLmMJMjAxNy0wMi0yNiAyMjowNDow My40NDA2MDk5NTEgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9wcmlu dGNtZC5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTczMzk0ODQ2ICswMjAwCisrKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3ByaW50Y21kLmMJMjAxNy0wNC0yMCAyMzowODo1Ni45OTA0MTA3MTkg KzAyMDAKIEBAIC0yODAsNyArMjgwLDcgQEAKICAJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQog IHsKQEAgLTI1MjYsMTEgKzI1MjksMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9wcmludGNtZC5jCiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0 ZV9vcmRlciAoZ2RiYXJjaCk7CiAgCiAgICAvKiBTdHJpbmcgcHJpbnRpbmcgc2hvdWxkIGdvIHRo cm91Z2ggdmFsX3ByaW50X3NjYWxhcl9mb3JtYXR0ZWQuICAqLwotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi9wcm9jZnMuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9w cm9jZnMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3By b2Nmcy5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL3Byb2Nmcy5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDQxNjA5OTU4ICsw MTAwCi1AQCAtNDg2Miw3ICs0ODYyLDcgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmln L2dkYi9wcm9jZnMuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE3MzM5NDg0NiArMDIwMAorKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9wcm9jZnMuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk5MTQx MDcyNSArMDIwMAorQEAgLTQ4NjQsNyArNDg2NCw3IEBACiAgCiAgc3RhdGljIGludAogIHByb2Nm c19yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLApA QCAtMjUzOSwxMSArMjU0MiwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3By b2Nmcy5jCiAgewogICAgLyogVGhlIG1hbiBwYWdlIGZvciBwcm9jKDQpIG9uIFNvbGFyaXMgMi42 IGFuZCB1cCBzYXlzIHRoYXQgdGhlCiAgICAgICBzeXN0ZW0gY2FuIHN1cHBvcnQgInRob3VzYW5k cyIgb2YgaGFyZHdhcmUgd2F0Y2hwb2ludHMsIGJ1dCBnaXZlcwotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi9yZWdjYWNoZS5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L3JlZ2NhY2hlLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dk Yi9yZWdjYWNoZS5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3JlZ2NhY2hlLmMJMjAxNy0wMi0yNiAyMjowNDowMy40NDE2 MDk5NTggKzAxMDAKLUBAIC05ODAsNyArOTgwLDcgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQy MC5vcmlnL2dkYi9yZWdjYWNoZS5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTc0Mzk0ODUxICswMjAw CisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3JlZ2NhY2hlLmMJMjAxNy0wNC0yMCAyMzow ODo1Ni45OTE0MTA3MjUgKzAyMDAKK0BAIC05ODgsNyArOTg4LDcgQEAKICAKICBzdGF0aWMgZW51 bSByZWdpc3Rlcl9zdGF0dXMKICByZWdjYWNoZV94ZmVyX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAq cmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0yNTUyLDcgKzI1NTUsNyBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL3JlZ2NhY2hlLmMKICAJCSAgICBlbnVtIHJlZ2lzdGVyX3N0YXR1 cyAoKnJlYWQpIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAogIAkJCQkJCSAgaW50IHJlZ251 bSwKICAJCQkJCQkgIGdkYl9ieXRlICpidWYpLAotQEAgLTEwMjUsNyArMTAyNSw3IEBACitAQCAt MTAzMyw3ICsxMDMzLDcgQEAKICAKICBlbnVtIHJlZ2lzdGVyX3N0YXR1cwogIHJlZ2NhY2hlX3Jh d19yZWFkX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0y NTYxLDcgKzI1NjQsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3JlZ2NhY2hl LmMKICB7CiAgICBzdHJ1Y3QgcmVnY2FjaGVfZGVzY3IgKmRlc2NyID0gcmVnY2FjaGUtPmRlc2Ny OwogIAotQEAgLTEwMzYsNyArMTAzNiw3IEBACitAQCAtMTA0NCw3ICsxMDQ0LDcgQEAKICAKICB2 b2lkCiAgcmVnY2FjaGVfcmF3X3dyaXRlX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUs IGludCByZWdudW0sCkBAIC0yNTcwLDcgKzI1NzMsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL3JlZ2NhY2hlLmMKICB7CiAgICBzdHJ1Y3QgcmVnY2FjaGVfZGVzY3IgKmRlc2Ny ID0gcmVnY2FjaGUtPmRlc2NyOwogIAotQEAgLTEwNDcsNyArMTA0Nyw3IEBACitAQCAtMTA1NSw3 ICsxMDU1LDcgQEAKICAKICBlbnVtIHJlZ2lzdGVyX3N0YXR1cwogIHJlZ2NhY2hlX2Nvb2tlZF9y ZWFkX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0yNTc5 LDcgKzI1ODIsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3JlZ2NhY2hlLmMK ICB7CiAgICBzdHJ1Y3QgcmVnY2FjaGVfZGVzY3IgKmRlc2NyID0gcmVnY2FjaGUtPmRlc2NyOwog IAotQEAgLTEwNTgsNyArMTA1OCw3IEBACitAQCAtMTA2Niw3ICsxMDY2LDcgQEAKICAKICB2b2lk CiAgcmVnY2FjaGVfY29va2VkX3dyaXRlX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUs IGludCByZWdudW0sCkBAIC0yNTg4LDExICsyNTkxLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIyNi9nZGIvcmVnY2FjaGUuYwogIHsKICAgIHN0cnVjdCByZWdjYWNoZV9kZXNjciAqZGVz Y3IgPSByZWdjYWNoZS0+ZGVzY3I7CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L3JlZ2NhY2hlLmgKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcmVnY2FjaGUuaAog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3JlZ2NhY2hlLmgJ MjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvcmVnY2FjaGUuaAkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ0MTYwOTk1OCArMDEwMAot QEAgLTg2LDkgKzg2LDkgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9yZWdj YWNoZS5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTc0Mzk0ODUxICswMjAwCisrKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3JlZ2NhY2hlLmgJMjAxNy0wNC0yMCAyMzowODo1Ni45OTE0MTA3MjUg KzAyMDAKK0BAIC05NCw5ICs5NCw5IEBACiAgCiAgZXh0ZXJuIGVudW0gcmVnaXN0ZXJfc3RhdHVz CiAgICByZWdjYWNoZV9yYXdfcmVhZF9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBp bnQgcmVnbnVtLApAQCAtMjYwNCw3ICsyNjA3LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi9yZWdjYWNoZS5oCiAgCiAgdm9pZCByZWdjYWNoZV9pbnZhbGlkYXRlIChzdHJ1Y3Qg cmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVnbnVtKTsKICAKLUBAIC0xMjUsMTAgKzEyNSwxMSBA QAorQEAgLTEzMywxMCArMTMzLDExIEBACiAgICAgd3JpdGUgc3R5bGUgb3BlcmF0aW9ucy4gICov CiAgCiAgZW51bSByZWdpc3Rlcl9zdGF0dXMgcmVnY2FjaGVfY29va2VkX3JlYWRfcGFydCAoc3Ry dWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKQEAgLTI2MTksMTEgKzI2MjIsMTEgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9yZWdjYWNoZS5oCiAgCiAgLyogU3BlY2lhbCByb3V0aW5l cyB0byByZWFkL3dyaXRlIHRoZSBQQy4gICovCiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL3JlbW90ZS5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3JlbW90ZS5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvcmVtb3RlLmMJ MjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvcmVtb3RlLmMJMjAxNy0wMi0yNiAyMjowNDowMy40NDQ2MDk5NzkgKzAxMDAKLUBA IC05OTIwLDcgKzk5MjAsNyBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3Jl bW90ZS5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTc3Mzk0ODY4ICswMjAwCisrKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3JlbW90ZS5jCTIwMTctMDQtMjAgMjM6MDg6NTYuOTkzNDEwNzM2ICsw MjAwCitAQCAtOTkxNSw3ICs5OTE1LDcgQEAKICAKICBzdGF0aWMgaW50CiAgcmVtb3RlX3JlZ2lv bl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCkBAIC0yNjMy LDEwICsyNjM1LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvcmVtb3RlLmMK ICB7CiAgICBpZiAocmVtb3RlX2h3X3dhdGNocG9pbnRfbGVuZ3RoX2xpbWl0ID09IDApCiAgICAg IHJldHVybiAwOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9zcHUtbXVsdGlhcmNo LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc3B1LW11bHRpYXJjaC5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvc3B1LW11bHRpYXJjaC5j CTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL3NwdS1tdWx0aWFyY2guYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ0NDYwOTk3OSAr MDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3NwdS1tdWx0aWFyY2guYwky MDE3LTA0LTIwIDIzOjA4OjU0LjE3NzM5NDg2OCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi9zcHUtbXVsdGlhcmNoLmMJMjAxNy0wNC0yMCAyMzowODo1Ni45OTQ0MTA3NDIgKzAy MDAKIEBAIC0xMjcsNyArMTI3LDcgQEAKICAvKiBPdmVycmlkZSB0aGUgdG9fcmVnaW9uX29rX2Zv cl9od193YXRjaHBvaW50IHJvdXRpbmUuICAqLwogIHN0YXRpYyBpbnQKQEAgLTI2NDUsMTAgKzI2 NDgsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9zcHUtbXVsdGlhcmNoLmMK ICB7CiAgICBzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzX2JlbmVhdGggPSBmaW5kX3RhcmdldF9iZW5l YXRoIChzZWxmKTsKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvc3RhY2suYwor SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zdGFjay5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvc3RhY2suYwkyMDE3LTAyLTI2IDIxOjU5OjM2 LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9zdGFjay5jCTIw MTctMDItMjYgMjI6MDQ6MDMuNDQ1NjA5OTg3ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0 MjAub3JpZy9nZGIvc3RhY2suYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE3ODM5NDg3NCArMDIwMAor KysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zdGFjay5jCTIwMTctMDQtMjAgMjM6MDg6NTYu OTk0NDEwNzQyICswMjAwCiBAQCAtMTg5LDcgKzE4OSw3IEBACiAgICAgYXJndW1lbnQgKG5vdCBq dXN0IHRoZSBmaXJzdCBuYW1lbGVzcyBhcmd1bWVudCkuICAqLwogIApAQCAtMjY4NywxMCArMjY5 MCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3N0YWNrLmMKICAKICAgICAg ICBpZiAoaGlnaGVzdF9vZmZzZXQgPT0gLTEpCiAgCXN0YXJ0ID0gZ2RiYXJjaF9mcmFtZV9hcmdz X3NraXAgKGdldF9mcmFtZV9hcmNoIChmcmFtZSkpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi9zeW1taXNjLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc3ltbWlz Yy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvc3ltbWlz Yy5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL3N5bW1pc2MuYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ0NTYwOTk4NyArMDEw MAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3N5bW1pc2MuYwkyMDE3LTA0LTIw IDIzOjA4OjU0LjE3ODM5NDg3NCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9z eW1taXNjLmMJMjAxNy0wNC0yMCAyMzowODo1Ni45OTQ0MTA3NDIgKzAyMDAKIEBAIC02MDQsMTEg KzYwNCwxMSBAQAogIAogIAljYXNlIExPQ19DT05TVF9CWVRFUzoKQEAgLTI3MDYsMTAgKzI3MDks MTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9zeW1taXNjLmMKICAJICAgIGZv ciAoaSA9IDA7IGkgPCBUWVBFX0xFTkdUSCAodHlwZSk7IGkrKykKICAJICAgICAgZnByaW50Zl9m aWx0ZXJlZCAob3V0ZmlsZSwgIiAlMDJ4IiwKICAJCQkJKHVuc2lnbmVkKSBTWU1CT0xfVkFMVUVf QllURVMgKHN5bWJvbClbaV0pOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90YXJn ZXQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90YXJnZXQuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3RhcmdldC5jCTIwMTctMDItMjYg MjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rh cmdldC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDQ2NjA5OTk0ICswMTAwCistLS0gZ2RiLTcuOTku OTAuMjAxNzA0MjAub3JpZy9nZGIvdGFyZ2V0LmMJMjAxNy0wNC0yMCAyMzowODo1NC4xNzkzOTQ4 NzkgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGFyZ2V0LmMJMjAxNy0wNC0y MCAyMzowODo1Ni45OTU0MTA3NDcgKzAyMDAKIEBAIC01Nyw3ICs1Nyw3IEBACiAgCQkJCQkJIENP UkVfQUREUiwgQ09SRV9BRERSLCBpbnQpOwogIApAQCAtMjcyOCwxMCArMjczMSwxMCBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3RhcmdldC5jCiAgewogICAgcmV0dXJuIChsZW4g PD0gZ2RiYXJjaF9wdHJfYml0ICh0YXJnZXRfZ2RiYXJjaCAoKSkgLyBUQVJHRVRfQ0hBUl9CSVQp OwogIH0KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdGFyZ2V0LmgKK0luZGV4OiBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGFyZ2V0LmgKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4x Mi41MC4yMDE3MDIyNi5vcmlnL2dkYi90YXJnZXQuaAkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0Mzcx OTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90YXJnZXQuaAkyMDE3LTAy LTI2IDIyOjA0OjAzLjQ0NzYxMDAwMSArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9y aWcvZ2RiL3RhcmdldC5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTgwMzk0ODg1ICswMjAwCisrKysg Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3RhcmdldC5oCTIwMTctMDQtMjAgMjM6MDg6NTYuOTk2 NDEwNzUzICswMjAwCiBAQCAtNTU1LDcgKzU1NSw3IEBACiAgICAgIC8qIERvY3VtZW50YXRpb24g b2YgdGhpcyByb3V0aW5lIGlzIHByb3ZpZGVkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcKICAgICAg ICAgdGFyZ2V0XyogbWFjcm8uICAqLwpAQCAtMjc0MSwxMSArMjc0NCwxMSBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3RhcmdldC5oCiAgICAgICAgVEFSR0VUX0RFRkFVTFRfRlVO QyAoZGVmYXVsdF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQpOwogIAogICAgICBpbnQgKCp0 b19jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24pIChzdHJ1Y3QgdGFyZ2V0X29wcyAqLAot SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90cmFjZXBvaW50LmMKK0luZGV4OiBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvdHJhY2Vwb2ludC5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu MTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvdHJhY2Vwb2ludC5jCTIwMTctMDItMjYgMjE6NTk6MzYu MDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3RyYWNlcG9pbnQu YwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ0ODYxMDAwOCArMDEwMAotQEAgLTkwOCwxMCArOTA4LDEw IEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdHJhY2Vwb2ludC5jCTIwMTct MDQtMjAgMjM6MDg6NTQuMTgyMzk0ODk2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL3RyYWNlcG9pbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk5NzQxMDc1OCArMDIwMAorQEAg LTkwNCwxMCArOTA0LDEwIEBACiAgdm9pZAogIGNvbGxlY3Rpb25fbGlzdDo6YWRkX21lbXJhbmdl IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAJCQkgICAgICAgaW50IHR5cGUsIGJmZF9zaWdu ZWRfdm1hIGJhc2UsCkBAIC0yNzU4LDcgKzI3NjEsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL3RyYWNlcG9pbnQuYwogIAogICAgLyogdHlwZTogbWVtcmFuZ2VfYWJzb2x1dGUg PT0gbWVtb3J5LCBvdGhlciBuID09IGJhc2VyZWcgKi8KICAgIC8qIGJhc2U6IGFkZHIgaWYgbWVt b3J5LCBvZmZzZXQgaWYgcmVnIHJlbGF0aXZlLiAgKi8KLUBAIC05MzEsNyArOTMxLDcgQEAKK0BA IC05MjcsNyArOTI3LDcgQEAKICAJCQkJIENPUkVfQUREUiBzY29wZSwKICAJCQkJIGludCB0cmFj ZV9zdHJpbmcpCiAgewpAQCAtMjc2Nyw3ICsyNzcwLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi90cmFjZXBvaW50LmMKICAgIHVuc2lnbmVkIGludCByZWc7CiAgICBiZmRfc2ln bmVkX3ZtYSBvZmZzZXQ7CiAgICBpbnQgdHJlYXRfYXNfZXhwciA9IDA7Ci1AQCAtOTUyLDggKzk1 Miw4IEBACitAQCAtOTQ4LDggKzk0OCw4IEBACiAgICAgICAgb2Zmc2V0ID0gU1lNQk9MX1ZBTFVF X0FERFJFU1MgKHN5bSk7CiAgICAgICAgaWYgKGluZm9fdmVyYm9zZSkKICAJewpAQCAtMjc3OCw3 ICsyNzgxLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90cmFjZXBvaW50LmMK ICAJCQkgICBwYWRkcmVzcyAoZ2RiYXJjaCwgb2Zmc2V0KSk7CiAgCX0KICAgICAgICAvKiBBIHN0 cnVjdCBtYXkgYmUgYSBDKysgY2xhc3Mgd2l0aCBzdGF0aWMgZmllbGRzLCBnbyB0byBnZW5lcmFs Ci1AQCAtOTg1LDkgKzk4NSw5IEBACitAQCAtOTgxLDkgKzk4MSw5IEBACiAgICAgICAgb2Zmc2V0 ID0gZnJhbWVfb2Zmc2V0ICsgU1lNQk9MX1ZBTFVFIChzeW0pOwogICAgICAgIGlmIChpbmZvX3Zl cmJvc2UpCiAgCXsKQEAgLTI3OTAsNyArMjc5Myw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvdHJhY2Vwb2ludC5jCiAgCQkJICAgcGFkZHJlc3MgKGdkYmFyY2gsIG9mZnNldCks IHJlZyk7CiAgCX0KICAgICAgICBhZGRfbWVtcmFuZ2UgKGdkYmFyY2gsIHJlZywgb2Zmc2V0LCBs ZW4pOwotQEAgLTk5Nyw5ICs5OTcsOSBAQAorQEAgLTk5Myw5ICs5OTMsOSBAQAogICAgICAgIG9m ZnNldCA9IDA7CiAgICAgICAgaWYgKGluZm9fdmVyYm9zZSkKICAJewpAQCAtMjgwMiw3ICsyODA1 LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90cmFjZXBvaW50LmMKICAJCQkg ICBwYWRkcmVzcyAoZ2RiYXJjaCwgb2Zmc2V0KSwgcmVnKTsKICAJfQogICAgICAgIGFkZF9tZW1y YW5nZSAoZ2RiYXJjaCwgcmVnLCBvZmZzZXQsIGxlbik7Ci1AQCAtMTAwOSw5ICsxMDA5LDkgQEAK K0BAIC0xMDA1LDkgKzEwMDUsOSBAQAogICAgICAgIG9mZnNldCA9IGZyYW1lX29mZnNldCArIFNZ TUJPTF9WQUxVRSAoc3ltKTsKICAgICAgICBpZiAoaW5mb192ZXJib3NlKQogIAl7CkBAIC0yODE0 LDcgKzI4MTcsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3RyYWNlcG9pbnQu YwogIAkJCSAgIHBhZGRyZXNzIChnZGJhcmNoLCBvZmZzZXQpLCByZWcpOwogIAl9CiAgICAgICAg YWRkX21lbXJhbmdlIChnZGJhcmNoLCByZWcsIG9mZnNldCwgbGVuKTsKLUBAIC0yNTgzLDcgKzI1 ODMsOCBAQAorQEAgLTI1ODUsNyArMjU4NSw4IEBACiAgICBjb25zdCBjaGFyICpzeW1uYW1lOwog ICAgY2hhciAqc2F2ZV9hcmdzID0gYXJnczsKICAgIHN0cnVjdCBibG9ja19pdGVyYXRvciBpdGVy OwpAQCAtMjgyMyw3ICsyODI2LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90 cmFjZXBvaW50LmMKICsgIExPTkdFU1QgajsKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoOwog ICAgaW50IHJlZ25vOwotICAgc3RydWN0IGV2ZW50X2xvY2F0aW9uICpsb2NhdGlvbjsKKyAKIEBA IC0yNzI3LDggKzI3MjgsMTEgQEAKICAJCX0KICAJICAgIH0KQEAgLTI4MzgsMTAgKzI4NDEsMTAg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90cmFjZXBvaW50LmMKICAJfQogICAg ICAgIGlmIChCTE9DS19GVU5DVElPTiAoYmxvY2spKQogIAlicmVhazsKLUluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvdmFsYXJpdGguYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi92YWxhcml0aC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3Jp Zy9nZGIvdmFsYXJpdGguYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysr IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxhcml0aC5jCTIwMTctMDItMjYgMjI6MDQ6MDMu NDQ4NjEwMDA4ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdmFsYXJp dGguYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE4MjM5NDg5NiArMDIwMAorKysrIGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi92YWxhcml0aC5jCTIwMTctMDQtMjAgMjM6MDg6NTYuOTk3NDEwNzU4ICsw MjAwCiBAQCAtMTg4LDcgKzE4OCw3IEBACiAgICAgdG8gZG91YmxlcywgYnV0IG5vIGxvbmdlciBk b2VzLiAgKi8KICAKQEAgLTI4ODQsMTAgKzI4ODcsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi92YWxhcml0aC5jCiAgCiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCiAg ICAgIHsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdmFsb3BzLmMKK0luZGV4OiBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmFsb3BzLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4x Mi41MC4yMDE3MDIyNi5vcmlnL2dkYi92YWxvcHMuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0Mzcx OTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxvcHMuYwkyMDE3LTAy LTI2IDIyOjA0OjAzLjQ0OTYxMDAxNSArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9y aWcvZ2RiL3ZhbG9wcy5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTg0Mzk0OTA4ICswMjAwCisrKysg Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbG9wcy5jCTIwMTctMDQtMjAgMjM6MDg6NTYuOTk4 NDEwNzY0ICswMjAwCiBAQCAtNzksNyArNzksNyBAQAogIAkJCQkJICAgaW50LCBpbnQpOwogIApA QCAtMjkwNiw3ICsyOTA5LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxv cHMuYwogIHsKICAgIHN0cnVjdCBvYmpmaWxlICpvYmpmOwogICAgc3RydWN0IHZhbHVlICp2YWwg PSBmaW5kX2Z1bmN0aW9uX2luX2luZmVyaW9yICgibWFsbG9jIiwgJm9iamYpOwotQEAgLTM5Nywx MiArMzk3LDEyIEBACitAQCAtMzkzLDEyICszOTMsMTIgQEAKICAgIGlmIChjb2RlMSA9PSBUWVBF X0NPREVfQVJSQVkpCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqZWxlbWVudF90eXBlID0g VFlQRV9UQVJHRVRfVFlQRSAodHlwZSk7CkBAIC0yOTIxLDcgKzI5MjQsNyBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3ZhbG9wcy5jCiAgCSAgTE9OR0VTVCBsb3dfYm91bmQsIGhp Z2hfYm91bmQsIG5ld19sZW5ndGg7CiAgCiAgCSAgaWYgKGdldF9kaXNjcmV0ZV9ib3VuZHMgKHJh bmdlX3R5cGUsICZsb3dfYm91bmQsICZoaWdoX2JvdW5kKSA8IDApCi1AQCAtMTA2Myw3ICsxMDYz LDcgQEAKK0BAIC0xMDY0LDcgKzEwNjQsNyBAQAogICAgICAgIHsKICAJY29uc3QgZ2RiX2J5dGUg KmRlc3RfYnVmZmVyOwogIAlDT1JFX0FERFIgY2hhbmdlZF9hZGRyOwpAQCAtMjkzMCw3ICsyOTMz LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxvcHMuYwogICAgICAgICAg Z2RiX2J5dGUgYnVmZmVyW3NpemVvZiAoTE9OR0VTVCldOwogIAogIAlpZiAodmFsdWVfYml0c2l6 ZSAodG92YWwpKQotQEAgLTMzMzUsNyArMzMzNSw3IEBACitAQCAtMzMzOSw3ICszMzM5LDcgQEAK ICAgICB0aGUgZm9ybSAiRE9NQUlOOjpOQU1FIi4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1 ZSAqCkBAIC0yOTM5LDcgKzI5NDIsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L3ZhbG9wcy5jCiAgCQkJCXN0cnVjdCB0eXBlICpjdXJ0eXBlLCBjb25zdCBjaGFyICpuYW1lLAog IAkJCQlzdHJ1Y3QgdHlwZSAqaW50eXBlLCAKICAJCQkJaW50IHdhbnRfYWRkcmVzcywKLUBAIC0z MzY5LDcgKzMzNjksNyBAQAorQEAgLTMzNzMsNyArMzM3Myw3IEBACiAgCSAgaWYgKHdhbnRfYWRk cmVzcykKICAJICAgIHJldHVybiB2YWx1ZV9mcm9tX2xvbmdlc3QKICAJICAgICAgKGxvb2t1cF9t ZW1iZXJwdHJfdHlwZSAoVFlQRV9GSUVMRF9UWVBFICh0LCBpKSwgZG9tYWluKSwKQEAgLTI5NDgs NyArMjk1MSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdmFsb3BzLmMKICAJ ICBlbHNlIGlmIChub3NpZGUgIT0gRVZBTF9OT1JNQUwpCiAgCSAgICByZXR1cm4gYWxsb2NhdGVf dmFsdWUgKFRZUEVfRklFTERfVFlQRSAodCwgaSkpOwogIAkgIGVsc2UKLUBAIC0zNTM3LDcgKzM1 MzcsNyBAQAorQEAgLTM1NDEsNyArMzU0MSw3IEBACiAgICBmb3IgKGkgPSBUWVBFX05fQkFTRUNM QVNTRVMgKHQpIC0gMTsgaSA+PSAwOyBpLS0pCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdmFsdWUg KnY7CkBAIC0yOTU3LDcgKzI5NjAsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L3ZhbG9wcy5jCiAgCiAgICAgICAgaWYgKEJBU0VUWVBFX1ZJQV9WSVJUVUFMICh0LCBpKSkKICAJ YmFzZV9vZmZzZXQgPSAwOwotQEAgLTM2ODYsNyArMzY4Niw3IEBACitAQCAtMzY5MCw3ICszNjkw LDcgQEAKICBzdHJ1Y3QgdmFsdWUgKgogIHZhbHVlX2Z1bGxfb2JqZWN0IChzdHJ1Y3QgdmFsdWUg KmFyZ3AsIAogIAkJICAgc3RydWN0IHR5cGUgKnJ0eXBlLCAKQEAgLTI5NjYsMTAgKzI5NjksMTAg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxvcHMuYwogIAkJICAgaW50IHh1 c2luZ19lbmMpCiAgewogICAgc3RydWN0IHR5cGUgKnJlYWxfdHlwZTsKLUluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvdmFscHJpbnQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi92YWxwcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3Jp Zy9nZGIvdmFscHJpbnQuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysr IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxwcmludC5jCTIwMTctMDItMjYgMjI6MDQ6MDMu NDUwNjEwMDIyICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdmFscHJp bnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE4NTM5NDkxMyArMDIwMAorKysrIGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi92YWxwcmludC5jCTIwMTctMDQtMjAgMjM6MDg6NTYuOTk4NDEwNzY0ICsw MjAwCiBAQCAtOTMzLDcgKzkzMyw3IEBACiAgCiAgdm9pZApAQCAtMjk3OSw3ICsyOTgyLDcgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxwcmludC5jCiAgCQkgICBzdHJ1Y3Qg dWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCSAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2lu YWxfdmFsdWUsCiAgCQkgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9u cywKLUBAIC0xODY5LDcgKzE4NjksNyBAQAorQEAgLTE4NzMsNyArMTg3Myw3IEBACiAgCiAgdm9p ZAogIHByaW50X2hleF9jaGFycyAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgY29uc3QgZ2RiX2J5 dGUgKnZhbGFkZHIsCkBAIC0yOTg4LDcgKzI5OTEsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL3ZhbHByaW50LmMKICB7CiAgICBjb25zdCBnZGJfYnl0ZSAqcDsKICAKLUBAIC0x OTkxLDE3ICsxOTkxLDE3IEBACitAQCAtMTk5NSwxNyArMTk5NSwxNyBAQAogIAkJCSAgaW50IHJl Y3Vyc2UsCiAgCQkJICBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJCQkgIGNvbnN0IHN0cnVjdCB2YWx1 ZV9wcmludF9vcHRpb25zICpvcHRpb25zLApAQCAtMzAxMSw3ICszMDE0LDcgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxwcmludC5jCiAgICBMT05HRVNUIGxvd19ib3VuZCwg aGlnaF9ib3VuZDsKICAgIExPTkdFU1QgbG93X3BvcywgaGlnaF9wb3M7CiAgCi1AQCAtMjA5MSw3 ICsyMDkxLDcgQEAKK0BAIC0yMDk1LDcgKzIwOTUsNyBAQAogIAkJICAgICBhZGRyZXNzLCBzdHJl YW0sIHJlY3Vyc2UgKyAxLCB2YWwsIG9wdGlvbnMsCiAgCQkgICAgIGN1cnJlbnRfbGFuZ3VhZ2Up OwogIAkgIGFubm90YXRlX2VsdF9yZXAgKHJlcHMpOwpAQCAtMzAyMCw3ICszMDIzLDcgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxwcmludC5jCiAgCSAgYW5ub3RhdGVfZWx0 X3JlcF9lbmQgKCk7CiAgCiAgCSAgaSA9IHJlcDEgLSAxOwotQEAgLTI3NDMsNyArMjc0Myw3IEBA CitAQCAtMjc0Nyw3ICsyNzQ3LDcgQEAKICAKICB2b2lkCiAgZ2VuZXJpY19wcmludHN0ciAoc3Ry dWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IHR5cGUgKnR5cGUsIApAQCAtMzAyOSwxMCArMzAz MiwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3ZhbHByaW50LmMKICAJCSAg Y29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKICAJCSAgaW50IHF1b3Rl X2NoYXIsIGludCBjX3N0eWxlX3Rlcm1pbmF0b3IsCiAgCQkgIGNvbnN0IHN0cnVjdCB2YWx1ZV9w cmludF9vcHRpb25zICpvcHRpb25zKQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92 YWxwcmludC5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbHByaW50LmgKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi92YWxwcmludC5oCTIw MTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL3ZhbHByaW50LmgJMjAxNy0wMi0yNiAyMjowNDowMy40NTA2MTAwMjIgKzAxMDAKKy0t LSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi92YWxwcmludC5oCTIwMTctMDQtMjAgMjM6 MDg6NTQuMTg2Mzk0OTE5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbHBy aW50LmgJMjAxNy0wNC0yMCAyMzowODo1Ni45OTg0MTA3NjQgKzAyMDAKIEBAIC0xMTksNyArMTE5 LDcgQEAKICAJCQkJICAgICAgQ09SRV9BRERSLCBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCiAgCQkJ CSAgICAgIHN0cnVjdCB2YWx1ZSAqLApAQCAtMzA2OSwxMCArMzA3MiwxMCBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3ZhbHByaW50LmgKICAJCQkgICAgICBjb25zdCBjaGFyICpl bmNvZGluZywgaW50IGZvcmNlX2VsbGlwc2VzLAogIAkJCSAgICAgIGludCBxdW90ZV9jaGFyLCBp bnQgY19zdHlsZV90ZXJtaW5hdG9yLAogIAkJCSAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmlu dF9vcHRpb25zICpvcHRpb25zKTsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdmFs dWUuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWx1ZS5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvdmFsdWUuYwkyMDE3LTAyLTI2IDIx OjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWx1 ZS5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDUxNjEwMDI5ICswMTAwCistLS0gZ2RiLTcuOTkuOTAu MjAxNzA0MjAub3JpZy9nZGIvdmFsdWUuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE4NzM5NDkyNCAr MDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWx1ZS5jCTIwMTctMDQtMjAgMjM6 MDg6NTYuOTk5NDEwNzcwICswMjAwCiBAQCAtMzY3LDcgKzM2Nyw4IEBACiAgfQogIApAQCAtMzA5 Niw3ICszMDk5LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWx1ZS5jCiAg ewogICAgLyogRWFjaCBhcnJheSBlbGVtZW50IGNvcnJlc3BvbmRzIHRvIGEgcmFuZ2VzIHNvdXJj ZSAodW5hdmFpbGFibGUsCiAgICAgICBvcHRpbWl6ZWQgb3V0KS4gICcxJyBpcyBmb3IgVkFMMSwg JzInIGZvciBWQUwyLiAgKi8KLUBAIC0xNDU2LDcgKzE0NTcsOCBAQAorQEAgLTE0NTUsNyArMTQ1 Niw4IEBACiAgICAgdGhlIGZvbGxvd2luZyBMRU5HVEggYnl0ZXMuICAqLwogIAogIHZvaWQKQEAg LTMxMDYsMTAgKzMxMDksMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWx1 ZS5jCiAgewogICAgbWFya192YWx1ZV9iaXRzX29wdGltaXplZF9vdXQgKHZhbHVlLAogIAkJCQkg b2Zmc2V0ICogVEFSR0VUX0NIQVJfQklULAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi92YWx1ZS5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbHVlLmgKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi92YWx1ZS5oCTIwMTctMDIt MjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L3ZhbHVlLmgJMjAxNy0wMi0yNiAyMjowNDowMy40NTE2MTAwMjkgKzAxMDAKKy0tLSBnZGItNy45 OS45MC4yMDE3MDQyMC5vcmlnL2dkYi92YWx1ZS5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTg3Mzk0 OTI0ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbHVlLmgJMjAxNy0wNC0y MCAyMzowODo1Ni45OTk0MTA3NzAgKzAyMDAKIEBAIC0yNDYsNyArMjQ2LDcgQEAKICAgIC8qIElm IG5vbi1OVUxMLCB0aGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGluZGljYXRl ZCBiaXRzCiAgICAgICBvZiBWQUxVRSBhcmUgYSBzeW50aGV0aWMgcG9pbnRlci4gICovCkBAIC0z MTY2LDExICszMTY5LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdmFsdWUu aAogIAogIC8qIFVzZXIgZnVuY3Rpb24gaGFuZGxlci4gICovCiAgCi1JbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL3MzOTAtbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvczM5MC1saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIw MTcwMjI2Lm9yaWcvZ2RiL3MzOTAtbGludXgtbmF0LmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3 MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvczM5MC1saW51eC1uYXQu YwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ1MTYxMDAyOSArMDEwMAotQEAgLTg5OSw3ICs4OTksNyBA QAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3MzOTAtbGludXgtbmF0LmMJMjAx Ny0wNC0yMCAyMzowODo1NC4xODgzOTQ5MzAgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvczM5MC1saW51eC1uYXQuYwkyMDE3LTA0LTIwIDIzOjA4OjU3LjAwMDQxMDc3NSArMDIw MAorQEAgLTkwMCw3ICs5MDAsNyBAQAogIAogIHN0YXRpYyBpbnQKICBzMzkwX3JlZ2lvbl9va19m b3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCkBAIC0zMTc5LDEwICsz MTgyLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvczM5MC1saW51eC1uYXQu YwogIHsKICAgIHJldHVybiAxOwogIH0KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIv dGFyZ2V0LWRlbGVnYXRlcy5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rhcmdl dC1kZWxlZ2F0ZXMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcv Z2RiL3RhcmdldC1kZWxlZ2F0ZXMuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEw MAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90YXJnZXQtZGVsZWdhdGVzLmMJMjAxNy0w Mi0yNiAyMjowNDowMy40NTI2MTAwMzYgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5v cmlnL2dkYi90YXJnZXQtZGVsZWdhdGVzLmMJMjAxNy0wNC0yMCAyMzowODo1NC4xODkzOTQ5MzYg KzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCTIw MTctMDQtMjAgMjM6MDg6NTcuMDAwNDEwNzc1ICswMjAwCiBAQCAtNzYwLDE0ICs3NjAsMTQgQEAK ICB9CiAgCkBAIC0zMjA5LDEwICszMjEyLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCiAgICBmcHV0c191bmZpbHRlcmVkICgiKSA9ICIsIGdk Yl9zdGRsb2cpOwogICAgdGFyZ2V0X2RlYnVnX3ByaW50X2ludCAocmVzdWx0KTsKICAgIGZwdXRz X3VuZmlsdGVyZWQgKCJcbiIsIGdkYl9zdGRsb2cpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2FhcmNoNjQtbGludXgtbmF0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3 MDIyNi5vcmlnL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQz NzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FhcmNoNjQtbGludXgt bmF0LmMJMjAxNy0wMi0yNiAyMjowNDowMy40NTI2MTAwMzYgKzAxMDAKKy0tLSBnZGItNy45OS45 MC4yMDE3MDQyMC5vcmlnL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCTIwMTctMDQtMjAgMjM6MDg6 NTQuMTg5Mzk0OTM2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2FhcmNoNjQt bGludXgtbmF0LmMJMjAxNy0wNC0yMCAyMzowODo1Ny4wMDE0MTA3ODEgKzAyMDAKIEBAIC03MDgs NyArNzA4LDcgQEAKICAKICBzdGF0aWMgaW50CkBAIC0zMjIyLDEwICszMjI1LDEwIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWFyY2g2NC1saW51eC1uYXQuYwogIHsKICAgIHJl dHVybiBhYXJjaDY0X2xpbnV4X3JlZ2lvbl9va19mb3Jfd2F0Y2hwb2ludCAoYWRkciwgbGVuKTsK ICB9Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL25hdC94ODYtZHJlZ3MuYworSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9uYXQveDg2LWRyZWdzLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9uYXQveDg2LWRyZWdzLmMJMjAxNy0w Mi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvbmF0L3g4Ni1kcmVncy5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDUzNjEwMDQzICswMTAwCist LS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvbmF0L3g4Ni1kcmVncy5jCTIwMTctMDQt MjAgMjM6MDg6NTQuMTg5Mzk0OTM2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L25hdC94ODYtZHJlZ3MuYwkyMDE3LTA0LTIwIDIzOjA4OjU3LjAwMTQxMDc4MSArMDIwMAogQEAg LTM4NCw3ICszODQsNyBAQAogIAogIHN0YXRpYyBpbnQKQEAgLTMyNDQsMTEgKzMyNDcsMTEgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9uYXQveDg2LWRyZWdzLmMKICB7CiAgICBp bnQgbnJlZ3M7CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2NvbXBpbGUvY29t cGlsZS1jLXN1cHBvcnQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jb21waWxl L2NvbXBpbGUtYy1zdXBwb3J0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIy Ni5vcmlnL2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMJMjAxNy0wMi0yNiAyMTo1OToz Ni4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvY29tcGlsZS9j b21waWxlLWMtc3VwcG9ydC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDUzNjEwMDQzICswMTAwCi1A QCAtMzA3LDExICszMDcsMTEgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9j b21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMJMjAxNy0wNC0yMCAyMzowODo1NC4xODkzOTQ5MzYg KzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvY29tcGlsZS9jb21waWxlLWMtc3Vw cG9ydC5jCTIwMTctMDQtMjAgMjM6MDg6NTcuMDAxNDEwNzgxICswMjAwCitAQCAtMzA5LDExICsz MDksMTEgQEAKICAKICAJICAgICAgZGVmYXVsdDoKICAJCWZwcmludGZfdW5maWx0ZXJlZCAoc3Ry ZWFtLApAQCAtMzI2MiwxMCArMzI2NSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYv Z2RiL2NvbXBpbGUvY29tcGlsZS1jLXN1cHBvcnQuYwogIAkgICAgICB9CiAgCSAgICBmcHV0c191 bmZpbHRlcmVkICgiO1xuIiwgc3RyZWFtKTsKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvbmF0L3g4Ni1kcmVncy5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL25h dC94ODYtZHJlZ3MuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcv Z2RiL25hdC94ODYtZHJlZ3MuaAkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9uYXQveDg2LWRyZWdzLmgJMjAxNy0wMi0yNiAy MjowNDowMy40NTM2MTAwNDMgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi9uYXQveDg2LWRyZWdzLmgJMjAxNy0wNC0yMCAyMzowODo1NC4xOTAzOTQ5NDIgKzAyMDAKKysr KyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbmF0L3g4Ni1kcmVncy5oCTIwMTctMDQtMjAgMjM6 MDg6NTcuMDAxNDEwNzgxICswMjAwCiBAQCAtMTE2LDcgKzExNiw3IEBACiAgLyogUmV0dXJuIG5v bi16ZXJvIGlmIHdlIGNhbiB3YXRjaCBhIG1lbW9yeSByZWdpb24gdGhhdCBzdGFydHMgYXQKICAg ICBhZGRyZXNzIEFERFIgYW5kIHdob3NlIGxlbmd0aCBpcyBMRU4gYnl0ZXMuICAqLwpAQCAtMzI3 NSwxMCArMzI3OCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL25hdC94ODYt ZHJlZ3MuaAogIAogIC8qIElmIHRoZSBpbmZlcmlvciBoYXMgc29tZSBicmVhay93YXRjaHBvaW50 IHRoYXQgdHJpZ2dlcmVkLCBzZXQgdGhlCiAgICAgYWRkcmVzcyBhc3NvY2lhdGVkIHdpdGggdGhh dCBicmVhay93YXRjaHBvaW50IGFuZCByZXR1cm4gdHJ1ZS4KLUluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIyNi9nZGIveDg2LW5hdC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3g4 Ni1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3g4 Ni1uYXQuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEy LjUwLjIwMTcwMjI2L2dkYi94ODYtbmF0LmMJMjAxNy0wMi0yNiAyMjowNDowMy40NTM2MTAwNDMg KzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi94ODYtbmF0LmMJMjAxNy0w NC0yMCAyMzowODo1NC4xOTAzOTQ5NDIgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIveDg2LW5hdC5jCTIwMTctMDQtMjAgMjM6MDg6NTcuMDAxNDEwNzgxICswMjAwCiBAQCAtMTc0 LDcgKzE3NCw3IEBACiAgCiAgc3RhdGljIGludApAQCAtMzI4OCwxMCArMzI5MSwxMCBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3g4Ni1uYXQuYwogIHsKICAgIHN0cnVjdCB4ODZf ZGVidWdfcmVnX3N0YXRlICpzdGF0ZQogICAgICA9IHg4Nl9kZWJ1Z19yZWdfc3RhdGUgKHB0aWRf Z2V0X3BpZCAoaW5mZXJpb3JfcHRpZCkpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9ydXN0LWxhbmcuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ydXN0LWxhbmcu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3J1c3QtbGFu Zy5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL3J1c3QtbGFuZy5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDU0NjEwMDUwICsw MTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvcnVzdC1sYW5nLmMJMjAxNy0w NC0yMCAyMzowODo1NC4xOTAzOTQ5NDIgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvcnVzdC1sYW5nLmMJMjAxNy0wNC0yMCAyMzowODo1Ny4wMDI0MTA3ODcgKzAyMDAKIEBAIC00 MzksNyArNDM5LDcgQEAKICAKICBzdGF0aWMgdm9pZApAQCAtMzMxMCwxMCArMzMxMywxMCBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3J1c3QtbGFuZy5jCiAgCQlDT1JFX0FERFIg YWRkcmVzcywgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAgCQlzdHJ1Y3Qg dmFsdWUgKnZhbCwKICAJCWNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25z KQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hcmNoLXV0aWxzLmMKK0luZGV4OiBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYXJjaC11dGlscy5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvYXJjaC11dGlscy5jCTIwMTctMDItMjYgMjE6NTk6 MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FyY2gtdXRp bHMuYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ1NDYxMDA1MCArMDEwMAorLS0tIGdkYi03Ljk5Ljkw LjIwMTcwNDIwLm9yaWcvZ2RiL2FyY2gtdXRpbHMuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE5MTM5 NDk0NyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hcmNoLXV0aWxzLmMJMjAx Ny0wNC0yMCAyMzowODo1Ny4wMDI0MTA3ODcgKzAyMDAKIEBAIC0yNDcsNyArMjQ3LDcgQEAKICAK ICBjb25zdCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKioKQEAgLTMzMjMsMTAgKzMzMjYsMTAgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hcmNoLXV0aWxzLmMKICB7CiAgICBjb25zdCBz dHJ1Y3QgZmxvYXRmb3JtYXQgKipmb3JtYXQgPSBOVUxMOwogIAotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi9hcmNoLXV0aWxzLmgKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvYXJjaC11dGlscy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3Jp Zy9nZGIvYXJjaC11dGlscy5oCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0r KysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FyY2gtdXRpbHMuaAkyMDE3LTAyLTI2IDIyOjA0 OjAzLjQ1NDYxMDA1MCArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2Fy Y2gtdXRpbHMuaAkyMDE3LTA0LTIwIDIzOjA4OjU0LjE5MTM5NDk0NyArMDIwMAorKysrIGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9hcmNoLXV0aWxzLmgJMjAxNy0wNC0yMCAyMzowODo1Ny4wMDI0 MTA3ODcgKzAyMDAKIEBAIC0xNDQsNyArMTQ0LDcgQEAKICAvKiBEZWZhdWx0IGltcGxlbWVudGF0 aW9uIG9mIGdkYmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5cGUuICAqLwogIGV4dGVybiBjb25zdCBz dHJ1Y3QgZmxvYXRmb3JtYXQgKioKQEAgLTMzMzYsMTAgKzMzMzksMTAgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9hcmNoLXV0aWxzLmgKICAKICBleHRlcm4gQ09SRV9BRERSIGdl bmVyaWNfc2tpcF90cmFtcG9saW5lX2NvZGUgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAJ CQkJCSAgICAgICBDT1JFX0FERFIgcGMpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9maW5kY21kLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZmluZGNtZC5jCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZmluZGNtZC5jCTIw MTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL2ZpbmRjbWQuYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ1NDYxMDA1MCArMDEwMAorLS0t IGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2ZpbmRjbWQuYwkyMDE3LTA0LTIwIDIzOjA4 OjU0LjE5MTM5NDk0NyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9maW5kY21k LmMJMjAxNy0wNC0yMCAyMzowODo1Ny4wMDI0MTA3ODcgKzAyMDAKIEBAIC0xODAsNyArMTgwLDcg QEAKICAJIG5lZWQgdG8gZ3JvdyB0aGUgcGF0dGVybiBidWYuICAqLwogICAgICAgIHBhdHRlcm5f YnVmX3NpemVfbmVlZCA9IChwYXR0ZXJuX2J1Zl9lbmQgLSBwYXR0ZXJuX2J1ZgpAQCAtMzM0OSwx MSArMzM1MiwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2ZpbmRjbWQuYwog ICAgICAgIGlmIChwYXR0ZXJuX2J1Zl9zaXplX25lZWQgPiBwYXR0ZXJuX2J1Zl9zaXplKQogIAl7 CiAgCSAgc2l6ZV90IGN1cnJlbnRfb2Zmc2V0ID0gcGF0dGVybl9idWZfZW5kIC0gcGF0dGVybl9i dWY7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYmFyY2guYworSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJhcmNoLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4x Mi41MC4yMDE3MDIyNi5vcmlnL2dkYi9nZGJhcmNoLmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3 MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2RiYXJjaC5jCTIwMTct MDItMjYgMjI6MDQ6MDMuNDU1NjEwMDU3ICswMTAwCi1AQCAtMTc0MCw3ICsxNzQwLDcgQEAKKy0t LSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9nZGJhcmNoLmMJMjAxNy0wNC0yMCAyMzow ODo1NC4xOTIzOTQ5NTMgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ2RiYXJj aC5jCTIwMTctMDQtMjAgMjM6MDg6NTcuMDAzNDEwNzkyICswMjAwCitAQCAtMTgwNiw3ICsxODA2 LDcgQEAKICB9CiAgCiAgY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqCkBAIC0zMzYyLDExICsz MzY1LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2RiYXJjaC5jCiAgewog ICAgZ2RiX2Fzc2VydCAoZ2RiYXJjaCAhPSBOVUxMKTsKICAgIGdkYl9hc3NlcnQgKGdkYmFyY2gt PmZsb2F0Zm9ybWF0X2Zvcl90eXBlICE9IE5VTEwpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi9nZGJhcmNoLmgKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ2RiYXJj aC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZ2RiYXJj aC5oCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL2dkYmFyY2guaAkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ1NjYxMDA2NCArMDEw MAotQEAgLTE5MSw4ICsxOTEsOCBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2Ri L2dkYmFyY2guaAkyMDE3LTA0LTIwIDIzOjA4OjU0LjE5MjM5NDk1MyArMDIwMAorKysrIGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJhcmNoLmgJMjAxNy0wNC0yMCAyMzowODo1Ny4wMDQ0MTA3 OTggKzAyMDAKK0BAIC0yMDMsOCArMjAzLDggQEAKICAgICBOQU1FLCBpZiBub24tTlVMTCwgaXMg dGhlIHR5cGUgbmFtZSwgd2hpY2ggbWF5IGJlIHVzZWQgdG8gZGlzdGluZ3Vpc2gKICAgICBkaWZm ZXJlbnQgdGFyZ2V0IGZvcm1hdHMgb2YgdGhlIHNhbWUgbGVuZ3RoLiAqLwogIApAQCAtMzM3Nywx MSArMzM4MCwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYmFyY2guaAog IGV4dGVybiB2b2lkIHNldF9nZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwgZ2RiYXJjaF9mbG9hdGZvcm1hdF9mb3JfdHlwZV9mdHlwZSAqZmxvYXRm b3JtYXRfZm9yX3R5cGUpOwogIAogIC8qIEZvciBtb3N0IHRhcmdldHMsIGEgcG9pbnRlciBvbiB0 aGUgdGFyZ2V0IGFuZCBpdHMgcmVwcmVzZW50YXRpb24gYXMgYW4KLUluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvZ2RiYXJjaC5zaAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9nZGJhcmNoLnNoCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9n ZGIvZ2RiYXJjaC5zaAkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJhcmNoLnNoCTIwMTctMDItMjYgMjI6MDQ6MDMuNDU2 NjEwMDY0ICswMTAwCi1AQCAtMzg2LDcgKzM4Niw3IEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0 MjAub3JpZy9nZGIvZ2RiYXJjaC5zaAkyMDE3LTA0LTIwIDIzOjA4OjU0LjE5MzM5NDk1OCArMDIw MAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJhcmNoLnNoCTIwMTctMDQtMjAgMjM6 MDg6NTcuMDA0NDEwNzk4ICswMjAwCitAQCAtMzkyLDcgKzM5Miw3IEBACiAgIyBSZXR1cm5zIHRo ZSBmbG9hdGluZy1wb2ludCBmb3JtYXQgdG8gYmUgdXNlZCBmb3IgdmFsdWVzIG9mIGxlbmd0aCBM RU5HVEguCiAgIyBOQU1FLCBpZiBub24tTlVMTCwgaXMgdGhlIHR5cGUgbmFtZSwgd2hpY2ggbWF5 IGJlIHVzZWQgdG8gZGlzdGluZ3Vpc2gKICAjIGRpZmZlcmVudCB0YXJnZXQgZm9ybWF0cyBvZiB0 aGUgc2FtZSBsZW5ndGguCkBAIC0zMzkwLDExICszMzkzLDExIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvZ2RiYXJjaC5zaAogIAogICMgRm9yIG1vc3QgdGFyZ2V0cywgYSBwb2lu dGVyIG9uIHRoZSB0YXJnZXQgYW5kIGl0cyByZXByZXNlbnRhdGlvbiBhcyBhbgogICMgYWRkcmVz cyBpbiBHREIgaGF2ZSB0aGUgc2FtZSBzaXplIGFuZCAibG9vayB0aGUgc2FtZSIuICBGb3Igc3Vj aCBhCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2kzODYtdGRlcC5jCitJbmRleDog Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2kzODYtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvaTM4Ni10ZGVwLmMJMjAxNy0wMi0yNiAyMTo1OToz Ni4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvaTM4Ni10ZGVw LmMJMjAxNy0wMi0yNiAyMjowNDowMy40NTg2MTAwNzkgKzAxMDAKLUBAIC04MjA0LDcgKzgyMDQs NyBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2kzODYtdGRlcC5jCTIwMTct MDQtMjAgMjM6MDg6NTQuMTk0Mzk0OTY0ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2kzODYtdGRlcC5jCTIwMTctMDQtMjAgMjM6MDg6NTcuMDA1NDEwODA0ICswMjAwCitAQCAt ODE4MCw3ICs4MTgwLDcgQEAKICAKICBjb25zdCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKioKICBpMzg2 X2Zsb2F0Zm9ybWF0X2Zvcl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKQEAgLTM0MDMs MTAgKzM0MDYsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9pMzg2LXRkZXAu YwogIHsKICAgIGlmIChsZW4gPT0gMTI4ICYmIG5hbWUpCiAgICAgIGlmIChzdHJjbXAgKG5hbWUs ICJfX2Zsb2F0MTI4IikgPT0gMAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9wcGMt bGludXgtdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3BwYy1saW51eC10 ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9wcGMt bGludXgtdGRlcC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3BwYy1saW51eC10ZGVwLmMJMjAxNy0wMi0yNiAyMjowNDow My40NTg2MTAwNzkgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9wcGMt bGludXgtdGRlcC5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTk1Mzk0OTcwICswMjAwCisrKysgZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3BwYy1saW51eC10ZGVwLmMJMjAxNy0wNC0yMCAyMzowODo1 Ny4wMDY0MTA4MDkgKzAyMDAKIEBAIC0xNjMyLDcgKzE2MzIsNyBAQAogIAogIGNvbnN0IHN0cnVj dCBmbG9hdGZvcm1hdCAqKgpAQCAtMzQxNiwxMCArMzQxOSwxMCBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL3BwYy1saW51eC10ZGVwLmMKICB7CiAgICBpZiAobGVuID09IDEyOCAm JiBuYW1lKQogICAgICBpZiAoc3RyY21wIChuYW1lLCAiX19mbG9hdDEyOCIpID09IDAKLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdHJhY2Vwb2ludC5oCitJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3RyYWNlcG9pbnQuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUw LjIwMTcwMjI2Lm9yaWcvZ2RiL3RyYWNlcG9pbnQuaAkyMDE3LTAyLTI2IDIyOjA1OjE0Ljc3NTEx NDMwOSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90cmFjZXBvaW50LmgJMjAx Ny0wMi0yNiAyMjowNToyNC44MDcxODUyMzkgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQy MC5vcmlnL2dkYi90cmFjZXBvaW50LmgJMjAxNy0wNC0yMCAyMzowODo1NC4xOTUzOTQ5NzAgKzAy MDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdHJhY2Vwb2ludC5oCTIwMTctMDQtMjAg MjM6MDg6NTcuMDA2NDEwODA5ICswMjAwCiBAQCAtMjU0LDcgKzI1NCw3IEBACiAgICB2b2lkIGFk ZF9yZWdpc3RlciAodW5zaWduZWQgaW50IHJlZ25vKTsKICAgIHZvaWQgYWRkX21lbXJhbmdlIChz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKCmRpZmYgLS1naXQgYS9nZGItcmhiejc5NTQyNC1iaXRw b3MtMjNvZjI1LnBhdGNoIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRjaAppbmRl eCBmMGU0ZmYxLi43YjQ5NjEyIDEwMDY0NAotLS0gYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjNv ZjI1LnBhdGNoCisrKyBiL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gKQEAgLTEz NywxMCArMTM3LDEwIEBAIENvbnRlbnQtVHlwZTogdGV4dC94LXBhdGNoCiBDb250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA3Yml0CiBDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxl bmFtZT1iaXRwb3MtdGRlcC5wYXRjaAogCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2Ri L2FscGhhLXRkZXAuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hbHBoYS10ZGVw LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9hbHBoYS10 ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS42OTE1NDEwNDkgKzAxMDAKLSsrKyBnZGItNy4xMi41 MC4yMDE3MDMwOS9nZGIvYWxwaGEtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDE0NTczOTQz ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvYWxwaGEtdGRlcC5jCTIw MTctMDQtMjAgMjM6MTI6MDcuODk0NTY2MzcxICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL2FscGhhLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjIyODU4ODcwMyArMDIwMAog QEAgLTMwMCwxNyArMzAwLDE3IEBACiAgewogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIg PSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwpAQCAtMTgzLDEwICsxODMsMTAgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9hbHBoYS10ZGVwLmMKICAJICAgICAgbWVtY3B5 IChhcmdfcmVnX2J1ZmZlciArIG9mZnNldCwgY29udGVudHMsIHRsZW4pOwogIAkgICAgICBvZmZz ZXQgKz0gdGxlbjsKICAJICAgICAgY29udGVudHMgKz0gdGxlbjsKLUluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDMwOS9nZGIvYW1kNjQtdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2FtZDY0LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9y aWcvZ2RiL2FtZDY0LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjY5MzU0MTA2MiArMDEwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9hbWQ2NC10ZGVwLmMJMjAxNy0wMy0wOSAyMzoz NToxNC40MTU1NzM5NTAgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9h bWQ2NC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy44OTc1NjYzOTEgKzAyMDAKKysrKyBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvYW1kNjQtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjI5 NTg4NzEwICswMjAwCiBAQCAtNzM1LDcgKzczNSw3IEBACiAgCQkgICAgZ2RiX2J5dGUgKnJlYWRi dWYsIGNvbnN0IGdkYl9ieXRlICp3cml0ZWJ1ZikKICB7CkBAIC0yMzgsMTEgKzIzOCwxMSBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2FtZDY0LXRkZXAuYwogIAkgICAgICByZWdj YWNoZV9yYXdfd3JpdGVfcGFydCAocmVnY2FjaGUsIHJlZ251bSwgb2Zmc2V0LCA4LCBidWYpOwog IAkgICAgfQogIAl9Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2FtZDY0LXdpbmRv d3MtdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2FtZDY0LXdpbmRvd3Mt dGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvYW1k NjQtd2luZG93cy10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS42OTM1NDEwNjIgKzAxMDAKLSsr KyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvYW1kNjQtd2luZG93cy10ZGVwLmMJMjAxNy0wMy0w OSAyMzozNToxNC40MTY1NzM5NTcgKzAxMDAKLUBAIC0yODksNyArMjg5LDcgQEAKKy0tLSBnZGIt Ny45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9hbWQ2NC13aW5kb3dzLXRkZXAuYwkyMDE3LTA0LTIw IDIzOjEyOjA3Ljg5NzU2NjM5MSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9h bWQ2NC13aW5kb3dzLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjIzMDU4ODcxNyArMDIwMAor QEAgLTI5MCw3ICsyOTAsNyBAQAogIAkJCSAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHJl Z2NhY2hlICpyZWdjYWNoZSwKICAJCQkgICAgZ2RiX2J5dGUgKnJlYWRidWYsIGNvbnN0IGdkYl9i eXRlICp3cml0ZWJ1ZikKICB7CkBAIC0yNTEsMTEgKzI1MSwxMSBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAzMDkvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jCiAgICBpbnQgcmVnbnVtID0gLTE7 CiAgCiAgICAvKiBTZWUgaWYgb3VyIHZhbHVlIGlzIHJldHVybmVkIHRocm91Z2ggYSByZWdpc3Rl ci4gIElmIGl0IGlzLCB0aGVuCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2FybS10 ZGVwLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYXJtLXRkZXAuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL2FybS10ZGVwLmMJMjAxNy0w My0wOSAyMzozNTowOS42OTg1NDEwOTcgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9n ZGIvYXJtLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQxOTU3Mzk3OCArMDEwMAotQEAgLTM0 ODcsNyArMzQ4Nyw3IEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvYXJtLXRk ZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3LjkwNTU2NjQ0NSArMDIwMAorKysrIGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9hcm0tdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjMzNTg4NzM3ICsw MjAwCitAQCAtMzQ5Miw3ICszNDkyLDcgQEAKICAgICBhcnJheSkuICBWZWN0b3IgdHlwZXMgYXJl IG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLCBtYXRjaGluZyB0aGUKICAgICBnZW5lcmljIEFBUENT IHN1cHBvcnQuICAqLwogIApAQCAtMjY0LDcgKzI2NCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDMwOS9nZGIvYXJtLXRkZXAuYwogIGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChzdHJ1 Y3QgdHlwZSAqdCwKICAJCQkgICAgZW51bSBhcm1fdmZwX2NwcmNfYmFzZV90eXBlICpiYXNlX3R5 cGUpCiAgewotQEAgLTM1NzAsNyArMzU3MCw3IEBACitAQCAtMzU3NSw3ICszNTc1LDcgQEAKICAJ ICB9CiAgCWVsc2UKICAJICB7CkBAIC0yNzMsNyArMjczLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMzA5L2dkYi9hcm0tdGRlcC5jCiAgCSAgICB1bnNpZ25lZCB1bml0bGVuOwogIAogIAkg ICAgY291bnQgPSBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoVFlQRV9UQVJHRVRfVFlQRSAo dCksCi1AQCAtMzU5MywxMiArMzU5MywxMiBAQAorQEAgLTM1OTgsMTIgKzM1OTgsMTIgQEAKICAK ICAgICAgY2FzZSBUWVBFX0NPREVfU1RSVUNUOgogICAgICAgIHsKQEAgLTI4OCw3ICsyODgsNyBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2FybS10ZGVwLmMKICAKICAJICAgIGlm ICghZmllbGRfaXNfc3RhdGljICgmVFlQRV9GSUVMRCAodCwgaSkpKQogIAkgICAgICBzdWJfY291 bnQgPSBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoVFlQRV9GSUVMRF9UWVBFICh0LCBpKSwK LUBAIC0zNjIyLDEzICszNjIyLDE1IEBACitAQCAtMzYyNywxMyArMzYyNywxNSBAQAogIAogICAg ICBjYXNlIFRZUEVfQ09ERV9VTklPTjoKICAgICAgICB7CkBAIC0zMDcsNyArMzA3LDcgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9hcm0tdGRlcC5jCiAgCSAgICBpZiAoc3ViX2Nv dW50ID09IC0xKQogIAkgICAgICByZXR1cm4gLTE7CiAgCSAgICBjb3VudCA9IChjb3VudCA+IHN1 Yl9jb3VudCA/IGNvdW50IDogc3ViX2NvdW50KTsKLUBAIC0zNjY0LDcgKzM2NjYsNyBAQAorQEAg LTM2NjksNyArMzY3MSw3IEBACiAgCQkJaW50ICpjb3VudCkKICB7CiAgICBlbnVtIGFybV92ZnBf Y3ByY19iYXNlX3R5cGUgYiA9IFZGUF9DUFJDX1VOS05PV047CkBAIC0zMTYsNyArMzE2LDcgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9hcm0tdGRlcC5jCiAgICBpZiAoYyA8PSAw IHx8IGMgPiA0KQogICAgICByZXR1cm4gMDsKICAgICpiYXNlX3R5cGUgPSBiOwotQEAgLTM3NDUs NyArMzc0Nyw3IEBACitAQCAtMzc1MCw3ICszNzUyLDcgQEAKICAKICAgIGZvciAoYXJnbnVtID0g MDsgYXJnbnVtIDwgbmFyZ3M7IGFyZ251bSsrKQogICAgICB7CkBAIC0zMjUsMTAgKzMyNSwxMCBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2FybS10ZGVwLmMKICAgICAgICBzdHJ1 Y3QgdHlwZSAqYXJnX3R5cGU7CiAgICAgICAgc3RydWN0IHR5cGUgKnRhcmdldF90eXBlOwogICAg ICAgIGVudW0gdHlwZV9jb2RlIHR5cGVjb2RlOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5 L2dkYi9hdnItdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2F2ci10ZGVw LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9hdnItdGRl cC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzAwNTQxMTExICswMTAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAzMDkvZ2RiL2F2ci10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MTk1NzM5NzggKzAx MDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9hdnItdGRlcC5jCTIwMTctMDQt MjAgMjM6MTI6MDcuOTA3NTY2NDU4ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L2F2ci10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzQ1ODg3NDMgKzAyMDAKIEBAIC0xMTkx LDEzICsxMTkxLDEzIEBACiAgCiAgc3RydWN0IHN0YWNrX2l0ZW0KQEAgLTM2MSwxMSArMzYxLDEx IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvYXZyLXRkZXAuYwogIAogICAgICAg IC8qIENhbGN1bGF0ZSB0aGUgcG90ZW50aWFsIGxhc3QgcmVnaXN0ZXIgbmVlZGVkLgogICAgICAg ICAgIEUuZy4gRm9yIGxlbmd0aCAyLCByZWdpc3RlcnMgcmVnbnVtIGFuZCByZWdudW0tMSAoc2F5 IDI1IGFuZCAyNCkKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvYmZpbi10ZGVwLmMK K0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYmZpbi10ZGVwLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9iZmluLXRkZXAuYwkyMDE3LTAzLTA5 IDIzOjM1OjA5LjcwMDU0MTExMSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9i ZmluLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQyMDU3Mzk4NSArMDEwMAotQEAgLTUwMiw3 ICs1MDIsNyBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2JmaW4tdGRlcC5j CTIwMTctMDQtMjAgMjM6MTI6MDcuOTA3NTY2NDU4ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL2JmaW4tdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjM0NTg4NzQzICswMjAw CitAQCAtNTA0LDcgKzUwNCw3IEBACiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdk YmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBpbnQgaTsKICAgIGxvbmcgcmVnX3IwLCBy ZWdfcjEsIHJlZ19yMjsKQEAgLTM3NCw3ICszNzQsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAzMDkvZ2RiL2JmaW4tdGRlcC5jCiAgCiAgICBmb3IgKGkgPSBuYXJncyAtIDE7IGkgPj0gMDsg aS0tKQogICAgICB7Ci1AQCAtNTI0LDcgKzUyNCw3IEBACitAQCAtNTI2LDcgKzUyNiw3IEBACiAg ICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqdmFsdWVfdHlwZSA9IHZhbHVlX2VuY2xvc2luZ190 eXBlIChhcmdzW2ldKTsKICAgICAgICBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUgPSBjaGVja190eXBl ZGVmICh2YWx1ZV90eXBlKTsKQEAgLTM4MywxMCArMzgzLDEwIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDMwOS9nZGIvYmZpbi10ZGVwLmMKICAKICAgICAgICBzcCAtPSBjb250YWluZXJfbGVu OwogICAgICAgIHdyaXRlX21lbW9yeSAoc3AsIHZhbHVlX2NvbnRlbnRzIChhcmdzW2ldKSwgY29u dGFpbmVyX2xlbik7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2NyaXMtdGRlcC5j CitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2NyaXMtdGRlcC5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvY3Jpcy10ZGVwLmMJMjAxNy0wMy0w OSAyMzozNTowOS43MDI1NDExMjUgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIv Y3Jpcy10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MjE1NzM5OTEgKzAxMDAKKy0tLSBnZGIt Ny45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9jcmlzLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3 LjkwOTU2NjQ3MSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jcmlzLXRkZXAu YwkyMDE3LTA0LTIwIDIzOjEyOjExLjIzNTU4ODc1MCArMDIwMAogQEAgLTY2MywxMyArNjYzLDEz IEBACiAgCiAgc3RydWN0IHN0YWNrX2l0ZW0KQEAgLTQyMSwxMCArNDIxLDEwIEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvY3Jpcy10ZGVwLmMKICAgICAgICAKICAgICAgICAvKiBI b3cgbWF5IHJlZ2lzdGVycyB3b3J0aCBvZiBzdG9yYWdlIGRvIHdlIG5lZWQgZm9yIHRoaXMgYXJn dW1lbnQ/ICAqLwogICAgICAgIHJlZ19kZW1hbmQgPSAobGVuIC8gNCkgKyAobGVuICUgNCAhPSAw ID8gMSA6IDApOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9oODMwMC10ZGVwLmMK K0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaDgzMDAtdGRlcC5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvaDgzMDAtdGRlcC5jCTIwMTctMDMt MDkgMjM6MzU6MDkuNzAyNTQxMTI1ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2Ri L2g4MzAwLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQyMTU3Mzk5MSArMDEwMAorLS0tIGdk Yi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2g4MzAwLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEy OjA3LjkxMDU2NjQ3OCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9oODMwMC10 ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzU1ODg3NTAgKzAyMDAKIEBAIC02MzcsNyArNjM3 LDcgQEAKICAJCSAgICAgICBpbnQgc3RydWN0X3JldHVybiwgQ09SRV9BRERSIHN0cnVjdF9hZGRy KQogIHsKQEAgLTQ1NywxMSArNDU3LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9n ZGIvaDgzMDAtdGRlcC5jCiAgCiAgCSAgICAgIGZvciAob2Zmc2V0ID0gMDsgb2Zmc2V0IDwgcGFk ZGVkX2xlbjsgb2Zmc2V0ICs9IHdvcmRzaXplKQogIAkJewotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMzA5L2dkYi9ocHBhLXRkZXAuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9o cHBhLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2Ri L2hwcGEtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzAzNTQxMTMyICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2hwcGEtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDIy NTczOTk5ICswMTAwCi1AQCAtOTg4LDcgKzk4OCw3IEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0 MjAub3JpZy9nZGIvaHBwYS10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MTE1NjY0ODUgKzAy MDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaHBwYS10ZGVwLmMJMjAxNy0wNC0yMCAy MzoxMjoxMS4yMzY1ODg3NTcgKzAyMDAKK0BAIC05ODksNyArOTg5LDcgQEAKICAgICAgewogICAg ICAgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1tpXTsKICAgICAgICBzdHJ1Y3QgdHlwZSAqdHlw ZSA9IHZhbHVlX3R5cGUgKGFyZyk7CkBAIC00NzAsNyArNDcwLDcgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMzA5L2dkYi9ocHBhLXRkZXAuYwogICAgICAgIGNvbnN0IGJmZF9ieXRlICp2YWxi dWY7CiAgICAgICAgYmZkX2J5dGUgZnB0cmJ1Zls4XTsKICAgICAgICBpbnQgcmVnbnVtOwotQEAg LTExODMsNyArMTE4Myw3IEBACitAQCAtMTE4NCw3ICsxMTg0LDcgQEAKICAJCSAgICAgc3RydWN0 IHR5cGUgKnR5cGUsIHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsCiAgCQkgICAgIGdkYl9ieXRl ICpyZWFkYnVmLCBjb25zdCBnZGJfYnl0ZSAqd3JpdGVidWYpCiAgewpAQCAtNDc5LDEwICs0Nzks MTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9ocHBhLXRkZXAuYwogICAgaW50 IHJlZ251bSwgb2Zmc2V0OwogIAogICAgaWYgKGxlbiA+IDE2KQotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMzA5L2dkYi9pMzg2LWRhcndpbi10ZGVwLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvaTM4Ni1kYXJ3aW4tdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAu MjAxNzAzMDkub3JpZy9nZGIvaTM4Ni1kYXJ3aW4tdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDku NzA0NTQxMTM5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2kzODYtZGFyd2lu LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQyMjU3Mzk5OSArMDEwMAorLS0tIGdkYi03Ljk5 LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2kzODYtZGFyd2luLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEy OjA3LjkxMjU2NjQ5MiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9pMzg2LWRh cndpbi10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzc1ODg3NjMgKzAyMDAKIEBAIC0xNjcs NyArMTY3LDcgQEAKICAKICAgIGZvciAod3JpdGVfcGFzcyA9IDA7IHdyaXRlX3Bhc3MgPCAyOyB3 cml0ZV9wYXNzKyspCkBAIC00OTIsMTAgKzQ5MiwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAzMDkvZ2RiL2kzODYtZGFyd2luLXRkZXAuYwogICAgICAgIGludCBudW1fbTEyOCA9IDA7CiAg CiAgICAgICAgaWYgKHN0cnVjdF9yZXR1cm4pCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkv Z2RiL2kzODYtdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2kzODYtdGRl cC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvaTM4Ni10 ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MDc1NDExNjAgKzAxMDAKLSsrKyBnZGItNy4xMi41 MC4yMDE3MDMwOS9nZGIvaTM4Ni10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTozNy40OTQ3MzQ2ODgg KzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9pMzg2LXRkZXAuYwkyMDE3 LTA0LTIwIDIzOjEyOjA3LjkxNzU2NjUyNSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9pMzg2LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjIzOTU4ODc3NyArMDIwMAogQEAg LTI2ODIsNyArMjY4Miw3IEBACiAgICBnZGJfYnl0ZSBidWZbNF07CiAgICBpbnQgaTsKQEAgLTU1 OSwxMCArNTU5LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvaTM4Ni10ZGVw LmMKICAKICAgIGlmIChpMzg2X2ZwX3JlZ251bV9wIChnZXRfZnJhbWVfYXJjaCAoZnJhbWUpLCBy ZWdudW0pKQogICAgICB7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2lxMjAwMC10 ZGVwLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaXEyMDAwLXRkZXAuYwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL2lxMjAwMC10ZGVwLmMJ MjAxNy0wMy0wOSAyMzozNTowOS43MDg1NDExNjcgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3 MDMwOS9nZGIvaXEyMDAwLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQyNTU3NDAxOSArMDEw MAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2lxMjAwMC10ZGVwLmMJMjAxNy0w NC0yMCAyMzoxMjowNy45MTg1NjY1MzIgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvaXEyMDAwLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjIzOTU4ODc3NyArMDIwMAogQEAg LTY1MSw4ICs2NTEsOSBAQAogICAgY29uc3QgYmZkX2J5dGUgKnZhbDsKICAgIGJmZF9ieXRlIGJ1 Zls0XTsKQEAgLTU3NSwyMyArNTc1LDIzIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9n ZGIvaXEyMDAwLXRkZXAuYwogICAgLyogVXNlZCB0byBjb3B5IHN0cnVjdCBhcmd1bWVudHMgaW50 byB0aGUgc3RhY2suICAqLwogICAgQ09SRV9BRERSIHN0cnVjdF9wdHI7CiAgCi1JbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAzMDkvZ2RiL20zMnItdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL20zMnItdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAz MDkub3JpZy9nZGIvbTMyci10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MDg1NDExNjcgKzAx MDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbTMyci10ZGVwLmMJMjAxNy0wMy0wOSAy MzozNToxNC40MjU1NzQwMTkgKzAxMDAKLUBAIC02NzgsNyArNjc4LDcgQEAKKy0tLSBnZGItNy45 OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9tMzJyLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjIz OTU4ODc3NyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tMzJyLXRkZXAuYwky MDE3LTA0LTIwIDIzOjEyOjMwLjM4NTcxNzAyMyArMDIwMAorQEAgLTY4MSw3ICs2ODEsNyBAQAog ICAgQ09SRV9BRERSIHJlZ3ZhbDsKICAgIGdkYl9ieXRlICp2YWw7Ci0gICBnZGJfYnl0ZSB2YWxi dWZbTUFYX1JFR0lTVEVSX1NJWkVdOworICAgZ2RiX2J5dGUgdmFsYnVmW00zMlJfQVJHX1JFR0lT VEVSX1NJWkVdOwogLSAgaW50IGxlbjsKICsgIExPTkdFU1QgbGVuOwogIAogICAgLyogRmlyc3Qg Zm9yY2Ugc3AgdG8gYSA0LWJ5dGUgYWxpZ25tZW50LiAgKi8KICAgIHNwID0gc3AgJiB+MzsKLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbTY4ay10ZGVwLmMKK0luZGV4OiBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvbTY4ay10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41 MC4yMDE3MDMwOS5vcmlnL2dkYi9tNjhrLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcwOTU0 MTE3NCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9tNjhrLXRkZXAuYwkyMDE3 LTAzLTA5IDIzOjM1OjE0LjQyNTU3NDAxOSArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIw Lm9yaWcvZ2RiL202OGstdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTE5NTY2NTM4ICswMjAw CisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL202OGstdGRlcC5jCTIwMTctMDQtMjAgMjM6 MTI6MTEuMjQwNTg4NzgzICswMjAwCiBAQCAtMzc3LDcgKzM3Nyw3IEBACiAgewogICAgc3RydWN0 IGdkYmFyY2hfdGRlcCAqdGRlcCA9IGdkYmFyY2hfdGRlcCAoZ2RiYXJjaCk7CkBAIC02MTQsMTEg KzYxNCwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL202OGstdGRlcC5jCiAg CiAgICAgICAgLyogTm9uLXNjYWxhcnMgYmlnZ2VyIHRoYW4gNCBieXRlcyBhcmUgbGVmdCBhbGln bmVkLCBvdGhlcnMgYXJlCiAgCSByaWdodCBhbGlnbmVkLiAgKi8KLUluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDMwOS9nZGIvbTg4ay10ZGVwLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvbTg4ay10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmln L2dkYi9tODhrLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcwOTU0MTE3NCArMDEwMAotKysr IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9tODhrLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0 LjQyNjU3NDAyNiArMDEwMAotQEAgLTI1MywxMyArMjUzLDEzIEBACistLS0gZ2RiLTcuOTkuOTAu MjAxNzA0MjAub3JpZy9nZGIvbTg4ay10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MTk1NjY1 MzggKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbTg4ay10ZGVwLmMJMjAxNy0w NC0yMCAyMzoxMjoxMS4yNDA1ODg3ODMgKzAyMDAKK0BAIC0yNTQsMTMgKzI1NCwxMyBAQAogIHsK ICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X3JlZ2NhY2hlX2FyY2ggKHJlZ2NhY2hl KTsKICAgIGludCBudW1fcmVnaXN0ZXJfd29yZHMgPSAwOwpAQCAtNjM0LDcgKzYzNCw3IEBAIElu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbTg4ay10ZGVwLmMKICAKICAgICAgICBpZiAo bTg4a19pbnRlZ3JhbF9vcl9wb2ludGVyX3AgKHR5cGUpICYmIGxlbiA8IDQpCiAgCXsKLUBAIC0z MDEsOCArMzAxLDggQEAKK0BAIC0zMDIsOCArMzAyLDggQEAKICAgICAgewogICAgICAgIGNvbnN0 IGJmZF9ieXRlICp2YWxidWYgPSB2YWx1ZV9jb250ZW50cyAoYXJnc1tpXSk7CiAgICAgICAgc3Ry dWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChhcmdzW2ldKTsKQEAgLTY0NSwxMCArNjQ1LDEw IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbTg4ay10ZGVwLmMKICAKICAgICAg ICBpZiAobTg4a19pbl9yZWdpc3Rlcl9wICh0eXBlKSkKICAJewotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMzA5L2dkYi9tZXAtdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L21lcC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dk Yi9tZXAtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzEwNTQxMTgxICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAzMDkvZ2RiL21lcC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MjY1 NzQwMjYgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9tZXAtdGRlcC5j CTIwMTctMDQtMjAgMjM6MTI6MDcuOTIwNTY2NTQ1ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL21lcC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNDE1ODg3OTAgKzAyMDAK IEBAIC0yMjYyLDcgKzIyNjIsNyBAQAogIAogICAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykK QEAgLTY1OCwxMCArNjU4LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbWVw LXRkZXAuYwogIAogICAgICAgIGlmIChhcmdfbGVuID4gTUVQX0dQUl9TSVpFKQogICAgICAgICAg ewotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9taXBzLXRkZXAuYworSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9taXBzLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL21pcHMtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDku NzE0NTQxMjA5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL21pcHMtdGRlcC5j CTIwMTctMDMtMDkgMjM6MzU6MTQuNDI4NTc0MDQwICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAx NzA0MjAub3JpZy9nZGIvbWlwcy10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45Mjg1NjY1OTkg KzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWlwcy10ZGVwLmMJMjAxNy0wNC0y MCAyMzoxMjoxMS4yNDM1ODg4MDQgKzAyMDAKIEBAIC00NzQsNyArNDc0LDcgQEAKICBtaXBzX3hm ZXJfcmVnaXN0ZXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgcmVnY2FjaGUgKnJl Z2NhY2hlLAogIAkJICAgIGludCByZWdfbnVtLCBpbnQgbGVuZ3RoLApAQCAtODA3LDExICs4MDcs MTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9taXBzLXRkZXAuYwogIAogICAg ICAgIHZhbCA9IHZhbHVlX2NvbnRlbnRzIChhcmcpOwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMzA5L2dkYi9tbjEwMzAwLXRkZXAuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9tbjEwMzAwLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9y aWcvZ2RiL21uMTAzMDAtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzE1NTQxMjE2ICswMTAw Ci0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL21uMTAzMDAtdGRlcC5jCTIwMTctMDMtMDkg MjM6MzU6MTQuNDI5NTc0MDQ3ICswMTAwCi1AQCAtMTIxOSw3ICsxMjE5LDcgQEAKKy0tLSBnZGIt Ny45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9tbjEwMzAwLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEy OjA3LjkyOTU2NjYwNSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tbjEwMzAw LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI0MzU4ODgwNCArMDIwMAorQEAgLTEyMjAsNyAr MTIyMCw3IEBACiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9v cmRlciAoZ2RiYXJjaCk7CiAgICBjb25zdCBpbnQgcHVzaF9zaXplID0gcmVnaXN0ZXJfc2l6ZSAo Z2RiYXJjaCwgRV9QQ19SRUdOVU0pOwogICAgaW50IHJlZ3NfdXNlZDsKQEAgLTgyMCwxMCArODIw LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbW4xMDMwMC10ZGVwLmMKICAg IGludCBzdGFja19vZmZzZXQgPSAwOwogICAgaW50IGFyZ251bTsKICAgIGNvbnN0IGdkYl9ieXRl ICp2YWw7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL210LXRkZXAuYworSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tdC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9tdC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43 MTY1NDEyMjMgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbXQtdGRlcC5jCTIw MTctMDMtMDkgMjM6MzU6MTQuNDI5NTc0MDQ3ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0 MjAub3JpZy9nZGIvbXQtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTMwNTY2NjEyICswMjAw CisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL210LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEy OjExLjI0NDU4ODgxMCArMDIwMAogQEAgLTc4OCw5ICs3ODgsOSBAQAogICAgZ2RiX2J5dGUgYnVm W01UX01BWF9TVFJVQ1RfU0laRV07CiAgICBpbnQgYXJncmVnID0gTVRfMVNUX0FSR1JFRzsKQEAg LTgzNiwxMCArODM2LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbXQtdGRl cC5jCiAgICBpbnQgaSwgajsKICAKICAgIC8qIEZpcnN0IGhhbmRsZSBob3dldmVyIG1hbnkgYXJn cyB3ZSBjYW4gZml0IGludG8gTVRfMVNUX0FSR1JFRyB0aHJ1Ci1JbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAzMDkvZ2RiL3BwYy1zeXN2LXRkZXAuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9wcGMtc3lzdi10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMw OS5vcmlnL2dkYi9wcGMtc3lzdi10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MTc1NDEyMzAg KzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvcHBjLXN5c3YtdGRlcC5jCTIwMTct MDMtMDkgMjM6MzU6MTQuNDMwNTc0MDU0ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAu b3JpZy9nZGIvcHBjLXN5c3YtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTMxNTY2NjE5ICsw MjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3BwYy1zeXN2LXRkZXAuYwkyMDE3LTA0 LTIwIDIzOjEyOjExLjI0NTU4ODgxNyArMDIwMAogQEAgLTY3LDcgKzY3LDcgQEAKICAgIGVudW0g YmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAg IGludCBvcGVuY2xfYWJpID0gcHBjX3N5c3ZfdXNlX29wZW5jbF9hYmkgKHZhbHVlX3R5cGUgKGZ1 bmN0aW9uKSk7CkBAIC04ODQsMTAgKzg4NCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAz MDkvZ2RiL3BwYy1zeXN2LXRkZXAuYwogIAogICAgLyogRW5mb3JjZSBhbGlnbm1lbnQgb2Ygc3Rh Y2sgbG9jYXRpb24sIGlmIHJlcXVlc3RlZC4gICovCiAgICBpZiAoYWxpZ24gPiB0ZGVwLT53b3Jk c2l6ZSkKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvcmw3OC10ZGVwLmMKK0luZGV4 OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcmw3OC10ZGVwLmMKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9ybDc4LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1 OjA5LjcxNzU0MTIzMCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9ybDc4LXRk ZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQzMDU3NDA1NCArMDEwMAorLS0tIGdkYi03Ljk5Ljkw LjIwMTcwNDIwLm9yaWcvZ2RiL3JsNzgtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTMxNTY2 NjE5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3JsNzgtdGRlcC5jCTIwMTct MDQtMjAgMjM6MTI6MTEuMjQ1NTg4ODE3ICswMjAwCiBAQCAtMTM1Miw4ICsxMzUyLDggQEAKICAg IGZvciAoaSA9IG5hcmdzIC0gMTsgaSA+PSAwOyBpLS0pCiAgICAgIHsKQEAgLTg5OSwxMCArODk5 LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvcmw3OC10ZGVwLmMKICAKICAg ICAgICBzcCAtPSBjb250YWluZXJfbGVuOwogICAgICAgIHdyaXRlX21lbW9yeSAocmw3OF9tYWtl X2RhdGFfYWRkcmVzcyAoc3ApLAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9yczYw MDAtYWl4LXRkZXAuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9yczYwMDAtYWl4 LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL3Jz NjAwMC1haXgtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzE4NTQxMjM3ICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCTIwMTctMDMtMDkgMjM6 MzU6MTQuNDMwNTc0MDU0ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIv cnM2MDAwLWFpeC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MzI1NjY2MjYgKzAyMDAKKysr KyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcnM2MDAwLWFpeC10ZGVwLmMJMjAxNy0wNC0yMCAy MzoxMjoxMS4yNDU1ODg4MTcgKzAyMDAKIEBAIC0xODYsOSArMTg2LDkgQEAKICAgIHN0cnVjdCBn ZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwogICAgZW51bSBiZmRf ZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwpAQCAtOTI0 LDExICs5MjQsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9yczYwMDAtYWl4 LXRkZXAuYwogIAogICAgICAgIGlmIChhcmdieXRlcykKICAJewotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMzA5L2dkYi9zMzkwLWxpbnV4LXRkZXAuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi9zMzkwLWxpbnV4LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIw MTcwMzA5Lm9yaWcvZ2RiL3MzOTAtbGludXgtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzIw NTQxMjUwICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3MzOTAtbGludXgtdGRl cC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDMyNTc0MDY4ICswMTAwCi1AQCAtMzEyOCw3ICszMTI4 LDcgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9zMzkwLWxpbnV4LXRkZXAu YwkyMDE3LTA0LTIwIDIzOjEyOjA3LjkzNDU2NjYzOSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9zMzkwLWxpbnV4LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI0NzU4ODgz MCArMDIwMAorQEAgLTMwODEsNyArMzA4MSw3IEBACiAgLyogRGV0ZXJtaW5lIHdoZXRoZXIgTiBp cyBhIHBvd2VyIG9mIHR3by4gICovCiAgCiAgc3RhdGljIGludApAQCAtOTM3LDcgKzkzNyw3IEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvczM5MC1saW51eC10ZGVwLmMKICB7CiAg ICByZXR1cm4gbiAmJiAoKG4gJiAobiAtIDEpKSA9PSAwKTsKICB9Ci1AQCAtMzE4NSw3ICszMTg1 LDcgQEAKK0BAIC0zMTM4LDcgKzMxMzgsNyBAQAogIAkJIGVudW0gYmZkX2VuZGlhbiBieXRlX29y ZGVyLCBpbnQgaXNfdW5uYW1lZCkKICB7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IGNoZWNrX3R5 cGVkZWYgKHZhbHVlX3R5cGUgKGFyZykpOwpAQCAtOTQ2LDEwICs5NDYsMTAgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zMzkwLWxpbnV4LXRkZXAuYwogICAgaW50IHdyaXRlX21v ZGUgPSBhcy0+cmVnY2FjaGUgIT0gTlVMTDsKICAKICAgIGlmIChzMzkwX2Z1bmN0aW9uX2FyZ19m bG9hdCAodHlwZSkpCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3Njb3JlLXRkZXAu YworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zY29yZS10ZGVwLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9zY29yZS10ZGVwLmMJMjAxNy0w My0wOSAyMzozNTowOS43MjE1NDEyNTggKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9n ZGIvc2NvcmUtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDMyNTc0MDY4ICswMTAwCistLS0g Z2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvc2NvcmUtdGRlcC5jCTIwMTctMDQtMjAgMjM6 MTI6MDcuOTM1NTY2NjQ2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Njb3Jl LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI0ODU4ODgzNyArMDIwMAogQEAgLTUyNSw3ICs1 MjUsNyBAQAogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3Jk ZXIgKGdkYmFyY2gpOwogICAgaW50IGFyZ251bTsKQEAgLTk1OSwxMCArOTU5LDEwIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc2NvcmUtdGRlcC5jCiAgICBDT1JFX0FERFIgc3Rh Y2tfb2Zmc2V0ID0gMDsKICAgIENPUkVfQUREUiBhZGRyID0gMDsKICAKLUluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDMwOS9nZGIvc2gtdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL3NoLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcv Z2RiL3NoLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcyMTU0MTI1OCArMDEwMAotKysrIGdk Yi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zaC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MzM1 NzQwNzUgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9zaC10ZGVwLmMJ MjAxNy0wNC0yMCAyMzoxMjowNy45MzY1NjY2NTIgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvc2gtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjQ4NTg4ODM3ICswMjAwCiBA QCAtODE0LDcgKzgxNCw3IEBACiAgc3RhdGljIGludAogIHNoX3VzZV9zdHJ1Y3RfY29udmVudGlv biAoaW50IHJlbmVzYXNfYWJpLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKQEAgLTEwMDEsMTAgKzEwMDEs MTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zaC10ZGVwLmMKICAgIGludCBw YXNzX29uX3N0YWNrID0gMDsKICAgIGludCBsYXN0X3JlZ19hcmcgPSBJTlRfTUFYOwogIAotSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zaDY0LXRkZXAuYworSW5kZXg6IGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9zaDY0LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUw LjIwMTcwMzA5Lm9yaWcvZ2RiL3NoNjQtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzIyNTQx MjY0ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3NoNjQtdGRlcC5jCTIwMTct MDMtMDkgMjM6MzU6MTQuNDM0NTc0MDgyICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAu b3JpZy9nZGIvc2g2NC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45Mzc1NjY2NTkgKzAyMDAK KysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc2g2NC10ZGVwLmMJMjAxNy0wNC0yMCAyMzox MjoxMS4yNDk1ODg4NDQgKzAyMDAKIEBAIC0xMDYyLDcgKzEwNjIsNyBAQAogIAkJICAgICAgQ09S RV9BRERSIHN0cnVjdF9hZGRyKQogIHsKQEAgLTEwMjMsMTEgKzEwMjMsMTEgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zaDY0LXRkZXAuYwogICAgaW50IGFyZ3JlZ19zaXplOwog ICAgaW50IGZwX2FyZ3NbMTJdOwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9z cGFyYy10ZGVwLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc3BhcmMtdGRlcC5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvc3BhcmMtdGRl cC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzIzNTQxMjcxICswMTAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAzMDkvZ2RiL3NwYXJjLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQzNDU3NDA4MiAr MDEwMAotQEAgLTU2Niw3ICs1NjYsNyBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcv Z2RiL3NwYXJjLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3LjkzODU2NjY2NiArMDIwMAorKysr IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zcGFyYy10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjox MS4yNDk1ODg4NDQgKzAyMDAKK0BAIC01NjcsNyArNTY3LDcgQEAKICAgIGZvciAoaSA9IDA7IGkg PCBuYXJnczsgaSsrKQogICAgICB7CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90 eXBlIChhcmdzW2ldKTsKQEAgLTEwMzYsMTEgKzEwMzYsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMzA5L2dkYi9zcGFyYy10ZGVwLmMKICAKICAgICAgICBpZiAoc3BhcmNfc3RydWN0dXJl X29yX3VuaW9uX3AgKHR5cGUpCiAgCSAgfHwgKHNwYXJjX2Zsb2F0aW5nX3AgKHR5cGUpICYmIGxl biA9PSAxNikKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3BhcmM2NC10ZGVwLmMK K0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc3BhcmM2NC10ZGVwLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9zcGFyYzY0LXRkZXAuYwkyMDE3 LTAzLTA5IDIzOjM1OjA5LjcyNDU0MTI3OCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5 L2dkYi9zcGFyYzY0LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQzNTU3NDA4OSArMDEwMAot QEAgLTY3MCw3ICs2NzAsOCBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3Nw YXJjNjQtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTM5NTY2NjcyICswMjAwCisrKysgZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3NwYXJjNjQtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEu MjUwNTg4ODUxICswMjAwCitAQCAtNjk2LDcgKzY5Niw4IEBACiAgCiAgc3RhdGljIHZvaWQKICBz cGFyYzY0X3N0b3JlX2Zsb2F0aW5nX2ZpZWxkcyAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwg c3RydWN0IHR5cGUgKnR5cGUsCkBAIC0xMDUwLDcgKzEwNTAsNyBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAzMDkvZ2RiL3NwYXJjNjQtdGRlcC5jCiAgewogICAgc3RydWN0IGdkYmFyY2ggKmdk YmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUpOwogICAgaW50IGxlbiA9IFRZUEVf TEVOR1RIICh0eXBlKTsKLUBAIC03MTQsNyArNzE1LDcgQEAKK0BAIC03NDAsNyArNzQxLDcgQEAK ICAgICAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERTICh0eXBlKTsgaSsrKQogIAl7CiAg CSAgc3RydWN0IHR5cGUgKnN1YnR5cGUgPSBjaGVja190eXBlZGVmIChUWVBFX0ZJRUxEX1RZUEUg KHR5cGUsIGkpKTsKQEAgLTEwNTksNyArMTA1OSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDMwOS9nZGIvc3BhcmM2NC10ZGVwLmMKICAKICAJICBzcGFyYzY0X3N0b3JlX2Zsb2F0aW5nX2Zp ZWxkcyAocmVnY2FjaGUsIHN1YnR5cGUsIHZhbGJ1ZiwKICAJCQkJCSBlbGVtZW50LCBzdWJwb3Mp OwotQEAgLTc0Niw3ICs3NDcsNyBAQAorQEAgLTc3Miw3ICs3NzMsNyBAQAogIAogIHN0YXRpYyB2 b2lkCiAgc3BhcmM2NF9leHRyYWN0X2Zsb2F0aW5nX2ZpZWxkcyAoc3RydWN0IHJlZ2NhY2hlICpy ZWdjYWNoZSwgc3RydWN0IHR5cGUgKnR5cGUsCkBAIC0xMDY4LDcgKzEwNjgsNyBAQCBJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3NwYXJjNjQtdGRlcC5jCiAgewogICAgc3RydWN0IGdk YmFyY2ggKmdkYmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUpOwogIAotQEAgLTc4 Niw3ICs3ODcsNyBAQAorQEAgLTgxMiw3ICs4MTMsNyBAQAogICAgICAgIGZvciAoaSA9IDA7IGkg PCBUWVBFX05GSUVMRFMgKHR5cGUpOyBpKyspCiAgCXsKICAJICBzdHJ1Y3QgdHlwZSAqc3VidHlw ZSA9IGNoZWNrX3R5cGVkZWYgKFRZUEVfRklFTERfVFlQRSAodHlwZSwgaSkpOwpAQCAtMTA3Nyw3 ICsxMDc3LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zcGFyYzY0LXRkZXAu YwogIAogIAkgIHNwYXJjNjRfZXh0cmFjdF9mbG9hdGluZ19maWVsZHMgKHJlZ2NhY2hlLCBzdWJ0 eXBlLCB2YWxidWYsIHN1YnBvcyk7CiAgCX0KLUBAIC04MTksNyArODIwLDcgQEAKK0BAIC04NDUs NyArODQ2LDcgQEAKICAgIGZvciAoaSA9IDA7IGkgPCBuYXJnczsgaSsrKQogICAgICB7CiAgICAg ICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChhcmdzW2ldKTsKQEAgLTEwODYsNyAr MTA4Niw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3BhcmM2NC10ZGVwLmMK ICAKICAgICAgICBpZiAoc3BhcmM2NF9zdHJ1Y3R1cmVfb3JfdW5pb25fcCAodHlwZSkKICAJICB8 fCAoc3BhcmM2NF9jb21wbGV4X2Zsb2F0aW5nX3AgKHR5cGUpICYmIGxlbiA9PSAzMikpCi1AQCAt OTE5LDcgKzkyMCw3IEBACitAQCAtOTQ1LDcgKzk0Niw3IEBACiAgICAgIHsKICAgICAgICBjb25z dCBnZGJfYnl0ZSAqdmFsYnVmID0gdmFsdWVfY29udGVudHMgKGFyZ3NbaV0pOwogICAgICAgIHN0 cnVjdCB0eXBlICp0eXBlID0gdmFsdWVfdHlwZSAoYXJnc1tpXSk7CkBAIC0xMDk1LDExICsxMDk1 LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3BhcmM2NC10ZGVwLmMKICAg ICAgICBpbnQgcmVnbnVtID0gLTE7CiAgICAgICAgZ2RiX2J5dGUgYnVmWzE2XTsKICAKLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3B1LXRkZXAuYworSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9zcHUtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAx NzAzMDkub3JpZy9nZGIvc3B1LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcyNTU0MTI4NSAr MDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zcHUtdGRlcC5jCTIwMTctMDMtMDkg MjM6MzU6MTQuNDM1NTc0MDg5ICswMTAwCi1AQCAtMTQzMCw3ICsxNDMwLDcgQEAKKy0tLSBnZGIt Ny45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9zcHUtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcu OTQwNTY2Njc5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3NwdS10ZGVwLmMJ MjAxNy0wNC0yMCAyMzoxMjoxMS4yNTE1ODg4NTcgKzAyMDAKK0BAIC0xNDMxLDcgKzE0MzEsNyBA QAogICAgICAgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1tpXTsKICAgICAgICBzdHJ1Y3QgdHlw ZSAqdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZykpOwogICAgICAgIGNvbnN0 IGdkYl9ieXRlICpjb250ZW50cyA9IHZhbHVlX2NvbnRlbnRzIChhcmcpOwpAQCAtMTEwOCw3ICsx MTA4LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zcHUtdGRlcC5jCiAgCiAg ICAgICAgLyogSWYgdGhlIGFyZ3VtZW50IGRvZXNuJ3Qgd2hvbGx5IGZpdCBpbnRvIHJlZ2lzdGVy cywgaXQgYW5kCiAgCSBhbGwgc3Vic2VxdWVudCBhcmd1bWVudHMgZ28gdG8gdGhlIHN0YWNrLiAg Ki8KLUBAIC0xNDYyLDcgKzE0NjIsNyBAQAorQEAgLTE0NjMsNyArMTQ2Myw3IEBACiAgCXsKICAJ ICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAgCSAgc3RydWN0IHR5cGUgKnR5cGUgPSBj aGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKQEAgLTExMTcsMTAgKzExMTcsMTAgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zcHUtdGRlcC5jCiAgCSAgaW50IHByZWZl cnJlZF9zbG90OwogIAkgIAogIAkgIGlmIChzcHVfc2NhbGFyX3ZhbHVlX3AgKHR5cGUpKQotSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi90aWM2eC10ZGVwLmMKK0luZGV4OiBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvdGljNngtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIu NTAuMjAxNzAzMDkub3JpZy9nZGIvdGljNngtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzI1 NTQxMjg1ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3RpYzZ4LXRkZXAuYwky MDE3LTAzLTA5IDIzOjM1OjE0LjQzNjU3NDA5NiArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcw NDIwLm9yaWcvZ2RiL3RpYzZ4LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3Ljk0MDU2NjY3OSAr MDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90aWM2eC10ZGVwLmMJMjAxNy0wNC0y MCAyMzoxMjoxMS4yNTE1ODg4NTcgKzAyMDAKIEBAIC04OTksNyArODk5LDcgQEAKICAgIGludCBh cmdyZWcgPSAwOwogICAgaW50IGFyZ251bTsKQEAgLTExNTgsMTAgKzExNTgsMTAgQEAgSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi90aWM2eC10ZGVwLmMKICAKICAJICBhZGRyID0gc3Ag KyBzdGFja19vZmZzZXQ7CiAgCSAgd3JpdGVfbWVtb3J5IChhZGRyLCB2YWwsIGxlbik7Ci1JbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3RpbGVneC10ZGVwLmMKK0luZGV4OiBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvdGlsZWd4LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEy LjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL3RpbGVneC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43 MjY1NDEyOTIgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvdGlsZWd4LXRkZXAu YwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQzNjU3NDA5NiArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIw MTcwNDIwLm9yaWcvZ2RiL3RpbGVneC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45NDE1NjY2 ODYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGlsZWd4LXRkZXAuYwkyMDE3 LTA0LTIwIDIzOjEyOjExLjI1MTU4ODg1NyArMDIwMAogQEAgLTI4OSw3ICsyODksNyBAQAogICAg Q09SRV9BRERSIHN0YWNrX2Rlc3QgPSBzcDsKICAgIGludCBhcmdyZWcgPSBUSUxFR1hfUjBfUkVH TlVNOwpAQCAtMTE3MSwxMCArMTE3MSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkv Z2RiL3RpbGVneC10ZGVwLmMKICAgIHN0YXRpYyBjb25zdCBnZGJfYnl0ZSBmb3VyX3plcm9fd29y ZHNbMTZdID0geyAwIH07CiAgCiAgICAvKiBJZiBzdHJ1Y3RfcmV0dXJuIGlzIDEsIHRoZW4gdGhl IHN0cnVjdCByZXR1cm4gYWRkcmVzcyB3aWxsCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkv Z2RiL3Y4NTAtdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Y4NTAtdGRl cC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvdjg1MC10 ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MjY1NDEyOTIgKzAxMDAKLSsrKyBnZGItNy4xMi41 MC4yMDE3MDMwOS9nZGIvdjg1MC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MzY1NzQwOTYg KzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi92ODUwLXRkZXAuYwkyMDE3 LTA0LTIwIDIzOjEyOjA3Ljk0MTU2NjY4NiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi92ODUwLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI1MjU4ODg2NCArMDIwMAogQEAg LTEwMTksNyArMTAxOSw3IEBACiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFy Y2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBpbnQgYXJncmVnOwpAQCAtMTE5MywxMCArMTE5 MywxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3Y4NTAtdGRlcC5jCiAgICAg ICAgZ2RiX2J5dGUgKnZhbDsKICAgICAgICBnZGJfYnl0ZSB2YWxidWZbdjg1MF9yZWdfc2l6ZV07 CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3ZheC10ZGVwLmMKK0luZGV4OiBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmF4LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL3ZheC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43 Mjc1NDEyOTkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvdmF4LXRkZXAuYwky MDE3LTAzLTA5IDIzOjM1OjE0LjQzNzU3NDEwMyArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcw NDIwLm9yaWcvZ2RiL3ZheC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45NDI1NjY2OTIgKzAy MDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmF4LXRkZXAuYwkyMDE3LTA0LTIwIDIz OjEyOjExLjI1MjU4ODg2NCArMDIwMAogQEAgLTExMSw3ICsxMTEsNyBAQAogICAgc3RydWN0IGdk YmFyY2ggKmdkYmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUpOwogICAgZW51bSBi ZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwpAQCAt MTIxNSwxMCArMTIxNSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3ZheC10 ZGVwLmMKICAKICAgICAgICBzcCAtPSAobGVuICsgMykgJiB+MzsKICAgICAgICBjb3VudCArPSAo bGVuICsgMykgLyA0OwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi94c3Rvcm15MTYt dGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3hzdG9ybXkxNi10ZGVwLmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi94c3Rvcm15MTYt dGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzI3NTQxMjk5ICswMTAwCi0rKysgZ2RiLTcuMTIu NTAuMjAxNzAzMDkvZ2RiL3hzdG9ybXkxNi10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40Mzc1 NzQxMDMgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi94c3Rvcm15MTYt dGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTQyNTY2NjkyICswMjAwCisrKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3hzdG9ybXkxNi10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNTI1 ODg4NjQgKzAyMDAKIEBAIC0yMzMsOCArMjMzLDkgQEAKICAgIGVudW0gYmZkX2VuZGlhbiBieXRl X29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIENPUkVfQUREUiBzdGFj a19kZXN0ID0gc3A7CkBAIC0xMjMxLDExICsxMjMxLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDMwOS9nZGIveHN0b3JteTE2LXRkZXAuYwogICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKICAg IGdkYl9ieXRlIGJ1Zlt4c3Rvcm15MTZfcGNfc2l6ZV07CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAzMDkvZ2RiL3h0ZW5zYS10ZGVwLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIveHRlbnNhLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9y aWcvZ2RiL3h0ZW5zYS10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43Mjg1NDEzMDYgKzAxMDAK LSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIveHRlbnNhLXRkZXAuYwkyMDE3LTAzLTA5IDIz OjM1OjE0LjQzODU3NDExMCArMDEwMAotQEAgLTE2MzksOCArMTYzOSw3IEBACistLS0gZ2RiLTcu OTkuOTAuMjAxNzA0MjAub3JpZy9nZGIveHRlbnNhLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3 Ljk0NDU2NjcwNiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi94dGVuc2EtdGRl cC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjUzNTg4ODcwICswMjAwCitAQCAtMTYzNyw4ICsxNjM3 LDcgQEAKICAKICAgICAgICBpZiAobGVuID4gKGNhbGxzaXplID4gOCA/IDggOiAxNikpCiAgCWlu dGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5FX18sCkBAIC0xMjQ1LDcgKzEyNDUsNyBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3h0ZW5zYS10ZGVwLmMKICAgICAgICBhcmVn ID0gYXJyZWdfbnVtYmVyIChnZGJhcmNoLAogIAkJCSAgIGdkYmFyY2hfdGRlcCAoZ2RiYXJjaCkt PmEwX2Jhc2UgKyAyICsgY2FsbHNpemUsIHdiKTsKICAKLUBAIC0xNzE0LDE4ICsxNzEzLDE4IEBA CitAQCAtMTcxMiwxOCArMTcxMSwxOCBAQAogIHsKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29y ZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGludCBpOwpAQCAtMTI2Nyw3 ICsxMjY3LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi94dGVuc2EtdGRlcC5j CiAgICAgICAgaW50IHJlZ25vOwkJLyogcmVnbm8gaWYgaW4gcmVnaXN0ZXIuICAqLwogICAgICB9 IHU7CiAgICB9OwotQEAgLTE3NDksOSArMTc0OCwxMCBAQAorQEAgLTE3NDcsOSArMTc0NiwxMCBA QAogICAgICAgICAgewogIAkgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1tpXTsKICAJICBzdHJ1 Y3QgdHlwZSAqYXJnX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKQEAg LTEyODEsNyArMTI4MSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIveHRlbnNh LXRkZXAuYwogIAkgIHN3aXRjaCAoVFlQRV9DT0RFIChhcmdfdHlwZSkpCiAgCSAgICB7CiAgCSAg ICBjYXNlIFRZUEVfQ09ERV9JTlQ6Ci1AQCAtMTgyMSw4ICsxODIxLDggQEAKK0BAIC0xODE5LDgg KzE4MTksOCBAQAogIAkgIGluZm8tPmFsaWduID0gVFlQRV9MRU5HVEggKGJ1aWx0aW5fdHlwZSAo Z2RiYXJjaCktPmJ1aWx0aW5fbG9uZyk7CiAgCSAgYnJlYWs7CiAgCX0KQEAgLTEyOTEsNyArMTI5 MSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIveHRlbnNhLXRkZXAuYwogIAog ICAgICAgIC8qIEFsaWduIHNpemUgYW5kIG9uc3RhY2tfc2l6ZS4gICovCiAgICAgICAgc2l6ZSA9 IChzaXplICsgaW5mby0+YWxpZ24gLSAxKSAmIH4oaW5mby0+YWxpZ24gLSAxKTsKLUBAIC0xODY3 LDcgKzE4NjcsNyBAQAorQEAgLTE4NjUsNyArMTg2NSw3IEBACiAgCiAgICAgICAgaWYgKGluZm8t Pm9uc3RhY2spCiAgCXsKQEAgLTEzMDAsNyArMTMwMCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDMwOS9nZGIveHRlbnNhLXRkZXAuYwogIAkgIENPUkVfQUREUiBvZmZzZXQgPSBzcCArIGlu Zm8tPnUub2Zmc2V0OwogIAogIAkgIC8qIE9kZC1zaXplZCBzdHJ1Y3RzIGFyZSBhbGlnbmVkIHRv IHRoZSBsb3dlciBzaWRlIG9mIGEgbWVtb3J5Ci1AQCAtMTg4Myw3ICsxODgzLDcgQEAKK0BAIC0x ODgxLDcgKzE4ODEsNyBAQAogIAl9CiAgICAgICAgZWxzZQogIAl7CgpkaWZmIC0tZ2l0IGEvZ2Ri LXZsYS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMucGF0Y2ggYi9nZGItdmxhLWludGVsLWZvcnRyYW4t c3RyaWRlcy5wYXRjaAppbmRleCBkOTRkNDYyLi44MjM4OWUwIDEwMDY0NAotLS0gYS9nZGItdmxh LWludGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaAorKysgYi9nZGItdmxhLWludGVsLWZvcnRyYW4t c3RyaWRlcy5wYXRjaApAQCAtMjYsMTEgKzI2LDExIEBAIGRiZmQ3MTQwYmY0YzA1MDBkMWY1ZDE5 MmJlNzgxZjgzZjc4Zjc5MjIKICBnZGIvdmFsdWUuaCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAyICsKICAyMyBmaWxlcyBjaGFuZ2VkLCAxMjQyIGluc2VydGlvbnMoKyksIDE4 MyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kd2FyZjJs b2MuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJsb2MuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2R3YXJmMmxvYy5jCTIwMTct MDMtMDEgMjI6Mzc6NDQuMDQ2ODY3NDIzICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYv Z2RiL2R3YXJmMmxvYy5jCTIwMTctMDMtMDEgMjI6Mzg6MDUuODAzMDE3MTc2ICswMTAwCi1AQCAt MjYwNywxMSArMjYwNywxNCBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2R3 YXJmMmxvYy5jCTIwMTctMDQtMjAgMjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCisrKysgZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMmxvYy5jCTIwMTctMDQtMjAgMjI6MjY6MTQuMzU2NDQ2 NTYyICswMjAwCitAQCAtMjYyMiwxMSArMjYyMiwxNCBAQAogIC8qIFNlZSBkd2FyZjJsb2MuaC4g ICovCiAgCiAgaW50CkBAIC00Nyw3ICs0Nyw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvZHdhcmYybG9jLmMKICAgIGlmIChwcm9wID09IE5VTEwpCiAgICAgIHJldHVybiAwOwog IAotQEAgLTI2MzUsNyArMjYzOCw3IEBACitAQCAtMjY1MCw3ICsyNjUzLDcgQEAKICAKICAJCSp2 YWx1ZSA9IHZhbHVlX2FzX2FkZHJlc3MgKHZhbCk7CiAgCSAgICAgIH0KQEAgLTU2LDcgKzU2LDcg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kd2FyZjJsb2MuYwogIAkgIH0KICAg ICAgICB9CiAgICAgICAgYnJlYWs7Ci1AQCAtMjY1Nyw3ICsyNjYwLDcgQEAKK0BAIC0yNjcyLDcg KzI2NzUsNyBAQAogIAkgICAgaWYgKCF2YWx1ZV9vcHRpbWl6ZWRfb3V0ICh2YWwpKQogIAkgICAg ICB7CiAgCQkqdmFsdWUgPSB2YWx1ZV9hc19hZGRyZXNzICh2YWwpOwpAQCAtNjUsNyArNjUsNyBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJmMmxvYy5jCiAgCSAgICAgIH0K ICAJICB9CiAgICAgICAgfQotQEAgLTI2NjUsOCArMjY2OCw4IEBACitAQCAtMjY4MCw4ICsyNjgz LDggQEAKICAKICAgICAgY2FzZSBQUk9QX0NPTlNUOgogICAgICAgICp2YWx1ZSA9IHByb3AtPmRh dGEuY29uc3RfdmFsOwpAQCAtNzYsNyArNzYsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL2R3YXJmMmxvYy5jCiAgICAgIGNhc2UgUFJPUF9BRERSX09GRlNFVDoKICAgICAgICB7 CiAgCXN0cnVjdCBkd2FyZjJfcHJvcGVydHlfYmF0b24gKmJhdG9uCi1AQCAtMjY4NywxMSArMjY5 MCwzOCBAQAorQEAgLTI3MDIsMTEgKzI3MDUsMzggQEAKICAJICB2YWwgPSB2YWx1ZV9hdCAoYmF0 b24tPm9mZnNldF9pbmZvLnR5cGUsCiAgCQkJICBwaW5mby0+YWRkciArIGJhdG9uLT5vZmZzZXRf aW5mby5vZmZzZXQpOwogIAkqdmFsdWUgPSB2YWx1ZV9hc19hZGRyZXNzICh2YWwpOwpAQCAtMTE3 LDExICsxMTcsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kd2FyZjJsb2Mu YwogIH0KICAKICAvKiBTZWUgZHdhcmYybG9jLmguICAqLwotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9kd2FyZjJsb2MuaAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9k d2FyZjJsb2MuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2Ri L2R3YXJmMmxvYy5oCTIwMTctMDMtMDEgMjI6Mzc6NDQuMDQ2ODY3NDIzICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJmMmxvYy5oCTIwMTctMDMtMDEgMjI6Mzg6MDUuODAz MDE3MTc2ICswMTAwCi1AQCAtMTQwLDYgKzE0MCwxMiBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcw NDIwLm9yaWcvZ2RiL2R3YXJmMmxvYy5oCTIwMTctMDQtMjAgMjI6MjU6NDMuOTczMjU0Njg1ICsw MjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMmxvYy5oCTIwMTctMDQtMjAg MjI6MjY6MTQuMzU2NDQ2NTYyICswMjAwCitAQCAtMTQzLDYgKzE0MywxMiBAQAogIAkJCSAgICAg IHN0cnVjdCBwcm9wZXJ0eV9hZGRyX2luZm8gKmFkZHJfc3RhY2ssCiAgCQkJICAgICAgQ09SRV9B RERSICp2YWx1ZSk7CiAgCkBAIC0xMzQsMTEgKzEzNCwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL2R3YXJmMmxvYy5oCiAgLyogQSBoZWxwZXIgZm9yIHRoZSBjb21waWxlciBp bnRlcmZhY2UgdGhhdCBjb21waWxlcyBhIHNpbmdsZSBkeW5hbWljCiAgICAgcHJvcGVydHkgdG8g QyBjb2RlLgogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kd2FyZjJyZWFkLmMK K0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYycmVhZC5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDMt MDEgMjI6Mzc6NDQuMDQ2ODY3NDIzICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L2R3YXJmMnJlYWQuYwkyMDE3LTAzLTAxIDIyOjM4OjA1LjgwNzAxNzIwNCArMDEwMAotQEAgLTE1 MTc4LDcgKzE1MTc4LDcgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kd2Fy ZjJyZWFkLmMJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKKysrKyBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDQtMjAgMjI6Mjc6MDguNTEwNzg4 NTYyICswMjAwCitAQCAtMTUyNjgsNyArMTUyNjgsNyBAQAogICAgc3RydWN0IHR5cGUgKmJhc2Vf dHlwZSwgKm9yaWdfYmFzZV90eXBlOwogICAgc3RydWN0IHR5cGUgKnJhbmdlX3R5cGU7CiAgICBz dHJ1Y3QgYXR0cmlidXRlICphdHRyOwpAQCAtMTQ3LDcgKzE0Nyw3IEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvZHdhcmYycmVhZC5jCiAgICBpbnQgbG93X2RlZmF1bHRfaXNfdmFs aWQ7CiAgICBpbnQgaGlnaF9ib3VuZF9pc19jb3VudCA9IDA7CiAgICBjb25zdCBjaGFyICpuYW1l OwotQEAgLTE1MTk4LDcgKzE1MTk4LDkgQEAKK0BAIC0xNTI4OCw3ICsxNTI4OCw5IEBACiAgCiAg ICBsb3cua2luZCA9IFBST1BfQ09OU1Q7CiAgICBoaWdoLmtpbmQgPSBQUk9QX0NPTlNUOwpAQCAt MTU3LDcgKzE1Nyw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZHdhcmYycmVh ZC5jCiAgCiAgICAvKiBTZXQgTE9XX0RFRkFVTFRfSVNfVkFMSUQgaWYgY3VycmVudCBsYW5ndWFn ZSBhbmQgRFdBUkYgdmVyc2lvbiBhbGxvdwogICAgICAgb21pdHRpbmcgRFdfQVRfbG93ZXJfYm91 bmQuICAqLwotQEAgLTE1MjMxLDYgKzE1MjMzLDEzIEBACitAQCAtMTUzMjEsNiArMTUzMjMsMTMg QEAKICAgICAgICBicmVhazsKICAgICAgfQogIApAQCAtMTY2LDEyICsxNjYsMTIgQEAgSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kd2FyZjJyZWFkLmMKICsgICAgaWYgKCFhdHRyX3Rv X2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnN0cmlkZSkpCiArICAgICAgICBjb21wbGFp bnQgKCZzeW1maWxlX2NvbXBsYWludHMsIF8oIk1pc3NpbmcgRFdfQVRfYnl0ZV9zdHJpZGUgIgog KyAgICAgICAgICAgICAgICAgICItIERJRSBhdCAweCV4IFtpbiBtb2R1bGUgJXNdIiksCi0rICAg ICAgICAgICAgIGRpZS0+b2Zmc2V0LnNlY3Rfb2ZmLCBvYmpmaWxlX25hbWUgKGN1LT5vYmpmaWxl KSk7CisrICAgICAgICAgICAgIHRvX3VuZGVybHlpbmcgKGRpZS0+c2VjdF9vZmYpLCBvYmpmaWxl X25hbWUgKGN1LT5vYmpmaWxlKSk7CiArCiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdf QVRfbG93ZXJfYm91bmQsIGN1KTsKICAgIGlmIChhdHRyKQogICAgICBhdHRyX3RvX2R5bmFtaWNf cHJvcCAoYXR0ciwgZGllLCBjdSwgJmxvdyk7Ci1AQCAtMTUzMDcsNyArMTUzMTYsNyBAQAorQEAg LTE1Mzk3LDcgKzE1NDA2LDcgQEAKICAgICAgICAmJiAhVFlQRV9VTlNJR05FRCAoYmFzZV90eXBl KSAmJiAoaGlnaC5kYXRhLmNvbnN0X3ZhbCAmIG5lZ2F0aXZlX21hc2spKQogICAgICBoaWdoLmRh dGEuY29uc3RfdmFsIHw9IG5lZ2F0aXZlX21hc2s7CiAgCkBAIC0xODAsMTAgKzE4MCwxMCBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJmMnJlYWQuYwogIAogICAgaWYgKGhp Z2hfYm91bmRfaXNfY291bnQpCiAgICAgIFRZUEVfUkFOR0VfREFUQSAocmFuZ2VfdHlwZSktPmZs YWdfdXBwZXJfYm91bmRfaXNfY291bnQgPSAxOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2 L2dkYi9ldmFsLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZXZhbC5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZXZhbC5jCTIwMTctMDMt MDEgMjI6Mzc6NDQuMDQ2ODY3NDIzICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L2V2YWwuYwkyMDE3LTAzLTAxIDIyOjM4OjA1LjgwODAxNzIxMSArMDEwMAorLS0tIGdkYi03Ljk5 LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2V2YWwuYwkyMDE3LTA0LTIwIDIyOjI1OjQzLjk3MzI1NDY4 NSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ldmFsLmMJMjAxNy0wNC0yMCAy MjoyNjoxNC4zNjI0NDY2MDAgKzAyMDAKIEBAIC0zNzksMjkgKzM3OSwzMjUgQEAKICAgIHJldHVy biBpbmRleDsKICB9CkBAIC02MDgsMTAgKzYwOCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL2V2YWwuYwogICAgaWYgKChUWVBFX0NPREUgKGFycmF5X3R5cGUpICE9IFRZUEVf Q09ERV9BUlJBWSkpCiAgICAgIGVycm9yIChfKCJDYW4ndCBnZXQgZGltZW5zaW9ucyBmb3IgYSBu b24tYXJyYXkgdHlwZSIpKTsKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZXhw cHJpbnQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9leHBwcmludC5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZXhwcHJpbnQuYwkyMDE3 LTAzLTAxIDIyOjM3OjQ0LjA0Njg2NzQyMyArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2 L2dkYi9leHBwcmludC5jCTIwMTctMDMtMDEgMjI6Mzg6MDUuODA5MDE3MjE4ICswMTAwCistLS0g Z2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZXhwcHJpbnQuYwkyMDE3LTA0LTIwIDIyOjI1 OjQzLjk3MzI1NDY4NSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9leHBwcmlu dC5jCTIwMTctMDQtMjAgMjI6MjY6MTQuMzYzNDQ2NjA3ICswMjAwCiBAQCAtNTY4LDEyICs1Njgs MTAgQEAKICAJKnBvcyArPSAyOwogIApAQCAtNjYyLDEyICs2NjIsMTIgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9leHBwcmludC5jCiAgCSAgZWx0ID0gZHVtcF9zdWJleHAgKGV4 cCwgc3RyZWFtLCBlbHQpOwogICAgICAgIH0KICAgICAgICBicmVhazsKLUluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvZXhwcmVzc2lvbi5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL2V4cHJlc3Npb24uaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2 Lm9yaWcvZ2RiL2V4cHJlc3Npb24uaAkyMDE3LTAzLTAxIDIyOjM3OjQ0LjA0Njg2NzQyMyArMDEw MAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9leHByZXNzaW9uLmgJMjAxNy0wMy0wMSAy MjozODowNS44MDkwMTcyMTggKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi9leHByZXNzaW9uLmgJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKKysrKyBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZXhwcmVzc2lvbi5oCTIwMTctMDQtMjAgMjI6MjY6MTQu MzYzNDQ2NjA3ICswMjAwCiBAQCAtMTU0LDE3ICsxNTQsMTcgQEAKLSAJCQkJIHN0cnVjdCB1aV9m aWxlICosIGNoYXIgKik7CisgCQkJCSBzdHJ1Y3QgdWlfZmlsZSAqLCBjb25zdCBjaGFyICopOwog IGV4dGVybiB2b2lkIGR1bXBfcHJlZml4X2V4cHJlc3Npb24gKHN0cnVjdCBleHByZXNzaW9uICos IHN0cnVjdCB1aV9maWxlICopOwogIAogLS8qIEluIGFuIE9QX1JBTkdFIGV4cHJlc3Npb24sIGVp dGhlciBib3VuZCBjb3VsZCBiZSBlbXB0eSwgaW5kaWNhdGluZwpAQCAtNjkzLDEwICs2OTMsMTAg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9leHByZXNzaW9uLmgKICAgIH07CiAg CiAgI2VuZGlmIC8qICFkZWZpbmVkIChFWFBSRVNTSU9OX0gpICovCi1JbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL2YtZXhwLnkKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv Zi1leHAueQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2Yt ZXhwLnkJMjAxNy0wMy0wMSAyMjozNzo0NC4wNDY4Njc0MjMgKzAxMDAKLSsrKyBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvZi1leHAueQkyMDE3LTAzLTAxIDIyOjM4OjA1LjgwOTAxNzIxOCArMDEw MAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2YtZXhwLnkJMjAxNy0wNC0yMCAy MjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZi1l eHAueQkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2MzQ0NjYwNyArMDIwMAogQEAgLTI1NCwzMSArMjU0 LDYzIEBACiAgICAgCiAgYXJnbGlzdAk6CWFyZ2xpc3QgJywnIGV4cCAgICVwcmVjIEFCT1ZFX0NP TU1BCkBAIC03NjYsMTAgKzc2NiwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L2YtZXhwLnkKICAJCQkgIHdyaXRlX2V4cF9lbHRfb3Bjb2RlIChwc3RhdGUsIE9QX1JBTkdFKTsg fQogIAk7CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2YtdmFscHJpbnQuYwor SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9mLXZhbHByaW50LmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9mLXZhbHByaW50LmMJMjAxNy0wMy0w MSAyMjozNzo0NC4wNDY4Njc0MjMgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIv Zi12YWxwcmludC5jCTIwMTctMDMtMDEgMjI6Mzg6MDUuODA5MDE3MjE4ICswMTAwCistLS0gZ2Ri LTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZi12YWxwcmludC5jCTIwMTctMDQtMjAgMjI6MjU6 NDMuOTczMjU0Njg1ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2YtdmFscHJp bnQuYwkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2NDQ0NjYxMyArMDIwMAogQEAgLTEyMSw4ICsxMjEs MTQgQEAKICAKICAgIGlmIChuc3MgIT0gbmRpbWVuc2lvbnMpCkBAIC03ODYsMTEgKzc4NiwxMSBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2YtdmFscHJpbnQuYwogIAogICAgICAg IGZvciAoaSA9IGxvd2VyYm91bmQ7CiAgCSAgIChpIDwgdXBwZXJib3VuZCArIDEgJiYgKCplbHRz KSA8IG9wdGlvbnMtPnByaW50X21heCk7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L2dkYnR5cGVzLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ2RidHlwZXMuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2dkYnR5cGVzLmMJ MjAxNy0wMy0wMSAyMjozNzo0NC4wNDY4Njc0MjMgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvZ2RidHlwZXMuYwkyMDE3LTAzLTAxIDIyOjM4OjA1LjgxMDAxNzIyNCArMDEwMAot QEAgLTgzNiw3ICs4MzYsOCBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2dk YnR5cGVzLmMJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKKysrKyBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvZ2RidHlwZXMuYwkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2NTQ0NjYx OSArMDIwMAorQEAgLTg2Miw3ICs4NjIsOCBAQAogIHN0cnVjdCB0eXBlICoKICBjcmVhdGVfcmFu Z2VfdHlwZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90eXBlLCBzdHJ1Y3QgdHlwZSAqaW5kZXhfdHlw ZSwKICAJCSAgIGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKmxvd19ib3VuZCwKQEAgLTgwMCw3 ICs4MDAsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnR5cGVzLmMKICB7 CiAgICBpZiAocmVzdWx0X3R5cGUgPT0gTlVMTCkKICAgICAgcmVzdWx0X3R5cGUgPSBhbGxvY190 eXBlX2NvcHkgKGluZGV4X3R5cGUpOwotQEAgLTg1MSw2ICs4NTIsNyBAQAorQEAgLTg3Nyw2ICs4 NzgsNyBAQAogICAgICBUWVBFX1pBTExPQyAocmVzdWx0X3R5cGUsIHNpemVvZiAoc3RydWN0IHJh bmdlX2JvdW5kcykpOwogICAgVFlQRV9SQU5HRV9EQVRBIChyZXN1bHRfdHlwZSktPmxvdyA9ICps b3dfYm91bmQ7CiAgICBUWVBFX1JBTkdFX0RBVEEgKHJlc3VsdF90eXBlKS0+aGlnaCA9ICpoaWdo X2JvdW5kOwpAQCAtODA4LDcgKzgwOCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvZ2RidHlwZXMuYwogIAogICAgaWYgKGxvd19ib3VuZC0+a2luZCA9PSBQUk9QX0NPTlNUICYm IGxvd19ib3VuZC0+ZGF0YS5jb25zdF92YWwgPj0gMCkKICAgICAgVFlQRV9VTlNJR05FRCAocmVz dWx0X3R5cGUpID0gMTsKLUBAIC04NzksNyArODgxLDcgQEAKK0BAIC05MDUsNyArOTA3LDcgQEAK ICBjcmVhdGVfc3RhdGljX3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBlICpyZXN1bHRfdHlwZSwgc3Ry dWN0IHR5cGUgKmluZGV4X3R5cGUsCiAgCQkJICBMT05HRVNUIGxvd19ib3VuZCwgTE9OR0VTVCBo aWdoX2JvdW5kKQogIHsKQEAgLTgxNyw3ICs4MTcsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL2dkYnR5cGVzLmMKICAKICAgIGxvdy5raW5kID0gUFJPUF9DT05TVDsKICAgIGxv dy5kYXRhLmNvbnN0X3ZhbCA9IGxvd19ib3VuZDsKLUBAIC04ODcsNyArODg5LDExIEBACitAQCAt OTEzLDcgKzkxNSwxMSBAQAogICAgaGlnaC5raW5kID0gUFJPUF9DT05TVDsKICAgIGhpZ2guZGF0 YS5jb25zdF92YWwgPSBoaWdoX2JvdW5kOwogIApAQCAtODMwLDcgKzgzMCw3IEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2RidHlwZXMuYwogIAogICAgcmV0dXJuIHJlc3VsdF90 eXBlOwogIH0KLUBAIC0xMDg0LDE2ICsxMDkwLDIwIEBACitAQCAtMTExMCwxNiArMTExNiwyMCBA QAogICAgICAgICYmICghdHlwZV9ub3RfYXNzb2NpYXRlZCAocmVzdWx0X3R5cGUpCiAgCSAgJiYg IXR5cGVfbm90X2FsbG9jYXRlZCAocmVzdWx0X3R5cGUpKSkKICAgICAgewpAQCAtODUyLDcgKzg1 Miw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2RidHlwZXMuYwogICAgICAg IGVsc2UgaWYgKGJpdF9zdHJpZGUgPiAwKQogIAlUWVBFX0xFTkdUSCAocmVzdWx0X3R5cGUpID0K ICAJICAoYml0X3N0cmlkZSAqIChoaWdoX2JvdW5kIC0gbG93X2JvdW5kICsgMSkgKyA3KSAvIDg7 Ci1AQCAtMTg4NiwxMiArMTg5NiwxMiBAQAorQEAgLTE5MTIsMTIgKzE5MjIsMTIgQEAKICAgIENP UkVfQUREUiB2YWx1ZTsKICAgIHN0cnVjdCB0eXBlICpzdGF0aWNfcmFuZ2VfdHlwZSwgKnN0YXRp Y190YXJnZXRfdHlwZTsKICAgIGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3A7CkBAIC04 NjcsNyArODY3LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5j CiAgICAgIHsKICAgICAgICBsb3dfYm91bmQua2luZCA9IFBST1BfQ09OU1Q7CiAgICAgICAgbG93 X2JvdW5kLmRhdGEuY29uc3RfdmFsID0gdmFsdWU7Ci1AQCAtMTkwMyw3ICsxOTEzLDcgQEAKK0BA IC0xOTI5LDcgKzE5MzksNyBAQAogICAgICB9CiAgCiAgICBwcm9wID0gJlRZUEVfUkFOR0VfREFU QSAoZHluX3JhbmdlX3R5cGUpLT5oaWdoOwpAQCAtODc2LDcgKzg3Niw3IEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvZ2RidHlwZXMuYwogICAgICB7CiAgICAgICAgaGlnaF9ib3Vu ZC5raW5kID0gUFJPUF9DT05TVDsKICAgICAgICBoaWdoX2JvdW5kLmRhdGEuY29uc3RfdmFsID0g dmFsdWU7Ci1AQCAtMTkxOCwxMiArMTkyOCwyMCBAQAorQEAgLTE5NDQsMTIgKzE5NTQsMjAgQEAK ICAgICAgICBoaWdoX2JvdW5kLmRhdGEuY29uc3RfdmFsID0gMDsKICAgICAgfQogIApAQCAtODk4 LDExICs4OTgsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5j CiAgICBUWVBFX1JBTkdFX0RBVEEgKHN0YXRpY19yYW5nZV90eXBlKS0+ZmxhZ19ib3VuZF9ldmFs dWF0ZWQgPSAxOwogICAgcmV0dXJuIHN0YXRpY19yYW5nZV90eXBlOwogIH0KLUluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvZ2RidHlwZXMuaAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi9nZGJ0eXBlcy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYu b3JpZy9nZGIvZ2RidHlwZXMuaAkyMDE3LTAzLTAxIDIyOjM3OjQ0LjA0Njg2NzQyMyArMDEwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5oCTIwMTctMDMtMDEgMjI6Mzg6 MDUuODExMDE3MjMxICswMTAwCi1AQCAtNTUwLDYgKzU1MCwxMCBAQAorLS0tIGdkYi03Ljk5Ljkw LjIwMTcwNDIwLm9yaWcvZ2RiL2dkYnR5cGVzLmgJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2 ODUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ2RidHlwZXMuaAkyMDE3LTA0 LTIwIDIyOjI2OjE0LjM2NTQ0NjYxOSArMDIwMAorQEAgLTU1MSw2ICs1NTEsMTAgQEAKICAKICAg IHN0cnVjdCBkeW5hbWljX3Byb3AgaGlnaDsKICAKQEAgLTkxMyw3ICs5MTMsNyBAQCBJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnR5cGVzLmgKICAgIC8qIFRydWUgaWYgSElHSCBy YW5nZSBib3VuZCBjb250YWlucyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZQogICAgICAg c3VicmFuZ2UuIFRoaXMgYWZmZWN0cyBob3cgdGhlIGZpbmFsIGhpZ2h0IGJvdW5kIGlzIGNvbXB1 dGVkLiAgKi8KICAKLUBAIC03MTIsNyArNzE2LDYgQEAKK0BAIC03MTMsNyArNzE3LDYgQEAKICAg ICAgLyogKiBVbmlvbiBtZW1iZXIgdXNlZCBmb3IgcmFuZ2UgdHlwZXMuICAqLwogIAogICAgICBz dHJ1Y3QgcmFuZ2VfYm91bmRzICpib3VuZHM7CkBAIC05MjEsNyArOTIxLDcgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5oCiAgICB9IGZsZHNfYm5kczsKICAKICAg IC8qICogU2xvdCB0byBwb2ludCB0byBhZGRpdGlvbmFsIGxhbmd1YWdlLXNwZWNpZmljIGZpZWxk cyBvZiB0aGlzCi1AQCAtMTIyMiw2ICsxMjI1LDE1IEBACitAQCAtMTIyOCw2ICsxMjMxLDE1IEBA CiAgICBUWVBFX1JBTkdFX0RBVEEocmFuZ2VfdHlwZSktPmhpZ2gua2luZAogICNkZWZpbmUgVFlQ RV9MT1dfQk9VTkRfS0lORChyYW5nZV90eXBlKSBcCiAgICBUWVBFX1JBTkdFX0RBVEEocmFuZ2Vf dHlwZSktPmxvdy5raW5kCkBAIC05MzcsNyArOTM3LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9nZGJ0eXBlcy5oCiAgCiAgLyogUHJvcGVydHkgYWNjZXNzb3JzIGZvciB0aGUg dHlwZSBkYXRhIGxvY2F0aW9uLiAgKi8KICAjZGVmaW5lIFRZUEVfREFUQV9MT0NBVElPTih0aGlz dHlwZSkgXAotQEAgLTEyNTYsNiArMTI2OCw5IEBACitAQCAtMTI2Miw2ICsxMjc0LDkgQEAKICAg ICBUWVBFX0hJR0hfQk9VTkRfVU5ERUZJTkVEKFRZUEVfSU5ERVhfVFlQRShhcnJheXR5cGUpKQog ICNkZWZpbmUgVFlQRV9BUlJBWV9MT1dFUl9CT1VORF9JU19VTkRFRklORUQoYXJyYXl0eXBlKSBc CiAgICAgVFlQRV9MT1dfQk9VTkRfVU5ERUZJTkVEKFRZUEVfSU5ERVhfVFlQRShhcnJheXR5cGUp KQpAQCAtOTQ3LDcgKzk0Nyw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2Ri dHlwZXMuaAogIAogICNkZWZpbmUgVFlQRV9BUlJBWV9VUFBFUl9CT1VORF9WQUxVRShhcnJheXR5 cGUpIFwKICAgICAoVFlQRV9ISUdIX0JPVU5EKFRZUEVfSU5ERVhfVFlQRSgoYXJyYXl0eXBlKSkp KQotQEAgLTE3NjUsNiArMTc4MCw3IEBACitAQCAtMTc3Niw2ICsxNzkxLDcgQEAKICAKICBleHRl cm4gc3RydWN0IHR5cGUgKmNyZWF0ZV9yYW5nZV90eXBlIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3Qg dHlwZSAqLAogIAkJCQkgICAgICAgY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAqLApAQCAtOTU1 LDEwICs5NTUsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5o CiAgCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICopOwogIAogIGV4dGVybiBz dHJ1Y3QgdHlwZSAqY3JlYXRlX2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB0eXBl ICosCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3BhcnNlLmMKK0luZGV4OiBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvcGFyc2UuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUw LjIwMTcwMjI2Lm9yaWcvZ2RiL3BhcnNlLmMJMjAxNy0wMy0wMSAyMjozNzo0NC4wNDY4Njc0MjMg KzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvcGFyc2UuYwkyMDE3LTAzLTAxIDIy OjM4OjA1LjgxMTAxNzIzMSArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2Ri L3BhcnNlLmMJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKKysrKyBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvcGFyc2UuYwkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2NjQ0NjYyNSAr MDIwMAogQEAgLTEwMDcsMjIgKzEwMDcsMjAgQEAKICAKICAgICAgY2FzZSBPUF9SQU5HRToKQEAg LTk5MywxMCArOTkzLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvcGFyc2Uu YwogIAogICAgICAgIGJyZWFrOwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9y dXN0LWV4cC55CitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3J1c3QtZXhwLnkKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9ydXN0LWV4cC55CTIw MTctMDMtMDEgMjI6Mzc6NDQuMDQ1ODY3NDE2ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL3J1c3QtZXhwLnkJMjAxNy0wMy0wMSAyMjozODowNS44MTEwMTcyMzEgKzAxMDAKKy0t LSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9ydXN0LWV4cC55CTIwMTctMDQtMjAgMjI6 MjU6NDMuOTczMjU0Njg1ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3J1c3Qt ZXhwLnkJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjY0NDY2MjUgKzAyMDAKIEBAIC0yNDA5LDIzICsy NDA5LDE3IEBACiAgCiAgICAgIGNhc2UgT1BfUkFOR0U6CkBAIC0xMDI0LDEwICsxMDI0LDEwIEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvcnVzdC1leHAueQogIAkgIH0KICAJd3Jp dGVfZXhwX2VsdF9vcGNvZGUgKHN0YXRlLCBPUF9SQU5HRSk7CiAgCXdyaXRlX2V4cF9lbHRfbG9u Z2NzdCAoc3RhdGUsIGtpbmQpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9ydXN0 LWxhbmcuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ydXN0LWxhbmcuYwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3J1c3QtbGFuZy5jCTIw MTctMDMtMDEgMjI6Mzc6NDQuMDQ2ODY3NDIzICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL3J1c3QtbGFuZy5jCTIwMTctMDMtMDEgMjI6Mzg6MDUuODEyMDE3MjM4ICswMTAwCist LS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvcnVzdC1sYW5nLmMJMjAxNy0wNC0yMCAy MjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcnVz dC1sYW5nLmMJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjc0NDY2MzIgKzAyMDAKIEBAIC0xMzE0LDkg KzEzMTQsOSBAQAogICAga2luZCA9IChlbnVtIHJhbmdlX3R5cGUpIGxvbmdlc3RfdG9faW50IChl eHAtPmVsdHNbKnBvcyArIDFdLmxvbmdjb25zdCk7CiAgICAqcG9zICs9IDM7CkBAIC0xMDk0LDEw ICsxMDk0LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvcnVzdC1sYW5nLmMK ICAJICAgIGhpZ2ggPSBoaWdoX2JvdW5kOwogIAkgIGlmIChoaWdoIDwgMCkKICAJICAgIGVycm9y IChfKCJIaWdoIGluZGV4IGxlc3MgdGhhbiB6ZXJvIikpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RhdGljLWFycmF5cy5leHAKK0luZGV4 OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0YXRpYy1h cnJheXMuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9zdGF0aWMtYXJyYXlzLmV4cAkyMDE3LTAzLTAxIDIyOjM4OjA1LjgxMjAxNzIz OCArMDEwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vc3RhdGljLWFycmF5cy5leHAJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjc0NDY2MzIgKzAyMDAK IEBAIC0wLDAgKzEsNDIxIEBACiArIyBDb3B5cmlnaHQgMjAxNSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KICsjCkBAIC0xNTIwLDEwICsxNTIwLDEwIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0YXRpYy1hcnJheXMuZXhwCiAr Z2RiX3Rlc3QgInByaW50IGFyMVwoMzo3XCkgPSA0MiIgXAogKwkJIkludmFsaWQgY2FzdC4iIFwK ICsJCSJBc3NpZ25tZW50IG9mIHZhbHVlIHRvIHN1YmFycmF5IgotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RhdGljLWFycmF5cy5mOTAKK0lu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0YXRp Yy1hcnJheXMuZjkwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9zdGF0aWMtYXJyYXlzLmY5MAkyMDE3LTAzLTAxIDIyOjM4OjA1LjgxMjAx NzIzOCArMDEwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vc3RhdGljLWFycmF5cy5mOTAJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjg0NDY2MzggKzAy MDAKIEBAIC0wLDAgKzEsNTUgQEAKICshIENvcHlyaWdodCAyMDE1IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgogKyEKQEAgLTE1ODAsMTAgKzE1ODAsMTAgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RhdGljLWFycmF5cy5mOTAK ICtwcm9ncmFtIHRlc3Rwcm9nCiArICBjYWxsIHN1YgogK2VuZAotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAorSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBl LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwCTIwMTctMDMtMDEgMjI6Mzc6NDQuMDQ2ODY3 NDIzICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi92bGEtcHR5cGUuZXhwCTIwMTctMDMtMDEgMjI6Mzg6MDUuODEzMDE3MjQ1ICswMTAwCist LS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1wdHlwZS5leHAJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKKysrKyBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAJ MjAxNy0wNC0yMCAyMjoyNjoxNC4zNjg0NDY2MzggKzAyMDAKIEBAIC05OCwzICs5OCw3IEBACiAg Z2RiX3Rlc3QgInB0eXBlIHZsYTIoNSwgNDUsIDIwKSIgXAogICAgIm5vIHN1Y2ggdmVjdG9yIGVs ZW1lbnQgXFxcKHZlY3RvciBub3QgYWxsb2NhdGVkXFxcKSIgXApAQCAtMTU5MiwxMCArMTU5Miwx MCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtcHR5cGUuZXhwCiArZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInZs YTEtbmVnLWJvdW5kcyJdCiArZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgInZsYTEtbmVnLWJv dW5kcyIKICtnZGJfdGVzdCAicHR5cGUgdmxhMSIgInR5cGUgPSAkcmVhbCBcXCgtMjoxLC01OjQs LTM6LTFcXCkiICJwdHlwZSB2bGExIG5lZ2F0aXZlIGJvdW5kcyIKLUluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXplb2YuZXhwCitJbmRl eDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6 ZW9mLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cAkyMDE3LTAzLTAxIDIyOjM3OjQ0LjA0 Njg2NzQyMyArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLXNpemVvZi5leHAJMjAxNy0wMy0wMSAyMjozODowNS44MTMwMTcyNDUgKzAx MDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLXNpemVvZi5leHAJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKKysr KyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXpl b2YuZXhwCTIwMTctMDQtMjAgMjI6MjY6MTQuMzY4NDQ2NjM4ICswMjAwCiBAQCAtNDQsMyArNDQs NyBAQAogIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJwdmxhLWFzc29jaWF0 ZWQiXQogIGdkYl9jb250aW51ZV90b19icmVha3BvaW50ICJwdmxhLWFzc29jaWF0ZWQiCkBAIC0x NjA0LDEwICsxNjA0LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXplb2YuZXhwCiArZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRf bGluZV9udW1iZXIgInZsYTEtbmVnLWJvdW5kcyJdCiArZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9p bnQgInZsYTEtbmVnLWJvdW5kcyIKICtnZGJfdGVzdCAicHJpbnQgc2l6ZW9mKHZsYTEpIiAiID0g NDgwIiAicHJpbnQgc2l6ZW9mIHZsYTEgbmVnYXRpdmUgYm91bmRzIgotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmlkZS5leHAKK0lu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1z dHJpZGUuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi92bGEtc3RyaWRlLmV4cAkyMDE3LTAzLTAxIDIyOjM4OjA1LjgxMzAxNzI0NSAr MDEwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v dmxhLXN0cmlkZS5leHAJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjg0NDY2MzggKzAyMDAKIEBAIC0w LDAgKzEsNDQgQEAKICsjIENvcHlyaWdodCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogKwpAQCAtMTY1MywxMCArMTY1MywxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRlLmV4cAogK2dkYl9jb250aW51 ZV90b19icmVha3BvaW50ICJzaW5nbGUtZWxlbWVudCIKICtnZGJfdGVzdCAicHJpbnQgcHZsYSIg IiA9IFxcXCg1XFxcKSIgInByaW50IHNpbmdsZS1lbGVtZW50IgogK2dkYl90ZXN0ICJwcmludCBw dmxhKDEpIiAiID0gNSIgInByaW50IG9uZSBzaW5nbGUtZWxlbWVudCIKLUluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZjkwCitJ bmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt c3RyaWRlLmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAw LjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXN0cmlkZS5mOTAJMjAxNy0wMy0wMSAyMjozODowNS44MTMwMTcyNDUg KzAxMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3ZsYS1zdHJpZGUuZjkwCTIwMTctMDQtMjAgMjI6MjY6MTQuMzY4NDQ2NjM4ICswMjAwCiBAQCAt MCwwICsxLDI5IEBACiArISBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KICshCkBAIC0xNjg3LDEwICsxNjg3LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZjkwCiArCiArICBwdmxh ID0+IG51bGwoKSAgICAgICAgISBzaW5nbGUtZWxlbWVudAogK2VuZCBwcm9ncmFtIHZsYV9zdHJp ZGUKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3ZsYS5mOTAKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3ZsYS5mOTAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmln L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLmY5MAkyMDE3LTAzLTAxIDIyOjM3OjQ0LjA0 Njg2NzQyMyArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLmY5MAkyMDE3LTAzLTAxIDIyOjM4OjA1LjgxMzAxNzI0NSArMDEwMAorLS0t IGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEu ZjkwCTIwMTctMDQtMjAgMjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCisrKysgZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEuZjkwCTIwMTctMDQtMjAgMjI6 MjY6MTQuMzY4NDQ2NjM4ICswMjAwCiBAQCAtNTQsNCArNTQsMTQgQEAKICAKICAgIGFsbG9jYXRl ICh2bGEzICgyLDIpKSAgICAgICAgICAgICAgICEgdmxhMi1kZWFsbG9jYXRlZApAQCAtMTcwNiwx MCArMTcwNiwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi92bGEuZjkwCiArICBsID0gYWxsb2NhdGVkKHZsYTEpCiArCiAgZW5kIHByb2dy YW0gdmxhCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3ZhbGFyaXRoLmMKK0luZGV4 OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmFsYXJpdGguYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3ZhbGFyaXRoLmMJMjAxNy0wMy0wMSAyMjozNzo0 NC4wNDY4Njc0MjMgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdmFsYXJpdGgu YwkyMDE3LTAzLTAxIDIyOjM4OjA1LjgxMzAxNzI0NSArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIw MTcwNDIwLm9yaWcvZ2RiL3ZhbGFyaXRoLmMJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUg KzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmFsYXJpdGguYwkyMDE3LTA0LTIw IDIyOjI2OjE0LjM2OTQ0NjY0NCArMDIwMAogQEAgLTE5MywxMCArMTkzLDE2IEBACiAgICBzdHJ1 Y3QgdHlwZSAqYXJyYXlfdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFycmF5KSk7 CiAgICBzdHJ1Y3QgdHlwZSAqZWx0X3R5cGUgPSBjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9U WVBFIChhcnJheV90eXBlKSk7CkBAIC0xNzI5LDExICsxNzI5LDExIEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvdmFsYXJpdGguYwogICAgICB7CiAgICAgICAgaWYgKHR5cGVfbm90 X2Fzc29jaWF0ZWQgKGFycmF5X3R5cGUpKQogICAgICAgICAgZXJyb3IgKF8oIm5vIHN1Y2ggdmVj dG9yIGVsZW1lbnQgKHZlY3RvciBub3QgYXNzb2NpYXRlZCkiKSk7Ci1JbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL3ZhbG9wcy5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L3ZhbG9wcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIv dmFsb3BzLmMJMjAxNy0wMy0wMSAyMjozNzo0NC4wNDY4Njc0MjMgKzAxMDAKLSsrKyBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvdmFsb3BzLmMJMjAxNy0wMy0wMSAyMzoyNzowMi40NjY5MjkxNDcg KzAxMDAKLUBAIC0zNzgyLDU1ICszNzgyLDE5NCBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIw Lm9yaWcvZ2RiL3ZhbG9wcy5jCTIwMTctMDQtMjAgMjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCisr KysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbG9wcy5jCTIwMTctMDQtMjAgMjI6MjY6MTQu MzcwNDQ2NjUxICswMjAwCitAQCAtMzc4Niw1NSArMzc4NiwxOTQgQEAKICBzdHJ1Y3QgdmFsdWUg KgogIHZhbHVlX3NsaWNlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBpbnQgbG93Ym91bmQsIGludCBs ZW5ndGgpCiAgewpAQCAtMTk2MCwxMCArMTk2MCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL3ZhbG9wcy5jCiAgfQogIAogIC8qIENyZWF0ZSBhIHZhbHVlIGZvciBhIEZPUlRS QU4gY29tcGxleCBudW1iZXIuICBDdXJyZW50bHkgbW9zdCBvZiB0aGUKLUluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvdmFsdWUuaAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi92YWx1ZS5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIv dmFsdWUuaAkyMDE3LTAzLTAxIDIyOjM3OjQ0LjA0Njg2NzQyMyArMDEwMAotKysrIGdkYi03LjEy LjUwLjIwMTcwMjI2L2dkYi92YWx1ZS5oCTIwMTctMDMtMDEgMjI6Mzg6MDUuODE1MDE3MjU5ICsw MTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdmFsdWUuaAkyMDE3LTA0LTIw IDIyOjI1OjQzLjk3MzI1NDY4NSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92 YWx1ZS5oCTIwMTctMDQtMjAgMjI6MjY6MTQuMzcwNDQ2NjUxICswMjAwCiBAQCAtMTEwNiw2ICsx MTA2LDggQEAKICAKICBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9zbGljZSAoc3RydWN0IHZh bHVlICosIGludCwgaW50KTsKCmRpZmYgLS1naXQgYS9nZGItdmxhLWludGVsLWZvcnRyYW4tdmxh LXN0cmluZ3MucGF0Y2ggYi9nZGItdmxhLWludGVsLWZvcnRyYW4tdmxhLXN0cmluZ3MucGF0Y2gK aW5kZXggOWVlYmVmNi4uNjE2MmRjMiAxMDA2NDQKLS0tIGEvZ2RiLXZsYS1pbnRlbC1mb3J0cmFu LXZsYS1zdHJpbmdzLnBhdGNoCisrKyBiL2dkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5n cy5wYXRjaApAQCAtMjMsMjQgKzIzLDI0IEBAIGdpdCBkaWZmIC0tc3RhdCAtcCBnZGIvbWFzdGVy Li4uZ2RiL3VzZXJzL2JoZWNrZWwvZm9ydHJhbi12bGEtc3RyaW5ncwogIGdkYi92YWxwcmludC5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2IC0tCiAgMjAgZmlsZXMgY2hhbmdlZCwg ODI3IGluc2VydGlvbnMoKyksIDExMCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMzA0L2dkYi9ORVdTCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL05FV1MK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwNC5vcmlnL2dkYi9ORVdTCTIwMTct MDMtMDQgMjE6NDc6MzcuNDkxMDM5ODczICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQv Z2RiL05FV1MJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yODMwNjA4NTYgKzAxMDAKLUBAIC05NCw2ICs5 NCw4IEBACi0gICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0aGUgZW1wdHkgc3RyaW5nLiAgQ3VycmVu dGx5LCB0aGUgb25seSBzdXBwb3J0ZWQKLSAgIHRhcmdldHMgYXJlIEFSTSwgUG93ZXJQQyBhbmQg Uy8zOTAuCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvTkVXUwkyMDE3LTA0LTIw IDIyOjI3OjQ3LjA3NjAzMjExMSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9O RVdTCTIwMTctMDQtMjAgMjI6Mjc6NDkuOTQ2MDUwMjM2ICswMjAwCitAQCAtMSw2ICsxLDggQEAK KyAJCVdoYXQgaGFzIGNoYW5nZWQgaW4gR0RCPworIAkgICAgIChPcmdhbml6ZWQgcmVsZWFzZSBi eSByZWxlYXNlKQogIAogKyogRm9ydHJhbjogU3VwcG9ydCBwb2ludGVycyB0byBkeW5hbWljIHR5 cGVzLgogKwotICoqKiBDaGFuZ2VzIGluIEdEQiA3LjEyCisgKioqIENoYW5nZXMgc2luY2UgR0RC IDcuMTIKICAKLSAqIEdEQiBhbmQgR0RCc2VydmVyIG5vdyBidWlsZCB3aXRoIGEgQysrIGNvbXBp bGVyIGJ5IGRlZmF1bHQuCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL2MtdmFscHJp bnQuYworICogR0RCIG5vdyBzdXBwb3J0cyBhY2Nlc3MgdG8gdGhlIFBLVSByZWdpc3RlciBvbiBH TlUvTGludXguIFRoZSByZWdpc3RlciBpcworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9jLXZhbHByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwNC5vcmln L2dkYi9jLXZhbHByaW50LmMJMjAxNy0wMy0wNCAyMTo0NzozNy40OTIwMzk4ODEgKzAxMDAKLSsr KyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvYy12YWxwcmludC5jCTIwMTctMDMtMDQgMjE6NDc6 NDAuMjgzMDYwODU2ICswMTAwCi1AQCAtNjQ2LDYgKzY0NiwyOCBAQAorLS0tIGdkYi03Ljk5Ljkw LjIwMTcwNDIwLm9yaWcvZ2RiL2MtdmFscHJpbnQuYwkyMDE3LTA0LTIwIDIyOjI3OjQ3LjA3NzAz MjExOCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jLXZhbHByaW50LmMJMjAx Ny0wNC0yMCAyMjoyNzo0OS45NDcwNTAyNDMgKzAyMDAKK0BAIC02NTAsNiArNjUwLDI4IEBACiAg ICAgICAgZWxzZQogIAl7CiAgCSAgLyogbm9ybWFsIGNhc2UgKi8KQEAgLTY5LDExICs2OSwxMSBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL2MtdmFscHJpbnQuYwogIAkgIGZwcmlu dGZfZmlsdGVyZWQgKHN0cmVhbSwgIigiKTsKICAJICB0eXBlX3ByaW50ICh2YWx1ZV90eXBlICh2 YWwpLCAiIiwgc3RyZWFtLCAtMSk7CiAgCSAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiKSAi KTsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVhZC5jCitJbmRleDog Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMnJlYWQuYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjEyLjUwLjIwMTcwMzA0Lm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDE3LTAzLTA0IDIxOjQ3 OjM3LjUwNzAzOTk5NCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi9kd2FyZjJy ZWFkLmMJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yODgwNjA4OTQgKzAxMDAKLUBAIC0xNzk1LDcgKzE3 OTUsOCBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwky MDE3LTA0LTIwIDIyOjI3OjQ3LjA5MTAzMjIwNiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wNC0yMCAyMjoyODoyOC44NzgyOTYxMDUgKzAyMDAK K0BAIC0xODcyLDcgKzE4NzIsOCBAQAogIAogIHN0YXRpYyBpbnQgYXR0cl90b19keW5hbWljX3By b3AgKGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCiAgCQkJCSBzdHJ1Y3QgZGllX2luZm8g KmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UsCkBAIC04Myw3ICs4Myw3IEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVhZC5jCiAgCiAgLyogbWVtb3J5IGFsbG9jYXRp b24gaW50ZXJmYWNlICovCiAgCi1AQCAtMTE0OTEsNyArMTE0OTIsNyBAQAorQEAgLTExNTU3LDcg KzExNTU4LDcgQEAKICAgICAgewogICAgICAgIG5ld29iai0+c3RhdGljX2xpbmsKICAJPSBYT0JO RVcgKCZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssIHN0cnVjdCBkeW5hbWljX3Byb3ApOwpAQCAt OTIsNyArOTIsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL2R3YXJmMnJlYWQu YwogICAgICB9CiAgCiAgICBjdS0+bGlzdF9pbl9zY29wZSA9ICZsb2NhbF9zeW1ib2xzOwotQEAg LTE0NzE4LDI5ICsxNDcxOSw5NCBAQAorQEAgLTE0NzkxLDI5ICsxNDc5Miw5NCBAQAogICAgc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfb2JqZmlsZV9hcmNoIChvYmpmaWxlKTsKICAgIHN0 cnVjdCB0eXBlICp0eXBlLCAqcmFuZ2VfdHlwZSwgKmluZGV4X3R5cGUsICpjaGFyX3R5cGU7CiAg ICBzdHJ1Y3QgYXR0cmlidXRlICphdHRyOwpAQCAtMTk4LDcgKzE5OCw3IEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVhZC5jCiAgICBjaGFyX3R5cGUgPSBsYW5ndWFn ZV9zdHJpbmdfY2hhcl90eXBlIChjdS0+bGFuZ3VhZ2VfZGVmbiwgZ2RiYXJjaCk7CiAgICB0eXBl ID0gY3JlYXRlX3N0cmluZ190eXBlIChOVUxMLCBjaGFyX3R5cGUsIHJhbmdlX3R5cGUpOwogIAot QEAgLTE1MDc3LDcgKzE1MTQzLDggQEAKK0BAIC0xNTE2Myw3ICsxNTIyOSw4IEBACiAgCiAgc3Rh dGljIGludAogIGF0dHJfdG9fZHluYW1pY19wcm9wIChjb25zdCBzdHJ1Y3QgYXR0cmlidXRlICph dHRyLCBzdHJ1Y3QgZGllX2luZm8gKmRpZSwKQEAgLTIwOCw3ICsyMDgsNyBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAzMDQvZ2RiL2R3YXJmMnJlYWQuYwogIHsKICAgIHN0cnVjdCBkd2FyZjJf cHJvcGVydHlfYmF0b24gKmJhdG9uOwogICAgc3RydWN0IG9ic3RhY2sgKm9ic3RhY2sgPSAmY3Ut Pm9iamZpbGUtPm9iamZpbGVfb2JzdGFjazsKLUBAIC0xNTA4NywxNCArMTUxNTQsMzMgQEAKK0BA IC0xNTE3MywxNCArMTUyNDAsMzMgQEAKICAKICAgIGlmIChhdHRyX2Zvcm1faXNfYmxvY2sgKGF0 dHIpKQogICAgICB7CkBAIC0yNDYsNyArMjQ2LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MzA0L2dkYi9kd2FyZjJyZWFkLmMKICAgICAgfQogICAgZWxzZSBpZiAoYXR0cl9mb3JtX2lzX3Jl ZiAoYXR0cikpCiAgICAgIHsKLUBAIC0xNTEyNyw4ICsxNTIxMywyOCBAQAorQEAgLTE1MjEzLDgg KzE1Mjk5LDI4IEBACiAgCQliYXRvbiA9IFhPQk5FVyAob2JzdGFjaywgc3RydWN0IGR3YXJmMl9w cm9wZXJ0eV9iYXRvbik7CiAgCQliYXRvbi0+cmVmZXJlbmNlZF90eXBlID0gZGllX3R5cGUgKHRh cmdldF9kaWUsIHRhcmdldF9jdSk7CiAgCQliYXRvbi0+bG9jZXhwci5wZXJfY3UgPSBjdS0+cGVy X2N1OwpAQCAtMjc3LDcgKzI3Nyw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIv ZHdhcmYycmVhZC5jCiAgCQlwcm9wLT5kYXRhLmJhdG9uID0gYmF0b247CiAgCQlwcm9wLT5raW5k ID0gUFJPUF9MT0NFWFBSOwogIAkJZ2RiX2Fzc2VydCAocHJvcC0+ZGF0YS5iYXRvbiAhPSBOVUxM KTsKLUBAIC0xNTIzOSwyNCArMTUzNDUsMjQgQEAKK0BAIC0xNTMyNSwyNCArMTU0MzEsMjQgQEAK ICAKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9ieXRlX3N0cmlkZSwgY3UpOwog ICAgaWYgKGF0dHIpCkBAIC0yODUsNyArMjg1LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MzA0L2dkYi9kd2FyZjJyZWFkLmMKICsgICAgaWYgKCFhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0 ciwgZGllLCBjdSwgJnN0cmlkZSwgTlVMTCwgMCkpCiAgICAgICAgICBjb21wbGFpbnQgKCZzeW1m aWxlX2NvbXBsYWludHMsIF8oIk1pc3NpbmcgRFdfQVRfYnl0ZV9zdHJpZGUgIgogICAgICAgICAg ICAgICAgICAgICItIERJRSBhdCAweCV4IFtpbiBtb2R1bGUgJXNdIiksCi0gICAgICAgICAgICAg IGRpZS0+b2Zmc2V0LnNlY3Rfb2ZmLCBvYmpmaWxlX25hbWUgKGN1LT5vYmpmaWxlKSk7CisgICAg ICAgICAgICAgIHRvX3VuZGVybHlpbmcgKGRpZS0+c2VjdF9vZmYpLCBvYmpmaWxlX25hbWUgKGN1 LT5vYmpmaWxlKSk7CiAgCiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfbG93ZXJf Ym91bmQsIGN1KTsKICAgIGlmIChhdHRyKQpAQCAtMjk0LDcgKzI5NCw3IEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVhZC5jCiAgICBlbHNlIGlmICghbG93X2RlZmF1 bHRfaXNfdmFsaWQpCiAgICAgIGNvbXBsYWludCAoJnN5bWZpbGVfY29tcGxhaW50cywgXygiTWlz c2luZyBEV19BVF9sb3dlcl9ib3VuZCAiCiAgCQkJCSAgICAgICItIERJRSBhdCAweCV4IFtpbiBt b2R1bGUgJXNdIiksCi0gCSAgICAgICBkaWUtPm9mZnNldC5zZWN0X29mZiwgb2JqZmlsZV9uYW1l IChjdS0+b2JqZmlsZSkpOworIAkgICAgICAgdG9fdW5kZXJseWluZyAoZGllLT5zZWN0X29mZiks IG9iamZpbGVfbmFtZSAoY3UtPm9iamZpbGUpKTsKICAKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAo ZGllLCBEV19BVF91cHBlcl9ib3VuZCwgY3UpOwogLSAgaWYgKCFhdHRyX3RvX2R5bmFtaWNfcHJv cCAoYXR0ciwgZGllLCBjdSwgJmhpZ2gpKQpAQCAtMzA2LDcgKzMwNiw3IEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVhZC5jCiAgCXsKICAJICAvKiBJZiBib3VuZHMg YXJlIGNvbnN0YW50IGRvIHRoZSBmaW5hbCBjYWxjdWxhdGlvbiBoZXJlLiAgKi8KICAJICBpZiAo bG93LmtpbmQgPT0gUFJPUF9DT05TVCAmJiBoaWdoLmtpbmQgPT0gUFJPUF9DT05TVCkKLUBAIC0y Mjg3MSw3ICsyMjk3Nyw3IEBACitAQCAtMjI5NjcsNyArMjMwNzMsNyBAQAogICAgYXR0ciA9IGR3 YXJmMl9hdHRyIChkaWUsIERXX0FUX2FsbG9jYXRlZCwgY3UpOwogICAgaWYgKGF0dHJfZm9ybV9p c19ibG9jayAoYXR0cikpCiAgICAgIHsKQEAgLTMxNSw3ICszMTUsNyBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAzMDQvZ2RiL2R3YXJmMnJlYWQuYwogICAgICAgICAgYWRkX2R5bl9wcm9wIChE WU5fUFJPUF9BTExPQ0FURUQsIHByb3AsIHR5cGUsIG9iamZpbGUpOwogICAgICB9CiAgICBlbHNl IGlmIChhdHRyICE9IE5VTEwpCi1AQCAtMjI4ODYsNyArMjI5OTIsNyBAQAorQEAgLTIyOTgyLDcg KzIzMDg4LDcgQEAKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9hc3NvY2lhdGVk LCBjdSk7CiAgICBpZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgewpAQCAtMzI0 LDcgKzMyNCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVhZC5j CiAgICAgICAgICBhZGRfZHluX3Byb3AgKERZTl9QUk9QX0FTU09DSUFURUQsIHByb3AsIHR5cGUs IG9iamZpbGUpOwogICAgICB9CiAgICBlbHNlIGlmIChhdHRyICE9IE5VTEwpCi1AQCAtMjI4OTks NyArMjMwMDUsNyBAQAorQEAgLTIyOTk1LDcgKzIzMTAxLDcgQEAKICAKICAgIC8qIFJlYWQgRFdf QVRfZGF0YV9sb2NhdGlvbiBhbmQgc2V0IGluIHR5cGUuICAqLwogICAgYXR0ciA9IGR3YXJmMl9h dHRyIChkaWUsIERXX0FUX2RhdGFfbG9jYXRpb24sIGN1KTsKQEAgLTMzMywxMCArMzMzLDEwIEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVhZC5jCiAgICAgIGFkZF9k eW5fcHJvcCAoRFlOX1BST1BfREFUQV9MT0NBVElPTiwgcHJvcCwgdHlwZSwgb2JqZmlsZSk7CiAg CiAgICBpZiAoZHdhcmYyX3Blcl9vYmpmaWxlLT5kaWVfdHlwZV9oYXNoID09IE5VTEwpCi1JbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL2YtdHlwZXByaW50LmMKK0luZGV4OiBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvZi10eXBlcHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEy LjUwLjIwMTcwMzA0Lm9yaWcvZ2RiL2YtdHlwZXByaW50LmMJMjAxNy0wMy0wNCAyMTo0NzoyNy43 ODk5NjY5NjYgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZi10eXBlcHJpbnQu YwkyMDE3LTAzLTA0IDIxOjQ4OjIyLjE2MzM3NTYwNCArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIw MTcwNDIwLm9yaWcvZ2RiL2YtdHlwZXByaW50LmMJMjAxNy0wNC0yMCAyMjoyNzoyNi4yODg5MDA4 MzUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZi10eXBlcHJpbnQuYwkyMDE3 LTA0LTIwIDIyOjI3OjQ5Ljk1MzA1MDI4MCArMDIwMAogQEAgLTM3LDcgKzM3LDcgQEAKICAjZW5k aWYKICAKQEAgLTQ4NiwxMSArNDg2LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9n ZGIvZi10eXBlcHJpbnQuYwogIAkgICAgICBmcHV0c19maWx0ZXJlZCAoIlxuIiwgc3RyZWFtKTsK ICAJICAgIH0KICAJICBmcHJpbnRmaV9maWx0ZXJlZCAobGV2ZWwsIHN0cmVhbSwgIkVuZCBUeXBl ICIpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi9nZGJ0eXBlcy5jCitJbmRleDog Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2dkYnR5cGVzLmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMi41MC4yMDE3MDMwNC5vcmlnL2dkYi9nZGJ0eXBlcy5jCTIwMTctMDMtMDQgMjE6NDc6Mzcu NTEwMDQwMDE2ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL2dkYnR5cGVzLmMJ MjAxNy0wMy0wNCAyMTo0Nzo0MC4yODkwNjA5MDIgKzAxMDAKLUBAIC0xODE0LDcgKzE4MTQsOCBA QAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2dkYnR5cGVzLmMJMjAxNy0wNC0y MCAyMjoyNzo0Ny4wOTMwMzIyMTkgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv Z2RidHlwZXMuYwkyMDE3LTA0LTIwIDIyOjI3OjQ5Ljk1NDA1MDI4NyArMDIwMAorQEAgLTE4NDAs NyArMTg0MCw4IEBACiAgICB0eXBlID0gY2hlY2tfdHlwZWRlZiAodHlwZSk7CiAgCiAgICAvKiBX ZSBvbmx5IHdhbnQgdG8gcmVjb2duaXplIHJlZmVyZW5jZXMgYXQgdGhlIG91dGVybW9zdCBsZXZl bC4gICovCkBAIC01MDAsNyArNTAwLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dk Yi9nZGJ0eXBlcy5jCiAgICAgIHR5cGUgPSBjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9UWVBF ICh0eXBlKSk7CiAgCiAgICAvKiBUeXBlcyB0aGF0IGhhdmUgYSBkeW5hbWljIFRZUEVfREFUQV9M T0NBVElPTiBhcmUgY29uc2lkZXJlZAotQEAgLTE4NDgsNiArMTg0OSw3IEBACitAQCAtMTg3NCw2 ICsxODc1LDcgQEAKICAgICAgICB9CiAgCiAgICAgIGNhc2UgVFlQRV9DT0RFX0FSUkFZOgpAQCAt NTA4LDcgKzUwOCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZ2RidHlwZXMu YwogICAgICAgIHsKICAJZ2RiX2Fzc2VydCAoVFlQRV9ORklFTERTICh0eXBlKSA9PSAxKTsKICAK LUBAIC0xOTYwLDcgKzE5NjIsOCBAQAorQEAgLTE5ODYsNyArMTk4OCw4IEBACiAgICBzdHJ1Y3Qg dHlwZSAqYXJ5X2RpbTsKICAgIHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3A7CiAgCkBAIC01MTgs NyArNTE4LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi9nZGJ0eXBlcy5jCiAg CiAgICB0eXBlID0gY29weV90eXBlICh0eXBlKTsKICAKLUBAIC0xOTg1LDEzICsxOTg4LDE3IEBA CitAQCAtMjAxMSwxMyArMjAxNCwxNyBAQAogIAogICAgYXJ5X2RpbSA9IGNoZWNrX3R5cGVkZWYg KFRZUEVfVEFSR0VUX1RZUEUgKGVsdF90eXBlKSk7CiAgCkBAIC01MzksNyArNTM5LDcgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi9nZGJ0eXBlcy5jCiAgfQogIAogIC8qIFJlc29s dmUgZHluYW1pYyBib3VuZHMgb2YgbWVtYmVycyBvZiB0aGUgdW5pb24gVFlQRSB0byBzdGF0aWMK LUBAIC0yMTIxLDYgKzIxMjgsMjggQEAKK0BAIC0yMTQ3LDYgKzIxNTQsMjggQEAKICAgIHJldHVy biByZXNvbHZlZF90eXBlOwogIH0KICAKQEAgLTU2OCw3ICs1NjgsNyBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAzMDQvZ2RiL2dkYnR5cGVzLmMKICAvKiBXb3JrZXIgZm9yIHJlc29sdmVkX2R5 bmFtaWNfdHlwZS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB0eXBlICoKLUBAIC0yMTY5LDcgKzIx OTgsMTIgQEAKK0BAIC0yMTk1LDcgKzIyMjQsMTIgQEAKICAJICAgIGJyZWFrOwogIAkgIH0KICAK QEAgLTU4MSwxMCArNTgxLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZ2Ri dHlwZXMuYwogIAkgIHJlc29sdmVkX3R5cGUgPSByZXNvbHZlX2R5bmFtaWNfYXJyYXkgKHR5cGUs IGFkZHJfc3RhY2spOwogIAkgIGJyZWFrOwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0 L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguY2MKK0luZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4LmNjCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4LmNjCTIw MTctMDMtMDQgMjE6NDc6MzcuNTExMDQwMDIzICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAz MDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYwkyMDE3LTAzLTA0IDIxOjQ3OjQwLjI4 OTA2MDkwMiArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0 ZS9nZGIuY3AvdmxhLWN4eC5jYwkyMDE3LTA0LTIwIDIyOjI3OjQ3LjA5NDAzMjIyNSArMDIwMAor KysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguY2MJ MjAxNy0wNC0yMCAyMjoyNzo0OS45NTUwNTAyOTMgKzAyMDAKIEBAIC0xNSw2ICsxNSwxMCBAQAog ICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCiAgICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8 aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwpAQCAtNjEzLDEwICs2MTMsMTAgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHgu Y2MKICsKICAgIHJldHVybiB2bGFbMl07CiAgfQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0 L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwCitJbmRleDogZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5leHAKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy4xMi41MC4yMDE3MDMwNC5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhw CTIwMTctMDMtMDQgMjE6NDc6MzcuNTExMDQwMDIzICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAx NzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5leHAJMjAxNy0wMy0wNCAyMTo0Nzo0 MC4yOTAwNjA5MDkgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwCTIwMTctMDQtMjAgMjI6Mjc6NDcuMDk0MDMyMjI1ICsw MjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4 eC5leHAJMjAxNy0wNC0yMCAyMjoyNzo0OS45NTUwNTAyOTMgKzAyMDAKIEBAIC0yMyw2ICsyMywx MiBAQAogICAgICByZXR1cm4gLTEKICB9CkBAIC02MzcsMTAgKzYzNywxMCBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5leHAKICtnZGJf dGVzdCAicHR5cGUgcHRyIiAiaW50IFxcKFxcKlxcKVxcXFszXFxcXSIKICtnZGJfdGVzdCAicHJp bnQgcHRyIiAiXFwoaW50IFxcKFxcKlxcKVxcXFszXFxcXVxcKSAkaGV4IgogK2dkYl90ZXN0ICJw cmludCAqcHRyIiAiID0gXFx7NSwgNywgOVxcfSIKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMw NC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmV4cAorSW5kZXg6IGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZXhwCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2lu dGVycy5leHAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTAwNjA5MDkgKzAxMDAKKysrKyBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmV4cAkyMDE3 LTA0LTIwIDIyOjI3OjQ5Ljk1NTA1MDI5MyArMDIwMAogQEAgLTAsMCArMSwxNDMgQEAKICsjIENv cHlyaWdodCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtNzg1LDEw ICs3ODUsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vcG9pbnRlcnMuZXhwCiArZ2RiX3Rlc3QgInByaW50ICooKGludGVnZXIqKSAmaW50 YSArIDIpIiAiPSAzIiAicHJpbnQgdGVtcG9yYXJ5IHBvaW50ZXIsIGFycmF5IgogK2dkYl90ZXN0 ICJwcmludCAqKChpbnRlZ2VyKikgJmludHZsYSArIDMpIiAiPSA0IiAicHJpbnQgdGVtcG9yYXJ5 IHBvaW50ZXIsIGFsbG9jYXRlZCB2bGEiCiArZ2RiX3Rlc3QgInByaW50IFwkcGMiICI9IFxcKFBU UiBUTyAtPiBcXCggdm9pZCBcXChcXClcXChcXClcXClcXCkgJGhleCA8cG9pbnRlcnNcXCtcXGQr PiIgIlByaW50IHByb2dyYW0gY291bnRlciIKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmY5MAorSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZjkwCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0r KysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVy cy5mOTAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTAwNjA5MDkgKzAxMDAKKysrKyBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmY5MAkyMDE3LTA0 LTIwIDIyOjI3OjQ5Ljk1NTA1MDI5MyArMDIwMAogQEAgLTAsMCArMSwxMDkgQEAKICshIENvcHly aWdodCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTg5OSwxMCAr ODk5LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3BvaW50ZXJzLmY5MAogKyAgaW50diA9IGludHYgKyAxICEgQWZ0ZXIgdmFsdWUgYXNz aWdubWVudAogKwogK2VuZCBwcm9ncmFtIHBvaW50ZXJzCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cAorSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5l eHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAw MDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ByaW50X3R5cGUuZXhwCTIwMTctMDMtMDQgMjE6NDc6NDAuMjkwMDYwOTA5ICswMTAwCisr KysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90 eXBlLmV4cAkyMDE3LTA0LTIwIDIyOjI3OjQ5Ljk1NjA1MDI5OSArMDIwMAogQEAgLTAsMCArMSwx MDAgQEAKICsjIENvcHlyaWdodCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KwpAQCAtMTAwNCwxMCArMTAwNCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cAogKyAgICB9CiArfQogK2dkYl90 ZXN0ICJwdHlwZSByZWFscCIgInR5cGUgPSBQVFIgVE8gLT4gXFwoICRyZWFsIFxcKSIKLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlw ZS5leHAKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1wdHlwZS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwNC5v cmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAkyMDE3LTAzLTA0IDIx OjQ3OjM3LjUxMjA0MDAzMSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAkyMDE3LTAzLTA0IDIxOjQ3OjQwLjI5MTA2 MDkxNyArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwCTIwMTctMDQtMjAgMjI6Mjc6NDcuMDk0MDMyMjI1ICsw MjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtcHR5cGUuZXhwCTIwMTctMDQtMjAgMjI6Mjc6NDkuOTU2MDUwMjk5ICswMjAwCiBAQCAtMzIs OSArMzIsOSBAQAogICMgQ2hlY2sgdGhlIHB0eXBlIG9mIHZhcmlvdXMgVkxBIHN0YXRlcyBhbmQg cG9pbnRlciB0byBWTEEncy4KICBnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5lX251bWJlciAi dmxhMS1pbml0Il0KQEAgLTEwNDUsMTAgKzEwNDUsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAogIGdkYl90ZXN0 ICJwdHlwZSB2bGEyKDUsIDQ1LCAyMCkiIFwKICAgICJubyBzdWNoIHZlY3RvciBlbGVtZW50IFxc XCh2ZWN0b3Igbm90IGFsbG9jYXRlZFxcXCkiIFwKICAgICJwdHlwZSB2bGEyKDUsIDQ1LCAyMCkg bm90IGFsbG9jYXRlZCIKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmV4cAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZXhwCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAt LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5l eHAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTEwNjA5MTcgKzAxMDAKKysrKyBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmV4cAkyMDE3LTA0 LTIwIDIyOjI3OjQ5Ljk1NjA1MDI5OSArMDIwMAogQEAgLTAsMCArMSwxMDMgQEAKICsjIENvcHly aWdodCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTE1MywxMCAr MTE1MywxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEtc3RyaW5ncy5leHAKICsJICAgIHBhc3MgJHRlc3QKICsgICAgfQogK30KLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1z dHJpbmdzLmY5MAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLXN0cmluZ3MuZjkwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5mOTAJMjAxNy0wMy0wNCAyMTo0 Nzo0MC4yOTEwNjA5MTcgKzAxMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmY5MAkyMDE3LTA0LTIwIDIyOjI3OjQ5Ljk1NjA1 MDI5OSArMDIwMAogQEAgLTAsMCArMSwzOSBAQAogKyEgQ29weXJpZ2h0IDIwMTYgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTE5NywxMCArMTE5NywxMCBAQCBJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5n cy5mOTAKICsgIHZhcl9jaGFyX3AgPT4gbnVsbCgpCiArICBsID0gYXNzb2NpYXRlZCh2YXJfY2hh cl9wKSAgICAgICAgICAgICAgISB2YXJfY2hhcl9wLW5vdC1hc3NvY2lhdGVkCiArZW5kIHByb2dy YW0gdmxhX3N0cmluZ3MKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBl LmV4cAkyMDE3LTAzLTA0IDIxOjQ3OjM3LjUxMjA0MDAzMSArMDEwMAotKysrIGdkYi03LjEyLjUw LjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwCTIwMTctMDMt MDQgMjE6NDc6NDAuMjkxMDYwOTE3ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3Jp Zy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cAkyMDE3LTA0LTIwIDIyOjI3 OjQ3LjA5NDAzMjIyNSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwCTIwMTctMDQtMjAgMjI6Mjc6NDkuOTU2MDUwMjk5 ICswMjAwCiBAQCAtMTMyLDcgKzEzMiwxMCBAQAogICAgICAgICAgICAgICAgICAgICAgICJFbmQg VHlwZSBvbmUiIF0KICAKQEAgLTEyMjIsMTAgKzEyMjIsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwCiAgICAgICAg ICAgICAgICAgICAgICAgIkVuZCBUeXBlIG9uZSIgXSBcCiAgICAgICAgICAgInB0eXBlIGZpdmVk eW5hcnIoMikldG9uZSwgbm90IGFsbG9jYXRlZCIKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS5leHAKK0luZGV4OiBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS5leHAK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwNC5vcmlnL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cAkyMDE3LTAzLTA0IDIxOjQ3OjM3LjUxMjA0MDAzMSAr MDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v dmxhLXZhbHVlLmV4cAkyMDE3LTAzLTA0IDIxOjQ3OjQwLjI5MTA2MDkxNyArMDEwMAorLS0tIGdk Yi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFs dWUuZXhwCTIwMTctMDQtMjAgMjI6Mjc6NDcuMDk1MDMyMjMxICswMjAwCisrKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCTIwMTct MDQtMjAgMjI6Mjc6NDkuOTU3MDUwMzA2ICswMjAwCiBAQCAtMTQsNiArMTQsNyBAQAogICMgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uCiAgCkBAIC0xMjc4LDEwICsxMjc4LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS5leHAKICAgICJwcmlu dCBhc3NvY2lhdGVkICZwdmxhIgogIGdkYl90ZXN0ICJwcmludCBwdmxhKDMsIDYsIDkpIiAiID0g NDIiICJwcmludCBhc3NvY2lhdGVkIHB2bGEoMyw2LDkpIgogIGdkYl90ZXN0ICJwcmludCBwdmxh KDEsIDMsIDgpIiAiID0gMTAwMSIgInByaW50IGFzc29jaWF0ZWQgcHZsYSgxLDMsOCkiCi1JbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmFyLWNoaWxk LWYuZXhwCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkv bWktdmFyLWNoaWxkLWYuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQu b3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12YXItY2hpbGQtZi5leHAJMjAxNy0wMy0wNCAy MTo0NzozNy41MTMwNDAwMzkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVz dHN1aXRlL2dkYi5taS9taS12YXItY2hpbGQtZi5leHAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTEw NjA5MTcgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi90ZXN0c3VpdGUv Z2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cAkyMDE3LTA0LTIwIDIyOjI3OjQ3LjA5NTAzMjIzMSAr MDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZh ci1jaGlsZC1mLmV4cAkyMDE3LTA0LTIwIDIyOjI3OjQ5Ljk1NzA1MDMwNiArMDIwMAogQEAgLTE3 LDYgKzE3LDcgQEAKICAKICBsb2FkX2xpYiBtaS1zdXBwb3J0LmV4cApAQCAtMTMwMywxMCArMTMw MywxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkv bWktdmFyLWNoaWxkLWYuZXhwCiAgCiAgc2V0IGNoaWxkcmVuIFtsaXN0IFtsaXN0ICJhcnJheS4t MSIgIi0xIiAyICIkaW50NCBcXCgyXFwpIl0gXAogIAkJICBbbGlzdCAiYXJyYXkuMCIgIjAiIDIg IiRpbnQ0IFxcKDJcXCkiXSBcCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3Rz dWl0ZS9nZGIubWkvbWktdmxhLWZvcnRyYW4uZXhwCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmxhLWZvcnRyYW4uZXhwCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12bGEt Zm9ydHJhbi5leHAJMjAxNy0wMy0wNCAyMTo0NzozNy41MTMwNDAwMzkgKzAxMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12bGEtZm9ydHJhbi5leHAJ MjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTIwNjA5MjQgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3 MDQyMC5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFuLmV4cAkyMDE3LTA0 LTIwIDIyOjI3OjQ3LjA5NTAzMjIzMSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFuLmV4cAkyMDE3LTA0LTIwIDIyOjI3OjQ5 Ljk1NzA1MDMwNiArMDIwMAogQEAgLTE3LDcgKzE3LDkgQEAKICAjIEFycmF5IChWTEEpLgogIApA QCAtMTQwNSwxMSArMTQwNSwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rl c3RzdWl0ZS9nZGIubWkvbWktdmxhLWZvcnRyYW4uZXhwCiAgICAiaW5mbyB0eXBlIHZhcmlhYmxl IHB2bGEyX2Fzc29jaWF0ZWQiCiAgbWlfZ2RiX3Rlc3QgIjU5Mi12YXItc2hvdy1mb3JtYXQgcHZs YTJfYXNzb2NpYXRlZCIgXAogICAgIjU5MlxcXmRvbmUsZm9ybWF0PVwibmF0dXJhbFwiIiBcCi1J bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3R5cGVwcmludC5jCitJbmRleDogZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL3R5cGVwcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIu NTAuMjAxNzAzMDQub3JpZy9nZGIvdHlwZXByaW50LmMJMjAxNy0wMy0wNCAyMTo0NzozNy41MTMw NDAwMzkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdHlwZXByaW50LmMJMjAx Ny0wMy0wNCAyMTo0Nzo0MC4yOTIwNjA5MjQgKzAxMDAKLUBAIC00NzUsNiArNDc1LDI1IEBACist LS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdHlwZXByaW50LmMJMjAxNy0wNC0yMCAy MjoyNzo0Ny4wOTUwMzIyMzEgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdHlw ZXByaW50LmMJMjAxNy0wNC0yMCAyMjoyNzo0OS45NTcwNTAzMDYgKzAyMDAKK0BAIC00NzQsNiAr NDc0LDI1IEBACiAgICAgICAgcHJpbnRmX2ZpbHRlcmVkICgiICovXG4iKTsgICAgCiAgICAgIH0K ICAKQEAgLTE0MzUsMTEgKzE0MzUsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dk Yi90eXBlcHJpbnQuYwogICAgTEFfUFJJTlRfVFlQRSAodHlwZSwgIiIsIGdkYl9zdGRvdXQsIHNo b3csIDAsICZmbGFncyk7CiAgICBwcmludGZfZmlsdGVyZWQgKCJcbiIpOwogIAotSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMzA0L2dkYi92YWxvcHMuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi92YWxvcHMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA0Lm9y aWcvZ2RiL3ZhbG9wcy5jCTIwMTctMDMtMDQgMjE6NDc6MzcuNTE0MDQwMDQ2ICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3ZhbG9wcy5jCTIwMTctMDMtMDQgMjE6NDc6NDAuMjkz MDYwOTMyICswMTAwCi1AQCAtMTU2OSw2ICsxNTY5LDE5IEBACistLS0gZ2RiLTcuOTkuOTAuMjAx NzA0MjAub3JpZy9nZGIvdmFsb3BzLmMJMjAxNy0wNC0yMCAyMjoyNzo0Ny4wOTYwMzIyMzggKzAy MDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmFsb3BzLmMJMjAxNy0wNC0yMCAyMjoy Nzo0OS45NTgwNTAzMTIgKzAyMDAKK0BAIC0xNTc0LDYgKzE1NzQsMTkgQEAKICAgIGlmIChUWVBF X0NPREUgKGJhc2VfdHlwZSkgPT0gVFlQRV9DT0RFX1BUUikKICAgICAgewogICAgICAgIHN0cnVj dCB0eXBlICplbmNfdHlwZTsKQEAgLTE0NTksNyArMTQ1OSw3IEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDMwNC9nZGIvdmFsb3BzLmMKICAKICAgICAgICAvKiBXZSBtYXkgYmUgcG9pbnRpbmcg dG8gc29tZXRoaW5nIGVtYmVkZGVkIGluIGEgbGFyZ2VyIG9iamVjdC4KICAgICAgICAgICBHZXQg dGhlIHJlYWwgdHlwZSBvZiB0aGUgZW5jbG9zaW5nIG9iamVjdC4gICovCi1AQCAtMTU4NCw4ICsx NTk3LDcgQEAKK0BAIC0xNTg5LDggKzE2MDIsNyBAQAogICAgICAgIGVsc2UKICAJLyogUmV0cmll dmUgdGhlIGVuY2xvc2luZyBvYmplY3QgcG9pbnRlZCB0by4gICovCiAgCWFyZzIgPSB2YWx1ZV9h dF9sYXp5IChlbmNfdHlwZSwgCkBAIC0xNDY5LDExICsxNDY5LDExIEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDMwNC9nZGIvdmFsb3BzLmMKICAKICAgICAgICBlbmNfdHlwZSA9IHZhbHVlX3R5 cGUgKGFyZzIpOwogICAgICAgIHJldHVybiByZWFkanVzdF9pbmRpcmVjdF92YWx1ZV90eXBlIChh cmcyLCBlbmNfdHlwZSwgYmFzZV90eXBlLCBhcmcxKTsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDMwNC9nZGIvdmFscHJpbnQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWxw cmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdmFs cHJpbnQuYwkyMDE3LTAzLTA0IDAyOjQ5OjA5LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjEy LjUwLjIwMTcwMzA0L2dkYi92YWxwcmludC5jCTIwMTctMDMtMDQgMjE6NDc6NDAuMjkzMDYwOTMy ICswMTAwCi1AQCAtMTE2NSwxMiArMTE2NSw2IEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAu b3JpZy9nZGIvdmFscHJpbnQuYwkyMDE3LTA0LTIwIDIyOjI1OjM4LjIyNDIxODM3OCArMDIwMAor KysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWxwcmludC5jCTIwMTctMDQtMjAgMjI6Mjc6 NDkuOTU5MDUwMzE4ICswMjAwCitAQCAtMTE2NiwxMiArMTE2Niw2IEBACiAgICAgICAgcmV0dXJu IDA7CiAgICAgIH0KICAKCmRpZmYgLS1naXQgYS9nZGItdmxhLWludGVsLXN0cmluZ2J0LWZpeC5w YXRjaCBiL2dkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCmluZGV4IDAzYTgxZmQuLmYz OWQxY2YgMTAwNjQ0Ci0tLSBhL2dkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCisrKyBi L2dkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCkBAIC0yNywxOSArMjcsMTkgQEAgY2Fu bm90IHJlcHJvZHVjZSBpdC4KIFRoYW5rcywKIEphbgogCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAzMDkvZ2RiL2R3YXJmMmxvYy5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3 YXJmMmxvYy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIv ZHdhcmYybG9jLmMJMjAxNy0wNC0xOSAyMjowNDowNC44NzQzMjAzMjYgKzAyMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDMwOS9nZGIvZHdhcmYybG9jLmMJMjAxNy0wNC0xOSAyMjowOTowNy45NzYy MDE4NzUgKzAyMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kd2FyZjJsb2Mu YwkyMDE3LTA0LTIwIDIyOjI4OjU5LjY4NjQ5MDY2NiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9kd2FyZjJsb2MuYwkyMDE3LTA0LTIwIDIyOjI5OjEzLjEwNDU3NTQwNCArMDIw MAogQEAgLTQyLDYgKzQyLDcgQEAKICAjaW5jbHVkZSA8YWxnb3JpdGhtPgogICNpbmNsdWRlIDx2 ZWN0b3I+CiAgI2luY2x1ZGUgPHVub3JkZXJlZF9zZXQ+CiArI2luY2x1ZGUgPGZ1bmN0aW9uYWw+ CisgI2luY2x1ZGUgImNvbW1vbi91bmRlcmx5aW5nLmgiCiAgCiAgZXh0ZXJuIGludCBkd2FyZl9h bHdheXNfZGlzYXNzZW1ibGU7Ci0gCi1AQCAtMjM1MCw2ICsyMzUxLDIwIEBACitAQCAtMjM2Niw2 ICsyMzY3LDIwIEBACiAgICBjdHgucGVyX2N1ID0gcGVyX2N1OwogICAgY3R4Lm9ial9hZGRyZXNz ID0gMDsKICAKQEAgLTYwLDEwICs2MCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkv Z2RiL2R3YXJmMmxvYy5jCiAgICBzY29wZWRfdmFsdWVfbWFyayBmcmVlX3ZhbHVlczsKICAKICAg IGN0eC5nZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7Ci1JbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAzMDkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZy YW1lLXN0dWIuZjkwCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZyYW1lLXN0dWIuZjkwCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAzMDkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZy YW1lLXN0dWIuZjkwCTIwMTctMDQtMTkgMjI6MDQ6MDQuOTIyMzIwNjIzICswMjAwCisrKysgZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVy LWZyYW1lLXN0dWIuZjkwCTIwMTctMDQtMjAgMjI6Mjk6MDAuNjczNDk2ODk5ICswMjAwCiBAQCAt MCwwICsxLDI0IEBACiArISBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KICshCkBAIC04OSwxMCArODksMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5 L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHViLmYKICsg IHJlYWwgOjogZHVtbXkKICsgIGR1bW15ID0gMQogK2VuZCBzdWJyb3V0aW5lIGJhcgotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1v dGhlci1mcmFtZS5leHAKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIu NTAuMjAxNzAzMDkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZyYW1l LmV4cAkyMDE3LTA0LTE5IDIyOjA0OjA0LjkyMjMyMDYyMyArMDIwMAorKysrIGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS5l eHAJMjAxNy0wNC0yMCAyMjoyOTowMC42NzM0OTY4OTkgKzAyMDAKIEBAIC0wLDAgKzEsMzkgQEAK ICsjIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAt MTMzLDEwICsxMzMsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS5leHAKICt9CiArCiArZ2RiX3Rlc3Qg ImJ0IiB7Zm9vIFwoc3RyaW5nPSdoZWxsbycuKn0KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMw OS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwCitJbmRl eDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWlj LW90aGVyLWZyYW1lLmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS5mOTAJMjAxNy0wNC0xOSAyMjow NDowNC45MjIzMjA2MjMgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwCTIwMTctMDQtMjAgMjI6Mjk6 MDAuNjczNDk2ODk5ICswMjAwCiBAQCAtMCwwICsxLDM2IEBACiArISBDb3B5cmlnaHQgMjAxMCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICshCgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMg Yi9nZGIuc3BlYwppbmRleCBhNjVkMGIxLi41YWVjYzg2IDEwMDY0NAotLS0gYS9nZGIuc3BlYwor KysgYi9nZGIuc3BlYwpAQCAtMTgsMTUgKzE4LDE1IEBACiBOYW1lOiAlez9zY2xfcHJlZml4fWdk YgogCiAjIEZyZWV6ZSBpdCB3aGVuIEdEQiBnZXRzIGJyYW5jaGVkCi0lZ2xvYmFsIHNuYXBzcmMg ICAgMjAxNzAzMDkKKyVnbG9iYWwgc25hcHNyYyAgICAyMDE3MDQyMAogIyBTZWUgdGltZXN0YW1w IG9mIHNvdXJjZSBnbnVsaWIgaW5zdGFsbGVkIGludG8gZ2RiL2dudWxpYi8gLgogJWdsb2JhbCBz bmFwZ251bGliIDIwMTUwODIyCiAlZ2xvYmFsIHRhcm5hbWUgZ2RiLSV7dmVyc2lvbn0KLVZlcnNp b246IDcuMTIuNTAuJXtzbmFwc3JjfQorVmVyc2lvbjogNy45OS45MC4le3NuYXBzcmN9CiAKICMg VGhlIHJlbGVhc2UgYWx3YXlzIGNvbnRhaW5zIGEgbGVhZGluZyByZXNlcnZlZCBudW1iZXIsIHN0 YXJ0IGl0IGF0IDEuCiAjIGB1cHN0cmVhbScgaXMgbm90IGEgcGFydCBvZiBgbmFtZScgdG8gc3Rh eSBmdWxseSBycG0gZGVwZW5kZW5jaWVzIGNvbXBhdGlibGUgZm9yIHRoZSB0ZXN0aW5nLgotUmVs ZWFzZTogNyV7P2Rpc3R9CitSZWxlYXNlOiA4JXs/ZGlzdH0KIAogTGljZW5zZTogR1BMdjMrIGFu ZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFuZCBHUEx2MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2Vw dGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2MisgYW5kIExHUEx2MysgYW5kIEJTRCBhbmQgUHVibGlj IERvbWFpbiBhbmQgR0ZETAogR3JvdXA6IERldmVsb3BtZW50L0RlYnVnZ2VycwpAQCAtNjM4LDYg KzYzOCw5IEBAIFBhdGNoMTE1MzogZ2RiLWFkZC1pbmRleC1jaG1vZC5wYXRjaAogIyBOZXcgdGVz dGNhc2UgZm9yOiBGaXggPHRhYj4tY29tcGxldGlvbiBjcmFzaCAoR2FyeSBCZW5zb24sIFJIIEJa IDEzOTgzODcpLgogUGF0Y2gxMTU1OiBnZGItcmhiejEzOTgzODctdGFiLWNyYXNoLXRlc3QucGF0 Y2gKIAorIyBSZWxlYXNlIGJyYW5jaDogRml4OiAtLWVuYWJsZS13ZXJyb3IKK1BhdGNoMTE3MDog Z2RiLXJlbGVhc2Utd2Vycm9yLnBhdGNoCisKICVpZiAwJXshP3JoZWw6MX0gfHwgMCV7P3JoZWx9 ID4gNgogIyBSTF9TVEFURV9GRURPUkFfR0RCIHdvdWxkIG5vdCBiZSBmb3VuZCBmb3I6CiAjIFBh dGNoNjQyOiBnZGItcmVhZGxpbmU2Mi1hc2stbW9yZS1yaC5wYXRjaApAQCAtMTAwOSw2ICsxMDEy LDcgQEAgZG9uZQogJXBhdGNoMTE1MiAtcDEKICVwYXRjaDExNTMgLXAxCiAlcGF0Y2gxMTU1IC1w MQorJXBhdGNoMTE3MCAtcDEKIAogJXBhdGNoMTA3NSAtcDEKICVpZiAwJXs/cmhlbDoxfSAmJiAw JXs/cmhlbH0gPD0gNwpAQCAtMTU3Niw2ICsxNTgwLDkgQEAgdGhlbgogZmkKIAogJWNoYW5nZWxv ZworKiBGcmkgQXByIDIxIDIwMTcgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhh dC5jb20+IC0gNy45OS45MC4yMDE3MDQyMC04LmZjMjYKKy0gUmViYXNlIHRvIEZTRiBHREIgNy45 OS45MC4yMDE3MDQyMCAocHJlLTguMCBzdGFibGUgYnJhbmNoKS4KKwogKiBXZWQgQXByIDE5IDIw MTcgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy4xMi41MC4y MDE3MDMwOS03LmZjMjYKIC0gRml4IHJlcG9ydGVkIGdkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4 LnBhdGNoIHJlZ3Jlc3Npb24gKFN1U0UpLgogLSBSZW1vdmUgZ2NjLTcgY29tcGlsYXRpb24gY29t cGF0aWJpbGl0eSBoYWNrLgoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDc2 ZDM5NGMuLjU1ZTM1ODcgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwz ICsxLDMgQEAKIFNIQTUxMiAoZ2RiLWxpYnN0ZGMrKy12My1weXRob24tNi4zLjEtMjAxNzAyMTIu dGFyLnh6KSA9IDIyYWQ0MTg3ZDZiYjk4NTFlY2YzODljM2ZmNGM2OGYzM2NjZjU2MDJkOGY1MWJj MzM3MjE1YzcwMGQ1NmM5MDczYjNmYjQwZWNlM2Y1ODkwMTMxNTE2MWY3NmE0ZmQxZDY0NjNjNjIz NjUwMzE3YWQ5NmZkOWUzZjRhYmE3MjUyCiBTSEE1MTIgKHYxLjUudGFyLmd6KSA9IGVhM2U3NjI5 MWQ1YjA3N2Q1YjQyMDYxODk4YTFmNzBhZjZjYmRiY2NiN2QwNWM1OTkwNGYzMjJjYTFjMDNmNzU5 NmNhYzZhOTY2YjgwYjEyZDJjMmQ4NjIxMmYxN2Q2YmRlMDJiMWRhZjkyYmU2MmU0OWFiY2IyMzRl MmJhY2JkCi1TSEE1MTIgKGdkYi03LjEyLjUwLjIwMTcwMzA5LnRhci54eikgPSAyYWEzOGQ3MWNi NzY5YzYyM2Y3MzlmNzdlNWU0N2M4YzJiNzNmOWJjZmM0OTc4ODQxYzg4MWRmYjAwMmZiMmNlMDg0 ZTdmN2NkNzI0OGZlMmEwNDU1ZTQ4N2I3N2QxYzBmYTE3ZWRjYmNkZDJjNDNkODViYTRkZTA0M2Qy NjQyNworU0hBNTEyIChnZGItNy45OS45MC4yMDE3MDQyMC50YXIueHopID0gOGZlOGUyYTY5YTk0 ZDNlYTg4NjFhMmFhZWI0NmNkM2UzZTg0MjNlZmUwYTc0YTdiYjMzNmVlMGRmMzAxMzIxZjY5M2Yz NjAxNjY1MThiM2Y1OTVjOTRiZmFkODkzZmI3MDhjOTI5NjJmNzliYWUxM2I2NTY0ZGIwMjdhMTUx NmYK