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: Sahana Prasad To: git-commits@fedoraproject.org Subject: [rpms/openssl] rebase_40beta: Adding changes to patch files from source-git sync Date: Tue, 09 Jun 2026 12:45:12 GMT Message-ID: <178100911230.1.16987812609534287827.rpms-openssl-1eb7adc383b2@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: 1eb7adc383b24fe90dab5d9cbdae148ce43ee0d9 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3BlbnNzbAogICAgICAgICAgICBCcmFuY2ggOiByZWJhc2VfNDBiZXRhCiAg ICAgICAgICAgIENvbW1pdCA6IDFlYjdhZGMzODNiMjRmZTkwZGFiNWQ5Y2JkYWUxNDhjZTQzZWUw ZDkKICAgICAgICAgICAgQXV0aG9yIDogU2FoYW5hIFByYXNhZCA8c2FoYW5hQHJlZGhhdC5jb20+ CiAgICAgICAgICAgIERhdGUgICA6IDIwMjMtMDctMzFUMTA6MDQ6NTUrMDI6MDAKICAgICAgICAg ICAgU3RhdHMgIDogKzE1NzIvLTIyMzYgaW4gMjUgZmlsZShzKQogICAgICAgICAgICBVUkwgICAg OiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL29wZW5zc2wvYy8xZWI3YWRjMzgz YjI0ZmU5MGRhYjVkOWNiZGFlMTQ4Y2U0M2VlMGQ5P2JyYW5jaD1yZWJhc2VfNDBiZXRhCgogICAg ICAgICAgICBMb2c6CiAgICAgICAgICAgIEFkZGluZyBjaGFuZ2VzIHRvIHBhdGNoIGZpbGVzIGZy b20gc291cmNlLWdpdCBzeW5jCgpTaWduZWQtb2ZmLWJ5OiBTYWhhbmEgUHJhc2FkIDxzYWhhbmFA cmVkaGF0LmNvbT4KCi0tLQpkaWZmIC0tZ2l0IGEvMDAwNC1PdmVycmlkZS1kZWZhdWx0LXBhdGhz LWZvci10aGUtQ0EtZGlyZWN0b3J5LXRyZWUucGF0Y2ggYi8wMDA0LU92ZXJyaWRlLWRlZmF1bHQt cGF0aHMtZm9yLXRoZS1DQS1kaXJlY3RvcnktdHJlZS5wYXRjaAppbmRleCA3YzcwYzYwLi43ZjIw Nzc0IDEwMDY0NAotLS0gYS8wMDA0LU92ZXJyaWRlLWRlZmF1bHQtcGF0aHMtZm9yLXRoZS1DQS1k aXJlY3RvcnktdHJlZS5wYXRjaAorKysgYi8wMDA0LU92ZXJyaWRlLWRlZmF1bHQtcGF0aHMtZm9y LXRoZS1DQS1kaXJlY3RvcnktdHJlZS5wYXRjaApAQCAtMSwyMSArMSwyMSBAQAotRnJvbSA2Nzkw OTYwMDc2NzQyYTkwNTNjNjI0ZTI2ZmJiODdmY2Q1Nzg5ZTI3IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQotRnJvbTogVG9tYXMgTXJheiA8dG1yYXpAZmVkb3JhcHJvamVjdC5vcmc+Ci1EYXRlOiBU aHUsIDI0IFNlcCAyMDIwIDA5OjE3OjI2ICswMjAwCi1TdWJqZWN0OiBPdmVycmlkZSBkZWZhdWx0 IHBhdGhzIGZvciB0aGUgQ0EgZGlyZWN0b3J5IHRyZWUKK0Zyb20gN2E2NWVlMzM3OTNmYThhMjhj MGRmYzk0ZTY4NzJjZTkyZjQwOGIxNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IHJw bS1idWlsZCA8cnBtLWJ1aWxkPgorRGF0ZTogTW9uLCAzMSBKdWwgMjAyMyAwOTo0MToyNyArMDIw MAorU3ViamVjdDogW1BBVENIIDA0LzM1XSAKKyAwMDA0LU92ZXJyaWRlLWRlZmF1bHQtcGF0aHMt Zm9yLXRoZS1DQS1kaXJlY3RvcnktdHJlZS5wYXRjaAogCi1BbHNvIGFkZCBkZWZhdWx0IHNlY3Rp b24gdG8gbG9hZCBjcnlwdG8tcG9saWNpZXMgY29uZmlndXJhdGlvbgotZm9yIFRMUy4KLQotSXQg bmVlZHMgdG8gYmUgcmV2ZXJ0ZWQgYmVmb3JlIHJ1bm5pbmcgdGVzdHMuCi0KLSh3YXMgb3BlbnNz bC0xLjEuMS1jb25mLXBhdGhzLnBhdGNoKQorUGF0Y2gtbmFtZTogMDAwNC1PdmVycmlkZS1kZWZh dWx0LXBhdGhzLWZvci10aGUtQ0EtZGlyZWN0b3J5LXRyZWUucGF0Y2gKK1BhdGNoLWlkOiA0CitQ YXRjaC1zdGF0dXM6IHwKKyAgICAjIE92ZXJyaWRlIGRlZmF1bHQgcGF0aHMgZm9yIHRoZSBDQSBk aXJlY3RvcnkgdHJlZQorRnJvbS1kaXN0LWdpdC1jb21taXQ6IDk0MDliYzcwNDRjZjRiNTc3MzYz OWNjZTIwZjUxMzk5ODg4YzQ1ZmQKIC0tLQogIGFwcHMvQ0EucGwuaW4gICAgfCAgMiArLQotIGFw cHMvb3BlbnNzbC5jbmYgfCAyMCArKysrKysrKysrKysrKysrKystLQotIDIgZmlsZXMgY2hhbmdl ZCwgMTkgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKyBhcHBzL29wZW5zc2wuY25mIHwg MTMgKysrKysrKysrKystLQorIDIgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMyBk ZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2FwcHMvQ0EucGwuaW4gYi9hcHBzL0NBLnBsLmlu Ci1pbmRleCBjMGFmYjk2NzE2Li5kNmE1ZmFiZDE2IDEwMDY0NAoraW5kZXggZjAyOTQ3MDAwNS4u NzI5ZjEwNGE3ZSAxMDA2NDQKIC0tLSBhL2FwcHMvQ0EucGwuaW4KICsrKyBiL2FwcHMvQ0EucGwu aW4KIEBAIC0yOSw3ICsyOSw3IEBAIG15ICRYNTA5ID0gIiRvcGVuc3NsIHg1MDkiOwpAQCAtMjcs MTAgKzI3LDExIEBAIGluZGV4IGMwYWZiOTY3MTYuLmQ2YTVmYWJkMTYgMTAwNjQ0CiAgbXkgJENB S0VZID0gImNha2V5LnBlbSI7CiAgbXkgJENBUkVRID0gImNhcmVxLnBlbSI7CiAgbXkgJENBQ0VS VCA9ICJjYWNlcnQucGVtIjsKLWRpZmYgLXVwIG9wZW5zc2wtMy4wLjAtYWxwaGExNi9hcHBzL29w ZW5zc2wuY25mLmRlZmF1bHQtdGxzIG9wZW5zc2wtMy4wLjAtYWxwaGExNi9hcHBzL29wZW5zc2wu Y25mCi0tLS0gb3BlbnNzbC0zLjAuMC1hbHBoYTE2L2FwcHMvb3BlbnNzbC5jbmYuZGVmYXVsdC10 bHMJMjAyMS0wNy0wNiAxMzo0MTozOS4yMDQ5NzgyNzIgKzAyMDAKLSsrKyBvcGVuc3NsLTMuMC4w LWFscGhhMTYvYXBwcy9vcGVuc3NsLmNuZgkyMDIxLTA3LTA2IDEzOjQ5OjUwLjM2Mjg1NzY4MyAr MDIwMAotQEAgLTUzLDYgKzUzLDggQEAgdHNhX3BvbGljeTMgPSAxLjIuMy40LjUuNworZGlmZiAt LWdpdCBhL2FwcHMvb3BlbnNzbC5jbmYgYi9hcHBzL29wZW5zc2wuY25mCitpbmRleCA4MTQxYWIy MGNkLi4zOTU2MjM1ZmRhIDEwMDY0NAorLS0tIGEvYXBwcy9vcGVuc3NsLmNuZgorKysrIGIvYXBw cy9vcGVuc3NsLmNuZgorQEAgLTUyLDYgKzUyLDggQEAgdHNhX3BvbGljeTMgPSAxLjIuMy40LjUu NwogIAogIFtvcGVuc3NsX2luaXRdCiAgcHJvdmlkZXJzID0gcHJvdmlkZXJfc2VjdApAQCAtMzks NyArNDAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4wLWFscGhhMTYvYXBwcy9vcGVuc3NsLmNu Zi5kZWZhdWx0LXRscyBvcGVuc3NsLTMuMC4wLWFscGhhMQogIAogICMgTGlzdCBvZiBwcm92aWRl cnMgdG8gbG9hZAogIFtwcm92aWRlcl9zZWN0XQotQEAgLTY0LDYgKzY2LDEzIEBAIGRlZmF1bHQg PSBkZWZhdWx0X3NlY3QKK0BAIC03MSw2ICs3MywxMyBAQCBkZWZhdWx0ID0gZGVmYXVsdF9zZWN0 CiAgW2RlZmF1bHRfc2VjdF0KICAjIGFjdGl2YXRlID0gMQogIApAQCAtNTMsNyArNTQsNyBAQCBk aWZmIC11cCBvcGVuc3NsLTMuMC4wLWFscGhhMTYvYXBwcy9vcGVuc3NsLmNuZi5kZWZhdWx0LXRs cyBvcGVuc3NsLTMuMC4wLWFscGhhMQogIAogICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgWyBjYSBdCi1AQCAtNzIs NyArODEsNyBAQCBkZWZhdWx0X2NhCT0gQ0FfZGVmYXVsdAkJIyBUaGUgZGVmYXVsdCBjCitAQCAt NzksNyArODgsNyBAQCBkZWZhdWx0X2NhCT0gQ0FfZGVmYXVsdAkJIyBUaGUgZGVmYXVsdCBjYSBz ZWN0aW9uCiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKICBbIENBX2RlZmF1bHQgXQogIApAQCAtNjIsNyArNjMsNyBA QCBkaWZmIC11cCBvcGVuc3NsLTMuMC4wLWFscGhhMTYvYXBwcy9vcGVuc3NsLmNuZi5kZWZhdWx0 LXRscyBvcGVuc3NsLTMuMC4wLWFscGhhMQogIGNlcnRzCQk9ICRkaXIvY2VydHMJCSMgV2hlcmUg dGhlIGlzc3VlZCBjZXJ0cyBhcmUga2VwdAogIGNybF9kaXIJCT0gJGRpci9jcmwJCSMgV2hlcmUg dGhlIGlzc3VlZCBjcmwgYXJlIGtlcHQKICBkYXRhYmFzZQk9ICRkaXIvaW5kZXgudHh0CSMgZGF0 YWJhc2UgaW5kZXggZmlsZS4KLUBAIC0zMDQsNyArMzEzLDcgQEAgZGVmYXVsdF90c2EgPSB0c2Ff Y29uZmlnMQkjIHRoZSBkZWZhdWx0CitAQCAtMzExLDcgKzMyMCw3IEBAIGRlZmF1bHRfdHNhID0g dHNhX2NvbmZpZzEJIyB0aGUgZGVmYXVsdCBUU0Egc2VjdGlvbgogIFsgdHNhX2NvbmZpZzEgXQog IAogICMgVGhlc2UgYXJlIHVzZWQgYnkgdGhlIFRTQSByZXBseSBnZW5lcmF0aW9uIG9ubHkuCkBA IC03MSwzICs3Miw2IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjAtYWxwaGExNi9hcHBzL29wZW5z c2wuY25mLmRlZmF1bHQtdGxzIG9wZW5zc2wtMy4wLjAtYWxwaGExCiAgc2VyaWFsCQk9ICRkaXIv dHNhc2VyaWFsCSMgVGhlIGN1cnJlbnQgc2VyaWFsIG51bWJlciAobWFuZGF0b3J5KQogIGNyeXB0 b19kZXZpY2UJPSBidWlsdGluCQkjIE9wZW5TU0wgZW5naW5lIHRvIHVzZSBmb3Igc2lnbmluZwog IHNpZ25lcl9jZXJ0CT0gJGRpci90c2FjZXJ0LnBlbSAJIyBUaGUgVFNBIHNpZ25pbmcgY2VydGlm aWNhdGUKKy0tIAorMi40MS4wCisKCmRpZmYgLS1naXQgYS8wMDA3LUFkZC1zdXBwb3J0LWZvci1Q Uk9GSUxFLVNZU1RFTS1zeXN0ZW0tZGVmYXVsdC1jaXBoZXIucGF0Y2ggYi8wMDA3LUFkZC1zdXBw b3J0LWZvci1QUk9GSUxFLVNZU1RFTS1zeXN0ZW0tZGVmYXVsdC1jaXBoZXIucGF0Y2gKaW5kZXgg NGMzMTNmZi4uMmFjODJmYSAxMDA2NDQKLS0tIGEvMDAwNy1BZGQtc3VwcG9ydC1mb3ItUFJPRklM RS1TWVNURU0tc3lzdGVtLWRlZmF1bHQtY2lwaGVyLnBhdGNoCisrKyBiLzAwMDctQWRkLXN1cHBv cnQtZm9yLVBST0ZJTEUtU1lTVEVNLXN5c3RlbS1kZWZhdWx0LWNpcGhlci5wYXRjaApAQCAtMSwy NSArMSwzMCBAQAotRnJvbSA3MzZkNzA5ZWMxOTRiM2E3NjNlMDA0Njk2ZGYyMjc5MmM2MmExMWZj IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVG9tYXMgTXJheiA8dG1yYXpAZmVkb3Jh cHJvamVjdC5vcmc+Ci1EYXRlOiBUaHUsIDI0IFNlcCAyMDIwIDEwOjE2OjQ2ICswMjAwCi1TdWJq ZWN0OiBBZGQgc3VwcG9ydCBmb3IgUFJPRklMRT1TWVNURU0gc3lzdGVtIGRlZmF1bHQgY2lwaGVy bGlzdAorRnJvbSA2NmI3Mjg4MDFmMTQxYzlkYjhlNjQ3YWIwMjQyMWM4MzY5NGFkZTc5IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogcnBtLWJ1aWxkIDxycG0tYnVpbGQ+CitEYXRlOiBN b24sIDMxIEp1bCAyMDIzIDA5OjQxOjI3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDcvMzVdIAor IDAwMDctQWRkLXN1cHBvcnQtZm9yLVBST0ZJTEUtU1lTVEVNLXN5c3RlbS1kZWZhdWx0LWNpcGhl ci5wYXRjaAogCi0od2FzIG9wZW5zc2wtMS4xLjEtc3lzdGVtLWNpcGhlcmxpc3QucGF0Y2gpCitQ YXRjaC1uYW1lOiAwMDA3LUFkZC1zdXBwb3J0LWZvci1QUk9GSUxFLVNZU1RFTS1zeXN0ZW0tZGVm YXVsdC1jaXBoZXIucGF0Y2gKK1BhdGNoLWlkOiA3CitQYXRjaC1zdGF0dXM6IHwKKyAgICAjIEFk ZCBzdXBwb3J0IGZvciBQUk9GSUxFPVNZU1RFTSBzeXN0ZW0gZGVmYXVsdCBjaXBoZXJsaXN0CitG cm9tLWRpc3QtZ2l0LWNvbW1pdDogOTQwOWJjNzA0NGNmNGI1NzczNjM5Y2NlMjBmNTEzOTk4ODhj NDVmZAogLS0tCiAgQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50bXBsIHwgIDUgKysKLSBD b25maWd1cmUgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKystCisgQ29uZmlndXJlICAg ICAgICAgICAgICAgICAgICAgICAgIHwgMTEgKysrLQogIGRvYy9tYW4xL29wZW5zc2wtY2lwaGVy cy5wb2QuaW4gICB8ICA5ICsrKysKICBpbmNsdWRlL29wZW5zc2wvc3NsLmguaW4gICAgICAgICAg fCAgNSArKwotIHNzbC9zc2xfY2lwaC5jICAgICAgICAgICAgICAgICAgICB8IDg4ICsrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0KKyBzc2wvc3NsX2NpcGguYyAgICAgICAgICAgICAgICAg ICAgfCA4NyArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiAgc3NsL3NzbF9saWIuYyAg ICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KICB0ZXN0L2NpcGhlcmxpc3RfdGVzdC5jICAgICAg ICAgICAgfCAgMiArCiAgdXRpbC9saWJjcnlwdG8ubnVtICAgICAgICAgICAgICAgIHwgIDEgKwog IDggZmlsZXMgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQogCiBk aWZmIC0tZ2l0IGEvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50bXBsIGIvQ29uZmlndXJh dGlvbnMvdW5peC1NYWtlZmlsZS50bXBsCi1pbmRleCA5ZjM2OWVkZjBlLi5jNTIzODlmODMxIDEw MDY0NAoraW5kZXggZjI5Y2RjN2YzOC4uYzBkZjAyNmRlMyAxMDA2NDQKIC0tLSBhL0NvbmZpZ3Vy YXRpb25zL3VuaXgtTWFrZWZpbGUudG1wbAogKysrIGIvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtl ZmlsZS50bXBsCi1AQCAtMjY5LDYgKzI2OSwxMCBAQCBNQU5ESVI9JChJTlNUQUxMVE9QKS9zaGFy ZS9tYW4KK0BAIC0zMTUsNiArMzE1LDEwIEBAIE1BTkRJUj0kKElOU1RBTExUT1ApL3NoYXJlL21h bgogIERPQ0RJUj0kKElOU1RBTExUT1ApL3NoYXJlL2RvYy8kKEJBU0VOQU1FKQogIEhUTUxESVI9 JChET0NESVIpL2h0bWwKICAKQEAgLTMwLDcgKzM1LDcgQEAgaW5kZXggOWYzNjllZGYwZS4uYzUy Mzg5ZjgzMSAxMDA2NDQKICAjIE1BTlNVRkZJWCBpcyBmb3IgdGhlIGJlbmVmaXQgb2YgYW55b25l IHdobyBtYXkgd2FudCB0byBoYXZlIGEgc3VmZml4CiAgIyBhcHBlbmRlZCBhZnRlciB0aGUgbWFu cGFnZSBmaWxlIHNlY3Rpb24gbnVtYmVyLiAgInNzbCIgaXMgcG9wdWxhciwKICAjIHJlc3VsdGlu ZyBpbiBmaWxlcyBzdWNoIGFzIGNvbmZpZy41c3NsIHJhdGhlciB0aGFuIGNvbmZpZy41LgotQEAg LTI5Miw2ICsyOTYsNyBAQCBDQz0kKENST1NTX0NPTVBJTEUpey0gJGNvbmZpZ3tDQ30gLX0KK0BA IC0zMzgsNiArMzQyLDcgQEAgQ0M9JChDUk9TU19DT01QSUxFKXstICRjb25maWd7Q0N9IC19CiAg Q1hYPXstICRjb25maWd7Q1hYfSA/ICJcJChDUk9TU19DT01QSUxFKSRjb25maWd7Q1hYfSIgOiAn JyAtfQogIENQUEZMQUdTPXstIG91ciAkY3BwZmxhZ3MxID0gam9pbigiICIsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChtYXAgeyAiLUQiLiRffSBAeyRjb25maWd7Q1BQREVG SU5FU319KSwKQEAgLTM4LDExICs0Myw1NCBAQCBpbmRleCA5ZjM2OWVkZjBlLi5jNTIzODlmODMx IDEwMDY0NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFwIHsgIi1JIi4k X30gQHskY29uZmlne0NQUElOQ0xVREVTfX0pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBAeyRjb25maWd7Q1BQRkxBR1N9fSkgLX0KICBDRkxBR1M9ey0gam9pbignICcsIEB7 JGNvbmZpZ3tDRkxBR1N9fSkgLX0KK2RpZmYgLS1naXQgYS9Db25maWd1cmUgYi9Db25maWd1cmUK K2luZGV4IDQ1Njk5NTI0MGIuLjkzYmU4M2JlOTQgMTAwNzU1CistLS0gYS9Db25maWd1cmUKKysr KyBiL0NvbmZpZ3VyZQorQEAgLTI3LDcgKzI3LDcgQEAgdXNlIE9wZW5TU0w6OmNvbmZpZzsKKyBt eSAkb3JpZ19kZWF0aF9oYW5kbGVyID0gJFNJR3tfX0RJRV9ffTsKKyAkU0lHe19fRElFX199ID0g XCZkZWF0aF9oYW5kbGVyOworIAorLW15ICR1c2FnZT0iVXNhZ2U6IENvbmZpZ3VyZSBbbm8tPGNp cGhlcj4gLi4uXSBbZW5hYmxlLTxjaXBoZXI+IC4uLl0gWy1EeHh4XSBbLWx4eHhdIFstTHh4eF0g Wy1meHh4XSBbLUt4eHhdIFtuby1ody14eHh8bm8taHddIFtbbm8tXXRocmVhZHNdIFtbbm8tXXNo YXJlZF0gW1tuby1demxpYnx6bGliLWR5bmFtaWNdIFtuby1hc21dIFtuby1lZ2RdIFtzY3RwXSBb Mzg2XSBbLS1wcmVmaXg9RElSXSBbLS1vcGVuc3NsZGlyPU9QRU5TU0xESVJdIFstLXdpdGgteHh4 Wz12dnZdXSBbLS1jb25maWc9RklMRV0gb3MvY29tcGlsZXJbOmZsYWdzXVxuIjsKKytteSAkdXNh Z2U9IlVzYWdlOiBDb25maWd1cmUgW25vLTxjaXBoZXI+IC4uLl0gW2VuYWJsZS08Y2lwaGVyPiAu Li5dIFstRHh4eF0gWy1seHh4XSBbLUx4eHhdIFstZnh4eF0gWy1LeHh4XSBbbm8taHcteHh4fG5v LWh3XSBbW25vLV10aHJlYWRzXSBbW25vLV1zaGFyZWRdIFtbbm8tXXpsaWJ8emxpYi1keW5hbWlj XSBbbm8tYXNtXSBbbm8tZWdkXSBbc2N0cF0gWzM4Nl0gWy0tcHJlZml4PURJUl0gWy0tb3BlbnNz bGRpcj1PUEVOU1NMRElSXSBbLS1zeXN0ZW0tY2lwaGVycy1maWxlPVNZU1RFTUNJUEhFUkZJTEVd IFstLXdpdGgteHh4Wz12dnZdXSBbLS1jb25maWc9RklMRV0gb3MvY29tcGlsZXJbOmZsYWdzXVxu IjsKKyAKKyBteSAkYmFubmVyID0gPDwiRU9GIjsKKyAKK0BAIC02MSw2ICs2MSwxMCBAQCBFT0YK KyAjICAgICAgICAgICAgICAgZ2l2ZW4gd2l0aCAtLXByZWZpeC4KKyAjICAgICAgICAgICAgICAg VGhpcyBiZWNvbWVzIHRoZSB2YWx1ZSBvZiBPUEVOU1NMRElSIGluIE1ha2VmaWxlIGFuZCBpbiBD LgorICMgICAgICAgICAgICAgICAoRGVmYXVsdDogUFJFRklYL3NzbCkKKysjCisrIyAtLXN5c3Rl bS1jaXBoZXJzLWZpbGUgIEEgZmlsZSB0byByZWFkIGNpcGhlciBzdHJpbmcgZnJvbSB3aGVuIHRo ZSBQUk9GSUxFPVNZU1RFTQorKyMJCWNpcGhlciBpcyBzcGVjaWZpZWQgKGRlZmF1bHQpLgorKyMK KyAjIC0tYmFubmVyPSIuLiIgT3V0cHV0IHNwZWNpZmllZCB0ZXh0IGluc3RlYWQgb2YgZGVmYXVs dCBjb21wbGV0aW9uIGJhbm5lcgorICMKKyAjIC13ICAgICAgICAgICAgRG9uJ3Qgd2FpdCBhZnRl ciBzaG93aW5nIGEgQ29uZmlndXJlIHdhcm5pbmcKK0BAIC0zODcsNiArMzkxLDcgQEAgJGNvbmZp Z3twcmVmaXh9PSIiOworICRjb25maWd7b3BlbnNzbGRpcn09IiI7CisgJGNvbmZpZ3twcm9jZXNz b3J9PSIiOworICRjb25maWd7bGliZGlyfT0iIjsKKyskY29uZmlne3N5c3RlbV9jaXBoZXJzX2Zp bGV9PSIiOworIG15ICRhdXRvX3RocmVhZHM9MTsgICAgIyBlbmFibGUgdGhyZWFkcyBhdXRvbWF0 aWNhbGx5PyB0cnVlIGJ5IGRlZmF1bHQKKyBteSAkZGVmYXVsdF9yYW5saWI7CisgCitAQCAtOTg5 LDYgKzk5NCwxMCBAQCB3aGlsZSAoQGFyZ3Zjb3B5KQorICAgICAgICAgICAgICAgICAgICAgICAg IGRpZSAiRklQUyBrZXkgdG9vIGxvbmcgKDY0IGJ5dGVzIG1heClcbiIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpZiBsZW5ndGggJDEgPiA2NDsKKyAgICAgICAgICAgICAgICAgICAgICAg ICB9CisrCQllbHNpZiAoL14tLXN5c3RlbS1jaXBoZXJzLWZpbGU9KC4qKSQvKQorKwkJCXsKKysJ CQkkY29uZmlne3N5c3RlbV9jaXBoZXJzX2ZpbGV9PSQxOworKwkJCX0KKyAgICAgICAgICAgICAg ICAgZWxzaWYgKC9eLS1iYW5uZXI9KC4qKSQvKQorICAgICAgICAgICAgICAgICAgICAgICAgIHsK KyAgICAgICAgICAgICAgICAgICAgICAgICAkYmFubmVyID0gJDEgLiAiXG4iOwogZGlmZiAtLWdp dCBhL2RvYy9tYW4xL29wZW5zc2wtY2lwaGVycy5wb2QuaW4gYi9kb2MvbWFuMS9vcGVuc3NsLWNp cGhlcnMucG9kLmluCi1pbmRleCBiNGVkM2U1MWQ1Li4yMTIyZTZiZGZkIDEwMDY0NAoraW5kZXgg NjU4NzMwZWM1My4uMDRlNjZiY2ViZSAxMDA2NDQKIC0tLSBhL2RvYy9tYW4xL29wZW5zc2wtY2lw aGVycy5wb2QuaW4KICsrKyBiL2RvYy9tYW4xL29wZW5zc2wtY2lwaGVycy5wb2QuaW4KLUBAIC0x ODcsNiArMTg3LDE1IEBAIEFzIG9mIE9wZW5TU0wgMS4wLjAsIHRoZSBCPEFMTD4gY2lwaGVyIHN1 aXRlcyBhcmUgc2Vuc2libHkgb3JkZXJlZCBieSBkZWZhdWx0LgorQEAgLTE4Niw2ICsxODYsMTUg QEAgQXMgb2YgT3BlblNTTCAxLjAuMCwgdGhlIEI8QUxMPiBjaXBoZXIgc3VpdGVzIGFyZSBzZW5z aWJseSBvcmRlcmVkIGJ5IGRlZmF1bHQuCiAgCiAgVGhlIGNpcGhlciBzdWl0ZXMgbm90IGVuYWJs ZWQgYnkgQjxBTEw+LCBjdXJyZW50bHkgQjxlTlVMTD4uCiAgCkBAIC01OSwxMCArMTA3LDEwIEBA IGluZGV4IGI0ZWQzZTUxZDUuLjIxMjJlNmJkZmQgMTAwNjQ0CiAgCiAgIkhpZ2giIGVuY3J5cHRp b24gY2lwaGVyIHN1aXRlcy4gVGhpcyBjdXJyZW50bHkgbWVhbnMgdGhvc2Ugd2l0aCBrZXkgbGVu Z3RocwogZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3BlbnNzbC9zc2wuaC5pbiBiL2luY2x1ZGUvb3Bl bnNzbC9zc2wuaC5pbgotaW5kZXggZjlhNjE2MDllNC4uYzZmOTVmZWQzZiAxMDA2NDQKK2luZGV4 IGYwM2Y1MmZiZDguLjBiNmRlNjAzZTIgMTAwNjQ0CiAtLS0gYS9pbmNsdWRlL29wZW5zc2wvc3Ns LmguaW4KICsrKyBiL2luY2x1ZGUvb3BlbnNzbC9zc2wuaC5pbgotQEAgLTIwOSw2ICsyMDksMTEg QEAgZXh0ZXJuICJDIiB7CitAQCAtMjA4LDYgKzIwOCwxMSBAQCBleHRlcm4gIkMiIHsKICAgKiB0 aHJvd2luZyBvdXQgYW5vbnltb3VzIGFuZCB1bmVuY3J5cHRlZCBjaXBoZXJzdWl0ZXMhIChUaGUg bGF0dGVyIGFyZSBub3QKICAgKiBhY3R1YWxseSBlbmFibGVkIGJ5IEFMTCwgYnV0ICJBTEw6UlNB IiB3b3VsZCBlbmFibGUgc29tZSBvZiB0aGVtLikKICAgKi8KQEAgLTc1LDEwICsxMjMsMTAgQEAg aW5kZXggZjlhNjE2MDllNC4uYzZmOTVmZWQzZiAxMDA2NDQKICAvKiBVc2VkIGluIFNTTF9zZXRf c2h1dGRvd24oKS9TU0xfZ2V0X3NodXRkb3duKCk7ICovCiAgIyBkZWZpbmUgU1NMX1NFTlRfU0hV VERPV04gICAgICAgMQogZGlmZiAtLWdpdCBhL3NzbC9zc2xfY2lwaC5jIGIvc3NsL3NzbF9jaXBo LmMKLWluZGV4IGIxZDNmNzkxOWUuLmY3Y2M3ZmVkNDggMTAwNjQ0CitpbmRleCA5M2RlOWNmOGZk Li5hNWU2MGU4ODM5IDEwMDY0NAogLS0tIGEvc3NsL3NzbF9jaXBoLmMKICsrKyBiL3NzbC9zc2xf Y2lwaC5jCi1AQCAtMTQxMSw2ICsxNDExLDUzIEBAIGludCBTU0xfc2V0X2NpcGhlcnN1aXRlcyhT U0wgKnMsIGNvbnN0IGNoYXIgKnN0cikKK0BAIC0xNDQzLDYgKzE0NDMsNTMgQEAgaW50IFNTTF9z ZXRfY2lwaGVyc3VpdGVzKFNTTCAqcywgY29uc3QgY2hhciAqc3RyKQogICAgICByZXR1cm4gcmV0 OwogIH0KICAKQEAgLTEzMiw3ICsxODAsNyBAQCBpbmRleCBiMWQzZjc5MTllLi5mN2NjN2ZlZDQ4 IDEwMDY0NAogIFNUQUNLX09GKFNTTF9DSVBIRVIpICpzc2xfY3JlYXRlX2NpcGhlcl9saXN0KFNT TF9DVFggKmN0eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTVEFDS19PRihTU0xfQ0lQSEVSKSAqdGxzMTNfY2lwaGVyc3VpdGVzLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUQUNLX09GKFNTTF9DSVBIRVIpICoq Y2lwaGVyX2xpc3QsCi1AQCAtMTQyNSwxNSArMTQ3MiwyNSBAQCBTVEFDS19PRihTU0xfQ0lQSEVS KSAqc3NsX2NyZWF0ZV9jaXBoZXJfbGlzdChTU0xfQ1RYICpjdHgsCitAQCAtMTQ1NywxNSArMTUw NCwyNSBAQCBTVEFDS19PRihTU0xfQ0lQSEVSKSAqc3NsX2NyZWF0ZV9jaXBoZXJfbGlzdChTU0xf Q1RYICpjdHgsCiAgICAgIENJUEhFUl9PUkRFUiAqY29fbGlzdCA9IE5VTEwsICpoZWFkID0gTlVM TCwgKnRhaWwgPSBOVUxMLCAqY3VycjsKICAgICAgY29uc3QgU1NMX0NJUEhFUiAqKmNhX2xpc3Qg PSBOVUxMOwogICAgICBjb25zdCBTU0xfTUVUSE9EICpzc2xfbWV0aG9kID0gY3R4LT5tZXRob2Q7 CkBAIC0xNTMsMTQgKzIwMSwxNCBAQCBpbmRleCBiMWQzZjc5MTllLi5mN2NjN2ZlZDQ4IDEwMDY0 NAogICAgICBpZiAocnVsZV9zdHIgPT0gTlVMTCB8fCBjaXBoZXJfbGlzdCA9PSBOVUxMIHx8IGNp cGhlcl9saXN0X2J5X2lkID09IE5VTEwpCiAtICAgICAgICByZXR1cm4gTlVMTDsKICsgICAgICAg IGdvdG8gZXJyOwotCisgCiAgICAgIGlmICghY2hlY2tfc3VpdGViX2NpcGhlcl9saXN0KHNzbF9t ZXRob2QsIGMsICZydWxlX3N0cikpCiAtICAgICAgICByZXR1cm4gTlVMTDsKICsgICAgICAgIGdv dG8gZXJyOwogIAogICAgICAvKgogICAgICAgKiBUbyByZWR1Y2UgdGhlIHdvcmsgdG8gZG8gd2Ug b25seSB3YW50IHRvIHByb2Nlc3MgdGhlIGNvbXBpbGVkCi1AQCAtMTQ1Niw3ICsxNTEzLDcgQEAg U1RBQ0tfT0YoU1NMX0NJUEhFUikgKnNzbF9jcmVhdGVfY2lwaGVyX2xpc3QoU1NMX0NUWCAqY3R4 LAorQEAgLTE0ODcsNyArMTU0NCw3IEBAIFNUQUNLX09GKFNTTF9DSVBIRVIpICpzc2xfY3JlYXRl X2NpcGhlcl9saXN0KFNTTF9DVFggKmN0eCwKICAgICAgY29fbGlzdCA9IE9QRU5TU0xfbWFsbG9j KHNpemVvZigqY29fbGlzdCkgKiBudW1fb2ZfY2lwaGVycyk7CiAgICAgIGlmIChjb19saXN0ID09 IE5VTEwpIHsKICAgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX1NTTCwgRVJSX1JfTUFMTE9DX0ZB SUxVUkUpOwpAQCAtMTY5LDcgKzIxNyw3IEBAIGluZGV4IGIxZDNmNzkxOWUuLmY3Y2M3ZmVkNDgg MTAwNjQ0CiAgICAgIH0KICAKICAgICAgc3NsX2NpcGhlcl9jb2xsZWN0X2NpcGhlcnMoc3NsX21l dGhvZCwgbnVtX29mX2NpcGhlcnMsCi1AQCAtMTUyMiw4ICsxNTc5LDcgQEAgU1RBQ0tfT0YoU1NM X0NJUEhFUikgKnNzbF9jcmVhdGVfY2lwaGVyX2xpc3QoU1NMX0NUWCAqY3R4LAorQEAgLTE1NTMs OCArMTYxMCw3IEBAIFNUQUNLX09GKFNTTF9DSVBIRVIpICpzc2xfY3JlYXRlX2NpcGhlcl9saXN0 KFNTTF9DVFggKmN0eCwKICAgICAgICogaW4gZm9yY2Ugd2l0aGluIGVhY2ggY2xhc3MKICAgICAg ICovCiAgICAgIGlmICghc3NsX2NpcGhlcl9zdHJlbmd0aF9zb3J0KCZoZWFkLCAmdGFpbCkpIHsK QEAgLTE3OSw3ICsyMjcsNyBAQCBpbmRleCBiMWQzZjc5MTllLi5mN2NjN2ZlZDQ4IDEwMDY0NAog ICAgICB9CiAgCiAgICAgIC8qCi1AQCAtMTU2OCw5ICsxNjI0LDggQEAgU1RBQ0tfT0YoU1NMX0NJ UEhFUikgKnNzbF9jcmVhdGVfY2lwaGVyX2xpc3QoU1NMX0NUWCAqY3R4LAorQEAgLTE1OTgsOSAr MTY1NCw4IEBAIFNUQUNLX09GKFNTTF9DSVBIRVIpICpzc2xfY3JlYXRlX2NpcGhlcl9saXN0KFNT TF9DVFggKmN0eCwKICAgICAgbnVtX29mX2FsaWFzX21heCA9IG51bV9vZl9jaXBoZXJzICsgbnVt X29mX2dyb3VwX2FsaWFzZXMgKyAxOwogICAgICBjYV9saXN0ID0gT1BFTlNTTF9tYWxsb2Moc2l6 ZW9mKCpjYV9saXN0KSAqIG51bV9vZl9hbGlhc19tYXgpOwogICAgICBpZiAoY2FfbGlzdCA9PSBO VUxMKSB7CkBAIC0xOTAsNyArMjM4LDcgQEAgaW5kZXggYjFkM2Y3OTE5ZS4uZjdjYzdmZWQ0OCAx MDA2NDQKICAgICAgfQogICAgICBzc2xfY2lwaGVyX2NvbGxlY3RfYWxpYXNlcyhjYV9saXN0LCBu dW1fb2ZfZ3JvdXBfYWxpYXNlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlz YWJsZWRfbWtleSwgZGlzYWJsZWRfYXV0aCwgZGlzYWJsZWRfZW5jLAotQEAgLTE1OTYsOCArMTY1 MSw3IEBAIFNUQUNLX09GKFNTTF9DSVBIRVIpICpzc2xfY3JlYXRlX2NpcGhlcl9saXN0KFNTTF9D VFggKmN0eCwKK0BAIC0xNjI2LDggKzE2ODEsNyBAQCBTVEFDS19PRihTU0xfQ0lQSEVSKSAqc3Ns X2NyZWF0ZV9jaXBoZXJfbGlzdChTU0xfQ1RYICpjdHgsCiAgICAgIE9QRU5TU0xfZnJlZShjYV9s aXN0KTsgICAgICAvKiBOb3QgbmVlZGVkIGFueW1vcmUgKi8KICAKICAgICAgaWYgKCFvaykgeyAg ICAgICAgICAgICAgICAgIC8qIFJ1bGUgcHJvY2Vzc2luZyBmYWlsdXJlICovCkBAIC0yMDAsNyAr MjQ4LDcgQEAgaW5kZXggYjFkM2Y3OTE5ZS4uZjdjYzdmZWQ0OCAxMDA2NDQKICAgICAgfQogIAog ICAgICAvKgotQEAgLTE2MDUsMTAgKzE2NTksMTMgQEAgU1RBQ0tfT0YoU1NMX0NJUEhFUikgKnNz bF9jcmVhdGVfY2lwaGVyX2xpc3QoU1NMX0NUWCAqY3R4LAorQEAgLTE2MzUsMTAgKzE2ODksMTMg QEAgU1RBQ0tfT0YoU1NMX0NJUEhFUikgKnNzbF9jcmVhdGVfY2lwaGVyX2xpc3QoU1NMX0NUWCAq Y3R4LAogICAgICAgKiBpZiB3ZSBjYW5ub3QgZ2V0IG9uZS4KICAgICAgICovCiAgICAgIGlmICgo Y2lwaGVyc3RhY2sgPSBza19TU0xfQ0lQSEVSX25ld19udWxsKCkpID09IE5VTEwpIHsKQEAgLTIx Niw3ICsyNjQsNyBAQCBpbmRleCBiMWQzZjc5MTllLi5mN2NjN2ZlZDQ4IDEwMDY0NAogICAgICAv KiBBZGQgVExTdjEuMyBjaXBoZXJzIGZpcnN0IC0gd2UgYWx3YXlzIHByZWZlciB0aG9zZSBpZiBw b3NzaWJsZSAqLwogICAgICBmb3IgKGkgPSAwOyBpIDwgc2tfU1NMX0NJUEhFUl9udW0odGxzMTNf Y2lwaGVyc3VpdGVzKTsgaSsrKSB7CiAgICAgICAgICBjb25zdCBTU0xfQ0lQSEVSICpzc2xjID0g c2tfU1NMX0NJUEhFUl92YWx1ZSh0bHMxM19jaXBoZXJzdWl0ZXMsIGkpOwotQEAgLTE2NTYsNiAr MTcxNCwxNCBAQCBTVEFDS19PRihTU0xfQ0lQSEVSKSAqc3NsX2NyZWF0ZV9jaXBoZXJfbGlzdChT U0xfQ1RYICpjdHgsCitAQCAtMTY5MCw2ICsxNzQ3LDE0IEBAIFNUQUNLX09GKFNTTF9DSVBIRVIp ICpzc2xfY3JlYXRlX2NpcGhlcl9saXN0KFNTTF9DVFggKmN0eCwKICAgICAgKmNpcGhlcl9saXN0 ID0gY2lwaGVyc3RhY2s7CiAgCiAgICAgIHJldHVybiBjaXBoZXJzdGFjazsKQEAgLTIzMiwxMCAr MjgwLDEwIEBAIGluZGV4IGIxZDNmNzkxOWUuLmY3Y2M3ZmVkNDggMTAwNjQ0CiAgCiAgY2hhciAq U1NMX0NJUEhFUl9kZXNjcmlwdGlvbihjb25zdCBTU0xfQ0lQSEVSICpjaXBoZXIsIGNoYXIgKmJ1 ZiwgaW50IGxlbikKIGRpZmYgLS1naXQgYS9zc2wvc3NsX2xpYi5jIGIvc3NsL3NzbF9saWIuYwot aW5kZXggZDE0ZDU4MTliYS4uNDhkNDkxMjE5YSAxMDA2NDQKK2luZGV4IGYxMmFkNmQwMzQuLmEw NTliY2Q4M2IgMTAwNjQ0CiAtLS0gYS9zc2wvc3NsX2xpYi5jCiArKysgYi9zc2wvc3NsX2xpYi5j Ci1AQCAtNjYwLDcgKzY2MCw3IEBAIGludCBTU0xfQ1RYX3NldF9zc2xfdmVyc2lvbihTU0xfQ1RY ICpjdHgsIGNvbnN0IFNTTF9NRVRIT0QgKm1ldGgpCitAQCAtNjYxLDcgKzY2MSw3IEBAIGludCBT U0xfQ1RYX3NldF9zc2xfdmVyc2lvbihTU0xfQ1RYICpjdHgsIGNvbnN0IFNTTF9NRVRIT0QgKm1l dGgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnRsczEzX2NpcGhlcnN1 aXRlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYoY3R4LT5jaXBoZXJfbGlz dCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmKGN0eC0+Y2lwaGVyX2xpc3Rf YnlfaWQpLApAQCAtMjQ0LDcgKzI5Miw3IEBAIGluZGV4IGQxNGQ1ODE5YmEuLjQ4ZDQ5MTIxOWEg MTAwNjQ0CiAgICAgIGlmICgoc2sgPT0gTlVMTCkgfHwgKHNrX1NTTF9DSVBIRVJfbnVtKHNrKSA8 PSAwKSkgewogICAgICAgICAgRVJSX3JhaXNlKEVSUl9MSUJfU1NMLCBTU0xfUl9TU0xfTElCUkFS WV9IQVNfTk9fQ0lQSEVSUyk7CiAgICAgICAgICByZXR1cm4gMDsKLUBAIC0zMTkzLDcgKzMxOTMs NyBAQCBTU0xfQ1RYICpTU0xfQ1RYX25ld19leChPU1NMX0xJQl9DVFggKmxpYmN0eCwgY29uc3Qg Y2hhciAqcHJvcHEsCitAQCAtMzI4Niw3ICszMjg2LDcgQEAgU1NMX0NUWCAqU1NMX0NUWF9uZXdf ZXgoT1NTTF9MSUJfQ1RYICpsaWJjdHgsIGNvbnN0IGNoYXIgKnByb3BxLAogICAgICBpZiAoIXNz bF9jcmVhdGVfY2lwaGVyX2xpc3QocmV0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmV0LT50bHMxM19jaXBoZXJzdWl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmcmV0LT5jaXBoZXJfbGlzdCwgJnJldC0+Y2lwaGVyX2xpc3RfYnlfaWQsCkBAIC0yNTQs MTAgKzMwMiwxMCBAQCBpbmRleCBkMTRkNTgxOWJhLi40OGQ0OTEyMTlhIDEwMDY0NAogICAgICAg ICAgRVJSX3JhaXNlKEVSUl9MSUJfU1NMLCBTU0xfUl9MSUJSQVJZX0hBU19OT19DSVBIRVJTKTsK ICAgICAgICAgIGdvdG8gZXJyMjsKIGRpZmYgLS1naXQgYS90ZXN0L2NpcGhlcmxpc3RfdGVzdC5j IGIvdGVzdC9jaXBoZXJsaXN0X3Rlc3QuYwotaW5kZXggMzgwZjA3MjdmYy4uNjkyMmE4N2MzMCAx MDA2NDQKK2luZGV4IDJkMTY2ZTJiNDYuLjRmZjJhYTEyZDYgMTAwNjQ0CiAtLS0gYS90ZXN0L2Np cGhlcmxpc3RfdGVzdC5jCiArKysgYi90ZXN0L2NpcGhlcmxpc3RfdGVzdC5jCi1AQCAtMjQ0LDcg KzI0NCw5IEBAIGVuZDoKK0BAIC0yNDYsNyArMjQ2LDkgQEAgZW5kOgogIAogIGludCBzZXR1cF90 ZXN0cyh2b2lkKQogIHsKQEAgLTI2OCw1NiArMzE2LDE0IEBAIGluZGV4IDM4MGYwNzI3ZmMuLjY5 MjJhODdjMzAgMTAwNjQ0CiAgICAgIEFERF9URVNUKHRlc3RfZGVmYXVsdF9jaXBoZXJsaXN0X2Ns ZWFyKTsKICAgICAgcmV0dXJuIDE7CiBkaWZmIC0tZ2l0IGEvdXRpbC9saWJjcnlwdG8ubnVtIGIv dXRpbC9saWJjcnlwdG8ubnVtCi1pbmRleCA0MDRhNzA2ZmFiLi5lODFmYTllYzNlIDEwMDY0NAor aW5kZXggNDA2MzkyYTdkOS4uOWNiOGE0ZGRhMiAxMDA2NDQKIC0tLSBhL3V0aWwvbGliY3J5cHRv Lm51bQogKysrIGIvdXRpbC9saWJjcnlwdG8ubnVtCi1AQCAtNTI4MiwzICs1MjgyLDQgQEAgT1NT TF9ERUNPREVSX0NUWF9zZXRfaW5wdXRfc3RydWN0dXJlICAgID8JM18wXzAJRVhJU1Q6OkZVTkNU SU9OOgorQEAgLTU0MzUsMyArNTQzNSw0IEBAIEVWUF9NRF9DVFhfZHVwICAgICAgICAgICAgICAg ICAgICAgICAgICA1NTYyCTNfMV8wCUVYSVNUOjpGVU5DVElPTjoKICBFVlBfQ0lQSEVSX0NUWF9k dXAgICAgICAgICAgICAgICAgICAgICAgNTU2MwkzXzFfMAlFWElTVDo6RlVOQ1RJT046CiAgQk5f YXJlX2NvcHJpbWUgICAgICAgICAgICAgICAgICAgICAgICAgIDU1NjQJM18xXzAJRVhJU1Q6OkZV TkNUSU9OOgogIE9TU0xfQ01QX01TR191cGRhdGVfcmVjaXBOb25jZSAgICAgICAgICA1NTY1CTNf MF85CUVYSVNUOjpGVU5DVElPTjpDTVAKICtvc3NsX3NhZmVfZ2V0ZW52ICAgICAgICAgICAgICAg ICAgICAgICAgPwkzXzBfMAlFWElTVDo6RlVOQ1RJT046CiAtLSAKLTIuMjYuMgorMi40MS4wCiAK LWRpZmYgLXVwIG9wZW5zc2wtMy4wLjAtYmV0YTEvQ29uZmlndXJlLnN5cy1kZWZhdWx0IG9wZW5z c2wtMy4wLjAtYmV0YTEvQ29uZmlndXJlCi0tLS0gb3BlbnNzbC0zLjAuMC1iZXRhMS9Db25maWd1 cmUuc3lzLWRlZmF1bHQJMjAyMS0wNi0yOSAxMTo0Nzo1OC45NzgxNDQzODYgKzAyMDAKLSsrKyBv cGVuc3NsLTMuMC4wLWJldGExL0NvbmZpZ3VyZQkyMDIxLTA2LTI5IDExOjUyOjAxLjYzMTEyNjI2 MCArMDIwMAotQEAgLTI3LDcgKzI3LDcgQEAgdXNlIE9wZW5TU0w6OmNvbmZpZzsKLSBteSAkb3Jp Z19kZWF0aF9oYW5kbGVyID0gJFNJR3tfX0RJRV9ffTsKLSAkU0lHe19fRElFX199ID0gXCZkZWF0 aF9oYW5kbGVyOwotIAotLW15ICR1c2FnZT0iVXNhZ2U6IENvbmZpZ3VyZSBbbm8tPGNpcGhlcj4g Li4uXSBbZW5hYmxlLTxjaXBoZXI+IC4uLl0gWy1EeHh4XSBbLWx4eHhdIFstTHh4eF0gWy1meHh4 XSBbLUt4eHhdIFtuby1ody14eHh8bm8taHddIFtbbm8tXXRocmVhZHNdIFtbbm8tXXNoYXJlZF0g W1tuby1demxpYnx6bGliLWR5bmFtaWNdIFtuby1hc21dIFtuby1lZ2RdIFtzY3RwXSBbMzg2XSBb LS1wcmVmaXg9RElSXSBbLS1vcGVuc3NsZGlyPU9QRU5TU0xESVJdIFstLXdpdGgteHh4Wz12dnZd XSBbLS1jb25maWc9RklMRV0gb3MvY29tcGlsZXJbOmZsYWdzXVxuIjsKLStteSAkdXNhZ2U9IlVz YWdlOiBDb25maWd1cmUgW25vLTxjaXBoZXI+IC4uLl0gW2VuYWJsZS08Y2lwaGVyPiAuLi5dIFst RHh4eF0gWy1seHh4XSBbLUx4eHhdIFstZnh4eF0gWy1LeHh4XSBbbm8taHcteHh4fG5vLWh3XSBb W25vLV10aHJlYWRzXSBbW25vLV1zaGFyZWRdIFtbbm8tXXpsaWJ8emxpYi1keW5hbWljXSBbbm8t YXNtXSBbbm8tZWdkXSBbc2N0cF0gWzM4Nl0gWy0tcHJlZml4PURJUl0gWy0tb3BlbnNzbGRpcj1P UEVOU1NMRElSXSBbLS1zeXN0ZW0tY2lwaGVycy1maWxlPVNZU1RFTUNJUEhFUkZJTEVdIFstLXdp dGgteHh4Wz12dnZdXSBbLS1jb25maWc9RklMRV0gb3MvY29tcGlsZXJbOmZsYWdzXVxuIjsKLSAK LSBteSAkYmFubmVyID0gPDwiRU9GIjsKLSAKLUBAIC02MSw2ICs2MSwxMCBAQCBFT0YKLSAjICAg ICAgICAgICAgICAgZ2l2ZW4gd2l0aCAtLXByZWZpeC4KLSAjICAgICAgICAgICAgICAgVGhpcyBi ZWNvbWVzIHRoZSB2YWx1ZSBvZiBPUEVOU1NMRElSIGluIE1ha2VmaWxlIGFuZCBpbiBDLgotICMg ICAgICAgICAgICAgICAoRGVmYXVsdDogUFJFRklYL3NzbCkKLSsjCi0rIyAtLXN5c3RlbS1jaXBo ZXJzLWZpbGUgIEEgZmlsZSB0byByZWFkIGNpcGhlciBzdHJpbmcgZnJvbSB3aGVuIHRoZSBQUk9G SUxFPVNZU1RFTQotKyMJCWNpcGhlciBpcyBzcGVjaWZpZWQgKGRlZmF1bHQpLgotKyMKLSAjIC0t YmFubmVyPSIuLiIgT3V0cHV0IHNwZWNpZmllZCB0ZXh0IGluc3RlYWQgb2YgZGVmYXVsdCBjb21w bGV0aW9uIGJhbm5lcgotICMKLSAjIC13ICAgICAgICAgICAgRG9uJ3Qgd2FpdCBhZnRlciBzaG93 aW5nIGEgQ29uZmlndXJlIHdhcm5pbmcKLUBAIC0zODUsNiArMzg5LDcgQEAgJGNvbmZpZ3twcmVm aXh9PSIiOwotICRjb25maWd7b3BlbnNzbGRpcn09IiI7Ci0gJGNvbmZpZ3twcm9jZXNzb3J9PSIi OwotICRjb25maWd7bGliZGlyfT0iIjsKLSskY29uZmlne3N5c3RlbV9jaXBoZXJzX2ZpbGV9PSIi OwotIG15ICRhdXRvX3RocmVhZHM9MTsgICAgIyBlbmFibGUgdGhyZWFkcyBhdXRvbWF0aWNhbGx5 PyB0cnVlIGJ5IGRlZmF1bHQKLSBteSAkZGVmYXVsdF9yYW5saWI7Ci0gCi1AQCAtOTg3LDYgKzk5 MiwxMCBAQCB3aGlsZSAoQGFyZ3Zjb3B5KQotICAgICAgICAgICAgICAgICAgICAgICAgIGRpZSAi RklQUyBrZXkgdG9vIGxvbmcgKDY0IGJ5dGVzIG1heClcbiIKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpZiBsZW5ndGggJDEgPiA2NDsKLSAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0r CQllbHNpZiAoL14tLXN5c3RlbS1jaXBoZXJzLWZpbGU9KC4qKSQvKQotKwkJCXsKLSsJCQkkY29u Zmlne3N5c3RlbV9jaXBoZXJzX2ZpbGV9PSQxOwotKwkJCX0KLSAgICAgICAgICAgICAgICAgZWxz aWYgKC9eLS1iYW5uZXI9KC4qKSQvKQotICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAg ICAgICAgICAgICAgICAgICAgICAkYmFubmVyID0gJDEgLiAiXG4iOwoKZGlmZiAtLWdpdCBhLzAw MDgtQWRkLUZJUFNfbW9kZS1jb21wYXRpYmlsaXR5LW1hY3JvLnBhdGNoIGIvMDAwOC1BZGQtRklQ U19tb2RlLWNvbXBhdGliaWxpdHktbWFjcm8ucGF0Y2gKaW5kZXggMmU3Mjk5OS4uYzA1YWE3OSAx MDA2NDQKLS0tIGEvMDAwOC1BZGQtRklQU19tb2RlLWNvbXBhdGliaWxpdHktbWFjcm8ucGF0Y2gK KysrIGIvMDAwOC1BZGQtRklQU19tb2RlLWNvbXBhdGliaWxpdHktbWFjcm8ucGF0Y2gKQEAgLTEs MjAgKzEsMjIgQEAKLUZyb20gNWIyZWM5YTU0MDM3ZDdiMDA3MzI0YmY1M2UwNjdlNzM1MTFjZGZl NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRvbWFzIE1yYXogPHRtcmF6QGZlZG9y YXByb2plY3Qub3JnPgotRGF0ZTogVGh1LCAyNiBOb3YgMjAyMCAxNDowMDoxNiArMDEwMAotU3Vi amVjdDogQWRkIEZJUFNfbW9kZSgpIGNvbXBhdGliaWxpdHkgbWFjcm8KK0Zyb20gOGUyOWExMGIz OWE2NDlkNzUxODcwZWIxZmQxYjhjMzg4ZTY2YWNjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgorRGF0ZTogTW9uLCAzMSBKdWwgMjAyMyAwOTo0 MToyNyArMDIwMAorU3ViamVjdDogW1BBVENIIDA4LzM1XSAwMDA4LUFkZC1GSVBTX21vZGUtY29t cGF0aWJpbGl0eS1tYWNyby5wYXRjaAogCi1UaGUgbWFjcm8gY2FsbHMgRVZQX2RlZmF1bHRfcHJv cGVydGllc19pc19maXBzX2VuYWJsZWQoKSBvbiB0aGUKLWRlZmF1bHQgY29udGV4dC4KK1BhdGNo LW5hbWU6IDAwMDgtQWRkLUZJUFNfbW9kZS1jb21wYXRpYmlsaXR5LW1hY3JvLnBhdGNoCitQYXRj aC1pZDogOAorUGF0Y2gtc3RhdHVzOiB8CisgICAgIyBBZGQgRklQU19tb2RlKCkgY29tcGF0aWJp bGl0eSBtYWNybworRnJvbS1kaXN0LWdpdC1jb21taXQ6IDk0MDliYzcwNDRjZjRiNTc3MzYzOWNj ZTIwZjUxMzk5ODg4YzQ1ZmQKIC0tLQotIGluY2x1ZGUvb3BlbnNzbC9jcnlwdG8uaC5pbiB8ICAx ICsKLSBpbmNsdWRlL29wZW5zc2wvZmlwcy5oICAgICAgfCAyNSArKysrKysrKysrKysrKysrKysr KysrKysrCi0gdGVzdC9wcm9wZXJ0eV90ZXN0LmMgICAgICAgIHwgMTMgKysrKysrKysrKysrKwot IDMgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKQorIGluY2x1ZGUvb3BlbnNzbC9maXBz LmggfCAyNiArKysrKysrKysrKysrKysrKysrKysrKysrKworIHRlc3QvcHJvcGVydHlfdGVzdC5j ICAgfCAxNCArKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygr KQogIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL29wZW5zc2wvZmlwcy5oCiAKIGRpZmYgLS1n aXQgYS9pbmNsdWRlL29wZW5zc2wvZmlwcy5oIGIvaW5jbHVkZS9vcGVuc3NsL2ZpcHMuaAogbmV3 IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAuLmM2NGYwZjhlOGYKK2luZGV4IDAw MDAwMDAwMDAuLjQxNjJjYmY4OGUKIC0tLSAvZGV2L251bGwKICsrKyBiL2luY2x1ZGUvb3BlbnNz bC9maXBzLmgKIEBAIC0wLDAgKzEsMjYgQEAKQEAgLTQ0LDEzICs0NiwxNCBAQCBpbmRleCAwMDAw MDAwMDAwLi5jNjRmMGY4ZThmCiArfQogKyMgZW5kaWYKICsjZW5kaWYKLWRpZmYgLXVwIG9wZW5z c2wtMy4wLjAtYmV0YTEvdGVzdC9wcm9wZXJ0eV90ZXN0LmMuZmlwcy1tYWNybyBvcGVuc3NsLTMu MC4wLWJldGExL3Rlc3QvcHJvcGVydHlfdGVzdC5jCi0tLS0gb3BlbnNzbC0zLjAuMC1iZXRhMS90 ZXN0L3Byb3BlcnR5X3Rlc3QuYy5maXBzLW1hY3JvCTIwMjEtMDYtMjkgMTI6MTQ6NTguODUxNTU3 Njk4ICswMjAwCi0rKysgb3BlbnNzbC0zLjAuMC1iZXRhMS90ZXN0L3Byb3BlcnR5X3Rlc3QuYwky MDIxLTA2LTI5IDEyOjE3OjE0LjYzMDE0MzgzMiArMDIwMAotQEAgLTQ4OCw2ICs0ODgsMTkgQEAg c3RhdGljIGludCB0ZXN0X3Byb3BlcnR5X2xpc3RfdG9fc3RyaW5nKAorZGlmZiAtLWdpdCBhL3Rl c3QvcHJvcGVydHlfdGVzdC5jIGIvdGVzdC9wcm9wZXJ0eV90ZXN0LmMKK2luZGV4IDQ1YjFkYjNl ODUuLjg4OTRjMWMxY2IgMTAwNjQ0CistLS0gYS90ZXN0L3Byb3BlcnR5X3Rlc3QuYworKysrIGIv dGVzdC9wcm9wZXJ0eV90ZXN0LmMKK0BAIC02NzcsNiArNjc3LDE5IEBAIHN0YXRpYyBpbnQgdGVz dF9wcm9wZXJ0eV9saXN0X3RvX3N0cmluZyhpbnQgaSkKICAgICAgcmV0dXJuIHJldDsKICB9Ci0K KyAKICsjaW5jbHVkZSA8b3BlbnNzbC9maXBzLmg+CiArc3RhdGljIGludCB0ZXN0X2Rvd25zdHJl YW1fRklQU19tb2RlKHZvaWQpCiArewpAQCAtNjcsNyArNzAsNyBAQCBkaWZmIC11cCBvcGVuc3Ns LTMuMC4wLWJldGExL3Rlc3QvcHJvcGVydHlfdGVzdC5jLmZpcHMtbWFjcm8gb3BlbnNzbC0zLjAu MC1iZXRhMQogIGludCBzZXR1cF90ZXN0cyh2b2lkKQogIHsKICAgICAgQUREX1RFU1QodGVzdF9w cm9wZXJ0eV9zdHJpbmcpOwotQEAgLTUwMCw2ICs1MTIsNyBAQCBpbnQgc2V0dXBfdGVzdHModm9p ZCkKK0BAIC02OTAsNiArNzAzLDcgQEAgaW50IHNldHVwX3Rlc3RzKHZvaWQpCiAgICAgIEFERF9U RVNUKHRlc3RfcHJvcGVydHkpOwogICAgICBBRERfVEVTVCh0ZXN0X3F1ZXJ5X2NhY2hlX3N0b2No YXN0aWMpOwogICAgICBBRERfVEVTVCh0ZXN0X2ZpcHNfbW9kZSk7CkBAIC03NSwzICs3OCw2IEBA IGRpZmYgLXVwIG9wZW5zc2wtMy4wLjAtYmV0YTEvdGVzdC9wcm9wZXJ0eV90ZXN0LmMuZmlwcy1t YWNybyBvcGVuc3NsLTMuMC4wLWJldGExCiAgICAgIEFERF9BTExfVEVTVFModGVzdF9wcm9wZXJ0 eV9saXN0X3RvX3N0cmluZywgT1NTTF9ORUxFTSh0b19zdHJpbmdfdGVzdHMpKTsKICAgICAgcmV0 dXJuIDE7CiAgfQorLS0gCisyLjQxLjAKKwoKZGlmZiAtLWdpdCBhLzAwMDktQWRkLUtlcm5lbC1G SVBTLW1vZGUtZmxhZy1zdXBwb3J0LnBhdGNoIGIvMDAwOS1BZGQtS2VybmVsLUZJUFMtbW9kZS1m bGFnLXN1cHBvcnQucGF0Y2gKaW5kZXggM2YyNTE4MC4uN2I3YTIyMyAxMDA2NDQKLS0tIGEvMDAw OS1BZGQtS2VybmVsLUZJUFMtbW9kZS1mbGFnLXN1cHBvcnQucGF0Y2gKKysrIGIvMDAwOS1BZGQt S2VybmVsLUZJUFMtbW9kZS1mbGFnLXN1cHBvcnQucGF0Y2gKQEAgLTEsNyArMSwyMyBAQAotZGlm ZiAtdXAgb3BlbnNzbC0zLjAuMC1hbHBoYTEzL2NyeXB0by9jb250ZXh0LmMua2VybmVsLWZpcHMg b3BlbnNzbC0zLjAuMC1hbHBoYTEzL2NyeXB0by9jb250ZXh0LmMKLS0tLSBvcGVuc3NsLTMuMC4w LWFscGhhMTMvY3J5cHRvL2NvbnRleHQuYy5rZXJuZWwtZmlwcwkyMDIxLTAzLTE2IDAwOjA5OjU1 LjgxNDgyNjQzMiArMDEwMAotKysrIG9wZW5zc2wtMy4wLjAtYWxwaGExMy9jcnlwdG8vY29udGV4 dC5jCTIwMjEtMDMtMTYgMDA6MTU6NTUuMTI5MDQzODExICswMTAwCi1AQCAtMTIsNiArMTIsNDEg QEAKK0Zyb20gYWEzYWViZjEzMjk1OWU3ZTQ0ODc2MDQyZWZhZjlmZjI0ZmZlMGYyYiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgorRGF0ZTogTW9u LCAzMSBKdWwgMjAyMyAwOTo0MToyNyArMDIwMAorU3ViamVjdDogW1BBVENIIDA5LzM1XSAwMDA5 LUFkZC1LZXJuZWwtRklQUy1tb2RlLWZsYWctc3VwcG9ydC5wYXRjaAorCitQYXRjaC1uYW1lOiAw MDA5LUFkZC1LZXJuZWwtRklQUy1tb2RlLWZsYWctc3VwcG9ydC5wYXRjaAorUGF0Y2gtaWQ6IDkK K1BhdGNoLXN0YXR1czogfAorICAgICMgQWRkIGNoZWNrIHRvIHNlZSBpZiBmaXBzIGZsYWcgaXMg ZW5hYmxlZCBpbiBrZXJuZWwKK0Zyb20tZGlzdC1naXQtY29tbWl0OiA5NDA5YmM3MDQ0Y2Y0YjU3 NzM2MzljY2UyMGY1MTM5OTg4OGM0NWZkCistLS0KKyBjcnlwdG8vY29udGV4dC5jICAgICAgICAg ICAgfCAzNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBpbmNsdWRlL2lu dGVybmFsL3Byb3ZpZGVyLmggfCAgMyArKysKKyAyIGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlv bnMoKykKKworZGlmZiAtLWdpdCBhL2NyeXB0by9jb250ZXh0LmMgYi9jcnlwdG8vY29udGV4dC5j CitpbmRleCBlMjk0ZWExNTEyLi41MTAwMmJhNzlhIDEwMDY0NAorLS0tIGEvY3J5cHRvL2NvbnRl eHQuYworKysrIGIvY3J5cHRvL2NvbnRleHQuYworQEAgLTE2LDYgKzE2LDQxIEBACiAgI2luY2x1 ZGUgImludGVybmFsL3Byb3ZpZGVyLmgiCiAgI2luY2x1ZGUgImNyeXB0by9jb250ZXh0LmgiCiAg CkBAIC00Myw3ICs1OSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjAtYWxwaGExMy9jcnlwdG8v Y29udGV4dC5jLmtlcm5lbC1maXBzIG9wZW5zc2wtMy4wLjAtYWxwaGExCiAgc3RydWN0IG9zc2xf bGliX2N0eF9zdCB7CiAgICAgIENSWVBUT19SV0xPQ0sgKmxvY2ssICpyYW5kX2Nybmd0X2xvY2s7 CiAgICAgIE9TU0xfRVhfREFUQV9HTE9CQUwgZ2xvYmFsOwotQEAgLTEyMSw2ICsxNzAsNyBAQCBz dGF0aWMgQ1JZUFRPX1RIUkVBRF9MT0NBTCBkZWZhdWx0X2NvbnRlCitAQCAtMzM2LDYgKzM3MSw3 IEBAIHN0YXRpYyBpbnQgZGVmYXVsdF9jb250ZXh0X2luaXRlZCA9IDA7CiAgCiAgREVGSU5FX1JV Tl9PTkNFX1NUQVRJQyhkZWZhdWx0X2NvbnRleHRfZG9faW5pdCkKICB7CkBAIC01MSwxMCArNjcs MTEgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMC1hbHBoYTEzL2NyeXB0by9jb250ZXh0LmMua2Vy bmVsLWZpcHMgb3BlbnNzbC0zLjAuMC1hbHBoYTEKICAgICAgaWYgKCFDUllQVE9fVEhSRUFEX2lu aXRfbG9jYWwoJmRlZmF1bHRfY29udGV4dF90aHJlYWRfbG9jYWwsIE5VTEwpKQogICAgICAgICAg Z290byBlcnI7CiAgCi1kaWZmIC11cCBvcGVuc3NsLTMuMC4xL2luY2x1ZGUvaW50ZXJuYWwvcHJv dmlkZXIuaC5lbWJlZC1maXBzIG9wZW5zc2wtMy4wLjEvaW5jbHVkZS9pbnRlcm5hbC9wcm92aWRl ci5oCi0tLS0gb3BlbnNzbC0zLjAuMS9pbmNsdWRlL2ludGVybmFsL3Byb3ZpZGVyLmguZW1iZWQt ZmlwcwkyMDIyLTAxLTExIDEzOjEzOjA4LjMyMzIzODc2MCArMDEwMAotKysrIG9wZW5zc2wtMy4w LjEvaW5jbHVkZS9pbnRlcm5hbC9wcm92aWRlci5oCTIwMjItMDEtMTEgMTM6MTM6NDMuNTIyNTU4 OTA5ICswMTAwCi1AQCAtMTEwLDYgKzExMCw5IEBAIGludCBvc3NsX3Byb3ZpZGVyX2luaXRfYXNf Y2hpbGQoT1NTTF9MSUIKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2ludGVybmFsL3Byb3ZpZGVyLmgg Yi9pbmNsdWRlL2ludGVybmFsL3Byb3ZpZGVyLmgKK2luZGV4IDE4OTM3Zjg0YzcuLjE0NDZiZjdh ZmIgMTAwNjQ0CistLS0gYS9pbmNsdWRlL2ludGVybmFsL3Byb3ZpZGVyLmgKKysrKyBiL2luY2x1 ZGUvaW50ZXJuYWwvcHJvdmlkZXIuaAorQEAgLTExMiw2ICsxMTIsOSBAQCBpbnQgb3NzbF9wcm92 aWRlcl9pbml0X2FzX2NoaWxkKE9TU0xfTElCX0NUWCAqY3R4LAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgT1NTTF9ESVNQQVRDSCAqaW4pOwogIHZvaWQgb3NzbF9wcm92 aWRlcl9kZWluaXRfY2hpbGQoT1NTTF9MSUJfQ1RYICpjdHgpOwogIApAQCAtNjQsMyArODEsNiBA QCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL2luY2x1ZGUvaW50ZXJuYWwvcHJvdmlkZXIuaC5lbWJl ZC1maXBzIG9wZW5zc2wtMy4wLjEvaW5jbAogICMgaWZkZWYgX19jcGx1c3BsdXMKICB9CiAgIyBl bmRpZgorLS0gCisyLjQxLjAKKwoKZGlmZiAtLWdpdCBhLzAwMTAtQWRkLWNoYW5nZXMtdG8tZWN0 ZXN0LWFuZC1lY2N1cnZlLnBhdGNoIGIvMDAxMC1BZGQtY2hhbmdlcy10by1lY3Rlc3QtYW5kLWVj Y3VydmUucGF0Y2gKaW5kZXggYWFjMjQyYi4uODc2ZGRiMyAxMDA2NDQKLS0tIGEvMDAxMC1BZGQt Y2hhbmdlcy10by1lY3Rlc3QtYW5kLWVjY3VydmUucGF0Y2gKKysrIGIvMDAxMC1BZGQtY2hhbmdl cy10by1lY3Rlc3QtYW5kLWVjY3VydmUucGF0Y2gKQEAgLTEsMTAgKzEsMjkgQEAKLWRpZmYgLXVw IC4vY3J5cHRvL2VjL2VjX2N1cnZlLmMucmVtb3ZlLWVjIC4vY3J5cHRvL2VjL2VjX2N1cnZlLmMK LS0tLSAuL2NyeXB0by9lYy9lY19jdXJ2ZS5jLnJlbW92ZS1lYwkyMDIzLTAzLTEzIDE2OjUwOjA5 LjI3ODkzMzU3OCArMDEwMAotKysrIC4vY3J5cHRvL2VjL2VjX2N1cnZlLmMJMjAyMy0wMy0yMSAx MjozODo1Ny42OTY1MzE5NDEgKzAxMDAKLUBAIC0zMiwzOCArMzIsNiBAQCB0eXBlZGVmIHN0cnVj dCB7CitGcm9tIDM3ZmFlMzUxYzZmZWYyNzJiYWYzODM0NjkxODFhZWNmY2FjODc1OTIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KK0RhdGU6IE1v biwgMzEgSnVsIDIwMjMgMDk6NDE6MjcgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxMC8zNV0gMDAx MC1BZGQtY2hhbmdlcy10by1lY3Rlc3QtYW5kLWVjY3VydmUucGF0Y2gKKworUGF0Y2gtbmFtZTog MDAxMC1BZGQtY2hhbmdlcy10by1lY3Rlc3QtYW5kLWVjY3VydmUucGF0Y2gKK1BhdGNoLWlkOiAx MAorUGF0Y2gtc3RhdHVzOiB8CisgICAgIyBJbnN0ZWFkIG9mIHJlcGxhY2luZyBlY3Rlc3QuYyBh bmQgZWNfY3VydmUuYywgYWRkIHRoZSBjaGFuZ2VzIGFzIGEgcGF0Y2ggc28KKyAgICAjIHRoYXQg bmV3IG1vZGlmaWNhdGlvbnMgbWFkZSB0byB0aGVzZSBmaWxlcyBieSB1cHN0cmVhbSBhcmUgbm90 IGxvc3QuCitGcm9tLWRpc3QtZ2l0LWNvbW1pdDogOTQwOWJjNzA0NGNmNGI1NzczNjM5Y2NlMjBm NTEzOTk4ODhjNDVmZAorLS0tCisgY3J5cHRvL2VjL2VjX2N1cnZlLmMgfCA4NDQgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHRlc3QvZWN0ZXN0LmMgICAgICAg IHwgMTc0ICstLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxMDEw IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY3J5cHRvL2VjL2VjX2N1cnZlLmMgYi9jcnlw dG8vZWMvZWNfY3VydmUuYworaW5kZXggYjViMmYzMzQyZC4uZDMyYTc2OGZlNiAxMDA2NDQKKy0t LSBhL2NyeXB0by9lYy9lY19jdXJ2ZS5jCisrKysgYi9jcnlwdG8vZWMvZWNfY3VydmUuYworQEAg LTMwLDM4ICszMCw2IEBAIHR5cGVkZWYgc3RydWN0IHsKKyB9IEVDX0NVUlZFX0RBVEE7CisgCiAg LyogdGhlIG5pc3QgcHJpbWUgY3VydmVzICovCi0gc3RhdGljIGNvbnN0IHN0cnVjdCB7Ci0gICAg IEVDX0NVUlZFX0RBVEEgaDsKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHsKKy0gICAgRUNfQ1VSVkVf REFUQSBoOwogLSAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMjAgKyAyNCAqIDZdOwogLX0gX0VDX05J U1RfUFJJTUVfMTkyID0gewogLSAgICB7CkBAIC0zNSwxMSArNTQsOSBAQCBkaWZmIC11cCAuL2Ny eXB0by9lYy9lY19jdXJ2ZS5jLnJlbW92ZS1lYyAuL2NyeXB0by9lYy9lY19jdXJ2ZS5jCiAtICAg IH0KIC19OwogLQotLXN0YXRpYyBjb25zdCBzdHJ1Y3QgewotLSAgICBFQ19DVVJWRV9EQVRBIGg7 Cisgc3RhdGljIGNvbnN0IHN0cnVjdCB7CisgICAgIEVDX0NVUlZFX0RBVEEgaDsKICAgICAgdW5z aWduZWQgY2hhciBkYXRhWzIwICsgMjggKiA2XTsKLSB9IF9FQ19OSVNUX1BSSU1FXzIyNCA9IHsK LSAgICAgewogQEAgLTIwMCwxODcgKzE2OCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgewogICAg ICB9CiAgfTsKQEAgLTIyOCwxMCArMjQ1LDEyIEBAIGRpZmYgLXVwIC4vY3J5cHRvL2VjL2VjX2N1 cnZlLmMucmVtb3ZlLWVjIC4vY3J5cHRvL2VjL2VjX2N1cnZlLmMKICBzdGF0aWMgY29uc3Qgc3Ry dWN0IHsKICAgICAgRUNfQ1VSVkVfREFUQSBoOwogICAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMjAg KyAzMiAqIDZdOwotQEAgLTQyMywyOTQgKzIxMCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgewor QEAgLTQyMSwyOTQgKzIwOCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeworIAorICNpZm5kZWYg RklQU19NT0RVTEUKICAvKiB0aGUgc2VjZyBwcmltZSBjdXJ2ZXMgKG1pbnVzIHRoZSBuaXN0IGFu ZCB4OS42MiBwcmltZSBjdXJ2ZXMpICovCi0gc3RhdGljIGNvbnN0IHN0cnVjdCB7Ci0gICAgIEVD X0NVUlZFX0RBVEEgaDsKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHsKKy0gICAgRUNfQ1VSVkVfREFU QSBoOwogLSAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMjAgKyAxNCAqIDZdOwogLX0gX0VDX1NFQ0df UFJJTUVfMTEyUjEgPSB7CiAtICAgIHsKQEAgLTUxOCwxMSArNTM3LDkgQEAgZGlmZiAtdXAgLi9j cnlwdG8vZWMvZWNfY3VydmUuYy5yZW1vdmUtZWMgLi9jcnlwdG8vZWMvZWNfY3VydmUuYwogLSAg ICB9CiAtfTsKIC0KLS1zdGF0aWMgY29uc3Qgc3RydWN0IHsKLS0gICAgRUNfQ1VSVkVfREFUQSBo OworIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeworICAgICBFQ19DVVJWRV9EQVRBIGg7CiAgICAgIHVu c2lnbmVkIGNoYXIgZGF0YVswICsgMzIgKiA2XTsKLSB9IF9FQ19TRUNHX1BSSU1FXzI1NksxID0g ewotICAgICB7CiBAQCAtNzQ1LDEwMiArMjQ0LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CiAg ICAgIH0KICB9OwpAQCAtNjI2LDEwICs2NDMsMTIgQEAgZGlmZiAtdXAgLi9jcnlwdG8vZWMvZWNf Y3VydmUuYy5yZW1vdmUtZWMgLi9jcnlwdG8vZWMvZWNfY3VydmUuYwogICNlbmRpZiAvKiBGSVBT X01PRFVMRSAqLwogIAogICNpZm5kZWYgT1BFTlNTTF9OT19FQzJNCi1AQCAtMjIzOCwxOTggKzE2 NDEsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHsKK0BAIC0yMjM2LDE5OCArMTYzOSw2IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgeworICAqLworIAogICNpZm5kZWYgRklQU19NT0RVTEUKLSBzdGF0 aWMgY29uc3Qgc3RydWN0IHsKLSAgICAgRUNfQ1VSVkVfREFUQSBoOworLXN0YXRpYyBjb25zdCBz dHJ1Y3QgeworLSAgICBFQ19DVVJWRV9EQVRBIGg7CiAtICAgIHVuc2lnbmVkIGNoYXIgZGF0YVsw ICsgMjAgKiA2XTsKIC19IF9FQ19icmFpbnBvb2xQMTYwcjEgPSB7CiAtICAgIHsKQEAgLTgyMCwx MiArODM5LDEwIEBAIGRpZmYgLXVwIC4vY3J5cHRvL2VjL2VjX2N1cnZlLmMucmVtb3ZlLWVjIC4v Y3J5cHRvL2VjL2VjX2N1cnZlLmMKIC0gICAgfQogLX07CiAtCi0tc3RhdGljIGNvbnN0IHN0cnVj dCB7Ci0tICAgIEVDX0NVUlZFX0RBVEEgaDsKKyBzdGF0aWMgY29uc3Qgc3RydWN0IHsKKyAgICAg RUNfQ1VSVkVfREFUQSBoOwogICAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMCArIDMyICogNl07Ci0g fSBfRUNfYnJhaW5wb29sUDI1NnIxID0gewotICAgICB7Ci1AQCAtMjg1NCw4ICsyMDY1LDYgQEAg c3RhdGljIGNvbnN0IGVjX2xpc3RfZWxlbWVudCBjdXJ2ZV9saXN0WworQEAgLTI4NTQsOCArMjA2 NSw2IEBAIHN0YXRpYyBjb25zdCBlY19saXN0X2VsZW1lbnQgY3VydmVfbGlzdFtdID0gewogICAg ICAgIk5JU1QvU0VDRyBjdXJ2ZSBvdmVyIGEgNTIxIGJpdCBwcmltZSBmaWVsZCJ9LAogIAogICAg ICAvKiBYOS42MiBjdXJ2ZXMgKi8KQEAgLTgzNCw3ICs4NTEsNyBAQCBkaWZmIC11cCAuL2NyeXB0 by9lYy9lY19jdXJ2ZS5jLnJlbW92ZS1lYyAuL2NyeXB0by9lYy9lY19jdXJ2ZS5jCiAgICAgIHtO SURfWDlfNjJfcHJpbWUyNTZ2MSwgJl9FQ19YOV82Ml9QUklNRV8yNTZWMS5oLAogICMgaWYgZGVm aW5lZChFQ1BfTklTVFoyNTZfQVNNKQogICAgICAgRUNfR0ZwX25pc3R6MjU2X21ldGhvZCwKLUBA IC0yODk5LDI1ICsyMTA4LDYgQEAgc3RhdGljIGNvbnN0IGVjX2xpc3RfZWxlbWVudCBjdXJ2ZV9s aXN0WworQEAgLTI4OTksMjUgKzIxMDgsNiBAQCBzdGF0aWMgY29uc3QgZWNfbGlzdF9lbGVtZW50 IGN1cnZlX2xpc3RbXSA9IHsKICBzdGF0aWMgY29uc3QgZWNfbGlzdF9lbGVtZW50IGN1cnZlX2xp c3RbXSA9IHsKICAgICAgLyogcHJpbWUgZmllbGQgY3VydmVzICovCiAgICAgIC8qIHNlY2cgY3Vy dmVzICovCkBAIC04NjAsNyArODc3LDcgQEAgZGlmZiAtdXAgLi9jcnlwdG8vZWMvZWNfY3VydmUu Yy5yZW1vdmUtZWMgLi9jcnlwdG8vZWMvZWNfY3VydmUuYwogICMgaWZuZGVmIE9QRU5TU0xfTk9f RUNfTklTVFBfNjRfR0NDXzEyOAogICAgICB7TklEX3NlY3AyMjRyMSwgJl9FQ19OSVNUX1BSSU1F XzIyNC5oLCBFQ19HRnBfbmlzdHAyMjRfbWV0aG9kLAogICAgICAgIk5JU1QvU0VDRyBjdXJ2ZSBv dmVyIGEgMjI0IGJpdCBwcmltZSBmaWVsZCJ9LAotQEAgLTI5NDUsMTggKzIxMzUsNiBAQCBzdGF0 aWMgY29uc3QgZWNfbGlzdF9lbGVtZW50IGN1cnZlX2xpc3RbCitAQCAtMjk0NSwxOCArMjEzNSw2 IEBAIHN0YXRpYyBjb25zdCBlY19saXN0X2VsZW1lbnQgY3VydmVfbGlzdFtdID0gewogICMgZW5k aWYKICAgICAgICJOSVNUL1NFQ0cgY3VydmUgb3ZlciBhIDUyMSBiaXQgcHJpbWUgZmllbGQifSwK ICAgICAgLyogWDkuNjIgY3VydmVzICovCkBAIC04NzksNyArODk2LDcgQEAgZGlmZiAtdXAgLi9j cnlwdG8vZWMvZWNfY3VydmUuYy5yZW1vdmUtZWMgLi9jcnlwdG8vZWMvZWNfY3VydmUuYwogICAg ICB7TklEX1g5XzYyX3ByaW1lMjU2djEsICZfRUNfWDlfNjJfUFJJTUVfMjU2VjEuaCwKICAjIGlm IGRlZmluZWQoRUNQX05JU1RaMjU2X0FTTSkKICAgICAgIEVDX0dGcF9uaXN0ejI1Nl9tZXRob2Qs Ci1AQCAtMzA1MywyMiArMjIzMSwxMiBAQCBzdGF0aWMgY29uc3QgZWNfbGlzdF9lbGVtZW50IGN1 cnZlX2xpc3RbCitAQCAtMzA1MywyMiArMjIzMSwxMiBAQCBzdGF0aWMgY29uc3QgZWNfbGlzdF9l bGVtZW50IGN1cnZlX2xpc3RbXSA9IHsKICAgICAge05JRF93YXBfd3NnX2lkbV9lY2lkX3d0bHM1 LCAmX0VDX1g5XzYyX0NIQVIyXzE2M1YxLmgsIDAsCiAgICAgICAiWDkuNjIgY3VydmUgb3ZlciBh IDE2MyBiaXQgYmluYXJ5IGZpZWxkIn0sCiAgIyBlbmRpZgpAQCAtOTAyLDcgKzkxOSw3IEBAIGRp ZmYgLXVwIC4vY3J5cHRvL2VjL2VjX2N1cnZlLmMucmVtb3ZlLWVjIC4vY3J5cHRvL2VjL2VjX2N1 cnZlLmMKICAjIGlmbmRlZiBPUEVOU1NMX05PX0VDMk0KICAgICAgLyogSVBTZWMgY3VydmVzICov CiAgICAgIHtOSURfaXBzZWMzLCAmX0VDX0lQU0VDXzE1NV9JRDMuaCwgMCwKLUBAIC0zMDc5LDE4 ICsyMjQ3LDYgQEAgc3RhdGljIGNvbnN0IGVjX2xpc3RfZWxlbWVudCBjdXJ2ZV9saXN0WworQEAg LTMwNzksMTggKzIyNDcsNiBAQCBzdGF0aWMgY29uc3QgZWNfbGlzdF9lbGVtZW50IGN1cnZlX2xp c3RbXSA9IHsKICAgICAgICJcdE5vdCBzdWl0YWJsZSBmb3IgRUNEU0EuXG5cdFF1ZXN0aW9uYWJs ZSBleHRlbnNpb24gZmllbGQhIn0sCiAgIyBlbmRpZgogICAgICAvKiBicmFpbnBvb2wgY3VydmVz ICovCkBAIC05MjEsOSArOTM4LDEwIEBAIGRpZmYgLXVwIC4vY3J5cHRvL2VjL2VjX2N1cnZlLmMu cmVtb3ZlLWVjIC4vY3J5cHRvL2VjL2VjX2N1cnZlLmMKICAgICAge05JRF9icmFpbnBvb2xQMjU2 cjEsICZfRUNfYnJhaW5wb29sUDI1NnIxLmgsIDAsCiAgICAgICAiUkZDIDU2MzkgY3VydmUgb3Zl ciBhIDI1NiBiaXQgcHJpbWUgZmllbGQifSwKICAgICAge05JRF9icmFpbnBvb2xQMjU2dDEsICZf RUNfYnJhaW5wb29sUDI1NnQxLmgsIDAsCi1kaWZmIC11cCAuL3Rlc3QvZWN0ZXN0LmMucmVtb3Zl LWVjIC4vdGVzdC9lY3Rlc3QuYwotLS0tIC4vdGVzdC9lY3Rlc3QuYy5yZW1vdmUtZWMJMjAyMy0w My0xMyAxODozOTozMC41NDQ2NDI5MTIgKzAxMDAKLSsrKyAuL3Rlc3QvZWN0ZXN0LmMJMjAyMy0w My0yMCAwNzoyNzoyNi40MDMyMTI5NjUgKzAxMDAKK2RpZmYgLS1naXQgYS90ZXN0L2VjdGVzdC5j IGIvdGVzdC9lY3Rlc3QuYworaW5kZXggYWZlZjg1YjBlNi4uNDg5MGIwNTU1ZSAxMDA2NDQKKy0t LSBhL3Rlc3QvZWN0ZXN0LmMKKysrKyBiL3Rlc3QvZWN0ZXN0LmMKIEBAIC0xNzUsMTg0ICsxNzUs MjYgQEAgc3RhdGljIGludCBwcmltZV9maWVsZF90ZXN0cyh2b2lkKQogICAgICAgICAgfHwgIVRF U1RfcHRyKHAgPSBCTl9uZXcoKSkKICAgICAgICAgIHx8ICFURVNUX3B0cihhID0gQk5fbmV3KCkp CkBAIC0xMTI1LDMgKzExNDMsNiBAQCBkaWZmIC11cCAuL3Rlc3QvZWN0ZXN0LmMucmVtb3ZlLWVj IC4vdGVzdC9lY3Rlc3QuYwogICAgICBBRERfQUxMX1RFU1RTKGNhcmRpbmFsaXR5X3Rlc3QsIGNy dl9sZW4pOwogICAgICBBRERfVEVTVChwcmltZV9maWVsZF90ZXN0cyk7CiAgI2lmbmRlZiBPUEVO U1NMX05PX0VDMk0KKy0tIAorMi40MS4wCisKCmRpZmYgLS1naXQgYS8wMDExLVJlbW92ZS1FQy1j dXJ2ZXMucGF0Y2ggYi8wMDExLVJlbW92ZS1FQy1jdXJ2ZXMucGF0Y2gKaW5kZXggZjZjNzMzYS4u NDAxMGJmNSAxMDA2NDQKLS0tIGEvMDAxMS1SZW1vdmUtRUMtY3VydmVzLnBhdGNoCisrKyBiLzAw MTEtUmVtb3ZlLUVDLWN1cnZlcy5wYXRjaApAQCAtMSw3ICsxLDI2IEBACi1kaWZmIC11cCAuL2Fw cHMvc3BlZWQuYy5lYy1jdXJ2ZXMgLi9hcHBzL3NwZWVkLmMKLS0tLSAuL2FwcHMvc3BlZWQuYy5l Yy1jdXJ2ZXMJMjAyMy0wMy0xNCAwNDo0NDoxMi41NDU0Mzc4OTIgKzAxMDAKLSsrKyAuL2FwcHMv c3BlZWQuYwkyMDIzLTAzLTE0IDA0OjQ4OjI4LjYwNjcyOTA2NyArMDEwMAotQEAgLTM2Niw3ICsz NjYsNyBAQCBzdGF0aWMgZG91YmxlIGZmZGhfcmVzdWx0c1tGRkRIX05VTV1bMV07CitGcm9tIGU2 NWY2OThkNTlmYzcxMzAwZDNlNDk0OTJmOWVmODk5YjcyMDllNWYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KK0RhdGU6IE1vbiwgMzEgSnVsIDIw MjMgMDk6NDE6MjggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxMS8zNV0gMDAxMS1SZW1vdmUtRUMt Y3VydmVzLnBhdGNoCisKK1BhdGNoLW5hbWU6IDAwMTEtUmVtb3ZlLUVDLWN1cnZlcy5wYXRjaAor UGF0Y2gtaWQ6IDExCitQYXRjaC1zdGF0dXM6IHwKKyAgICAjIHJlbW92ZSB1bnN1cHBvcnRlZCBF QyBjdXJ2ZXMKK0Zyb20tZGlzdC1naXQtY29tbWl0OiA5NDA5YmM3MDQ0Y2Y0YjU3NzM2MzljY2Uy MGY1MTM5OTg4OGM0NWZkCistLS0KKyBhcHBzL3NwZWVkLmMgICAgICAgICAgICAgICAgIHwgIDgg Ky0tLQorIGNyeXB0by9ldnAvZWNfc3VwcG9ydC5jICAgICAgfCA3NiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0ZXN0L2FjdnBfdGVzdC5pbmMgICAgICAgICAgIHwgIDkg LS0tLS0KKyB0ZXN0L2VjZHNhdGVzdC5oICAgICAgICAgICAgIHwgMTcgLS0tLS0tLS0KKyB0ZXN0 L3JlY2lwZXMvMTUtdGVzdF9nZW5lYy50IHwgMjcgLS0tLS0tLS0tLS0tLQorIDUgZmlsZXMgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEzNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Fw cHMvc3BlZWQuYyBiL2FwcHMvc3BlZWQuYworaW5kZXggY2FjZTI1ZWRhMS4uZDUyN2YxMmYxOCAx MDA2NDQKKy0tLSBhL2FwcHMvc3BlZWQuYworKysrIGIvYXBwcy9zcGVlZC5jCitAQCAtMzg1LDcg KzM4NSw3IEBAIHN0YXRpYyBkb3VibGUgZmZkaF9yZXN1bHRzW0ZGREhfTlVNXVsxXTsgIC8qIDEg b3A6IGRlcml2YXRpb24gKi8KICAjZW5kaWYgLyogT1BFTlNTTF9OT19ESCAqLwogIAogIGVudW0g ZWNfY3VydmVzX3QgewpAQCAtMTAsNyArMjksNyBAQCBkaWZmIC11cCAuL2FwcHMvc3BlZWQuYy5l Yy1jdXJ2ZXMgLi9hcHBzL3NwZWVkLmMKICAjaWZuZGVmIE9QRU5TU0xfTk9fRUMyTQogICAgICBS X0VDX0sxNjMsIFJfRUNfSzIzMywgUl9FQ19LMjgzLCBSX0VDX0s0MDksIFJfRUNfSzU3MSwKICAg ICAgUl9FQ19CMTYzLCBSX0VDX0IyMzMsIFJfRUNfQjI4MywgUl9FQ19CNDA5LCBSX0VDX0I1NzEs Ci1AQCAtMzc2LDggKzM3Niw2IEBAIGVudW0gZWNfY3VydmVzX3QgeworQEAgLTM5NSw4ICszOTUs NiBAQCBlbnVtIGVjX2N1cnZlc190IHsKICB9OwogIC8qIGxpc3Qgb2YgZWNkc2EgY3VydmVzICov CiAgc3RhdGljIGNvbnN0IE9QVF9QQUlSIGVjZHNhX2Nob2ljZXNbRUNEU0FfTlVNXSA9IHsKQEAg LTE5LDcgKzM4LDcgQEAgZGlmZiAtdXAgLi9hcHBzL3NwZWVkLmMuZWMtY3VydmVzIC4vYXBwcy9z cGVlZC5jCiAgICAgIHsiZWNkc2FwMjI0IiwgUl9FQ19QMjI0fSwKICAgICAgeyJlY2RzYXAyNTYi LCBSX0VDX1AyNTZ9LAogICAgICB7ImVjZHNhcDM4NCIsIFJfRUNfUDM4NH0sCi1AQCAtNDA0LDgg KzQwMiw2IEBAIHN0YXRpYyBjb25zdCBPUFRfUEFJUiBlY2RzYV9jaG9pY2VzW0VDRFMKK0BAIC00 MjMsOCArNDIxLDYgQEAgc3RhdGljIGNvbnN0IE9QVF9QQUlSIGVjZHNhX2Nob2ljZXNbRUNEU0Ff TlVNXSA9IHsKICBlbnVtIHsgUl9FQ19YMjU1MTkgPSBFQ0RTQV9OVU0sIFJfRUNfWDQ0OCwgRUNf TlVNIH07CiAgLyogbGlzdCBvZiBlY2RoIGN1cnZlcywgZXh0ZW5zaW9uIG9mIHxlY2RzYV9jaG9p Y2VzfCBsaXN0IGFib3ZlICovCiAgc3RhdGljIGNvbnN0IE9QVF9QQUlSIGVjZGhfY2hvaWNlc1tF Q19OVU1dID0gewpAQCAtMjgsNyArNDcsNyBAQCBkaWZmIC11cCAuL2FwcHMvc3BlZWQuYy5lYy1j dXJ2ZXMgLi9hcHBzL3NwZWVkLmMKICAgICAgeyJlY2RocDIyNCIsIFJfRUNfUDIyNH0sCiAgICAg IHsiZWNkaHAyNTYiLCBSX0VDX1AyNTZ9LAogICAgICB7ImVjZGhwMzg0IiwgUl9FQ19QMzg0fSwK LUBAIC0xNDIyLDggKzE0MTgsNiBAQCBpbnQgc3BlZWRfbWFpbihpbnQgYXJnYywgY2hhciAqKmFy Z3YpCitAQCAtMTQ0Miw4ICsxNDM4LDYgQEAgaW50IHNwZWVkX21haW4oaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQogICAgICAgKi8KICAgICAgc3RhdGljIGNvbnN0IEVDX0NVUlZFIGVjX2N1cnZlc1tF Q19OVU1dID0gewogICAgICAgICAgLyogUHJpbWUgQ3VydmVzICovCkBAIC0zNyw5ICs1NiwxMCBA QCBkaWZmIC11cCAuL2FwcHMvc3BlZWQuYy5lYy1jdXJ2ZXMgLi9hcHBzL3NwZWVkLmMKICAgICAg ICAgIHsibmlzdHAyMjQiLCBOSURfc2VjcDIyNHIxLCAyMjR9LAogICAgICAgICAgeyJuaXN0cDI1 NiIsIE5JRF9YOV82Ml9wcmltZTI1NnYxLCAyNTZ9LAogICAgICAgICAgeyJuaXN0cDM4NCIsIE5J RF9zZWNwMzg0cjEsIDM4NH0sCi1kaWZmIC11cCAuL2NyeXB0by9ldnAvZWNfc3VwcG9ydC5jLmVj LWN1cnZlcyAuL2NyeXB0by9ldnAvZWNfc3VwcG9ydC5jCi0tLS0gLi9jcnlwdG8vZXZwL2VjX3N1 cHBvcnQuYy5lYy1jdXJ2ZXMJMjAyMy0wMy0xNCAwNjoyMjo0MS41NDIzMTA0NDIgKzAxMDAKLSsr KyAuL2NyeXB0by9ldnAvZWNfc3VwcG9ydC5jCTIwMjMtMDMtMjEgMTE6MjQ6MTguMzc4NDUxNjgz ICswMTAwCitkaWZmIC0tZ2l0IGEvY3J5cHRvL2V2cC9lY19zdXBwb3J0LmMgYi9jcnlwdG8vZXZw L2VjX3N1cHBvcnQuYworaW5kZXggMWVjMTAxNDNkMi4uOGZlNzc0MTQwZiAxMDA2NDQKKy0tLSBh L2NyeXB0by9ldnAvZWNfc3VwcG9ydC5jCisrKysgYi9jcnlwdG8vZXZwL2VjX3N1cHBvcnQuYwog QEAgLTIwLDg5ICsyMCwxNSBAQCB0eXBlZGVmIHN0cnVjdCBlY19uYW1lMm5pZF9zdCB7CiAgc3Rh dGljIGNvbnN0IEVDX05BTUUyTklEIGN1cnZlX2xpc3RbXSA9IHsKICAgICAgLyogcHJpbWUgZmll bGQgY3VydmVzICovCkBAIC0xMzAsNyArMTUwLDcgQEAgZGlmZiAtdXAgLi9jcnlwdG8vZXZwL2Vj X3N1cHBvcnQuYy5lYy1jdXJ2ZXMgLi9jcnlwdG8vZXZwL2VjX3N1cHBvcnQuYwogICAgICB7ImJy YWlucG9vbFAyNTZyMSIsIE5JRF9icmFpbnBvb2xQMjU2cjEgfSwKICAgICAgeyJicmFpbnBvb2xQ MjU2dDEiLCBOSURfYnJhaW5wb29sUDI1NnQxIH0sCiAgICAgIHsiYnJhaW5wb29sUDMyMHIxIiwg TklEX2JyYWlucG9vbFAzMjByMSB9LAotQEAgLTExMSw4ICszNyw2IEBAIHN0YXRpYyBjb25zdCBF Q19OQU1FMk5JRCBjdXJ2ZV9saXN0W10gPQorQEAgLTExMSw4ICszNyw2IEBAIHN0YXRpYyBjb25z dCBFQ19OQU1FMk5JRCBjdXJ2ZV9saXN0W10gPSB7CiAgICAgIHsiYnJhaW5wb29sUDM4NHQxIiwg TklEX2JyYWlucG9vbFAzODR0MSB9LAogICAgICB7ImJyYWlucG9vbFA1MTJyMSIsIE5JRF9icmFp bnBvb2xQNTEycjEgfSwKICAgICAgeyJicmFpbnBvb2xQNTEydDEiLCBOSURfYnJhaW5wb29sUDUx MnQxIH0sCkBAIC0xMzksMTMgKzE1OSwxNSBAQCBkaWZmIC11cCAuL2NyeXB0by9ldnAvZWNfc3Vw cG9ydC5jLmVjLWN1cnZlcyAuL2NyeXB0by9ldnAvZWNfc3VwcG9ydC5jCiAgfTsKICAKICBjb25z dCBjaGFyICpPU1NMX0VDX2N1cnZlX25pZDJuYW1lKGludCBuaWQpCi1kaWZmIC11cCAuL3Rlc3Qv YWN2cF90ZXN0LmluYy5lYy1jdXJ2ZXMgLi90ZXN0L2FjdnBfdGVzdC5pbmMKLS0tLSAuL3Rlc3Qv YWN2cF90ZXN0LmluYy5lYy1jdXJ2ZXMJMjAyMy0wMy0xNCAwNjozODoyMC41NjM3MTI1ODYgKzAx MDAKLSsrKyAuL3Rlc3QvYWN2cF90ZXN0LmluYwkyMDIzLTAzLTE0IDA2OjM5OjAxLjYzMTA4MDA1 OSArMDEwMAotQEAgLTIxMiwxNSArMjEyLDYgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg ZWNkc2Ffc2lndmVyXworZGlmZiAtLWdpdCBhL3Rlc3QvYWN2cF90ZXN0LmluYyBiL3Rlc3QvYWN2 cF90ZXN0LmluYworaW5kZXggYWQxMWQzYWUxZS4uODk0YTBiZmY5ZCAxMDA2NDQKKy0tLSBhL3Rl c3QvYWN2cF90ZXN0LmluYworKysrIGIvdGVzdC9hY3ZwX3Rlc3QuaW5jCitAQCAtMjExLDE1ICsy MTEsNiBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBlY2RzYV9zaWd2ZXJfczFbXSA9IHsK KyAgICAgMHhCMSwgMHhBQywKICB9OwogIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZWNkc2Ffc2lndmVy X3N0IGVjZHNhX3NpZ3Zlcl9kYXRhW10gPSB7Ci0gICAgIHsKKy0gICAgewogLSAgICAgICAgIlNI QS0xIiwKIC0gICAgICAgICJQLTE5MiIsCiAtICAgICAgICBJVE0oZWNkc2Ffc2lndmVyX21zZzAp LApAQCAtMTU0LDEzICsxNzYsMTMgQEAgZGlmZiAtdXAgLi90ZXN0L2FjdnBfdGVzdC5pbmMuZWMt Y3VydmVzIC4vdGVzdC9hY3ZwX3Rlc3QuaW5jCiAtICAgICAgICBJVE0oZWNkc2Ffc2lndmVyX3Mw KSwKIC0gICAgICAgIFBBU1MsCiAtICAgIH0sCi0tICAgIHsKKyAgICAgewogICAgICAgICAgIlNI QTItNTEyIiwKICAgICAgICAgICJQLTUyMSIsCi0gICAgICAgICBJVE0oZWNkc2Ffc2lndmVyX21z ZzEpLAotZGlmZiAtdXAgLi90ZXN0L2VjZHNhdGVzdC5oLmVjLWN1cnZlcyAuL3Rlc3QvZWNkc2F0 ZXN0LmgKLS0tLSAuL3Rlc3QvZWNkc2F0ZXN0LmguZWMtY3VydmVzCTIwMjMtMDMtMTQgMDQ6NDk6 MTYuMTQ4MTU0NDcyICswMTAwCi0rKysgLi90ZXN0L2VjZHNhdGVzdC5oCTIwMjMtMDMtMTQgMDQ6 NTE6MDEuMzc2MDk2MDM3ICswMTAwCitkaWZmIC0tZ2l0IGEvdGVzdC9lY2RzYXRlc3QuaCBiL3Rl c3QvZWNkc2F0ZXN0LmgKK2luZGV4IDYzZmUzMTkwMjUuLjA2YjVjMGFhYzUgMTAwNjQ0CistLS0g YS90ZXN0L2VjZHNhdGVzdC5oCisrKysgYi90ZXN0L2VjZHNhdGVzdC5oCiBAQCAtMzIsMjMgKzMy LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgewogIH0gZWNkc2FfY2F2c19rYXRfdDsKICAKQEAgLTE4NSwx MCArMjA3LDExIEBAIGRpZmYgLXVwIC4vdGVzdC9lY2RzYXRlc3QuaC5lYy1jdXJ2ZXMgLi90ZXN0 L2VjZHNhdGVzdC5oCiAgICAgIC8qIHByaW1lIEtBVHMgZnJvbSBOSVNUIENBVlAgKi8KICAgICAg e05JRF9zZWNwMjI0cjEsIE5JRF9zaGEyMjQsCiAgICAgICAiNjk5MzI1ZDZmYzhmYmJiNDk4MWE2 ZGVkM2MzYTU0YWQyZTRlM2RiOGE1NjY5MjAxOTEyMDY0YzY0ZTcwMGMxMzkyNDhjZGMxIgotZGlm ZiAtdXAgLi90ZXN0L3JlY2lwZXMvMTUtdGVzdF9nZW5lYy50LmVjLWN1cnZlcyAuL3Rlc3QvcmVj aXBlcy8xNS10ZXN0X2dlbmVjLnQKLS0tLSAuL3Rlc3QvcmVjaXBlcy8xNS10ZXN0X2dlbmVjLnQu ZWMtY3VydmVzCTIwMjMtMDMtMTQgMDQ6NTE6NDUuMjE1NDg4Mjc3ICswMTAwCi0rKysgLi90ZXN0 L3JlY2lwZXMvMTUtdGVzdF9nZW5lYy50CTIwMjMtMDMtMjEgMTE6MjY6NTguNjEzODg1NDM1ICsw MTAwCi1AQCAtNDEsMzcgKzQxLDExIEBAIHBsYW4gc2tpcF9hbGwgPT4gIlRoaXMgdGVzdCBpcyB1 bnN1cHBvcnQKK2RpZmYgLS1naXQgYS90ZXN0L3JlY2lwZXMvMTUtdGVzdF9nZW5lYy50IGIvdGVz dC9yZWNpcGVzLzE1LXRlc3RfZ2VuZWMudAoraW5kZXggMmRmZWQzODdjYS4uYzczM2I2OGY4MyAx MDA2NDQKKy0tLSBhL3Rlc3QvcmVjaXBlcy8xNS10ZXN0X2dlbmVjLnQKKysrKyBiL3Rlc3QvcmVj aXBlcy8xNS10ZXN0X2dlbmVjLnQKK0BAIC00MSwzNyArNDEsMTEgQEAgcGxhbiBza2lwX2FsbCA9 PiAiVGhpcyB0ZXN0IGlzIHVuc3VwcG9ydGVkIGluIGEgbm8tZWMgYnVpbGQiCiAgICAgIGlmIGRp c2FibGVkKCJlYyIpOwogIAogIG15IEBwcmltZV9jdXJ2ZXMgPSBxdygKQEAgLTIzNCwzICsyNTcs NiBAQCBkaWZmIC11cCAuL3Rlc3QvcmVjaXBlcy8xNS10ZXN0X2dlbmVjLnQuZWMtY3VydmVzIC4v dGVzdC9yZWNpcGVzLzE1LXRlc3RfZ2VuZWMudAogICAgICBQLTIyNAogICAgICBQLTI1NgogICAg ICBQLTM4NAorLS0gCisyLjQxLjAKKwoKZGlmZiAtLWdpdCBhLzAwMTItRGlzYWJsZS1leHBsaWNp dC1lYy5wYXRjaCBiLzAwMTItRGlzYWJsZS1leHBsaWNpdC1lYy5wYXRjaAppbmRleCAwY2FlMmZh Li45Yjg2MzA5IDEwMDY0NAotLS0gYS8wMDEyLURpc2FibGUtZXhwbGljaXQtZWMucGF0Y2gKKysr IGIvMDAxMi1EaXNhYmxlLWV4cGxpY2l0LWVjLnBhdGNoCkBAIC0xLDcgKzEsMjcgQEAKLWRpZmYg LXVwIG9wZW5zc2wtMy4wLjEvY3J5cHRvL2VjL2VjX2FzbjEuYy5kaXNhYmxlX2V4cGxpY2l0X2Vj IG9wZW5zc2wtMy4wLjEvY3J5cHRvL2VjL2VjX2FzbjEuYwotLS0tIG9wZW5zc2wtMy4wLjEvY3J5 cHRvL2VjL2VjX2FzbjEuYy5kaXNhYmxlX2V4cGxpY2l0X2VjCTIwMjItMDMtMjIgMTM6MTA6NDUu NzE4MDc3ODQ1ICswMTAwCi0rKysgb3BlbnNzbC0zLjAuMS9jcnlwdG8vZWMvZWNfYXNuMS5jCTIw MjItMDMtMjIgMTM6MTI6NDYuNjI2NTk5MDE2ICswMTAwCi1AQCAtODk1LDYgKzg5NSwxMiBAQCBF Q19HUk9VUCAqZDJpX0VDUEtQYXJhbWV0ZXJzKEVDX0dST1VQICoqCitGcm9tIDkxYmRkOWI4MTZi MjJiYzE0NjRlYzMyM2YzMjcyYjg2NmIyNDExNGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KK0RhdGU6IE1vbiwgMzEgSnVsIDIwMjMgMDk6NDE6 MjggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxMi8zNV0gMDAxMi1EaXNhYmxlLWV4cGxpY2l0LWVj LnBhdGNoCisKK1BhdGNoLW5hbWU6IDAwMTItRGlzYWJsZS1leHBsaWNpdC1lYy5wYXRjaAorUGF0 Y2gtaWQ6IDEyCitQYXRjaC1zdGF0dXM6IHwKKyAgICAjIERpc2FibGUgZXhwbGljaXQgRUMgY3Vy dmVzCisgICAgIyBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTIw NjY0MTIKK0Zyb20tZGlzdC1naXQtY29tbWl0OiA5NDA5YmM3MDQ0Y2Y0YjU3NzM2MzljY2UyMGY1 MTM5OTg4OGM0NWZkCistLS0KKyBjcnlwdG8vZWMvZWNfYXNuMS5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAxMSArKysrKysrKysrCisgY3J5cHRvL2VjL2VjX2xpYi5jICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDYgKysrKysKKyB0ZXN0L2VjdGVzdC5jICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAyMiArKysrKysrKysrLS0tLS0tLS0tCisgdGVzdC9lbmRlY29k ZV90ZXN0LmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKystLS0tLS0tLS0K KyAuLi4vMzAtdGVzdF9ldnBfZGF0YS9ldnBwa2V5X2VjZHNhLnR4dCAgICAgICAgfCAxMiAtLS0t LS0tLS0tCisgNSBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL2NyeXB0by9lYy9lY19hc24xLmMgYi9jcnlwdG8vZWMvZWNfYXNu MS5jCitpbmRleCA3YTBiMzVhNTk0Li5kMTlkNTczNDRlIDEwMDY0NAorLS0tIGEvY3J5cHRvL2Vj L2VjX2FzbjEuYworKysrIGIvY3J5cHRvL2VjL2VjX2FzbjEuYworQEAgLTkwNSw2ICs5MDUsMTIg QEAgRUNfR1JPVVAgKmQyaV9FQ1BLUGFyYW1ldGVycyhFQ19HUk9VUCAqKmEsIGNvbnN0IHVuc2ln bmVkIGNoYXIgKippbiwgbG9uZyBsZW4pCiAgICAgIGlmIChwYXJhbXMtPnR5cGUgPT0gRUNQS1BB UkFNRVRFUlNfVFlQRV9FWFBMSUNJVCkKICAgICAgICAgIGdyb3VwLT5kZWNvZGVkX2Zyb21fZXhw bGljaXRfcGFyYW1zID0gMTsKICAKQEAgLTE0LDcgKzM0LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0z LjAuMS9jcnlwdG8vZWMvZWNfYXNuMS5jLmRpc2FibGVfZXhwbGljaXRfZWMgb3BlbnNzbC0zLjAu MS9jcnkKICAgICAgaWYgKGEpIHsKICAgICAgICAgIEVDX0dST1VQX2ZyZWUoKmEpOwogICAgICAg ICAgKmEgPSBncm91cDsKLUBAIC05NTQsNiArOTU5LDExIEBAIEVDX0tFWSAqZDJpX0VDUHJpdmF0 ZUtleShFQ19LRVkgKiphLCBjb24KK0BAIC05NjQsNiArOTcwLDExIEBAIEVDX0tFWSAqZDJpX0VD UHJpdmF0ZUtleShFQ19LRVkgKiphLCBjb25zdCB1bnNpZ25lZCBjaGFyICoqaW4sIGxvbmcgbGVu KQogICAgICAgICAgZ290byBlcnI7CiAgICAgIH0KICAKQEAgLTI2LDEwICs0NiwxMSBAQCBkaWZm IC11cCBvcGVuc3NsLTMuMC4xL2NyeXB0by9lYy9lY19hc24xLmMuZGlzYWJsZV9leHBsaWNpdF9l YyBvcGVuc3NsLTMuMC4xL2NyeQogICAgICByZXQtPnZlcnNpb24gPSBwcml2X2tleS0+dmVyc2lv bjsKICAKICAgICAgaWYgKHByaXZfa2V5LT5wcml2YXRlS2V5KSB7Ci1kaWZmIC11cCBvcGVuc3Ns LTMuMC45L2NyeXB0by9lYy9lY19saWIuYy5ub2VjIG9wZW5zc2wtMy4wLjkvY3J5cHRvL2VjL2Vj X2xpYi5jCi0tLS0gb3BlbnNzbC0zLjAuOS9jcnlwdG8vZWMvZWNfbGliLmMubm9lYwkyMDIzLTA3 LTI3IDEwOjMyOjUyLjg3MDkxMDA5NSArMDIwMAotKysrIG9wZW5zc2wtMy4wLjkvY3J5cHRvL2Vj L2VjX2xpYi5jCTIwMjMtMDctMjcgMTA6MzU6MTguMDI5MTUxMTgxICswMjAwCi1AQCAtMTcyOCw2 ICsxNzI4LDExIEBAIEVDX0dST1VQICpFQ19HUk9VUF9uZXdfZnJvbV9wYXJhbXMoY29uc3QKK2Rp ZmYgLS1naXQgYS9jcnlwdG8vZWMvZWNfbGliLmMgYi9jcnlwdG8vZWMvZWNfbGliLmMKK2luZGV4 IGE4NGUwODhjMTkuLjZjMzdiZjc4YWUgMTAwNjQ0CistLS0gYS9jcnlwdG8vZWMvZWNfbGliLmMK KysrKyBiL2NyeXB0by9lYy9lY19saWIuYworQEAgLTE3MjQsNiArMTcyNCwxMSBAQCBFQ19HUk9V UCAqRUNfR1JPVVBfbmV3X2Zyb21fcGFyYW1zKGNvbnN0IE9TU0xfUEFSQU0gcGFyYW1zW10sCiAg ICAgICAgICBnb3RvIGVycjsKICAgICAgfQogICAgICBpZiAobmFtZWRfZ3JvdXAgPT0gZ3JvdXAp IHsKQEAgLTQxLDcgKzYyLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuOS9jcnlwdG8vZWMvZWNf bGliLmMubm9lYyBvcGVuc3NsLTMuMC45L2NyeXB0by9lYy9lY19saWIuYwogICAgICAgICAgLyoK ICAgICAgICAgICAqIElmIHdlIGRpZCBub3QgZmluZCBhIG5hbWVkIGdyb3VwIHRoZW4gdGhlIGVu Y29kaW5nIHNob3VsZCBiZSBleHBsaWNpdAogICAgICAgICAgICogaWYgaXQgd2FzIHNwZWNpZmll ZAotQEAgLTE3NDMsNiArMTc0OCw3IEBAIEVDX0dST1VQICpFQ19HUk9VUF9uZXdfZnJvbV9wYXJh bXMoY29uc3QKK0BAIC0xNzM5LDYgKzE3NDQsNyBAQCBFQ19HUk9VUCAqRUNfR1JPVVBfbmV3X2Zy b21fcGFyYW1zKGNvbnN0IE9TU0xfUEFSQU0gcGFyYW1zW10sCiAgICAgICAgICAgICAgZ290byBl cnI7CiAgICAgICAgICB9CiAgICAgICAgICBFQ19HUk9VUF9zZXRfYXNuMV9mbGFnKGdyb3VwLCBP UEVOU1NMX0VDX0VYUExJQ0lUX0NVUlZFKTsKQEAgLTQ5LDEwICs3MCw3NSBAQCBkaWZmIC11cCBv cGVuc3NsLTMuMC45L2NyeXB0by9lYy9lY19saWIuYy5ub2VjIG9wZW5zc2wtMy4wLjkvY3J5cHRv L2VjL2VjX2xpYi5jCiAgICAgIH0gZWxzZSB7CiAgICAgICAgICBFQ19HUk9VUF9mcmVlKGdyb3Vw KTsKICAgICAgICAgIGdyb3VwID0gbmFtZWRfZ3JvdXA7Ci1kaWZmIC11cCBvcGVuc3NsLTMuMC4x L3Rlc3QvZW5kZWNvZGVfdGVzdC5jLmRpc2FibGVfZXhwbGljaXRfZWMgb3BlbnNzbC0zLjAuMS90 ZXN0L2VuZGVjb2RlX3Rlc3QuYwotLS0tIG9wZW5zc2wtMy4wLjEvdGVzdC9lbmRlY29kZV90ZXN0 LmMuZGlzYWJsZV9leHBsaWNpdF9lYwkyMDIyLTAzLTIxIDE2OjU1OjQ2LjAwNTU1ODc3OSArMDEw MAotKysrIG9wZW5zc2wtMy4wLjEvdGVzdC9lbmRlY29kZV90ZXN0LmMJMjAyMi0wMy0yMSAxNjo1 NjoxMi42MzY3OTI3NjIgKzAxMDAKLUBAIC01Nyw3ICs1Nyw3IEBAIHN0YXRpYyBCTl9DVFggKmJu Y3R4ID0gTlVMTDsKK2RpZmYgLS1naXQgYS90ZXN0L2VjdGVzdC5jIGIvdGVzdC9lY3Rlc3QuYwor aW5kZXggNDg5MGIwNTU1ZS4uZTExYWVjNWIzYiAxMDA2NDQKKy0tLSBhL3Rlc3QvZWN0ZXN0LmMK KysrKyBiL3Rlc3QvZWN0ZXN0LmMKK0BAIC0yMzAxLDEwICsyMzAxLDExIEBAIHN0YXRpYyBpbnQg ZG9fdGVzdF9jdXN0b21fZXhwbGljaXRfZnJvbWRhdGEoRUNfR1JPVVAgKmdyb3VwLCBCTl9DVFgg KmN0eCwKKyAgICAgaWYgKCFURVNUX3B0cihwYXJhbXMgPSBPU1NMX1BBUkFNX0JMRF90b19wYXJh bShibGQpKQorICAgICAgICAgfHwgIVRFU1RfcHRyKHBjdHggPSBFVlBfUEtFWV9DVFhfbmV3X2Zy b21fbmFtZShOVUxMLCAiRUMiLCBOVUxMKSkKKyAgICAgICAgIHx8ICFURVNUX2ludF9ndChFVlBf UEtFWV9mcm9tZGF0YV9pbml0KHBjdHgpLCAwKQorLSAgICAgICAgfHwgIVRFU1RfaW50X2d0KEVW UF9QS0VZX2Zyb21kYXRhKHBjdHgsICZwa2V5cGFyYW0sCisrICAgICAgICB8fCAhVEVTVF9pbnRf bGUoRVZQX1BLRVlfZnJvbWRhdGEocGN0eCwgJnBrZXlwYXJhbSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFVlBfUEtFWV9LRVlfUEFSQU1FVEVSUywgcGFyYW1z KSwgMCkpCisgICAgICAgICBnb3RvIGVycjsKKy0KKysvKiBBcyBjcmVhdGluZyB0aGUga2V5IHNo b3VsZCBmYWlsLCB0aGUgcmVzdCBvZiB0aGUgdGVzdCBpcyBwb2ludGxlc3MgKi8KKysjIGlmIDAK KyAgICAgLyotIENoZWNrIHRoYXQgYWxsIHRoZSBzZXQgdmFsdWVzIGFyZSByZXRyaWV2YWJsZSAt Ki8KKyAKKyAgICAgLyogVGhlcmUgc2hvdWxkIGJlIG5vIG1hdGNoIHRvIGEgZ3JvdXAgbmFtZSBz aW5jZSB0aGUgZ2VuZXJhdG9yIGNoYW5nZWQgKi8KK0BAIC0yNDMzLDYgKzI0MzQsNyBAQCBzdGF0 aWMgaW50IGRvX3Rlc3RfY3VzdG9tX2V4cGxpY2l0X2Zyb21kYXRhKEVDX0dST1VQICpncm91cCwg Qk5fQ1RYICpjdHgsCisgI2VuZGlmCisgICAgICAgICApCisgICAgICAgICBnb3RvIGVycjsKKysj ZW5kaWYKKyAgICAgcmV0ID0gMTsKKyBlcnI6CisgICAgIEJOX2ZyZWUob3JkZXJfb3V0KTsKK0BA IC0yNzE0LDIxICsyNzE2LDIxIEBAIHN0YXRpYyBpbnQgY3VzdG9tX3BhcmFtc190ZXN0KGludCBp ZCkKKyAKKyAgICAgLyogQ29tcHV0ZSBrZXlleGNoYW5nZSBpbiBib3RoIGRpcmVjdGlvbnMgKi8K KyAgICAgaWYgKCFURVNUX3B0cihwY3R4MSA9IEVWUF9QS0VZX0NUWF9uZXcocGtleTEsIE5VTEwp KQorLSAgICAgICAgICAgIHx8ICFURVNUX2ludF9lcShFVlBfUEtFWV9kZXJpdmVfaW5pdChwY3R4 MSksIDEpCistICAgICAgICAgICAgfHwgIVRFU1RfaW50X2VxKEVWUF9QS0VZX2Rlcml2ZV9zZXRf cGVlcihwY3R4MSwgcGtleTIpLCAxKQorKyAgICAgICAgICAgIHx8ICFURVNUX2ludF9sZShFVlBf UEtFWV9kZXJpdmVfaW5pdChwY3R4MSksIDApCisrLyogICAgICAgICAgfHwgIVRFU1RfaW50X2Vx KEVWUF9QS0VZX2Rlcml2ZV9zZXRfcGVlcihwY3R4MSwgcGtleTIpLCAxKQorICAgICAgICAgICAg IHx8ICFURVNUX2ludF9lcShFVlBfUEtFWV9kZXJpdmUocGN0eDEsIE5VTEwsICZzc2xlbiksIDEp CisgICAgICAgICAgICAgfHwgIVRFU1RfaW50X2d0KGJzaXplLCBzc2xlbikKKy0gICAgICAgICAg ICB8fCAhVEVTVF9pbnRfZXEoRVZQX1BLRVlfZGVyaXZlKHBjdHgxLCBidWYxLCAmc3NsZW4pLCAx KSkKKysgICAgICAgICAgICB8fCAhVEVTVF9pbnRfZXEoRVZQX1BLRVlfZGVyaXZlKHBjdHgxLCBi dWYxLCAmc3NsZW4pLCAxKSovKQorICAgICAgICAgZ290byBlcnI7CisgICAgIGlmICghVEVTVF9w dHIocGN0eDIgPSBFVlBfUEtFWV9DVFhfbmV3KHBrZXkyLCBOVUxMKSkKKy0gICAgICAgICAgICB8 fCAhVEVTVF9pbnRfZXEoRVZQX1BLRVlfZGVyaXZlX2luaXQocGN0eDIpLCAxKQorLSAgICAgICAg ICAgIHx8ICFURVNUX2ludF9lcShFVlBfUEtFWV9kZXJpdmVfc2V0X3BlZXIocGN0eDIsIHBrZXkx KSwgMSkKKysgICAgICAgICAgICB8fCAhVEVTVF9pbnRfbGUoRVZQX1BLRVlfZGVyaXZlX2luaXQo cGN0eDIpLCAxKQorKy8qICAgICAgICAgIHx8ICFURVNUX2ludF9lcShFVlBfUEtFWV9kZXJpdmVf c2V0X3BlZXIocGN0eDIsIHBrZXkxKSwgMSkKKyAgICAgICAgICAgICB8fCAhVEVTVF9pbnRfZXEo RVZQX1BLRVlfZGVyaXZlKHBjdHgyLCBOVUxMLCAmdCksIDEpCisgICAgICAgICAgICAgfHwgIVRF U1RfaW50X2d0KGJzaXplLCB0KQorICAgICAgICAgICAgIHx8ICFURVNUX2ludF9sZShzc2xlbiwg dCkKKy0gICAgICAgICAgICB8fCAhVEVTVF9pbnRfZXEoRVZQX1BLRVlfZGVyaXZlKHBjdHgyLCBi dWYyLCAmdCksIDEpKQorKyAgICAgICAgICAgIHx8ICFURVNUX2ludF9lcShFVlBfUEtFWV9kZXJp dmUocGN0eDIsIGJ1ZjIsICZ0KSwgMSkgKi8pCisgICAgICAgICBnb3RvIGVycjsKKy0KKysjaWYg MAorICAgICAvKiBCb3RoIHNpZGVzIHNob3VsZCBleHBlY3QgdGhlIHNhbWUgc2hhcmVkIHNlY3Jl dCAqLworICAgICBpZiAoIVRFU1RfbWVtX2VxKGJ1ZjEsIHNzbGVuLCBidWYyLCB0KSkKKyAgICAg ICAgIGdvdG8gZXJyOworQEAgLTI3ODAsNyArMjc4Miw3IEBAIHN0YXRpYyBpbnQgY3VzdG9tX3Bh cmFtc190ZXN0KGludCBpZCkKKyAgICAgICAgICAgICAvKiBjb21wYXJlIHdpdGggcHJldmlvdXMg cmVzdWx0ICovCisgICAgICAgICAgICAgfHwgIVRFU1RfbWVtX2VxKGJ1ZjEsIHQsIGJ1ZjIsIHNz bGVuKSkKKyAgICAgICAgIGdvdG8gZXJyOworLQorKyNlbmRpZgorICAgICByZXQgPSAxOworIAor ICBlcnI6CitkaWZmIC0tZ2l0IGEvdGVzdC9lbmRlY29kZV90ZXN0LmMgYi90ZXN0L2VuZGVjb2Rl X3Rlc3QuYworaW5kZXggMTQ2NDgyODdlYi4uOWE0MzdkOGM2NCAxMDA2NDQKKy0tLSBhL3Rlc3Qv ZW5kZWNvZGVfdGVzdC5jCisrKysgYi90ZXN0L2VuZGVjb2RlX3Rlc3QuYworQEAgLTYyLDcgKzYy LDcgQEAgc3RhdGljIEJOX0NUWCAqYm5jdHggPSBOVUxMOwogIHN0YXRpYyBPU1NMX1BBUkFNX0JM RCAqYmxkX3ByaW1lX25jID0gTlVMTDsKICBzdGF0aWMgT1NTTF9QQVJBTV9CTEQgKmJsZF9wcmlt ZSA9IE5VTEw7CiAgc3RhdGljIE9TU0xfUEFSQU0gKmVjX2V4cGxpY2l0X3ByaW1lX3BhcmFtc19u YyA9IE5VTEw7CkBAIC02MSw3ICsxNDcsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3Qv ZW5kZWNvZGVfdGVzdC5jLmRpc2FibGVfZXhwbGljaXRfZWMgb3BlbnNzbC0zLjAuMS90ZQogIAog ICMgaWZuZGVmIE9QRU5TU0xfTk9fRUMyTQogIHN0YXRpYyBPU1NMX1BBUkFNX0JMRCAqYmxkX3Ry aV9uYyA9IE5VTEw7Ci1AQCAtOTkwLDkgKzk5MCw5IEBAIElNUExFTUVOVF9URVNUX1NVSVRFX0xF R0FDWShFQywgIkVDIikKK0BAIC0xMDA5LDkgKzEwMDksOSBAQCBJTVBMRU1FTlRfVEVTVF9TVUlU RV9MRUdBQ1koRUMsICJFQyIpCiAgRE9NQUlOX0tFWVMoRUNFeHBsaWNpdFByaW1lTmFtZWRDdXJ2 ZSk7CiAgSU1QTEVNRU5UX1RFU1RfU1VJVEUoRUNFeHBsaWNpdFByaW1lTmFtZWRDdXJ2ZSwgIkVD IiwgMSkKICBJTVBMRU1FTlRfVEVTVF9TVUlURV9MRUdBQ1koRUNFeHBsaWNpdFByaW1lTmFtZWRD dXJ2ZSwgIkVDIikKQEAgLTc0LDcgKzE2MCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVz dC9lbmRlY29kZV90ZXN0LmMuZGlzYWJsZV9leHBsaWNpdF9lYyBvcGVuc3NsLTMuMC4xL3RlCiAg IyBpZm5kZWYgT1BFTlNTTF9OT19FQzJNCiAgRE9NQUlOX0tFWVMoRUNFeHBsaWNpdFRyaU5hbWVk Q3VydmUpOwogIElNUExFTUVOVF9URVNUX1NVSVRFKEVDRXhwbGljaXRUcmlOYW1lZEN1cnZlLCAi RUMiLCAxKQotQEAgLTEzMTgsNyArMTMxOCw3IEBAIGludCBzZXR1cF90ZXN0cyh2b2lkKQorQEAg LTEzNTIsNyArMTM1Miw3IEBAIGludCBzZXR1cF90ZXN0cyh2b2lkKQogICAgICAgICAgfHwgIWNy ZWF0ZV9lY19leHBsaWNpdF9wcmltZV9wYXJhbXNfbmFtZWRjdXJ2ZShibGRfcHJpbWVfbmMpCiAg ICAgICAgICB8fCAhY3JlYXRlX2VjX2V4cGxpY2l0X3ByaW1lX3BhcmFtcyhibGRfcHJpbWUpCiAg ICAgICAgICB8fCAhVEVTVF9wdHIoZWNfZXhwbGljaXRfcHJpbWVfcGFyYW1zX25jID0gT1NTTF9Q QVJBTV9CTERfdG9fcGFyYW0oYmxkX3ByaW1lX25jKSkKQEAgLTgzLDcgKzE2OSw3IEBAIGRpZmYg LXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9lbmRlY29kZV90ZXN0LmMuZGlzYWJsZV9leHBsaWNpdF9l YyBvcGVuc3NsLTMuMC4xL3RlCiAgIyBpZm5kZWYgT1BFTlNTTF9OT19FQzJNCiAgICAgICAgICB8 fCAhVEVTVF9wdHIoYmxkX3RyaV9uYyA9IE9TU0xfUEFSQU1fQkxEX25ldygpKQogICAgICAgICAg fHwgIVRFU1RfcHRyKGJsZF90cmkgPSBPU1NMX1BBUkFNX0JMRF9uZXcoKSkKLUBAIC0xMzQ2LDcg KzEzNDYsNyBAQCBpbnQgc2V0dXBfdGVzdHModm9pZCkKK0BAIC0xMzgwLDcgKzEzODAsNyBAQCBp bnQgc2V0dXBfdGVzdHModm9pZCkKICAgICAgVEVTVF9pbmZvKCJHZW5lcmF0aW5nIEVDIGtleXMu Li4iKTsKICAgICAgTUFLRV9ET01BSU5fS0VZUyhFQywgIkVDIiwgRUNfcGFyYW1zKTsKICAgICAg TUFLRV9ET01BSU5fS0VZUyhFQ0V4cGxpY2l0UHJpbWVOYW1lZEN1cnZlLCAiRUMiLCBlY19leHBs aWNpdF9wcmltZV9wYXJhbXNfbmMpOwpAQCAtOTIsNyArMTc4LDcgQEAgZGlmZiAtdXAgb3BlbnNz bC0zLjAuMS90ZXN0L2VuZGVjb2RlX3Rlc3QuYy5kaXNhYmxlX2V4cGxpY2l0X2VjIG9wZW5zc2wt My4wLjEvdGUKICAjIGlmbmRlZiBPUEVOU1NMX05PX0VDMk0KICAgICAgTUFLRV9ET01BSU5fS0VZ UyhFQ0V4cGxpY2l0VHJpTmFtZWRDdXJ2ZSwgIkVDIiwgZWNfZXhwbGljaXRfdHJpX3BhcmFtc19u Yyk7CiAgICAgIE1BS0VfRE9NQUlOX0tFWVMoRUNFeHBsaWNpdFRyaTJHLCAiRUMiLCBlY19leHBs aWNpdF90cmlfcGFyYW1zX2V4cGxpY2l0KTsKLUBAIC0xMzg5LDggKzEzODksOCBAQCBpbnQgc2V0 dXBfdGVzdHModm9pZCkKK0BAIC0xNDIzLDggKzE0MjMsOCBAQCBpbnQgc2V0dXBfdGVzdHModm9p ZCkKICAgICAgICAgIEFERF9URVNUX1NVSVRFX0xFR0FDWShFQyk7CiAgICAgICAgICBBRERfVEVT VF9TVUlURShFQ0V4cGxpY2l0UHJpbWVOYW1lZEN1cnZlKTsKICAgICAgICAgIEFERF9URVNUX1NV SVRFX0xFR0FDWShFQ0V4cGxpY2l0UHJpbWVOYW1lZEN1cnZlKTsKQEAgLTEwMyw3ICsxODksNyBA QCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvZW5kZWNvZGVfdGVzdC5jLmRpc2FibGVfZXhw bGljaXRfZWMgb3BlbnNzbC0zLjAuMS90ZQogICMgaWZuZGVmIE9QRU5TU0xfTk9fRUMyTQogICAg ICAgICAgQUREX1RFU1RfU1VJVEUoRUNFeHBsaWNpdFRyaU5hbWVkQ3VydmUpOwogICAgICAgICAg QUREX1RFU1RfU1VJVEVfTEVHQUNZKEVDRXhwbGljaXRUcmlOYW1lZEN1cnZlKTsKLUBAIC0xNDI3 LDcgKzE0MjcsNyBAQCB2b2lkIGNsZWFudXBfdGVzdHModm9pZCkKK0BAIC0xNDYxLDcgKzE0NjEs NyBAQCB2b2lkIGNsZWFudXBfdGVzdHModm9pZCkKICB7CiAgI2lmbmRlZiBPUEVOU1NMX05PX0VD CiAgICAgIE9TU0xfUEFSQU1fZnJlZShlY19leHBsaWNpdF9wcmltZV9wYXJhbXNfbmMpOwpAQCAt MTEyLDcgKzE5OCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9lbmRlY29kZV90ZXN0 LmMuZGlzYWJsZV9leHBsaWNpdF9lYyBvcGVuc3NsLTMuMC4xL3RlCiAgICAgIE9TU0xfUEFSQU1f QkxEX2ZyZWUoYmxkX3ByaW1lX25jKTsKICAgICAgT1NTTF9QQVJBTV9CTERfZnJlZShibGRfcHJp bWUpOwogICMgaWZuZGVmIE9QRU5TU0xfTk9fRUMyTQotQEAgLTE0NDksNyArMTQ0OSw3IEBAIHZv aWQgY2xlYW51cF90ZXN0cyh2b2lkKQorQEAgLTE0ODMsNyArMTQ4Myw3IEBAIHZvaWQgY2xlYW51 cF90ZXN0cyh2b2lkKQogICNpZm5kZWYgT1BFTlNTTF9OT19FQwogICAgICBGUkVFX0RPTUFJTl9L RVlTKEVDKTsKICAgICAgRlJFRV9ET01BSU5fS0VZUyhFQ0V4cGxpY2l0UHJpbWVOYW1lZEN1cnZl KTsKQEAgLTEyMSwxMCArMjA3LDExIEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9lbmRl Y29kZV90ZXN0LmMuZGlzYWJsZV9leHBsaWNpdF9lYyBvcGVuc3NsLTMuMC4xL3RlCiAgIyBpZm5k ZWYgT1BFTlNTTF9OT19FQzJNCiAgICAgIEZSRUVfRE9NQUlOX0tFWVMoRUNFeHBsaWNpdFRyaU5h bWVkQ3VydmUpOwogICAgICBGUkVFX0RPTUFJTl9LRVlTKEVDRXhwbGljaXRUcmkyRyk7Ci1kaWZm IC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9kYXRhL2V2cHBrZXlf ZWNkc2EudHh0LmRpc2FibGVfZXhwbGljaXRfZWMgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMv MzAtdGVzdF9ldnBfZGF0YS9ldnBwa2V5X2VjZHNhLnR4dAotLS0tIG9wZW5zc2wtMy4wLjEvdGVz dC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwcGtleV9lY2RzYS50eHQuZGlzYWJsZV9leHBs aWNpdF9lYwkyMDIyLTAzLTI1IDExOjIwOjUwLjkyMDk0OTIwOCArMDEwMAotKysrIG9wZW5zc2wt My4wLjEvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwcGtleV9lY2RzYS50eHQJMjAy Mi0wMy0yNSAxMToyMToxMy4xNzcxNDc1OTggKzAxMDAKLUBAIC0xMjEsMTggKzEyMSw2IEBAIEFB QUEvLy8vLy8vLy8vKzg1dnF0cHhlZWhQTzV5c0w4WXlWUkFnRUIKK2RpZmYgLS1naXQgYS90ZXN0 L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9ldnBwa2V5X2VjZHNhLnR4dCBiL3Rlc3QvcmVjaXBl cy8zMC10ZXN0X2V2cF9kYXRhL2V2cHBrZXlfZWNkc2EudHh0CitpbmRleCBlYzNjMDMyYWJhLi41 ODRlY2VlMGViIDEwMDY0NAorLS0tIGEvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZw cGtleV9lY2RzYS50eHQKKysrKyBiL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9kYXRhL2V2cHBr ZXlfZWNkc2EudHh0CitAQCAtMTMzLDE4ICsxMzMsNiBAQCBBQUFBLy8vLy8vLy8vLys4NXZxdHB4 ZWVoUE81eXNMOFl5VlJBZ0VCQkcwd2F3SUJBUVFnaVVUeHRyNXZMVmpqCiAgM2V2MWdUd1JCZHV6 cXFsd2Q1NEFVU2dJK3BqdHRXOHpyV05pdE84SDFzZjU5TVBXT0VTS3hOdFoxK05sCiAgLS0tLS1F TkQgUFJJVkFURSBLRVktLS0tLQogIApAQCAtMTQzLDY2ICsyMzAsNiBAQCBkaWZmIC11cCBvcGVu c3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9kYXRhL2V2cHBrZXlfZWNkc2EudHh0 LmRpc2FibGVfZQogIFByaXZhdGVLZXkgPSBCLTE2MwogIC0tLS0tQkVHSU4gUFJJVkFURSBLRVkt LS0tLQogIE1HTUNBUUF3RUFZSEtvWkl6ajBDQVFZRks0RUVBQThFVERCS0FnRUJCQlVEblFXMG1M aUhWaGEvanFGem5YL0sKLWRpZmYgLXVwIG9wZW5zc2wtMy4wLjkvdGVzdC9lY3Rlc3QuYy5ub2Vj IG9wZW5zc2wtMy4wLjkvdGVzdC9lY3Rlc3QuYwotLS0tIG9wZW5zc2wtMy4wLjkvdGVzdC9lY3Rl c3QuYy5ub2VjCTIwMjMtMDctMjcgMTE6MzA6MjQuMDc4OTc5MjYxICswMjAwCi0rKysgb3BlbnNz bC0zLjAuOS90ZXN0L2VjdGVzdC5jCTIwMjMtMDctMjcgMTE6MzU6MTIuMzM1NTc2MTA3ICswMjAw Ci1AQCAtMjMwMSwxMCArMjMwMSwxMSBAQCBzdGF0aWMgaW50IGRvX3Rlc3RfY3VzdG9tX2V4cGxp Y2l0X2Zyb21kCi0gICAgIGlmICghVEVTVF9wdHIocGFyYW1zID0gT1NTTF9QQVJBTV9CTERfdG9f cGFyYW0oYmxkKSkKLSAgICAgICAgIHx8ICFURVNUX3B0cihwY3R4ID0gRVZQX1BLRVlfQ1RYX25l d19mcm9tX25hbWUoTlVMTCwgIkVDIiwgTlVMTCkpCi0gICAgICAgICB8fCAhVEVTVF9pbnRfZ3Qo RVZQX1BLRVlfZnJvbWRhdGFfaW5pdChwY3R4KSwgMCkKLS0gICAgICAgIHx8ICFURVNUX2ludF9n dChFVlBfUEtFWV9mcm9tZGF0YShwY3R4LCAmcGtleXBhcmFtLAotKyAgICAgICAgfHwgIVRFU1Rf aW50X2xlKEVWUF9QS0VZX2Zyb21kYXRhKHBjdHgsICZwa2V5cGFyYW0sCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVZQX1BLRVlfS0VZX1BBUkFNRVRFUlMsIHBh cmFtcyksIDApKQotICAgICAgICAgZ290byBlcnI7Ci0tCi0rLyogQXMgY3JlYXRpbmcgdGhlIGtl eSBzaG91bGQgZmFpbCwgdGhlIHJlc3Qgb2YgdGhlIHRlc3QgaXMgcG9pbnRsZXNzICovCi0rIyBp ZiAwCi0gICAgIC8qLSBDaGVjayB0aGF0IGFsbCB0aGUgc2V0IHZhbHVlcyBhcmUgcmV0cmlldmFi bGUgLSovCi0gCi0gICAgIC8qIFRoZXJlIHNob3VsZCBiZSBubyBtYXRjaCB0byBhIGdyb3VwIG5h bWUgc2luY2UgdGhlIGdlbmVyYXRvciBjaGFuZ2VkICovCi1AQCAtMjQzMyw2ICsyNDM0LDcgQEAg c3RhdGljIGludCBkb190ZXN0X2N1c3RvbV9leHBsaWNpdF9mcm9tZAotICNlbmRpZgotICAgICAg ICAgKQotICAgICAgICAgZ290byBlcnI7Ci0rI2VuZGlmCi0gICAgIHJldCA9IDE7Ci0gZXJyOgot ICAgICBCTl9mcmVlKG9yZGVyX291dCk7Ci1AQCAtMjcxNCwyMSArMjcxNiwyMSBAQCBzdGF0aWMg aW50IGN1c3RvbV9wYXJhbXNfdGVzdChpbnQgaWQpCi0gCi0gICAgIC8qIENvbXB1dGUga2V5ZXhj aGFuZ2UgaW4gYm90aCBkaXJlY3Rpb25zICovCi0gICAgIGlmICghVEVTVF9wdHIocGN0eDEgPSBF VlBfUEtFWV9DVFhfbmV3KHBrZXkxLCBOVUxMKSkKLS0gICAgICAgICAgICB8fCAhVEVTVF9pbnRf ZXEoRVZQX1BLRVlfZGVyaXZlX2luaXQocGN0eDEpLCAxKQotLSAgICAgICAgICAgIHx8ICFURVNU X2ludF9lcShFVlBfUEtFWV9kZXJpdmVfc2V0X3BlZXIocGN0eDEsIHBrZXkyKSwgMSkKLSsgICAg ICAgICAgICB8fCAhVEVTVF9pbnRfbGUoRVZQX1BLRVlfZGVyaXZlX2luaXQocGN0eDEpLCAwKQot Ky8qICAgICAgICAgIHx8ICFURVNUX2ludF9lcShFVlBfUEtFWV9kZXJpdmVfc2V0X3BlZXIocGN0 eDEsIHBrZXkyKSwgMSkKLSAgICAgICAgICAgICB8fCAhVEVTVF9pbnRfZXEoRVZQX1BLRVlfZGVy aXZlKHBjdHgxLCBOVUxMLCAmc3NsZW4pLCAxKQotICAgICAgICAgICAgIHx8ICFURVNUX2ludF9n dChic2l6ZSwgc3NsZW4pCi0tICAgICAgICAgICAgfHwgIVRFU1RfaW50X2VxKEVWUF9QS0VZX2Rl cml2ZShwY3R4MSwgYnVmMSwgJnNzbGVuKSwgMSkpCi0rICAgICAgICAgICAgfHwgIVRFU1RfaW50 X2VxKEVWUF9QS0VZX2Rlcml2ZShwY3R4MSwgYnVmMSwgJnNzbGVuKSwgMSkqLykKLSAgICAgICAg IGdvdG8gZXJyOwotICAgICBpZiAoIVRFU1RfcHRyKHBjdHgyID0gRVZQX1BLRVlfQ1RYX25ldyhw a2V5MiwgTlVMTCkpCi0tICAgICAgICAgICAgfHwgIVRFU1RfaW50X2VxKEVWUF9QS0VZX2Rlcml2 ZV9pbml0KHBjdHgyKSwgMSkKLS0gICAgICAgICAgICB8fCAhVEVTVF9pbnRfZXEoRVZQX1BLRVlf ZGVyaXZlX3NldF9wZWVyKHBjdHgyLCBwa2V5MSksIDEpCi0rICAgICAgICAgICAgfHwgIVRFU1Rf aW50X2xlKEVWUF9QS0VZX2Rlcml2ZV9pbml0KHBjdHgyKSwgMSkKLSsvKiAgICAgICAgICB8fCAh VEVTVF9pbnRfZXEoRVZQX1BLRVlfZGVyaXZlX3NldF9wZWVyKHBjdHgyLCBwa2V5MSksIDEpCi0g ICAgICAgICAgICAgfHwgIVRFU1RfaW50X2VxKEVWUF9QS0VZX2Rlcml2ZShwY3R4MiwgTlVMTCwg JnQpLCAxKQotICAgICAgICAgICAgIHx8ICFURVNUX2ludF9ndChic2l6ZSwgdCkKLSAgICAgICAg ICAgICB8fCAhVEVTVF9pbnRfbGUoc3NsZW4sIHQpCi0tICAgICAgICAgICAgfHwgIVRFU1RfaW50 X2VxKEVWUF9QS0VZX2Rlcml2ZShwY3R4MiwgYnVmMiwgJnQpLCAxKSkKLSsgICAgICAgICAgICB8 fCAhVEVTVF9pbnRfZXEoRVZQX1BLRVlfZGVyaXZlKHBjdHgyLCBidWYyLCAmdCksIDEpICovKQot ICAgICAgICAgZ290byBlcnI7Ci0tCi0rI2lmIDAKLSAgICAgLyogQm90aCBzaWRlcyBzaG91bGQg ZXhwZWN0IHRoZSBzYW1lIHNoYXJlZCBzZWNyZXQgKi8KLSAgICAgaWYgKCFURVNUX21lbV9lcShi dWYxLCBzc2xlbiwgYnVmMiwgdCkpCi0gICAgICAgICBnb3RvIGVycjsKLUBAIC0yNzgwLDcgKzI3 ODIsNyBAQCBzdGF0aWMgaW50IGN1c3RvbV9wYXJhbXNfdGVzdChpbnQgaWQpCi0gICAgICAgICAg ICAgLyogY29tcGFyZSB3aXRoIHByZXZpb3VzIHJlc3VsdCAqLwotICAgICAgICAgICAgIHx8ICFU RVNUX21lbV9lcShidWYxLCB0LCBidWYyLCBzc2xlbikpCi0gICAgICAgICBnb3RvIGVycjsKLS0K LSsjZW5kaWYKLSAgICAgcmV0ID0gMTsKLSAKLSAgZXJyOgorLS0gCisyLjQxLjAKKwoKZGlmZiAt LWdpdCBhLzAwMTMtc2tpcHBlZC10ZXN0cy1FQy1jdXJ2ZXMucGF0Y2ggYi8wMDEzLXNraXBwZWQt dGVzdHMtRUMtY3VydmVzLnBhdGNoCmluZGV4IDBjODFkNGMuLjNjZjdhNzggMTAwNjQ0Ci0tLSBh LzAwMTMtc2tpcHBlZC10ZXN0cy1FQy1jdXJ2ZXMucGF0Y2gKKysrIGIvMDAxMy1za2lwcGVkLXRl c3RzLUVDLWN1cnZlcy5wYXRjaApAQCAtMSw3ICsxLDI0IEBACi1kaWZmIC11cCAuL3Rlc3QvcmVj aXBlcy8xNS10ZXN0X2VjLnQuc2tpcC10ZXN0cyAuL3Rlc3QvcmVjaXBlcy8xNS10ZXN0X2VjLnQK LS0tLSAuL3Rlc3QvcmVjaXBlcy8xNS10ZXN0X2VjLnQuc2tpcC10ZXN0cwkyMDIzLTAzLTE0IDEz OjQyOjM4Ljg2NTUwODI2OSArMDEwMAotKysrIC4vdGVzdC9yZWNpcGVzLzE1LXRlc3RfZWMudAky MDIzLTAzLTE0IDEzOjQzOjM2LjIzNzAyMTYzNSArMDEwMAotQEAgLTkwLDcgKzkwLDcgQEAgc3Vi dGVzdCAnRWQ0NDggY29udmVyc2lvbnMgLS0gcHVibGljIGtleQorRnJvbSA5ZWRlMmIxZTEzZjcy ZGIzNzcxODg1M2ZhZmY3NGI0NDI5MDg0ZDU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogcnBtLWJ1aWxkIDxycG0tYnVpbGQ+CitEYXRlOiBNb24sIDMxIEp1bCAyMDIzIDA5OjQxOjI4 ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMTMvMzVdIDAwMTMtc2tpcHBlZC10ZXN0cy1FQy1jdXJ2 ZXMucGF0Y2gKKworUGF0Y2gtbmFtZTogMDAxMy1za2lwcGVkLXRlc3RzLUVDLWN1cnZlcy5wYXRj aAorUGF0Y2gtaWQ6IDEzCitQYXRjaC1zdGF0dXM6IHwKKyAgICAjIFNraXBwZWQgdGVzdHMgZnJv bSBmb3JtZXIgMDAxMS1SZW1vdmUtRUMtY3VydmVzLnBhdGNoCitGcm9tLWRpc3QtZ2l0LWNvbW1p dDogOTQwOWJjNzA0NGNmNGI1NzczNjM5Y2NlMjBmNTEzOTk4ODhjNDVmZAorLS0tCisgdGVzdC9y ZWNpcGVzLzE1LXRlc3RfZWMudCAgICAgICAgICB8IDIgKy0KKyB0ZXN0L3JlY2lwZXMvNjUtdGVz dF9jbXBfcHJvdGVjdC50IHwgMiArLQorIHRlc3QvcmVjaXBlcy82NS10ZXN0X2NtcF92ZnkudCAg ICAgfCAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pCisKK2RpZmYgLS1naXQgYS90ZXN0L3JlY2lwZXMvMTUtdGVzdF9lYy50IGIvdGVzdC9yZWNp cGVzLzE1LXRlc3RfZWMudAoraW5kZXggMDYzOGQ2MjZlNy4uYzBlZmQ3NzY0OSAxMDA2NDQKKy0t LSBhL3Rlc3QvcmVjaXBlcy8xNS10ZXN0X2VjLnQKKysrKyBiL3Rlc3QvcmVjaXBlcy8xNS10ZXN0 X2VjLnQKK0BAIC05MCw3ICs5MCw3IEBAIHN1YnRlc3QgJ0VkNDQ4IGNvbnZlcnNpb25zIC0tIHB1 YmxpYyBrZXknID0+IHN1YiB7CiAgCiAgc3VidGVzdCAnQ2hlY2sgbG9hZGluZyBvZiBmaXBzIGFu ZCBub24tZmlwcyBrZXlzJyA9PiBzdWIgewogICAgICBwbGFuIHNraXBfYWxsID0+ICJGSVBTIGlz IGRpc2FibGVkIgpAQCAtMTAsMTAgKzI3LDExIEBAIGRpZmYgLXVwIC4vdGVzdC9yZWNpcGVzLzE1 LXRlc3RfZWMudC5za2lwLXRlc3RzIC4vdGVzdC9yZWNpcGVzLzE1LXRlc3RfZWMudAogIAogICAg ICBwbGFuIHRlc3RzID0+IDI7CiAgCi1kaWZmIC11cCAuL3Rlc3QvcmVjaXBlcy82NS10ZXN0X2Nt cF9wcm90ZWN0LnQuc2tpcC10ZXN0cyAuL3Rlc3QvcmVjaXBlcy82NS10ZXN0X2NtcF9wcm90ZWN0 LnQKLS0tLSAuL3Rlc3QvcmVjaXBlcy82NS10ZXN0X2NtcF9wcm90ZWN0LnQuc2tpcC10ZXN0cwky MDIzLTAzLTE0IDEwOjEzOjExLjM0MjA1NjU1OSArMDEwMAotKysrIC4vdGVzdC9yZWNpcGVzLzY1 LXRlc3RfY21wX3Byb3RlY3QudAkyMDIzLTAzLTE0IDEwOjE0OjQyLjY0Mzg3MzQ5NiArMDEwMAot QEAgLTI3LDcgKzI3LDcgQEAgcGxhbiBza2lwX2FsbCA9PiAiVGhpcyB0ZXN0IGlzIG5vdCBzdXBw bworZGlmZiAtLWdpdCBhL3Rlc3QvcmVjaXBlcy82NS10ZXN0X2NtcF9wcm90ZWN0LnQgYi90ZXN0 L3JlY2lwZXMvNjUtdGVzdF9jbXBfcHJvdGVjdC50CitpbmRleCA2MzE2MDNkZjdjLi40Y2IyZmZl YmJjIDEwMDY0NAorLS0tIGEvdGVzdC9yZWNpcGVzLzY1LXRlc3RfY21wX3Byb3RlY3QudAorKysr IGIvdGVzdC9yZWNpcGVzLzY1LXRlc3RfY21wX3Byb3RlY3QudAorQEAgLTI3LDcgKzI3LDcgQEAg cGxhbiBza2lwX2FsbCA9PiAiVGhpcyB0ZXN0IGlzIG5vdCBzdXBwb3J0ZWQgaW4gYSBuby1jbXAg YnVpbGQiCiAgcGxhbiBza2lwX2FsbCA9PiAiVGhpcyB0ZXN0IGlzIG5vdCBzdXBwb3J0ZWQgaW4g YSBzaGFyZWQgbGlicmFyeSBidWlsZCBvbiBXaW5kb3dzIgogICAgICBpZiAkXk8gZXEgJ01TV2lu MzInICYmICFkaXNhYmxlZCgic2hhcmVkIik7CiAgCkBAIC0yMiwxMCArNDAsMTEgQEAgZGlmZiAt dXAgLi90ZXN0L3JlY2lwZXMvNjUtdGVzdF9jbXBfcHJvdGVjdC50LnNraXAtdGVzdHMgLi90ZXN0 L3JlY2lwZXMvNjUtdGVzdF8KICAKICBteSBAYmFzaWNfY21kID0gKCJjbXBfcHJvdGVjdF90ZXN0 IiwKICAgICAgICAgICAgICAgICAgIGRhdGFfZmlsZSgic2VydmVyLnBlbSIpLAotZGlmZiAtdXAg Li90ZXN0L3JlY2lwZXMvNjUtdGVzdF9jbXBfdmZ5LnQuc2tpcC10ZXN0cyAuL3Rlc3QvcmVjaXBl cy82NS10ZXN0X2NtcF92ZnkudAotLS0tIC4vdGVzdC9yZWNpcGVzLzY1LXRlc3RfY21wX3ZmeS50 LnNraXAtdGVzdHMJMjAyMy0wMy0xNCAxMDoxMzozOC4xMDYyOTYwNDIgKzAxMDAKLSsrKyAuL3Rl c3QvcmVjaXBlcy82NS10ZXN0X2NtcF92ZnkudAkyMDIzLTAzLTE0IDEwOjE2OjU2LjQ5NjA3MTE3 OCArMDEwMAotQEAgLTI3LDcgKzI3LDcgQEAgcGxhbiBza2lwX2FsbCA9PiAiVGhpcyB0ZXN0IGlz IG5vdCBzdXBwbworZGlmZiAtLWdpdCBhL3Rlc3QvcmVjaXBlcy82NS10ZXN0X2NtcF92ZnkudCBi L3Rlc3QvcmVjaXBlcy82NS10ZXN0X2NtcF92ZnkudAoraW5kZXggZjcyMjgwMGUyNy4uMjZhMDE3 ODZiYiAxMDA2NDQKKy0tLSBhL3Rlc3QvcmVjaXBlcy82NS10ZXN0X2NtcF92ZnkudAorKysrIGIv dGVzdC9yZWNpcGVzLzY1LXRlc3RfY21wX3ZmeS50CitAQCAtMjcsNyArMjcsNyBAQCBwbGFuIHNr aXBfYWxsID0+ICJUaGlzIHRlc3QgaXMgbm90IHN1cHBvcnRlZCBpbiBhIG5vLWNtcCBidWlsZCIK ICBwbGFuIHNraXBfYWxsID0+ICJUaGlzIHRlc3QgaXMgbm90IHN1cHBvcnRlZCBpbiBhIG5vLWVj IGJ1aWxkIgogICAgICBpZiBkaXNhYmxlZCgiZWMiKTsKICAKQEAgLTM0LDMgKzUzLDYgQEAgZGlm ZiAtdXAgLi90ZXN0L3JlY2lwZXMvNjUtdGVzdF9jbXBfdmZ5LnQuc2tpcC10ZXN0cyAuL3Rlc3Qv cmVjaXBlcy82NS10ZXN0X2NtcF8KICAKICBteSBAYmFzaWNfY21kID0gKCJjbXBfdmZ5X3Rlc3Qi LAogICAgICAgICAgICAgICAgICAgZGF0YV9maWxlKCJzZXJ2ZXIuY3J0IiksICAgICBkYXRhX2Zp bGUoImNsaWVudC5jcnQiKSwKKy0tIAorMi40MS4wCisKCmRpZmYgLS1naXQgYS8wMDI0LWxvYWQt bGVnYWN5LXByb3YucGF0Y2ggYi8wMDI0LWxvYWQtbGVnYWN5LXByb3YucGF0Y2gKaW5kZXggYzdk Mjk1OC4uMjk5N2QxZSAxMDA2NDQKLS0tIGEvMDAyNC1sb2FkLWxlZ2FjeS1wcm92LnBhdGNoCisr KyBiLzAwMjQtbG9hZC1sZWdhY3ktcHJvdi5wYXRjaApAQCAtMSw2ICsxLDIyIEBACi1kaWZmIC11 cCBvcGVuc3NsLTMuMC4wL2FwcHMvb3BlbnNzbC5jbmYubGVnYWN5LXByb3Ygb3BlbnNzbC0zLjAu MC9hcHBzL29wZW5zc2wuY25mCi0tLS0gb3BlbnNzbC0zLjAuMC9hcHBzL29wZW5zc2wuY25mLmxl Z2FjeS1wcm92CTIwMjEtMDktMDkgMTI6MDY6NDAuODk1NzkzMjk3ICswMjAwCi0rKysgb3BlbnNz bC0zLjAuMC9hcHBzL29wZW5zc2wuY25mCTIwMjEtMDktMDkgMTI6MTI6MzMuOTQ3NDgyNTAwICsw MjAwCitGcm9tIDY5NjM2ODI4NzI5ZWNjMjg3ODYzMzY2ZGNkZDY1NDhkZWU3OGM3YTQgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KK0RhdGU6IE1v biwgMzEgSnVsIDIwMjMgMDk6NDE6MjggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxNC8zNV0gMDAy NC1sb2FkLWxlZ2FjeS1wcm92LnBhdGNoCisKK1BhdGNoLW5hbWU6IDAwMjQtbG9hZC1sZWdhY3kt cHJvdi5wYXRjaAorUGF0Y2gtaWQ6IDI0CitQYXRjaC1zdGF0dXM6IHwKKyAgICAjIEluc3RydWN0 aW9ucyB0byBsb2FkIGxlZ2FjeSBwcm92aWRlciBpbiBvcGVuc3NsLmNuZgorRnJvbS1kaXN0LWdp dC1jb21taXQ6IDk0MDliYzcwNDRjZjRiNTc3MzYzOWNjZTIwZjUxMzk5ODg4YzQ1ZmQKKy0tLQor IGFwcHMvb3BlbnNzbC5jbmYgICAgfCAzNyArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgZG9jL21hbjUvY29uZmlnLnBvZCB8ICA4ICsrKysrKysrCisgMiBmaWxlcyBjaGFu Z2VkLCAyMyBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Fw cHMvb3BlbnNzbC5jbmYgYi9hcHBzL29wZW5zc2wuY25mCitpbmRleCAzOTU2MjM1ZmRhLi5iZGRi NmJjMDI5IDEwMDY0NAorLS0tIGEvYXBwcy9vcGVuc3NsLmNuZgorKysrIGIvYXBwcy9vcGVuc3Ns LmNuZgogQEAgLTQyLDM2ICs0MiwyOSBAQCB0c2FfcG9saWN5MSA9IDEuMi4zLjQuMQogIHRzYV9w b2xpY3kyID0gMS4yLjMuNC41LjYKICB0c2FfcG9saWN5MyA9IDEuMi4zLjQuNS43CkBAIC0xOSwx MSArMzUsNiBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4wL2FwcHMvb3BlbnNzbC5jbmYubGVnYWN5 LXByb3Ygb3BlbnNzbC0zLjAuMC9hcHBzL29wZW5zc2wuYwogIHNzbF9jb25mID0gc3NsX21vZHVs ZQogIAogLSMgTGlzdCBvZiBwcm92aWRlcnMgdG8gbG9hZAotLVtwcm92aWRlcl9zZWN0XQotLWRl ZmF1bHQgPSBkZWZhdWx0X3NlY3QKLS0jIFRoZSBmaXBzIHNlY3Rpb24gbmFtZSBzaG91bGQgbWF0 Y2ggdGhlIHNlY3Rpb24gbmFtZSBpbnNpZGUgdGhlCi0tIyBpbmNsdWRlZCBmaXBzbW9kdWxlLmNu Zi4KLS0jIGZpcHMgPSBmaXBzX3NlY3QKICsjIFVuY29tbWVudCB0aGUgc2VjdGlvbnMgdGhhdCBz dGFydCB3aXRoICMjIGJlbG93IHRvIGVuYWJsZSB0aGUgbGVnYWN5IHByb3ZpZGVyLgogKyMgTG9h ZGluZyB0aGUgbGVnYWN5IHByb3ZpZGVyIGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhlIGZvbGxvd2lu ZyBhbGdvcml0aG1zOgogKyMgSGFzaGluZyBBbGdvcml0aG1zIC8gTWVzc2FnZSBEaWdlc3RzOiBN RDIsIE1ENCwgTURDMiwgV0hJUkxQT09MLCBSSVBFTUQxNjAKQEAgLTMyLDcgKzQzLDEzIEBAIGRp ZmYgLXVwIG9wZW5zc2wtMy4wLjAvYXBwcy9vcGVuc3NsLmNuZi5sZWdhY3ktcHJvdiBvcGVuc3Ns LTMuMC4wL2FwcHMvb3BlbnNzbC5jCiArIyBJbiBnZW5lcmFsIGl0IGlzIG5vdCByZWNvbW1lbmRl ZCB0byB1c2UgdGhlIGFib3ZlIG1lbnRpb25lZCBhbGdvcml0aG1zIGZvcgogKyMgc2VjdXJpdHkg Y3JpdGljYWwgb3BlcmF0aW9ucywgYXMgdGhleSBhcmUgY3J5cHRvZ3JhcGhpY2FsbHkgd2VhayBv ciB2dWxuZXJhYmxlCiArIyB0byBzaWRlLWNoYW5uZWwgYXR0YWNrcyBhbmQgYXMgc3VjaCBoYXZl IGJlZW4gZGVwcmVjYXRlZC4KLSAKKysKKyBbcHJvdmlkZXJfc2VjdF0KKyBkZWZhdWx0ID0gZGVm YXVsdF9zZWN0CistIyBUaGUgZmlwcyBzZWN0aW9uIG5hbWUgc2hvdWxkIG1hdGNoIHRoZSBzZWN0 aW9uIG5hbWUgaW5zaWRlIHRoZQorLSMgaW5jbHVkZWQgZmlwc21vZHVsZS5jbmYuCistIyBmaXBz ID0gZmlwc19zZWN0CistCiAtIyBJZiBubyBwcm92aWRlcnMgYXJlIGFjdGl2YXRlZCBleHBsaWNp dGx5LCB0aGUgZGVmYXVsdCBvbmUgaXMgYWN0aXZhdGVkIGltcGxpY2l0bHkuCiAtIyBTZWUgbWFu IDcgT1NTTF9QUk9WSURFUi1kZWZhdWx0IGZvciBtb3JlIGRldGFpbHMuCiAtIwpAQCAtNDEsMTMg KzU4LDEwIEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjAvYXBwcy9vcGVuc3NsLmNuZi5sZWdhY3kt cHJvdiBvcGVuc3NsLTMuMC4wL2FwcHMvb3BlbnNzbC5jCiAtIyBiZWNvbWVzIHVuYXZhaWxhYmxl IGluIG9wZW5zc2wuICBBcyBhIGNvbnNlcXVlbmNlIGFwcGxpY2F0aW9ucyBkZXBlbmRpbmcgb24K IC0jIE9wZW5TU0wgbWF5IG5vdCB3b3JrIGNvcnJlY3RseSB3aGljaCBjb3VsZCBsZWFkIHRvIHNp Z25pZmljYW50IHN5c3RlbQogLSMgcHJvYmxlbXMgaW5jbHVkaW5nIGluYWJpbGl0eSB0byByZW1v dGVseSBhY2Nlc3MgdGhlIHN5c3RlbS4KLS1bZGVmYXVsdF9zZWN0XQotLSMgYWN0aXZhdGUgPSAx Ci0rW3Byb3ZpZGVyX3NlY3RdCi0rZGVmYXVsdCA9IGRlZmF1bHRfc2VjdAogKyMjbGVnYWN5ID0g bGVnYWN5X3NlY3QKICsjIwotK1tkZWZhdWx0X3NlY3RdCisgW2RlZmF1bHRfc2VjdF0KKy0jIGFj dGl2YXRlID0gMQogK2FjdGl2YXRlID0gMQogKwogKyMjW2xlZ2FjeV9zZWN0XQpAQCAtNTUsOSAr NjksMTAgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMC9hcHBzL29wZW5zc2wuY25mLmxlZ2FjeS1w cm92IG9wZW5zc2wtMy4wLjAvYXBwcy9vcGVuc3NsLmMKICAKICBbIHNzbF9tb2R1bGUgXQogIAot ZGlmZiAtdXAgb3BlbnNzbC0zLjAuMC9kb2MvbWFuNS9jb25maWcucG9kLmxlZ2FjeS1wcm92IG9w ZW5zc2wtMy4wLjAvZG9jL21hbjUvY29uZmlnLnBvZAotLS0tIG9wZW5zc2wtMy4wLjAvZG9jL21h bjUvY29uZmlnLnBvZC5sZWdhY3ktcHJvdgkyMDIxLTA5LTA5IDEyOjA5OjM4LjA3OTA0MDg1MyAr MDIwMAotKysrIG9wZW5zc2wtMy4wLjAvZG9jL21hbjUvY29uZmlnLnBvZAkyMDIxLTA5LTA5IDEy OjExOjU2LjY0NjIyNDg3NiArMDIwMAorZGlmZiAtLWdpdCBhL2RvYy9tYW41L2NvbmZpZy5wb2Qg Yi9kb2MvbWFuNS9jb25maWcucG9kCitpbmRleCA4ZDMxMmM2NjFmLi43MTRhMTA0MzdiIDEwMDY0 NAorLS0tIGEvZG9jL21hbjUvY29uZmlnLnBvZAorKysrIGIvZG9jL21hbjUvY29uZmlnLnBvZAog QEAgLTI3Myw2ICsyNzMsMTQgQEAgc2lnbmlmaWNhbnQuCiAgQWxsIHBhcmFtZXRlcnMgaW4gdGhl IHNlY3Rpb24gYXMgd2VsbCBhcyBzdWItc2VjdGlvbnMgYXJlIG1hZGUKICBhdmFpbGFibGUgdG8g dGhlIHByb3ZpZGVyLgpAQCAtNzMsMyArODgsNiBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4wL2Rv Yy9tYW41L2NvbmZpZy5wb2QubGVnYWN5LXByb3Ygb3BlbnNzbC0zLjAuMC9kb2MvbWFuNS9jbwog ID1oZWFkMyBEZWZhdWx0IHByb3ZpZGVyIGFuZCBpdHMgYWN0aXZhdGlvbgogIAogIElmIG5vIHBy b3ZpZGVycyBhcmUgYWN0aXZhdGVkIGV4cGxpY2l0bHksIHRoZSBkZWZhdWx0IG9uZSBpcyBhY3Rp dmF0ZWQgaW1wbGljaXRseS4KKy0tIAorMi40MS4wCisKCmRpZmYgLS1naXQgYS8wMDMyLUZvcmNl LWZpcHMucGF0Y2ggYi8wMDMyLUZvcmNlLWZpcHMucGF0Y2gKaW5kZXggNDdlNWYyNi4uY2U1YzNj ZiAxMDA2NDQKLS0tIGEvMDAzMi1Gb3JjZS1maXBzLnBhdGNoCisrKyBiLzAwMzItRm9yY2UtZmlw cy5wYXRjaApAQCAtMSw2ICsxLDIxIEBACi1kaWZmIC11cCBvcGVuc3NsLTMuMC4xL2NyeXB0by9w cm92aWRlcl9jb25mLmMuZmlwc2FjdCBvcGVuc3NsLTMuMC4xL2NyeXB0by9wcm92aWRlcl9jb25m LmMKLS0tLSBvcGVuc3NsLTMuMC4xL2NyeXB0by9wcm92aWRlcl9jb25mLmMuZmlwc2FjdAkyMDIy LTA1LTEyIDEyOjQ0OjMxLjE5OTAzNDk0OCArMDIwMAotKysrIG9wZW5zc2wtMy4wLjEvY3J5cHRv L3Byb3ZpZGVyX2NvbmYuYwkyMDIyLTA1LTEyIDEyOjQ5OjE3LjQ2ODMxODM3MyArMDIwMAorRnJv bSA4YzZkZmZlMjM0N2ZjODAxYTJiMjg1ZDc5ZGQ5OWI4NzM5NDE0YmMzIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogcnBtLWJ1aWxkIDxycG0tYnVpbGQ+CitEYXRlOiBNb24sIDMxIEp1 bCAyMDIzIDA5OjQxOjI4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMTYvMzVdIDAwMzItRm9yY2Ut Zmlwcy5wYXRjaAorCitQYXRjaC1uYW1lOiAwMDMyLUZvcmNlLWZpcHMucGF0Y2gKK1BhdGNoLWlk OiAzMgorUGF0Y2gtc3RhdHVzOiB8CisgICAgIyBXZSBsb2FkIEZJUFMgcHJvdmlkZXIgYW5kIHNl dCBGSVBTIHByb3BlcnRpZXMgaW1wbGljaXRseQorRnJvbS1kaXN0LWdpdC1jb21taXQ6IDk0MDli YzcwNDRjZjRiNTc3MzYzOWNjZTIwZjUxMzk5ODg4YzQ1ZmQKKy0tLQorIGNyeXB0by9wcm92aWRl cl9jb25mLmMgfCAxMyArKysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NyeXB0by9wcm92aWRlcl9jb25m LmMgYi9jcnlwdG8vcHJvdmlkZXJfY29uZi5jCitpbmRleCAwNThmYjU4ODM3Li5hZDBiMjljOTU0 IDEwMDY0NAorLS0tIGEvY3J5cHRvL3Byb3ZpZGVyX2NvbmYuYworKysrIGIvY3J5cHRvL3Byb3Zp ZGVyX2NvbmYuYwogQEAgLTEwLDYgKzEwLDcgQEAKICAjaW5jbHVkZSA8c3RyaW5nLmg+CiAgI2lu Y2x1ZGUgPG9wZW5zc2wvdHJhY2UuaD4KQEAgLTksNyArMjQsNyBAQCBkaWZmIC11cCBvcGVuc3Ns LTMuMC4xL2NyeXB0by9wcm92aWRlcl9jb25mLmMuZmlwc2FjdCBvcGVuc3NsLTMuMC4xL2NyeXB0 by9wcm92aQogICNpbmNsdWRlIDxvcGVuc3NsL2NvbmYuaD4KICAjaW5jbHVkZSA8b3BlbnNzbC9z YWZlc3RhY2suaD4KICAjaW5jbHVkZSA8b3BlbnNzbC9wcm92aWRlci5oPgotQEAgLTIxNiw3ICsx NzYsNyBAQCBzdGF0aWMgaW50IHByb3ZpZGVyX2NvbmZfbG9hZChPU1NMX0xJQl9DCitAQCAtMTY5 LDcgKzE3MCw3IEBAIHN0YXRpYyBpbnQgcHJvdmlkZXJfY29uZl9hY3RpdmF0ZShPU1NMX0xJQl9D VFggKmxpYmN0eCwgY29uc3QgY2hhciAqbmFtZSwKICAgICAgICAgIGlmIChwYXRoICE9IE5VTEwp CiAgICAgICAgICAgICAgb3NzbF9wcm92aWRlcl9zZXRfbW9kdWxlX3BhdGgocHJvdiwgcGF0aCk7 CiAgCkBAIC0xOCw3ICszMyw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvY3J5cHRvL3Byb3Zp ZGVyX2NvbmYuYy5maXBzYWN0IG9wZW5zc2wtMy4wLjEvY3J5cHRvL3Byb3ZpCiAgCiAgICAgICAg ICBpZiAob2spIHsKICAgICAgICAgICAgICBpZiAoIW9zc2xfcHJvdmlkZXJfYWN0aXZhdGUocHJv diwgMSwgMCkpIHsKLUBAIC0zMDYsNiArMzE3LDE2IEBAIHN0YXRpYyBpbnQgcHJvdmlkZXJfY29u Zl9pbml0KENPTkZfSU1PRFUKK0BAIC0zMDksNiArMzEwLDE2IEBAIHN0YXRpYyBpbnQgcHJvdmlk ZXJfY29uZl9pbml0KENPTkZfSU1PRFVMRSAqbWQsIGNvbnN0IENPTkYgKmNuZikKICAgICAgICAg ICAgICByZXR1cm4gMDsKICAgICAgfQogIApAQCAtMzUsMyArNTAsNiBAQCBkaWZmIC11cCBvcGVu c3NsLTMuMC4xL2NyeXB0by9wcm92aWRlcl9jb25mLmMuZmlwc2FjdCBvcGVuc3NsLTMuMC4xL2Ny eXB0by9wcm92aQogICAgICByZXR1cm4gMTsKICB9CiAgCistLSAKKzIuNDEuMAorCgpkaWZmIC0t Z2l0IGEvMDAzMy1GSVBTLWVtYmVkLWhtYWMucGF0Y2ggYi8wMDMzLUZJUFMtZW1iZWQtaG1hYy5w YXRjaAppbmRleCBmMDE0YTA3Li45ZTRlNTc5IDEwMDY0NAotLS0gYS8wMDMzLUZJUFMtZW1iZWQt aG1hYy5wYXRjaAorKysgYi8wMDMzLUZJUFMtZW1iZWQtaG1hYy5wYXRjaApAQCAtMSw3ICsxLDMw IEBACi1kaWZmIC11cCBvcGVuc3NsLTMuMC43L3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdC5jLmVt YmVkLWhtYWMgb3BlbnNzbC0zLjAuNy9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3QuYwotLS0tIG9w ZW5zc2wtMy4wLjcvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0LmMuZW1iZWQtaG1hYwkyMDIzLTAx LTA1IDEwOjAzOjQ0Ljg2NDg2OTcxMCArMDEwMAotKysrIG9wZW5zc2wtMy4wLjcvcHJvdmlkZXJz L2ZpcHMvc2VsZl90ZXN0LmMJMjAyMy0wMS0wNSAxMDoxNToxNy4wNDE2MDY0NzIgKzAxMDAKLUBA IC0xNzIsMTEgKzE3MiwyNyBAQCBERVBfRklOSV9BVFRSSUJVVEUgdm9pZCBjbGVhbnVwKHZvaWQp CitGcm9tIDUzODY2NWY2YzIxMGY4NzZiZjI3MzNhZmU2MzQ2MGIzNmYyYzk5MjkgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KK0RhdGU6IE1vbiwg MzEgSnVsIDIwMjMgMDk6NDE6MjggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxNy8zNV0gMDAzMy1G SVBTLWVtYmVkLWhtYWMucGF0Y2gKKworUGF0Y2gtbmFtZTogMDAzMy1GSVBTLWVtYmVkLWhtYWMu cGF0Y2gKK1BhdGNoLWlkOiAzMworUGF0Y2gtc3RhdHVzOiB8CisgICAgIyBFbWJlZCBITUFDIGlu dG8gdGhlIGZpcHMuc28KK0Zyb20tZGlzdC1naXQtY29tbWl0OiA5NDA5YmM3MDQ0Y2Y0YjU3NzM2 MzljY2UyMGY1MTM5OTg4OGM0NWZkCistLS0KKyBwcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3QuYyAg ICAgICAgICAgIHwgNjkgKysrKysrKysrKysrKysrKysrKysrKysrLS0tCisgdGVzdC9maXBzbW9k dWxlLmNuZiAgICAgICAgICAgICAgICAgICB8ICAyICsKKyB0ZXN0L3JlY2lwZXMvMDAtcHJlcF9m aXBzbW9kdWxlX2NuZi50IHwgIDIgKy0KKyB0ZXN0L3JlY2lwZXMvMDEtdGVzdF9maXBzbW9kdWxl X2NuZi50IHwgIDIgKy0KKyB0ZXN0L3JlY2lwZXMvMDMtdGVzdF9maXBzaW5zdGFsbC50ICAgIHwg IDIgKy0KKyB0ZXN0L3JlY2lwZXMvMzAtdGVzdF9kZWZsdGZpcHMudCAgICAgIHwgIDIgKy0KKyB0 ZXN0L3JlY2lwZXMvODAtdGVzdF9zc2xfbmV3LnQgICAgICAgIHwgIDIgKy0KKyB0ZXN0L3JlY2lw ZXMvOTAtdGVzdF9zc2xhcGkudCAgICAgICAgIHwgIDIgKy0KKyA4IGZpbGVzIGNoYW5nZWQsIDcw IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0 L2ZpcHNtb2R1bGUuY25mCisKK2RpZmYgLS1naXQgYS9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3Qu YyBiL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdC5jCitpbmRleCAxMDgwNGQ5ZjU5Li5lZjU2MDAy ODU0IDEwMDY0NAorLS0tIGEvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0LmMKKysrKyBiL3Byb3Zp ZGVycy9maXBzL3NlbGZfdGVzdC5jCitAQCAtMjMxLDExICsyMzEsMjcgQEAgZXJyOgogICAgICBy ZXR1cm4gb2s7CiAgfQogIApAQCAtMjksNyArNTIsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC43 L3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdC5jLmVtYmVkLWhtYWMgb3BlbnNzbC0zLjAuNy9wcm92 aQogIHN0YXRpYyBpbnQgdmVyaWZ5X2ludGVncml0eShPU1NMX0NPUkVfQklPICpiaW8sIE9TU0xf RlVOQ19CSU9fcmVhZF9leF9mbiByZWFkX2V4X2NiLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBjaGFyICpleHBlY3RlZCwgc2l6ZV90IGV4cGVjdGVkX2xlbiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT1NTTF9MSUJfQ1RYICpsaWJjdHgsIE9TU0xfU0VMRl9U RVNUICpldiwKLUBAIC0xODksMTIgKzIwNSwyMyBAQCBzdGF0aWMgaW50IHZlcmlmeV9pbnRlZ3Jp dHkoT1NTTF9DT1JFX0JJCitAQCAtMjQ4LDEyICsyNjQsMjMgQEAgc3RhdGljIGludCB2ZXJpZnlf aW50ZWdyaXR5KE9TU0xfQ09SRV9CSU8gKmJpbywgT1NTTF9GVU5DX0JJT19yZWFkX2V4X2ZuIHJl YWRfZXgKICAgICAgRVZQX01BQyAqbWFjID0gTlVMTDsKICAgICAgRVZQX01BQ19DVFggKmN0eCA9 IE5VTEw7CiAgICAgIE9TU0xfUEFSQU0gcGFyYW1zWzJdLCAqcCA9IHBhcmFtczsKQEAgLTUzLDcg Kzc2LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuNy9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3Qu Yy5lbWJlZC1obWFjIG9wZW5zc2wtMy4wLjcvcHJvdmkKICAgICAgbWFjID0gRVZQX01BQ19mZXRj aChsaWJjdHgsIE1BQ19OQU1FLCBOVUxMKTsKICAgICAgaWYgKG1hYyA9PSBOVUxMKQogICAgICAg ICAgZ290byBlcnI7Ci1AQCAtMjA1LDEzICsyMzMsNDIgQEAgc3RhdGljIGludCB2ZXJpZnlfaW50 ZWdyaXR5KE9TU0xfQ09SRV9CSQorQEAgLTI2NywxMyArMjk0LDQyIEBAIHN0YXRpYyBpbnQgdmVy aWZ5X2ludGVncml0eShPU1NMX0NPUkVfQklPICpiaW8sIE9TU0xfRlVOQ19CSU9fcmVhZF9leF9m biByZWFkX2V4CiAgICAgIGlmICghRVZQX01BQ19pbml0KGN0eCwgZml4ZWRfa2V5LCBzaXplb2Yo Zml4ZWRfa2V5KSwgcGFyYW1zKSkKICAgICAgICAgIGdvdG8gZXJyOwogIApAQCAtNjEsMTIgKzg0 LDEyIEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjcvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0LmMu ZW1iZWQtaG1hYyBvcGVuc3NsLTMuMC43L3Byb3ZpCiAtICAgICAgICBzdGF0dXMgPSByZWFkX2V4 X2NiKGJpbywgYnVmLCBzaXplb2YoYnVmKSwgJmJ5dGVzX3JlYWQpOwogKyAgICB3aGlsZSAoKG9m ZiArIElOVEVHUklUWV9CVUZfU0laRSkgPD0gcGFkZHIpIHsKICsgICAgICAgIHN0YXR1cyA9IHJl YWRfZXhfY2IoYmlvLCBidWYsIElOVEVHUklUWV9CVUZfU0laRSwgJmJ5dGVzX3JlYWQpOwotICAg ICAgICAgaWYgKHN0YXR1cyAhPSAxKQotICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgaWYg KCFFVlBfTUFDX3VwZGF0ZShjdHgsIGJ1ZiwgYnl0ZXNfcmVhZCkpCi0gICAgICAgICAgICAgZ290 byBlcnI7CisrICAgICAgICBpZiAoc3RhdHVzICE9IDEpCisrICAgICAgICAgICAgYnJlYWs7Cisr ICAgICAgICBpZiAoIUVWUF9NQUNfdXBkYXRlKGN0eCwgYnVmLCBieXRlc19yZWFkKSkKKysgICAg ICAgICAgICBnb3RvIGVycjsKICsJb2ZmICs9IGJ5dGVzX3JlYWQ7Ci0gICAgIH0KKysgICAgfQog KwogKyAgICBpZiAob2ZmICsgSU5URUdSSVRZX0JVRl9TSVpFID4gcGFkZHIpIHsKICsgICAgICAg IGludCBkZWx0YSA9IHBhZGRyIC0gb2ZmOwpAQCAtODgsMTcgKzExMSwxNyBAQCBkaWZmIC11cCBv cGVuc3NsLTMuMC43L3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdC5jLmVtYmVkLWhtYWMgb3BlbnNz bC0zLjAuNy9wcm92aQogKwogKyAgICB3aGlsZSAoYnl0ZXNfcmVhZCA+IDApIHsKICsgICAgICAg IHN0YXR1cyA9IHJlYWRfZXhfY2IoYmlvLCBidWYsIElOVEVHUklUWV9CVUZfU0laRSwgJmJ5dGVz X3JlYWQpOwotKyAgICAgICAgaWYgKHN0YXR1cyAhPSAxKQotKyAgICAgICAgICAgIGJyZWFrOwot KyAgICAgICAgaWYgKCFFVlBfTUFDX3VwZGF0ZShjdHgsIGJ1ZiwgYnl0ZXNfcmVhZCkpCi0rICAg ICAgICAgICAgZ290byBlcnI7CisgICAgICAgICBpZiAoc3RhdHVzICE9IDEpCisgICAgICAgICAg ICAgYnJlYWs7CisgICAgICAgICBpZiAoIUVWUF9NQUNfdXBkYXRlKGN0eCwgYnVmLCBieXRlc19y ZWFkKSkKKyAgICAgICAgICAgICBnb3RvIGVycjsKICsJb2ZmICs9IGJ5dGVzX3JlYWQ7Ci0rICAg IH0KKyAgICAgfQogKwogICAgICBpZiAoIUVWUF9NQUNfZmluYWwoY3R4LCBvdXQsICZvdXRfbGVu LCBzaXplb2Yob3V0KSkpCiAgICAgICAgICBnb3RvIGVycjsKICAKLUBAIC0yODUsOCArMzQyLDcg QEAgaW50IFNFTEZfVEVTVF9wb3N0KFNFTEZfVEVTVF9QT1NUX1BBUkFNUworQEAgLTM0OSw4ICs0 MDUsNyBAQCBpbnQgU0VMRl9URVNUX3Bvc3QoU0VMRl9URVNUX1BPU1RfUEFSQU1TICpzdCwgaW50 IG9uX2RlbWFuZF90ZXN0KQogICAgICAgICAgQ1JZUFRPX1RIUkVBRF91bmxvY2soZmlwc19zdGF0 ZV9sb2NrKTsKICAgICAgfQogIApAQCAtMTA4LDcgKzEzMSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wt My4wLjcvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0LmMuZW1iZWQtaG1hYyBvcGVuc3NsLTMuMC43 L3Byb3ZpCiAgICAgICAgICBFUlJfcmFpc2UoRVJSX0xJQl9QUk9WLCBQUk9WX1JfTUlTU0lOR19D T05GSUdfREFUQSk7CiAgICAgICAgICBnb3RvIGVuZDsKICAgICAgfQotQEAgLTMwNSw4ICszNjEs OSBAQCBpbnQgU0VMRl9URVNUX3Bvc3QoU0VMRl9URVNUX1BPU1RfUEFSQU1TCitAQCAtMzU5LDgg KzQxNCw5IEBAIGludCBTRUxGX1RFU1RfcG9zdChTRUxGX1RFU1RfUE9TVF9QQVJBTVMgKnN0LCBp bnQgb25fZGVtYW5kX3Rlc3QpCiAgICAgIGlmIChldiA9PSBOVUxMKQogICAgICAgICAgZ290byBl bmQ7CiAgCkBAIC0xMjAsNyArMTQzLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuNy9wcm92aWRl cnMvZmlwcy9zZWxmX3Rlc3QuYy5lbWJlZC1obWFjIG9wZW5zc2wtMy4wLjcvcHJvdmkKICAgICAg aWYgKG1vZHVsZV9jaGVja3N1bSA9PSBOVUxMKSB7CiAgICAgICAgICBFUlJfcmFpc2UoRVJSX0xJ Ql9QUk9WLCBQUk9WX1JfSU5WQUxJRF9DT05GSUdfREFUQSk7CiAgICAgICAgICBnb3RvIGVuZDsK LUBAIC0zNTYsNyArNDEzLDYgQEAgaW50IFNFTEZfVEVTVF9wb3N0KFNFTEZfVEVTVF9QT1NUX1BB UkFNUworQEAgLTQzNCw3ICs0OTAsNiBAQCBpbnQgU0VMRl9URVNUX3Bvc3QoU0VMRl9URVNUX1BP U1RfUEFSQU1TICpzdCwgaW50IG9uX2RlbWFuZF90ZXN0KQogIGVuZDoKICAgICAgRVZQX1JBTkRf ZnJlZSh0ZXN0cmFuZCk7CiAgICAgIE9TU0xfU0VMRl9URVNUX2ZyZWUoZXYpOwpAQCAtMTI4LDEw ICsxNTEsMTkgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuNy9wcm92aWRlcnMvZmlwcy9zZWxmX3Rl c3QuYy5lbWJlZC1obWFjIG9wZW5zc2wtMy4wLjcvcHJvdmkKICAgICAgT1BFTlNTTF9mcmVlKGlu ZGljYXRvcl9jaGVja3N1bSk7CiAgCiAgICAgIGlmIChzdCAhPSBOVUxMKSB7Ci1kaWZmIC1ydU4g b3BlbnNzbC0zLjAuMC90ZXN0L3JlY2lwZXMvMDAtcHJlcF9maXBzbW9kdWxlX2NuZi50IG9wZW5z c2wtMy4wLjAteHh4L3Rlc3QvcmVjaXBlcy8wMC1wcmVwX2ZpcHNtb2R1bGVfY25mLnQKLS0tLSBv cGVuc3NsLTMuMC4wL3Rlc3QvcmVjaXBlcy8wMC1wcmVwX2ZpcHNtb2R1bGVfY25mLnQJMjAyMS0w OS0wNyAxMzo0NjozMi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTMuMC4wLXh4eC90ZXN0 L3JlY2lwZXMvMDAtcHJlcF9maXBzbW9kdWxlX2NuZi50CTIwMjEtMTEtMTggMDk6Mzk6NTMuMzg2 ODE3ODc0ICswMTAwCi1AQCAtMjAsNyArMjAsNyBAQAorZGlmZiAtLWdpdCBhL3Rlc3QvZmlwc21v ZHVsZS5jbmYgYi90ZXN0L2ZpcHNtb2R1bGUuY25mCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMDAwMC4uZjA1ZDBkZWRiZQorLS0tIC9kZXYvbnVsbAorKysrIGIvdGVzdC9maXBz bW9kdWxlLmNuZgorQEAgLTAsMCArMSwyIEBACisrW2ZpcHNfc2VjdF0KKythY3RpdmF0ZSA9IDEK K2RpZmYgLS1naXQgYS90ZXN0L3JlY2lwZXMvMDAtcHJlcF9maXBzbW9kdWxlX2NuZi50IGIvdGVz dC9yZWNpcGVzLzAwLXByZXBfZmlwc21vZHVsZV9jbmYudAoraW5kZXggNGUzYTZkODVlOC4uZTgy NTViYTk3NCAxMDA2NDQKKy0tLSBhL3Rlc3QvcmVjaXBlcy8wMC1wcmVwX2ZpcHNtb2R1bGVfY25m LnQKKysrKyBiL3Rlc3QvcmVjaXBlcy8wMC1wcmVwX2ZpcHNtb2R1bGVfY25mLnQKK0BAIC0yMCw3 ICsyMCw3IEBAIHVzZSBsaWIgc3JjdG9wX2RpcignQ29uZmlndXJhdGlvbnMnKTsKICB1c2UgbGli IGJsZHRvcF9kaXIoJy4nKTsKICB1c2UgcGxhdGZvcm07CiAgCkBAIC0xNDAsMTAgKzE3MiwxMSBA QCBkaWZmIC1ydU4gb3BlbnNzbC0zLjAuMC90ZXN0L3JlY2lwZXMvMDAtcHJlcF9maXBzbW9kdWxl X2NuZi50IG9wZW5zc2wtMy4wLjAteHh4LwogIHBsYW4gc2tpcF9hbGwgPT4gIkZJUFMgbW9kdWxl IGNvbmZpZyBmaWxlIG9ubHkgc3VwcG9ydGVkIGluIGEgZmlwcyBidWlsZCIKICAgICAgaWYgJG5v X2NoZWNrOwogIAotZGlmZiAtcnVOIG9wZW5zc2wtMy4wLjAvdGVzdC9yZWNpcGVzLzAxLXRlc3Rf Zmlwc21vZHVsZV9jbmYudCBvcGVuc3NsLTMuMC4wLXh4eC90ZXN0L3JlY2lwZXMvMDEtdGVzdF9m aXBzbW9kdWxlX2NuZi50Ci0tLS0gb3BlbnNzbC0zLjAuMC90ZXN0L3JlY2lwZXMvMDEtdGVzdF9m aXBzbW9kdWxlX2NuZi50CTIwMjEtMDktMDcgMTM6NDY6MzIuMDAwMDAwMDAwICswMjAwCi0rKysg b3BlbnNzbC0zLjAuMC14eHgvdGVzdC9yZWNpcGVzLzAxLXRlc3RfZmlwc21vZHVsZV9jbmYudAky MDIxLTExLTE4IDA5OjU5OjAyLjMxNTYxOTQ4NiArMDEwMAotQEAgLTIzLDcgKzIzLDcgQEAKK2Rp ZmYgLS1naXQgYS90ZXN0L3JlY2lwZXMvMDEtdGVzdF9maXBzbW9kdWxlX2NuZi50IGIvdGVzdC9y ZWNpcGVzLzAxLXRlc3RfZmlwc21vZHVsZV9jbmYudAoraW5kZXggY2U1OTQ4MTdkNS4uMDBjZWJh Y2ZmOCAxMDA2NDQKKy0tLSBhL3Rlc3QvcmVjaXBlcy8wMS10ZXN0X2ZpcHNtb2R1bGVfY25mLnQK KysrKyBiL3Rlc3QvcmVjaXBlcy8wMS10ZXN0X2ZpcHNtb2R1bGVfY25mLnQKK0BAIC0yMyw3ICsy Myw3IEBAIHVzZSBsaWIgc3JjdG9wX2RpcignQ29uZmlndXJhdGlvbnMnKTsKICB1c2UgbGliIGJs ZHRvcF9kaXIoJy4nKTsKICB1c2UgcGxhdGZvcm07CiAgCkBAIC0xNTIsMTAgKzE4NSwxMSBAQCBk aWZmIC1ydU4gb3BlbnNzbC0zLjAuMC90ZXN0L3JlY2lwZXMvMDEtdGVzdF9maXBzbW9kdWxlX2Nu Zi50IG9wZW5zc2wtMy4wLjAteHh4LwogIHBsYW4gc2tpcF9hbGwgPT4gIlRlc3Qgb25seSBzdXBw b3J0ZWQgaW4gYSBmaXBzIGJ1aWxkIgogICAgICBpZiAkbm9fY2hlY2s7CiAgcGxhbiB0ZXN0cyA9 PiAxOwotZGlmZiAtcnVOIG9wZW5zc2wtMy4wLjAvdGVzdC9yZWNpcGVzLzAzLXRlc3RfZmlwc2lu c3RhbGwudCBvcGVuc3NsLTMuMC4wLXh4eC90ZXN0L3JlY2lwZXMvMDMtdGVzdF9maXBzaW5zdGFs bC50Ci0tLS0gb3BlbnNzbC0zLjAuMC90ZXN0L3JlY2lwZXMvMDMtdGVzdF9maXBzaW5zdGFsbC50 CTIwMjEtMDktMDcgMTM6NDY6MzIuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0zLjAuMC14 eHgvdGVzdC9yZWNpcGVzLzAzLXRlc3RfZmlwc2luc3RhbGwudAkyMDIxLTExLTE4IDA5OjU5OjU1 LjM2NTA3MjA3NCArMDEwMAotQEAgLTIyLDcgKzIyLDcgQEAKK2RpZmYgLS1naXQgYS90ZXN0L3Jl Y2lwZXMvMDMtdGVzdF9maXBzaW5zdGFsbC50IGIvdGVzdC9yZWNpcGVzLzAzLXRlc3RfZmlwc2lu c3RhbGwudAoraW5kZXggYjhiMTM2ZDExMC4uODI0MmY0ZWJjMyAxMDA2NDQKKy0tLSBhL3Rlc3Qv cmVjaXBlcy8wMy10ZXN0X2ZpcHNpbnN0YWxsLnQKKysrKyBiL3Rlc3QvcmVjaXBlcy8wMy10ZXN0 X2ZpcHNpbnN0YWxsLnQKK0BAIC0yMiw3ICsyMiw3IEBAIHVzZSBsaWIgc3JjdG9wX2RpcignQ29u ZmlndXJhdGlvbnMnKTsKICB1c2UgbGliIGJsZHRvcF9kaXIoJy4nKTsKICB1c2UgcGxhdGZvcm07 CiAgCkBAIC0xNjQsMTAgKzE5OCwxMSBAQCBkaWZmIC1ydU4gb3BlbnNzbC0zLjAuMC90ZXN0L3Jl Y2lwZXMvMDMtdGVzdF9maXBzaW5zdGFsbC50IG9wZW5zc2wtMy4wLjAteHh4L3RlcwogIAogICMg Q29tcGF0aWJsZSBvcHRpb25zIGZvciBwZWRhbnRpYyBGSVBTIGNvbXBsaWFuY2UKICBteSBAcGVk YW50aWNfb2theSA9Ci1kaWZmIC1ydU4gb3BlbnNzbC0zLjAuMC90ZXN0L3JlY2lwZXMvMzAtdGVz dF9kZWZsdGZpcHMudCBvcGVuc3NsLTMuMC4wLXh4eC90ZXN0L3JlY2lwZXMvMzAtdGVzdF9kZWZs dGZpcHMudAotLS0tIG9wZW5zc2wtMy4wLjAvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZGVmbHRmaXBz LnQJMjAyMS0wOS0wNyAxMzo0NjozMi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTMuMC4w LXh4eC90ZXN0L3JlY2lwZXMvMzAtdGVzdF9kZWZsdGZpcHMudAkyMDIxLTExLTE4IDEwOjIyOjU0 LjE3OTY1OTY4MiArMDEwMAotQEAgLTIxLDcgKzIxLDcgQEAKK2RpZmYgLS1naXQgYS90ZXN0L3Jl Y2lwZXMvMzAtdGVzdF9kZWZsdGZpcHMudCBiL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2RlZmx0Zmlw cy50CitpbmRleCA0MjZiZDY2MGQxLi42ZGM1MTQ5MzZiIDEwMDY0NAorLS0tIGEvdGVzdC9yZWNp cGVzLzMwLXRlc3RfZGVmbHRmaXBzLnQKKysrKyBiL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2RlZmx0 Zmlwcy50CitAQCAtMjEsNyArMjEsNyBAQCBCRUdJTiB7CiAgdXNlIGxpYiBzcmN0b3BfZGlyKCdD b25maWd1cmF0aW9ucycpOwogIHVzZSBsaWIgYmxkdG9wX2RpcignLicpOwogIApAQCAtMTc2LDEw ICsyMTEsMTEgQEAgZGlmZiAtcnVOIG9wZW5zc2wtMy4wLjAvdGVzdC9yZWNpcGVzLzMwLXRlc3Rf ZGVmbHRmaXBzLnQgb3BlbnNzbC0zLjAuMC14eHgvdGVzdC8KICAKICBwbGFuIHRlc3RzID0+CiAg ICAgICgkbm9fZmlwcyA/IDEgOiA1KTsKLWRpZmYgLXJ1TiBvcGVuc3NsLTMuMC4wL3Rlc3QvcmVj aXBlcy84MC10ZXN0X3NzbF9uZXcudCBvcGVuc3NsLTMuMC4wLXh4eC90ZXN0L3JlY2lwZXMvODAt dGVzdF9zc2xfbmV3LnQKLS0tLSBvcGVuc3NsLTMuMC4wL3Rlc3QvcmVjaXBlcy84MC10ZXN0X3Nz bF9uZXcudAkyMDIxLTA5LTA3IDEzOjQ2OjMyLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wt My4wLjAteHh4L3Rlc3QvcmVjaXBlcy84MC10ZXN0X3NzbF9uZXcudAkyMDIxLTExLTE4IDEwOjE4 OjUzLjM5MTcyMTE2NCArMDEwMAotQEAgLTIzLDcgKzIzLDcgQEAKK2RpZmYgLS1naXQgYS90ZXN0 L3JlY2lwZXMvODAtdGVzdF9zc2xfbmV3LnQgYi90ZXN0L3JlY2lwZXMvODAtdGVzdF9zc2xfbmV3 LnQKK2luZGV4IDBjNmQ2NDAyZDkuLmU0NWY5Y2I1NjAgMTAwNjQ0CistLS0gYS90ZXN0L3JlY2lw ZXMvODAtdGVzdF9zc2xfbmV3LnQKKysrKyBiL3Rlc3QvcmVjaXBlcy84MC10ZXN0X3NzbF9uZXcu dAorQEAgLTI3LDcgKzI3LDcgQEAgc2V0dXAoInRlc3Rfc3NsX25ldyIpOwogIHVzZSBsaWIgc3Jj dG9wX2RpcignQ29uZmlndXJhdGlvbnMnKTsKICB1c2UgbGliIGJsZHRvcF9kaXIoJy4nKTsKICAK QEAgLTE4OCwxMCArMjI0LDExIEBAIGRpZmYgLXJ1TiBvcGVuc3NsLTMuMC4wL3Rlc3QvcmVjaXBl cy84MC10ZXN0X3NzbF9uZXcudCBvcGVuc3NsLTMuMC4wLXh4eC90ZXN0L3JlCiAgCiAgJEVOVntU RVNUX0NFUlRTX0RJUn0gPSBzcmN0b3BfZGlyKCJ0ZXN0IiwgImNlcnRzIik7CiAgCi1kaWZmIC1y dU4gb3BlbnNzbC0zLjAuMC90ZXN0L3JlY2lwZXMvOTAtdGVzdF9zc2xhcGkudCBvcGVuc3NsLTMu MC4wLXh4eC90ZXN0L3JlY2lwZXMvOTAtdGVzdF9zc2xhcGkudAotLS0tIG9wZW5zc2wtMy4wLjAv dGVzdC9yZWNpcGVzLzkwLXRlc3Rfc3NsYXBpLnQJMjAyMS0xMS0xOCAxMDozMjoxNy43MzQxOTY3 MDUgKzAxMDAKLSsrKyBvcGVuc3NsLTMuMC4wLXh4eC90ZXN0L3JlY2lwZXMvOTAtdGVzdF9zc2xh cGkudAkyMDIxLTExLTE4IDEwOjE4OjMwLjY5NTUzODQ0NSArMDEwMAotQEAgLTE4LDcgKzE4LDcg QEAKK2RpZmYgLS1naXQgYS90ZXN0L3JlY2lwZXMvOTAtdGVzdF9zc2xhcGkudCBiL3Rlc3QvcmVj aXBlcy85MC10ZXN0X3NzbGFwaS50CitpbmRleCA5ZTllMzJiNTFlLi4xYTFhNzE1OWI1IDEwMDY0 NAorLS0tIGEvdGVzdC9yZWNpcGVzLzkwLXRlc3Rfc3NsYXBpLnQKKysrKyBiL3Rlc3QvcmVjaXBl cy85MC10ZXN0X3NzbGFwaS50CitAQCAtMTcsNyArMTcsNyBAQCBzZXR1cCgidGVzdF9zc2xhcGki KTsKICB1c2UgbGliIHNyY3RvcF9kaXIoJ0NvbmZpZ3VyYXRpb25zJyk7CiAgdXNlIGxpYiBibGR0 b3BfZGlyKCcuJyk7CiAgCkBAIC0yMDAsOCArMjM3LDYgQEAgZGlmZiAtcnVOIG9wZW5zc2wtMy4w LjAvdGVzdC9yZWNpcGVzLzkwLXRlc3Rfc3NsYXBpLnQgb3BlbnNzbC0zLjAuMC14eHgvdGVzdC9y ZWMKICBteSAkZmlwc21vZGNmZ19maWxlbmFtZSA9ICJmaXBzbW9kdWxlLmNuZiI7CiAgbXkgJGZp cHNtb2RjZmcgPSBibGR0b3BfZmlsZSgidGVzdCIsICRmaXBzbW9kY2ZnX2ZpbGVuYW1lKTsKICAK LS0tLSAvZGV2L251bGwJMjAyMS0xMS0xNiAxNToyNzozMi45MTUwMDAwMDAgKzAxMDAKLSsrKyBv cGVuc3NsLTMuMC4wL3Rlc3QvZmlwc21vZHVsZS5jbmYJMjAyMS0xMS0xOCAxMToxNTozNC41Mzgw NjA0MDggKzAxMDAKLUBAIC0wLDAgKzEsMiBAQAotK1tmaXBzX3NlY3RdCi0rYWN0aXZhdGUgPSAx CistLSAKKzIuNDEuMAorCgpkaWZmIC0tZ2l0IGEvMDAzNC5maXBzaW5zdGFsbF9kaXNhYmxlLnBh dGNoIGIvMDAzNC5maXBzaW5zdGFsbF9kaXNhYmxlLnBhdGNoCmluZGV4IDExNzc5ZmUuLmYxZDdi MjcgMTAwNjQ0Ci0tLSBhLzAwMzQuZmlwc2luc3RhbGxfZGlzYWJsZS5wYXRjaAorKysgYi8wMDM0 LmZpcHNpbnN0YWxsX2Rpc2FibGUucGF0Y2gKQEAgLTEsNyArMSwyNyBAQAotZGlmZiAtdXAgb3Bl bnNzbC0zLjAuMC9hcHBzL2ZpcHNpbnN0YWxsLmMueHh4IG9wZW5zc2wtMy4wLjAvYXBwcy9maXBz aW5zdGFsbC5jCi0tLS0gb3BlbnNzbC0zLjAuMC9hcHBzL2ZpcHNpbnN0YWxsLmMueHh4CTIwMjEt MTEtMjIgMTM6MDk6MjguMjMyNTYwMjM1ICswMTAwCi0rKysgb3BlbnNzbC0zLjAuMC9hcHBzL2Zp cHNpbnN0YWxsLmMJMjAyMS0xMS0yMiAxMzoxMjoyMi4yNzIwNTg5MTAgKzAxMDAKLUBAIC0zMTEs NiArMzExLDkgQEAgaW50IGZpcHNpbnN0YWxsX21haW4oaW50IGFyZ2MsIGNoYXIgKiphcgorRnJv bSBhOTgyNTEyM2U3YWIzNDc0ZDI3OTRhNTcwNmQ5YmVkMDQ3OTU5YzljIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogcnBtLWJ1aWxkIDxycG0tYnVpbGQ+CitEYXRlOiBNb24sIDMxIEp1 bCAyMDIzIDA5OjQxOjI4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMTgvMzVdIDAwMzQuZmlwc2lu c3RhbGxfZGlzYWJsZS5wYXRjaAorCitQYXRjaC1uYW1lOiAwMDM0LmZpcHNpbnN0YWxsX2Rpc2Fi bGUucGF0Y2gKK1BhdGNoLWlkOiAzNAorUGF0Y2gtc3RhdHVzOiB8CisgICAgIyBDb21tZW50IG91 dCBmaXBzaW5zdGFsbCBjb21tYW5kLWxpbmUgdXRpbGl0eQorRnJvbS1kaXN0LWdpdC1jb21taXQ6 IDk0MDliYzcwNDRjZjRiNTc3MzYzOWNjZTIwZjUxMzk5ODg4YzQ1ZmQKKy0tLQorIGFwcHMvZmlw c2luc3RhbGwuYyAgICAgICAgICAgICAgICAgIHwgICAzICsKKyBkb2MvbWFuMS9vcGVuc3NsLWZp cHNpbnN0YWxsLnBvZC5pbiB8IDI3MiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZG9j L21hbjEvb3BlbnNzbC5wb2QgICAgICAgICAgICAgICAgfCAgIDQgLQorIGRvYy9tYW41L2NvbmZp Zy5wb2QgICAgICAgICAgICAgICAgIHwgICAxIC0KKyBkb2MvbWFuNS9maXBzX2NvbmZpZy5wb2Qg ICAgICAgICAgICB8IDEwNCArLS0tLS0tLS0tLQorIGRvYy9tYW43L09TU0xfUFJPVklERVItRklQ Uy5wb2QgICAgIHwgICAxIC0KKyA2IGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDM3 NSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2FwcHMvZmlwc2luc3RhbGwuYyBiL2FwcHMv Zmlwc2luc3RhbGwuYworaW5kZXggZTFlZjY0NWI2MC4uZGI5MmNiNWZiMiAxMDA2NDQKKy0tLSBh L2FwcHMvZmlwc2luc3RhbGwuYworKysrIGIvYXBwcy9maXBzaW5zdGFsbC5jCitAQCAtMzc1LDYg KzM3NSw5IEBAIGludCBmaXBzaW5zdGFsbF9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAg ICAgRVZQX01BQyAqbWFjID0gTlVMTDsKICAgICAgQ09ORiAqY29uZiA9IE5VTEw7CiAgCkBAIC0x MSwxNjAgKzMxLDExIEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjAvYXBwcy9maXBzaW5zdGFsbC5j Lnh4eCBvcGVuc3NsLTMuMC4wL2FwcHMvZmlwc2luc3RhbGwuYwogICAgICBpZiAoKG9wdHMgPSBz a19PUEVOU1NMX1NUUklOR19uZXdfbnVsbCgpKSA9PSBOVUxMKQogICAgICAgICAgZ290byBlbmQ7 CiAgCi1kaWZmIC11cCBvcGVuc3NsLTMuMC4wL2RvYy9tYW4xL29wZW5zc2wucG9kLnh4eCBvcGVu c3NsLTMuMC4wL2RvYy9tYW4xL29wZW5zc2wucG9kCi0tLS0gb3BlbnNzbC0zLjAuMC9kb2MvbWFu MS9vcGVuc3NsLnBvZC54eHgJMjAyMS0xMS0yMiAxMzoxODo1MS4wODE0MDY5OTAgKzAxMDAKLSsr KyBvcGVuc3NsLTMuMC4wL2RvYy9tYW4xL29wZW5zc2wucG9kCTIwMjEtMTEtMjIgMTM6MTk6MDIu ODk3NTA4NzM4ICswMTAwCi1AQCAtMTU4LDEwICsxNTgsNiBAQCBFbmdpbmUgKGxvYWRhYmxlIG1v ZHVsZSkgaW5mb3JtYXRpb24gYW5kCi0gCi0gRXJyb3IgTnVtYmVyIHRvIEVycm9yIFN0cmluZyBD b252ZXJzaW9uLgotIAotLT1pdGVtIEI8Zmlwc2luc3RhbGw+Ci0tCi0tRklQUyBjb25maWd1cmF0 aW9uIGluc3RhbGxhdGlvbi4KLS0KLSA9aXRlbSBCPGdlbmRzYT4KLSAKLSBHZW5lcmF0aW9uIG9m IERTQSBQcml2YXRlIEtleSBmcm9tIFBhcmFtZXRlcnMuIFN1cGVyc2VkZWQgYnkKLWRpZmYgLXVw IG9wZW5zc2wtMy4wLjAvZG9jL21hbjUvY29uZmlnLnBvZC54eHggb3BlbnNzbC0zLjAuMC9kb2Mv bWFuNS9jb25maWcucG9kCi0tLS0gb3BlbnNzbC0zLjAuMC9kb2MvbWFuNS9jb25maWcucG9kLnh4 eAkyMDIxLTExLTIyIDEzOjI0OjUxLjM1OTUwOTUwMSArMDEwMAotKysrIG9wZW5zc2wtMy4wLjAv ZG9jL21hbjUvY29uZmlnLnBvZAkyMDIxLTExLTIyIDEzOjI2OjAyLjM2MDEyMTgyMCArMDEwMAot QEAgLTU3Myw3ICs1NzMsNiBAQCBjb25maWd1cmF0aW9uIGZpbGVzIHVzaW5nIHRoYXQgc3ludGF4 IHdpCi0gPWhlYWQxIFNFRSBBTFNPCi0gCi0gTDxvcGVuc3NsLXg1MDkoMSk+LCBMPG9wZW5zc2wt cmVxKDEpPiwgTDxvcGVuc3NsLWNhKDEpPiwKLS1MPG9wZW5zc2wtZmlwc2luc3RhbGwoMSk+LAot IEw8QVNOMV9nZW5lcmF0ZV9uY29uZigzKT4sCi0gTDxFVlBfc2V0X2RlZmF1bHRfcHJvcGVydGll cygzKT4sCi0gTDxDT05GX21vZHVsZXNfbG9hZCgzKT4sCi1kaWZmIC11cCBvcGVuc3NsLTMuMC4w L2RvYy9tYW41L2ZpcHNfY29uZmlnLnBvZC54eHggb3BlbnNzbC0zLjAuMC9kb2MvbWFuNS9maXBz X2NvbmZpZy5wb2QKLS0tLSBvcGVuc3NsLTMuMC4wL2RvYy9tYW41L2ZpcHNfY29uZmlnLnBvZC54 eHgJMjAyMS0xMS0yMiAxMzoyMToxMy44MTI2MzYwNjUgKzAxMDAKLSsrKyBvcGVuc3NsLTMuMC4w L2RvYy9tYW41L2ZpcHNfY29uZmlnLnBvZAkyMDIxLTExLTIyIDEzOjI0OjEyLjI3ODE3Mjg0NyAr MDEwMAotQEAgLTYsMTA2ICs2LDEwIEBAIGZpcHNfY29uZmlnIC0gT3BlblNTTCBGSVBTIGNvbmZp Z3VyYXRpb24KLSAKLSA9aGVhZDEgREVTQ1JJUFRJT04KLSAKLS1BIHNlcGFyYXRlIGNvbmZpZ3Vy YXRpb24gZmlsZSwgdXNpbmcgdGhlIE9wZW5TU0wgTDxjb25maWcoNSk+IHN5bnRheCwKLS1pcyB1 c2VkIHRvIGhvbGQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIEZJUFMgbW9kdWxlLiBUaGlzIGluY2x1 ZGVzIGEgZGlnZXN0Ci0tb2YgdGhlIHNoYXJlZCBsaWJyYXJ5IGZpbGUsIGFuZCBzdGF0dXMgYWJv dXQgdGhlIHNlbGYtdGVzdGluZy4KLS1UaGlzIGRhdGEgaXMgdXNlZCBhdXRvbWF0aWNhbGx5IGJ5 IHRoZSBtb2R1bGUgaXRzZWxmIGZvciB0d28KLS1wdXJwb3NlczoKLS0KLS09b3ZlciA0Ci0tCi0t PWl0ZW0gLSBSdW4gdGhlIHN0YXJ0dXAgRklQUyBzZWxmLXRlc3Qga25vd24gYW5zd2VyIHRlc3Rz IChLQVRTKS4KLS0KLS1UaGlzIGlzIG5vcm1hbGx5IGRvbmUgb25jZSwgYXQgaW5zdGFsbGF0aW9u IHRpbWUsIGJ1dCBtYXkgYWxzbyBiZSBzZXQgdXAgdG8KLS1ydW4gZWFjaCB0aW1lIHRoZSBtb2R1 bGUgaXMgdXNlZC4KLS0KLS09aXRlbSAtIFZlcmlmeSB0aGUgbW9kdWxlJ3MgY2hlY2tzdW0uCi0t Ci0tVGhpcyBpcyBkb25lIGVhY2ggdGltZSB0aGUgbW9kdWxlIGlzIHVzZWQuCi0tCi0tPWJhY2sK LS0KLS1UaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGJ5IHRoZSBMPG9wZW5zc2wtZmlwc2luc3RhbGwo MSk+IHByb2dyYW0sIGFuZAotLXVzZWQgaW50ZXJuYWxseSBieSB0aGUgRklQUyBtb2R1bGUgZHVy aW5nIGl0cyBpbml0aWFsaXphdGlvbi4KLS0KLS1UaGUgZm9sbG93aW5nIG9wdGlvbnMgYXJlIHN1 cHBvcnRlZC4gVGhleSBzaG91bGQgYWxsIGFwcGVhciBpbiBhIHNlY3Rpb24KLS13aG9zZSBuYW1l IGlzIGlkZW50aWZpZWQgYnkgdGhlIEI8Zmlwcz4gb3B0aW9uIGluIHRoZSBCPHByb3ZpZGVycz4K LS1zZWN0aW9uLCBhcyBkZXNjcmliZWQgaW4gTDxjb25maWcoNSkvUHJvdmlkZXIgQ29uZmlndXJh dGlvbiBNb2R1bGU+LgotLQotLT1vdmVyIDQKLS0KLS09aXRlbSBCPGFjdGl2YXRlPgotLQotLUlm IHByZXNlbnQsIHRoZSBtb2R1bGUgaXMgYWN0aXZhdGVkLiBUaGUgdmFsdWUgYXNzaWduZWQgdG8g dGhpcyBuYW1lIGlzIG5vdAotLXNpZ25pZmljYW50LgotLQotLT1pdGVtIEI8aW5zdGFsbC12ZXJz aW9uPgotLQotLUEgdmVyc2lvbiBudW1iZXIgZm9yIHRoZSBmaXBzIGluc3RhbGwgcHJvY2Vzcy4g U2hvdWxkIGJlIDEuCi0tCi0tPWl0ZW0gQjxjb25kaXRpb25hbC1lcnJvcnM+Ci0tCi0tVGhlIEZJ UFMgbW9kdWxlIG5vcm1hbGx5IGVudGVycyBhbiBpbnRlcm5hbCBlcnJvciBtb2RlIGlmIGFueSBz ZWxmIHRlc3QgZmFpbHMuCi0tT25jZSB0aGlzIGVycm9yIG1vZGUgaXMgYWN0aXZlLCBubyBzZXJ2 aWNlcyBvciBjcnlwdG9ncmFwaGljIGFsZ29yaXRobXMgYXJlCi0tYWNjZXNzaWJsZSBmcm9tIHRo aXMgcG9pbnQgb24uCi0tQ29udGludW91cyB0ZXN0cyBhcmUgYSBzdWJzZXQgb2YgdGhlIHNlbGYg dGVzdHMgKGUuZy4sIGEga2V5IHBhaXIgdGVzdCBkdXJpbmcga2V5Ci0tZ2VuZXJhdGlvbiwgb3Ig dGhlIENSTkcgb3V0cHV0IHRlc3QpLgotLVNldHRpbmcgdGhpcyB2YWx1ZSB0byBDPDA+IGFsbG93 cyB0aGUgZXJyb3IgbW9kZSB0byBub3QgYmUgdHJpZ2dlcmVkIGlmIGFueQotLWNvbnRpbnVvdXMg dGVzdCBmYWlscy4gVGhlIGRlZmF1bHQgdmFsdWUgb2YgQzwxPiB3aWxsIHRyaWdnZXIgdGhlIGVy cm9yIG1vZGUuCi0tUmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUsIHRoZSBvcGVyYXRpb24gKGUuZy4s IGtleSBnZW5lcmF0aW9uKSB0aGF0IGNhbGxlZCB0aGUKLS1jb250aW51b3VzIHRlc3Qgd2lsbCBy ZXR1cm4gYW4gZXJyb3IgY29kZSBpZiBpdHMgY29udGludW91cyB0ZXN0IGZhaWxzLiBUaGUKLS1v cGVyYXRpb24gbWF5IHRoZW4gYmUgcmV0cmllZCBpZiB0aGUgZXJyb3IgbW9kZSBoYXMgbm90IGJl ZW4gdHJpZ2dlcmVkLgotLQotLT1pdGVtIEI8c2VjdXJpdHktY2hlY2tzPgotLQotLVRoaXMgaW5k aWNhdGVzIGlmIHJ1bi10aW1lIGNoZWNrcyByZWxhdGVkIHRvIGVuZm9yY2VtZW50IG9mIHNlY3Vy aXR5IHBhcmFtZXRlcnMKLS1zdWNoIGFzIG1pbmltdW0gc2VjdXJpdHkgc3RyZW5ndGggb2Yga2V5 cyBhbmQgYXBwcm92ZWQgY3VydmUgbmFtZXMgYXJlIHVzZWQuCi0tQSB2YWx1ZSBvZiAnMScgd2ls bCBwZXJmb3JtIHRoZSBjaGVja3MsIG90aGVyd2lzZSBpZiB0aGUgdmFsdWUgaXMgJzAnIHRoZSBj aGVja3MKLS1hcmUgbm90IHBlcmZvcm1lZCBhbmQgRklQUyBjb21wbGlhbmNlIG11c3QgYmUgZG9u ZSBieSBwcm9jZWR1cmVzIGRvY3VtZW50ZWQgaW4KLS10aGUgcmVsZXZhbnQgU2VjdXJpdHkgUG9s aWN5LgotLQotLT1pdGVtIEI8bW9kdWxlLW1hYz4KLS0KLS1UaGUgY2FsY3VsYXRlZCBNQUMgb2Yg dGhlIEZJUFMgcHJvdmlkZXIgZmlsZS4KLS0KLS09aXRlbSBCPGluc3RhbGwtc3RhdHVzPgotLQot LUFuIGluZGljYXRvciB0aGF0IHRoZSBzZWxmLXRlc3RzIHdlcmUgc3VjY2Vzc2Z1bGx5IHJ1bi4K LS1UaGlzIHNob3VsZCBvbmx5IGJlIHdyaXR0ZW4gYWZ0ZXIgdGhlIG1vZHVsZSBoYXMKLS1zdWNj ZXNzZnVsbHkgcGFzc2VkIGl0cyBzZWxmIHRlc3RzIGR1cmluZyBpbnN0YWxsYXRpb24uCi0tSWYg dGhpcyBmaWVsZCBpcyBub3QgcHJlc2VudCwgdGhlbiB0aGUgc2VsZiB0ZXN0cyB3aWxsIHJ1biB3 aGVuIHRoZSBtb2R1bGUKLS1sb2Fkcy4KLS0KLS09aXRlbSBCPGluc3RhbGwtbWFjPgotLQotLUEg TUFDIG9mIHRoZSB2YWx1ZSBvZiB0aGUgQjxpbnN0YWxsLXN0YXR1cz4gb3B0aW9uLCB0byBwcmV2 ZW50IGFjY2lkZW50YWwKLS1jaGFuZ2VzIHRvIHRoYXQgdmFsdWUuCi0tSXQgaXMgd3JpdHRlbi10 byBhdCB0aGUgc2FtZSB0aW1lIGFzIEI8aW5zdGFsbC1zdGF0dXM+IGlzIHVwZGF0ZWQuCi0tCi0t PWJhY2sKLS0KLS1Gb3IgZXhhbXBsZToKLS0KLS0gW2ZpcHNfc2VjdF0KLS0gYWN0aXZhdGUgPSAx Ci0tIGluc3RhbGwtdmVyc2lvbiA9IDEKLS0gY29uZGl0aW9uYWwtZXJyb3JzID0gMQotLSBzZWN1 cml0eS1jaGVja3MgPSAxCi0tIG1vZHVsZS1tYWMgPSA0MTpEMDpGQTpDMjo1RDo0MTo3NTpDRDo3 RDpDMzo5MDo1NTo2RjpBNDpEQwotLSBpbnN0YWxsLW1hYyA9IEZFOjEwOjEzOjVBOkQzOkI0OkM3 OjgyOjFCOjFFOjE3OjRDOkFDOjg0OjBDCi0tIGluc3RhbGwtc3RhdHVzID0gSU5TVEFMTF9TRUxG X1RFU1RfS0FUU19SVU4KLS0KLS09aGVhZDEgTk9URVMKLS0KLS1XaGVuIHVzaW5nIHRoZSBGSVBT IHByb3ZpZGVyLCBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IHRoZQotLUI8Y29uZmlnX2RpYWdub3N0 aWNzPiBvcHRpb24gaXMgZW5hYmxlZCB0byBwcmV2ZW50IGFjY2lkZW50YWwgdXNlIG9mCi0tbm9u LUZJUFMgdmFsaWRhdGVkIGFsZ29yaXRobXMgdmlhIGJyb2tlbiBvciBtaXN0YWtlbiBjb25maWd1 cmF0aW9uLgotLVNlZSBMPGNvbmZpZyg1KT4uCi0tCi0tPWhlYWQxIFNFRSBBTFNPCi0tCi0tTDxj b25maWcoNSk+Ci0tTDxvcGVuc3NsLWZpcHNpbnN0YWxsKDEpPgotK1RoaXMgY29tbWFuZCBpcyBk aXNhYmxlZCBpbiBSZWQgSGF0IEVudGVycHJpc2UgTGludXguIFRoZSBGSVBTIHByb3ZpZGVyIGlz Ci0rYXV0b21hdGljYWxseSBsb2FkZWQgd2hlbiB0aGUgc3lzdGVtIGlzIGJvb3RlZCBpbiBGSVBT IG1vZGUsIG9yIHdoZW4gdGhlCi0rZW52aXJvbm1lbnQgdmFyaWFibGUgQjxPUEVOU1NMX0ZPUkNF X0ZJUFNfTU9ERT4gaXMgc2V0LiBTZWUgdGhlIGRvY3VtZW50YXRpb24KLStmb3IgbW9yZSBpbmZv cm1hdGlvbi4KLSAKLSA9aGVhZDEgSElTVE9SWQotIAotZGlmZiAtdXAgb3BlbnNzbC0zLjAuMC9k b2MvbWFuNy9PU1NMX1BST1ZJREVSLUZJUFMucG9kLnh4eCBvcGVuc3NsLTMuMC4wL2RvYy9tYW43 L09TU0xfUFJPVklERVItRklQUy5wb2QKLS0tLSBvcGVuc3NsLTMuMC4wL2RvYy9tYW43L09TU0xf UFJPVklERVItRklQUy5wb2QueHh4CTIwMjEtMTEtMjIgMTM6MTg6MTMuODUwMDg2Mzg2ICswMTAw Ci0rKysgb3BlbnNzbC0zLjAuMC9kb2MvbWFuNy9PU1NMX1BST1ZJREVSLUZJUFMucG9kCTIwMjEt MTEtMjIgMTM6MTg6MjQuNjA3MTc5MDM4ICswMTAwCi1AQCAtMzg4LDcgKzM4OCw2IEBAIEEgc2lt cGxlIHNlbGYgdGVzdCBjYWxsYmFjayBpcyBzaG93biBiZWwKLSAKLSA9aGVhZDEgU0VFIEFMU08K LSAKLS1MPG9wZW5zc2wtZmlwc2luc3RhbGwoMSk+LAotIEw8Zmlwc19jb25maWcoNSk+LAotIEw8 T1NTTF9TRUxGX1RFU1Rfc2V0X2NhbGxiYWNrKDMpPiwKLSBMPE9TU0xfU0VMRl9URVNUX25ldygz KT4sCi1kaWZmIC11cCBvcGVuc3NsLTMuMC4xL2RvYy9tYW4xL29wZW5zc2wtZmlwc2luc3RhbGwu cG9kLmluLmVtYmVkLWhtYWMgb3BlbnNzbC0zLjAuMS9kb2MvbWFuMS9vcGVuc3NsLWZpcHNpbnN0 YWxsLnBvZC5pbgotLS0tIG9wZW5zc2wtMy4wLjEvZG9jL21hbjEvb3BlbnNzbC1maXBzaW5zdGFs bC5wb2QuaW4uZW1iZWQtaG1hYwkyMDIyLTAxLTExIDEzOjI2OjMzLjI3OTkwNjIyNSArMDEwMAot KysrIG9wZW5zc2wtMy4wLjEvZG9jL21hbjEvb3BlbnNzbC1maXBzaW5zdGFsbC5wb2QuaW4JMjAy Mi0wMS0xMSAxMzozMzoxOC43NTc5OTQ0MTkgKzAxMDAKLUBAIC04LDI3NSArOCw5IEBAIG9wZW5z c2wtZmlwc2luc3RhbGwgLSBwZXJmb3JtIEZJUFMgY29uZmkKK2RpZmYgLS1naXQgYS9kb2MvbWFu MS9vcGVuc3NsLWZpcHNpbnN0YWxsLnBvZC5pbiBiL2RvYy9tYW4xL29wZW5zc2wtZmlwc2luc3Rh bGwucG9kLmluCitpbmRleCBiMTc2OGI3ZjkxLi5iNmIwMGUyN2Q4IDEwMDY0NAorLS0tIGEvZG9j L21hbjEvb3BlbnNzbC1maXBzaW5zdGFsbC5wb2QuaW4KKysrKyBiL2RvYy9tYW4xL29wZW5zc2wt Zmlwc2luc3RhbGwucG9kLmluCitAQCAtOCwyNzUgKzgsOSBAQCBvcGVuc3NsLWZpcHNpbnN0YWxs IC0gcGVyZm9ybSBGSVBTIGNvbmZpZ3VyYXRpb24gaW5zdGFsbGF0aW9uCiAgPWhlYWQxIFNZTk9Q U0lTCiAgCiAgQjxvcGVuc3NsIGZpcHNpbnN0YWxsPgpAQCAtNDQzLDMgKzMxNCwxNjAgQEAgZGlm ZiAtdXAgb3BlbnNzbC0zLjAuMS9kb2MvbWFuMS9vcGVuc3NsLWZpcHNpbnN0YWxsLnBvZC5pbi5l bWJlZC1obWFjIG9wZW5zc2wtMy4KICAKICA9aGVhZDEgQ09QWVJJR0hUCiAgCitkaWZmIC0tZ2l0 IGEvZG9jL21hbjEvb3BlbnNzbC5wb2QgYi9kb2MvbWFuMS9vcGVuc3NsLnBvZAoraW5kZXggZDlj MjJhNTgwZi4uZDVlYzNiOWE2YSAxMDA2NDQKKy0tLSBhL2RvYy9tYW4xL29wZW5zc2wucG9kCisr KysgYi9kb2MvbWFuMS9vcGVuc3NsLnBvZAorQEAgLTEzNSwxMCArMTM1LDYgQEAgRW5naW5lIChs b2FkYWJsZSBtb2R1bGUpIGluZm9ybWF0aW9uIGFuZCBtYW5pcHVsYXRpb24uCisgCisgRXJyb3Ig TnVtYmVyIHRvIEVycm9yIFN0cmluZyBDb252ZXJzaW9uLgorIAorLT1pdGVtIEI8Zmlwc2luc3Rh bGw+CistCistRklQUyBjb25maWd1cmF0aW9uIGluc3RhbGxhdGlvbi4KKy0KKyA9aXRlbSBCPGdl bmRzYT4KKyAKKyBHZW5lcmF0aW9uIG9mIERTQSBQcml2YXRlIEtleSBmcm9tIFBhcmFtZXRlcnMu IFN1cGVyc2VkZWQgYnkKK2RpZmYgLS1naXQgYS9kb2MvbWFuNS9jb25maWcucG9kIGIvZG9jL21h bjUvY29uZmlnLnBvZAoraW5kZXggNzE0YTEwNDM3Yi4uYmQwNTczNjIyMCAxMDA2NDQKKy0tLSBh L2RvYy9tYW41L2NvbmZpZy5wb2QKKysrKyBiL2RvYy9tYW41L2NvbmZpZy5wb2QKK0BAIC01NzMs NyArNTczLDYgQEAgY29uZmlndXJhdGlvbiBmaWxlcyB1c2luZyB0aGF0IHN5bnRheCB3aWxsIGhh dmUgdG8gYmUgbW9kaWZpZWQuCisgPWhlYWQxIFNFRSBBTFNPCisgCisgTDxvcGVuc3NsLXg1MDko MSk+LCBMPG9wZW5zc2wtcmVxKDEpPiwgTDxvcGVuc3NsLWNhKDEpPiwKKy1MPG9wZW5zc2wtZmlw c2luc3RhbGwoMSk+LAorIEw8QVNOMV9nZW5lcmF0ZV9uY29uZigzKT4sCisgTDxFVlBfc2V0X2Rl ZmF1bHRfcHJvcGVydGllcygzKT4sCisgTDxDT05GX21vZHVsZXNfbG9hZCgzKT4sCitkaWZmIC0t Z2l0IGEvZG9jL21hbjUvZmlwc19jb25maWcucG9kIGIvZG9jL21hbjUvZmlwc19jb25maWcucG9k CitpbmRleCAyMjU1NDY0MzA0Li4xYzE1ZTMyYTVjIDEwMDY0NAorLS0tIGEvZG9jL21hbjUvZmlw c19jb25maWcucG9kCisrKysgYi9kb2MvbWFuNS9maXBzX2NvbmZpZy5wb2QKK0BAIC02LDEwNiAr NiwxMCBAQCBmaXBzX2NvbmZpZyAtIE9wZW5TU0wgRklQUyBjb25maWd1cmF0aW9uCisgCisgPWhl YWQxIERFU0NSSVBUSU9OCisgCistQSBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIGZpbGUsIHVzaW5n IHRoZSBPcGVuU1NMIEw8Y29uZmlnKDUpPiBzeW50YXgsCistaXMgdXNlZCB0byBob2xkIGluZm9y bWF0aW9uIGFib3V0IHRoZSBGSVBTIG1vZHVsZS4gVGhpcyBpbmNsdWRlcyBhIGRpZ2VzdAorLW9m IHRoZSBzaGFyZWQgbGlicmFyeSBmaWxlLCBhbmQgc3RhdHVzIGFib3V0IHRoZSBzZWxmLXRlc3Rp bmcuCistVGhpcyBkYXRhIGlzIHVzZWQgYXV0b21hdGljYWxseSBieSB0aGUgbW9kdWxlIGl0c2Vs ZiBmb3IgdHdvCistcHVycG9zZXM6CistCistPW92ZXIgNAorLQorLT1pdGVtIC0gUnVuIHRoZSBz dGFydHVwIEZJUFMgc2VsZi10ZXN0IGtub3duIGFuc3dlciB0ZXN0cyAoS0FUUykuCistCistVGhp cyBpcyBub3JtYWxseSBkb25lIG9uY2UsIGF0IGluc3RhbGxhdGlvbiB0aW1lLCBidXQgbWF5IGFs c28gYmUgc2V0IHVwIHRvCistcnVuIGVhY2ggdGltZSB0aGUgbW9kdWxlIGlzIHVzZWQuCistCist PWl0ZW0gLSBWZXJpZnkgdGhlIG1vZHVsZSdzIGNoZWNrc3VtLgorLQorLVRoaXMgaXMgZG9uZSBl YWNoIHRpbWUgdGhlIG1vZHVsZSBpcyB1c2VkLgorLQorLT1iYWNrCistCistVGhpcyBmaWxlIGlz IGdlbmVyYXRlZCBieSB0aGUgTDxvcGVuc3NsLWZpcHNpbnN0YWxsKDEpPiBwcm9ncmFtLCBhbmQK Ky11c2VkIGludGVybmFsbHkgYnkgdGhlIEZJUFMgbW9kdWxlIGR1cmluZyBpdHMgaW5pdGlhbGl6 YXRpb24uCistCistVGhlIGZvbGxvd2luZyBvcHRpb25zIGFyZSBzdXBwb3J0ZWQuIFRoZXkgc2hv dWxkIGFsbCBhcHBlYXIgaW4gYSBzZWN0aW9uCistd2hvc2UgbmFtZSBpcyBpZGVudGlmaWVkIGJ5 IHRoZSBCPGZpcHM+IG9wdGlvbiBpbiB0aGUgQjxwcm92aWRlcnM+Cistc2VjdGlvbiwgYXMgZGVz Y3JpYmVkIGluIEw8Y29uZmlnKDUpL1Byb3ZpZGVyIENvbmZpZ3VyYXRpb24gTW9kdWxlPi4KKy0K Ky09b3ZlciA0CistCistPWl0ZW0gQjxhY3RpdmF0ZT4KKy0KKy1JZiBwcmVzZW50LCB0aGUgbW9k dWxlIGlzIGFjdGl2YXRlZC4gVGhlIHZhbHVlIGFzc2lnbmVkIHRvIHRoaXMgbmFtZSBpcyBub3QK Ky1zaWduaWZpY2FudC4KKy0KKy09aXRlbSBCPGluc3RhbGwtdmVyc2lvbj4KKy0KKy1BIHZlcnNp b24gbnVtYmVyIGZvciB0aGUgZmlwcyBpbnN0YWxsIHByb2Nlc3MuIFNob3VsZCBiZSAxLgorLQor LT1pdGVtIEI8Y29uZGl0aW9uYWwtZXJyb3JzPgorLQorLVRoZSBGSVBTIG1vZHVsZSBub3JtYWxs eSBlbnRlcnMgYW4gaW50ZXJuYWwgZXJyb3IgbW9kZSBpZiBhbnkgc2VsZiB0ZXN0IGZhaWxzLgor LU9uY2UgdGhpcyBlcnJvciBtb2RlIGlzIGFjdGl2ZSwgbm8gc2VydmljZXMgb3IgY3J5cHRvZ3Jh cGhpYyBhbGdvcml0aG1zIGFyZQorLWFjY2Vzc2libGUgZnJvbSB0aGlzIHBvaW50IG9uLgorLUNv bnRpbnVvdXMgdGVzdHMgYXJlIGEgc3Vic2V0IG9mIHRoZSBzZWxmIHRlc3RzIChlLmcuLCBhIGtl eSBwYWlyIHRlc3QgZHVyaW5nIGtleQorLWdlbmVyYXRpb24sIG9yIHRoZSBDUk5HIG91dHB1dCB0 ZXN0KS4KKy1TZXR0aW5nIHRoaXMgdmFsdWUgdG8gQzwwPiBhbGxvd3MgdGhlIGVycm9yIG1vZGUg dG8gbm90IGJlIHRyaWdnZXJlZCBpZiBhbnkKKy1jb250aW51b3VzIHRlc3QgZmFpbHMuIFRoZSBk ZWZhdWx0IHZhbHVlIG9mIEM8MT4gd2lsbCB0cmlnZ2VyIHRoZSBlcnJvciBtb2RlLgorLVJlZ2Fy ZGxlc3Mgb2YgdGhlIHZhbHVlLCB0aGUgb3BlcmF0aW9uIChlLmcuLCBrZXkgZ2VuZXJhdGlvbikg dGhhdCBjYWxsZWQgdGhlCistY29udGludW91cyB0ZXN0IHdpbGwgcmV0dXJuIGFuIGVycm9yIGNv ZGUgaWYgaXRzIGNvbnRpbnVvdXMgdGVzdCBmYWlscy4gVGhlCistb3BlcmF0aW9uIG1heSB0aGVu IGJlIHJldHJpZWQgaWYgdGhlIGVycm9yIG1vZGUgaGFzIG5vdCBiZWVuIHRyaWdnZXJlZC4KKy0K Ky09aXRlbSBCPHNlY3VyaXR5LWNoZWNrcz4KKy0KKy1UaGlzIGluZGljYXRlcyBpZiBydW4tdGlt ZSBjaGVja3MgcmVsYXRlZCB0byBlbmZvcmNlbWVudCBvZiBzZWN1cml0eSBwYXJhbWV0ZXJzCist c3VjaCBhcyBtaW5pbXVtIHNlY3VyaXR5IHN0cmVuZ3RoIG9mIGtleXMgYW5kIGFwcHJvdmVkIGN1 cnZlIG5hbWVzIGFyZSB1c2VkLgorLUEgdmFsdWUgb2YgJzEnIHdpbGwgcGVyZm9ybSB0aGUgY2hl Y2tzLCBvdGhlcndpc2UgaWYgdGhlIHZhbHVlIGlzICcwJyB0aGUgY2hlY2tzCistYXJlIG5vdCBw ZXJmb3JtZWQgYW5kIEZJUFMgY29tcGxpYW5jZSBtdXN0IGJlIGRvbmUgYnkgcHJvY2VkdXJlcyBk b2N1bWVudGVkIGluCistdGhlIHJlbGV2YW50IFNlY3VyaXR5IFBvbGljeS4KKy0KKy09aXRlbSBC PG1vZHVsZS1tYWM+CistCistVGhlIGNhbGN1bGF0ZWQgTUFDIG9mIHRoZSBGSVBTIHByb3ZpZGVy IGZpbGUuCistCistPWl0ZW0gQjxpbnN0YWxsLXN0YXR1cz4KKy0KKy1BbiBpbmRpY2F0b3IgdGhh dCB0aGUgc2VsZi10ZXN0cyB3ZXJlIHN1Y2Nlc3NmdWxseSBydW4uCistVGhpcyBzaG91bGQgb25s eSBiZSB3cml0dGVuIGFmdGVyIHRoZSBtb2R1bGUgaGFzCistc3VjY2Vzc2Z1bGx5IHBhc3NlZCBp dHMgc2VsZiB0ZXN0cyBkdXJpbmcgaW5zdGFsbGF0aW9uLgorLUlmIHRoaXMgZmllbGQgaXMgbm90 IHByZXNlbnQsIHRoZW4gdGhlIHNlbGYgdGVzdHMgd2lsbCBydW4gd2hlbiB0aGUgbW9kdWxlCist bG9hZHMuCistCistPWl0ZW0gQjxpbnN0YWxsLW1hYz4KKy0KKy1BIE1BQyBvZiB0aGUgdmFsdWUg b2YgdGhlIEI8aW5zdGFsbC1zdGF0dXM+IG9wdGlvbiwgdG8gcHJldmVudCBhY2NpZGVudGFsCist Y2hhbmdlcyB0byB0aGF0IHZhbHVlLgorLUl0IGlzIHdyaXR0ZW4tdG8gYXQgdGhlIHNhbWUgdGlt ZSBhcyBCPGluc3RhbGwtc3RhdHVzPiBpcyB1cGRhdGVkLgorLQorLT1iYWNrCistCistRm9yIGV4 YW1wbGU6CistCistIFtmaXBzX3NlY3RdCistIGFjdGl2YXRlID0gMQorLSBpbnN0YWxsLXZlcnNp b24gPSAxCistIGNvbmRpdGlvbmFsLWVycm9ycyA9IDEKKy0gc2VjdXJpdHktY2hlY2tzID0gMQor LSBtb2R1bGUtbWFjID0gNDE6RDA6RkE6QzI6NUQ6NDE6NzU6Q0Q6N0Q6QzM6OTA6NTU6NkY6QTQ6 REMKKy0gaW5zdGFsbC1tYWMgPSBGRToxMDoxMzo1QTpEMzpCNDpDNzo4MjoxQjoxRToxNzo0QzpB Qzo4NDowQworLSBpbnN0YWxsLXN0YXR1cyA9IElOU1RBTExfU0VMRl9URVNUX0tBVFNfUlVOCist CistPWhlYWQxIE5PVEVTCistCistV2hlbiB1c2luZyB0aGUgRklQUyBwcm92aWRlciwgaXQgaXMg cmVjb21tZW5kZWQgdGhhdCB0aGUKKy1CPGNvbmZpZ19kaWFnbm9zdGljcz4gb3B0aW9uIGlzIGVu YWJsZWQgdG8gcHJldmVudCBhY2NpZGVudGFsIHVzZSBvZgorLW5vbi1GSVBTIHZhbGlkYXRlZCBh bGdvcml0aG1zIHZpYSBicm9rZW4gb3IgbWlzdGFrZW4gY29uZmlndXJhdGlvbi4KKy1TZWUgTDxj b25maWcoNSk+LgorLQorLT1oZWFkMSBTRUUgQUxTTworLQorLUw8Y29uZmlnKDUpPgorLUw8b3Bl bnNzbC1maXBzaW5zdGFsbCgxKT4KKytUaGlzIGNvbW1hbmQgaXMgZGlzYWJsZWQgaW4gUmVkIEhh dCBFbnRlcnByaXNlIExpbnV4LiBUaGUgRklQUyBwcm92aWRlciBpcworK2F1dG9tYXRpY2FsbHkg bG9hZGVkIHdoZW4gdGhlIHN5c3RlbSBpcyBib290ZWQgaW4gRklQUyBtb2RlLCBvciB3aGVuIHRo ZQorK2Vudmlyb25tZW50IHZhcmlhYmxlIEI8T1BFTlNTTF9GT1JDRV9GSVBTX01PREU+IGlzIHNl dC4gU2VlIHRoZSBkb2N1bWVudGF0aW9uCisrZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgCisgPWhl YWQxIEhJU1RPUlkKKyAKK2RpZmYgLS1naXQgYS9kb2MvbWFuNy9PU1NMX1BST1ZJREVSLUZJUFMu cG9kIGIvZG9jL21hbjcvT1NTTF9QUk9WSURFUi1GSVBTLnBvZAoraW5kZXggNGY5MDg4ODhiYS4u ZWYwMDI0Nzc3MCAxMDA2NDQKKy0tLSBhL2RvYy9tYW43L09TU0xfUFJPVklERVItRklQUy5wb2QK KysrKyBiL2RvYy9tYW43L09TU0xfUFJPVklERVItRklQUy5wb2QKK0BAIC00NDQsNyArNDQ0LDYg QEAgd2FudCB0byBvcGVyYXRlIGluIGEgRklQUyBhcHByb3ZlZCBtYW5uZXIuICBUaGUgYWxnb3Jp dGhtcyBhcmU6CisgCisgPWhlYWQxIFNFRSBBTFNPCisgCistTDxvcGVuc3NsLWZpcHNpbnN0YWxs KDEpPiwKKyBMPGZpcHNfY29uZmlnKDUpPiwKKyBMPE9TU0xfU0VMRl9URVNUX3NldF9jYWxsYmFj aygzKT4sCisgTDxPU1NMX1NFTEZfVEVTVF9uZXcoMyk+LAorLS0gCisyLjQxLjAKKwoKZGlmZiAt LWdpdCBhLzAwMzUtc3BlZWQtc2tpcC11bmF2YWlsYWJsZS1kZ3N0LnBhdGNoIGIvMDAzNS1zcGVl ZC1za2lwLXVuYXZhaWxhYmxlLWRnc3QucGF0Y2gKaW5kZXggOTI1NmY3Zi4uZDUyZDVlMSAxMDA2 NDQKLS0tIGEvMDAzNS1zcGVlZC1za2lwLXVuYXZhaWxhYmxlLWRnc3QucGF0Y2gKKysrIGIvMDAz NS1zcGVlZC1za2lwLXVuYXZhaWxhYmxlLWRnc3QucGF0Y2gKQEAgLTEsNyArMSwyMiBAQAotZGlm ZiAtdXAgb3BlbnNzbC0zLjAuMC9hcHBzL3NwZWVkLmMuYmVsZG1pdCBvcGVuc3NsLTMuMC4wL2Fw cHMvc3BlZWQuYwotLS0tIG9wZW5zc2wtMy4wLjAvYXBwcy9zcGVlZC5jLmJlbGRtaXQJMjAyMS0x Mi0yMSAxNToxNDowNC4yMTA0MzE1ODQgKzAxMDAKLSsrKyBvcGVuc3NsLTMuMC4wL2FwcHMvc3Bl ZWQuYwkyMDIxLTEyLTIxIDE1OjQ2OjA1LjU1NDA4NTEyNSArMDEwMAotQEAgLTU0Nyw2ICs1NDcs OSBAQCBzdGF0aWMgaW50IEVWUF9NQUNfbG9vcChpbnQgYWxnaW5kZXgsIHZvCitGcm9tIDIxM2Yz OGRjNTgwZDM5ZjJjYjQ2NTkyYjVlNmRiNTg1ZmM2YTY1MGYgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KK0RhdGU6IE1vbiwgMzEgSnVsIDIwMjMg MDk6NDE6MjggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxOS8zNV0gMDAzNS1zcGVlZC1za2lwLXVu YXZhaWxhYmxlLWRnc3QucGF0Y2gKKworUGF0Y2gtbmFtZTogMDAzNS1zcGVlZC1za2lwLXVuYXZh aWxhYmxlLWRnc3QucGF0Y2gKK1BhdGNoLWlkOiAzNQorUGF0Y2gtc3RhdHVzOiB8CisgICAgIyBT a2lwIHVuYXZhaWxhYmxlIGFsZ29yaXRobXMgcnVubmluZyBgb3BlbnNzbCBzcGVlZGAKK0Zyb20t ZGlzdC1naXQtY29tbWl0OiA5NDA5YmM3MDQ0Y2Y0YjU3NzM2MzljY2UyMGY1MTM5OTg4OGM0NWZk CistLS0KKyBhcHBzL3NwZWVkLmMgfCAzICsrKworIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlv bnMoKykKKworZGlmZiAtLWdpdCBhL2FwcHMvc3BlZWQuYyBiL2FwcHMvc3BlZWQuYworaW5kZXgg ZDUyN2YxMmYxOC4uMmZmM2ViNTNiZCAxMDA2NDQKKy0tLSBhL2FwcHMvc3BlZWQuYworKysrIGIv YXBwcy9zcGVlZC5jCitAQCAtNjEwLDYgKzYxMCw5IEBAIHN0YXRpYyBpbnQgRVZQX01BQ19sb29w KGludCBhbGdpbmRleCwgdm9pZCAqYXJncykKICAgICAgZm9yIChjb3VudCA9IDA7IENPTkQoY1th bGdpbmRleF1bdGVzdG51bV0pOyBjb3VudCsrKSB7CiAgICAgICAgICBzaXplX3Qgb3V0bDsKICAK QEAgLTExLDMgKzI2LDYgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMC9hcHBzL3NwZWVkLmMuYmVs ZG1pdCBvcGVuc3NsLTMuMC4wL2FwcHMvc3BlZWQuYwogICAgICAgICAgaWYgKCFFVlBfTUFDX2lu aXQobWN0eCwgTlVMTCwgMCwgTlVMTCkKICAgICAgICAgICAgICB8fCAhRVZQX01BQ191cGRhdGUo bWN0eCwgYnVmLCBsZW5ndGhzW3Rlc3RudW1dKQogICAgICAgICAgICAgIHx8ICFFVlBfTUFDX2Zp bmFsKG1jdHgsIG1hYywgJm91dGwsIHNpemVvZihtYWMpKSkKKy0tIAorMi40MS4wCisKCmRpZmYg LS1naXQgYS8wMDQ0LUZJUFMtMTQwLTMta2V5Y2hlY2tzLnBhdGNoIGIvMDA0NC1GSVBTLTE0MC0z LWtleWNoZWNrcy5wYXRjaAppbmRleCAxMzdhMjZkLi45ODZiNWU2IDEwMDY0NAotLS0gYS8wMDQ0 LUZJUFMtMTQwLTMta2V5Y2hlY2tzLnBhdGNoCisrKyBiLzAwNDQtRklQUy0xNDAtMy1rZXljaGVj a3MucGF0Y2gKQEAgLTEsNyArMSwyNCBAQAotZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS9jcnlwdG8v ZGgvZGhfa2V5LmMuZmlwczMgb3BlbnNzbC0zLjAuMS9jcnlwdG8vZGgvZGhfa2V5LmMKLS0tLSBv cGVuc3NsLTMuMC4xL2NyeXB0by9kaC9kaF9rZXkuYy5maXBzMwkyMDIyLTA3LTE4IDE2OjAxOjQx LjE1OTU0MzczNSArMDIwMAotKysrIG9wZW5zc2wtMy4wLjEvY3J5cHRvL2RoL2RoX2tleS5jCTIw MjItMDctMTggMTY6MjQ6MzAuMjUxMzg4MjQ4ICswMjAwCi1AQCAtNDMsNiArNDMsOSBAQCBpbnQg b3NzbF9kaF9jb21wdXRlX2tleSh1bnNpZ25lZCBjaGFyICprCitGcm9tIGJkZjc1MWQ4N2JlNWRm YjMxNjQyNjRlYmNkYmMwYzAzNzRkM2VhYmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBycG0tYnVpbGQgPHJwbS1idWlsZD4KK0RhdGU6IE1vbiwgMzEgSnVsIDIwMjMgMDk6NDE6Mjgg KzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyMC8zNV0gMDA0NC1GSVBTLTE0MC0zLWtleWNoZWNrcy5w YXRjaAorCitQYXRjaC1uYW1lOiAwMDQ0LUZJUFMtMTQwLTMta2V5Y2hlY2tzLnBhdGNoCitQYXRj aC1pZDogNDQKK1BhdGNoLXN0YXR1czogfAorICAgICMgRXh0cmEgcHVibGljL3ByaXZhdGUga2V5 IGNoZWNrcyByZXF1aXJlZCBieSBGSVBTLTE0MC0zCitGcm9tLWRpc3QtZ2l0LWNvbW1pdDogOTQw OWJjNzA0NGNmNGI1NzczNjM5Y2NlMjBmNTEzOTk4ODhjNDVmZAorLS0tCisgY3J5cHRvL2RoL2Ro X2tleS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjggKysrKysrKysrKysrCisgY3J5 cHRvL3JzYS9yc2FfZ2VuLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNDQgKysrKysrKyst LS0tLS0tLS0tLQorIC4uLi9pbXBsZW1lbnRhdGlvbnMvZXhjaGFuZ2UvZWNkaF9leGNoLmMgICAg ICB8IDE5ICsrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCA2NSBpbnNlcnRpb25zKCspLCAyNiBk ZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NyeXB0by9kaC9kaF9rZXkuYyBiL2NyeXB0by9k aC9kaF9rZXkuYworaW5kZXggNGU5NzA1YmVlZi4uY2I5ZTY0MWY1NCAxMDA2NDQKKy0tLSBhL2Ny eXB0by9kaC9kaF9rZXkuYworKysrIGIvY3J5cHRvL2RoL2RoX2tleS5jCitAQCAtNDMsNiArNDMs OSBAQCBpbnQgb3NzbF9kaF9jb21wdXRlX2tleSh1bnNpZ25lZCBjaGFyICprZXksIGNvbnN0IEJJ R05VTSAqcHViX2tleSwgREggKmRoKQogICAgICBCTl9NT05UX0NUWCAqbW9udCA9IE5VTEw7CiAg ICAgIEJJR05VTSAqeiA9IE5VTEwsICpwbWludXMxOwogICAgICBpbnQgcmV0ID0gLTE7CkBAIC0x MSw3ICsyOCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvY3J5cHRvL2RoL2RoX2tleS5jLmZp cHMzIG9wZW5zc2wtMy4wLjEvY3J5cHRvL2RoL2RoX2tleS5jCiAgCiAgICAgIGlmIChCTl9udW1f Yml0cyhkaC0+cGFyYW1zLnApID4gT1BFTlNTTF9ESF9NQVhfTU9EVUxVU19CSVRTKSB7CiAgICAg ICAgICBFUlJfcmFpc2UoRVJSX0xJQl9ESCwgREhfUl9NT0RVTFVTX1RPT19MQVJHRSk7Ci1AQCAt NTQsNiArNTcsMTMgQEAgaW50IG9zc2xfZGhfY29tcHV0ZV9rZXkodW5zaWduZWQgY2hhciAqawor QEAgLTU0LDYgKzU3LDEzIEBAIGludCBvc3NsX2RoX2NvbXB1dGVfa2V5KHVuc2lnbmVkIGNoYXIg KmtleSwgY29uc3QgQklHTlVNICpwdWJfa2V5LCBESCAqZGgpCiAgICAgICAgICByZXR1cm4gMDsK ICAgICAgfQogIApAQCAtNTksMzkgKzc2LDEwIEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvY3J5 cHRvL2RoL2RoX2tleS5jLmZpcHMzIG9wZW5zc2wtMy4wLjEvY3J5cHRvL2RoL2RoX2tleS5jCiAg ICAgIGRoLT5kaXJ0eV9jbnQrKzsKICAgICAgb2sgPSAxOwogICBlcnI6Ci1kaWZmIC11cCBvcGVu c3NsLTMuMC4xL2NyeXB0by9lYy9lY19rZXkuYy5maXBzMyBvcGVuc3NsLTMuMC4xL2NyeXB0by9l Yy9lY19rZXkuYwotZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS9wcm92aWRlcnMvaW1wbGVtZW50YXRp b25zL2V4Y2hhbmdlL2VjZGhfZXhjaC5jLmZpcHMzIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2lt cGxlbWVudGF0aW9ucy9leGNoYW5nZS9lY2RoX2V4Y2guYwotLS0tIG9wZW5zc2wtMy4wLjEvcHJv dmlkZXJzL2ltcGxlbWVudGF0aW9ucy9leGNoYW5nZS9lY2RoX2V4Y2guYy5maXBzMwkyMDIyLTA3 LTI1IDEzOjQyOjQ2LjgxNDk1MjA1MyArMDIwMAotKysrIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJz L2ltcGxlbWVudGF0aW9ucy9leGNoYW5nZS9lY2RoX2V4Y2guYwkyMDIyLTA3LTI1IDEzOjUyOjEy LjI5MjA2NTcwNiArMDIwMAotQEAgLTQ4OCw2ICs0ODgsMjUgQEAgaW50IGVjZGhfcGxhaW5fZGVy aXZlKHZvaWQgKnZwZWNkaGN0eCwgdQotICAgICB9Ci0gCi0gICAgIHBwdWJrZXkgPSBFQ19LRVlf Z2V0MF9wdWJsaWNfa2V5KHBlY2RoY3R4LT5wZWVyayk7Ci0rI2lmZGVmIEZJUFNfTU9EVUxFCi0r ICAgIHsKLSsgICAgICAgIEJOX0NUWCAqYm5fY3R4ID0gQk5fQ1RYX25ld19leChvc3NsX2VjX2tl eV9nZXRfbGliY3R4KHByaXZrKSk7Ci0rICAgICAgICBpbnQgY2hlY2sgPSAwOwotKwotKyAgICAg ICAgaWYgKGJuX2N0eCA9PSBOVUxMKSB7Ci0rICAgICAgICAgICAgRVJSX3JhaXNlKEVSUl9MSUJf UFJPViwgRVJSX1JfTUFMTE9DX0ZBSUxVUkUpOwotKyAgICAgICAgICAgIGdvdG8gZW5kOwotKyAg ICAgICAgfQotKwotKyAgICAgICAgY2hlY2sgPSBvc3NsX2VjX2tleV9wdWJsaWNfY2hlY2socGVj ZGhjdHgtPnBlZXJrLCBibl9jdHgpOwotKyAgICAgICAgQk5fQ1RYX2ZyZWUoYm5fY3R4KTsKLSsK LSsgICAgICAgIGlmIChjaGVjayA8PSAwKSB7Ci0rICAgICAgICAgICAgRVJSX3JhaXNlKEVSUl9M SUJfUFJPViwgRUNfUl9JTlZBTElEX1BFRVJfS0VZKTsKLSsgICAgICAgICAgICBnb3RvIGVuZDsK LSsgICAgICAgIH0KLSsgICAgfQotKyNlbmRpZgotIAotICAgICByZXRsZW4gPSBFQ0RIX2NvbXB1 dGVfa2V5KHNlY3JldCwgc2l6ZSwgcHB1YmtleSwgcHJpdmssIE5VTEwpOwotIAotZGlmZiAtdXAg b3BlbnNzbC0zLjAuMS9jcnlwdG8vcnNhL3JzYV9nZW4uYy5maXBzMyBvcGVuc3NsLTMuMC4xL2Ny eXB0by9yc2EvcnNhX2dlbi5jCi0tLS0gb3BlbnNzbC0zLjAuMS9jcnlwdG8vcnNhL3JzYV9nZW4u Yy5maXBzMwkyMDIyLTA3LTI1IDE3OjAyOjE3LjgwNzI3MTI5NyArMDIwMAotKysrIG9wZW5zc2wt My4wLjEvY3J5cHRvL3JzYS9yc2FfZ2VuLmMJMjAyMi0wNy0yNSAxNzoxODoyNC45MzE5NTk2NDkg KzAyMDAKK2RpZmYgLS1naXQgYS9jcnlwdG8vcnNhL3JzYV9nZW4uYyBiL2NyeXB0by9yc2EvcnNh X2dlbi5jCitpbmRleCBlMGQxMzlkMzEyLi5kZTljZWRiNjRiIDEwMDY0NAorLS0tIGEvY3J5cHRv L3JzYS9yc2FfZ2VuLmMKKysrKyBiL2NyeXB0by9yc2EvcnNhX2dlbi5jCiBAQCAtMjMsNiArMjMs NyBAQAogICNpbmNsdWRlIDx0aW1lLmg+CiAgI2luY2x1ZGUgImludGVybmFsL2NyeXB0bGliLmgi CkBAIC0xMDAsNyArODgsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL2NyeXB0by9yc2EvcnNh X2dlbi5jLmZpcHMzIG9wZW5zc2wtMy4wLjEvY3J5cHRvL3JzYS9yc2FfZwogICNpbmNsdWRlIDxv cGVuc3NsL3NlbGZfdGVzdC5oPgogICNpbmNsdWRlICJwcm92L3Byb3ZpZGVyY29tbW9uLmgiCiAg I2luY2x1ZGUgInJzYV9sb2NhbC5oIgotQEAgLTQ3Niw1MiArNDc2LDQzIEBAIHN0YXRpYyBpbnQg cnNhX2tleWdlbihPU1NMX0xJQl9DVFggKmxpYmMKK0BAIC00NzgsNTIgKzQ3OSw0MyBAQCBzdGF0 aWMgaW50IHJzYV9rZXlnZW4oT1NTTF9MSUJfQ1RYICpsaWJjdHgsIFJTQSAqcnNhLCBpbnQgYml0 cywgaW50IHByaW1lcywKICBzdGF0aWMgaW50IHJzYV9rZXlnZW5fcGFpcndpc2VfdGVzdChSU0Eg KnJzYSwgT1NTTF9DQUxMQkFDSyAqY2IsIHZvaWQgKmNiYXJnKQogIHsKICAgICAgaW50IHJldCA9 IDA7CkBAIC0xMjgsMTMgKzExNiwxMyBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL2NyeXB0by9y c2EvcnNhX2dlbi5jLmZpcHMzIG9wZW5zc2wtMy4wLjEvY3J5cHRvL3JzYS9yc2FfZwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE9TU0xfU0VMRl9URVNUX0RFU0NfUENUX1JTQV9QS0NTMSk7 CiAgCiAtICAgIGNpcGhlcnR4dF9sZW4gPSBSU0Ffc2l6ZShyc2EpOwotKyAgICBzaWduYXR1cmVf bGVuID0gUlNBX3NpemUocnNhKTsKIC0gICAgLyoKIC0gICAgICogUlNBX3ByaXZhdGVfZW5jcnlw dCgpIGFuZCBSU0FfcHJpdmF0ZV9kZWNyeXB0KCkgcmVxdWlyZXMgdGhlICd0bycKIC0gICAgICog cGFyYW1ldGVyIHRvIGJlIGEgbWF4aW11bSBvZiBSU0Ffc2l6ZSgpIC0gYWxsb2NhdGUgc3BhY2Ug Zm9yIGJvdGguCiAtICAgICAqLwogLSAgICBjaXBoZXJ0eHQgPSBPUEVOU1NMX3phbGxvYyhjaXBo ZXJ0eHRfbGVuICogMik7CiAtICAgIGlmIChjaXBoZXJ0eHQgPT0gTlVMTCkKKysgICAgc2lnbmF0 dXJlX2xlbiA9IFJTQV9zaXplKHJzYSk7CiArICAgIHNpZ25hdHVyZSA9IE9QRU5TU0xfemFsbG9j KHNpZ25hdHVyZV9sZW4pOwogKyAgICBpZiAoc2lnbmF0dXJlID09IE5VTEwpCiAgICAgICAgICBn b3RvIGVycjsKQEAgLTE3MCwzICsxNTgsMzYgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS9jcnlw dG8vcnNhL3JzYV9nZW4uYy5maXBzMyBvcGVuc3NsLTMuMC4xL2NyeXB0by9yc2EvcnNhX2cKICAK ICAgICAgcmV0dXJuIHJldDsKICB9CitkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0 aW9ucy9leGNoYW5nZS9lY2RoX2V4Y2guYyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvZXhj aGFuZ2UvZWNkaF9leGNoLmMKK2luZGV4IDQzY2FlZGI2ZGYuLjczODczZjk3NTggMTAwNjQ0Cist LS0gYS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL2V4Y2hhbmdlL2VjZGhfZXhjaC5jCisrKysg Yi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL2V4Y2hhbmdlL2VjZGhfZXhjaC5jCitAQCAtNDg5 LDYgKzQ4OSwyNSBAQCBpbnQgZWNkaF9wbGFpbl9kZXJpdmUodm9pZCAqdnBlY2RoY3R4LCB1bnNp Z25lZCBjaGFyICpzZWNyZXQsCisgICAgIH0KKyAKKyAgICAgcHB1YmtleSA9IEVDX0tFWV9nZXQw X3B1YmxpY19rZXkocGVjZGhjdHgtPnBlZXJrKTsKKysjaWZkZWYgRklQU19NT0RVTEUKKysgICAg eworKyAgICAgICAgQk5fQ1RYICpibl9jdHggPSBCTl9DVFhfbmV3X2V4KG9zc2xfZWNfa2V5X2dl dF9saWJjdHgocHJpdmspKTsKKysgICAgICAgIGludCBjaGVjayA9IDA7CisrCisrICAgICAgICBp ZiAoYm5fY3R4ID09IE5VTEwpIHsKKysgICAgICAgICAgICBFUlJfcmFpc2UoRVJSX0xJQl9QUk9W LCBFUlJfUl9NQUxMT0NfRkFJTFVSRSk7CisrICAgICAgICAgICAgZ290byBlbmQ7CisrICAgICAg ICB9CisrCisrICAgICAgICBjaGVjayA9IG9zc2xfZWNfa2V5X3B1YmxpY19jaGVjayhwZWNkaGN0 eC0+cGVlcmssIGJuX2N0eCk7CisrICAgICAgICBCTl9DVFhfZnJlZShibl9jdHgpOworKworKyAg ICAgICAgaWYgKGNoZWNrIDw9IDApIHsKKysgICAgICAgICAgICBFUlJfcmFpc2UoRVJSX0xJQl9Q Uk9WLCBFQ19SX0lOVkFMSURfUEVFUl9LRVkpOworKyAgICAgICAgICAgIGdvdG8gZW5kOworKyAg ICAgICAgfQorKyAgICB9CisrI2VuZGlmCisgCisgICAgIHJldGxlbiA9IEVDREhfY29tcHV0ZV9r ZXkoc2VjcmV0LCBzaXplLCBwcHVia2V5LCBwcml2aywgTlVMTCk7CisgCistLSAKKzIuNDEuMAor CgpkaWZmIC0tZ2l0IGEvMDA0NS1GSVBTLXNlcnZpY2VzLW1pbmltaXplLnBhdGNoIGIvMDA0NS1G SVBTLXNlcnZpY2VzLW1pbmltaXplLnBhdGNoCmluZGV4IDZlNjY3YjguLjgyZmI2ZWUgMTAwNjQ0 Ci0tLSBhLzAwNDUtRklQUy1zZXJ2aWNlcy1taW5pbWl6ZS5wYXRjaAorKysgYi8wMDQ1LUZJUFMt c2VydmljZXMtbWluaW1pemUucGF0Y2gKQEAgLTEsNyArMSw2NCBAQAotZGlmZiAtdXAgb3BlbnNz bC0zLjAuMS9wcm92aWRlcnMvY29tbW9uL2NhcGFiaWxpdGllcy5jLmZpcHNtaW4zIG9wZW5zc2wt My4wLjEvcHJvdmlkZXJzL2NvbW1vbi9jYXBhYmlsaXRpZXMuYwotLS0tIG9wZW5zc2wtMy4wLjEv cHJvdmlkZXJzL2NvbW1vbi9jYXBhYmlsaXRpZXMuYy5maXBzbWluMwkyMDIyLTA1LTA1IDE3OjEx OjM2LjE0NjYzODUzNiArMDIwMAotKysrIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2NvbW1vbi9j YXBhYmlsaXRpZXMuYwkyMDIyLTA1LTA1IDE3OjEyOjAwLjEzODg0ODc4NyArMDIwMAotQEAgLTE4 Niw5ICsxODYsOSBAQCBzdGF0aWMgY29uc3QgT1NTTF9QQVJBTSBwYXJhbV9ncm91cF9saXN0CitG cm9tIDhkYTk3YmE5MTA1MDdlYTM2ZmVjZDM3NGFiODk2ZjgwZDE1MGE3ZTcgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KK0RhdGU6IE1vbiwgMzEg SnVsIDIwMjMgMDk6NDE6MjggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyMS8zNV0gMDA0NS1GSVBT LXNlcnZpY2VzLW1pbmltaXplLnBhdGNoCisKK1BhdGNoLW5hbWU6IDAwNDUtRklQUy1zZXJ2aWNl cy1taW5pbWl6ZS5wYXRjaAorUGF0Y2gtaWQ6IDQ1CitQYXRjaC1zdGF0dXM6IHwKKyAgICAjIE1p bmltaXplIGZpcHMgc2VydmljZXMKK0Zyb20tZGlzdC1naXQtY29tbWl0OiA5NDA5YmM3MDQ0Y2Y0 YjU3NzM2MzljY2UyMGY1MTM5OTg4OGM0NWZkCistLS0KKyBhcHBzL2VjcGFyYW0uYyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKworIGFwcHMvcmVxLmMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCisgcHJvdmlkZXJzL2NvbW1vbi9jYXBhYmls aXRpZXMuYyAgICAgICAgICAgICAgIHwgIDIgKy0KKyBwcm92aWRlcnMvZmlwcy9maXBzcHJvdi5j ICAgICAgICAgICAgICAgICAgICAgfCA0NSArKysrKysrKysrKy0tLS0tLS0tCisgcHJvdmlkZXJz L2ZpcHMvc2VsZl90ZXN0X2RhdGEuaW5jICAgICAgICAgICAgIHwgMTIgKysrLS0KKyBwcm92aWRl cnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ffc2lnLmMgfCAxMyArKysrKysKKyBzc2wv c3NsX2NpcGguYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKworIHRlc3Qv YWN2cF90ZXN0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICsKKyB0ZXN0L2Vu ZGVjb2RlX3Rlc3QuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKworIHRlc3QvZXZw X2xpYmN0eF90ZXN0LmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA5ICsrKy0KKyB0ZXN0L3Jl Y2lwZXMvMTUtdGVzdF9nZW5kc2EudCAgICAgICAgICAgICAgICAgfCAgMiArLQorIHRlc3QvcmVj aXBlcy8yMC10ZXN0X2NsaV9maXBzLnQgICAgICAgICAgICAgICB8ICAzICstCisgdGVzdC9yZWNp cGVzLzMwLXRlc3RfZXZwLnQgICAgICAgICAgICAgICAgICAgIHwgMTYgKysrLS0tLQorIC4uLi8z MC10ZXN0X2V2cF9kYXRhL2V2cG1hY19jb21tb24udHh0ICAgICAgICB8IDIyICsrKysrKysrKwor IHRlc3QvcmVjaXBlcy84MC10ZXN0X2Ntcy50ICAgICAgICAgICAgICAgICAgICB8IDIyICsrKyst LS0tLQorIHRlc3QvcmVjaXBlcy84MC10ZXN0X3NzbF9vbGQudCAgICAgICAgICAgICAgICB8ICAy ICstCisgMTYgZmlsZXMgY2hhbmdlZCwgMTEyIGluc2VydGlvbnMoKyksIDUwIGRlbGV0aW9ucygt KQorCitkaWZmIC0tZ2l0IGEvYXBwcy9lY3BhcmFtLmMgYi9hcHBzL2VjcGFyYW0uYworaW5kZXgg OWU5YWQxMzY4My4uZmMxMjVhNDVjOSAxMDA2NDQKKy0tLSBhL2FwcHMvZWNwYXJhbS5jCisrKysg Yi9hcHBzL2VjcGFyYW0uYworQEAgLTc5LDYgKzc5LDkgQEAgc3RhdGljIGludCBsaXN0X2J1aWx0 aW5fY3VydmVzKEJJTyAqb3V0KQorICAgICAgICAgY29uc3QgY2hhciAqY29tbWVudCA9IGN1cnZl c1tuXS5jb21tZW50OworICAgICAgICAgY29uc3QgY2hhciAqc25hbWUgPSBPQkpfbmlkMnNuKGN1 cnZlc1tuXS5uaWQpOworIAorKyAgICAgICAgaWYgKChjdXJ2ZXNbbl0ubmlkID09IE5JRF9zZWNw MjU2azEpICYmIEVWUF9kZWZhdWx0X3Byb3BlcnRpZXNfaXNfZmlwc19lbmFibGVkKE5VTEwpKQor KyAgICAgICAgICAgIGNvbnRpbnVlOworKworICAgICAgICAgaWYgKGNvbW1lbnQgPT0gTlVMTCkK KyAgICAgICAgICAgICBjb21tZW50ID0gIkNVUlZFIERFU0NSSVBUSU9OIE5PVCBBVkFJTEFCTEUi OworICAgICAgICAgaWYgKHNuYW1lID09IE5VTEwpCitkaWZmIC0tZ2l0IGEvYXBwcy9yZXEuYyBi L2FwcHMvcmVxLmMKK2luZGV4IDIzNzU3MDQ0YWIuLjU5MTY5MTQ5NzggMTAwNjQ0CistLS0gYS9h cHBzL3JlcS5jCisrKysgYi9hcHBzL3JlcS5jCitAQCAtMjY2LDcgKzI2Niw3IEBAIGludCByZXFf bWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgICAgIHVuc2lnbmVkIGxvbmcgY2h0eXBlID0g TUJTVFJJTkdfQVNDLCByZXFmbGFnID0gMDsKKyAKKyAjaWZuZGVmIE9QRU5TU0xfTk9fREVTCist ICAgIGNpcGhlciA9IChFVlBfQ0lQSEVSICopRVZQX2Rlc19lZGUzX2NiYygpOworKyAgICBjaXBo ZXIgPSAoRVZQX0NJUEhFUiAqKUVWUF9hZXNfMjU2X2NiYygpOworICNlbmRpZgorIAorICAgICBw cm9nID0gb3B0X2luaXQoYXJnYywgYXJndiwgcmVxX29wdGlvbnMpOworZGlmZiAtLWdpdCBhL3By b3ZpZGVycy9jb21tb24vY2FwYWJpbGl0aWVzLmMgYi9wcm92aWRlcnMvY29tbW9uL2NhcGFiaWxp dGllcy5jCitpbmRleCBlZDM3ZTc2OTY5Li5lYjgzNmRmYTZhIDEwMDY0NAorLS0tIGEvcHJvdmlk ZXJzL2NvbW1vbi9jYXBhYmlsaXRpZXMuYworKysrIGIvcHJvdmlkZXJzL2NvbW1vbi9jYXBhYmls aXRpZXMuYworQEAgLTE4Niw5ICsxODYsOSBAQCBzdGF0aWMgY29uc3QgT1NTTF9QQVJBTSBwYXJh bV9ncm91cF9saXN0W11bMTBdID0gewogICAgICBUTFNfR1JPVVBfRU5UUlkoImJyYWlucG9vbFAy NTZyMSIsICJicmFpbnBvb2xQMjU2cjEiLCAiRUMiLCAyNSksCiAgICAgIFRMU19HUk9VUF9FTlRS WSgiYnJhaW5wb29sUDM4NHIxIiwgImJyYWlucG9vbFAzODRyMSIsICJFQyIsIDI2KSwKICAgICAg VExTX0dST1VQX0VOVFJZKCJicmFpbnBvb2xQNTEycjEiLCAiYnJhaW5wb29sUDUxMnIxIiwgIkVD IiwgMjcpLApAQCAtMTIsMTAgKzY5LDExIEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvcHJvdmlk ZXJzL2NvbW1vbi9jYXBhYmlsaXRpZXMuYy5maXBzbWluMyBvcGVuc3NsLTMuMC4xL3ByCiAgIyBl bmRpZiAvKiBPUEVOU1NMX05PX0VDICovCiAgIyBpZm5kZWYgT1BFTlNTTF9OT19ESAogICAgICAv KiBTZWN1cml0eSBiaXQgdmFsdWVzIGZvciBGRkRIRSBncm91cHMgYXJlIGFzIHBlciBSRkMgNzkx OSAqLwotZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS9wcm92aWRlcnMvZmlwcy9maXBzcHJvdi5jLmZp cHNtaW4yIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ZpcHMvZmlwc3Byb3YuYwotLS0tIG9wZW5z c2wtMy4wLjEvcHJvdmlkZXJzL2ZpcHMvZmlwc3Byb3YuYy5maXBzbWluMgkyMDIyLTA1LTA1IDEx OjQyOjU4LjU5Njg0ODg1NiArMDIwMAotKysrIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ZpcHMv Zmlwc3Byb3YuYwkyMDIyLTA1LTA1IDExOjU1OjQyLjk5NzU2MjcxMiArMDIwMAotQEAgLTE5MSwx MyArMTkwLDEzIEBAIHN0YXRpYyBpbnQgZmlwc19nZXRfcGFyYW1zKHZvaWQgKnByb3ZjdHgKK2Rp ZmYgLS1naXQgYS9wcm92aWRlcnMvZmlwcy9maXBzcHJvdi5jIGIvcHJvdmlkZXJzL2ZpcHMvZmlw c3Byb3YuYworaW5kZXggNTE4MjI2ZGZjNi4uNzNiYjk2ZGVjZSAxMDA2NDQKKy0tLSBhL3Byb3Zp ZGVycy9maXBzL2ZpcHNwcm92LmMKKysrKyBiL3Byb3ZpZGVycy9maXBzL2ZpcHNwcm92LmMKK0BA IC0xOTksMTMgKzE5OSwxMyBAQCBzdGF0aWMgaW50IGZpcHNfZ2V0X3BhcmFtcyh2b2lkICpwcm92 Y3R4LCBPU1NMX1BBUkFNIHBhcmFtc1tdKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPU1NMX0xJQl9DVFhfRklQU19QUk9WX0lOREVYKTsKICAKICAgICAg cCA9IE9TU0xfUEFSQU1fbG9jYXRlKHBhcmFtcywgT1NTTF9QUk9WX1BBUkFNX05BTUUpOwpAQCAt MzIsNyArOTAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9maXBzL2ZpcHNw cm92LmMuZmlwc21pbjIgb3BlbnNzbC0zLjAuMS9wcm92aWRlcgogICAgICAgICAgcmV0dXJuIDA7 CiAgICAgIHAgPSBPU1NMX1BBUkFNX2xvY2F0ZShwYXJhbXMsIE9TU0xfUFJPVl9QQVJBTV9TVEFU VVMpOwogICAgICBpZiAocCAhPSBOVUxMICYmICFPU1NMX1BBUkFNX3NldF9pbnQocCwgb3NzbF9w cm92X2lzX3J1bm5pbmcoKSkpCi1AQCAtMjgxLDEwICsyODAsMTEgQEAgc3RhdGljIGNvbnN0IE9T U0xfQUxHT1JJVEhNIGZpcHNfZGlnZXN0cworQEAgLTI5OCwxMCArMjk4LDExIEBAIHN0YXRpYyBj b25zdCBPU1NMX0FMR09SSVRITSBmaXBzX2RpZ2VzdHNbXSA9IHsKICAgICAgICogS0VDQ0FLLUtN QUMtMTI4IGFuZCBLRUNDQUstS01BQy0yNTYgYXMgaGFzaGVzIGFyZSBtb3N0bHkgdXNlZnVsIGZv cgogICAgICAgKiBLTUFDMTI4IGFuZCBLTUFDMjU2LgogICAgICAgKi8KQEAgLTQ2LDcgKzEwNCw3 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ZpcHMvZmlwc3Byb3YuYy5maXBz bWluMiBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVyCiAgICAgIHsgTlVMTCwgTlVMTCwgTlVMTCB9CiAg fTsKICAKLUBAIC0zNDMsOCArMzQzLDkgQEAgc3RhdGljIGNvbnN0IE9TU0xfQUxHT1JJVEhNX0NB UEFCTEUgZmlwcworQEAgLTM2MCw4ICszNjEsOSBAQCBzdGF0aWMgY29uc3QgT1NTTF9BTEdPUklU SE1fQ0FQQUJMRSBmaXBzX2NpcGhlcnNbXSA9IHsKICAgICAgQUxHQyhQUk9WX05BTUVTX0FFU18y NTZfQ0JDX0hNQUNfU0hBMjU2LCBvc3NsX2FlczI1NmNiY19obWFjX3NoYTI1Nl9mdW5jdGlvbnMs CiAgICAgICAgICAgb3NzbF9jaXBoZXJfY2FwYWJsZV9hZXNfY2JjX2htYWNfc2hhMjU2KSwKICAj aWZuZGVmIE9QRU5TU0xfTk9fREVTCkBAIC01OCw3ICsxMTYsNyBAQCBkaWZmIC11cCBvcGVuc3Ns LTMuMC4xL3Byb3ZpZGVycy9maXBzL2ZpcHNwcm92LmMuZmlwc21pbjIgb3BlbnNzbC0zLjAuMS9w cm92aWRlcgogICNlbmRpZiAgLyogT1BFTlNTTF9OT19ERVMgKi8KICAgICAgeyB7IE5VTEwsIE5V TEwsIE5VTEwgfSwgTlVMTCB9CiAgfTsKLUBAIC0zNTYsOCArMzU3LDkgQEAgc3RhdGljIGNvbnN0 IE9TU0xfQUxHT1JJVEhNIGZpcHNfbWFjc1tdCitAQCAtMzczLDggKzM3NSw5IEBAIHN0YXRpYyBj b25zdCBPU1NMX0FMR09SSVRITSBmaXBzX21hY3NbXSA9IHsKICAjZW5kaWYKICAgICAgeyBQUk9W X05BTUVTX0dNQUMsIEZJUFNfREVGQVVMVF9QUk9QRVJUSUVTLCBvc3NsX2dtYWNfZnVuY3Rpb25z IH0sCiAgICAgIHsgUFJPVl9OQU1FU19ITUFDLCBGSVBTX0RFRkFVTFRfUFJPUEVSVElFUywgb3Nz bF9obWFjX2Z1bmN0aW9ucyB9LApAQCAtNzAsNyArMTI4LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0z LjAuMS9wcm92aWRlcnMvZmlwcy9maXBzcHJvdi5jLmZpcHNtaW4yIG9wZW5zc2wtMy4wLjEvcHJv dmlkZXIKICAgICAgeyBOVUxMLCBOVUxMLCBOVUxMIH0KICB9OwogIAotQEAgLTM5Miw4ICszOTQs OSBAQCBzdGF0aWMgY29uc3QgT1NTTF9BTEdPUklUSE0gZmlwc19rZXlleGNoCitAQCAtNDA5LDgg KzQxMiw5IEBAIHN0YXRpYyBjb25zdCBPU1NMX0FMR09SSVRITSBmaXBzX2tleWV4Y2hbXSA9IHsK ICAjZW5kaWYKICAjaWZuZGVmIE9QRU5TU0xfTk9fRUMKICAgICAgeyBQUk9WX05BTUVTX0VDREgs IEZJUFNfREVGQVVMVF9QUk9QRVJUSUVTLCBvc3NsX2VjZGhfa2V5ZXhjaF9mdW5jdGlvbnMgfSwK QEAgLTgyLDcgKzE0MCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ZpcHMv Zmlwc3Byb3YuYy5maXBzbWluMiBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVyCiAgI2VuZGlmCiAgICAg IHsgUFJPVl9OQU1FU19UTFMxX1BSRiwgRklQU19ERUZBVUxUX1BST1BFUlRJRVMsCiAgICAgICAg b3NzbF9rZGZfdGxzMV9wcmZfa2V5ZXhjaF9mdW5jdGlvbnMgfSwKLUBAIC00MDMsMTMgKzQwNiwx NCBAQCBzdGF0aWMgY29uc3QgT1NTTF9BTEdPUklUSE0gZmlwc19rZXlleGNoCitAQCAtNDIwLDEz ICs0MjQsMTQgQEAgc3RhdGljIGNvbnN0IE9TU0xfQUxHT1JJVEhNIGZpcHNfa2V5ZXhjaFtdID0g ewogIAogIHN0YXRpYyBjb25zdCBPU1NMX0FMR09SSVRITSBmaXBzX3NpZ25hdHVyZVtdID0gewog ICNpZm5kZWYgT1BFTlNTTF9OT19EU0EKQEAgLTEwMSw3ICsxNTksNyBAQCBkaWZmIC11cCBvcGVu c3NsLTMuMC4xL3Byb3ZpZGVycy9maXBzL2ZpcHNwcm92LmMuZmlwc21pbjIgb3BlbnNzbC0zLjAu MS9wcm92aWRlcgogICAgICB7IFBST1ZfTkFNRVNfRUNEU0EsIEZJUFNfREVGQVVMVF9QUk9QRVJU SUVTLCBvc3NsX2VjZHNhX3NpZ25hdHVyZV9mdW5jdGlvbnMgfSwKICAjZW5kaWYKICAgICAgeyBQ Uk9WX05BTUVTX0hNQUMsIEZJUFNfREVGQVVMVF9QUk9QRVJUSUVTLAotQEAgLTQzOCw4ICs0NDMs OSBAQCBzdGF0aWMgY29uc3QgT1NTTF9BTEdPUklUSE0gZmlwc19rZXltZ210CitAQCAtNDU2LDgg KzQ2MSw5IEBAIHN0YXRpYyBjb25zdCBPU1NMX0FMR09SSVRITSBmaXBzX2tleW1nbXRbXSA9IHsK ICAgICAgICBQUk9WX0RFU0NTX0RIWCB9LAogICNlbmRpZgogICNpZm5kZWYgT1BFTlNTTF9OT19E U0EKQEAgLTExMyw3ICsxNzEsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9m aXBzL2ZpcHNwcm92LmMuZmlwc21pbjIgb3BlbnNzbC0zLjAuMS9wcm92aWRlcgogICNlbmRpZgog ICAgICB7IFBST1ZfTkFNRVNfUlNBLCBGSVBTX0RFRkFVTFRfUFJPUEVSVElFUywgb3NzbF9yc2Ff a2V5bWdtdF9mdW5jdGlvbnMsCiAgICAgICAgUFJPVl9ERVNDU19SU0EgfSwKLUBAIC00NDgsMTQg KzQ1NCwxNSBAQCBzdGF0aWMgY29uc3QgT1NTTF9BTEdPUklUSE0gZmlwc19rZXltZ210CitAQCAt NDY2LDE0ICs0NzIsMTUgQEAgc3RhdGljIGNvbnN0IE9TU0xfQUxHT1JJVEhNIGZpcHNfa2V5bWdt dFtdID0gewogICNpZm5kZWYgT1BFTlNTTF9OT19FQwogICAgICB7IFBST1ZfTkFNRVNfRUMsIEZJ UFNfREVGQVVMVF9QUk9QRVJUSUVTLCBvc3NsX2VjX2tleW1nbXRfZnVuY3Rpb25zLAogICAgICAg IFBST1ZfREVTQ1NfRUMgfSwKQEAgLTEzMSwxMCArMTg5LDExIEBAIGRpZmYgLXVwIG9wZW5zc2wt My4wLjEvcHJvdmlkZXJzL2ZpcHMvZmlwc3Byb3YuYy5maXBzbWluMiBvcGVuc3NsLTMuMC4xL3By b3ZpZGVyCiAgI2VuZGlmCiAgICAgIHsgUFJPVl9OQU1FU19UTFMxX1BSRiwgRklQU19ERUZBVUxU X1BST1BFUlRJRVMsIG9zc2xfa2RmX2tleW1nbXRfZnVuY3Rpb25zLAogICAgICAgIFBST1ZfREVT Q1NfVExTMV9QUkZfU0lHTiB9LAotZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS9wcm92aWRlcnMvZmlw cy9zZWxmX3Rlc3RfZGF0YS5pbmMuZmlwc21pbjMgb3BlbnNzbC0zLjAuMS9wcm92aWRlcnMvZmlw cy9zZWxmX3Rlc3RfZGF0YS5pbmMKLS0tLSBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9maXBzL3Nl bGZfdGVzdF9kYXRhLmluYy5maXBzbWluMwkyMDIyLTA1LTA1IDEyOjM2OjMyLjMzNTA2OTA0NiAr MDIwMAotKysrIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0X2RhdGEuaW5j CTIwMjItMDUtMDUgMTI6NDA6MDIuNDI3OTY2MTI4ICswMjAwCi1AQCAtMTcxLDYgKzE3MSw3IEBA IHN0YXRpYyBjb25zdCBTVF9LQVRfRElHRVNUIHN0X2thdF9kaWdlc3QKK2RpZmYgLS1naXQgYS9w cm92aWRlcnMvZmlwcy9zZWxmX3Rlc3RfZGF0YS5pbmMgYi9wcm92aWRlcnMvZmlwcy9zZWxmX3Rl c3RfZGF0YS5pbmMKK2luZGV4IDIwNTczNzhkM2QuLmUwZmRjMGRhYTQgMTAwNjQ0CistLS0gYS9w cm92aWRlcnMvZmlwcy9zZWxmX3Rlc3RfZGF0YS5pbmMKKysrKyBiL3Byb3ZpZGVycy9maXBzL3Nl bGZfdGVzdF9kYXRhLmluYworQEAgLTE3Nyw2ICsxNzcsNyBAQCBzdGF0aWMgY29uc3QgU1RfS0FU X0RJR0VTVCBzdF9rYXRfZGlnZXN0X3Rlc3RzW10gPQogIC8qLSBDSVBIRVIgVEVTVCBEQVRBICov CiAgCiAgLyogREVTMyB0ZXN0IGRhdGEgKi8KQEAgLTE0Miw3ICsyMDEsNyBAQCBkaWZmIC11cCBv cGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9kYXRhLmluYy5maXBzbWluMyBv cGVuc3NsLTMuMC4xLwogIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGRlc19lZGUzX2NiY19w dFtdID0gewogICAgICAweDZCLCAweEMxLCAweEJFLCAweEUyLCAweDJFLCAweDQwLCAweDlGLCAw eDk2LAogICAgICAweEU5LCAweDNELCAweDdFLCAweDExLCAweDczLCAweDkzLCAweDE3LCAweDJB LAotQEAgLTE5MSw3ICsxOTIsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBkZXNfZWRl M19jYmNfCitAQCAtMTk3LDcgKzE5OCw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGRl c19lZGUzX2NiY19jdFtdID0gewogICAgICAweDUxLCAweDY1LCAweDcwLCAweDQ4LCAweDFGLCAw eDI1LCAweEI1LCAweDBGLAogICAgICAweDczLCAweEMwLCAweEJELCAweEE4LCAweDVDLCAweDhF LCAweDBELCAweEE3CiAgfTsKQEAgLTE1MSw3ICsyMTAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTMu MC4xL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9kYXRhLmluYy5maXBzbWluMyBvcGVuc3NsLTMu MC4xLwogIC8qIEFFUy0yNTYgR0NNIHRlc3QgZGF0YSAqLwogIHN0YXRpYyBjb25zdCB1bnNpZ25l ZCBjaGFyIGFlc18yNTZfZ2NtX2tleVtdID0gewogICAgICAweDkyLCAweGUxLCAweDFkLCAweGNk LCAweGFhLCAweDg2LCAweDZmLCAweDVjLAotQEAgLTE0MjQsOCArMTQyNyw5IEBAIHN0YXRpYyBj b25zdCBTVF9LQVRfUEFSQU0gZWNkc2FfYmluX2tleVsKK0BAIC0xNDU0LDggKzE0NTUsOSBAQCBz dGF0aWMgY29uc3QgU1RfS0FUX1BBUkFNIGVjZHNhX2Jpbl9rZXlbXSA9IHsKICAjIGVuZGlmIC8q IE9QRU5TU0xfTk9fRUMyTSAqLwogICNlbmRpZiAvKiBPUEVOU1NMX05PX0VDICovCiAgCkBAIC0x NjIsNyArMjIxLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS9wcm92aWRlcnMvZmlwcy9zZWxm X3Rlc3RfZGF0YS5pbmMuZmlwc21pbjMgb3BlbnNzbC0zLjAuMS8KICBzdGF0aWMgY29uc3QgdW5z aWduZWQgY2hhciBkc2FfcFtdID0gewogICAgICAweGEyLCAweDliLCAweDg4LCAweDcyLCAweGNl LCAweDhiLCAweDg0LCAweDIzLAogICAgICAweGI3LCAweGQ1LCAweGQyLCAweDFkLCAweDRiLCAw eDAyLCAweGY1LCAweDdlLAotQEAgLTE1NDksOCArMTU1Myw4IEBAIHN0YXRpYyBjb25zdCBTVF9L QVRfUEFSQU0gZHNhX2tleVtdID0geworQEAgLTE1ODksOCArMTU5MSw4IEBAIHN0YXRpYyBjb25z dCBTVF9LQVRfUEFSQU0gZHNhX2tleVtdID0gewogICAgICBTVF9LQVRfUEFSQU1fQklHTlVNKE9T U0xfUEtFWV9QQVJBTV9QUklWX0tFWSwgZHNhX3ByaXYpLAogICAgICBTVF9LQVRfUEFSQU1fRU5E KCkKICB9OwpAQCAtMTczLDcgKzIzMiw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvcHJvdmlk ZXJzL2ZpcHMvc2VsZl90ZXN0X2RhdGEuaW5jLmZpcHNtaW4zIG9wZW5zc2wtMy4wLjEvCiAgLyog SGFzaCBEUkJHIGlucHV0cyBmb3Igc2lnbmF0dXJlIEtBVHMgKi8KICBzdGF0aWMgY29uc3QgdW5z aWduZWQgY2hhciBzaWdfa2F0X2VudHJvcHlpbltdID0gewogICAgICAweDA2LCAweDZkLCAweGM4 LCAweGNlLCAweDc1LCAweGIyLCAweDg5LCAweDY2LCAweGE2LCAweDg1LCAweDE2LCAweDNmLAot QEAgLTE1ODMsNiArMTU4Nyw3IEBAIHN0YXRpYyBjb25zdCBTVF9LQVRfU0lHTiBzdF9rYXRfc2ln bl90ZXMKK0BAIC0xNjQyLDYgKzE2NDQsNyBAQCBzdGF0aWMgY29uc3QgU1RfS0FUX1NJR04gc3Rf a2F0X3NpZ25fdGVzdHNbXSA9IHsKICAgICAgfSwKICAjIGVuZGlmCiAgI2VuZGlmIC8qIE9QRU5T U0xfTk9fRUMgKi8KQEAgLTE4MSw3ICsyNDAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3By b3ZpZGVycy9maXBzL3NlbGZfdGVzdF9kYXRhLmluYy5maXBzbWluMyBvcGVuc3NsLTMuMC4xLwog ICNpZm5kZWYgT1BFTlNTTF9OT19EU0EKICAgICAgewogICAgICAgICAgT1NTTF9TRUxGX1RFU1Rf REVTQ19TSUdOX0RTQSwKLUBAIC0xNTk1LDYgKzE2MDAsNyBAQCBzdGF0aWMgY29uc3QgU1RfS0FU X1NJR04gc3Rfa2F0X3NpZ25fdGVzCitAQCAtMTY1NCw2ICsxNjU3LDcgQEAgc3RhdGljIGNvbnN0 IFNUX0tBVF9TSUdOIHN0X2thdF9zaWduX3Rlc3RzW10gPSB7CiAgICAgICAgICBJVE0oZHNhX2V4 cGVjdGVkX3NpZykKICAgICAgfSwKICAjZW5kaWYgLyogT1BFTlNTTF9OT19EU0EgKi8KQEAgLTE4 OSw5ICsyNDgsNDggQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS9wcm92aWRlcnMvZmlwcy9zZWxm X3Rlc3RfZGF0YS5pbmMuZmlwc21pbjMgb3BlbnNzbC0zLjAuMS8KICB9OwogIAogIHN0YXRpYyBj b25zdCBTVF9LQVRfQVNZTV9DSVBIRVIgc3Rfa2F0X2FzeW1fY2lwaGVyX3Rlc3RzW10gPSB7Ci1k aWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvYWN2cF90ZXN0LmMuZmlwc21pbjIgb3BlbnNzbC0z LjAuMS90ZXN0L2FjdnBfdGVzdC5jCi0tLS0gb3BlbnNzbC0zLjAuMS90ZXN0L2FjdnBfdGVzdC5j LmZpcHNtaW4yCTIwMjItMDUtMDUgMTE6NDI6NTguNTk3ODQ4ODY1ICswMjAwCi0rKysgb3BlbnNz bC0zLjAuMS90ZXN0L2FjdnBfdGVzdC5jCTIwMjItMDUtMDUgMTE6NDM6MzAuMTQxMTI2MzM2ICsw MjAwCitkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvcnNh X3NpZy5jIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvcnNhX3NpZy5jCitp bmRleCBjZDVkZTZiZDUxLi4wNzgyNGU1NThjIDEwMDY0NAorLS0tIGEvcHJvdmlkZXJzL2ltcGxl bWVudGF0aW9ucy9zaWduYXR1cmUvcnNhX3NpZy5jCisrKysgYi9wcm92aWRlcnMvaW1wbGVtZW50 YXRpb25zL3NpZ25hdHVyZS9yc2Ffc2lnLmMKK0BAIC03NzcsNiArNzc3LDE5IEBAIHN0YXRpYyBp bnQgcnNhX3ZlcmlmeSh2b2lkICp2cHJzYWN0eCwgY29uc3QgdW5zaWduZWQgY2hhciAqc2lnLCBz aXplX3Qgc2lnbGVuLAorIHsKKyAgICAgUFJPVl9SU0FfQ1RYICpwcnNhY3R4ID0gKFBST1ZfUlNB X0NUWCAqKXZwcnNhY3R4OworICAgICBzaXplX3QgcnNsZW47CisrIyBpZmRlZiBGSVBTX01PRFVM RQorKyAgICBzaXplX3QgcnNhYml0cyA9IFJTQV9iaXRzKHByc2FjdHgtPnJzYSk7CisrCisrICAg IGlmIChyc2FiaXRzIDwgMjA0OCkgeworKyAgICAgICAgaWYgKHJzYWJpdHMgIT0gMTAyNAorKyAg ICAgICAgICAgICYmIHJzYWJpdHMgIT0gMTI4MAorKyAgICAgICAgICAgICYmIHJzYWJpdHMgIT0g MTUzNgorKyAgICAgICAgICAgICYmIHJzYWJpdHMgIT0gMTc5MikgeworKyAgICAgICAgICAgIEVS Ul9yYWlzZShFUlJfTElCX0ZJUFMsIFBST1ZfUl9JTlZBTElEX0tFWV9MRU5HVEgpOworKyAgICAg ICAgICAgIHJldHVybiAwOworKyAgICAgICAgfQorKyAgICB9CisrIyBlbmRpZgorIAorICAgICBp ZiAoIW9zc2xfcHJvdl9pc19ydW5uaW5nKCkpCisgICAgICAgICByZXR1cm4gMDsKK2RpZmYgLS1n aXQgYS9zc2wvc3NsX2NpcGguYyBiL3NzbC9zc2xfY2lwaC5jCitpbmRleCBhNWU2MGU4ODM5Li5m OWFmMDdkMTJiIDEwMDY0NAorLS0tIGEvc3NsL3NzbF9jaXBoLmMKKysrKyBiL3NzbC9zc2xfY2lw aC5jCitAQCAtMzU2LDYgKzM1Niw5IEBAIGludCBzc2xfbG9hZF9jaXBoZXJzKFNTTF9DVFggKmN0 eCkKKyAgICAgY3R4LT5kaXNhYmxlZF9ta2V5X21hc2sgPSAwOworICAgICBjdHgtPmRpc2FibGVk X2F1dGhfbWFzayA9IDA7CisgCisrICAgIGlmIChFVlBfZGVmYXVsdF9wcm9wZXJ0aWVzX2lzX2Zp cHNfZW5hYmxlZChjdHgtPmxpYmN0eCkpCisrICAgICAgICBjdHgtPmRpc2FibGVkX21rZXlfbWFz ayB8PSBTU0xfa1JTQSB8IFNTTF9rUlNBUFNLOworKworICAgICAvKgorICAgICAgKiBXZSBpZ25v cmUgYW55IGVycm9ycyBmcm9tIHRoZSBmZXRjaGVzIGJlbG93LiBUaGV5IGFyZSBleHBlY3RlZCB0 byBmYWlsCisgICAgICAqIGlmIHRoZW9zZSBhbGdvcml0aG1zIGFyZSBub3QgYXZhaWxhYmxlLgor ZGlmZiAtLWdpdCBhL3Rlc3QvYWN2cF90ZXN0LmMgYi90ZXN0L2FjdnBfdGVzdC5jCitpbmRleCBm ZWU4ODBkNDQxLi4xM2Q3YTBlYThiIDEwMDY0NAorLS0tIGEvdGVzdC9hY3ZwX3Rlc3QuYworKysr IGIvdGVzdC9hY3ZwX3Rlc3QuYwogQEAgLTE0NzYsNiArMTQ3Niw3IEBAIGludCBzZXR1cF90ZXN0 cyh2b2lkKQogICAgICAgICAgICAgICAgICAgIE9TU0xfTkVMRU0oZGhfc2FmZV9wcmltZV9rZXl2 ZXJfZGF0YSkpOwogICNlbmRpZiAvKiBPUEVOU1NMX05PX0RIICovCkBAIC0yMDgsOSArMzA2LDQz IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9hY3ZwX3Rlc3QuYy5maXBzbWluMiBvcGVu c3NsLTMuMC4xL3Rlc3QvYWN2cF90ZXN0LmMKICAKICAjaWZuZGVmIE9QRU5TU0xfTk9fRUMKICAg ICAgQUREX0FMTF9URVNUUyhlY2RzYV9rZXlnZW5fdGVzdCwgT1NTTF9ORUxFTShlY2RzYV9rZXln ZW5fZGF0YSkpOwotZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS90ZXN0L2V2cF9saWJjdHhfdGVzdC5j LmZpcHNtaW4zIG9wZW5zc2wtMy4wLjEvdGVzdC9ldnBfbGliY3R4X3Rlc3QuYwotLS0tIG9wZW5z c2wtMy4wLjEvdGVzdC9ldnBfbGliY3R4X3Rlc3QuYy5maXBzbWluMwkyMDIyLTA1LTA1IDE0OjE4 OjQ2LjM3MDkxMTgxNyArMDIwMAotKysrIG9wZW5zc2wtMy4wLjEvdGVzdC9ldnBfbGliY3R4X3Rl c3QuYwkyMDIyLTA1LTA1IDE0OjMwOjAyLjExNzkxMTk5MyArMDIwMAorZGlmZiAtLWdpdCBhL3Rl c3QvZW5kZWNvZGVfdGVzdC5jIGIvdGVzdC9lbmRlY29kZV90ZXN0LmMKK2luZGV4IDlhNDM3ZDhj NjQuLjUzMzg1MDI4ZmMgMTAwNjQ0CistLS0gYS90ZXN0L2VuZGVjb2RlX3Rlc3QuYworKysrIGIv dGVzdC9lbmRlY29kZV90ZXN0LmMKK0BAIC0xNDA3LDYgKzE0MDcsNyBAQCBpbnQgc2V0dXBfdGVz dHModm9pZCkKKyAgICAgICAgICAqIHNvIG5vIGxlZ2FjeSB0ZXN0cy4KKyAgICAgICAgICAqLwor ICNlbmRpZgorKyAgICBpZiAoaXNfZmlwcyA9PSAwKSB7CisgI2lmbmRlZiBPUEVOU1NMX05PX0RT QQorICAgICAgICAgQUREX1RFU1RfU1VJVEUoRFNBKTsKKyAgICAgICAgIEFERF9URVNUX1NVSVRF X1BBUkFNUyhEU0EpOworQEAgLTE0MTcsNiArMTQxOCw3IEBAIGludCBzZXR1cF90ZXN0cyh2b2lk KQorICAgICAgICAgQUREX1RFU1RfU1VJVEVfUFJPVEVDVEVEX1BWSyhEU0EpOworICMgZW5kaWYK KyAjZW5kaWYKKysgICAgfQorICNpZm5kZWYgT1BFTlNTTF9OT19FQworICAgICAgICAgQUREX1RF U1RfU1VJVEUoRUMpOworICAgICAgICAgQUREX1RFU1RfU1VJVEVfUEFSQU1TKEVDKTsKK0BAIC0x NDMxLDEwICsxNDMzLDEyIEBAIGludCBzZXR1cF90ZXN0cyh2b2lkKQorICAgICAgICAgQUREX1RF U1RfU1VJVEUoRUNFeHBsaWNpdFRyaTJHKTsKKyAgICAgICAgIEFERF9URVNUX1NVSVRFX0xFR0FD WShFQ0V4cGxpY2l0VHJpMkcpOworICMgZW5kaWYKKysgICAgaWYgKGlzX2ZpcHMgPT0gMCkgewor ICAgICAgICAgQUREX1RFU1RfU1VJVEUoRUQyNTUxOSk7CisgICAgICAgICBBRERfVEVTVF9TVUlU RShFRDQ0OCk7CisgICAgICAgICBBRERfVEVTVF9TVUlURShYMjU1MTkpOworICAgICAgICAgQURE X1RFU1RfU1VJVEUoWDQ0OCk7CisrICAgIH0KKyAgICAgICAgIC8qCisgICAgICAgICAgKiBFRDI1 NTE5LCBFRDQ0OCwgWDI1NTE5IGFuZCBYNDQ4IGhhdmUgbm8gc3VwcG9ydCBmb3IKKyAgICAgICAg ICAqIFBFTV93cml0ZV9iaW9fUHJpdmF0ZUtleV90cmFkaXRpb25hbCgpLCBzbyBubyBsZWdhY3kg dGVzdHMuCitkaWZmIC0tZ2l0IGEvdGVzdC9ldnBfbGliY3R4X3Rlc3QuYyBiL3Rlc3QvZXZwX2xp YmN0eF90ZXN0LmMKK2luZGV4IDI0NDhjMzVhMTQuLmE3OTEzY2RhNGMgMTAwNjQ0CistLS0gYS90 ZXN0L2V2cF9saWJjdHhfdGVzdC5jCisrKysgYi90ZXN0L2V2cF9saWJjdHhfdGVzdC5jCiBAQCAt MjEsNiArMjEsNyBAQAogICAqLwogICNpbmNsdWRlICJpbnRlcm5hbC9kZXByZWNhdGVkLmgiCkBA IC0yMTksOCArMzUxLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS90ZXN0L2V2cF9saWJjdHhf dGVzdC5jLmZpcHNtaW4zIG9wZW5zc2wtMy4wLjEvdGVzdC9ldnBfbGkKICAjaW5jbHVkZSA8b3Bl bnNzbC9ldnAuaD4KICAjaW5jbHVkZSA8b3BlbnNzbC9wcm92aWRlci5oPgogICNpbmNsdWRlIDxv cGVuc3NsL2RzYS5oPgotQEAgLTcyNSw4ICs3MjYsMTAgQEAgaW50IHNldHVwX3Rlc3RzKHZvaWQp Ci0gICAgIGlmICghdGVzdF9nZXRfbGliY3R4KCZsaWJjdHgsICZudWxscHJvdiwgY29uZmlnX2Zp bGUsICZsaWJwcm92LCBwcm92X25hbWUpKQorQEAgLTcyNiw3ICs3MjcsOSBAQCBpbnQgc2V0dXBf dGVzdHModm9pZCkKICAgICAgICAgIHJldHVybiAwOwogIAogICNpZiAhZGVmaW5lZChPUEVOU1NM X05PX0RTQSkgJiYgIWRlZmluZWQoT1BFTlNTTF9OT19ESCkKQEAgLTIzMSw3ICszNjIsNyBAQCBk aWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvZXZwX2xpYmN0eF90ZXN0LmMuZmlwc21pbjMgb3Bl bnNzbC0zLjAuMS90ZXN0L2V2cF9saQogICNlbmRpZgogICNpZm5kZWYgT1BFTlNTTF9OT19ESAog ICAgICBBRERfQUxMX1RFU1RTKHRlc3RfZGhfc2FmZXByaW1lX3BhcmFtX2tleWdlbiwgMyAqIDMg KiAzKTsKLUBAIC03NDYsNyArNzUwLDkgQEAgaW50IHNldHVwX3Rlc3RzKHZvaWQpCitAQCAtNzQ2 LDcgKzc0OSw5IEBAIGludCBzZXR1cF90ZXN0cyh2b2lkKQogICAgICBBRERfVEVTVChrZW1faW52 YWxpZF9rZXl0eXBlKTsKICAjZW5kaWYKICAjaWZuZGVmIE9QRU5TU0xfTk9fREVTCkBAIC0yNDIs OSArMzczLDEwIEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9ldnBfbGliY3R4X3Rlc3Qu Yy5maXBzbWluMyBvcGVuc3NsLTMuMC4xL3Rlc3QvZXZwX2xpCiAgI2VuZGlmCiAgICAgIHJldHVy biAxOwogIH0KLWRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzE1LXRlc3RfZ2Vu ZHNhLnQuZmlwc21pbjMgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvMTUtdGVzdF9nZW5kc2Eu dAotLS0tIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzE1LXRlc3RfZ2VuZHNhLnQuZmlwc21p bjMJMjAyMi0wNS0wNSAxMzo0NjowMC42MzE1OTAzMzUgKzAyMDAKLSsrKyBvcGVuc3NsLTMuMC4x L3Rlc3QvcmVjaXBlcy8xNS10ZXN0X2dlbmRzYS50CTIwMjItMDUtMDUgMTM6NDY6MDYuOTk5NjQ0 NDk2ICswMjAwCitkaWZmIC0tZ2l0IGEvdGVzdC9yZWNpcGVzLzE1LXRlc3RfZ2VuZHNhLnQgYi90 ZXN0L3JlY2lwZXMvMTUtdGVzdF9nZW5kc2EudAoraW5kZXggYjQ5NWIwOGJkYS4uNjliZDI5OTUy MSAxMDA2NDQKKy0tLSBhL3Rlc3QvcmVjaXBlcy8xNS10ZXN0X2dlbmRzYS50CisrKysgYi90ZXN0 L3JlY2lwZXMvMTUtdGVzdF9nZW5kc2EudAogQEAgLTI0LDcgKzI0LDcgQEAgdXNlIGxpYiBibGR0 b3BfZGlyKCcuJyk7CiAgcGxhbiBza2lwX2FsbCA9PiAiVGhpcyB0ZXN0IGlzIHVuc3VwcG9ydGVk IGluIGEgbm8tZHNhIGJ1aWxkIgogICAgICBpZiBkaXNhYmxlZCgiZHNhIik7CkBAIC0yNTQsMTAg KzM4NiwxMSBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy8xNS10ZXN0X2dl bmRzYS50LmZpcHNtaW4zIG9wZW5zc2wtMy4wLjEvdGVzdAogIAogIHBsYW4gdGVzdHMgPT4KICAg ICAgKCRub19maXBzID8gMCA6IDIpICAgICAgICAgICMgRklQUyByZWxhdGVkIHRlc3RzCi1kaWZm IC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy8yMC10ZXN0X2NsaV9maXBzLnQuZmlwc21p bjMgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvMjAtdGVzdF9jbGlfZmlwcy50Ci0tLS0gb3Bl bnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvMjAtdGVzdF9jbGlfZmlwcy50LmZpcHNtaW4zCTIwMjIt MDUtMDUgMTM6NDc6NTUuMjE3NTY0OTAwICswMjAwCi0rKysgb3BlbnNzbC0zLjAuMS90ZXN0L3Jl Y2lwZXMvMjAtdGVzdF9jbGlfZmlwcy50CTIwMjItMDUtMDUgMTM6NDg6MDIuODI0NjI5NjAwICsw MjAwCi1AQCAtMjA3LDggKzIwNyw3IEBAIFNLSVA6IHsKK2RpZmYgLS1naXQgYS90ZXN0L3JlY2lw ZXMvMjAtdGVzdF9jbGlfZmlwcy50IGIvdGVzdC9yZWNpcGVzLzIwLXRlc3RfY2xpX2ZpcHMudAor aW5kZXggNmQzYzViYTFiYi4uMmJhNDdiNWZjYSAxMDA2NDQKKy0tLSBhL3Rlc3QvcmVjaXBlcy8y MC10ZXN0X2NsaV9maXBzLnQKKysrKyBiL3Rlc3QvcmVjaXBlcy8yMC10ZXN0X2NsaV9maXBzLnQK K0BAIC0yNzMsOCArMjczLDcgQEAgU0tJUDogewogIH0KICAKICBTS0lQIDogewpAQCAtMjY3LDEx MiArNDAwLDExIEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzIwLXRlc3Rf Y2xpX2ZpcHMudC5maXBzbWluMyBvcGVuc3NsLTMuMC4xL3RlCiAgCiAgICAgIHN1YnRlc3QgRFNB ID0+IHN1YiB7CiAgICAgICAgICBteSAkdGVzdHRleHRfcHJlZml4ID0gJ0RTQSc7Ci1kaWZmIC11 cCBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy84MC10ZXN0X2Ntcy50LmZpcHNtaW4zIG9wZW5z c2wtMy4wLjEvdGVzdC9yZWNpcGVzLzgwLXRlc3RfY21zLnQKLS0tLSBvcGVuc3NsLTMuMC4xL3Rl c3QvcmVjaXBlcy84MC10ZXN0X2Ntcy50LmZpcHNtaW4zCTIwMjItMDUtMDUgMTM6NTU6MDUuMjU3 MjkyNjM3ICswMjAwCi0rKysgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvODAtdGVzdF9jbXMu dAkyMDIyLTA1LTA1IDEzOjU4OjM1LjMwNzE1MDc1MCArMDIwMAotQEAgLTk1LDcgKzk1LDcgQEAg bXkgQHNtaW1lX3BrY3M3X3Rlc3RzID0gKAotICAgICAgIFwmZmluYWxfY29tcGFyZQotICAgICBd LAotIAotLSAgICBbICJzaWduZWQgY29udGVudCBERVIgZm9ybWF0LCBEU0Ega2V5IiwKLSsgICAg WyAic2lnbmVkIGNvbnRlbnQgREVSIGZvcm1hdCwgRFNBIGtleSwgbm8gUmVkIEhhdCBGSVBTIiwK LSAgICAgICBbICJ7Y21kMX0iLCBAcHJvdiwgIi1zaWduIiwgIi1pbiIsICRzbWNvbnQsICItb3V0 Zm9ybSIsICJERVIiLCAiLW5vZGV0YWNoIiwKLSAgICAgICAgICItc2lnbmVyIiwgY2F0ZmlsZSgk c21kaXIsICJzbWRzYTEucGVtIiksICItb3V0IiwgIntvdXRwdXR9LmNtcyIgXSwKLSAgICAgICBb ICJ7Y21kMn0iLCBAcHJvdiwgIi12ZXJpZnkiLCAiLWluIiwgIntvdXRwdXR9LmNtcyIsICItaW5m b3JtIiwgIkRFUiIsCi1AQCAtMTAzLDcgKzEwMyw3IEBAIG15IEBzbWltZV9wa2NzN190ZXN0cyA9 ICgKLSAgICAgICBcJmZpbmFsX2NvbXBhcmUKLSAgICAgXSwKLSAKLS0gICAgWyAic2lnbmVkIGRl dGFjaGVkIGNvbnRlbnQgREVSIGZvcm1hdCwgRFNBIGtleSIsCi0rICAgIFsgInNpZ25lZCBkZXRh Y2hlZCBjb250ZW50IERFUiBmb3JtYXQsIERTQSBrZXksIG5vIFJlZCBIYXQgRklQUyIsCi0gICAg ICAgWyAie2NtZDF9IiwgQHByb3YsICItc2lnbiIsICItaW4iLCAkc21jb250LCAiLW91dGZvcm0i LCAiREVSIiwKLSAgICAgICAgICItc2lnbmVyIiwgY2F0ZmlsZSgkc21kaXIsICJzbWRzYTEucGVt IiksICItb3V0IiwgIntvdXRwdXR9LmNtcyIgXSwKLSAgICAgICBbICJ7Y21kMn0iLCBAcHJvdiwg Ii12ZXJpZnkiLCAiLWluIiwgIntvdXRwdXR9LmNtcyIsICItaW5mb3JtIiwgIkRFUiIsCi1AQCAt MTEyLDcgKzExMiw3IEBAIG15IEBzbWltZV9wa2NzN190ZXN0cyA9ICgKLSAgICAgICBcJmZpbmFs X2NvbXBhcmUKLSAgICAgXSwKLSAKLS0gICAgWyAic2lnbmVkIGRldGFjaGVkIGNvbnRlbnQgREVS IGZvcm1hdCwgYWRkIFJTQSBzaWduZXIgKHdpdGggRFNBIGV4aXN0aW5nKSIsCi0rICAgIFsgInNp Z25lZCBkZXRhY2hlZCBjb250ZW50IERFUiBmb3JtYXQsIGFkZCBSU0Egc2lnbmVyICh3aXRoIERT QSBleGlzdGluZyksIG5vIFJlZCBIYXQgRklQUyIsCi0gICAgICAgWyAie2NtZDF9IiwgQHByb3Ys ICItc2lnbiIsICItaW4iLCAkc21jb250LCAiLW91dGZvcm0iLCAiREVSIiwKLSAgICAgICAgICIt c2lnbmVyIiwgY2F0ZmlsZSgkc21kaXIsICJzbWRzYTEucGVtIiksICItb3V0IiwgIntvdXRwdXR9 LmNtcyIgXSwKLSAgICAgICBbICJ7Y21kMX0iLCBAcHJvdiwgIi1yZXNpZ24iLCAiLWluIiwgIntv dXRwdXR9LmNtcyIsICItaW5mb3JtIiwgIkRFUiIsICItb3V0Zm9ybSIsICJERVIiLAotQEAgLTEy Myw3ICsxMjMsNyBAQCBteSBAc21pbWVfcGtjczdfdGVzdHMgPSAoCi0gICAgICAgXCZmaW5hbF9j b21wYXJlCi0gICAgIF0sCi0gCi0tICAgIFsgInNpZ25lZCBjb250ZW50IHRlc3Qgc3RyZWFtaW5n IEJFUiBmb3JtYXQsIERTQSBrZXkiLAotKyAgICBbICJzaWduZWQgY29udGVudCB0ZXN0IHN0cmVh bWluZyBCRVIgZm9ybWF0LCBEU0Ega2V5LCBubyBSZWQgSGF0IEZJUFMiLAotICAgICAgIFsgIntj bWQxfSIsIEBwcm92LCAiLXNpZ24iLCAiLWluIiwgJHNtY29udCwgIi1vdXRmb3JtIiwgIkRFUiIs Ci0gICAgICAgICAiLW5vZGV0YWNoIiwgIi1zdHJlYW0iLAotICAgICAgICAgIi1zaWduZXIiLCBj YXRmaWxlKCRzbWRpciwgInNtZHNhMS5wZW0iKSwgIi1vdXQiLCAie291dHB1dH0uY21zIiBdLAot QEAgLTEzMiw3ICsxMzIsNyBAQCBteSBAc21pbWVfcGtjczdfdGVzdHMgPSAoCi0gICAgICAgXCZm aW5hbF9jb21wYXJlCi0gICAgIF0sCi0gCi0tICAgIFsgInNpZ25lZCBjb250ZW50IHRlc3Qgc3Ry ZWFtaW5nIEJFUiBmb3JtYXQsIDIgRFNBIGFuZCAyIFJTQSBrZXlzIiwKLSsgICAgWyAic2lnbmVk IGNvbnRlbnQgdGVzdCBzdHJlYW1pbmcgQkVSIGZvcm1hdCwgMiBEU0EgYW5kIDIgUlNBIGtleXMs IG5vIFJlZCBIYXQgRklQUyIsCi0gICAgICAgWyAie2NtZDF9IiwgQHByb3YsICItc2lnbiIsICIt aW4iLCAkc21jb250LCAiLW91dGZvcm0iLCAiREVSIiwKLSAgICAgICAgICItbm9kZXRhY2giLCAi LXN0cmVhbSIsCi0gICAgICAgICAiLXNpZ25lciIsICRzbXJzYTEsCi1AQCAtMTQ1LDcgKzE0NSw3 IEBAIG15IEBzbWltZV9wa2NzN190ZXN0cyA9ICgKLSAgICAgICBcJmZpbmFsX2NvbXBhcmUKLSAg ICAgXSwKLSAKLS0gICAgWyAic2lnbmVkIGNvbnRlbnQgdGVzdCBzdHJlYW1pbmcgQkVSIGZvcm1h dCwgMiBEU0EgYW5kIDIgUlNBIGtleXMsIG5vIGF0dHJpYnV0ZXMiLAotKyAgICBbICJzaWduZWQg Y29udGVudCB0ZXN0IHN0cmVhbWluZyBCRVIgZm9ybWF0LCAyIERTQSBhbmQgMiBSU0Ega2V5cywg bm8gYXR0cmlidXRlcywgbm8gUmVkIEhhdCBGSVBTIiwKLSAgICAgICBbICJ7Y21kMX0iLCBAcHJv diwgIi1zaWduIiwgIi1pbiIsICRzbWNvbnQsICItb3V0Zm9ybSIsICJERVIiLAotICAgICAgICAg Ii1ub2F0dHIiLCAiLW5vZGV0YWNoIiwgIi1zdHJlYW0iLAotICAgICAgICAgIi1zaWduZXIiLCAk c21yc2ExLAotQEAgLTE3NSw3ICsxNzUsNyBAQCBteSBAc21pbWVfcGtjczdfdGVzdHMgPSAoCi0g ICAgICAgXCZ6ZXJvX2NvbXBhcmUKLSAgICAgXSwKLSAKLS0gICAgWyAic2lnbmVkIGNvbnRlbnQg dGVzdCBzdHJlYW1pbmcgUy9NSU1FIGZvcm1hdCwgMiBEU0EgYW5kIDIgUlNBIGtleXMiLAotKyAg ICBbICJzaWduZWQgY29udGVudCB0ZXN0IHN0cmVhbWluZyBTL01JTUUgZm9ybWF0LCAyIERTQSBh bmQgMiBSU0Ega2V5cywgbm8gUmVkIEhhdCBGSVBTIiwKLSAgICAgICBbICJ7Y21kMX0iLCBAcHJv diwgIi1zaWduIiwgIi1pbiIsICRzbWNvbnQsICItbm9kZXRhY2giLAotICAgICAgICAgIi1zaWdu ZXIiLCAkc21yc2ExLAotICAgICAgICAgIi1zaWduZXIiLCBjYXRmaWxlKCRzbWRpciwgInNtcnNh Mi5wZW0iKSwKLUBAIC0xODcsNyArMTg3LDcgQEAgbXkgQHNtaW1lX3BrY3M3X3Rlc3RzID0gKAot ICAgICAgIFwmZmluYWxfY29tcGFyZQotICAgICBdLAotIAotLSAgICBbICJzaWduZWQgY29udGVu dCB0ZXN0IHN0cmVhbWluZyBtdWx0aXBhcnQgUy9NSU1FIGZvcm1hdCwgMiBEU0EgYW5kIDIgUlNB IGtleXMiLAotKyAgICBbICJzaWduZWQgY29udGVudCB0ZXN0IHN0cmVhbWluZyBtdWx0aXBhcnQg Uy9NSU1FIGZvcm1hdCwgMiBEU0EgYW5kIDIgUlNBIGtleXMsIG5vIFJlZCBIYXQgRklQUyIsCi0g ICAgICAgWyAie2NtZDF9IiwgQHByb3YsICItc2lnbiIsICItaW4iLCAkc21jb250LAotICAgICAg ICAgIi1zaWduZXIiLCAkc21yc2ExLAotICAgICAgICAgIi1zaWduZXIiLCBjYXRmaWxlKCRzbWRp ciwgInNtcnNhMi5wZW0iKSwKLUBAIC0yNDcsNyArMjQ3LDcgQEAgbXkgQHNtaW1lX3BrY3M3X3Rl c3RzID0gKAotIAotIG15IEBzbWltZV9jbXNfdGVzdHMgPSAoCi0gCi0tICAgIFsgInNpZ25lZCBj b250ZW50IHRlc3Qgc3RyZWFtaW5nIEJFUiBmb3JtYXQsIDIgRFNBIGFuZCAyIFJTQSBrZXlzLCBr ZXlpZCIsCi0rICAgIFsgInNpZ25lZCBjb250ZW50IHRlc3Qgc3RyZWFtaW5nIEJFUiBmb3JtYXQs IDIgRFNBIGFuZCAyIFJTQSBrZXlzLCBrZXlpZCwgbm8gUmVkIEhhdCBGSVBTIiwKLSAgICAgICBb ICJ7Y21kMX0iLCBAcHJvdiwgIi1zaWduIiwgIi1pbiIsICRzbWNvbnQsICItb3V0Zm9ybSIsICJE RVIiLAotICAgICAgICAgIi1ub2RldGFjaCIsICIta2V5aWQiLAotICAgICAgICAgIi1zaWduZXIi LCAkc21yc2ExLAotQEAgLTI2MCw3ICsyNjAsNyBAQCBteSBAc21pbWVfY21zX3Rlc3RzID0gKAot ICAgICAgIFwmZmluYWxfY29tcGFyZQotICAgICBdLAotIAotLSAgICBbICJzaWduZWQgY29udGVu dCB0ZXN0IHN0cmVhbWluZyBQRU0gZm9ybWF0LCAyIERTQSBhbmQgMiBSU0Ega2V5cyIsCi0rICAg IFsgInNpZ25lZCBjb250ZW50IHRlc3Qgc3RyZWFtaW5nIFBFTSBmb3JtYXQsIDIgRFNBIGFuZCAy IFJTQSBrZXlzLCBubyBSZWQgSGF0IEZJUFMiLAotICAgICAgIFsgIntjbWQxfSIsIEBwcm92LCAi LXNpZ24iLCAiLWluIiwgJHNtY29udCwgIi1vdXRmb3JtIiwgIlBFTSIsICItbm9kZXRhY2giLAot ICAgICAgICAgIi1zaWduZXIiLCAkc21yc2ExLAotICAgICAgICAgIi1zaWduZXIiLCBjYXRmaWxl KCRzbWRpciwgInNtcnNhMi5wZW0iKSwKLUBAIC0zNzAsNyArMzcwLDcgQEAgbXkgQHNtaW1lX2Nt c190ZXN0cyA9ICgKLSAgICAgICBcJmZpbmFsX2NvbXBhcmUKLSAgICAgXSwKLSAKLS0gICAgWyAi ZW5jcnlwdGVkIGNvbnRlbnQgdGVzdCBzdHJlYW1pbmcgUEVNIGZvcm1hdCwgdHJpcGxlIERFUyBr ZXkiLAotKyAgICBbICJlbmNyeXB0ZWQgY29udGVudCB0ZXN0IHN0cmVhbWluZyBQRU0gZm9ybWF0 LCB0cmlwbGUgREVTIGtleSwgbm8gUmVkIEhhdCBGSVBTIiwKLSAgICAgICBbICJ7Y21kMX0iLCBA cHJvdiwgIi1FbmNyeXB0ZWREYXRhX2VuY3J5cHQiLCAiLWluIiwgJHNtY29udCwgIi1vdXRmb3Jt IiwgIlBFTSIsCi0gICAgICAgICAiLWRlczMiLCAiLXNlY3JldGtleSIsICIwMDAxMDIwMzA0MDUw NjA3MDgwOTBBMEIwQzBEMEUwRjEwMTExMjEzMTQxNTE2MTciLAotICAgICAgICAgIi1zdHJlYW0i LCAiLW91dCIsICJ7b3V0cHV0fS5jbXMiIF0sCi1kaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3Qv cmVjaXBlcy8zMC10ZXN0X2V2cC50LmZpcHNtaW4zIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVz LzMwLXRlc3RfZXZwLnQKLS0tLSBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2 cC50LmZpcHNtaW4zCTIwMjItMDUtMDUgMTQ6NDM6MDQuMjc2ODU3MDMzICswMjAwCi0rKysgb3Bl bnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnAudAkyMDIyLTA1LTA1IDE0OjQzOjM1 Ljk3NTEzODIzNCArMDIwMAotQEAgLTQzLDEwICs0Myw4IEBAIG15IEBmaWxlcyA9IHF3KAorZGlm ZiAtLWdpdCBhL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cC50IGIvdGVzdC9yZWNpcGVzLzMwLXRl c3RfZXZwLnQKK2luZGV4IDlkNzA0MGNlZDIuLjNiZTI1NDljYjUgMTAwNjQ0CistLS0gYS90ZXN0 L3JlY2lwZXMvMzAtdGVzdF9ldnAudAorKysrIGIvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwLnQK K0BAIC00MiwxMCArNDIsOCBAQCBteSBAZmlsZXMgPSBxdygKICAgICAgICAgICAgICAgICAgZXZw Y2lwaF9hZXNfY3RzLnR4dAogICAgICAgICAgICAgICAgICBldnBjaXBoX2Flc193cmFwLnR4dAog ICAgICAgICAgICAgICAgICBldnBjaXBoX2Flc19zdGl0Y2hlZC50eHQKQEAgLTM4MywyMCArNDE1 LDIwIEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwLnQu Zmlwc21pbjMgb3BlbnNzbC0zLjAuMS90ZXN0L3JlCiAgICAgICAgICAgICAgICAgIGV2cGtkZl9w YmtkZjEudHh0CiAgICAgICAgICAgICAgICAgIGV2cGtkZl9wYmtkZjIudHh0CiAgICAgICAgICAg ICAgICAgIGV2cGtkZl9zcy50eHQKLUBAIC02NiwxMiArNjUsNiBAQCBwdXNoIEBmaWxlcywgcXco CitAQCAtNjUsMTIgKzYzLDYgQEAgcHVzaCBAZmlsZXMsIHF3KAorICAgICAgICAgICAgICAgICBl dnBwa2V5X2ZmZGhlLnR4dAogICAgICAgICAgICAgICAgICBldnBwa2V5X2RoLnR4dAogICAgICAg ICAgICAgICAgICkgdW5sZXNzICRub19kaDsKLSBwdXNoIEBmaWxlcywgcXcoCistcHVzaCBAZmls ZXMsIHF3KAogLSAgICAgICAgICAgICAgICBldnBrZGZfeDk0Ml9kZXMudHh0CiAtICAgICAgICAg ICAgICAgIGV2cG1hY19jbWFjX2Rlcy50eHQKIC0gICAgICAgICAgICAgICApIHVubGVzcyAkbm9f ZGVzOwogLXB1c2ggQGZpbGVzLCBxdyhldnBwa2V5X2RzYS50eHQpIHVubGVzcyAkbm9fZHNhOwog LXB1c2ggQGZpbGVzLCBxdyhldnBwa2V5X2VjeC50eHQpIHVubGVzcyAkbm9fZWM7Ci0tcHVzaCBA ZmlsZXMsIHF3KAorIHB1c2ggQGZpbGVzLCBxdygKICAgICAgICAgICAgICAgICAgZXZwcGtleV9l Y2MudHh0CiAgICAgICAgICAgICAgICAgIGV2cHBrZXlfZWNkaC50eHQKLSAgICAgICAgICAgICAg ICAgZXZwcGtleV9lY2RzYS50eHQKLUBAIC05MSw2ICs4NCw4IEBAIG15IEBkZWZsdGZpbGVzID0g cXcoCitAQCAtOTEsNiArODMsOCBAQCBteSBAZGVmbHRmaWxlcyA9IHF3KAogICAgICAgICAgICAg ICAgICAgICAgIGV2cGNpcGhfY2FzdDUudHh0CiAgICAgICAgICAgICAgICAgICAgICAgZXZwY2lw aF9jaGFjaGEudHh0CiAgICAgICAgICAgICAgICAgICAgICAgZXZwY2lwaF9kZXMudHh0CkBAIC00 MDUsNyArNDM3LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvMzAtdGVz dF9ldnAudC5maXBzbWluMyBvcGVuc3NsLTMuMC4xL3Rlc3QvcmUKICAgICAgICAgICAgICAgICAg ICAgICBldnBjaXBoX2lkZWEudHh0CiAgICAgICAgICAgICAgICAgICAgICAgZXZwY2lwaF9yYzIu dHh0CiAgICAgICAgICAgICAgICAgICAgICAgZXZwY2lwaF9yYzQudHh0Ci1AQCAtMTE3LDYgKzEx MSwxMiBAQCBteSBAZGVmbHRmaWxlcyA9IHF3KAorQEAgLTExOCw2ICsxMTIsMTIgQEAgbXkgQGRl Zmx0ZmlsZXMgPSBxdygKICAgICAgICAgICAgICAgICAgICAgICBldnBwa2V5X2tkZl90bHMxX3By Zi50eHQKICAgICAgICAgICAgICAgICAgICAgICBldnBwa2V5X3JzYS50eHQKICAgICAgICAgICAg ICAgICAgICAgICk7CkBAIC00MTgsMTAgKzQ1MCwxMSBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4x L3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cC50LmZpcHNtaW4zIG9wZW5zc2wtMy4wLjEvdGVzdC9y ZQogIHB1c2ggQGRlZmx0ZmlsZXMsIHF3KGV2cHBrZXlfYnJhaW5wb29sLnR4dCkgdW5sZXNzICRu b19lYzsKICBwdXNoIEBkZWZsdGZpbGVzLCBxdyhldnBwa2V5X3NtMi50eHQpIHVubGVzcyAkbm9f c20yOwogIAotZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBf ZGF0YS9ldnBtYWNfY29tbW9uLnR4dC5maXBzbWluMyBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBl cy8zMC10ZXN0X2V2cF9kYXRhL2V2cG1hY19jb21tb24udHh0Ci0tLS0gb3BlbnNzbC0zLjAuMS90 ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9ldnBtYWNfY29tbW9uLnR4dC5maXBzbWluMwky MDIyLTA1LTA1IDE0OjQ2OjMyLjcyMTcwMDY5NyArMDIwMAotKysrIG9wZW5zc2wtMy4wLjEvdGVz dC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwbWFjX2NvbW1vbi50eHQJMjAyMi0wNS0wNSAx NDo1MTo0MC4yMDU0MTg4OTcgKzAyMDAKLUBAIC0zMjgsNiArMzI4LDcgQEAgSW5wdXQgPSA2OEYy RTc3Njk2Q0U3QUU4RTJDQTRFQzU4OEU1NDEwMAorZGlmZiAtLWdpdCBhL3Rlc3QvcmVjaXBlcy8z MC10ZXN0X2V2cF9kYXRhL2V2cG1hY19jb21tb24udHh0IGIvdGVzdC9yZWNpcGVzLzMwLXRlc3Rf ZXZwX2RhdGEvZXZwbWFjX2NvbW1vbi50eHQKK2luZGV4IDkzMTk1ZGY5N2MuLjMxNTQxM2NkOWIg MTAwNjQ0CistLS0gYS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9ldnBtYWNfY29tbW9u LnR4dAorKysrIGIvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwbWFjX2NvbW1vbi50 eHQKK0BAIC0zNDAsNiArMzQwLDcgQEAgSVYgPSA3QUU4RTJDQTRFQzUwMDAxMkU1ODQ5NUMKICBJ bnB1dCA9IDY4RjJFNzc2OTZDRTdBRThFMkNBNEVDNTg4RTU0MTAwMkU1ODQ5NUMwODAwMEYxMDEx MTIxMzE0MTUxNjE3MTgxOTFBMUIxQzFEMUUxRjIwMjEyMjIzMjQyNTI2MjcyODI5MkEyQjJDMkQy RTJGMzAzMTMyMzMzNDM1MzYzNzM4MzkzQTNCM0MzRDNFM0Y0MDQxNDI0MzQ0NDU0NjQ3NDg0OTRB NEI0QzREMDAwNwogIFJlc3VsdCA9IE1BQ19JTklUX0VSUk9SCiAgCkBAIC00MjksNyArNDYyLDcg QEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9l dnBtYWNfY29tbW9uLnR4dC5maXBzbWluMyAKICBUaXRsZSA9IEtNQUMgVGVzdHMgKEZyb20gTklT VCkKICBNQUMgPSBLTUFDMTI4CiAgS2V5ID0gNDA0MTQyNDM0NDQ1NDY0NzQ4NDk0QTRCNEM0RDRF NEY1MDUxNTI1MzU0NTU1NjU3NTg1OTVBNUI1QzVENUU1RgotQEAgLTMzOCwxMiArMzM5LDE0IEBA IEN0cmwgPSB4b2Y6MAorQEAgLTM1MCwxMiArMzUxLDE0IEBAIEN0cmwgPSB4b2Y6MAogIE91dHB1 dFNpemUgPSAzMgogIEJsb2NrU2l6ZSA9IDE2OAogIApAQCAtNDQ0LDcgKzQ3Nyw3IEBAIGRpZmYg LXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwbWFjX2Nv bW1vbi50eHQuZmlwc21pbjMgCiAgTUFDID0gS01BQzEyOAogIEtleSA9IDQwNDE0MjQzNDQ0NTQ2 NDc0ODQ5NEE0QjRDNEQ0RTRGNTA1MTUyNTM1NDU1NTY1NzU4NTk1QTVCNUM1RDVFNUYKICBJbnB1 dCA9IDAwMDEwMjAzMDQwNTA2MDcwODA5MEEwQjBDMEQwRTBGMTAxMTEyMTMxNDE1MTYxNzE4MTkx QTFCMUMxRDFFMUYyMDIxMjIyMzI0MjUyNjI3MjgyOTJBMkIyQzJEMkUyRjMwMzEzMjMzMzQzNTM2 MzczODM5M0EzQjNDM0QzRTNGNDA0MTQyNDM0NDQ1NDY0NzQ4NDk0QTRCNEM0RDRFNEY1MDUxNTI1 MzU0NTU1NjU3NTg1OTVBNUI1QzVENUU1RjYwNjE2MjYzNjQ2NTY2Njc2ODY5NkE2QjZDNkQ2RTZG NzA3MTcyNzM3NDc1NzY3Nzc4Nzk3QTdCN0M3RDdFN0Y4MDgxODI4Mzg0ODU4Njg3ODg4OThBOEI4 QzhEOEU4RjkwOTE5MjkzOTQ5NTk2OTc5ODk5OUE5QjlDOUQ5RTlGQTBBMUEyQTNBNEE1QTZBN0E4 QTlBQUFCQUNBREFFQUZCMEIxQjJCM0I0QjVCNkI3QjhCOUJBQkJCQ0JEQkVCRkMwQzFDMkMzQzRD NUM2QzcKLUBAIC0zNTEsNiArMzU0LDcgQEAgQ3VzdG9tID0gIk15IFRhZ2dlZCBBcHBsaWNhdGlv biIKK0BAIC0zNjMsNiArMzY2LDcgQEAgQ3VzdG9tID0gIk15IFRhZ2dlZCBBcHBsaWNhdGlvbiIK ICBPdXRwdXQgPSAxRjVCNEU2Q0NBMDIyMDlFMERDQjVDQTYzNUI4OUExNUUyNzFFQ0M3NjAwNzFE RkQ4MDVGQUEzOEY5NzI5MjMwCiAgQ3RybCA9IHNpemU6MzIKICAKQEAgLTQ1Miw3ICs0ODUsNyBA QCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9kYXRhL2V2 cG1hY19jb21tb24udHh0LmZpcHNtaW4zIAogIE1BQyA9IEtNQUMyNTYKICBLZXkgPSA0MDQxNDI0 MzQ0NDU0NjQ3NDg0OTRBNEI0QzRENEU0RjUwNTE1MjUzNTQ1NTU2NTc1ODU5NUE1QjVDNUQ1RTVG CiAgSW5wdXQgPSAwMDAxMDIwMwotQEAgLTM1OSwxMiArMzYzLDE0IEBAIE91dHB1dCA9IDIwQzU3 MEMzMTM0NkY3MDNDOUFDMzZDNjFDMDNDQjYKK0BAIC0zNzEsMTIgKzM3NSwxNCBAQCBPdXRwdXQg PSAyMEM1NzBDMzEzNDZGNzAzQzlBQzM2QzYxQzAzQ0I2NEMzOTcwRDBDRkM3ODdFOUI3OTU5OUQy NzNBNjhEMkY3RjY5RDRDQwogIE91dHB1dFNpemUgPSA2NAogIEJsb2NrU2l6ZSA9IDEzNgogIApA QCAtNDY3LDcgKzUwMCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzMw LXRlc3RfZXZwX2RhdGEvZXZwbWFjX2NvbW1vbi50eHQuZmlwc21pbjMgCiAgTUFDID0gS01BQzI1 NgogIEtleSA9IDQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NEE0QjRDNEQ0RTRGNTA1MTUyNTM1NDU1NTY1 NzU4NTk1QTVCNUM1RDVFNUYKICBJbnB1dCA9IDAwMDEwMjAzMDQwNTA2MDcwODA5MEEwQjBDMEQw RTBGMTAxMTEyMTMxNDE1MTYxNzE4MTkxQTFCMUMxRDFFMUYyMDIxMjIyMzI0MjUyNjI3MjgyOTJB MkIyQzJEMkUyRjMwMzEzMjMzMzQzNTM2MzczODM5M0EzQjNDM0QzRTNGNDA0MTQyNDM0NDQ1NDY0 NzQ4NDk0QTRCNEM0RDRFNEY1MDUxNTI1MzU0NTU1NjU3NTg1OTVBNUI1QzVENUU1RjYwNjE2MjYz NjQ2NTY2Njc2ODY5NkE2QjZDNkQ2RTZGNzA3MTcyNzM3NDc1NzY3Nzc4Nzk3QTdCN0M3RDdFN0Y4 MDgxODI4Mzg0ODU4Njg3ODg4OThBOEI4QzhEOEU4RjkwOTE5MjkzOTQ5NTk2OTc5ODk5OUE5QjlD OUQ5RTlGQTBBMUEyQTNBNEE1QTZBN0E4QTlBQUFCQUNBREFFQUZCMEIxQjJCM0I0QjVCNkI3QjhC OUJBQkJCQ0JEQkVCRkMwQzFDMkMzQzRDNUM2QzcKLUBAIC0zNzQsMTIgKzM4MCwxNCBAQCBDdHJs ID0gc2l6ZTo2NAorQEAgLTM4NiwxMiArMzkyLDE0IEBAIEN0cmwgPSBzaXplOjY0CiAgCiAgVGl0 bGUgPSBLTUFDIFhPRiBUZXN0cyAoRnJvbSBOSVNUKQogIApAQCAtNDgyLDcgKzUxNSw3IEBAIGRp ZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwbWFj X2NvbW1vbi50eHQuZmlwc21pbjMgCiAgTUFDID0gS01BQzEyOAogIEtleSA9IDQwNDE0MjQzNDQ0 NTQ2NDc0ODQ5NEE0QjRDNEQ0RTRGNTA1MTUyNTM1NDU1NTY1NzU4NTk1QTVCNUM1RDVFNUYKICBJ bnB1dCA9IDAwMDEwMjAzCi1AQCAtMzg3LDYgKzM5NSw3IEBAIEN1c3RvbSA9ICJNeSBUYWdnZWQg QXBwbGljYXRpb24iCitAQCAtMzk5LDYgKzQwNyw3IEBAIEN1c3RvbSA9ICJNeSBUYWdnZWQgQXBw bGljYXRpb24iCiAgT3V0cHV0ID0gMzFBNDQ1MjdCNEVEOUY1QzYxMDFEMTFERTZEMjZGMDYyMEFB NUMzNDFERUY0MTI5OTY1N0ZFOURGMUEzQjE2QwogIFhPRiA9IDEKICAKQEAgLTQ5MCw3ICs1MjMs NyBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9kYXRh L2V2cG1hY19jb21tb24udHh0LmZpcHNtaW4zIAogIE1BQyA9IEtNQUMxMjgKICBLZXkgPSA0MDQx NDI0MzQ0NDU0NjQ3NDg0OTRBNEI0QzRENEU0RjUwNTE1MjUzNTQ1NTU2NTc1ODU5NUE1QjVDNUQ1 RTVGCiAgSW5wdXQgPSAwMDAxMDIwMzA0MDUwNjA3MDgwOTBBMEIwQzBEMEUwRjEwMTExMjEzMTQx NTE2MTcxODE5MUExQjFDMUQxRTFGMjAyMTIyMjMyNDI1MjYyNzI4MjkyQTJCMkMyRDJFMkYzMDMx MzIzMzM0MzUzNjM3MzgzOTNBM0IzQzNEM0UzRjQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NEE0QjRDNEQ0 RTRGNTA1MTUyNTM1NDU1NTY1NzU4NTk1QTVCNUM1RDVFNUY2MDYxNjI2MzY0NjU2NjY3Njg2OTZB NkI2QzZENkU2RjcwNzE3MjczNzQ3NTc2Nzc3ODc5N0E3QjdDN0Q3RTdGODA4MTgyODM4NDg1ODY4 Nzg4ODk4QThCOEM4RDhFOEY5MDkxOTI5Mzk0OTU5Njk3OTg5OTlBOUI5QzlEOUU5RkEwQTFBMkEz QTRBNUE2QTdBOEE5QUFBQkFDQURBRUFGQjBCMUIyQjNCNEI1QjZCN0I4QjlCQUJCQkNCREJFQkZD MEMxQzJDM0M0QzVDNkM3Ci1AQCAtMzk1LDYgKzQwNCw3IEBAIE91dHB1dCA9IDQ3MDI2QzdDRDc5 MzA4NEFBMDI4M0MyNTNFRjY1ODQKK0BAIC00MDcsNiArNDE2LDcgQEAgT3V0cHV0ID0gNDcwMjZD N0NENzkzMDg0QUEwMjgzQzI1M0VGNjU4NDkwQzBEQjYxNDM4QjgzMjZGRTlCRERGMjgxQjgzQUUw RgogIFhPRiA9IDEKICBDdHJsID0gc2l6ZTozMgogIApAQCAtNDk4LDcgKzUzMSw3IEBAIGRpZmYg LXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwbWFjX2Nv bW1vbi50eHQuZmlwc21pbjMgCiAgTUFDID0gS01BQzI1NgogIEtleSA9IDQwNDE0MjQzNDQ0NTQ2 NDc0ODQ5NEE0QjRDNEQ0RTRGNTA1MTUyNTM1NDU1NTY1NzU4NTk1QTVCNUM1RDVFNUYKICBJbnB1 dCA9IDAwMDEwMjAzCi1AQCAtNDAyLDYgKzQxMiw3IEBAIEN1c3RvbSA9ICJNeSBUYWdnZWQgQXBw bGljYXRpb24iCitAQCAtNDE0LDYgKzQyNCw3IEBAIEN1c3RvbSA9ICJNeSBUYWdnZWQgQXBwbGlj YXRpb24iCiAgT3V0cHV0ID0gMTc1NTEzM0YxNTM0NzUyQUFEMDc0OEYyQzcwNkZCNUM3ODQ1MTJD QUI4MzVDRDE1Njc2QjE2QzBDNjY0N0ZBOTZGQUE3QUY2MzRBMEJGOEZGNkRGMzkzNzRGQTAwRkFE OUEzOUUzMjJBN0M5MjA2NUE2NEVCMUZCMDgwMUVCMkIKICBYT0YgPSAxCiAgCkBAIC01MDYsNyAr NTM5LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBf ZGF0YS9ldnBtYWNfY29tbW9uLnR4dC5maXBzbWluMyAKICBNQUMgPSBLTUFDMjU2CiAgS2V5ID0g NDA0MTQyNDM0NDQ1NDY0NzQ4NDk0QTRCNEM0RDRFNEY1MDUxNTI1MzU0NTU1NjU3NTg1OTVBNUI1 QzVENUU1RgogIElucHV0ID0gMDAwMTAyMDMwNDA1MDYwNzA4MDkwQTBCMEMwRDBFMEYxMDExMTIx MzE0MTUxNjE3MTgxOTFBMUIxQzFEMUUxRjIwMjEyMjIzMjQyNTI2MjcyODI5MkEyQjJDMkQyRTJG MzAzMTMyMzMzNDM1MzYzNzM4MzkzQTNCM0MzRDNFM0Y0MDQxNDI0MzQ0NDU0NjQ3NDg0OTRBNEI0 QzRENEU0RjUwNTE1MjUzNTQ1NTU2NTc1ODU5NUE1QjVDNUQ1RTVGNjA2MTYyNjM2NDY1NjY2NzY4 Njk2QTZCNkM2RDZFNkY3MDcxNzI3Mzc0NzU3Njc3Nzg3OTdBN0I3QzdEN0U3RjgwODE4MjgzODQ4 NTg2ODc4ODg5OEE4QjhDOEQ4RThGOTA5MTkyOTM5NDk1OTY5Nzk4OTk5QTlCOUM5RDlFOUZBMEEx QTJBM0E0QTVBNkE3QThBOUFBQUJBQ0FEQUVBRkIwQjFCMkIzQjRCNUI2QjdCOEI5QkFCQkJDQkRC RUJGQzBDMUMyQzNDNEM1QzZDNwotQEAgLTQwOSw2ICs0MjAsNyBAQCBDdXN0b20gPSAiIgorQEAg LTQyMSw2ICs0MzIsNyBAQCBDdXN0b20gPSAiIgogIE91dHB1dCA9IEZGN0IxNzFGMUU4QTJCMjQ2 ODNFRUQzNzgzMEVFNzk3NTM4QkE4REM1NjNGNkRBMUU2NjczOTFBNzVFREMwMkNBNjMzMDc5Rjgx Q0UxMkEyNUY0NTYxNUVDODk5NzIwMzFEMTgzMzczMzFEMjRDRUI4RjhDQThFNkExOUZEOThCCiAg WE9GID0gMQogIApAQCAtNTE0LDcgKzU0Nyw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVz dC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwbWFjX2NvbW1vbi50eHQuZmlwc21pbjMgCiAg TUFDID0gS01BQzI1NgogIEtleSA9IDQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NEE0QjRDNEQ0RTRGNTA1 MTUyNTM1NDU1NTY1NzU4NTk1QTVCNUM1RDVFNUYKICBJbnB1dCA9IDAwMDEwMjAzMDQwNTA2MDcw ODA5MEEwQjBDMEQwRTBGMTAxMTEyMTMxNDE1MTYxNzE4MTkxQTFCMUMxRDFFMUYyMDIxMjIyMzI0 MjUyNjI3MjgyOTJBMkIyQzJEMkUyRjMwMzEzMjMzMzQzNTM2MzczODM5M0EzQjNDM0QzRTNGNDA0 MTQyNDM0NDQ1NDY0NzQ4NDk0QTRCNEM0RDRFNEY1MDUxNTI1MzU0NTU1NjU3NTg1OTVBNUI1QzVE NUU1RjYwNjE2MjYzNjQ2NTY2Njc2ODY5NkE2QjZDNkQ2RTZGNzA3MTcyNzM3NDc1NzY3Nzc4Nzk3 QTdCN0M3RDdFN0Y4MDgxODI4Mzg0ODU4Njg3ODg4OThBOEI4QzhEOEU4RjkwOTE5MjkzOTQ5NTk2 OTc5ODk5OUE5QjlDOUQ5RTlGQTBBMUEyQTNBNEE1QTZBN0E4QTlBQUFCQUNBREFFQUZCMEIxQjJC M0I0QjVCNkI3QjhCOUJBQkJCQ0JEQkVCRkMwQzFDMkMzQzRDNUM2QzcKLUBAIC00MTksNiArNDMx LDcgQEAgWE9GID0gMQorQEAgLTQzMSw2ICs0NDMsNyBAQCBYT0YgPSAxCiAgCiAgVGl0bGUgPSBL TUFDIGxvbmcgY3VzdG9taXNhdGlvbiBzdHJpbmcgKGZyb20gTklTVCBBQ1ZQKQogIApAQCAtNTIy LDcgKzU1NSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzMwLXRlc3Rf ZXZwX2RhdGEvZXZwbWFjX2NvbW1vbi50eHQuZmlwc21pbjMgCiAgTUFDID0gS01BQzI1NgogIEtl eSA9IDk3NDNEQkY5MzEwMkZBRjExMjI3QjE1NEI4QUNEMTZDRjE0MjY3MUY3QUExNkM1NTlBMzkz QTM4QjRDRUY0NjFFRDI5QTZBMzI4RDczNzlDOTk3MTg3OTBFMzhCNTRDQTI1RTlFODMxQ0JFQTQ2 M0VFNzA0RDE2ODlGOTQ2MjlBQjc5NURGMEM3N0Y3NTZEQTc0MzMwOUMwRTA1NDU5NkJBMkQ5Q0Mx NzY4QUNGN0NEMzUxRDlBN0VCMUFCRDBBMwogIElucHV0ID0gQkE2M0FDOUM3MTFGMTQzQ0NFN0ZG OTJEMDMyMjY0OUQxQkU0MzdEODA1RkQyMjVDMEEyODc5QTAwODM3M0VDM0JDQ0RCMDk5NzFGQUQy QkNFNUY0MzQ3QUY3RTUyMzhFRjAxQTkwRUQzNDE5M0Q2QUZDMUQKLUBAIC00MjksMTIgKzQ0Miwx NCBAQCBYT0YgPSAxCitAQCAtNDQxLDEyICs0NTQsMTQgQEAgWE9GID0gMQogIAogIFRpdGxlID0g S01BQyBYT0YgVGVzdHMgdmlhIGN0cmwgKEZyb20gTklTVCkKICAKQEAgLTUzNyw3ICs1NzAsNyBA QCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9kYXRhL2V2 cG1hY19jb21tb24udHh0LmZpcHNtaW4zIAogIE1BQyA9IEtNQUMxMjgKICBLZXkgPSA0MDQxNDI0 MzQ0NDU0NjQ3NDg0OTRBNEI0QzRENEU0RjUwNTE1MjUzNTQ1NTU2NTc1ODU5NUE1QjVDNUQ1RTVG CiAgSW5wdXQgPSAwMDAxMDIwMwotQEAgLTQ0Miw2ICs0NTcsNyBAQCBDdXN0b20gPSAiTXkgVGFn Z2VkIEFwcGxpY2F0aW9uIgorQEAgLTQ1NCw2ICs0NjksNyBAQCBDdXN0b20gPSAiTXkgVGFnZ2Vk IEFwcGxpY2F0aW9uIgogIE91dHB1dCA9IDMxQTQ0NTI3QjRFRDlGNUM2MTAxRDExREU2RDI2RjA2 MjBBQTVDMzQxREVGNDEyOTk2NTdGRTlERjFBM0IxNkMKICBDdHJsID0geG9mOjEKICAKQEAgLTU0 NSw3ICs1NzgsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy8zMC10ZXN0 X2V2cF9kYXRhL2V2cG1hY19jb21tb24udHh0LmZpcHNtaW4zIAogIE1BQyA9IEtNQUMxMjgKICBL ZXkgPSA0MDQxNDI0MzQ0NDU0NjQ3NDg0OTRBNEI0QzRENEU0RjUwNTE1MjUzNTQ1NTU2NTc1ODU5 NUE1QjVDNUQ1RTVGCiAgSW5wdXQgPSAwMDAxMDIwMzA0MDUwNjA3MDgwOTBBMEIwQzBEMEUwRjEw MTExMjEzMTQxNTE2MTcxODE5MUExQjFDMUQxRTFGMjAyMTIyMjMyNDI1MjYyNzI4MjkyQTJCMkMy RDJFMkYzMDMxMzIzMzM0MzUzNjM3MzgzOTNBM0IzQzNEM0UzRjQwNDE0MjQzNDQ0NTQ2NDc0ODQ5 NEE0QjRDNEQ0RTRGNTA1MTUyNTM1NDU1NTY1NzU4NTk1QTVCNUM1RDVFNUY2MDYxNjI2MzY0NjU2 NjY3Njg2OTZBNkI2QzZENkU2RjcwNzE3MjczNzQ3NTc2Nzc3ODc5N0E3QjdDN0Q3RTdGODA4MTgy ODM4NDg1ODY4Nzg4ODk4QThCOEM4RDhFOEY5MDkxOTI5Mzk0OTU5Njk3OTg5OTlBOUI5QzlEOUU5 RkEwQTFBMkEzQTRBNUE2QTdBOEE5QUFBQkFDQURBRUFGQjBCMUIyQjNCNEI1QjZCN0I4QjlCQUJC QkNCREJFQkZDMEMxQzJDM0M0QzVDNkM3Ci1AQCAtNDUwLDYgKzQ2Niw3IEBAIE91dHB1dCA9IDQ3 MDI2QzdDRDc5MzA4NEFBMDI4M0MyNTNFRjY1ODQKK0BAIC00NjIsNiArNDc4LDcgQEAgT3V0cHV0 ID0gNDcwMjZDN0NENzkzMDg0QUEwMjgzQzI1M0VGNjU4NDkwQzBEQjYxNDM4QjgzMjZGRTlCRERG MjgxQjgzQUUwRgogIEN0cmwgPSB4b2Y6MQogIEN0cmwgPSBzaXplOjMyCiAgCkBAIC01NTMsNyAr NTg2LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBf ZGF0YS9ldnBtYWNfY29tbW9uLnR4dC5maXBzbWluMyAKICBNQUMgPSBLTUFDMjU2CiAgS2V5ID0g NDA0MTQyNDM0NDQ1NDY0NzQ4NDk0QTRCNEM0RDRFNEY1MDUxNTI1MzU0NTU1NjU3NTg1OTVBNUI1 QzVENUU1RgogIElucHV0ID0gMDAwMTAyMDMKLUBAIC00NTcsNiArNDc0LDcgQEAgQ3VzdG9tID0g Ik15IFRhZ2dlZCBBcHBsaWNhdGlvbiIKK0BAIC00NjksNiArNDg2LDcgQEAgQ3VzdG9tID0gIk15 IFRhZ2dlZCBBcHBsaWNhdGlvbiIKICBPdXRwdXQgPSAxNzU1MTMzRjE1MzQ3NTJBQUQwNzQ4RjJD NzA2RkI1Qzc4NDUxMkNBQjgzNUNEMTU2NzZCMTZDMEM2NjQ3RkE5NkZBQTdBRjYzNEEwQkY4RkY2 REYzOTM3NEZBMDBGQUQ5QTM5RTMyMkE3QzkyMDY1QTY0RUIxRkIwODAxRUIyQgogIEN0cmwgPSB4 b2Y6MQogIApAQCAtNTYxLDcgKzU5NCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9y ZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwbWFjX2NvbW1vbi50eHQuZmlwc21pbjMgCiAgTUFD ID0gS01BQzI1NgogIEtleSA9IDQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NEE0QjRDNEQ0RTRGNTA1MTUy NTM1NDU1NTY1NzU4NTk1QTVCNUM1RDVFNUYKICBJbnB1dCA9IDAwMDEwMjAzMDQwNTA2MDcwODA5 MEEwQjBDMEQwRTBGMTAxMTEyMTMxNDE1MTYxNzE4MTkxQTFCMUMxRDFFMUYyMDIxMjIyMzI0MjUy NjI3MjgyOTJBMkIyQzJEMkUyRjMwMzEzMjMzMzQzNTM2MzczODM5M0EzQjNDM0QzRTNGNDA0MTQy NDM0NDQ1NDY0NzQ4NDk0QTRCNEM0RDRFNEY1MDUxNTI1MzU0NTU1NjU3NTg1OTVBNUI1QzVENUU1 RjYwNjE2MjYzNjQ2NTY2Njc2ODY5NkE2QjZDNkQ2RTZGNzA3MTcyNzM3NDc1NzY3Nzc4Nzk3QTdC N0M3RDdFN0Y4MDgxODI4Mzg0ODU4Njg3ODg4OThBOEI4QzhEOEU4RjkwOTE5MjkzOTQ5NTk2OTc5 ODk5OUE5QjlDOUQ5RTlGQTBBMUEyQTNBNEE1QTZBN0E4QTlBQUFCQUNBREFFQUZCMEIxQjJCM0I0 QjVCNkI3QjhCOUJBQkJCQ0JEQkVCRkMwQzFDMkMzQzRDNUM2QzcKLUBAIC00NjQsNiArNDgyLDcg QEAgQ3VzdG9tID0gIiIKK0BAIC00NzYsNiArNDk0LDcgQEAgQ3VzdG9tID0gIiIKICBPdXRwdXQg PSBGRjdCMTcxRjFFOEEyQjI0NjgzRUVEMzc4MzBFRTc5NzUzOEJBOERDNTYzRjZEQTFFNjY3Mzkx QTc1RURDMDJDQTYzMzA3OUY4MUNFMTJBMjVGNDU2MTVFQzg5OTcyMDMxRDE4MzM3MzMxRDI0Q0VC OEY4Q0E4RTZBMTlGRDk4QgogIEN0cmwgPSB4b2Y6MQogIApAQCAtNTY5LDcgKzYwMiw3IEBAIGRp ZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwbWFj X2NvbW1vbi50eHQuZmlwc21pbjMgCiAgTUFDID0gS01BQzI1NgogIEtleSA9IDQwNDE0MjQzNDQ0 NTQ2NDc0ODQ5NEE0QjRDNEQ0RTRGNTA1MTUyNTM1NDU1NTY1NzU4NTk1QTVCNUM1RDVFNUYKICBJ bnB1dCA9IDAwMDEwMjAzMDQwNTA2MDcwODA5MEEwQjBDMEQwRTBGMTAxMTEyMTMxNDE1MTYxNzE4 MTkxQTFCMUMxRDFFMUYyMDIxMjIyMzI0MjUyNjI3MjgyOTJBMkIyQzJEMkUyRjMwMzEzMjMzMzQz NTM2MzczODM5M0EzQjNDM0QzRTNGNDA0MTQyNDM0NDQ1NDY0NzQ4NDk0QTRCNEM0RDRFNEY1MDUx NTI1MzU0NTU1NjU3NTg1OTVBNUI1QzVENUU1RjYwNjE2MjYzNjQ2NTY2Njc2ODY5NkE2QjZDNkQ2 RTZGNzA3MTcyNzM3NDc1NzY3Nzc4Nzk3QTdCN0M3RDdFN0Y4MDgxODI4Mzg0ODU4Njg3ODg4OThB OEI4QzhEOEU4RjkwOTE5MjkzOTQ5NTk2OTc5ODk5OUE5QjlDOUQ5RTlGQTBBMUEyQTNBNEE1QTZB N0E4QTlBQUFCQUNBREFFQUZCMEIxQjJCM0I0QjVCNkI3QjhCOUJBQkJCQ0JEQkVCRkMwQzFDMkMz QzRDNUM2QzcKLUBAIC00NzQsNiArNDkzLDcgQEAgQ3RybCA9IHhvZjoxCitAQCAtNDg2LDYgKzUw NSw3IEBAIEN0cmwgPSB4b2Y6MQogIAogIFRpdGxlID0gS01BQyBsb25nIGN1c3RvbWlzYXRpb24g c3RyaW5nIHZpYSBjdHJsIChmcm9tIE5JU1QgQUNWUCkKICAKQEAgLTU3Nyw3ICs2MTAsNyBAQCBk aWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9kYXRhL2V2cG1h Y19jb21tb24udHh0LmZpcHNtaW4zIAogIE1BQyA9IEtNQUMyNTYKICBLZXkgPSA5NzQzREJGOTMx MDJGQUYxMTIyN0IxNTRCOEFDRDE2Q0YxNDI2NzFGN0FBMTZDNTU5QTM5M0EzOEI0Q0VGNDYxRUQy OUE2QTMyOEQ3Mzc5Qzk5NzE4NzkwRTM4QjU0Q0EyNUU5RTgzMUNCRUE0NjNFRTcwNEQxNjg5Rjk0 NjI5QUI3OTVERjBDNzdGNzU2REE3NDMzMDlDMEUwNTQ1OTZCQTJEOUNDMTc2OEFDRjdDRDM1MUQ5 QTdFQjFBQkQwQTMKICBJbnB1dCA9IEJBNjNBQzlDNzExRjE0M0NDRTdGRjkyRDAzMjI2NDlEMUJF NDM3RDgwNUZEMjI1QzBBMjg3OUEwMDgzNzNFQzNCQ0NEQjA5OTcxRkFEMkJDRTVGNDM0N0FGN0U1 MjM4RUYwMUE5MEVEMzQxOTNENkFGQzFECi1AQCAtNDg0LDYgKzUwNCw3IEBAIEN0cmwgPSB4b2Y6 MQorQEAgLTQ5Niw2ICs1MTYsNyBAQCBDdHJsID0geG9mOjEKICAKICBUaXRsZSA9IEtNQUMgbG9u ZyBjdXN0b21pc2F0aW9uIHN0cmluZyBuZWdhdGl2ZSB0ZXN0CiAgCkBAIC01ODUsNyArNjE4LDcg QEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9l dnBtYWNfY29tbW9uLnR4dC5maXBzbWluMyAKICBNQUMgPSBLTUFDMTI4CiAgS2V5ID0gNDA0MTQy NDM0NDQ1NDY0NzQ4NDk0QTRCNEM0RDRFNEY1MDUxNTI1MzU0NTU1NjU3NTg1OTVBNUI1QzVENUU1 RgogIElucHV0ID0gMDAwMTAyMDMwNDA1MDYwNzA4MDkwQTBCMEMwRDBFMEYxMDExMTIxMzE0MTUx NjE3MTgxOTFBMUIxQzFEMUUxRjIwMjEyMjIzMjQyNTI2MjcyODI5MkEyQjJDMkQyRTJGMzAzMTMy MzMzNDM1MzYzNzM4MzkzQTNCM0MzRDNFM0Y0MDQxNDI0MzQ0NDU0NjQ3NDg0OTRBNEI0QzRENEU0 RjUwNTE1MjUzNTQ1NTU2NTc1ODU5NUE1QjVDNUQ1RTVGNjA2MTYyNjM2NDY1NjY2NzY4Njk2QTZC NkM2RDZFNkY3MDcxNzI3Mzc0NzU3Njc3Nzg3OTdBN0I3QzdEN0U3RjgwODE4MjgzODQ4NTg2ODc4 ODg5OEE4QjhDOEQ4RThGOTA5MTkyOTM5NDk1OTY5Nzk4OTk5QTlCOUM5RDlFOUZBMEExQTJBM0E0 QTVBNkE3QThBOUFBQUJBQ0FEQUVBRkIwQjFCMkIzQjRCNUI2QjdCOEI5QkFCQkJDQkRCRUJGQzBD MUMyQzNDNEM1QzZDNwotQEAgLTQ5Miw2ICs1MTMsNyBAQCBSZXN1bHQgPSBNQUNfSU5JVF9FUlJP UgorQEAgLTUwNCw2ICs1MjUsNyBAQCBSZXN1bHQgPSBNQUNfSU5JVF9FUlJPUgogIAogIFRpdGxl ID0gS01BQyBvdXRwdXQgaXMgdG9vIGxhcmdlCiAgCkBAIC01OTMsMTAgKzYyNiwxMTQgQEAgZGlm ZiAtdXAgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9ldnBtYWNf Y29tbW9uLnR4dC5maXBzbWluMyAKICBNQUMgPSBLTUFDMjU2CiAgS2V5ID0gNDA0MTQyNDM0NDQ1 NDY0NzQ4NDk0QTRCNEM0RDRFNEY1MDUxNTI1MzU0NTU1NjU3NTg1OTVBNUI1QzVENUU1RgogIElu cHV0ID0gMDAwMTAyMDMwNDA1MDYwNzA4MDkwQTBCMEMwRDBFMEYxMDExMTIxMzE0MTUxNjE3MTgx OTFBMUIxQzFEMUUxRjIwMjEyMjIzMjQyNTI2MjcyODI5MkEyQjJDMkQyRTJGMzAzMTMyMzMzNDM1 MzYzNzM4MzkzQTNCM0MzRDNFM0Y0MDQxNDI0MzQ0NDU0NjQ3NDg0OTRBNEI0QzRENEU0RjUwNTE1 MjUzNTQ1NTU2NTc1ODU5NUE1QjVDNUQ1RTVGNjA2MTYyNjM2NDY1NjY2NzY4Njk2QTZCNkM2RDZF NkY3MDcxNzI3Mzc0NzU3Njc3Nzg3OTdBN0I3QzdEN0U3RjgwODE4MjgzODQ4NTg2ODc4ODg5OEE4 QjhDOEQ4RThGOTA5MTkyOTM5NDk1OTY5Nzk4OTk5QTlCOUM5RDlFOUZBMEExQTJBM0E0QTVBNkE3 QThBOUFBQUJBQ0FEQUVBRkIwQjFCMkIzQjRCNUI2QjdCOEI5QkFCQkJDQkRCRUJGQzBDMUMyQzND NEM1QzZDNwotZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvODAtdGVzdF9zc2xf b2xkLnQuZmlwc21pbjMgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvODAtdGVzdF9zc2xfb2xk LnQKLS0tLSBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy84MC10ZXN0X3NzbF9vbGQudC5maXBz bWluMwkyMDIyLTA1LTA1IDE2OjAyOjU5Ljc0NTUwMDYzNSArMDIwMAotKysrIG9wZW5zc2wtMy4w LjEvdGVzdC9yZWNpcGVzLzgwLXRlc3Rfc3NsX29sZC50CTIwMjItMDUtMDUgMTY6MTA6MjQuMDcx MzQ4ODkwICswMjAwCi1AQCAtNDI2LDcgKzQyNiw3IEBAIHN1YiB0ZXN0c3NsIHsKK2RpZmYgLS1n aXQgYS90ZXN0L3JlY2lwZXMvODAtdGVzdF9jbXMudCBiL3Rlc3QvcmVjaXBlcy84MC10ZXN0X2Nt cy50CitpbmRleCA0MGRkNTg1YzE4Li5jYmVjNDI2MTM3IDEwMDY0NAorLS0tIGEvdGVzdC9yZWNp cGVzLzgwLXRlc3RfY21zLnQKKysrKyBiL3Rlc3QvcmVjaXBlcy84MC10ZXN0X2Ntcy50CitAQCAt OTYsNyArOTYsNyBAQCBteSBAc21pbWVfcGtjczdfdGVzdHMgPSAoCisgICAgICAgXCZmaW5hbF9j b21wYXJlCisgICAgIF0sCisgCistICAgIFsgInNpZ25lZCBjb250ZW50IERFUiBmb3JtYXQsIERT QSBrZXkiLAorKyAgICBbICJzaWduZWQgY29udGVudCBERVIgZm9ybWF0LCBEU0Ega2V5LCBubyBS ZWQgSGF0IEZJUFMiLAorICAgICAgIFsgIntjbWQxfSIsIEBwcm92LCAiLXNpZ24iLCAiLWluIiwg JHNtY29udCwgIi1vdXRmb3JtIiwgIkRFUiIsICItbm9kZXRhY2giLAorICAgICAgICAgIi1zaWdu ZXIiLCBjYXRmaWxlKCRzbWRpciwgInNtZHNhMS5wZW0iKSwgIi1vdXQiLCAie291dHB1dH0uY21z IiBdLAorICAgICAgIFsgIntjbWQyfSIsIEBwcm92LCAiLXZlcmlmeSIsICItaW4iLCAie291dHB1 dH0uY21zIiwgIi1pbmZvcm0iLCAiREVSIiwKK0BAIC0xMDQsNyArMTA0LDcgQEAgbXkgQHNtaW1l X3BrY3M3X3Rlc3RzID0gKAorICAgICAgIFwmZmluYWxfY29tcGFyZQorICAgICBdLAorIAorLSAg ICBbICJzaWduZWQgZGV0YWNoZWQgY29udGVudCBERVIgZm9ybWF0LCBEU0Ega2V5IiwKKysgICAg WyAic2lnbmVkIGRldGFjaGVkIGNvbnRlbnQgREVSIGZvcm1hdCwgRFNBIGtleSwgbm8gUmVkIEhh dCBGSVBTIiwKKyAgICAgICBbICJ7Y21kMX0iLCBAcHJvdiwgIi1zaWduIiwgIi1pbiIsICRzbWNv bnQsICItb3V0Zm9ybSIsICJERVIiLAorICAgICAgICAgIi1zaWduZXIiLCBjYXRmaWxlKCRzbWRp ciwgInNtZHNhMS5wZW0iKSwgIi1vdXQiLCAie291dHB1dH0uY21zIiBdLAorICAgICAgIFsgIntj bWQyfSIsIEBwcm92LCAiLXZlcmlmeSIsICItaW4iLCAie291dHB1dH0uY21zIiwgIi1pbmZvcm0i LCAiREVSIiwKK0BAIC0xMTMsNyArMTEzLDcgQEAgbXkgQHNtaW1lX3BrY3M3X3Rlc3RzID0gKAor ICAgICAgIFwmZmluYWxfY29tcGFyZQorICAgICBdLAorIAorLSAgICBbICJzaWduZWQgZGV0YWNo ZWQgY29udGVudCBERVIgZm9ybWF0LCBhZGQgUlNBIHNpZ25lciAod2l0aCBEU0EgZXhpc3Rpbmcp IiwKKysgICAgWyAic2lnbmVkIGRldGFjaGVkIGNvbnRlbnQgREVSIGZvcm1hdCwgYWRkIFJTQSBz aWduZXIgKHdpdGggRFNBIGV4aXN0aW5nKSwgbm8gUmVkIEhhdCBGSVBTIiwKKyAgICAgICBbICJ7 Y21kMX0iLCBAcHJvdiwgIi1zaWduIiwgIi1pbiIsICRzbWNvbnQsICItb3V0Zm9ybSIsICJERVIi LAorICAgICAgICAgIi1zaWduZXIiLCBjYXRmaWxlKCRzbWRpciwgInNtZHNhMS5wZW0iKSwgIi1v dXQiLCAie291dHB1dH0uY21zIiBdLAorICAgICAgIFsgIntjbWQxfSIsIEBwcm92LCAiLXJlc2ln biIsICItaW4iLCAie291dHB1dH0uY21zIiwgIi1pbmZvcm0iLCAiREVSIiwgIi1vdXRmb3JtIiwg IkRFUiIsCitAQCAtMTI0LDcgKzEyNCw3IEBAIG15IEBzbWltZV9wa2NzN190ZXN0cyA9ICgKKyAg ICAgICBcJmZpbmFsX2NvbXBhcmUKKyAgICAgXSwKKyAKKy0gICAgWyAic2lnbmVkIGNvbnRlbnQg dGVzdCBzdHJlYW1pbmcgQkVSIGZvcm1hdCwgRFNBIGtleSIsCisrICAgIFsgInNpZ25lZCBjb250 ZW50IHRlc3Qgc3RyZWFtaW5nIEJFUiBmb3JtYXQsIERTQSBrZXksIG5vIFJlZCBIYXQgRklQUyIs CisgICAgICAgWyAie2NtZDF9IiwgQHByb3YsICItc2lnbiIsICItaW4iLCAkc21jb250LCAiLW91 dGZvcm0iLCAiREVSIiwKKyAgICAgICAgICItbm9kZXRhY2giLCAiLXN0cmVhbSIsCisgICAgICAg ICAiLXNpZ25lciIsIGNhdGZpbGUoJHNtZGlyLCAic21kc2ExLnBlbSIpLCAiLW91dCIsICJ7b3V0 cHV0fS5jbXMiIF0sCitAQCAtMTMzLDcgKzEzMyw3IEBAIG15IEBzbWltZV9wa2NzN190ZXN0cyA9 ICgKKyAgICAgICBcJmZpbmFsX2NvbXBhcmUKKyAgICAgXSwKKyAKKy0gICAgWyAic2lnbmVkIGNv bnRlbnQgdGVzdCBzdHJlYW1pbmcgQkVSIGZvcm1hdCwgMiBEU0EgYW5kIDIgUlNBIGtleXMiLAor KyAgICBbICJzaWduZWQgY29udGVudCB0ZXN0IHN0cmVhbWluZyBCRVIgZm9ybWF0LCAyIERTQSBh bmQgMiBSU0Ega2V5cywgbm8gUmVkIEhhdCBGSVBTIiwKKyAgICAgICBbICJ7Y21kMX0iLCBAcHJv diwgIi1zaWduIiwgIi1pbiIsICRzbWNvbnQsICItb3V0Zm9ybSIsICJERVIiLAorICAgICAgICAg Ii1ub2RldGFjaCIsICItc3RyZWFtIiwKKyAgICAgICAgICItc2lnbmVyIiwgJHNtcnNhMSwKK0BA IC0xNDYsNyArMTQ2LDcgQEAgbXkgQHNtaW1lX3BrY3M3X3Rlc3RzID0gKAorICAgICAgIFwmZmlu YWxfY29tcGFyZQorICAgICBdLAorIAorLSAgICBbICJzaWduZWQgY29udGVudCB0ZXN0IHN0cmVh bWluZyBCRVIgZm9ybWF0LCAyIERTQSBhbmQgMiBSU0Ega2V5cywgbm8gYXR0cmlidXRlcyIsCisr ICAgIFsgInNpZ25lZCBjb250ZW50IHRlc3Qgc3RyZWFtaW5nIEJFUiBmb3JtYXQsIDIgRFNBIGFu ZCAyIFJTQSBrZXlzLCBubyBhdHRyaWJ1dGVzLCBubyBSZWQgSGF0IEZJUFMiLAorICAgICAgIFsg IntjbWQxfSIsIEBwcm92LCAiLXNpZ24iLCAiLWluIiwgJHNtY29udCwgIi1vdXRmb3JtIiwgIkRF UiIsCisgICAgICAgICAiLW5vYXR0ciIsICItbm9kZXRhY2giLCAiLXN0cmVhbSIsCisgICAgICAg ICAiLXNpZ25lciIsICRzbXJzYTEsCitAQCAtMTc2LDcgKzE3Niw3IEBAIG15IEBzbWltZV9wa2Nz N190ZXN0cyA9ICgKKyAgICAgICBcJnplcm9fY29tcGFyZQorICAgICBdLAorIAorLSAgICBbICJz aWduZWQgY29udGVudCB0ZXN0IHN0cmVhbWluZyBTL01JTUUgZm9ybWF0LCAyIERTQSBhbmQgMiBS U0Ega2V5cyIsCisrICAgIFsgInNpZ25lZCBjb250ZW50IHRlc3Qgc3RyZWFtaW5nIFMvTUlNRSBm b3JtYXQsIDIgRFNBIGFuZCAyIFJTQSBrZXlzLCBubyBSZWQgSGF0IEZJUFMiLAorICAgICAgIFsg IntjbWQxfSIsIEBwcm92LCAiLXNpZ24iLCAiLWluIiwgJHNtY29udCwgIi1ub2RldGFjaCIsCisg ICAgICAgICAiLXNpZ25lciIsICRzbXJzYTEsCisgICAgICAgICAiLXNpZ25lciIsIGNhdGZpbGUo JHNtZGlyLCAic21yc2EyLnBlbSIpLAorQEAgLTE4OCw3ICsxODgsNyBAQCBteSBAc21pbWVfcGtj czdfdGVzdHMgPSAoCisgICAgICAgXCZmaW5hbF9jb21wYXJlCisgICAgIF0sCisgCistICAgIFsg InNpZ25lZCBjb250ZW50IHRlc3Qgc3RyZWFtaW5nIG11bHRpcGFydCBTL01JTUUgZm9ybWF0LCAy IERTQSBhbmQgMiBSU0Ega2V5cyIsCisrICAgIFsgInNpZ25lZCBjb250ZW50IHRlc3Qgc3RyZWFt aW5nIG11bHRpcGFydCBTL01JTUUgZm9ybWF0LCAyIERTQSBhbmQgMiBSU0Ega2V5cywgbm8gUmVk IEhhdCBGSVBTIiwKKyAgICAgICBbICJ7Y21kMX0iLCBAcHJvdiwgIi1zaWduIiwgIi1pbiIsICRz bWNvbnQsCisgICAgICAgICAiLXNpZ25lciIsICRzbXJzYTEsCisgICAgICAgICAiLXNpZ25lciIs IGNhdGZpbGUoJHNtZGlyLCAic21yc2EyLnBlbSIpLAorQEAgLTI0OCw3ICsyNDgsNyBAQCBteSBA c21pbWVfcGtjczdfdGVzdHMgPSAoCisgCisgbXkgQHNtaW1lX2Ntc190ZXN0cyA9ICgKKyAKKy0g ICAgWyAic2lnbmVkIGNvbnRlbnQgdGVzdCBzdHJlYW1pbmcgQkVSIGZvcm1hdCwgMiBEU0EgYW5k IDIgUlNBIGtleXMsIGtleWlkIiwKKysgICAgWyAic2lnbmVkIGNvbnRlbnQgdGVzdCBzdHJlYW1p bmcgQkVSIGZvcm1hdCwgMiBEU0EgYW5kIDIgUlNBIGtleXMsIGtleWlkLCBubyBSZWQgSGF0IEZJ UFMiLAorICAgICAgIFsgIntjbWQxfSIsIEBwcm92LCAiLXNpZ24iLCAiLWluIiwgJHNtY29udCwg Ii1vdXRmb3JtIiwgIkRFUiIsCisgICAgICAgICAiLW5vZGV0YWNoIiwgIi1rZXlpZCIsCisgICAg ICAgICAiLXNpZ25lciIsICRzbXJzYTEsCitAQCAtMjYxLDcgKzI2MSw3IEBAIG15IEBzbWltZV9j bXNfdGVzdHMgPSAoCisgICAgICAgXCZmaW5hbF9jb21wYXJlCisgICAgIF0sCisgCistICAgIFsg InNpZ25lZCBjb250ZW50IHRlc3Qgc3RyZWFtaW5nIFBFTSBmb3JtYXQsIDIgRFNBIGFuZCAyIFJT QSBrZXlzIiwKKysgICAgWyAic2lnbmVkIGNvbnRlbnQgdGVzdCBzdHJlYW1pbmcgUEVNIGZvcm1h dCwgMiBEU0EgYW5kIDIgUlNBIGtleXMsIG5vIFJlZCBIYXQgRklQUyIsCisgICAgICAgWyAie2Nt ZDF9IiwgQHByb3YsICItc2lnbiIsICItaW4iLCAkc21jb250LCAiLW91dGZvcm0iLCAiUEVNIiwg Ii1ub2RldGFjaCIsCisgICAgICAgICAiLXNpZ25lciIsICRzbXJzYTEsCisgICAgICAgICAiLXNp Z25lciIsIGNhdGZpbGUoJHNtZGlyLCAic21yc2EyLnBlbSIpLAorQEAgLTM3MSw3ICszNzEsNyBA QCBteSBAc21pbWVfY21zX3Rlc3RzID0gKAorICAgICAgIFwmZmluYWxfY29tcGFyZQorICAgICBd LAorIAorLSAgICBbICJlbmNyeXB0ZWQgY29udGVudCB0ZXN0IHN0cmVhbWluZyBQRU0gZm9ybWF0 LCB0cmlwbGUgREVTIGtleSIsCisrICAgIFsgImVuY3J5cHRlZCBjb250ZW50IHRlc3Qgc3RyZWFt aW5nIFBFTSBmb3JtYXQsIHRyaXBsZSBERVMga2V5LCBubyBSZWQgSGF0IEZJUFMiLAorICAgICAg IFsgIntjbWQxfSIsIEBwcm92LCAiLUVuY3J5cHRlZERhdGFfZW5jcnlwdCIsICItaW4iLCAkc21j b250LCAiLW91dGZvcm0iLCAiUEVNIiwKKyAgICAgICAgICItZGVzMyIsICItc2VjcmV0a2V5Iiwg IjAwMDEwMjAzMDQwNTA2MDcwODA5MEEwQjBDMEQwRTBGMTAxMTEyMTMxNDE1MTYxNyIsCisgICAg ICAgICAiLXN0cmVhbSIsICItb3V0IiwgIntvdXRwdXR9LmNtcyIgXSwKK2RpZmYgLS1naXQgYS90 ZXN0L3JlY2lwZXMvODAtdGVzdF9zc2xfb2xkLnQgYi90ZXN0L3JlY2lwZXMvODAtdGVzdF9zc2xf b2xkLnQKK2luZGV4IDUwYjc0YTFlMjkuLmUyZGNiNjhmYjUgMTAwNjQ0CistLS0gYS90ZXN0L3Jl Y2lwZXMvODAtdGVzdF9zc2xfb2xkLnQKKysrKyBiL3Rlc3QvcmVjaXBlcy84MC10ZXN0X3NzbF9v bGQudAorQEAgLTQzNiw3ICs0MzYsNyBAQCBzdWIgdGVzdHNzbCB7CiAgICAgICAgICBteSBAZXhr ZXlzID0gKCk7CiAgICAgICAgICBteSAkY2lwaGVycyA9ICctUFNLOi1TUlA6QFNFQ0xFVkVMPTAn OwogIApAQCAtNjA1LDk2ICs3NDIsNiBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVj aXBlcy84MC10ZXN0X3NzbF9vbGQudC5maXBzbWluMyBvcGVuc3NsLTMuMC4xL3RlcwogICAgICAg ICAgICAgIHB1c2ggQGV4a2V5cywgIi1zX2NlcnQiLCAiY2VydEQuc3MiLCAiLXNfa2V5IiwgJERr ZXk7CiAgICAgICAgICB9CiAgCi1kaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvZW5kZWNvZGVf dGVzdC5jLmZpcHNtaW4zIG9wZW5zc2wtMy4wLjEvdGVzdC9lbmRlY29kZV90ZXN0LmMKLS0tLSBv cGVuc3NsLTMuMC4xL3Rlc3QvZW5kZWNvZGVfdGVzdC5jLmZpcHNtaW4zCTIwMjItMDUtMDYgMTY6 MjU6NTcuMjk2OTI2MjcxICswMjAwCi0rKysgb3BlbnNzbC0zLjAuMS90ZXN0L2VuZGVjb2RlX3Rl c3QuYwkyMDIyLTA1LTA2IDE2OjI3OjQyLjcxMjg1MDg0MCArMDIwMAotQEAgLTEzODcsNiArMTM4 Nyw3IEBAIGludCBzZXR1cF90ZXN0cyh2b2lkKQotICAgICAgICAgICogc28gbm8gbGVnYWN5IHRl c3RzLgotICAgICAgICAgICovCi0gI2VuZGlmCi0rICAgIGlmIChpc19maXBzID09IDApIHsKLSAj aWZuZGVmIE9QRU5TU0xfTk9fRFNBCi0gICAgICAgICBBRERfVEVTVF9TVUlURShEU0EpOwotICAg ICAgICAgQUREX1RFU1RfU1VJVEVfUEFSQU1TKERTQSk7Ci1AQCAtMTM5Nyw2ICsxMzk4LDcgQEAg aW50IHNldHVwX3Rlc3RzKHZvaWQpCi0gICAgICAgICBBRERfVEVTVF9TVUlURV9QUk9URUNURURf UFZLKERTQSk7Ci0gIyBlbmRpZgotICNlbmRpZgotKyAgICB9Ci0gI2lmbmRlZiBPUEVOU1NMX05P X0VDCi0gICAgICAgICBBRERfVEVTVF9TVUlURShFQyk7Ci0gICAgICAgICBBRERfVEVTVF9TVUlU RV9QQVJBTVMoRUMpOwotQEAgLTE0MTEsMTAgKzE0MTMsMTIgQEAgaW50IHNldHVwX3Rlc3RzKHZv aWQpCi0gICAgICAgICBBRERfVEVTVF9TVUlURShFQ0V4cGxpY2l0VHJpMkcpOwotICAgICAgICAg QUREX1RFU1RfU1VJVEVfTEVHQUNZKEVDRXhwbGljaXRUcmkyRyk7Ci0gIyBlbmRpZgotKyAgICBp ZiAoaXNfZmlwcyA9PSAwKSB7Ci0gICAgICAgICBBRERfVEVTVF9TVUlURShFRDI1NTE5KTsKLSAg ICAgICAgIEFERF9URVNUX1NVSVRFKEVENDQ4KTsKLSAgICAgICAgIEFERF9URVNUX1NVSVRFKFgy NTUxOSk7Ci0gICAgICAgICBBRERfVEVTVF9TVUlURShYNDQ4KTsKLSsgICAgfQotICAgICAgICAg LyoKLSAgICAgICAgICAqIEVEMjU1MTksIEVENDQ4LCBYMjU1MTkgYW5kIFg0NDggaGF2ZSBubyBz dXBwb3J0IGZvcgotICAgICAgICAgICogUEVNX3dyaXRlX2Jpb19Qcml2YXRlS2V5X3RyYWRpdGlv bmFsKCksIHNvIG5vIGxlZ2FjeSB0ZXN0cy4KLWRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvYXBwcy9y ZXEuYy5kZmMgb3BlbnNzbC0zLjAuMS9hcHBzL3JlcS5jCi0tLS0gb3BlbnNzbC0zLjAuMS9hcHBz L3JlcS5jLmRmYwkyMDIyLTA1LTEyIDEzOjMxOjIxLjk1NzYzODMyOSArMDIwMAotKysrIG9wZW5z c2wtMy4wLjEvYXBwcy9yZXEuYwkyMDIyLTA1LTEyIDEzOjMxOjQ5LjU4Nzk4NDg2NyArMDIwMAot QEAgLTI2Niw3ICsyNjYsNyBAQCBpbnQgcmVxX21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQot ICAgICB1bnNpZ25lZCBsb25nIGNodHlwZSA9IE1CU1RSSU5HX0FTQywgcmVxZmxhZyA9IDA7Ci0g Ci0gI2lmbmRlZiBPUEVOU1NMX05PX0RFUwotLSAgICBjaXBoZXIgPSAoRVZQX0NJUEhFUiAqKUVW UF9kZXNfZWRlM19jYmMoKTsKLSsgICAgY2lwaGVyID0gKEVWUF9DSVBIRVIgKilFVlBfYWVzXzI1 Nl9jYmMoKTsKLSAjZW5kaWYKLSAKLSAgICAgcHJvZyA9IG9wdF9pbml0KGFyZ2MsIGFyZ3YsIHJl cV9vcHRpb25zKTsKLWRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvYXBwcy9lY3BhcmFtLmMuZmlwc19s aXN0X2N1cnZlcyBvcGVuc3NsLTMuMC4xL2FwcHMvZWNwYXJhbS5jCi0tLS0gb3BlbnNzbC0zLjAu MS9hcHBzL2VjcGFyYW0uYy5maXBzX2xpc3RfY3VydmVzCTIwMjItMDUtMTkgMTE6NDY6MjIuNjgy NTE5NDIyICswMjAwCi0rKysgb3BlbnNzbC0zLjAuMS9hcHBzL2VjcGFyYW0uYwkyMDIyLTA1LTE5 IDExOjUwOjQ0LjU1OTgyODcwMSArMDIwMAotQEAgLTc5LDYgKzc5LDkgQEAgc3RhdGljIGludCBs aXN0X2J1aWx0aW5fY3VydmVzKEJJTyAqb3V0KQotICAgICAgICAgY29uc3QgY2hhciAqY29tbWVu dCA9IGN1cnZlc1tuXS5jb21tZW50OwotICAgICAgICAgY29uc3QgY2hhciAqc25hbWUgPSBPQkpf bmlkMnNuKGN1cnZlc1tuXS5uaWQpOwotIAotKyAgICAgICAgaWYgKChjdXJ2ZXNbbl0ubmlkID09 IE5JRF9zZWNwMjU2azEpICYmIEVWUF9kZWZhdWx0X3Byb3BlcnRpZXNfaXNfZmlwc19lbmFibGVk KE5VTEwpKQotKyAgICAgICAgICAgIGNvbnRpbnVlOwotKwotICAgICAgICAgaWYgKGNvbW1lbnQg PT0gTlVMTCkKLSAgICAgICAgICAgICBjb21tZW50ID0gIkNVUlZFIERFU0NSSVBUSU9OIE5PVCBB VkFJTEFCTEUiOwotICAgICAgICAgaWYgKHNuYW1lID09IE5VTEwpCi1kaWZmIC11cCBvcGVuc3Ns LTMuMC4xL3NzbC9zc2xfY2lwaC5jLm5va3JzYSBvcGVuc3NsLTMuMC4xL3NzbC9zc2xfY2lwaC5j Ci0tLS0gb3BlbnNzbC0zLjAuMS9zc2wvc3NsX2NpcGguYy5ub2tyc2EJMjAyMi0wNS0xOSAxMzoz MjozMi41MzY3MDg2MzggKzAyMDAKLSsrKyBvcGVuc3NsLTMuMC4xL3NzbC9zc2xfY2lwaC5jCTIw MjItMDUtMTkgMTM6NDI6MjkuNzM0MDAyOTU5ICswMjAwCi1AQCAtMzU2LDYgKzM1Niw5IEBAIGlu dCBzc2xfbG9hZF9jaXBoZXJzKFNTTF9DVFggKmN0eCkKLSAgICAgY3R4LT5kaXNhYmxlZF9ta2V5 X21hc2sgPSAwOwotICAgICBjdHgtPmRpc2FibGVkX2F1dGhfbWFzayA9IDA7Ci0gCi0rICAgIGlm IChFVlBfZGVmYXVsdF9wcm9wZXJ0aWVzX2lzX2ZpcHNfZW5hYmxlZChjdHgtPmxpYmN0eCkpCi0r ICAgICAgICBjdHgtPmRpc2FibGVkX21rZXlfbWFzayB8PSBTU0xfa1JTQSB8IFNTTF9rUlNBUFNL OwotKwotICAgICAvKgotICAgICAgKiBXZSBpZ25vcmUgYW55IGVycm9ycyBmcm9tIHRoZSBmZXRj aGVzIGJlbG93LiBUaGV5IGFyZSBleHBlY3RlZCB0byBmYWlsCi0gICAgICAqIGlmIHRoZW9zZSBh bGdvcml0aG1zIGFyZSBub3QgYXZhaWxhYmxlLgotZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS9wcm92 aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ffc2lnLmMuZmlwc2tleWxlbiBvcGVu c3NsLTMuMC4xL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJlL3JzYV9zaWcuYwot LS0tIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvcnNh X3NpZy5jLmZpcHNrZXlsZW4JMjAyMi0wNS0yMyAxNDo1ODowNy43NjQyODEyNDIgKzAyMDAKLSsr KyBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJlL3JzYV9z aWcuYwkyMDIyLTA1LTIzIDE1OjEwOjI5LjMyNzk5MzYxNiArMDIwMAotQEAgLTc3MCw2ICs3NzAs MTkgQEAgc3RhdGljIGludCByc2FfdmVyaWZ5KHZvaWQgKnZwcnNhY3R4LCBjbwotIHsKLSAgICAg UFJPVl9SU0FfQ1RYICpwcnNhY3R4ID0gKFBST1ZfUlNBX0NUWCAqKXZwcnNhY3R4OwotICAgICBz aXplX3QgcnNsZW47Ci0rIyBpZmRlZiBGSVBTX01PRFVMRQotKyAgICBzaXplX3QgcnNhYml0cyA9 IFJTQV9iaXRzKHByc2FjdHgtPnJzYSk7Ci0rCi0rICAgIGlmIChyc2FiaXRzIDwgMjA0OCkgewot KyAgICAgICAgaWYgKHJzYWJpdHMgIT0gMTAyNAotKyAgICAgICAgICAgICYmIHJzYWJpdHMgIT0g MTI4MAotKyAgICAgICAgICAgICYmIHJzYWJpdHMgIT0gMTUzNgotKyAgICAgICAgICAgICYmIHJz YWJpdHMgIT0gMTc5MikgewotKyAgICAgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX0ZJUFMsIFBS T1ZfUl9JTlZBTElEX0tFWV9MRU5HVEgpOwotKyAgICAgICAgICAgIHJldHVybiAwOwotKyAgICAg ICAgfQotKyAgICB9Ci0rIyBlbmRpZgotIAotICAgICBpZiAoIW9zc2xfcHJvdl9pc19ydW5uaW5n KCkpCi0gICAgICAgICByZXR1cm4gMDsKKy0tIAorMi40MS4wCisKCmRpZmYgLS1naXQgYS8wMDQ3 LUZJUFMtZWFybHktS0FUUy5wYXRjaCBiLzAwNDctRklQUy1lYXJseS1LQVRTLnBhdGNoCmluZGV4 IDM2MDRlNmYuLjI2NTYxMTUgMTAwNjQ0Ci0tLSBhLzAwNDctRklQUy1lYXJseS1LQVRTLnBhdGNo CisrKyBiLzAwNDctRklQUy1lYXJseS1LQVRTLnBhdGNoCkBAIC0xLDcgKzEsMjIgQEAKLWRpZmYg LXVwIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0LmMuZWFybHlrYXRzIG9w ZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0LmMKLS0tLSBvcGVuc3NsLTMuMC4x L3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdC5jLmVhcmx5a2F0cwkyMDIyLTAxLTE5IDEzOjEwOjAw LjYzNTgzMDc4MyArMDEwMAotKysrIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ZpcHMvc2VsZl90 ZXN0LmMJMjAyMi0wMS0xOSAxMzoxMTo0My4zMDkzNDI2NTYgKzAxMDAKLUBAIC0zNjIsNiArMzYy LDE2IEBAIGludCBTRUxGX1RFU1RfcG9zdChTRUxGX1RFU1RfUE9TVF9QQVJBTVMKK0Zyb20gMDI0 MmMwMzE3YjdjNzg3NDE0OGM0NTZhYWFiMWU4ZWViMTU2ZDdjMSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgorRGF0ZTogTW9uLCAzMSBKdWwgMjAy MyAwOTo0MToyOCArMDIwMAorU3ViamVjdDogW1BBVENIIDIyLzM1XSAwMDQ3LUZJUFMtZWFybHkt S0FUUy5wYXRjaAorCitQYXRjaC1uYW1lOiAwMDQ3LUZJUFMtZWFybHktS0FUUy5wYXRjaAorUGF0 Y2gtaWQ6IDQ3CitQYXRjaC1zdGF0dXM6IHwKKyAgICAjIEV4ZWN1dGUgS0FUUyBiZWZvcmUgSE1B QyB2ZXJpZmljYXRpb24KK0Zyb20tZGlzdC1naXQtY29tbWl0OiA5NDA5YmM3MDQ0Y2Y0YjU3NzM2 MzljY2UyMGY1MTM5OTg4OGM0NWZkCistLS0KKyBwcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3QuYyB8 IDIyICsrKysrKysrKystLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9u cygrKSwgMTIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9wcm92aWRlcnMvZmlwcy9zZWxm X3Rlc3QuYyBiL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdC5jCitpbmRleCBlZjU2MDAyODU0Li4w NjJkOWRmODRhIDEwMDY0NAorLS0tIGEvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0LmMKKysrKyBi L3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdC5jCitAQCAtNDE0LDYgKzQxNCwxNiBAQCBpbnQgU0VM Rl9URVNUX3Bvc3QoU0VMRl9URVNUX1BPU1RfUEFSQU1TICpzdCwgaW50IG9uX2RlbWFuZF90ZXN0 KQogICAgICBpZiAoZXYgPT0gTlVMTCkKICAgICAgICAgIGdvdG8gZW5kOwogIApAQCAtMTgsMTEg KzMzLDEwIEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0 LmMuZWFybHlrYXRzIG9wZW5zc2wtMy4wLjEvcHJvdmlkCiAgICAgIG1vZHVsZV9jaGVja3N1bSA9 IGZpcHNfaG1hY19jb250YWluZXI7CiAgICAgIGNoZWNrc3VtX2xlbiA9IHNpemVvZihmaXBzX2ht YWNfY29udGFpbmVyKTsKICAKLUBAIC00MTEsMTggKzQyMSw2IEBAIGludCBTRUxGX1RFU1RfcG9z dChTRUxGX1RFU1RfUE9TVF9QQVJBTVMKLSAgICAgICAgICAgICBrYXRzX2FscmVhZHlfcGFzc2Vk ID0gMTsKK0BAIC00NjQsMTggKzQ3NCw2IEBAIGludCBTRUxGX1RFU1RfcG9zdChTRUxGX1RFU1Rf UE9TVF9QQVJBTVMgKnN0LCBpbnQgb25fZGVtYW5kX3Rlc3QpCiAgICAgICAgICB9CiAgICAgIH0K LS0KKyAKIC0gICAgLyoKIC0gICAgICogT25seSBydW5zIHRoZSBLQVQncyBkdXJpbmcgaW5zdGFs bGF0aW9uIE9SIG9uX2RlbWFuZCgpLgogLSAgICAgKiBOT1RFOiBJZiB0aGUgaW5zdGFsbGF0aW9u IG9wdGlvbiAnc2VsZl90ZXN0X29ubG9hZCcgaXMgY2hvc2VuIHRoZW4gdGhpcwpAQCAtMzQsNiAr NDgsMTAgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3Qu Yy5lYXJseWthdHMgb3BlbnNzbC0zLjAuMS9wcm92aWQKIC0gICAgICAgICAgICBnb3RvIGVuZDsK IC0gICAgICAgIH0KIC0gICAgfQotIAorLQogICAgICAvKiBWZXJpZnkgdGhhdCB0aGUgUk5HIGhh cyBiZWVuIHJlc3RvcmVkIHByb3Blcmx5ICovCiAgICAgIHRlc3RyYW5kID0gRVZQX1JBTkRfZmV0 Y2goc3QtPmxpYmN0eCwgIlRFU1QtUkFORCIsIE5VTEwpOworICAgICBpZiAodGVzdHJhbmQgPT0g TlVMTAorLS0gCisyLjQxLjAKKwoKZGlmZiAtLWdpdCBhLzAwNDktU2VsZWN0aXZlbHktZGlzYWxs b3ctU0hBMS1zaWduYXR1cmVzLnBhdGNoIGIvMDA0OS1TZWxlY3RpdmVseS1kaXNhbGxvdy1TSEEx LXNpZ25hdHVyZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViZTAzM2Uu LjAwMDAwMDAKLS0tIGEvMDA0OS1TZWxlY3RpdmVseS1kaXNhbGxvdy1TSEExLXNpZ25hdHVyZXMu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NDQgKzAsMCBAQAotRnJvbSBlYWQ0MWJjMWI2OWI2 OTcxODdhOTc0NjBjN2YyMTBhZDVhN2ExMzk1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogQ2xlbWVucyBMYW5nIDxjbGxhbmdAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMTcgQXVnIDIw MjIgMTI6NTY6MjkgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gU2VsZWN0aXZlbHkgZGlzYWxsb3cg U0hBMSBzaWduYXR1cmVzCi0KLUZvciBSSEVMIDkuMCwgd2Ugd2FudCB0byBwaGFzZSBvdXQgU0hB MS4gT25lIG9mIHRoZSBzdGVwcyB0byBkbyB0aGF0IGlzCi1kaXNhYmxpbmcgU0hBMSBzaWduYXR1 cmVzLiBJbnRyb2R1Y2UgYSBuZXcgY29uZmlndXJhdGlvbiBvcHRpb24gaW4gdGhlCi1hbGdfc2Vj dGlvbiBuYW1lZCAncmgtYWxsb3ctc2hhMS1zaWduYXR1cmVzJy4gVGhpcyBvcHRpb24gZGVmYXVs dHMgdG8KLWZhbHNlLiBJZiBzZXQgdG8gZmFsc2UgKG9yIHVuc2V0KSwgYW55IHNpZ25hdHVyZSBj cmVhdGlvbiBvcgotdmVyaWZpY2F0aW9uIG9wZXJhdGlvbnMgdGhhdCBpbnZvbHZlIFNIQTEgYXMg ZGlnZXN0IHdpbGwgZmFpbC4KLQotVGhpcyBhbHNvIGFmZmVjdHMgVExTLCB3aGVyZSB0aGUgc2ln bmF0dXJlX2FsZ29yaXRobXMgZXh0ZW5zaW9uIG9mIGFueQotQ2xpZW50SGVsbG8gbWVzc2FnZSBz ZW50IGJ5IE9wZW5TU0wgd2lsbCBubyBsb25nZXIgaW5jbHVkZSBzaWduYXR1cmVzCi13aXRoIHRo ZSBTSEExIGRpZ2VzdCBpZiByaC1hbGxvdy1zaGExLXNpZ25hdHVyZXMgaXMgZmFsc2UuIEZvciBz ZXJ2ZXJzCi10aGF0IHJlcXVlc3QgYSBjbGllbnQgY2VydGlmaWNhdGUsIHRoZSBzYW1lIGFsc28g YXBwbGllcyBmb3IKLUNlcnRpZmljYXRlUmVxdWVzdCBtZXNzYWdlcyBzZW50IGJ5IHRoZW0uCi0K LUZvciBzaWduYXR1cmVzIGNyZWF0ZWQgdXNpbmcgdGhlIEVWUF9QS0VZIEFQSSwgdGhpcyBpcyBh IGJlc3QtZWZmb3J0Ci1jaGVjayB0aGF0IHdpbGwgZGVueSBzaWduYXR1cmVzIGluIGNhc2VzIHdo ZXJlIHRoZSBkaWdlc3QgYWxnb3JpdGhtIGlzCi1rbm93bi4gVGhpcyBtZWFucywgZm9yIGV4YW1w bGUsIHRoYXQgdGhhdCBmb2xsb3dpbmcgc3RlcHMgd2lsbCBzdGlsbAotd29yazoKLQotICQ+IG9w ZW5zc2wgZGdzdCAtc2hhMSAtYmluYXJ5IC1vdXQgc2hhMSBpbmZpbGUKLSAkPiBvcGVuc3NsIHBr ZXl1dGwgLWlua2V5IGtleS5wZW0gLXNpZ24gLWluIHNoYTEgLW91dCBzaGExc2lnCi0gJD4gb3Bl bnNzbCBwa2V5dXRsIC1pbmtleSBrZXkucGVtIC12ZXJpZnkgLXNpZ2ZpbGUgc2hhMXNpZyAtaW4g c2hhMQotCi13aGVyZWFzIHRoZXNlIHdpbGwgbm90OgotCi0gJD4gb3BlbnNzbCBkZ3N0IC1zaGEx IC1iaW5hcnkgLW91dCBzaGExIGluZmlsZQotICQ+IG9wZW5zc2wgcGtleXV0bCAtaW5rZXkga2Vt LnBlbSAtc2lnbiAtaW4gc2hhMSAtb3V0IHNoYTFzaWcgLXBrZXlvcHQgZGlnZXN0OnNoYTEKLSAk PiBvcGVuc3NsIHBrZXl1dGwgLWlua2V5IGtlbS5wZW0gLXZlcmlmeSAtc2lnZmlsZSBzaGExc2ln IC1pbiBzaGExIC1wa2V5b3B0IGRpZ2VzdDpzaGExCi0KLVRoaXMgaGFwcGVucyBiZWNhdXNlIGlu IHRoZSBmaXJzdCBjYXNlLCBPcGVuU1NMJ3Mgc2lnbmF0dXJlCi1pbXBsZW1lbnRhdGlvbiBkb2Vz IG5vdCBrbm93IHRoYXQgaXQgaXMgc2lnbmluZyBhIFNIQTEgaGFzaCAoaXQgY291bGQgYmUKLXNp Z25pbmcgYXJiaXRyYXJ5IGRhdGEpLgotCi1SZXNvbHZlczogcmhieiMyMDMxNzQyCi0KLVNpZ25l ZC1vZmYtYnk6IFN0ZXBoZW4gR2FsbGFnaGVyIDxzZ2FsbGFnaEByZWRoYXQuY29tPgotLS0tCi0g Y3J5cHRvL2NvbnRleHQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTQgKysrKwot IGNyeXB0by9ldnAvZXZwX2NuZi5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysK LSBjcnlwdG8vZXZwL21fc2lndmVyLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCA3MSArKysr KysrKysrKysrKysrKysrCi0gY3J5cHRvL2V2cC9wbWV0aF9saWIuYyAgICAgICAgICAgICAgICAg ICAgICAgIHwgMTUgKysrKwotIGRvYy9tYW41L2NvbmZpZy5wb2QgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDExICsrKwotIGluY2x1ZGUvY3J5cHRvL2NvbnRleHQuaCAgICAgICAgICAgICAg ICAgICAgICB8ICAzICsKLSBpbmNsdWRlL2ludGVybmFsL2NyeXB0bGliLmggICAgICAgICAgICAg ICAgICAgfCAgMyArLQotIGluY2x1ZGUvaW50ZXJuYWwvc3NsY29uZi5oICAgICAgICAgICAgICAg ICAgICB8ICA0ICsrCi0gcHJvdmlkZXJzL2NvbW1vbi9zZWN1cml0eWNoZWNrLmMgICAgICAgICAg ICAgIHwgMjAgKysrKysrCi0gcHJvdmlkZXJzL2NvbW1vbi9zZWN1cml0eWNoZWNrX2RlZmF1bHQu YyAgICAgIHwgIDkgKystCi0gcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvZHNh X3NpZy5jIHwgMTEgKystCi0gLi4uL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvZWNkc2Ffc2ln LmMgICAgIHwgIDQgKysKLSBwcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ff c2lnLmMgfCAyMCArKysrKy0KLSBzc2wvdDFfbGliLmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgOCArKysKLSB1dGlsL2xpYmNyeXB0by5udW0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArCi0gMTUgZmlsZXMgY2hhbmdlZCwgMTk5IGluc2VydGlvbnMoKyksIDkg ZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcnlwdG8vY29udGV4dC5jIGIvY3J5cHRvL2Nv bnRleHQuYwotaW5kZXggZTI5NGVhMTUxMi4uYWI2YWJmNDRhYiAxMDA2NDQKLS0tLSBhL2NyeXB0 by9jb250ZXh0LmMKLSsrKyBiL2NyeXB0by9jb250ZXh0LmMKLUBAIC00Myw2ICs0Myw4IEBAIHN0 cnVjdCBvc3NsX2xpYl9jdHhfc3QgewotICAgICB2b2lkICpmaXBzX3Byb3Y7Ci0gI2VuZGlmCi0g Ci0rICAgIHZvaWQgKmxlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlczsKLSsKLSAgICAgdW5zaWduZWQg aW50IGlzY2hpbGQ6MTsKLSB9OwotIAotQEAgLTE3MSw2ICsxNzMsMTAgQEAgc3RhdGljIGludCBj b250ZXh0X2luaXQoT1NTTF9MSUJfQ1RYICpjdHgpCi0gICAgICAgICBnb3RvIGVycjsKLSAjZW5k aWYKLSAKLSsgICAgY3R4LT5sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXMgPSBvc3NsX2N0eF9sZWdh Y3lfZGlnZXN0X3NpZ25hdHVyZXNfbmV3KGN0eCk7Ci0rICAgIGlmIChjdHgtPmxlZ2FjeV9kaWdl c3Rfc2lnbmF0dXJlcyA9PSBOVUxMKQotKyAgICAgICAgZ290byBlcnI7Ci0rCi0gICAgIC8qIExv dyBwcmlvcml0eS4gKi8KLSAjaWZuZGVmIEZJUFNfTU9EVUxFCi0gICAgIGN0eC0+Y2hpbGRfcHJv dmlkZXIgPSBvc3NsX2NoaWxkX3Byb3ZfY3R4X25ldyhjdHgpOwotQEAgLTI5OSw2ICszMDUsMTEg QEAgc3RhdGljIHZvaWQgY29udGV4dF9kZWluaXRfb2JqcyhPU1NMX0xJQl9DVFggKmN0eCkKLSAg ICAgfQotICNlbmRpZgotIAotKyAgICBpZiAoY3R4LT5sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXMg IT0gTlVMTCkgewotKyAgICAgICAgb3NzbF9jdHhfbGVnYWN5X2RpZ2VzdF9zaWduYXR1cmVzX2Zy ZWUoY3R4LT5sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXMpOwotKyAgICAgICAgY3R4LT5sZWdhY3lf ZGlnZXN0X3NpZ25hdHVyZXMgPSBOVUxMOwotKyAgICB9Ci0rCi0gICAgIC8qIExvdyBwcmlvcml0 eS4gKi8KLSAjaWZuZGVmIEZJUFNfTU9EVUxFCi0gICAgIGlmIChjdHgtPmNoaWxkX3Byb3ZpZGVy ICE9IE5VTEwpIHsKLUBAIC01ODksNiArNjAwLDkgQEAgdm9pZCAqb3NzbF9saWJfY3R4X2dldF9k YXRhKE9TU0xfTElCX0NUWCAqY3R4LCBpbnQgaW5kZXgpCi0gICAgICAgICByZXR1cm4gY3R4LT5m aXBzX3Byb3Y7Ci0gI2VuZGlmCi0gCi0rICAgIGNhc2UgT1NTTF9MSUJfQ1RYX0xFR0FDWV9ESUdF U1RfU0lHTkFUVVJFU19JTkRFWDoKLSsgICAgICAgIHJldHVybiBjdHgtPmxlZ2FjeV9kaWdlc3Rf c2lnbmF0dXJlczsKLSsKLSAgICAgZGVmYXVsdDoKLSAgICAgICAgIHJldHVybiBOVUxMOwotICAg ICB9Ci1kaWZmIC0tZ2l0IGEvY3J5cHRvL2V2cC9ldnBfY25mLmMgYi9jcnlwdG8vZXZwL2V2cF9j bmYuYwotaW5kZXggMGU3ZmU2NGNmOS4uYjlkM2I2ZDIyNiAxMDA2NDQKLS0tLSBhL2NyeXB0by9l dnAvZXZwX2NuZi5jCi0rKysgYi9jcnlwdG8vZXZwL2V2cF9jbmYuYwotQEAgLTEwLDYgKzEwLDcg QEAKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8b3BlbnNzbC9jcnlwdG8uaD4KLSAj aW5jbHVkZSAiaW50ZXJuYWwvY3J5cHRsaWIuaCIKLSsjaW5jbHVkZSAiaW50ZXJuYWwvc3NsY29u Zi5oIgotICNpbmNsdWRlIDxvcGVuc3NsL2NvbmYuaD4KLSAjaW5jbHVkZSA8b3BlbnNzbC94NTA5 Lmg+Ci0gI2luY2x1ZGUgPG9wZW5zc2wveDUwOXYzLmg+Ci1AQCAtNTcsNiArNTgsMTggQEAgc3Rh dGljIGludCBhbGdfbW9kdWxlX2luaXQoQ09ORl9JTU9EVUxFICptZCwgY29uc3QgQ09ORiAqY25m KQotICAgICAgICAgICAgICAgICBFUlJfcmFpc2UoRVJSX0xJQl9FVlAsIEVWUF9SX1NFVF9ERUZB VUxUX1BST1BFUlRZX0ZBSUxVUkUpOwotICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAg ICAgICAgICB9Ci0rICAgICAgICB9IGVsc2UgaWYgKHN0cmNtcChvdmFsLT5uYW1lLCAicmgtYWxs b3ctc2hhMS1zaWduYXR1cmVzIikgPT0gMCkgewotKyAgICAgICAgICAgIGludCBtOwotKwotKyAg ICAgICAgICAgIC8qIERldGFpbGVkIGVycm9yIGFscmVhZHkgcmVwb3J0ZWQuICovCi0rICAgICAg ICAgICAgaWYgKCFYNTA5VjNfZ2V0X3ZhbHVlX2Jvb2wob3ZhbCwgJm0pKQotKyAgICAgICAgICAg ICAgICByZXR1cm4gMDsKLSsKLSsgICAgICAgICAgICBpZiAoIW9zc2xfY3R4X2xlZ2FjeV9kaWdl c3Rfc2lnbmF0dXJlc19hbGxvd2VkX3NldCgKLSsgICAgICAgICAgICAgICAgICAgIE5DT05GX2dl dDBfbGliY3R4KChDT05GICopY25mKSwgbSA+IDAsIDApKSB7Ci0rICAgICAgICAgICAgICAgIEVS Ul9yYWlzZShFUlJfTElCX0VWUCwgRVZQX1JfU0VUX0RFRkFVTFRfUFJPUEVSVFlfRkFJTFVSRSk7 Ci0rICAgICAgICAgICAgICAgIHJldHVybiAwOwotKyAgICAgICAgICAgIH0KLSAgICAgICAgIH0g ZWxzZSB7Ci0gICAgICAgICAgICAgRVJSX3JhaXNlX2RhdGEoRVJSX0xJQl9FVlAsIEVWUF9SX1VO S05PV05fT1BUSU9OLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lPSVzLCB2YWx1 ZT0lcyIsIG92YWwtPm5hbWUsIG92YWwtPnZhbHVlKTsKLWRpZmYgLS1naXQgYS9jcnlwdG8vZXZw L21fc2lndmVyLmMgYi9jcnlwdG8vZXZwL21fc2lndmVyLmMKLWluZGV4IDYzMGQzMzljMzUuLjA2 MDI4YjA4MmUgMTAwNjQ0Ci0tLS0gYS9jcnlwdG8vZXZwL21fc2lndmVyLmMKLSsrKyBiL2NyeXB0 by9ldnAvbV9zaWd2ZXIuYwotQEAgLTE1LDYgKzE1LDY1IEBACi0gI2luY2x1ZGUgImludGVybmFs L3Byb3ZpZGVyLmgiCi0gI2luY2x1ZGUgImludGVybmFsL251bWJlcnMuaCIgICAvKiBpbmNsdWRl cyBTSVpFX01BWCAqLwotICNpbmNsdWRlICJldnBfbG9jYWwuaCIKLSsjaW5jbHVkZSAiY3J5cHRv L2NvbnRleHQuaCIKLSsKLSt0eXBlZGVmIHN0cnVjdCBvc3NsX2xlZ2FjeV9kaWdlc3Rfc2lnbmF0 dXJlc19zdCB7Ci0rICAgIGludCBhbGxvd2VkOwotK30gT1NTTF9MRUdBQ1lfRElHRVNUX1NJR05B VFVSRVM7Ci0rCi0rdm9pZCBvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfZnJlZSh2 b2lkICp2bGRzaWdzKQotK3sKLSsgICAgT1NTTF9MRUdBQ1lfRElHRVNUX1NJR05BVFVSRVMgKmxk c2lncyA9IHZsZHNpZ3M7Ci0rCi0rICAgIGlmIChsZHNpZ3MgIT0gTlVMTCkgewotKyAgICAgICAg T1BFTlNTTF9mcmVlKGxkc2lncyk7Ci0rICAgIH0KLSt9Ci0rCi0rdm9pZCAqb3NzbF9jdHhfbGVn YWN5X2RpZ2VzdF9zaWduYXR1cmVzX25ldyhPU1NMX0xJQl9DVFggKmN0eCkKLSt7Ci0rICAgIHJl dHVybiBPUEVOU1NMX3phbGxvYyhzaXplb2YoT1NTTF9MRUdBQ1lfRElHRVNUX1NJR05BVFVSRVMp KTsKLSt9Ci0rCi0rc3RhdGljIE9TU0xfTEVHQUNZX0RJR0VTVF9TSUdOQVRVUkVTICpvc3NsX2N0 eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXMoCi0rICAgICAgICBPU1NMX0xJQl9DVFggKmxpYmN0 eCwgaW50IGxvYWRjb25maWcpCi0rewotKyNpZm5kZWYgRklQU19NT0RVTEUKLSsgICAgaWYgKGxv YWRjb25maWcgJiYgIU9QRU5TU0xfaW5pdF9jcnlwdG8oT1BFTlNTTF9JTklUX0xPQURfQ09ORklH LCBOVUxMKSkKLSsgICAgICAgIHJldHVybiBOVUxMOwotKyNlbmRpZgotKwotKyAgICByZXR1cm4g b3NzbF9saWJfY3R4X2dldF9kYXRhKGxpYmN0eCwgT1NTTF9MSUJfQ1RYX0xFR0FDWV9ESUdFU1Rf U0lHTkFUVVJFU19JTkRFWCk7Ci0rfQotKwotK2ludCBvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3Np Z25hdHVyZXNfYWxsb3dlZChPU1NMX0xJQl9DVFggKmxpYmN0eCwgaW50IGxvYWRjb25maWcpCi0r ewotKyAgICBPU1NMX0xFR0FDWV9ESUdFU1RfU0lHTkFUVVJFUyAqbGRzaWdzCi0rICAgICAgICA9 IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlcyhsaWJjdHgsIGxvYWRjb25maWcpOwot KwotKyNpZm5kZWYgRklQU19NT0RVTEUKLSsgICAgaWYgKG9zc2xfc2FmZV9nZXRlbnYoIk9QRU5T U0xfRU5BQkxFX1NIQTFfU0lHTkFUVVJFUyIpICE9IE5VTEwpCi0rICAgICAgICAvKiB1c2VkIGlu IHRlc3RzICovCi0rICAgICAgICByZXR1cm4gMTsKLSsjZW5kaWYKLSsKLSsgICAgcmV0dXJuIGxk c2lncyAhPSBOVUxMID8gbGRzaWdzLT5hbGxvd2VkIDogMDsKLSt9Ci0rCi0raW50IG9zc2xfY3R4 X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkX3NldChPU1NMX0xJQl9DVFggKmxpYmN0 eCwgaW50IGFsbG93LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50IGxvYWRjb25maWcpCi0rewotKyAgICBPU1NMX0xFR0FDWV9ESUdFU1RfU0lH TkFUVVJFUyAqbGRzaWdzCi0rICAgICAgICA9IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0 dXJlcyhsaWJjdHgsIGxvYWRjb25maWcpOwotKwotKyAgICBpZiAobGRzaWdzID09IE5VTEwpIHsK LSsgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX0VWUCwgRVJSX1JfSU5URVJOQUxfRVJST1IpOwot KyAgICAgICAgcmV0dXJuIDA7Ci0rICAgIH0KLSsKLSsgICAgbGRzaWdzLT5hbGxvd2VkID0gYWxs b3c7Ci0rICAgIHJldHVybiAxOwotK30KLSAKLSAjaWZuZGVmIEZJUFNfTU9EVUxFCi0gCi1AQCAt MjUxLDYgKzMxMCwxOCBAQCBzdGF0aWMgaW50IGRvX3NpZ3Zlcl9pbml0KEVWUF9NRF9DVFggKmN0 eCwgRVZQX1BLRVlfQ1RYICoqcGN0eCwKLSAgICAgICAgIH0KLSAgICAgfQotIAotKyAgICBpZiAo Y3R4LT5yZXFkaWdlc3QgIT0gTlVMTAotKyAgICAgICAgICAgICYmICFFVlBfUEtFWV9pc19hKGxv Y3BjdHgtPnBrZXksIFNOX2htYWMpCi0rICAgICAgICAgICAgJiYgIUVWUF9QS0VZX2lzX2EobG9j cGN0eC0+cGtleSwgU05fdGxzMV9wcmYpCi0rICAgICAgICAgICAgJiYgIUVWUF9QS0VZX2lzX2Eo bG9jcGN0eC0+cGtleSwgU05faGtkZikpIHsKLSsgICAgICAgIGludCBtZG5pZCA9IEVWUF9NRF9u aWQoY3R4LT5yZXFkaWdlc3QpOwotKyAgICAgICAgaWYgKCFvc3NsX2N0eF9sZWdhY3lfZGlnZXN0 X3NpZ25hdHVyZXNfYWxsb3dlZChsb2NwY3R4LT5saWJjdHgsIDApCi0rICAgICAgICAgICAgICAg ICYmIChtZG5pZCA9PSBOSURfc2hhMSB8fCBtZG5pZCA9PSBOSURfbWQ1X3NoYTEpKSB7Ci0rICAg ICAgICAgICAgRVJSX3JhaXNlKEVSUl9MSUJfRVZQLCBFVlBfUl9JTlZBTElEX0RJR0VTVCk7Ci0r ICAgICAgICAgICAgZ290byBlcnI7Ci0rICAgICAgICB9Ci0rICAgIH0KLSsKLSAgICAgaWYgKHZl cikgewotICAgICAgICAgaWYgKHNpZ25hdHVyZS0+ZGlnZXN0X3ZlcmlmeV9pbml0ID09IE5VTEwp IHsKLSAgICAgICAgICAgICBFUlJfcmFpc2UoRVJSX0xJQl9FVlAsIEVWUF9SX0lOSVRJQUxJWkFU SU9OX0VSUk9SKTsKLWRpZmYgLS1naXQgYS9jcnlwdG8vZXZwL3BtZXRoX2xpYi5jIGIvY3J5cHRv L2V2cC9wbWV0aF9saWIuYwotaW5kZXggY2U2ZTFhMWNjYi4uMDAzOTI2MjQ3YiAxMDA2NDQKLS0t LSBhL2NyeXB0by9ldnAvcG1ldGhfbGliLmMKLSsrKyBiL2NyeXB0by9ldnAvcG1ldGhfbGliLmMK LUBAIC0zMyw2ICszMyw3IEBACi0gI2luY2x1ZGUgImludGVybmFsL2ZmYy5oIgotICNpbmNsdWRl ICJpbnRlcm5hbC9udW1iZXJzLmgiCi0gI2luY2x1ZGUgImludGVybmFsL3Byb3ZpZGVyLmgiCi0r I2luY2x1ZGUgImludGVybmFsL3NzbGNvbmYuaCIKLSAjaW5jbHVkZSAiZXZwX2xvY2FsLmgiCi0g Ci0gI2lmbmRlZiBGSVBTX01PRFVMRQotQEAgLTk1OCw2ICs5NTksMjAgQEAgc3RhdGljIGludCBl dnBfcGtleV9jdHhfc2V0X21kKEVWUF9QS0VZX0NUWCAqY3R4LCBjb25zdCBFVlBfTUQgKm1kLAot ICAgICAgICAgcmV0dXJuIC0yOwotICAgICB9Ci0gCi0rICAgIGlmIChFVlBfUEtFWV9DVFhfSVNf U0lHTkFUVVJFX09QKGN0eCkKLSsgICAgICAgICAgICAmJiBtZCAhPSBOVUxMCi0rICAgICAgICAg ICAgJiYgY3R4LT5wa2V5ICE9IE5VTEwKLSsgICAgICAgICAgICAmJiAhRVZQX1BLRVlfaXNfYShj dHgtPnBrZXksIFNOX2htYWMpCi0rICAgICAgICAgICAgJiYgIUVWUF9QS0VZX2lzX2EoY3R4LT5w a2V5LCBTTl90bHMxX3ByZikKLSsgICAgICAgICAgICAmJiAhRVZQX1BLRVlfaXNfYShjdHgtPnBr ZXksIFNOX2hrZGYpKSB7Ci0rICAgICAgICBpbnQgbWRuaWQgPSBFVlBfTURfbmlkKG1kKTsKLSsg ICAgICAgIGlmICgobWRuaWQgPT0gTklEX3NoYTEgfHwgbWRuaWQgPT0gTklEX21kNV9zaGExKQot KyAgICAgICAgICAgICAgICAmJiAhb3NzbF9jdHhfbGVnYWN5X2RpZ2VzdF9zaWduYXR1cmVzX2Fs bG93ZWQoY3R4LT5saWJjdHgsIDApKSB7Ci0rICAgICAgICAgICAgRVJSX3JhaXNlKEVSUl9MSUJf RVZQLCBFVlBfUl9JTlZBTElEX0RJR0VTVCk7Ci0rICAgICAgICAgICAgcmV0dXJuIC0xOwotKyAg ICAgICAgfQotKyAgICB9Ci0rCi0gICAgIGlmIChmYWxsYmFjaykKLSAgICAgICAgIHJldHVybiBF VlBfUEtFWV9DVFhfY3RybChjdHgsIC0xLCBvcCwgY3RybCwgMCwgKHZvaWQgKikobWQpKTsKLSAK LWRpZmYgLS1naXQgYS9kb2MvbWFuNS9jb25maWcucG9kIGIvZG9jL21hbjUvY29uZmlnLnBvZAot aW5kZXggOGQzMTJjNjYxZi4uZTVhODhkMTFhYSAxMDA2NDQKLS0tLSBhL2RvYy9tYW41L2NvbmZp Zy5wb2QKLSsrKyBiL2RvYy9tYW41L2NvbmZpZy5wb2QKLUBAIC0yOTYsNiArMjk2LDE3IEBAIFdp dGhpbiB0aGUgYWxnb3JpdGhtIHByb3BlcnRpZXMgc2VjdGlvbiwgdGhlIGZvbGxvd2luZyBuYW1l cyBoYXZlIG1lYW5pbmc6Ci0gVGhlIHZhbHVlIG1heSBiZSBhbnl0aGluZyB0aGF0IGlzIGFjY2Vw dGFibGUgYXMgYSBwcm9wZXJ0eSBxdWVyeQotIHN0cmluZyBmb3IgRVZQX3NldF9kZWZhdWx0X3By b3BlcnRpZXMoKS4KLSAKLSs9aXRlbSBCPHJoLWFsbG93LXNoYTEtc2lnbmF0dXJlcz4KLSsKLStU aGUgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgY2FuIGJlIEI8eWVzPiBvciBCPG5vPi4gIElmIHRo ZSB2YWx1ZSBpcyBub3Qgc2V0LAotK2l0IGJlaGF2ZXMgYXMgaWYgaXQgd2FzIHNldCB0byBCPG5v Pi4KLSsKLStXaGVuIHNldCB0byBCPG5vPiwgYW55IGF0dGVtcHQgdG8gY3JlYXRlIG9yIHZlcmlm eSBhIHNpZ25hdHVyZSB3aXRoIGEgU0hBMQotK2RpZ2VzdCB3aWxsIGZhaWwuICBGb3IgY29tcGF0 aWJpbGl0eSB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIE9wZW5TU0wsIHNldCB0aGlzCi0rb3B0aW9u IHRvIEI8eWVzPi4gIFRoaXMgc2V0dGluZyBhbHNvIGFmZmVjdHMgVExTLCB3aGVyZSBzaWduYXR1 cmUgYWxnb3JpdGhtcwotK3RoYXQgdXNlIFNIQTEgYXMgZGlnZXN0IHdpbGwgbm8gbG9uZ2VyIGJl IHN1cHBvcnRlZCBpZiB0aGlzIG9wdGlvbiBpcyBzZXQgdG8KLStCPG5vPi4KLSsKLSA9aXRlbSBC PGZpcHNfbW9kZT4gKGRlcHJlY2F0ZWQpCi0gCi0gVGhlIHZhbHVlIGlzIGEgYm9vbGVhbiB0aGF0 IGNhbiBiZSBCPHllcz4gb3IgQjxubz4uICBJZiB0aGUgdmFsdWUgaXMKLWRpZmYgLS1naXQgYS9p bmNsdWRlL2NyeXB0by9jb250ZXh0LmggYi9pbmNsdWRlL2NyeXB0by9jb250ZXh0LmgKLWluZGV4 IGNjMDZjNzFiZTguLmU5Zjc0YTQxNGQgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL2NyeXB0by9jb250 ZXh0LmgKLSsrKyBiL2luY2x1ZGUvY3J5cHRvL2NvbnRleHQuaAotQEAgLTM5LDMgKzM5LDYgQEAg dm9pZCBvc3NsX3JhbmRfY3JuZ19jdHhfZnJlZSh2b2lkICopOwotIHZvaWQgb3NzbF90aHJlYWRf ZXZlbnRfY3R4X2ZyZWUodm9pZCAqKTsKLSB2b2lkIG9zc2xfZmlwc19wcm92X29zc2xfY3R4X2Zy ZWUodm9pZCAqKTsKLSB2b2lkIG9zc2xfcmVsZWFzZV9kZWZhdWx0X2RyYmdfY3R4KHZvaWQpOwot KwotK3ZvaWQgKm9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19uZXcoT1NTTF9MSUJf Q1RYICopOwotK3ZvaWQgb3NzbF9jdHhfbGVnYWN5X2RpZ2VzdF9zaWduYXR1cmVzX2ZyZWUodm9p ZCAqKTsKLWRpZmYgLS1naXQgYS9pbmNsdWRlL2ludGVybmFsL2NyeXB0bGliLmggYi9pbmNsdWRl L2ludGVybmFsL2NyeXB0bGliLmgKLWluZGV4IGFjNTBlYjNiYmQuLjNiMTE1Y2M3ZGYgMTAwNjQ0 Ci0tLS0gYS9pbmNsdWRlL2ludGVybmFsL2NyeXB0bGliLmgKLSsrKyBiL2luY2x1ZGUvaW50ZXJu YWwvY3J5cHRsaWIuaAotQEAgLTE2OCw3ICsxNjgsOCBAQCB0eXBlZGVmIHN0cnVjdCBvc3NsX2V4 X2RhdGFfZ2xvYmFsX3N0IHsKLSAjIGRlZmluZSBPU1NMX0xJQl9DVFhfUFJPVklERVJfQ09ORl9J TkRFWCAgICAgICAgICAgMTYKLSAjIGRlZmluZSBPU1NMX0xJQl9DVFhfQklPX0NPUkVfSU5ERVgg ICAgICAgICAgICAgICAgMTcKLSAjIGRlZmluZSBPU1NMX0xJQl9DVFhfQ0hJTERfUFJPVklERVJf SU5ERVggICAgICAgICAgMTgKLS0jIGRlZmluZSBPU1NMX0xJQl9DVFhfTUFYX0lOREVYRVMgICAg ICAgICAgICAgICAgICAgMTkKLSsjIGRlZmluZSBPU1NMX0xJQl9DVFhfTEVHQUNZX0RJR0VTVF9T SUdOQVRVUkVTX0lOREVYIDE5Ci0rIyBkZWZpbmUgT1NTTF9MSUJfQ1RYX01BWF9JTkRFWEVTICAg ICAgICAgICAgICAgICAgIDIwCi0gCi0gT1NTTF9MSUJfQ1RYICpvc3NsX2xpYl9jdHhfZ2V0X2Nv bmNyZXRlKE9TU0xfTElCX0NUWCAqY3R4KTsKLSBpbnQgb3NzbF9saWJfY3R4X2lzX2RlZmF1bHQo T1NTTF9MSUJfQ1RYICpjdHgpOwotZGlmZiAtLWdpdCBhL2luY2x1ZGUvaW50ZXJuYWwvc3NsY29u Zi5oIGIvaW5jbHVkZS9pbnRlcm5hbC9zc2xjb25mLmgKLWluZGV4IGZkN2Y3ZTMzMzEuLjA1NDY0 YjA2NTUgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL2ludGVybmFsL3NzbGNvbmYuaAotKysrIGIvaW5j bHVkZS9pbnRlcm5hbC9zc2xjb25mLmgKLUBAIC0xOCw0ICsxOCw4IEBAIGludCBjb25mX3NzbF9u YW1lX2ZpbmQoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90ICppZHgpOwotIHZvaWQgY29uZl9zc2xf Z2V0X2NtZChjb25zdCBTU0xfQ09ORl9DTUQgKmNtZCwgc2l6ZV90IGlkeCwgY2hhciAqKmNtZHN0 ciwKLSAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKmFyZyk7Ci0gCi0rLyogTWV0aG9kcyB0 byBzdXBwb3J0IGRpc2FibGluZyBhbGwgc2lnbmF0dXJlcyB3aXRoIGxlZ2FjeSBkaWdlc3RzICov Ci0raW50IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkKE9TU0xfTElC X0NUWCAqbGliY3R4LCBpbnQgbG9hZGNvbmZpZyk7Ci0raW50IG9zc2xfY3R4X2xlZ2FjeV9kaWdl c3Rfc2lnbmF0dXJlc19hbGxvd2VkX3NldChPU1NMX0xJQl9DVFggKmxpYmN0eCwgaW50IGFsbG93 LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50 IGxvYWRjb25maWcpOwotICNlbmRpZgotZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9jb21tb24vc2Vj dXJpdHljaGVjay5jIGIvcHJvdmlkZXJzL2NvbW1vbi9zZWN1cml0eWNoZWNrLmMKLWluZGV4IDY5 OWFkYTdjNTIuLmU1MzRhZDBhNWYgMTAwNjQ0Ci0tLS0gYS9wcm92aWRlcnMvY29tbW9uL3NlY3Vy aXR5Y2hlY2suYwotKysrIGIvcHJvdmlkZXJzL2NvbW1vbi9zZWN1cml0eWNoZWNrLmMKLUBAIC0x OSw2ICsxOSw3IEBACi0gI2luY2x1ZGUgPG9wZW5zc2wvY29yZV9uYW1lcy5oPgotICNpbmNsdWRl IDxvcGVuc3NsL29ial9tYWMuaD4KLSAjaW5jbHVkZSAicHJvdi9zZWN1cml0eWNoZWNrLmgiCi0r I2luY2x1ZGUgImludGVybmFsL3NzbGNvbmYuaCIKLSAKLSAvKgotICAqIEZJUFMgcmVxdWlyZXMg YSBtaW5pbXVtIHNlY3VyaXR5IHN0cmVuZ3RoIG9mIDExMiBiaXRzIChmb3IgZW5jcnlwdGlvbiBv cgotQEAgLTIzNSw2ICsyMzYsMTUgQEAgaW50IG9zc2xfZGlnZXN0X2dldF9hcHByb3ZlZF9uaWRf d2l0aF9zaGExKE9TU0xfTElCX0NUWCAqY3R4LCBjb25zdCBFVlBfTUQgKm1kLAotICAgICAgICAg ICAgIG1kbmlkID0gLTE7IC8qIGRpc2FsbG93ZWQgYnkgc2VjdXJpdHkgY2hlY2tzICovCi0gICAg IH0KLSAjIGVuZGlmIC8qIE9QRU5TU0xfTk9fRklQU19TRUNVUklUWUNIRUNLUyAqLwotKwotKyNp Zm5kZWYgRklQU19NT0RVTEUKLSsgICAgaWYgKCFvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25h dHVyZXNfYWxsb3dlZChjdHgsIDApKQotKyAgICAgICAgLyogU0hBMSBpcyBnbG9iYWxseSBkaXNh YmxlZCwgY2hlY2sgd2hldGhlciB3ZSB3YW50IHRvIGxvY2FsbHkgYWxsb3cKLSsgICAgICAgICAq IGl0LiAqLwotKyAgICAgICAgaWYgKG1kbmlkID09IE5JRF9zaGExICYmICFzaGExX2FsbG93ZWQp Ci0rICAgICAgICAgICAgbWRuaWQgPSAtMTsKLSsjZW5kaWYKLSsKLSAgICAgcmV0dXJuIG1kbmlk OwotIH0KLSAKLUBAIC0yNDQsNSArMjU0LDE1IEBAIGludCBvc3NsX2RpZ2VzdF9pc19hbGxvd2Vk KE9TU0xfTElCX0NUWCAqY3R4LCBjb25zdCBFVlBfTUQgKm1kKQotICAgICBpZiAob3NzbF9zZWN1 cml0eWNoZWNrX2VuYWJsZWQoY3R4KSkKLSAgICAgICAgIHJldHVybiBvc3NsX2RpZ2VzdF9nZXRf YXBwcm92ZWRfbmlkKG1kKSAhPSBOSURfdW5kZWY7Ci0gIyBlbmRpZiAvKiBPUEVOU1NMX05PX0ZJ UFNfU0VDVVJJVFlDSEVDS1MgKi8KLSsKLSsjaWZuZGVmIEZJUFNfTU9EVUxFCi0rICAgIHsKLSsg ICAgICAgIGludCBtZG5pZCA9IEVWUF9NRF9uaWQobWQpOwotKyAgICAgICAgaWYgKChtZG5pZCA9 PSBOSURfc2hhMSB8fCBtZG5pZCA9PSBOSURfbWQ1X3NoYTEpCi0rICAgICAgICAgICAgICAgICYm ICFvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfYWxsb3dlZChjdHgsIDApKQotKyAg ICAgICAgICAgIHJldHVybiAwOwotKyAgICB9Ci0rI2VuZGlmCi0rCi0gICAgIHJldHVybiAxOwot IH0KLWRpZmYgLS1naXQgYS9wcm92aWRlcnMvY29tbW9uL3NlY3VyaXR5Y2hlY2tfZGVmYXVsdC5j IGIvcHJvdmlkZXJzL2NvbW1vbi9zZWN1cml0eWNoZWNrX2RlZmF1bHQuYwotaW5kZXggMjQ2MzIz NDkzZS4uMmNhN2E1OWYzOSAxMDA2NDQKLS0tLSBhL3Byb3ZpZGVycy9jb21tb24vc2VjdXJpdHlj aGVja19kZWZhdWx0LmMKLSsrKyBiL3Byb3ZpZGVycy9jb21tb24vc2VjdXJpdHljaGVja19kZWZh dWx0LmMKLUBAIC0xNSw2ICsxNSw3IEBACi0gI2luY2x1ZGUgPG9wZW5zc2wvb2JqX21hYy5oPgot ICNpbmNsdWRlICJwcm92L3NlY3VyaXR5Y2hlY2suaCIKLSAjaW5jbHVkZSAiaW50ZXJuYWwvbmVs ZW0uaCIKLSsjaW5jbHVkZSAiaW50ZXJuYWwvc3NsY29uZi5oIgotIAotIC8qIERpc2FibGUgdGhl IHNlY3VyaXR5IGNoZWNrcyBpbiB0aGUgZGVmYXVsdCBwcm92aWRlciAqLwotIGludCBvc3NsX3Nl Y3VyaXR5Y2hlY2tfZW5hYmxlZChPU1NMX0xJQl9DVFggKmxpYmN0eCkKLUBAIC0yOSw5ICszMCwx MCBAQCBpbnQgb3NzbF90bHMxX3ByZl9lbXNfY2hlY2tfZW5hYmxlZChPU1NMX0xJQl9DVFggKmxp YmN0eCkKLSB9Ci0gCi0gaW50IG9zc2xfZGlnZXN0X3JzYV9zaWduX2dldF9tZF9uaWQoT1NTTF9M SUJfQ1RYICpjdHgsIGNvbnN0IEVWUF9NRCAqbWQsCi0tICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgb3NzbF91bnVzZWQgaW50IHNoYTFfYWxsb3dlZCkKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2hhMV9hbGxvd2VkKQotIHsKLSAgICAgaW50IG1k bmlkOwotKyAgICBpbnQgbGRzaWdzX2FsbG93ZWQ7Ci0gCi0gICAgIHN0YXRpYyBjb25zdCBPU1NM X0lURU0gbmFtZV90b19uaWRbXSA9IHsKLSAgICAgICAgIHsgTklEX21kNSwgICAgICAgT1NTTF9E SUdFU1RfTkFNRV9NRDUgICAgICAgfSwKLUBAIC00Miw4ICs0NCwxMSBAQCBpbnQgb3NzbF9kaWdl c3RfcnNhX3NpZ25fZ2V0X21kX25pZChPU1NMX0xJQl9DVFggKmN0eCwgY29uc3QgRVZQX01EICpt ZCwKLSAgICAgICAgIHsgTklEX3JpcGVtZDE2MCwgT1NTTF9ESUdFU1RfTkFNRV9SSVBFTUQxNjAg fSwKLSAgICAgfTsKLSAKLS0gICAgbWRuaWQgPSBvc3NsX2RpZ2VzdF9nZXRfYXBwcm92ZWRfbmlk X3dpdGhfc2hhMShjdHgsIG1kLCAxKTsKLSsgICAgbGRzaWdzX2FsbG93ZWQgPSBvc3NsX2N0eF9s ZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfYWxsb3dlZChjdHgsIDApOwotKyAgICBtZG5pZCA9IG9z c2xfZGlnZXN0X2dldF9hcHByb3ZlZF9uaWRfd2l0aF9zaGExKGN0eCwgbWQsIHNoYTFfYWxsb3dl ZCB8fCBsZHNpZ3NfYWxsb3dlZCk7Ci0gICAgIGlmIChtZG5pZCA9PSBOSURfdW5kZWYpCi0gICAg ICAgICBtZG5pZCA9IG9zc2xfZGlnZXN0X21kX3RvX25pZChtZCwgbmFtZV90b19uaWQsIE9TU0xf TkVMRU0obmFtZV90b19uaWQpKTsKLSsgICAgaWYgKG1kbmlkID09IE5JRF9tZDVfc2hhMSAmJiAh bGRzaWdzX2FsbG93ZWQpCi0rICAgICAgICBtZG5pZCA9IC0xOwotICAgICByZXR1cm4gbWRuaWQ7 Ci0gfQotZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJlL2Rz YV9zaWcuYyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJlL2RzYV9zaWcuYwot aW5kZXggNzBkMGVhNWQyNC4uM2M0ODJlMDE4MSAxMDA2NDQKLS0tLSBhL3Byb3ZpZGVycy9pbXBs ZW1lbnRhdGlvbnMvc2lnbmF0dXJlL2RzYV9zaWcuYwotKysrIGIvcHJvdmlkZXJzL2ltcGxlbWVu dGF0aW9ucy9zaWduYXR1cmUvZHNhX3NpZy5jCi1AQCAtMTIzLDEyICsxMjMsMTcgQEAgc3RhdGlj IGludCBkc2Ffc2V0dXBfbWQoUFJPVl9EU0FfQ1RYICpjdHgsCi0gICAgICAgICBtZHByb3BzID0g Y3R4LT5wcm9wcTsKLSAKLSAgICAgaWYgKG1kbmFtZSAhPSBOVUxMKSB7Ci0tICAgICAgICBpbnQg c2hhMV9hbGxvd2VkID0gKGN0eC0+b3BlcmF0aW9uICE9IEVWUF9QS0VZX09QX1NJR04pOwotICAg ICAgICAgV1BBQ0tFVCBwa3Q7Ci0gICAgICAgICBFVlBfTUQgKm1kID0gRVZQX01EX2ZldGNoKGN0 eC0+bGliY3R4LCBtZG5hbWUsIG1kcHJvcHMpOwotLSAgICAgICAgaW50IG1kX25pZCA9IG9zc2xf ZGlnZXN0X2dldF9hcHByb3ZlZF9uaWRfd2l0aF9zaGExKGN0eC0+bGliY3R4LCBtZCwKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz aGExX2FsbG93ZWQpOwotKyAgICAgICAgaW50IG1kX25pZDsKLSAgICAgICAgIHNpemVfdCBtZG5h bWVfbGVuID0gc3RybGVuKG1kbmFtZSk7Ci0rI2lmZGVmIEZJUFNfTU9EVUxFCi0rICAgICAgICBp bnQgc2hhMV9hbGxvd2VkID0gKGN0eC0+b3BlcmF0aW9uICE9IEVWUF9QS0VZX09QX1NJR04pOwot KyNlbHNlCi0rICAgICAgICBpbnQgc2hhMV9hbGxvd2VkID0gMDsKLSsjZW5kaWYKLSsgICAgICAg IG1kX25pZCA9IG9zc2xfZGlnZXN0X2dldF9hcHByb3ZlZF9uaWRfd2l0aF9zaGExKGN0eC0+bGli Y3R4LCBtZCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzaGExX2FsbG93ZWQpOwotIAotICAgICAgICAgaWYgKG1kID09IE5VTEwg fHwgbWRfbmlkIDwgMCkgewotICAgICAgICAgICAgIGlmIChtZCA9PSBOVUxMKQotZGlmZiAtLWdp dCBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJlL2VjZHNhX3NpZy5jIGIvcHJv dmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvZWNkc2Ffc2lnLmMKLWluZGV4IDg2NWQ0 OWQxMDAuLjk5YjIyOGU4MmMgMTAwNjQ0Ci0tLS0gYS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25z L3NpZ25hdHVyZS9lY2RzYV9zaWcuYwotKysrIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9z aWduYXR1cmUvZWNkc2Ffc2lnLmMKLUBAIC0yMzcsNyArMjM3LDExIEBAIHN0YXRpYyBpbnQgZWNk c2Ffc2V0dXBfbWQoUFJPVl9FQ0RTQV9DVFggKmN0eCwgY29uc3QgY2hhciAqbWRuYW1lLAotICAg ICAgICAgICAgICAgICAgICAgICAgIiVzIGNvdWxkIG5vdCBiZSBmZXRjaGVkIiwgbWRuYW1lKTsK LSAgICAgICAgIHJldHVybiAwOwotICAgICB9Ci0rI2lmZGVmIEZJUFNfTU9EVUxFCi0gICAgIHNo YTFfYWxsb3dlZCA9IChjdHgtPm9wZXJhdGlvbiAhPSBFVlBfUEtFWV9PUF9TSUdOKTsKLSsjZWxz ZQotKyAgICBzaGExX2FsbG93ZWQgPSAwOwotKyNlbmRpZgotICAgICBtZF9uaWQgPSBvc3NsX2Rp Z2VzdF9nZXRfYXBwcm92ZWRfbmlkX3dpdGhfc2hhMShjdHgtPmxpYmN0eCwgbWQsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYTFfYWxsb3dl ZCk7Ci0gICAgIGlmIChtZF9uaWQgPCAwKSB7Ci1kaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2ltcGxl bWVudGF0aW9ucy9zaWduYXR1cmUvcnNhX3NpZy5jIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9u cy9zaWduYXR1cmUvcnNhX3NpZy5jCi1pbmRleCBjZDVkZTZiZDUxLi4yNWE1MWRmODc4IDEwMDY0 NAotLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvcnNhX3NpZy5jCi0r KysgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ffc2lnLmMKLUBAIC0y NSw2ICsyNSw3IEBACi0gI2luY2x1ZGUgImludGVybmFsL2NyeXB0bGliLmgiCi0gI2luY2x1ZGUg ImludGVybmFsL25lbGVtLmgiCi0gI2luY2x1ZGUgImludGVybmFsL3NpemVzLmgiCi0rI2luY2x1 ZGUgImludGVybmFsL3NzbGNvbmYuaCIKLSAjaW5jbHVkZSAiY3J5cHRvL3JzYS5oIgotICNpbmNs dWRlICJwcm92L3Byb3ZpZGVyY29tbW9uLmgiCi0gI2luY2x1ZGUgInByb3YvaW1wbGVtZW50YXRp b25zLmgiCi1AQCAtMzMsNiArMzQsNyBAQAotICNpbmNsdWRlICJwcm92L3NlY3VyaXR5Y2hlY2su aCIKLSAKLSAjZGVmaW5lIFJTQV9ERUZBVUxUX0RJR0VTVF9OQU1FIE9TU0xfRElHRVNUX05BTUVf U0hBMQotKyNkZWZpbmUgUlNBX0RFRkFVTFRfRElHRVNUX05BTUVfTk9OTEVHQUNZIE9TU0xfRElH RVNUX05BTUVfU0hBMl8yNTYKLSAKLSBzdGF0aWMgT1NTTF9GVU5DX3NpZ25hdHVyZV9uZXdjdHhf Zm4gcnNhX25ld2N0eDsKLSBzdGF0aWMgT1NTTF9GVU5DX3NpZ25hdHVyZV9zaWduX2luaXRfZm4g cnNhX3NpZ25faW5pdDsKLUBAIC0zMDIsMTAgKzMwNCwxNSBAQCBzdGF0aWMgaW50IHJzYV9zZXR1 cF9tZChQUk9WX1JTQV9DVFggKmN0eCwgY29uc3QgY2hhciAqbWRuYW1lLAotIAotICAgICBpZiAo bWRuYW1lICE9IE5VTEwpIHsKLSAgICAgICAgIEVWUF9NRCAqbWQgPSBFVlBfTURfZmV0Y2goY3R4 LT5saWJjdHgsIG1kbmFtZSwgbWRwcm9wcyk7Ci0rICAgICAgICBpbnQgbWRfbmlkOwotKyAgICAg ICAgc2l6ZV90IG1kbmFtZV9sZW4gPSBzdHJsZW4obWRuYW1lKTsKLSsjaWZkZWYgRklQU19NT0RV TEUKLSAgICAgICAgIGludCBzaGExX2FsbG93ZWQgPSAoY3R4LT5vcGVyYXRpb24gIT0gRVZQX1BL RVlfT1BfU0lHTik7Ci0tICAgICAgICBpbnQgbWRfbmlkID0gb3NzbF9kaWdlc3RfcnNhX3NpZ25f Z2V0X21kX25pZChjdHgtPmxpYmN0eCwgbWQsCi0rI2Vsc2UKLSsgICAgICAgIGludCBzaGExX2Fs bG93ZWQgPSAwOwotKyNlbmRpZgotKyAgICAgICAgbWRfbmlkID0gb3NzbF9kaWdlc3RfcnNhX3Np Z25fZ2V0X21kX25pZChjdHgtPmxpYmN0eCwgbWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGExX2FsbG93ZWQpOwotLSAgICAgICAgc2l6 ZV90IG1kbmFtZV9sZW4gPSBzdHJsZW4obWRuYW1lKTsKLSAKLSAgICAgICAgIGlmIChtZCA9PSBO VUxMCi0gICAgICAgICAgICAgfHwgbWRfbmlkIDw9IDAKLUBAIC0xMzcwLDggKzEzNzcsMTUgQEAg c3RhdGljIGludCByc2Ffc2V0X2N0eF9wYXJhbXModm9pZCAqdnByc2FjdHgsIGNvbnN0IE9TU0xf UEFSQU0gcGFyYW1zW10pCi0gICAgIHByc2FjdHgtPnBhZF9tb2RlID0gcGFkX21vZGU7Ci0gCi0g ICAgIGlmIChwcnNhY3R4LT5tZCA9PSBOVUxMICYmIHBtZG5hbWUgPT0gTlVMTAotLSAgICAgICAg JiYgcGFkX21vZGUgPT0gUlNBX1BLQ1MxX1BTU19QQURESU5HKQotKyAgICAgICAgJiYgcGFkX21v ZGUgPT0gUlNBX1BLQ1MxX1BTU19QQURESU5HKSB7Ci0gICAgICAgICBwbWRuYW1lID0gUlNBX0RF RkFVTFRfRElHRVNUX05BTUU7Ci0rI2lmbmRlZiBGSVBTX01PRFVMRQotKyAgICAgICAgaWYgKCFv c3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfYWxsb3dlZChwcnNhY3R4LT5saWJjdHgs IDApKSB7Ci0rICAgICAgICAgICAgcG1kbmFtZSA9IFJTQV9ERUZBVUxUX0RJR0VTVF9OQU1FX05P TkxFR0FDWTsKLSsgICAgICAgIH0KLSsjZW5kaWYKLSsgICAgfQotKwotIAotICAgICBpZiAocG1n ZjFtZG5hbWUgIT0gTlVMTAotICAgICAgICAgJiYgIXJzYV9zZXR1cF9tZ2YxX21kKHByc2FjdHgs IHBtZ2YxbWRuYW1lLCBwbWdmMW1kcHJvcHMpKQotZGlmZiAtLWdpdCBhL3NzbC90MV9saWIuYyBi L3NzbC90MV9saWIuYwotaW5kZXggZTZmNGJjYzA0NS4uOGJjNTUwZWE1YiAxMDA2NDQKLS0tLSBh L3NzbC90MV9saWIuYwotKysrIGIvc3NsL3QxX2xpYi5jCi1AQCAtMjAsNiArMjAsNyBAQAotICNp bmNsdWRlIDxvcGVuc3NsL2JuLmg+Ci0gI2luY2x1ZGUgPG9wZW5zc2wvcHJvdmlkZXIuaD4KLSAj aW5jbHVkZSA8b3BlbnNzbC9wYXJhbV9idWlsZC5oPgotKyNpbmNsdWRlICJpbnRlcm5hbC9zc2xj b25mLmgiCi0gI2luY2x1ZGUgImludGVybmFsL25lbGVtLmgiCi0gI2luY2x1ZGUgImludGVybmFs L3NpemVzLmgiCi0gI2luY2x1ZGUgImludGVybmFsL3Rsc2dyb3Vwcy5oIgotQEAgLTExNTEsMTEg KzExNTIsMTMgQEAgaW50IHNzbF9zZXR1cF9zaWdfYWxncyhTU0xfQ1RYICpjdHgpCi0gICAgICAg ICA9IE9QRU5TU0xfbWFsbG9jKHNpemVvZigqbHUpICogT1NTTF9ORUxFTShzaWdhbGdfbG9va3Vw X3RibCkpOwotICAgICBFVlBfUEtFWSAqdG1wa2V5ID0gRVZQX1BLRVlfbmV3KCk7Ci0gICAgIGlu dCByZXQgPSAwOwotKyAgICBpbnQgbGRzaWdzX2FsbG93ZWQ7Ci0gCi0gICAgIGlmIChjYWNoZSA9 PSBOVUxMIHx8IHRtcGtleSA9PSBOVUxMKQotICAgICAgICAgZ290byBlcnI7Ci0gCi0gICAgIEVS Ul9zZXRfbWFyaygpOwotKyAgICBsZHNpZ3NfYWxsb3dlZCA9IG9zc2xfY3R4X2xlZ2FjeV9kaWdl c3Rfc2lnbmF0dXJlc19hbGxvd2VkKGN0eC0+bGliY3R4LCAwKTsKLSAgICAgZm9yIChpID0gMCwg bHUgPSBzaWdhbGdfbG9va3VwX3RibDsKLSAgICAgICAgICBpIDwgT1NTTF9ORUxFTShzaWdhbGdf bG9va3VwX3RibCk7IGx1KyssIGkrKykgewotICAgICAgICAgRVZQX1BLRVlfQ1RYICpwY3R4Owot QEAgLTExNzUsNiArMTE3OCwxMSBAQCBpbnQgc3NsX3NldHVwX3NpZ19hbGdzKFNTTF9DVFggKmN0 eCkKLSAgICAgICAgICAgICBjYWNoZVtpXS5lbmFibGVkID0gMDsKLSAgICAgICAgICAgICBjb250 aW51ZTsKLSAgICAgICAgIH0KLSsgICAgICAgIGlmICgobHUtPmhhc2ggPT0gTklEX3NoYTEgfHwg bHUtPmhhc2ggPT0gTklEX21kNV9zaGExKQotKyAgICAgICAgICAgICAgICAmJiAhbGRzaWdzX2Fs bG93ZWQpIHsKLSsgICAgICAgICAgICBjYWNoZVtpXS5lbmFibGVkID0gMDsKLSsgICAgICAgICAg ICBjb250aW51ZTsKLSsgICAgICAgIH0KLSAKLSAgICAgICAgIGlmICghRVZQX1BLRVlfc2V0X3R5 cGUodG1wa2V5LCBsdS0+c2lnKSkgewotICAgICAgICAgICAgIGNhY2hlW2ldLmVuYWJsZWQgPSAw OwotZGlmZiAtLWdpdCBhL3V0aWwvbGliY3J5cHRvLm51bSBiL3V0aWwvbGliY3J5cHRvLm51bQot aW5kZXggOWNiOGE0ZGRhMi4uZmViNjYwZDAzMCAxMDA2NDQKLS0tLSBhL3V0aWwvbGliY3J5cHRv Lm51bQotKysrIGIvdXRpbC9saWJjcnlwdG8ubnVtCi1AQCAtNTQzNiwzICs1NDM2LDUgQEAgRVZQ X0NJUEhFUl9DVFhfZHVwICAgICAgICAgICAgICAgICAgICAgIDU1NjMJM18xXzAJRVhJU1Q6OkZV TkNUSU9OOgotIEJOX2FyZV9jb3ByaW1lICAgICAgICAgICAgICAgICAgICAgICAgICA1NTY0CTNf MV8wCUVYSVNUOjpGVU5DVElPTjoKLSBPU1NMX0NNUF9NU0dfdXBkYXRlX3JlY2lwTm9uY2UgICAg ICAgICAgNTU2NQkzXzBfOQlFWElTVDo6RlVOQ1RJT046Q01QCi0gb3NzbF9zYWZlX2dldGVudiAg ICAgICAgICAgICAgICAgICAgICAgID8JM18wXzAJRVhJU1Q6OkZVTkNUSU9OOgotK29zc2xfY3R4 X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkID8JM18wXzEJRVhJU1Q6OkZVTkNUSU9O OgotK29zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkX3NldCA/CTNfMF8x CUVYSVNUOjpGVU5DVElPTjoKLS0tIAotMi40MC4xCi0KCmRpZmYgLS1naXQgYS8wMDUyLUFsbG93 LVNIQTEtaW4tc2VjbGV2ZWwtMi1pZi1yaC1hbGxvdy1zaGExLXNpZ25hdHVyZXMucGF0Y2ggYi8w MDUyLUFsbG93LVNIQTEtaW4tc2VjbGV2ZWwtMi1pZi1yaC1hbGxvdy1zaGExLXNpZ25hdHVyZXMu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkY2MzNGMuLjAwMDAwMDAKLS0t IGEvMDA1Mi1BbGxvdy1TSEExLWluLXNlY2xldmVsLTItaWYtcmgtYWxsb3ctc2hhMS1zaWduYXR1 cmVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjA3ICswLDAgQEAKLUZyb20gMDMzYTRhNjhm MjU5ZTMyZWE1OGU1YTlmNDc4ZjU5ZDdkYWJlNzBhZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IENsZW1lbnMgTGFuZyA8Y2xsYW5nQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDEgTWFy IDIwMjIgMTU6NDQ6MTggKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAyMy8zOF0gQWxsb3cgU0hBMSBp biBzZWNsZXZlbCAyIGlmIHJoLWFsbG93LXNoYTEtc2lnbmF0dXJlcyA9Ci0geWVzCi0KLVJlZmVy ZW5jZXM6IHJoYnojMjA1NTc5NgotLS0tCi0gY3J5cHRvL3g1MDkveDUwOV92ZnkuYyAgICAgICAg fCAxOSArKysrKysrKysrLQotIGRvYy9tYW41L2NvbmZpZy5wb2QgICAgICAgICAgIHwgIDcgKysr LQotIHNzbC90MV9saWIuYyAgICAgICAgICAgICAgICAgIHwgNjQgKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0KLSB0ZXN0L3JlY2lwZXMvMjUtdGVzdF92ZXJpZnkudCB8ICA3ICsr LS0KLSA0IGZpbGVzIGNoYW5nZWQsIDc5IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQot Ci1kaWZmIC0tZ2l0IGEvY3J5cHRvL3g1MDkveDUwOV92ZnkuYyBiL2NyeXB0by94NTA5L3g1MDlf dmZ5LmMKLWluZGV4IGQxOWVmZWFhOTkuLjQ1MWZhMTBiZjIgMTAwNjQ0Ci0tLS0gYS9jcnlwdG8v eDUwOS94NTA5X3ZmeS5jCi0rKysgYi9jcnlwdG8veDUwOS94NTA5X3ZmeS5jCi1AQCAtMjUsNiAr MjUsNyBAQAotICNpbmNsdWRlIDxvcGVuc3NsL29iamVjdHMuaD4KLSAjaW5jbHVkZSA8b3BlbnNz bC9jb3JlX25hbWVzLmg+Ci0gI2luY2x1ZGUgImludGVybmFsL2RhbmUuaCIKLSsjaW5jbHVkZSAi aW50ZXJuYWwvc3NsY29uZi5oIgotICNpbmNsdWRlICJjcnlwdG8veDUwOS5oIgotICNpbmNsdWRl ICJ4NTA5X2xvY2FsLmgiCi0gCi1AQCAtMzQzOCwxNCArMzQzOSwzMCBAQCBzdGF0aWMgaW50IGNo ZWNrX3NpZ19sZXZlbChYNTA5X1NUT1JFX0NUWCAqY3R4LCBYNTA5ICpjZXJ0KQotIHsKLSAgICAg aW50IHNlY2JpdHMgPSAtMTsKLSAgICAgaW50IGxldmVsID0gY3R4LT5wYXJhbS0+YXV0aF9sZXZl bDsKLSsgICAgaW50IG5pZDsKLSsgICAgT1NTTF9MSUJfQ1RYICpsaWJjdHggPSBOVUxMOwotIAot ICAgICBpZiAobGV2ZWwgPD0gMCkKLSAgICAgICAgIHJldHVybiAxOwotICAgICBpZiAobGV2ZWwg PiBOVU1fQVVUSF9MRVZFTFMpCi0gICAgICAgICBsZXZlbCA9IE5VTV9BVVRIX0xFVkVMUzsKLSAK LS0gICAgaWYgKCFYNTA5X2dldF9zaWduYXR1cmVfaW5mbyhjZXJ0LCBOVUxMLCBOVUxMLCAmc2Vj Yml0cywgTlVMTCkpCi0rICAgIGlmIChjdHgtPmxpYmN0eCkKLSsgICAgICAgIGxpYmN0eCA9IGN0 eC0+bGliY3R4OwotKyAgICBlbHNlIGlmIChjZXJ0LT5saWJjdHgpCi0rICAgICAgICBsaWJjdHgg PSBjZXJ0LT5saWJjdHg7Ci0rICAgIGVsc2UKLSsgICAgICAgIGxpYmN0eCA9IE9TU0xfTElCX0NU WF9nZXQwX2dsb2JhbF9kZWZhdWx0KCk7Ci0rCi0rICAgIGlmICghWDUwOV9nZXRfc2lnbmF0dXJl X2luZm8oY2VydCwgJm5pZCwgTlVMTCwgJnNlY2JpdHMsIE5VTEwpKQotICAgICAgICAgcmV0dXJu IDA7Ci0gCi0rICAgIGlmIChuaWQgPT0gTklEX3NoYTEKLSsgICAgICAgICAgICAmJiBvc3NsX2N0 eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfYWxsb3dlZChsaWJjdHgsIDApCi0rICAgICAgICAg ICAgJiYgY3R4LT5wYXJhbS0+YXV0aF9sZXZlbCA8IDMpCi0rICAgICAgICAvKiBXaGVuIHJoLWFs bG93LXNoYTEtc2lnbmF0dXJlcyA9IHllcyBhbmQgc2VjdXJpdHkgbGV2ZWwgPD0gMiwKLSsgICAg ICAgICAqIGV4cGxpY2l0bHkgYWxsb3cgU0hBMSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHku ICovCi0rICAgICAgICByZXR1cm4gMTsKLSsKLSAgICAgcmV0dXJuIHNlY2JpdHMgPj0gbWluYml0 c190YWJsZVtsZXZlbCAtIDFdOwotIH0KLWRpZmYgLS1naXQgYS9kb2MvbWFuNS9jb25maWcucG9k IGIvZG9jL21hbjUvY29uZmlnLnBvZAotaW5kZXggZTVhODhkMTFhYS4uMmQ1NjQ5ZjkwYiAxMDA2 NDQKLS0tLSBhL2RvYy9tYW41L2NvbmZpZy5wb2QKLSsrKyBiL2RvYy9tYW41L2NvbmZpZy5wb2QK LUBAIC0zMDUsNyArMzA1LDEyIEBAIFdoZW4gc2V0IHRvIEI8bm8+LCBhbnkgYXR0ZW1wdCB0byBj cmVhdGUgb3IgdmVyaWZ5IGEgc2lnbmF0dXJlIHdpdGggYSBTSEExCi0gZGlnZXN0IHdpbGwgZmFp bC4gIEZvciBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgT3BlblNTTCwgc2V0 IHRoaXMKLSBvcHRpb24gdG8gQjx5ZXM+LiAgVGhpcyBzZXR0aW5nIGFsc28gYWZmZWN0cyBUTFMs IHdoZXJlIHNpZ25hdHVyZSBhbGdvcml0aG1zCi0gdGhhdCB1c2UgU0hBMSBhcyBkaWdlc3Qgd2ls bCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIGlmIHRoaXMgb3B0aW9uIGlzIHNldCB0bwotLUI8bm8+ LgotK0I8bm8+LiAgTm90ZSB0aGF0IGVuYWJsaW5nIEI8cmgtYWxsb3ctc2hhMS1zaWduYXR1cmVz PiB3aWxsIGFsbG93IFRMUyBzaWduYXR1cmUKLSthbGdvcml0aG1zIHRoYXQgdXNlIFNIQTEgaW4g c2VjdXJpdHkgbGV2ZWwgMiwgZGVzcGl0ZSB0aGUgZGVmaW5pdGlvbiBvZgotK3NlY3VyaXR5IGxl dmVsIDIgb2YgMTEyIGJpdHMgb2Ygc2VjdXJpdHksIHdoaWNoIFNIQTEgZG9lcyBub3QgbWVldC4g IEJlY2F1c2UKLStUTFMgMS4xIG9yIGxvd2VyIHVzZSBNRDUtU0hBMSBhcyBwc2V1ZG9yYW5kb20g ZnVuY3Rpb24gKFBSRikgdG8gZGVyaXZlIGtleQotK21hdGVyaWFsLCBkaXNhYmxpbmcgQjxyaC1h bGxvdy1zaGExLXNpZ25hdHVyZXM+IHJlcXVpcmVzIHRoZSB1c2Ugb2YgVExTIDEuMiBvcgotK25l d2VyLgotIAotID1pdGVtIEI8Zmlwc19tb2RlPiAoZGVwcmVjYXRlZCkKLSAKLWRpZmYgLS1naXQg YS9zc2wvdDFfbGliLmMgYi9zc2wvdDFfbGliLmMKLWluZGV4IDhiYzU1MGVhNWIuLmE5ZDIxYTZh OTYgMTAwNjQ0Ci0tLS0gYS9zc2wvdDFfbGliLmMKLSsrKyBiL3NzbC90MV9saWIuYwotQEAgLTIw LDYgKzIwLDcgQEAKLSAjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgotICNpbmNsdWRlIDxvcGVuc3Ns L3Byb3ZpZGVyLmg+Ci0gI2luY2x1ZGUgPG9wZW5zc2wvcGFyYW1fYnVpbGQuaD4KLSsjaW5jbHVk ZSAiY3J5cHRvL3g1MDkuaCIKLSAjaW5jbHVkZSAiaW50ZXJuYWwvc3NsY29uZi5oIgotICNpbmNs dWRlICJpbnRlcm5hbC9uZWxlbS5oIgotICNpbmNsdWRlICJpbnRlcm5hbC9zaXplcy5oIgotQEAg LTE1NjcsMTkgKzE1NjgsMjcgQEAgaW50IHRsczEyX2NoZWNrX3BlZXJfc2lnYWxnKFNTTCAqcywg dWludDE2X3Qgc2lnLCBFVlBfUEtFWSAqcGtleSkKLSAgICAgICAgIFNTTGZhdGFsKHMsIFNTTF9B RF9IQU5EU0hBS0VfRkFJTFVSRSwgU1NMX1JfVU5LTk9XTl9ESUdFU1QpOwotICAgICAgICAgcmV0 dXJuIDA7Ci0gICAgIH0KLS0gICAgLyoKLS0gICAgICogTWFrZSBzdXJlIHNlY3VyaXR5IGNhbGxi YWNrIGFsbG93cyBhbGdvcml0aG0uIEZvciBoaXN0b3JpY2FsCi0tICAgICAqIHJlYXNvbnMgd2Ug aGF2ZSB0byBwYXNzIHRoZSBzaWdhbGcgYXMgYSB0d28gYnl0ZSBjaGFyIGFycmF5LgotLSAgICAg Ki8KLS0gICAgc2lnYWxnc3RyWzBdID0gKHNpZyA+PiA4KSAmIDB4ZmY7Ci0tICAgIHNpZ2FsZ3N0 clsxXSA9IHNpZyAmIDB4ZmY7Ci0tICAgIHNlY2JpdHMgPSBzaWdhbGdfc2VjdXJpdHlfYml0cyhz LT5jdHgsIGx1KTsKLS0gICAgaWYgKHNlY2JpdHMgPT0gMCB8fAotLSAgICAgICAgIXNzbF9zZWN1 cml0eShzLCBTU0xfU0VDT1BfU0lHQUxHX0NIRUNLLCBzZWNiaXRzLAotLSAgICAgICAgICAgICAg ICAgICAgICBtZCAhPSBOVUxMID8gRVZQX01EX2dldF90eXBlKG1kKSA6IE5JRF91bmRlZiwKLS0g ICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKilzaWdhbGdzdHIpKSB7Ci0tICAgICAgICBTU0xm YXRhbChzLCBTU0xfQURfSEFORFNIQUtFX0ZBSUxVUkUsIFNTTF9SX1dST05HX1NJR05BVFVSRV9U WVBFKTsKLS0gICAgICAgIHJldHVybiAwOwotKwotKyAgICBpZiAobHUtPmhhc2ggPT0gTklEX3No YTEKLSsgICAgICAgICAgICAmJiBvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfYWxs b3dlZChzLT5jdHgtPmxpYmN0eCwgMCkKLSsgICAgICAgICAgICAmJiBTU0xfZ2V0X3NlY3VyaXR5 X2xldmVsKHMpIDwgMykgewotKyAgICAgICAgLyogd2hlbiByaC1hbGxvdy1zaGExLXNpZ25hdHVy ZXMgPSB5ZXMgYW5kIHNlY3VyaXR5IGxldmVsIDw9IDIsCi0rICAgICAgICAgKiBleHBsaWNpdGx5 IGFsbG93IFNIQTEgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5ICovCi0rICAgIH0gZWxzZSB7 Ci0rICAgICAgICAvKgotKyAgICAgICAgICogTWFrZSBzdXJlIHNlY3VyaXR5IGNhbGxiYWNrIGFs bG93cyBhbGdvcml0aG0uIEZvciBoaXN0b3JpY2FsCi0rICAgICAgICAgKiByZWFzb25zIHdlIGhh dmUgdG8gcGFzcyB0aGUgc2lnYWxnIGFzIGEgdHdvIGJ5dGUgY2hhciBhcnJheS4KLSsgICAgICAg ICAqLwotKyAgICAgICAgc2lnYWxnc3RyWzBdID0gKHNpZyA+PiA4KSAmIDB4ZmY7Ci0rICAgICAg ICBzaWdhbGdzdHJbMV0gPSBzaWcgJiAweGZmOwotKyAgICAgICAgc2VjYml0cyA9IHNpZ2FsZ19z ZWN1cml0eV9iaXRzKHMtPmN0eCwgbHUpOwotKyAgICAgICAgaWYgKHNlY2JpdHMgPT0gMCB8fAot KyAgICAgICAgICAgICFzc2xfc2VjdXJpdHkocywgU1NMX1NFQ09QX1NJR0FMR19DSEVDSywgc2Vj Yml0cywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgIG1kICE9IE5VTEwgPyBFVlBfTURfZ2V0 X3R5cGUobWQpIDogTklEX3VuZGVmLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQg KilzaWdhbGdzdHIpKSB7Ci0rICAgICAgICAgICAgU1NMZmF0YWwocywgU1NMX0FEX0hBTkRTSEFL RV9GQUlMVVJFLCBTU0xfUl9XUk9OR19TSUdOQVRVUkVfVFlQRSk7Ci0rICAgICAgICAgICAgcmV0 dXJuIDA7Ci0rICAgICAgICB9Ci0gICAgIH0KLSAgICAgLyogU3RvcmUgdGhlIHNpZ2FsZyB0aGUg cGVlciB1c2VzICovCi0gICAgIHMtPnMzLnRtcC5wZWVyX3NpZ2FsZyA9IGx1OwotQEAgLTIxMTcs NiArMjEyNiwxNCBAQCBzdGF0aWMgaW50IHRsczEyX3NpZ2FsZ19hbGxvd2VkKGNvbnN0IFNTTCAq cywgaW50IG9wLCBjb25zdCBTSUdBTEdfTE9PS1VQICpsdSkKLSAgICAgICAgIH0KLSAgICAgfQot IAotKyAgICBpZiAobHUtPmhhc2ggPT0gTklEX3NoYTEKLSsgICAgICAgICAgICAmJiBvc3NsX2N0 eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfYWxsb3dlZChzLT5jdHgtPmxpYmN0eCwgMCkKLSsg ICAgICAgICAgICAmJiBTU0xfZ2V0X3NlY3VyaXR5X2xldmVsKHMpIDwgMykgewotKyAgICAgICAg Lyogd2hlbiByaC1hbGxvdy1zaGExLXNpZ25hdHVyZXMgPSB5ZXMgYW5kIHNlY3VyaXR5IGxldmVs IDw9IDIsCi0rICAgICAgICAgKiBleHBsaWNpdGx5IGFsbG93IFNIQTEgZm9yIGJhY2t3YXJkcyBj b21wYXRpYmlsaXR5ICovCi0rICAgICAgICByZXR1cm4gMTsKLSsgICAgfQotKwotICAgICAvKiBG aW5hbGx5IHNlZSBpZiBzZWN1cml0eSBjYWxsYmFjayBhbGxvd3MgaXQgKi8KLSAgICAgc2VjYml0 cyA9IHNpZ2FsZ19zZWN1cml0eV9iaXRzKHMtPmN0eCwgbHUpOwotICAgICBzaWdhbGdzdHJbMF0g PSAobHUtPnNpZ2FsZyA+PiA4KSAmIDB4ZmY7Ci1AQCAtMjk4Niw2ICszMDAzLDggQEAgc3RhdGlj IGludCBzc2xfc2VjdXJpdHlfY2VydF9zaWcoU1NMICpzLCBTU0xfQ1RYICpjdHgsIFg1MDkgKngs IGludCBvcCkKLSB7Ci0gICAgIC8qIExvb2t1cCBzaWduYXR1cmUgYWxnb3JpdGhtIGRpZ2VzdCAq LwotICAgICBpbnQgc2VjYml0cywgbmlkLCBwa25pZDsKLSsgICAgT1NTTF9MSUJfQ1RYICpsaWJj dHggPSBOVUxMOwotKwotICAgICAvKiBEb24ndCBjaGVjayBzaWduYXR1cmUgaWYgc2VsZiBzaWdu ZWQgKi8KLSAgICAgaWYgKChYNTA5X2dldF9leHRlbnNpb25fZmxhZ3MoeCkgJiBFWEZMQUdfU1Mp ICE9IDApCi0gICAgICAgICByZXR1cm4gMTsKLUBAIC0yOTk0LDYgKzMwMTMsMjUgQEAgc3RhdGlj IGludCBzc2xfc2VjdXJpdHlfY2VydF9zaWcoU1NMICpzLCBTU0xfQ1RYICpjdHgsIFg1MDkgKngs IGludCBvcCkKLSAgICAgLyogSWYgZGlnZXN0IE5JRCBub3QgZGVmaW5lZCB1c2Ugc2lnbmF0dXJl IE5JRCAqLwotICAgICBpZiAobmlkID09IE5JRF91bmRlZikKLSAgICAgICAgIG5pZCA9IHBrbmlk OwotKwotKyAgICBpZiAoeCAmJiB4LT5saWJjdHgpCi0rICAgICAgICBsaWJjdHggPSB4LT5saWJj dHg7Ci0rICAgIGVsc2UgaWYgKGN0eCAmJiBjdHgtPmxpYmN0eCkKLSsgICAgICAgIGxpYmN0eCA9 IGN0eC0+bGliY3R4OwotKyAgICBlbHNlIGlmIChzICYmIHMtPmN0eCAmJiBzLT5jdHgtPmxpYmN0 eCkKLSsgICAgICAgIGxpYmN0eCA9IHMtPmN0eC0+bGliY3R4OwotKyAgICBlbHNlCi0rICAgICAg ICBsaWJjdHggPSBPU1NMX0xJQl9DVFhfZ2V0MF9nbG9iYWxfZGVmYXVsdCgpOwotKwotKyAgICBp ZiAobmlkID09IE5JRF9zaGExCi0rICAgICAgICAgICAgJiYgb3NzbF9jdHhfbGVnYWN5X2RpZ2Vz dF9zaWduYXR1cmVzX2FsbG93ZWQobGliY3R4LCAwKQotKyAgICAgICAgICAgICYmICgocyAhPSBO VUxMICYmIFNTTF9nZXRfc2VjdXJpdHlfbGV2ZWwocykgPCAzKQotKyAgICAgICAgICAgICAgICB8 fCAoY3R4ICE9IE5VTEwgJiYgU1NMX0NUWF9nZXRfc2VjdXJpdHlfbGV2ZWwoY3R4KSA8IDMpCi0r ICAgICAgICAgICAgKSkKLSsgICAgICAgIC8qIFdoZW4gcmgtYWxsb3ctc2hhMS1zaWduYXR1cmVz ID0geWVzIGFuZCBzZWN1cml0eSBsZXZlbCA8PSAyLAotKyAgICAgICAgICogZXhwbGljaXRseSBh bGxvdyBTSEExIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4gKi8KLSsgICAgICAgIHJldHVy biAxOwotKwotICAgICBpZiAocykKLSAgICAgICAgIHJldHVybiBzc2xfc2VjdXJpdHkocywgb3As IHNlY2JpdHMsIG5pZCwgeCk7Ci0gICAgIGVsc2UKLWRpZmYgLS1naXQgYS90ZXN0L3JlY2lwZXMv MjUtdGVzdF92ZXJpZnkudCBiL3Rlc3QvcmVjaXBlcy8yNS10ZXN0X3ZlcmlmeS50Ci1pbmRleCBm NjlhZjc5M2U0Li5hNzQ4MTI1NGUxIDEwMDY0NAotLS0tIGEvdGVzdC9yZWNpcGVzLzI1LXRlc3Rf dmVyaWZ5LnQKLSsrKyBiL3Rlc3QvcmVjaXBlcy8yNS10ZXN0X3ZlcmlmeS50Ci1AQCAtMjksNyAr MjksNyBAQCBzdWIgdmVyaWZ5IHsKLSAgICAgcnVuKGFwcChbQGFyZ3NdKSk7Ci0gfQotIAotLXBs YW4gdGVzdHMgPT4gMTc1OwotK3BsYW4gdGVzdHMgPT4gMTc0OwotIAotICMgQ2Fub25pY2FsIHN1 Y2Nlc3MKLSBvayh2ZXJpZnkoImVlLWNlcnQiLCAic3Nsc2VydmVyIiwgWyJyb290LWNlcnQiXSwg WyJjYS1jZXJ0Il0pLAotQEAgLTQzOSw4ICs0MzksOSBAQCBvayh2ZXJpZnkoImVlLXBzcy1zaGEx LWNlcnQiLCAiIiwgWyJyb290LWNlcnQiXSwgWyJjYS1jZXJ0Il0sICItYXV0aF9sZXZlbCIsICIw IgotIG9rKHZlcmlmeSgiZWUtcHNzLXNoYTI1Ni1jZXJ0IiwgIiIsIFsicm9vdC1jZXJ0Il0sIFsi Y2EtY2VydCJdLCApLAotICAgICAiQ0Egd2l0aCBQU1Mgc2lnbmF0dXJlIHVzaW5nIFNIQTI1NiIp OwotIAotLW9rKCF2ZXJpZnkoImVlLXBzcy1zaGExLWNlcnQiLCAiIiwgWyJyb290LWNlcnQiXSwg WyJjYS1jZXJ0Il0sICItYXV0aF9sZXZlbCIsICIxIiksCi0tICAgICJSZWplY3QgUFNTIHNpZ25h dHVyZSB1c2luZyBTSEExIGFuZCBhdXRoIGxldmVsIDEiKTsKLSsjIyByaC1hbGxvdy1zaGExLXNp Z25hdHVyZXM9eWVzIGFsbG93cyB0aGlzIHRvIHBhc3MgZGVzcGl0ZSAtYXV0aF9sZXZlbCAxCi0r I29rKCF2ZXJpZnkoImVlLXBzcy1zaGExLWNlcnQiLCAiIiwgWyJyb290LWNlcnQiXSwgWyJjYS1j ZXJ0Il0sICItYXV0aF9sZXZlbCIsICIxIiksCi0rIyAgICAiUmVqZWN0IFBTUyBzaWduYXR1cmUg dXNpbmcgU0hBMSBhbmQgYXV0aCBsZXZlbCAxIik7Ci0gCi0gb2sodmVyaWZ5KCJlZS1wc3Mtc2hh MjU2LWNlcnQiLCAiIiwgWyJyb290LWNlcnQiXSwgWyJjYS1jZXJ0Il0sICItYXV0aF9sZXZlbCIs ICIyIiksCi0gICAgICJQU1Mgc2lnbmF0dXJlIHVzaW5nIFNIQTI1NiBhbmQgYXV0aCBsZXZlbCAy Iik7Ci0tLSAKLTIuNDAuMQotCgpkaWZmIC0tZ2l0IGEvMDA1Ni1zdHJjYXNlY21wLnBhdGNoIGIv MDA1Ni1zdHJjYXNlY21wLnBhdGNoCmluZGV4IGEyYzhkNmUuLmRhYzIxNzIgMTAwNjQ0Ci0tLSBh LzAwNTYtc3RyY2FzZWNtcC5wYXRjaAorKysgYi8wMDU2LXN0cmNhc2VjbXAucGF0Y2gKQEAgLTEs MTcgKzEsMjYgQEAKLWRpZmYgLXVwIG9wZW5zc2wtMy4wLjMvdXRpbC9saWJjcnlwdG8ubnVtLmxv Y2FsZSBvcGVuc3NsLTMuMC4zL3V0aWwvbGliY3J5cHRvLm51bQotLS0tIG9wZW5zc2wtMy4wLjMv dXRpbC9saWJjcnlwdG8ubnVtLmxvY2FsZQkyMDIyLTA2LTAxIDEyOjM1OjUyLjY2NzQ5ODcyNCAr MDIwMAotKysrIG9wZW5zc2wtMy4wLjMvdXRpbC9saWJjcnlwdG8ubnVtCTIwMjItMDYtMDEgMTI6 MzY6MDguMTEyNjMzMDkzICswMjAwCi1AQCAtNTQyNSw0ICs1NDI1LDYgQEAgQVNOMV9pdGVtX2Qy aV9leAotIEVWUF9DSVBIRVJfQ1RYX2R1cCAgICAgICAgICAgICAgICAgICAgICA1NTYzCTNfMV8w CUVYSVNUOjpGVU5DVElPTjoKLSBCTl9hcmVfY29wcmltZSAgICAgICAgICAgICAgICAgICAgICAg ICAgNTU2NAkzXzFfMAlFWElTVDo6RlVOQ1RJT046Ci0gT1NTTF9DTVBfTVNHX3VwZGF0ZV9yZWNp cE5vbmNlICAgICAgICAgIDU1NjUJM18wXzkJRVhJU1Q6OkZVTkNUSU9OOkNNUAotK09QRU5TU0xf c3RyY2FzZWNtcCAgICAgICAgICAgICAgICAgICAgICA/CTNfMF8xCUVYSVNUOjpGVU5DVElPTjoK LStPUEVOU1NMX3N0cm5jYXNlY21wICAgICAgICAgICAgICAgICAgICAgPyAJM18wXzEJRVhJU1Q6 OkZVTkNUSU9OOgotIG9zc2xfc2FmZV9nZXRlbnYgICAgICAgICAgICAgICAgICAgICAgICA/CTNf MF8wCUVYSVNUOjpGVU5DVElPTjoKLWRpZmYgLXVwIG9wZW5zc2wtMy4wLjcvY3J5cHRvL29fc3Ry LmMuY21wIG9wZW5zc2wtMy4wLjcvY3J5cHRvL29fc3RyLmMKLS0tLSBvcGVuc3NsLTMuMC43L2Ny eXB0by9vX3N0ci5jLmNtcAkyMDIyLTExLTI1IDEyOjUwOjIyLjQ0OTc2MDY1MyArMDEwMAotKysr IG9wZW5zc2wtMy4wLjcvY3J5cHRvL29fc3RyLmMJMjAyMi0xMS0yNSAxMjo1MToxOS40MTYzNTA1 ODQgKzAxMDAKLUBAIC0zNDIsNyArMzQyLDEyIEBAIGludCBvcGVuc3NsX3N0cmVycm9yX3IoaW50 IGVycm51bSwgY2hhcgorRnJvbSA4NTQ1ZTBjNGMzODkzNGZkYTQ3YjcwMTA0M2RkNWNlODljOTlm ZTgxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogcnBtLWJ1aWxkIDxycG0tYnVpbGQ+ CitEYXRlOiBNb24sIDMxIEp1bCAyMDIzIDA5OjQxOjI4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0gg MjUvMzVdIDAwNTYtc3RyY2FzZWNtcC5wYXRjaAorCitQYXRjaC1uYW1lOiAwMDU2LXN0cmNhc2Vj bXAucGF0Y2gKK1BhdGNoLWlkOiA1NgorUGF0Y2gtc3RhdHVzOiB8CisgICAgIyBodHRwczovL2dp dGh1Yi5jb20vb3BlbnNzbC9vcGVuc3NsL3B1bGwvMTgxMDMKKyAgICAjIFRoZSBwYXRjaCBpcyBp bmNvcnBvcmF0ZWQgaW4gMy4wLjMgYnV0IHdlIHByb3ZpZGUgdGhpcyBmdW5jdGlvbiBzaW5jZSAz LjAuMQorICAgICMgc28gdGhlIHBhdGNoIHNob3VsZCBwZXJzaXN0CitGcm9tLWRpc3QtZ2l0LWNv bW1pdDogOTQwOWJjNzA0NGNmNGI1NzczNjM5Y2NlMjBmNTEzOTk4ODhjNDVmZAorLS0tCisgY3J5 cHRvL29fc3RyLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNCArKysrKysrKysrKystLQor IHRlc3QvcmVjaXBlcy8wMS10ZXN0X3N5bWJvbF9wcmVzZW5jZS50IHwgIDEgKworIHV0aWwvbGli Y3J5cHRvLm51bSAgICAgICAgICAgICAgICAgICAgIHwgIDIgKysKKyAzIGZpbGVzIGNoYW5nZWQs IDE1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jcnlwdG8v b19zdHIuYyBiL2NyeXB0by9vX3N0ci5jCitpbmRleCAzMzU0Y2UwOTI3Li45NWI5NTM4NDcxIDEw MDY0NAorLS0tIGEvY3J5cHRvL29fc3RyLmMKKysrKyBiL2NyeXB0by9vX3N0ci5jCitAQCAtMzQy LDcgKzM0MiwxMiBAQCBpbnQgb3BlbnNzbF9zdHJlcnJvcl9yKGludCBlcnJudW0sIGNoYXIgKmJ1 Ziwgc2l6ZV90IGJ1ZmxlbikKICAjZW5kaWYKICB9CiAgCkBAIC0yNSw3ICszNCw3IEBAIGRpZmYg LXVwIG9wZW5zc2wtMy4wLjcvY3J5cHRvL29fc3RyLmMuY21wIG9wZW5zc2wtMy4wLjcvY3J5cHRv L29fc3RyLmMKICB7CiAgICAgIGludCB0OwogIAotQEAgLTM1Miw3ICszNTQsMTIgQEAgaW50IE9Q RU5TU0xfc3RyY2FzZWNtcChjb25zdCBjaGFyICpzMSwgYworQEAgLTM1Miw3ICszNTcsMTIgQEAg aW50IE9QRU5TU0xfc3RyY2FzZWNtcChjb25zdCBjaGFyICpzMSwgY29uc3QgY2hhciAqczIpCiAg ICAgIHJldHVybiB0OwogIH0KICAKQEAgLTM5LDEwICs0OCwxMSBAQCBkaWZmIC11cCBvcGVuc3Ns LTMuMC43L2NyeXB0by9vX3N0ci5jLmNtcCBvcGVuc3NsLTMuMC43L2NyeXB0by9vX3N0ci5jCiAg ewogICAgICBpbnQgdDsKICAgICAgc2l6ZV90IGk7Ci1kaWZmIC11cCBvcGVuc3NsLTMuMC43L3Rl c3QvcmVjaXBlcy8wMS10ZXN0X3N5bWJvbF9wcmVzZW5jZS50LmNtcCBvcGVuc3NsLTMuMC43L3Rl c3QvcmVjaXBlcy8wMS10ZXN0X3N5bWJvbF9wcmVzZW5jZS50Ci0tLS0gb3BlbnNzbC0zLjAuNy90 ZXN0L3JlY2lwZXMvMDEtdGVzdF9zeW1ib2xfcHJlc2VuY2UudC5jbXAJMjAyMi0xMS0yNSAxODox OTowNS42Njk3NjkwNzYgKzAxMDAKLSsrKyBvcGVuc3NsLTMuMC43L3Rlc3QvcmVjaXBlcy8wMS10 ZXN0X3N5bWJvbF9wcmVzZW5jZS50CTIwMjItMTEtMjUgMTg6MzE6MjAuOTkzMzkyNjc4ICswMTAw Ci1AQCAtNzcsNiArODAsNyBAQCBmb3JlYWNoIG15ICRsaWJuYW1lIChAbGlibmFtZXMpIHsKK2Rp ZmYgLS1naXQgYS90ZXN0L3JlY2lwZXMvMDEtdGVzdF9zeW1ib2xfcHJlc2VuY2UudCBiL3Rlc3Qv cmVjaXBlcy8wMS10ZXN0X3N5bWJvbF9wcmVzZW5jZS50CitpbmRleCA1NTMwYWRlMGFkLi4yMzhh OGQ3NjJlIDEwMDY0NAorLS0tIGEvdGVzdC9yZWNpcGVzLzAxLXRlc3Rfc3ltYm9sX3ByZXNlbmNl LnQKKysrKyBiL3Rlc3QvcmVjaXBlcy8wMS10ZXN0X3N5bWJvbF9wcmVzZW5jZS50CitAQCAtNzcs NiArNzcsNyBAQCBmb3JlYWNoIG15ICRsaWJuYW1lIChAbGlibmFtZXMpIHsKICAgICAgICAgICAg ICAgICAgc3wgLip8fDsKICAgICAgICAgICAgICAgICAgIyBEcm9wIE9wZW5TU0wgZHluYW1pYyB2 ZXJzaW9uIGluZm9ybWF0aW9uIGlmIHRoZXJlIGlzIGFueQogICAgICAgICAgICAgICAgICBzfFxA XEAuKyR8fDsKQEAgLTUwLDMgKzYwLDE5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjcvdGVzdC9y ZWNpcGVzLzAxLXRlc3Rfc3ltYm9sX3ByZXNlbmNlLnQuY21wIG9wZW5zc2wtMy4wLjcvCiAgICAg ICAgICAgICAgICAgICMgUmV0dXJuIHRoZSByZXN1bHQKICAgICAgICAgICAgICAgICAgJF8KICAg ICAgICAgICAgICB9CitkaWZmIC0tZ2l0IGEvdXRpbC9saWJjcnlwdG8ubnVtIGIvdXRpbC9saWJj cnlwdG8ubnVtCitpbmRleCBmZWI2NjBkMDMwLi42MzkwNzRjNWQwIDEwMDY0NAorLS0tIGEvdXRp bC9saWJjcnlwdG8ubnVtCisrKysgYi91dGlsL2xpYmNyeXB0by5udW0KK0BAIC01NDM1LDYgKzU0 MzUsOCBAQCBFVlBfTURfQ1RYX2R1cCAgICAgICAgICAgICAgICAgICAgICAgICAgNTU2MgkzXzFf MAlFWElTVDo6RlVOQ1RJT046CisgRVZQX0NJUEhFUl9DVFhfZHVwICAgICAgICAgICAgICAgICAg ICAgIDU1NjMJM18xXzAJRVhJU1Q6OkZVTkNUSU9OOgorIEJOX2FyZV9jb3ByaW1lICAgICAgICAg ICAgICAgICAgICAgICAgICA1NTY0CTNfMV8wCUVYSVNUOjpGVU5DVElPTjoKKyBPU1NMX0NNUF9N U0dfdXBkYXRlX3JlY2lwTm9uY2UgICAgICAgICAgNTU2NQkzXzBfOQlFWElTVDo6RlVOQ1RJT046 Q01QCisrT1BFTlNTTF9zdHJjYXNlY21wICAgICAgICAgICAgICAgICAgICAgID8JM18wXzEJRVhJ U1Q6OkZVTkNUSU9OOgorK09QRU5TU0xfc3RybmNhc2VjbXAgICAgICAgICAgICAgICAgICAgICA/ IAkzXzBfMQlFWElTVDo6RlVOQ1RJT046Cisgb3NzbF9zYWZlX2dldGVudiAgICAgICAgICAgICAg ICAgICAgICAgID8JM18wXzAJRVhJU1Q6OkZVTkNUSU9OOgorIG9zc2xfY3R4X2xlZ2FjeV9kaWdl c3Rfc2lnbmF0dXJlc19hbGxvd2VkID8JM18wXzEJRVhJU1Q6OkZVTkNUSU9OOgorIG9zc2xfY3R4 X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkX3NldCA/CTNfMF8xCUVYSVNUOjpGVU5D VElPTjoKKy0tIAorMi40MS4wCisKCmRpZmYgLS1naXQgYS8wMDU4LUZJUFMtbGltaXQtcnNhLWVu Y3J5cHQucGF0Y2ggYi8wMDU4LUZJUFMtbGltaXQtcnNhLWVuY3J5cHQucGF0Y2gKaW5kZXggNWYx M2NjMS4uZmY4NGVkZiAxMDA2NDQKLS0tIGEvMDA1OC1GSVBTLWxpbWl0LXJzYS1lbmNyeXB0LnBh dGNoCisrKyBiLzAwNTgtRklQUy1saW1pdC1yc2EtZW5jcnlwdC5wYXRjaApAQCAtMSw2ICsxLDI3 IEBACi1kaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9jb21tb24vc2VjdXJpdHljaGVj ay5jLnJzYWVuYyBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9jb21tb24vc2VjdXJpdHljaGVjay5j Ci0tLS0gb3BlbnNzbC0zLjAuMS9wcm92aWRlcnMvY29tbW9uL3NlY3VyaXR5Y2hlY2suYy5yc2Fl bmMJMjAyMi0wNi0yNCAxNzoxNDozMy42MzQ2OTI3MjkgKzAyMDAKLSsrKyBvcGVuc3NsLTMuMC4x L3Byb3ZpZGVycy9jb21tb24vc2VjdXJpdHljaGVjay5jCTIwMjItMDYtMjQgMTc6MTY6MDguOTY2 NTQwNjA1ICswMjAwCitGcm9tIDdhNmFkZTc5NDdjZWVhNmNhMzY3YWZhMDQyN2Y2MWE5NTA1ZTM3 YTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4K K0RhdGU6IE1vbiwgMzEgSnVsIDIwMjMgMDk6NDE6MjggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAy Ni8zNV0gMDA1OC1GSVBTLWxpbWl0LXJzYS1lbmNyeXB0LnBhdGNoCisKK1BhdGNoLW5hbWU6IDAw NTgtRklQUy1saW1pdC1yc2EtZW5jcnlwdC5wYXRjaAorUGF0Y2gtaWQ6IDU4CitQYXRjaC1zdGF0 dXM6IHwKKyAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29wZW5zc2wvcHVsbC8xODE3 NQorICAgICMgUGF0Y2g1NzogMDA1Ny1zdHJjYXNlY21wLWZpeC5wYXRjaAorICAgICMgaHR0cHM6 Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0yMDUzMjg5CitGcm9tLWRpc3Qt Z2l0LWNvbW1pdDogOTQwOWJjNzA0NGNmNGI1NzczNjM5Y2NlMjBmNTEzOTk4ODhjNDVmZAorLS0t CisgcHJvdmlkZXJzL2NvbW1vbi9zZWN1cml0eWNoZWNrLmMgICAgICAgICAgICAgIHwgIDEgKwor IC4uLi9pbXBsZW1lbnRhdGlvbnMvYXN5bWNpcGhlcnMvcnNhX2VuYy5jICAgICB8IDM1ICsrKysr KysrKysrCisgLi4uLzMwLXRlc3RfZXZwX2RhdGEvZXZwcGtleV9yc2FfY29tbW9uLnR4dCAgIHwg NTggKysrKysrKysrKysrKysrKysrLQorIHRlc3QvcmVjaXBlcy84MC10ZXN0X2Ntcy50ICAgICAg ICAgICAgICAgICAgICB8ICA1ICstCisgdGVzdC9yZWNpcGVzLzgwLXRlc3Rfc3NsX29sZC50ICAg ICAgICAgICAgICAgIHwgMjcgKysrKysrKy0tCisgNSBmaWxlcyBjaGFuZ2VkLCAxMTggaW5zZXJ0 aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9jb21tb24v c2VjdXJpdHljaGVjay5jIGIvcHJvdmlkZXJzL2NvbW1vbi9zZWN1cml0eWNoZWNrLmMKK2luZGV4 IGU1MzRhZDBhNWYuLmMwMTdjNjU4ZTUgMTAwNjQ0CistLS0gYS9wcm92aWRlcnMvY29tbW9uL3Nl Y3VyaXR5Y2hlY2suYworKysrIGIvcHJvdmlkZXJzL2NvbW1vbi9zZWN1cml0eWNoZWNrLmMKIEBA IC0yNyw2ICsyNyw3IEBACiAgICogU2V0IHByb3RlY3QgPSAxIGZvciBlbmNyeXB0aW9uIG9yIHNp Z25pbmcgb3BlcmF0aW9ucywgb3IgMCBvdGhlcndpc2UuIFNlZQogICAqIGh0dHBzOi8vbnZscHVi cy5uaXN0Lmdvdi9uaXN0cHVicy9TcGVjaWFsUHVibGljYXRpb25zL05JU1QuU1AuODAwLTEzMUFy Mi5wZGYuCkBAIC05LDEwICszMCwxMSBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVy cy9jb21tb24vc2VjdXJpdHljaGVjay5jLnJzYWVuYyBvcGVuc3NsLTMuMC4xL3BybwogIGludCBv c3NsX3JzYV9jaGVja19rZXkoT1NTTF9MSUJfQ1RYICpjdHgsIGNvbnN0IFJTQSAqcnNhLCBpbnQg b3BlcmF0aW9uKQogIHsKICAgICAgaW50IHByb3RlY3QgPSAwOwotZGlmZiAtdXAgb3BlbnNzbC0z LjAuMS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL2FzeW1jaXBoZXJzL3JzYV9lbmMuYy5ub19i YWRfcGFkIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9hc3ltY2lwaGVy cy9yc2FfZW5jLmMKLS0tLSBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMv YXN5bWNpcGhlcnMvcnNhX2VuYy5jLm5vX2JhZF9wYWQJMjAyMi0wNS0wMiAxNjowNDo0Ny4wMDAw OTE5MDEgKzAyMDAKLSsrKyBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMv YXN5bWNpcGhlcnMvcnNhX2VuYy5jCTIwMjItMDUtMDIgMTY6MTQ6NTAuOTIyNDQzNTgxICswMjAw Ci1AQCAtMTMyLDYgKzEzMiwxNyBAQCBzdGF0aWMgaW50IHJzYV9kZWNyeXB0X2luaXQodm9pZCAq dnByc2FjCitkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9hc3ltY2lwaGVy cy9yc2FfZW5jLmMgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL2FzeW1jaXBoZXJzL3JzYV9l bmMuYworaW5kZXggZDg2NTk2ODA1OC4uOWNkODkwNDEzMSAxMDA2NDQKKy0tLSBhL3Byb3ZpZGVy cy9pbXBsZW1lbnRhdGlvbnMvYXN5bWNpcGhlcnMvcnNhX2VuYy5jCisrKysgYi9wcm92aWRlcnMv aW1wbGVtZW50YXRpb25zL2FzeW1jaXBoZXJzL3JzYV9lbmMuYworQEAgLTEzMiw2ICsxMzIsMTcg QEAgc3RhdGljIGludCByc2FfZGVjcnlwdF9pbml0KHZvaWQgKnZwcnNhY3R4LCB2b2lkICp2cnNh LAogICAgICByZXR1cm4gcnNhX2luaXQodnByc2FjdHgsIHZyc2EsIHBhcmFtcywgRVZQX1BLRVlf T1BfREVDUllQVCk7CiAgfQogIApAQCAtMzAsNyArNTIsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTMu MC4xL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvYXN5bWNpcGhlcnMvcnNhX2VuYy5jLm5vX2Jh ZF9wYQogIHN0YXRpYyBpbnQgcnNhX2VuY3J5cHQodm9pZCAqdnByc2FjdHgsIHVuc2lnbmVkIGNo YXIgKm91dCwgc2l6ZV90ICpvdXRsZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qg b3V0c2l6ZSwgY29uc3QgdW5zaWduZWQgY2hhciAqaW4sIHNpemVfdCBpbmxlbikKICB7Ci1AQCAt MTQxLDYgKzE1MiwxOCBAQCBzdGF0aWMgaW50IHJzYV9lbmNyeXB0KHZvaWQgKnZwcnNhY3R4LCB1 CitAQCAtMTQxLDYgKzE1MiwxOCBAQCBzdGF0aWMgaW50IHJzYV9lbmNyeXB0KHZvaWQgKnZwcnNh Y3R4LCB1bnNpZ25lZCBjaGFyICpvdXQsIHNpemVfdCAqb3V0bGVuLAogICAgICBpZiAoIW9zc2xf cHJvdl9pc19ydW5uaW5nKCkpCiAgICAgICAgICByZXR1cm4gMDsKICAKQEAgLTQ5LDcgKzcxLDcg QEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL2FzeW1j aXBoZXJzL3JzYV9lbmMuYy5ub19iYWRfcGEKICAgICAgaWYgKG91dCA9PSBOVUxMKSB7CiAgICAg ICAgICBzaXplX3QgbGVuID0gUlNBX3NpemUocHJzYWN0eC0+cnNhKTsKICAKLUBAIC0yMDIsNiAr MjIwLDE4IEBAIHN0YXRpYyBpbnQgcnNhX2RlY3J5cHQodm9pZCAqdnByc2FjdHgsIHUKK0BAIC0y MDQsNiArMjI3LDE4IEBAIHN0YXRpYyBpbnQgcnNhX2RlY3J5cHQodm9pZCAqdnByc2FjdHgsIHVu c2lnbmVkIGNoYXIgKm91dCwgc2l6ZV90ICpvdXRsZW4sCiAgICAgIGlmICghb3NzbF9wcm92X2lz X3J1bm5pbmcoKSkKICAgICAgICAgIHJldHVybiAwOwogIApAQCAtNjgsNzUgKzkwLDExIEBAIGRp ZmYgLXVwIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9hc3ltY2lwaGVy cy9yc2FfZW5jLmMubm9fYmFkX3BhCiAgICAgIGlmIChwcnNhY3R4LT5wYWRfbW9kZSA9PSBSU0Ff UEtDUzFfV0lUSF9UTFNfUEFERElORykgewogICAgICAgICAgaWYgKG91dCA9PSBOVUxMKSB7CiAg ICAgICAgICAgICAgKm91dGxlbiA9IFNTTF9NQVhfTUFTVEVSX0tFWV9MRU5HVEg7Ci1kaWZmIC11 cCBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy84MC10ZXN0X2Ntcy50Lm5vX2JhZF9wYWQgb3Bl bnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvODAtdGVzdF9jbXMudAotLS0tIG9wZW5zc2wtMy4wLjEv dGVzdC9yZWNpcGVzLzgwLXRlc3RfY21zLnQubm9fYmFkX3BhZAkyMDIyLTA1LTAyIDE3OjA0OjA3 LjYxMDc4MjEzOCArMDIwMAotKysrIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzgwLXRlc3Rf Y21zLnQJMjAyMi0wNS0wMiAxNzowNjowMy41OTU4MTQ2MjAgKzAyMDAKLUBAIC0yMzIsNyArMjMy LDcgQEAgbXkgQHNtaW1lX3BrY3M3X3Rlc3RzID0gKAotICAgICAgIFwmZmluYWxfY29tcGFyZQot ICAgICBdLAotIAotLSAgICBbICJlbnZlbG9wZWQgY29udGVudCB0ZXN0IHN0cmVhbWluZyBTL01J TUUgZm9ybWF0LCBBRVMtMjU2IGNpcGhlciwgMyByZWNpcGllbnRzIiwKLSsgICAgWyAiZW52ZWxv cGVkIGNvbnRlbnQgdGVzdCBzdHJlYW1pbmcgUy9NSU1FIGZvcm1hdCwgQUVTLTI1NiBjaXBoZXIs IDMgcmVjaXBpZW50cywgbm8gUmVkIEhhdCBGSVBTIiwKLSAgICAgICBbICJ7Y21kMX0iLCBAcHJv diwgIi1lbmNyeXB0IiwgIi1pbiIsICRzbWNvbnQsCi0gICAgICAgICAiLWFlczI1NiIsICItc3Ry ZWFtIiwgIi1vdXQiLCAie291dHB1dH0uY21zIiwKLSAgICAgICAgICRzbXJzYTEsCi1AQCAtODY1 LDUgKzg2NSw4IEBAIHN1YiBjaGVja19hdmFpbGFiaWxpdHkgewotICAgICByZXR1cm4gIiR0bmFt OiBza2lwcGVkLCBEU0EgZGlzYWJsZWRcbiIKLSAgICAgICAgIGlmICgkbm9fZHNhICYmICR0bmFt ID1+IC8gRFNBLyk7Ci0gCi0rICAgIHJldHVybiAiJHRuYW06IHNraXBwZWQsIFJlZCBIYXQgRklQ U1xuIgotKyAgICAgICAgaWYgKCR0bmFtID1+IC9ubyBSZWQgSGF0IEZJUFMvKTsKLSsKLSAgICAg cmV0dXJuICIiOwotIH0KLWRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzgwLXRl c3Rfc3NsX29sZC50Lm5vX2JhZF9wYWQgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvODAtdGVz dF9zc2xfb2xkLnQKLS0tLSBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy84MC10ZXN0X3NzbF9v bGQudC5ub19iYWRfcGFkCTIwMjItMDUtMDIgMTc6MjY6MzcuOTYyODM4MDUzICswMjAwCi0rKysg b3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvODAtdGVzdF9zc2xfb2xkLnQJMjAyMi0wNS0wMiAx NzozNDoyMC4yOTc5NTA0NDkgKzAyMDAKLUBAIC00ODMsNiArNDgzLDE4IEBAIHN1YiB0ZXN0c3Ns IHsKLSAgICAgICAgICAgICAjIHRoZSBkZWZhdWx0IGNob2ljZSBpZiBUTFN2MS4zIGVuYWJsZWQK LSAgICAgICAgICAgICBteSAkZmxhZyA9ICRwcm90b2NvbCBlcSAiLXRsczFfMyIgPyAiIiA6ICRw cm90b2NvbDsKLSAgICAgICAgICAgICBteSAkY2lwaGVyc3VpdGVzID0gIiI7Ci0rICAgICAgICAg ICAgbXkgJXJlZGhhdF9za2lwX2NpcGhlciA9IG1hcCB7JF8gPT4gMX0gcXcoCi0rQUVTMjU2LUdD TS1TSEEzODQ6QFNFQ0xFVkVMPTAKLStBRVMyNTYtQ0NNODpAU0VDTEVWRUw9MAotK0FFUzI1Ni1D Q006QFNFQ0xFVkVMPTAKLStBRVMxMjgtR0NNLVNIQTI1NjpAU0VDTEVWRUw9MAotK0FFUzEyOC1D Q004OkBTRUNMRVZFTD0wCi0rQUVTMTI4LUNDTTpAU0VDTEVWRUw9MAotK0FFUzI1Ni1TSEEyNTY6 QFNFQ0xFVkVMPTAKLStBRVMxMjgtU0hBMjU2OkBTRUNMRVZFTD0wCi0rQUVTMjU2LVNIQTpAU0VD TEVWRUw9MAotK0FFUzEyOC1TSEE6QFNFQ0xFVkVMPTAKLSsJICAgICk7Ci0gICAgICAgICAgICAg Zm9yZWFjaCBteSAkY2lwaGVyIChAeyRjaXBoZXJzdWl0ZXN7JHByb3RvY29sfX0pIHsKLSAgICAg ICAgICAgICAgICAgaWYgKCRwcm90b2NvbCBlcSAiLXNzbDMiICYmICRjaXBoZXIgPX4gL0VDREgv ICkgewotICAgICAgICAgICAgICAgICAgICAgbm90ZSAiKioqKipTS0lQUElORyAkcHJvdG9jb2wg JGNpcGhlciI7Ci1AQCAtNDk0LDExICs1MDYsMTYgQEAgc3ViIHRlc3Rzc2wgewotICAgICAgICAg ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAkY2lwaGVyID0g JGNpcGhlci4nOkBTRUNMRVZFTD0wJzsKLSAgICAgICAgICAgICAgICAgICAgIH0KLS0gICAgICAg ICAgICAgICAgICAgIG9rKHJ1bih0ZXN0KFtAc3NsdGVzdCwgQGV4a2V5cywgIi1jaXBoZXIiLAot LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjaXBoZXIsCi0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIi1jaXBoZXJzdWl0ZXMiLCAkY2lwaGVyc3VpdGVzLAotLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmbGFnIHx8ICgpXSkpLAotLSAgICAgICAg ICAgICAgICAgICAgICAgIlRlc3RpbmcgJGNpcGhlciIpOwotKyAgICAgICAgICAgICAgICAgICAg aWYgKCRwcm92aWRlciBlcSAiZmlwcyIgJiYgZXhpc3RzICRyZWRoYXRfc2tpcF9jaXBoZXJ7JGNp cGhlcn0pIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICBub3RlICIqKioqKlNLSVBQSU5HICRj aXBoZXIgaW4gUmVkIEhhdCBGSVBTIG1vZGUiOwotKyAgICAgICAgICAgICAgICAgICAgICAgIG9r KDEpOwotKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSsgICAgICAgICAgICAgICAgICAg ICAgICBvayhydW4odGVzdChbQHNzbHRlc3QsIEBleGtleXMsICItY2lwaGVyIiwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNpcGhlciwKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIi1jaXBoZXJzdWl0ZXMiLCAkY2lwaGVyc3VpdGVzLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZmxhZyB8fCAoKV0pKSwKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAiVGVzdGluZyAkY2lwaGVyIik7Ci0rICAgICAgICAgICAg ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICB9Ci0gICAgICAgICAg ICAgbmV4dCBpZiAkcHJvdG9jb2wgZXEgIi10bHMxXzMiOwotZGlmZiAtdXAgb3BlbnNzbC0zLjAu MS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9ldnBwa2V5X3JzYV9jb21tb24udHh0LmZp cHNrZXlsZW4gb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9ldnBw a2V5X3JzYV9jb21tb24udHh0Ci0tLS0gb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvMzAtdGVz dF9ldnBfZGF0YS9ldnBwa2V5X3JzYV9jb21tb24udHh0LmZpcHNrZXlsZW4JMjAyMi0wNi0xNiAx NDoyNjoxOS4zODM1MzA0OTggKzAyMDAKLSsrKyBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy8z MC10ZXN0X2V2cF9kYXRhL2V2cHBrZXlfcnNhX2NvbW1vbi50eHQJMjAyMi0wNi0xNiAxNDozOTo1 My42Mzc3Nzc3MDEgKzAyMDAKLUBAIC0yNjMsMTMgKzI2MywxMyBAQCBJbnB1dCA9IDY0YjBlOWY5 ODkyMzcxMTEwYzQwYmE1NzM5ZGMwOTc0CitkaWZmIC0tZ2l0IGEvdGVzdC9yZWNpcGVzLzMwLXRl c3RfZXZwX2RhdGEvZXZwcGtleV9yc2FfY29tbW9uLnR4dCBiL3Rlc3QvcmVjaXBlcy8zMC10ZXN0 X2V2cF9kYXRhL2V2cHBrZXlfcnNhX2NvbW1vbi50eHQKK2luZGV4IDg2ODA3OTdiOTAuLjk1ZDVk NTExMDIgMTAwNjQ0CistLS0gYS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9ldnBwa2V5 X3JzYV9jb21tb24udHh0CisrKysgYi90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9ldnBw a2V5X3JzYV9jb21tb24udHh0CitAQCAtMjQ4LDEzICsyNDgsMTMgQEAgSW5wdXQgPSA2NGIwZTlm OTg5MjM3MTExMGM0MGJhNTczOWRjMDk3NDAwMmFhNmU2MTYwYjQ4MTQ0N2M2ODE5OTQ3YzJkM2I1 MzdhNmUzNzcKICBPdXRwdXQgPSAwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0 NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNk ZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2 Nzg5YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVm MDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4 OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAx MjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlh YmNkZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIz NDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJj ZGVmMDEyMzQ1Njc4OWFiY2RlZgogIAogICMgUlNBIGRlY3J5cHQKQEAgLTE1Miw3ICsxMTAsNyBA QCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9kYXRhL2V2 cHBrZXlfcnNhX2NvbW1vbi50eHQuZmlwcwogIERlY3J5cHQgPSBSU0EtMjA0OAogIElucHV0ID0g NTUwQUY1NUEyOTA0RTdCOTc2MjM1MkY4RkI3RkEyMzVBOUNCMDUzQUFDQjJENUZDQjhDQTQ4NDUz Q0IyRUUzNjE5NzQ2QzcwMUFCRjJENENDNjcwMDM0NzFBMTg3OTAwQjA1QUE4MTJCRDI1RUQwNUM2 NzVERkM4Qzk3QTI0QTdCRjQ5QkQ2MjE0OTkyQ0FENzY2RDA1QTlBMkI1N0I3NEYyNkE3MzdFMDIz N0I4Qjc2QzQ1RjFGMjI2QTgzNkQ3Q0ZCQzc1QkE5OTlCREJFNDhEQkMwOTIyN0FBNDZDODhGMjFE Q0NCQTc4NDAxNDFBRDVBNUQ3MUZEMTIyRTZCRDZBQzNFNTY0NzgwREZFNjIzRkMxQ0E5Qjk5NUE2 MDM3QkYwQkJENDNCMjA1QTg0QUM1NDQ0RjM0MjAyQzA1Q0U5MTEzMDg3MTc2NDMyNDc2NTc2REU2 RkZGRjlBNTJFQTU3QzA4QkUzRUMyRjQ5Njc2Q0I4RTEyRjc2MkFDNzFGQTNDMzIxRTAwQUM5ODg5 MTBDODVGRjUyRjkzODI1NjY2Q0UwRDQwRkZBQTA1OTIwNzg5MTlENDQ5M0Y0NkQ5NUNDRjc2MzY0 QzZENTc3NjBERDBCNjQ4MDVGOUFGQzc2QTIzNjVBNTU3NUNBMzAxRDUxMDNGMEVBNzZDQjlBNzkK ICBPdXRwdXQgPSAiSGVsbG8gV29ybGQiCi1AQCAtNjY1LDM2ICs2NjYsNDIgQEAgdmNEdEtyZFdv NmJ0VFdjMUttbDlRaGJwTWhLeEo2WTlWQkhPYjZtTgorQEAgLTYxOSwzNiArNjE5LDQyIEBAIHZj RHRLcmRXbzZidFRXYzFLbWw5UWhicE1oS3hKNlk5VkJIT2I2bU5YYjc5Y3lZK055Z1VKME9CZ1di dGZkWTIKICBoOTBxaktIUzlQdlk0UT09CiAgLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQogIApA QCAtMTk1LDcgKzE1Myw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzMw LXRlc3RfZXZwX2RhdGEvZXZwcGtleV9yc2FfY29tbW9uLnR4dC5maXBzCiAgRGVjcnlwdD1SU0Et T0FFUC0xCiAgQ3RybCA9IHJzYV9wYWRkaW5nX21vZGU6b2FlcAogIEN0cmwgPSByc2FfbWdmMV9t ZDpzaGExCi1AQCAtNzE5LDM2ICs3MjYsNDIgQEAgU3dHTmRoR0xKRGlhYzFEc2cyc0FZNklYSVNO djJPMjIySnRSNSs2NAorQEAgLTY3MywzNiArNjc5LDQyIEBAIFN3R05kaEdMSkRpYWMxRHNnMnNB WTZJWElTTnYyTzIyMkp0UjUrNjRlMkViY1RMTGZxYzFiQ01WSEI1M1VWQjgKICBlRzJlNFhsQmNL akk2QT09CiAgLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQogIApAQCAtMjM4LDcgKzE5Niw3IEBA IGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZw cGtleV9yc2FfY29tbW9uLnR4dC5maXBzCiAgRGVjcnlwdD1SU0EtT0FFUC0yCiAgQ3RybCA9IHJz YV9wYWRkaW5nX21vZGU6b2FlcAogIEN0cmwgPSByc2FfbWdmMV9tZDpzaGExCi1AQCAtNzczLDM2 ICs3ODYsNDIgQEAgaVVHeDA3ZHc1YTB4N2pjN0tLemFhZitiYjBEK1Y0dWZHdnVGZzIrVworQEAg LTcyNywzNiArNzM5LDQyIEBAIGlVR3gwN2R3NWEweDdqYzdLS3phYWYrYmIwRCtWNHVmR3Z1Rmcy K1dKOU42ei9jOEozbm1OTHNtQVJ3c2ozOHoKICBZYTRxbnFaZTFvbmpZNW89CiAgLS0tLS1FTkQg UFJJVkFURSBLRVktLS0tLQogIApAQCAtMjgxLDcgKzIzOSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wt My4wLjEvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwcGtleV9yc2FfY29tbW9uLnR4 dC5maXBzCiAgRGVjcnlwdD1SU0EtT0FFUC0zCiAgQ3RybCA9IHJzYV9wYWRkaW5nX21vZGU6b2Fl cAogIEN0cmwgPSByc2FfbWdmMV9tZDpzaGExCi1AQCAtODI3LDM2ICs4NDYsNDIgQEAgcy9Ya0lp TzZNREFjUWFiWWZMdHc0d3kzMDhaOUpVYzlzZmJMOEQ0LworQEAgLTc4MSwzNiArNzk5LDQyIEBA IHMvWGtJaU82TURBY1FhYllmTHR3NHd5MzA4WjlKVWM5c2ZiTDhENC9rU2JqNlhsb0o1cUdXeXdy UW1Va3o4VXEKICBhRDB4N1REcm1FdmtFcm89CiAgLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQog IApAQCAtMzI0LDcgKzI4Miw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVz LzMwLXRlc3RfZXZwX2RhdGEvZXZwcGtleV9yc2FfY29tbW9uLnR4dC5maXBzCiAgRGVjcnlwdD1S U0EtT0FFUC00CiAgQ3RybCA9IHJzYV9wYWRkaW5nX21vZGU6b2FlcAogIEN0cmwgPSByc2FfbWdm MV9tZDpzaGExCi1AQCAtODgxLDM2ICs5MDYsNDIgQEAgT1BsQVFHTHJoYVFwSkZJTE9QVzdpR29C bHZTTHVOenFZUDJTekFKLworQEAgLTgzNSwzNiArODU5LDQyIEBAIE9QbEFRR0xyaGFRcEpGSUxP UFc3aUdvQmx2U0x1TnpxWVAyU3pBSi9HT2VCV0tOS1hGMWZoZ29QYkFRSEduMEIKICBNU3dHVUdM eDYwaTNuUnlEeXc9PQogIC0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0KICAKQEAgLTM2Nyw3ICsz MjUsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9k YXRhL2V2cHBrZXlfcnNhX2NvbW1vbi50eHQuZmlwcwogIERlY3J5cHQ9UlNBLU9BRVAtNQogIEN0 cmwgPSByc2FfcGFkZGluZ19tb2RlOm9hZXAKICBDdHJsID0gcnNhX21nZjFfbWQ6c2hhMQotQEAg LTkzNSwzNiArOTY2LDQyIEBAIHhUMUYyOXRlblpiUS9zOUNkZDhKZEx4S0J6YTBwMHd5YVFVKysy aHEKK0BAIC04ODksMzYgKzkxOSw0MiBAQCB4VDFGMjl0ZW5aYlEvczlDZGQ4SmRMeEtCemEwcDB3 eWFRVSsrMmhxemlRRzRpeWVCWTNiU3VWQVlucmkvYkNDCiAgWWVqbjVMeThtVTJxK2pCY1JRPT0K ICAtLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCiAgCkBAIC00MTAsNyArMzY4LDcgQEAgZGlmZiAt dXAgb3BlbnNzbC0zLjAuMS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9ldnBwa2V5X3Jz YV9jb21tb24udHh0LmZpcHMKICBEZWNyeXB0PVJTQS1PQUVQLTYKICBDdHJsID0gcnNhX3BhZGRp bmdfbW9kZTpvYWVwCiAgQ3RybCA9IHJzYV9tZ2YxX21kOnNoYTEKLUBAIC05ODksMzYgKzEwMjYs NDIgQEAgdHU0WEllZHkwRGlhVlp3OVBOK1ZVTlJYeEdzRGUzUmtHeDFTRm1yNAorQEAgLTk0Mywz NiArOTc5LDQyIEBAIHR1NFhJZWR5MERpYVZadzlQTitWVU5SWHhHc0RlM1JrR3gxU0ZtcjRvaFBJ T1dJR3pmdWtRaThZMXZZZHZMWFMKICBGTWx4djBncTY1ZHFjM0RDCiAgLS0tLS1FTkQgUFJJVkFU RSBLRVktLS0tLQogIApAQCAtNDUzLDcgKzQxMSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEv dGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwcGtleV9yc2FfY29tbW9uLnR4dC5maXBz CiAgRGVjcnlwdD1SU0EtT0FFUC03CiAgQ3RybCA9IHJzYV9wYWRkaW5nX21vZGU6b2FlcAogIEN0 cmwgPSByc2FfbWdmMV9tZDpzaGExCi1AQCAtMTA0MywzNiArMTA4Niw0MiBAQCBuanJhVDJNZ2RT d0oyQVgvZlI4YTROQVhydTdwenZvTmZkZi9kMTVFCitAQCAtOTk3LDM2ICsxMDM5LDQyIEBAIG5q cmFUMk1nZFN3SjJBWC9mUjhhNE5BWHJ1N3B6dm9OZmRmL2QxNUV0WGd5TDJRRjFpRWRvWlVaWm1x b2Y5eE0KICAyTWlQYTI0OVorbGgzTHVqMEE9PQogIC0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K ICAKQEAgLTQ5Niw3ICs0NTQsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Rlc3QvcmVjaXBl cy8zMC10ZXN0X2V2cF9kYXRhL2V2cHBrZXlfcnNhX2NvbW1vbi50eHQuZmlwcwogIERlY3J5cHQ9 UlNBLU9BRVAtOAogIEN0cmwgPSByc2FfcGFkZGluZ19tb2RlOm9hZXAKICBDdHJsID0gcnNhX21n ZjFfbWQ6c2hhMQotQEAgLTExMDMsMzYgKzExNTIsNDIgQEAgWjdDRHVhZW15MkhrTGJOaXVNbUpi YmNHVGdLdFd1WVZoOW9WdEdTYworQEAgLTEwNTcsMzYgKzExMDUsNDIgQEAgWjdDRHVhZW15Mkhr TGJOaXVNbUpiYmNHVGdLdFd1WVZoOW9WdEdTY2tGbEpDZjZ6ZmJ5MlZMNjNKbzdJQWVXbwogIHRL bzVFYjY5aUZRdkJiND0KICAtLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCiAgCkBAIC01MzksMyAr NDk3LDc0IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZw X2RhdGEvZXZwcGtleV9yc2FfY29tbW9uLnR4dC5maXBzCiAgRGVjcnlwdD1SU0EtT0FFUC05CiAg Q3RybCA9IHJzYV9wYWRkaW5nX21vZGU6b2FlcAogIEN0cmwgPSByc2FfbWdmMV9tZDpzaGExCitk aWZmIC0tZ2l0IGEvdGVzdC9yZWNpcGVzLzgwLXRlc3RfY21zLnQgYi90ZXN0L3JlY2lwZXMvODAt dGVzdF9jbXMudAoraW5kZXggY2JlYzQyNjEzNy4uOWJhN2ZiZWVkMiAxMDA2NDQKKy0tLSBhL3Rl c3QvcmVjaXBlcy84MC10ZXN0X2Ntcy50CisrKysgYi90ZXN0L3JlY2lwZXMvODAtdGVzdF9jbXMu dAorQEAgLTIzMyw3ICsyMzMsNyBAQCBteSBAc21pbWVfcGtjczdfdGVzdHMgPSAoCisgICAgICAg XCZmaW5hbF9jb21wYXJlCisgICAgIF0sCisgCistICAgIFsgImVudmVsb3BlZCBjb250ZW50IHRl c3Qgc3RyZWFtaW5nIFMvTUlNRSBmb3JtYXQsIEFFUy0yNTYgY2lwaGVyLCAzIHJlY2lwaWVudHMi LAorKyAgICBbICJlbnZlbG9wZWQgY29udGVudCB0ZXN0IHN0cmVhbWluZyBTL01JTUUgZm9ybWF0 LCBBRVMtMjU2IGNpcGhlciwgMyByZWNpcGllbnRzLCBubyBSZWQgSGF0IEZJUFMiLAorICAgICAg IFsgIntjbWQxfSIsIEBwcm92LCAiLWVuY3J5cHQiLCAiLWluIiwgJHNtY29udCwKKyAgICAgICAg ICItYWVzMjU2IiwgIi1zdHJlYW0iLCAiLW91dCIsICJ7b3V0cHV0fS5jbXMiLAorICAgICAgICAg JHNtcnNhMSwKK0BAIC0xMDIyLDYgKzEwMjIsOSBAQCBzdWIgY2hlY2tfYXZhaWxhYmlsaXR5IHsK KyAgICAgcmV0dXJuICIkdG5hbTogc2tpcHBlZCwgRFNBIGRpc2FibGVkXG4iCisgICAgICAgICBp ZiAoJG5vX2RzYSAmJiAkdG5hbSA9fiAvIERTQS8pOworIAorKyAgICByZXR1cm4gIiR0bmFtOiBz a2lwcGVkLCBSZWQgSGF0IEZJUFNcbiIKKysgICAgICAgIGlmICgkdG5hbSA9fiAvbm8gUmVkIEhh dCBGSVBTLyk7CisrCisgICAgIHJldHVybiAiIjsKKyB9CisgCitkaWZmIC0tZ2l0IGEvdGVzdC9y ZWNpcGVzLzgwLXRlc3Rfc3NsX29sZC50IGIvdGVzdC9yZWNpcGVzLzgwLXRlc3Rfc3NsX29sZC50 CitpbmRleCBlMmRjYjY4ZmI1Li4wNzc1MTEyYjQwIDEwMDY0NAorLS0tIGEvdGVzdC9yZWNpcGVz LzgwLXRlc3Rfc3NsX29sZC50CisrKysgYi90ZXN0L3JlY2lwZXMvODAtdGVzdF9zc2xfb2xkLnQK K0BAIC00OTMsNiArNDkzLDE4IEBAIHN1YiB0ZXN0c3NsIHsKKyAgICAgICAgICAgICAjIHRoZSBk ZWZhdWx0IGNob2ljZSBpZiBUTFN2MS4zIGVuYWJsZWQKKyAgICAgICAgICAgICBteSAkZmxhZyA9 ICRwcm90b2NvbCBlcSAiLXRsczFfMyIgPyAiIiA6ICRwcm90b2NvbDsKKyAgICAgICAgICAgICBt eSAkY2lwaGVyc3VpdGVzID0gIiI7CisrICAgICAgICAgICAgbXkgJXJlZGhhdF9za2lwX2NpcGhl ciA9IG1hcCB7JF8gPT4gMX0gcXcoCisrQUVTMjU2LUdDTS1TSEEzODQ6QFNFQ0xFVkVMPTAKKytB RVMyNTYtQ0NNODpAU0VDTEVWRUw9MAorK0FFUzI1Ni1DQ006QFNFQ0xFVkVMPTAKKytBRVMxMjgt R0NNLVNIQTI1NjpAU0VDTEVWRUw9MAorK0FFUzEyOC1DQ004OkBTRUNMRVZFTD0wCisrQUVTMTI4 LUNDTTpAU0VDTEVWRUw9MAorK0FFUzI1Ni1TSEEyNTY6QFNFQ0xFVkVMPTAKKytBRVMxMjgtU0hB MjU2OkBTRUNMRVZFTD0wCisrQUVTMjU2LVNIQTpAU0VDTEVWRUw9MAorK0FFUzEyOC1TSEE6QFNF Q0xFVkVMPTAKKysJICAgICk7CisgICAgICAgICAgICAgZm9yZWFjaCBteSAkY2lwaGVyIChAeyRj aXBoZXJzdWl0ZXN7JHByb3RvY29sfX0pIHsKKyAgICAgICAgICAgICAgICAgaWYgKCRwcm90b2Nv bCBlcSAiLXNzbDMiICYmICRjaXBoZXIgPX4gL0VDREgvICkgeworICAgICAgICAgICAgICAgICAg ICAgbm90ZSAiKioqKipTS0lQUElORyAkcHJvdG9jb2wgJGNpcGhlciI7CitAQCAtNTA0LDExICs1 MTYsMTYgQEAgc3ViIHRlc3Rzc2wgeworICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAkY2lwaGVyID0gJGNpcGhlci4nOkBTRUNMRVZFTD0wJzsK KyAgICAgICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAgICAgICAgIG9rKHJ1bih0ZXN0 KFtAc3NsdGVzdCwgQGV4a2V5cywgIi1jaXBoZXIiLAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICRjaXBoZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1j aXBoZXJzdWl0ZXMiLCAkY2lwaGVyc3VpdGVzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICRmbGFnIHx8ICgpXSkpLAorLSAgICAgICAgICAgICAgICAgICAgICAgIlRlc3Rpbmcg JGNpcGhlciIpOworKyAgICAgICAgICAgICAgICAgICAgaWYgKCRwcm92aWRlciBlcSAiZmlwcyIg JiYgZXhpc3RzICRyZWRoYXRfc2tpcF9jaXBoZXJ7JGNpcGhlcn0pIHsKKysgICAgICAgICAgICAg ICAgICAgICAgICBub3RlICIqKioqKlNLSVBQSU5HICRjaXBoZXIgaW4gUmVkIEhhdCBGSVBTIG1v ZGUiOworKyAgICAgICAgICAgICAgICAgICAgICAgIG9rKDEpOworKyAgICAgICAgICAgICAgICAg ICAgfSBlbHNlIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBvayhydW4odGVzdChbQHNzbHRl c3QsIEBleGtleXMsICItY2lwaGVyIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJGNpcGhlciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1j aXBoZXJzdWl0ZXMiLCAkY2lwaGVyc3VpdGVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAkZmxhZyB8fCAoKV0pKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAi VGVzdGluZyAkY2lwaGVyIik7CisrICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgbmV4dCBpZiAkcHJvdG9jb2wgZXEg Ii10bHMxXzMiOworLS0gCisyLjQxLjAKKwoKZGlmZiAtLWdpdCBhLzAwNzMtRklQUy1Vc2UtT0FF UC1pbi1LQVRzLXN1cHBvcnQtZml4ZWQtT0FFUC1zZWVkLnBhdGNoIGIvMDA3My1GSVBTLVVzZS1P QUVQLWluLUtBVHMtc3VwcG9ydC1maXhlZC1PQUVQLXNlZWQucGF0Y2gKaW5kZXggODUzMzhiOS4u Y2MwMDYwZSAxMDA2NDQKLS0tIGEvMDA3My1GSVBTLVVzZS1PQUVQLWluLUtBVHMtc3VwcG9ydC1m aXhlZC1PQUVQLXNlZWQucGF0Y2gKKysrIGIvMDA3My1GSVBTLVVzZS1PQUVQLWluLUtBVHMtc3Vw cG9ydC1maXhlZC1PQUVQLXNlZWQucGF0Y2gKQEAgLTEsMzkgKzEsMjIgQEAKLUZyb20gNGEyMjM5 YmQ3ZDQ0NGMzMGM1NWIyMGVhOGI0YWVhZGFmZGZlMWFmZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IENsZW1lbnMgTGFuZyA8Y2xsYW5nQHJlZGhhdC5jb20+Ci1EYXRlOiBGcmksIDIy IEp1bCAyMDIyIDEzOjU5OjM3ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZJUFM6IFVzZSBPQUVQ IGluIEtBVHMsIHN1cHBvcnQgZml4ZWQgT0FFUCBzZWVkCitGcm9tIGFiZWRhMGIwNDc1YWRiMGQ0 Zjg5YjBjOTdjZmMzNDk3Nzk5MTViYmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBy cG0tYnVpbGQgPHJwbS1idWlsZD4KK0RhdGU6IE1vbiwgMzEgSnVsIDIwMjMgMDk6NDE6MjggKzAy MDAKK1N1YmplY3Q6IFtQQVRDSCAyOS8zNV0gCisgMDA3My1GSVBTLVVzZS1PQUVQLWluLUtBVHMt c3VwcG9ydC1maXhlZC1PQUVQLXNlZWQucGF0Y2gKIAotUmV2aWV3IGJ5IG91ciBsYWIgZm9yIEZJ UFMgMTQwLTMgY2VydGlmaWNhdGlvbiBleHBlY3RzIHRoZSBSU0EKLWVuY3J5cHRpb24gYW5kIGRl Y3J5cHRpb24gdGVzdHMgdG8gdXNlIGEgc3VwcG9ydGVkIHBhZGRpbmcgbW9kZSwgbm90IHJhdwot UlNBIHNpZ25hdHVyZXMuIFN3aXRjaCB0byBSU0EtT0FFUCBmb3IgdGhlIHNlbGYgdGVzdHMgdG8g ZnVsZmlsbCB0aGF0LgotCi1UaGUgRklQUyAxNDAtMyBJbXBsZW1lbnRhdGlvbiBHdWlkYW5jZSBz cGVjaWZpZXMgaW4gc2VjdGlvbiAxMC4zLkEKLSJDcnlwdG9ncmFwaGljIEFsZ29yaXRobSBTZWxm LVRlc3QgUmVxdWlyZW1lbnRzIiB0aGF0IGEgc2VsZi10ZXN0IG1heSBiZQotYSBrbm93bi1hbnN3 ZXIgdGVzdCwgYSBjb21wYXJpc29uIHRlc3QsIG9yIGEgZmF1bHQtZGV0ZWN0aW9uIHRlc3QuCi0K LUNvbXBhcmlzb24gdGVzdHMgYXJlIG5vdCBhbiBvcHRpb24sIGJlY2F1c2UgdGhleSB3b3VsZCBy ZXF1aXJlCi1hIHNlcGFyYXRlIGltcGxlbWVudGF0aW9uIG9mIFJTQS1PQUVQLCB3aGljaCB3ZSBk byBub3QgaGF2ZS4gRmF1bHQKLWRldGVjdGlvbiB0ZXN0cyByZXF1aXJlIGltcGxlbWVudGluZyBm YXVsdCBkZXRlY3Rpb24gbWVjaGFuaXNtcyBpbnRvIHRoZQotY3J5cHRvZ3JhcGhpYyBhbGdvcml0 aG0gaW1wbGVtZW50YXRpb24sIHdlIHdlIGFsc28gZG8gbm90IGhhdmUuCi0KLUFzIGEgY29uc2Vx dWVuY2UsIGEga25vd24tYW5zd2VyIHRlc3QgbXVzdCBiZSB1c2VkIHRvIHRlc3QgUlNBCi1lbmNy eXB0aW9uIGFuZCBkZWNyeXB0aW9uLCBidXQgUlNBIGVuY3J5cHRpb24gd2l0aCBPQUVQIHBhZGRp bmcgaXMgbm90Ci1kZXRlcm1pbmlzdGljLCBhbmQgdGh1cyBlbmNyeXB0aW9uIHdpbGwgYWx3YXlz IHlpZWxkIGRpZmZlcmVudCByZXN1bHRzCi10aGF0IGNvdWxkIG5vdCBiZSBjb21wYXJlZCB0byBr bm93biBhbnN3ZXJzLiBGb3IgdGhpcyByZWFzb24sIHRoaXMKLWNoYW5nZSBleHBsaWNpdGx5IHNl dHMgdGhlIHNlZWQgaW4gT0FFUCAoc2VlIFJGQyA4MDE3IHNlY3Rpb24gNy4xLjEpLAotd2hpY2gg aXMgdGhlIHNvdXJjZSBvZiByYW5kb21uZXNzIGZvciBSU0EtT0FFUCwgdG8gYSBmaXhlZCB2YWx1 ZS4gVGhpcwotc2V0dGluZyBpcyBvbmx5IGF2YWlsYWJsZSBkdXJpbmcgc2VsZi10ZXN0IGV4ZWN1 dGlvbiwgYW5kIHRoZSBwYXJhbWV0ZXIKLXNldCB1c2luZyBFVlBfUEtFWV9DVFhfc2V0X3BhcmFt cygpIHdpbGwgYmUgaWdub3JlZCBvdGhlcndpc2UuCi0KLVNpZ25lZC1vZmYtYnk6IENsZW1lbnMg TGFuZyA8Y2xsYW5nQHJlZGhhdC5jb20+CitQYXRjaC1uYW1lOiAwMDczLUZJUFMtVXNlLU9BRVAt aW4tS0FUcy1zdXBwb3J0LWZpeGVkLU9BRVAtc2VlZC5wYXRjaAorUGF0Y2gtaWQ6IDczCitQYXRj aC1zdGF0dXM6IHwKKyAgICAjIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5j Z2k/aWQ9MjEwMjUzNQorRnJvbS1kaXN0LWdpdC1jb21taXQ6IDk0MDliYzcwNDRjZjRiNTc3MzYz OWNjZTIwZjUxMzk5ODg4YzQ1ZmQKIC0tLQogIGNyeXB0by9yc2EvcnNhX2xvY2FsLmggICAgICAg ICAgICAgICAgICAgICAgICB8ICA4ICsrCiAgY3J5cHRvL3JzYS9yc2Ffb2FlcC5jICAgICAgICAg ICAgICAgICAgICAgICAgIHwgMzQgKysrKysrLS0KICBpbmNsdWRlL29wZW5zc2wvY29yZV9uYW1l cy5oICAgICAgICAgICAgICAgICAgfCAgMyArCi0gcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0X2Rh dGEuaW5jICAgICAgICAgICAgIHwgODMgKysrKysrKysrKystLS0tLS0tLQorIHByb3ZpZGVycy9m aXBzL3NlbGZfdGVzdF9kYXRhLmluYyAgICAgICAgICAgICB8IDc5ICsrKysrKysrKystLS0tLS0t LS0KICBwcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3Rfa2F0cy5jICAgICAgICAgICAgICAgfCAgNyAr KwotIC4uLi9pbXBsZW1lbnRhdGlvbnMvYXN5bWNpcGhlcnMvcnNhX2VuYy5jICAgICB8IDQxICsr KysrKysrLQotIDYgZmlsZXMgY2hhbmdlZCwgMTMzIGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9u cygtKQorIC4uLi9pbXBsZW1lbnRhdGlvbnMvYXN5bWNpcGhlcnMvcnNhX2VuYy5jICAgICB8IDQx ICsrKysrKysrKy0KKyA2IGZpbGVzIGNoYW5nZWQsIDEyOCBpbnNlcnRpb25zKCspLCA0NCBkZWxl dGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2NyeXB0by9yc2EvcnNhX2xvY2FsLmggYi9jcnlwdG8v cnNhL3JzYV9sb2NhbC5oCiBpbmRleCBlYTcwZGEwNWFkLi5kZGU1N2ExYTBlIDEwMDY0NApAQCAt MTE5LDEwICsxMDIsMTAgQEAgaW5kZXggZDliZTFhNGY5OC4uYjJmN2Y3ZGM0YiAxMDA2NDQKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpm cm9tLCBpbnQgZmxlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCB1bnNpZ25lZCBjaGFyICpwYXJhbSwgaW50IHBsZW4sCiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9v cGVuc3NsL2NvcmVfbmFtZXMuaCBiL2luY2x1ZGUvb3BlbnNzbC9jb3JlX25hbWVzLmgKLWluZGV4 IDU5YTZlNzk1NjYuLjExMjE2ZmI4ZjggMTAwNjQ0CitpbmRleCA1ZTNjMTMyZjViLi5jMGNjZTE0 Mjk3IDEwMDY0NAogLS0tIGEvaW5jbHVkZS9vcGVuc3NsL2NvcmVfbmFtZXMuaAogKysrIGIvaW5j bHVkZS9vcGVuc3NsL2NvcmVfbmFtZXMuaAotQEAgLTQ2OSw2ICs0NjksOSBAQCBleHRlcm4gIkMi IHsKK0BAIC00NzEsNiArNDcxLDkgQEAgZXh0ZXJuICJDIiB7CiAgI2RlZmluZSBPU1NMX0FTWU1f Q0lQSEVSX1BBUkFNX09BRVBfTEFCRUwgICAgICAgICAgICAgICAib2FlcC1sYWJlbCIKICAjZGVm aW5lIE9TU0xfQVNZTV9DSVBIRVJfUEFSQU1fVExTX0NMSUVOVF9WRVJTSU9OICAgICAgICJ0bHMt Y2xpZW50LXZlcnNpb24iCiAgI2RlZmluZSBPU1NMX0FTWU1fQ0lQSEVSX1BBUkFNX1RMU19ORUdP VElBVEVEX1ZFUlNJT04gICAidGxzLW5lZ290aWF0ZWQtdmVyc2lvbiIKQEAgLTEzMywzMiArMTE2 LDI2IEBAIGluZGV4IDU5YTZlNzk1NjYuLjExMjE2ZmI4ZjggMTAwNjQ0CiAgLyoKICAgKiBFbmNv ZGVyIC8gZGVjb2RlciBwYXJhbWV0ZXJzCiBkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2ZpcHMvc2Vs Zl90ZXN0X2RhdGEuaW5jIGIvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0X2RhdGEuaW5jCi1pbmRl eCA0ZTMwZWM1NmRkLi4wMTAzYzg3NTI4IDEwMDY0NAoraW5kZXggZTBmZGMwZGFhNC4uYWEyMDEy YzA0YSAxMDA2NDQKIC0tLSBhL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9kYXRhLmluYwogKysr IGIvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0X2RhdGEuaW5jCi1AQCAtMTI5NCwxNSArMTI5NCwy MiBAQCBzdGF0aWMgY29uc3QgU1RfS0FUX1BBUkFNIHJzYV9wcml2X2tleVtdID0gewotICAgICBT VF9LQVRfUEFSQU1fRU5EKCkKK0BAIC0xMjk2LDE0ICsxMjk2LDIxIEBAIHN0YXRpYyBjb25zdCBT VF9LQVRfUEFSQU0gcnNhX3ByaXZfa2V5W10gPSB7CiAgfTsKICAKLS0vKi0KKyAvKi0KIC0gKiBV c2luZyBPU1NMX1BLRVlfUlNBX1BBRF9NT0RFX05PTkUgZGlyZWN0bHkgaW4gdGhlIGV4cGFuc2lv biBvZiB0aGUKLS0gKiBTVF9LQVRfUEFSQU1fVVRGOFNUUklORyBtYWNybyBiZWxvdyBjYXVzZXMg YSBmYWlsdXJlIG9uIGFuY2llbnQKLS0gKiBIUC9VWCBQQS1SSVNDIGNvbXBpbGVycy4KLS0gKi8K LS1zdGF0aWMgY29uc3QgY2hhciBwYWRfbW9kZV9ub25lW10gPSBPU1NMX1BLRVlfUlNBX1BBRF9N T0RFX05PTkU7Ci0tCi0rLyotCiArICogVXNpbmcgT1NTTF9QS0VZX1JTQV9QQURfTU9ERV9PQUVQ IGRpcmVjdGx5IGluIHRoZSBleHBhbnNpb24gb2YgdGhlCi0rICogU1RfS0FUX1BBUkFNX1VURjhT VFJJTkcgbWFjcm8gYmVsb3cgY2F1c2VzIGEgZmFpbHVyZSBvbiBhbmNpZW50Ci0rICogSFAvVVgg UEEtUklTQyBjb21waWxlcnMuCi0rICovCisgICogU1RfS0FUX1BBUkFNX1VURjhTVFJJTkcgbWFj cm8gYmVsb3cgY2F1c2VzIGEgZmFpbHVyZSBvbiBhbmNpZW50CisgICogSFAvVVggUEEtUklTQyBj b21waWxlcnMuCisgICovCistc3RhdGljIGNvbnN0IGNoYXIgcGFkX21vZGVfbm9uZVtdID0gT1NT TF9QS0VZX1JTQV9QQURfTU9ERV9OT05FOwogK3N0YXRpYyBjb25zdCBjaGFyIHBhZF9tb2RlX29h ZXBbXSA9IE9TU0xfUEtFWV9SU0FfUEFEX01PREVfT0FFUDsKICtzdGF0aWMgY29uc3QgY2hhciBv YWVwX2ZpeGVkX3NlZWRbXSA9IHsKICsgICAgMHhmNiwgMHgxMCwgMHhlZiwgMHgwYSwgMHg5Nywg MHhiZiwgMHg5MSwgMHgyNSwKICsgICAgMHg5NywgMHhjZiwgMHg4ZSwgMHgwYSwgMHg3NSwgMHg1 MSwgMHgyZiwgMHhhYiwKICsgICAgMHgyZSwgMHg0YiwgMHgyYywgMHhlNgogK307Ci0rCisgCiAg c3RhdGljIGNvbnN0IFNUX0tBVF9QQVJBTSByc2FfZW5jX3BhcmFtc1tdID0gewogLSAgICBTVF9L QVRfUEFSQU1fVVRGOFNUUklORyhPU1NMX0FTWU1fQ0lQSEVSX1BBUkFNX1BBRF9NT0RFLCBwYWRf bW9kZV9ub25lKSwKICsgICAgU1RfS0FUX1BBUkFNX1VURjhTVFJJTkcoT1NTTF9BU1lNX0NJUEhF Ul9QQVJBTV9QQURfTU9ERSwgcGFkX21vZGVfb2FlcCksCkBAIC0xNjcsNyArMTQ0LDcgQEAgaW5k ZXggNGUzMGVjNTZkZC4uMDEwM2M4NzUyOCAxMDA2NDQKICAgICAgU1RfS0FUX1BBUkFNX0VORCgp CiAgfTsKICAKLUBAIC0xMzM1LDQzICsxMzQ4LDQzIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj aGFyIHJzYV9leHBlY3RlZF9zaWdbMjU2XSA9IHsKK0BAIC0xMzQyLDQzICsxMzQ5LDQzIEBAIHN0 YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHJzYV9leHBlY3RlZF9zaWdbMjU2XSA9IHsKICAgICAg MHgyYywgMHg2OCwgMHhmMCwgMHgzNywgMHhhOSwgMHhkMiwgMHg1NiwgMHhkNgogIH07CiAgCkBA IC0yNDUsMTAgKzIyMiwxMCBAQCBpbmRleCA0ZTMwZWM1NmRkLi4wMTAzYzg3NTI4IDEwMDY0NAog IAogICNpZm5kZWYgT1BFTlNTTF9OT19FQwogZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9maXBzL3Nl bGZfdGVzdF9rYXRzLmMgYi9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3Rfa2F0cy5jCi1pbmRleCAw NjQ3OTRkOWJmLi5iNmQ1ZThlMTM0IDEwMDY0NAoraW5kZXggNzRlZTI1ZGNiNi4uYTliYzhiZTdm YSAxMDA2NDQKIC0tLSBhL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9rYXRzLmMKICsrKyBiL3By b3ZpZGVycy9maXBzL3NlbGZfdGVzdF9rYXRzLmMKLUBAIC02NDcsMTQgKzY0NywyMSBAQCBzdGF0 aWMgaW50IHNlbGZfdGVzdF9jaXBoZXJzKE9TU0xfU0VMRl9URVNUICpzdCwgT1NTTF9MSUJfQ1RY ICpsaWJjdHgpCitAQCAtNjQxLDE0ICs2NDEsMjEgQEAgc3RhdGljIGludCBzZWxmX3Rlc3RfY2lw aGVycyhPU1NMX1NFTEZfVEVTVCAqc3QsIE9TU0xfTElCX0NUWCAqbGliY3R4KQogICAgICByZXR1 cm4gcmV0OwogIH0KICAKQEAgLTI3MSw3ICsyNDgsNyBAQCBpbmRleCAwNjQ3OTRkOWJmLi5iNmQ1 ZThlMTM0IDEwMDY0NAogIH0KICAKIGRpZmYgLS1naXQgYS9wcm92aWRlcnMvaW1wbGVtZW50YXRp b25zL2FzeW1jaXBoZXJzL3JzYV9lbmMuYyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvYXN5 bWNpcGhlcnMvcnNhX2VuYy5jCi1pbmRleCAwMGNmNjVmY2Q2Li44M2JlM2Q4ZWRlIDEwMDY0NAor aW5kZXggOWNkODkwNDEzMS4uNDBkZTVjZThmYSAxMDA2NDQKIC0tLSBhL3Byb3ZpZGVycy9pbXBs ZW1lbnRhdGlvbnMvYXN5bWNpcGhlcnMvcnNhX2VuYy5jCiArKysgYi9wcm92aWRlcnMvaW1wbGVt ZW50YXRpb25zL2FzeW1jaXBoZXJzL3JzYV9lbmMuYwogQEAgLTMwLDYgKzMwLDkgQEAKQEAgLTI5 NCw3ICsyNzEsNyBAQCBpbmRleCAwMGNmNjVmY2Q2Li44M2JlM2Q4ZWRlIDEwMDY0NAogIH0gUFJP Vl9SU0FfQ1RYOwogIAogIHN0YXRpYyB2b2lkICpyc2FfbmV3Y3R4KHZvaWQgKnByb3ZjdHgpCi1A QCAtMTkwLDEyICsxOTYsMjEgQEAgc3RhdGljIGludCByc2FfZW5jcnlwdCh2b2lkICp2cHJzYWN0 eCwgdW5zaWduZWQgY2hhciAqb3V0LCBzaXplX3QgKm91dGxlbiwKK0BAIC0xOTIsMTIgKzE5OCwy MSBAQCBzdGF0aWMgaW50IHJzYV9lbmNyeXB0KHZvaWQgKnZwcnNhY3R4LCB1bnNpZ25lZCBjaGFy ICpvdXQsIHNpemVfdCAqb3V0bGVuLAogICAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAg ICAgIHJldCA9CkBAIC0zMTgsNyArMjk1LDcgQEAgaW5kZXggMDBjZjY1ZmNkNi4uODNiZTNkOGVk ZSAxMDA2NDQKICAKICAgICAgICAgIGlmICghcmV0KSB7CiAgICAgICAgICAgICAgT1BFTlNTTF9m cmVlKHRidWYpOwotQEAgLTMyNiw2ICszNDEsOSBAQCBzdGF0aWMgdm9pZCByc2FfZnJlZWN0eCh2 b2lkICp2cHJzYWN0eCkKK0BAIC0zMjgsNiArMzQzLDkgQEAgc3RhdGljIHZvaWQgcnNhX2ZyZWVj dHgodm9pZCAqdnByc2FjdHgpCiAgICAgIEVWUF9NRF9mcmVlKHByc2FjdHgtPm9hZXBfbWQpOwog ICAgICBFVlBfTURfZnJlZShwcnNhY3R4LT5tZ2YxX21kKTsKICAgICAgT1BFTlNTTF9mcmVlKHBy c2FjdHgtPm9hZXBfbGFiZWwpOwpAQCAtMzI4LDcgKzMwNSw3IEBAIGluZGV4IDAwY2Y2NWZjZDYu LjgzYmUzZDhlZGUgMTAwNjQ0CiAgCiAgICAgIE9QRU5TU0xfZnJlZShwcnNhY3R4KTsKICB9Ci1A QCAtNDQ1LDYgKzQ2Myw5IEBAIHN0YXRpYyBjb25zdCBPU1NMX1BBUkFNIGtub3duX2dldHRhYmxl X2N0eF9wYXJhbXNbXSA9IHsKK0BAIC00NDcsNiArNDY1LDkgQEAgc3RhdGljIGNvbnN0IE9TU0xf UEFSQU0ga25vd25fZ2V0dGFibGVfY3R4X3BhcmFtc1tdID0gewogICAgICAgICAgICAgICAgICAg ICAgTlVMTCwgMCksCiAgICAgIE9TU0xfUEFSQU1fdWludChPU1NMX0FTWU1fQ0lQSEVSX1BBUkFN X1RMU19DTElFTlRfVkVSU0lPTiwgTlVMTCksCiAgICAgIE9TU0xfUEFSQU1fdWludChPU1NMX0FT WU1fQ0lQSEVSX1BBUkFNX1RMU19ORUdPVElBVEVEX1ZFUlNJT04sIE5VTEwpLApAQCAtMzM4LDcg KzMxNSw3IEBAIGluZGV4IDAwY2Y2NWZjZDYuLjgzYmUzZDhlZGUgMTAwNjQ0CiAgICAgIE9TU0xf UEFSQU1fRU5ECiAgfTsKICAKLUBAIC00NTQsNiArNDc1LDEwIEBAIHN0YXRpYyBjb25zdCBPU1NM X1BBUkFNICpyc2FfZ2V0dGFibGVfY3R4X3BhcmFtcyhvc3NsX3VudXNlZCB2b2lkICp2cHJzYWN0 eCwKK0BAIC00NTYsNiArNDc3LDEwIEBAIHN0YXRpYyBjb25zdCBPU1NMX1BBUkFNICpyc2FfZ2V0 dGFibGVfY3R4X3BhcmFtcyhvc3NsX3VudXNlZCB2b2lkICp2cHJzYWN0eCwKICAgICAgcmV0dXJu IGtub3duX2dldHRhYmxlX2N0eF9wYXJhbXM7CiAgfQogIApAQCAtMzQ5LDcgKzMyNiw3IEBAIGlu ZGV4IDAwY2Y2NWZjZDYuLjgzYmUzZDhlZGUgMTAwNjQ0CiAgc3RhdGljIGludCByc2Ffc2V0X2N0 eF9wYXJhbXModm9pZCAqdnByc2FjdHgsIGNvbnN0IE9TU0xfUEFSQU0gcGFyYW1zW10pCiAgewog ICAgICBQUk9WX1JTQV9DVFggKnByc2FjdHggPSAoUFJPVl9SU0FfQ1RYICopdnByc2FjdHg7Ci1A QCAtNTYzLDYgKzU4OCwxOCBAQCBzdGF0aWMgaW50IHJzYV9zZXRfY3R4X3BhcmFtcyh2b2lkICp2 cHJzYWN0eCwgY29uc3QgT1NTTF9QQVJBTSBwYXJhbXNbXSkKK0BAIC01NjcsNiArNTkyLDE4IEBA IHN0YXRpYyBpbnQgcnNhX3NldF9jdHhfcGFyYW1zKHZvaWQgKnZwcnNhY3R4LCBjb25zdCBPU1NM X1BBUkFNIHBhcmFtc1tdKQogICAgICAgICAgcHJzYWN0eC0+b2FlcF9sYWJlbGxlbiA9IHRtcF9s YWJlbGxlbjsKICAgICAgfQogIApAQCAtMzY5LDUgKzM0Niw1IEBAIGluZGV4IDAwY2Y2NWZjZDYu LjgzYmUzZDhlZGUgMTAwNjQ0CiAgICAgIGlmIChwICE9IE5VTEwpIHsKICAgICAgICAgIHVuc2ln bmVkIGludCBjbGllbnRfdmVyc2lvbjsKIC0tIAotMi4zNy4xCisyLjQxLjAKIAoKZGlmZiAtLWdp dCBhLzAwNzQtRklQUy1Vc2UtZGlnZXN0X3NpZ24tZGlnZXN0X3ZlcmlmeS1pbi1zZWxmLXRlc3Qt ZWxuLnBhdGNoIGIvMDA3NC1GSVBTLVVzZS1kaWdlc3Rfc2lnbi1kaWdlc3RfdmVyaWZ5LWluLXNl bGYtdGVzdC1lbG4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwZDU0NjUu LjAwMDAwMDAKLS0tIGEvMDA3NC1GSVBTLVVzZS1kaWdlc3Rfc2lnbi1kaWdlc3RfdmVyaWZ5LWlu LXNlbGYtdGVzdC1lbG4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMTIgKzAsMCBAQAotRnJv bSA5N2FjMDZlNWE4ZTNhODY5OTI3OWMwNmVlYjY0YzhlOTU4YmFkN2JkIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogQ2xlbWVucyBMYW5nIDxjbGxhbmdAcmVkaGF0LmNvbT4KLURhdGU6 IEZyaSwgMTUgSnVsIDIwMjIgMTc6NDU6NDAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gRklQUzog VXNlIGRpZ2VzdF9zaWduICYgZGlnZXN0X3ZlcmlmeSBpbiBzZWxmIHRlc3QKLQotSW4gcmV2aWV3 IGZvciBGSVBTIDE0MC0zLCB0aGUgbGFjayBvZiBhIHNlbGYtdGVzdCBmb3IgdGhlIGRpZ2VzdF9z aWduCi1hbmQgZGlnZXN0X3ZlcmlmeSBwcm92aWRlciBmdW5jdGlvbnMgd2FzIGhpZ2hsaWdodGVk IGFzIGEgcHJvYmxlbS4gTklTVAotbm8gbG9uZ2VyIHByb3ZpZGVzIEFDVlAgdGVzdHMgZm9yIHRo ZSBSU0EgU2lnVmVyIHByaW1pdGl2ZSAoc2VlCi1odHRwczovL2dpdGh1Yi5jb20vdXNuaXN0Z292 L0FDVlAvaXNzdWVzLzEzNDcpLiBCZWNhdXNlIEZJUFMgMTQwLTMKLXJlY29tbWVuZHMgdGhlIHVz ZSBvZiBmdW5jdGlvbnMgdGhhdCBjb21wdXRlIHRoZSBkaWdlc3QgYW5kIHNpZ25hdHVyZQotd2l0 aGluIHRoZSBtb2R1bGUsIHdlIGhhdmUgYmVlbiBhZHZpc2VkIGluIG91ciBtb2R1bGUgcmV2aWV3 IHRoYXQgdGhlCi1zZWxmIHRlc3RzIHNob3VsZCBhbHNvIHVzZSB0aGUgY29tYmluZWQgZGlnZXN0 IGFuZCBzaWduYXR1cmUgQVBJcywgaS5lLgotdGhlIGRpZ2VzdF9zaWduIGFuZCBkaWdlc3RfdmVy aWZ5IHByb3ZpZGVyIGZ1bmN0aW9ucy4KLQotTW9kaWZ5IHRoZSBzaWduYXR1cmUgc2VsZi10ZXN0 IHRvIHVzZSB0aGVzZSBpbnN0ZWFkIGJ5IHN3aXRjaGluZyB0bwotRVZQX0RpZ2VzdFNpZ24gYW5k IEVWUF9EaWdlc3RWZXJpZnkuIFRoaXMgcmVxdWlyZXMgYWRkaW5nIG1vcmUgaWZkZWZzIHRvCi1j cnlwdG8vZXZwL21fc2lndmVyLmMgdG8gbWFrZSB0aGVzZSBmdW5jdGlvbnMgdXNhYmxlIGluIHRo ZSBGSVBTIG1vZHVsZS4KLQotU2lnbmVkLW9mZi1ieTogQ2xlbWVucyBMYW5nIDxjbGxhbmdAcmVk aGF0LmNvbT4KLS0tLQotIGNyeXB0by9ldnAvbV9zaWd2ZXIuYyAgICAgICAgICAgfCA0MyArKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KLSBwcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3Rf a2F0cy5jIHwgMzcgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdl ZCwgNTYgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcnlw dG8vZXZwL21fc2lndmVyLmMgYi9jcnlwdG8vZXZwL21fc2lndmVyLmMKLWluZGV4IGRiMWExZDdi YzMuLmM5NGMzYzUzYmQgMTAwNjQ0Ci0tLS0gYS9jcnlwdG8vZXZwL21fc2lndmVyLmMKLSsrKyBi L2NyeXB0by9ldnAvbV9zaWd2ZXIuYwotQEAgLTg4LDYgKzg4LDcgQEAgc3RhdGljIGludCB1cGRh dGUoRVZQX01EX0NUWCAqY3R4LCBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgZGF0YWxlbikKLSAg ICAgRVJSX3JhaXNlKEVSUl9MSUJfRVZQLCBFVlBfUl9PTkxZX09ORVNIT1RfU1VQUE9SVEVEKTsK LSAgICAgcmV0dXJuIDA7Ci0gfQotKyNlbmRpZiAvKiAhZGVmaW5lZChGSVBTX01PRFVMRSkgKi8K LSAKLSAvKgotICAqIElmIHdlIGdldCB0aGUgIk5VTEwiIG1kIHRoZW4gdGhlIG5hbWUgY29tZXMg YmFjayBhcyAiVU5ERUYiLiBXZSB3YW50IHRvIHVzZQotQEAgLTEzMCw4ICsxMzEsMTAgQEAgc3Rh dGljIGludCBkb19zaWd2ZXJfaW5pdChFVlBfTURfQ1RYICpjdHgsIEVWUF9QS0VZX0NUWCAqKnBj dHgsCi0gICAgICAgICByZWluaXQgPSAwOwotICAgICAgICAgaWYgKGUgPT0gTlVMTCkKLSAgICAg ICAgICAgICBjdHgtPnBjdHggPSBFVlBfUEtFWV9DVFhfbmV3X2Zyb21fcGtleShsaWJjdHgsIHBr ZXksIHByb3BzKTsKLSsjaWZuZGVmIEZJUFNfTU9EVUxFCi0gICAgICAgICBlbHNlCi0gICAgICAg ICAgICAgY3R4LT5wY3R4ID0gRVZQX1BLRVlfQ1RYX25ldyhwa2V5LCBlKTsKLSsjZW5kaWYgLyog IWRlZmluZWQoRklQU19NT0RVTEUpICovCi0gICAgIH0KLSAgICAgaWYgKGN0eC0+cGN0eCA9PSBO VUxMKQotICAgICAgICAgcmV0dXJuIDA7Ci1AQCAtMTM5LDggKzE0MiwxMCBAQCBzdGF0aWMgaW50 IGRvX3NpZ3Zlcl9pbml0KEVWUF9NRF9DVFggKmN0eCwgRVZQX1BLRVlfQ1RYICoqcGN0eCwKLSAg ICAgbG9jcGN0eCA9IGN0eC0+cGN0eDsKLSAgICAgRVJSX3NldF9tYXJrKCk7Ci0gCi0rI2lmbmRl ZiBGSVBTX01PRFVMRQotICAgICBpZiAoZXZwX3BrZXlfY3R4X2lzX2xlZ2FjeShsb2NwY3R4KSkK LSAgICAgICAgIGdvdG8gbGVnYWN5OwotKyNlbmRpZiAvKiAhZGVmaW5lZChGSVBTX01PRFVMRSkg Ki8KLSAKLSAgICAgLyogZG8gbm90IHJlaW5pdGlhbGl6ZSBpZiBwa2V5IGlzIHNldCBvciBvcGVy YXRpb24gaXMgZGlmZmVyZW50ICovCi0gICAgIGlmIChyZWluaXQKLUBAIC0yMjUsOCArMjMwLDEw IEBAIHN0YXRpYyBpbnQgZG9fc2lndmVyX2luaXQoRVZQX01EX0NUWCAqY3R4LCBFVlBfUEtFWV9D VFggKipwY3R4LAotICAgICAgICAgICAgIHNpZ25hdHVyZSA9Ci0gICAgICAgICAgICAgICAgIGV2 cF9zaWduYXR1cmVfZmV0Y2hfZnJvbV9wcm92KChPU1NMX1BST1ZJREVSICopdG1wX3Byb3YsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZF9z aWcsIGxvY3BjdHgtPnByb3BxdWVyeSk7Ci0rI2lmbmRlZiBGSVBTX01PRFVMRQotICAgICAgICAg ICAgIGlmIChzaWduYXR1cmUgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICAgZ290byBsZWdhY3k7 Ci0rI2VuZGlmIC8qICFkZWZpbmVkKEZJUFNfTU9EVUxFKSAqLwotICAgICAgICAgICAgIGJyZWFr OwotICAgICAgICAgfQotICAgICAgICAgaWYgKHNpZ25hdHVyZSA9PSBOVUxMKQotQEAgLTMxMCw2 ICszMTcsNyBAQCBzdGF0aWMgaW50IGRvX3NpZ3Zlcl9pbml0KEVWUF9NRF9DVFggKmN0eCwgRVZQ X1BLRVlfQ1RYICoqcGN0eCwKLSAgICAgICAgICAgICBjdHgtPmZldGNoZWRfZGlnZXN0ID0gRVZQ X01EX2ZldGNoKGxvY3BjdHgtPmxpYmN0eCwgbWRuYW1lLCBwcm9wcyk7Ci0gICAgICAgICAgICAg aWYgKGN0eC0+ZmV0Y2hlZF9kaWdlc3QgIT0gTlVMTCkgewotICAgICAgICAgICAgICAgICBjdHgt PmRpZ2VzdCA9IGN0eC0+cmVxZGlnZXN0ID0gY3R4LT5mZXRjaGVkX2RpZ2VzdDsKLSsjaWZuZGVm IEZJUFNfTU9EVUxFCi0gICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgLyog bGVnYWN5IGVuZ2luZSBzdXBwb3J0IDogcmVtb3ZlIHRoZSBtYXJrIHdoZW4gdGhpcyBpcyBkZWxl dGVkICovCi0gICAgICAgICAgICAgICAgIGN0eC0+cmVxZGlnZXN0ID0gY3R4LT5kaWdlc3QgPSBF VlBfZ2V0X2RpZ2VzdGJ5bmFtZShtZG5hbWUpOwotQEAgLTMxOCwxMSArMzI2LDEzIEBAIHN0YXRp YyBpbnQgZG9fc2lndmVyX2luaXQoRVZQX01EX0NUWCAqY3R4LCBFVlBfUEtFWV9DVFggKipwY3R4 LAotICAgICAgICAgICAgICAgICAgICAgRVJSX3JhaXNlKEVSUl9MSUJfRVZQLCBFVlBfUl9JTklU SUFMSVpBVElPTl9FUlJPUik7Ci0gICAgICAgICAgICAgICAgICAgICBnb3RvIGVycjsKLSAgICAg ICAgICAgICAgICAgfQotKyNlbmRpZiAvKiAhZGVmaW5lZChGSVBTX01PRFVMRSkgKi8KLSAgICAg ICAgICAgICB9Ci0gICAgICAgICAgICAgKHZvaWQpRVJSX3BvcF90b19tYXJrKCk7Ci0gICAgICAg ICB9Ci0gICAgIH0KLSAKLSsjaWZuZGVmIEZJUFNfTU9EVUxFCi0gICAgIGlmIChjdHgtPnJlcWRp Z2VzdCAhPSBOVUxMCi0gICAgICAgICAgICAgJiYgIUVWUF9QS0VZX2lzX2EobG9jcGN0eC0+cGtl eSwgU05faG1hYykKLSAgICAgICAgICAgICAmJiAhRVZQX1BLRVlfaXNfYShsb2NwY3R4LT5wa2V5 LCBTTl90bHMxX3ByZikKLUBAIC0zMzQsNiArMzQ0LDcgQEAgc3RhdGljIGludCBkb19zaWd2ZXJf aW5pdChFVlBfTURfQ1RYICpjdHgsIEVWUF9QS0VZX0NUWCAqKnBjdHgsCi0gICAgICAgICAgICAg Z290byBlcnI7Ci0gICAgICAgICB9Ci0gICAgIH0KLSsjZW5kaWYgLyogIWRlZmluZWQoRklQU19N T0RVTEUpICovCi0gCi0gICAgIGlmICh2ZXIpIHsKLSAgICAgICAgIGlmIChzaWduYXR1cmUtPmRp Z2VzdF92ZXJpZnlfaW5pdCA9PSBOVUxMKSB7Ci1AQCAtMzY2LDYgKzM3Nyw3IEBAIHN0YXRpYyBp bnQgZG9fc2lndmVyX2luaXQoRVZQX01EX0NUWCAqY3R4LCBFVlBfUEtFWV9DVFggKipwY3R4LAot ICAgICBFVlBfS0VZTUdNVF9mcmVlKHRtcF9rZXltZ210KTsKLSAgICAgcmV0dXJuIDA7Ci0gCi0r I2lmbmRlZiBGSVBTX01PRFVMRQotICBsZWdhY3k6Ci0gICAgIC8qCi0gICAgICAqIElmIHdlIGRv bid0IGhhdmUgdGhlIGZ1bGwgc3VwcG9ydCB3ZSBuZWVkIHdpdGggcHJvdmlkZWQgbWV0aG9kcywK LUBAIC00MzcsNiArNDQ5LDcgQEAgc3RhdGljIGludCBkb19zaWd2ZXJfaW5pdChFVlBfTURfQ1RY ICpjdHgsIEVWUF9QS0VZX0NUWCAqKnBjdHgsCi0gICAgICAgICBjdHgtPnBjdHgtPmZsYWdfY2Fs bF9kaWdlc3RfY3VzdG9tID0gMTsKLSAKLSAgICAgcmV0ID0gMTsKLSsjZW5kaWYgLyogIWRlZmlu ZWQoRklQU19NT0RVTEUpICovCi0gCi0gIGVuZDoKLSAjaWZuZGVmIEZJUFNfTU9EVUxFCi1AQCAt NDc5LDcgKzQ5Miw2IEBAIGludCBFVlBfRGlnZXN0VmVyaWZ5SW5pdChFVlBfTURfQ1RYICpjdHgs IEVWUF9QS0VZX0NUWCAqKnBjdHgsCi0gICAgIHJldHVybiBkb19zaWd2ZXJfaW5pdChjdHgsIHBj dHgsIHR5cGUsIE5VTEwsIE5VTEwsIE5VTEwsIGUsIHBrZXksIDEsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICBOVUxMKTsKLSB9Ci0tI2VuZGlmIC8qIEZJUFNfTURPRSAqLwotIAotIGludCBF VlBfRGlnZXN0U2lnblVwZGF0ZShFVlBfTURfQ1RYICpjdHgsIGNvbnN0IHZvaWQgKmRhdGEsIHNp emVfdCBkc2l6ZSkKLSB7Ci1AQCAtNTQxLDIzICs1NTMsMjkgQEAgaW50IEVWUF9EaWdlc3RWZXJp ZnlVcGRhdGUoRVZQX01EX0NUWCAqY3R4LCBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgZHNpemUp Ci0gICAgIHJldHVybiBFVlBfRGlnZXN0VXBkYXRlKGN0eCwgZGF0YSwgZHNpemUpOwotIH0KLSAK LS0jaWZuZGVmIEZJUFNfTU9EVUxFCi0gaW50IEVWUF9EaWdlc3RTaWduRmluYWwoRVZQX01EX0NU WCAqY3R4LCB1bnNpZ25lZCBjaGFyICpzaWdyZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg c2l6ZV90ICpzaWdsZW4pCi0gewotLSAgICBpbnQgc2N0eCA9IDAsIHIgPSAwOwotLSAgICBFVlBf UEtFWV9DVFggKmRjdHgsICpwY3R4ID0gY3R4LT5wY3R4OwotKyAgICBpbnQgciA9IDA7Ci0rI2lm bmRlZiBGSVBTX01PRFVMRQotKyAgICBpbnQgc2N0eCA9IDA7Ci0rICAgIEVWUF9QS0VZX0NUWCAq ZGN0eDsKLSsjZW5kaWYgLyogIWRlZmluZWQoRklQU19NT0RVTEUpICovCi0rICAgIEVWUF9QS0VZ X0NUWCAqcGN0eCA9IGN0eC0+cGN0eDsKLSAKLSsjaWZuZGVmIEZJUFNfTU9EVUxFCi0gICAgIGlm IChwY3R4ID09IE5VTEwKLSAgICAgICAgICAgICB8fCBwY3R4LT5vcGVyYXRpb24gIT0gRVZQX1BL RVlfT1BfU0lHTkNUWAotICAgICAgICAgICAgIHx8IHBjdHgtPm9wLnNpZy5hbGdjdHggPT0gTlVM TAotICAgICAgICAgICAgIHx8IHBjdHgtPm9wLnNpZy5zaWduYXR1cmUgPT0gTlVMTCkKLSAgICAg ICAgIGdvdG8gbGVnYWN5OwotKyNlbmRpZiAvKiAhZGVmaW5lZChGSVBTX01PRFVMRSkgKi8KLSAK LSAgICAgaWYgKHNpZ3JldCA9PSBOVUxMIHx8IChjdHgtPmZsYWdzICYgRVZQX01EX0NUWF9GTEFH X0ZJTkFMSVNFKSAhPSAwKQotICAgICAgICAgcmV0dXJuIHBjdHgtPm9wLnNpZy5zaWduYXR1cmUt PmRpZ2VzdF9zaWduX2ZpbmFsKHBjdHgtPm9wLnNpZy5hbGdjdHgsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lncmV0LCBzaWdsZW4s Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2lncmV0ID09IE5VTEwgPyAwIDogKnNpZ2xlbik7Ci0rI2lmbmRlZiBGSVBTX01PRFVMRQot ICAgICBkY3R4ID0gRVZQX1BLRVlfQ1RYX2R1cChwY3R4KTsKLSAgICAgaWYgKGRjdHggPT0gTlVM TCkKLSAgICAgICAgIHJldHVybiAwOwotQEAgLTU2Niw4ICs1ODQsMTAgQEAgaW50IEVWUF9EaWdl c3RTaWduRmluYWwoRVZQX01EX0NUWCAqY3R4LCB1bnNpZ25lZCBjaGFyICpzaWdyZXQsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWdyZXQsIHNp Z2xlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICpzaWdsZW4pOwotICAgICBFVlBfUEtFWV9DVFhfZnJlZShkY3R4KTsKLSsjZW5kaWYgLyogZGVm aW5lZChGSVBTX01PRFVMRSkgKi8KLSAgICAgcmV0dXJuIHI7Ci0gCi0rI2lmbmRlZiBGSVBTX01P RFVMRQotICBsZWdhY3k6Ci0gICAgIGlmIChwY3R4ID09IE5VTEwgfHwgcGN0eC0+cG1ldGggPT0g TlVMTCkgewotICAgICAgICAgRVJSX3JhaXNlKEVSUl9MSUJfRVZQLCBFVlBfUl9JTklUSUFMSVpB VElPTl9FUlJPUik7Ci1AQCAtNjM5LDYgKzY1OSw3IEBAIGludCBFVlBfRGlnZXN0U2lnbkZpbmFs KEVWUF9NRF9DVFggKmN0eCwgdW5zaWduZWQgY2hhciAqc2lncmV0LAotICAgICAgICAgfQotICAg ICB9Ci0gICAgIHJldHVybiAxOwotKyNlbmRpZiAvKiAhZGVmaW5lZChGSVBTX01PRFVMRSkgKi8K LSB9Ci0gCi0gaW50IEVWUF9EaWdlc3RTaWduKEVWUF9NRF9DVFggKmN0eCwgdW5zaWduZWQgY2hh ciAqc2lncmV0LCBzaXplX3QgKnNpZ2xlbiwKLUBAIC02NjksMjEgKzY5MCwyNyBAQCBpbnQgRVZQ X0RpZ2VzdFNpZ24oRVZQX01EX0NUWCAqY3R4LCB1bnNpZ25lZCBjaGFyICpzaWdyZXQsIHNpemVf dCAqc2lnbGVuLAotIGludCBFVlBfRGlnZXN0VmVyaWZ5RmluYWwoRVZQX01EX0NUWCAqY3R4LCBj b25zdCB1bnNpZ25lZCBjaGFyICpzaWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl X3Qgc2lnbGVuKQotIHsKLS0gICAgdW5zaWduZWQgY2hhciBtZFtFVlBfTUFYX01EX1NJWkVdOwot ICAgICBpbnQgciA9IDA7Ci0rI2lmbmRlZiBGSVBTX01PRFVMRQotKyAgICB1bnNpZ25lZCBjaGFy IG1kW0VWUF9NQVhfTURfU0laRV07Ci0gICAgIHVuc2lnbmVkIGludCBtZGxlbiA9IDA7Ci0gICAg IGludCB2Y3R4ID0gMDsKLS0gICAgRVZQX1BLRVlfQ1RYICpkY3R4LCAqcGN0eCA9IGN0eC0+cGN0 eDsKLSsgICAgRVZQX1BLRVlfQ1RYICpkY3R4OwotKyNlbmRpZiAvKiAhZGVmaW5lZChGSVBTX01P RFVMRSkgKi8KLSsgICAgRVZQX1BLRVlfQ1RYICpwY3R4ID0gY3R4LT5wY3R4OwotIAotKyNpZm5k ZWYgRklQU19NT0RVTEUKLSAgICAgaWYgKHBjdHggPT0gTlVMTAotICAgICAgICAgICAgIHx8IHBj dHgtPm9wZXJhdGlvbiAhPSBFVlBfUEtFWV9PUF9WRVJJRllDVFgKLSAgICAgICAgICAgICB8fCBw Y3R4LT5vcC5zaWcuYWxnY3R4ID09IE5VTEwKLSAgICAgICAgICAgICB8fCBwY3R4LT5vcC5zaWcu c2lnbmF0dXJlID09IE5VTEwpCi0gICAgICAgICBnb3RvIGxlZ2FjeTsKLSsjZW5kaWYgLyogIWRl ZmluZWQoRklQU19NT0RVTEUpICovCi0gCi0gICAgIGlmICgoY3R4LT5mbGFncyAmIEVWUF9NRF9D VFhfRkxBR19GSU5BTElTRSkgIT0gMCkKLSAgICAgICAgIHJldHVybiBwY3R4LT5vcC5zaWcuc2ln bmF0dXJlLT5kaWdlc3RfdmVyaWZ5X2ZpbmFsKHBjdHgtPm9wLnNpZy5hbGdjdHgsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWcs IHNpZ2xlbik7Ci0rI2lmbmRlZiBGSVBTX01PRFVMRQotICAgICBkY3R4ID0gRVZQX1BLRVlfQ1RY X2R1cChwY3R4KTsKLSAgICAgaWYgKGRjdHggPT0gTlVMTCkKLSAgICAgICAgIHJldHVybiAwOwot QEAgLTY5MSw4ICs3MTgsMTAgQEAgaW50IEVWUF9EaWdlc3RWZXJpZnlGaW5hbChFVlBfTURfQ1RY ICpjdHgsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNpZywKLSAgICAgciA9IGRjdHgtPm9wLnNpZy5z aWduYXR1cmUtPmRpZ2VzdF92ZXJpZnlfZmluYWwoZGN0eC0+b3Auc2lnLmFsZ2N0eCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnLCBzaWds ZW4pOwotICAgICBFVlBfUEtFWV9DVFhfZnJlZShkY3R4KTsKLSsjZW5kaWYgLyogIWRlZmluZWQo RklQU19NT0RVTEUpICovCi0gICAgIHJldHVybiByOwotIAotKyNpZm5kZWYgRklQU19NT0RVTEUK LSAgbGVnYWN5OgotICAgICBpZiAocGN0eCA9PSBOVUxMIHx8IHBjdHgtPnBtZXRoID09IE5VTEwp IHsKLSAgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX0VWUCwgRVZQX1JfSU5JVElBTElaQVRJT05f RVJST1IpOwotQEAgLTczMiw2ICs3NjEsNyBAQCBpbnQgRVZQX0RpZ2VzdFZlcmlmeUZpbmFsKEVW UF9NRF9DVFggKmN0eCwgY29uc3QgdW5zaWduZWQgY2hhciAqc2lnLAotICAgICBpZiAodmN0eCB8 fCAhcikKLSAgICAgICAgIHJldHVybiByOwotICAgICByZXR1cm4gRVZQX1BLRVlfdmVyaWZ5KHBj dHgsIHNpZywgc2lnbGVuLCBtZCwgbWRsZW4pOwotKyNlbmRpZiAvKiAhZGVmaW5lZChGSVBTX01P RFVMRSkgKi8KLSB9Ci0gCi0gaW50IEVWUF9EaWdlc3RWZXJpZnkoRVZQX01EX0NUWCAqY3R4LCBj b25zdCB1bnNpZ25lZCBjaGFyICpzaWdyZXQsCi1AQCAtNzU3LDQgKzc4NywzIEBAIGludCBFVlBf RGlnZXN0VmVyaWZ5KEVWUF9NRF9DVFggKmN0eCwgY29uc3QgdW5zaWduZWQgY2hhciAqc2lncmV0 LAotICAgICAgICAgcmV0dXJuIC0xOwotICAgICByZXR1cm4gRVZQX0RpZ2VzdFZlcmlmeUZpbmFs KGN0eCwgc2lncmV0LCBzaWdsZW4pOwotIH0KLS0jZW5kaWYgLyogRklQU19NT0RVTEUgKi8KLWRp ZmYgLS1naXQgYS9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3Rfa2F0cy5jIGIvcHJvdmlkZXJzL2Zp cHMvc2VsZl90ZXN0X2thdHMuYwotaW5kZXggYjZkNWU4ZTEzNC4uNzdlZWMwNzVlNiAxMDA2NDQK LS0tLSBhL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9rYXRzLmMKLSsrKyBiL3Byb3ZpZGVycy9m aXBzL3NlbGZfdGVzdF9rYXRzLmMKLUBAIC00NDQsMTAgKzQ0NCwxMyBAQCBzdGF0aWMgaW50IHNl bGZfdGVzdF9zaWduKGNvbnN0IFNUX0tBVF9TSUdOICp0LAotICAgICBpbnQgcmV0ID0gMDsKLSAg ICAgT1NTTF9QQVJBTSAqcGFyYW1zID0gTlVMTCwgKnBhcmFtc19zaWcgPSBOVUxMOwotICAgICBP U1NMX1BBUkFNX0JMRCAqYmxkID0gTlVMTDsKLSsgICAgRVZQX01EICptZCA9IE5VTEw7Ci0rICAg IEVWUF9NRF9DVFggKmN0eCA9IE5VTEw7Ci0gICAgIEVWUF9QS0VZX0NUWCAqc2N0eCA9IE5VTEws ICprY3R4ID0gTlVMTDsKLSAgICAgRVZQX1BLRVkgKnBrZXkgPSBOVUxMOwotLSAgICB1bnNpZ25l ZCBjaGFyIHNpZ1syNTZdOwotICAgICBCTl9DVFggKmJuY3R4ID0gTlVMTDsKLSsgICAgY29uc3Qg Y2hhciAqbXNnID0gIkhlbGxvIFdvcmxkISI7Ci0rICAgIHVuc2lnbmVkIGNoYXIgc2lnWzI1Nl07 Ci0gICAgIHNpemVfdCBzaWdsZW4gPSBzaXplb2Yoc2lnKTsKLSAgICAgc3RhdGljIGNvbnN0IHVu c2lnbmVkIGNoYXIgZGdzdFtdID0gewotICAgICAgICAgMHg3ZiwgMHg4MywgMHhiMSwgMHg2NSwg MHg3ZiwgMHhmMSwgMHhmYywgMHg1MywgMHhiOSwgMHgyZCwgMHhjMSwgMHg4MSwKLUBAIC00ODgs MjMgKzQ5MSwyNiBAQCBzdGF0aWMgaW50IHNlbGZfdGVzdF9zaWduKGNvbnN0IFNUX0tBVF9TSUdO ICp0LAotICAgICAgICAgfHwgRVZQX1BLRVlfZnJvbWRhdGEoa2N0eCwgJnBrZXksIEVWUF9QS0VZ X0tFWVBBSVIsIHBhcmFtcykgPD0gMCkKLSAgICAgICAgIGdvdG8gZXJyOwotIAotLSAgICAvKiBD cmVhdGUgYSBFVlBfUEtFWV9DVFggdG8gdXNlIGZvciB0aGUgc2lnbmluZyBvcGVyYXRpb24gKi8K LS0gICAgc2N0eCA9IEVWUF9QS0VZX0NUWF9uZXdfZnJvbV9wa2V5KGxpYmN0eCwgcGtleSwgTlVM TCk7Ci0tICAgIGlmIChzY3R4ID09IE5VTEwKLS0gICAgICAgIHx8IEVWUF9QS0VZX3NpZ25faW5p dChzY3R4KSA8PSAwKQotLSAgICAgICAgZ290byBlcnI7Ci0tCi0tICAgIC8qIHNldCBzaWduYXR1 cmUgcGFyYW1ldGVycyAqLwotLSAgICBpZiAoIU9TU0xfUEFSQU1fQkxEX3B1c2hfdXRmOF9zdHJp bmcoYmxkLCBPU1NMX1NJR05BVFVSRV9QQVJBTV9ESUdFU1QsCi0tICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0LT5tZGFsZ29yaXRobSwKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmxlbih0LT5tZGFsZ29yaXRobSkgKyAxKSkKLS0g ICAgICAgIGdvdG8gZXJyOwotKyAgICAvKiBDcmVhdGUgYSBFVlBfTURfQ1RYIHRvIHVzZSBmb3Ig dGhlIHNpZ25hdHVyZSBvcGVyYXRpb24sIGFzc2lnbiBzaWduYXR1cmUKLSsgICAgICogcGFyYW1l dGVycyBhbmQgc2lnbiAqLwotICAgICBwYXJhbXNfc2lnID0gT1NTTF9QQVJBTV9CTERfdG9fcGFy YW0oYmxkKTsKLS0gICAgaWYgKEVWUF9QS0VZX0NUWF9zZXRfcGFyYW1zKHNjdHgsIHBhcmFtc19z aWcpIDw9IDApCi0rICAgIG1kID0gRVZQX01EX2ZldGNoKGxpYmN0eCwgIlNIQTI1NiIsIE5VTEwp OwotKyAgICBjdHggPSBFVlBfTURfQ1RYX25ldygpOwotKyAgICBpZiAobWQgPT0gTlVMTCB8fCBj dHggPT0gTlVMTCkKLSsgICAgICAgIGdvdG8gZXJyOwotKyAgICBFVlBfTURfQ1RYX3NldF9mbGFn cyhjdHgsIEVWUF9NRF9DVFhfRkxBR19GSU5BTElTRSB8IEVWUF9NRF9DVFhfRkxBR19PTkVTSE9U KTsKLSsgICAgaWYgKEVWUF9EaWdlc3RTaWduSW5pdChjdHgsICZzY3R4LCBtZCwgTlVMTCwgcGtl eSkgPD0gMAotKyAgICAgICAgfHwgRVZQX1BLRVlfQ1RYX3NldF9wYXJhbXMoc2N0eCwgcGFyYW1z X3NpZykgPD0gMAotKyAgICAgICAgfHwgRVZQX0RpZ2VzdFNpZ24oY3R4LCBzaWcsICZzaWdsZW4s IChjb25zdCB1bnNpZ25lZCBjaGFyICopbXNnLCBzdHJsZW4obXNnKSkgPD0gMAotKyAgICAgICAg fHwgRVZQX01EX0NUWF9yZXNldChjdHgpIDw9IDApCi0gICAgICAgICBnb3RvIGVycjsKLSAKLS0g ICAgaWYgKEVWUF9QS0VZX3NpZ24oc2N0eCwgc2lnLCAmc2lnbGVuLCBkZ3N0LCBzaXplb2YoZGdz dCkpIDw9IDAKLS0gICAgICAgIHx8IEVWUF9QS0VZX3ZlcmlmeV9pbml0KHNjdHgpIDw9IDAKLSsg ICAgLyogc2N0eCBpcyBub3QgZnJlZWQgYXV0b21hdGljYWxseSBpbnNpZGUgdGhlIEZJUFMgbW9k dWxlICovCi0rICAgIEVWUF9QS0VZX0NUWF9mcmVlKHNjdHgpOwotKyAgICBzY3R4ID0gTlVMTDsK LSsKLSsgICAgRVZQX01EX0NUWF9zZXRfZmxhZ3MoY3R4LCBFVlBfTURfQ1RYX0ZMQUdfRklOQUxJ U0UgfCBFVlBfTURfQ1RYX0ZMQUdfT05FU0hPVCk7Ci0rICAgIGlmIChFVlBfRGlnZXN0VmVyaWZ5 SW5pdChjdHgsICZzY3R4LCBtZCwgTlVMTCwgcGtleSkgPD0gMAotICAgICAgICAgfHwgRVZQX1BL RVlfQ1RYX3NldF9wYXJhbXMoc2N0eCwgcGFyYW1zX3NpZykgPD0gMCkKLSAgICAgICAgIGdvdG8g ZXJyOwotIAotQEAgLTUwOSwxNCArNTEwLDE3IEBAIHN0YXRpYyBpbnQgc2VsZl90ZXN0X3NpZ24o Y29uc3QgU1RfS0FUX1NJR04gKnQsCi0gICAgICAgICBnb3RvIGVycjsKLSAKLSAgICAgT1NTTF9T RUxGX1RFU1Rfb25jb3JydXB0X2J5dGUoc3QsIHNpZyk7Ci0tICAgIGlmIChFVlBfUEtFWV92ZXJp Znkoc2N0eCwgc2lnLCBzaWdsZW4sIGRnc3QsIHNpemVvZihkZ3N0KSkgPD0gMCkKLSsgICAgaWYg KEVWUF9EaWdlc3RWZXJpZnkoY3R4LCBzaWcsIHNpZ2xlbiwgKGNvbnN0IHVuc2lnbmVkIGNoYXIg Kiltc2csIHN0cmxlbihtc2cpKSA8PSAwKQotICAgICAgICAgZ290byBlcnI7Ci0gICAgIHJldCA9 IDE7Ci0gZXJyOgotICAgICBCTl9DVFhfZnJlZShibmN0eCk7Ci0gICAgIEVWUF9QS0VZX2ZyZWUo cGtleSk7Ci0tICAgIEVWUF9QS0VZX0NUWF9mcmVlKGtjdHgpOwotKyAgICBFVlBfTURfZnJlZSht ZCk7Ci0rICAgIEVWUF9NRF9DVFhfZnJlZShjdHgpOwotKyAgICAvKiBzY3R4IGlzIG5vdCBmcmVl ZCBhdXRvbWF0aWNhbGx5IGluc2lkZSB0aGUgRklQUyBtb2R1bGUgKi8KLSAgICAgRVZQX1BLRVlf Q1RYX2ZyZWUoc2N0eCk7Ci0rICAgIEVWUF9QS0VZX0NUWF9mcmVlKGtjdHgpOwotICAgICBPU1NM X1BBUkFNX2ZyZWUocGFyYW1zKTsKLSAgICAgT1NTTF9QQVJBTV9mcmVlKHBhcmFtc19zaWcpOwot ICAgICBPU1NMX1BBUkFNX0JMRF9mcmVlKGJsZCk7Ci0tLSAKLTIuMzcuMQotCgpkaWZmIC0tZ2l0 IGEvMDA3Ni1GSVBTLTE0MC0zLURSQkcucGF0Y2ggYi8wMDc2LUZJUFMtMTQwLTMtRFJCRy5wYXRj aAppbmRleCA2NTc3OTk1Li43NDdjZjdkIDEwMDY0NAotLS0gYS8wMDc2LUZJUFMtMTQwLTMtRFJC Ry5wYXRjaAorKysgYi8wMDc2LUZJUFMtMTQwLTMtRFJCRy5wYXRjaApAQCAtMSw2ICsxLDc2IEBA Ci1kaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvcmFuZHMv c2VlZGluZy9yYW5kX3VuaXguYy5maXBzcmFuZCBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9pbXBs ZW1lbnRhdGlvbnMvcmFuZHMvc2VlZGluZy9yYW5kX3VuaXguYwotLS0tIG9wZW5zc2wtMy4wLjEv cHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9yYW5kcy9zZWVkaW5nL3JhbmRfdW5peC5jLmZpcHNy YW5kCTIwMjItMDgtMDMgMTE6MDk6MDEuMzAxNjM3NTE1ICswMjAwCi0rKysgb3BlbnNzbC0zLjAu MS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3JhbmRzL3NlZWRpbmcvcmFuZF91bml4LmMJMjAy Mi0wOC0wMyAxMToxMzowMC4wNTg2ODg2MDUgKzAyMDAKK0Zyb20gNGI1OWQ3MWUyNzYyNDM2MTVk OGZjYzY1YmFiMzJkODNlNmE2MDJhZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IHJw bS1idWlsZCA8cnBtLWJ1aWxkPgorRGF0ZTogTW9uLCAzMSBKdWwgMjAyMyAwOTo0MToyOSArMDIw MAorU3ViamVjdDogW1BBVENIIDMyLzM1XSAwMDc2LUZJUFMtMTQwLTMtRFJCRy5wYXRjaAorCitQ YXRjaC1uYW1lOiAwMDc2LUZJUFMtMTQwLTMtRFJCRy5wYXRjaAorUGF0Y2gtaWQ6IDc2CitQYXRj aC1zdGF0dXM6IHwKKyAgICAjIERvd25zdHJlYW0gb25seS4gUmVzZWVkIERSQkcgdXNpbmcgZ2V0 cmFuZG9tKEdSTkRfUkFORE9NKQorICAgICMgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3No b3dfYnVnLmNnaT9pZD0yMTAyNTQxCitGcm9tLWRpc3QtZ2l0LWNvbW1pdDogOTQwOWJjNzA0NGNm NGI1NzczNjM5Y2NlMjBmNTEzOTk4ODhjNDVmZAorLS0tCisgY3J5cHRvL3JhbmQvcHJvdl9zZWVk LmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDkgKystCisgcHJvdmlkZXJzL2ltcGxlbWVudGF0 aW9ucy9yYW5kcy9jcm5ndC5jICAgICAgIHwgIDYgKy0KKyBwcm92aWRlcnMvaW1wbGVtZW50YXRp b25zL3JhbmRzL2RyYmcuYyAgICAgICAgfCAgMyArCisgLi4uL2ltcGxlbWVudGF0aW9ucy9yYW5k cy9zZWVkaW5nL3JhbmRfdW5peC5jIHwgNjQgKystLS0tLS0tLS0tLS0tLS0tLQorIDQgZmlsZXMg Y2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgNjIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9jcnlwdG8vcmFuZC9wcm92X3NlZWQuYyBiL2NyeXB0by9yYW5kL3Byb3Zfc2VlZC5jCitpbmRl eCA5NmM0OTljOTU3Li42MWM0Y2Q4Nzc5IDEwMDY0NAorLS0tIGEvY3J5cHRvL3JhbmQvcHJvdl9z ZWVkLmMKKysrKyBiL2NyeXB0by9yYW5kL3Byb3Zfc2VlZC5jCitAQCAtMjAsNyArMjAsMTQgQEAg c2l6ZV90IG9zc2xfcmFuZF9nZXRfZW50cm9weShvc3NsX3VudXNlZCBjb25zdCBPU1NMX0NPUkVf SEFORExFICpoYW5kbGUsCisgICAgIHNpemVfdCBlbnRyb3B5X2F2YWlsYWJsZTsKKyAgICAgUkFO RF9QT09MICpwb29sOworIAorLSAgICBwb29sID0gb3NzbF9yYW5kX3Bvb2xfbmV3KGVudHJvcHks IDEsIG1pbl9sZW4sIG1heF9sZW4pOworKyAgICAvKgorKyAgICAgKiBPcGVuU1NMIHN0aWxsIGlt cGxlbWVudHMgYW4gaW50ZXJuYWwgZW50cm9weSBwb29sIG9mCisrICAgICAqIHNvbWUgc2l6ZSB0 aGF0IGlzIGhhc2hlZCB0byBnZXQgc2VlZCBkYXRhLgorKyAgICAgKiBOb3RlIHRoYXQgdGhpcyBp cyBhIGNvbmRpdGlvbmluZyBzdGVwIGZvciB3aGljaCBTUDgwMC05MEMgcmVxdWlyZXMKKysgICAg ICogNjQgYWRkaXRpb25hbCBiaXRzIGZyb20gdGhlIGVudHJvcHkgc291cmNlIHRvIGNsYWltIHRo ZSByZXF1ZXN0ZWQKKysgICAgICogYW1vdW50IG9mIGVudHJvcHkuCisrICAgICAqLworKyAgICBw b29sID0gb3NzbF9yYW5kX3Bvb2xfbmV3KGVudHJvcHkgKyA2NCwgMSwgbWluX2xlbiwgbWF4X2xl bik7CisgICAgIGlmIChwb29sID09IE5VTEwpIHsKKyAgICAgICAgIEVSUl9yYWlzZShFUlJfTElC X1JBTkQsIEVSUl9SX01BTExPQ19GQUlMVVJFKTsKKyAgICAgICAgIHJldHVybiAwOworZGlmZiAt LWdpdCBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvcmFuZHMvY3JuZ3QuYyBiL3Byb3ZpZGVy cy9pbXBsZW1lbnRhdGlvbnMvcmFuZHMvY3JuZ3QuYworaW5kZXggZmE0YTJkYjE0YS4uMWYxM2Zj NzU5ZSAxMDA2NDQKKy0tLSBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvcmFuZHMvY3JuZ3Qu YworKysrIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9yYW5kcy9jcm5ndC5jCitAQCAtMTMz LDcgKzEzMywxMSBAQCBzaXplX3Qgb3NzbF9jcm5ndF9nZXRfZW50cm9weShQUk9WX0RSQkcgKmRy YmcsCisgICAgICAqIHRvIHRoZSBuZWFyZXN0IGJ5dGUuICBJZiB0aGUgZW50cm9weSBpcyBvZiBs ZXNzIHRoYW4gZnVsbCBxdWFsaXR5LAorICAgICAgKiB0aGUgYW1vdW50IHJlcXVpcmVkIHNob3Vs ZCBiZSBzY2FsZWQgdXAgYXBwcm9wcmlhdGVseSBoZXJlLgorICAgICAgKi8KKy0gICAgYnl0ZXNf bmVlZGVkID0gKGVudHJvcHkgKyA3KSAvIDg7CisrICAgIC8qCisrICAgICAqIEZJUFMgMTQwLTM6 IHRoZSB5ZXQgZHJhZnQgU1A4MDAtOTBDIHJlcXVpcmVzIHJlcXVlc3RlZCBlbnRyb3B5CisrICAg ICAqICsgMTI4IGJpdHMgZHVyaW5nIGluaXRpYWwgc2VlZGluZworKyAgICAgKi8KKysgICAgYnl0 ZXNfbmVlZGVkID0gKGVudHJvcHkgKyAxMjggKyA3KSAvIDg7CisgICAgIGlmIChieXRlc19uZWVk ZWQgPCBtaW5fbGVuKQorICAgICAgICAgYnl0ZXNfbmVlZGVkID0gbWluX2xlbjsKKyAgICAgaWYg KGJ5dGVzX25lZWRlZCA+IG1heF9sZW4pCitkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2ltcGxlbWVu dGF0aW9ucy9yYW5kcy9kcmJnLmMgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3JhbmRzL2Ry YmcuYworaW5kZXggZWE1NTM2M2JmOC4uNDIzYmI5MTE1NyAxMDA2NDQKKy0tLSBhL3Byb3ZpZGVy cy9pbXBsZW1lbnRhdGlvbnMvcmFuZHMvZHJiZy5jCisrKysgYi9wcm92aWRlcnMvaW1wbGVtZW50 YXRpb25zL3JhbmRzL2RyYmcuYworQEAgLTU3MCw2ICs1NzAsOSBAQCBpbnQgb3NzbF9wcm92X2Ry YmdfcmVzZWVkKFBST1ZfRFJCRyAqZHJiZywgaW50IHByZWRpY3Rpb25fcmVzaXN0YW5jZSwKKyAj ZW5kaWYKKyAgICAgfQorIAorKyNpZmRlZiBGSVBTX01PRFVMRQorKyAgICBwcmVkaWN0aW9uX3Jl c2lzdGFuY2UgPSAxOworKyNlbmRpZgorICAgICAvKiBSZXNlZWQgdXNpbmcgb3VyIHNvdXJjZXMg aW4gYWRkaXRpb24gKi8KKyAgICAgZW50cm9weWxlbiA9IGdldF9lbnRyb3B5KGRyYmcsICZlbnRy b3B5LCBkcmJnLT5zdHJlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYmct Pm1pbl9lbnRyb3B5bGVuLCBkcmJnLT5tYXhfZW50cm9weWxlbiwKK2RpZmYgLS1naXQgYS9wcm92 aWRlcnMvaW1wbGVtZW50YXRpb25zL3JhbmRzL3NlZWRpbmcvcmFuZF91bml4LmMgYi9wcm92aWRl cnMvaW1wbGVtZW50YXRpb25zL3JhbmRzL3NlZWRpbmcvcmFuZF91bml4LmMKK2luZGV4IGNkMDJh MDIzNmQuLjk4YzkxN2I2ZDggMTAwNjQ0CistLS0gYS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25z L3JhbmRzL3NlZWRpbmcvcmFuZF91bml4LmMKKysrKyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlv bnMvcmFuZHMvc2VlZGluZy9yYW5kX3VuaXguYwogQEAgLTQ4LDYgKzQ4LDggQEAKICAjIGluY2x1 ZGUgPGZjbnRsLmg+CiAgIyBpbmNsdWRlIDx1bmlzdGQuaD4KQEAgLTksOCArNzksOCBAQCBkaWZm IC11cCBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvcmFuZHMvc2VlZGlu Zy9yYW5kX3VuaXguYy5maXBzcgogKyMgaW5jbHVkZSA8b3BlbnNzbC9ldnAuaD4KICAKICBzdGF0 aWMgdWludDY0X3QgZ2V0X3RpbWVfc3RhbXAodm9pZCk7Ci0KLUBAIC0zNDIsNjYgKzM0Miw4IEBA IHN0YXRpYyBzc2l6ZV90IHN5c2NhbGxfcmFuZG9tKHZvaWQgKmJ1ZiwKKyAKK0BAIC0zNDEsNjYg KzM0Myw4IEBAIHN0YXRpYyBzc2l6ZV90IHN5c2NhbGxfcmFuZG9tKHZvaWQgKmJ1Ziwgc2l6ZV90 IGJ1ZmxlbikKICAgICAgICogd2hpY2ggaXMgd2F5IGJlbG93IHRoZSBPU1NMX1NTSVpFX01BWCBs aW1pdC4gVGhlcmVmb3JlIHNpZ24gY29udmVyc2lvbgogICAgICAgKiBiZXR3ZWVuIHNpemVfdCBh bmQgc3NpemVfdCBpcyBzYWZlIGV2ZW4gd2l0aG91dCBhIHJhbmdlIGNoZWNrLgogICAgICAgKi8K QEAgLTc5LDUxICsxNDksNiBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9pbXBs ZW1lbnRhdGlvbnMvcmFuZHMvc2VlZGluZy9yYW5kX3VuaXguYy5maXBzcgogIH0KICAjICBlbmRp ZiAgICAvKiBkZWZpbmVkKE9QRU5TU0xfUkFORF9TRUVEX0dFVFJBTkRPTSkgKi8KICAKLWRpZmYg LXVwIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9yYW5kcy9kcmJnLmMu Zmlwc3JhbmQgb3BlbnNzbC0zLjAuMS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3JhbmRzL2Ry YmcuYwotLS0tIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9yYW5kcy9k cmJnLmMuZmlwc3JhbmQJMjAyMi0wOC0wMyAxMjoxNDozOS40MDkzNzAxMzQgKzAyMDAKLSsrKyBv cGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvcmFuZHMvZHJiZy5jCTIwMjIt MDgtMDMgMTI6MTk6MDYuMzIwNzAwMzQ2ICswMjAwCi1AQCAtNTc1LDYgKzU3NSw5IEBAIGludCBv c3NsX3Byb3ZfZHJiZ19yZXNlZWQoUFJPVl9EUkJHICpkcmIKLSAjZW5kaWYKLSAgICAgfQotIAot KyNpZmRlZiBGSVBTX01PRFVMRQotKyAgICBwcmVkaWN0aW9uX3Jlc2lzdGFuY2UgPSAxOwotKyNl bmRpZgotICAgICAvKiBSZXNlZWQgdXNpbmcgb3VyIHNvdXJjZXMgaW4gYWRkaXRpb24gKi8KLSAg ICAgZW50cm9weWxlbiA9IGdldF9lbnRyb3B5KGRyYmcsICZlbnRyb3B5LCBkcmJnLT5zdHJlbmd0 aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYmctPm1pbl9lbnRyb3B5bGVuLCBk cmJnLT5tYXhfZW50cm9weWxlbiwKLWRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvY3J5cHRvL3JhbmQv cHJvdl9zZWVkLmMuZmlwc3JhbmQgb3BlbnNzbC0zLjAuMS9jcnlwdG8vcmFuZC9wcm92X3NlZWQu YwotLS0tIG9wZW5zc2wtMy4wLjEvY3J5cHRvL3JhbmQvcHJvdl9zZWVkLmMuZmlwc3JhbmQJMjAy Mi0wOC0wNCAxMjoxNzo1Mi4xNDg1NTYzMDEgKzAyMDAKLSsrKyBvcGVuc3NsLTMuMC4xL2NyeXB0 by9yYW5kL3Byb3Zfc2VlZC5jCTIwMjItMDgtMDQgMTI6MTk6NDEuNzgzNTMzNTUyICswMjAwCi1A QCAtMjAsNyArMjAsMTQgQEAgc2l6ZV90IG9zc2xfcmFuZF9nZXRfZW50cm9weShvc3NsX3VudXNl ZAotICAgICBzaXplX3QgZW50cm9weV9hdmFpbGFibGU7Ci0gICAgIFJBTkRfUE9PTCAqcG9vbDsK LSAKLS0gICAgcG9vbCA9IG9zc2xfcmFuZF9wb29sX25ldyhlbnRyb3B5LCAxLCBtaW5fbGVuLCBt YXhfbGVuKTsKLSsgICAgLyoKLSsgICAgICogT3BlblNTTCBzdGlsbCBpbXBsZW1lbnRzIGFuIGlu dGVybmFsIGVudHJvcHkgcG9vbCBvZgotKyAgICAgKiBzb21lIHNpemUgdGhhdCBpcyBoYXNoZWQg dG8gZ2V0IHNlZWQgZGF0YS4KLSsgICAgICogTm90ZSB0aGF0IHRoaXMgaXMgYSBjb25kaXRpb25p bmcgc3RlcCBmb3Igd2hpY2ggU1A4MDAtOTBDIHJlcXVpcmVzCi0rICAgICAqIDY0IGFkZGl0aW9u YWwgYml0cyBmcm9tIHRoZSBlbnRyb3B5IHNvdXJjZSB0byBjbGFpbSB0aGUgcmVxdWVzdGVkCi0r ICAgICAqIGFtb3VudCBvZiBlbnRyb3B5LgotKyAgICAgKi8KLSsgICAgcG9vbCA9IG9zc2xfcmFu ZF9wb29sX25ldyhlbnRyb3B5ICsgNjQsIDEsIG1pbl9sZW4sIG1heF9sZW4pOwotICAgICBpZiAo cG9vbCA9PSBOVUxMKSB7Ci0gICAgICAgICBFUlJfcmFpc2UoRVJSX0xJQl9SQU5ELCBFUlJfUl9N QUxMT0NfRkFJTFVSRSk7Ci0gICAgICAgICByZXR1cm4gMDsKLWRpZmYgLXVwIG9wZW5zc2wtMy4w LjEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9yYW5kcy9jcm5ndC5jLmZpcHNyYW5kIG9wZW5z c2wtMy4wLjEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9yYW5kcy9jcm5ndC5jCi0tLS0gb3Bl bnNzbC0zLjAuMS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3JhbmRzL2Nybmd0LmMuZmlwc3Jh bmQJMjAyMi0wOC0wNCAxMTo1NjoxMC4xMDA5NTAyOTkgKzAyMDAKLSsrKyBvcGVuc3NsLTMuMC4x L3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvcmFuZHMvY3JuZ3QuYwkyMDIyLTA4LTA0IDExOjU5 OjExLjI0MTU2NDkyNSArMDIwMAotQEAgLTEzOSw3ICsxMzksMTEgQEAgc2l6ZV90IG9zc2xfY3Ju Z3RfZ2V0X2VudHJvcHkoUFJPVl9EUkJHCi0gICAgICAqIHRvIHRoZSBuZWFyZXN0IGJ5dGUuICBJ ZiB0aGUgZW50cm9weSBpcyBvZiBsZXNzIHRoYW4gZnVsbCBxdWFsaXR5LAotICAgICAgKiB0aGUg YW1vdW50IHJlcXVpcmVkIHNob3VsZCBiZSBzY2FsZWQgdXAgYXBwcm9wcmlhdGVseSBoZXJlLgot ICAgICAgKi8KLS0gICAgYnl0ZXNfbmVlZGVkID0gKGVudHJvcHkgKyA3KSAvIDg7Ci0rICAgIC8q Ci0rICAgICAqIEZJUFMgMTQwLTM6IHRoZSB5ZXQgZHJhZnQgU1A4MDAtOTBDIHJlcXVpcmVzIHJl cXVlc3RlZCBlbnRyb3B5Ci0rICAgICAqICsgMTI4IGJpdHMgZHVyaW5nIGluaXRpYWwgc2VlZGlu ZwotKyAgICAgKi8KLSsgICAgYnl0ZXNfbmVlZGVkID0gKGVudHJvcHkgKyAxMjggKyA3KSAvIDg7 Ci0gICAgIGlmIChieXRlc19uZWVkZWQgPCBtaW5fbGVuKQotICAgICAgICAgYnl0ZXNfbmVlZGVk ID0gbWluX2xlbjsKLSAgICAgaWYgKGJ5dGVzX25lZWRlZCA+IG1heF9sZW4pCistLSAKKzIuNDEu MAorCgpkaWZmIC0tZ2l0IGEvMDA3Ny1GSVBTLTE0MC0zLXplcm9pemF0aW9uLnBhdGNoIGIvMDA3 Ny1GSVBTLTE0MC0zLXplcm9pemF0aW9uLnBhdGNoCmluZGV4IGY2YTUwYTUuLmM3ZWU5NzUgMTAw NjQ0Ci0tLSBhLzAwNzctRklQUy0xNDAtMy16ZXJvaXphdGlvbi5wYXRjaAorKysgYi8wMDc3LUZJ UFMtMTQwLTMtemVyb2l6YXRpb24ucGF0Y2gKQEAgLTEsNyArMSw0NyBAQAotZGlmZiAtdXAgb3Bl bnNzbC0zLjAuMS9jcnlwdG8vZmZjL2ZmY19wYXJhbXMuYy5maXBzemVybyBvcGVuc3NsLTMuMC4x L2NyeXB0by9mZmMvZmZjX3BhcmFtcy5jCi0tLS0gb3BlbnNzbC0zLjAuMS9jcnlwdG8vZmZjL2Zm Y19wYXJhbXMuYy5maXBzemVybwkyMDIyLTA4LTA1IDEzOjExOjI3LjIxMTQxMzkzMSArMDIwMAot KysrIG9wZW5zc2wtMy4wLjEvY3J5cHRvL2ZmYy9mZmNfcGFyYW1zLmMJMjAyMi0wOC0wNSAxMzox MTozNC4xNTE0NzU4OTEgKzAyMDAKLUBAIC0yNywxMCArMjcsMTAgQEAgdm9pZCBvc3NsX2ZmY19w YXJhbXNfaW5pdChGRkNfUEFSQU1TICpwYQorRnJvbSA5YzY2N2E3YmE1ODkzMjlmM2E3NzdiMDEy YmY2OWEwZGI3ZjdlZGE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogcnBtLWJ1aWxk IDxycG0tYnVpbGQ+CitEYXRlOiBNb24sIDMxIEp1bCAyMDIzIDA5OjQxOjI5ICswMjAwCitTdWJq ZWN0OiBbUEFUQ0ggMzMvMzVdIDAwNzctRklQUy0xNDAtMy16ZXJvaXphdGlvbi5wYXRjaAorCitQ YXRjaC1uYW1lOiAwMDc3LUZJUFMtMTQwLTMtemVyb2l6YXRpb24ucGF0Y2gKK1BhdGNoLWlkOiA3 NworUGF0Y2gtc3RhdHVzOiB8CisgICAgIyBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hv d19idWcuY2dpP2lkPTIxMDI1NDIKK0Zyb20tZGlzdC1naXQtY29tbWl0OiA5NDA5YmM3MDQ0Y2Y0 YjU3NzM2MzljY2UyMGY1MTM5OTg4OGM0NWZkCistLS0KKyBjcnlwdG8vZWMvZWNfbGliLmMgICAg ICAgICAgICAgICAgICAgICAgfCA0ICsrKysKKyBjcnlwdG8vZmZjL2ZmY19wYXJhbXMuYyAgICAg ICAgICAgICAgICAgfCA4ICsrKystLS0tCisgY3J5cHRvL3JzYS9yc2FfbGliLmMgICAgICAgICAg ICAgICAgICAgIHwgNCArKy0tCisgcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZGZzL2hrZGYu YyAgIHwgMiArLQorIHByb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMva2Rmcy9wYmtkZjIuYyB8IDIg Ky0KKyA1IGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9jcnlwdG8vZWMvZWNfbGliLmMgYi9jcnlwdG8vZWMvZWNfbGliLmMKK2lu ZGV4IDZjMzdiZjc4YWUuLmNmYmMzYzNjMWQgMTAwNjQ0CistLS0gYS9jcnlwdG8vZWMvZWNfbGli LmMKKysrKyBiL2NyeXB0by9lYy9lY19saWIuYworQEAgLTc0NCwxMiArNzQ0LDE2IEBAIEVDX1BP SU5UICpFQ19QT0lOVF9uZXcoY29uc3QgRUNfR1JPVVAgKmdyb3VwKQorIAorIHZvaWQgRUNfUE9J TlRfZnJlZShFQ19QT0lOVCAqcG9pbnQpCisgeworKyNpZmRlZiBGSVBTX01PRFVMRQorKyAgICBF Q19QT0lOVF9jbGVhcl9mcmVlKHBvaW50KTsKKysjZWxzZQorICAgICBpZiAocG9pbnQgPT0gTlVM TCkKKyAgICAgICAgIHJldHVybjsKKyAKKyAgICAgaWYgKHBvaW50LT5tZXRoLT5wb2ludF9maW5p c2ggIT0gMCkKKyAgICAgICAgIHBvaW50LT5tZXRoLT5wb2ludF9maW5pc2gocG9pbnQpOworICAg ICBPUEVOU1NMX2ZyZWUocG9pbnQpOworKyNlbmRpZgorIH0KKyAKKyB2b2lkIEVDX1BPSU5UX2Ns ZWFyX2ZyZWUoRUNfUE9JTlQgKnBvaW50KQorZGlmZiAtLWdpdCBhL2NyeXB0by9mZmMvZmZjX3Bh cmFtcy5jIGIvY3J5cHRvL2ZmYy9mZmNfcGFyYW1zLmMKK2luZGV4IDM1MzZlZmQxYWQuLmYzYzE2 NGI4ZmMgMTAwNjQ0CistLS0gYS9jcnlwdG8vZmZjL2ZmY19wYXJhbXMuYworKysrIGIvY3J5cHRv L2ZmYy9mZmNfcGFyYW1zLmMKK0BAIC0yNywxMCArMjcsMTAgQEAgdm9pZCBvc3NsX2ZmY19wYXJh bXNfaW5pdChGRkNfUEFSQU1TICpwYXJhbXMpCiAgCiAgdm9pZCBvc3NsX2ZmY19wYXJhbXNfY2xl YW51cChGRkNfUEFSQU1TICpwYXJhbXMpCiAgewpAQCAtMTYsOSArNTYsMTAgQEAgZGlmZiAtdXAg b3BlbnNzbC0zLjAuMS9jcnlwdG8vZmZjL2ZmY19wYXJhbXMuYy5maXBzemVybyBvcGVuc3NsLTMu MC4xL2NyeXB0by9mZmMKICAgICAgT1BFTlNTTF9mcmVlKHBhcmFtcy0+c2VlZCk7CiAgICAgIG9z c2xfZmZjX3BhcmFtc19pbml0KHBhcmFtcyk7CiAgfQotZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS9j cnlwdG8vcnNhL3JzYV9saWIuYy5maXBzemVybyBvcGVuc3NsLTMuMC4xL2NyeXB0by9yc2EvcnNh X2xpYi5jCi0tLS0gb3BlbnNzbC0zLjAuMS9jcnlwdG8vcnNhL3JzYV9saWIuYy5maXBzemVybwky MDIyLTA4LTA1IDEzOjA4OjMxLjg3NTg0ODUzNiArMDIwMAotKysrIG9wZW5zc2wtMy4wLjEvY3J5 cHRvL3JzYS9yc2FfbGliLmMJMjAyMi0wOC0wNSAxMzowOTozNS40Mzg0MTYwMjUgKzAyMDAKK2Rp ZmYgLS1naXQgYS9jcnlwdG8vcnNhL3JzYV9saWIuYyBiL2NyeXB0by9yc2EvcnNhX2xpYi5jCitp bmRleCA5NTg4YTc1OTY0Li43NmI0YWFjNmZjIDEwMDY0NAorLS0tIGEvY3J5cHRvL3JzYS9yc2Ff bGliLmMKKysrKyBiL2NyeXB0by9yc2EvcnNhX2xpYi5jCiBAQCAtMTU1LDggKzE1NSw4IEBAIHZv aWQgUlNBX2ZyZWUoUlNBICpyKQogIAogICAgICBDUllQVE9fVEhSRUFEX2xvY2tfZnJlZShyLT5s b2NrKTsKQEAgLTMwLDEwICs3MSwxMSBAQCBkaWZmIC11cCBvcGVuc3NsLTMuMC4xL2NyeXB0by9y c2EvcnNhX2xpYi5jLmZpcHN6ZXJvIG9wZW5zc2wtMy4wLjEvY3J5cHRvL3JzYS9ycwogICAgICBC Tl9jbGVhcl9mcmVlKHItPmQpOwogICAgICBCTl9jbGVhcl9mcmVlKHItPnApOwogICAgICBCTl9j bGVhcl9mcmVlKHItPnEpOwotZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS9wcm92aWRlcnMvaW1wbGVt ZW50YXRpb25zL2tkZnMvaGtkZi5jLmZpcHN6ZXJvIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2lt cGxlbWVudGF0aW9ucy9rZGZzL2hrZGYuYwotLS0tIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2lt cGxlbWVudGF0aW9ucy9rZGZzL2hrZGYuYy5maXBzemVybwkyMDIyLTA4LTA1IDEzOjE0OjU4Ljgy NzMwMzI0MSArMDIwMAotKysrIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9u cy9rZGZzL2hrZGYuYwkyMDIyLTA4LTA1IDEzOjE2OjI0LjUzMDA2ODM5OSArMDIwMAotQEAgLTEx Niw3ICsxMTYsNyBAQCBzdGF0aWMgdm9pZCBrZGZfaGtkZl9yZXNldCh2b2lkICp2Y3R4KQorZGlm ZiAtLWdpdCBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMva2Rmcy9oa2RmLmMgYi9wcm92aWRl cnMvaW1wbGVtZW50YXRpb25zL2tkZnMvaGtkZi5jCitpbmRleCBkYWE2MTliOGFmLi41MzA0YmFh NmM5IDEwMDY0NAorLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZGZzL2hrZGYuYwor KysrIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZGZzL2hrZGYuYworQEAgLTExOCw3ICsx MTgsNyBAQCBzdGF0aWMgdm9pZCBrZGZfaGtkZl9yZXNldCh2b2lkICp2Y3R4KQogICAgICB2b2lk ICpwcm92Y3R4ID0gY3R4LT5wcm92Y3R4OwogIAogICAgICBvc3NsX3Byb3ZfZGlnZXN0X3Jlc2V0 KCZjdHgtPmRpZ2VzdCk7CkBAIC00MiwxMCArODQsMTEgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAu MS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL2tkZnMvaGtkZi5jLmZpcHN6ZXJvIG9wZW5zc2wt My4KICAgICAgT1BFTlNTTF9mcmVlKGN0eC0+cHJlZml4KTsKICAgICAgT1BFTlNTTF9mcmVlKGN0 eC0+bGFiZWwpOwogICAgICBPUEVOU1NMX2NsZWFyX2ZyZWUoY3R4LT5kYXRhLCBjdHgtPmRhdGFf bGVuKTsKLWRpZmYgLXVwIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9r ZGZzL3Bia2RmMi5jLmZpcHN6ZXJvIG9wZW5zc2wtMy4wLjEvcHJvdmlkZXJzL2ltcGxlbWVudGF0 aW9ucy9rZGZzL3Bia2RmMi5jCi0tLS0gb3BlbnNzbC0zLjAuMS9wcm92aWRlcnMvaW1wbGVtZW50 YXRpb25zL2tkZnMvcGJrZGYyLmMuZmlwc3plcm8JMjAyMi0wOC0wNSAxMzoxMjo0MC41NTIwNjg3 MTcgKzAyMDAKLSsrKyBvcGVuc3NsLTMuMC4xL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMva2Rm cy9wYmtkZjIuYwkyMDIyLTA4LTA1IDEzOjEzOjM0LjMyNDU0ODc5OSArMDIwMAotQEAgLTgzLDcg KzgzLDcgQEAgc3RhdGljIHZvaWQgKmtkZl9wYmtkZjJfbmV3KHZvaWQgKnByb3ZjdAorZGlmZiAt LWdpdCBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMva2Rmcy9wYmtkZjIuYyBiL3Byb3ZpZGVy cy9pbXBsZW1lbnRhdGlvbnMva2Rmcy9wYmtkZjIuYworaW5kZXggNWMzZTdiOTVjZS4uMzQ5YzNk ZDY1NyAxMDA2NDQKKy0tLSBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMva2Rmcy9wYmtkZjIu YworKysrIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZGZzL3Bia2RmMi5jCitAQCAtOTIs NyArOTIsNyBAQCBzdGF0aWMgdm9pZCAqa2RmX3Bia2RmMl9uZXcodm9pZCAqcHJvdmN0eCkKICBz dGF0aWMgdm9pZCBrZGZfcGJrZGYyX2NsZWFudXAoS0RGX1BCS0RGMiAqY3R4KQogIHsKICAgICAg b3NzbF9wcm92X2RpZ2VzdF9yZXNldCgmY3R4LT5kaWdlc3QpOwpAQCAtNTQsMjMgKzk3LDYgQEAg ZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL2tkZnMvcGJr ZGYyLmMuZmlwc3plcm8gb3BlbnNzbC0KICAgICAgT1BFTlNTTF9jbGVhcl9mcmVlKGN0eC0+cGFz cywgY3R4LT5wYXNzX2xlbik7CiAgICAgIG1lbXNldChjdHgsIDAsIHNpemVvZigqY3R4KSk7CiAg fQotZGlmZiAtdXAgb3BlbnNzbC0zLjAuMS9jcnlwdG8vZWMvZWNfbGliLmMuZmlwc3plcm8gb3Bl bnNzbC0zLjAuMS9jcnlwdG8vZWMvZWNfbGliLmMKLS0tLSBvcGVuc3NsLTMuMC4xL2NyeXB0by9l Yy9lY19saWIuYy5maXBzemVybwkyMDIyLTA4LTA1IDEzOjQ4OjMyLjIyMTM0NTc3NCArMDIwMAot KysrIG9wZW5zc2wtMy4wLjEvY3J5cHRvL2VjL2VjX2xpYi5jCTIwMjItMDgtMDUgMTM6NDk6MTYu MTM4NzQxNDUyICswMjAwCi1AQCAtNzQ0LDEyICs3NDQsMTYgQEAgRUNfUE9JTlQgKkVDX1BPSU5U X25ldyhjb25zdCBFQ19HUk9VUCAqZwotIAotIHZvaWQgRUNfUE9JTlRfZnJlZShFQ19QT0lOVCAq cG9pbnQpCi0gewotKyNpZmRlZiBGSVBTX01PRFVMRQotKyAgICBFQ19QT0lOVF9jbGVhcl9mcmVl KHBvaW50KTsKLSsjZWxzZQotICAgICBpZiAocG9pbnQgPT0gTlVMTCkKLSAgICAgICAgIHJldHVy bjsKLSAKLSAgICAgaWYgKHBvaW50LT5tZXRoLT5wb2ludF9maW5pc2ggIT0gMCkKLSAgICAgICAg IHBvaW50LT5tZXRoLT5wb2ludF9maW5pc2gocG9pbnQpOwotICAgICBPUEVOU1NMX2ZyZWUocG9p bnQpOwotKyNlbmRpZgotIH0KLSAKLSB2b2lkIEVDX1BPSU5UX2NsZWFyX2ZyZWUoRUNfUE9JTlQg KnBvaW50KQorLS0gCisyLjQxLjAKKwoKZGlmZiAtLWdpdCBhL29wZW5zc2wuc3BlYyBiL29wZW5z c2wuc3BlYwppbmRleCBkNmNjOTBmLi41NjJmYWM5IDEwMDY0NAotLS0gYS9vcGVuc3NsLnNwZWMK KysrIGIvb3BlbnNzbC5zcGVjCkBAIC00MCwxMDMgKzQwLDg0IEBAIFNvdXJjZTc6IHJlbmV3LWR1 bW15LWNlcnQKIFNvdXJjZTk6IGNvbmZpZ3VyYXRpb24tc3dpdGNoLmgKIFNvdXJjZTEwOiBjb25m aWd1cmF0aW9uLXByZWZpeC5oCiBTb3VyY2UxNDogMDAyNS1mb3ItdGVzdHMucGF0Y2gKLQotIyBQ YXRjaGVzIGV4cG9ydGVkIGZyb20gc291cmNlIGdpdAotIyBBYXJjaDY0IGFuZCBwcGM2NGxlIHVz ZSBsaWI2NAotUGF0Y2gxOiAwMDAxLUFhcmNoNjQtYW5kLXBwYzY0bGUtdXNlLWxpYjY0LnBhdGNo Ci0jIFVzZSBtb3JlIGdlbmVyYWwgZGVmYXVsdCB2YWx1ZXMgaW4gb3BlbnNzbC5jbmYKLVBhdGNo MjogMDAwMi1Vc2UtbW9yZS1nZW5lcmFsLWRlZmF1bHQtdmFsdWVzLWluLW9wZW5zc2wuY25mLnBh dGNoCi0jIERvIG5vdCBpbnN0YWxsIGh0bWwgZG9jcwotUGF0Y2gzOiAwMDAzLURvLW5vdC1pbnN0 YWxsLWh0bWwtZG9jcy5wYXRjaAotIyBPdmVycmlkZSBkZWZhdWx0IHBhdGhzIGZvciB0aGUgQ0Eg ZGlyZWN0b3J5IHRyZWUKLVBhdGNoNDogMDAwNC1PdmVycmlkZS1kZWZhdWx0LXBhdGhzLWZvci10 aGUtQ0EtZGlyZWN0b3J5LXRyZWUucGF0Y2gKLSMgYXBwcy9jYTogZml4IG1kIG9wdGlvbiBoZWxw IHRleHQKLVBhdGNoNTogMDAwNS1hcHBzLWNhLWZpeC1tZC1vcHRpb24taGVscC10ZXh0LnBhdGNo Ci0jIERpc2FibGUgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbiB3aXRoIHRvdGFsbHkgdW5zYWZlIGhh c2ggYWxnb3JpdGhtcwotUGF0Y2g2OiAwMDA2LURpc2FibGUtc2lnbmF0dXJlLXZlcmlmaWNhdGlv bi13aXRoLXRvdGFsbHktdW5zYWZlLWgucGF0Y2gKLSMgQWRkIHN1cHBvcnQgZm9yIFBST0ZJTEU9 U1lTVEVNIHN5c3RlbSBkZWZhdWx0IGNpcGhlcmxpc3QKLVBhdGNoNzogMDAwNy1BZGQtc3VwcG9y dC1mb3ItUFJPRklMRS1TWVNURU0tc3lzdGVtLWRlZmF1bHQtY2lwaGVyLnBhdGNoCi0jIEFkZCBG SVBTX21vZGUoKSBjb21wYXRpYmlsaXR5IG1hY3JvCi1QYXRjaDg6IDAwMDgtQWRkLUZJUFNfbW9k ZS1jb21wYXRpYmlsaXR5LW1hY3JvLnBhdGNoCi0jIEFkZCBjaGVjayB0byBzZWUgaWYgZmlwcyBm bGFnIGlzIGVuYWJsZWQgaW4ga2VybmVsCi1QYXRjaDk6IDAwMDktQWRkLUtlcm5lbC1GSVBTLW1v ZGUtZmxhZy1zdXBwb3J0LnBhdGNoCi0jIEluc3RlYWQgb2YgcmVwbGFjaW5nIGVjdGVzdC5jIGFu ZCBlY19jdXJ2ZS5jLCBhZGQgdGhlIGNoYW5nZXMgYXMgYSBwYXRjaCBzbwotIyB0aGF0IG5ldyBt b2RpZmljYXRpb25zIG1hZGUgdG8gdGhlc2UgZmlsZXMgYnkgdXBzdHJlYW0gYXJlIG5vdCBsb3N0 LiAKLVBhdGNoMTA6IDAwMTAtQWRkLWNoYW5nZXMtdG8tZWN0ZXN0LWFuZC1lY2N1cnZlLnBhdGNo Ci0jIHJlbW92ZSB1bnN1cHBvcnRlZCBFQyBjdXJ2ZXMKLVBhdGNoMTE6IDAwMTEtUmVtb3ZlLUVD LWN1cnZlcy5wYXRjaAotIyBEaXNhYmxlIGV4cGxpY2l0IEVDIGN1cnZlcwotIyBodHRwczovL2J1 Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTIwNjY0MTIKLVBhdGNoMTI6IDAwMTIt RGlzYWJsZS1leHBsaWNpdC1lYy5wYXRjaAotI1NraXBwZWQgdGVzdHMgZnJvbSBmb3JtZXIgMDAx MS1SZW1vdmUtRUMtY3VydmVzLnBhdGNoCi1QYXRjaDEzOiAwMDEzLXNraXBwZWQtdGVzdHMtRUMt Y3VydmVzLnBhdGNoCi0jIEluc3RydWN0aW9ucyB0byBsb2FkIGxlZ2FjeSBwcm92aWRlciBpbiBv cGVuc3NsLmNuZgotUGF0Y2gyNDogMDAyNC1sb2FkLWxlZ2FjeS1wcm92LnBhdGNoCi0jIFRtcDog dGVzdCBuYW1lIGNoYW5nZQotUGF0Y2gzMTogMDAzMS10bXAtRml4LXRlc3QtbmFtZXMucGF0Y2gK LSMgV2UgbG9hZCBGSVBTIHByb3ZpZGVyIGFuZCBzZXQgRklQUyBwcm9wZXJ0aWVzIGltcGxpY2l0 bHkKLVBhdGNoMzI6IDAwMzItRm9yY2UtZmlwcy5wYXRjaAotIyBFbWJlZCBITUFDIGludG8gdGhl IGZpcHMuc28KLVBhdGNoMzM6IDAwMzMtRklQUy1lbWJlZC1obWFjLnBhdGNoCi0jIENvbW1lbnQg b3V0IGZpcHNpbnN0YWxsIGNvbW1hbmQtbGluZSB1dGlsaXR5Ci1QYXRjaDM0OiAwMDM0LmZpcHNp bnN0YWxsX2Rpc2FibGUucGF0Y2gKLSMgU2tpcCB1bmF2YWlsYWJsZSBhbGdvcml0aG1zIHJ1bm5p bmcgYG9wZW5zc2wgc3BlZWRgCi1QYXRjaDM1OiAwMDM1LXNwZWVkLXNraXAtdW5hdmFpbGFibGUt ZGdzdC5wYXRjaAotIyBFeHRyYSBwdWJsaWMvcHJpdmF0ZSBrZXkgY2hlY2tzIHJlcXVpcmVkIGJ5 IEZJUFMtMTQwLTMKLVBhdGNoNDQ6IDAwNDQtRklQUy0xNDAtMy1rZXljaGVja3MucGF0Y2gKLSMg TWluaW1pemUgZmlwcyBzZXJ2aWNlcwotUGF0Y2g0NTogMDA0NS1GSVBTLXNlcnZpY2VzLW1pbmlt aXplLnBhdGNoCi0jIEV4ZWN1dGUgS0FUUyBiZWZvcmUgSE1BQyB2ZXJpZmljYXRpb24KLVBhdGNo NDc6IDAwNDctRklQUy1lYXJseS1LQVRTLnBhdGNoCi0laWYgMCV7P3JoZWx9Ci0jIFNlbGVjdGl2 ZWx5IGRpc2FsbG93IFNIQTEgc2lnbmF0dXJlcwotUGF0Y2g0OTogMDA0OS1TZWxlY3RpdmVseS1k aXNhbGxvdy1TSEExLXNpZ25hdHVyZXMucGF0Y2gKLSVlbHNlCi0jIFNlbGVjdGl2ZWx5IGRpc2Fs bG93IFNIQTEgc2lnbmF0dXJlcyByaGJ6IzIwNzA5NzcKLVBhdGNoNDk6IDAwNDktQWxsb3ctZGlz YWJsaW5nLW9mLVNIQTEtc2lnbmF0dXJlcy5wYXRjaAotJWVuZGlmCi0laWYgMCV7P3JoZWx9Ci0j IEFsbG93IFNIQTEgaW4gc2VjbGV2ZWwgMiBpZiByaC1hbGxvdy1zaGExLXNpZ25hdHVyZXMgPSB5 ZXMKLVBhdGNoNTI6IDAwNTItQWxsb3ctU0hBMS1pbi1zZWNsZXZlbC0yLWlmLXJoLWFsbG93LXNo YTEtc2lnbmF0dXJlcy5wYXRjaAotJWVsc2UKLSMgU3VwcG9ydCBTSEExIGluIFRMUyBpbiBMRUdB Q1kgY3J5cHRvLXBvbGljeSAod2hpY2ggaXMgU0VDTEVWRUw9MSkKLVBhdGNoNTI6IDAwNTItQWxs b3ctU0hBMS1pbi1zZWNsZXZlbC0xLWlmLXJoLWFsbG93LXNoYTEtc2lnbmF0dXJlcy5wYXRjaAot JWVuZGlmCi0laWYgMCV7P3JoZWx9Ci0jIG5vIFVTRFQgcHJvYmUgaW5zdHJ1bWVudGF0aW9uIHJl cXVpcmVkCi0lZWxzZQotIyBJbnN0cnVtZW50IHdpdGggVVNEVCBwcm9iZXMgcmVsYXRlZCB0byBT SEEtMSBkZXByZWNhdGlvbgotI1BhdGNoNTM6IDAwNTMtQWRkLVNIQTEtcHJvYmVzLnBhdGNoCi0l ZW5kaWYKLSMgaHR0cHM6Ly9naXRodWIuY29tL29wZW5zc2wvb3BlbnNzbC9wdWxsLzE4MTAzCi0j IFRoZSBwYXRjaCBpcyBpbmNvcnBvcmF0ZWQgaW4gMy4wLjMgYnV0IHdlIHByb3ZpZGUgdGhpcyBm dW5jdGlvbiBzaW5jZSAzLjAuMQotIyBzbyB0aGUgcGF0Y2ggc2hvdWxkIHBlcnNpc3QKLVBhdGNo NTY6IDAwNTYtc3RyY2FzZWNtcC5wYXRjaAotIyBodHRwczovL2dpdGh1Yi5jb20vb3BlbnNzbC9v cGVuc3NsL3B1bGwvMTgxNzUKLSMgUGF0Y2g1NzogMDA1Ny1zdHJjYXNlY21wLWZpeC5wYXRjaAot IyBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTIwNTMyODkKLVBh dGNoNTg6IDAwNTgtRklQUy1saW1pdC1yc2EtZW5jcnlwdC5wYXRjaAotIyBodHRwczovL2J1Z3pp bGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTIwODcxNDcKLVBhdGNoNjE6IDAwNjEtRGVu eS1TSEEtMS1zaWduYXR1cmUtdmVyaWZpY2F0aW9uLWluLUZJUFMtcHJvdmlkZXIucGF0Y2gKLVBh dGNoNjI6IDAwNjItZmlwcy1FeHBvc2UtYS1GSVBTLWluZGljYXRvci5wYXRjaAotIyBodHRwczov L2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTIxMDI1MzUKLVBhdGNoNzM6IDAw NzMtRklQUy1Vc2UtT0FFUC1pbi1LQVRzLXN1cHBvcnQtZml4ZWQtT0FFUC1zZWVkLnBhdGNoCi0j IGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MjEwMjUzNQotJWlm IDAlez9yaGVsfQotUGF0Y2g3NDogMDA3NC1GSVBTLVVzZS1kaWdlc3Rfc2lnbi1kaWdlc3RfdmVy aWZ5LWluLXNlbGYtdGVzdC1lbG4ucGF0Y2gKLSVlbHNlCi1QYXRjaDc0OiAwMDc0LUZJUFMtVXNl LWRpZ2VzdF9zaWduLWRpZ2VzdF92ZXJpZnktaW4tc2VsZi10ZXN0LnBhdGNoCi0lZW5kaWYKLSMg aHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0yMTAyNTM1Ci1QYXRj aDc1OiAwMDc1LUZJUFMtVXNlLUZGREhFMjA0OC1pbi1zZWxmLXRlc3QucGF0Y2gKLSMgRG93bnN0 cmVhbSBvbmx5LiBSZXNlZWQgRFJCRyB1c2luZyBnZXRyYW5kb20oR1JORF9SQU5ET00pCi0jIGh0 dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MjEwMjU0MQotUGF0Y2g3 NjogMDA3Ni1GSVBTLTE0MC0zLURSQkcucGF0Y2gKLSMgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQu Y29tL3Nob3dfYnVnLmNnaT9pZD0yMTAyNTQyCi1QYXRjaDc3OiAwMDc3LUZJUFMtMTQwLTMtemVy b2l6YXRpb24ucGF0Y2gKLSMgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNn aT9pZD0yMTE0NzcyCi1QYXRjaDc4OiAwMDc4LUFkZC1GSVBTLWluZGljYXRvci1wYXJhbWV0ZXIt dG8tSEtERi5wYXRjaAotIyBodHRwczovL2dpdGh1Yi5jb20vb3BlbnNzbC9vcGVuc3NsL3B1bGwv MTM4MTcKKyMgIyBQYXRjaGVzIGV4cG9ydGVkIGZyb20gc291cmNlIGdpdAorIyAjIEFhcmNoNjQg YW5kIHBwYzY0bGUgdXNlIGxpYjY0CitQYXRjaDE6ICAgMDAwMS1BYXJjaDY0LWFuZC1wcGM2NGxl LXVzZS1saWI2NC5wYXRjaAorIyAjIFVzZSBtb3JlIGdlbmVyYWwgZGVmYXVsdCB2YWx1ZXMgaW4g b3BlbnNzbC5jbmYKK1BhdGNoMjogICAwMDAyLVVzZS1tb3JlLWdlbmVyYWwtZGVmYXVsdC12YWx1 ZXMtaW4tb3BlbnNzbC5jbmYucGF0Y2gKKyMgIyBEbyBub3QgaW5zdGFsbCBodG1sIGRvY3MKK1Bh dGNoMzogICAwMDAzLURvLW5vdC1pbnN0YWxsLWh0bWwtZG9jcy5wYXRjaAorIyAjIE92ZXJyaWRl IGRlZmF1bHQgcGF0aHMgZm9yIHRoZSBDQSBkaXJlY3RvcnkgdHJlZQorUGF0Y2g0OiAgIDAwMDQt T3ZlcnJpZGUtZGVmYXVsdC1wYXRocy1mb3ItdGhlLUNBLWRpcmVjdG9yeS10cmVlLnBhdGNoCisj ICMgYXBwcy9jYTogZml4IG1kIG9wdGlvbiBoZWxwIHRleHQKK1BhdGNoNTogICAwMDA1LWFwcHMt Y2EtZml4LW1kLW9wdGlvbi1oZWxwLXRleHQucGF0Y2gKKyMgIyBEaXNhYmxlIHNpZ25hdHVyZSB2 ZXJpZmljYXRpb24gd2l0aCB0b3RhbGx5IHVuc2FmZSBoYXNoIGFsZ29yaXRobXMKK1BhdGNoNjog ICAwMDA2LURpc2FibGUtc2lnbmF0dXJlLXZlcmlmaWNhdGlvbi13aXRoLXRvdGFsbHktdW5zYWZl LWgucGF0Y2gKKyMgIyBBZGQgc3VwcG9ydCBmb3IgUFJPRklMRT1TWVNURU0gc3lzdGVtIGRlZmF1 bHQgY2lwaGVybGlzdAorUGF0Y2g3OiAgIDAwMDctQWRkLXN1cHBvcnQtZm9yLVBST0ZJTEUtU1lT VEVNLXN5c3RlbS1kZWZhdWx0LWNpcGhlci5wYXRjaAorIyAjIEFkZCBGSVBTX21vZGUoKSBjb21w YXRpYmlsaXR5IG1hY3JvCitQYXRjaDg6ICAgMDAwOC1BZGQtRklQU19tb2RlLWNvbXBhdGliaWxp dHktbWFjcm8ucGF0Y2gKKyMgIyBBZGQgY2hlY2sgdG8gc2VlIGlmIGZpcHMgZmxhZyBpcyBlbmFi bGVkIGluIGtlcm5lbAorUGF0Y2g5OiAgIDAwMDktQWRkLUtlcm5lbC1GSVBTLW1vZGUtZmxhZy1z dXBwb3J0LnBhdGNoCisjICMgSW5zdGVhZCBvZiByZXBsYWNpbmcgZWN0ZXN0LmMgYW5kIGVjX2N1 cnZlLmMsIGFkZCB0aGUgY2hhbmdlcyBhcyBhIHBhdGNoIHNvCisjICMgdGhhdCBuZXcgbW9kaWZp Y2F0aW9ucyBtYWRlIHRvIHRoZXNlIGZpbGVzIGJ5IHVwc3RyZWFtIGFyZSBub3QgbG9zdC4KK1Bh dGNoMTA6ICAwMDEwLUFkZC1jaGFuZ2VzLXRvLWVjdGVzdC1hbmQtZWNjdXJ2ZS5wYXRjaAorIyAj IHJlbW92ZSB1bnN1cHBvcnRlZCBFQyBjdXJ2ZXMKK1BhdGNoMTE6ICAwMDExLVJlbW92ZS1FQy1j dXJ2ZXMucGF0Y2gKKyMgIyBEaXNhYmxlIGV4cGxpY2l0IEVDIGN1cnZlcworIyAjIGh0dHBzOi8v YnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MjA2NjQxMgorUGF0Y2gxMjogIDAw MTItRGlzYWJsZS1leHBsaWNpdC1lYy5wYXRjaAorIyAjIFNraXBwZWQgdGVzdHMgZnJvbSBmb3Jt ZXIgMDAxMS1SZW1vdmUtRUMtY3VydmVzLnBhdGNoCitQYXRjaDEzOiAgMDAxMy1za2lwcGVkLXRl c3RzLUVDLWN1cnZlcy5wYXRjaAorIyAjIEluc3RydWN0aW9ucyB0byBsb2FkIGxlZ2FjeSBwcm92 aWRlciBpbiBvcGVuc3NsLmNuZgorUGF0Y2gyNDogIDAwMjQtbG9hZC1sZWdhY3ktcHJvdi5wYXRj aAorIyAjIFRtcDogdGVzdCBuYW1lIGNoYW5nZQorUGF0Y2gzMTogIDAwMzEtdG1wLUZpeC10ZXN0 LW5hbWVzLnBhdGNoCisjICMgV2UgbG9hZCBGSVBTIHByb3ZpZGVyIGFuZCBzZXQgRklQUyBwcm9w ZXJ0aWVzIGltcGxpY2l0bHkKK1BhdGNoMzI6ICAwMDMyLUZvcmNlLWZpcHMucGF0Y2gKKyMgIyBF bWJlZCBITUFDIGludG8gdGhlIGZpcHMuc28KK1BhdGNoMzM6ICAwMDMzLUZJUFMtZW1iZWQtaG1h Yy5wYXRjaAorIyAjIENvbW1lbnQgb3V0IGZpcHNpbnN0YWxsIGNvbW1hbmQtbGluZSB1dGlsaXR5 CitQYXRjaDM0OiAgMDAzNC5maXBzaW5zdGFsbF9kaXNhYmxlLnBhdGNoCisjICMgU2tpcCB1bmF2 YWlsYWJsZSBhbGdvcml0aG1zIHJ1bm5pbmcgYG9wZW5zc2wgc3BlZWRgCitQYXRjaDM1OiAgMDAz NS1zcGVlZC1za2lwLXVuYXZhaWxhYmxlLWRnc3QucGF0Y2gKKyMgIyBFeHRyYSBwdWJsaWMvcHJp dmF0ZSBrZXkgY2hlY2tzIHJlcXVpcmVkIGJ5IEZJUFMtMTQwLTMKK1BhdGNoNDQ6ICAwMDQ0LUZJ UFMtMTQwLTMta2V5Y2hlY2tzLnBhdGNoCisjICMgTWluaW1pemUgZmlwcyBzZXJ2aWNlcworUGF0 Y2g0NTogIDAwNDUtRklQUy1zZXJ2aWNlcy1taW5pbWl6ZS5wYXRjaAorIyAjIEV4ZWN1dGUgS0FU UyBiZWZvcmUgSE1BQyB2ZXJpZmljYXRpb24KK1BhdGNoNDc6ICAwMDQ3LUZJUFMtZWFybHktS0FU Uy5wYXRjaAorIyAjIFNlbGVjdGl2ZWx5IGRpc2FsbG93IFNIQTEgc2lnbmF0dXJlcyByaGJ6IzIw NzA5NzcKK1BhdGNoNDk6ICAwMDQ5LUFsbG93LWRpc2FibGluZy1vZi1TSEExLXNpZ25hdHVyZXMu cGF0Y2gKKyMgIyBTdXBwb3J0IFNIQTEgaW4gVExTIGluIExFR0FDWSBjcnlwdG8tcG9saWN5ICh3 aGljaCBpcyBTRUNMRVZFTD0xKQorUGF0Y2g1MjogIDAwNTItQWxsb3ctU0hBMS1pbi1zZWNsZXZl bC0xLWlmLXJoLWFsbG93LXNoYTEtc2lnbmF0dXJlcy5wYXRjaAorIyAjIGh0dHBzOi8vZ2l0aHVi LmNvbS9vcGVuc3NsL29wZW5zc2wvcHVsbC8xODEwMworIyAjIFRoZSBwYXRjaCBpcyBpbmNvcnBv cmF0ZWQgaW4gMy4wLjMgYnV0IHdlIHByb3ZpZGUgdGhpcyBmdW5jdGlvbiBzaW5jZSAzLjAuMQor IyAjIHNvIHRoZSBwYXRjaCBzaG91bGQgcGVyc2lzdAorUGF0Y2g1NjogIDAwNTYtc3RyY2FzZWNt cC5wYXRjaAorIyAjIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29wZW5zc2wvcHVsbC8xODE3 NQorIyAjIFBhdGNoNTc6IDAwNTctc3RyY2FzZWNtcC1maXgucGF0Y2gKKyMgIyBodHRwczovL2J1 Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTIwNTMyODkKK1BhdGNoNTg6ICAwMDU4 LUZJUFMtbGltaXQtcnNhLWVuY3J5cHQucGF0Y2gKKyMgIyBodHRwczovL2J1Z3ppbGxhLnJlZGhh dC5jb20vc2hvd19idWcuY2dpP2lkPTIwODcxNDcKK1BhdGNoNjE6ICAwMDYxLURlbnktU0hBLTEt c2lnbmF0dXJlLXZlcmlmaWNhdGlvbi1pbi1GSVBTLXByb3ZpZGVyLnBhdGNoCisjIDAwNjItZmlw cy1FeHBvc2UtYS1GSVBTLWluZGljYXRvci5wYXRjaAorUGF0Y2g2MjogIDAwNjItZmlwcy1FeHBv c2UtYS1GSVBTLWluZGljYXRvci5wYXRjaAorIyAjIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNv bS9zaG93X2J1Zy5jZ2k/aWQ9MjEwMjUzNQorUGF0Y2g3MzogIDAwNzMtRklQUy1Vc2UtT0FFUC1p bi1LQVRzLXN1cHBvcnQtZml4ZWQtT0FFUC1zZWVkLnBhdGNoCisjIFtQQVRDSCAzMC8zNV0gCisj ICAwMDc0LUZJUFMtVXNlLWRpZ2VzdF9zaWduLWRpZ2VzdF92ZXJpZnktaW4tc2VsZi10ZXN0LnBh dGNoCitQYXRjaDc0OiAgMDA3NC1GSVBTLVVzZS1kaWdlc3Rfc2lnbi1kaWdlc3RfdmVyaWZ5LWlu LXNlbGYtdGVzdC5wYXRjaAorIyAjIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1 Zy5jZ2k/aWQ9MjEwMjUzNQorUGF0Y2g3NTogIDAwNzUtRklQUy1Vc2UtRkZESEUyMDQ4LWluLXNl bGYtdGVzdC5wYXRjaAorIyAjIERvd25zdHJlYW0gb25seS4gUmVzZWVkIERSQkcgdXNpbmcgZ2V0 cmFuZG9tKEdSTkRfUkFORE9NKQorIyAjIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93 X2J1Zy5jZ2k/aWQ9MjEwMjU0MQorUGF0Y2g3NjogIDAwNzYtRklQUy0xNDAtMy1EUkJHLnBhdGNo CisjICMgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0yMTAyNTQy CitQYXRjaDc3OiAgMDA3Ny1GSVBTLTE0MC0zLXplcm9pemF0aW9uLnBhdGNoCisjICMgaHR0cHM6 Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0yMTE0NzcyCitQYXRjaDc4OiAg MDA3OC1BZGQtRklQUy1pbmRpY2F0b3ItcGFyYW1ldGVyLXRvLUhLREYucGF0Y2gKKyMgIyBodHRw czovL2dpdGh1Yi5jb20vb3BlbnNzbC9vcGVuc3NsL3B1bGwvMTM4MTcKIFBhdGNoMTAwOiAwMTAw LVJTQS1QS0NTMTUtaW1wbGljaXQtcmVqZWN0aW9uLnBhdGNoCiAKIExpY2Vuc2U6IEFTTCAyLjAK