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] gdb-17.2-rebase-f44: Rebase to FSF GDB 7.10.50.20160106 (trunk snapshot). Date: Sat, 27 Jun 2026 23:57:20 GMT Message-ID: <178260464036.1.4430762728048244242.rpms-gdb-2116e53327da@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: 2116e53327da0f5a3df28573d96be339cb83006d QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGdkYi0xNy4yLXJlYmFzZS1mNDQKQ29tbWl0IDogMjExNmU1MzMyN2RhMGY1YTNkZjI4NTczZDk2 YmUzMzljYjgzMDA2ZApBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4KRGF0ZSAgIDogMjAxNi0wMS0wOFQyMjoxOTowOSswMTowMApTdGF0cyAgOiArMTcy Ni8tNDA1IGluIDEyIGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5v cmcvcnBtcy9nZGIvYy8yMTE2ZTUzMzI3ZGEwZjVhM2RmMjg1NzNkOTZiZTMzOWNiODMwMDZkP2Jy YW5jaD1nZGItMTcuMi1yZWJhc2UtZjQ0CgpMb2c6ClJlYmFzZSB0byBGU0YgR0RCIDcuMTAuNTAu MjAxNjAxMDYgKHRydW5rIHNuYXBzaG90KS4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBi Ly5naXRpZ25vcmUKaW5kZXggNTIyYTE0ZC4uZjkxMWNiMiAxMDA2NDQKLS0tIGEvLmdpdGlnbm9y ZQorKysgYi8uZ2l0aWdub3JlCkBAIC0xLDIgKzEsMiBAQAogL2dkYi1saWJzdGRjKystdjMtcHl0 aG9uLXIyMjU1MjEudGFyLnh6Ci0vZ2RiLTcuMTAuNTAuMjAxNTExMTMudGFyLnh6CisvZ2RiLTcu MTAuNTAuMjAxNjAxMDYudGFyLnh6CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy10ZXN0LXBpZS0yMDA1 MDEwNy5wYXRjaCBiL2dkYi02LjMtdGVzdC1waWUtMjAwNTAxMDcucGF0Y2gKaW5kZXggOWI3MmZm OC4uZGIzMjcxYiAxMDA2NDQKLS0tIGEvZ2RiLTYuMy10ZXN0LXBpZS0yMDA1MDEwNy5wYXRjaAor KysgYi9nZGItNi4zLXRlc3QtcGllLTIwMDUwMTA3LnBhdGNoCkBAIC0xLDE5ICsxLDE5IEBACi1J bmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2NvbmZpZ3VyZS5hYworSW5k ZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvY29uZmlndXJlLmFjCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi90ZXN0c3VpdGUvY29uZmln dXJlLmFjCTIwMTUtMDUtMzEgMTY6MzQ6MDIuMzk2OTY5NDUwICswMjAwCi0rKysgZ2RiLTcuOS41 MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2NvbmZpZ3VyZS5hYwkyMDE1LTA1LTMxIDE2OjM0OjMz LjQ0MzE5NjcxMSArMDIwMAotQEAgLTExNCw1ICsxMTQsNSBAQCBBQ19PVVRQVVQoW01ha2VmaWxl IFwKKy0tLSBnZGItNy4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi90ZXN0c3VpdGUvY29uZmlndXJl LmFjCTIwMTYtMDEtMDYgMDI6NDg6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMTAuNTAu MjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9jb25maWd1cmUuYWMJMjAxNi0wMS0wOCAxOTo1NzoyMy43 NDc1NzE1NDMgKzAxMDAKK0BAIC0xMTIsNSArMTEyLDUgQEAKICAgIGdkYi5ndWlsZS9NYWtlZmls ZSBnZGIubGluZXNwZWMvTWFrZWZpbGUgXAogICAgZ2RiLm1pL01ha2VmaWxlIGdkYi5tb2R1bGEy L01ha2VmaWxlIGdkYi5tdWx0aS9NYWtlZmlsZSBcCiAgICBnZGIub2JqYy9NYWtlZmlsZSBnZGIu b3BlbmNsL01ha2VmaWxlIGdkYi5vcHQvTWFrZWZpbGUgZ2RiLnBhc2NhbC9NYWtlZmlsZSBcCiAt ICBnZGIucGVyZi9NYWtlZmlsZSBnZGIucHl0aG9uL01ha2VmaWxlIGdkYi5yZXZlcnNlL01ha2Vm aWxlIGdkYi5zdGFicy9NYWtlZmlsZSBcCiArICBnZGIucGVyZi9NYWtlZmlsZSBnZGIucGllL01h a2VmaWxlIGdkYi5weXRob24vTWFrZWZpbGUgZ2RiLnJldmVyc2UvTWFrZWZpbGUgZ2RiLnN0YWJz L01ha2VmaWxlIFwKICAgIGdkYi50aHJlYWRzL01ha2VmaWxlIGdkYi50cmFjZS9NYWtlZmlsZSBn ZGIueG1sL01ha2VmaWxlXSkKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3Vp dGUvY29uZmlndXJlCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9j b25maWd1cmUKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL3Rl c3RzdWl0ZS9jb25maWd1cmUJMjAxNS0wNS0zMSAxNjozMzo1My4xNTQ5MDE3OTggKzAyMDAKLSsr KyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvY29uZmlndXJlCTIwMTUtMDUtMzEg MTY6MzQ6NDguNjU0MzA4MDU3ICswMjAwCi1AQCAtMzUxNCw3ICszNTE0LDcgQEAgcHJvZ3JhbV90 cmFuc2Zvcm1fbmFtZT1gJGFzX2VjaG8gIiRwcm9ncgorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2 Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9jb25maWd1cmUJMjAxNi0wMS0wNiAwMjo0ODozNy4wMDAwMDAw MDAgKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2NvbmZpZ3Vy ZQkyMDE2LTAxLTA4IDE5OjU3OjIzLjc0ODU3MTU0OSArMDEwMAorQEAgLTM1MTIsNyArMzUxMiw3 IEBACiAgYWNfY29uZmlnX2ZpbGVzPSIkYWNfY29uZmlnX2ZpbGVzIGxpYi9wZHRyYWNlIgogIAog IApAQCAtMjIsNyArMjIsNyBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1 aXRlL2NvbmZpZ3VyZQogIAogIGNhdCA+Y29uZmNhY2hlIDw8XF9BQ0VPRgogICMgVGhpcyBmaWxl IGlzIGEgc2hlbGwgc2NyaXB0IHRoYXQgY2FjaGVzIHRoZSByZXN1bHRzIG9mIGNvbmZpZ3VyZQot QEAgLTQyNDIsNiArNDI0Miw3IEBAIGRvCitAQCAtNDI0MCw2ICs0MjQwLDcgQEAKICAgICAgImdk Yi5vcHQvTWFrZWZpbGUiKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgZ2RiLm9wdC9NYWtl ZmlsZSIgOzsKICAgICAgImdkYi5wYXNjYWwvTWFrZWZpbGUiKSBDT05GSUdfRklMRVM9IiRDT05G SUdfRklMRVMgZ2RiLnBhc2NhbC9NYWtlZmlsZSIgOzsKICAgICAgImdkYi5wZXJmL01ha2VmaWxl IikgQ09ORklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVTIGdkYi5wZXJmL01ha2VmaWxlIiA7OwpAQCAt MzAsMTAgKzMwLDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUv Y29uZmlndXJlCiAgICAgICJnZGIucHl0aG9uL01ha2VmaWxlIikgQ09ORklHX0ZJTEVTPSIkQ09O RklHX0ZJTEVTIGdkYi5weXRob24vTWFrZWZpbGUiIDs7CiAgICAgICJnZGIucmV2ZXJzZS9NYWtl ZmlsZSIpIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBnZGIucmV2ZXJzZS9NYWtlZmlsZSIg OzsKICAgICAgImdkYi5zdGFicy9NYWtlZmlsZSIpIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxF UyBnZGIuc3RhYnMvTWFrZWZpbGUiIDs7Ci1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIv dGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9n ZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy45LjUwLjIwMTUw NTIwL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9hdHRhY2guYwkyMDE1LTA1LTMxIDE2OjM0OjAyLjM5 ODk2OTQ2NSArMDIwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2Ri LnBpZS9hdHRhY2guYwkyMDE2LTAxLTA4IDE5OjU3OjIzLjc0ODU3MTU0OSArMDEwMAogQEAgLTAs MCArMSwyMCBAQAogKy8qIFRoaXMgcHJvZ3JhbSBpcyBpbnRlbmRlZCB0byBiZSBzdGFydGVkIG91 dHNpZGUgb2YgZ2RiLCBhbmQgdGhlbgogKyAgIGF0dGFjaGVkIHRvIGJ5IGdkYi4gIFRodXMsIGl0 IHNpbXBseSBzcGlucyBpbiBhIGxvb3AuICBUaGUgbG9vcApAQCAtNTUsMTAgKzU1LDEwIEBAIElu ZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9hdHRhY2guYwog KyAgICB9CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIv dGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoMi5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYv Z2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0dGFjaDIuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjkuNTAuMjAx NTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0dGFjaDIuYwkyMDE1LTA1LTMxIDE2OjM0OjAy LjM5ODk2OTQ2NSArMDIwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUv Z2RiLnBpZS9hdHRhY2gyLmMJMjAxNi0wMS0wOCAxOTo1NzoyMy43NDg1NzE1NDkgKzAxMDAKIEBA IC0wLDAgKzEsMjQgQEAKICsvKiBUaGlzIHByb2dyYW0gaXMgaW50ZW5kZWQgdG8gYmUgc3RhcnRl ZCBvdXRzaWRlIG9mIGdkYiwgYW5kIHRoZW4KICsgICBhdHRhY2hlZCB0byBieSBnZGIuICBUaHVz LCBpdCBzaW1wbHkgc3BpbnMgaW4gYSBsb29wLiAgVGhlIGxvb3AKQEAgLTg0LDEwICs4NCwxMCBA QCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNo Mi5jCiArICAgIH0KICsgIHJldHVybiAoMCk7CiArfQotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1 MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2JyZWFrLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2 MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjkuNTAu MjAxNTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2JyZWFrLmMJMjAxNS0wNS0zMSAxNjozNDow Mi4zOTk5Njk0NzIgKzAyMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRl L2dkYi5waWUvYnJlYWsuYwkyMDE2LTAxLTA4IDE5OjU3OjIzLjc0ODU3MTU0OSArMDEwMAogQEAg LTAsMCArMSwxNDYgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05V IGRlYnVnZ2VyLgogKwpAQCAtMjM1LDEwICsyMzUsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAx NTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2JyZWFrLmMKICsgICAgfQogKyAgcmV0dXJuIDA7 CiArfQotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2Jy ZWFrMS5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIucGll L2JyZWFrMS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2dk Yi5waWUvYnJlYWsxLmMJMjAxNS0wNS0zMSAxNjozNDowMi4zOTk5Njk0NzIgKzAyMDAKKysrKyBn ZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsxLmMJMjAxNi0w MS0wOCAxOTo1NzoyMy43NDk1NzE1NTQgKzAxMDAKIEBAIC0wLDAgKzEsNDQgQEAKICsvKiBUaGlz IHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMjg0LDEw ICsyODQsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIu cGllL2JyZWFrMS5jCiArdm9pZCBtYXJrZXIzIChhLCBiKSBjaGFyICphLCAqYjsge30JLyogc2V0 IGJyZWFrcG9pbnQgMTggaGVyZSAqLwogK3ZvaWQgbWFya2VyNCAoZCkgbG9uZyBkOyB7fQkJLyog c2V0IGJyZWFrcG9pbnQgMTMgaGVyZSAqLwogKyNlbmRpZgotSW5kZXg6IGdkYi03LjkuNTAuMjAx NTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2NvcmVtYWtlci5jCitJbmRleDogZ2RiLTcuMTAu NTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2NvcmVtYWtlci5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZW1ha2VyLmMJMjAx NS0wNS0zMSAxNjozNDowMi4zOTk5Njk0NzIgKzAyMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEw Ni9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZW1ha2VyLmMJMjAxNi0wMS0wOCAxOTo1NzoyMy43 NDk1NzE1NTQgKzAxMDAKIEBAIC0wLDAgKzEsMTQyIEBACiArLyogQ29weXJpZ2h0IDE5OTIsIDE5 OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTkKICsgICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KQEAgLTQzMSwxMCArNDMxLDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dk Yi90ZXN0c3VpdGUvZ2RiLnBpZS9jb3JlbWFrZXIuYwogKyAgcmV0dXJuIDA7CiArfQogKwotSW5k ZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0dGFjaC5leHAK K0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNo LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucGll L2F0dGFjaC5leHAJMjAxNS0wNS0zMSAxNjozNDowMi40MDA5Njk0ODAgKzAyMDAKKysrKyBnZGIt Ny4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoLmV4cAkyMDE2LTAx LTA4IDE5OjU3OjIzLjc0OTU3MTU1NCArMDEwMAogQEAgLTAsMCArMSw0MTcgQEAKICsjICAgQ29w eXJpZ2h0IDE5OTcsIDE5OTksIDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAr CkBAIC04NTMsMTEgKzg1MywxMSBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVz dHN1aXRlL2dkYi5waWUvYXR0YWNoLmV4cAogK2RvX2NhbGxfYXR0YWNoX3Rlc3RzCiArCiArcmV0 dXJuIDAKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9i cmVhay5leHAKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5w aWUvYnJlYWsuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRl L2dkYi5waWUvYnJlYWsuZXhwCTIwMTUtMDUtMzEgMTY6MzQ6MDIuNDAxOTY5NDg3ICswMjAwCi1A QCAtMCwwICsxLDk2MiBAQAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUv Z2RiLnBpZS9icmVhay5leHAJMjAxNi0wMS0wOCAxOTo1ODowMC44Nzc3NzgzOTUgKzAxMDAKK0BA IC0wLDAgKzEsOTU4IEBACiArIyAgIENvcHlyaWdodCAxOTg4LCAxOTkwLCAxOTkxLCAxOTkyLCAx OTk0LCAxOTk1LCAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LAogKyMgICAyMDAwLCAyMDAyLCAyMDAz LCAyMDA0CiArIyAgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpAQCAtMTAxOCwxMSAr MTAxOCw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvZ2RiLnBp ZS9icmVhay5leHAKICsgICAgc2V0IG1haW5fbGluZSAkYnBfbG9jYXRpb242CiArfQogKwotK2lm IHskaHBfYUNDX2NvbXBpbGVyfSB7Ci0rICAgIHNldCBwcm90byAiXFwoaW50XFwpIgotK30gZWxz ZSB7Ci0rICAgIHNldCBwcm90byAiIgotK30KKytzZXQgcHJvdG8gIiIKICsKICtzZXQgYnBfbG9j YXRpb243IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJzZXQgYnJlYWtwb2ludCA3IGhlcmUiXQogK3Nl dCBicF9sb2NhdGlvbjggW2dkYl9nZXRfbGluZV9udW1iZXIgInNldCBicmVha3BvaW50IDggaGVy ZSIgJHNyY2ZpbGUxXQpAQCAtMTgyMCwxMCArMTgxNiwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4y MDE1MDUyMC9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsuZXhwCiArICAgIHNlbmRfZ2RiICJz ZXQgYXJncyBtYWluXG4iCiArICAgIGdkYl9leHBlY3QgLXJlICIuKiRnZGJfcHJvbXB0ICQiIHt9 CiArfQotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2Nv cmVmaWxlLmV4cAorSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2Ri LnBpZS9jb3JlZmlsZS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0 c3VpdGUvZ2RiLnBpZS9jb3JlZmlsZS5leHAJMjAxNS0wNS0zMSAxNjozNDowMi40MDE5Njk0ODcg KzAyMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29y ZWZpbGUuZXhwCTIwMTYtMDEtMDggMTk6NTc6MjMuNzUwNTcxNTYwICswMTAwCiBAQCAtMCwwICsx LDIzMyBAQAogKyMgQ29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTcs IDE5OTgsIDE5OTksIDIwMDAKICsjIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpAQCAt MjA1OCwxMCArMjA1NCwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1 aXRlL2dkYi5waWUvY29yZWZpbGUuZXhwCiArZ2RiX3Rlc3QgInVwIiAiI1xbMC05XF0qICpcWzAt OXhhLWZIJ1xdKiBpbiAuKiBcXCguKlxcKS4qIiAidXAgaW4gY29yZWZpbGUuZXhwIChyZWluaXQp IgogKwogK2dkYl90ZXN0ICJjb3JlIiAiTm8gY29yZSBmaWxlIG5vdy4iCi1JbmRleDogZ2RiLTcu OS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2dkYi5waWUvTWFrZWZpbGUuaW4KK0luZGV4OiBn ZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvTWFrZWZpbGUuaW4KID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9NYWtlZmls ZS5pbgkyMDE1LTA1LTMxIDE2OjM0OjAyLjQwMTk2OTQ4NyArMDIwMAorKysrIGdkYi03LjEwLjUw LjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9NYWtlZmlsZS5pbgkyMDE2LTAxLTA4IDE5 OjU3OjIzLjc1MDU3MTU2MCArMDEwMAogQEAgLTAsMCArMSwxOSBAQAogK1ZQQVRIID0gQHNyY2Rp ckAKICtzcmNkaXIgPSBAc3JjZGlyQAoKZGlmZiAtLWdpdCBhL2dkYi1hdHRhY2gtZmFpbC1yZWFz b25zLTVvZjUucGF0Y2ggYi9nZGItYXR0YWNoLWZhaWwtcmVhc29ucy01b2Y1LnBhdGNoCmluZGV4 IDFmYjk3MGEuLjQ4ZDdhYjQgMTAwNjQ0Ci0tLSBhL2dkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVv ZjUucGF0Y2gKKysrIGIvZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRjaApAQCAtMzcs MTAgKzM3LDEwIEBAIGdkYi9nZGJzZXJ2ZXIvCiAJKGxpbnV4X2NyZWF0ZV9pbmZlcmlvciwgbGlu dXhfdHJhY2Vmb3JrX2NoaWxkKTogQ2FsbCBpdCBpbnN0ZWFkIG9mCiAJZGlyZWN0IHB0cmFjZS4K IAotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9uYXQvbGludXgtcHRyYWNlLmMKK0lu ZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvbmF0L2xpbnV4LXB0cmFjZS5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTExMTMub3JpZy9nZGIvbmF0L2xpbnV4LXB0cmFjZS5j CTIwMTUtMTEtMTMgMDI6NDg6NDAuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAx NTExMTMvZ2RiL25hdC9saW51eC1wdHJhY2UuYwkyMDE1LTExLTE0IDE2OjExOjIyLjkwMjEyMTk3 MCArMDEwMAorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL25hdC9saW51eC1wdHJh Y2UuYwkyMDE2LTAxLTA4IDE5OjE1OjU3LjU4MDcwNzk0NCArMDEwMAorKysrIGdkYi03LjEwLjUw LjIwMTYwMTA2L2dkYi9uYXQvbGludXgtcHRyYWNlLmMJMjAxNi0wMS0wOCAxOToxNjowMi42NTQ3 MzYyNDYgKzAxMDAKIEBAIC0yNCw2ICsyNCwxMCBAQAogICNpbmNsdWRlICJnZGJfd2FpdC5oIgog ICNpbmNsdWRlICJnZGJfcHRyYWNlLmgiCkBAIC01Miw3ICs1Miw3IEBAIEluZGV4OiBnZGItNy4x MC41MC4yMDE1MTExMy9nZGIvbmF0L2xpbnV4LXB0cmFjZS5jCiAgLyogU3RvcmVzIHRoZSBwdHJh Y2Ugb3B0aW9ucyBzdXBwb3J0ZWQgYnkgdGhlIHJ1bm5pbmcga2VybmVsLgogICAgIEEgdmFsdWUg b2YgLTEgbWVhbnMgd2UgZGlkIG5vdCBjaGVjayBmb3IgZmVhdHVyZXMgeWV0LiAgQSB2YWx1ZQog ICAgIG9mIDAgbWVhbnMgdGhlcmUgYXJlIG5vIHN1cHBvcnRlZCBmZWF0dXJlcy4gICovCi1AQCAt NDgsNiArNTIsOCBAQCBsaW51eF9wdHJhY2VfYXR0YWNoX2ZhaWxfcmVhc29uIChwaWRfdCBwCitA QCAtNDgsNiArNTIsOCBAQAogICAgICBidWZmZXJfeG1sX3ByaW50ZiAoYnVmZmVyLCBfKCJwcm9j ZXNzICVkIGlzIGEgem9tYmllICIKICAJCQkJICItIHRoZSBwcm9jZXNzIGhhcyBhbHJlYWR5IHRl cm1pbmF0ZWQiKSwKICAJCSAgICAgICAoaW50KSBwaWQpOwpAQCAtNjEsNyArNjEsNyBAQCBJbmRl eDogZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL25hdC9saW51eC1wdHJhY2UuYwogIH0KICAKICAv KiBTZWUgbGludXgtcHRyYWNlLmguICAqLwotQEAgLTU5NCw2ICs2MDAsMjIgQEAgbGludXhfcHRy YWNlX2luaXRfd2FybmluZ3MgKHZvaWQpCitAQCAtNTk0LDYgKzYwMCwyMiBAQAogICAgbGludXhf cHRyYWNlX3Rlc3RfcmV0X3RvX254ICgpOwogIH0KICAKQEAgLTg0LDExICs4NCwxMSBAQCBJbmRl eDogZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL25hdC9saW51eC1wdHJhY2UuYwogIC8qIEV4dHJh Y3QgZXh0ZW5kZWQgcHRyYWNlIGV2ZW50IGZyb20gd2FpdCBzdGF0dXMuICAqLwogIAogIGludAot SW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9uYXQvbGludXgtcHRyYWNlLmgKK0luZGV4 OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvbmF0L2xpbnV4LXB0cmFjZS5oCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTExMTMub3JpZy9nZGIvbmF0L2xpbnV4LXB0cmFjZS5oCTIw MTUtMTEtMTMgMDI6NDg6NDAuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEx MTMvZ2RiL25hdC9saW51eC1wdHJhY2UuaAkyMDE1LTExLTE0IDE2OjExOjIyLjkwMjEyMTk3MCAr MDEwMAotQEAgLTE2NCw2ICsxNjQsNyBAQCBleHRlcm4gdm9pZCBsaW51eF9wdHJhY2VfYXR0YWNo X2ZhaWxfcmVhCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvbmF0L2xpbnV4LXB0 cmFjZS5oCTIwMTYtMDEtMDggMTk6MTU6NTcuNTgxNzA3OTUwICswMTAwCisrKysgZ2RiLTcuMTAu NTAuMjAxNjAxMDYvZ2RiL25hdC9saW51eC1wdHJhY2UuaAkyMDE2LTAxLTA4IDE5OjE2OjAyLjY1 NTczNjI1MSArMDEwMAorQEAgLTE2NCw2ICsxNjQsNyBAQAogIGV4dGVybiBjaGFyICpsaW51eF9w dHJhY2VfYXR0YWNoX2ZhaWxfcmVhc29uX3N0cmluZyAocHRpZF90IHB0aWQsIGludCBlcnIpOwog IAogIGV4dGVybiB2b2lkIGxpbnV4X3B0cmFjZV9pbml0X3dhcm5pbmdzICh2b2lkKTsKQEAgLTk2 LDExICs5NiwxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL25hdC9saW51eC1w dHJhY2UuaAogIGV4dGVybiB2b2lkIGxpbnV4X2NoZWNrX3B0cmFjZV9mZWF0dXJlcyAodm9pZCk7 CiAgZXh0ZXJuIHZvaWQgbGludXhfZW5hYmxlX2V2ZW50X3JlcG9ydGluZyAocGlkX3QgcGlkLCBp bnQgYXR0YWNoZWQpOwogIGV4dGVybiB2b2lkIGxpbnV4X2Rpc2FibGVfZXZlbnRfcmVwb3J0aW5n IChwaWRfdCBwaWQpOwotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9jb25maWd1cmUu YWMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvY29uZmlndXJlLmFjCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTExMTMub3JpZy9nZGIvY29uZmlndXJlLmFjCTIwMTUt MTEtMTQgMTY6MTE6MjIuNjEwMTIwMTY4ICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTExMTMv Z2RiL2NvbmZpZ3VyZS5hYwkyMDE1LTExLTE0IDE2OjExOjIyLjkwMjEyMTk3MCArMDEwMAotQEAg LTIwOTYsNiArMjA5NiwxMCBAQCBjYXNlICRob3N0X29zIGluCistLS0gZ2RiLTcuMTAuNTAuMjAx NjAxMDYub3JpZy9nZGIvY29uZmlndXJlLmFjCTIwMTYtMDEtMDggMTk6MTU6NTcuNTgyNzA3OTU1 ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2NvbmZpZ3VyZS5hYwkyMDE2LTAx LTA4IDE5OjE2OjAyLjY1NjczNjI1NyArMDEwMAorQEAgLTIwNzcsNiArMjA3NywxMCBAQAogIGVz YWMKICBBQ19ERUZJTkVfVU5RVU9URUQoR0RCSU5JVCwiJGdkYmluaXQiLFtUaGUgLmdkYmluaXQg ZmlsZW5hbWUuXSkKICAKQEAgLTExMSwxMSArMTExLDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4y MDE1MTExMy9nZGIvY29uZmlndXJlLmFjCiAgZG5sIEhhbmRsZSBvcHRpb25hbCBmZWF0dXJlcyB0 aGF0IGNhbiBiZSBlbmFibGVkLgogIAogICMgU3VwcG9ydCBmb3IgLS13aXRoLXN5c3Jvb3QgaXMg YSBjb3B5IG9mIEdEQl9BQ19XSVRIX0RJUiwKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTExMy9n ZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dk Yi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAx NTExMTMub3JpZy9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYwkyMDE1LTExLTEzIDAyOjQ4OjQw LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9nZGJzZXJ2ZXIv Y29uZmlndXJlLmFjCTIwMTUtMTEtMTQgMTY6MTE6MjIuOTAzMTIxOTc2ICswMTAwCi1AQCAtNTAy LDYgKzUwMiwxMCBAQCBpZiAkd2FudF9pcGEgOyB0aGVuCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAx MDYub3JpZy9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYwkyMDE2LTAxLTA4IDE5OjE1OjU3LjU4 MjcwNzk1NSArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9nZGJzZXJ2ZXIvY29u ZmlndXJlLmFjCTIwMTYtMDEtMDggMTk6MTY6MDIuNjU2NzM2MjU3ICswMTAwCitAQCAtNTI0LDYg KzUyNCwxMCBAQAogICAgIGZpCiAgZmkKICAKQEAgLTEyNiwxMSArMTI2LDExIEBAIEluZGV4OiBn ZGItNy4xMC41MC4yMDE1MTExMy9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYwogIEFDX1NVQlNU KEdEQlNFUlZFUl9ERVBGSUxFUykKICBBQ19TVUJTVChHREJTRVJWRVJfTElCUykKICBBQ19TVUJT VChzcnZfeG1sYnVpbHRpbikKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTExMy9nZGIvZ2Ric2Vy dmVyL2xpbnV4LWxvdy5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2dkYnNlcnZl ci9saW51eC1sb3cuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMTEzLm9yaWcv Z2RiL2dkYnNlcnZlci9saW51eC1sb3cuYwkyMDE1LTExLTEzIDAyOjQ4OjQwLjAwMDAwMDAwMCAr MDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMJ MjAxNS0xMS0xNCAxNjoxMToyMi45MDQxMjE5ODIgKzAxMDAKLUBAIC04MzMsNiArODMzLDI5IEBA IGFkZF9sd3AgKHB0aWRfdCBwdGlkKQorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2Ri L2dkYnNlcnZlci9saW51eC1sb3cuYwkyMDE2LTAxLTA4IDE5OjE1OjU3LjU4NTcwNzk3MiArMDEw MAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMJMjAx Ni0wMS0wOCAxOToxNjowMi42NTg3MzYyNjggKzAxMDAKK0BAIC04NTMsNiArODUzLDI5IEBACiAg ICByZXR1cm4gbHdwOwogIH0KICAKQEAgLTE2MCwyMCArMTYwLDIwIEBAIEluZGV4OiBnZGItNy4x MC41MC4yMDE1MTExMy9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCiAgLyogU3RhcnQgYW4gaW5m ZXJpb3IgcHJvY2VzcyBhbmQgcmV0dXJucyBpdHMgcGlkLgogICAgIEFMTEFSR1MgaXMgYSB2ZWN0 b3Igb2YgcHJvZ3JhbS1uYW1lIGFuZCBhcmdzLiAqLwogIAotQEAgLTg1Niw3ICs4NzksNyBAQCBs aW51eF9jcmVhdGVfaW5mZXJpb3IgKGNoYXIgKnByb2dyYW0sIGNoCitAQCAtODc2LDcgKzg5OSw3 IEBACiAgICBpZiAocGlkID09IDApCiAgICAgIHsKICAgICAgICBjbG9zZV9tb3N0X2ZkcyAoKTsK IC0gICAgICBwdHJhY2UgKFBUUkFDRV9UUkFDRU1FLCAwLCAoUFRSQUNFX1RZUEVfQVJHMykgMCwg KFBUUkFDRV9UWVBFX0FSRzQpIDApOwogKyAgICAgIGxpbnV4X3RyYWNlbWUgKHByb2dyYW0pOwog IAotICNpZm5kZWYgX19BTkRST0lEX18gLyogQmlvbmljIGRvZXNuJ3QgdXNlIFNJR1JUTUlOIHRo ZSB3YXkgZ2xpYmMgZG9lcy4gICovCi0gICAgICAgc2lnbmFsIChfX1NJR1JUTUlOICsgMSwgU0lH X0RGTCk7Ci1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL2luZi1wdHJhY2UuYworICAg ICAgIHNldHBnaWQgKDAsIDApOworIAorSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9p bmYtcHRyYWNlLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTExMy5vcmlnL2dk Yi9pbmYtcHRyYWNlLmMJMjAxNS0xMS0xMyAwMjo0ODo0MC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBn ZGItNy4xMC41MC4yMDE1MTExMy9nZGIvaW5mLXB0cmFjZS5jCTIwMTUtMTEtMTQgMTY6MTE6MjIu OTA0MTIxOTgyICswMTAwCi1AQCAtNzksNyArNzksMTUgQEAgc3RhdGljIHZvaWQKKy0tLSBnZGIt Ny4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi9pbmYtcHRyYWNlLmMJMjAxNi0wMS0wOCAxOToxNTo1 Ny41ODY3MDc5NzcgKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvaW5mLXB0cmFj ZS5jCTIwMTYtMDEtMDggMTk6MTY6MDIuNjU5NzM2Mjc0ICswMTAwCitAQCAtNzksNyArNzksMTUg QEAKICBpbmZfcHRyYWNlX21lICh2b2lkKQogIHsKICAgIC8qICJUcmFjZSBtZSwgRHIuIE1lbW9y eSEiICAqLwpAQCAtMTg5LDExICsxODksMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMTEz L2dkYi9pbmYtcHRyYWNlLmMKICB9CiAgCiAgLyogU3RhcnQgYSBuZXcgaW5mZXJpb3IgVW5peCBj aGlsZCBwcm9jZXNzLiAgRVhFQ19GSUxFIGlzIHRoZSBmaWxlIHRvCi1JbmRleDogZ2RiLTcuMTAu NTAuMjAxNTExMTMvZ2RiL2xpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYv Z2RiL2xpbnV4LW5hdC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTExMTMub3Jp Zy9nZGIvbGludXgtbmF0LmMJMjAxNS0xMS0xMyAwMjo0ODo0MC4wMDAwMDAwMDAgKzAxMDAKLSsr KyBnZGItNy4xMC41MC4yMDE1MTExMy9nZGIvbGludXgtbmF0LmMJMjAxNS0xMS0xNCAxNjoxMToy Mi45MDUxMjE5ODggKzAxMDAKLUBAIC0xMTg0LDYgKzExODQsNyBAQCBsaW51eF9uYXRfY3JlYXRl X2luZmVyaW9yIChzdHJ1Y3QgdGFyZ2V0CistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9n ZGIvbGludXgtbmF0LmMJMjAxNi0wMS0wOCAxOToxNTo1Ny41ODc3MDc5ODMgKzAxMDAKKysrKyBn ZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvbGludXgtbmF0LmMJMjAxNi0wMS0wOCAxOToxNjowMi42 NjA3MzYyNzkgKzAxMDAKK0BAIC0xMDE2LDYgKzEwMTYsNyBAQAogIHsKICAgIHN0cnVjdCBjbGVh bnVwICpyZXN0b3JlX3BlcnNvbmFsaXR5CiAgICAgID0gbWF5YmVfZGlzYWJsZV9hZGRyZXNzX3Nw YWNlX3JhbmRvbWl6YXRpb24gKGRpc2FibGVfcmFuZG9taXphdGlvbik7CkBAIC0yMDEsNyArMjAx LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9saW51eC1uYXQuYwogIAogICAg LyogVGhlIGZvcmtfY2hpbGQgbWVjaGFuaXNtIGlzIHN5bmNocm9ub3VzIGFuZCBjYWxscyB0YXJn ZXRfd2FpdCwgc28KICAgICAgIHdlIGhhdmUgdG8gbWFzayB0aGUgYXN5bmMgbW9kZS4gICovCi1A QCAtMTE5MSw3ICsxMTkyLDI4IEBAIGxpbnV4X25hdF9jcmVhdGVfaW5mZXJpb3IgKHN0cnVjdCB0 YXJnZXQKK0BAIC0xMDIzLDcgKzEwMjQsMjggQEAKICAgIC8qIE1ha2Ugc3VyZSB3ZSByZXBvcnQg YWxsIHNpZ25hbHMgZHVyaW5nIHN0YXJ0dXAuICAqLwogICAgbGludXhfbmF0X3Bhc3Nfc2lnbmFs cyAob3BzLCAwLCBOVUxMKTsKICAKQEAgLTIzMSwxMCArMjMxLDEwIEBAIEluZGV4OiBnZGItNy4x MC41MC4yMDE1MTExMy9nZGIvbGludXgtbmF0LmMKICAKICAgIGRvX2NsZWFudXBzIChyZXN0b3Jl X3BlcnNvbmFsaXR5KTsKICB9Ci1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL2NvbmZp Zy5pbgorSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9jb25maWcuaW4KID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTExMy5vcmlnL2dkYi9jb25maWcuaW4JMjAxNS0xMS0x NCAxNjoxMToyMi42MDcxMjAxNTAgKzAxMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTExMy9nZGIv Y29uZmlnLmluCTIwMTUtMTEtMTQgMTY6MTE6MjIuOTA1MTIxOTg4ICswMTAwCistLS0gZ2RiLTcu MTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvY29uZmlnLmluCTIwMTYtMDEtMDggMTk6MTU6NTcuNTg4 NzA3OTg5ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2NvbmZpZy5pbgkyMDE2 LTAxLTA4IDE5OjE2OjAyLjY2MDczNjI3OSArMDEwMAogQEAgLTI2NCw2ICsyNjQsOSBAQAogIC8q IERlZmluZSBpZiBsaWJycG0gbGlicmFyeSBpcyBiZWluZyB1c2VkLiAqLwogICN1bmRlZiBIQVZF X0xJQlJQTQpAQCAtMjU1LDExICsyNTUsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMTEz L2dkYi9jb25maWcuaW4KICAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNldGxvY2Fs ZScgZnVuY3Rpb24uICovCiAgI3VuZGVmIEhBVkVfU0VUTE9DQUxFCiAgCi1JbmRleDogZ2RiLTcu MTAuNTAuMjAxNTExMTMvZ2RiL2NvbmZpZ3VyZQorSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2 L2dkYi9jb25maWd1cmUKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTExMy5vcmln L2dkYi9jb25maWd1cmUJMjAxNS0xMS0xNCAxNjoxMToyMi42MTAxMjAxNjggKzAxMDAKLSsrKyBn ZGItNy4xMC41MC4yMDE1MTExMy9nZGIvY29uZmlndXJlCTIwMTUtMTEtMTQgMTY6MTE6MjIuOTA3 MTIyMDAxICswMTAwCi1AQCAtMTQ2OTQsNiArMTQ2OTQsNjQgQEAgY2F0ID4+Y29uZmRlZnMuaCA8 PF9BQ0VPRgorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2NvbmZpZ3VyZQkyMDE2 LTAxLTA4IDE5OjE1OjU3LjU5MzcwODAxNyArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2 L2dkYi9jb25maWd1cmUJMjAxNi0wMS0wOCAxOToxNjowMi42NjU3MzYzMDcgKzAxMDAKK0BAIC0x NDY1Myw2ICsxNDY1Myw2NCBAQAogIF9BQ0VPRgogIAogIApAQCAtMzI0LDEwICszMjQsMTAgQEAg SW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9jb25maWd1cmUKICAKICAjIFN1cHBvcnQg Zm9yIC0td2l0aC1zeXNyb290IGlzIGEgY29weSBvZiBHREJfQUNfV0lUSF9ESVIsCiAgIyBleGNl cHQgdGhhdCB0aGUgYXJndW1lbnQgdG8gLS13aXRoLXN5c3Jvb3QgaXMgb3B0aW9uYWwuCi1JbmRl eDogZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4KK0luZGV4OiBn ZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvZ2Ric2VydmVyL2NvbmZpZy5pbgogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjEwLjUwLjIwMTUxMTEzLm9yaWcvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4JMjAx NS0xMS0xMyAwMjo0ODo0MC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTEx My9nZGIvZ2Ric2VydmVyL2NvbmZpZy5pbgkyMDE1LTExLTE0IDE2OjEzOjE1Ljk3NDgxOTU0MSAr MDEwMAorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2dkYnNlcnZlci9jb25maWcu aW4JMjAxNi0wMS0wOCAxOToxNTo1Ny41OTU3MDgwMjggKzAxMDAKKysrKyBnZGItNy4xMC41MC4y MDE2MDEwNi9nZGIvZ2Ric2VydmVyL2NvbmZpZy5pbgkyMDE2LTAxLTA4IDE5OjE2OjAyLjY2NTcz NjMwNyArMDEwMAogQEAgLTExNyw2ICsxMTcsOSBAQAogIC8qIERlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSBgbWNoZWNrJyBsaWJyYXJ5ICgtbG1jaGVjaykuICovCiAgI3VuZGVmIEhBVkVfTElC TUNIRUNLCkBAIC0zNDgsMTEgKzM0OCwxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTExMTMv Z2RiL2dkYnNlcnZlci9jb25maWcuaW4KICAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg YHNldG5zJyBmdW5jdGlvbi4gKi8KICAjdW5kZWYgSEFWRV9TRVROUwogIAotSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMTEzL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlCitJbmRleDogZ2RiLTcuMTAu NTAuMjAxNjAxMDYvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMC41MC4yMDE1MTExMy5vcmlnL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlCTIwMTUtMTEtMTMg MDI6NDg6NDAuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL2dk YnNlcnZlci9jb25maWd1cmUJMjAxNS0xMS0xNCAxNjoxMzoxNC44NjY4MTI3MDYgKzAxMDAKLUBA IC03MjkwLDYgKzcyOTAsNjQgQEAgaWYgJHdhbnRfaXBhIDsgdGhlbgorLS0tIGdkYi03LjEwLjUw LjIwMTYwMTA2Lm9yaWcvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUJMjAxNi0wMS0wOCAxOToxNTo1 Ny41OTc3MDgwMzkgKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvZ2Ric2VydmVy L2NvbmZpZ3VyZQkyMDE2LTAxLTA4IDE5OjE2OjAyLjY2NzczNjMxOCArMDEwMAorQEAgLTczMTEs NiArNzMxMSw2NCBAQAogICAgIGZpCiAgZmkKICAKCmRpZmYgLS1naXQgYS9nZGItZm9yay1wbHVz LXRocmVhZHMtYXNjZW5kaW5nLXJldmVydC5wYXRjaCBiL2dkYi1mb3JrLXBsdXMtdGhyZWFkcy1h c2NlbmRpbmctcmV2ZXJ0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjMyNThiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9nZGItZm9yay1wbHVzLXRocmVhZHMtYXNjZW5k aW5nLXJldmVydC5wYXRjaApAQCAtMCwwICsxLDk0NSBAQAoraHR0cDovL3NvdXJjZXdhcmUub3Jn L21sL2dkYi1wYXRjaGVzLzIwMTYtMDEvbXNnMDAxNDEuaHRtbAorU3ViamVjdDogUmVncmVzc2lv biBmb3IgZ2RiLnRocmVhZHMvZm9yay1wbHVzLXRocmVhZHMuZXhwICBbUmU6IFtQQVRDSCAzLzZd IExpc3QgaW5mZXJpb3JzL3RocmVhZHMvcHNwYWNlcyBpbiBhc2NlbmRpbmcgb3JkZXJdCisKK09u IFRodSwgMjIgT2N0IDIwMTUgMTE6NTk6MDEgKzAyMDAsIFBlZHJvIEFsdmVzIHdyb3RlOgorCis3 ZTBhYTZhYTk5ODNjNzQ1YWVkYzIwM2RiMGNjMzYwYTBhZDQ3Y2FjIGlzIHRoZSBmaXJzdCBiYWQg Y29tbWl0Citjb21taXQgN2UwYWE2YWE5OTgzYzc0NWFlZGMyMDNkYjBjYzM2MGEwYWQ0N2NhYwor QXV0aG9yOiBQZWRybyBBbHZlcyA8cGFsdmVzQHJlZGhhdC5jb20+CitEYXRlOiAgIFR1ZSBOb3Yg MjQgMTg6MTE6MjEgMjAxNSArMDAwMAorICAgIExpc3QgaW5mZXJpb3JzL3RocmVhZHMvcHNwYWNl cyBpbiBhc2NlbmRpbmcgb3JkZXIKKworUEFTUy0+RkFJTDoKK0ZBSUw6IGdkYi50aHJlYWRzL2Zv cmstcGx1cy10aHJlYWRzLmV4cDogZGV0YWNoLW9uLWZvcms9b2ZmOiBpbmZlcmlvciAxIGV4aXRl ZAorRkFJTDogZ2RiLnRocmVhZHMvZm9yay1wbHVzLXRocmVhZHMuZXhwOiBkZXRhY2gtb24tZm9y az1vZmY6IG5vIHRocmVhZHMgbGVmdCAodGltZW91dCkKK0ZBSUw6IGdkYi50aHJlYWRzL2Zvcmst cGx1cy10aHJlYWRzLmV4cDogZGV0YWNoLW9uLWZvcms9b2ZmOiBvbmx5IGluZmVyaW9yIDEgbGVm dCAodGhlIHByb2dyYW0gZXhpdGVkKQorCistUEFTUzogZ2RiLnRocmVhZHMvZm9yay1wbHVzLXRo cmVhZHMuZXhwOiBkZXRhY2gtb24tZm9yaz1vZmY6IGluZmVyaW9yIDEgZXhpdGVkCisrd2Fybmlu ZzogRXJyb3IgcmVtb3ZpbmcgYnJlYWtwb2ludCAxXk0KKytFcnJvciBpbiByZS1zZXR0aW5nIGJy ZWFrcG9pbnQgMTogV2FybmluZzpeTQorK0Nhbm5vdCBpbnNlcnQgYnJlYWtwb2ludCAxLl5NCisr Q2Fubm90IGFjY2VzcyBtZW1vcnkgYXQgYWRkcmVzcyAweDgwNDg3MDBeTQorK15NCisrV2Fybmlu ZzpeTQorK0Nhbm5vdCBpbnNlcnQgYnJlYWtwb2ludCAxLl5NCisrQ2Fubm90IGFjY2VzcyBtZW1v cnkgYXQgYWRkcmVzcyAweDgwNDg3MDBeTQorK15NCisrKGdkYikgRkFJTDogZ2RiLnRocmVhZHMv Zm9yay1wbHVzLXRocmVhZHMuZXhwOiBkZXRhY2gtb24tZm9yaz1vZmY6IGluZmVyaW9yIDEgZXhp dGVkCisKK0kgaGF2ZW4ndCB0cmllZCB0byBkZWJ1ZyBpdC4KKworSXQgaGFwcGVucyBvbiBGZWRv cmEgMjMgeDg2XzY0IHdpdGggLW0zMiBmb3IgdGhlIHRlc3RzdWl0ZS4KKworCitKYW4KKworUkVW RVJUOgorCitjb21taXQgN2UwYWE2YWE5OTgzYzc0NWFlZGMyMDNkYjBjYzM2MGEwYWQ0N2NhYwor QXV0aG9yOiBQZWRybyBBbHZlcyA8cGFsdmVzQHJlZGhhdC5jb20+CitEYXRlOiAgIFR1ZSBOb3Yg MjQgMTg6MTE6MjEgMjAxNSArMDAwMAorCisgICAgTGlzdCBpbmZlcmlvcnMvdGhyZWFkcy9wc3Bh Y2VzIGluIGFzY2VuZGluZyBvcmRlcgorICAgIAorICAgIEJlZm9yZToKKyAgICAgIChnZGIpIGlu Zm8gdGhyZWFkcworICAgICAgICBJZCAgIFRhcmdldCBJZCAgICAgICAgIEZyYW1lCisgICAgICAg IDMgICAgVGhyZWFkIDB4N2ZmZmY3N2MzNzAwIChMV1AgMjkwMzUpIGNhbGxtZSAoKSBhdCBmb28u YzozMAorICAgICAgICAyICAgIFRocmVhZCAweDdmZmZmN2ZjNDcwMCAoTFdQIDI5MDM0KSAweDAw MDAwMDAwMDA0MDA4N2IgaW4gY2hpbGRfZnVuY3Rpb25fMiAoYXJnPTB4MCkgYXQgZm9vLmM6NjAK KyAgICAgICogMSAgICBUaHJlYWQgMHg3ZmZmZjdmYzU3NDAgKExXUCAyOTAzMCkgMHgwMDAwMDAz YjM3MjA5MjM3IGluIHB0aHJlYWRfam9pbiAodGhyZWFkaWQ9MTQwNzM3MzUzODkzNjMyLCB0aHJl YWRfcmV0dXJuPTB4MCkgYXQgcHRocmVhZF9qb2luLmM6OTIKKyAgICAKKyAgICBBZnRlcjoKKyAg ICAgIChnZGIpIGluZm8gdGhyZWFkcworICAgICAgICBJZCAgIFRhcmdldCBJZCAgICAgICAgIEZy YW1lCisgICAgICAqIDEgICAgVGhyZWFkIDB4N2ZmZmY3ZmM1NzQwIChMV1AgMjkwMzApIDB4MDAw MDAwM2IzNzIwOTIzNyBpbiBwdGhyZWFkX2pvaW4gKHRocmVhZGlkPTE0MDczNzM1Mzg5MzYzMiwg dGhyZWFkX3JldHVybj0weDApIGF0IHB0aHJlYWRfam9pbi5jOjkyCisgICAgICAgIDIgICAgVGhy ZWFkIDB4N2ZmZmY3ZmM0NzAwIChMV1AgMjkwMzQpIDB4MDAwMDAwMDAwMDQwMDg3YiBpbiBjaGls ZF9mdW5jdGlvbl8yIChhcmc9MHgwKSBhdCBmb28uYzo2MAorICAgICAgICAzICAgIFRocmVhZCAw eDdmZmZmNzdjMzcwMCAoTFdQIDI5MDM1KSBjYWxsbWUgKCkgYXQgZm9vLmM6MzAKKyAgICAKKyAg ICBnZGIvZG9jL0NoYW5nZUxvZzoKKyAgICAyMDE1LTExLTI0ICBQZWRybyBBbHZlcyAgPHBhbHZl c0ByZWRoYXQuY29tPgorICAgIAorICAgIAlQUiAxNzUzOQorICAgIAkqIGdkYi50ZXhpbmZvIChJ bmZlcmlvcnMgYW5kIFByb2dyYW1zKTogQWRqdXN0ICJtYWludCBpbmZvCisgICAgCXByb2dyYW0t c3BhY2VzIiBleGFtcGxlIHRvIGFzY2VuZGluZyBvcmRlciBsaXN0aW5nLgorICAgIAkoVGhyZWFk cyk6IEFkanVzdCAiaW5mbyB0aHJlYWRzIiBleGFtcGxlIHRvIGFzY2VuZGluZyBvcmRlcgorICAg IAlsaXN0aW5nLgorICAgIAkoRm9ya3MpOiBBZGp1c3QgImluZm8gaW5mZXJpb3JzIiBleGFtcGxl IHRvIGFzY2VuZGluZyBvcmRlcgorICAgIAlsaXN0aW5nLgorICAgIAorICAgIGdkYi9DaGFuZ2VM b2c6CisgICAgMjAxNS0xMS0yNCAgUGVkcm8gQWx2ZXMgIDxwYWx2ZXNAcmVkaGF0LmNvbT4KKyAg ICAKKyAgICAJUFIgMTc1MzkKKyAgICAJKiBpbmZlcmlvci5jIChhZGRfaW5mZXJpb3Jfc2lsZW50 KTogQXBwZW5kIHRoZSBuZXcgaW5mZXJpb3IgdG8gdGhlCisgICAgCWVuZCBvZiB0aGUgbGlzdC4K KyAgICAJKiBwcm9nc3BhY2UuYyAoYWRkX3Byb2dyYW1fc3BhY2UpOiBBcHBlbmQgdGhlIG5ldyBw c3BhY2UgdG8gdGhlCisgICAgCWVuZCBvZiB0aGUgbGlzdC4KKyAgICAJKiB0aHJlYWQuYyAobmV3 X3RocmVhZCk6IEFwcGVuZCB0aGUgbmV3IHRocmVhZCB0byB0aGUgZW5kIG9mIHRoZQorICAgIAls aXN0LgorICAgIAorICAgIGdkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nOgorICAgIDIwMTUtMTEtMjQg IFBlZHJvIEFsdmVzICA8cGFsdmVzQHJlZGhhdC5jb20+CisgICAgCisgICAgCVBSIDE3NTM5Cisg ICAgCSogZ2RiLmJhc2UvZm9sbC1leGVjLW1vZGUuZXhwOiBBZGp1c3QgdG8gR0RCIGxpc3Rpbmcg aW5mZXJpb3JzIGFuZAorICAgIAl0aHJlYWRzIGluIGFzY2VuZGluZyBvcmRlci4KKyAgICAJKiBn ZGIuYmFzZS9mb2xsLWZvcmsuZXhwOiBMaWtld2lzZS4KKyAgICAJKiBnZGIuYmFzZS9mb2xsLXZm b3JrLmV4cDogTGlrZXdpc2UuCisgICAgCSogZ2RiLmJhc2UvbXVsdGktZm9ya3MuZXhwOiBMaWtl d2lzZS4KKyAgICAJKiBnZGIubWkvbWktbm9uc3RvcC5leHA6IExpa2V3aXNlLgorICAgIAkqIGdk Yi5taS9taS1uc2ludHJhbGwuZXhwOiBMaWtld2lzZS4KKyAgICAJKiBnZGIubXVsdGkvYmFzZS5l eHA6IExpa2V3aXNlLgorICAgIAkqIGdkYi5tdWx0aS9tdWx0aS1hcmNoLmV4cDogTGlrZXdpc2Uu CisgICAgCSogZ2RiLnB5dGhvbi9weS1pbmZlcmlvci5leHA6IExpa2V3aXNlLgorICAgIAkqIGdk Yi50aHJlYWRzL2JyZWFrLXdoaWxlLXJ1bm5pbmcuZXhwOiBMaWtld2lzZS4KKyAgICAJKiBnZGIu dGhyZWFkcy9leGVjbC5leHA6IExpa2V3aXNlLgorICAgIAkqIGdkYi50aHJlYWRzL2djb3JlLXRo cmVhZC5leHA6IExpa2V3aXNlLgorICAgIAkqIGdkYi50aHJlYWRzL2luZm8tdGhyZWFkcy1jdXIt c2FsLmV4cDogTGlrZXdpc2UuCisgICAgCSogZ2RiLnRocmVhZHMva2lsbC5leHA6IExpa2V3aXNl LgorICAgIAkqIGdkYi50aHJlYWRzL2xpbnV4LWRwLmV4cDogTGlrZXdpc2UuCisgICAgCSogZ2Ri LnRocmVhZHMvbXVsdGlwbGUtc3RlcC1vdmVycy5leHA6IExpa2V3aXNlLgorICAgIAkqIGdkYi50 aHJlYWRzL25leHQtYnAtb3RoZXItdGhyZWFkLmV4cDogTGlrZXdpc2UuCisgICAgCSogZ2RiLnRo cmVhZHMvc3RlcC1iZy1kZWNyLXBjLXN3aXRjaC10aHJlYWQuZXhwOiBMaWtld2lzZS4KKyAgICAJ KiBnZGIudGhyZWFkcy9zdGVwLW92ZXItbGFuZHMtb24tYnJlYWtwb2ludC5leHA6IExpa2V3aXNl LgorICAgIAkqIGdkYi50aHJlYWRzL3N0ZXAtb3Zlci10cmlwcy1vbi13YXRjaHBvaW50LmV4cDog TGlrZXdpc2UuCisgICAgCSogZ2RiLnRocmVhZHMvdGhyZWFkLWZpbmQuZXhwOiBMaWtld2lzZS4K KyAgICAJKiBnZGIudGhyZWFkcy90bHMuZXhwOiBMaWtld2lzZS4KKyAgICAJKiBsaWIvbWktc3Vw cG9ydC5leHAgKG1pX3JldmVyc2VfbGlzdCk6IERlbGV0ZS4KKyAgICAJKG1pX2NoZWNrX3RocmVh ZF9zdGF0ZXMpOiBObyBsb25nZXIgcmV2ZXJzZSBsaXN0LgorCitkaWZmIC0tZ2l0IGEvZ2RiL2Rv Yy9nZGIudGV4aW5mbyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KK2luZGV4IDA3NzgzODMuLmZlOTQ4 MWQgMTAwNjQ0CistLS0gYS9nZGIvZG9jL2dkYi50ZXhpbmZvCisrKysgYi9nZGIvZG9jL2dkYi50 ZXhpbmZvCitAQCAtMjc5MSw5ICsyNzkxLDkgQEAgZXhhbXBsZSwgdGhlIGxpc3Qgb2YgaW5mZXJp b3JzIGJvdW5kIHRvIHRoZSBwcm9ncmFtIHNwYWNlLgorIEBzbWFsbGV4YW1wbGUKKyAoQHZhbHVl e0dEQlB9KSBtYWludCBpbmZvIHByb2dyYW0tc3BhY2VzCisgICBJZCAgIEV4ZWN1dGFibGUKKy0q IDEgICAgaGVsbG8KKyAgIDIgICAgZ29vZGJ5ZQorICAgICAgICAgQm91bmQgaW5mZXJpb3JzOiBJ RCAxIChwcm9jZXNzIDIxNTYxKQorKyogMSAgICBoZWxsbworIEBlbmQgc21hbGxleGFtcGxlCisg CisgSGVyZSB3ZSBjYW4gc2VlIHRoYXQgbm8gaW5mZXJpb3IgaXMgcnVubmluZyB0aGUgcHJvZ3Jh bSBAY29kZXtoZWxsb30sCitAQCAtMjkyNCw5ICsyOTI0LDkgQEAgRm9yIGV4YW1wbGUsCisgQHNt YWxsZXhhbXBsZQorIChAdmFsdWV7R0RCUH0pIGluZm8gdGhyZWFkcworICAgSWQgICBUYXJnZXQg SWQgICAgICAgICBGcmFtZQorLSogMSAgICBwcm9jZXNzIDM1IHRocmVhZCAxMyAgbWFpbiAoYXJn Yz0xLCBhcmd2PTB4N2ZmZmZmZjgpCistICAyICAgIHByb2Nlc3MgMzUgdGhyZWFkIDIzICAweDM0 ZTUgaW4gc2lncGF1c2UgKCkKKyAgIDMgICAgcHJvY2VzcyAzNSB0aHJlYWQgMjcgIDB4MzRlNSBp biBzaWdwYXVzZSAoKQorKyAgMiAgICBwcm9jZXNzIDM1IHRocmVhZCAyMyAgMHgzNGU1IGluIHNp Z3BhdXNlICgpCisrKiAxICAgIHByb2Nlc3MgMzUgdGhyZWFkIDEzICBtYWluIChhcmdjPTEsIGFy Z3Y9MHg3ZmZmZmZmOCkKKyAgICAgYXQgdGhyZWFkdGVzdC5jOjY4CisgQGVuZCBzbWFsbGV4YW1w bGUKKyAKK0BAIC0zMjQxLDggKzMyNDEsOCBAQCBwcm9jZXNzIDEyMDIwIGlzIGV4ZWN1dGluZyBu ZXcgcHJvZ3JhbTogcHJvZzIKKyBQcm9ncmFtIGV4aXRlZCBub3JtYWxseS4KKyAoQHZhbHVle0dE QlB9KSBpbmZvIGluZmVyaW9ycworICAgSWQgICBEZXNjcmlwdGlvbiAgIEV4ZWN1dGFibGUKKy0g IDEgICAgPG51bGw+ICAgICAgICBwcm9nMQorICogMiAgICA8bnVsbD4gICAgICAgIHByb2cyCisr ICAxICAgIDxudWxsPiAgICAgICAgcHJvZzEKKyBAZW5kIHNtYWxsZXhhbXBsZQorIAorIEBpdGVt IHNhbWUKK2RpZmYgLS1naXQgYS9nZGIvaW5mZXJpb3IuYyBiL2dkYi9pbmZlcmlvci5jCitpbmRl eCBlNzExMDRkLi41MTUyNjhmIDEwMDY0NAorLS0tIGEvZ2RiL2luZmVyaW9yLmMKKysrKyBiL2dk Yi9pbmZlcmlvci5jCitAQCAtMTM1LDE3ICsxMzUsOCBAQCBhZGRfaW5mZXJpb3Jfc2lsZW50IChp bnQgcGlkKQorICAgaW5mLT5jb250cm9sLnN0b3Bfc29vbiA9IE5PX1NUT1BfUVVJRVRMWTsKKyAK KyAgIGluZi0+bnVtID0gKytoaWdoZXN0X2luZmVyaW9yX251bTsKKy0KKy0gIGlmIChpbmZlcmlv cl9saXN0ID09IE5VTEwpCistICAgIGluZmVyaW9yX2xpc3QgPSBpbmY7CistICBlbHNlCistICAg IHsKKy0gICAgICBzdHJ1Y3QgaW5mZXJpb3IgKmxhc3Q7CistCistICAgICAgZm9yIChsYXN0ID0g aW5mZXJpb3JfbGlzdDsgbGFzdC0+bmV4dCAhPSBOVUxMOyBsYXN0ID0gbGFzdC0+bmV4dCkKKy0J OworLSAgICAgIGxhc3QtPm5leHQgPSBpbmY7CistICAgIH0KKysgIGluZi0+bmV4dCA9IGluZmVy aW9yX2xpc3Q7CisrICBpbmZlcmlvcl9saXN0ID0gaW5mOworIAorICAgaW5mLT5lbnZpcm9ubWVu dCA9IG1ha2VfZW52aXJvbiAoKTsKKyAgIGluaXRfZW52aXJvbiAoaW5mLT5lbnZpcm9ubWVudCk7 CitkaWZmIC0tZ2l0IGEvZ2RiL3Byb2dzcGFjZS5jIGIvZ2RiL3Byb2dzcGFjZS5jCitpbmRleCA1 OWE3ODQ2Li45YTYyMmVkIDEwMDY0NAorLS0tIGEvZ2RiL3Byb2dzcGFjZS5jCisrKysgYi9nZGIv cHJvZ3NwYWNlLmMKK0BAIC0xMzMsMTYgKzEzMyw4IEBAIGFkZF9wcm9ncmFtX3NwYWNlIChzdHJ1 Y3QgYWRkcmVzc19zcGFjZSAqYXNwYWNlKQorIAorICAgcHJvZ3JhbV9zcGFjZV9hbGxvY19kYXRh IChwc3BhY2UpOworIAorLSAgaWYgKHByb2dyYW1fc3BhY2VzID09IE5VTEwpCistICAgIHByb2dy YW1fc3BhY2VzID0gcHNwYWNlOworLSAgZWxzZQorLSAgICB7CistICAgICAgc3RydWN0IHByb2dy YW1fc3BhY2UgKmxhc3Q7CistCistICAgICAgZm9yIChsYXN0ID0gcHJvZ3JhbV9zcGFjZXM7IGxh c3QtPm5leHQgIT0gTlVMTDsgbGFzdCA9IGxhc3QtPm5leHQpCistCTsKKy0gICAgICBsYXN0LT5u ZXh0ID0gcHNwYWNlOworLSAgICB9CisrICBwc3BhY2UtPm5leHQgPSBwcm9ncmFtX3NwYWNlczsK KysgIHByb2dyYW1fc3BhY2VzID0gcHNwYWNlOworIAorICAgcmV0dXJuIHBzcGFjZTsKKyB9Citk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb2xsLWV4ZWMtbW9kZS5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvbGwtZXhlYy1tb2RlLmV4cAoraW5kZXggNDFkNzg4Yi4u YWQyM2NiNSAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZm9sbC1leGVjLW1v ZGUuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvbGwtZXhlYy1tb2RlLmV4cAor QEAgLTE1MCw3ICsxNTAsNyBAQCBwcm9jIGRvX2ZvbGxvd19leGVjX21vZGVfdGVzdHMgeyBtb2Rl IGNtZCBpbmZzd2l0Y2ggfSB7CisgCWlmIHskbW9kZSA9PSAic2FtZSJ9IHsKKyAJICAgIHNldCBl eHBlY3RlZF9yZSAiXFwqIDEuKnByb2Nlc3MuKiIKKyAJfSBlbHNlIHsKKy0JICAgIHNldCBleHBl Y3RlZF9yZSAiICAxLipudWxsLiokdGVzdGZpbGUuKlxyXG5cXCogMi4qcHJvY2Vzcy4qJHRlc3Rm aWxlMiAuKiIKKysJICAgIHNldCBleHBlY3RlZF9yZSAiXFwqIDIuKnByb2Nlc3MuKiR0ZXN0Zmls ZTIgXHJcbiAgMS4qbnVsbC4qJHRlc3RmaWxlLioiCisgCX0KKyAKKyAJIyBDaGVjayB0aGF0IHRo ZSBpbmZlcmlvciBsaXN0IGlzIGNvcnJlY3Q6CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9mb2xsLWZvcmsuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb2xsLWZvcmsu ZXhwCitpbmRleCA2MWFlZmMxLi5iZDFkZjE0IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9mb2xsLWZvcmsuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvbGwt Zm9yay5leHAKK0BAIC0xMzksNyArMTM5LDcgQEAgcHJvYyB0ZXN0X2ZvbGxvd19mb3JrIHsgd2hv IGRldGFjaCBjbWQgfSB7CisgCisgCSAgICAjIEZvbGxvdyBwYXJlbnQgLyBrZWVwIGNoaWxkOiB0 d28gaW5mZXJpb3JzIHVuZGVyIGRlYnVnLCB0aGUKKyAJICAgICMgcGFyZW50IGlzIHRoZSBjdXJy ZW50IGluZmVyaW9yLgorLQkgICAgZ2RiX3Rlc3QgImluZm8gaW5mZXJpb3JzIiAiXFwqIDEgLipw cm9jZXNzLiogMiAuKnByb2Nlc3MuKiIgXAorKwkgICAgZ2RiX3Rlc3QgImluZm8gaW5mZXJpb3Jz IiAiIDIgLipwcm9jZXNzLipcXCogMSAuKnByb2Nlc3MuKiIgXAorIAkJICAgICAiaW5mbyBpbmZl cmlvcnMiCisgCisgCSAgICBnZGJfdGVzdCAiaW5mZXJpb3IgMiIgIlN3aXRjaGluZyB0byBpbmZl cmlvciAyIC4qIgorQEAgLTE1MCwxNCArMTUwLDE0IEBAIHByb2MgdGVzdF9mb2xsb3dfZm9yayB7 IHdobyBkZXRhY2ggY21kIH0geworIAkgICAgIyBGb2xsb3cgY2hpbGQgLyBkZXRhY2ggcGFyZW50 OiB0aGUgY2hpbGQgaXMgdW5kZXIgZGVidWcgYW5kIGlzCisgCSAgICAjIHRoZSBjdXJyZW50IGlu ZmVyaW9yLiAgVGhlIHBhcmVudCBpcyBsaXN0ZWQgYnV0IGlzIG5vdCB1bmRlcgorIAkgICAgIyBk ZWJ1Zy4KKy0JICAgIGdkYl90ZXN0ICJpbmZvIGluZmVyaW9ycyIgIiAxIC4qPG51bGw+LipcXCog MiAuKnByb2Nlc3MuKiIgXAorKwkgICAgZ2RiX3Rlc3QgImluZm8gaW5mZXJpb3JzIiAiXFwqIDIg Lipwcm9jZXNzLiogMSAuKjxudWxsPi4qIiBcCisgCQkgICAgICJpbmZvIGluZmVyaW9ycyIKKyAK KyAJfSBlbHNlaWYgeyR3aG8gPT0gImNoaWxkIiAmJiAkZGV0YWNoID09ICJvZmYifSB7CisgCisg CSAgICAjIEZvbGxvdyBjaGlsZCAvIGtlZXAgcGFyZW50OiB0d28gaW5mZXJpb3JzIHVuZGVyIGRl YnVnLCB0aGUKKyAJICAgICMgY2hpbGQgaXMgdGhlIGN1cnJlbnQgaW5mZXJpb3IuCistCSAgICBn ZGJfdGVzdCAiaW5mbyBpbmZlcmlvcnMiICIgMSAuKnByb2Nlc3MuKlxcKiAyIC4qcHJvY2Vzcy4q IiBcCisrCSAgICBnZGJfdGVzdCAiaW5mbyBpbmZlcmlvcnMiICJcXCogMiAuKnByb2Nlc3MuKiAx IC4qcHJvY2Vzcy4qIiBcCisgCQkgICAgICJpbmZvIGluZmVyaW9ycyIKKyAKKyAJICAgIGdkYl90 ZXN0ICJpbmZlcmlvciAxIiAiU3dpdGNoaW5nIHRvIGluZmVyaW9yIDEgLioiCitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb2xsLXZmb3JrLmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvZm9sbC12Zm9yay5leHAKK2luZGV4IGVmYTFiMzkuLmVkMjU0ODcgMTAwNjQ0Cist LS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvbGwtdmZvcmsuZXhwCisrKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2ZvbGwtdmZvcmsuZXhwCitAQCAtMzMwLDcgKzMzMCw3IEBAIHByb2Mg dmZvcmtfcmVsYXRpb25zX2luX2luZm9faW5mZXJpb3JzIHsgdmFyaWFudCB9IHsKKyAgICB9Cisg CisgICAgZ2RiX3Rlc3QgImluZm8gaW5mZXJpb3JzIiBcCistICAgICAgICIuKmlzIHZmb3JrIHBh cmVudCBvZiBpbmZlcmlvciAyLippcyB2Zm9yayBjaGlsZCBvZiBpbmZlcmlvciAxIiBcCisrICAg ICAgICIuKmlzIHZmb3JrIGNoaWxkIG9mIGluZmVyaW9yIDEuKmlzIHZmb3JrIHBhcmVudCBvZiBp bmZlcmlvciAyIiBcCisgICAgICAgICJpbmZvIGluZmVyaW9ycyBzaG93cyB2Zm9yayBwYXJlbnQv Y2hpbGQgcmVsYXRpb24iCisgCisgICAgaWYgeyAkdmFyaWFudCA9PSAiZXhlYyIgfSB7CitkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9tdWx0aS1mb3Jrcy5leHAgYi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL211bHRpLWZvcmtzLmV4cAoraW5kZXggMWVhYWE3MS4uMmYzZGQ4NiAx MDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbXVsdGktZm9ya3MuZXhwCisrKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL211bHRpLWZvcmtzLmV4cAorQEAgLTE1MCwxMyArMTUw LDEzIEBAIGdkYl90ZXN0X25vX291dHB1dCAic2V0IGRldGFjaCBvZmYiICJzZXQgZGV0YWNoIG9m ZiIKKyAKKyBmb3Ige3NldCBpIDF9IHskaSA8PSAxNX0ge2luY3IgaX0geworICAgZ2RiX3Rlc3Qg ImNvbnRpbnVlIiAiQnJlYWtwb2ludCAuKiBtYWluIC4qZXhpdC4qIiAiUnVuIHRvIGV4aXQgJGki CistICBnZGJfdGVzdCAiaW5mbyBpbmZlcmlvciIgIiAyIC4qIDMgLiogNCAuKiA1IC4qIiAiaW5m byBpbmZlcmlvciAkaSIKKysgIGdkYl90ZXN0ICJpbmZvIGluZmVyaW9yIiAiIDUgLiogNCAuKiAz IC4qIDIgLioiICJpbmZvIGluZmVyaW9yICRpIgorICAgZ2RiX3Rlc3QgImluZmVyaW9yICRpICsg MSIgIihfZGxfc3lzaW5mb19pbnQ4MHxmb3JrfF9fa2VybmVsXyh2fClzeXNjYWxsKS4qIiBcCisg ICAgICAgImluZmVyaW9yICRpIgorIH0KKyAKKyBnZGJfdGVzdCAiY29udGludWUiICJCcmVha3Bv aW50IC4qIG1haW4gLipleGl0LioiICJSdW4gdG8gZXhpdCAxNiIKKy1nZGJfdGVzdCAiaW5mbyBp bmZlcmlvciIgIiAyIC4qIDMgLiogNCAuKiA1IC4qIiAiaW5mbyBpbmZlcmlvciAxNiIKKytnZGJf dGVzdCAiaW5mbyBpbmZlcmlvcnMiICIgNSAuKiA0IC4qIDMgLiogMiAuKiIgImluZm8gaW5mZXJp b3IgMTYiCisgZ2RiX3Rlc3QgImluZmVyaW9yIDIiICIgbWFpbiAuKiIgInJlc3RhcnQgZmluYWwi CisgCisgIworQEAgLTE3Nyw5ICsxNzcsMjcgQEAgZ2RiX3Rlc3QgImRldGFjaCBpbmZlcmlvciA1 IiAiRGV0YWNoaW5nIC4qIiAiRGV0YWNoIDUiCisgIyBUZXN0IGtpbGwgaW5mZXJpb3IKKyAjCisg CistZm9yIHtzZXQgaSA2fSB7ICRpIDw9IDE2fSB7aW5jciBpfSB7CistICAgIGdkYl90ZXN0X25v X291dHB1dCAia2lsbCBpbmZlcmlvciAkaSIgIktpbGwgJGkiCistICAgIGdkYl90ZXN0ICJpbmZv IGluZmVyaW9yICRpIiAiPG51bGw+LioiICJEaWQga2lsbCAkaSIKKy19CisrZ2RiX3Rlc3Rfbm9f b3V0cHV0ICJraWxsIGluZmVyaW9yIDYiICJLaWxsIDYiCisrZ2RiX3Rlc3QgImluZm8gaW5mZXJp b3IgNiIgIjxudWxsPi4qIiAiRGlkIGtpbGwgNiIKKytnZGJfdGVzdF9ub19vdXRwdXQgImtpbGwg aW5mZXJpb3IgNyIgIktpbGwgNyIKKytnZGJfdGVzdCAiaW5mbyBpbmZlcmlvciA3IiAiPG51bGw+ LioiICJEaWQga2lsbCA3IgorK2dkYl90ZXN0X25vX291dHB1dCAia2lsbCBpbmZlcmlvciA4IiAi S2lsbCA4IgorK2dkYl90ZXN0ICJpbmZvIGluZmVyaW9yIDgiICI8bnVsbD4uKiIgIkRpZCBraWxs IDgiCisrZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJraWxsIGluZmVyaW9yIDkiICJLaWxsIDkiCisrZ2Ri X3Rlc3QgImluZm8gaW5mZXJpb3IgOSIgIjxudWxsPi4qIiAiRGlkIGtpbGwgOSIKKytnZGJfdGVz dF9ub19vdXRwdXQgImtpbGwgaW5mZXJpb3IgMTAiICJLaWxsIDEwIgorK2dkYl90ZXN0ICJpbmZv IGluZmVyaW9yIDEwIiAiPG51bGw+LioiICJEaWQga2lsbCAxMCIKKytnZGJfdGVzdF9ub19vdXRw dXQgImtpbGwgaW5mZXJpb3IgMTEiICJLaWxsIDExIgorK2dkYl90ZXN0ICJpbmZvIGluZmVyaW9y IDExIiAiPG51bGw+LioiICJEaWQga2lsbCAxMSIKKytnZGJfdGVzdF9ub19vdXRwdXQgImtpbGwg aW5mZXJpb3IgMTIiICJLaWxsIDEyIgorK2dkYl90ZXN0ICJpbmZvIGluZmVyaW9yIDEyIiAiPG51 bGw+LioiICJEaWQga2lsbCAxMiIKKytnZGJfdGVzdF9ub19vdXRwdXQgImtpbGwgaW5mZXJpb3Ig MTMiICJLaWxsIDEzIgorK2dkYl90ZXN0ICJpbmZvIGluZmVyaW9yIDEzIiAiPG51bGw+LioiICJE aWQga2lsbCAxMyIKKytnZGJfdGVzdF9ub19vdXRwdXQgImtpbGwgaW5mZXJpb3IgMTQiICJLaWxs IDE0IgorK2dkYl90ZXN0ICJpbmZvIGluZmVyaW9yIDE0IiAiPG51bGw+LioiICJEaWQga2lsbCAx NCIKKytnZGJfdGVzdF9ub19vdXRwdXQgImtpbGwgaW5mZXJpb3IgMTUiICJLaWxsIDE1IgorK2dk Yl90ZXN0ICJpbmZvIGluZmVyaW9yIDE1IiAiPG51bGw+LioiICJEaWQga2lsbCAxNSIKKytnZGJf dGVzdF9ub19vdXRwdXQgImtpbGwgaW5mZXJpb3IgMTYiICJLaWxsIDE2IgorK2dkYl90ZXN0ICJp bmZvIGluZmVyaW9yIDE2IiAiPG51bGw+LioiICJEaWQga2lsbCAxNiIKKyAKKyByZXR1cm4gMAor ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLW5vbnN0b3AuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIubWkvbWktbm9uc3RvcC5leHAKK2luZGV4IDVlMTFmOGQuLmNhZDk5MDEgMTAw NjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1ub25zdG9wLmV4cAorKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIubWkvbWktbm9uc3RvcC5leHAKK0BAIC05Nyw3ICs5Nyw3IEBAIG1pX2V4 cGVjdF9pbnRlcnJ1cHQgImdvdCBpbnRlcnJ1cHQiCisgc2xlZXAgMQorIG1pX2NoZWNrX3RocmVh ZF9zdGF0ZXMgeyJzdG9wcGVkIiAic3RvcHBlZCIgInN0b3BwZWQifSAidGhyZWFkIHN0YXRlLCBz dG9wIDQiCisgCistbWlfZ2RiX3Rlc3QgIi1leGVjLWNvbnRpbnVlIC0tYWxsIiAiLipcXCpydW5u aW5nLHRocmVhZC1pZD1cIjFcIlxyXG5cXCpydW5uaW5nLHRocmVhZC1pZD1cIjJcIlxyXG5cXCpy dW5uaW5nLHRocmVhZC1pZD1cIjNcIiIgXAorK21pX2dkYl90ZXN0ICItZXhlYy1jb250aW51ZSAt LWFsbCIgIi4qXFwqcnVubmluZyx0aHJlYWQtaWQ9XCIzXCJcclxuXFwqcnVubmluZyx0aHJlYWQt aWQ9XCIyXCJcclxuXFwqcnVubmluZyx0aHJlYWQtaWQ9XCIxXCIiIFwKKyAgICAgInJlc3VtZSBh bGwiCisgCisgbWlfZXhwZWN0X3N0b3AgImJyZWFrcG9pbnQtaGl0IiAiYnJlYWtfYXRfbWUiICJc W15cblxdKiIgIm5vbi1zdG9wLmMiICJcWzAtOVxdKiIgeyIiICJkaXNwPVwia2VlcFwiIn0gIncw LGkyIHN0b3AiCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktbnNpbnRyYWxs LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLW5zaW50cmFsbC5leHAKK2luZGV4IDM3OGM3 MjkuLjA2MWE2ZjMgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1uc2ludHJh bGwuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1uc2ludHJhbGwuZXhwCitAQCAt NjcsMTAgKzY3LDEwIEBAIG1pX2RlbGV0ZV9icmVha3BvaW50cworICMgSGVyZSB3ZSBjcmVhdGUg YSByZXNwb25zZSBzdHJpbmcuICBOb3RlIHdlIGRvbid0IHdhbnQgXHJcbiBhdCB0aGUgZW5kLAor ICMgc2luY2UgbWlfZ2RiX3Rlc3Qgd2lsbCBhcHBlbmQgdGhpcyBpdHNlbGYuCisgc2V0IHJ1bm5p bmdfcmUgIiIKKy1mb3Ige3NldCBpIDF9IHskaSA8IDZ9IHtpbmNyIGl9IHsKKytmb3Ige3NldCBp IDZ9IHskaSA+IDF9IHtpbmNyIGkgLTF9IHsKKyAgICAgc2V0IHJ1bm5pbmdfcmUgIiRydW5uaW5n X3JlXFwqcnVubmluZyx0aHJlYWQtaWQ9XCIkaVwiXHJcbiIKKyB9Cistc2V0IHJ1bm5pbmdfcmUg IiRydW5uaW5nX3JlXFwqcnVubmluZyx0aHJlYWQtaWQ9XCI2XCIiCisrc2V0IHJ1bm5pbmdfcmUg IiRydW5uaW5nX3JlXFwqcnVubmluZyx0aHJlYWQtaWQ9XCIxXCIiCisgCisgbWlfZ2RiX3Rlc3Qg Ii1leGVjLWNvbnRpbnVlIC0tYWxsIiAiXFteXG5cXSpcclxuJHJ1bm5pbmdfcmUiIFwKKyAgICAg InJlc3VtZSBhbGwsIG5vIGJyZWFrcG9pbnQiCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIubXVsdGkvYmFzZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS9iYXNlLmV4cAoraW5k ZXggNmYwYmM2My4uZTAyZjk1ZiAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRp L2Jhc2UuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS9iYXNlLmV4cAorQEAgLTU5 LDcgKzU5LDcgQEAgZ2RiX3Rlc3QgImFkZC1pbmZlcmlvciAtZXhlYyAke2JpbmZpbGUzfSIgXAor ICMgQ2hlY2sgdGhhdCB3ZSBoYXZlIG11bHRpcGxlIGluZmVyaW9ycy4KKyAKKyBnZGJfdGVzdCAi aW5mbyBpbmZlcmlvcnMiIFwKKy0gICAgIkV4ZWN1dGFibGUuKiR7ZXhlYzF9Lioke2V4ZWMyfS4q JHtleGVjM30uKiIKKysgICAgIkV4ZWN1dGFibGUuKiR7ZXhlYzN9Lioke2V4ZWMyfS4qJHtleGVj MX0uKiIKKyAKKyAjIFRlc3QgaW5mbyBpbmZlcmlvcnMgd2l0aCBhcmdzCisgCitAQCAtNjgsMTYg KzY4LDE2IEBAIHNldCBzZWUyIDAKKyBzZXQgc2VlMyAwCisgCisgZ2RiX3Rlc3RfbXVsdGlwbGUg ImluZm8gaW5mZXJpb3IgMiAzIiAiaW5mbyBpbmZlcmlvciAyIDMiIHsKKy0gICAgLXJlICIuIDEg XFteXHJcblxdKiR7ZXhlYzF9IiB7CistCXNldCBzZWUxIDEKKysgICAgLXJlICIuIDMgXFteXHJc blxdKiR7ZXhlYzN9IiB7CisrCXNldCBzZWUzIDEKKyAJZXhwX2NvbnRpbnVlCisgICAgIH0KKyAg ICAgLXJlICIuIDIgXFteXHJcblxdKiR7ZXhlYzJ9IiB7CisgCXNldCBzZWUyIDEKKyAJZXhwX2Nv bnRpbnVlCisgICAgIH0KKy0gICAgLXJlICIuIDMgXFteXHJcblxdKiR7ZXhlYzN9IiB7CistCXNl dCBzZWUzIDEKKysgICAgLXJlICIuIDEgXFteXHJcblxdKiR7ZXhlYzF9IiB7CisrCXNldCBzZWUx IDEKKyAJZXhwX2NvbnRpbnVlCisgICAgIH0KKyAgICAgLXJlICIkZ2RiX3Byb21wdCAkIiB7CitA QCAtOTQsMTYgKzk0LDE2IEBAIHNldCBzZWUyIDAKKyBzZXQgc2VlMyAwCisgCisgZ2RiX3Rlc3Rf bXVsdGlwbGUgImluZm8gaW5mZXJpb3IgMS0yIiAiaW5mbyBpbmZlcmlvciAxLTIiIHsKKy0gICAg LXJlICIuIDEgXFteXHJcblxdKiR7ZXhlYzF9IiB7CistCXNldCBzZWUxIDEKKysgICAgLXJlICIu IDMgXFteXHJcblxdKiR7ZXhlYzN9IiB7CisrCXNldCBzZWUzIDEKKyAJZXhwX2NvbnRpbnVlCisg ICAgIH0KKyAgICAgLXJlICIuIDIgXFteXHJcblxdKiR7ZXhlYzJ9IiB7CisgCXNldCBzZWUyIDEK KyAJZXhwX2NvbnRpbnVlCisgICAgIH0KKy0gICAgLXJlICIuIDMgXFteXHJcblxdKiR7ZXhlYzN9 IiB7CistCXNldCBzZWUzIDEKKysgICAgLXJlICIuIDEgXFteXHJcblxdKiR7ZXhlYzF9IiB7Cisr CXNldCBzZWUxIDEKKyAJZXhwX2NvbnRpbnVlCisgICAgIH0KKyAgICAgLXJlICIkZ2RiX3Byb21w dCAkIiB7CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvbXVsdGktYXJjaC5l eHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS9tdWx0aS1hcmNoLmV4cAoraW5kZXggYjExNGEy Zi4uNTkyMmQ3MCAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL211bHRpLWFy Y2guZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS9tdWx0aS1hcmNoLmV4cAorQEAg LTk1LDQgKzk1LDQgQEAgaWYgIVtydW50b19tYWluXSB0aGVuIHsKKyAjIENoZWNrIHdlIGRvIGhh dmUgdHdvIGluZmVyaW9ycyBsb2FkZWQuCisgCisgZ2RiX3Rlc3QgImluZm8gaW5mZXJpb3JzIiBc CistICAgICJFeGVjdXRhYmxlLioke2V4ZWMxfS4qJHtleGVjMn0uKiIKKysgICAgIkV4ZWN1dGFi bGUuKiR7ZXhlYzJ9Lioke2V4ZWMxfS4qIgorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LnB5dGhvbi9weS1pbmZlcmlvci5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktaW5m ZXJpb3IuZXhwCitpbmRleCA5YjkwZDBiLi43ZTZmOTFkIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIucHl0aG9uL3B5LWluZmVyaW9yLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LWluZmVyaW9yLmV4cAorQEAgLTIzMCwxMCArMjMwLDEwIEBAIHdpdGhfdGVzdF9w cmVmaXggImlzX3ZhbGlkIiB7CisgCSJjaGVjayBpbmZlcmlvciB2YWxpZGl0eSAzIgorIAorICAg ICBnZGJfdGVzdF9ub19vdXRwdXQgInJlbW92ZS1pbmZlcmlvcnMgMiIgInJlbW92ZS1pbmZlcmlv cnMgMyIKKy0gICAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAoaW5mX2xpc3RcWzBcXS5pc192YWxp ZCgpKSIgIlRydWUiIFwKKysgICAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAoaW5mX2xpc3RcWzBc XS5pc192YWxpZCgpKSIgIkZhbHNlIiBcCisgCSJjaGVjayBpbmZlcmlvciB2YWxpZGl0eSA0Igor IAorLSAgICBnZGJfdGVzdCAicHl0aG9uIHByaW50IChpbmZfbGlzdFxbMVxdLmlzX3ZhbGlkKCkp IiAiRmFsc2UiIFwKKysgICAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAoaW5mX2xpc3RcWzFcXS5p c192YWxpZCgpKSIgIlRydWUiIFwKKyAJImNoZWNrIGluZmVyaW9yIHZhbGlkaXR5IDUiCisgfQor IAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYnJlYWstd2hpbGUtcnVu bmluZy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2JyZWFrLXdoaWxlLXJ1bm5pbmcu ZXhwCitpbmRleCA4YTE5N2U0Li4wNTg2MGJjIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy9icmVhay13aGlsZS1ydW5uaW5nLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy9icmVhay13aGlsZS1ydW5uaW5nLmV4cAorQEAgLTc4LDcgKzc4LDcgQEAgcHJv YyB0ZXN0IHsgdXBkYXRlX3RocmVhZF9saXN0IGFsd2F5c19pbnNlcnRlZCBub25fc3RvcCB9IHsK KyAgICAgIyB3aXRob3V0IHRoZSB1c2VyIGV4cGxpY2l0bHkgZmV0Y2hpbmcgdGhlIHRocmVhZCBs aXN0LgorICAgICBpZiB7JHVwZGF0ZV90aHJlYWRfbGlzdH0geworIAlnZGJfdGVzdCAiaW5mbyB0 aHJlYWRzIiBcCistCSAgICAibWFpbiAuKlxcXChydW5uaW5nXFxcKS4qXFxcKHJ1bm5pbmdcXFwp LioiIFwKKysJICAgICJcXFwocnVubmluZ1xcXCkuKlxcXChydW5uaW5nXFxcKS4qIG1haW4gLioi IFwKKyAJICAgICJvbmx5IG1haW4gc3RvcHBlZCIKKyAgICAgfQorIAorQEAgLTEwNyw3ICsxMDcs NyBAQCBwcm9jIHRlc3QgeyB1cGRhdGVfdGhyZWFkX2xpc3QgYWx3YXlzX2luc2VydGVkIG5vbl9z dG9wIH0geworIAorICAgICBpZiB7JG5vbl9zdG9wID09ICJvbiJ9IHsKKyAJZ2RiX3Rlc3QgImlu Zm8gdGhyZWFkcyIgXAorLQkgICAgIm1haW4gLiogYnJlYWtwb2ludF9mdW5jdGlvbiAuKlxcXChy dW5uaW5nXFxcKSIgXAorKwkgICAgIlxcXChydW5uaW5nXFxcKS4qIGJyZWFrcG9pbnRfZnVuY3Rp b24gLiogbWFpbiAuKiIgXAorIAkgICAgIm9uZSB0aHJlYWQgcnVubmluZyIKKyAKKyAJIyBVbmJs b2NrIHRoZSBvdGhlciB0aHJlYWQsIHdoaWNoIHNob3VsZCB0aGVuIHRyaXAgb24gdGhlIHNhbWUK K0BAIC0xMzEsNyArMTMxLDcgQEAgcHJvYyB0ZXN0IHsgdXBkYXRlX3RocmVhZF9saXN0IGFsd2F5 c19pbnNlcnRlZCBub25fc3RvcCB9IHsKKyAJfQorIAorIAlnZGJfdGVzdCAiaW5mbyB0aHJlYWRz IiBcCistCSAgICAiIG1haW4gLiogYnJlYWtwb2ludF9mdW5jdGlvbiAuKiBicmVha3BvaW50X2Z1 bmN0aW9uIC4qIiBcCisrCSAgICAiIGJyZWFrcG9pbnRfZnVuY3Rpb24gLiogYnJlYWtwb2ludF9m dW5jdGlvbiAuKiBtYWluIC4qIiBcCisgCSAgICAiYWxsIHRocmVhZHMgc3RvcHBlZCIKKyAgICAg fSBlbHNlIHsKKyAJIyBUaGlzIHRlc3QgaXMgbm90IG1lcmdlZCB3aXRoIHRoZSBub24tc3RvcCBv bmUgYmVjYXVzZSBpbgorQEAgLTE0Miw3ICsxNDIsNyBAQCBwcm9jIHRlc3QgeyB1cGRhdGVfdGhy ZWFkX2xpc3QgYWx3YXlzX2luc2VydGVkIG5vbl9zdG9wIH0geworIAkgICAgLXJlICJcXFwocnVu bmluZ1xcXCkuKiRnZGJfcHJvbXB0ICQiIHsKKyAJCWZhaWwgJHRlc3QKKyAJICAgIH0KKy0JICAg IC1yZSAibWFpbiAuKiBicmVha3BvaW50X2Z1bmN0aW9uIC4qJGdkYl9wcm9tcHQgJCIgeworKwkg ICAgLXJlICJicmVha3BvaW50X2Z1bmN0aW9uIC4qIG1haW4gLiokZ2RiX3Byb21wdCAkIiB7Cisg CQlwYXNzICR0ZXN0CisgCSAgICB9CisgCX0KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi50aHJlYWRzL2V4ZWNsLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvZXhlY2wuZXhw CitpbmRleCA4NTM4ZmQ3Li4xNGUzZTY4IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu dGhyZWFkcy9leGVjbC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvZXhlY2wu ZXhwCitAQCAtNDAsNyArNDAsNyBAQCBnZGJfdGVzdCAiYiBbZ2RiX2dldF9saW5lX251bWJlciAi YnJlYWtwb2ludCBoZXJlIl0iIFwKKyAKKyBnZGJfdGVzdCAiY29udGludWUiICIuKmJyZWFrcG9p bnQgaGVyZS4qIiAiY29udGludWUgdG8gZXhlYyIKKyAKKy1nZGJfdGVzdCAiaW5mbyB0aHJlYWRz IiAiMSAqVGhyZWFkLioyICpUaHJlYWQuKjMgKlRocmVhZC4qIiAiaW5mbyB0aHJlYWRzIGJlZm9y ZSBleGVjIgorK2dkYl90ZXN0ICJpbmZvIHRocmVhZHMiICIuKjMgKlRocmVhZC4qMiAqVGhyZWFk LioxICpUaHJlYWQuKiIgImluZm8gdGhyZWFkcyBiZWZvcmUgZXhlYyIKKyAKKyAjIFdoZW4gY29u dGludWluZyBmcm9tIHRoaXMgcG9pbnQgd2UnbGwgaGl0IHRoZSBicmVha3BvaW50IGluIG1haW4o KQorICMgYWdhaW4sIHRoaXMgdGltZSBpbiB0aGUgZXhlYydkIHByb2Nlc3MuCitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9nY29yZS10aHJlYWQuZXhwIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy9nY29yZS10aHJlYWQuZXhwCitpbmRleCBmNzRmMTQ3Li40NGZiMzQ3 IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9nY29yZS10aHJlYWQuZXhw CisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2djb3JlLXRocmVhZC5leHAKK0BAIC0x MjcsNyArMTI3LDcgQEAgZm9yZWFjaCBuYW1lIHsgY29yZWZpbGUgY29yZTBmaWxlIH0geyB3aXRo X3Rlc3RfcHJlZml4ICRuYW1lIHsKKyAgICAgIyBtYXBwaW5nIHZhcmlvdXMgT1MncyBtYXkgZG8/ ICBMZXQncyBhc3N1bWUgdGhhdCB0aGVyZSBtdXN0CisgICAgICMgYmUgYXQgbGVhc3QgdHdvIHRo cmVhZHM6CisgCistICAgIGdkYl90ZXN0ICJpbmZvIHRocmVhZHMiICJcXCogMSAke2hvcml6fSR7 bmx9ICAyICR7aG9yaXp9LioiIFwKKysgICAgZ2RiX3Rlc3QgImluZm8gdGhyZWFkcyIgIi4qJHtu bH0gIDIgJHtob3Jpen0ke25sfVxcKiAxIC4qIiBcCisgCSAgICAiY29yZWZpbGUgY29udGFpbnMg YXQgbGVhc3QgdHdvIHRocmVhZHMiCisgCisgICAgICMgT25lIHRocmVhZCBpbiB0aGUgY29yZWZp bGUgc2hvdWxkIGJlIGluIHRoZSAidGhyZWFkMiIgZnVuY3Rpb24uCitAQCAtMTM3LDYgKzEzNyw2 IEBAIGZvcmVhY2ggbmFtZSB7IGNvcmVmaWxlIGNvcmUwZmlsZSB9IHsgd2l0aF90ZXN0X3ByZWZp eCAkbmFtZSB7CisgCisgICAgICMgVGhlIHRocmVhZDIgdGhyZWFkIHNob3VsZCBiZSBtYXJrZWQg YXMgdGhlIGN1cnJlbnQgdGhyZWFkLgorIAorLSAgICBnZGJfdGVzdCAiaW5mbyB0aHJlYWRzIiAi XFwqICR7aG9yaXp9IHRocmVhZDIgLioke25sfSIgXAorKyAgICBnZGJfdGVzdCAiaW5mbyB0aHJl YWRzIiAiLioke25sfVxcKiAke2hvcml6fSB0aHJlYWQyIC4qIiBcCisgCSAgICAidGhyZWFkMiBp cyBjdXJyZW50IHRocmVhZCBpbiBjb3JlZmlsZSIKKyB9fQorZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLnRocmVhZHMvaW5mby10aHJlYWRzLWN1ci1zYWwuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIudGhyZWFkcy9pbmZvLXRocmVhZHMtY3VyLXNhbC5leHAKK2luZGV4IDIzYTNjMzYuLjYw M2Q5NDQgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2luZm8tdGhyZWFk cy1jdXItc2FsLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9pbmZvLXRocmVh ZHMtY3VyLXNhbC5leHAKK0BAIC00MSwyMCArNDEsMTQgQEAgZ2RiX3Rlc3QgImxpc3QgJGxpbmUi IFwKKyAjIFRoZXJlIHVzZWQgdG8gYmUgYSBidWcgd2hlcmUgImluZm8gdGhyZWFkcyIgd291bGQg c2V0IHRoZSBjdXJyZW50CisgIyBTQUwgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBsYXN0IHRocmVh ZCBkaXNwbGF5ZWQuCisgZ2RiX3Rlc3QgImluZm8gdGhyZWFkcyIgXAorLSAgICBbbXVsdGlfbGlu ZSBcCistCSAiXFsgXHRcXSpJZFxbIFx0XF0rVGFyZ2V0XFsgXHRcXStJZFxbIFx0XF0rRnJhbWVc WyBcdFxdKiIgXAorLQkgIiAgMSAqVGhyZWFkIFxbXlxyXG5cXSogLiogXFteXHJcblxdKiIgXAor LQkgIlxcKiAyICpUaHJlYWQgXFteXHJcblxdKiBhdCBcW15cclxuXF0qIl0gXAorKyAgICAiXHJc blxbIFx0XF0qSWRcWyBcdFxdK1RhcmdldFxbIFx0XF0rSWRcWyBcdFxdK0ZyYW1lXFsgXHRcXSpc clxuXFwqIDIgKlRocmVhZCBcW15cclxuXF0qIGF0IFxbXlxyXG5cXSpcclxuICAxICpUaHJlYWQg XFteXHJcblxdKiAuKiBcW15cclxuXF0qIiBcCisgICAgICJpbmZvIHRocmVhZHMgYmVmb3JlIGJy ZWFrIgorIAorICMgQ2hlY2sgdGhhdCAiYnJlYWsiIGlzIHN0aWxsIG9wZXJhdGluZyBvbiB0aGUg c2FtZSBmaWxlIGJ5IGRlZmF1bHQuCisgZ2RiX3Rlc3QgImJyZWFrICRsaW5lIiAiLioke3NyY2Zp bGUyfS4qIiAiYnJlYWsgb24gbGluZSIKKyAKKyBnZGJfdGVzdCAiaW5mbyB0aHJlYWRzIiBcCist ICAgIFttdWx0aV9saW5lIFwKKy0JICJcWyBcdFxdKklkXFsgXHRcXStUYXJnZXRcWyBcdFxdK0lk XFsgXHRcXStGcmFtZVxbIFx0XF0qIiBcCistCSAiICAxICpUaHJlYWQgXFteXHJcblxdKiAuKiBc W15cclxuXF0qIiBcCistCSAiXFwqIDIgKlRocmVhZCBcW15cclxuXF0qIGF0IFxbXlxyXG5cXSoi XSBcCisrICAgICJcclxuXFsgXHRcXSpJZFxbIFx0XF0rVGFyZ2V0XFsgXHRcXStJZFxbIFx0XF0r RnJhbWVcWyBcdFxdKlxyXG5cXCogMiAqVGhyZWFkIFxbXlxyXG5cXSogYXQgXFteXHJcblxdKlxy XG4gIDEgKlRocmVhZCBcW15cclxuXF0qIC4qIFxbXlxyXG5cXSoiIFwKKyAgICAgImluZm8gdGhy ZWFkcyBiZWZvcmUgbGlzdCIKKyAKKyAjIEFuZCB0aGF0IHNvIGlzICJsaXN0Ii4KK2RpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2tpbGwuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy9raWxsLmV4cAoraW5kZXggYTZkODM4Mi4uNzQxZWJkNSAxMDA2NDQKKy0tLSBh L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMva2lsbC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLnRocmVhZHMva2lsbC5leHAKK0BAIC00OCw3ICs0OCw3IEBAIHByb2MgdGVzdCB7dGhyZWFk ZWR9IHsKKyAJZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgImJyZWFrIGhlcmUiICIuKmJyZWFr IGhlcmUuKiIKKyAKKyAJaWYgeyR0aHJlYWRlZH0geworLQkgICAgZ2RiX3Rlc3QgImluZm8gdGhy ZWFkcyIgIjEuKjIuKjMuKjQuKjUuKjYuKiIgImFsbCB0aHJlYWRzIHN0YXJ0ZWQiCisrCSAgICBn ZGJfdGVzdCAiaW5mbyB0aHJlYWRzIiAiNi4qNS4qNC4qMy4qMi4qMS4qIiAiYWxsIHRocmVhZHMg c3RhcnRlZCIKKyAJfQorIAorIAkjIFRoaXMga2lsbHMgYW5kIGVuc3VyZXMgbm8gb3V0cHV0IG90 aGVyIHRoYW4gdGhlIHByb21wdCBjb21lcyBvdXQsCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIudGhyZWFkcy9saW51eC1kcC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2xp bnV4LWRwLmV4cAoraW5kZXggNjM2NWY3ZC4uN2I1YzcwNiAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0 c3VpdGUvZ2RiLnRocmVhZHMvbGludXgtZHAuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50 aHJlYWRzL2xpbnV4LWRwLmV4cAorQEAgLTE2OCw3ICsxNjgsNyBAQCBzZXQgbnRocmVhZHMgNgor IGdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJsaW51eHRocmVhZHMuZXhwOiBp bmZvIHRocmVhZHMgMiJdCisgZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgIm1haW4gdGhyZWFk J3Mgc2xlZXAiCisgc2V0IGluZm9fdGhyZWFkc19wdG4gIi4qIgorLWZvciB7c2V0IGkgMX0geyRp IDwgICRudGhyZWFkc30ge2luY3IgaX0geworK2ZvciB7c2V0IGkgJG50aHJlYWRzfSB7JGkgPiAw fSB7aW5jciBpIC0xfSB7CisgICAgIGFwcGVuZCBpbmZvX3RocmVhZHNfcHRuICIkaSAqVGhyZWFk IC4qIgorIH0KKyBhcHBlbmQgaW5mb190aHJlYWRzX3B0biAiXFtcclxuXF0rJGdkYl9wcm9tcHQg JCIKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL211bHRpcGxlLXN0ZXAt b3ZlcnMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9tdWx0aXBsZS1zdGVwLW92ZXJz LmV4cAoraW5kZXggY2Y3NzI4Yi4uNmEzODE5MiAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUv Z2RiLnRocmVhZHMvbXVsdGlwbGUtc3RlcC1vdmVycy5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLnRocmVhZHMvbXVsdGlwbGUtc3RlcC1vdmVycy5leHAKK0BAIC00Niw3ICs0Niw3IEBAIHBy b2Mgc2V0dXAge30geworIAorIAlnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5lX251bWJlciAi c2V0IHdhaXQtdGhyZWFkcyBicmVha3BvaW50IGhlcmUiXQorIAlnZGJfY29udGludWVfdG9fYnJl YWtwb2ludCAicnVuIHRvIGJyZWFrcG9pbnQiCistCWdkYl90ZXN0ICJpbmZvIHRocmVhZHMiICJc XFwqIDEgLiogMiAuKiAzIC4qIiAiaW5mbyB0aHJlYWRzIHNob3dzIGFsbCB0aHJlYWRzIgorKwln ZGJfdGVzdCAiaW5mbyB0aHJlYWRzIiAiMyAuKiAyIC4qXFxcKiAxLioiICJpbmZvIHRocmVhZHMg c2hvd3MgYWxsIHRocmVhZHMiCisgCisgCWdkYl90ZXN0X25vX291dHB1dCAic2V0IHNjaGVkdWxl ci1sb2NraW5nIG9uIgorIAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv bmV4dC1icC1vdGhlci10aHJlYWQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9uZXh0 LWJwLW90aGVyLXRocmVhZC5leHAKK2luZGV4IDRkZTNiZjkuLjI1NzkxYmUgMTAwNjQ0CistLS0g YS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL25leHQtYnAtb3RoZXItdGhyZWFkLmV4cAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9uZXh0LWJwLW90aGVyLXRocmVhZC5leHAKK0BA IC0zNSw3ICszNSw3IEBAIGZvcmVhY2ggc2NoZWRsb2NrIHsib2ZmIiAic3RlcCIgIm9uIiB9IHsK KyAKKyAJZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInNldCB3YWl0LXRocmVh ZCBicmVha3BvaW50IGhlcmUiXQorIAlnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAicnVuIHRv IHdhaXQtdGhyZWFkIGJyZWFrcG9pbnQiCistCWdkYl90ZXN0ICJpbmZvIHRocmVhZHMiICJcXFwq IDEgLiogIDIgLioiICJpbmZvIHRocmVhZHMgc2hvd3MgYWxsIHRocmVhZHMiCisrCWdkYl90ZXN0 ICJpbmZvIHRocmVhZHMiICIyIC4qXFxcKiAxLioiICJpbmZvIHRocmVhZHMgc2hvd3MgYWxsIHRo cmVhZHMiCisgCisgCWRlbGV0ZV9icmVha3BvaW50cworIAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLnRocmVhZHMvc3RlcC1iZy1kZWNyLXBjLXN3aXRjaC10aHJlYWQuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9zdGVwLWJnLWRlY3ItcGMtc3dpdGNoLXRocmVhZC5leHAK K2luZGV4IDRmNWMwNWMuLjEzNTRkMDMgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi50 aHJlYWRzL3N0ZXAtYmctZGVjci1wYy1zd2l0Y2gtdGhyZWFkLmV4cAorKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy9zdGVwLWJnLWRlY3ItcGMtc3dpdGNoLXRocmVhZC5leHAKK0BAIC00 OCw3ICs0OCw3IEBAIGRlbGV0ZV9icmVha3BvaW50cworIAorIGdkYl9icmVha3BvaW50IFtnZGJf Z2V0X2xpbmVfbnVtYmVyICJzZXQgYnJlYWtwb2ludCBoZXJlIl0KKyBnZGJfY29udGludWVfdG9f YnJlYWtwb2ludCAicnVuIHRvIG5vcCBicmVha3BvaW50IgorLWdkYl90ZXN0ICJpbmZvIHRocmVh ZHMiICIgIDEgLipcXFwqIDIgLioiICJpbmZvIHRocmVhZHMgc2hvd3MgYWxsIHRocmVhZHMiCisr Z2RiX3Rlc3QgImluZm8gdGhyZWFkcyIgIlxcXCogMiAuKiAxLioiICJpbmZvIHRocmVhZHMgc2hv d3MgYWxsIHRocmVhZHMiCisgCisgZ2RiX3Rlc3QgIm5leHQiICJ3aGlsZS4qIiAibmV4dCBvdmVy IG5vcCIKKyAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3N0ZXAtb3Zl ci1sYW5kcy1vbi1icmVha3BvaW50LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc3Rl cC1vdmVyLWxhbmRzLW9uLWJyZWFrcG9pbnQuZXhwCitpbmRleCBhNzI3M2Q0Li5hYTkxZTI5IDEw MDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9zdGVwLW92ZXItbGFuZHMtb24t YnJlYWtwb2ludC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc3RlcC1vdmVy LWxhbmRzLW9uLWJyZWFrcG9pbnQuZXhwCitAQCAtNDAsNyArNDAsNyBAQCBwcm9jIGRvX3Rlc3Qg e2Rpc3BsYWNlZCBjb21tYW5kfSB7CisgCisgCWdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVf bnVtYmVyICJzZXQgd2FpdC10aHJlYWQgYnJlYWtwb2ludCBoZXJlIl0KKyAJZ2RiX2NvbnRpbnVl X3RvX2JyZWFrcG9pbnQgInJ1biB0byB3YWl0LXRocmVhZCBicmVha3BvaW50IgorLQlnZGJfdGVz dCAiaW5mbyB0aHJlYWRzIiAiXFxcKiAxIC4qICAyIC4qIiAiaW5mbyB0aHJlYWRzIHNob3dzIGFs bCB0aHJlYWRzIgorKwlnZGJfdGVzdCAiaW5mbyB0aHJlYWRzIiAiMiAuKlxcXCogMS4qIiAiaW5m byB0aHJlYWRzIHNob3dzIGFsbCB0aHJlYWRzIgorIAorIAlnZGJfdGVzdF9ub19vdXRwdXQgInNl dCBzY2hlZHVsZXItbG9ja2luZyBvbiIKKyAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi50aHJlYWRzL3N0ZXAtb3Zlci10cmlwcy1vbi13YXRjaHBvaW50LmV4cCBiL2dkYi90ZXN0c3Vp dGUvZ2RiLnRocmVhZHMvc3RlcC1vdmVyLXRyaXBzLW9uLXdhdGNocG9pbnQuZXhwCitpbmRleCAy ZjBiZTUwLi5iMGE3ZTRhIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9z dGVwLW92ZXItdHJpcHMtb24td2F0Y2hwb2ludC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvc3RlcC1vdmVyLXRyaXBzLW9uLXdhdGNocG9pbnQuZXhwCitAQCAtNTksNyArNTks NyBAQCBwcm9jIGRvX3Rlc3QgeyBkaXNwbGFjZWQgd2l0aF9icCB9IHsKKyAKKyAJCWdkYl9icmVh a3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJzZXQgd2FpdC10aHJlYWQgYnJlYWtwb2ludCBo ZXJlIl0KKyAJCWdkYl9jb250aW51ZV90b19icmVha3BvaW50ICJydW4gdG8gd2FpdC10aHJlYWQg YnJlYWtwb2ludCIKKy0JCWdkYl90ZXN0ICJpbmZvIHRocmVhZHMiICJcXFwqIDEgLiogIDIgLioi ICJpbmZvIHRocmVhZHMgc2hvd3MgYWxsIHRocmVhZHMiCisrCQlnZGJfdGVzdCAiaW5mbyB0aHJl YWRzIiAiMiAuKlxcXCogMS4qIiAiaW5mbyB0aHJlYWRzIHNob3dzIGFsbCB0aHJlYWRzIgorIAor IAkJZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgc2NoZWR1bGVyLWxvY2tpbmcgb24iCisgCitkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWQtZmluZC5leHAgYi9nZGIv dGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZC1maW5kLmV4cAoraW5kZXggYmQ5MGM1Ny4uNTdk NThhMiAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkLWZpbmQu ZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZC1maW5kLmV4cAorQEAg LTU1LDExICs1NSwyOSBAQCBnZGJfdGVzdCAidGhyZWFkIGFwcGx5IDYgdGhyZWFkIG5hbWUgdGhy ZWFkbmFtZV82IiBcCisgICAgICJuYW1lIHRocmVhZCA2IgorIAorICMgQ29sbGVjdCB0aHJlYWQg aWRzLCBpZiBhbnkuCistCisgZ2RiX3Rlc3RfbXVsdGlwbGUgImluZm8gdGhyZWFkcyIgImNvbGxl Y3QgdGhyZWFkIGlkIiB7CistICAgIC1yZSAiLiAoXFswLTlcXSspIFxbXlxyXG5cXSpcW1R0XF1o cmVhZCAoXFswLTlhLWZBLUZ4XF0rKVxbXlxyXG5cXSogXCJ0aHJlYWRuYW1lX1xbMC05XF0rXCIg XFteXHJcblxdKiIgeworLQlzZXQgdGhyX251bSAkZXhwZWN0X291dCgxLHN0cmluZykKKy0Jc2V0 IHRocmVhZCR0aHJfbnVtICRleHBlY3Rfb3V0KDIsc3RyaW5nKQorKyAgICAtcmUgIi4gNiAuKlxb VHRcXWhyZWFkIChcWzAtOWEtZkEtRnhcXSspLiogXCJ0aHJlYWRuYW1lXzZcIiBcW15cclxuXF0q IiB7CisrCXNldCB0aHJlYWQ2ICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorKwlleHBfY29udGludWUK KysgICAgfQorKyAgICAtcmUgIi4gNSAuKlxbVHRcXWhyZWFkIChcWzAtOWEtZkEtRnhcXSspLiog XCJ0aHJlYWRuYW1lXzVcIiBcW15cclxuXF0qIiB7CisrCXNldCB0aHJlYWQ1ICRleHBlY3Rfb3V0 KDEsc3RyaW5nKQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUgIi4gNCAuKlxbVHRc XWhyZWFkIChcWzAtOWEtZkEtRnhcXSspLiogXCJ0aHJlYWRuYW1lXzRcIiBcW15cclxuXF0qIiB7 CisrCXNldCB0aHJlYWQ0ICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorKwlleHBfY29udGludWUKKysg ICAgfQorKyAgICAtcmUgIi4gMyAuKlxbVHRcXWhyZWFkIChcWzAtOWEtZkEtRnhcXSspLiogXCJ0 aHJlYWRuYW1lXzNcIiBcW15cclxuXF0qIiB7CisrCXNldCB0aHJlYWQzICRleHBlY3Rfb3V0KDEs c3RyaW5nKQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUgIi4gMiAuKlxbVHRcXWhy ZWFkIChcWzAtOWEtZkEtRnhcXSspLiogXCJ0aHJlYWRuYW1lXzJcIiBcW15cclxuXF0qIiB7Cisr CXNldCB0aHJlYWQyICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorKwlleHBfY29udGludWUKKysgICAg fQorKyAgICAtcmUgIi4gMSAuKlxbVHRcXWhyZWFkIChcWzAtOWEtZkEtRnhcXSspLiogXCJ0aHJl YWRuYW1lXzFcIiBcW15cclxuXF0qIiB7CisrCXNldCB0aHJlYWQxICRleHBlY3Rfb3V0KDEsc3Ry aW5nKQorIAlleHBfY29udGludWUKKyAgICAgfQorICAgICAtcmUgIi4qJGdkYl9wcm9tcHQgJCIg eworQEAgLTcyLDExICs5MCwyOSBAQCBpZiB7IFtpbmZvIGV4aXN0cyB0aHJlYWQ2XSB9IHRoZW4g eworIH0KKyAKKyAjIENvbGxlY3QgcHJvY2VzcyBpZHMsIGlmIGFueS4KKy0KKyBnZGJfdGVzdF9t dWx0aXBsZSAiaW5mbyB0aHJlYWRzIiAiY29sbGVjdCB0aHJlYWQgaWQiIHsKKy0gICAgLXJlICIu IChcWzAtOVxdKykgXFteXHJcblxdKlxbUHBcXXJvY2VzcyAoXFswLTlhLWZBLUZ4XF0rKVxbXlxy XG5cXSogXCJ0aHJlYWRuYW1lX1xbMC05XF0rXCIgXFteXHJcblxdKiIgeworLQlzZXQgdGhyX251 bSAkZXhwZWN0X291dCgxLHN0cmluZykKKy0Jc2V0IHByb2Nlc3MkdGhyX251bSAkZXhwZWN0X291 dCgyLHN0cmluZykKKysgICAgLXJlICIuIDYgLipcW1BwXF1yb2Nlc3MgKFxbMC05YS1mQS1GeFxd KykuKiBcInRocmVhZG5hbWVfNlwiIFxbXlxyXG5cXSoiIHsKKysJc2V0IHByb2Nlc3M2ICRleHBl Y3Rfb3V0KDEsc3RyaW5nKQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUgIi4gNSAu KlxbUHBcXXJvY2VzcyAoXFswLTlhLWZBLUZ4XF0rKS4qIFwidGhyZWFkbmFtZV81XCIgXFteXHJc blxdKiIgeworKwlzZXQgcHJvY2VzczUgJGV4cGVjdF9vdXQoMSxzdHJpbmcpCisrCWV4cF9jb250 aW51ZQorKyAgICB9CisrICAgIC1yZSAiLiA0IC4qXFtQcFxdcm9jZXNzIChcWzAtOWEtZkEtRnhc XSspLiogXCJ0aHJlYWRuYW1lXzRcIiBcW15cclxuXF0qIiB7CisrCXNldCBwcm9jZXNzNCAkZXhw ZWN0X291dCgxLHN0cmluZykKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICIuIDMg LipcW1BwXF1yb2Nlc3MgKFxbMC05YS1mQS1GeFxdKykuKiBcInRocmVhZG5hbWVfM1wiIFxbXlxy XG5cXSoiIHsKKysJc2V0IHByb2Nlc3MzICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorKwlleHBfY29u dGludWUKKysgICAgfQorKyAgICAtcmUgIi4gMiAuKlxbUHBcXXJvY2VzcyAoXFswLTlhLWZBLUZ4 XF0rKS4qIFwidGhyZWFkbmFtZV8yXCIgXFteXHJcblxdKiIgeworKwlzZXQgcHJvY2VzczIgJGV4 cGVjdF9vdXQoMSxzdHJpbmcpCisrCWV4cF9jb250aW51ZQorKyAgICB9CisrICAgIC1yZSAiLiAx IC4qXFtQcFxdcm9jZXNzIChcWzAtOWEtZkEtRnhcXSspLiogXCJ0aHJlYWRuYW1lXzFcIiBcW15c clxuXF0qIiB7CisrCXNldCBwcm9jZXNzMSAkZXhwZWN0X291dCgxLHN0cmluZykKKyAJZXhwX2Nv bnRpbnVlCisgICAgIH0KKyAgICAgLXJlICIuKiRnZGJfcHJvbXB0ICQiIHsKK0BAIC04OSwxMSAr MTI1LDI5IEBAIGlmIHsgW2luZm8gZXhpc3RzIHByb2Nlc3M2XSB9IHRoZW4geworIH0KKyAKKyAj IENvbGxlY3QgbHdwIGlkcywgaWYgYW55LgorLQorIGdkYl90ZXN0X211bHRpcGxlICJpbmZvIHRo cmVhZHMiICJjb2xsZWN0IHRocmVhZCBpZCIgeworLSAgICAtcmUgIi4gKFxbMC05XF0rKSBcW15c clxuXF0qTFdQIChcWzAtOWEtZkEtRnhcXSspXFteXHJcblxdKiBcInRocmVhZG5hbWVfXFswLTlc XStcIiBcW15cclxuXF0qIiB7CistCXNldCB0aHJfbnVtICRleHBlY3Rfb3V0KDEsc3RyaW5nKQor LQlzZXQgbHdwJHRocl9udW0gJGV4cGVjdF9vdXQoMixzdHJpbmcpCisrICAgIC1yZSAiLiA2IC4q TFdQIChcWzAtOWEtZkEtRnhcXSspLiogXCJ0aHJlYWRuYW1lXzZcIiBcW15cclxuXF0qIiB7Cisr CXNldCBsd3A2ICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorKwlleHBfY29udGludWUKKysgICAgfQor KyAgICAtcmUgIi4gNSAuKkxXUCAoXFswLTlhLWZBLUZ4XF0rKS4qIFwidGhyZWFkbmFtZV81XCIg XFteXHJcblxdKiIgeworKwlzZXQgbHdwNSAkZXhwZWN0X291dCgxLHN0cmluZykKKysJZXhwX2Nv bnRpbnVlCisrICAgIH0KKysgICAgLXJlICIuIDQgLipMV1AgKFxbMC05YS1mQS1GeFxdKykuKiBc InRocmVhZG5hbWVfNFwiIFxbXlxyXG5cXSoiIHsKKysJc2V0IGx3cDQgJGV4cGVjdF9vdXQoMSxz dHJpbmcpCisrCWV4cF9jb250aW51ZQorKyAgICB9CisrICAgIC1yZSAiLiAzIC4qTFdQIChcWzAt OWEtZkEtRnhcXSspLiogXCJ0aHJlYWRuYW1lXzNcIiBcW15cclxuXF0qIiB7CisrCXNldCBsd3Az ICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUg Ii4gMiAuKkxXUCAoXFswLTlhLWZBLUZ4XF0rKS4qIFwidGhyZWFkbmFtZV8yXCIgXFteXHJcblxd KiIgeworKwlzZXQgbHdwMiAkZXhwZWN0X291dCgxLHN0cmluZykKKysJZXhwX2NvbnRpbnVlCisr ICAgIH0KKysgICAgLXJlICIuIDEgLipMV1AgKFxbMC05YS1mQS1GeFxdKykuKiBcInRocmVhZG5h bWVfMVwiIFxbXlxyXG5cXSoiIHsKKysJc2V0IGx3cDEgJGV4cGVjdF9vdXQoMSxzdHJpbmcpCisg CWV4cF9jb250aW51ZQorICAgICB9CisgICAgIC1yZSAiLiokZ2RiX3Byb21wdCAkIiB7CitAQCAt MTg3LDEzICsyNDEsMzYgQEAgZ2RiX3Rlc3QgInRocmVhZCBmaW5kIGZvb2JhcmJheiIgIk5vIHRo cmVhZHMgbWF0Y2ggLioiICJubyB0aHJlYWQiCisgIyBUZXN0IHJlZ3VsYXIgZXhwcmVzc2lvbgor ICMKKyAKKy1mb3Ige3NldCBpIDF9IHskaSA8PSA2fSB7aW5jciBpfSB7CistICAgIHNldCBzZWUk aSAwCistfQorK3NldCBzZWUxIDAKKytzZXQgc2VlMiAwCisrc2V0IHNlZTMgMAorK3NldCBzZWU0 IDAKKytzZXQgc2VlNSAwCisrc2V0IHNlZTYgMAorKworIGdkYl90ZXN0X211bHRpcGxlICJ0aHJl YWQgZmluZCB0aHJlYWRuYW1lX1xbMzQ1XF0iICJ0ZXN0IHJlZ3VsYXIgZXhwIiB7CistICAgIC1y ZSAiVGhyZWFkIChcWzAtOVxdKykgaGFzIG5hbWUgXFteXHJcblxdKiIgeworLQlzZXQgdGhyX251 bSAkZXhwZWN0X291dCgxLHN0cmluZykKKy0Jc2V0IHNlZSR0aHJfbnVtIDEKKysgICAgLXJlICJU aHJlYWQgNiBoYXMgbmFtZSBcW15cclxuXF0qIiB7CisrCXNldCBzZWU2IDEKKysJZXhwX2NvbnRp bnVlCisrICAgIH0KKysgICAgLXJlICJUaHJlYWQgNSBoYXMgbmFtZSBcW15cclxuXF0qIiB7Cisr CXNldCBzZWU1IDEKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICJUaHJlYWQgNCBo YXMgbmFtZSBcW15cclxuXF0qIiB7CisrCXNldCBzZWU0IDEKKysJZXhwX2NvbnRpbnVlCisrICAg IH0KKysgICAgLXJlICJUaHJlYWQgMyBoYXMgbmFtZSBcW15cclxuXF0qIiB7CisrCXNldCBzZWUz IDEKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICJUaHJlYWQgMiBoYXMgbmFtZSBc W15cclxuXF0qIiB7CisrCXNldCBzZWUyIDEKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAg LXJlICJUaHJlYWQgMSBoYXMgbmFtZSBcW15cclxuXF0qIiB7CisrCXNldCBzZWUxIDEKKyAJZXhw X2NvbnRpbnVlCisgICAgIH0KKyAgICAgLXJlICIuKiRnZGJfcHJvbXB0ICQiIHsKK0BAIC0yMDks MTMgKzI4NiwzNiBAQCBnZGJfdGVzdF9tdWx0aXBsZSAidGhyZWFkIGZpbmQgdGhyZWFkbmFtZV9c WzM0NVxdIiAidGVzdCByZWd1bGFyIGV4cCIgeworICMgVGVzdCBpbmZvIHRocmVhZHMgb24gYSBz dWJzZXQgb2YgdGhyZWFkcworICMKKyAKKy1mb3Ige3NldCBpIDF9IHskaSA8PSA2fSB7aW5jciBp fSB7CistICAgIHNldCBzZWUkaSAwCistfQorK3NldCBzZWUxIDAKKytzZXQgc2VlMiAwCisrc2V0 IHNlZTMgMAorK3NldCBzZWU0IDAKKytzZXQgc2VlNSAwCisrc2V0IHNlZTYgMAorKworIGdkYl90 ZXN0X211bHRpcGxlICJpbmZvIHRocmVhZHMgMiA0IDYiICJpbmZvIHRocmVhZHMgMiA0IDYiIHsK Ky0gICAgLXJlICIuIChcWzAtOVxdKykgXFteXHJcblxdKlwidGhyZWFkbmFtZV9cWzAtOVxdK1wi IFxbXlxyXG5cXSoiIHsKKy0Jc2V0IHRocl9udW0gJGV4cGVjdF9vdXQoMSxzdHJpbmcpCistCXNl dCBzZWUkdGhyX251bSAxCisrICAgIC1yZSAiLiA2IFxbXlxyXG5cXSpcInRocmVhZG5hbWVfNlwi IFxbXlxyXG5cXSoiIHsKKysJc2V0IHNlZTYgMQorKwlleHBfY29udGludWUKKysgICAgfQorKyAg ICAtcmUgIi4gNSBcW15cclxuXF0qXCJ0aHJlYWRuYW1lXzVcIiBcW15cclxuXF0qIiB7CisrCXNl dCBzZWU1IDEKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICIuIDQgXFteXHJcblxd KlwidGhyZWFkbmFtZV80XCIgXFteXHJcblxdKiIgeworKwlzZXQgc2VlNCAxCisrCWV4cF9jb250 aW51ZQorKyAgICB9CisrICAgIC1yZSAiLiAzIFxbXlxyXG5cXSpcInRocmVhZG5hbWVfM1wiIFxb XlxyXG5cXSoiIHsKKysJc2V0IHNlZTMgMQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAt cmUgIi4gMiBcW15cclxuXF0qXCJ0aHJlYWRuYW1lXzJcIiBcW15cclxuXF0qIiB7CisrCXNldCBz ZWUyIDEKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICIuIDEgXFteXHJcblxdKlwi dGhyZWFkbmFtZV8xXCIgXFteXHJcblxdKiIgeworKwlzZXQgc2VlMSAxCisgCWV4cF9jb250aW51 ZQorICAgICB9CisgICAgIC1yZSAiJGdkYl9wcm9tcHQgJCIgeworQEAgLTIzMSwxMyArMzMxLDM2 IEBAIGdkYl90ZXN0X211bHRpcGxlICJpbmZvIHRocmVhZHMgMiA0IDYiICJpbmZvIHRocmVhZHMg MiA0IDYiIHsKKyAjIFRlc3QgaW5mbyB0aHJlYWRzIG9uIGEgcmFuZ2UKKyAjCisgCistZm9yIHtz ZXQgaSAxfSB7JGkgPD0gNn0ge2luY3IgaX0geworLSAgICBzZXQgc2VlJGkgMAorLX0KKytzZXQg c2VlMSAwCisrc2V0IHNlZTIgMAorK3NldCBzZWUzIDAKKytzZXQgc2VlNCAwCisrc2V0IHNlZTUg MAorK3NldCBzZWU2IDAKKysKKyBnZGJfdGVzdF9tdWx0aXBsZSAiaW5mbyB0aHJlYWRzIDMtNSIg ImluZm8gdGhyZWFkcyAzLTUiIHsKKy0gICAgLXJlICIuIChcWzAtOVxdKykgXFteXHJcblxdKlwi dGhyZWFkbmFtZV9cWzAtOVxdK1wiIFxbXlxyXG5cXSoiIHsKKy0Jc2V0IHRocl9udW0gJGV4cGVj dF9vdXQoMSxzdHJpbmcpCistCXNldCBzZWUkdGhyX251bSAxCisrICAgIC1yZSAiLiA2IC4qXCJ0 aHJlYWRuYW1lXzZcIiBcW15cclxuXF0qIiB7CisrCXNldCBzZWU2IDEKKysJZXhwX2NvbnRpbnVl CisrICAgIH0KKysgICAgLXJlICIuIDUgLipcInRocmVhZG5hbWVfNVwiIFxbXlxyXG5cXSoiIHsK KysJc2V0IHNlZTUgMQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUgIi4gNCAuKlwi dGhyZWFkbmFtZV80XCIgXFteXHJcblxdKiIgeworKwlzZXQgc2VlNCAxCisrCWV4cF9jb250aW51 ZQorKyAgICB9CisrICAgIC1yZSAiLiAzIC4qXCJ0aHJlYWRuYW1lXzNcIiBcW15cclxuXF0qIiB7 CisrCXNldCBzZWUzIDEKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICIuIDIgLipc InRocmVhZG5hbWVfMlwiIFxbXlxyXG5cXSoiIHsKKysJc2V0IHNlZTIgMQorKwlleHBfY29udGlu dWUKKysgICAgfQorKyAgICAtcmUgIi4gMSAuKlwidGhyZWFkbmFtZV8xXCIgXFteXHJcblxdKiIg eworKwlzZXQgc2VlMSAxCisgCWV4cF9jb250aW51ZQorICAgICB9CisgICAgIC1yZSAiJGdkYl9w cm9tcHQgJCIgeworQEAgLTI1NSwxMyArMzc4LDM2IEBAIGdkYl90ZXN0ICJpbmZvIHRocmVhZHMg NS0zIiAiaW52ZXJ0ZWQgcmFuZ2UiICJ0ZXN0IGludmVydGVkIHJhbmdlIgorIAorICMgVGVzdCBk ZWdlbmVyYXRlIHJhbmdlCisgCistZm9yIHtzZXQgaSAxfSB7JGkgPD0gNn0ge2luY3IgaX0gewor LSAgICBzZXQgc2VlJGkgMAorLX0KKytzZXQgc2VlMSAwCisrc2V0IHNlZTIgMAorK3NldCBzZWUz IDAKKytzZXQgc2VlNCAwCisrc2V0IHNlZTUgMAorK3NldCBzZWU2IDAKKysKKyBnZGJfdGVzdF9t dWx0aXBsZSAiaW5mbyB0aHJlYWRzIDMtMyIgImluZm8gdGhyZWFkcyAzLTMiIHsKKy0gICAgLXJl ICIuIChcWzAtOVxdKykgLipcInRocmVhZG5hbWVfXFswLTlcXStcIiBcW15cclxuXF0qIiB7Cist CXNldCB0aHJfbnVtICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorLQlzZXQgc2VlJHRocl9udW0gMQor KyAgICAtcmUgIi4gNiAuKlwidGhyZWFkbmFtZV82XCIgXFteXHJcblxdKiIgeworKwlzZXQgc2Vl NiAxCisrCWV4cF9jb250aW51ZQorKyAgICB9CisrICAgIC1yZSAiLiA1IC4qXCJ0aHJlYWRuYW1l XzVcIiBcW15cclxuXF0qIiB7CisrCXNldCBzZWU1IDEKKysJZXhwX2NvbnRpbnVlCisrICAgIH0K KysgICAgLXJlICIuIDQgLipcInRocmVhZG5hbWVfNFwiIFxbXlxyXG5cXSoiIHsKKysJc2V0IHNl ZTQgMQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUgIi4gMyAuKlwidGhyZWFkbmFt ZV8zXCIgXFteXHJcblxdKiIgeworKwlzZXQgc2VlMyAxCisrCWV4cF9jb250aW51ZQorKyAgICB9 CisrICAgIC1yZSAiLiAyIC4qXCJ0aHJlYWRuYW1lXzJcIiBcW15cclxuXF0qIiB7CisrCXNldCBz ZWUyIDEKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICIuIDEgLipcInRocmVhZG5h bWVfMVwiIFxbXlxyXG5cXSoiIHsKKysJc2V0IHNlZTEgMQorIAlleHBfY29udGludWUKKyAgICAg fQorICAgICAtcmUgIi4qJGdkYl9wcm9tcHQgJCIgeworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLnRocmVhZHMvdGxzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLmV4 cAoraW5kZXggNGQwYTIzNS4uY2Q3ZmMwYSAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvdGxzLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMuZXhw CitAQCAtMjA1LDcgKzIwNSw3IEBAIGdkYl90ZXN0ICJjb250aW51ZSIgIi4qQnJlYWtwb2ludCAz LipzdGlsbCBhbGl2ZS4qIiAiY29udGludWUgdG8gc3luY2ggcG9pbnQiCisgc2V0IG5vX29mX3Ro cmVhZHMgMAorIHNlbmRfZ2RiICJpbmZvIHRocmVhZFxuIgorIGdkYl9leHBlY3QgeworLSAgICAt cmUgIl5pbmZvIHRocmVhZFxbIFx0XHJcblxdKyAqSWQgLipGcmFtZVxbIFx0XHJcblxdKy4qKFxb MC05XF0rKSAqVGhyZWFkXFteXHJcblxdK1xyXG4kZ2RiX3Byb21wdCAkIiB7CisrICAgIC1yZSAi XmluZm8gdGhyZWFkXFsgXHRcclxuXF0rICpJZCAuKkZyYW1lXFsgXHRcclxuXF0rKFxbMC05XF0r KSAqVGhyZWFkLiokZ2RiX3Byb21wdCAkIiB7CisgCSAgIHNldCBub19vZl90aHJlYWRzICRleHBl Y3Rfb3V0KDEsc3RyaW5nKQorIAkgICBwYXNzICJnZXQgbnVtYmVyIG9mIHRocmVhZHMiCisgICAg ICAgICB9CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAgYi9n ZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAoraW5kZXggN2Y5YTNmNS4uY2I4MjI3ZCAx MDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCisrKysgYi9nZGIv dGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAorQEAgLTE5NjgsOCArMTk2OCwxOSBAQCBwcm9j IG1pX2xvYWRfc2hsaWJzIHsgYXJncyB9IHsKKyAgICAgbWlfZ2RiX3Rlc3QgInNldCBzb2xpYi1z ZWFyY2gtcGF0aCBbZmlsZSBkaXJuYW1lIFtsaW5kZXggJGFyZ3MgMF1dIiAiXF5kb25lIiAiIgor IH0KKyAKKy1wcm9jIG1pX2NoZWNrX3RocmVhZF9zdGF0ZXMgeyBzdGF0ZXMgdGVzdCB9IHsKKytw cm9jIG1pX3JldmVyc2VfbGlzdCB7IGxpc3QgfSB7CisrICAgIGlmIHsgW2xsZW5ndGggJGxpc3Rd IDw9IDEgfSB7CisrCXJldHVybiAkbGlzdAorKyAgICB9CisrICAgIHNldCB0YWlsIFtscmFuZ2Ug JGxpc3QgMSBbbGxlbmd0aCAkbGlzdF1dCisrICAgIHNldCBydGFpbCBbbWlfcmV2ZXJzZV9saXN0 ICR0YWlsXQorKyAgICBsYXBwZW5kIHJ0YWlsIFtsaW5kZXggJGxpc3QgMF0KKysgICAgcmV0dXJu ICRydGFpbAorK30KKysKKytwcm9jIG1pX2NoZWNrX3RocmVhZF9zdGF0ZXMgeyB4c3RhdGVzIHRl c3QgfSB7CisgICAgIGdsb2JhbCBleHBlY3Rfb3V0CisrICAgIHNldCBzdGF0ZXMgW21pX3JldmVy c2VfbGlzdCAkeHN0YXRlc10KKyAgICAgc2V0IHBhdHRlcm4gIi4qXFxeZG9uZSx0aHJlYWRzPVxc XFsiCisgICAgIGZvcmVhY2ggcyAkc3RhdGVzIHsKKyAJc2V0IHBhdHRlcm4gIiR7cGF0dGVybn0o Liopc3RhdGU9XCIkc1wiIgorZGlmZiAtLWdpdCBhL2dkYi90aHJlYWQuYyBiL2dkYi90aHJlYWQu YworaW5kZXggNGMyMjU5Zi4uMjlmYzYxMCAxMDA2NDQKKy0tLSBhL2dkYi90aHJlYWQuYworKysr IGIvZ2RiL3RocmVhZC5jCitAQCAtMjM2LDE3ICsyMzYsOCBAQCBuZXdfdGhyZWFkIChwdGlkX3Qg cHRpZCkKKyAKKyAgIHRwLT5wdGlkID0gcHRpZDsKKyAgIHRwLT5udW0gPSArK2hpZ2hlc3RfdGhy ZWFkX251bTsKKy0KKy0gIGlmICh0aHJlYWRfbGlzdCA9PSBOVUxMKQorLSAgICB0aHJlYWRfbGlz dCA9IHRwOworLSAgZWxzZQorLSAgICB7CistICAgICAgc3RydWN0IHRocmVhZF9pbmZvICpsYXN0 OworLQorLSAgICAgIGZvciAobGFzdCA9IHRocmVhZF9saXN0OyBsYXN0LT5uZXh0ICE9IE5VTEw7 IGxhc3QgPSBsYXN0LT5uZXh0KQorLQk7CistICAgICAgbGFzdC0+bmV4dCA9IHRwOworLSAgICB9 CisrICB0cC0+bmV4dCA9IHRocmVhZF9saXN0OworKyAgdGhyZWFkX2xpc3QgPSB0cDsKKyAKKyAg IC8qIE5vdGhpbmcgdG8gZm9sbG93IHlldC4gICovCisgICB0cC0+cGVuZGluZ19mb2xsb3cua2lu ZCA9IFRBUkdFVF9XQUlUS0lORF9TUFVSSU9VUzsKCmRpZmYgLS1naXQgYS9nZGItcmhiejc5NTQy NC1iaXRwb3MtMjNvZjI1LnBhdGNoIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRj aAppbmRleCBjOWQzZWY4Li4xZjZkMjM3IDEwMDY0NAotLS0gYS9nZGItcmhiejc5NTQyNC1iaXRw b3MtMjNvZjI1LnBhdGNoCisrKyBiL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gK QEAgLTEzNywxMSArMTM3LDExIEBAIENvbnRlbnQtVHlwZTogdGV4dC94LXBhdGNoCiBDb250ZW50 LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CiBDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50 OyBmaWxlbmFtZT1iaXRwb3MtdGRlcC5wYXRjaAogCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEw MjIvZ2RiL2FscGhhLXRkZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9hbHBo YS10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyMi5vcmlnL2dkYi9h bHBoYS10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy43OTIwMzkzMjcgKzAyMDAKLSsrKyBnZGIt Ny4xMC41MC4yMDE1MTAyMi9nZGIvYWxwaGEtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTU6MDcuNjE1 MzcwMjc0ICswMjAwCi1AQCAtMjk5LDE3ICsyOTksMTcgQEAgYWxwaGFfcHVzaF9kdW1teV9jYWxs IChzdHJ1Y3QgZ2RiYXJjaCAqZworLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2Fs cGhhLXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjE2LjU5MjgxMzk5MCArMDEwMAorKysrIGdkYi03 LjEwLjUwLjIwMTYwMTA2L2dkYi9hbHBoYS10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoyMC4zMDg4 MzQ3MTcgKzAxMDAKK0BAIC0yOTksMTcgKzI5OSwxNyBAQAogIHsKICAgIGVudW0gYmZkX2VuZGlh biBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGludCBpOwpA QCAtMTYzLDcgKzE2Myw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYWxwaGEt dGRlcC5jCiAgICBDT1JFX0FERFIgZnVuY19hZGRyID0gZmluZF9mdW5jdGlvbl9hZGRyIChmdW5j dGlvbiwgTlVMTCk7CiAgCiAgICAvKiBUaGUgQUJJIHBsYWNlcyB0aGUgYWRkcmVzcyBvZiB0aGUg Y2FsbGVkIGZ1bmN0aW9uIGluIFQxMi4gICovCi1AQCAtNDI5LDggKzQyOSw4IEBAIGFscGhhX3B1 c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmcKK0BAIC00MjksOCArNDI5LDggQEAKICAg IGZvciAoaSA9IG5hcmdzOyBtX2FyZy0tLCAtLWkgPj0gMDspCiAgICAgIHsKICAgICAgICBjb25z dCBnZGJfYnl0ZSAqY29udGVudHMgPSBtX2FyZy0+Y29udGVudHM7CkBAIC0xNzQsNyArMTc0LDcg QEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9hbHBoYS10ZGVwLmMKICAKICAgICAg ICAvKiBDb3B5IHRoZSBieXRlcyBkZXN0aW5lZCBmb3IgcmVnaXN0ZXJzIGludG8gYXJnX3JlZ19i dWZmZXIuICAqLwogICAgICAgIGlmIChvZmZzZXQgPCBzaXplb2YoYXJnX3JlZ19idWZmZXIpKQot QEAgLTQ0Miw3ICs0NDIsNyBAQCBhbHBoYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNo ICpnCitAQCAtNDQyLDcgKzQ0Miw3IEBACiAgCSAgICB9CiAgCSAgZWxzZQogIAkgICAgewpAQCAt MTgzLDExICsxODMsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9hbHBoYS10 ZGVwLmMKICAJICAgICAgbWVtY3B5IChhcmdfcmVnX2J1ZmZlciArIG9mZnNldCwgY29udGVudHMs IHRsZW4pOwogIAkgICAgICBvZmZzZXQgKz0gdGxlbjsKICAJICAgICAgY29udGVudHMgKz0gdGxl bjsKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYW1kNjQtdGRlcC5jCitJbmRleDog Z2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2FtZDY0LXRkZXAuYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2RiL2FtZDY0LXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0 OjE3Ljc5MzAzOTMzMyArMDIwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9hbWQ2NC10 ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoyMC45MzUwNjAyMDQgKzAyMDAKLUBAIC03MDEsNyArNzAx LDcgQEAgYW1kNjRfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYQorLS0tIGdkYi03 LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2FtZDY0LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjE2 LjU5NDgxNDAwMSArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9hbWQ2NC10ZGVw LmMJMjAxNi0wMS0wOCAxOToxNjoyMC4zMDk4MzQ3MjMgKzAxMDAKK0BAIC02OTksNyArNjk5LDcg QEAKICAJCSAgICBnZGJfYnl0ZSAqcmVhZGJ1ZiwgY29uc3QgZ2RiX2J5dGUgKndyaXRlYnVmKQog IHsKICAgIGVudW0gYW1kNjRfcmVnX2NsYXNzIHRoZWNsYXNzWzJdOwpAQCAtMTk2LDcgKzE5Niw3 IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYW1kNjQtdGRlcC5jCiAgICBzdGF0 aWMgaW50IGludGVnZXJfcmVnbnVtW10gPSB7IEFNRDY0X1JBWF9SRUdOVU0sIEFNRDY0X1JEWF9S RUdOVU0gfTsKICAgIHN0YXRpYyBpbnQgc3NlX3JlZ251bVtdID0geyBBTUQ2NF9YTU0wX1JFR05V TSwgQU1ENjRfWE1NMV9SRUdOVU0gfTsKICAgIGludCBpbnRlZ2VyX3JlZyA9IDA7Ci1AQCAtODUy LDggKzg1Miw4IEBAIGFtZDY0X3B1c2hfYXJndW1lbnRzIChzdHJ1Y3QgcmVnY2FjaGUgKnIKK0BA IC04NTAsOCArODUwLDggQEAKICAgIH07CiAgICBzdHJ1Y3QgdmFsdWUgKipzdGFja19hcmdzID0g WEFMTE9DQVZFQyAoc3RydWN0IHZhbHVlICosIG5hcmdzKTsKICAgIGludCBudW1fc3RhY2tfYXJn cyA9IDA7CkBAIC0yMDcsNyArMjA3LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dk Yi9hbWQ2NC10ZGVwLmMKICAgIGludCBpbnRlZ2VyX3JlZyA9IDA7CiAgICBpbnQgc3NlX3JlZyA9 IDA7CiAgICBpbnQgaTsKLUBAIC04NjUsNyArODY1LDcgQEAgYW1kNjRfcHVzaF9hcmd1bWVudHMg KHN0cnVjdCByZWdjYWNoZSAqcgorQEAgLTg2Myw3ICs4NjMsNyBAQAogICAgZm9yIChpID0gMDsg aSA8IG5hcmdzOyBpKyspCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IHZhbHVl X3R5cGUgKGFyZ3NbaV0pOwpAQCAtMjE2LDExICsyMTYsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUw LjIwMTUxMDIyL2dkYi9hbWQ2NC10ZGVwLmMKICAgICAgICBlbnVtIGFtZDY0X3JlZ19jbGFzcyB0 aGVjbGFzc1syXTsKICAgICAgICBpbnQgbmVlZGVkX2ludGVnZXJfcmVncyA9IDA7CiAgICAgICAg aW50IG5lZWRlZF9zc2VfcmVncyA9IDA7Ci1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2Ri L2FtZDY0LXdpbmRvd3MtdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2Ft ZDY0LXdpbmRvd3MtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIu b3JpZy9nZGIvYW1kNjQtd2luZG93cy10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy43OTQwMzkz NDAgKzAyMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYW1kNjQtd2luZG93cy10ZGVw LmMJMjAxNS0xMC0yNCAyMzoxNDoyMC45MzUwNjAyMDQgKzAyMDAKLUBAIC0yODgsNyArMjg4LDcg QEAgYW1kNjRfd2luZG93c19yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcgorLS0tIGdkYi03LjEw LjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jCTIwMTYtMDEtMDggMTk6 MTY6MTYuNTk1ODE0MDA2ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2FtZDY0 LXdpbmRvd3MtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzEwODM0NzI4ICswMTAwCitAQCAt Mjg4LDcgKzI4OCw3IEBACiAgCQkJICAgIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgcmVnY2Fj aGUgKnJlZ2NhY2hlLAogIAkJCSAgICBnZGJfYnl0ZSAqcmVhZGJ1ZiwgY29uc3QgZ2RiX2J5dGUg KndyaXRlYnVmKQogIHsKQEAgLTIyOSwxMSArMjI5LDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4y MDE1MTAyMi9nZGIvYW1kNjQtd2luZG93cy10ZGVwLmMKICAgIGludCByZWdudW0gPSAtMTsKICAK ICAgIC8qIFNlZSBpZiBvdXIgdmFsdWUgaXMgcmV0dXJuZWQgdGhyb3VnaCBhIHJlZ2lzdGVyLiAg SWYgaXQgaXMsIHRoZW4KLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYXJtLXRkZXAu YworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9hcm0tdGRlcC5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIvYXJtLXRkZXAuYwkyMDE1LTEwLTI0 IDIzOjE0OjE3LjgwMDAzOTM4MCArMDIwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9h cm0tdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTM3MDYwMjE3ICswMjAwCi1AQCAtMzUzMSw3 ICszNTMxLDcgQEAgYXJtX3ZmcF9jcHJjX3JlZ19jaGFyIChlbnVtIGFybV92ZnBfY3ByYworLS0t IGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2FybS10ZGVwLmMJMjAxNi0wMS0wOCAxOTox NjoxNi42MDM4MTQwNTEgKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvYXJtLXRk ZXAuYwkyMDE2LTAxLTA4IDE5OjE3OjA1LjczNzA4ODEwNyArMDEwMAorQEAgLTMzNDAsNyArMzM0 MCw3IEBACiAgICAgYXJyYXkpLiAgVmVjdG9yIHR5cGVzIGFyZSBub3QgY3VycmVudGx5IHN1cHBv cnRlZCwgbWF0Y2hpbmcgdGhlCiAgICAgZ2VuZXJpYyBBQVBDUyBzdXBwb3J0LiAgKi8KICAKQEAg LTI0MiwxNiArMjQyLDE2IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYXJtLXRk ZXAuYwogIGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChzdHJ1Y3QgdHlwZSAqdCwKICAJCQkg ICAgZW51bSBhcm1fdmZwX2NwcmNfYmFzZV90eXBlICpiYXNlX3R5cGUpCiAgewotQEAgLTM1OTQs NyArMzU5NCw3IEBAIGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChzdHJ1Y3QgdHlwZQorQEAg LTM0MjMsNyArMzQyMyw3IEBACisgCSAgfQorIAllbHNlCisgCSAgeworLQkgICAgaW50IGNvdW50 OworKwkgICAgTE9OR0VTVCBjb3VudDsKKyAJICAgIHVuc2lnbmVkIHVuaXRsZW47CiAgCi0gICAg IGNhc2UgVFlQRV9DT0RFX0FSUkFZOgotICAgICAgIHsKLS0JaW50IGNvdW50OwotKwlMT05HRVNU IGNvdW50OwotIAl1bnNpZ25lZCB1bml0bGVuOwotIAljb3VudCA9IGFybV92ZnBfY3ByY19zdWJf Y2FuZGlkYXRlIChUWVBFX1RBUkdFVF9UWVBFICh0KSwgYmFzZV90eXBlKTsKLSAJaWYgKGNvdW50 ID09IC0xKQotQEAgLTM2MTQsMTMgKzM2MTQsMTUgQEAgYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRh dGUgKHN0cnVjdCB0eXBlCisgCSAgICBjb3VudCA9IGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRl IChUWVBFX1RBUkdFVF9UWVBFICh0KSwKK0BAIC0zNDQ2LDEzICszNDQ2LDE1IEBACiAgCiAgICAg IGNhc2UgVFlQRV9DT0RFX1NUUlVDVDoKICAgICAgICB7CkBAIC0yNzAsNyArMjcwLDcgQEAgSW5k ZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9hcm0tdGRlcC5jCiAgCSAgICBpZiAoc3ViX2Nv dW50ID09IC0xKQogIAkgICAgICByZXR1cm4gLTE7CiAgCSAgICBjb3VudCArPSBzdWJfY291bnQ7 Ci1AQCAtMzY0MCwxMyArMzY0MiwxNSBAQCBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoc3Ry dWN0IHR5cGUKK0BAIC0zNDcyLDEzICszNDc0LDE1IEBACiAgCiAgICAgIGNhc2UgVFlQRV9DT0RF X1VOSU9OOgogICAgICAgIHsKQEAgLTI4OSw3ICsyODksNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAu MjAxNTEwMjIvZ2RiL2FybS10ZGVwLmMKICAJICAgIGlmIChzdWJfY291bnQgPT0gLTEpCiAgCSAg ICAgIHJldHVybiAtMTsKICAJICAgIGNvdW50ID0gKGNvdW50ID4gc3ViX2NvdW50ID8gY291bnQg OiBzdWJfY291bnQpOwotQEAgLTM2ODIsNyArMzY4Niw3IEBAIGFybV92ZnBfY2FsbF9jYW5kaWRh dGUgKHN0cnVjdCB0eXBlICp0LAorQEAgLTM1MTQsNyArMzUxOCw3IEBACiAgCQkJaW50ICpjb3Vu dCkKICB7CiAgICBlbnVtIGFybV92ZnBfY3ByY19iYXNlX3R5cGUgYiA9IFZGUF9DUFJDX1VOS05P V047CkBAIC0yOTgsNyArMjk4LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9h cm0tdGRlcC5jCiAgICBpZiAoYyA8PSAwIHx8IGMgPiA0KQogICAgICByZXR1cm4gMDsKICAgICpi YXNlX3R5cGUgPSBiOwotQEAgLTM3NjMsNyArMzc2Nyw3IEBAIGFybV9wdXNoX2R1bW15X2NhbGwg KHN0cnVjdCBnZGJhcmNoICpnZGIKK0BAIC0zNTk1LDcgKzM1OTksNyBAQAogIAogICAgZm9yIChh cmdudW0gPSAwOyBhcmdudW0gPCBuYXJnczsgYXJnbnVtKyspCiAgICAgIHsKQEAgLTMwNywxMSAr MzA3LDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYXJtLXRkZXAuYwogICAg ICAgIHN0cnVjdCB0eXBlICphcmdfdHlwZTsKICAgICAgICBzdHJ1Y3QgdHlwZSAqdGFyZ2V0X3R5 cGU7CiAgICAgICAgZW51bSB0eXBlX2NvZGUgdHlwZWNvZGU7Ci1JbmRleDogZ2RiLTcuMTAuNTAu MjAxNTEwMjIvZ2RiL2F2ci10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIv YXZyLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2Ri L2F2ci10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy44MDEwMzkzODYgKzAyMDAKLSsrKyBnZGIt Ny4xMC41MC4yMDE1MTAyMi9nZGIvYXZyLXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE1OjM1Ljc3NTU1 NzMyNSArMDIwMAotQEAgLTExOTYsMTMgKzExOTYsMTMgQEAgYXZyX2R1bW15X2lkIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwgcworLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2F2 ci10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoxNi42MDQ4MTQwNTcgKzAxMDAKKysrKyBnZGItNy4x MC41MC4yMDE2MDEwNi9nZGIvYXZyLXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjIwLjMxNDgzNDc1 MCArMDEwMAorQEAgLTExOTYsMTMgKzExOTYsMTMgQEAKICAKICBzdHJ1Y3Qgc3RhY2tfaXRlbQog IHsKQEAgLTMyNyw3ICszMjcsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2F2 ci10ZGVwLmMKICB7CiAgICBzdHJ1Y3Qgc3RhY2tfaXRlbSAqc2k7CiAgICBzaSA9IFhORVcgKHN0 cnVjdCBzdGFja19pdGVtKTsKLUBAIC0xMjkxLDEyICsxMjkxLDEyIEBAIGF2cl9wdXNoX2R1bW15 X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGIKK0BAIC0xMjkxLDEyICsxMjkxLDEyIEBACiAgCiAg ICBmb3IgKGkgPSAwOyBpIDwgbmFyZ3M7IGkrKykKICAgICAgewpAQCAtMzQzLDExICszNDMsMTEg QEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9hdnItdGRlcC5jCiAgCiAgICAgICAg LyogQ2FsY3VsYXRlIHRoZSBwb3RlbnRpYWwgbGFzdCByZWdpc3RlciBuZWVkZWQuICAqLwogICAg ICAgIGxhc3RfcmVnbnVtID0gcmVnbnVtIC0gKGxlbiArIChsZW4gJiAxKSk7Ci1JbmRleDogZ2Ri LTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2JmaW4tdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAx NjAxMDYvZ2RiL2JmaW4tdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEw MjIub3JpZy9nZGIvYmZpbi10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy44MDIwMzkzOTMgKzAy MDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYmZpbi10ZGVwLmMJMjAxNS0xMC0yNCAy MzoxNDoyMC45MzcwNjAyMTcgKzAyMDAKLUBAIC01MDQsNyArNTA0LDcgQEAgYmZpbl9wdXNoX2R1 bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZAorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9y aWcvZ2RiL2JmaW4tdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjA1ODE0MDYyICswMTAwCisr KysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2JmaW4tdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6 MjAuMzE1ODM0NzU2ICswMTAwCitAQCAtNTA0LDcgKzUwNCw3IEBACiAgICBnZGJfYnl0ZSBidWZb NF07CiAgICBpbnQgaTsKICAgIGxvbmcgcmVnX3IwLCByZWdfcjEsIHJlZ19yMjsKQEAgLTM1Niw3 ICszNTYsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2JmaW4tdGRlcC5jCiAg ICBlbnVtIGJmaW5fYWJpIGFiaSA9IGJmaW5fYWJpIChnZGJhcmNoKTsKICAgIENPUkVfQUREUiBm dW5jX2FkZHIgPSBmaW5kX2Z1bmN0aW9uX2FkZHIgKGZ1bmN0aW9uLCBOVUxMKTsKICAKLUBAIC01 MjgsNyArNTI4LDcgQEAgYmZpbl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZAor QEAgLTUyOCw3ICs1MjgsNyBAQAogICAgICB7CiAgICAgICAgc3RydWN0IHR5cGUgKnZhbHVlX3R5 cGUgPSB2YWx1ZV9lbmNsb3NpbmdfdHlwZSAoYXJnc1tpXSk7CiAgICAgICAgc3RydWN0IHR5cGUg KmFyZ190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSk7CkBAIC0zNjQsMTIgKzM2NCwx MiBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2JmaW4tdGRlcC5jCiArICAgICAg c3NpemVfdCBjb250YWluZXJfbGVuID0gKFRZUEVfTEVOR1RIICh2YWx1ZV90eXBlKSArIDMpICYg fjM7CiAgCiAgICAgICAgc3AgLT0gY29udGFpbmVyX2xlbjsKLSAgICAgICB3cml0ZV9tZW1vcnkg KHNwLCB2YWx1ZV9jb250ZW50c193cml0ZWFibGUgKGFyZ3NbaV0pLCBjb250YWluZXJfbGVuKTsK LUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvY3Jpcy10ZGVwLmMKKyAgICAgICB3cml0 ZV9tZW1vcnkgKHNwLCB2YWx1ZV9jb250ZW50cyAoYXJnc1tpXSksIGNvbnRhaW5lcl9sZW4pOwor SW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9jcmlzLXRkZXAuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2RiL2NyaXMtdGRlcC5jCTIwMTUtMTAtMjQg MjM6MTQ6MTcuODAyMDM5MzkzICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2Ny aXMtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTU6NTguOTAyNzEwOTQ1ICswMjAwCi1AQCAtNjYzLDEz ICs2NjMsMTMgQEAgc3RhdGljIENPUkVfQUREUiBjcmlzX3Vud2luZF9zcCAoc3RydWN0CistLS0g Z2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvY3Jpcy10ZGVwLmMJMjAxNi0wMS0wOCAxOTox NjoxNi42MDY4MTQwNjggKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvY3Jpcy10 ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoyMC4zMTY4MzQ3NjIgKzAxMDAKK0BAIC02NjMsMTMgKzY2 MywxMyBAQAogIAogIHN0cnVjdCBzdGFja19pdGVtCiAgewpAQCAtMzg1LDcgKzM4NSw3IEBAIElu ZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvY3Jpcy10ZGVwLmMKICB7CiAgICBzdHJ1Y3Qg c3RhY2tfaXRlbSAqc2kgPSBYTkVXIChzdHJ1Y3Qgc3RhY2tfaXRlbSk7CiAgICBzaS0+ZGF0YSA9 IChnZGJfYnl0ZSAqKSB4bWFsbG9jIChsZW4pOwotQEAgLTg0MSwxMyArODQxLDEzIEBAIGNyaXNf cHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2QKK0BAIC04NDEsMTMgKzg0MSwxMyBA QAogIAogICAgZm9yIChhcmdudW0gPSAwOyBhcmdudW0gPCBuYXJnczsgYXJnbnVtKyspCiAgICAg IHsKQEAgLTQwMywxMSArNDAzLDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIv Y3Jpcy10ZGVwLmMKICAgICAgICAKICAgICAgICAvKiBIb3cgbWF5IHJlZ2lzdGVycyB3b3J0aCBv ZiBzdG9yYWdlIGRvIHdlIG5lZWQgZm9yIHRoaXMgYXJndW1lbnQ/ICAqLwogICAgICAgIHJlZ19k ZW1hbmQgPSAobGVuIC8gNCkgKyAobGVuICUgNCAhPSAwID8gMSA6IDApOwotSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMDIyL2dkYi9oODMwMC10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2 MDEwNi9nZGIvaDgzMDAtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEw MjIub3JpZy9nZGIvaDgzMDAtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODAzMDM5NDAwICsw MjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2g4MzAwLXRkZXAuYwkyMDE1LTEwLTI0 IDIzOjE2OjMzLjY1Mzk0MTc3NyArMDIwMAotQEAgLTYzOSw3ICs2MzksNyBAQCBoODMwMF9wdXNo X2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYu b3JpZy9nZGIvaDgzMDAtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjA3ODE0MDczICswMTAw CisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2g4MzAwLXRkZXAuYwkyMDE2LTAxLTA4IDE5 OjE2OjIwLjMxNjgzNDc2MiArMDEwMAorQEAgLTYzOSw3ICs2MzksNyBAQAogIAkJICAgICAgIGlu dCBzdHJ1Y3RfcmV0dXJuLCBDT1JFX0FERFIgc3RydWN0X2FkZHIpCiAgewogICAgZW51bSBiZmRf ZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwpAQCAtNDE2 LDcgKzQxNiw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvaDgzMDAtdGRlcC5j CiAgICBpbnQgd29yZHNpemUgPSBCSU5XT1JEIChnZGJhcmNoKTsKICAgIGludCByZWcgPSBFX0FS RzBfUkVHTlVNOwogICAgaW50IGFyZ3VtZW50OwotQEAgLTY2NiwxMSArNjY2LDExIEBAIGg4MzAw X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmcKK0BAIC02NjYsMTEgKzY2NiwxMSBA QAogICAgICB7CiAgICAgICAgc3RydWN0IGNsZWFudXAgKmJhY2tfdG87CiAgICAgICAgc3RydWN0 IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChhcmdzW2FyZ3VtZW50XSk7CkBAIC00MzAsNyArNDMw LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9oODMwMC10ZGVwLmMKICAgICAg ICBnZGJfYnl0ZSAqcGFkZGVkID0gKGdkYl9ieXRlICopIHhtYWxsb2MgKHBhZGRlZF9sZW4pOwog ICAgICAgIGJhY2tfdG8gPSBtYWtlX2NsZWFudXAgKHhmcmVlLCBwYWRkZWQpOwogIAotQEAgLTY5 OSw3ICs2OTksNyBAQCBoODMwMF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnCitA QCAtNjk5LDcgKzY5OSw3IEBACiAgCSAgICAgIC8qIEhlYXZlbnMgdG8gQmV0c3kgLS0tIGl0J3Mg cmVhbGx5IGdvaW5nIGluIHJlZ2lzdGVycyEKICAJICAgICAgICAgTm90ZSB0aGF0IG9uIHRoZSBo OC8zMDBzLCB0aGVyZSBhcmUgZ2FwcyBiZXR3ZWVuIHRoZQogIAkgICAgICAgICByZWdpc3RlcnMg aW4gdGhlIHJlZ2lzdGVyIGZpbGUuICAqLwpAQCAtNDM5LDExICs0MzksMTEgQEAgSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMDIyL2dkYi9oODMwMC10ZGVwLmMKICAKICAJICAgICAgZm9yIChvZmZz ZXQgPSAwOyBvZmZzZXQgPCBwYWRkZWRfbGVuOyBvZmZzZXQgKz0gd29yZHNpemUpCiAgCQl7Ci1J bmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2hwcGEtdGRlcC5jCitJbmRleDogZ2RiLTcu MTAuNTAuMjAxNjAxMDYvZ2RiL2hwcGEtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAu NTAuMjAxNTEwMjIub3JpZy9nZGIvaHBwYS10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy44MDQw Mzk0MDcgKzAyMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvaHBwYS10ZGVwLmMJMjAx NS0xMC0yNCAyMzoxNDoyMC45MzkwNjAyMzEgKzAyMDAKLUBAIC05OTYsNyArOTk2LDcgQEAgaHBw YTY0X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKgorLS0tIGdkYi03LjEwLjUwLjIw MTYwMTA2Lm9yaWcvZ2RiL2hwcGEtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjA5ODE0MDg1 ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2hwcGEtdGRlcC5jCTIwMTYtMDEt MDggMTk6MTY6MjAuMzE3ODM0NzY3ICswMTAwCitAQCAtOTk1LDcgKzk5NSw3IEBACiAgICAgIHsK ICAgICAgICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAgICAgICAgc3RydWN0IHR5cGUg KnR5cGUgPSB2YWx1ZV90eXBlIChhcmcpOwpAQCAtNDUyLDcgKzQ1Miw3IEBAIEluZGV4OiBnZGIt Ny4xMC41MC4yMDE1MTAyMi9nZGIvaHBwYS10ZGVwLmMKICAgICAgICBjb25zdCBiZmRfYnl0ZSAq dmFsYnVmOwogICAgICAgIGJmZF9ieXRlIGZwdHJidWZbOF07CiAgICAgICAgaW50IHJlZ251bTsK LUBAIC0xMTkxLDcgKzExOTEsNyBAQCBocHBhNjRfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiCitAQCAtMTE5MCw3ICsxMTkwLDcgQEAKICAJCSAgICAgc3RydWN0IHR5cGUgKnR5cGUs IHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsCiAgCQkgICAgIGdkYl9ieXRlICpyZWFkYnVmLCBj b25zdCBnZGJfYnl0ZSAqd3JpdGVidWYpCiAgewpAQCAtNDYxLDExICs0NjEsMTEgQEAgSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9ocHBhLXRkZXAuYwogICAgaW50IHJlZ251bSwgb2Zm c2V0OwogIAogICAgaWYgKGxlbiA+IDE2KQotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dk Yi9pMzg2LWRhcndpbi10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvaTM4 Ni1kYXJ3aW4tdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3Jp Zy9nZGIvaTM4Ni1kYXJ3aW4tdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODA0MDM5NDA3ICsw MjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2kzODYtZGFyd2luLXRkZXAuYwkyMDE1 LTEwLTI0IDIzOjE0OjIwLjkzOTA2MDIzMSArMDIwMAotQEAgLTE2Myw3ICsxNjMsNyBAQCBpMzg2 X2Rhcndpbl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhCistLS0gZ2RiLTcuMTAuNTAuMjAx NjAxMDYub3JpZy9nZGIvaTM4Ni1kYXJ3aW4tdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjA5 ODE0MDg1ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2kzODYtZGFyd2luLXRk ZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjIwLjMxNzgzNDc2NyArMDEwMAorQEAgLTE2Myw3ICsxNjMs NyBAQAogIAogICAgZm9yICh3cml0ZV9wYXNzID0gMDsgd3JpdGVfcGFzcyA8IDI7IHdyaXRlX3Bh c3MrKykKICAgICAgewpAQCAtNDc0LDExICs0NzQsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIw MTUxMDIyL2dkYi9pMzg2LWRhcndpbi10ZGVwLmMKICAgICAgICBpbnQgbnVtX20xMjggPSAwOwog IAogICAgICAgIGlmIChzdHJ1Y3RfcmV0dXJuKQotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIy L2dkYi9pMzg2LXRkZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9pMzg2LXRk ZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2RiL2kzODYt dGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODA3MDM5NDI2ICswMjAwCi0rKysgZ2RiLTcuMTAu NTAuMjAxNTEwMjIvZ2RiL2kzODYtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQwMDYwMjM3 ICswMjAwCi1AQCAtMjY1MSw3ICsyNjUxLDcgQEAgaTM4Nl9wdXNoX2R1bW15X2NhbGwgKHN0cnVj dCBnZGJhcmNoICpnZAorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2kzODYtdGRl cC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjE1ODE0MTE4ICswMTAwCisrKysgZ2RiLTcuMTAuNTAu MjAxNjAxMDYvZ2RiL2kzODYtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzE5ODM0Nzc4ICsw MTAwCitAQCAtMjY2Myw3ICsyNjYzLDcgQEAKICAgIGdkYl9ieXRlIGJ1Zls0XTsKICAgIGludCBp OwogICAgaW50IHdyaXRlX3Bhc3M7CkBAIC00ODcsNyArNDg3LDcgQEAgSW5kZXg6IGdkYi03LjEw LjUwLjIwMTUxMDIyL2dkYi9pMzg2LXRkZXAuYwogIAogICAgLyogRGV0ZXJtaW5lIHRoZSB0b3Rh bCBzcGFjZSByZXF1aXJlZCBmb3IgYXJndW1lbnRzIGFuZCBzdHJ1Y3QKICAgICAgIHJldHVybiBh ZGRyZXNzIGluIGEgZmlyc3QgcGFzcyAoYWxsb3dpbmcgZm9yIDE2LWJ5dGUtYWxpZ25lZAotQEAg LTI2NTksNyArMjY1OSw3IEBAIGkzODZfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAq Z2QKK0BAIC0yNjcxLDcgKzI2NzEsNyBAQAogIAogICAgZm9yICh3cml0ZV9wYXNzID0gMDsgd3Jp dGVfcGFzcyA8IDI7IHdyaXRlX3Bhc3MrKykKICAgICAgewpAQCAtNDk2LDcgKzQ5Niw3IEBAIElu ZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvaTM4Ni10ZGVwLmMKICAKICAgICAgICBpZiAo c3RydWN0X3JldHVybikKICAJewotQEAgLTI2NzYsNyArMjY3Niw3IEBAIGkzODZfcHVzaF9kdW1t eV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2QKK0BAIC0yNjg4LDcgKzI2ODgsNyBAQAogIAogICAg ICAgIGZvciAoaSA9IDA7IGkgPCBuYXJnczsgaSsrKQogIAl7CkBAIC01MDUsNyArNTA1LDcgQEAg SW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9pMzg2LXRkZXAuYwogIAogIAkgIGlmICh3 cml0ZV9wYXNzKQogIAkgICAgewotQEAgLTI4ODMsNyArMjg4Myw3IEBAIGkzODZfcmVnX3N0cnVj dF9yZXR1cm5fcCAoc3RydWN0IGdkYmFyY2gKK0BAIC0yODk1LDcgKzI4OTUsNyBAQAogIHsKICAg IHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwogICAg ZW51bSB0eXBlX2NvZGUgY29kZSA9IFRZUEVfQ09ERSAodHlwZSk7CkBAIC01MTQsNyArNTE0LDcg QEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9pMzg2LXRkZXAuYwogIAogICAgZ2Ri X2Fzc2VydCAoY29kZSA9PSBUWVBFX0NPREVfU1RSVUNUCiAgICAgICAgICAgICAgICB8fCBjb2Rl ID09IFRZUEVfQ09ERV9VTklPTgotQEAgLTM2MjksNyArMzYyOSw3IEBAIHN0YXRpYyBpbnQKK0BA IC0zNjQxLDcgKzM2NDEsNyBAQAogIGkzODZfY29udmVydF9yZWdpc3Rlcl9wIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwKICAJCQkgaW50IHJlZ251bSwgc3RydWN0IHR5cGUgKnR5cGUpCiAgewpA QCAtNTIzLDcgKzUyMyw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvaTM4Ni10 ZGVwLmMKICAKICAgIC8qIFZhbHVlcyBtYXkgYmUgc3ByZWFkIGFjcm9zcyBtdWx0aXBsZSByZWdp c3RlcnMuICBNb3N0IGRlYnVnZ2luZwogICAgICAgZm9ybWF0cyBhcmVuJ3QgZXhwcmVzc2l2ZSBl bm91Z2ggdG8gc3BlY2lmeSB0aGUgbG9jYXRpb25zLCBzbwotQEAgLTM2NjIsNyArMzY2Miw3IEBA IGkzODZfcmVnaXN0ZXJfdG9fdmFsdWUgKHN0cnVjdCBmcmFtZV9pbmYKK0BAIC0zNjc0LDcgKzM2 NzQsNyBAQAogIAkJCWludCAqb3B0aW1pemVkcCwgaW50ICp1bmF2YWlsYWJsZXApCiAgewogICAg c3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfZnJhbWVfYXJjaCAoZnJhbWUpOwpAQCAtNTMy LDcgKzUzMiw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvaTM4Ni10ZGVwLmMK ICAKICAgIGlmIChpMzg2X2ZwX3JlZ251bV9wIChnZGJhcmNoLCByZWdudW0pKQogICAgICByZXR1 cm4gaTM4N19yZWdpc3Rlcl90b192YWx1ZSAoZnJhbWUsIHJlZ251bSwgdHlwZSwgdG8sCi1AQCAt MzY5OCw3ICszNjk4LDcgQEAgc3RhdGljIHZvaWQKK0BAIC0zNzEwLDcgKzM3MTAsNyBAQAogIGkz ODZfdmFsdWVfdG9fcmVnaXN0ZXIgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50IHJlZ251 bSwKICAJCQlzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKmZyb20pCiAgewpAQCAt NTQxLDExICs1NDEsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9pMzg2LXRk ZXAuYwogIAogICAgaWYgKGkzODZfZnBfcmVnbnVtX3AgKGdldF9mcmFtZV9hcmNoIChmcmFtZSks IHJlZ251bSkpCiAgICAgIHsKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvaXEyMDAw LXRkZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9pcTIwMDAtdGRlcC5jCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIvaXEyMDAwLXRkZXAu YwkyMDE1LTEwLTI0IDIzOjE0OjE3LjgwODAzOTQzMyArMDIwMAotKysrIGdkYi03LjEwLjUwLjIw MTUxMDIyL2dkYi9pcTIwMDAtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQxMDYwMjQ0ICsw MjAwCi1AQCAtNjUxLDggKzY1MSw5IEBAIGlxMjAwMF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBn ZGJhcmNoICoKKy0tLSBnZGItNy4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi9pcTIwMDAtdGRlcC5j CTIwMTYtMDEtMDggMTk6MTY6MTYuNjE2ODE0MTI0ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAx NjAxMDYvZ2RiL2lxMjAwMC10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoyMC4zMjA4MzQ3ODQgKzAx MDAKK0BAIC02NTEsOCArNjUxLDkgQEAKICAgIGNvbnN0IGJmZF9ieXRlICp2YWw7CiAgICBiZmRf Ynl0ZSBidWZbNF07CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKQEAgLTU1NywxMSArNTU3LDExIEBA IEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvaXEyMDAwLXRkZXAuYwogICAgLyogVXNl ZCB0byBjb3B5IHN0cnVjdCBhcmd1bWVudHMgaW50byB0aGUgc3RhY2suICAqLwogICAgQ09SRV9B RERSIHN0cnVjdF9wdHI7CiAgCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL20zMnIt dGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL20zMnItdGRlcC5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIvbTMyci10ZGVwLmMJMjAx NS0xMC0yNCAyMzoxNDoxNy44MDgwMzk0MzMgKzAyMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAy Mi9nZGIvbTMyci10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoyMC45NDEwNjAyNDQgKzAyMDAKLUBA IC02ODcsNyArNjg3LDcgQEAgbTMycl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpn ZAorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL20zMnItdGRlcC5jCTIwMTYtMDEt MDggMTk6MTY6MTYuNjE2ODE0MTI0ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2Ri L20zMnItdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzIwODM0Nzg0ICswMTAwCitAQCAtNjg3 LDcgKzY4Nyw3IEBACiAgICBDT1JFX0FERFIgcmVndmFsOwogICAgZ2RiX2J5dGUgKnZhbDsKICAg IGdkYl9ieXRlIHZhbGJ1ZltNQVhfUkVHSVNURVJfU0laRV07CkBAIC01NzAsMTEgKzU3MCwxMSBA QCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL20zMnItdGRlcC5jCiAgCiAgICAvKiBG aXJzdCBmb3JjZSBzcCB0byBhIDQtYnl0ZSBhbGlnbm1lbnQuICAqLwogICAgc3AgPSBzcCAmIH4z OwotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9tNjhrLXRkZXAuYworSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTYwMTA2L2dkYi9tNjhrLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2RiL202OGstdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcu ODA4MDM5NDMzICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL202OGstdGRlcC5j CTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQxMDYwMjQ0ICswMjAwCi1AQCAtMzgyLDcgKzM4Miw3IEBA IG02OGtfcmVnX3N0cnVjdF9yZXR1cm5fcCAoc3RydWN0IGdkYmFyY2gKKy0tLSBnZGItNy4xMC41 MC4yMDE2MDEwNi5vcmlnL2dkYi9tNjhrLXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjE2LjYxNzgx NDEyOSArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9tNjhrLXRkZXAuYwkyMDE2 LTAxLTA4IDE5OjE2OjIwLjMyMDgzNDc4NCArMDEwMAorQEAgLTM4Miw3ICszODIsNyBAQAogIHsK ICAgIHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwog ICAgZW51bSB0eXBlX2NvZGUgY29kZSA9IFRZUEVfQ09ERSAodHlwZSk7CkBAIC01ODMsNyArNTgz LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9tNjhrLXRkZXAuYwogIAogICAg Z2RiX2Fzc2VydCAoY29kZSA9PSBUWVBFX0NPREVfU1RSVUNUIHx8IGNvZGUgPT0gVFlQRV9DT0RF X1VOSU9OCiAgCSAgICAgIHx8IGNvZGUgPT0gVFlQRV9DT0RFX0NPTVBMRVgpOwotQEAgLTUxNCw5 ICs1MTQsOSBAQCBtNjhrX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkCitAQCAt NTE0LDkgKzUxNCw5IEBACiAgICBmb3IgKGkgPSBuYXJncyAtIDE7IGkgPj0gMDsgaS0tKQogICAg ICB7CiAgICAgICAgc3RydWN0IHR5cGUgKnZhbHVlX3R5cGUgPSB2YWx1ZV9lbmNsb3NpbmdfdHlw ZSAoYXJnc1tpXSk7CkBAIC01OTYsMTEgKzU5NiwxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAx NTEwMjIvZ2RiL202OGstdGRlcC5jCiAgCiAgICAgICAgLyogTm9uLXNjYWxhcnMgYmlnZ2VyIHRo YW4gNCBieXRlcyBhcmUgbGVmdCBhbGlnbmVkLCBvdGhlcnMgYXJlCiAgCSByaWdodCBhbGlnbmVk LiAgKi8KLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbTg4ay10ZGVwLmMKK0luZGV4 OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvbTg4ay10ZGVwLmMKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy4xMC41MC4yMDE1MTAyMi5vcmlnL2dkYi9tODhrLXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0 OjE3LjgwOTAzOTQ0MCArMDIwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9tODhrLXRk ZXAuYwkyMDE1LTEwLTI0IDIzOjE0OjIwLjk0MjA2MDI1MCArMDIwMAotQEAgLTI1NywxMyArMjU3 LDEzIEBAIG04OGtfc3RvcmVfYXJndW1lbnRzIChzdHJ1Y3QgcmVnY2FjaGUgKnIKKy0tLSBnZGIt Ny4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi9tODhrLXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjE2 LjYxNzgxNDEyOSArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9tODhrLXRkZXAu YwkyMDE2LTAxLTA4IDE5OjE2OjIwLjMyMTgzNDc5MCArMDEwMAorQEAgLTI1NywxMyArMjU3LDEz IEBACiAgewogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAo cmVnY2FjaGUpOwogICAgaW50IG51bV9yZWdpc3Rlcl93b3JkcyA9IDA7CkBAIC02MTYsNyArNjE2 LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9tODhrLXRkZXAuYwogIAogICAg ICAgIGlmIChtODhrX2ludGVncmFsX29yX3BvaW50ZXJfcCAodHlwZSkgJiYgbGVuIDwgNCkKICAJ ewotQEAgLTMwNSw4ICszMDUsOCBAQCBtODhrX3N0b3JlX2FyZ3VtZW50cyAoc3RydWN0IHJlZ2Nh Y2hlICpyCitAQCAtMzA1LDggKzMwNSw4IEBACiAgICAgIHsKICAgICAgICBjb25zdCBiZmRfYnl0 ZSAqdmFsYnVmID0gdmFsdWVfY29udGVudHMgKGFyZ3NbaV0pOwogICAgICAgIHN0cnVjdCB0eXBl ICp0eXBlID0gdmFsdWVfdHlwZSAoYXJnc1tpXSk7CkBAIC02MjcsMTEgKzYyNywxMSBAQCBJbmRl eDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL204OGstdGRlcC5jCiAgCiAgICAgICAgaWYgKG04 OGtfaW5fcmVnaXN0ZXJfcCAodHlwZSkpCiAgCXsKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAy Mi9nZGIvbWVwLXRkZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9tZXAtdGRl cC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIvbWVwLXRk ZXAuYwkyMDE1LTEwLTI0IDIzOjE0OjE3LjgwOTAzOTQ0MCArMDIwMAotKysrIGdkYi03LjEwLjUw LjIwMTUxMDIyL2dkYi9tZXAtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQyMDYwMjUwICsw MjAwCi1AQCAtMjI3MCw3ICsyMjcwLDcgQEAgcHVzaF9sYXJnZV9hcmd1bWVudHMgKENPUkVfQURE UiBzcCwgaW50CistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvbWVwLXRkZXAuYwky MDE2LTAxLTA4IDE5OjE2OjE2LjYxODgxNDEzNSArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYw MTA2L2dkYi9tZXAtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzIxODM0NzkwICswMTAwCitA QCAtMjI3Miw3ICsyMjcyLDcgQEAKICAKICAgIGZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspCiAg ICAgIHsKQEAgLTY0MCwxMSArNjQwLDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9n ZGIvbWVwLXRkZXAuYwogIAogICAgICAgIGlmIChhcmdfbGVuID4gTUVQX0dQUl9TSVpFKQogICAg ICAgICAgewotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9taXBzLXRkZXAuYworSW5k ZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9taXBzLXRkZXAuYwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2RiL21pcHMtdGRlcC5jCTIwMTUtMTAtMjQgMjM6 MTQ6MTcuODE0MDM5NDczICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL21pcHMt dGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQzMDYwMjU3ICswMjAwCi1AQCAtNDU1LDcgKzQ1 NSw3IEBAIHN0YXRpYyB2b2lkCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvbWlw cy10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoxNi42MjY4MTQxNzkgKzAxMDAKKysrKyBnZGItNy4x MC41MC4yMDE2MDEwNi9nZGIvbWlwcy10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoyMC4zMjQ4MzQ4 MDYgKzAxMDAKK0BAIC00NTUsNyArNDU1LDcgQEAKICBtaXBzX3hmZXJfcmVnaXN0ZXIgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAogIAkJICAgIGlu dCByZWdfbnVtLCBpbnQgbGVuZ3RoLAogIAkJICAgIGVudW0gYmZkX2VuZGlhbiBlbmRpYW4sIGdk Yl9ieXRlICppbiwKQEAgLTY1Myw3ICs2NTMsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEw MjIvZ2RiL21pcHMtdGRlcC5jCiAgewogICAgaW50IHJlZ19vZmZzZXQgPSAwOwogIAotQEAgLTQ3 OCw4ICs0NzgsOCBAQCBtaXBzX3hmZXJfcmVnaXN0ZXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhCitA QCAtNDc4LDggKzQ3OCw4IEBACiAgICAgIH0KICAgIGlmIChtaXBzX2RlYnVnKQogICAgICBmcHJp bnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRlcnIsCkBAIC02NjQsNyArNjY0LDcgQEAgSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMDIyL2dkYi9taXBzLXRkZXAuYwogICAgaWYgKG1pcHNfZGVidWcgJiYg b3V0ICE9IE5VTEwpCiAgICAgIHsKICAgICAgICBpbnQgaTsKLUBAIC00NTU0LDEzICs0NTU0LDEz IEBAIG1pcHNfZWFiaV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmMKK0BAIC00NTU0LDEz ICs0NTU0LDEzIEBACiAgICAgICAgZ2RiX2J5dGUgdmFsYnVmW01BWF9SRUdJU1RFUl9TSVpFXTsK ICAgICAgICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbYXJnbnVtXTsKICAgICAgICBzdHJ1Y3Qg dHlwZSAqYXJnX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKQEAgLTY4 MSw3ICs2ODEsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL21pcHMtdGRlcC5j CiAgCiAgICAgICAgLyogVGhlIEVBQkkgcGFzc2VzIHN0cnVjdHVyZXMgdGhhdCBkbyBub3QgZml0 IGluIGEgcmVnaXN0ZXIgYnkKICAgICAgICAgICByZWZlcmVuY2UuICAqLwotQEAgLTQ4MjksNyAr NDgyOSw3IEBAIG1pcHNfZWFiaV9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoICoKK0BAIC00 ODI5LDcgKzQ4MjksNyBAQAogIAogIHN0YXRpYyBpbnQKICBtaXBzX24zMm42NF9mcF9hcmdfY2h1 bmtfcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBlICphcmdfdHlwZSwKQEAg LTY5MCw3ICs2OTAsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL21pcHMtdGRl cC5jCiAgewogICAgaW50IGk7CiAgCi1AQCAtNDg0NCw3ICs0ODQ0LDcgQEAgbWlwc19uMzJuNjRf ZnBfYXJnX2NodW5rX3AgKHN0cnVjdCBnZGJhcgorQEAgLTQ4NDQsNyArNDg0NCw3IEBACiAgCiAg ICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERTIChhcmdfdHlwZSk7IGkrKykKICAgICAgewpA QCAtNjk5LDcgKzY5OSw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbWlwcy10 ZGVwLmMKICAgICAgICBzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZTsKICAKICAgICAgICAvKiBXZSdy ZSBvbmx5IGxvb2tpbmcgYXQgbm9ybWFsIGZpZWxkcy4gICovCi1AQCAtNDg4Niw3ICs0ODg2LDcg QEAgbWlwc19uMzJuNjRfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYQorQEAgLTQ4ODYsNyAr NDg4Niw3IEBACiAgICBpbnQgYXJncmVnOwogICAgaW50IGZsb2F0X2FyZ3JlZzsKICAgIGludCBh cmdudW07CkBAIC03MDgsNyArNzA4LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dk Yi9taXBzLXRkZXAuYwogICAgaW50IHN0YWNrX29mZnNldCA9IDA7CiAgICBlbnVtIGJmZF9lbmRp YW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBDT1JFX0FE RFIgZnVuY19hZGRyID0gZmluZF9mdW5jdGlvbl9hZGRyIChmdW5jdGlvbiwgTlVMTCk7Ci1AQCAt NTIzNywxMSArNTIzNywxMSBAQCBtaXBzX24zMm42NF9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJh cmNoCitAQCAtNTIzNywxMSArNTIzNywxMSBAQAogIAkJCQk6IE1JUFNfVjBfUkVHTlVNKTsKICAJ ICAgZmllbGQgPCBUWVBFX05GSUVMRFMgKHR5cGUpOyBmaWVsZCsrLCByZWdudW0gKz0gMikKICAJ ewpAQCAtNzI0LDcgKzcyNCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbWlw cy10ZGVwLmMKICAJICBpZiAoVFlQRV9MRU5HVEggKFRZUEVfRklFTERfVFlQRSAodHlwZSwgZmll bGQpKSA9PSAxNikKICAJICAgIHsKICAJICAgICAgLyogQSAxNi1ieXRlIGxvbmcgZG91YmxlIGZp ZWxkIGdvZXMgaW4gdHdvIGNvbnNlY3V0aXZlCi1AQCAtNTI4Myw4ICs1MjgzLDggQEAgbWlwc19u MzJuNjRfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaAorQEAgLTUyODMsOCArNTI4Myw4IEBA CiAgCSAgaWYgKG9mZnNldCArIHhmZXIgPiBUWVBFX0xFTkdUSCAodHlwZSkpCiAgCSAgICB4ZmVy ID0gVFlQRV9MRU5HVEggKHR5cGUpIC0gb2Zmc2V0OwogIAkgIGlmIChtaXBzX2RlYnVnKQpAQCAt NzM1LDcgKzczNSw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbWlwcy10ZGVw LmMKICAJICBtaXBzX3hmZXJfcmVnaXN0ZXIgKGdkYmFyY2gsIHJlZ2NhY2hlLAogIAkJCSAgICAg IGdkYmFyY2hfbnVtX3JlZ3MgKGdkYmFyY2gpICsgcmVnbnVtLAogIAkJCSAgICAgIHhmZXIsIEJG RF9FTkRJQU5fVU5LTk9XTiwgcmVhZGJ1Ziwgd3JpdGVidWYsCi1AQCAtNTM0Miw3ICs1MzQyLDcg QEAgbWlwc19vMzJfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaAorQEAgLTUzNDIsNyAr NTM0Miw3IEBACiAgICBpbnQgYXJncmVnOwogICAgaW50IGZsb2F0X2FyZ3JlZzsKICAgIGludCBh cmdudW07CkBAIC03NDQsNyArNzQ0LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dk Yi9taXBzLXRkZXAuYwogICAgaW50IHN0YWNrX29mZnNldCA9IDA7CiAgICBlbnVtIGJmZF9lbmRp YW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBDT1JFX0FE RFIgZnVuY19hZGRyID0gZmluZF9mdW5jdGlvbl9hZGRyIChmdW5jdGlvbiwgTlVMTCk7Ci1AQCAt NTQwNiwxMyArNTQwNiwxMyBAQCBtaXBzX28zMl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJh cmNoCitAQCAtNTQwNiwxMyArNTQwNiwxMyBAQAogICAgICAgIGNvbnN0IGdkYl9ieXRlICp2YWw7 CiAgICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2FyZ251bV07CiAgICAgICAgc3RydWN0 IHR5cGUgKmFyZ190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7CkBAIC03 NjEsNyArNzYxLDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9taXBzLXRkZXAu YwogIAogICAgICAgIHZhbCA9IHZhbHVlX2NvbnRlbnRzIChhcmcpOwogIAotQEAgLTU4NzAsOCAr NTg3MCw4IEBAIG1pcHNfbzY0X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2gKK0BAIC01 ODcwLDggKzU4NzAsOCBAQAogICAgaW50IGFyZ3JlZzsKICAgIGludCBmbG9hdF9hcmdyZWc7CiAg ICBpbnQgYXJnbnVtOwpAQCAtNzcyLDcgKzc3Miw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1 MTAyMi9nZGIvbWlwcy10ZGVwLmMKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2Ri YXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIENPUkVfQUREUiBmdW5jX2FkZHIgPSBmaW5k X2Z1bmN0aW9uX2FkZHIgKGZ1bmN0aW9uLCBOVUxMKTsKICAKLUBAIC01OTMxLDEzICs1OTMxLDEz IEBAIG1pcHNfbzY0X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2gKK0BAIC01OTMxLDEz ICs1OTMxLDEzIEBACiAgICAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKICAgICAgICBzdHJ1Y3Qg dmFsdWUgKmFyZyA9IGFyZ3NbYXJnbnVtXTsKICAgICAgICBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUg PSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKQEAgLTc4OSwxMSArNzg5LDExIEBA IEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbWlwcy10ZGVwLmMKICAKICAgICAgICB2 YWwgPSB2YWx1ZV9jb250ZW50cyAoYXJnKTsKICAKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAy Mi9nZGIvbW4xMDMwMC10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvbW4x MDMwMC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyMi5vcmlnL2dk Yi9tbjEwMzAwLXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0OjE3LjgxNTAzOTQ4MCArMDIwMAotKysr IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9tbjEwMzAwLXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0 OjIwLjk0MzA2MDI1NyArMDIwMAotQEAgLTEyMjcsNyArMTIyNyw3IEBAIG1uMTAzMDBfcHVzaF9k dW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaAorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcv Z2RiL21uMTAzMDAtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjI3ODE0MTg1ICswMTAwCisr KysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL21uMTAzMDAtdGRlcC5jCTIwMTYtMDEtMDggMTk6 MTY6MjAuMzI0ODM0ODA2ICswMTAwCitAQCAtMTIyNyw3ICsxMjI3LDcgQEAKICAgIGVudW0gYmZk X2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGNv bnN0IGludCBwdXNoX3NpemUgPSByZWdpc3Rlcl9zaXplIChnZGJhcmNoLCBFX1BDX1JFR05VTSk7 CiAgICBpbnQgcmVnc191c2VkOwpAQCAtODAyLDExICs4MDIsMTEgQEAgSW5kZXg6IGdkYi03LjEw LjUwLjIwMTUxMDIyL2dkYi9tbjEwMzAwLXRkZXAuYwogICAgaW50IHN0YWNrX29mZnNldCA9IDA7 CiAgICBpbnQgYXJnbnVtOwogICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKLUluZGV4OiBnZGItNy4x MC41MC4yMDE1MTAyMi9nZGIvbXQtdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYv Z2RiL210LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDIyLm9yaWcv Z2RiL210LXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0OjE3LjgxNTAzOTQ4MCArMDIwMAotKysrIGdk Yi03LjEwLjUwLjIwMTUxMDIyL2dkYi9tdC10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoyMC45NDQw NjAyNjQgKzAyMDAKLUBAIC03ODEsOSArNzgxLDkgQEAgbXRfcHVzaF9kdW1teV9jYWxsIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYQorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL210LXRk ZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjE2LjYyODgxNDE5MCArMDEwMAorKysrIGdkYi03LjEwLjUw LjIwMTYwMTA2L2dkYi9tdC10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoyMC4zMjQ4MzQ4MDYgKzAx MDAKK0BAIC03ODEsOSArNzgxLDkgQEAKICAgIGdkYl9ieXRlIGJ1ZltNVF9NQVhfU1RSVUNUX1NJ WkVdOwogICAgaW50IGFyZ3JlZyA9IE1UXzFTVF9BUkdSRUc7CiAgICBpbnQgc3BsaXRfcGFyYW1f bGVuID0gMDsKQEAgLTgxOCwxMSArODE4LDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAy Mi9nZGIvbXQtdGRlcC5jCiAgICBpbnQgaSwgajsKICAKICAgIC8qIEZpcnN0IGhhbmRsZSBob3dl dmVyIG1hbnkgYXJncyB3ZSBjYW4gZml0IGludG8gTVRfMVNUX0FSR1JFRyB0aHJ1Ci1JbmRleDog Z2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3BwYy1zeXN2LXRkZXAuYworSW5kZXg6IGdkYi03LjEw LjUwLjIwMTYwMTA2L2dkYi9wcGMtc3lzdi10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4x MC41MC4yMDE1MTAyMi5vcmlnL2dkYi9wcGMtc3lzdi10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDox Ny44MTYwMzk0ODYgKzAyMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvcHBjLXN5c3Yt dGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQ0MDYwMjY0ICswMjAwCi1AQCAtNjYsNyArNjYs NyBAQCBwcGNfc3lzdl9hYmlfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiCistLS0gZ2RiLTcu MTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvcHBjLXN5c3YtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6 MTYuNjI5ODE0MTk2ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3BwYy1zeXN2 LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjIwLjMyNTgzNDgxMiArMDEwMAorQEAgLTY2LDcgKzY2 LDcgQEAKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVy IChnZGJhcmNoKTsKICAgIGludCBvcGVuY2xfYWJpID0gcHBjX3N5c3ZfdXNlX29wZW5jbF9hYmkg KHZhbHVlX3R5cGUgKGZ1bmN0aW9uKSk7CiAgICBVTE9OR0VTVCBzYXZlZF9zcDsKQEAgLTgzMSw3 ICs4MzEsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3BwYy1zeXN2LXRkZXAu YwogICAgaW50IHdyaXRlX3Bhc3M7CiAgCiAgICBnZGJfYXNzZXJ0ICh0ZGVwLT53b3Jkc2l6ZSA9 PSA0KTsKLUBAIC05Nyw5ICs5Nyw5IEBAIHBwY19zeXN2X2FiaV9wdXNoX2R1bW15X2NhbGwgKHN0 cnVjdCBnZGIKK0BAIC05Nyw5ICs5Nyw5IEBACiAgICAgICAgLyogTmV4dCBhdmFpbGFibGUgdmVj dG9yIHJlZ2lzdGVyIGZvciB2ZWN0b3IgYXJndW1lbnRzLiAgKi8KICAgICAgICBpbnQgdnJlZyA9 IDI7CiAgICAgICAgLyogQXJndW1lbnRzIHN0YXJ0IGFib3ZlIHRoZSAiTFIgc2F2ZSB3b3JkIiBh bmQgIkJhY2sgY2hhaW4iLiAgKi8KQEAgLTg0Myw3ICs4NDMsNyBAQCBJbmRleDogZ2RiLTcuMTAu NTAuMjAxNTEwMjIvZ2RiL3BwYy1zeXN2LXRkZXAuYwogIAogICAgICAgIC8qIElmIHRoZSBmdW5j dGlvbiBpcyByZXR1cm5pbmcgYSBgc3RydWN0JywgdGhlbiB0aGUgZmlyc3Qgd29yZAogICAgICAg ICAgICh3aGljaCB3aWxsIGJlIHBhc3NlZCBpbiByMykgaXMgdXNlZCBmb3Igc3RydWN0IHJldHVy bgotQEAgLTExOCw3ICsxMTgsNyBAQCBwcGNfc3lzdl9hYmlfcHVzaF9kdW1teV9jYWxsIChzdHJ1 Y3QgZ2RiCitAQCAtMTE4LDcgKzExOCw3IEBACiAgCXsKICAJICBzdHJ1Y3QgdmFsdWUgKmFyZyA9 IGFyZ3NbYXJnbm9dOwogIAkgIHN0cnVjdCB0eXBlICp0eXBlID0gY2hlY2tfdHlwZWRlZiAodmFs dWVfdHlwZSAoYXJnKSk7CkBAIC04NTIsNyArODUyLDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIw MTUxMDIyL2dkYi9wcGMtc3lzdi10ZGVwLmMKICAJICBjb25zdCBiZmRfYnl0ZSAqdmFsID0gdmFs dWVfY29udGVudHMgKGFyZyk7CiAgCiAgCSAgaWYgKFRZUEVfQ09ERSAodHlwZSkgPT0gVFlQRV9D T0RFX0ZMVCAmJiBsZW4gPD0gOAotQEAgLTEyODMsMTEgKzEyODMsMTEgQEAgc3RydWN0IHBwYzY0 X3N5c3ZfYXJncG9zCitAQCAtMTI4MywxMSArMTI4MywxMSBAQAogIAogIHN0YXRpYyB2b2lkCiAg cHBjNjRfc3lzdl9hYmlfcHVzaF92YWwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLApAQCAtODY2 LDExICs4NjYsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9wcGMtc3lzdi10 ZGVwLmMKICAKICAgIC8qIEVuZm9yY2UgYWxpZ25tZW50IG9mIHN0YWNrIGxvY2F0aW9uLCBpZiBy ZXF1ZXN0ZWQuICAqLwogICAgaWYgKGFsaWduID4gdGRlcC0+d29yZHNpemUpCi1JbmRleDogZ2Ri LTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3JsNzgtdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAx NjAxMDYvZ2RiL3JsNzgtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEw MjIub3JpZy9nZGIvcmw3OC10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy44MTYwMzk0ODYgKzAy MDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvcmw3OC10ZGVwLmMJMjAxNS0xMC0yNCAy MzoxNDoyMC45NDQwNjAyNjQgKzAyMDAKLUBAIC0xMzM4LDggKzEzMzgsOCBAQCBybDc4X3B1c2hf ZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYu b3JpZy9nZGIvcmw3OC10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoxNi42Mjk4MTQxOTYgKzAxMDAK KysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvcmw3OC10ZGVwLmMJMjAxNi0wMS0wOCAxOTox NjoyMC4zMjU4MzQ4MTIgKzAxMDAKK0BAIC0xMzM2LDggKzEzMzYsOCBAQAogICAgZm9yIChpID0g bmFyZ3MgLSAxOyBpID49IDA7IGktLSkKICAgICAgewogICAgICAgIHN0cnVjdCB0eXBlICp2YWx1 ZV90eXBlID0gdmFsdWVfZW5jbG9zaW5nX3R5cGUgKGFyZ3NbaV0pOwpAQCAtODgxLDExICs4ODEs MTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9ybDc4LXRkZXAuYwogIAogICAg ICAgIHNwIC09IGNvbnRhaW5lcl9sZW47CiAgICAgICAgd3JpdGVfbWVtb3J5IChybDc4X21ha2Vf ZGF0YV9hZGRyZXNzIChzcCksCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3JzNjAw MC1haXgtdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3JzNjAwMC1haXgt dGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIvcnM2 MDAwLWFpeC10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy44MTYwMzk0ODYgKzAyMDAKLSsrKyBn ZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvcnM2MDAwLWFpeC10ZGVwLmMJMjAxNS0xMC0yNCAyMzox NDoyMC45NDQwNjAyNjQgKzAyMDAKLUBAIC0xODYsOSArMTg2LDkgQEAgcnM2MDAwX3B1c2hfZHVt bXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKgorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcv Z2RiL3JzNjAwMC1haXgtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjMwODE0MjAyICswMTAw CisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCTIwMTYtMDEt MDggMTk6MTY6MjAuMzI2ODM0ODE3ICswMTAwCitAQCAtMTg2LDkgKzE4Niw5IEBACiAgICBzdHJ1 Y3QgZ2RiYXJjaF90ZGVwICp0ZGVwID0gZ2RiYXJjaF90ZGVwIChnZGJhcmNoKTsKICAgIGVudW0g YmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAg IGludCBpaTsKQEAgLTg5Nyw3ICs4OTcsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIv Z2RiL3JzNjAwMC1haXgtdGRlcC5jCiAgICBnZGJfYnl0ZSB0bXBfYnVmZmVyWzUwXTsKICAgIGlu dCBmX2FyZ25vID0gMDsJCS8qIGN1cnJlbnQgZmxvYXRpbmcgcG9pbnQgYXJnbm8gKi8KICAgIGlu dCB3b3Jkc2l6ZSA9IGdkYmFyY2hfdGRlcCAoZ2RiYXJjaCktPndvcmRzaXplOwotQEAgLTMyMSw3 ICszMjEsNyBAQCByYW5fb3V0X29mX3JlZ2lzdGVyc19mb3JfYXJndW1lbnRzOgorQEAgLTMyMSw3 ICszMjEsNyBAQAogIAogICAgaWYgKChhcmdubyA8IG5hcmdzKSB8fCBhcmdieXRlcykKICAgICAg ewpAQCAtOTA2LDExICs5MDYsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9y czYwMDAtYWl4LXRkZXAuYwogIAogICAgICAgIGlmIChhcmdieXRlcykKICAJewotSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zMzkwLWxpbnV4LXRkZXAuYworSW5kZXg6IGdkYi03LjEw LjUwLjIwMTYwMTA2L2dkYi9zMzkwLWxpbnV4LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2RiL3MzOTAtbGludXgtdGRlcC5jCTIwMTUtMTAtMjQgMjM6 MTQ6MTcuODE3MDM5NDkzICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3MzOTAt bGludXgtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQ1MDYwMjcwICswMjAwCi1AQCAtMjU3 MSw3ICsyNTcxLDcgQEAgczM5MF9mdW5jdGlvbl9hcmdfdmVjdG9yIChzdHJ1Y3QgdHlwZSAqdAor LS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL3MzOTAtbGludXgtdGRlcC5jCTIwMTYt MDEtMDggMTk6MTY6MTYuNjMyODE0MjEzICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYv Z2RiL3MzOTAtbGludXgtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzI4ODM0ODI5ICswMTAw CitAQCAtMjk4MSw3ICsyOTgxLDcgQEAKICAvKiBEZXRlcm1pbmUgd2hldGhlciBOIGlzIGEgcG93 ZXIgb2YgdHdvLiAgKi8KICAKICBzdGF0aWMgaW50CkBAIC05MTksNyArOTE5LDcgQEAgSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zMzkwLWxpbnV4LXRkZXAuYwogIHsKICAgIHJldHVy biBuICYmICgobiAmIChuIC0gMSkpID09IDApOwogIH0KLUBAIC0yNjI4LDcgKzI2MjgsNyBAQCBz MzkwX2hhbmRsZV9hcmcgKHN0cnVjdCBzMzkwX2FyZ19zdGF0ZSAqCitAQCAtMzAzOCw3ICszMDM4 LDcgQEAKICAJCSBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciwgaW50IGlzX3VubmFtZWQpCiAg ewogICAgc3RydWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcp KTsKQEAgLTkyOCwxMSArOTI4LDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIv czM5MC1saW51eC10ZGVwLmMKICAgIGludCB3cml0ZV9tb2RlID0gYXMtPnJlZ2NhY2hlICE9IE5V TEw7CiAgCiAgICBpZiAoczM5MF9mdW5jdGlvbl9hcmdfZmxvYXQgKHR5cGUpKQotSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zY29yZS10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4y MDE2MDEwNi9nZGIvc2NvcmUtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAx NTEwMjIub3JpZy9nZGIvc2NvcmUtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODE3MDM5NDkz ICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3Njb3JlLXRkZXAuYwkyMDE1LTEw LTI0IDIzOjE0OjIwLjk0NTA2MDI3MCArMDIwMAotQEAgLTUxNCw3ICs1MTQsNyBAQCBzY29yZV9w dXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAx MDYub3JpZy9nZGIvc2NvcmUtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjMzODE0MjE4ICsw MTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Njb3JlLXRkZXAuYwkyMDE2LTAxLTA4 IDE5OjE2OjIwLjMyODgzNDgyOSArMDEwMAorQEAgLTUxNCw3ICs1MTQsNyBAQAogICAgZW51bSBi ZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAg aW50IGFyZ251bTsKICAgIGludCBhcmdyZWc7CkBAIC05NDEsMTEgKzk0MSwxMSBAQCBJbmRleDog Z2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3Njb3JlLXRkZXAuYwogICAgQ09SRV9BRERSIHN0YWNr X29mZnNldCA9IDA7CiAgICBDT1JFX0FERFIgYWRkciA9IDA7CiAgCi1JbmRleDogZ2RiLTcuMTAu NTAuMjAxNTEwMjIvZ2RiL3NoLXRkZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dk Yi9zaC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyMi5vcmlnL2dk Yi9zaC10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy44MTgwMzk0OTkgKzAyMDAKLSsrKyBnZGIt Ny4xMC41MC4yMDE1MTAyMi9nZGIvc2gtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQ2MDYw Mjc3ICswMjAwCi1AQCAtODA1LDcgKzgwNSw3IEBAIHNoX3NraXBfcHJvbG9ndWUgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmMKKy0tLSBnZGItNy4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi9zaC10ZGVw LmMJMjAxNi0wMS0wOCAxOToxNjoxNi42MzU4MTQyMzAgKzAxMDAKKysrKyBnZGItNy4xMC41MC4y MDE2MDEwNi9nZGIvc2gtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzI5ODM0ODM0ICswMTAw CitAQCAtODA1LDcgKzgwNSw3IEBACiAgc3RhdGljIGludAogIHNoX3VzZV9zdHJ1Y3RfY29udmVu dGlvbiAoaW50IHJlbmVzYXNfYWJpLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CkBAIC05NTQsNyAr OTU0LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zaC10ZGVwLmMKICAgIGlu dCBuZWxlbSA9IFRZUEVfTkZJRUxEUyAodHlwZSk7CiAgCiAgICAvKiBUaGUgUmVuZXNhcyBBQkkg cmV0dXJucyBhZ2dyZWdhdGUgdHlwZXMgYWx3YXlzIG9uIHN0YWNrLiAgKi8KLUBAIC05MDcsNyAr OTA3LDcgQEAgc2hfZnJhbWVfYWxpZ24gKHN0cnVjdCBnZGJhcmNoICppZ25vcmUsCitAQCAtOTA3 LDcgKzkwNyw3IEBACiAgCiAgLyogSGVscGVyIGZ1bmN0aW9uIHRvIGp1c3RpZnkgdmFsdWUgaW4g cmVnaXN0ZXIgYWNjb3JkaW5nIHRvIGVuZGlhbmVzcy4gICovCiAgc3RhdGljIGNvbnN0IGdkYl9i eXRlICoKQEAgLTk2Myw3ICs5NjMsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2Ri L3NoLXRkZXAuYwogIHsKICAgIHN0YXRpYyBnZGJfYnl0ZSB2YWxidWZbNF07CiAgCi1AQCAtMTA2 Nyw3ICsxMDY3LDggQEAgc2hfcHVzaF9kdW1teV9jYWxsX2ZwdSAoc3RydWN0IGdkYmFyY2ggKgor QEAgLTEwNjcsNyArMTA2Nyw4IEBACiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAgIENPUkVfQURE UiByZWd2YWw7CiAgICBjb25zdCBnZGJfYnl0ZSAqdmFsOwpAQCAtOTczLDcgKzk3Myw3IEBAIElu ZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvc2gtdGRlcC5jCiAgICBpbnQgcGFzc19vbl9z dGFjayA9IDA7CiAgICBpbnQgdHJlYXRfYXNfZmx0OwogICAgaW50IGxhc3RfcmVnX2FyZyA9IElO VF9NQVg7Ci1AQCAtMTIwOCw3ICsxMjA5LDggQEAgc2hfcHVzaF9kdW1teV9jYWxsX25vZnB1IChz dHJ1Y3QgZ2RiYXJjaAorQEAgLTEyMDgsNyArMTIwOSw4IEBACiAgICBzdHJ1Y3QgdHlwZSAqdHlw ZTsKICAgIENPUkVfQUREUiByZWd2YWw7CiAgICBjb25zdCBnZGJfYnl0ZSAqdmFsOwpAQCAtOTgz LDExICs5ODMsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zaC10ZGVwLmMK ICAgIGludCBwYXNzX29uX3N0YWNrID0gMDsKICAgIGludCBsYXN0X3JlZ19hcmcgPSBJTlRfTUFY OwogIAotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zaDY0LXRkZXAuYworSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9zaDY0LXRkZXAuYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2RiL3NoNjQtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6 MTcuODE5MDM5NTA2ICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3NoNjQtdGRl cC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQ2MDYwMjc3ICswMjAwCi1AQCAtMTA1Niw3ICsxMDU2 LDcgQEAgc2g2NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZAorLS0tIGdkYi03 LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL3NoNjQtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYu NjM1ODE0MjMwICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3NoNjQtdGRlcC5j CTIwMTYtMDEtMDggMTk6MTY6MjAuMzI5ODM0ODM0ICswMTAwCitAQCAtMTA1Niw3ICsxMDU2LDcg QEAKICAJCSAgICAgIENPUkVfQUREUiBzdHJ1Y3RfYWRkcikKICB7CiAgICBlbnVtIGJmZF9lbmRp YW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CkBAIC05OTYsNyAr OTk2LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zaDY0LXRkZXAuYwogICAg aW50IGludF9hcmdyZWc7CiAgICBpbnQgZmxvYXRfYXJncmVnOwogICAgaW50IGRvdWJsZV9hcmdy ZWc7Ci1AQCAtMTA2Nyw3ICsxMDY3LDcgQEAgc2g2NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBn ZGJhcmNoICpnZAorQEAgLTEwNjcsNyArMTA2Nyw3IEBACiAgICBDT1JFX0FERFIgcmVndmFsOwog ICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKICAgIGdkYl9ieXRlIHZhbGJ1Zls4XTsKQEAgLTEwMDUs MTEgKzEwMDUsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zaDY0LXRkZXAu YwogICAgaW50IGFyZ3JlZ19zaXplOwogICAgaW50IGZwX2FyZ3NbMTJdOwogIAotSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zcGFyYy10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4y MDE2MDEwNi9nZGIvc3BhcmMtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAx NTEwMjIub3JpZy9nZGIvc3BhcmMtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODE5MDM5NTA2 ICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3NwYXJjLXRkZXAuYwkyMDE1LTEw LTI0IDIzOjE0OjIwLjk0NjA2MDI3NyArMDIwMAotQEAgLTUyNSw3ICs1MjUsNyBAQCBzcGFyYzMy X3N0b3JlX2FyZ3VtZW50cyAoc3RydWN0IHJlZ2NhY2hlCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAx MDYub3JpZy9nZGIvc3BhcmMtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjM2ODE0MjM1ICsw MTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3NwYXJjLXRkZXAuYwkyMDE2LTAxLTA4 IDE5OjE2OjIwLjMzMDgzNDg0MCArMDEwMAorQEAgLTUyNSw3ICs1MjUsNyBAQAogICAgZm9yIChp ID0gMDsgaSA8IG5hcmdzOyBpKyspCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9 IHZhbHVlX3R5cGUgKGFyZ3NbaV0pOwpAQCAtMTAxOCwxMSArMTAxOCwxMSBAQCBJbmRleDogZ2Ri LTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3NwYXJjLXRkZXAuYwogIAogICAgICAgIGlmIChzcGFyY19z dHJ1Y3R1cmVfb3JfdW5pb25fcCAodHlwZSkKICAJICB8fCAoc3BhcmNfZmxvYXRpbmdfcCAodHlw ZSkgJiYgbGVuID09IDE2KQotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zcGFyYzY0 LXRkZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9zcGFyYzY0LXRkZXAuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2RiL3NwYXJjNjQtdGRl cC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODIwMDM5NTEzICswMjAwCi0rKysgZ2RiLTcuMTAuNTAu MjAxNTEwMjIvZ2RiL3NwYXJjNjQtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQ3MDYwMjg0 ICswMjAwCi1AQCAtNjM2LDcgKzYzNiw4IEBAIHNwYXJjNjRfMTZfYnl0ZV9hbGlnbl9wIChzdHJ1 Y3QgdHlwZSAqdHkKKy0tLSBnZGItNy4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi9zcGFyYzY0LXRk ZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjE2LjYzNzgxNDI0MSArMDEwMAorKysrIGdkYi03LjEwLjUw LjIwMTYwMTA2L2dkYi9zcGFyYzY0LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjIwLjMzMDgzNDg0 MCArMDEwMAorQEAgLTYzNiw3ICs2MzYsOCBAQAogIAogIHN0YXRpYyB2b2lkCiAgc3BhcmM2NF9z dG9yZV9mbG9hdGluZ19maWVsZHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIHN0cnVjdCB0 eXBlICp0eXBlLApAQCAtMTAzMiw3ICsxMDMyLDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUx MDIyL2dkYi9zcGFyYzY0LXRkZXAuYwogIHsKICAgIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlw ZSk7CiAgCi1AQCAtNjc4LDcgKzY3OSw3IEBAIHNwYXJjNjRfc3RvcmVfZmxvYXRpbmdfZmllbGRz IChzdHJ1Y3QgcmUKK0BAIC02NzgsNyArNjc5LDcgQEAKICAgICAgICBmb3IgKGkgPSAwOyBpIDwg VFlQRV9ORklFTERTICh0eXBlKTsgaSsrKQogIAl7CiAgCSAgc3RydWN0IHR5cGUgKnN1YnR5cGUg PSBjaGVja190eXBlZGVmIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpKTsKQEAgLTEwNDEsNyAr MTA0MSw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvc3BhcmM2NC10ZGVwLmMK ICAKICAJICBzcGFyYzY0X3N0b3JlX2Zsb2F0aW5nX2ZpZWxkcyAocmVnY2FjaGUsIHN1YnR5cGUs IHZhbGJ1ZiwKICAJCQkJCSBlbGVtZW50LCBzdWJwb3MpOwotQEAgLTcxMCw3ICs3MTEsNyBAQCBz cGFyYzY0X3N0b3JlX2Zsb2F0aW5nX2ZpZWxkcyAoc3RydWN0IHJlCitAQCAtNzEwLDcgKzcxMSw3 IEBACiAgCiAgc3RhdGljIHZvaWQKICBzcGFyYzY0X2V4dHJhY3RfZmxvYXRpbmdfZmllbGRzIChz dHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTEwNTAsNyAr MTA1MCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvc3BhcmM2NC10ZGVwLmMK ICB7CiAgICBpZiAoc3BhcmM2NF9mbG9hdGluZ19wICh0eXBlKSkKICAgICAgewotQEAgLTc0Nyw3 ICs3NDgsNyBAQCBzcGFyYzY0X2V4dHJhY3RfZmxvYXRpbmdfZmllbGRzIChzdHJ1Y3QKK0BAIC03 NDcsNyArNzQ4LDcgQEAKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERTICh0eXBl KTsgaSsrKQogIAl7CiAgCSAgc3RydWN0IHR5cGUgKnN1YnR5cGUgPSBjaGVja190eXBlZGVmIChU WVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpKTsKQEAgLTEwNTksNyArMTA1OSw3IEBAIEluZGV4OiBn ZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvc3BhcmM2NC10ZGVwLmMKICAKICAJICBzcGFyYzY0X2V4 dHJhY3RfZmxvYXRpbmdfZmllbGRzIChyZWdjYWNoZSwgc3VidHlwZSwgdmFsYnVmLCBzdWJwb3Mp OwogIAl9Ci1AQCAtNzgwLDcgKzc4MSw3IEBAIHNwYXJjNjRfc3RvcmVfYXJndW1lbnRzIChzdHJ1 Y3QgcmVnY2FjaGUKK0BAIC03ODAsNyArNzgxLDcgQEAKICAgIGZvciAoaSA9IDA7IGkgPCBuYXJn czsgaSsrKQogICAgICB7CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChh cmdzW2ldKTsKQEAgLTEwNjgsNyArMTA2OCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAy Mi9nZGIvc3BhcmM2NC10ZGVwLmMKICAKICAgICAgICBpZiAoc3BhcmM2NF9zdHJ1Y3R1cmVfb3Jf dW5pb25fcCAodHlwZSkKICAJICB8fCAoc3BhcmM2NF9jb21wbGV4X2Zsb2F0aW5nX3AgKHR5cGUp ICYmIGxlbiA9PSAzMikpCi1AQCAtODgwLDcgKzg4MSw3IEBAIHNwYXJjNjRfc3RvcmVfYXJndW1l bnRzIChzdHJ1Y3QgcmVnY2FjaGUKK0BAIC04ODAsNyArODgxLDcgQEAKICAgICAgewogICAgICAg IGNvbnN0IGdkYl9ieXRlICp2YWxidWYgPSB2YWx1ZV9jb250ZW50cyAoYXJnc1tpXSk7CiAgICAg ICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChhcmdzW2ldKTsKQEAgLTEwNzcsMTEg KzEwNzcsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zcGFyYzY0LXRkZXAu YwogICAgICAgIGludCByZWdudW0gPSAtMTsKICAgICAgICBnZGJfYnl0ZSBidWZbMTZdOwogIAot SW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zcHUtdGRlcC5jCitJbmRleDogZ2RiLTcu MTAuNTAuMjAxNjAxMDYvZ2RiL3NwdS10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41 MC4yMDE1MTAyMi5vcmlnL2dkYi9zcHUtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODIxMDM5 NTE5ICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3NwdS10ZGVwLmMJMjAxNS0x MC0yNCAyMzoxNDoyMC45NDcwNjAyODQgKzAyMDAKLUBAIC0xNDI5LDcgKzE0MjksNyBAQCBzcHVf cHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiCistLS0gZ2RiLTcuMTAuNTAuMjAx NjAxMDYub3JpZy9nZGIvc3B1LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjE2LjYzODgxNDI0NiAr MDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9zcHUtdGRlcC5jCTIwMTYtMDEtMDgg MTk6MTY6MjAuMzMxODM0ODQ1ICswMTAwCitAQCAtMTQyOSw3ICsxNDI5LDcgQEAKICAgICAgICBz dHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSBj aGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKICAgICAgICBjb25zdCBnZGJfYnl0ZSAq Y29udGVudHMgPSB2YWx1ZV9jb250ZW50cyAoYXJnKTsKQEAgLTEwOTAsNyArMTA5MCw3IEBAIElu ZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvc3B1LXRkZXAuYwogIAogICAgICAgIC8qIElm IHRoZSBhcmd1bWVudCBkb2Vzbid0IHdob2xseSBmaXQgaW50byByZWdpc3RlcnMsIGl0IGFuZAog IAkgYWxsIHN1YnNlcXVlbnQgYXJndW1lbnRzIGdvIHRvIHRoZSBzdGFjay4gICovCi1AQCAtMTQ2 MSw3ICsxNDYxLDcgQEAgc3B1X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYgor QEAgLTE0NjEsNyArMTQ2MSw3IEBACiAgCXsKICAJICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3Nb aV07CiAgCSAgc3RydWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChh cmcpKTsKQEAgLTEwOTksMTEgKzEwOTksMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIy L2dkYi9zcHUtdGRlcC5jCiAgCSAgaW50IHByZWZlcnJlZF9zbG90OwogIAkgIAogIAkgIGlmIChz cHVfc2NhbGFyX3ZhbHVlX3AgKHR5cGUpKQotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dk Yi90aWM2eC10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGljNngtdGRl cC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIvdGljNngt dGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODIxMDM5NTE5ICswMjAwCi0rKysgZ2RiLTcuMTAu NTAuMjAxNTEwMjIvZ2RiL3RpYzZ4LXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0OjIwLjk0NzA2MDI4 NCArMDIwMAotQEAgLTg5NSw3ICs4OTUsNyBAQCB0aWM2eF9wdXNoX2R1bW15X2NhbGwgKHN0cnVj dCBnZGJhcmNoICpnCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvdGljNngtdGRl cC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjM5ODE0MjUyICswMTAwCisrKysgZ2RiLTcuMTAuNTAu MjAxNjAxMDYvZ2RiL3RpYzZ4LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjIwLjMzMjgzNDg1MSAr MDEwMAorQEAgLTg5NSw3ICs4OTUsNyBAQAogICAgaW50IGFyZ3JlZyA9IDA7CiAgICBpbnQgYXJn bnVtOwogICAgaW50IHN0YWNrX29mZnNldCA9IDQ7CkBAIC0xMTEyLDcgKzExMTIsNyBAQCBJbmRl eDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3RpYzZ4LXRkZXAuYwogICAgQ09SRV9BRERSIGZ1 bmNfYWRkciA9IGZpbmRfZnVuY3Rpb25fYWRkciAoZnVuY3Rpb24sIE5VTEwpOwogICAgZW51bSBi ZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAg c3RydWN0IHR5cGUgKmZ1bmNfdHlwZSA9IHZhbHVlX3R5cGUgKGZ1bmN0aW9uKTsKLUBAIC05Mjks NyArOTI5LDcgQEAgdGljNnhfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZworQEAg LTkyOSw3ICs5MjksNyBAQAogICAgLyogTm93IG1ha2Ugc3BhY2Ugb24gdGhlIHN0YWNrIGZvciB0 aGUgYXJncy4gICovCiAgICBmb3IgKGFyZ251bSA9IDA7IGFyZ251bSA8IG5hcmdzOyBhcmdudW0r KykKICAgICAgewpAQCAtMTEyMSw3ICsxMTIxLDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUx MDIyL2dkYi90aWM2eC10ZGVwLmMKICAgICAgICBpZiAoYXJnbnVtID49IDEwIC0gYXJncmVnKQog IAlyZWZlcmVuY2VzX29mZnNldCArPSBsZW47CiAgICAgICAgc3RhY2tfb2Zmc2V0ICs9IGxlbjsK LUBAIC05NDgsNyArOTQ4LDcgQEAgdGljNnhfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJj aCAqZworQEAgLTk0OCw3ICs5NDgsNyBAQAogICAgICAgIGNvbnN0IGdkYl9ieXRlICp2YWw7CiAg ICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2FyZ251bV07CiAgICAgICAgc3RydWN0IHR5 cGUgKmFyZ190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7CkBAIC0xMTMw LDcgKzExMzAsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3RpYzZ4LXRkZXAu YwogICAgICAgIGVudW0gdHlwZV9jb2RlIHR5cGVjb2RlID0gVFlQRV9DT0RFIChhcmdfdHlwZSk7 CiAgCiAgICAgICAgdmFsID0gdmFsdWVfY29udGVudHMgKGFyZyk7Ci1AQCAtMTEwOCw3ICsxMTA4 LDggQEAgdGljNnhfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZworQEAgLTExMDgs NyArMTEwOCw4IEBACiAgCSAgICB9CiAgCSAgZWxzZQogIAkgICAgaW50ZXJuYWxfZXJyb3IgKF9f RklMRV9fLCBfX0xJTkVfXywKQEAgLTExNDAsMTEgKzExNDAsMTEgQEAgSW5kZXg6IGdkYi03LjEw LjUwLjIwMTUxMDIyL2dkYi90aWM2eC10ZGVwLmMKICAKICAJICBhZGRyID0gc3AgKyBzdGFja19v ZmZzZXQ7CiAgCSAgd3JpdGVfbWVtb3J5IChhZGRyLCB2YWwsIGxlbik7Ci1JbmRleDogZ2RiLTcu MTAuNTAuMjAxNTEwMjIvZ2RiL3RpbGVneC10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2 MDEwNi9nZGIvdGlsZWd4LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUx MDIyLm9yaWcvZ2RiL3RpbGVneC10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy44MjIwMzk1MjYg KzAyMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvdGlsZWd4LXRkZXAuYwkyMDE1LTEw LTI0IDIzOjE0OjIwLjk0NzA2MDI4NCArMDIwMAotQEAgLTI4OCw3ICsyODgsNyBAQCB0aWxlZ3hf cHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAx MDYub3JpZy9nZGIvdGlsZWd4LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjE2LjY0MDgxNDI1NyAr MDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90aWxlZ3gtdGRlcC5jCTIwMTYtMDEt MDggMTk6MTY6MjAuMzMyODM0ODUxICswMTAwCitAQCAtMjg4LDcgKzI4OCw3IEBACiAgICBDT1JF X0FERFIgc3RhY2tfZGVzdCA9IHNwOwogICAgaW50IGFyZ3JlZyA9IFRJTEVHWF9SMF9SRUdOVU07 CiAgICBpbnQgaSwgajsKQEAgLTExNTMsMTEgKzExNTMsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUw LjIwMTUxMDIyL2dkYi90aWxlZ3gtdGRlcC5jCiAgICBzdGF0aWMgY29uc3QgZ2RiX2J5dGUgZm91 cl96ZXJvX3dvcmRzWzE2XSA9IHsgMCB9OwogIAogICAgLyogSWYgc3RydWN0X3JldHVybiBpcyAx LCB0aGVuIHRoZSBzdHJ1Y3QgcmV0dXJuIGFkZHJlc3Mgd2lsbAotSW5kZXg6IGdkYi03LjEwLjUw LjIwMTUxMDIyL2dkYi92ODUwLXRkZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dk Yi92ODUwLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDIyLm9yaWcv Z2RiL3Y4NTAtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODIyMDM5NTI2ICswMjAwCi0rKysg Z2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3Y4NTAtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAu OTQ4MDYwMjkwICswMjAwCi1AQCAtMTAxOSw3ICsxMDE5LDcgQEAgdjg1MF9wdXNoX2R1bW15X2Nh bGwgKHN0cnVjdCBnZGJhcmNoICpnZAorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2Ri L3Y4NTAtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjQwODE0MjU3ICswMTAwCisrKysgZ2Ri LTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Y4NTAtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzMy ODM0ODUxICswMTAwCitAQCAtMTAxOSw3ICsxMDE5LDcgQEAKICAgIGVudW0gYmZkX2VuZGlhbiBi eXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGludCBhcmdyZWc7 CiAgICBpbnQgYXJnbnVtOwpAQCAtMTE2Niw3ICsxMTY2LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUw LjIwMTUxMDIyL2dkYi92ODUwLXRkZXAuYwogICAgaW50IHN0YWNrX29mZnNldDsKICAKICAgIGlm IChnZGJhcmNoX3RkZXAgKGdkYmFyY2gpLT5hYmkgPT0gVjg1MF9BQklfUkg4NTApCi1AQCAtMTA0 Nyw3ICsxMDQ3LDcgQEAgdjg1MF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZAor QEAgLTEwNDcsNyArMTA0Nyw3IEBACiAgICAgICBpbiBmb3VyIHJlZ2lzdGVycyBhdmFpbGFibGUu ICBMb29wIHRocnUgYXJncyBmcm9tIGZpcnN0IHRvIGxhc3QuICAqLwogICAgZm9yIChhcmdudW0g PSAwOyBhcmdudW0gPCBuYXJnczsgYXJnbnVtKyspCiAgICAgIHsKQEAgLTExNzUsMTEgKzExNzUs MTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi92ODUwLXRkZXAuYwogICAgICAg IGdkYl9ieXRlICp2YWw7CiAgICAgICAgZ2RiX2J5dGUgdmFsYnVmW3Y4NTBfcmVnX3NpemVdOwog IAotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi92YXgtdGRlcC5jCitJbmRleDogZ2Ri LTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3ZheC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4x MC41MC4yMDE1MTAyMi5vcmlnL2dkYi92YXgtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODIy MDM5NTI2ICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3ZheC10ZGVwLmMJMjAx NS0xMC0yNCAyMzoxNDoyMC45NDgwNjAyOTAgKzAyMDAKLUBAIC0xMTEsNyArMTExLDcgQEAgdmF4 X3N0b3JlX2FyZ3VtZW50cyAoc3RydWN0IHJlZ2NhY2hlICpyZQorLS0tIGdkYi03LjEwLjUwLjIw MTYwMTA2Lm9yaWcvZ2RiL3ZheC10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoxNi42NDE4MTQyNjMg KzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdmF4LXRkZXAuYwkyMDE2LTAxLTA4 IDE5OjE2OjIwLjMzMzgzNDg1NiArMDEwMAorQEAgLTExMSw3ICsxMTEsNyBAQAogICAgc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUpOwogICAgZW51 bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwog ICAgZ2RiX2J5dGUgYnVmWzRdOwpAQCAtMTE4OCw3ICsxMTg4LDcgQEAgSW5kZXg6IGdkYi03LjEw LjUwLjIwMTUxMDIyL2dkYi92YXgtdGRlcC5jCiAgICBpbnQgaTsKICAKICAgIC8qIFdlIGNyZWF0 ZSBhbiBhcmd1bWVudCBsaXN0IG9uIHRoZSBzdGFjaywgYW5kIG1ha2UgdGhlIGFyZ3VtZW50Ci1A QCAtMTIwLDcgKzEyMCw3IEBAIHZheF9zdG9yZV9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAq cmUKK0BAIC0xMjAsNyArMTIwLDcgQEAKICAgIC8qIFB1c2ggYXJndW1lbnRzIGluIHJldmVyc2Ug b3JkZXIuICAqLwogICAgZm9yIChpID0gbmFyZ3MgLSAxOyBpID49IDA7IGktLSkKICAgICAgewpA QCAtMTE5NywxMSArMTE5NywxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3Zh eC10ZGVwLmMKICAKICAgICAgICBzcCAtPSAobGVuICsgMykgJiB+MzsKICAgICAgICBjb3VudCAr PSAobGVuICsgMykgLyA0OwotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi94c3Rvcm15 MTYtdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3hzdG9ybXkxNi10ZGVw LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyMi5vcmlnL2dkYi94c3Rvcm15 MTYtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODIyMDM5NTI2ICswMjAwCi0rKysgZ2RiLTcu MTAuNTAuMjAxNTEwMjIvZ2RiL3hzdG9ybXkxNi10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoyMC45 NDgwNjAyOTAgKzAyMDAKLUBAIC0yMzMsOCArMjMzLDkgQEAgeHN0b3JteTE2X3B1c2hfZHVtbXlf Y2FsbCAoc3RydWN0IGdkYmFyYworLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL3hz dG9ybXkxNi10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoxNi42NDE4MTQyNjMgKzAxMDAKKysrKyBn ZGItNy4xMC41MC4yMDE2MDEwNi9nZGIveHN0b3JteTE2LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2 OjIwLjMzMzgzNDg1NiArMDEwMAorQEAgLTIzMyw4ICsyMzMsOSBAQAogICAgZW51bSBiZmRfZW5k aWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgQ09SRV9B RERSIHN0YWNrX2Rlc3QgPSBzcDsKICAgIGludCBhcmdyZWcgPSBFXzFTVF9BUkdfUkVHTlVNOwpA QCAtMTIxMywxMSArMTIxMywxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3hz dG9ybXkxNi10ZGVwLmMKICAgIGNvbnN0IGdkYl9ieXRlICp2YWw7CiAgICBnZGJfYnl0ZSBidWZb eHN0b3JteTE2X3BjX3NpemVdOwogIAotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi94 dGVuc2EtdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3h0ZW5zYS10ZGVw LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyMi5vcmlnL2dkYi94dGVuc2Et dGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODI0MDM5NTM5ICswMjAwCi0rKysgZ2RiLTcuMTAu NTAuMjAxNTEwMjIvZ2RiL3h0ZW5zYS10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoyMC45NDgwNjAy OTAgKzAyMDAKLUBAIC0xNjQwLDggKzE2NDAsNyBAQCB4dGVuc2Ffc3RvcmVfcmV0dXJuX3ZhbHVl IChzdHJ1Y3QgdHlwZSAqCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIveHRlbnNh LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjE2LjY0MzgxNDI3NCArMDEwMAorKysrIGdkYi03LjEw LjUwLjIwMTYwMTA2L2dkYi94dGVuc2EtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzM0ODM0 ODYyICswMTAwCitAQCAtMTYzOCw4ICsxNjM4LDcgQEAKICAKICAgICAgICBpZiAobGVuID4gKGNh bGxzaXplID4gOCA/IDggOiAxNikpCiAgCWludGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5F X18sCkBAIC0xMjI3LDcgKzEyMjcsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2Ri L3h0ZW5zYS10ZGVwLmMKICAgICAgICBhcmVnID0gYXJyZWdfbnVtYmVyIChnZGJhcmNoLAogIAkJ CSAgIGdkYmFyY2hfdGRlcCAoZ2RiYXJjaCktPmEwX2Jhc2UgKyAyICsgY2FsbHNpemUsIHdiKTsK ICAKLUBAIC0xNzE1LDE4ICsxNzE0LDE4IEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVj dCBnZGJhcmNoICoKK0BAIC0xNzEzLDE4ICsxNzEyLDE4IEBACiAgewogICAgZW51bSBiZmRfZW5k aWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgaW50IGk7 CkBAIC0xMjQ5LDcgKzEyNDksNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3h0 ZW5zYS10ZGVwLmMKICAgICAgICBpbnQgcmVnbm87CQkvKiByZWdubyBpZiBpbiByZWdpc3Rlci4g ICovCiAgICAgIH0gdTsKICAgIH07Ci1AQCAtMTc1MCw5ICsxNzQ5LDEwIEBAIHh0ZW5zYV9wdXNo X2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICoKK0BAIC0xNzQ4LDkgKzE3NDcsMTAgQEAKICAg ICAgICAgIHsKICAJICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAgCSAgc3RydWN0IHR5 cGUgKmFyZ190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7CkBAIC0xMjYz LDcgKzEyNjMsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3h0ZW5zYS10ZGVw LmMKICAJICBzd2l0Y2ggKFRZUEVfQ09ERSAoYXJnX3R5cGUpKQogIAkgICAgewogIAkgICAgY2Fz ZSBUWVBFX0NPREVfSU5UOgotQEAgLTE4MjIsOCArMTgyMiw4IEBAIHh0ZW5zYV9wdXNoX2R1bW15 X2NhbGwgKHN0cnVjdCBnZGJhcmNoICoKK0BAIC0xODIwLDggKzE4MjAsOCBAQAogIAkgIGluZm8t PmFsaWduID0gVFlQRV9MRU5HVEggKGJ1aWx0aW5fdHlwZSAoZ2RiYXJjaCktPmJ1aWx0aW5fbG9u Zyk7CiAgCSAgYnJlYWs7CiAgCX0KQEAgLTEyNzMsNyArMTI3Myw3IEBAIEluZGV4OiBnZGItNy4x MC41MC4yMDE1MTAyMi9nZGIveHRlbnNhLXRkZXAuYwogIAogICAgICAgIC8qIEFsaWduIHNpemUg YW5kIG9uc3RhY2tfc2l6ZS4gICovCiAgICAgICAgc2l6ZSA9IChzaXplICsgaW5mby0+YWxpZ24g LSAxKSAmIH4oaW5mby0+YWxpZ24gLSAxKTsKLUBAIC0xODY4LDcgKzE4NjgsNyBAQCB4dGVuc2Ff cHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqCitAQCAtMTg2Niw3ICsxODY2LDcgQEAK ICAKICAgICAgICBpZiAoaW5mby0+b25zdGFjaykKICAJewpAQCAtMTI4Miw3ICsxMjgyLDcgQEAg SW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi94dGVuc2EtdGRlcC5jCiAgCSAgQ09SRV9B RERSIG9mZnNldCA9IHNwICsgaW5mby0+dS5vZmZzZXQ7CiAgCiAgCSAgLyogT2RkLXNpemVkIHN0 cnVjdHMgYXJlIGFsaWduZWQgdG8gdGhlIGxvd2VyIHNpZGUgb2YgYSBtZW1vcnkKLUBAIC0xODg0 LDcgKzE4ODQsNyBAQCB4dGVuc2FfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqCitA QCAtMTg4Miw3ICsxODgyLDcgQEAKICAJfQogICAgICAgIGVsc2UKICAJewoKZGlmZiAtLWdpdCBh L2dkYi10ZXN0LWJ0LWNmaS13aXRob3V0LWRpZS5wYXRjaCBiL2dkYi10ZXN0LWJ0LWNmaS13aXRo b3V0LWRpZS5wYXRjaAppbmRleCA4MmY5ZDJkLi5mYTNhYjU4IDEwMDY0NAotLS0gYS9nZGItdGVz dC1idC1jZmktd2l0aG91dC1kaWUucGF0Y2gKKysrIGIvZ2RiLXRlc3QtYnQtY2ZpLXdpdGhvdXQt ZGllLnBhdGNoCkBAIC03MCwxMCArNzAsMTAgQEAgZ2RiL3Rlc3RzdWl0ZS8KICBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jZmktd2l0aG91dC1kaWUtbWFpbi5jCiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGll LmV4cAogCi1JbmRleDogZ2RiLTcuNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0 LWRpZS1jYWxsZXIuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLWNhbGxlci5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNy9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS1jYWxsZXIuYwkyMDE0LTAyLTA2IDE5 OjM1OjIzLjQ4NTg2MzgxOSArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLWNhbGxlci5jCTIwMTYtMDEtMDggMjE6MTA6 MTUuNDk4MDc5NTg3ICswMTAwCiBAQCAtMCwwICsxLDI4IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBp cyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTEwMywxMCArMTAzLDEwIEBA IEluZGV4OiBnZGItNy43L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLWNh bGxlci5jCiArICAvKiBNb2RpZnkgdGhlIHJldHVybiB2YWx1ZSB0byBwcmV2ZW50IGFueSB0YWls LWNhbGwgb3B0aW1pemF0aW9uLiAgKi8KICsgIHJldHVybiAoKmNhbGxiYWNrKSAoKSAtIG9uZTsK ICt9Ci1JbmRleDogZ2RiLTcuNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRp ZS1tYWluLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2NmaS13aXRob3V0LWRpZS1tYWluLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy43L2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLW1haW4uYwkyMDE0LTAyLTA2IDE5OjM1OjIzLjQ4 NTg2MzgxOSArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvY2ZpLXdpdGhvdXQtZGllLW1haW4uYwkyMDE2LTAxLTA4IDIxOjEwOjE1LjQ5ODA3OTU4 NyArMDEwMAogQEAgLTAsMCArMSwzMiBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBH REIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xNDAsMTEgKzE0MCwxMSBAQCBJbmRleDogZ2Ri LTcuNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS1tYWluLmMKICt7CiAr ICByZXR1cm4gY2FsbGVyIChjYWxsYmFjayk7CiArfQotSW5kZXg6IGdkYi03LjcvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9jZmktd2l0aG91dC1kaWUuZXhwCitJbmRleDogZ2RiLTcuMTAuNTAuMjAx NjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jZmktd2l0aG91dC1kaWUuZXhwCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0r KysgZ2RiLTcuNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS5leHAJMjAx NC0wMi0wNiAyMDoyNjowMC43NzUyMDg4NDcgKzAxMDAKLUBAIC0wLDAgKzEsNjcgQEAKKysrKyBn ZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRp ZS5leHAJMjAxNi0wMS0wOCAyMToxMzowNC41Mjk5OTgwMDkgKzAxMDAKK0BAIC0wLDAgKzEsNzEg QEAKICsjIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwog KyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKQEAgLTE4Niw2ICsxODYsMTAgQEAgSW5kZXg6IGdkYi03LjcvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9jZmktd2l0aG91dC1kaWUuZXhwCiArfQogK3NldCB0ZXN0ICJ2ZXJp ZnkgdW53aW5kaW5nIGJyZWFrcyB3aXRob3V0IENGSSIKICtnZGJfdGVzdF9tdWx0aXBsZSAiYnQi ICR0ZXN0IHsKKysgICAgLXJlICIgaW4gXFs/XF1cWz9cXSAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7 CisrCSMgSXQgbWF5IGJhY2t0cmFjZSB0aHJvdWdoIHNvbWUgcmFuZG9tIGZyYW1lcyBldmVuIHRv IG1haW4oKS4KKysJcGFzcyAkdGVzdAorKyAgICB9CiArICAgIC1yZSAiIGluIG1haW4gLipcclxu JGdkYl9wcm9tcHQgJCIgewogKwlmYWlsICR0ZXN0CiArICAgIH0KCmRpZmYgLS1naXQgYS9nZGIt dGVzdHN1aXRlLWZvbGwtdmZvcmsucGF0Y2ggYi9nZGItdGVzdHN1aXRlLWZvbGwtdmZvcmsucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTAxMzQzZAotLS0gL2Rldi9u dWxsCisrKyBiL2dkYi10ZXN0c3VpdGUtZm9sbC12Zm9yay5wYXRjaApAQCAtMCwwICsxLDEyOCBA QAoraHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTYtMDEvbXNnMDAxNDIu aHRtbAorU3ViamVjdDogW3Rlc3RzdWl0ZSBwYXRjaF0gUmVncmVzc2lvbiBmb3IgZm9sbC12Zm9y ay5leHAgIFtSZTogW1BBVENIXSBSZW1vdmUgSFAtVVggcmVmZXJlbmNlIGluIGZvbGwtdmZvcmsu ZXhwXQorCisKKy0tUEVJQUt1L1dNbjFiMUh2OQorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBj aGFyc2V0PXVzLWFzY2lpCitDb250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmUKKworT24gVHVlLCAy MiBEZWMgMjAxNSAxNjo1MzoyMyArMDEwMCwgU2ltb24gTWFyY2hpIHdyb3RlOgorPiBUaGFua3Ms IHB1c2hlZC4KKworZmUzM2ZhZmYzNWE4ZWUxOWRiODIzMTQ5ZTc2NGUzMzczZTYwM2JiOSBpcyB0 aGUgZmlyc3QgYmFkIGNvbW1pdAorY29tbWl0IGZlMzNmYWZmMzVhOGVlMTlkYjgyMzE0OWU3NjRl MzM3M2U2MDNiYjkKK0F1dGhvcjogU2ltb24gTWFyY2hpIDxzaW1vbi5tYXJjaGlAZXJpY3Nzb24u Y29tPgorRGF0ZTogICBUdWUgRGVjIDIyIDEwOjUyOjMxIDIwMTUgLTA1MDAKKyAgICBSZW1vdmUg SFAtVVggcmVmZXJlbmNlIGluIGZvbGwtdmZvcmsuZXhwCisKK0ZBSUw6IGdkYi5iYXNlL2ZvbGwt dmZvcmsuZXhwOiBleGVjOiB2Zm9yayBwYXJlbnQgZm9sbG93LCBmaW5pc2ggYWZ0ZXIgdGNhdGNo IHZmb3JrOiBjb250aW51ZSB0byB2Zm9yaworRkFJTDogZ2RiLmJhc2UvZm9sbC12Zm9yay5leHA6 IGV4ZWM6IHZmb3JrIGNoaWxkIGZvbGxvdywgZmluaXNoIGFmdGVyIHRjYXRjaCB2Zm9yazogY29u dGludWUgdG8gdmZvcmsKK0ZBSUw6IGdkYi5iYXNlL2ZvbGwtdmZvcmsuZXhwOiBleGl0OiB2Zm9y ayBwYXJlbnQgZm9sbG93LCBmaW5pc2ggYWZ0ZXIgdGNhdGNoIHZmb3JrOiBjb250aW51ZSB0byB2 Zm9yaworRkFJTDogZ2RiLmJhc2UvZm9sbC12Zm9yay5leHA6IGV4aXQ6IHZmb3JrIGNoaWxkIGZv bGxvdywgZmluaXNoIGFmdGVyIHRjYXRjaCB2Zm9yazogY29udGludWUgdG8gdmZvcmsKKworSXQg aGFwcGVucyBmb3IgcGxhaW4gZ2RiLmJhc2UvZm9sbC12Zm9yay5leHAgcnVudGVzdCBvbiBGZWRv cmEgMjMgeDg2XzY0LgorCistVGVtcG9yYXJ5IGNhdGNocG9pbnQgMiAodmZvcmtlZCBwcm9jZXNz IDI0NTYyKSwgdmZvcmsgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3Zm b3JrLlM6NTJeTQorK1RlbXBvcmFyeSBjYXRjaHBvaW50IDIgKHZmb3JrZWQgcHJvY2VzcyAyNTM0 NSksIHZmb3JrICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC92Zm9yay5T OjUyXk0KKyA1MiAgICAgICAgICAgICBwdXNocSAgICVyZGleTQorIEN1cnJlbnQgbGFuZ3VhZ2U6 ICBhdXRvXk0KKyBUaGUgY3VycmVudCBzb3VyY2UgbGFuZ3VhZ2UgaXMgImF1dG87IGN1cnJlbnRs eSBhc20iLl5NCistKGdkYikgUEFTUzogZ2RiLmJhc2UvZm9sbC12Zm9yay5leHA6IGV4ZWM6IHZm b3JrIHBhcmVudCBmb2xsb3csIGZpbmlzaCBhZnRlciB0Y2F0Y2ggdmZvcms6IGNvbnRpbnVlIHRv IHZmb3JrCisrKGdkYikgRkFJTDogZ2RiLmJhc2UvZm9sbC12Zm9yay5leHA6IGV4ZWM6IHZmb3Jr IHBhcmVudCBmb2xsb3csIGZpbmlzaCBhZnRlciB0Y2F0Y2ggdmZvcms6IGNvbnRpbnVlIHRvIHZm b3JrCisKKy1UZW1wb3JhcnkgY2F0Y2hwb2ludCAyICh2Zm9ya2VkIHByb2Nlc3MgMjQ2MjkpLCB2 Zm9yayAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvdmZvcmsuUzo1Ml5N CisrVGVtcG9yYXJ5IGNhdGNocG9pbnQgMiAodmZvcmtlZCBwcm9jZXNzIDI1NDExKSwgdmZvcmsg KCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3Zmb3JrLlM6NTJeTQorIDUy ICAgICAgICAgICAgIHB1c2hxICAgJXJkaV5NCisgQ3VycmVudCBsYW5ndWFnZTogIGF1dG9eTQor IFRoZSBjdXJyZW50IHNvdXJjZSBsYW5ndWFnZSBpcyAiYXV0bzsgY3VycmVudGx5IGFzbSIuXk0K Ky0oZ2RiKSBQQVNTOiBnZGIuYmFzZS9mb2xsLXZmb3JrLmV4cDogZXhlYzogdmZvcmsgY2hpbGQg Zm9sbG93LCBmaW5pc2ggYWZ0ZXIgdGNhdGNoIHZmb3JrOiBjb250aW51ZSB0byB2Zm9yaworKyhn ZGIpIEZBSUw6IGdkYi5iYXNlL2ZvbGwtdmZvcmsuZXhwOiBleGVjOiB2Zm9yayBjaGlsZCBmb2xs b3csIGZpbmlzaCBhZnRlciB0Y2F0Y2ggdmZvcms6IGNvbnRpbnVlIHRvIHZmb3JrCisKKworU28g SSBoYXZlIHJldmVydGVkIGl0IGFuZCBqdXN0IHNpbXBsaWZpZWQgdGhlIGNvbW1lbnQsIE9LIGZv ciBjaGVjay1pbj8KKworVGhlIHRoaXJkIGNhc2UgaXMgbm90IG5lY2Vzc2FyeSBkdXJpbmcgdGVz dGluZyBidXQgSSBoYXZlIGNoYW5nZWQgYmFjayBhbGwgdGhlCiszIGNhc2VzLgorCisKK0phbgor CistLVBFSUFLdS9XTW4xYjFIdjkKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11 cy1hc2NpaQorQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lOyBmaWxlbmFtZT0xCisKK2dkYi90 ZXN0c3VpdGUvQ2hhbmdlTG9nCisyMDE2LTAxLTA4ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0 b2NodmlsQHJlZGhhdC5jb20+CisKKwkqIGdkYi5iYXNlL2ZvbGwtdmZvcmsuZXhwICh0Y2F0Y2hf dmZvcmtfdGhlbl9wYXJlbnRfZm9sbG93KQorCSh0Y2F0Y2hfdmZvcmtfdGhlbl9jaGlsZF9mb2xs b3dfZXhlYykKKwkodGNhdGNoX3Zmb3JrX3RoZW5fY2hpbGRfZm9sbG93X2V4aXQpOiBSZXZlcnQg YmFjayBEV0FSRiB2Zm9yaworCWlkZW50aWZpY2F0aW9uLgorCitkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9mb2xsLXZmb3JrLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv Zm9sbC12Zm9yay5leHAKK2luZGV4IGVmYTFiMzkuLmViYmU0YWQgMTAwNjQ0CistLS0gYS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2ZvbGwtdmZvcmsuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2ZvbGwtdmZvcmsuZXhwCitAQCAtMjIyLDggKzIyMiwxNyBAQCBwcm9jIHRjYXRjaF92 Zm9ya190aGVuX3BhcmVudF9mb2xsb3cge30geworICAgIGdkYl90ZXN0X25vX291dHB1dCAic2V0 IGZvbGxvdy1mb3JrIHBhcmVudCIKKyAKKyAgICBnZGJfdGVzdCAidGNhdGNoIHZmb3JrIiAiQ2F0 Y2hwb2ludCAuKih2Zm9yaykuKiIKKy0gICBnZGJfdGVzdCAiY29udGludWUiICIweFxbMC05YS1m QS1GXF0qLioodmZvcmt8X19rZXJuZWxfdj9zeXNjYWxsKS4qIiBcCistCSJjb250aW51ZSB0byB2 Zm9yayIKKysKKysgICAjIEl0IG1heSBzdG9wIGluIGVpdGhlciAidmZvcmsiIG9yICJfdmZvcmsi LgorKyAgIHNldCB0ZXN0ICJjb250aW51ZSB0byB2Zm9yayIKKysgICBnZGJfdGVzdF9tdWx0aXBs ZSAiY29udGludWUiICR0ZXN0IHsKKysgICAgICAtcmUgIjB4XFswLTlhLWZBLUZcXSouKih2Zm9y a3xfX2tlcm5lbF92P3N5c2NhbGwpLiokZ2RiX3Byb21wdCAiIHsKKysJICBwYXNzICR0ZXN0Cisr ICAgICAgfQorKyAgICAgIC1yZSAidmZvcmsgXFwoXFwpIGF0LiokZ2RiX3Byb21wdCAiIHsKKysJ ICBwYXNzICR0ZXN0CisrICAgICAgfQorKyAgIH0KKyAKKyAgICBzZXQgbGluZW51bSBbZ2RiX2dl dF9saW5lX251bWJlciAicGlkID0gdmZvcmsgKCk7Il0KKyAgICBzZXQgdGVzdCAiZmluaXNoIgor QEAgLTI1NCw4ICsyNjMsMTcgQEAgcHJvYyB0Y2F0Y2hfdmZvcmtfdGhlbl9jaGlsZF9mb2xsb3df ZXhlYyB7fSB7CisgICAgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgZm9sbG93LWZvcmsgY2hpbGQi CisgCisgICAgZ2RiX3Rlc3QgInRjYXRjaCB2Zm9yayIgIkNhdGNocG9pbnQgLioodmZvcmspLioi CistICAgZ2RiX3Rlc3QgImNvbnRpbnVlIiAiMHhcWzAtOWEtZkEtRlxdKi4qKHZmb3JrfF9fa2Vy bmVsX3Y/c3lzY2FsbCkuKiIgXAorLQkiY29udGludWUgdG8gdmZvcmsiCisrCisrICAgIyBJdCBt YXkgc3RvcCBpbiBlaXRoZXIgInZmb3JrIiBvciAiX3Zmb3JrIi4KKysgICBzZXQgdGVzdCAiY29u dGludWUgdG8gdmZvcmsiCisrICAgZ2RiX3Rlc3RfbXVsdGlwbGUgImNvbnRpbnVlIiAkdGVzdCB7 CisrICAgICAgLXJlICJ2Zm9yayBcXChcXCkgYXQgLiokZ2RiX3Byb21wdCAkIiB7CisrCSAgcGFz cyAkdGVzdAorKyAgICAgIH0KKysgICAgICAtcmUgIjB4XFswLTlhLWZBLUZcXSouKih2Zm9ya3xf X2tlcm5lbF92P3N5c2NhbGwpLiokZ2RiX3Byb21wdCAiIHsKKysJICBwYXNzICR0ZXN0CisrICAg ICAgfQorKyAgIH0KKyAKKyAgICBzZXQgbGluZW51bTEgW2dkYl9nZXRfbGluZV9udW1iZXIgInBp ZCA9IHZmb3JrICgpOyJdCisgICAgc2V0IGxpbmVudW0yIFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJw cmludGYoXCJIZWxsbyBmcm9tIHZmb3JrZWQtcHJvZyIgJHtzcmNmaWxlMn1dCitAQCAtMjkwLDgg KzMwOCwxNyBAQCBwcm9jIHRjYXRjaF92Zm9ya190aGVuX2NoaWxkX2ZvbGxvd19leGl0IHt9IHsK KyAgICBnZGJfdGVzdF9ub19vdXRwdXQgInNldCBmb2xsb3ctZm9yayBjaGlsZCIKKyAKKyAgICBn ZGJfdGVzdCAidGNhdGNoIHZmb3JrIiAiQ2F0Y2hwb2ludCAuKih2Zm9yaykuKiIKKy0gICBnZGJf dGVzdCAiY29udGludWUiICIweFxbMC05YS1mQS1GXF0qLioodmZvcmt8X19rZXJuZWxfdj9zeXNj YWxsKS4qIiBcCistCSJjb250aW51ZSB0byB2Zm9yayIKKysKKysgICAjIEl0IG1heSBzdG9wIGlu IGVpdGhlciAidmZvcmsiIG9yICJfdmZvcmsiLgorKyAgIHNldCB0ZXN0ICJjb250aW51ZSB0byB2 Zm9yayIKKysgICBnZGJfdGVzdF9tdWx0aXBsZSAiY29udGludWUiICR0ZXN0IHsKKysgICAgICAt cmUgInZmb3JrIFxcKFxcKSBhdCAuKiRnZGJfcHJvbXB0ICQiIHsKKysJICBwYXNzICR0ZXN0Cisr ICAgICAgfQorKyAgICAgIC1yZSAiMHhcWzAtOWEtZkEtRlxdKi4qKHZmb3JrfF9fa2VybmVsX3Y/ c3lzY2FsbCkuKiRnZGJfcHJvbXB0ICIgeworKwkgIHBhc3MgJHRlc3QKKysgICAgICB9CisrICAg fQorIAorICAgIHNldCB0ZXN0ICJmaW5pc2giCisgICAgZ2RiX3Rlc3RfbXVsdGlwbGUgImZpbmlz aCIgJHRlc3QgeworCistLVBFSUFLdS9XTW4xYjFIdjktLQorCgpkaWZmIC0tZ2l0IGEvZ2RiLXRl c3RzdWl0ZS1mdW5jYXJncy1tMzIucGF0Y2ggYi9nZGItdGVzdHN1aXRlLWZ1bmNhcmdzLW0zMi5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTI2OGQ4Ci0tLSAvZGV2 L251bGwKKysrIGIvZ2RiLXRlc3RzdWl0ZS1mdW5jYXJncy1tMzIucGF0Y2gKQEAgLTAsMCArMSw4 OCBAQAoraHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTYtMDEvbXNnMDAx NDAuaHRtbAorU3ViamVjdDogW3Rlc3RzdWl0ZSBwYXRjaF0gaTM4NiByZWdyZXNzaW9uIGZvciBm dW5jYXJncy5leHAgIFtSZTogW1BBVENIIDMvM10gUmVtb3ZlIEhQLVVYIHJlZmVyZW5jZXMgZm9t IHRlc3RzdWl0ZV0KKworCistLUVlUWZHd1BjUVNPSkJhUVUKK0NvbnRlbnQtVHlwZTogdGV4dC9w bGFpbjsgY2hhcnNldD11cy1hc2NpaQorQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lCisKK09u IE1vbiwgMjEgRGVjIDIwMTUgMTg6NTI6NTkgKzAxMDAsIFNpbW9uIE1hcmNoaSB3cm90ZToKKz4g T2ssIEkgcHVzaGVkIHRoaXMgb25lIGluLiAgVGhhbmtzIQorCiszY2EyMjY0OWE2ZGZlYjcxMDU4 YzMzYmU0ZDA1NDJiOThmMWYwZmY1IGlzIHRoZSBmaXJzdCBiYWQgY29tbWl0Citjb21taXQgM2Nh MjI2NDlhNmRmZWI3MTA1OGMzM2JlNGQwNTQyYjk4ZjFmMGZmNQorQXV0aG9yOiBTaW1vbiBNYXJj aGkgPHNpbW9uLm1hcmNoaUBwb2x5bXRsLmNhPgorRGF0ZTogICBNb24gRGVjIDIxIDEyOjUxOjU0 IDIwMTUgLTA1MDAKKyAgICBSZW1vdmUgSFAtVVggcmVmZXJlbmNlcyBmb20gdGVzdHN1aXRlCisj IyMgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Z1bmNhcmdzLmV4cAorIyMjIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9mdW5jYXJncy5leHAKK0BAIC0xMDEzLDEzICsxMDEzLDYgQEAgcHJvYyBs b2NhbHZhcnNfaW5faW5kaXJlY3RfY2FsbCB7IH0geworICAgICAjCisgCisgICAgIGdkYl90ZXN0 X211bHRpcGxlICJmaW5pc2giICJmaW5pc2ggZnJvbSBpbmRpcmVjdGx5IGNhbGxlZCBmdW5jdGlv biIgeworLQktcmUgIlxcKFxcKnBvaW50ZXJfdG9fY2FsbDBhXFwpIFxcKGMsIHMsIGksIGxcXCk7 LipGaXJzdC4qJGdkYl9wcm9tcHQgJCIgeworLQkgICAgI09uIGhwcGEyLjB3LWhwLWhwdXgxMS4w MCwgZ2RiIGZpbmlzaGVzIGF0IG9uZSBsaW5lIGVhcmxpZXIgdGhhbiAKKy0JICAgICNocHBhMS4x LWhwLWhwdXgxMS4wMC4gVGhlcmVmb3JlLCBhbiBleHRyYSAic3RlcCIgaXMgbmVjZXNzYXJ5IAor LQkgICAgI3RvIGNvbnRpbnVlIHRoZSB0ZXN0LgorLQkgICAgc2VuZF9nZGIgInN0ZXBcbiIKKy0J ICAgIGV4cF9jb250aW51ZQorLQl9CisgCS1yZSAiLipcXChcXCpwb2ludGVyX3RvX2NhbGwwYVxc KSBcXChjLCBzLCBpLCBsXFwpOy4qU2Vjb25kLiokZ2RiX3Byb21wdCAkIiB7CisgCSAgICBwYXNz ICJmaW5pc2ggZnJvbSBpbmRpcmVjdGx5IGNhbGxlZCBmdW5jdGlvbiIKKyAJfQorCistPgorCisg ZmluaXNoXk0KKyBSdW4gdGlsbCBleGl0IGZyb20gIzAgIGNhbGwwYSAoYz05NyAnYScsIHM9MSwg aT0yLCBsPTMpIGF0IC4vZ2RiLmJhc2UvZnVuY2FyZ3MuYzo4Ml5NCisgMHgwODA0YTE4OSBpbiBt YWluICgpIGF0IC4vZ2RiLmJhc2UvZnVuY2FyZ3MuYzo1ODNeTQorIDU4MyAgICAgICgqcG9pbnRl cl90b19jYWxsMGEpIChjLCBzLCBpLCBsKTsgICAgLyogRmlyc3Qgc3RlcCBpbnRvIGNhbGwwYS4g ICovXk0KKy0oZ2RiKSBzdGVwXk0KKy01ODQgICAgICAoKnBvaW50ZXJfdG9fY2FsbDBhKSAoYywg cywgaSwgbCk7ICAgIC8qIFNlY29uZCBzdGVwIGludG8gY2FsbDBhLiAgKi9eTQorLShnZGIpIFBB U1M6IGdkYi5iYXNlL2Z1bmNhcmdzLmV4cDogZmluaXNoIGZyb20gaW5kaXJlY3RseSBjYWxsZWQg ZnVuY3Rpb24KKysoZ2RiKSBGQUlMOiBnZGIuYmFzZS9mdW5jYXJncy5leHA6IGZpbmlzaCBmcm9t IGluZGlyZWN0bHkgY2FsbGVkIGZ1bmN0aW9uCisgc3RlcF5NCistY2FsbDBhIChjPTk3ICdhJywg cz0xLCBpPTIsIGw9MykgYXQgLi9nZGIuYmFzZS9mdW5jYXJncy5jOjgyXk0KKy04MiAgICAgICBj ID0gJ2EnO15NCistKGdkYikgUEFTUzogZ2RiLmJhc2UvZnVuY2FyZ3MuZXhwOiBzdGVwcGluZyBp bnRvIGluZGlyZWN0bHkgY2FsbGVkIGZ1bmN0aW9uCisrNTg0ICAgICAgKCpwb2ludGVyX3RvX2Nh bGwwYSkgKGMsIHMsIGksIGwpOyAgICAvKiBTZWNvbmQgc3RlcCBpbnRvIGNhbGwwYS4gICovXk0K KysoZ2RiKSBGQUlMOiBnZGIuYmFzZS9mdW5jYXJncy5leHA6IHN0ZXBwaW5nIGludG8gaW5kaXJl Y3RseSBjYWxsZWQgZnVuY3Rpb24KKworQXQgbGVhc3Qgb24geDg2XzY0IHdpdGggdGVzdHN1aXRl IGluIC1tMzIgKGV4cGVjdGluZyBuYXRpdmUgaTM4NiB3b3VsZCBiZSB0aGUKK3NhbWUpLgorCitP SyBmb3IgY2hlY2staW4/CisKKworSmFuCisKKy0tRWVRZkd3UGNRU09KQmFRVQorQ29udGVudC1U eXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXVzLWFzY2lpCitDb250ZW50LURpc3Bvc2l0aW9uOiBp bmxpbmU7IGZpbGVuYW1lPTEKKworZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKKzIwMTYtMDEtMDgg IEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCSogZ2RiLmJh c2UvZnVuY2FyZ3MuZXhwIChmaW5pc2ggZnJvbSBpbmRpcmVjdGx5IGNhbGxlZCBmdW5jdGlvbik6 CisJUmVpbnRyb2R1Y2UgdGhlIGNhc2UgZm9yICdGaXJzdCcuCisKK2RpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2Z1bmNhcmdzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv ZnVuY2FyZ3MuZXhwCitpbmRleCBlNWI2Y2VkLi5hNDc2MTY5IDEwMDY0NAorLS0tIGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9mdW5jYXJncy5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvZnVuY2FyZ3MuZXhwCitAQCAtMTAxMyw2ICsxMDEzLDEyIEBAIHByb2MgbG9jYWx2YXJzX2lu X2luZGlyZWN0X2NhbGwgeyB9IHsKKyAgICAgIworIAorICAgICBnZGJfdGVzdF9tdWx0aXBsZSAi ZmluaXNoIiAiZmluaXNoIGZyb20gaW5kaXJlY3RseSBjYWxsZWQgZnVuY3Rpb24iIHsKKysJLXJl ICJcXChcXCpwb2ludGVyX3RvX2NhbGwwYVxcKSBcXChjLCBzLCBpLCBsXFwpOy4qRmlyc3QuKiRn ZGJfcHJvbXB0ICQiIHsKKysJICAgICMgT24gaTM4NiwgZ2RiIGZpbmlzaGVzIGF0IG9uZSBsaW5l IGVhcmxpZXIgdGhhbiBvbiB4ODZfNjQuCisrCSAgICAjIFRoZXJlZm9yZSwgYW4gZXh0cmEgInN0 ZXAiIGlzIG5lY2Vzc2FyeSB0byBjb250aW51ZSB0aGUgdGVzdC4KKysJICAgIHNlbmRfZ2RiICJz dGVwXG4iCisrCSAgICBleHBfY29udGludWUKKysJfQorIAktcmUgIi4qXFwoXFwqcG9pbnRlcl90 b19jYWxsMGFcXCkgXFwoYywgcywgaSwgbFxcKTsuKlNlY29uZC4qJGdkYl9wcm9tcHQgJCIgewor IAkgICAgcGFzcyAiZmluaXNoIGZyb20gaW5kaXJlY3RseSBjYWxsZWQgZnVuY3Rpb24iCisgCX0K KworLS1FZVFmR3dQY1FTT0pCYVFVLS0KKwoKZGlmZiAtLWdpdCBhL2dkYi10ZXN0c3VpdGUtbXVs dGktYmFzZS13YXJuaW5ncy5wYXRjaCBiL2dkYi10ZXN0c3VpdGUtbXVsdGktYmFzZS13YXJuaW5n cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjYxZWQyCi0tLSAv ZGV2L251bGwKKysrIGIvZ2RiLXRlc3RzdWl0ZS1tdWx0aS1iYXNlLXdhcm5pbmdzLnBhdGNoCkBA IC0wLDAgKzEsMTQxIEBACitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAx Ni0wMS9tc2cwMDEzNy5odG1sCitTdWJqZWN0OiBbdGVzdHN1aXRlIHBhdGNoXSBGaXggZ2RiLm11 bHRpL2Jhc2UuZXhwIHRlc3RzdWl0ZSByZWdyZXNzaW9uICBbUmU6IFtvYi9wdXNoZWRdIFN0b3Ag dXNpbmcgbm93YXJuaW5ncyBpbiBnZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS9dCisKKworLS1mZGoy UmZTakx4QkFzcHo3CitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkK K0NvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZQorCitPbiBUaHUsIDEwIERlYyAyMDE1IDE3OjMx OjExICswMTAwLCBQZWRybyBBbHZlcyB3cm90ZToKKz4gU2V2ZXJhbCBvZiB0aGUgZ2RiLm11bHRp IHRlc3RzIHVzZSB0aGUgIm5vd2FybmluZ3MiIG9wdGlvbiB0byBzdXBwcmVzcworPiB3YXJuaW5n cy4KKworY29tbWl0IDc2MmY3NzQ3ODVmNGVmODc4YWM0YzgzMWUxZjQ3MzNkYzk1NzIzNGQKK0F1 dGhvcjogUGVkcm8gQWx2ZXMgPHBhbHZlc0ByZWRoYXQuY29tPgorRGF0ZTogICBUaHUgRGVjIDEw IDE2OjIxOjA2IDIwMTUgKzAwMDAKKyAgICBTdG9wIHVzaW5nIG5vd2FybmluZ3MgaW4gZ2RiL3Rl c3RzdWl0ZS9nZGIubXVsdGkvCisKKytnZGIgY29tcGlsZSBmYWlsZWQsIGdkYi90ZXN0c3VpdGUv Z2RiLm11bHRpL2hlbGxvLmM6IEluIGZ1bmN0aW9uICdjb21tb25mdW4nOgorK2dkYi90ZXN0c3Vp dGUvZ2RiLm11bHRpL2hlbGxvLmM6MjQ6MTk6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9u IG9mIGZ1bmN0aW9uICdiYXInIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQorKyBp bnQgY29tbW9uZnVuKCkgeyBiYXIoKTsgfSAvKiBmcm9tIGhlbGxvICovCisrICAgICAgICAgICAg ICAgICAgIF4KKytnZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS9oZWxsby5jOiBBdCB0b3AgbGV2ZWw6 CisrZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvaGVsbG8uYzoyNjoxOiB3YXJuaW5nOiByZXR1cm4g dHlwZSBkZWZhdWx0cyB0byAnaW50JyBbLVdpbXBsaWNpdC1pbnRdCisrIGJhcigpCisrIF4KKytn ZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS9oZWxsby5jOjMyOjE6IHdhcm5pbmc6IHJldHVybiB0eXBl IGRlZmF1bHRzIHRvICdpbnQnIFstV2ltcGxpY2l0LWludF0KKysgaGVsbG8oaW50IHgpCisrIF4K KytnZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS9oZWxsby5jOjM4OjE6IHdhcm5pbmc6IHJldHVybiB0 eXBlIGRlZmF1bHRzIHRvICdpbnQnIFstV2ltcGxpY2l0LWludF0KKysgbWFpbigpCisrIF4KKytV TlRFU1RFRDogZ2RiLm11bHRpL2Jhc2UuZXhwOiBiYXNlLmV4cAorCisKK09LIGZvciBjaGVjay1p bj8KKworCitKYW4KKworLS1mZGoyUmZTakx4QkFzcHo3CitDb250ZW50LVR5cGU6IHRleHQvcGxh aW47IGNoYXJzZXQ9dXMtYXNjaWkKK0NvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZTsgZmlsZW5h bWU9MQorCitnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZworMjAxNi0wMS0wOCAgSmFuIEtyYXRvY2h2 aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorCisJKiBnZGIubXVsdGkvZ29vZGJ5ZS5j OiBGaXggY29tcGlsYXRpb24gd2FybmluZ3MgYnkgYWRkaW5nIHJldHVybiB0eXBlcworCWFuZCBy ZW9yZGVyaW5nIHRoZSBmdW5jdGlvbnMuCisJKiBnZGIubXVsdGkvaGFuZ291dC5jOiBMaWtld2lz ZS4KKwkqIGdkYi5tdWx0aS9oZWxsby5jOiBMaWtld2lzZS4KKworZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLm11bHRpL2dvb2RieWUuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL2dv b2RieWUuYworaW5kZXggNzAxZTUwNC4uYmY3NzU5YSAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3Vp dGUvZ2RiLm11bHRpL2dvb2RieWUuYworKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvZ29v ZGJ5ZS5jCitAQCAtMzksMjQgKzM5LDI4IEBAIGludCB2ZXJ5bG9uZ2Z1bigpCisgICBnbG9iICo9 IDk7CisgfQorIAorLW1haW4oKSB7CistICBtYWlsYW5kKCk7CistICBmb28oZ2xvYik7CistICB2 ZXJ5bG9uZ2Z1bigpOworLSAgZ29vZGJ5ZSgpOworLX0KKy0KKy1mb28oaW50IHgpIHsKKy0gIHJl dHVybiB4ICsgOTI7CistfQorLQorK3ZvaWQKKyBtYWlsYW5kKCkKKyB7CisgICBnbG9iID0gNDY7 CisgfQorIAorLXZvaWQgY29tbW9uZnVuKCkgeyBtYWlsYW5kKCk7IH0gLyogZnJvbSBnb29kYnll ICovCisraW50CisrZm9vKGludCB4KSB7CisrICByZXR1cm4geCArIDkyOworK30KKyAKKyt2b2lk CisgZ29vZGJ5ZSgpIHsKKyAgICsrZ2xvYjsKKyB9CisrCisraW50CisrbWFpbigpIHsKKysgIG1h aWxhbmQoKTsKKysgIGZvbyhnbG9iKTsKKysgIHZlcnlsb25nZnVuKCk7CisrICBnb29kYnllKCk7 CisrfQorKworK3ZvaWQgY29tbW9uZnVuKCkgeyBtYWlsYW5kKCk7IH0gLyogZnJvbSBnb29kYnll ICovCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvaGFuZ291dC5jIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIubXVsdGkvaGFuZ291dC5jCitpbmRleCBlMmM0MWI4Li4zNzAxNTEyIDEw MDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvaGFuZ291dC5jCisrKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5tdWx0aS9oYW5nb3V0LmMKK0BAIC0xNyw2ICsxNyw3IEBACisgCisgI2lu Y2x1ZGUgPHN0ZGlvLmg+CisgCisraW50CisgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQor IHsKKyAgIGludCBpOworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL2hlbGxv LmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS9oZWxsby5jCitpbmRleCBlZmZmNTlkLi45M2Q5 MjFmIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvaGVsbG8uYworKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvaGVsbG8uYworQEAgLTIxLDIwICsyMSwyMyBAQCBzaG9y dCBoZ2xvYiA9IDE7CisgCisgc2hvcnQgZ2xvYiA9IDkyOworIAorLWludCBjb21tb25mdW4oKSB7 IGJhcigpOyB9IC8qIGZyb20gaGVsbG8gKi8KKy0KKyt2b2lkCisgYmFyKCkKKyB7CisgICBpZiAo Z2xvYiA9PSAwKQorICAgICBleGl0KDEpOworIH0KKyAKKytpbnQgY29tbW9uZnVuKCkgeyBiYXIo KTsgfSAvKiBmcm9tIGhlbGxvICovCisrCisraW50CisgaGVsbG8oaW50IHgpCisgeworICAgeCAq PSAyOworICAgcmV0dXJuIHggKyA0NTsKKyB9CisgCisraW50CisgbWFpbigpCisgeworICAgaW50 IHRtcHg7CisKKy0tZmRqMlJmU2pMeEJBc3B6Ny0tCisKCmRpZmYgLS1naXQgYS9nZGItdmxhLWlu dGVsLnBhdGNoIGIvZ2RiLXZsYS1pbnRlbC5wYXRjaAppbmRleCAzMzYxNTg1Li45MjVmNDAxIDEw MDY0NAotLS0gYS9nZGItdmxhLWludGVsLnBhdGNoCisrKyBiL2dkYi12bGEtaW50ZWwucGF0Y2gK QEAgLTYsMTEgKzYsMTEgQEAgR0lUIHNuYXBzaG90OgogY29tbWl0IDUxMWJmZjUyMDM3MmZmYzEw ZmEyZmY1NjljMTc2YmRmMWU2ZTQ3NWQKIAogCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcv Z2RiL2MtdmFscHJpbnQuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9jLXZhbHBy aW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyNy5vcmlnL2dkYi9jLXZh bHByaW50LmMJMjAxNS0xMC0yNyAwMjo0ODozMS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4x MC41MC4yMDE1MTAyNy9nZGIvYy12YWxwcmludC5jCTIwMTUtMTEtMDMgMjE6MTM6MzUuOTU5MzM5 MTEzICswMTAwCi1AQCAtNjQyLDcgKzY0MiwxNiBAQCBjX3ZhbHVlX3ByaW50IChzdHJ1Y3QgdmFs dWUgKnZhbCwgc3RydWN0CistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvYy12YWxw cmludC5jCTIwMTYtMDEtMDggMTk6MTU6MzUuMDY1NTgyMzU5ICswMTAwCisrKysgZ2RiLTcuMTAu NTAuMjAxNjAxMDYvZ2RiL2MtdmFscHJpbnQuYwkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk3NDYzNzYz MCArMDEwMAorQEAgLTY0Miw3ICs2NDIsMTYgQEAKICAJewogIAkgIC8qIG5vcm1hbCBjYXNlICov CiAgCSAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiKCIpOwpAQCAtMjgsMTEgKzI4LDExIEBA IEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvYy12YWxwcmludC5jCiAgCSAgZnByaW50 Zl9maWx0ZXJlZCAoc3RyZWFtLCAiKSAiKTsKICAJfQogICAgICB9Ci1JbmRleDogZ2RiLTcuMTAu NTAuMjAxNTEwMjcvZ2RiL2R3YXJmMmxvYy5oCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYv Z2RiL2R3YXJmMmxvYy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjcub3Jp Zy9nZGIvZHdhcmYybG9jLmgJMjAxNS0xMC0yNyAwMjo0ODozMS4wMDAwMDAwMDAgKzAxMDAKLSsr KyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZHdhcmYybG9jLmgJMjAxNS0xMS0wMyAyMDo0MTo0 OC41MzM1MDQ5NDEgKzAxMDAKLUBAIC0xMzgsNiArMTM4LDExIEBAIGludCBkd2FyZjJfZXZhbHVh dGVfcHJvcGVydHkgKGNvbnN0IHN0cnUKKy0tLSBnZGItNy4xMC41MC4yMDE2MDEwNi5vcmlnL2dk Yi9kd2FyZjJsb2MuaAkyMDE2LTAxLTA4IDE5OjE1OjM1LjA2NjU4MjM2NSArMDEwMAorKysrIGdk Yi03LjEwLjUwLjIwMTYwMTA2L2dkYi9kd2FyZjJsb2MuaAkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk3 NDYzNzYzMCArMDEwMAorQEAgLTEzOCw2ICsxMzgsMTEgQEAKICAJCQkgICAgICBzdHJ1Y3QgcHJv cGVydHlfYWRkcl9pbmZvICphZGRyX3N0YWNrLAogIAkJCSAgICAgIENPUkVfQUREUiAqdmFsdWUp OwogIApAQCAtNDQsMTEgKzQ0LDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIv ZHdhcmYybG9jLmgKICAvKiBBIGhlbHBlciBmb3IgdGhlIGNvbXBpbGVyIGludGVyZmFjZSB0aGF0 IGNvbXBpbGVzIGEgc2luZ2xlIGR5bmFtaWMKICAgICBwcm9wZXJ0eSB0byBDIGNvZGUuCiAgCi1J bmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2R3YXJmMnJlYWQuYworSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTYwMTA2L2dkYi9kd2FyZjJyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4x MC41MC4yMDE1MTAyNy5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNS0xMC0yNyAwMjo0ODozMS4w MDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZHdhcmYycmVhZC5j CTIwMTUtMTEtMDMgMjE6MTM6MzguMjE2MzQ5ODAwICswMTAwCi1AQCAtMTc0NSw3ICsxNzQ1LDkg QEAgc3RhdGljIHZvaWQgcmVhZF9zaWduYXR1cmVkX3R5cGUgKHN0cnVjdAorLS0tIGdkYi03LjEw LjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDE2LTAxLTA4IDE5OjE1OjM1LjA3 ODU4MjQzMiArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9kd2FyZjJyZWFkLmMJ MjAxNi0wMS0wOCAxOToxNTo0NC45ODA2Mzc2NjMgKzAxMDAKK0BAIC0xNzQ1LDcgKzE3NDUsOSBA QAogIAogIHN0YXRpYyBpbnQgYXR0cl90b19keW5hbWljX3Byb3AgKGNvbnN0IHN0cnVjdCBhdHRy aWJ1dGUgKmF0dHIsCiAgCQkJCSBzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9j dSAqY3UsCkBAIC01OSw3ICs1OSw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIv ZHdhcmYycmVhZC5jCiAgCiAgLyogbWVtb3J5IGFsbG9jYXRpb24gaW50ZXJmYWNlICovCiAgCi1A QCAtMTE0MjAsNyArMTE0MjIsNyBAQCByZWFkX2Z1bmNfc2NvcGUgKHN0cnVjdCBkaWVfaW5mbyAq ZGllLCBzCitAQCAtMTE0MjAsNyArMTE0MjIsNyBAQAogICAgICB7CiAgICAgICAgbmV3b2JqLT5z dGF0aWNfbGluawogIAk9IFhPQk5FVyAoJm9iamZpbGUtPm9iamZpbGVfb2JzdGFjaywgc3RydWN0 IGR5bmFtaWNfcHJvcCk7CkBAIC02OCw3ICs2OCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1 MTAyNy9nZGIvZHdhcmYycmVhZC5jCiAgICAgIH0KICAKICAgIGN1LT5saXN0X2luX3Njb3BlID0g JmxvY2FsX3N5bWJvbHM7Ci1AQCAtMTQ0NzEsMjkgKzE0NDczLDkyIEBAIHJlYWRfdGFnX3N0cmlu Z190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmQKK0BAIC0xNDQ3MSwyOSArMTQ0NzMsOTIgQEAKICAg IHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7CiAg ICBzdHJ1Y3QgdHlwZSAqdHlwZSwgKnJhbmdlX3R5cGUsICppbmRleF90eXBlLCAqY2hhcl90eXBl OwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKQEAgLTE2OCw3ICsxNjgsNyBAQCBJbmRleDog Z2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2R3YXJmMnJlYWQuYwogICAgY2hhcl90eXBlID0gbGFu Z3VhZ2Vfc3RyaW5nX2NoYXJfdHlwZSAoY3UtPmxhbmd1YWdlX2RlZm4sIGdkYmFyY2gpOwogICAg dHlwZSA9IGNyZWF0ZV9zdHJpbmdfdHlwZSAoTlVMTCwgY2hhcl90eXBlLCByYW5nZV90eXBlKTsK ICAKLUBAIC0xNDgxNiwxMyArMTQ4ODEsMTUgQEAgcmVhZF9iYXNlX3R5cGUgKHN0cnVjdCBkaWVf aW5mbyAqZGllLCBzdAorQEAgLTE0ODE2LDEzICsxNDg4MSwxNSBAQAogICAgcmV0dXJuIHNldF9k aWVfdHlwZSAoZGllLCB0eXBlLCBjdSk7CiAgfQogIApAQCAtMTg1LDcgKzE4NSw3IEBAIEluZGV4 OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZHdhcmYycmVhZC5jCiAgewogICAgc3RydWN0IGR3 YXJmMl9wcm9wZXJ0eV9iYXRvbiAqYmF0b247CiAgICBzdHJ1Y3Qgb2JzdGFjayAqb2JzdGFjayA9 ICZjdS0+b2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrOwotQEAgLTE0ODM1LDggKzE0OTAyLDI1IEBA IGF0dHJfdG9fZHluYW1pY19wcm9wIChjb25zdCBzdHJ1Y3QgYXR0cmkKK0BAIC0xNDgzNSw4ICsx NDkwMiwyNSBAQAogICAgICAgIGJhdG9uID0gWE9CTkVXIChvYnN0YWNrLCBzdHJ1Y3QgZHdhcmYy X3Byb3BlcnR5X2JhdG9uKTsKICAgICAgICBiYXRvbi0+cmVmZXJlbmNlZF90eXBlID0gTlVMTDsK ICAgICAgICBiYXRvbi0+bG9jZXhwci5wZXJfY3UgPSBjdS0+cGVyX2N1OwpAQCAtMjEzLDcgKzIx Myw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZHdhcmYycmVhZC5jCiAgICAg ICAgcHJvcC0+ZGF0YS5iYXRvbiA9IGJhdG9uOwogICAgICAgIHByb3AtPmtpbmQgPSBQUk9QX0xP Q0VYUFI7CiAgICAgICAgZ2RiX2Fzc2VydCAocHJvcC0+ZGF0YS5iYXRvbiAhPSBOVUxMKTsKLUBA IC0xNDg3Miw4ICsxNDk1NiwyOCBAQCBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0 IGF0dHJpCitAQCAtMTQ4NzIsOCArMTQ5NTYsMjggQEAKICAJCWJhdG9uID0gWE9CTkVXIChvYnN0 YWNrLCBzdHJ1Y3QgZHdhcmYyX3Byb3BlcnR5X2JhdG9uKTsKICAJCWJhdG9uLT5yZWZlcmVuY2Vk X3R5cGUgPSBkaWVfdHlwZSAodGFyZ2V0X2RpZSwgdGFyZ2V0X2N1KTsKICAJCWJhdG9uLT5sb2Nl eHByLnBlcl9jdSA9IGN1LT5wZXJfY3U7CkBAIC0yNDQsNyArMjQ0LDcgQEAgSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMDI3L2dkYi9kd2FyZjJyZWFkLmMKICAJCXByb3AtPmRhdGEuYmF0b24gPSBi YXRvbjsKICAJCXByb3AtPmtpbmQgPSBQUk9QX0xPQ0VYUFI7CiAgCQlnZGJfYXNzZXJ0IChwcm9w LT5kYXRhLmJhdG9uICE9IE5VTEwpOwotQEAgLTE0OTI3LDcgKzE1MDMxLDcgQEAgcmVhZF9zdWJy YW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZQorQEAgLTE0OTI3LDcgKzE1MDMxLDcgQEAK ICAgIHN0cnVjdCB0eXBlICpiYXNlX3R5cGUsICpvcmlnX2Jhc2VfdHlwZTsKICAgIHN0cnVjdCB0 eXBlICpyYW5nZV90eXBlOwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKQEAgLTI1Myw3ICsy NTMsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2R3YXJmMnJlYWQuYwogICAg aW50IGxvd19kZWZhdWx0X2lzX3ZhbGlkOwogICAgaW50IGhpZ2hfYm91bmRfaXNfY291bnQgPSAw OwogICAgY29uc3QgY2hhciAqbmFtZTsKLUBAIC0xNDk0Nyw3ICsxNTA1MSw5IEBAIHJlYWRfc3Vi cmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUKK0BAIC0xNDk0Nyw3ICsxNTA1MSw5IEBA CiAgCiAgICBsb3cua2luZCA9IFBST1BfQ09OU1Q7CiAgICBoaWdoLmtpbmQgPSBQUk9QX0NPTlNU OwpAQCAtMjYzLDcgKzI2Myw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZHdh cmYycmVhZC5jCiAgCiAgICAvKiBTZXQgTE9XX0RFRkFVTFRfSVNfVkFMSUQgaWYgY3VycmVudCBs YW5ndWFnZSBhbmQgRFdBUkYgdmVyc2lvbiBhbGxvdwogICAgICAgb21pdHRpbmcgRFdfQVRfbG93 ZXJfYm91bmQuICAqLwotQEAgLTE0OTgwLDE5ICsxNTA4NiwyNiBAQCByZWFkX3N1YnJhbmdlX3R5 cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllCitAQCAtMTQ5ODAsMTkgKzE1MDg2LDI2IEBACiAgICAg ICAgYnJlYWs7CiAgICAgIH0KICAKQEAgLTI5Myw3ICsyOTMsNyBAQCBJbmRleDogZ2RiLTcuMTAu NTAuMjAxNTEwMjcvZ2RiL2R3YXJmMnJlYWQuYwogIAl7CiAgCSAgLyogSWYgYm91bmRzIGFyZSBj b25zdGFudCBkbyB0aGUgZmluYWwgY2FsY3VsYXRpb24gaGVyZS4gICovCiAgCSAgaWYgKGxvdy5r aW5kID09IFBST1BfQ09OU1QgJiYgaGlnaC5raW5kID09IFBST1BfQ09OU1QpCi1AQCAtMTUwNTYs NyArMTUxNjksNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllCitA QCAtMTUwNTYsNyArMTUxNjksNyBAQAogICAgICAgICYmICFUWVBFX1VOU0lHTkVEIChiYXNlX3R5 cGUpICYmIChoaWdoLmRhdGEuY29uc3RfdmFsICYgbmVnYXRpdmVfbWFzaykpCiAgICAgIGhpZ2gu ZGF0YS5jb25zdF92YWwgfD0gbmVnYXRpdmVfbWFzazsKICAKQEAgLTMwMiw3ICszMDIsNyBAQCBJ bmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2R3YXJmMnJlYWQuYwogIAogICAgaWYgKGhp Z2hfYm91bmRfaXNfY291bnQpCiAgICAgIFRZUEVfUkFOR0VfREFUQSAocmFuZ2VfdHlwZSktPmZs YWdfdXBwZXJfYm91bmRfaXNfY291bnQgPSAxOwotQEAgLTIyMzYwLDcgKzIyNDczLDcgQEAgc2V0 X2RpZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydQorQEAgLTIyMzYwLDcgKzIyNDcz LDcgQEAKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9hbGxvY2F0ZWQsIGN1KTsK ICAgIGlmIChhdHRyX2Zvcm1faXNfYmxvY2sgKGF0dHIpKQogICAgICB7CkBAIC0zMTEsNyArMzEx LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9kd2FyZjJyZWFkLmMKICAgICAg ICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfQUxMT0NBVEVELCBwcm9wLCB0eXBlLCBvYmpmaWxl KTsKICAgICAgfQogICAgZWxzZSBpZiAoYXR0ciAhPSBOVUxMKQotQEAgLTIyMzc1LDcgKzIyNDg4 LDcgQEAgc2V0X2RpZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydQorQEAgLTIyMzc1 LDcgKzIyNDg4LDcgQEAKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9hc3NvY2lh dGVkLCBjdSk7CiAgICBpZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgewpAQCAt MzIwLDcgKzMyMCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZHdhcmYycmVh ZC5jCiAgICAgICAgICBhZGRfZHluX3Byb3AgKERZTl9QUk9QX0FTU09DSUFURUQsIHByb3AsIHR5 cGUsIG9iamZpbGUpOwogICAgICB9CiAgICBlbHNlIGlmIChhdHRyICE9IE5VTEwpCi1AQCAtMjIz ODgsNyArMjI1MDEsNyBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1 CitAQCAtMjIzODgsNyArMjI1MDEsNyBAQAogIAogICAgLyogUmVhZCBEV19BVF9kYXRhX2xvY2F0 aW9uIGFuZCBzZXQgaW4gdHlwZS4gICovCiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdf QVRfZGF0YV9sb2NhdGlvbiwgY3UpOwpAQCAtMzI5LDEwICszMjksMTAgQEAgSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMDI3L2dkYi9kd2FyZjJyZWFkLmMKICAgICAgYWRkX2R5bl9wcm9wIChEWU5f UFJPUF9EQVRBX0xPQ0FUSU9OLCBwcm9wLCB0eXBlLCBvYmpmaWxlKTsKICAKICAgIGlmIChkd2Fy ZjJfcGVyX29iamZpbGUtPmRpZV90eXBlX2hhc2ggPT0gTlVMTCkKLUluZGV4OiBnZGItNy4xMC41 MC4yMDE1MTAyNy9nZGIvZi10eXBlcHJpbnQuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2 L2dkYi9mLXR5cGVwcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjcu b3JpZy9nZGIvZi10eXBlcHJpbnQuYwkyMDE1LTEwLTI3IDAyOjQ4OjMxLjAwMDAwMDAwMCArMDEw MAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9mLXR5cGVwcmludC5jCTIwMTUtMTEtMDMg MjE6MTM6MzUuNzA3MzM3OTIwICswMTAwCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9n ZGIvZi10eXBlcHJpbnQuYwkyMDE2LTAxLTA4IDE5OjE1OjM1LjA4MDU4MjQ0MyArMDEwMAorKysr IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9mLXR5cGVwcmludC5jCTIwMTYtMDEtMDggMTk6MTU6 NDQuOTgwNjM3NjYzICswMTAwCiBAQCAtMzEsNiArMzEsNyBAQAogICNpbmNsdWRlICJ0YXJnZXQu aCIKICAjaW5jbHVkZSAiZi1sYW5nLmgiCkBAIC0zNDEsNyArMzQxLDcgQEAgSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMDI3L2dkYi9mLXR5cGVwcmludC5jCiAgCiAgI2lmIDAJCQkJLyogQ3VycmVu dGx5IHVudXNlZC4gICovCiAgc3RhdGljIHZvaWQgZl90eXBlX3ByaW50X2FyZ3MgKHN0cnVjdCB0 eXBlICosIHN0cnVjdCB1aV9maWxlICopOwotQEAgLTY0LDYgKzY1LDE3IEBAIGZfcHJpbnRfdHlw ZSAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGMKK0BAIC02NCw2ICs2NSwxNyBAQAogICAgICB7 CiAgICAgICAgdmFsX3ByaW50X25vdF9hbGxvY2F0ZWQgKHN0cmVhbSk7CiAgICAgICAgcmV0dXJu OwpAQCAtMzU5LDEwICszNTksMTAgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9m LXR5cGVwcmludC5jCiAgICAgIH0KICAKICAgIGZfdHlwZV9wcmludF9iYXNlICh0eXBlLCBzdHJl YW0sIHNob3csIGxldmVsKTsKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZi12YWxw cmludC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2YtdmFscHJpbnQuYwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDI3Lm9yaWcvZ2RiL2YtdmFscHJpbnQuYwky MDE1LTEwLTI3IDAyOjQ4OjMxLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTUx MDI3L2dkYi9mLXZhbHByaW50LmMJMjAxNS0xMS0wMyAyMToxMzozNS45NTkzMzkxMTMgKzAxMDAK Ky0tLSBnZGItNy4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi9mLXZhbHByaW50LmMJMjAxNi0wMS0w OCAxOToxNTozNS4wODE1ODI0NDggKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIv Zi12YWxwcmludC5jCTIwMTYtMDEtMDggMTk6MTU6NDQuOTgxNjM3NjY5ICswMTAwCiBAQCAtMzYs OCArMzYsNiBAQAogIAogIGV4dGVybiB2b2lkIF9pbml0aWFsaXplX2ZfdmFscHJpbnQgKHZvaWQp OwpAQCAtMzcyLDcgKzM3Miw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZi12 YWxwcmludC5jCiAgc3RhdGljIHZvaWQgZjc3X2dldF9keW5hbWljX2xlbmd0aF9vZl9hZ2dyZWdh dGUgKHN0cnVjdCB0eXBlICopOwogIAogIGludCBmNzdfYXJyYXlfb2Zmc2V0X3RibFtNQVhfRk9S VFJBTl9ESU1TICsgMV1bMl07Ci1AQCAtNDUsMTUgKzQzLDYgQEAgaW50IGY3N19hcnJheV9vZmZz ZXRfdGJsW01BWF9GT1JUUkFOX0RJTQorQEAgLTQ1LDE1ICs0Myw2IEBACiAgLyogQXJyYXkgd2hp Y2ggaG9sZHMgb2Zmc2V0cyB0byBiZSBhcHBsaWVkIHRvIGdldCBhIHJvdydzIGVsZW1lbnRzCiAg ICAgZm9yIGEgZ2l2ZW4gYXJyYXkuICBBcnJheSBhbHNvIGhvbGRzIHRoZSBzaXplIG9mIGVhY2gg c3ViYXJyYXkuICAqLwogIApAQCAtMzg4LDcgKzM4OCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4y MDE1MTAyNy9nZGIvZi12YWxwcmludC5jCiAgaW50CiAgZjc3X2dldF9sb3dlcmJvdW5kIChzdHJ1 Y3QgdHlwZSAqdHlwZSkKICB7Ci1AQCAtMTExLDQ3ICsxMDAsNiBAQCBmNzdfZ2V0X2R5bmFtaWNf bGVuZ3RoX29mX2FnZ3JlZ2F0ZSAoc3RyCitAQCAtMTExLDQ3ICsxMDAsNiBAQAogICAgICAqIFRZ UEVfTEVOR1RIIChjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSkpOwogIH0K ICAKQEAgLTQzNiw3ICs0MzYsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2Yt dmFscHJpbnQuYwogIC8qIEFjdHVhbCBmdW5jdGlvbiB3aGljaCBwcmludHMgb3V0IEY3NyBhcnJh eXMsIFZhbGFkZHIgPT0gYWRkcmVzcyBpbiAKICAgICB0aGUgc3VwZXJpb3IuICBBZGRyZXNzID09 IHRoZSBhZGRyZXNzIGluIHRoZSBpbmZlcmlvci4gICovCiAgCi1AQCAtMTY0LDQxICsxMTIsNjIg QEAgZjc3X3ByaW50X2FycmF5XzEgKGludCBuc3MsIGludCBuZGltZW5zaQorQEAgLTE2NCw0MSAr MTEyLDYyIEBACiAgCQkgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9u cywKICAJCSAgIGludCAqZWx0cykKICB7CkBAIC01MTUsNyArNTE1LDcgQEAgSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMDI3L2dkYi9mLXZhbHByaW50LmMKICAJICAgIGZwcmludGZfZmlsdGVyZWQg KHN0cmVhbSwgIi4uLiIpOwogIAl9CiAgICAgIH0KLUBAIC0yMjUsMTIgKzE5NCw2IEBAIGY3N19w cmludF9hcnJheSAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnMKK0BAIC0yMjUsMTIgKzE5NCw2IEBA CiAgVHlwZSBub2RlIGNvcnJ1cHQhIEY3NyBhcnJheXMgY2Fubm90IGhhdmUgJWQgc3Vic2NyaXB0 cyAoJWQgTWF4KSIpLAogIAkgICBuZGltZW5zaW9ucywgTUFYX0ZPUlRSQU5fRElNUyk7CiAgCkBA IC01MjgsNyArNTI4LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9mLXZhbHBy aW50LmMKICAgIGY3N19wcmludF9hcnJheV8xICgxLCBuZGltZW5zaW9ucywgdHlwZSwgdmFsYWRk ciwgZW1iZWRkZWRfb2Zmc2V0LAogIAkJICAgICBhZGRyZXNzLCBzdHJlYW0sIHJlY3Vyc2UsIHZh bCwgb3B0aW9ucywgJmVsdHMpOwogIH0KLUBAIC0zNzUsMTIgKzMzOCwxNSBAQCBmX3ZhbF9wcmlu dCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkCitAQCAtMzc1LDEyICszMzgsMTUgQEAKICAg ICAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIoICIpOwogICAgICAgIGZvciAoaW5kZXgg PSAwOyBpbmRleCA8IFRZUEVfTkZJRUxEUyAodHlwZSk7IGluZGV4KyspCiAgICAgICAgICB7CkBA IC01NDksMTEgKzU0OSwxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2YtdmFs cHJpbnQuYwogICAgICAgICAgICBpZiAoaW5kZXggIT0gVFlQRV9ORklFTERTICh0eXBlKSAtIDEp CiAgICAgICAgICAgICAgZnB1dHNfZmlsdGVyZWQgKCIsICIsIHN0cmVhbSk7CiAgICAgICAgICB9 Ci1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmMKK0luZGV4OiBnZGIt Ny4xMC41MC4yMDE2MDEwNi9nZGIvZ2RidHlwZXMuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEw LjUwLjIwMTUxMDI3Lm9yaWcvZ2RiL2dkYnR5cGVzLmMJMjAxNS0xMC0yNyAwMjo0ODozMS4wMDAw MDAwMDAgKzAxMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZ2RidHlwZXMuYwkyMDE1 LTExLTAzIDIxOjEzOjM4LjY4MzM1MjAxMSArMDEwMAotQEAgLTgzNiw3ICs4MzYsOCBAQCBhbGxv Y2F0ZV9zdHViX21ldGhvZCAoc3RydWN0IHR5cGUgKnR5cGUpCistLS0gZ2RiLTcuMTAuNTAuMjAx NjAxMDYub3JpZy9nZGIvZ2RidHlwZXMuYwkyMDE2LTAxLTA4IDE5OjE1OjM1LjA4MzU4MjQ1OSAr MDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9nZGJ0eXBlcy5jCTIwMTYtMDEtMDgg MTk6MTU6NDQuOTgyNjM3Njc0ICswMTAwCitAQCAtODM2LDcgKzgzNiw4IEBACiAgc3RydWN0IHR5 cGUgKgogIGNyZWF0ZV9yYW5nZV90eXBlIChzdHJ1Y3QgdHlwZSAqcmVzdWx0X3R5cGUsIHN0cnVj dCB0eXBlICppbmRleF90eXBlLAogIAkJICAgY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAqbG93 X2JvdW5kLApAQCAtNTYzLDcgKzU2Myw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9n ZGIvZ2RidHlwZXMuYwogIHsKICAgIGlmIChyZXN1bHRfdHlwZSA9PSBOVUxMKQogICAgICByZXN1 bHRfdHlwZSA9IGFsbG9jX3R5cGVfY29weSAoaW5kZXhfdHlwZSk7Ci1AQCAtODUxLDYgKzg1Miw3 IEBAIGNyZWF0ZV9yYW5nZV90eXBlIChzdHJ1Y3QgdHlwZSAqcmVzdWx0X3QKK0BAIC04NTEsNiAr ODUyLDcgQEAKICAgICAgVFlQRV9aQUxMT0MgKHJlc3VsdF90eXBlLCBzaXplb2YgKHN0cnVjdCBy YW5nZV9ib3VuZHMpKTsKICAgIFRZUEVfUkFOR0VfREFUQSAocmVzdWx0X3R5cGUpLT5sb3cgPSAq bG93X2JvdW5kOwogICAgVFlQRV9SQU5HRV9EQVRBIChyZXN1bHRfdHlwZSktPmhpZ2ggPSAqaGln aF9ib3VuZDsKQEAgLTU3MSw3ICs1NzEsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcv Z2RiL2dkYnR5cGVzLmMKICAKICAgIGlmIChsb3dfYm91bmQtPmtpbmQgPT0gUFJPUF9DT05TVCAm JiBsb3dfYm91bmQtPmRhdGEuY29uc3RfdmFsID49IDApCiAgICAgIFRZUEVfVU5TSUdORUQgKHJl c3VsdF90eXBlKSA9IDE7Ci1AQCAtODc5LDcgKzg4MSw3IEBAIHN0cnVjdCB0eXBlICoKK0BAIC04 NzksNyArODgxLDcgQEAKICBjcmVhdGVfc3RhdGljX3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBlICpy ZXN1bHRfdHlwZSwgc3RydWN0IHR5cGUgKmluZGV4X3R5cGUsCiAgCQkJICBMT05HRVNUIGxvd19i b3VuZCwgTE9OR0VTVCBoaWdoX2JvdW5kKQogIHsKQEAgLTU4MCw3ICs1ODAsNyBAQCBJbmRleDog Z2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmMKICAKICAgIGxvdy5raW5kID0gUFJP UF9DT05TVDsKICAgIGxvdy5kYXRhLmNvbnN0X3ZhbCA9IGxvd19ib3VuZDsKLUBAIC04ODcsNyAr ODg5LDExIEBAIGNyZWF0ZV9zdGF0aWNfcmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKnIKK0BAIC04 ODcsNyArODg5LDExIEBACiAgICBoaWdoLmtpbmQgPSBQUk9QX0NPTlNUOwogICAgaGlnaC5kYXRh LmNvbnN0X3ZhbCA9IGhpZ2hfYm91bmQ7CiAgCkBAIC01OTMsOSArNTkzLDkgQEAgSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMDI3L2dkYi9nZGJ0eXBlcy5jCiAgCiAgICByZXR1cm4gcmVzdWx0X3R5 cGU7CiAgfQotQEAgLTEwODQsMTYgKzEwOTAsMjEgQEAgY3JlYXRlX2FycmF5X3R5cGVfd2l0aF9z dHJpZGUgKHN0cnVjdCB0eQotICAgICAgJiYgKCF0eXBlX25vdF9hc3NvY2lhdGVkIChyZXN1bHRf dHlwZSkKLSAgICAgICAgICYmICF0eXBlX25vdF9hbGxvY2F0ZWQgKHJlc3VsdF90eXBlKSkpCitA QCAtMTA4NCwxNiArMTA5MCwyMSBAQAorICAgICAgICYmICghdHlwZV9ub3RfYXNzb2NpYXRlZCAo cmVzdWx0X3R5cGUpCisgCSAgJiYgIXR5cGVfbm90X2FsbG9jYXRlZCAocmVzdWx0X3R5cGUpKSkK ICAgICAgewogLSAgICAgIExPTkdFU1QgbG93X2JvdW5kLCBoaWdoX2JvdW5kOwogKyAgICAgIExP TkdFU1QgbG93X2JvdW5kLCBoaWdoX2JvdW5kLCBieXRlX3N0cmlkZTsKQEAgLTYxNiw3ICs2MTYs NyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmMKICAgICAgICBl bHNlIGlmIChiaXRfc3RyaWRlID4gMCkKICAJVFlQRV9MRU5HVEggKHJlc3VsdF90eXBlKSA9CiAg CSAgKGJpdF9zdHJpZGUgKiAoaGlnaF9ib3VuZCAtIGxvd19ib3VuZCArIDEpICsgNykgLyA4Owot QEAgLTE4MDQsMTIgKzE4MTUsMzEgQEAgc3R1Yl9ub25hbWVfY29tcGxhaW50ICh2b2lkKQorQEAg LTE4MDQsMTIgKzE4MTUsMzEgQEAKICBzdGF0aWMgaW50CiAgaXNfZHluYW1pY190eXBlX2ludGVy bmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IHRvcF9sZXZlbCkKICB7CkBAIC02NDgsNyArNjQ4 LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9nZGJ0eXBlcy5jCiAgICAvKiBU eXBlcyB0aGF0IGhhdmUgYSBkeW5hbWljIFRZUEVfREFUQV9MT0NBVElPTiBhcmUgY29uc2lkZXJl ZAogICAgICAgZHluYW1pYywgZXZlbiBpZiB0aGUgdHlwZSBpdHNlbGYgaXMgc3RhdGljYWxseSBk ZWZpbmVkLgogICAgICAgRnJvbSBhIHVzZXIncyBwb2ludCBvZiB2aWV3LCB0aGlzIG1heSBhcHBl YXIgY291bnRlci1pbnR1aXRpdmU7Ci1AQCAtMTg0NCwxMSArMTg3NCwxOSBAQCBpc19keW5hbWlj X3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0eXBlICp0CitAQCAtMTg0NCwxMSArMTg3NCwxOSBAQAog ICAgICAgIHsKICAJZ2RiX2Fzc2VydCAoVFlQRV9ORklFTERTICh0eXBlKSA9PSAxKTsKICAKQEAg LTY3MSw3ICs2NzEsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVz LmMKICAgICAgICB9CiAgCiAgICAgIGNhc2UgVFlQRV9DT0RFX1NUUlVDVDoKLUBAIC0xODYxLDYg KzE4OTksMTggQEAgaXNfZHluYW1pY190eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdAorQEAg LTE4NjEsNiArMTg5OSwxOCBAQAogIAkgICAgICAmJiBpc19keW5hbWljX3R5cGVfaW50ZXJuYWwg KFRZUEVfRklFTERfVFlQRSAodHlwZSwgaSksIDApKQogIAkgICAgcmV0dXJuIDE7CiAgICAgICAg fQpAQCAtNjkwLDcgKzY5MCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZ2Ri dHlwZXMuYwogICAgICAgIGJyZWFrOwogICAgICB9CiAgCi1AQCAtMTg5MCw3ICsxOTQwLDggQEAg cmVzb2x2ZV9keW5hbWljX3JhbmdlIChzdHJ1Y3QgdHlwZSAqZHluXworQEAgLTE4OTAsNyArMTk0 MCw4IEBACiAgICBzdHJ1Y3QgdHlwZSAqc3RhdGljX3JhbmdlX3R5cGUsICpzdGF0aWNfdGFyZ2V0 X3R5cGU7CiAgICBjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wOwogICAgY29uc3Qgc3Ry dWN0IGR3YXJmMl9sb2NleHByX2JhdG9uICpiYXRvbjsKQEAgLTcwMCw3ICs3MDAsNyBAQCBJbmRl eDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmMKICAKICAgIGdkYl9hc3NlcnQg KFRZUEVfQ09ERSAoZHluX3JhbmdlX3R5cGUpID09IFRZUEVfQ09ERV9SQU5HRSk7CiAgCi1AQCAt MTkyMiwxMiArMTk3MywxOSBAQCByZXNvbHZlX2R5bmFtaWNfcmFuZ2UgKHN0cnVjdCB0eXBlICpk eW5fCitAQCAtMTkyMiwxMiArMTk3MywxOSBAQAogICAgICAgIGhpZ2hfYm91bmQuZGF0YS5jb25z dF92YWwgPSAwOwogICAgICB9CiAgCkBAIC03MjMsNyArNzIzLDcgQEAgSW5kZXg6IGdkYi03LjEw LjUwLjIwMTUxMDI3L2dkYi9nZGJ0eXBlcy5jCiAgICBUWVBFX1JBTkdFX0RBVEEgKHN0YXRpY19y YW5nZV90eXBlKS0+ZmxhZ19ib3VuZF9ldmFsdWF0ZWQgPSAxOwogICAgcmV0dXJuIHN0YXRpY19y YW5nZV90eXBlOwogIH0KLUBAIC0xOTQ2LDcgKzIwMDQsOCBAQCByZXNvbHZlX2R5bmFtaWNfYXJy YXkgKHN0cnVjdCB0eXBlICp0eXBlCitAQCAtMTk0Niw3ICsyMDA0LDggQEAKICAgIHN0cnVjdCB0 eXBlICphcnlfZGltOwogICAgc3RydWN0IGR5bmFtaWNfcHJvcCAqcHJvcDsKICAKQEAgLTczMyw3 ICs3MzMsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmMKICAK ICAgIHR5cGUgPSBjb3B5X3R5cGUgKHR5cGUpOwogIAotQEAgLTE5NzEsMTMgKzIwMzAsMTggQEAg cmVzb2x2ZV9keW5hbWljX2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZQorQEAgLTE5NzEsMTMgKzIw MzAsMTggQEAKICAKICAgIGFyeV9kaW0gPSBjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9UWVBF IChlbHRfdHlwZSkpOwogIApAQCAtNzU1LDcgKzc1NSw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4y MDE1MTAyNy9nZGIvZ2RidHlwZXMuYwogIH0KICAKICAvKiBSZXNvbHZlIGR5bmFtaWMgYm91bmRz IG9mIG1lbWJlcnMgb2YgdGhlIHVuaW9uIFRZUEUgdG8gc3RhdGljCi1AQCAtNDU1OCw2ICs0NjIy LDE3IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmoKK0BAIC00NTU4 LDYgKzQ2MjIsMTcgQEAKICAgICAgICBnZGJfYXNzZXJ0X25vdF9yZWFjaGVkICgiYmFkIHR5cGVf c3BlY2lmaWNfa2luZCIpOwogICAgICB9CiAgCkBAIC03NzMsMTEgKzc3MywxMSBAQCBJbmRleDog Z2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmMKICAgIHJldHVybiBuZXdfdHlwZTsK ICB9CiAgCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmgKK0luZGV4 OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvZ2RidHlwZXMuaAogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjEwLjUwLjIwMTUxMDI3Lm9yaWcvZ2RiL2dkYnR5cGVzLmgJMjAxNS0xMC0yNyAwMjo0ODoz MS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZ2RidHlwZXMu aAkyMDE1LTExLTAzIDIxOjEzOjM2Ljc2MDM0MjkwNiArMDEwMAotQEAgLTU3Nyw2ICs1NzcsMTAg QEAgc3RydWN0IHJhbmdlX2JvdW5kcworLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2Ri L2dkYnR5cGVzLmgJMjAxNi0wMS0wOCAxOToxNTozNS4wODU1ODI0NzEgKzAxMDAKKysrKyBnZGIt Ny4xMC41MC4yMDE2MDEwNi9nZGIvZ2RidHlwZXMuaAkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk4MzYz NzY4MCArMDEwMAorQEAgLTU3Nyw2ICs1NzcsMTAgQEAKICAKICAgIHN0cnVjdCBkeW5hbWljX3By b3AgaGlnaDsKICAKQEAgLTc4OCw3ICs3ODgsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEw MjcvZ2RiL2dkYnR5cGVzLmgKICAgIC8qIFRydWUgaWYgSElHSCByYW5nZSBib3VuZCBjb250YWlu cyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZQogICAgICAgc3VicmFuZ2UuIFRoaXMgYWZm ZWN0cyBob3cgdGhlIGZpbmFsIGhpZ2h0IGJvdW5kIGlzIGNvbXB1dGVkLiAgKi8KICAKLUBAIC03 NDksNiArNzUzLDE4IEBAIHN0cnVjdCBtYWluX3R5cGUKK0BAIC03NDksNiArNzUzLDE4IEBACiAg CiAgICAvKiAqIENvbnRhaW5zIGFsbCBkeW5hbWljIHR5cGUgcHJvcGVydGllcy4gICovCiAgICBz dHJ1Y3QgZHluYW1pY19wcm9wX2xpc3QgKmR5bl9wcm9wX2xpc3Q7CkBAIC04MDcsNyArODA3LDcg QEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9nZGJ0eXBlcy5oCiAgfTsKICAKICAv KiAqIEEgYGBzdHJ1Y3QgdHlwZScnIGRlc2NyaWJlcyBhIHBhcnRpY3VsYXIgaW5zdGFuY2Ugb2Yg YSB0eXBlLCB3aXRoCi1AQCAtMTI1NSw2ICsxMjcxLDE1IEBAIGV4dGVybiB2b2lkIGFsbG9jYXRl X2duYXRfYXV4X3R5cGUgKHN0cnUKK0BAIC0xMjU1LDYgKzEyNzEsMTUgQEAKICAgIFRZUEVfUkFO R0VfREFUQShyYW5nZV90eXBlKS0+aGlnaC5raW5kCiAgI2RlZmluZSBUWVBFX0xPV19CT1VORF9L SU5EKHJhbmdlX3R5cGUpIFwKICAgIFRZUEVfUkFOR0VfREFUQShyYW5nZV90eXBlKS0+bG93Lmtp bmQKQEAgLTgyMyw3ICs4MjMsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dk YnR5cGVzLmgKICAKICAvKiBQcm9wZXJ0eSBhY2Nlc3NvcnMgZm9yIHRoZSB0eXBlIGRhdGEgbG9j YXRpb24uICAqLwogICNkZWZpbmUgVFlQRV9EQVRBX0xPQ0FUSU9OKHRoaXN0eXBlKSBcCi1AQCAt MTI2Niw2ICsxMjkxLDE4IEBAIGV4dGVybiB2b2lkIGFsbG9jYXRlX2duYXRfYXV4X3R5cGUgKHN0 cnUKK0BAIC0xMjY2LDYgKzEyOTEsMTggQEAKICAjZGVmaW5lIFRZUEVfREFUQV9MT0NBVElPTl9L SU5EKHRoaXN0eXBlKSBcCiAgICBUWVBFX0RBVEFfTE9DQVRJT04gKHRoaXN0eXBlKS0+a2luZAog IApAQCAtODQyLDcgKzg0Miw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZ2Ri dHlwZXMuaAogIC8qIFByb3BlcnR5IGFjY2Vzc29ycyBmb3IgdGhlIHR5cGUgYWxsb2NhdGVkL2Fz c29jaWF0ZWQuICAqLwogICNkZWZpbmUgVFlQRV9BTExPQ0FURURfUFJPUCh0aGlzdHlwZSkgXAog ICAgZ2V0X2R5bl9wcm9wIChEWU5fUFJPUF9BTExPQ0FURUQsIHRoaXN0eXBlKQotQEAgLTEyODks NiArMTMyNiw5IEBAIGV4dGVybiB2b2lkIGFsbG9jYXRlX2duYXRfYXV4X3R5cGUgKHN0cnUKK0BA IC0xMjg5LDYgKzEzMjYsOSBAQAogICAgIFRZUEVfSElHSF9CT1VORF9VTkRFRklORUQoVFlQRV9J TkRFWF9UWVBFKGFycmF5dHlwZSkpCiAgI2RlZmluZSBUWVBFX0FSUkFZX0xPV0VSX0JPVU5EX0lT X1VOREVGSU5FRChhcnJheXR5cGUpIFwKICAgICBUWVBFX0xPV19CT1VORF9VTkRFRklORUQoVFlQ RV9JTkRFWF9UWVBFKGFycmF5dHlwZSkpCkBAIC04NTIsNyArODUyLDcgQEAgSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMDI3L2dkYi9nZGJ0eXBlcy5oCiAgCiAgI2RlZmluZSBUWVBFX0FSUkFZX1VQ UEVSX0JPVU5EX1ZBTFVFKGFycmF5dHlwZSkgXAogICAgIChUWVBFX0hJR0hfQk9VTkQoVFlQRV9J TkRFWF9UWVBFKChhcnJheXR5cGUpKSkpCi1AQCAtMTc3NSw2ICsxODE1LDcgQEAgZXh0ZXJuIHN0 cnVjdCB0eXBlICpjcmVhdGVfYXJyYXlfdHlwZV93aQorQEAgLTE3NzUsNiArMTgxNSw3IEBACiAg CiAgZXh0ZXJuIHN0cnVjdCB0eXBlICpjcmVhdGVfcmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKiwg c3RydWN0IHR5cGUgKiwKICAJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKiwK QEAgLTg2MCwxMCArODYwLDEwIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZ2Ri dHlwZXMuaAogIAkJCQkgICAgICAgY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAqKTsKICAKICBl eHRlcm4gc3RydWN0IHR5cGUgKmNyZWF0ZV9hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1 Y3QgdHlwZSAqLAotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLWZ1bmMuZXhwCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZnVuYy5leHAKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC41MC4y MDE1MTAyNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmV4cAkyMDE1LTExLTAz IDIwOjQxOjQ4LjU0MjUwNDk5MyArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWZ1bmMuZXhwCTIwMTYtMDEtMDggMTk6MTU6NDQuOTgz NjM3NjgwICswMTAwCiBAQCAtMCwwICsxLDYxIEBACiArIyBDb3B5cmlnaHQgMjAxNCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTkyNiwxMCArOTI2LDEwIEBAIEluZGV4OiBn ZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmV4 cAogKyAgInByaW50IHZsYTMgKGFmdGVyIGZ1bmMyKSIKICtnZGJfdGVzdCAicHR5cGUgdmxhMyIg InR5cGUgPSBpbnRlZ2VyXFxcKGtpbmQ9NFxcXCkgXFxcKDEwXFxcKSIgXAogKyAgInB0eXBlIHZs YTMgKGFmdGVyIGZ1bmMyKSIKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmY5MAorSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2 L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWZ1bmMuZjkwCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu MTAuNTAuMjAxNTEwMjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZnVuYy5mOTAJMjAx NS0xMS0wMyAyMDo0MTo0OC41NDI1MDQ5OTMgKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEw Ni9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmY5MAkyMDE2LTAxLTA4IDE5OjE1 OjQ0Ljk4MzYzNzY4MCArMDEwMAogQEAgLTAsMCArMSw3MSBAQAogKyEgQ29weXJpZ2h0IDIwMTQg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTAwMiwxMCArMTAwMiwxMCBA QCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtZnVuYy5mOTAKICsKICsgIHJldCA9IC5UUlVFLiAgICAgICAgICAgICAgICAhIGZ1bmMyLXJl dHVybmVkCiArZW5kIHByb2dyYW0gdmxhX2Z1bmMKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAy Ny9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZXhwCitJbmRleDogZ2RiLTcu MTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRlLmV4cAog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v dmxhLXN0cmlkZS5leHAJMjAxNS0xMS0wMyAyMDo0MTo0OC41NDI1MDQ5OTMgKzAxMDAKKysrKyBn ZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUu ZXhwCTIwMTYtMDEtMDggMTk6MTU6NDQuOTg0NjM3Njg2ICswMTAwCiBAQCAtMCwwICsxLDQ0IEBA CiArIyBDb3B5cmlnaHQgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAg LTEwNTEsMTAgKzEwNTEsMTAgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmlkZS5leHAKICtnZGJfY29udGludWVfdG9fYnJlYWtw b2ludCAic2luZ2xlLWVsZW1lbnQiCiArZ2RiX3Rlc3QgInByaW50IHB2bGEiICIgPSBcXFwoNVxc XCkiICJwcmludCBzaW5nbGUtZWxlbWVudCIKICtnZGJfdGVzdCAicHJpbnQgcHZsYSgxKSIgIiA9 IDUiICJwcmludCBvbmUgc2luZ2xlLWVsZW1lbnQiCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEw MjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRlLmY5MAorSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmlkZS5mOTAK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3ZsYS1zdHJpZGUuZjkwCTIwMTUtMTEtMDMgMjA6NDE6NDguNTQzNTA0OTk5ICswMTAwCisrKysg Z2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRl LmY5MAkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk4NDYzNzY4NiArMDEwMAogQEAgLTAsMCArMSwzMCBA QAogKyEgQ29weXJpZ2h0IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpA QCAtMTA4NiwxMCArMTA4NiwxMCBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRlLmY5MAogKwogKyAgcHZsYSA9PiBudWxsKCkg ICAgICAgICEgc2luZ2xlLWVsZW1lbnQKICtlbmQgcHJvZ3JhbSB2bGFfc3RyaWRlCi1JbmRleDog Z2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5n cy5leHAKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1zdHJpbmdzLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZXhwCTIwMTUtMTEtMDMgMjE6MTM6NDUu ODYzMzg2MDA3ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5leHAJMjAxNi0wMS0wOCAxOToxNTo0NC45ODQ2Mzc2ODYg KzAxMDAKIEBAIC0wLDAgKzEsMTAxIEBACiArIyBDb3B5cmlnaHQgMjAxNCBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTExOTIsMTAgKzExOTIsMTAgQEAgSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMDI3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZXhw CiArICAid2hhdGlzIHZhcl9jaGFyX3AgYWZ0ZXIgYXNzb2NpYXRlZCIKICtnZGJfdGVzdCAicHR5 cGUgdmFyX2NoYXJfcCIgInR5cGUgPSBQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjcgXFwpIiBc CiArICAicHR5cGUgdmFyX2NoYXJfcCBhZnRlciBhc3NvY2lhdGVkIgotSW5kZXg6IGdkYi03LjEw LjUwLjIwMTUxMDI3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZjkwCitJ bmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt c3RyaW5ncy5mOTAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmY5MAkyMDE1LTExLTAzIDIwOjQxOjQ4LjU0MzUwNDk5 OSArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLXN0cmluZ3MuZjkwCTIwMTYtMDEtMDggMTk6MTU6NDQuOTg0NjM3Njg2ICswMTAwCiBA QCAtMCwwICsxLDQwIEBACiArISBDb3B5cmlnaHQgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICshCkBAIC0xMjM3LDExICsxMjM3LDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4y MDE1MTAyNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmY5MAogKyAgdmFy X2NoYXJfcCA9PiBudWxsKCkKICsgIGwgPSBhc3NvY2lhdGVkKHZhcl9jaGFyX3ApICAgICAgICAg ICAgICAhIHZhcl9jaGFyX3Atbm90LWFzc29jaWF0ZWQKICtlbmQgcHJvZ3JhbSB2bGFfc3RyaW5n cwotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi90eXBlcHJpbnQuYworSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTYwMTA2L2dkYi90eXBlcHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjEwLjUwLjIwMTUxMDI3Lm9yaWcvZ2RiL3R5cGVwcmludC5jCTIwMTUtMTAtMjcgMDI6NDg6MzIu MDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3R5cGVwcmludC5j CTIwMTUtMTEtMDMgMjE6MTM6MzUuOTU5MzM5MTEzICswMTAwCi1AQCAtNDYwLDYgKzQ2MCwxMyBA QCB3aGF0aXNfZXhwIChjaGFyICpleHAsIGludCBzaG93KQorLS0tIGdkYi03LjEwLjUwLjIwMTYw MTA2Lm9yaWcvZ2RiL3R5cGVwcmludC5jCTIwMTYtMDEtMDggMTk6MTU6MzUuMDg2NTgyNDc2ICsw MTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3R5cGVwcmludC5jCTIwMTYtMDEtMDgg MTk6MTU6NDQuOTg0NjM3Njg2ICswMTAwCitAQCAtNDYwLDYgKzQ2MCwxMyBAQAogIAogICAgdHlw ZSA9IHZhbHVlX3R5cGUgKHZhbCk7CiAgCkBAIC0xMjU1LDExICsxMjU1LDExIEBAIEluZGV4OiBn ZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdHlwZXByaW50LmMKICAgIGdldF91c2VyX3ByaW50X29w dGlvbnMgKCZvcHRzKTsKICAgIGlmIChvcHRzLm9iamVjdHByaW50KQogICAgICB7Ci1JbmRleDog Z2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3ZhbGFyaXRoLmMKK0luZGV4OiBnZGItNy4xMC41MC4y MDE2MDEwNi9nZGIvdmFsYXJpdGguYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUx MDI3Lm9yaWcvZ2RiL3ZhbGFyaXRoLmMJMjAxNS0xMC0yNyAwMjo0ODozMi4wMDAwMDAwMDAgKzAx MDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdmFsYXJpdGguYwkyMDE1LTExLTAzIDIx OjEzOjM4LjYyNTM1MTczNiArMDEwMAotQEAgLTE5Myw5ICsxOTMsMjEgQEAgdmFsdWVfc3Vic2Ny aXB0ZWRfcnZhbHVlIChzdHJ1Y3QgdmFsdWUgKgorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9y aWcvZ2RiL3ZhbGFyaXRoLmMJMjAxNi0wMS0wOCAxOToxNTozNS4wODc1ODI0ODIgKzAxMDAKKysr KyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdmFsYXJpdGguYwkyMDE2LTAxLTA4IDE5OjE1OjQ0 Ljk4NTYzNzY5MSArMDEwMAorQEAgLTE5Myw5ICsxOTMsMjEgQEAKICAgIHN0cnVjdCB0eXBlICph cnJheV90eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJyYXkpKTsKICAgIHN0cnVj dCB0eXBlICplbHRfdHlwZSA9IGNoZWNrX3R5cGVkZWYgKFRZUEVfVEFSR0VUX1RZUEUgKGFycmF5 X3R5cGUpKTsKICAgIHVuc2lnbmVkIGludCBlbHRfc2l6ZSA9IHR5cGVfbGVuZ3RoX3VuaXRzIChl bHRfdHlwZSk7CkBAIC0xMjgyLDExICsxMjgyLDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1 MTAyNy9nZGIvdmFsYXJpdGguYwogICAgaWYgKGluZGV4IDwgbG93ZXJib3VuZCB8fCAoIVRZUEVf QVJSQVlfVVBQRVJfQk9VTkRfSVNfVU5ERUZJTkVEIChhcnJheV90eXBlKQogIAkJCSAgICAgJiYg ZWx0X29mZnMgPj0gdHlwZV9sZW5ndGhfdW5pdHMgKGFycmF5X3R5cGUpKSkKICAgICAgewotSW5k ZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi92YWxwcmludC5jCitJbmRleDogZ2RiLTcuMTAu NTAuMjAxNjAxMDYvZ2RiL3ZhbHByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4y MDE1MTAyNy5vcmlnL2dkYi92YWxwcmludC5jCTIwMTUtMTAtMjcgMDI6NDg6MzIuMDAwMDAwMDAw ICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3ZhbHByaW50LmMJMjAxNS0xMS0w MyAyMToxMzozNS45NTkzMzkxMTMgKzAxMDAKLUBAIC0zMTYsNiArMzE2LDE4IEBAIHZhbHByaW50 X2NoZWNrX3ZhbGlkaXR5IChzdHJ1Y3QgdWlfZmlsZQorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2 Lm9yaWcvZ2RiL3ZhbHByaW50LmMJMjAxNi0wMS0wOCAxOToxNTozNS4wODg1ODI0ODcgKzAxMDAK KysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdmFscHJpbnQuYwkyMDE2LTAxLTA4IDE5OjE1 OjQ0Ljk4NjYzNzY5NyArMDEwMAorQEAgLTMxNiw2ICszMTYsMTggQEAKICAgICAgICByZXR1cm4g MDsKICAgICAgfQogIApAQCAtMTMwNSw3ICsxMzA1LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIw MTUxMDI3L2dkYi92YWxwcmludC5jCiAgICBpZiAoVFlQRV9DT0RFICh0eXBlKSAhPSBUWVBFX0NP REVfVU5JT04KICAgICAgICAmJiBUWVBFX0NPREUgKHR5cGUpICE9IFRZUEVfQ09ERV9TVFJVQ1QK ICAgICAgICAmJiBUWVBFX0NPREUgKHR5cGUpICE9IFRZUEVfQ09ERV9BUlJBWSkKLUBAIC0xMDI1 LDEyICsxMDM3LDE2IEBAIHN0YXRpYyBpbnQKK0BAIC0xMDI1LDEyICsxMDM3LDE2IEBACiAgdmFs dWVfY2hlY2tfcHJpbnRhYmxlIChzdHJ1Y3QgdmFsdWUgKnZhbCwgc3RydWN0IHVpX2ZpbGUgKnN0 cmVhbSwKICAJCSAgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9u cykKICB7CkBAIC0xMzIyLDcgKzEzMjIsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcv Z2RiL3ZhbHByaW50LmMKICAgIGlmICh2YWx1ZV9lbnRpcmVseV9vcHRpbWl6ZWRfb3V0ICh2YWwp KQogICAgICB7CiAgICAgICAgaWYgKG9wdGlvbnMtPnN1bW1hcnkgJiYgIXZhbF9wcmludF9zY2Fs YXJfdHlwZV9wICh2YWx1ZV90eXBlICh2YWwpKSkKLUBAIC0xMDY2LDYgKzEwODIsMTggQEAgdmFs dWVfY2hlY2tfcHJpbnRhYmxlIChzdHJ1Y3QgdmFsdWUgKnZhbAorQEAgLTEwNjYsNiArMTA4Miwx OCBAQAogICAgICB7CiAgICAgICAgdmFsX3ByaW50X25vdF9hbGxvY2F0ZWQgKHN0cmVhbSk7CiAg ICAgICAgcmV0dXJuIDA7CkBAIC0xMzQxLDExICsxMzQxLDExIEBAIEluZGV4OiBnZGItNy4xMC41 MC4yMDE1MTAyNy9nZGIvdmFscHJpbnQuYwogICAgICB9CiAgCiAgICByZXR1cm4gMTsKLUluZGV4 OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdmFscHJpbnQuaAorSW5kZXg6IGdkYi03LjEwLjUw LjIwMTYwMTA2L2dkYi92YWxwcmludC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAx NTEwMjcub3JpZy9nZGIvdmFscHJpbnQuaAkyMDE1LTEwLTI3IDAyOjQ4OjMyLjAwMDAwMDAwMCAr MDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi92YWxwcmludC5oCTIwMTUtMTEtMDMg MjE6MTM6MzUuOTU5MzM5MTEzICswMTAwCi1AQCAtMjMyLDQgKzIzMiw4IEBAIGV4dGVybiB2b2lk IHByaW50X2NvbW1hbmRfcGFyc2VfZm9ybWF0ICgKKy0tLSBnZGItNy4xMC41MC4yMDE2MDEwNi5v cmlnL2dkYi92YWxwcmludC5oCTIwMTYtMDEtMDggMTk6MTU6MzUuMDg4NTgyNDg3ICswMTAwCisr KysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3ZhbHByaW50LmgJMjAxNi0wMS0wOCAxOToxNTo0 NC45ODY2Mzc2OTcgKzAxMDAKK0BAIC0yMzIsNCArMjMyLDggQEAKICAJCQkJCXN0cnVjdCBmb3Jt YXRfZGF0YSAqZm10cCk7CiAgZXh0ZXJuIHZvaWQgcHJpbnRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAq dmFsLCBjb25zdCBzdHJ1Y3QgZm9ybWF0X2RhdGEgKmZtdHApOwogIApAQCAtMTM1NCwxMCArMTM1 NCwxMCBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3ZhbHByaW50LmgKICtleHRl cm4gdm9pZCB2YWxfcHJpbnRfbm90X2Fzc29jaWF0ZWQgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0p OwogKwogICNlbmRpZgotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi92YWx1ZS5jCitJ bmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3ZhbHVlLmMKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy4xMC41MC4yMDE1MTAyNy5vcmlnL2dkYi92YWx1ZS5jCTIwMTUtMTAtMjcgMDI6NDg6MzIu MDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3ZhbHVlLmMJMjAx NS0xMS0wMyAyMToxMzozOC43MzEzNTIyMzggKzAxMDAKKy0tLSBnZGItNy4xMC41MC4yMDE2MDEw Ni5vcmlnL2dkYi92YWx1ZS5jCTIwMTYtMDEtMDggMTk6MTU6MzUuMDkwNTgyNDk5ICswMTAwCisr KysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3ZhbHVlLmMJMjAxNi0wMS0wOCAxOToxNTo0NC45 ODc2Mzc3MDIgKzAxMDAKIEBAIC00MCw2ICs0MCw3IEBACiAgI2luY2x1ZGUgInRyYWNlcG9pbnQu aCIKICAjaW5jbHVkZSAiY3AtYWJpLmgiCkBAIC0xMzY2LDcgKzEzNjYsNyBAQCBJbmRleDogZ2Ri LTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3ZhbHVlLmMKICAKICAvKiBQcm90b3R5cGVzIGZvciBleHBv cnRlZCBmdW5jdGlvbnMuICAqLwogIAotQEAgLTE3ODgsNiArMTc4OSwyNSBAQCBzZXRfdmFsdWVf Y29tcG9uZW50X2xvY2F0aW9uIChzdHJ1Y3QgdmFsCitAQCAtMTc4OCw2ICsxNzg5LDI1IEBACiAg ICAgICAgaWYgKGZ1bmNzLT5jb3B5X2Nsb3N1cmUpCiAgICAgICAgICBjb21wb25lbnQtPmxvY2F0 aW9uLmNvbXB1dGVkLmNsb3N1cmUgPSBmdW5jcy0+Y29weV9jbG9zdXJlICh3aG9sZSk7CiAgICAg IH0KQEAgLTEzOTIsNyArMTM5Miw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIv dmFsdWUuYwogIH0KICAKICAMCi1AQCAtMzA5NSwxMyArMzExNSwyMiBAQCB2YWx1ZV9wcmltaXRp dmVfZmllbGQgKHN0cnVjdCB2YWx1ZSAqYXJnCitAQCAtMzA5NSwxMyArMzExNSwyMiBAQAogIAl2 ID0gYWxsb2NhdGVfdmFsdWVfbGF6eSAodHlwZSk7CiAgICAgICAgZWxzZQogIAl7CkBAIC0xNDIx LDcgKzE0MjEsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3ZhbHVlLmMKICAg ICAgfQogICAgc2V0X3ZhbHVlX2NvbXBvbmVudF9sb2NhdGlvbiAodiwgYXJnMSk7CiAgICBWQUxV RV9SRUdOVU0gKHYpID0gVkFMVUVfUkVHTlVNIChhcmcxKTsKLUBAIC0zNjg5LDcgKzM3MTgsOCBA QCByZWFkanVzdF9pbmRpcmVjdF92YWx1ZV90eXBlIChzdHJ1Y3QgdmFsCitAQCAtMzY4OSw3ICsz NzE4LDggQEAKICAJCQkgICAgICBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlKQogIHsKICAg IC8qIFJlLWFkanVzdCB0eXBlLiAgKi8KQEAgLTE0MzEsNyArMTQzMSw3IEBAIEluZGV4OiBnZGIt Ny4xMC41MC4yMDE1MTAyNy9nZGIvdmFsdWUuYwogIAogICAgLyogQWRkIGVtYmVkZGluZyBpbmZv LiAgKi8KICAgIHNldF92YWx1ZV9lbmNsb3NpbmdfdHlwZSAodmFsdWUsIGVuY190eXBlKTsKLUBA IC0zNzA2LDYgKzM3MzYsMTIgQEAgY29lcmNlX3JlZiAoc3RydWN0IHZhbHVlICphcmcpCitAQCAt MzcwNiw2ICszNzM2LDEyIEBACiAgICBzdHJ1Y3QgdmFsdWUgKnJldHZhbDsKICAgIHN0cnVjdCB0 eXBlICplbmNfdHlwZTsKICAKQEAgLTE0NDQsNyArMTQ0NCw3IEBAIEluZGV4OiBnZGItNy4xMC41 MC4yMDE1MTAyNy9nZGIvdmFsdWUuYwogICAgcmV0dmFsID0gY29lcmNlX3JlZl9pZl9jb21wdXRl ZCAoYXJnKTsKICAgIGlmIChyZXR2YWwpCiAgICAgIHJldHVybiByZXR2YWw7Ci1AQCAtMzgzNCw4 ICszODcwLDE0IEBAIHZhbHVlX2ZldGNoX2xhenkgKHN0cnVjdCB2YWx1ZSAqdmFsKQorQEAgLTM4 MzQsOCArMzg3MCwxNCBAQAogICAgICB9CiAgICBlbHNlIGlmIChWQUxVRV9MVkFMICh2YWwpID09 IGx2YWxfbWVtb3J5KQogICAgICB7CkBAIC0xNDYwLDEyICsxNDYwLDEyIEBAIEluZGV4OiBnZGIt Ny4xMC41MC4yMDE1MTAyNy9nZGIvdmFsdWUuYwogIAogICAgICAgIGlmIChUWVBFX0xFTkdUSCAo dHlwZSkpCiAgCXJlYWRfdmFsdWVfbWVtb3J5ICh2YWwsIDAsIHZhbHVlX3N0YWNrICh2YWwpLAot SW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9kd2FyZjJsb2MuYworSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTYwMTA2L2dkYi9kd2FyZjJsb2MuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEw LjUwLjIwMTUxMDI3Lm9yaWcvZ2RiL2R3YXJmMmxvYy5jCTIwMTUtMTAtMjcgMDI6NDg6MzEuMDAw MDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2R3YXJmMmxvYy5jCTIw MTUtMTEtMDMgMjE6MTM6MzUuOTU5MzM5MTEzICswMTAwCi1AQCAtMjM0Nyw2ICsyMzQ3LDExIEBA IGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3QgdHkKLSAJICAgIGludCBpbl9z dGFja19tZW1vcnkgPSBkd2FyZl9leHByX2ZldGNoX2luX3N0YWNrX21lbW9yeSAoY3R4LCAwKTsK Ky0tLSBnZGItNy4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi9kd2FyZjJsb2MuYwkyMDE2LTAxLTA4 IDE5OjE1OjM1LjA5MTU4MjUwNCArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9k d2FyZjJsb2MuYwkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk4ODYzNzcwOCArMDEwMAorQEAgLTIzNjgs NiArMjM2OCwxMSBAQAorIAkgICAgYWRkcmVzcyA9IHZhbHVlX2FzX2FkZHJlc3MgKHZhbHVlX2Zy b21fcG9pbnRlciAocHRyX3R5cGUsIGFkZHJlc3MpKTsKICAKICAJICAgIGRvX2NsZWFudXBzICh2 YWx1ZV9jaGFpbik7CiArCkBAIC0xNDc2LDcgKzE0NzYsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAu MjAxNTEwMjcvZ2RiL2R3YXJmMmxvYy5jCiAgCSAgICByZXR2YWwgPSB2YWx1ZV9hdF9sYXp5ICh0 eXBlLCBhZGRyZXNzICsgYnl0ZV9vZmZzZXQpOwogIAkgICAgaWYgKGluX3N0YWNrX21lbW9yeSkK ICAJICAgICAgc2V0X3ZhbHVlX3N0YWNrIChyZXR2YWwsIDEpOwotQEAgLTI2MzksNiArMjY0NCwx OSBAQCBkd2FyZjJfY29tcGlsZV9wcm9wZXJ0eV90b19jIChzdHJ1Y3QgdWlfCitAQCAtMjY2MCw2 ICsyNjY1LDE5IEBACiAgCQkJICAgICBkYXRhLCBkYXRhICsgc2l6ZSwgcGVyX2N1KTsKICB9CiAg CgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCBkNmJiMWRmLi45ZmIzMjVh IDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMTksNyArMTksNyBAQCBT dW1tYXJ5OiBBIEdOVSBzb3VyY2UtbGV2ZWwgZGVidWdnZXIgZm9yIEMsIEMrKywgRm9ydHJhbiwg R28gYW5kIG90aGVyIGxhbmd1YWdlcwogTmFtZTogJXs/c2NsX3ByZWZpeH1nZGIKIAogIyBGcmVl emUgaXQgd2hlbiBHREIgZ2V0cyBicmFuY2hlZAotJWdsb2JhbCBzbmFwc3JjICAgIDIwMTUxMTEz CislZ2xvYmFsIHNuYXBzcmMgICAgMjAxNjAxMDYKICMgU2VlIHRpbWVzdGFtcCBvZiBzb3VyY2Ug Z251bGliIGluc3RhbGxlZCBpbnRvIGdkYi9nbnVsaWIvIC4KICVnbG9iYWwgc25hcGdudWxpYiAy MDE1MDgyMgogJWdsb2JhbCB0YXJuYW1lIGdkYi0le3ZlcnNpb259CkBAIC0yNyw3ICsyNyw3IEBA IFZlcnNpb246IDcuMTAuNTAuJXtzbmFwc3JjfQogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250 YWlucyBhIGxlYWRpbmcgcmVzZXJ2ZWQgbnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJl YW0nIGlzIG5vdCBhIHBhcnQgb2YgYG5hbWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2ll cyBjb21wYXRpYmxlIGZvciB0aGUgdGVzdGluZy4KLVJlbGVhc2U6IDMzJXs/ZGlzdH0KK1JlbGVh c2U6IDM0JXs/ZGlzdH0KIAogTGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRp b25zIGFuZCBHUEx2MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExH UEx2MisgYW5kIEJTRCBhbmQgUHVibGljIERvbWFpbiBhbmQgR0ZETAogR3JvdXA6IERldmVsb3Bt ZW50L0RlYnVnZ2VycwpAQCAtNTQ0LDYgKzU0NCwxOCBAQCBQYXRjaDEwNDQ6IGdkYi1wYWhvbGUt cHl0aG9uMi5wYXRjaAogIyBGb3JjZSBsaWJuY3Vyc2VzdyBvdmVyIGxpYm5jdXJzZXMgdG8gbWF0 Y2ggdGhlIGluY2x1ZGVzIChSSCBCWiAxMjcwNTM0KS4KIFBhdGNoMTA1NjogZ2RiLWZlZG9yYS1s aWJuY3Vyc2Vzdy5wYXRjaAogCisjIEZpeCBnZGIubXVsdGkvYmFzZS5leHAgdGVzdHN1aXRlIHJl Z3Jlc3Npb24uCitQYXRjaDEwNjQ6IGdkYi10ZXN0c3VpdGUtbXVsdGktYmFzZS13YXJuaW5ncy5w YXRjaAorCisjIEZpeCBpMzg2IHJlZ3Jlc3Npb24gZm9yIGZ1bmNhcmdzLmV4cC4KK1BhdGNoMTA2 NTogZ2RiLXRlc3RzdWl0ZS1mdW5jYXJncy1tMzIucGF0Y2gKKworIyBSZWdyZXNzaW9uIGZvciBm b2xsLXZmb3JrLmV4cC4KK1BhdGNoMTA2NjogZ2RiLXRlc3RzdWl0ZS1mb2xsLXZmb3JrLnBhdGNo CisKKyMgUmVncmVzc2lvbiBmb3IgZ2RiLnRocmVhZHMvZm9yay1wbHVzLXRocmVhZHMuZXhwIC0g cmV2ZXJ0LgorUGF0Y2gxMDY3OiBnZGItZm9yay1wbHVzLXRocmVhZHMtYXNjZW5kaW5nLXJldmVy dC5wYXRjaAorCiAlaWYgMCV7IT9yaGVsOjF9IHx8IDAlez9yaGVsfSA+IDYKICMgUkxfU1RBVEVf RkVET1JBX0dEQiB3b3VsZCBub3QgYmUgZm91bmQgZm9yOgogIyBQYXRjaDY0MjogZ2RiLXJlYWRs aW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKQEAgLTg0Miw2ICs4NTQsMTAgQEAgZmluZCAtbmFtZSAi Ki5pbmZvKiJ8eGFyZ3Mgcm0gLWYKICVwYXRjaDkyNyAtcDEKICVwYXRjaDk3OCAtcDEKICVwYXRj aDEwNTYgLXAxCislcGF0Y2gxMDY0IC1wMQorJXBhdGNoMTA2NSAtcDEKKyVwYXRjaDEwNjYgLXAx CislcGF0Y2gxMDY3IC1wMQogCiAlcGF0Y2g4NDggLXAxCiAlaWYgMCV7IT9lbDY6MX0KQEAgLTEz NTcsNiArMTM3Myw5IEBAIHRoZW4KIGZpCiAKICVjaGFuZ2Vsb2cKKyogRnJpIEphbiAgOCAyMDE2 IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuMTAuNTAuMjAx NjAxMDYtMzQuZmMyNAorLSBSZWJhc2UgdG8gRlNGIEdEQiA3LjEwLjUwLjIwMTYwMTA2ICh0cnVu ayBzbmFwc2hvdCkuCisKICogU2F0IE5vdiAxNCAyMDE1IEphbiBLcmF0b2NodmlsIDxqYW4ua3Jh dG9jaHZpbEByZWRoYXQuY29tPiAtIDcuMTAuNTAuMjAxNTExMTMtMzMuZmMyNAogLSBSZWJhc2Ug dG8gRlNGIEdEQiA3LjEwLjUwLjIwMTUxMTEzICh0cnVuayBzbmFwc2hvdCkuCiAtIFt0ZXN0c3Vp dGVdIEJ1aWxkUmVxdWlyZSBsaWJtcHggZm9yIC0td2l0aCB0ZXN0c3VpdGUuCgpkaWZmIC0tZ2l0 IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggZjVjYTY3Yi4uOTU4YmFkZiAxMDA2NDQKLS0tIGEv c291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDIgKzEsMiBAQAogN2FkMzJkMzg5NGFhZjkwZDAw YTQzNDNhNzM1YzNlMWMgIGdkYi1saWJzdGRjKystdjMtcHl0aG9uLXIyMjU1MjEudGFyLnh6Ci0z NmVmYzgyMWRkYzQwNjU2ZWQ1MGFlN2NmMzQ5MDRkMSAgZ2RiLTcuMTAuNTAuMjAxNTExMTMudGFy Lnh6Cis3NDU4MzIwMWYzNGRhY2ZhMDI0ODQ1NTc4YzQ3NjBiZiAgZ2RiLTcuMTAuNTAuMjAxNjAx MDYudGFyLnh6Cg==