From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 11441 invoked from network); 4 Sep 2021 13:06:00 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 4 Sep 2021 13:06:00 -0000 Content-Type: multipart/mixed; boundary="===============3947364928119175195==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_chromium=3A_update_to_93=2E0=2E4577=2E63=2E?= To: ml@inbox.vuxu.org From: Duncaen Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 04 Sep 2021 15:06:00 +0200 List-Id: Message-ID: <20210904130600.m3E26YGlr91Ypt8JxZZX3q_SSV9pIJV1XC1FtsG1Y98@z> GitHub notification mails are now in MIME to allow UTF8. --===============3947364928119175195== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgRHVuY2FlbiBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vRHVu Y2Flbi92b2lkLXBhY2thZ2VzIGNocm9taXVtLTkzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zMjgzMQoKY2hyb21pdW06IHVwZGF0ZSB0byA5My4wLjQ1 NzcuNjMuCltjaSBza2lwXQ0KDQotIFt4XSB4ODZfNjQtZ2xpYmMNCi0gW3hdIHg4Nl82NC1tdXNs DQotIFsgXSBpNjg2CgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzI4MzEucGF0Y2ggaXMgYXR0YWNoZWQ= --===============3947364928119175195== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-93-32831.patch" RnJvbSBkNTczMTk4ZWVlNTYyMmY5Nzc1NGE5Y2E5MGE1NTkxYzdhZGUzMmVjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFNhdCwgNCBTZXAgMjAyMSAxNDozMToxNiArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIGNocm9taXVt OiB1cGRhdGUgdG8gOTMuMC40NTc3LjYzLgoKLS0tCiAuLi4vZGVmYXVsdC1wdGhyZWFkLXN0YWNr c2l6ZS5wYXRjaCAgICAgICAgICAgfCAgICA2ICstCiAuLi4vZmlsZXMvbXVzbC1wYXRjaGVzL25v LW1hbGxpbmZvLnBhdGNoICAgICAgfCAgIDc1ICstCiAuLi5lM2RmY2QwNjkwZGYwZTdiMjEyZmVk Y2I5NTQwMmYxNjkzNWQucGF0Y2ggfCAgIDM2ICsKIC4uLjE0MDUxMjEwMzg4YmZjZmY2MDU1NzBk MzNmMDhjZmE3YmNhYS5wYXRjaCB8ICAgMzYgKwogLi4uYzhiNDg0YzE4YzYyMWQ0YjE5NDYzNWU0 MWYxNzE1NDNmMWRmLnBhdGNoIHwgICA0MiArCiAuLi45ZWU0NDdjZjVmMDE2MGVhNGFlOTc4Y2Rm MzdmNWRjZWNkMWUucGF0Y2ggfCAgIDM2ICsKIC4uLjVhMTA1MTU1MWFmMjZhYWVmYzZmY2QzMzUw MmE1MTcyNTM5Ni5wYXRjaCB8ICAgMzYgKwogLi4uL3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMt Mi4zMy5wYXRjaCAgICAgIHwgIDE0NCAtLQogLi4uL3BhdGNoZXMvY2hyb21pdW0tOTMtZmZtcGVn LTQuNC5wYXRjaCAgICAgIHwgICAzNiArCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS05My1wZGZpdW0t aW5jbHVkZS5wYXRjaCAgfCAgMTE3ICsrCiAuLi4vcGF0Y2hlcy9jdXJzZWReVXNjb3BlZF9maWxl LnBhdGNoICAgICAgICAgfCAgIDE4ICsKIC4uLi9wYXRjaGVzL2ZpeC1jcmFzaC1pbi1UaGVtZVNl cnZpY2UucGF0Y2ggICB8ICAgNDUgLQogLi4uL2xpbnV4LXNhbmRib3gtZml4LWZzdGF0YXQtY3Jh c2gucGF0Y2ggICAgIHwgMTM4NCArKysrKysrKysrKysrKysrKwogLi4ubS1kaXN0aWxsZXItcHJv dG9jLXBsdWdpbi1jYWxsLXB5Mi43LnBhdGNoIHwgICAzNyAtCiBzcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvbm8tZXhlY2luZm8ucGF0Y2ggICAgfCAgIDYxICstCiAuLi4vcGF0Y2hlcy9yZW1vdmUt bGx2bTEzLXdhcm5pbmctZmxhZ3MucGF0Y2ggfCAgIDEzICsKIC4uLi9wYXRjaGVzL3JlbW92ZS1u YXJyb3dpbmctY2FzdC5wYXRjaCAgICAgICB8ICAgNDIgKwogLi4uL3BhdGNoZXMvcmVtb3ZlLXN0 cmlwX2JpbmFyeS5wYXRjaCAgICAgICAgIHwgICAzMiArCiBzcmNwa2dzL2Nocm9taXVtL3RlbXBs YXRlICAgICAgICAgICAgICAgICAgICAgfCAgMTEwICstCiAxOSBmaWxlcyBjaGFuZ2VkLCAxOTQ4 IGluc2VydGlvbnMoKyksIDM1OCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvMTdkMGUzZGZjZDA2OTBkZjBlN2IyMTJmZWRjYjk1NDAyZjE2 OTM1ZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy8y ZjU1MTQwNTEyMTAzODhiZmNmZjYwNTU3MGQzM2YwOGNmYTdiY2FhLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzgyZTJjOGI0ODRjMThjNjIxZDRiMTk0 NjM1ZTQxZjE3MTU0M2YxZGYucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvOGFlOTllZTQ0N2NmNWYwMTYwZWE0YWU5NzhjZGYzN2Y1ZGNlY2QxZS5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy85YzY3NWExMDUx NTUxYWYyNmFhZWZjNmZjZDMzNTAyYTUxNzI1Mzk2LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWdsaWJjLTIuMzMucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTMtZmZt cGVnLTQuNC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9jaHJvbWl1bS05My1wZGZpdW0taW5jbHVkZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1jcmFzaC1pbi1UaGVtZVNl cnZpY2UucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv bGludXgtc2FuZGJveC1maXgtZnN0YXRhdC1jcmFzaC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9tYWtlLWRvbS1kaXN0aWxsZXItcHJvdG9jLXBsdWdp bi1jYWxsLXB5Mi43LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL3JlbW92ZS1sbHZtMTMtd2FybmluZy1mbGFncy5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9yZW1vdmUtbmFycm93aW5nLWNhc3QucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmVtb3ZlLXN0cmlw X2JpbmFyeS5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1w YXRjaGVzL2RlZmF1bHQtcHRocmVhZC1zdGFja3NpemUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVt L2ZpbGVzL211c2wtcGF0Y2hlcy9kZWZhdWx0LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoCmluZGV4 IDE2ZTRkMjFlNmVkOC4uMjY4ODRmNmNjOTM3IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVt L2ZpbGVzL211c2wtcGF0Y2hlcy9kZWZhdWx0LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoCisrKyBi L3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL2RlZmF1bHQtcHRocmVhZC1zdGFj a3NpemUucGF0Y2gKQEAgLTQsOSArNCw5IEBACiAtICByZXR1cm4gMDsKICsgIC8vIHVzZSA4bWIg bGlrZSBnbGliYyB0byBhdm9pZCBydW5uaW5nIG91dCBvZiBzcGFjZQogKyAgcmV0dXJuICgxIDw8 IDIzKTsKLS0tLSBjaHJvbWUvYXBwL3NodXRkb3duX3NpZ25hbF9oYW5kbGVyc19wb3NpeC5jYy5v cmlnCi0rKysgY2hyb21lL2FwcC9zaHV0ZG93bl9zaWduYWxfaGFuZGxlcnNfcG9zaXguY2MKLUBA IC0xODQsMTEgKzE4NCwxOSBAQAorLS0tIGNocm9tZS9icm93c2VyL3NodXRkb3duX3NpZ25hbF9o YW5kbGVyc19wb3NpeC5jYy5vcmlnCisrKysgY2hyb21lL2Jyb3dzZXIvc2h1dGRvd25fc2lnbmFs X2hhbmRsZXJzX3Bvc2l4LmNjCitAQCAtMTg3LDExICsxODcsMTkgQEAKICAgIGdfc2h1dGRvd25f cGlwZV9yZWFkX2ZkID0gcGlwZWZkWzBdOwogICAgZ19zaHV0ZG93bl9waXBlX3dyaXRlX2ZkID0g cGlwZWZkWzFdOwogICNpZiAhZGVmaW5lZChBRERSRVNTX1NBTklUSVpFUikKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1hbGxpbmZvLnBhdGNoIGIv c3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbm8tbWFsbGluZm8ucGF0Y2gKaW5k ZXggYjBjOTgzMjUxNWQwLi41ZmQzZGMyYjM3OWMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21p dW0vZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1hbGxpbmZvLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hy b21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1hbGxpbmZvLnBhdGNoCkBAIC0xLDMzICsxLDU2 IEBACi0tLS0gYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYy5vcmlnCi0r KysgYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYwotQEAgLTI0Myw3ICsy NDMsNyBAQAotICAgYWxsb2NhdGVkX29iamVjdHNfY291bnQgPSBtYWluX2hlYXBfaW5mby5ibG9j a19jb3VudDsKKy0tLSAuL2Jhc2UvdHJhY2VfZXZlbnQvbWFsbG9jX2R1bXBfcHJvdmlkZXIuY2Mu b3JpZworKysrIC4vYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYworQEAg LTIxMiw3ICsyMTIsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICZhbGxvY2F0ZWRfb2JqZWN0 c19jb3VudCk7CiAgI2VsaWYgZGVmaW5lZChPU19GVUNIU0lBKQogIC8vIFRPRE8oZnVjaHNpYSk6 IFBvcnQsIHNlZSBodHRwczovL2NyYnVnLmNvbS83MDY1OTIuCiAtI2Vsc2UKICsjZWxpZiBkZWZp bmVkKF9fR0xJQkNfXykKLSAgIHN0cnVjdCBtYWxsaW5mbyBpbmZvID0gbWFsbGluZm8oKTsKLSAg IERDSEVDS19HRShpbmZvLmFyZW5hICsgaW5mby5oYmxraGQsIGluZm8udW9yZGJsa3MpOworICNp ZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgZGVmaW5lZChfX0dMSUJDX1BSRVJFUSkKKyAjaWYgX19H TElCQ19QUkVSRVEoMiwgMzMpCisgI2RlZmluZSBNQUxMSU5GTzJfRk9VTkRfSU5fTElCQworLS0t IC4vYmFzZS9wcm9jZXNzL3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYworKysrIC4vYmFzZS9wcm9j ZXNzL3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYworQEAgLTEwNSw3ICsxMDUsNyBAQAogIAotLS0t IGJhc2UvcHJvY2Vzcy9wcm9jZXNzX21ldHJpY3NfcG9zaXguY2Mub3JpZwkyMDIwLTExLTE4IDIz OjUwOjMzLjk1ODIyMzQ5NyAtMDUwMAotKysrIGJhc2UvcHJvY2Vzcy9wcm9jZXNzX21ldHJpY3Nf cG9zaXguY2MJMjAyMC0xMS0xOCAyMzo1Mzo1Mi4wMjQ1ODkzMTYgLTA1MDAKLUBAIC0xMTksMTQg KzExOSwxNCBAQAorICNlbmRpZiAgLy8gIWRlZmluZWQoT1NfRlVDSFNJQSkKKyAKKy0jaWYgZGVm aW5lZChPU19MSU5VWCkgfHwgZGVmaW5lZChPU19DSFJPTUVPUykgfHwgZGVmaW5lZChPU19BTkRS T0lEKQorKyNpZiAoZGVmaW5lZChPU19MSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pKSB8fCBk ZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpCisgbmFtZXNwYWNlIHsK KyAKKyBzaXplX3QgR2V0TWFsbG9jVXNhZ2VNYWxsaW5mbygpIHsKK0BAIC0xMjcsMTYgKzEyNywx NiBAQAorIH0KKyAKKyB9ICAvLyBuYW1lc3BhY2UKKy0jZW5kaWYgIC8vIGRlZmluZWQoT1NfTElO VVgpIHx8IGRlZmluZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKysjZW5k aWYgIC8vIChkZWZpbmVkKE9TX0xJTlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykpIHx8IGRlZmlu ZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKyAKKyBzaXplX3QgUHJvY2Vz c01ldHJpY3M6OkdldE1hbGxvY1VzYWdlKCkgeworICNpZiBkZWZpbmVkKE9TX0FQUExFKQogICAg bWFsbG9jX3N0YXRpc3RpY3NfdCBzdGF0cyA9IHswfTsKICAgIG1hbGxvY196b25lX3N0YXRpc3Rp Y3MobnVsbHB0ciwgJnN0YXRzKTsKICAgIHJldHVybiBzdGF0cy5zaXplX2luX3VzZTsKIC0jZWxp ZiBkZWZpbmVkKE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9T X0FORFJPSUQpCi0rI2VsaWYgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoT1NfQ0hST01F T1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKLSAgIHN0cnVjdCBtYWxsaW5mbyBtaW5mbyA9IG1h bGxpbmZvKCk7Ci0gI2lmIEJVSUxERkxBRyhVU0VfVENNQUxMT0MpCi0gICByZXR1cm4gbWluZm8u dW9yZGJsa3M7Ci0gI2Vsc2UKLSAgIHJldHVybiBtaW5mby5oYmxraGQgKyBtaW5mby5hcmVuYTsK LSAjZW5kaWYKKysjZWxpZiAoZGVmaW5lZChPU19MSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJDX18p KSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpCisgICByZXR1 cm4gR2V0TWFsbG9jVXNhZ2VNYWxsaW5mbygpOwogLSNlbGlmIGRlZmluZWQoT1NfRlVDSFNJQSkK ICsjZWxzZQogICAgLy8gVE9ETyhmdWNoc2lhKTogTm90IGN1cnJlbnRseSBleHBvc2VkLiBodHRw czovL2NyYnVnLmNvbS83MzUwODcuCiAgICByZXR1cm4gMDsKICAjZW5kaWYKKy0tLSB0aGlyZF9w YXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxpbmcvbWVtb3J5X2luZm8uY2Mu b3JpZworKysrIHRoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL3Byb2ZpbGlu Zy9tZW1vcnlfaW5mby5jYworQEAgLTM1LDcgKzM1LDcgQEAKKyAKKyBNZW1vcnlVc2FnZSBHZXRN ZW1vcnlVc2FnZSgpIHsKKyAgIE1lbW9yeVVzYWdlIHJlc3VsdDsKKy0jaWZkZWYgX19saW51eF9f CisrI2lmIGRlZmluZWQoX19saW51eF9fKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIHJ1c2Fn ZSByZXM7CisgICBpZiAoZ2V0cnVzYWdlKFJVU0FHRV9TRUxGLCAmcmVzKSA9PSAwKSB7CisgICAg IHJlc3VsdC5tYXhfcnNzX2tiID0gcmVzLnJ1X21heHJzczsKIC0tLSB0aGlyZF9wYXJ0eS9zd2lm dHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLXN1Ynplcm8vbGliL1N1cHBvcnQvVW5peC9Qcm9jZXNz LmluYwogKysrIHRoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tc3ViemVy by9saWIvU3VwcG9ydC9Vbml4L1Byb2Nlc3MuaW5jLm9yaWcKIEBAIC04NCw3ICs4NCw3IEBACkBA IC01MiwyMyArNzUsMyBAQAogIAogIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWFs bG9jLmg+IGhlYWRlciBmaWxlLiAqLwogICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCi0tLS0gdGhp cmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUvcHJvZmlsaW5nL21lbW9yeV9pbmZv LmNjLm9yaWcJMjAyMS0wNC0xNiAxNzozNDozNi42NjYzODUyMDcgLTA0MDAKLSsrKyB0aGlyZF9w YXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxpbmcvbWVtb3J5X2luZm8uY2MJ MjAyMS0wNC0xNiAxNzozNjowMS4xOTc2MDI5NTMgLTA0MDAKLUBAIC0yNyw3ICsyNyw3IEBACi0g Y29uc3QgaW50IE1lbW9yeVVzYWdlOjprVmFsdWVOb3RTZXQgPSAwOwotIAotIGJvb2wgTWVtb3J5 VXNhZ2U6OklzU3VwcG9ydGVkKCkgewotLSNpZmRlZiBfX2xpbnV4X18KLSsjaWZkZWYgZGVmaW5l ZChfX0dMSUJDX18pCi0gICByZXR1cm4gdHJ1ZTsKLSAjZW5kaWYKLSAgIHJldHVybiBmYWxzZTsK LUBAIC0zNSw3ICszNSw3IEBACi0gCi0gTWVtb3J5VXNhZ2UgR2V0TWVtb3J5VXNhZ2UoKSB7Ci0g ICBNZW1vcnlVc2FnZSByZXN1bHQ7Ci0tI2lmZGVmIF9fbGludXhfXwotKyNpZmRlZiBkZWZpbmVk KF9fR0xJQkNfXykKLSAgIHJ1c2FnZSByZXM7Ci0gICBpZiAoZ2V0cnVzYWdlKFJVU0FHRV9TRUxG LCAmcmVzKSA9PSAwKSB7Ci0gICAgIHJlc3VsdC5tYXhfcnNzX2tiID0gcmVzLnJ1X21heHJzczsK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy8xN2QwZTNkZmNkMDY5MGRmMGU3 YjIxMmZlZGNiOTU0MDJmMTY5MzVkLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzE3 ZDBlM2RmY2QwNjkwZGYwZTdiMjEyZmVkY2I5NTQwMmYxNjkzNWQucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5jNDNkYThkZmQ4YWIKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvMTdkMGUzZGZjZDA2OTBkZjBlN2IyMTJmZWRj Yjk1NDAyZjE2OTM1ZC5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDE3ZDBlM2RmY2QwNjkw ZGYwZTdiMjEyZmVkY2I5NTQwMmYxNjkzNWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBKb3NlIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlhLmNvbT4KK0RhdGU6IEZyaSwgMjMgSnVs IDIwMjEgMTA6MTc6NDkgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gSVdZVTogbWlzc2luZyBpbmNs dWRlIGZvciB1c2luZyBzdGQ6OnZlY3RvciBpbiBoYXNoIHBhc3N3b3JkCisgbWFuYWdlci4KK01J TUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgK K0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworRml4IGJ1aWxkIGJyZWFrYWdlOgor Li4vLi4vY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9oYXNoX3Bhc3N3 b3JkX21hbmFnZXIuaDo0NDo4OiBlcnJvcjog4oCYdmVjdG9y4oCZIGluIG5hbWVzcGFjZSDigJhz dGTigJkgZG9lcyBub3QgbmFtZSBhIHRlbXBsYXRlIHR5cGUKKyAgIDQ0IHwgICBzdGQ6OnZlY3Rv cjxQYXNzd29yZEhhc2hEYXRhPiBSZXRyaWV2ZUFsbFBhc3N3b3JkSGFzaGVzKCk7CisgICAgICB8 ICAgICAgICBefn5+fn4KKworQnVnOiA4MTkyOTQKK0NoYW5nZS1JZDogSThjOGE0ZWMzOTcyZWVk Yjg3YTMxMmM1ZWM1NmFkZjRhMjFiMWIyYTIKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVt LXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMzA0MTA0NgorQ29tbWl0 LVF1ZXVlOiBWYXNpbGlpIFN1a2hhbm92IDx2YXNpbGlpQGNocm9taXVtLm9yZz4KK1Jldmlld2Vk LWJ5OiBWYXNpbGlpIFN1a2hhbm92IDx2YXNpbGlpQGNocm9taXVtLm9yZz4KK0NyLUNvbW1pdC1Q b3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM5MDQ2OTZ9CistLS0KKyBjb21wb25lbnRzL3Bh c3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2hhc2hfcGFzc3dvcmRfbWFuYWdlci5oIHwgMSAr CisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9jb21wb25l bnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2hhc2hfcGFzc3dvcmRfbWFuYWdlci5o IGIvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9oYXNoX3Bhc3N3b3Jk X21hbmFnZXIuaAoraW5kZXggYzc2MmM1YThjNzcxMy4uODVlNjU2ZWRjYmExMSAxMDA2NDQKKy0t LSBhL2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvaGFzaF9wYXNzd29y ZF9tYW5hZ2VyLmgKKysrKyBiL2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dz ZXIvaGFzaF9wYXNzd29yZF9tYW5hZ2VyLmgKK0BAIC02LDYgKzYsNyBAQAorICNkZWZpbmUgQ09N UE9ORU5UU19QQVNTV09SRF9NQU5BR0VSX0NPUkVfQlJPV1NFUl9IQVNIX1BBU1NXT1JEX01BTkFH RVJfSF8KKyAKKyAjaW5jbHVkZSA8c3RyaW5nPgorKyNpbmNsdWRlIDx2ZWN0b3I+CisgCisgI2lu Y2x1ZGUgImJhc2UvY2FsbGJhY2suaCIKKyAjaW5jbHVkZSAiYmFzZS9jYWxsYmFja19saXN0Lmgi CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvMmY1NTE0MDUxMjEwMzg4YmZj ZmY2MDU1NzBkMzNmMDhjZmE3YmNhYS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy8y ZjU1MTQwNTEyMTAzODhiZmNmZjYwNTU3MGQzM2YwOGNmYTdiY2FhLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uODc1N2ViNWMzNmE5Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzJmNTUxNDA1MTIxMDM4OGJmY2ZmNjA1NTcw ZDMzZjA4Y2ZhN2JjYWEucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSAyZjU1MTQwNTEyMTAz ODhiZmNmZjYwNTU3MGQzM2YwOGNmYTdiY2FhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogSm9zZSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxpYS5jb20+CitEYXRlOiBXZWQsIDIxIEp1 bCAyMDIxIDA4OjM0OjU4ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIElXWVU6IHVzYWdlIG9mIHVu aXF1ZV9wdHIgcmVxdWlyZXMgaW5jbHVkaW5nIDxtZW1vcnk+IGluCisgYmx1ZXRvb3RoIGxvdyBl bmVyZ3kgc2NhbiBmaWx0ZXIuCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0 L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisK K0ZpeCBidWlsZCBiZWNhdXNlIG9mIG1pc3NpbmcgaW5jbHVkZToKKy4uLy4uL2RldmljZS9ibHVl dG9vdGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nhbl9maWx0ZXIuaDo1NzoxNTogZXJyb3I6IOKA mHVuaXF1ZV9wdHLigJkgaW4gbmFtZXNwYWNlIOKAmHN0ZOKAmSBkb2VzIG5vdCBuYW1lIGEgdGVt cGxhdGUgdHlwZQorICAgNTcgfCAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8Qmx1ZXRvb3RoTG93 RW5lcmd5U2NhbkZpbHRlcj4gQ3JlYXRlKAorICAgICAgfCAgICAgICAgICAgICAgIF5+fn5+fn5+ fn4KKworQnVnOiA4MTkyOTQKK0NoYW5nZS1JZDogSTM0Nzk1M2EwODNmMWJjZGY3NDRmZDg2ZTFh NzM5NTRjNmY4NmIzMmUKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29n bGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMzA0MTE1NQorUmV2aWV3ZWQtYnk6IFJlaWxs eSBHcmFudCA8cmVpbGx5Z0BjaHJvbWl1bS5vcmc+CitDb21taXQtUXVldWU6IEpvc8OpIERhcGVu YSBQYXogPGpkYXBlbmFAaWdhbGlhLmNvbT4KK0NyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFk cy9tYXN0ZXJAeyM5MDM4MTl9CistLS0KKyBkZXZpY2UvYmx1ZXRvb3RoL2JsdWV0b290aF9sb3df ZW5lcmd5X3NjYW5fZmlsdGVyLmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KykKKworZGlmZiAtLWdpdCBhL2RldmljZS9ibHVldG9vdGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lf c2Nhbl9maWx0ZXIuaCBiL2RldmljZS9ibHVldG9vdGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nh bl9maWx0ZXIuaAoraW5kZXggYTA0MzZjMTg0YTk2Ny4uN2FlNjA2Y2NhMDE0ZSAxMDA2NDQKKy0t LSBhL2RldmljZS9ibHVldG9vdGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nhbl9maWx0ZXIuaAor KysrIGIvZGV2aWNlL2JsdWV0b290aC9ibHVldG9vdGhfbG93X2VuZXJneV9zY2FuX2ZpbHRlci5o CitAQCAtNyw2ICs3LDcgQEAKKyAKKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisgI2luY2x1ZGUgPHN0 ZGludC5oPgorKyNpbmNsdWRlIDxtZW1vcnk+CisgI2luY2x1ZGUgPHZlY3Rvcj4KKyAKKyAjaW5j bHVkZSAiYmFzZS90aW1lL3RpbWUuaCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy84MmUyYzhiNDg0YzE4YzYyMWQ0YjE5NDYzNWU0MWYxNzE1NDNmMWRmLnBhdGNoIGIvc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzLzgyZTJjOGI0ODRjMThjNjIxZDRiMTk0NjM1ZTQxZjE3MTU0 M2YxZGYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iYWJm ZGIzNjc2NjAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvODJl MmM4YjQ4NGMxOGM2MjFkNGIxOTQ2MzVlNDFmMTcxNTQzZjFkZi5wYXRjaApAQCAtMCwwICsxLDQy IEBACitGcm9tIDgyZTJjOGI0ODRjMThjNjIxZDRiMTk0NjM1ZTQxZjE3MTU0M2YxZGYgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb3NlIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlh LmNvbT4KK0RhdGU6IFR1ZSwgMjcgSnVsIDIwMjEgMDg6MDk6MzkgKzAwMDAKK1N1YmplY3Q6IFtQ QVRDSF0gSVdZVTogdXNhZ2Ugb2Ygc3RkOjpzdHJjcHkgcmVxdWlyZXMgaW5jbHVkaW5nIGNzdHJp bmcsIGluCisgZXh0ZW5zaW9uIGRpYWxvZyBhdXRvIGNvbmZpcm0uCitNSU1FLVZlcnNpb246IDEu MAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0CisKK0ZpeCBidWlsZCBicmVha2FnZSB3aXRoIGxpYnN0ZGMrKzoK KyAgICAuLi8uLi9leHRlbnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZp cm0uY2M6IEluIGRlc3RydWN0b3Ig4oCYZXh0ZW5zaW9uczo6U2NvcGVkVGVzdERpYWxvZ0F1dG9D b25maXJtOjp+U2NvcGVkVGVzdERpYWxvZ0F1dG9Db25maXJtKCnigJk6CisgICAgLi4vLi4vZXh0 ZW5zaW9ucy9icm93c2VyL2V4dGVuc2lvbl9kaWFsb2dfYXV0b19jb25maXJtLmNjOjQzOjg6IGVy cm9yOiDigJhzdHJjcHnigJkgaXMgbm90IGEgbWVtYmVyIG9mIOKAmHN0ZOKAmQorICAgICAgIDQz IHwgICBzdGQ6OnN0cmNweShnX2V4dGVuc2lvbl9kaWFsb2dfanVzdGlmaWNhdGlvbiwgb2xkX2p1 c3RpZmljYXRpb25fLmNfc3RyKCkpOworICAgICAgICAgIHwgICAgICAgIF5+fn5+fgorICAgIC4u Ly4uL2V4dGVuc2lvbnMvYnJvd3Nlci9leHRlbnNpb25fZGlhbG9nX2F1dG9fY29uZmlybS5jYzog SW4gbWVtYmVyIGZ1bmN0aW9uIOKAmHZvaWQgZXh0ZW5zaW9uczo6U2NvcGVkVGVzdERpYWxvZ0F1 dG9Db25maXJtOjpzZXRfanVzdGlmaWNhdGlvbihjb25zdCBzdHJpbmcmKeKAmToKKyAgICAuLi8u Li9leHRlbnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2M6NjY6 ODogZXJyb3I6IOKAmHN0cmNweeKAmSBpcyBub3QgYSBtZW1iZXIgb2Yg4oCYc3Rk4oCZCisgICAg ICAgNjYgfCAgIHN0ZDo6c3RyY3B5KGdfZXh0ZW5zaW9uX2RpYWxvZ19qdXN0aWZpY2F0aW9uLCBq dXN0aWZpY2F0aW9uLmNfc3RyKCkpOworICAgICAgICAgIHwgICAgICAgIF5+fn5+fgorCitCdWc6 IDk1NzUxOQorQ2hhbmdlLUlkOiBJMzEzYzM4ZjIyY2FiNTk5ZmI4ZjBlNGEzMzllODE0M2FmNWJk YTNlZQorUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5j b20vYy9jaHJvbWl1bS9zcmMvKy8zMDQxMDAxCitSZXZpZXdlZC1ieTogRGF2aWQgQmVydG9uaSA8 ZGJlcnRvbmlAY2hyb21pdW0ub3JnPgorUmV2aWV3ZWQtYnk6IEJlbiBXZWxscyA8YmVud2VsbHNA Y2hyb21pdW0ub3JnPgorQ29tbWl0LVF1ZXVlOiBKb3PDqSBEYXBlbmEgUGF6IDxqZGFwZW5hQGln YWxpYS5jb20+CitDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjOTA1NjM0 fQorLS0tCisgZXh0ZW5zaW9ucy9icm93c2VyL2V4dGVuc2lvbl9kaWFsb2dfYXV0b19jb25maXJt LmNjIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQg YS9leHRlbnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2MgYi9l eHRlbnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2MKK2luZGV4 IGFkYjRhYzNmOTJlYzguLmJlOGIxNjFiYzE2NTggMTAwNjQ0CistLS0gYS9leHRlbnNpb25zL2Jy b3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2MKKysrKyBiL2V4dGVuc2lvbnMv YnJvd3Nlci9leHRlbnNpb25fZGlhbG9nX2F1dG9fY29uZmlybS5jYworQEAgLTQsNiArNCw3IEBA CisgCisgI2luY2x1ZGUgImV4dGVuc2lvbnMvYnJvd3Nlci9leHRlbnNpb25fZGlhbG9nX2F1dG9f Y29uZmlybS5oIgorIAorKyNpbmNsdWRlIDxjc3RyaW5nPgorICNpbmNsdWRlIDx1dGlsaXR5Pgor IAorICNpbmNsdWRlICJiYXNlL2NoZWNrLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvOGFlOTllZTQ0N2NmNWYwMTYwZWE0YWU5NzhjZGYzN2Y1ZGNlY2QxZS5wYXRjaCBi L3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy84YWU5OWVlNDQ3Y2Y1ZjAxNjBlYTRhZTk3OGNkZjM3 ZjVkY2VjZDFlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u ZTUxZjc2YTRiM2MwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz LzhhZTk5ZWU0NDdjZjVmMDE2MGVhNGFlOTc4Y2RmMzdmNWRjZWNkMWUucGF0Y2gKQEAgLTAsMCAr MSwzNiBAQAorRnJvbSA4YWU5OWVlNDQ3Y2Y1ZjAxNjBlYTRhZTk3OGNkZjM3ZjVkY2VjZDFlIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9zZSBEYXBlbmEgUGF6IDxqZGFwZW5hQGln YWxpYS5jb20+CitEYXRlOiBXZWQsIDIxIEp1bCAyMDIxIDA4OjM2OjIwICswMDAwCitTdWJqZWN0 OiBbUEFUQ0hdIElXWVU6IG1pc3NpbmcgbWVtb3J5IGluY2x1ZGUgZm9yIHVuaXF1ZV9wdHIgdXNh Z2UgaW4KKyBjbGFzc19wcm9wZXJ0eS5oCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBl OiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4 Yml0CisKK0ZpeCBHQ0MgYnVpbGQgYnJlYWthZ2UgYmVjYXVzZSBvZiBtaXNzaW5nIGluY2xpZGU6 CisuLy4uL3VpL2Jhc2UvY2xhc3NfcHJvcGVydHkuaDoxMjA6NTg6IGVycm9yOiDigJhzdGQ6OnVu aXF1ZV9wdHLigJkgaGFzIG5vdCBiZWVuIGRlY2xhcmVkCisgIDEyMCB8ICAgVCogU2V0UHJvcGVy dHkoY29uc3QgQ2xhc3NQcm9wZXJ0eTxUKj4qIHByb3BlcnR5LCBzdGQ6OnVuaXF1ZV9wdHI8VD4g dmFsdWUpOworICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+CisKK0J1ZzogODE5Mjk0CitDaGFuZ2UtSWQ6IEk0 NmI5MjE4NzY3MDJiOGQ0NDY3NDY4OWJiYjVhY2RjMTA3ZGIyMWU1CitSZXZpZXdlZC1vbjogaHR0 cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzMw NDEwMzAKK1Jldmlld2VkLWJ5OiBQZXRlciBCb3N0csO2bSA8cGJvc0BjaHJvbWl1bS5vcmc+CitD b21taXQtUXVldWU6IEpvc8OpIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlhLmNvbT4KK0NyLUNv bW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM5MDM4MjB9CistLS0KKyB1aS9iYXNl L2NsYXNzX3Byb3BlcnR5LmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykK KworZGlmZiAtLWdpdCBhL3VpL2Jhc2UvY2xhc3NfcHJvcGVydHkuaCBiL3VpL2Jhc2UvY2xhc3Nf cHJvcGVydHkuaAoraW5kZXggZjdiMmY1NTk4NThiNy4uODhiNDkzODZhZTBhZCAxMDA2NDQKKy0t LSBhL3VpL2Jhc2UvY2xhc3NfcHJvcGVydHkuaAorKysrIGIvdWkvYmFzZS9jbGFzc19wcm9wZXJ0 eS5oCitAQCAtOCw2ICs4LDcgQEAKKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisgI2luY2x1ZGUg PG1hcD4KKysjaW5jbHVkZSA8bWVtb3J5PgorICNpbmNsdWRlIDxzZXQ+CisgI2luY2x1ZGUgPHR5 cGVfdHJhaXRzPgorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzljNjc1 YTEwNTE1NTFhZjI2YWFlZmM2ZmNkMzM1MDJhNTE3MjUzOTYucGF0Y2ggYi9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvOWM2NzVhMTA1MTU1MWFmMjZhYWVmYzZmY2QzMzUwMmE1MTcyNTM5Ni5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmJhYjY0YTgxNGIyZgot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy85YzY3NWExMDUxNTUx YWYyNmFhZWZjNmZjZDMzNTAyYTUxNzI1Mzk2LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20g OWM2NzVhMTA1MTU1MWFmMjZhYWVmYzZmY2QzMzUwMmE1MTcyNTM5NiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IEpvc2UgRGFwZW5hIFBheiA8amRhcGVuYUBpZ2FsaWEuY29tPgorRGF0 ZTogTW9uLCAyNiBKdWwgMjAyMSAxNzoxNDo1MSArMDAwMAorU3ViamVjdDogW1BBVENIXSBJV1lV OiBtaXNzaW5nIGluY2x1ZGUgZm9yIHN0ZDo6dmVjdG9yIHVzYWdlIGluIGRldnRvb2xzCisgZW1i ZWRkZWQgbWVzc2FnZSBkaXNwYXRjaGVyLgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog OGJpdAorCitGaXggR0NDIGJ1aWxkIGJyZWFrYWdlOgorICAgIC4uLy4uL2Nocm9tZS9icm93c2Vy L2RldnRvb2xzL2RldnRvb2xzX2VtYmVkZGVyX21lc3NhZ2VfZGlzcGF0Y2hlci5oOjExNjozNjog ZXJyb3I6IOKAmHZlY3RvcuKAmSBpbiBuYW1lc3BhY2Ug4oCYc3Rk4oCZIGRvZXMgbm90IG5hbWUg YSB0ZW1wbGF0ZSB0eXBlCisgICAgICAxMTYgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBzdGQ6OnZlY3RvcjxiYXNlOjpWYWx1ZT4mIHBhcmFtcykgPSAwOworICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KKworQnVnOiA4MTkyOTQKK0No YW5nZS1JZDogSTM3OWJmMTQ0MTZjM2JmZDNjMGNkYWM3YmIyNTQyYjc5NzgxMjYxZWMKK1Jldmll d2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21p dW0vc3JjLysvMzA0MTE1NgorUmV2aWV3ZWQtYnk6IEpvZSBNYXNvbiA8am9lbm90Y2hhcmxlc0Bj aHJvbWl1bS5vcmc+CitDb21taXQtUXVldWU6IEpvc8OpIERhcGVuYSBQYXogPGpkYXBlbmFAaWdh bGlhLmNvbT4KK0NyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM5MDUzMDB9 CistLS0KKyBjaHJvbWUvYnJvd3Nlci9kZXZ0b29scy9kZXZ0b29sc19lbWJlZGRlcl9tZXNzYWdl X2Rpc3BhdGNoZXIuaCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitk aWZmIC0tZ2l0IGEvY2hyb21lL2Jyb3dzZXIvZGV2dG9vbHMvZGV2dG9vbHNfZW1iZWRkZXJfbWVz c2FnZV9kaXNwYXRjaGVyLmggYi9jaHJvbWUvYnJvd3Nlci9kZXZ0b29scy9kZXZ0b29sc19lbWJl ZGRlcl9tZXNzYWdlX2Rpc3BhdGNoZXIuaAoraW5kZXggMTJmODUwMGI3ODExZC4uNDAwNzExMmYz OTQxMCAxMDA2NDQKKy0tLSBhL2Nocm9tZS9icm93c2VyL2RldnRvb2xzL2RldnRvb2xzX2VtYmVk ZGVyX21lc3NhZ2VfZGlzcGF0Y2hlci5oCisrKysgYi9jaHJvbWUvYnJvd3Nlci9kZXZ0b29scy9k ZXZ0b29sc19lbWJlZGRlcl9tZXNzYWdlX2Rpc3BhdGNoZXIuaAorQEAgLTgsNiArOCw3IEBACisg I2luY2x1ZGUgPG1hcD4KKyAjaW5jbHVkZSA8bWVtb3J5PgorICNpbmNsdWRlIDxzdHJpbmc+Cisr I2luY2x1ZGUgPHZlY3Rvcj4KKyAKKyAjaW5jbHVkZSAiYmFzZS9jYWxsYmFjay5oIgorICNpbmNs dWRlICJ1aS9nZngvZ2VvbWV0cnkvaW5zZXRzLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMtMi4zMy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1nbGliYy0yLjMzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCBkNTIyOGNlN2I3NmEuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMtMi4zMy5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDE0NCArMCwwIEBACi0jIFBhdGNoIG1hZGUgYnkgS2V2aW4gS29mbGVyIDxLZXZpbkB0 aWdjYy50aWNhbGMub3JnPgotIyBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcu Y2dpP2lkPTE5MDQ2NTIKLQotZGlmZiAtdXAgY2hyb21pdW0tODguMC40MzI0Ljk2L3NhbmRib3gv bGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MuZnN0YXRmaXggY2hy b21pdW0tODguMC40MzI0Ljk2L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNl bGluZV9wb2xpY3kuY2MKLS0tLSBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9i YXNlbGluZV9wb2xpY3kuY2MuZnN0YXRmaXgJMjAyMS0wMS0yNSAxMDoxMTo0NS40Mjc0MzYzOTgg LTA1MDAKLSsrKyBiL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9w b2xpY3kuY2MJMjAyMS0wMS0yNSAxMDoxMjo1MS4zMzc2OTkwMDMgLTA1MDAKLUBAIC0yNTcsNiAr MjU3LDE4IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGUKLSAgICAg cmV0dXJuIFJlc3RyaWN0S2lsbFRhcmdldChjdXJyZW50X3BpZCwgc3lzbm8pOwotICAgfQotIAot KyNpZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkKLSsgIGlmIChzeXNubyA9PSBfX05SX25ld2Zz dGF0YXQpIHsKLSsgICAgcmV0dXJuIFJld3JpdGVGc3RhdGF0U0lHU1lTKCk7Ci0rICB9Ci0rI2Vu ZGlmCi0rCi0rI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCi0rICBpZiAoc3lzbm8gPT0gX19O Ul9mc3RhdGF0NjQpIHsKLSsgICAgcmV0dXJuIFJld3JpdGVGc3RhdGF0U0lHU1lTKCk7Ci0rICB9 Ci0rI2VuZGlmCi0rCi0gICBpZiAoU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShzeXNubykgfHwK LSAgICAgICBTeXNjYWxsU2V0czo6SXNDdXJyZW50RGlyZWN0b3J5KHN5c25vKSkgewotICAgICBy ZXR1cm4gRXJyb3IoZnNfZGVuaWVkX2Vycm5vKTsKLWRpZmYgLXVwIGNocm9taXVtLTg4LjAuNDMy NC45Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmNj LmZzdGF0Zml4IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBm LWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmNjCi0tLS0gYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAt YnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmNjLmZzdGF0Zml4CTIwMjEtMDEtMjUgMTA6MTM6 MTAuMTc5Nzc0MDgxIC0wNTAwCi0rKysgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBl cnMvc2lnc3lzX2hhbmRsZXJzLmNjCTIwMjEtMDEtMjUgMTA6MTY6MTguNzkwNTI1NzQ2IC0wNTAw Ci1AQCAtNiw2ICs2LDggQEAKLSAKLSAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zZWNjb21wLWJw Zi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5oIgotIAotKyNpbmNsdWRlIDxlcnJuby5oPgotKyNp bmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlIDxzdGRkZWYuaD4KLSAjaW5jbHVkZSA8c3RkaW50 Lmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotQEAgLTM1NSw2ICszNTcsMzUgQEAgaW50cHRyX3Qg U0lHU1lTU2NoZWRIYW5kbGVyKGNvbnN0IHN0cnVjdAotICAgcmV0dXJuIC1FTk9TWVM7Ci0gfQot IAotK2ludHB0cl90IFNJR1NZU0ZzdGF0YXRIYW5kbGVyKGNvbnN0IHN0cnVjdCBhcmNoX3NlY2Nv bXBfZGF0YSYgYXJncywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBhdXgp IHsKLSsgIHN3aXRjaCAoYXJncy5ucikgewotKyNpZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkK LSsgICAgY2FzZSBfX05SX25ld2ZzdGF0YXQ6Ci0rI2VuZGlmCi0rI2lmIGRlZmluZWQoX19OUl9m c3RhdGF0NjQpCi0rICAgIGNhc2UgX19OUl9mc3RhdGF0NjQ6Ci0rI2VuZGlmCi0rI2lmIGRlZmlu ZWQoX19OUl9uZXdmc3RhdGF0KSB8fCBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQotKyAgICAgIGlm ICgqcmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyICo+KGFyZ3MuYXJnc1sxXSkgPT0gJ1wwJwot KyAgICAgICAgICAmJiBhcmdzLmFyZ3NbM10gPT0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KEFUX0VN UFRZX1BBVEgpKSB7Ci0rICAgICAgICByZXR1cm4gc2FuZGJveDo6c3lzX2ZzdGF0NjQoc3RhdGlj X2Nhc3Q8aW50PihhcmdzLmFyZ3NbMF0pLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IHN0YXQ2NCAqPihhcmdzLmFyZ3NbMl0pKTsK LSsgICAgICB9IGVsc2UgewotKyAgICAgICAgZXJybm8gPSBFQUNDRVM7Ci0rICAgICAgICByZXR1 cm4gLTE7Ci0rICAgICAgfQotKyAgICAgIGJyZWFrOwotKyNlbmRpZgotKyAgfQotKwotKyAgQ3Jh c2hTSUdTWVNfSGFuZGxlcihhcmdzLCBhdXgpOwotKwotKyAgLy8gU2hvdWxkIG5ldmVyIGJlIHJl YWNoZWQuCi0rICBSQVdfQ0hFQ0soZmFsc2UpOwotKyAgcmV0dXJuIC1FTk9TWVM7Ci0rfQotKwot IGJwZl9kc2w6OlJlc3VsdEV4cHIgQ3Jhc2hTSUdTWVMoKSB7Ci0gICByZXR1cm4gYnBmX2RzbDo6 VHJhcChDcmFzaFNJR1NZU19IYW5kbGVyLCBOVUxMKTsKLSB9Ci1AQCAtMzg3LDYgKzQxOCwxMCBA QCBicGZfZHNsOjpSZXN1bHRFeHByIFJld3JpdGVTY2hlZFNJR1NZUygpCi0gICByZXR1cm4gYnBm X2RzbDo6VHJhcChTSUdTWVNTY2hlZEhhbmRsZXIsIE5VTEwpOwotIH0KLSAKLSticGZfZHNsOjpS ZXN1bHRFeHByIFJld3JpdGVGc3RhdGF0U0lHU1lTKCkgewotKyAgcmV0dXJuIGJwZl9kc2w6OlRy YXAoU0lHU1lTRnN0YXRhdEhhbmRsZXIsIE5VTEwpOwotK30KLSsKLSB2b2lkIEFsbG9jYXRlQ3Jh c2hLZXlzKCkgewotICNpZiAhZGVmaW5lZChPU19OQUNMX05PTlNGSSkKLSAgIGlmIChzZWNjb21w X2NyYXNoX2tleSkKLWRpZmYgLXVwIGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4 L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmguZnN0YXRmaXggY2hyb21pdW0t ODguMC40MzI0Ljk2L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFu ZGxlcnMuaAotLS0tIGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19o YW5kbGVycy5oLmZzdGF0Zml4CTIwMjEtMDEtMjUgMTA6MTY6MzYuOTgyNTk4MjM2IC0wNTAwCi0r KysgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmgJ MjAyMS0wMS0yNSAxMDoxODo0NS43MDUxMTEwMjcgLTA1MDAKLUBAIC02Miw2ICs2MiwxMCBAQCBT QU5EQk9YX0VYUE9SVCBpbnRwdHJfdCBTSUdTWVNQdHJhY2VGYWlsCi0gLy8gc2NoZWRfc2V0cGFy YW0oKSwgc2NoZWRfc2V0c2NoZWR1bGVyKCkKLSBTQU5EQk9YX0VYUE9SVCBpbnRwdHJfdCBTSUdT WVNTY2hlZEhhbmRsZXIoY29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQqIGF1eCk7Ci0rLy8gSWYgdGhl IGZzdGF0YXQgc3lzY2FsbCBpcyBhY3R1YWxseSBhIGRpc2d1aXNlZCBmc3RhdCwgY2FsbHMgdGhl IHJlZ3VsYXIgZnN0YXQKLSsvLyBzeXNjYWxsLCBvdGhlcndpc2UsIGNyYXNoZXMgaW4gdGhlIHNh bWUgd2F5IGFzIENyYXNoU0lHU1lTX0hhbmRsZXIuCi0rU0FOREJPWF9FWFBPUlQgaW50cHRyX3Qg U0lHU1lTRnN0YXRhdEhhbmRsZXIoY29uc3Qgc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhJiBhcmdz LCAKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBh dXgpOwotIAotIC8vIFZhcmlhbnRzIG9mIHRoZSBhYm92ZSBmdW5jdGlvbnMgZm9yIHVzZSB3aXRo IGJwZl9kc2wuCi0gU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBDcmFzaFNJR1NZ UygpOwotQEAgLTcyLDYgKzc2LDcgQEAgU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhw ciBDcmFzaAotIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgQ3Jhc2hTSUdTWVNG dXRleCgpOwotIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgQ3Jhc2hTSUdTWVNQ dHJhY2UoKTsKLSBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIFJld3JpdGVTY2hl ZFNJR1NZUygpOwotK1NBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmV3cml0ZUZz dGF0YXRTSUdTWVMoKTsKLSAKLSAvLyBBbGxvY2F0ZXMgYSBjcmFzaCBrZXkgc28gdGhhdCBTZWNj b21wIGluZm9ybWF0aW9uIGNhbiBiZSByZWNvcmRlZC4KLSB2b2lkIEFsbG9jYXRlQ3Jhc2hLZXlz KCk7Ci1kaWZmIC11cCBjaHJvbWl1bS04OC4wLjQzMjQuOTYvc2FuZGJveC9saW51eC9zZXJ2aWNl cy9zeXNjYWxsX3dyYXBwZXJzLmNjLmZzdGF0Zml4IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5k Ym94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MKLS0tLSBhL3NhbmRib3gvbGlu dXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYy5mc3RhdGZpeAkyMDIxLTAxLTI1IDEwOjE4 OjUzLjMwNzE0MTMxMSAtMDUwMAotKysrIGIvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxs X3dyYXBwZXJzLmNjCTIwMjEtMDEtMjUgMTA6MTk6NDYuOTgyMzU1MjkzIC0wNTAwCi1AQCAtMjYx LDQgKzI2MSwxMyBAQCBpbnQgc3lzX3NpZ2FjdGlvbihpbnQgc2lnbnVtLAotIAotICNlbmRpZiAg Ly8gZGVmaW5lZChNRU1PUllfU0FOSVRJWkVSKQotIAotK1NBTkRCT1hfRVhQT1JUIGludCBzeXNf ZnN0YXQ2NChpbnQgZmQsIHN0cnVjdCBzdGF0NjQgKmJ1ZikKLSt7Ci0rI2lmIGRlZmluZWQoX19O Ul9mc3RhdDY0KQotKyAgICByZXR1cm4gc3lzY2FsbChfX05SX2ZzdGF0NjQsIGZkLCBidWYpOwot KyNlbHNlCi0rICAgIHJldHVybiBzeXNjYWxsKF9fTlJfZnN0YXQsIGZkLCBidWYpOwotKyNlbmRp ZgotK30KLSsKLSB9ICAvLyBuYW1lc3BhY2Ugc2FuZGJveAotZGlmZiAtdXAgY2hyb21pdW0tODgu MC40MzI0Ljk2L3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oLmZzdGF0 Zml4IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxf d3JhcHBlcnMuaAotLS0tIGEvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJz LmguZnN0YXRmaXgJMjAyMS0wMS0yNSAxMDoxOTo1My4xMTUzNzk3NDEgLTA1MDAKLSsrKyBiL3Nh bmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oCTIwMjEtMDEtMjUgMTA6MjA6 NDUuNDg1NTg4NDIxIC0wNTAwCi1AQCAtMTcsNiArMTcsNyBAQCBzdHJ1Y3Qgc29ja19mcHJvZzsK LSBzdHJ1Y3QgcmxpbWl0NjQ7Ci0gc3RydWN0IGNhcF9oZHI7Ci0gc3RydWN0IGNhcF9kYXRhOwot K3N0cnVjdCBzdGF0NjQ7Ci0gCi0gbmFtZXNwYWNlIHNhbmRib3ggewotIAotQEAgLTg0LDYgKzg1 LDkgQEAgU0FOREJPWF9FWFBPUlQgaW50IHN5c19zaWdhY3Rpb24oaW50IHNpZwotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzaWdhY3Rpb24qIGFjdCwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2lnYWN0aW9uKiBvbGRhY3Qp OwotIAotKy8vIFJlY2VudCBnbGliYyByZXdyaXRlcyBmc3RhdCB0byBmc3RhdGF0LgotK1NBTkRC T1hfRVhQT1JUIGludCBzeXNfZnN0YXQ2NChpbnQgZmQsIHN0cnVjdCBzdGF0NjQgKmJ1Zik7Ci0r Ci0gfSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKLSAKLSAjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhf U0VSVklDRVNfU1lTQ0FMTF9XUkFQUEVSU19IXwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL2Nocm9taXVtLTkzLWZmbXBlZy00LjQucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvY2hyb21pdW0tOTMtZmZtcGVnLTQuNC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLmYwZWM3MzZmOThiYwotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05My1mZm1wZWctNC40LnBhdGNoCkBAIC0w LDAgKzEsMzYgQEAKK2RpZmYgLS1naXQgYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNj IGIvbWVkaWEvZmlsdGVycy9mZm1wZWdfZGVtdXhlci5jYworaW5kZXggYWM0NzEzYjA3MjY4Li40 OTJhOWEzN2QwOTYgMTAwNjQ0CistLS0gYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNj CisrKysgYi9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjCitAQCAtNDI3LDExICs0Mjcs MTEgQEAgdm9pZCBGRm1wZWdEZW11eGVyU3RyZWFtOjpFbnF1ZXVlUGFja2V0KFNjb3BlZEFWUGFj a2V0IHBhY2tldCkgeworICAgc2NvcGVkX3JlZnB0cjxEZWNvZGVyQnVmZmVyPiBidWZmZXI7Cisg CisgICBpZiAodHlwZSgpID09IERlbXV4ZXJTdHJlYW06OlRFWFQpIHsKKy0gICAgc2l6ZV90IGlk X3NpemUgPSAwOworKyAgICBpbnQgaWRfc2l6ZSA9IDA7CisgICAgIHVpbnQ4X3QqIGlkX2RhdGEg PSBhdl9wYWNrZXRfZ2V0X3NpZGVfZGF0YSgKKyAgICAgICAgIHBhY2tldC5nZXQoKSwgQVZfUEtU X0RBVEFfV0VCVlRUX0lERU5USUZJRVIsICZpZF9zaXplKTsKKyAKKy0gICAgc2l6ZV90IHNldHRp bmdzX3NpemUgPSAwOworKyAgICBpbnQgc2V0dGluZ3Nfc2l6ZSA9IDA7CisgICAgIHVpbnQ4X3Qq IHNldHRpbmdzX2RhdGEgPSBhdl9wYWNrZXRfZ2V0X3NpZGVfZGF0YSgKKyAgICAgICAgIHBhY2tl dC5nZXQoKSwgQVZfUEtUX0RBVEFfV0VCVlRUX1NFVFRJTkdTLCAmc2V0dGluZ3Nfc2l6ZSk7Cisg CitAQCAtNDQzLDcgKzQ0Myw3IEBAIHZvaWQgRkZtcGVnRGVtdXhlclN0cmVhbTo6RW5xdWV1ZVBh Y2tldChTY29wZWRBVlBhY2tldCBwYWNrZXQpIHsKKyAgICAgYnVmZmVyID0gRGVjb2RlckJ1ZmZl cjo6Q29weUZyb20ocGFja2V0LT5kYXRhLCBwYWNrZXQtPnNpemUsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNpZGVfZGF0YS5kYXRhKCksIHNpZGVfZGF0YS5zaXplKCkp OworICAgfSBlbHNlIHsKKy0gICAgc2l6ZV90IHNpZGVfZGF0YV9zaXplID0gMDsKKysgICAgaW50 IHNpZGVfZGF0YV9zaXplID0gMDsKKyAgICAgdWludDhfdCogc2lkZV9kYXRhID0gYXZfcGFja2V0 X2dldF9zaWRlX2RhdGEoCisgICAgICAgICBwYWNrZXQuZ2V0KCksIEFWX1BLVF9EQVRBX01BVFJP U0tBX0JMT0NLQURESVRJT05BTCwgJnNpZGVfZGF0YV9zaXplKTsKKyAKK0BAIC01MDQsNyArNTA0 LDcgQEAgdm9pZCBGRm1wZWdEZW11eGVyU3RyZWFtOjpFbnF1ZXVlUGFja2V0KFNjb3BlZEFWUGFj a2V0IHBhY2tldCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh Y2tldC0+c2l6ZSAtIGRhdGFfb2Zmc2V0KTsKKyAgICAgfQorIAorLSAgICBzaXplX3Qgc2tpcF9z YW1wbGVzX3NpemUgPSAwOworKyAgICBpbnQgc2tpcF9zYW1wbGVzX3NpemUgPSAwOworICAgICBj b25zdCB1aW50MzJfdCogc2tpcF9zYW1wbGVzX3B0ciA9CisgICAgICAgICByZWludGVycHJldF9j YXN0PGNvbnN0IHVpbnQzMl90Kj4oYXZfcGFja2V0X2dldF9zaWRlX2RhdGEoCisgICAgICAgICAg ICAgcGFja2V0LmdldCgpLCBBVl9QS1RfREFUQV9TS0lQX1NBTVBMRVMsICZza2lwX3NhbXBsZXNf c2l6ZSkpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTkz LXBkZml1bS1pbmNsdWRlLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVt LTkzLXBkZml1bS1pbmNsdWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uNzJmMmFiZDNlN2E2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL2Nocm9taXVtLTkzLXBkZml1bS1pbmNsdWRlLnBhdGNoCkBAIC0wLDAgKzEsMTE3 IEBACitGcm9tIDdhNjI4OWM1YWNlNTJjZjg4ZjBlMTljYWE1Zjc4YjdjMTVkMGU3YTYgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWtsb3MgVmFqbmEgPHZtaWtsb3NAY29sbGFib3Jh LmNvLnVrPgorRGF0ZTogV2VkLCAyMSBKdWwgMjAyMSAxNzo0MjozMCArMDAwMAorU3ViamVjdDog W1BBVENIXSBmeGNvZGVjLCBmeGdlOiBmaXggbWlzc2luZyBpbmNsdWRlcyB3aXRoIGxpYnN0ZGMr KworCitUaGVzZSBtaXNzaW5nIGluY2x1ZGVzIGJyZWFrIHRoZSBidWlsZCB3aXRoIGdjYy9saWJz dGRjKyssIHRoZXkgd2VyZSBub3QKK2EgcHJvYmxlbSBpbiBwcmFjdGljZSB3aXRoIGNsYW5nL2xp YmMrKy4KKworQ2hhbmdlLUlkOiBJNDAwMTNmOTdiYTdhYjA2ZjMyYWE1OWY4N2IwNGFlYzA2YTE5 NDc4YworUmV2aWV3ZWQtb246IGh0dHBzOi8vcGRmaXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29t L2MvcGRmaXVtLysvODMyMTAKK0NvbW1pdC1RdWV1ZTogTGVpIFpoYW5nIDx0aGVzdGlnQGNocm9t aXVtLm9yZz4KK1Jldmlld2VkLWJ5OiBMZWkgWmhhbmcgPHRoZXN0aWdAY2hyb21pdW0ub3JnPgor LS0tCisKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pwZWcv anBlZ21vZHVsZS5jcHAgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pwZWcvanBl Z21vZHVsZS5jcHAKK2luZGV4IGNlYTA2NzkuLjAzNmYyNTAgMTAwNjQ0CistLS0gYS90aGlyZF9w YXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pwZWcvanBlZ21vZHVsZS5jcHAKKysrKyBiL3RoaXJk X3BhcnR5L3BkZml1bS9jb3JlL2Z4Y29kZWMvanBlZy9qcGVnbW9kdWxlLmNwcAorQEAgLTcsNiAr Nyw3IEBACisgI2luY2x1ZGUgImNvcmUvZnhjb2RlYy9qcGVnL2pwZWdtb2R1bGUuaCIKKyAKKyAj aW5jbHVkZSA8c2V0am1wLmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorIAorICNpbmNsdWRlIDxt ZW1vcnk+CisgI2luY2x1ZGUgPHV0aWxpdHk+CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcGRm aXVtL2NvcmUvZnhjb2RlYy9qcHgvY2pweF9kZWNvZGVyLmNwcCBiL3RoaXJkX3BhcnR5L3BkZml1 bS9jb3JlL2Z4Y29kZWMvanB4L2NqcHhfZGVjb2Rlci5jcHAKK2luZGV4IGM2Njk4NWEuLjljMTEy MmIgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pweC9janB4 X2RlY29kZXIuY3BwCisrKysgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pweC9j anB4X2RlY29kZXIuY3BwCitAQCAtNiw2ICs2LDggQEAKKyAKKyAjaW5jbHVkZSAiY29yZS9meGNv ZGVjL2pweC9janB4X2RlY29kZXIuaCIKKyAKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisgI2lu Y2x1ZGUgPGFsZ29yaXRobT4KKyAjaW5jbHVkZSA8bGltaXRzPgorICNpbmNsdWRlIDx1dGlsaXR5 PgorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvY2Z4X2NsaXByZ24u Y3BwIGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9jZnhfY2xpcHJnbi5jcHAKK2luZGV4 IDUzNjlkNTIuLmQxOTg4NTIgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9m eGdlL2NmeF9jbGlwcmduLmNwcAorKysrIGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9j ZnhfY2xpcHJnbi5jcHAKK0BAIC02LDYgKzYsOCBAQAorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2Uv Y2Z4X2NsaXByZ24uaCIKKyAKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgPHV0 aWxpdHk+CisgCisgI2luY2x1ZGUgImNvcmUvZnhnZS9kaWIvY2Z4X2RpYml0bWFwLmgiCitkaWZm IC0tZ2l0IGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1hcGNvbXBv c2VyLmNwcCBiL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9iaXRtYXBjb21w b3Nlci5jcHAKK2luZGV4IDZmOWI0MjAuLjBmMWZmYWUgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0 eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfYml0bWFwY29tcG9zZXIuY3BwCisrKysgYi90aGly ZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfYml0bWFwY29tcG9zZXIuY3BwCitAQCAt Niw2ICs2LDggQEAKKyAKKyAjaW5jbHVkZSAiY29yZS9meGdlL2RpYi9jZnhfYml0bWFwY29tcG9z ZXIuaCIKKyAKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgImNvcmUvZnhnZS9j ZnhfY2xpcHJnbi5oIgorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGliL2NmeF9kaWJpdG1hcC5oIgor IAorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9iaXRt YXBzdG9yZXIuY3BwIGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1h cHN0b3Jlci5jcHAKK2luZGV4IGY1N2MwMGUuLjQ1YTBhMTggMTAwNjQ0CistLS0gYS90aGlyZF9w YXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfYml0bWFwc3RvcmVyLmNwcAorKysrIGIvdGhp cmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1hcHN0b3Jlci5jcHAKK0BAIC02 LDYgKzYsOCBAQAorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGliL2NmeF9iaXRtYXBzdG9yZXIu aCIKKyAKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgPHV0aWxpdHk+CisgCisg I2luY2x1ZGUgImNvcmUvZnhnZS9kaWIvY2Z4X2RpYml0bWFwLmgiCitkaWZmIC0tZ2l0IGEvdGhp cmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2RpYmJhc2UuY3BwIGIvdGhpcmRfcGFy dHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2RpYmJhc2UuY3BwCitpbmRleCA0ZWMwZGRiLi5h MWRlMmZiIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4 X2RpYmJhc2UuY3BwCisrKysgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhf ZGliYmFzZS5jcHAKK0BAIC02LDYgKzYsOCBAQAorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGli L2NmeF9kaWJiYXNlLmgiCisgCisrI2luY2x1ZGUgPHN0cmluZy5oPgorKworICNpbmNsdWRlIDxh bGdvcml0aG0+CisgI2luY2x1ZGUgPG1lbW9yeT4KKyAjaW5jbHVkZSA8dXRpbGl0eT4KK2RpZmYg LS1naXQgYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfZGliaXRtYXAuY3Bw IGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2RpYml0bWFwLmNwcAoraW5k ZXggZDdjY2Y2Yy4uOTRlOGFjYyAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3Jl L2Z4Z2UvZGliL2NmeF9kaWJpdG1hcC5jcHAKKysrKyBiL3RoaXJkX3BhcnR5L3BkZml1bS9jb3Jl L2Z4Z2UvZGliL2NmeF9kaWJpdG1hcC5jcHAKK0BAIC02LDYgKzYsOCBAQAorIAorICNpbmNsdWRl ICJjb3JlL2Z4Z2UvZGliL2NmeF9kaWJpdG1hcC5oIgorIAorKyNpbmNsdWRlIDxzdHJpbmcuaD4K KysKKyAjaW5jbHVkZSA8bGltaXRzPgorICNpbmNsdWRlIDxtZW1vcnk+CisgI2luY2x1ZGUgPHV0 aWxpdHk+CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4 X3NjYW5saW5lY29tcG9zaXRvci5jcHAgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2Rp Yi9jZnhfc2NhbmxpbmVjb21wb3NpdG9yLmNwcAoraW5kZXggZTgzNjJkNy4uYzA0YzZkYyAxMDA2 NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9zY2FubGluZWNv bXBvc2l0b3IuY3BwCisrKysgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhf c2NhbmxpbmVjb21wb3NpdG9yLmNwcAorQEAgLTYsNiArNiw4IEBACisgCisgI2luY2x1ZGUgImNv cmUvZnhnZS9kaWIvY2Z4X3NjYW5saW5lY29tcG9zaXRvci5oIgorIAorKyNpbmNsdWRlIDxzdHJp bmcuaD4KKysKKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2Uv ZGliL2Z4X2RpYi5oIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2N1cnNl ZF5Vc2NvcGVkX2ZpbGUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY3Vyc2VkXlVz Y29wZWRfZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LjJlNTQzM2Y3YWJjZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKKy0tLSBhL2Jhc2Uv ZmlsZXMvc2NvcGVkX2ZpbGVfbGludXguY2Mub3JpZworKysrIGIvYmFzZS9maWxlcy9zY29wZWRf ZmlsZV9saW51eC5jYworQEAgLTc3LDE1ICs3NywzIEBACisgfQorIAorIH0gIC8vIG5hbWVzcGFj ZSBiYXNlCistCistZXh0ZXJuICJDIiB7CistCistaW50IF9fY2xvc2UoaW50KTsKKy0KKy1fX2F0 dHJpYnV0ZV9fKCh2aXNpYmlsaXR5KCJkZWZhdWx0IiksIG5vaW5saW5lKSkgaW50IGNsb3NlKGlu dCBmZCkgeworLSAgaWYgKGJhc2U6OklzRkRPd25lZChmZCkgJiYgZ19pc19vd25lcnNoaXBfZW5m b3JjZWQpCistICAgIENyYXNoT25GZE93bmVyc2hpcFZpb2xhdGlvbigpOworLSAgcmV0dXJuIF9f Y2xvc2UoZmQpOworLX0KKy0KKy19ICAvLyBleHRlcm4gIkMiCmRpZmYgLS1naXQgYS9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvZml4LWNyYXNoLWluLVRoZW1lU2VydmljZS5wYXRjaCBiL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtY3Jhc2gtaW4tVGhlbWVTZXJ2aWNlLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMmE2OTZhM2E3MzUuLjAwMDAwMDAwMDAwMAotLS0g YS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LWNyYXNoLWluLVRoZW1lU2VydmljZS5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLUZyb20gYzJkMDEzM2Y0N2FmYjU5YjRj ZTY0ZTQyMjE1ZDFkMDUzZjE1MjUwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0 ZXBoYW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMTMgQXBy IDIwMjEgMjM6MjE6NDIgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gZml4IGNyYXNoIGluIFRoZW1l U2VydmljZQotCi1UaGVtZVN5bmNhYmxlU2VydmljZSBhbmQgVGhlbWVTZXJ2aWNlIGFyZSBvd25l ZCBieSBlYWNoIG90aGVyLiBPbgotZGVzdHJ1Y3Rpb24gb2YgVGhlbWVTZXJ2aWNlLCBUaGVtZVN5 bmNhYmxlU2VydmljZSBnZXRzIGRlc3RydWN0ZWQgYXMKLXdlbGwsIGJ1dCBjYWxscyBSZW1vdmVP YnNlcnZlciBvZiBwYXJ0bHkgZGVzdHJ1Y3RlZCBUaGVtZVNlcnZpY2Ugb2JqZWN0LgotVG8gYXZv aWQgYWxyZWFkeSBkZXN0cnVjdGVkIHxvYnNlcnZlcnNffCBsaXN0LCBtb3ZlIGl0IGJlZm9yZQot fHRoZW1lX3N5bmNhYmxlX3NlcnZpY2VffCBkZWZpbml0aW9uLgotCi1CdWc6IDExOTA1NjEKLUNo YW5nZS1JZDogSTRkYzJjOTkwZDU4OTA3MWQ5N2I3ZmE3MzdhZmVmNTQ0NjNjODQ3NTEKLVJldmll d2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21p dW0vc3JjLysvMjgyMTMxMQotQ29tbWl0LVF1ZXVlOiBQZXRlciBLYXN0aW5nIDxwa2FzdGluZ0Bj aHJvbWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTogUGV0ZXIgS2FzdGluZyA8cGthc3RpbmdAY2hyb21p dW0ub3JnPgotQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7Izg3MjE2NH0K LS0tLQotIGNocm9tZS9icm93c2VyL3RoZW1lcy90aGVtZV9zZXJ2aWNlLmggfCA2ICsrKystLQot IDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYg LS1naXQgY2hyb21lL2Jyb3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2UuaCBjaHJvbWUvYnJvd3Nl ci90aGVtZXMvdGhlbWVfc2VydmljZS5oCi1pbmRleCA1OTJkNDBhZTlkZTBmLi4zMzdkZmFjOWEw NDBmIDEwMDY0NAotLS0tIGEvY2hyb21lL2Jyb3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2UuaAot KysrIGIvY2hyb21lL2Jyb3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2UuaAotQEAgLTI5OSw2ICsy OTksMTAgQEAgY2xhc3MgVGhlbWVTZXJ2aWNlIDogcHVibGljIEtleWVkU2VydmljZSwKLSAgIC8v IFRoZSBudW1iZXIgb2YgaW5mb2JhcnMgY3VycmVudGx5IGRpc3BsYXllZC4KLSAgIGludCBudW1i ZXJfb2ZfcmVpbnN0YWxsZXJzXyA9IDA7Ci0gCi0rICAvLyBEZWNsYXJlZCBiZWZvcmUgfHRoZW1l X3N5bmNhYmxlX3NlcnZpY2VffCwgYmVjYXVzZSBUaGVtZVN5bmNhYmxlU2VydmljZQotKyAgLy8g cmVtb3ZlcyBpdHNlbGYgZnJvbSB0aGUgfG9ic2VydmVyc198IGxpc3Qgb24gZGVzdHJ1Y3Rpb24u Ci0rICBiYXNlOjpPYnNlcnZlckxpc3Q8VGhlbWVTZXJ2aWNlT2JzZXJ2ZXI+IG9ic2VydmVyc187 Ci0rCi0gICBzdGQ6OnVuaXF1ZV9wdHI8VGhlbWVTeW5jYWJsZVNlcnZpY2U+IHRoZW1lX3N5bmNh YmxlX3NlcnZpY2VfOwotIAotICNpZiBCVUlMREZMQUcoRU5BQkxFX0VYVEVOU0lPTlMpCi1AQCAt MzIwLDggKzMyNCw2IEBAIGNsYXNzIFRoZW1lU2VydmljZSA6IHB1YmxpYyBLZXllZFNlcnZpY2Us Ci0gICBTY29wZWRPYnNlcnZlcjx1aTo6TmF0aXZlVGhlbWUsIHVpOjpOYXRpdmVUaGVtZU9ic2Vy dmVyPgotICAgICAgIG5hdGl2ZV90aGVtZV9vYnNlcnZlcl97dGhpc307Ci0gCi0tICBiYXNlOjpP YnNlcnZlckxpc3Q8VGhlbWVTZXJ2aWNlT2JzZXJ2ZXI+IG9ic2VydmVyc187Ci0tCi0gICBiYXNl OjpXZWFrUHRyRmFjdG9yeTxUaGVtZVNlcnZpY2U+IHdlYWtfcHRyX2ZhY3Rvcnlfe3RoaXN9Owot IAotICAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFRoZW1lU2VydmljZSk7CmRpZmYgLS1naXQg YS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbGludXgtc2FuZGJveC1maXgtZnN0YXRhdC1jcmFz aC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9saW51eC1zYW5kYm94LWZpeC1mc3Rh dGF0LWNyYXNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u NGE5OWYxZGUyODc0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L2xpbnV4LXNhbmRib3gtZml4LWZzdGF0YXQtY3Jhc2gucGF0Y2gKQEAgLTAsMCArMSwxMzg0IEBA CitGcm9tIDRiNDM4MzIzZDY4ODQwNDUzYjVlZjgyNmMzOTk3NTY4ZTJlMGU4YzcgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0aGV3IERlbnRvbiA8bXBkZW50b25AY2hyb21pdW0u b3JnPgorRGF0ZTogTW9uLCAxOSBKdWwgMjAyMSAxNDowMzoxMyArMDAwMAorU3ViamVjdDogW1BB VENIXSBSZWxhbmQgIlJlbGFuZCAiTGludXggc2FuZGJveCBzeXNjYWxsIGJyb2tlcjogdXNlIHN0 cnVjdAorIGtlcm5lbF9zdGF0IiIKKworVGhpcyByZXZlcnRzIGNvbW1pdCBmZjI3N2E1MmVjZTBi MjE2NjE3ZDc3MGYyMDFlZDY2OTU1ZmU3MGI5LgorCitSZWFzb24gZm9yIHJldmVydDogcmVsYW5k CisKK1RoZSBmaXggaW5jbHVkZWQgaW4gdGhlIHJlbGFuZCBpcyB0aGF0IGZzdGF0YXQ2NCgpIG5l ZWRzIHRvIGJlCithbGxvd2VkIGluIHRoZSBicm9rZXIgcHJvY2VzcydzIHNlY2NvbXAgcG9saWN5 LgorCitUaGlzIENMIGFsc28gaW5jbHVkZXMgc29tZSBleHRyYSB0ZXN0cyB0aGF0IHRoZSBrZXJu ZWxfc3RhdCBzdHJ1Y3R1cmVzCittYXRjaCB0aGUgbGF5b3V0IHRoZSBrZXJuZWwgZXhwZWN0cy4K KworQnVnOiAxMTY0OTc1LCAxMTk5NDMxCitUZXN0OiB0cm9nZG9yIENocm9tZWJvb2sgc3VjY2Vz c2Z1bGx5IGJvb3RzIGFuZCBhbGxvd3MgbG9naW4uCisKK09yaWdpbmFsIGNoYW5nZSdzIGRlc2Ny aXB0aW9uOgorPiBSZXZlcnQgIlJlbGFuZCAiTGludXggc2FuZGJveCBzeXNjYWxsIGJyb2tlcjog dXNlIHN0cnVjdCBrZXJuZWxfc3RhdCIiCis+Cis+IFRoaXMgcmV2ZXJ0cyBjb21taXQgY2ZmYmM0 NDMyYWY3OWY3MjBhZTNjNzVkZmYzODBiODUzNzAxYmQ2NC4KKz4KKz4gUmVhc29uIGZvciByZXZl cnQ6IGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lk PTExOTk0MzEKKz4KKz4gT3JpZ2luYWwgY2hhbmdlJ3MgZGVzY3JpcHRpb246Cis+ID4gUmVsYW5k ICJMaW51eCBzYW5kYm94IHN5c2NhbGwgYnJva2VyOiB1c2Ugc3RydWN0IGtlcm5lbF9zdGF0Igor PiA+Cis+ID4gVGhpcyByZXZlcnRzIGNvbW1pdCAyMzAzMGRjNjUwY2RmYTIyNjMxZjI1YmVmOTM3 OTA1ZjI3ZjA2YTJjLgorPiA+Cis+ID4gT3JpZ2luYWwgY2hhbmdlJ3MgZGVzY3JpcHRpb246Cis+ ID4gPiBSZXZlcnQgIkxpbnV4IHNhbmRib3ggc3lzY2FsbCBicm9rZXI6IHVzZSBzdHJ1Y3Qga2Vy bmVsX3N0YXQiCis+ID4gPgorPiA+ID4gVGhpcyByZXZlcnRzIGNvbW1pdCA3ODRiMGZjZDhhM2Nh NmJjZDNhY2I5Y2ZkNjI0ZWM5Y2JiYWMyNzg5LgorPiA+ID4KKz4gPiA+IFJlYXNvbiBmb3IgcmV2 ZXJ0OiBDYXVzaW5nIGZhaWx1cmUgaW4KKz4gPiA+IFN0ZXAgInNhbmRib3hfbGludXhfdW5pdHRl c3RzIiBmYWlsaW5nIG9uIGJ1aWxkZXIgIkxpbnV4IENocm9taXVtT1MgTVNhbiBUZXN0cyIKKz4g PiA+IFNlZSBjcmJ1Zy5jb20vMTE5ODQ4MAorPiA+ID4KKz4gPiA+IE9yaWdpbmFsIGNoYW5nZSdz IGRlc2NyaXB0aW9uOgorPiA+ID4gPiBMaW51eCBzYW5kYm94IHN5c2NhbGwgYnJva2VyOiB1c2Ug c3RydWN0IGtlcm5lbF9zdGF0Cis+ID4gPiA+Cis+ID4gPiA+IFRoZSBzdHJ1Y3Qgc3RhdCB1c2Vk IGluIGxpYmMgaXMgZGlmZmVyZW50IChpbiBzaXplIGFuZCBmaWVsZCBvcmRlcmluZykKKz4gPiA+ ID4gZnJvbSB0aGUgc3RydWN0dXJlIGFzc3VtZWQgYnkgdGhlIExpbnV4IGtlcm5lbC4gU28sIHdo ZW4gZW11bGF0aW5nCis+ID4gPiA+IHN5c3RlbSBjYWxscywgd2UgbmVlZCB0byB1c2UgdGhlIHN0 cnVjdCBkZWZpbml0aW9uIHRoZSBrZXJuZWwgZXhwZWN0cy4KKz4gPiA+ID4KKz4gPiA+ID4gVGhp cyBDTCBhZGRzIGxpbnV4X3N0YXQuaCB0aGF0IGluY2x1ZGVzIGRlZmluaXRpb25zIG9mIHRoZSBk aWZmZXJlbnQKKz4gPiA+ID4ga2VybmVsIHN0cnVjdHMuCis+ID4gPiA+Cis+ID4gPiA+IENoYW5n ZS1JZDogSTUzY2FkMzVjMjI1MWRmZjBmNmI3ZWE3NzUyOGNmYTU4ZWYzY2FiNGEKKz4gPiA+ID4g UmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9j aHJvbWl1bS9zcmMvKy8yNzgwODc2Cis+ID4gPiA+IENvbW1pdC1RdWV1ZTogTWF0dGhldyBEZW50 b24gPG1wZGVudG9uQGNocm9taXVtLm9yZz4KKz4gPiA+ID4gUmV2aWV3ZWQtYnk6IFJvYmVydCBT ZXNlayA8cnNlc2VrQGNocm9taXVtLm9yZz4KKz4gPiA+ID4gQ3ItQ29tbWl0LVBvc2l0aW9uOiBy ZWZzL2hlYWRzL21hc3RlckB7Izg3MTc2N30KKz4gPiA+Cis+ID4gPiBDaGFuZ2UtSWQ6IEljYmVj MzhmMjEwM2M4NDI0ZGVjNzlhYjE4NzBiOTdjM2U4M2Y5MzYxCis+ID4gPiBOby1QcmVzdWJtaXQ6 IHRydWUKKz4gPiA+IE5vLVRyZWUtQ2hlY2tzOiB0cnVlCis+ID4gPiBOby1Ucnk6IHRydWUKKz4g PiA+IFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29t L2MvY2hyb21pdW0vc3JjLysvMjgyMTgxMgorPiA+ID4gQXV0by1TdWJtaXQ6IFZpY3RvciBWaWFu bmEgPHZpY3RvcnZpYW5uYUBnb29nbGUuY29tPgorPiA+ID4gT3duZXJzLU92ZXJyaWRlOiBWaWN0 b3IgVmlhbm5hIDx2aWN0b3J2aWFubmFAZ29vZ2xlLmNvbT4KKz4gPiA+IENvbW1pdC1RdWV1ZTog UnViYmVyIFN0YW1wZXIgPHJ1YmJlci1zdGFtcGVyQGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNv bT4KKz4gPiA+IEJvdC1Db21taXQ6IFJ1YmJlciBTdGFtcGVyIDxydWJiZXItc3RhbXBlckBhcHBz cG90LmdzZXJ2aWNlYWNjb3VudC5jb20+Cis+ID4gPiBDci1Db21taXQtUG9zaXRpb246IHJlZnMv aGVhZHMvbWFzdGVyQHsjODcxODgyfQorPiA+Cis+ID4gQ2hhbmdlLUlkOiBJMWYzOWJiNTI0Mjk2 MTQ3NGRlZjU5NGZmN2RiZWE1MjAwOWYyY2VlNAorPiA+IFJldmlld2VkLW9uOiBodHRwczovL2No cm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMjgyNDExNQor PiA+IEF1dG8tU3VibWl0OiBNYXR0aGV3IERlbnRvbiA8bXBkZW50b25AY2hyb21pdW0ub3JnPgor PiA+IENvbW1pdC1RdWV1ZTogTWF0dGhldyBEZW50b24gPG1wZGVudG9uQGNocm9taXVtLm9yZz4K Kz4gPiBSZXZpZXdlZC1ieTogUm9iZXJ0IFNlc2VrIDxyc2VzZWtAY2hyb21pdW0ub3JnPgorPiA+ IENyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM4NzI4MTJ9Cis+Cis+IEZp eGVkOiAxMTk5NDMxCis+IENoYW5nZS1JZDogSWViZmMwYzQ4MjAxYmYyMmZmOWM1NGQ4ZDVjOGE0 M2QyNmE4ODAwOTgKKz4gTm8tUHJlc3VibWl0OiB0cnVlCis+IE5vLVRyZWUtQ2hlY2tzOiB0cnVl Cis+IE5vLVRyeTogdHJ1ZQorPiBSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcu Z29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzI4MzA0NTkKKz4gQXV0by1TdWJtaXQ6 IEt5bGUgSG9yaW1vdG8gPGtob3JpbW90b0BjaHJvbWl1bS5vcmc+Cis+IENvbW1pdC1RdWV1ZTog TWF0dGhldyBEZW50b24gPG1wZGVudG9uQGNocm9taXVtLm9yZz4KKz4gQ29tbWl0LVF1ZXVlOiBL aW51a28gWWFzdWRhIDxraW51a29AY2hyb21pdW0ub3JnPgorPiBSZXZpZXdlZC1ieTogTWF0dGhl dyBEZW50b24gPG1wZGVudG9uQGNocm9taXVtLm9yZz4KKz4gUmV2aWV3ZWQtYnk6IEtpbnVrbyBZ YXN1ZGEgPGtpbnVrb0BjaHJvbWl1bS5vcmc+Cis+IE93bmVycy1PdmVycmlkZTogS2ludWtvIFlh c3VkYSA8a2ludWtvQGNocm9taXVtLm9yZz4KKz4gQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hl YWRzL21hc3RlckB7Izg3MzE3M30KKworQ2hhbmdlLUlkOiBJYmU2YTQ4NTA3MGYzMzQ4OWFhYTE1 N2I1MWI5MDhjMmQyM2QxNzRkNworUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3 Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8yODQ4OTM2CitSZXZpZXdlZC1ieTog Um9iZXJ0IFNlc2VrIDxyc2VzZWtAY2hyb21pdW0ub3JnPgorQ29tbWl0LVF1ZXVlOiBNYXR0aGV3 IERlbnRvbiA8bXBkZW50b25AY2hyb21pdW0ub3JnPgorQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZz L2hlYWRzL21hc3RlckB7IzkwMjk4MX0KKy0tLQorIHNhbmRib3gvbGludXgvQlVJTEQuZ24gICAg ICAgICAgICAgICAgICAgICAgICB8ICAgMSArCisgLi4uL3NlY2NvbXBfYnJva2VyX3Byb2Nlc3Nf dW5pdHRlc3QuY2MgICAgICAgIHwgIDQwICsrKy0KKyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBm LWhlbHBlcnMvREVQUyAgICAgICAgfCAgIDEgLQorIC4uLnNjYWxsX3BhcmFtZXRlcnNfcmVzdHJp Y3Rpb25zX3VuaXR0ZXN0cy5jYyB8ICAgNCAtCisgc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNj YWxsX3dyYXBwZXJzLmNjICAgIHwgIDUwICsrKystCisgc2FuZGJveC9saW51eC9zZXJ2aWNlcy9z eXNjYWxsX3dyYXBwZXJzLmggICAgIHwgIDE1ICsrCisgLi4uL3NlcnZpY2VzL3N5c2NhbGxfd3Jh cHBlcnNfdW5pdHRlc3QuY2MgICAgIHwgMTI5ICsrKysrKysrKysrLQorIHNhbmRib3gvbGludXgv c3lzY2FsbF9icm9rZXIvREVQUyAgICAgICAgICAgICB8ICAgMyArLQorIHNhbmRib3gvbGludXgv c3lzY2FsbF9icm9rZXIvYnJva2VyX2NsaWVudC5jYyB8ICAgNCArLQorIHNhbmRib3gvbGludXgv c3lzY2FsbF9icm9rZXIvYnJva2VyX2NsaWVudC5oICB8ICAgNCArLQorIHNhbmRib3gvbGludXgv c3lzY2FsbF9icm9rZXIvYnJva2VyX2hvc3QuY2MgICB8ICAyMyArKy0KKyAuLi4vc3lzY2FsbF9i cm9rZXIvYnJva2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MgfCAgNzQgKysrLS0tLQorIC4uLi9yZW1v dGVfc3lzY2FsbF9hcmdfaGFuZGxlcl91bml0dGVzdC5jYyAgICB8ICAzNiArKy0tCisgLi4uL3N5 c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0Y2hlci5jYyAgICAgIHwgIDY3ICsrKystLS0KKyAu Li4vbGludXgvc3lzY2FsbF9icm9rZXIvc3lzY2FsbF9kaXNwYXRjaGVyLmggfCAgMjcgKystCisg c2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmggICAgIHwgMTg4ICsrKysr KysrKysrKysrKysrKworIHNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfdGltZS5o ICAgICB8ICAyNiArKysKKyBzYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuY2MgICAgICAg ICAgICAgfCAgMTUgKysKKyBzYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaCAgICAgICAg ICAgICAgfCAgIDIgKworIC4uLi9wb2xpY3kvbGludXgvYnBmX2Jyb2tlcl9wb2xpY3lfbGludXgu Y2MgICB8ICAgNCArLQorIDIwIGZpbGVzIGNoYW5nZWQsIDU5NSBpbnNlcnRpb25zKCspLCAxMTgg ZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHNhbmRib3gvbGludXgvc3lzdGVtX2hl YWRlcnMvbGludXhfc3RhdC5oCisKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L0JVSUxELmdu IGIvc2FuZGJveC9saW51eC9CVUlMRC5nbgoraW5kZXggMmY3NzhkZDBiY2FiMi4uY2NiYmM5MTcx NmU3MSAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvQlVJTEQuZ24KKysrKyBiL3NhbmRib3gv bGludXgvQlVJTEQuZ24KK0BAIC00NDMsNiArNDQzLDcgQEAgc291cmNlX3NldCgic2FuZGJveF9z ZXJ2aWNlc19oZWFkZXJzIikgeworICAgICAic3lzdGVtX2hlYWRlcnMvbGludXhfcHRyYWNlLmgi LAorICAgICAic3lzdGVtX2hlYWRlcnMvbGludXhfc2VjY29tcC5oIiwKKyAgICAgInN5c3RlbV9o ZWFkZXJzL2xpbnV4X3NpZ25hbC5oIiwKKysgICAgInN5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQu aCIsCisgICAgICJzeXN0ZW1faGVhZGVycy9saW51eF9zeXNjYWxscy5oIiwKKyAgICAgInN5c3Rl bV9oZWFkZXJzL2xpbnV4X3RpbWUuaCIsCisgICAgICJzeXN0ZW1faGVhZGVycy9saW51eF91Y29u dGV4dC5oIiwKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L2ludGVncmF0aW9uX3Rlc3RzL3Nl Y2NvbXBfYnJva2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MgYi9zYW5kYm94L2xpbnV4L2ludGVncmF0 aW9uX3Rlc3RzL3NlY2NvbXBfYnJva2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MKK2luZGV4IDlkYTlj Njg5MTE0MjguLjhhOTQxOTgzYjE5OGQgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L2ludGVn cmF0aW9uX3Rlc3RzL3NlY2NvbXBfYnJva2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MKKysrKyBiL3Nh bmRib3gvbGludXgvaW50ZWdyYXRpb25fdGVzdHMvc2VjY29tcF9icm9rZXJfcHJvY2Vzc191bml0 dGVzdC5jYworQEAgLTM0LDYgKzM0LDcgQEAKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXNj YWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgiCisgI2luY2x1ZGUgInNhbmRib3gv bGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3MuaCIKKyAjaW5jbHVkZSAic2FuZGJv eC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zZWNjb21wLmgiCisrI2luY2x1ZGUgInNhbmRi b3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5oIgorICNpbmNsdWRlICJzYW5kYm94 L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgiCisgI2luY2x1ZGUgInNhbmRi b3gvbGludXgvdGVzdHMvc2NvcGVkX3RlbXBvcmFyeV9maWxlLmgiCisgI2luY2x1ZGUgInNhbmRi b3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5oIgorQEAgLTIwMiw2ICsyMDMsMjYgQEAgbmFtZXNw YWNlIHsKKyAvLyBub3QgYWNjZXB0IHRoaXMgYXMgYSB2YWxpZCBlcnJvciBudW1iZXIuIEUuZy4g YmlvbmljIGFjY2VwdHMgdXAgdG8gMjU1LCBnbGliYworIC8vIGFuZCBtdXNsIHVwIHRvIDQwOTYu CisgY29uc3QgaW50IGtGYWtlRXJybm9TZW50aW5lbCA9IDI1NDsKKysKKyt2b2lkIENvbnZlcnRL ZXJuZWxTdGF0VG9MaWJjU3RhdChkZWZhdWx0X3N0YXRfc3RydWN0JiBpbl9zdGF0LAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzdGF0JiBvdXRfc3RhdCkgeworKyAg b3V0X3N0YXQuc3RfZGV2ID0gaW5fc3RhdC5zdF9kZXY7CisrICBvdXRfc3RhdC5zdF9pbm8gPSBp bl9zdGF0LnN0X2lubzsKKysgIG91dF9zdGF0LnN0X21vZGUgPSBpbl9zdGF0LnN0X21vZGU7Cisr ICBvdXRfc3RhdC5zdF9ubGluayA9IGluX3N0YXQuc3Rfbmxpbms7CisrICBvdXRfc3RhdC5zdF91 aWQgPSBpbl9zdGF0LnN0X3VpZDsKKysgIG91dF9zdGF0LnN0X2dpZCA9IGluX3N0YXQuc3RfZ2lk OworKyAgb3V0X3N0YXQuc3RfcmRldiA9IGluX3N0YXQuc3RfcmRldjsKKysgIG91dF9zdGF0LnN0 X3NpemUgPSBpbl9zdGF0LnN0X3NpemU7CisrICBvdXRfc3RhdC5zdF9ibGtzaXplID0gaW5fc3Rh dC5zdF9ibGtzaXplOworKyAgb3V0X3N0YXQuc3RfYmxvY2tzID0gaW5fc3RhdC5zdF9ibG9ja3M7 CisrICBvdXRfc3RhdC5zdF9hdGltLnR2X3NlYyA9IGluX3N0YXQuc3RfYXRpbWVfOworKyAgb3V0 X3N0YXQuc3RfYXRpbS50dl9uc2VjID0gaW5fc3RhdC5zdF9hdGltZV9uc2VjXzsKKysgIG91dF9z dGF0LnN0X210aW0udHZfc2VjID0gaW5fc3RhdC5zdF9tdGltZV87CisrICBvdXRfc3RhdC5zdF9t dGltLnR2X25zZWMgPSBpbl9zdGF0LnN0X210aW1lX25zZWNfOworKyAgb3V0X3N0YXQuc3RfY3Rp bS50dl9zZWMgPSBpbl9zdGF0LnN0X2N0aW1lXzsKKysgIG91dF9zdGF0LnN0X2N0aW0udHZfbnNl YyA9IGluX3N0YXQuc3RfY3RpbWVfbnNlY187CisrfQorIH0gIC8vIG5hbWVzcGFjZQorIAorIC8v IFRoZXJlIGFyZSBhIHZhcmlldHkgb2Ygd2F5cyB0byBtYWtlIHN5c2NhbGxzIGluIGEgc2FuZGJv eGVkIHByb2Nlc3MuIE9uZSBpcworQEAgLTIxNyw2ICsyMzgsMTAgQEAgY2xhc3MgU3lzY2FsbGVy IHsKKyAKKyAgIHZpcnR1YWwgaW50IE9wZW4oY29uc3QgY2hhciogZmlsZXBhdGgsIGludCBmbGFn cykgPSAwOworICAgdmlydHVhbCBpbnQgQWNjZXNzKGNvbnN0IGNoYXIqIGZpbGVwYXRoLCBpbnQg bW9kZSkgPSAwOworKyAgLy8gTk9URTogd2UgdXNlIHN0cnVjdCBzdGF0IGluc3RlYWQgb2YgZGVm YXVsdF9zdGF0X3N0cnVjdCwgdG8gbWFrZSB0aGUgbGliYworKyAgLy8gc3lzY2FsbGVyIHNpbXBs ZXIuIENvcHlpbmcgZnJvbSBkZWZhdWx0X3N0YXRfc3RydWN0ICh0aGUgc3RydWN0dXJlIHJldHVy bmVkCisrICAvLyBmcm9tIGEgc3RhdCBzeWNhbGwpIHRvIHN0cnVjdCBzdGF0ICh0aGUgc3RydWN0 dXJlIGV4cG9zZWQgYnkgYSBsaWJjIHRvIGl0cworKyAgLy8gdXNlcnMpIGlzIHNpbXBsZXIgdGhh biBnb2luZyBpbiB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uLgorICAgdmlydHVhbCBpbnQgU3RhdChj b25zdCBjaGFyKiBmaWxlcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlu a3MsCisgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzdGF0KiBzdGF0YnVmKSA9IDA7CitAQCAt MjQzLDggKzI2OCwxMiBAQCBjbGFzcyBJUENTeXNjYWxsZXIgOiBwdWJsaWMgU3lzY2FsbGVyIHsK KyAgIGludCBTdGF0KGNvbnN0IGNoYXIqIGZpbGVwYXRoLAorICAgICAgICAgICAgYm9vbCBmb2xs b3dfbGlua3MsCisgICAgICAgICAgICBzdHJ1Y3Qgc3RhdCogc3RhdGJ1Zikgb3ZlcnJpZGUgewor LSAgICByZXR1cm4gYnJva2VyXy0+R2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdChm aWxlcGF0aCwgZm9sbG93X2xpbmtzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdGF0YnVmKTsKKysgICAgZGVmYXVsdF9zdGF0X3N0cnVj dCBidWY7CisrICAgIGludCByZXQgPSBicm9rZXJfLT5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNl ZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisrICAgICAgICBmaWxlcGF0aCwgZm9sbG93X2xp bmtzLCAmYnVmKTsKKysgICAgaWYgKHJldCA+PSAwKQorKyAgICAgIENvbnZlcnRLZXJuZWxTdGF0 VG9MaWJjU3RhdChidWYsICpzdGF0YnVmKTsKKysgICAgcmV0dXJuIHJldDsKKyAgIH0KKyAKKyAg IGludCBSZW5hbWUoY29uc3QgY2hhciogb2xkcGF0aCwgY29uc3QgY2hhciogbmV3cGF0aCkgb3Zl cnJpZGUgeworQEAgLTMwMCwxMCArMzI5LDEzIEBAIGNsYXNzIERpcmVjdFN5c2NhbGxlciA6IHB1 YmxpYyBTeXNjYWxsZXIgeworICAgaW50IFN0YXQoY29uc3QgY2hhciogZmlsZXBhdGgsCisgICAg ICAgICAgICBib29sIGZvbGxvd19saW5rcywKKyAgICAgICAgICAgIHN0cnVjdCBzdGF0KiBzdGF0 YnVmKSBvdmVycmlkZSB7CistICAgIGludCByZXQgPSBmb2xsb3dfbGlua3MgPyBzeXNjYWxsKF9f TlJfc3RhdCwgZmlsZXBhdGgsIHN0YXRidWYpCistICAgICAgICAgICAgICAgICAgICAgICAgICAg OiBzeXNjYWxsKF9fTlJfbHN0YXQsIGZpbGVwYXRoLCBzdGF0YnVmKTsKKysgICAgc3RydWN0IGtl cm5lbF9zdGF0IGJ1ZjsKKysgICAgaW50IHJldCA9IHN5c2NhbGwoX19OUl9uZXdmc3RhdGF0LCBB VF9GRENXRCwgZmlsZXBhdGgsICZidWYsCisrICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19s aW5rcyA/IDAgOiBBVF9TWU1MSU5LX05PRk9MTE9XKTsKKyAgICAgaWYgKHJldCA8IDApCisgICAg ICAgcmV0dXJuIC1lcnJubzsKKysKKysgICAgQ29udmVydEtlcm5lbFN0YXRUb0xpYmNTdGF0KGJ1 ZiwgKnN0YXRidWYpOworICAgICByZXR1cm4gcmV0OworICAgfQorIAorZGlmZiAtLWdpdCBhL3Nh bmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9ERVBTIGIvc2FuZGJveC9saW51eC9zZWNj b21wLWJwZi1oZWxwZXJzL0RFUFMKK2luZGV4IDQ0MTlmZDFkYTM0ZTguLjk1ZDFiYjZjYmJhYmYg MTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvREVQUworKysr IGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL0RFUFMKK0BAIC0zLDUgKzMsNCBA QCBpbmNsdWRlX3J1bGVzID0gWworICAgIitzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmIiwKKyAg ICIrc2FuZGJveC9saW51eC9zZXJ2aWNlcyIsCisgICAiK3NhbmRib3gvbGludXgvc3lzdGVtX2hl YWRlcnMiLAorLSAgIit0aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgiLAor IF0KK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2Fs bF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9uc191bml0dGVzdHMuY2MgYi9zYW5kYm94L2xpbnV4L3Nl Y2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9uc191bml0dGVz dHMuY2MKK2luZGV4IDkwM2U3MDJlYWIxNGIuLjc2YzM5MzAzMmMxZmUgMTAwNjQ0CistLS0gYS9z YW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3Ry aWN0aW9uc191bml0dGVzdHMuY2MKKysrKyBiL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVs cGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zX3VuaXR0ZXN0cy5jYworQEAgLTM3 LDEwICszNyw2IEBACisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGlu dXhfdGltZS5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3Rlc3RzL3VuaXRfdGVzdHMuaCIK KyAKKy0jaWYgIWRlZmluZWQoT1NfQU5EUk9JRCkKKy0jaW5jbHVkZSAidGhpcmRfcGFydHkvbHNz L2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oIiAgLy8gZm9yIE1BS0VfUFJPQ0VTU19DUFVDTE9DSwor LSNlbmRpZgorLQorIG5hbWVzcGFjZSBzYW5kYm94IHsKKyAKKyBuYW1lc3BhY2UgeworZGlmZiAt LWdpdCBhL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYyBiL3NhbmRi b3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYworaW5kZXggZmNmZDJhYTEyOWQ0 Yi4uM2JlYzE4YTE0ZTkxZSAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lz Y2FsbF93cmFwcGVycy5jYworKysrIGIvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dy YXBwZXJzLmNjCitAQCAtNCw2ICs0LDcgQEAKKyAKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9z ZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmgiCisgCisrI2luY2x1ZGUgPGZjbnRsLmg+CisgI2lu Y2x1ZGUgPHB0aHJlYWQuaD4KKyAjaW5jbHVkZSA8c2NoZWQuaD4KKyAjaW5jbHVkZSA8c2V0am1w Lmg+CitAQCAtMTQsMTEgKzE1LDEzIEBACisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorICNpbmNsdWRl IDxjc3RyaW5nPgorIAorKyNpbmNsdWRlICJiYXNlL2NoZWNrLmgiCisgI2luY2x1ZGUgImJhc2Uv Y29tcGlsZXJfc3BlY2lmaWMuaCIKKyAjaW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCisgI2luY2x1 ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3Rl bV9oZWFkZXJzL2NhcGFiaWxpdHkuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1f aGVhZGVycy9saW51eF9zaWduYWwuaCIKKysjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1f aGVhZGVycy9saW51eF9zdGF0LmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hl YWRlcnMvbGludXhfc3lzY2FsbHMuaCIKKyAKKyBuYW1lc3BhY2Ugc2FuZGJveCB7CitAQCAtMjE3 LDcgKzIyMCw3IEBAIGFzbSgKKyAjdW5kZWYgU1RSCisgI3VuZGVmIFhTVFIKKyAKKy0jZW5kaWYK KysjZW5kaWYgIC8vIGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkKKyAKKyBpbnQgc3lzX3Np Z2FjdGlvbihpbnQgc2lnbnVtLAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzaWdh Y3Rpb24qIGFjdCwKK0BAIC0yNDEsNyArMjQ0LDcgQEAgaW50IHN5c19zaWdhY3Rpb24oaW50IHNp Z251bSwKKyAjZXJyb3IgIlVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZS4iCisgI2VuZGlmCisgICAg IH0KKy0jZW5kaWYKKysjZW5kaWYgIC8vIGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkKKyAg IH0KKyAKKyAgIExpbnV4U2lnQWN0aW9uIGxpbnV4X29sZGFjdCA9IHt9OworQEAgLTI1OSw2ICsy NjIsNDcgQEAgaW50IHN5c19zaWdhY3Rpb24oaW50IHNpZ251bSwKKyAgIHJldHVybiByZXN1bHQ7 CisgfQorIAorLSNlbmRpZiAgLy8gZGVmaW5lZChNRU1PUllfU0FOSVRJWkVSKQorKyNlbmRpZiAg Ly8gIWRlZmluZWQoT1NfTkFDTF9OT05TRkkpCisrCisraW50IHN5c19zdGF0KGNvbnN0IGNoYXIq IHBhdGgsIHN0cnVjdCBrZXJuZWxfc3RhdCogc3RhdF9idWYpIHsKKysgIGludCByZXM7CisrI2lm ICFkZWZpbmVkKF9fTlJfc3RhdCkKKysgIHJlcyA9IHN5c2NhbGwoX19OUl9uZXdmc3RhdGF0LCBB VF9GRENXRCwgcGF0aCwgc3RhdF9idWYsIDApOworKyNlbHNlCisrICByZXMgPSBzeXNjYWxsKF9f TlJfc3RhdCwgcGF0aCwgc3RhdF9idWYpOworKyNlbmRpZgorKyAgaWYgKHJlcyA9PSAwKQorKyAg ICBNU0FOX1VOUE9JU09OKHN0YXRfYnVmLCBzaXplb2YoKnN0YXRfYnVmKSk7CisrICByZXR1cm4g cmVzOworK30KKysKKytpbnQgc3lzX2xzdGF0KGNvbnN0IGNoYXIqIHBhdGgsIHN0cnVjdCBrZXJu ZWxfc3RhdCogc3RhdF9idWYpIHsKKysgIGludCByZXM7CisrI2lmICFkZWZpbmVkKF9fTlJfbHN0 YXQpCisrICByZXMgPSBzeXNjYWxsKF9fTlJfbmV3ZnN0YXRhdCwgQVRfRkRDV0QsIHBhdGgsIHN0 YXRfYnVmLCBBVF9TWU1MSU5LX05PRk9MTE9XKTsKKysjZWxzZQorKyAgcmVzID0gc3lzY2FsbChf X05SX2xzdGF0LCBwYXRoLCBzdGF0X2J1Zik7CisrI2VuZGlmCisrICBpZiAocmVzID09IDApCisr ICAgIE1TQU5fVU5QT0lTT04oc3RhdF9idWYsIHNpemVvZigqc3RhdF9idWYpKTsKKysgIHJldHVy biByZXM7CisrfQorKworK2ludCBzeXNfZnN0YXRhdDY0KGludCBkaXJmZCwKKysgICAgICAgICAg ICAgICAgICBjb25zdCBjaGFyKiBwYXRobmFtZSwKKysgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg a2VybmVsX3N0YXQ2NCogc3RhdF9idWYsCisrICAgICAgICAgICAgICAgICAgaW50IGZsYWdzKSB7 CisrI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCisrICBpbnQgcmVzID0gc3lzY2FsbChfX05S X2ZzdGF0YXQ2NCwgZGlyZmQsIHBhdGhuYW1lLCBzdGF0X2J1ZiwgZmxhZ3MpOworKyAgaWYgKHJl cyA9PSAwKQorKyAgICBNU0FOX1VOUE9JU09OKHN0YXRfYnVmLCBzaXplb2YoKnN0YXRfYnVmKSk7 CisrICByZXR1cm4gcmVzOworKyNlbHNlICAvLyBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQorKyAg Ly8gV2Ugc2hvdWxkIG5vdCByZWFjaCBoZXJlIG9uIDY0LWJpdCBzeXN0ZW1zLCBhcyB0aGUgKnN0 YXQqNjQoKSBhcmUgb25seQorKyAgLy8gbmVjZXNzYXJ5IG9uIDMyLWJpdC4KKysgIFJBV19DSEVD SyhmYWxzZSk7CisrICByZXR1cm4gLUVOT1NZUzsKKysjZW5kaWYKKyt9CisgCisgfSAgLy8gbmFt ZXNwYWNlIHNhbmRib3gKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2Nh bGxfd3JhcHBlcnMuaCBiL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5o CitpbmRleCAxOTc1YmZiZDg4YTZkLi5iNTUzNDBlNGEyNmI3IDEwMDY0NAorLS0tIGEvc2FuZGJv eC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmgKKysrKyBiL3NhbmRib3gvbGludXgv c2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oCitAQCAtMTcsNiArMTcsOCBAQCBzdHJ1Y3Qgc29j a19mcHJvZzsKKyBzdHJ1Y3QgcmxpbWl0NjQ7Cisgc3RydWN0IGNhcF9oZHI7Cisgc3RydWN0IGNh cF9kYXRhOworK3N0cnVjdCBrZXJuZWxfc3RhdDsKKytzdHJ1Y3Qga2VybmVsX3N0YXQ2NDsKKyAK KyBuYW1lc3BhY2Ugc2FuZGJveCB7CisgCitAQCAtODQsNiArODYsMTkgQEAgU0FOREJPWF9FWFBP UlQgaW50IHN5c19zaWdhY3Rpb24oaW50IHNpZ251bSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc2lnYWN0aW9uKiBhY3QsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHNpZ2FjdGlvbiogb2xkYWN0KTsKKyAKKysvLyBTb21l IGFyY2hpdGVjdHVyZXMgZG8gbm90IGhhdmUgc3RhdCgpIGFuZCBsc3RhdCgpIHN5c2NhbGxzLiBJ biB0aGF0IGNhc2UsCisrLy8gdGhlc2Ugd3JhcHBlcnMgd2lsbCB1c2UgbmV3ZnN0YXRhdCgpLCB3 aGljaCBpcyBhdmFpbGFibGUgb24gYWxsIG90aGVyCisrLy8gYXJjaGl0ZWN0dXJlcywgd2l0aCB0 aGUgc2FtZSBjYXBhYmlsaXRpZXMgYXMgc3RhdCgpIGFuZCBsc3RhdCgpLgorK1NBTkRCT1hfRVhQ T1JUIGludCBzeXNfc3RhdChjb25zdCBjaGFyKiBwYXRoLCBzdHJ1Y3Qga2VybmVsX3N0YXQqIHN0 YXRfYnVmKTsKKytTQU5EQk9YX0VYUE9SVCBpbnQgc3lzX2xzdGF0KGNvbnN0IGNoYXIqIHBhdGgs IHN0cnVjdCBrZXJuZWxfc3RhdCogc3RhdF9idWYpOworKworKy8vIFRha2VzIGNhcmUgb2YgdW5w b2lzb25pbmcgfHN0YXRfYnVmfCBmb3IgTVNBTi4gQ2hlY2stZmFpbHMgaWYgZnN0YXRhdDY0KCkg aXMKKysvLyBub3QgYSBzdXBwb3J0ZWQgc3lzY2FsbCBvbiB0aGUgY3VycmVudCBwbGF0Zm9ybS4K KytTQU5EQk9YX0VYUE9SVCBpbnQgc3lzX2ZzdGF0YXQ2NChpbnQgZGlyZmQsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcGF0aG5hbWUsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGtlcm5lbF9zdGF0NjQqIHN0YXRfYnVmLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmbGFncyk7CisrCisgfSAgLy8g bmFtZXNwYWNlIHNhbmRib3gKKyAKKyAjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU0VSVklDRVNf U1lTQ0FMTF9XUkFQUEVSU19IXworZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2VydmljZXMv c3lzY2FsbF93cmFwcGVyc191bml0dGVzdC5jYyBiL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lz Y2FsbF93cmFwcGVyc191bml0dGVzdC5jYworaW5kZXggMzI4MjBmNjBhOGNlZS4uNjRiOWNlYTgw ZjMxOSAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVy c191bml0dGVzdC5jYworKysrIGIvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBw ZXJzX3VuaXR0ZXN0LmNjCitAQCAtNSwxNSArNSwxOSBAQAorICNpbmNsdWRlICJzYW5kYm94L2xp bnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaCIKKyAKKyAjaW5jbHVkZSA8c3RkaW50Lmg+ CisrI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorICNpbmNs dWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyAjaW5jbHVkZSA8dW5p c3RkLmg+CistI2luY2x1ZGUgPGNzdHJpbmc+CisgCisrI2luY2x1ZGUgImJhc2UvbG9nZ2luZy5o IgorKyNpbmNsdWRlICJiYXNlL21lbW9yeS9wYWdlX3NpemUuaCIKKyAjaW5jbHVkZSAiYmFzZS9w b3NpeC9laW50cl93cmFwcGVyLmgiCisgI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgor ICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NpZ25hbC5oIgor KyNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaCIKKysj aW5jbHVkZSAic2FuZGJveC9saW51eC90ZXN0cy9zY29wZWRfdGVtcG9yYXJ5X2ZpbGUuaCIKKyAj aW5jbHVkZSAic2FuZGJveC9saW51eC90ZXN0cy90ZXN0X3V0aWxzLmgiCisgI2luY2x1ZGUgInNh bmRib3gvbGludXgvdGVzdHMvdW5pdF90ZXN0cy5oIgorICNpbmNsdWRlICJ0ZXN0aW5nL2d0ZXN0 L2luY2x1ZGUvZ3Rlc3QvZ3Rlc3QuaCIKK0BAIC05Myw2ICs5NywxMjkgQEAgVEVTVChTeXNjYWxs V3JhcHBlcnMsIExpbnV4U2lnU2V0KSB7CisgICAgICAgICAgICAgbGludXhfc2lnc2V0KTsKKyB9 CisgCisrVEVTVChTeXNjYWxsV3JhcHBlcnMsIFN0YXQpIHsKKysgIC8vIENyZWF0ZSBhIGZpbGUg dG8gc3RhdCwgd2l0aCAxMiBieXRlcyBvZiBkYXRhLgorKyAgU2NvcGVkVGVtcG9yYXJ5RmlsZSB0 bXBfZmlsZTsKKysgIEVYUEVDVF9FUSgxMiwgd3JpdGUodG1wX2ZpbGUuZmQoKSwgImJsYWhibGFo YmxhaCIsIDEyKSk7CisrCisrICAvLyBUbyB0ZXN0IHdlIGhhdmUgdGhlIGNvcnJlY3Qgc3RhdCBz dHJ1Y3R1cmVzIGZvciBlYWNoIGtlcm5lbC9wbGF0Zm9ybSwgd2UKKysgIC8vIHdpbGwgcmlnaHQt YWxpZ24gdGhlbSBvbiBhIHBhZ2UsIHdpdGggYSBndWFyZCBwYWdlIGFmdGVyLgorKyAgY2hhciog dHdvX3BhZ2VzID0gc3RhdGljX2Nhc3Q8Y2hhcio+KFRlc3RVdGlsczo6TWFwUGFnZXNPckRpZSgy KSk7CisrICBUZXN0VXRpbHM6Ok1wcm90ZWN0TGFzdFBhZ2VPckRpZSh0d29fcGFnZXMsIDIpOwor KyAgY2hhciogcGFnZTFfZW5kID0gdHdvX3BhZ2VzICsgYmFzZTo6R2V0UGFnZVNpemUoKTsKKysK KysgIC8vIEZpcnN0LCBjaGVjayB0aGF0IGNhbGxpbmcgc3RhdCB3aXRoIHxzdGF0X2J1ZnwgcG9p bnRpbmcgdG8gdGhlIGxhc3QgYnl0ZSBvbgorKyAgLy8gYSBwYWdlIGNhdXNlcyBFRkFVTFQuCisr ICBpbnQgcmVzID0gc3lzX3N0YXQodG1wX2ZpbGUuZnVsbF9maWxlX25hbWUoKSwKKysgICAgICAg ICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHN0cnVjdCBrZXJuZWxfc3RhdCo+KHBhZ2Ux X2VuZCAtIDEpKTsKKysgIEFTU0VSVF9FUShyZXMsIC0xKTsKKysgIEFTU0VSVF9FUShlcnJubywg RUZBVUxUKTsKKysKKysgIC8vIE5vdywgY2hlY2sgdGhhdCB3ZSBoYXZlIHRoZSBjb3JyZWN0bHkg c2l6ZWQgc3RhdCBzdHJ1Y3R1cmUuCisrICBzdHJ1Y3Qga2VybmVsX3N0YXQqIHNiID0gcmVpbnRl cnByZXRfY2FzdDxzdHJ1Y3Qga2VybmVsX3N0YXQqPigKKysgICAgICBwYWdlMV9lbmQgLSBzaXpl b2Yoc3RydWN0IGtlcm5lbF9zdGF0KSk7CisrICAvLyBNZW1zZXQgdG8gYydzIHNvIHdlIGNhbiBj aGVjayB0aGUga2VybmVsIHplcm8nZCB0aGUgcGFkZGluZy4uLgorKyAgbWVtc2V0KHNiLCAnYycs IHNpemVvZihzdHJ1Y3Qga2VybmVsX3N0YXQpKTsKKysgIHJlcyA9IHN5c19zdGF0KHRtcF9maWxl LmZ1bGxfZmlsZV9uYW1lKCksIHNiKTsKKysgIEFTU0VSVF9FUShyZXMsIDApOworKworKyAgLy8g Rm9sbG93aW5nIGZpZWxkcyBtYXkgbmV2ZXIgYmUgY29uc2lzdGVudCBidXQgc2hvdWxkIGJlIG5v bi16ZXJvLgorKyAgLy8gRG9uJ3QgdHJ1c3QgdGhlIHBsYXRmb3JtIHRvIGRlZmluZSBmaWVsZHMg d2l0aCBhbnkgcGFydGljdWxhciBzaWduLgorKyAgRVhQRUNUX05FKDB1LCBzdGF0aWNfY2FzdDx1 bnNpZ25lZCBpbnQ+KHNiLT5zdF9kZXYpKTsKKysgIEVYUEVDVF9ORSgwdSwgc3RhdGljX2Nhc3Q8 dW5zaWduZWQgaW50PihzYi0+c3RfaW5vKSk7CisrICBFWFBFQ1RfTkUoMHUsIHN0YXRpY19jYXN0 PHVuc2lnbmVkIGludD4oc2ItPnN0X21vZGUpKTsKKysgIEVYUEVDVF9ORSgwdSwgc3RhdGljX2Nh c3Q8dW5zaWduZWQgaW50PihzYi0+c3RfYmxrc2l6ZSkpOworKyAgRVhQRUNUX05FKDB1LCBzdGF0 aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNiLT5zdF9ibG9ja3MpKTsKKysKKysvLyBXZSBhcmUgdGhl IG9uZXMgdGhhdCBtYWRlIHRoZSBmaWxlLgorKy8vIE5vdGU6IG5vcm1hbGx5IGdpZCBhbmQgdWlk IG92ZXJmbG93IG9uIGJhY2t3YXJkcy1jb21wYXRpYmxlIDMyLWJpdCBzeXN0ZW1zCisrLy8gYW5k IHdlIGVuZCB1cCB3aXRoIGR1bW15IHVpZHMgYW5kIGdpZHMgaW4gcGxhY2UgaGVyZS4KKysjaWYg ZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKQorKyAgRVhQRUNUX0VRKGdldGV1aWQoKSwgc2ItPnN0 X3VpZCk7CisrICBFWFBFQ1RfRVEoZ2V0ZWdpZCgpLCBzYi0+c3RfZ2lkKTsKKysjZW5kaWYKKysK KysgIC8vIFdyb3RlIDEyIGJ5dGVzIGFib3ZlIHdoaWNoIHNob3VsZCBmaXQgaW4gb25lIGJsb2Nr LgorKyAgRVhQRUNUX0VRKDEydSwgc2ItPnN0X3NpemUpOworKworKyAgLy8gQ2FuJ3QgZ28gYmFj a3dhcmRzIGluIHRpbWUsIDE1MDAwMDAwMDAgd2FzIHNvbWUgdGltZSBhZ28uCisrICBFWFBFQ1Rf TFQoMTUwMDAwMDAwMHUsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2ItPnN0X2F0aW1lXykp OworKyAgRVhQRUNUX0xUKDE1MDAwMDAwMDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNi LT5zdF9tdGltZV8pKTsKKysgIEVYUEVDVF9MVCgxNTAwMDAwMDAwdSwgc3RhdGljX2Nhc3Q8dW5z aWduZWQgaW50PihzYi0+c3RfY3RpbWVfKSk7CisrCisrICAvLyBDaGVja2luZyB0aGUgcGFkZGlu ZyBmb3IgZ29vZCBtZWFzdXJlLgorKyNpZiBkZWZpbmVkKF9feDg2XzY0X18pCisrICBFWFBFQ1Rf RVEoMHUsIHNiLT5fX3BhZDApOworKyAgRVhQRUNUX0VRKDB1LCBzYi0+X191bnVzZWQ0WzBdKTsK KysgIEVYUEVDVF9FUSgwdSwgc2ItPl9fdW51c2VkNFsxXSk7CisrICBFWFBFQ1RfRVEoMHUsIHNi LT5fX3VudXNlZDRbMl0pOworKyNlbGlmIGRlZmluZWQoX19hYXJjaDY0X18pCisrICBFWFBFQ1Rf RVEoMHUsIHNiLT5fX3BhZDEpOworKyAgRVhQRUNUX0VRKDAsIHNiLT5fX3BhZDIpOworKyAgRVhQ RUNUX0VRKDB1LCBzYi0+X191bnVzZWQ0KTsKKysgIEVYUEVDVF9FUSgwdSwgc2ItPl9fdW51c2Vk NSk7CisrI2VuZGlmCisrfQorKworK1RFU1QoU3lzY2FsbFdyYXBwZXJzLCBMU3RhdCkgeworKyAg Ly8gQ3JlYXRlIGEgZmlsZSB0byBzdGF0LCB3aXRoIDEyIGJ5dGVzIG9mIGRhdGEuCisrICBTY29w ZWRUZW1wb3JhcnlGaWxlIHRtcF9maWxlOworKyAgRVhQRUNUX0VRKDEyLCB3cml0ZSh0bXBfZmls ZS5mZCgpLCAiYmxhaGJsYWhibGFoIiwgMTIpKTsKKysKKysgIC8vIEFsc28gY3JlYXRlIGEgc3lt bGluay4KKysgIHN0ZDo6c3RyaW5nIHN5bWxpbmtfbmFtZTsKKysgIHsKKysgICAgU2NvcGVkVGVt cG9yYXJ5RmlsZSB0bXBfZmlsZTI7CisrICAgIHN5bWxpbmtfbmFtZSA9IHRtcF9maWxlMi5mdWxs X2ZpbGVfbmFtZSgpOworKyAgfQorKyAgaW50IHJjID0gc3ltbGluayh0bXBfZmlsZS5mdWxsX2Zp bGVfbmFtZSgpLCBzeW1saW5rX25hbWUuY19zdHIoKSk7CisrICBpZiAocmMgIT0gMCkgeworKyAg ICBQTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3Qgc3ltbGluayAiIDw8IHN5bWxpbmtfbmFtZSA8PCAi IHRvIHRhcmdldCAiCisrICAgICAgICAgICAgICAgIDw8IHRtcF9maWxlLmZ1bGxfZmlsZV9uYW1l KCk7CisrICAgIEdURVNUX0ZBSUwoKTsKKysgIH0KKysKKysgIHN0cnVjdCBrZXJuZWxfc3RhdCBs c3RhdF9pbmZvOworKyAgcmMgPSBzeXNfbHN0YXQoc3ltbGlua19uYW1lLmNfc3RyKCksICZsc3Rh dF9pbmZvKTsKKysgIGlmIChyYyA8IDAgJiYgZXJybm8gPT0gRU9WRVJGTE9XKSB7CisrICAgIEdU RVNUX1NLSVAoKTsKKysgIH0KKysgIGlmIChyYyAhPSAwKSB7CisrICAgIFBMT0coRVJST1IpIDw8 ICJDb3VsZG4ndCBzeXNfbHN0YXQgIiA8PCBzeW1saW5rX25hbWU7CisrICAgIEdURVNUX0ZBSUwo KTsKKysgIH0KKysKKysgIHN0cnVjdCBrZXJuZWxfc3RhdCBzdGF0X2luZm87CisrICByYyA9IHN5 c19zdGF0KHN5bWxpbmtfbmFtZS5jX3N0cigpLCAmc3RhdF9pbmZvKTsKKysgIGlmIChyYyA8IDAg JiYgZXJybm8gPT0gRU9WRVJGTE9XKSB7CisrICAgIEdURVNUX1NLSVAoKTsKKysgIH0KKysgIGlm IChyYyAhPSAwKSB7CisrICAgIFBMT0coRVJST1IpIDw8ICJDb3VsZG4ndCBzeXNfc3RhdCAiIDw8 IHN5bWxpbmtfbmFtZTsKKysgICAgR1RFU1RfRkFJTCgpOworKyAgfQorKworKyAgc3RydWN0IGtl cm5lbF9zdGF0IHRtcF9maWxlX3N0YXRfaW5mbzsKKysgIHJjID0gc3lzX3N0YXQodG1wX2ZpbGUu ZnVsbF9maWxlX25hbWUoKSwgJnRtcF9maWxlX3N0YXRfaW5mbyk7CisrICBpZiAocmMgPCAwICYm IGVycm5vID09IEVPVkVSRkxPVykgeworKyAgICBHVEVTVF9TS0lQKCk7CisrICB9CisrICBpZiAo cmMgIT0gMCkgeworKyAgICBQTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3Qgc3lzX3N0YXQgIiA8PCB0 bXBfZmlsZS5mdWxsX2ZpbGVfbmFtZSgpOworKyAgICBHVEVTVF9GQUlMKCk7CisrICB9CisrCisr ICAvLyBsc3RhdCBzaG91bGQgcHJvZHVjZSBpbmZvcm1hdGlvbiBhYm91dCBhIHN5bWxpbmsuCisr ICBBU1NFUlRfVFJVRShTX0lTTE5LKGxzdGF0X2luZm8uc3RfbW9kZSkpOworKworKyAgLy8gc3Rh dC1pbmcgc3ltbGlua19uYW1lIGFuZCB0bXBfZmlsZSBzaG91bGQgcHJvZHVjZSB0aGUgc2FtZSBp bm9kZS4KKysgIEFTU0VSVF9FUShzdGF0X2luZm8uc3RfaW5vLCB0bXBfZmlsZV9zdGF0X2luZm8u c3RfaW5vKTsKKysKKysgIC8vIGxzdGF0LWluZyBzeW1saW5rX25hbWUgc2hvdWxkIGdpdmUgYSBk aWZmZXJlbnQgaW5vZGUgdGhhbiBzdGF0LWluZworKyAgLy8gc3ltbGlua19uYW1lLgorKyAgQVNT RVJUX05FKHN0YXRfaW5mby5zdF9pbm8sIGxzdGF0X2luZm8uc3RfaW5vKTsKKyt9CisrCisgfSAg Ly8gbmFtZXNwYWNlCisgCisgfSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKK2RpZmYgLS1naXQgYS9z YW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL0RFUFMgYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxf YnJva2VyL0RFUFMKK2luZGV4IGM0NzdmN2QzNjM5NGIuLjE0OWM0NjNiMDY4MzkgMTAwNjQ0Cist LS0gYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL0RFUFMKKysrKyBiL3NhbmRib3gvbGlu dXgvc3lzY2FsbF9icm9rZXIvREVQUworQEAgLTEsNCArMSw1IEBACisgaW5jbHVkZV9ydWxlcyA9 IFsKKy0gICIrc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycyIsCisgICAiK3NhbmRib3gvbGlu dXgvYnBmX2RzbCIsCisrICAiK3NhbmRib3gvbGludXgvc2VydmljZXMiLAorKyAgIitzYW5kYm94 L2xpbnV4L3N5c3RlbV9oZWFkZXJzIiwKKyBdCitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9z eXNjYWxsX2Jyb2tlci9icm9rZXJfY2xpZW50LmNjIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jy b2tlci9icm9rZXJfY2xpZW50LmNjCitpbmRleCA2YjFiNWJlNDMzODk5Li5lMjRmNjU5ZmNmODcy IDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfY2xpZW50 LmNjCisrKysgYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9jbGllbnQuY2MK K0BAIC0xNjYsNyArMTY2LDcgQEAgaW50IEJyb2tlckNsaWVudDo6Um1kaXIoY29uc3QgY2hhciog cGF0aCkgY29uc3QgeworIAorIGludCBCcm9rZXJDbGllbnQ6OlN0YXQoY29uc3QgY2hhciogcGF0 aG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICBib29sIGZvbGxvd19saW5rcywKKy0gICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzdGF0KiBzYikgY29uc3QgeworKyAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IGtlcm5lbF9zdGF0KiBzYikgY29uc3QgeworICAgaWYgKCFwYXRo bmFtZSB8fCAhc2IpCisgICAgIHJldHVybiAtRUZBVUxUOworIAorQEAgLTE4MSw3ICsxODEsNyBA QCBpbnQgQnJva2VyQ2xpZW50OjpTdGF0KGNvbnN0IGNoYXIqIHBhdGhuYW1lLAorIAorIGludCBC cm9rZXJDbGllbnQ6OlN0YXQ2NChjb25zdCBjaGFyKiBwYXRobmFtZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCistICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBzdGF0NjQqIHNiKSBjb25zdCB7CisrICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBrZXJuZWxfc3RhdDY0KiBzYikgY29uc3QgeworICAgaWYgKCFwYXRobmFtZSB8fCAhc2Ip CisgICAgIHJldHVybiAtRUZBVUxUOworIAorZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc3lz Y2FsbF9icm9rZXIvYnJva2VyX2NsaWVudC5oIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tl ci9icm9rZXJfY2xpZW50LmgKK2luZGV4IDA1ZTE0YzgzZjIwMTAuLjI2Y2E3ODEwMWM3MWMgMTAw NjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9jbGllbnQuaAor KysrIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfY2xpZW50LmgKK0BAIC02 MSwxMCArNjEsMTAgQEAgY2xhc3MgU0FOREJPWF9FWFBPUlQgQnJva2VyQ2xpZW50IDogcHVibGlj IFN5c2NhbGxEaXNwYXRjaGVyIHsKKyAgIGludCBSbWRpcihjb25zdCBjaGFyKiBwYXRoKSBjb25z dCBvdmVycmlkZTsKKyAgIGludCBTdGF0KGNvbnN0IGNoYXIqIHBhdGhuYW1lLAorICAgICAgICAg ICAgYm9vbCBmb2xsb3dfbGlua3MsCistICAgICAgICAgICBzdHJ1Y3Qgc3RhdCogc2IpIGNvbnN0 IG92ZXJyaWRlOworKyAgICAgICAgICAgc3RydWN0IGtlcm5lbF9zdGF0KiBzYikgY29uc3Qgb3Zl cnJpZGU7CisgICBpbnQgU3RhdDY0KGNvbnN0IGNoYXIqIHBhdGhuYW1lLAorICAgICAgICAgICAg ICBib29sIGZvbGxvd19saW5rcywKKy0gICAgICAgICAgICAgc3RydWN0IHN0YXQ2NCogc2IpIGNv bnN0IG92ZXJyaWRlOworKyAgICAgICAgICAgICBzdHJ1Y3Qga2VybmVsX3N0YXQ2NCogc2IpIGNv bnN0IG92ZXJyaWRlOworICAgaW50IFVubGluayhjb25zdCBjaGFyKiB1bmxpbmspIGNvbnN0IG92 ZXJyaWRlOworIAorICBwcml2YXRlOgorZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc3lzY2Fs bF9icm9rZXIvYnJva2VyX2hvc3QuY2MgYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jy b2tlcl9ob3N0LmNjCitpbmRleCAxY2QwM2ExOGRmODA5Li4xY2RjMDFhODg4ZjQxIDEwMDY0NAor LS0tIGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfaG9zdC5jYworKysrIGIv c2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfaG9zdC5jYworQEAgLTIwLDkgKzIw LDExIEBACisgI2luY2x1ZGUgImJhc2UvZmlsZXMvc2NvcGVkX2ZpbGUuaCIKKyAjaW5jbHVkZSAi YmFzZS9sb2dnaW5nLmgiCisgI2luY2x1ZGUgImJhc2UvcG9zaXgvZWludHJfd3JhcHBlci5oIgor KyNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaCIKKyAj aW5jbHVkZSAic2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfY29tbWFuZC5oIgor ICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wZXJtaXNzaW9u X2xpc3QuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJf c2ltcGxlX21lc3NhZ2UuaCIKKysjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVy cy9saW51eF9zdGF0LmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMv bGludXhfc3lzY2FsbHMuaCIKKyAKKyBuYW1lc3BhY2Ugc2FuZGJveCB7CitAQCAtMTkzLDEwICsx OTUsMTIgQEAgdm9pZCBTdGF0RmlsZUZvcklQQyhjb25zdCBCcm9rZXJDb21tYW5kU2V0JiBhbGxv d2VkX2NvbW1hbmRfc2V0LAorICAgICBSQVdfQ0hFQ0socmVwbHktPkFkZEludFRvTWVzc2FnZSgt cGVybWlzc2lvbl9saXN0LmRlbmllZF9lcnJubygpKSk7CisgICAgIHJldHVybjsKKyAgIH0KKysK KyAgIGlmIChjb21tYW5kX3R5cGUgPT0gQ09NTUFORF9TVEFUKSB7CistICAgIHN0cnVjdCBzdGF0 IHNiOworLSAgICBpbnQgc3RzID0KKy0gICAgICAgIGZvbGxvd19saW5rcyA/IHN0YXQoZmlsZV90 b19hY2Nlc3MsICZzYikgOiBsc3RhdChmaWxlX3RvX2FjY2VzcywgJnNiKTsKKysgICAgc3RydWN0 IGtlcm5lbF9zdGF0IHNiOworKworKyAgICBpbnQgc3RzID0gZm9sbG93X2xpbmtzID8gc2FuZGJv eDo6c3lzX3N0YXQoZmlsZV90b19hY2Nlc3MsICZzYikKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICA6IHNhbmRib3g6OnN5c19sc3RhdChmaWxlX3RvX2FjY2VzcywgJnNiKTsKKyAgICAgaWYg KHN0cyA8IDApIHsKKyAgICAgICBSQVdfQ0hFQ0socmVwbHktPkFkZEludFRvTWVzc2FnZSgtZXJy bm8pKTsKKyAgICAgICByZXR1cm47CitAQCAtMjA1LDEwICsyMDksMTIgQEAgdm9pZCBTdGF0Rmls ZUZvcklQQyhjb25zdCBCcm9rZXJDb21tYW5kU2V0JiBhbGxvd2VkX2NvbW1hbmRfc2V0LAorICAg ICBSQVdfQ0hFQ0soCisgICAgICAgICByZXBseS0+QWRkRGF0YVRvTWVzc2FnZShyZWludGVycHJl dF9jYXN0PGNoYXIqPigmc2IpLCBzaXplb2Yoc2IpKSk7CisgICB9IGVsc2UgeworKyNpZiBkZWZp bmVkKF9fTlJfZnN0YXRhdDY0KQorICAgICBEQ0hFQ0soY29tbWFuZF90eXBlID09IENPTU1BTkRf U1RBVDY0KTsKKy0gICAgc3RydWN0IHN0YXQ2NCBzYjsKKy0gICAgaW50IHN0cyA9IGZvbGxvd19s aW5rcyA/IHN0YXQ2NChmaWxlX3RvX2FjY2VzcywgJnNiKQorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgIDogbHN0YXQ2NChmaWxlX3RvX2FjY2VzcywgJnNiKTsKKysgICAgc3RydWN0IGtlcm5l bF9zdGF0NjQgc2I7CisrCisrICAgIGludCBzdHMgPSBzYW5kYm94OjpzeXNfZnN0YXRhdDY0KEFU X0ZEQ1dELCBmaWxlX3RvX2FjY2VzcywgJnNiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmb2xsb3dfbGlua3MgPyAwIDogQVRfU1lNTElOS19OT0ZPTExPVyk7CisgICAg IGlmIChzdHMgPCAwKSB7CisgICAgICAgUkFXX0NIRUNLKHJlcGx5LT5BZGRJbnRUb01lc3NhZ2Uo LWVycm5vKSk7CisgICAgICAgcmV0dXJuOworQEAgLTIxNiw2ICsyMjIsMTEgQEAgdm9pZCBTdGF0 RmlsZUZvcklQQyhjb25zdCBCcm9rZXJDb21tYW5kU2V0JiBhbGxvd2VkX2NvbW1hbmRfc2V0LAor ICAgICBSQVdfQ0hFQ0socmVwbHktPkFkZEludFRvTWVzc2FnZSgwKSk7CisgICAgIFJBV19DSEVD SygKKyAgICAgICAgIHJlcGx5LT5BZGREYXRhVG9NZXNzYWdlKHJlaW50ZXJwcmV0X2Nhc3Q8Y2hh cio+KCZzYiksIHNpemVvZihzYikpKTsKKysjZWxzZSAgLy8gZGVmaW5lZChfX05SX2ZzdGF0YXQ2 NCkKKysgICAgLy8gV2Ugc2hvdWxkIG5vdCByZWFjaCBoZXJlIG9uIDY0LWJpdCBzeXN0ZW1zLCBh cyB0aGUgKnN0YXQqNjQoKSBhcmUgb25seQorKyAgICAvLyBuZWNlc3Nhcnkgb24gMzItYml0Lgor KyAgICBSQVdfQ0hFQ0soZmFsc2UpOworKyNlbmRpZgorICAgfQorIH0KKyAKK2RpZmYgLS1naXQg YS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzX3VuaXR0ZXN0LmNj IGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfcHJvY2Vzc191bml0dGVzdC5j YworaW5kZXggNTViYTZiY2NiMjllYy4uYzY1ZjI1YTc4YTk5OSAxMDA2NDQKKy0tLSBhL3NhbmRi b3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MKKysrKyBi L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MK K0BAIC04MTEsNyArODExLDcgQEAgdm9pZCBUZXN0U3RhdEhlbHBlcihib29sIGZhc3RfY2hlY2tf aW5fY2xpZW50LCBib29sIGZvbGxvd19saW5rcykgeworICAgY29uc3QgY2hhciogYmFkX2xlYWRp bmdfcGF0aDUgPSAiL21ib2dvL2ZpY3RpdGlvdXgiOworICAgY29uc3QgY2hhciogYmFkX2xlYWRp bmdfcGF0aDYgPSAiL21ib2dvL2ZpY3RpdGlvdXNhIjsKKyAKKy0gIHN0cnVjdCBzdGF0IHNiOwor KyAgZGVmYXVsdF9zdGF0X3N0cnVjdCBzYjsKKyAKKyAgIHsKKyAgICAgLy8gQWN0dWFsIGZpbGUg d2l0aCBwZXJtaXNzaW9ucyB0byBzZWUgZmlsZSBidXQgY29tbWFuZCBub3QgYWxsb3dlZC4KK0BA IC04MjQsNyArODI0LDcgQEAgdm9pZCBUZXN0U3RhdEhlbHBlcihib29sIGZhc3RfY2hlY2tfaW5f Y2xpZW50LCBib29sIGZvbGxvd19saW5rcykgeworIAorICAgICBtZW1zZXQoJnNiLCAwLCBzaXpl b2Yoc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAg ICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAg ICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVm YXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIHRlbXBmaWxlX25hbWUsIGZv bGxvd19saW5rcywgJnNiKSk7CisgICB9CisgCitAQCAtODQwLDcgKzg0MCw3IEBAIHZvaWQgVGVz dFN0YXRIZWxwZXIoYm9vbCBmYXN0X2NoZWNrX2luX2NsaWVudCwgYm9vbCBmb2xsb3dfbGlua3Mp IHsKKyAKKyAgICAgbWVtc2V0KCZzYiwgMCwgc2l6ZW9mKHNiKSk7CisgICAgIEVYUEVDVF9FUSgt a0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2Vy Q2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdl dEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAg ICAgICAgICAgICAgICBub25lc3VjaF9uYW1lLCBmb2xsb3dfbGlua3MsICZzYikpOworICAgfQor ICAgeworQEAgLTg1Miw3ICs4NTIsNyBAQCB2b2lkIFRlc3RTdGF0SGVscGVyKGJvb2wgZmFzdF9j aGVja19pbl9jbGllbnQsIGJvb2wgZm9sbG93X2xpbmtzKSB7CisgCisgICAgIG1lbXNldCgmc2Is IDAsIHNpemVvZihzYikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0g ICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0 YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNl ZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAgdGVtcGZpbGVf bmFtZSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAgIH0KKyAgIHsKK0BAIC04NjQsMzggKzg2NCwz OSBAQCB2b2lkIFRlc3RTdGF0SGVscGVyKGJvb2wgZmFzdF9jaGVja19pbl9jbGllbnQsIGJvb2wg Zm9sbG93X2xpbmtzKSB7CisgICAgIEFTU0VSVF9UUlVFKG9wZW5fYnJva2VyLkluaXQoYmFzZTo6 QmluZE9uY2UoJk5vT3BDYWxsYmFjaykpKTsKKyAKKyAgICAgbWVtc2V0KCZzYiwgMCwgc2l6ZW9m KHNiKSk7CistICAgIEVYUEVDVF9FUSgtRU5PRU5ULCBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGll bnRTaWduYWxCYXNlZCgpLT5TdGF0KAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmVz dWNoX25hbWUsIGZvbGxvd19saW5rcywgJnNiKSk7CisrICAgIEVYUEVDVF9FUSgtRU5PRU5ULAor KyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+ RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorKyAgICAgICAgICAgICAgICAgIG5vbmVzdWNoX25hbWUs IGZvbGxvd19saW5rcywgJnNiKSk7CisgCisgICAgIC8vIEdldHMgZGVuaWVkIGFsbCB0aGUgd2F5 IGJhY2sgdG8gcm9vdCBzaW5jZSBubyBjcmVhdGUgcGVybWlzc2lvbi4KKyAgICAgRVhQRUNUX0VR KC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9r ZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIu R2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAg ICAgICAgICAgICAgICAgIGxlYWRpbmdfcGF0aDEsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICAg IEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9r ZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9w ZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVz dGluZygKKyAgICAgICAgICAgICAgICAgICBsZWFkaW5nX3BhdGgyLCBmb2xsb3dfbGlua3MsICZz YikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAg IG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAg ICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0 U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAgbGVhZGluZ19wYXRoMywgZm9sbG93 X2xpbmtzLCAmc2IpKTsKKyAKKyAgICAgLy8gTm90IGZvb2xlZCBieSBzdWJzdHJpbmdzLgorICAg ICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJv a2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBv cGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRl c3RpbmcoCisgICAgICAgICAgICAgICAgICAgYmFkX2xlYWRpbmdfcGF0aDEsIGZvbGxvd19saW5r cywgJnNiKSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAg ICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysg ICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRl ZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAgICBiYWRfbGVhZGluZ19wYXRo MiwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGlu ZWwsCistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNl ZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2ln bmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGJh ZF9sZWFkaW5nX3BhdGgzLCBmb2xsb3dfbGlua3MsICZzYikpOworICAgICBFWFBFQ1RfRVEoLWtG YWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNs aWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRC cm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAg ICAgICAgICAgICAgYmFkX2xlYWRpbmdfcGF0aDQsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICAg IEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9r ZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9w ZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVz dGluZygKKyAgICAgICAgICAgICAgICAgICBiYWRfbGVhZGluZ19wYXRoNSwgZm9sbG93X2xpbmtz LCAmc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAg ICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAg ICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVm YXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGJhZF9sZWFkaW5nX3BhdGg2 LCBmb2xsb3dfbGlua3MsICZzYikpOworICAgfQorICAgeworQEAgLTkwNywzNyArOTA4LDQxIEBA IHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9vbCBmYXN0X2NoZWNrX2luX2NsaWVudCwgYm9vbCBmb2xs b3dfbGlua3MpIHsKKyAgICAgQVNTRVJUX1RSVUUob3Blbl9icm9rZXIuSW5pdChiYXNlOjpCaW5k T25jZSgmTm9PcENhbGxiYWNrKSkpOworIAorICAgICBtZW1zZXQoJnNiLCAwLCBzaXplb2Yoc2Ip KTsKKy0gICAgRVhQRUNUX0VRKC1FTk9FTlQsIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNp Z25hbEJhc2VkKCktPlN0YXQoCistICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZXN1Y2hf bmFtZSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKysgICAgRVhQRUNUX0VRKC1FTk9FTlQsCisrICAg ICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZh dWx0U3RhdEZvclRlc3RpbmcoCisrICAgICAgICAgICAgICAgICAgbm9uZXN1Y2hfbmFtZSwgZm9s bG93X2xpbmtzLCAmc2IpKTsKKyAKKyAgICAgLy8gR2V0cyBFTk9FTlQgYWxsIHRoZSB3YXkgYmFj ayB0byByb290IHNpbmNlIGl0IGhhcyBjcmVhdGUgcGVybWlzc2lvbi4KKy0gICAgRVhQRUNUX0VR KC1FTk9FTlQsIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQo CistICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVhZGluZ19wYXRoMSwgZm9sbG93X2xpbmtz LCAmc2IpKTsKKy0gICAgRVhQRUNUX0VRKC1FTk9FTlQsIG9wZW5fYnJva2VyLkdldEJyb2tlckNs aWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCistICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVh ZGluZ19wYXRoMiwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKysgICAgRVhQRUNUX0VRKC1FTk9FTlQs CisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgp LT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisrICAgICAgICAgICAgICAgICAgbGVhZGluZ19wYXRo MSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKysgICAgRVhQRUNUX0VRKC1FTk9FTlQsCisrICAgICAg ICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0 U3RhdEZvclRlc3RpbmcoCisrICAgICAgICAgICAgICAgICAgbGVhZGluZ19wYXRoMiwgZm9sbG93 X2xpbmtzLCAmc2IpKTsKKyAKKyAgICAgLy8gQnV0IGNhbiBhbHdheXMgZ2V0IHRoZSByb290Lgor LSAgICBFWFBFQ1RfRVEoMCwgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQo KS0+U3RhdCgKKy0gICAgICAgICAgICAgICAgICAgICBsZWFkaW5nX3BhdGgzLCBmb2xsb3dfbGlu a3MsICZzYikpOworKyAgICBFWFBFQ1RfRVEoMCwKKysgICAgICAgICAgICAgIG9wZW5fYnJva2Vy LkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKysg ICAgICAgICAgICAgICAgICBsZWFkaW5nX3BhdGgzLCBmb2xsb3dfbGlua3MsICZzYikpOworIAor ICAgICAvLyBOb3QgZm9vbGVkIGJ5IHN1YnN0cmluZ3MuCisgICAgIEVYUEVDVF9FUSgta0Zha2VF cnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50 U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tl ckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAg ICAgICAgICBiYWRfbGVhZGluZ19wYXRoMSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAgICAgRVhQ RUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5H ZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9i cm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5n KAorICAgICAgICAgICAgICAgICAgIGJhZF9sZWFkaW5nX3BhdGgyLCBmb2xsb3dfbGlua3MsICZz YikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAg IG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAg ICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0 U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAgYmFkX2xlYWRpbmdfcGF0aDMsIGZv bGxvd19saW5rcywgJnNiKSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAor LSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+ U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJh c2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAgICBiYWRfbGVh ZGluZ19wYXRoNCwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVy cm5vU2VudGluZWwsCistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRT aWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2Vy Q2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAg ICAgICAgIGJhZF9sZWFkaW5nX3BhdGg1LCBmb2xsb3dfbGlua3MsICZzYikpOworICAgICBFWFBF Q1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdl dEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jy b2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3Rpbmco CisgICAgICAgICAgICAgICAgICAgYmFkX2xlYWRpbmdfcGF0aDYsIGZvbGxvd19saW5rcywgJnNi KSk7CisgICB9CisgICB7CitAQCAtOTQ5LDggKzk1NCw5IEBAIHZvaWQgVGVzdFN0YXRIZWxwZXIo Ym9vbCBmYXN0X2NoZWNrX2luX2NsaWVudCwgYm9vbCBmb2xsb3dfbGlua3MpIHsKKyAgICAgQVNT RVJUX1RSVUUob3Blbl9icm9rZXIuSW5pdChiYXNlOjpCaW5kT25jZSgmTm9PcENhbGxiYWNrKSkp OworIAorICAgICBtZW1zZXQoJnNiLCAwLCBzaXplb2Yoc2IpKTsKKy0gICAgRVhQRUNUX0VRKDAs IG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCistICAgICAg ICAgICAgICAgICAgICAgdGVtcGZpbGVfbmFtZSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKysgICAg RVhQRUNUX0VRKDAsCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRT aWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisrICAgICAgICAgICAgICAgICAg dGVtcGZpbGVfbmFtZSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAKKyAgICAgLy8gRm9sbG93aW5n IGZpZWxkcyBtYXkgbmV2ZXIgYmUgY29uc2lzdGVudCBidXQgc2hvdWxkIGJlIG5vbi16ZXJvLgor ICAgICAvLyBEb24ndCB0cnVzdCB0aGUgcGxhdGZvcm0gdG8gZGVmaW5lIGZpZWxkcyB3aXRoIGFu eSBwYXJ0aWN1bGFyIHNpZ24uCitAQCAtOTY4LDkgKzk3NCw5IEBAIHZvaWQgVGVzdFN0YXRIZWxw ZXIoYm9vbCBmYXN0X2NoZWNrX2luX2NsaWVudCwgYm9vbCBmb2xsb3dfbGlua3MpIHsKKyAgICAg RVhQRUNUX0VRKDEyLCBzYi5zdF9zaXplKTsKKyAKKyAgICAgLy8gQ2FuJ3QgZ28gYmFja3dhcmRz IGluIHRpbWUsIDE1MDAwMDAwMDAgd2FzIHNvbWUgdGltZSBhZ28uCistICAgIEVYUEVDVF9MVCgx NTAwMDAwMDAwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi5zdF9hdGltZSkpOworLSAg ICBFWFBFQ1RfTFQoMTUwMDAwMDAwMHUsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2Iuc3Rf bXRpbWUpKTsKKy0gICAgRVhQRUNUX0xUKDE1MDAwMDAwMDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25l ZCBpbnQ+KHNiLnN0X2N0aW1lKSk7CisrICAgIEVYUEVDVF9MVCgxNTAwMDAwMDAwdSwgc3RhdGlj X2Nhc3Q8dW5zaWduZWQgaW50PihzYi5zdF9hdGltZV8pKTsKKysgICAgRVhQRUNUX0xUKDE1MDAw MDAwMDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNiLnN0X210aW1lXykpOworKyAgICBF WFBFQ1RfTFQoMTUwMDAwMDAwMHUsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2Iuc3RfY3Rp bWVfKSk7CisgICB9CisgfQorIAorZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9i cm9rZXIvcmVtb3RlX3N5c2NhbGxfYXJnX2hhbmRsZXJfdW5pdHRlc3QuY2MgYi9zYW5kYm94L2xp bnV4L3N5c2NhbGxfYnJva2VyL3JlbW90ZV9zeXNjYWxsX2FyZ19oYW5kbGVyX3VuaXR0ZXN0LmNj CitpbmRleCBmZmZhOWJiNzA4MmNlLi5mNTE3YTk4NjdjNWRlIDEwMDY0NAorLS0tIGEvc2FuZGJv eC9saW51eC9zeXNjYWxsX2Jyb2tlci9yZW1vdGVfc3lzY2FsbF9hcmdfaGFuZGxlcl91bml0dGVz dC5jYworKysrIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9yZW1vdGVfc3lzY2FsbF9h cmdfaGFuZGxlcl91bml0dGVzdC5jYworQEAgLTE2LDYgKzE2LDcgQEAKKyAjaW5jbHVkZSAiYmFz ZS9tZW1vcnkvcGFnZV9zaXplLmgiCisgI2luY2x1ZGUgImJhc2UvcG9zaXgvdW5peF9kb21haW5f c29ja2V0LmgiCisgI2luY2x1ZGUgImJhc2UvdGVzdC9iaW5kLmgiCisrI2luY2x1ZGUgInNhbmRi b3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3Rl c3RzL3VuaXRfdGVzdHMuaCIKKyAjaW5jbHVkZSAidGVzdGluZy9ndGVzdC9pbmNsdWRlL2d0ZXN0 L2d0ZXN0LmgiCisgCitAQCAtNTIsMTkgKzUzLDYgQEAgdm9pZCBWZXJpZnlDb3JyZWN0U3RyaW5n KHN0ZDo6c3RyaW5nIHN0ciwgc2l6ZV90IHNpemUpIHsKKyAgIH0KKyB9CisgCistdm9pZCogTWFw UGFnZXNPckRpZShzaXplX3QgbnVtX3BhZ2VzKSB7CistICB2b2lkKiBhZGRyID0gbW1hcChudWxs cHRyLCBudW1fcGFnZXMgKiBiYXNlOjpHZXRQYWdlU2l6ZSgpLAorLSAgICAgICAgICAgICAgICAg ICAgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwgTUFQX1BSSVZBVEUgfCBNQVBfQU5PTllNT1VTLCAt MSwgMCk7CistICBQQ0hFQ0soYWRkcik7CistICByZXR1cm4gYWRkcjsKKy19CistCistdm9pZCBN cHJvdGVjdExhc3RQYWdlT3JEaWUoY2hhciogYWRkciwgc2l6ZV90IG51bV9wYWdlcykgeworLSAg c2l6ZV90IGxhc3RfcGFnZV9vZmZzZXQgPSAobnVtX3BhZ2VzIC0gMSkgKiBiYXNlOjpHZXRQYWdl U2l6ZSgpOworLSAgUENIRUNLKG1wcm90ZWN0KGFkZHIgKyBsYXN0X3BhZ2Vfb2Zmc2V0LCBiYXNl OjpHZXRQYWdlU2l6ZSgpLCBQUk9UX05PTkUpID49CistICAgICAgICAgMCk7CistfQorLQorIHBp ZF90IEZvcmtXYWl0aW5nQ2hpbGQoYmFzZTo6T25jZUNhbGxiYWNrPHZvaWQoaW50KT4KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBhZnRlcl9wYXJlbnRfc2lnbmFsc19jYWxsYmFjayA9IGJh c2U6OkRvTm90aGluZygpLAorICAgICAgICAgICAgICAgICAgICAgICAgYmFzZTo6U2NvcGVkRkQq IHBhcmVudF9zeW5jX2ZkID0gbnVsbHB0cikgeworQEAgLTEwNSwxMyArOTMsMTMgQEAgdm9pZCBS ZWFkVGVzdChjb25zdCBSZWFkVGVzdENvbmZpZyYgdGVzdF9jb25maWcpIHsKKyAgIHNpemVfdCB0 b3RhbF9wYWdlcyA9ICh0ZXN0X2NvbmZpZy5zdGFydF9hdCArIHRlc3RfY29uZmlnLnRvdGFsX3Np emUgKworICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2U6OkdldFBhZ2VTaXplKCkgLSAxKSAv CisgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOjpHZXRQYWdlU2l6ZSgpOworLSAgY2hhciog bW1hcF9hZGRyID0gc3RhdGljX2Nhc3Q8Y2hhcio+KE1hcFBhZ2VzT3JEaWUodG90YWxfcGFnZXMp KTsKKysgIGNoYXIqIG1tYXBfYWRkciA9IHN0YXRpY19jYXN0PGNoYXIqPihUZXN0VXRpbHM6Ok1h cFBhZ2VzT3JEaWUodG90YWxfcGFnZXMpKTsKKyAgIGNoYXIqIGFkZHIgPSBtbWFwX2FkZHIgKyB0 ZXN0X2NvbmZpZy5zdGFydF9hdDsKKyAgIEZpbGxCdWZmZXJXaXRoUGF0aChhZGRyLCB0ZXN0X2Nv bmZpZy50b3RhbF9zaXplLAorICAgICAgICAgICAgICAgICAgICAgIHRlc3RfY29uZmlnLmluY2x1 ZGVfbnVsbF9ieXRlKTsKKyAKKyAgIGlmICh0ZXN0X2NvbmZpZy5sYXN0X3BhZ2VfaW5hY2Nlc3Np YmxlKQorLSAgICBNcHJvdGVjdExhc3RQYWdlT3JEaWUobW1hcF9hZGRyLCB0b3RhbF9wYWdlcyk7 CisrICAgIFRlc3RVdGlsczo6TXByb3RlY3RMYXN0UGFnZU9yRGllKG1tYXBfYWRkciwgdG90YWxf cGFnZXMpOworIAorICAgcGlkX3QgcGlkID0gRm9ya1dhaXRpbmdDaGlsZCgpOworICAgbXVubWFw KG1tYXBfYWRkciwgYmFzZTo6R2V0UGFnZVNpemUoKSAqIHRvdGFsX3BhZ2VzKTsKK0BAIC0yMTIs NyArMjAwLDcgQEAgU0FOREJPWF9URVNUKEJyb2tlclJlbW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBS ZWFkQ2h1bmtQbHVzMUVuZGluZ09uZVBhc3RQYWdlKSB7CisgfQorIAorIFNBTkRCT1hfVEVTVChC cm9rZXJSZW1vdGVTeXNjYWxsQXJnSGFuZGxlciwgUmVhZENoaWxkRXhpdGVkKSB7CistICB2b2lk KiBhZGRyID0gTWFwUGFnZXNPckRpZSgxKTsKKysgIHZvaWQqIGFkZHIgPSBUZXN0VXRpbHM6Ok1h cFBhZ2VzT3JEaWUoMSk7CisgICBGaWxsQnVmZmVyV2l0aFBhdGgoc3RhdGljX2Nhc3Q8Y2hhcio+ KGFkZHIpLCBzdHJsZW4oa1BhdGhQYXJ0KSArIDEsIHRydWUpOworIAorICAgYmFzZTo6U2NvcGVk RkQgcGFyZW50X3N5bmMsIGNoaWxkX3N5bmM7CitAQCAtMjQwLDEwICsyMjgsMTAgQEAgU0FOREJP WF9URVNUKEJyb2tlclJlbW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBSZWFkQ2hpbGRFeGl0ZWQpIHsK KyB9CisgCisgU0FOREJPWF9URVNUKEJyb2tlclJlbW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBCYXNp Y1dyaXRlKSB7CistICB2b2lkKiByZWFkX2Zyb20gPSBNYXBQYWdlc09yRGllKDEpOworKyAgdm9p ZCogcmVhZF9mcm9tID0gVGVzdFV0aWxzOjpNYXBQYWdlc09yRGllKDEpOworICAgY29uc3Qgc2l6 ZV90IHdyaXRlX3NpemUgPSBiYXNlOjpHZXRQYWdlU2l6ZSgpOworICAgRmlsbEJ1ZmZlcldpdGhQ YXRoKHN0YXRpY19jYXN0PGNoYXIqPihyZWFkX2Zyb20pLCB3cml0ZV9zaXplLCBmYWxzZSk7Cist ICBjaGFyKiB3cml0ZV90byA9IHN0YXRpY19jYXN0PGNoYXIqPihNYXBQYWdlc09yRGllKDEpKTsK KysgIGNoYXIqIHdyaXRlX3RvID0gc3RhdGljX2Nhc3Q8Y2hhcio+KFRlc3RVdGlsczo6TWFwUGFn ZXNPckRpZSgxKSk7CisgICBiYXNlOjpTY29wZWRGRCBwYXJlbnRfc2lnbmFsX2ZkOworICAgY29u c3Qgc3RkOjp2ZWN0b3I8aW50PiBlbXB0eV9mZF92ZWM7CisgCitAQCAtMjc4LDggKzI2Niw4IEBA IFNBTkRCT1hfVEVTVChCcm9rZXJSZW1vdGVTeXNjYWxsQXJnSGFuZGxlciwgQmFzaWNXcml0ZSkg eworIH0KKyAKKyBTQU5EQk9YX1RFU1QoQnJva2VyUmVtb3RlU3lzY2FsbEFyZ0hhbmRsZXIsIFdy aXRlVG9JbnZhbGlkQWRkcmVzcykgeworLSAgY2hhciogd3JpdGVfdG8gPSBzdGF0aWNfY2FzdDxj aGFyKj4oTWFwUGFnZXNPckRpZSgxKSk7CistICBNcHJvdGVjdExhc3RQYWdlT3JEaWUod3JpdGVf dG8sIDEpOworKyAgY2hhciogd3JpdGVfdG8gPSBzdGF0aWNfY2FzdDxjaGFyKj4oVGVzdFV0aWxz OjpNYXBQYWdlc09yRGllKDEpKTsKKysgIFRlc3RVdGlsczo6TXByb3RlY3RMYXN0UGFnZU9yRGll KHdyaXRlX3RvLCAxKTsKKyAgIGJhc2U6OlNjb3BlZEZEIHBhcmVudF9zaWduYWxfZmQ7CisgICBj b25zdCBzdGQ6OnZlY3RvcjxpbnQ+IGVtcHR5X2ZkX3ZlYzsKKyAKK0BAIC0yOTUsMTEgKzI4Mywx MSBAQCBTQU5EQk9YX1RFU1QoQnJva2VyUmVtb3RlU3lzY2FsbEFyZ0hhbmRsZXIsIFdyaXRlVG9J bnZhbGlkQWRkcmVzcykgeworIH0KKyAKKyBTQU5EQk9YX1RFU1QoQnJva2VyUmVtb3RlU3lzY2Fs bEFyZ0hhbmRsZXIsIFdyaXRlUGFydGlhbGx5VG9JbnZhbGlkQWRkcmVzcykgeworLSAgY2hhciog cmVhZF9mcm9tID0gc3RhdGljX2Nhc3Q8Y2hhcio+KE1hcFBhZ2VzT3JEaWUoMikpOworKyAgY2hh ciogcmVhZF9mcm9tID0gc3RhdGljX2Nhc3Q8Y2hhcio+KFRlc3RVdGlsczo6TWFwUGFnZXNPckRp ZSgyKSk7CisgICBjb25zdCBzaXplX3Qgd3JpdGVfc2l6ZSA9IGJhc2U6OkdldFBhZ2VTaXplKCk7 CisgICBGaWxsQnVmZmVyV2l0aFBhdGgoc3RhdGljX2Nhc3Q8Y2hhcio+KHJlYWRfZnJvbSksIHdy aXRlX3NpemUsIGZhbHNlKTsKKy0gIGNoYXIqIHdyaXRlX3RvID0gc3RhdGljX2Nhc3Q8Y2hhcio+ KE1hcFBhZ2VzT3JEaWUoMikpOworLSAgTXByb3RlY3RMYXN0UGFnZU9yRGllKHdyaXRlX3RvLCAy KTsKKysgIGNoYXIqIHdyaXRlX3RvID0gc3RhdGljX2Nhc3Q8Y2hhcio+KFRlc3RVdGlsczo6TWFw UGFnZXNPckRpZSgyKSk7CisrICBUZXN0VXRpbHM6Ok1wcm90ZWN0TGFzdFBhZ2VPckRpZSh3cml0 ZV90bywgMik7CisgICB3cml0ZV90byArPSBiYXNlOjpHZXRQYWdlU2l6ZSgpIC8gMjsKKyAgIGJh c2U6OlNjb3BlZEZEIHBhcmVudF9zaWduYWxfZmQ7CisgICBjb25zdCBzdGQ6OnZlY3RvcjxpbnQ+ IGVtcHR5X2ZkX3ZlYzsKK0BAIC0zMTQsNyArMzAyLDcgQEAgU0FOREJPWF9URVNUKEJyb2tlclJl bW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBXcml0ZVBhcnRpYWxseVRvSW52YWxpZEFkZHJlc3MpIHsK KyB9CisgCisgU0FOREJPWF9URVNUKEJyb2tlclJlbW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBXcml0 ZUNoaWxkRXhpdGVkKSB7CistICBjaGFyKiBhZGRyID0gc3RhdGljX2Nhc3Q8Y2hhcio+KE1hcFBh Z2VzT3JEaWUoMSkpOworKyAgY2hhciogYWRkciA9IHN0YXRpY19jYXN0PGNoYXIqPihUZXN0VXRp bHM6Ok1hcFBhZ2VzT3JEaWUoMSkpOworICAgRmlsbEJ1ZmZlcldpdGhQYXRoKHN0YXRpY19jYXN0 PGNoYXIqPihhZGRyKSwgc3RybGVuKGtQYXRoUGFydCkgKyAxLCB0cnVlKTsKKyAKKyAgIGJhc2U6 OlNjb3BlZEZEIHBhcmVudF9zeW5jLCBjaGlsZF9zeW5jOworZGlmZiAtLWdpdCBhL3NhbmRib3gv bGludXgvc3lzY2FsbF9icm9rZXIvc3lzY2FsbF9kaXNwYXRjaGVyLmNjIGIvc2FuZGJveC9saW51 eC9zeXNjYWxsX2Jyb2tlci9zeXNjYWxsX2Rpc3BhdGNoZXIuY2MKK2luZGV4IGI5ZWU5M2MxNGFj NTkuLjhhNDIzOTdlZjg3MmUgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJv a2VyL3N5c2NhbGxfZGlzcGF0Y2hlci5jYworKysrIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jy b2tlci9zeXNjYWxsX2Rpc3BhdGNoZXIuY2MKK0BAIC0xOSw4ICsxOSwxOCBAQCBuYW1lc3BhY2Ug c3lzY2FsbF9icm9rZXIgeworICNkZWZpbmUgQlJPS0VSX1VOUE9JU09OX1NUUklORyh4KQorICNl bmRpZgorIAorK2ludCBTeXNjYWxsRGlzcGF0Y2hlcjo6RGVmYXVsdFN0YXRGb3JUZXN0aW5nKGNv bnN0IGNoYXIqIHBhdGhuYW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJvb2wgZm9sbG93X2xpbmtzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc3RhdF9zdHJ1Y3QqIHNiKSB7CisrI2lmIGRlZmlu ZWQoX19OUl9mc3RhdGF0NjQpCisrICByZXR1cm4gU3RhdDY0KHBhdGhuYW1lLCBmb2xsb3dfbGlu a3MsIHNiKTsKKysjZWxpZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkKKysgIHJldHVybiBTdGF0 KHBhdGhuYW1lLCBmb2xsb3dfbGlua3MsIHNiKTsKKysjZW5kaWYKKyt9CisrCisgaW50IFN5c2Nh bGxEaXNwYXRjaGVyOjpQZXJmb3JtU3RhdGF0KGNvbnN0IGFyY2hfc2VjY29tcF9kYXRhJiBhcmdz LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGFyY2g2NCkgewor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHN0YXQ2NCkgeworICAg aWYgKHN0YXRpY19jYXN0PGludD4oYXJncy5hcmdzWzBdKSAhPSBBVF9GRENXRCkKKyAgICAgcmV0 dXJuIC1FUEVSTTsKKyAgIC8vIE9ubHkgYWxsb3cgdGhlIEFUX1NZTUxJTktfTk9GT0xMT1cgZmxh ZyB3aGljaCBpcyB1c2VkIGJ5IHNvbWUgbGliYworQEAgLTMwLDEzICs0MCwyOSBAQCBpbnQgU3lz Y2FsbERpc3BhdGNoZXI6OlBlcmZvcm1TdGF0YXQoY29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFy Z3MsCisgCisgICBjb25zdCBib29sIGZvbGxvd19saW5rcyA9CisgICAgICAgIShzdGF0aWNfY2Fz dDxpbnQ+KGFyZ3MuYXJnc1szXSkgJiBBVF9TWU1MSU5LX05PRk9MTE9XKTsKKy0gIGlmIChhcmNo NjQpIHsKKysgIGlmIChzdGF0NjQpIHsKKyAgICAgcmV0dXJuIFN0YXQ2NChyZWludGVycHJldF9j YXN0PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3NbMV0pLCBmb2xsb3dfbGlua3MsCistICAgICAgICAg ICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc3RhdDY0Kj4oYXJncy5hcmdzWzJdKSk7 CisrICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qga2VybmVsX3N0YXQ2 NCo+KGFyZ3MuYXJnc1syXSkpOworICAgfQorIAorICAgcmV0dXJuIFN0YXQocmVpbnRlcnByZXRf Y2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdzWzFdKSwgZm9sbG93X2xpbmtzLAorLSAgICAgICAg ICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc3RhdCo+KGFyZ3MuYXJnc1syXSkpOworKyAg ICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qga2VybmVsX3N0YXQqPihhcmdzLmFy Z3NbMl0pKTsKKyt9CisrCisraW50IFN5c2NhbGxEaXNwYXRjaGVyOjpQZXJmb3JtVW5saW5rYXQo Y29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MpIHsKKysgIGlmIChzdGF0aWNfY2FzdDxpbnQ+ KGFyZ3MuYXJnc1swXSkgIT0gQVRfRkRDV0QpCisrICAgIHJldHVybiAtRVBFUk07CisrCisrICBp bnQgZmxhZ3MgPSBzdGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJnc1syXSk7CisrCisrICBpZiAoZmxh Z3MgPT0gQVRfUkVNT1ZFRElSKSB7CisrICAgIHJldHVybiBSbWRpcihyZWludGVycHJldF9jYXN0 PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3NbMV0pKTsKKysgIH0KKysKKysgIGlmIChmbGFncyAhPSAw KQorKyAgICByZXR1cm4gLUVQRVJNOworKworKyAgcmV0dXJuIFVubGluayhyZWludGVycHJldF9j YXN0PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3NbMV0pKTsKKyB9CisgCisgaW50IFN5c2NhbGxEaXNw YXRjaGVyOjpEaXNwYXRjaFN5c2NhbGwoY29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MpIHsK K0BAIC0xMjcsNTkgKzE1Myw0MiBAQCBpbnQgU3lzY2FsbERpc3BhdGNoZXI6OkRpc3BhdGNoU3lz Y2FsbChjb25zdCBhcmNoX3NlY2NvbXBfZGF0YSYgYXJncykgeworICNpZiBkZWZpbmVkKF9fTlJf c3RhdCkKKyAgICAgY2FzZSBfX05SX3N0YXQ6CisgICAgICAgcmV0dXJuIFN0YXQocmVpbnRlcnBy ZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdzWzBdKSwgdHJ1ZSwKKy0gICAgICAgICAgICAg ICAgICByZWludGVycHJldF9jYXN0PHN0cnVjdCBzdGF0Kj4oYXJncy5hcmdzWzFdKSk7CisrICAg ICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qga2VybmVsX3N0YXQqPihhcmdz LmFyZ3NbMV0pKTsKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX05SX3N0YXQ2NCkKKyAgICAgY2Fz ZSBfX05SX3N0YXQ2NDoKKyAgICAgICByZXR1cm4gU3RhdDY0KHJlaW50ZXJwcmV0X2Nhc3Q8Y29u c3QgY2hhcio+KGFyZ3MuYXJnc1swXSksIHRydWUsCistICAgICAgICAgICAgICAgICAgICByZWlu dGVycHJldF9jYXN0PHN0cnVjdCBzdGF0NjQqPihhcmdzLmFyZ3NbMV0pKTsKKysgICAgICAgICAg ICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IGtlcm5lbF9zdGF0NjQqPihhcmdzLmFy Z3NbMV0pKTsKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX05SX2xzdGF0KQorICAgICBjYXNlIF9f TlJfbHN0YXQ6CisgICAgICAgLy8gU2VlIGh0dHBzOi8vY3JidWcuY29tLzg0NzA5NgorICAgICAg IEJST0tFUl9VTlBPSVNPTl9TVFJJTkcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJn cy5hcmdzWzBdKSk7CisgICAgICAgcmV0dXJuIFN0YXQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBj aGFyKj4oYXJncy5hcmdzWzBdKSwgZmFsc2UsCistICAgICAgICAgICAgICAgICAgcmVpbnRlcnBy ZXRfY2FzdDxzdHJ1Y3Qgc3RhdCo+KGFyZ3MuYXJnc1sxXSkpOworKyAgICAgICAgICAgICAgICAg IHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IGtlcm5lbF9zdGF0Kj4oYXJncy5hcmdzWzFdKSk7Cisg I2VuZGlmCisgI2lmIGRlZmluZWQoX19OUl9sc3RhdDY0KQorICAgICBjYXNlIF9fTlJfbHN0YXQ2 NDoKKyAgICAgICAvLyBTZWUgaHR0cHM6Ly9jcmJ1Zy5jb20vODQ3MDk2CisgICAgICAgQlJPS0VS X1VOUE9JU09OX1NUUklORyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3Nb MF0pKTsKKyAgICAgICByZXR1cm4gU3RhdDY0KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+ KGFyZ3MuYXJnc1swXSksIGZhbHNlLAorLSAgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRf Y2FzdDxzdHJ1Y3Qgc3RhdDY0Kj4oYXJncy5hcmdzWzFdKSk7CistI2VuZGlmCistI2lmIGRlZmlu ZWQoX19OUl9mc3RhdGF0KQorLSAgICBjYXNlIF9fTlJfZnN0YXRhdDoKKy0gICAgICByZXR1cm4g UGVyZm9ybVN0YXRhdChhcmdzLCAvKmFyY2g2ND0qL2ZhbHNlKTsKKysgICAgICAgICAgICAgICAg ICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IGtlcm5lbF9zdGF0NjQqPihhcmdzLmFyZ3NbMV0p KTsKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX05SX2ZzdGF0YXQ2NCkKKyAgICAgY2FzZSBfX05S X2ZzdGF0YXQ2NDoKKy0gICAgICByZXR1cm4gUGVyZm9ybVN0YXRhdChhcmdzLCAvKmFyY2g2ND0q L3RydWUpOworKyAgICAgIHJldHVybiBQZXJmb3JtU3RhdGF0KGFyZ3MsIC8qc3RhdDY0PSovdHJ1 ZSk7CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19OUl9uZXdmc3RhdGF0KQorICAgICBjYXNlIF9f TlJfbmV3ZnN0YXRhdDoKKy0gICAgICByZXR1cm4gUGVyZm9ybVN0YXRhdChhcmdzLCAvKmFyY2g2 ND0qL2ZhbHNlKTsKKysgICAgICByZXR1cm4gUGVyZm9ybVN0YXRhdChhcmdzLCAvKnN0YXQ2ND0q L2ZhbHNlKTsKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX05SX3VubGluaykKKyAgICAgY2FzZSBf X05SX3VubGluazoKKyAgICAgICByZXR1cm4gVW5saW5rKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qg Y2hhcio+KGFyZ3MuYXJnc1swXSkpOworICNlbmRpZgorICNpZiBkZWZpbmVkKF9fTlJfdW5saW5r YXQpCistICAgIGNhc2UgX19OUl91bmxpbmthdDogeworLSAgICAgIGlmIChzdGF0aWNfY2FzdDxp bnQ+KGFyZ3MuYXJnc1swXSkgIT0gQVRfRkRDV0QpCistICAgICAgICByZXR1cm4gLUVQRVJNOwor LQorLSAgICAgIGludCBmbGFncyA9IHN0YXRpY19jYXN0PGludD4oYXJncy5hcmdzWzJdKTsKKy0K Ky0gICAgICBpZiAoZmxhZ3MgPT0gQVRfUkVNT1ZFRElSKSB7CistICAgICAgICByZXR1cm4gUm1k aXIocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdzWzFdKSk7CistICAgICAg fQorLQorLSAgICAgIGlmIChmbGFncyAhPSAwKQorLSAgICAgICAgcmV0dXJuIC1FUEVSTTsKKy0K Ky0gICAgICByZXR1cm4gVW5saW5rKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3Mu YXJnc1sxXSkpOworLSAgICB9CisrICAgIGNhc2UgX19OUl91bmxpbmthdDoKKysgICAgICByZXR1 cm4gUGVyZm9ybVVubGlua2F0KGFyZ3MpOworICNlbmRpZiAgLy8gZGVmaW5lZChfX05SX3VubGlu a2F0KQorICAgICBkZWZhdWx0OgorICAgICAgIFJBV19DSEVDSyhmYWxzZSk7CitkaWZmIC0tZ2l0 IGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9zeXNjYWxsX2Rpc3BhdGNoZXIuaCBiL3Nh bmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvc3lzY2FsbF9kaXNwYXRjaGVyLmgKK2luZGV4IGQ4 Yjg4NzRhZDljZTQuLjFkNjY1M2NhZjNiZDIgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3N5 c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0Y2hlci5oCisrKysgYi9zYW5kYm94L2xpbnV4L3N5 c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0Y2hlci5oCitAQCAtOSwxMyArOSwxNSBAQAorICNp bmNsdWRlIDxjc3RkZGVmPgorIAorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFk ZXJzL2xpbnV4X3NlY2NvbXAuaCIKKysjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVh ZGVycy9saW51eF9zdGF0LmgiCisrI2luY2x1ZGUgInNhbmRib3gvc2FuZGJveF9leHBvcnQuaCIK KyAKKyBuYW1lc3BhY2Ugc2FuZGJveCB7CisgbmFtZXNwYWNlIHN5c2NhbGxfYnJva2VyIHsKKyAK KyAvLyBBbiBhYnN0cmFjdCBjbGFzcyB0aGF0IGRlZmluZXMgYWxsIHRoZSBzeXN0ZW0gY2FsbHMg d2UgcGVyZm9ybSBmb3IgdGhlCisgLy8gc2FuZGJveGVkIHByb2Nlc3MuCistY2xhc3MgU3lzY2Fs bERpc3BhdGNoZXIgeworK2NsYXNzIFNBTkRCT1hfRVhQT1JUIFN5c2NhbGxEaXNwYXRjaGVyIHsK KyAgcHVibGljOgorICAgLy8gRW11bGF0ZXMgYWNjZXNzKCkvZmFjY2Vzc2F0KCkuCisgICAvLyBY X09LIHdpbGwgYWx3YXlzIHJldHVybiBhbiBlcnJvciBpbiBwcmFjdGljZSBzaW5jZSB0aGUgYnJv a2VyIHByb2Nlc3MKK0BAIC00MCwxOSArNDIsMzQgQEAgY2xhc3MgU3lzY2FsbERpc3BhdGNoZXIg eworICAgdmlydHVhbCBpbnQgUm1kaXIoY29uc3QgY2hhciogcGF0aCkgY29uc3QgPSAwOworIAor ICAgLy8gRW11bGF0ZXMgc3RhdCgpL3N0YXQ2NCgpL2xzdGF0KCkvbHN0YXQ2NCgpL2ZzdGF0YXQo KS9uZXdmc3RhdGF0KCkuCisrICAvLyBTdGF0NjQgaXMgb25seSBhdmFpbGFibGUgb24gMzItYml0 IHN5c3RlbXMuCisgICB2aXJ0dWFsIGludCBTdGF0KGNvbnN0IGNoYXIqIHBhdGhuYW1lLAorICAg ICAgICAgICAgICAgICAgICBib29sIGZvbGxvd19saW5rcywKKy0gICAgICAgICAgICAgICAgICAg c3RydWN0IHN0YXQqIHNiKSBjb25zdCA9IDA7CisrICAgICAgICAgICAgICAgICAgIHN0cnVjdCBr ZXJuZWxfc3RhdCogc2IpIGNvbnN0ID0gMDsKKyAgIHZpcnR1YWwgaW50IFN0YXQ2NChjb25zdCBj aGFyKiBwYXRobmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICBib29sIGZvbGxvd19saW5rcywK Ky0gICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3RhdDY0KiBzYikgY29uc3QgPSAwOworKyAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfc3RhdDY0KiBzYikgY29uc3QgPSAwOwor IAorICAgLy8gRW11bGF0ZXMgdW5saW5rKCkvdW5saW5rYXQoKS4KKyAgIHZpcnR1YWwgaW50IFVu bGluayhjb25zdCBjaGFyKiB1bmxpbmspIGNvbnN0ID0gMDsKKyAKKysgIC8vIERpZmZlcmVudCBh cmNoaXRlY3R1cmVzIHVzZSBhIGRpZmZlcmVudCBzeXNjYWxsIGZyb20gdGhlIHN0YXQgZmFtaWx5 IGJ5CisrICAvLyBkZWZhdWx0IGluIGdsaWJjLiBFLmcuIDMyLWJpdCBzeXN0ZW1zIHVzZSAqc3Rh dCo2NCgpIGFuZCBmaWxsIG91dCBzdHJ1Y3QKKysgIC8vIGtlcm5lbF9zdGF0NjQsIHdoZXJlYXMg NjQtYml0IHN5c3RlbXMgdXNlICpzdGF0KigpIGFuZCBmaWxsIG91dCBzdHJ1Y3QKKysgIC8vIGtl cm5lbF9zdGF0LiBTb21lIHRlc3RzIHdhbnQgdG8gY2FsbCB0aGUgU3lzY2FsbERpc3BhdGNoZXIg ZGlyZWN0bHksIGFuZAorKyAgLy8gc2hvdWxkIGJlIHVzaW5nIHRoZSBkZWZhdWx0IHN0YXQgaW4g b3JkZXIgdG8gdGVzdCBhZ2FpbnN0IGdsaWJjLgorKyAgaW50IERlZmF1bHRTdGF0Rm9yVGVzdGlu Zyhjb25zdCBjaGFyKiBwYXRobmFtZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v bCBmb2xsb3dfbGlua3MsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc3Rh dF9zdHJ1Y3QqIHNiKTsKKysKKyAgIC8vIFZhbGlkYXRlcyB0aGUgYXJncyBwYXNzZWQgdG8gYSAq c3RhdGF0KigpIHN5c2NhbGwgYW5kIHBlcmZvcm1zIHRoZSBzeXNjYWxsCistICAvLyB1c2luZyBT dGF0KCkgb3IgU3RhdDY0KCkuCistICBpbnQgUGVyZm9ybVN0YXRhdChjb25zdCBhcmNoX3NlY2Nv bXBfZGF0YSYgYXJncywgYm9vbCBhcmNoNjQpOworKyAgLy8gdXNpbmcgU3RhdCgpLCBvciBvbiAz Mi1iaXQgc3lzdGVtcyBpdCB1c2VzIFN0YXQ2NCgpIGZvciB0aGUgKnN0YXRhdDY0KCkKKysgIC8v IHN5c2NhbGxzLgorKyAgaW50IFBlcmZvcm1TdGF0YXQoY29uc3QgYXJjaF9zZWNjb21wX2RhdGEm IGFyZ3MsIGJvb2wgc3RhdDY0KTsKKysKKysgIC8vIFZhbGlkYXRlcyB0aGUgYXJncyBwYXNzZWQg dG8gYW4gdW5saW5rYXQoKSBzeXNjYWxsIGFuZCBwZXJmb3JtcyB0aGUgc3lzY2FsbAorKyAgLy8g dXNpbmcgZWl0aGVyIFVubGluaygpIG9yIFJtZGlyKCkuCisrICBpbnQgUGVyZm9ybVVubGlua2F0 KGNvbnN0IGFyY2hfc2VjY29tcF9kYXRhJiBhcmdzKTsKKyAKKyAgIC8vIFJlYWRzIHRoZSBzeXNj YWxsIG51bWJlciBhbmQgYXJndW1lbnRzLCBpbXBvc2VzIHNvbWUgcG9saWN5IChlLmcuIHRoZSAq YXQoKQorICAgLy8gc3lzdGVtIGNhbGxzIG11c3Qgb25seSBhbGxvdyBBVF9GRENXRCBhcyB0aGUg Zmlyc3QgYXJndW1lbnQpLCBhbmQKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3N5c3RlbV9o ZWFkZXJzL2xpbnV4X3N0YXQuaCBiL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhf c3RhdC5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAwMC4uMzU3ODhl YjIyYTRlNQorLS0tIC9kZXYvbnVsbAorKysrIGIvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVy cy9saW51eF9zdGF0LmgKK0BAIC0wLDAgKzEsMTg4IEBACisrLy8gQ29weXJpZ2h0IDIwMjEgVGhl IENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMg c291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBi ZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisrCisrI2lmbmRlZiBTQU5EQk9YX0xJ TlVYX1NZU1RFTV9IRUFERVJTX0xJTlVYX1NUQVRfSF8KKysjZGVmaW5lIFNBTkRCT1hfTElOVVhf U1lTVEVNX0hFQURFUlNfTElOVVhfU1RBVF9IXworKworKyNpbmNsdWRlIDxzdGRpbnQuaD4KKysK KysjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCisrI2luY2x1ZGUgInNhbmRib3gvbGlu dXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaCIKKysKKysjaWYgZGVmaW5lZChBUkNI X0NQVV9NSVBTX0ZBTUlMWSkKKysjaWYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKQorK3N0cnVj dCBrZXJuZWxfc3RhdCB7CisrI2Vsc2UKKytzdHJ1Y3Qga2VybmVsX3N0YXQ2NCB7CisrI2VuZGlm CisrICB1bnNpZ25lZCBzdF9kZXY7CisrICB1bnNpZ25lZCBfX3BhZDBbM107CisrICB1bnNpZ25l ZCBsb25nIGxvbmcgc3RfaW5vOworKyAgdW5zaWduZWQgc3RfbW9kZTsKKysgIHVuc2lnbmVkIHN0 X25saW5rOworKyAgdW5zaWduZWQgc3RfdWlkOworKyAgdW5zaWduZWQgc3RfZ2lkOworKyAgdW5z aWduZWQgc3RfcmRldjsKKysgIHVuc2lnbmVkIF9fcGFkMVszXTsKKysgIGxvbmcgbG9uZyBzdF9z aXplOworKyAgdW5zaWduZWQgc3RfYXRpbWVfOworKyAgdW5zaWduZWQgc3RfYXRpbWVfbnNlY187 CisrICB1bnNpZ25lZCBzdF9tdGltZV87CisrICB1bnNpZ25lZCBzdF9tdGltZV9uc2VjXzsKKysg IHVuc2lnbmVkIHN0X2N0aW1lXzsKKysgIHVuc2lnbmVkIHN0X2N0aW1lX25zZWNfOworKyAgdW5z aWduZWQgc3RfYmxrc2l6ZTsKKysgIHVuc2lnbmVkIF9fcGFkMjsKKysgIHVuc2lnbmVkIGxvbmcg bG9uZyBzdF9ibG9ja3M7CisrfTsKKysjZWxzZQorK3N0cnVjdCBrZXJuZWxfc3RhdDY0IHsKKysg IHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9kZXY7CisrICB1bnNpZ25lZCBjaGFyIF9fcGFkMFs0XTsK KysgIHVuc2lnbmVkIF9fc3RfaW5vOworKyAgdW5zaWduZWQgc3RfbW9kZTsKKysgIHVuc2lnbmVk IHN0X25saW5rOworKyAgdW5zaWduZWQgc3RfdWlkOworKyAgdW5zaWduZWQgc3RfZ2lkOworKyAg dW5zaWduZWQgbG9uZyBsb25nIHN0X3JkZXY7CisrICB1bnNpZ25lZCBjaGFyIF9fcGFkM1s0XTsK KysgIGxvbmcgbG9uZyBzdF9zaXplOworKyAgdW5zaWduZWQgc3RfYmxrc2l6ZTsKKysgIHVuc2ln bmVkIGxvbmcgbG9uZyBzdF9ibG9ja3M7CisrICB1bnNpZ25lZCBzdF9hdGltZV87CisrICB1bnNp Z25lZCBzdF9hdGltZV9uc2VjXzsKKysgIHVuc2lnbmVkIHN0X210aW1lXzsKKysgIHVuc2lnbmVk IHN0X210aW1lX25zZWNfOworKyAgdW5zaWduZWQgc3RfY3RpbWVfOworKyAgdW5zaWduZWQgc3Rf Y3RpbWVfbnNlY187CisrICB1bnNpZ25lZCBsb25nIGxvbmcgc3RfaW5vOworK307CisrI2VuZGlm CisrCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19BUk1fQVJDSF8zX18pIHx8 IGRlZmluZWQoX19BUk1fRUFCSV9fKQorK3N0cnVjdCBrZXJuZWxfc3RhdCB7CisrICAvKiBUaGUg a2VybmVsIGhlYWRlcnMgc3VnZ2VzdCB0aGF0IHN0X2RldiBhbmQgc3RfcmRldiBzaG91bGQgYmUg MzJiaXQKKysgICAqIHF1YW50aXRpZXMgZW5jb2RpbmcgMTJiaXQgbWFqb3IgYW5kIDIwYml0IG1p bm9yIG51bWJlcnMgaW4gYW4gaW50ZXJsZWF2ZWQKKysgICAqIGZvcm1hdC4gSW4gcmVhbGl0eSwg d2UgZG8gbm90IHNlZSB1c2VmdWwgZGF0YSBpbiB0aGUgdG9wIGJpdHMuIFNvLAorKyAgICogd2Un bGwgbGVhdmUgdGhlIHBhZGRpbmcgaW4gaGVyZSwgdW50aWwgd2UgZmluZCBhIGJldHRlciBzb2x1 dGlvbi4KKysgICAqLworKyAgdW5zaWduZWQgc2hvcnQgc3RfZGV2OworKyAgc2hvcnQgcGFkMTsK KysgIHVuc2lnbmVkIHN0X2lubzsKKysgIHVuc2lnbmVkIHNob3J0IHN0X21vZGU7CisrICB1bnNp Z25lZCBzaG9ydCBzdF9ubGluazsKKysgIHVuc2lnbmVkIHNob3J0IHN0X3VpZDsKKysgIHVuc2ln bmVkIHNob3J0IHN0X2dpZDsKKysgIHVuc2lnbmVkIHNob3J0IHN0X3JkZXY7CisrICBzaG9ydCBw YWQyOworKyAgdW5zaWduZWQgc3Rfc2l6ZTsKKysgIHVuc2lnbmVkIHN0X2Jsa3NpemU7CisrICB1 bnNpZ25lZCBzdF9ibG9ja3M7CisrICB1bnNpZ25lZCBzdF9hdGltZV87CisrICB1bnNpZ25lZCBz dF9hdGltZV9uc2VjXzsKKysgIHVuc2lnbmVkIHN0X210aW1lXzsKKysgIHVuc2lnbmVkIHN0X210 aW1lX25zZWNfOworKyAgdW5zaWduZWQgc3RfY3RpbWVfOworKyAgdW5zaWduZWQgc3RfY3RpbWVf bnNlY187CisrICB1bnNpZ25lZCBfX3VudXNlZDQ7CisrICB1bnNpZ25lZCBfX3VudXNlZDU7Cisr fTsKKysjZWxpZiBkZWZpbmVkKF9feDg2XzY0X18pCisrc3RydWN0IGtlcm5lbF9zdGF0IHsKKysg IHVpbnQ2NF90IHN0X2RldjsKKysgIHVpbnQ2NF90IHN0X2lubzsKKysgIHVpbnQ2NF90IHN0X25s aW5rOworKyAgdW5zaWduZWQgc3RfbW9kZTsKKysgIHVuc2lnbmVkIHN0X3VpZDsKKysgIHVuc2ln bmVkIHN0X2dpZDsKKysgIHVuc2lnbmVkIF9fcGFkMDsKKysgIHVpbnQ2NF90IHN0X3JkZXY7Cisr ICBpbnQ2NF90IHN0X3NpemU7CisrICBpbnQ2NF90IHN0X2Jsa3NpemU7CisrICBpbnQ2NF90IHN0 X2Jsb2NrczsKKysgIHVpbnQ2NF90IHN0X2F0aW1lXzsKKysgIHVpbnQ2NF90IHN0X2F0aW1lX25z ZWNfOworKyAgdWludDY0X3Qgc3RfbXRpbWVfOworKyAgdWludDY0X3Qgc3RfbXRpbWVfbnNlY187 CisrICB1aW50NjRfdCBzdF9jdGltZV87CisrICB1aW50NjRfdCBzdF9jdGltZV9uc2VjXzsKKysg IGludDY0X3QgX191bnVzZWQ0WzNdOworK307CisrI2VsaWYgKGRlZmluZWQoQVJDSF9DUFVfTUlQ U19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisrc3RydWN0IGtlcm5lbF9z dGF0IHsKKysgIHVuc2lnbmVkIHN0X2RldjsKKysgIGludCBzdF9wYWQxWzNdOworKyAgdW5zaWdu ZWQgc3RfaW5vOworKyAgdW5zaWduZWQgc3RfbW9kZTsKKysgIHVuc2lnbmVkIHN0X25saW5rOwor KyAgdW5zaWduZWQgc3RfdWlkOworKyAgdW5zaWduZWQgc3RfZ2lkOworKyAgdW5zaWduZWQgc3Rf cmRldjsKKysgIGludCBzdF9wYWQyWzJdOworKyAgbG9uZyBzdF9zaXplOworKyAgaW50IHN0X3Bh ZDM7CisrICBsb25nIHN0X2F0aW1lXzsKKysgIGxvbmcgc3RfYXRpbWVfbnNlY187CisrICBsb25n IHN0X210aW1lXzsKKysgIGxvbmcgc3RfbXRpbWVfbnNlY187CisrICBsb25nIHN0X2N0aW1lXzsK KysgIGxvbmcgc3RfY3RpbWVfbnNlY187CisrICBpbnQgc3RfYmxrc2l6ZTsKKysgIGludCBzdF9i bG9ja3M7CisrICBpbnQgc3RfcGFkNFsxNF07CisrfTsKKysjZWxpZiBkZWZpbmVkKF9fYWFyY2g2 NF9fKQorK3N0cnVjdCBrZXJuZWxfc3RhdCB7CisrICB1bnNpZ25lZCBsb25nIHN0X2RldjsKKysg IHVuc2lnbmVkIGxvbmcgc3RfaW5vOworKyAgdW5zaWduZWQgaW50IHN0X21vZGU7CisrICB1bnNp Z25lZCBpbnQgc3Rfbmxpbms7CisrICB1bnNpZ25lZCBpbnQgc3RfdWlkOworKyAgdW5zaWduZWQg aW50IHN0X2dpZDsKKysgIHVuc2lnbmVkIGxvbmcgc3RfcmRldjsKKysgIHVuc2lnbmVkIGxvbmcg X19wYWQxOworKyAgbG9uZyBzdF9zaXplOworKyAgaW50IHN0X2Jsa3NpemU7CisrICBpbnQgX19w YWQyOworKyAgbG9uZyBzdF9ibG9ja3M7CisrICBsb25nIHN0X2F0aW1lXzsKKysgIHVuc2lnbmVk IGxvbmcgc3RfYXRpbWVfbnNlY187CisrICBsb25nIHN0X210aW1lXzsKKysgIHVuc2lnbmVkIGxv bmcgc3RfbXRpbWVfbnNlY187CisrICBsb25nIHN0X2N0aW1lXzsKKysgIHVuc2lnbmVkIGxvbmcg c3RfY3RpbWVfbnNlY187CisrICB1bnNpZ25lZCBpbnQgX191bnVzZWQ0OworKyAgdW5zaWduZWQg aW50IF9fdW51c2VkNTsKKyt9OworKyNlbmRpZgorKworKy8vIE9uIDMyLWJpdCBzeXN0ZW1zLCB3 ZSBkZWZhdWx0IHRvIHRoZSA2NC1iaXQgc3RhdCBzdHJ1Y3QgbGlrZSBsaWJjCisrLy8gaW1wbGVt ZW50YXRpb25zIGRvLiBPdGhlcndpc2Ugd2UgZGVmYXVsdCB0byB0aGUgbm9ybWFsIHN0YXQgc3Ry dWN0IHdoaWNoIGlzCisrLy8gYWxyZWFkeSA2NC1iaXQuCisrLy8gVGhlc2UgZGVmaW5lcyBtYWtl IGl0IGVhc3kgdG8gY2FsbCB0aGUgcmlnaHQgc3lzY2FsbCB0byBmaWxsIG91dCBhIDY0LWJpdAor Ky8vIHN0YXQgc3RydWN0LCB3aGljaCBpcyB0aGUgZGVmYXVsdCBpbiBsaWJjIGltcGxlbWVudGF0 aW9ucyBidXQgcmVxdWlyZXMKKysvLyBkaWZmZXJlbnQgc3lzY2FsbCBuYW1lcyBvbiAzMiBhbmQg NjQtYml0IHBsYXRmb3Jtcy4KKysjaWYgZGVmaW5lZChfX05SX2ZzdGF0YXQ2NCkKKysKKytuYW1l c3BhY2Ugc2FuZGJveCB7CisrdXNpbmcgZGVmYXVsdF9zdGF0X3N0cnVjdCA9IHN0cnVjdCBrZXJu ZWxfc3RhdDY0OworK30gIC8vIG5hbWVzcGFjZSBzYW5kYm94CisrCisrI2RlZmluZSBfX05SX2Zz dGF0YXRfZGVmYXVsdCBfX05SX2ZzdGF0YXQ2NAorKyNkZWZpbmUgX19OUl9mc3RhdF9kZWZhdWx0 IF9fTlJfZnN0YXQ2NAorKworKyNlbGlmIGRlZmluZWQoX19OUl9uZXdmc3RhdGF0KQorKworK25h bWVzcGFjZSBzYW5kYm94IHsKKyt1c2luZyBkZWZhdWx0X3N0YXRfc3RydWN0ID0gc3RydWN0IGtl cm5lbF9zdGF0OworK30gIC8vIG5hbWVzcGFjZSBzYW5kYm94CisrCisrI2RlZmluZSBfX05SX2Zz dGF0YXRfZGVmYXVsdCBfX05SX25ld2ZzdGF0YXQKKysjZGVmaW5lIF9fTlJfZnN0YXRfZGVmYXVs dCBfX05SX2ZzdGF0CisrCisrI2Vsc2UKKysjZXJyb3IgIm9uZSBvZiBmc3RhdGF0NjQgYW5kIG5l d2ZzdGF0YXQgbXVzdCBiZSBkZWZpbmVkIgorKyNlbmRpZgorKworKyNlbmRpZiAgLy8gU0FOREJP WF9MSU5VWF9TWVNURU1fSEVBREVSU19MSU5VWF9TVEFUX0hfCitkaWZmIC0tZ2l0IGEvc2FuZGJv eC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF90aW1lLmggYi9zYW5kYm94L2xpbnV4L3N5c3Rl bV9oZWFkZXJzL2xpbnV4X3RpbWUuaAoraW5kZXggNzgwZjI0ZGRkZDlmYS4uZjE4YzgwNjYxMWY4 MyAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfdGltZS5o CisrKysgYi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3RpbWUuaAorQEAgLTEx LDYgKzExLDMyIEBACisgI2RlZmluZSBDUFVDTE9DS19DTE9DS19NQVNLIDMKKyAjZW5kaWYKKyAK KysjaWYgIWRlZmluZWQoQ1BVQ0xPQ0tfUFJPRikKKysjZGVmaW5lIENQVUNMT0NLX1BST0YgMAor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChDUFVDTE9DS19WSVJUKQorKyNkZWZpbmUgQ1BVQ0xP Q0tfVklSVCAxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKENQVUNMT0NLX1NDSEVEKQorKyNk ZWZpbmUgQ1BVQ0xPQ0tfU0NIRUQgMgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChDUFVDTE9D S19QRVJUSFJFQURfTUFTSykKKysjZGVmaW5lIENQVUNMT0NLX1BFUlRIUkVBRF9NQVNLIDQKKysj ZW5kaWYKKysKKysjaWYgIWRlZmluZWQoTUFLRV9QUk9DRVNTX0NQVUNMT0NLKQorKyNkZWZpbmUg TUFLRV9QUk9DRVNTX0NQVUNMT0NLKHBpZCwgY2xvY2spIFwKKysgICgoaW50KSh+KHVuc2lnbmVk KShwaWQpIDw8IDMpIHwgKGludCkoY2xvY2spKQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChN QUtFX1RIUkVBRF9DUFVDTE9DSykKKysjZGVmaW5lIE1BS0VfVEhSRUFEX0NQVUNMT0NLKHRpZCwg Y2xvY2spIFwKKysgICgoaW50KSh+KHVuc2lnbmVkKSh0aWQpIDw8IDMpIHwgKGludCkoKGNsb2Nr KSB8IENQVUNMT0NLX1BFUlRIUkVBRF9NQVNLKSkKKysjZW5kaWYKKysKKyAjaWYgIWRlZmluZWQo Q0xPQ0tGRCkKKyAjZGVmaW5lIENMT0NLRkQgMworICNlbmRpZgorZGlmZiAtLWdpdCBhL3NhbmRi b3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5jYyBiL3NhbmRib3gvbGludXgvdGVzdHMvdGVzdF91 dGlscy5jYworaW5kZXggODQ3YzIwYjIwYzVkMi4uY2Y2MDQxYTRiNDc2YSAxMDA2NDQKKy0tLSBh L3NhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5jYworKysrIGIvc2FuZGJveC9saW51eC90 ZXN0cy90ZXN0X3V0aWxzLmNjCitAQCAtNSwxMiArNSwxNCBAQAorICNpbmNsdWRlICJzYW5kYm94 L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaCIKKyAKKyAjaW5jbHVkZSA8ZXJybm8uaD4KKysjaW5j bHVkZSA8c3lzL21tYW4uaD4KKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyAjaW5jbHVkZSA8c3lz L3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgor IAorICNpbmNsdWRlICJiYXNlL2NoZWNrX29wLmgiCisrI2luY2x1ZGUgImJhc2UvbWVtb3J5L3Bh Z2Vfc2l6ZS5oIgorICNpbmNsdWRlICJiYXNlL3Bvc2l4L2VpbnRyX3dyYXBwZXIuaCIKKyAKKyBu YW1lc3BhY2Ugc2FuZGJveCB7CitAQCAtMzksNCArNDEsMTcgQEAgdm9pZCBUZXN0VXRpbHM6Okhh bmRsZVBvc3RGb3JrUmV0dXJuKHBpZF90IHBpZCkgeworICAgfQorIH0KKyAKKyt2b2lkKiBUZXN0 VXRpbHM6Ok1hcFBhZ2VzT3JEaWUoc2l6ZV90IG51bV9wYWdlcykgeworKyAgdm9pZCogYWRkciA9 IG1tYXAobnVsbHB0ciwgbnVtX3BhZ2VzICogYmFzZTo6R2V0UGFnZVNpemUoKSwKKysgICAgICAg ICAgICAgICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9QUklWQVRFIHwgTUFQX0FO T05ZTU9VUywgLTEsIDApOworKyAgUENIRUNLKGFkZHIpOworKyAgcmV0dXJuIGFkZHI7CisrfQor KworK3ZvaWQgVGVzdFV0aWxzOjpNcHJvdGVjdExhc3RQYWdlT3JEaWUoY2hhciogYWRkciwgc2l6 ZV90IG51bV9wYWdlcykgeworKyAgc2l6ZV90IGxhc3RfcGFnZV9vZmZzZXQgPSAobnVtX3BhZ2Vz IC0gMSkgKiBiYXNlOjpHZXRQYWdlU2l6ZSgpOworKyAgUENIRUNLKG1wcm90ZWN0KGFkZHIgKyBs YXN0X3BhZ2Vfb2Zmc2V0LCBiYXNlOjpHZXRQYWdlU2l6ZSgpLCBQUk9UX05PTkUpID49CisrICAg ICAgICAgMCk7CisrfQorKworIH0gIC8vIG5hbWVzcGFjZSBzYW5kYm94CitkaWZmIC0tZ2l0IGEv c2FuZGJveC9saW51eC90ZXN0cy90ZXN0X3V0aWxzLmggYi9zYW5kYm94L2xpbnV4L3Rlc3RzL3Rl c3RfdXRpbHMuaAoraW5kZXggN2NmOTc0OWZlNGYxZi4uNDNiMDI4YjFlMzRlZiAxMDA2NDQKKy0t LSBhL3NhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5oCisrKysgYi9zYW5kYm94L2xpbnV4 L3Rlc3RzL3Rlc3RfdXRpbHMuaAorQEAgLTE5LDYgKzE5LDggQEAgY2xhc3MgVGVzdFV0aWxzIHsK KyAgIC8vIG1ha2VzIHN1cmUgdGhhdCBpZiBmb3JrKCkgc3VjY2VlZGVkIHRoZSBjaGlsZCBleGl0 cworICAgLy8gYW5kIHRoZSBwYXJlbnQgd2FpdHMgZm9yIGl0LgorICAgc3RhdGljIHZvaWQgSGFu ZGxlUG9zdEZvcmtSZXR1cm4ocGlkX3QgcGlkKTsKKysgIHN0YXRpYyB2b2lkKiBNYXBQYWdlc09y RGllKHNpemVfdCBudW1fcGFnZXMpOworKyAgc3RhdGljIHZvaWQgTXByb3RlY3RMYXN0UGFnZU9y RGllKGNoYXIqIGFkZHIsIHNpemVfdCBudW1fcGFnZXMpOworIAorICBwcml2YXRlOgorICAgRElT QUxMT1dfSU1QTElDSVRfQ09OU1RSVUNUT1JTKFRlc3RVdGlscyk7CitkaWZmIC0tZ2l0IGEvc2Fu ZGJveC9wb2xpY3kvbGludXgvYnBmX2Jyb2tlcl9wb2xpY3lfbGludXguY2MgYi9zYW5kYm94L3Bv bGljeS9saW51eC9icGZfYnJva2VyX3BvbGljeV9saW51eC5jYworaW5kZXggMjk2M2JiOWNhODYx Mi4uNmRjOGMwNTgxYjQzYyAxMDA2NDQKKy0tLSBhL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9i cm9rZXJfcG9saWN5X2xpbnV4LmNjCisrKysgYi9zYW5kYm94L3BvbGljeS9saW51eC9icGZfYnJv a2VyX3BvbGljeV9saW51eC5jYworQEAgLTkzLDggKzkzLDggQEAgUmVzdWx0RXhwciBCcm9rZXJQ cm9jZXNzUG9saWN5OjpFdmFsdWF0ZVN5c2NhbGwoaW50IHN5c25vKSBjb25zdCB7CisgICAgICAg ICByZXR1cm4gQWxsb3coKTsKKyAgICAgICBicmVhazsKKyAjZW5kaWYKKy0jaWYgZGVmaW5lZChf X05SX2ZzdGF0YXQpCistICAgIGNhc2UgX19OUl9mc3RhdGF0OgorKyNpZiBkZWZpbmVkKF9fTlJf ZnN0YXRhdDY0KQorKyAgICBjYXNlIF9fTlJfZnN0YXRhdDY0OgorICAgICAgIGlmIChhbGxvd2Vk X2NvbW1hbmRfc2V0Xy50ZXN0KHN5c2NhbGxfYnJva2VyOjpDT01NQU5EX1NUQVQpKQorICAgICAg ICAgcmV0dXJuIEFsbG93KCk7CisgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvbWFrZS1kb20tZGlzdGlsbGVyLXByb3RvYy1wbHVnaW4tY2FsbC1weTIu Ny5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9tYWtlLWRvbS1kaXN0aWxsZXItcHJv dG9jLXBsdWdpbi1jYWxsLXB5Mi43LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAyYTYxMDBmOTIwODcuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvbWFrZS1kb20tZGlzdGlsbGVyLXByb3RvYy1wbHVnaW4tY2FsbC1weTIuNy5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLUZyb20gMzU5YjIyZDNmNzc1YWZhMzNjY2E5ZTRm OGZiNTdlYWRkMGVjNDExOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5pY28gV2Vi ZXIgPHRoYWtpc0BjaHJvbWl1bS5vcmc+Ci1EYXRlOiBGcmksIDIzIEFwciAyMDIxIDE2OjIyOjE5 ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIE1ha2UgZG9tIGRpc3RpbGxlciBwcm90b2MgcGx1Z2lu IGV4cGxpY2l0bHkgY2FsbCBweTIuNwotCi1XaXRoIHRoaXMsIGNocm9tZSBidWlsZHMgd2l0aCB3 aGVuIGAvdXNyL2Jpbi9lbnYgcHl0aG9uYCBpcyBweTMuCi0KLUJ1ZzogMTIwMjEzNAotQ2hhbmdl LUlkOiBJYmJkOTdhMTMxMWNjYjM0ZDQ2ZjI2NjkxMmM4NzFmZDA1MjJmOTUzNQotUmV2aWV3ZWQt b246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9z cmMvKy8yODQ4NDQ1Ci1Db21taXQtUXVldWU6IE5pY28gV2ViZXIgPHRoYWtpc0BjaHJvbWl1bS5v cmc+Ci1Db21taXQtUXVldWU6IFlhcm9uIEZyaWVkbWFuIDx5ZnJpZWRtYW5AY2hyb21pdW0ub3Jn PgotQ29tbWl0LVF1ZXVlOiBEaXJrIFByYW5rZSA8ZHByYW5rZUBnb29nbGUuY29tPgotQXV0by1T dWJtaXQ6IE5pY28gV2ViZXIgPHRoYWtpc0BjaHJvbWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTogWWFy b24gRnJpZWRtYW4gPHlmcmllZG1hbkBjaHJvbWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTogRGlyayBQ cmFua2UgPGRwcmFua2VAZ29vZ2xlLmNvbT4KLUNyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFk cy9tYXN0ZXJAeyM4NzU3MDJ9Ci0tLS0KLSAuLi4vZG9tX2Rpc3RpbGxlcl9qcy9wcm90b2NfcGx1 Z2lucy9qc29uX3ZhbHVlc19jb252ZXJ0ZXIucHkgfCA1ICsrKystCi0gMSBmaWxlIGNoYW5nZWQs IDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFy dHkvZG9tX2Rpc3RpbGxlcl9qcy9wcm90b2NfcGx1Z2lucy9qc29uX3ZhbHVlc19jb252ZXJ0ZXIu cHkgYi90aGlyZF9wYXJ0eS9kb21fZGlzdGlsbGVyX2pzL3Byb3RvY19wbHVnaW5zL2pzb25fdmFs dWVzX2NvbnZlcnRlci5weQotaW5kZXggZTg2YTg4Yzc1OWZjYi4uY2FlMWE5OThjNDY1MCAxMDA3 NTUKLS0tLSBhL3RoaXJkX3BhcnR5L2RvbV9kaXN0aWxsZXJfanMvcHJvdG9jX3BsdWdpbnMvanNv bl92YWx1ZXNfY29udmVydGVyLnB5Ci0rKysgYi90aGlyZF9wYXJ0eS9kb21fZGlzdGlsbGVyX2pz L3Byb3RvY19wbHVnaW5zL2pzb25fdmFsdWVzX2NvbnZlcnRlci5weQotQEAgLTEsNyArMSwxMCBA QAotLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotKyMhL3Vzci9iaW4vZW52IHB5dGhvbjIuNwotICMg Q29weXJpZ2h0IDIwMTYgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu Ci0gIyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBs aWNlbnNlIHRoYXQgY2FuIGJlCi0gIyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotKyMKLSsj IFRPRE8oY3JidWcuY29tLzEyMDIxMzQpOiBTd2l0Y2ggcnVuIGxpbmUgYmFjayB0byBqdXN0ICJw eXRob24iCi0rIyBvbmNlIHRoaW5ncyBhcmUgcHkzLWNvbXBhdGlibGUuCi0gCi0gIiIicHJvdG9j IHBsdWdpbiB0byBjcmVhdGUgQysrIHJlYWRlci93cml0ZXIgZm9yIEpTT04tZW5jb2RlZCBwcm90 b2J1ZnMKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1leGVjaW5m by5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaAppbmRl eCBiNDI0MWQwMDU1NjIuLjZlNjcxODJiMjFiNiAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL25vLWV4ZWNpbmZvLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9uby1leGVjaW5mby5wYXRjaApAQCAtMSw1ICsxLDUgQEAKLS0tLSBhL2Jhc2UvZGVidWcvc3Rh Y2tfdHJhY2VfcG9zaXguY2MJMjAxOS0wNS0xNCAxNDo0OTo0NC4wMDAwMDAwMDAgLTA0MDAKLSsr KyBiL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MJMjAxOS0wNy0wMiAxMDo0Mzo0My40 OTAwNDUwMTMgLTA0MDAKKy0tLSBhL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MKKysr KyBiL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MKIEBAIC0yNyw3ICsyNyw3IEBACiAg I2lmICFkZWZpbmVkKFVTRV9TWU1CT0xJWkUpCiAgI2luY2x1ZGUgPGN4eGFiaS5oPgpAQCAtOSw3 ICs5LDcgQEAKICAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KICAjZW5kaWYKICAKLUBAIC04Niw3ICs4 Niw3IEBACitAQCAtODksNyArODksNyBAQAogICAgLy8gTm90ZTogY29kZSBpbiB0aGlzIGZ1bmN0 aW9uIGlzIE5PVCBhc3luYy1zaWduYWwgc2FmZSAoc3RkOjpzdHJpbmcgdXNlcwogICAgLy8gbWFs bG9jIGludGVybmFsbHkpLgogIApAQCAtMTgsMTYgKzE4LDcgQEAKICAgIHN0ZDo6c3RyaW5nOjpz aXplX3R5cGUgc2VhcmNoX2Zyb20gPSAwOwogICAgd2hpbGUgKHNlYXJjaF9mcm9tIDwgdGV4dC0+ c2l6ZSgpKSB7CiAgICAgIC8vIExvb2sgZm9yIHRoZSBzdGFydCBvZiBhIG1hbmdsZWQgc3ltYm9s LCBmcm9tIHNlYXJjaF9mcm9tLgotQEAgLTEyMSw3ICsxMjEsNyBAQAotICAgICAgIHNlYXJjaF9m cm9tID0gbWFuZ2xlZF9zdGFydCArIDI7Ci0gICAgIH0KLSAgIH0KLS0jZW5kaWYgIC8vICFkZWZp bmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCi0rI2VuZGlmICAvLyBkZWZpbmVkKF9f R0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKLSB9Ci0gI2VuZGlmICAvLyAhZGVmaW5lZChVU0Vf U1lNQk9MSVpFKQotIAotQEAgLTEzMyw3ICsxMzMsNyBAQAorQEAgLTEzNiw3ICsxMzYsNyBAQAog ICAgdmlydHVhbCB+QmFja3RyYWNlT3V0cHV0SGFuZGxlcigpID0gZGVmYXVsdDsKICB9OwogIApA QCAtMzYsMjUgKzI3LDE2IEBACiAgdm9pZCBPdXRwdXRQb2ludGVyKHZvaWQqIHBvaW50ZXIsIEJh Y2t0cmFjZU91dHB1dEhhbmRsZXIqIGhhbmRsZXIpIHsKICAgIC8vIFRoaXMgc2hvdWxkIGJlIG1v cmUgdGhhbiBlbm91Z2ggdG8gc3RvcmUgYSA2NC1iaXQgbnVtYmVyIGluIGhleDoKICAgIC8vIDE2 IGhleCBkaWdpdHMgKyAxIGZvciBudWxsLXRlcm1pbmF0b3IuCi1AQCAtMjE2LDcgKzIxNiw3IEBA Ci0gICB9Ci0gI2VuZGlmICAvLyBkZWZpbmVkKFVTRV9TWU1CT0xJWkUpCi0gfQotLSNlbmRpZiAg Ly8gIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKLSsjZW5kaWYgIC8vIGRl ZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQotIAotIHZvaWQgUHJpbnRUb1N0ZGVy cihjb25zdCBjaGFyKiBvdXRwdXQpIHsKLSAgIC8vIE5PVEU6IFRoaXMgY29kZSBNVVNUIGJlIGFz eW5jLXNpZ25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2VzcwotQEAgLTgxMiw3ICs4MTIs NyBAQAotICAgLy8gTk9URTogVGhpcyBjb2RlIE1VU1QgYmUgYXN5bmMtc2lnbmFsIHNhZmUgKGl0 J3MgdXNlZCBieSBpbi1wcm9jZXNzCi0gICAvLyBzdGFjayBkdW1waW5nIHNpZ25hbCBoYW5kbGVy KS4gTk8gbWFsbG9jIG9yIHN0ZGlvIGlzIGFsbG93ZWQgaGVyZS4KLSAKLS0jaWYgIWRlZmluZWQo X19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYm ICFkZWZpbmVkKF9BSVgpCitAQCAtODM5LDcgKzgzOSw3IEBACisgICAvLyBJZiB3ZSBkbyBub3Qg aGF2ZSB1bndpbmQgdGFibGVzLCB0aGVuIHRyeSB0cmFjaW5nIHVzaW5nIGZyYW1lIHBvaW50ZXJz LgorICAgcmV0dXJuIGJhc2U6OmRlYnVnOjpUcmFjZVN0YWNrRnJhbWVQb2ludGVycyhjb25zdF9j YXN0PGNvbnN0IHZvaWQqKj4odHJhY2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb3VudCwgMCk7CistI2VsaWYgIWRlZmluZWQoX19VQ0xJQkNfXykg JiYgIWRlZmluZWQoX0FJWCkKKysjZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQo X0FJWCkKICAgIC8vIFRob3VnaCB0aGUgYmFja3RyYWNlIEFQSSBtYW4gcGFnZSBkb2VzIG5vdCBs aXN0IGFueSBwb3NzaWJsZSBuZWdhdGl2ZQogICAgLy8gcmV0dXJuIHZhbHVlcywgd2UgdGFrZSBu byBjaGFuY2UuCiAgICByZXR1cm4gYmFzZTo6c2F0dXJhdGVkX2Nhc3Q8c2l6ZV90PihiYWNrdHJh Y2UodHJhY2UsIGNvdW50KSk7Ci1AQCAtODI1LDEzICs4MjUsMTMgQEAKK0BAIC04NTIsMTMgKzg1 MiwxMyBAQAogIC8vIE5PVEU6IFRoaXMgY29kZSBNVVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZlIChp dCdzIHVzZWQgYnkgaW4tcHJvY2VzcwogIC8vIHN0YWNrIGR1bXBpbmcgc2lnbmFsIGhhbmRsZXIp LiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMgYWxsb3dlZCBoZXJlLgogIApAQCAtNzAsMyArNTIsMjQg QEAKICB2b2lkIFN0YWNrVHJhY2U6Ok91dHB1dFRvU3RyZWFtV2l0aFByZWZpeChzdGQ6Om9zdHJl YW0qIG9zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGNoYXIqIHByZWZpeF9zdHJpbmcpIGNvbnN0IHsKICAgIFN0cmVhbUJhY2t0cmFjZU91dHB1dEhh bmRsZXIgaGFuZGxlcihvcyk7CistLS0gYS92OC9zcmMvY29kZWdlbi9leHRlcm5hbC1yZWZlcmVu Y2UtdGFibGUuY2Mub3JpZworKysrIGIvdjgvc3JjL2NvZGVnZW4vZXh0ZXJuYWwtcmVmZXJlbmNl LXRhYmxlLmNjCitAQCAtMTEsNyArMTEsOSBAQAorCisgI2lmIGRlZmluZWQoREVCVUcpICYmIGRl ZmluZWQoVjhfT1NfTElOVVgpICYmICFkZWZpbmVkKFY4X09TX0FORFJPSUQpCisgI2RlZmluZSBT WU1CT0xJWkVfRlVOQ1RJT04KKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgI2luY2x1ZGUgPGV4 ZWNpbmZvLmg+CisrI2VuZGlmCisKKyAjaW5jbHVkZSA8dmVjdG9yPgorCitAQCAtOTYsNyArOTgs NyBAQAorIH0KKworIGNvbnN0IGNoYXIqIEV4dGVybmFsUmVmZXJlbmNlVGFibGU6OlJlc29sdmVT eW1ib2wodm9pZCogYWRkcmVzcykgeworLSNpZmRlZiBTWU1CT0xJWkVfRlVOQ1RJT04KKysjaWYg ZGVmaW5lZChTWU1CT0xJWkVfRlVOQ1RJT04pICYmIGRlZmluZWQoX19HTElCQ19fKQorICAgY2hh cioqIG5hbWVzID0gYmFja3RyYWNlX3N5bWJvbHMoJmFkZHJlc3MsIDEpOworICAgY29uc3QgY2hh ciogbmFtZSA9IG5hbWVzWzBdOworICAgLy8gVGhlIGFycmF5IG9mIG5hbWVzIGlzIG1hbGxvYydl ZC4gSG93ZXZlciwgZWFjaCBuYW1lIHN0cmluZyBpcyBzdGF0aWMKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9yZW1vdmUtbGx2bTEzLXdhcm5pbmctZmxhZ3MucGF0Y2ggYi9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmVtb3ZlLWxsdm0xMy13YXJuaW5nLWZsYWdzLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDFkYjdlNDIwMTU0Ci0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3JlbW92ZS1sbHZtMTMt d2FybmluZy1mbGFncy5wYXRjaApAQCAtMCwwICsxLDEzIEBACistLS0gYS9idWlsZC9jb25maWcv Y29tcGlsZXIvQlVJTEQuZ24ub3JpZworKysrIGIvYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxE LmduCitAQCAtMTYyMCwxMCArMTYyMCw2IEBACisgCisgICAgICAgICAgICMgVE9ETyhodHRwczov L2NyYnVnLmNvbS8xMDUwMjgxKTogQ2xlYW4gdXAsIGVuYWJsZS4KKyAgICAgICAgICAgIi1Xbm8t bm9uLWMtdHlwZWRlZi1mb3ItbGlua2FnZSIsCistCistICAgICAgICAgICMgVE9ETyhodHRwczov L2NyYnVnLmNvbS8xMjAzMDcxKTogQ2xlYW4gdXAgYW5kIGVuYWJsZS4KKy0gICAgICAgICAgIi1X bm8tdW51c2VkLWJ1dC1zZXQtcGFyYW1ldGVyIiwKKy0gICAgICAgICAgIi1Xbm8tdW51c2VkLWJ1 dC1zZXQtdmFyaWFibGUiLAorICAgICAgICAgXQorIAorICAgICAgICAgY2ZsYWdzX2MgKz0gWwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3JlbW92ZS1uYXJyb3dpbmctY2Fz dC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9yZW1vdmUtbmFycm93aW5nLWNhc3Qu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44ZWM0NDhhZTM4 YTEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmVtb3ZlLW5h cnJvd2luZy1jYXN0LnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKKy0tLSBhL2Jhc2Uvc3lzdGVtL3N5 c19pbmZvX3Bvc2l4LmNjLm9yaWcKKysrKyBiL2Jhc2Uvc3lzdGVtL3N5c19pbmZvX3Bvc2l4LmNj CitAQCAtMTAyLDggKzEwMiw4IEBACisgCisgICBzd2l0Y2ggKHN0YXRzLmZfdHlwZSkgeworICAg ICBjYXNlIFRNUEZTX01BR0lDOgorLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oSFVHRVRMQkZT X01BR0lDKToKKy0gICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KFJBTUZTX01BR0lDKToKKysgICAg Y2FzZSBIVUdFVExCRlNfTUFHSUM6CisrICAgIGNhc2UgUkFNRlNfTUFHSUM6CisgICAgICAgcmV0 dXJuIHRydWU7CisgICB9CisgICByZXR1cm4gZmFsc2U7CistLS0gYS9iYXNlL2ZpbGVzL2ZpbGVf dXRpbF9saW51eC5jYy5vcmlnCisrKysgYi9iYXNlL2ZpbGVzL2ZpbGVfdXRpbF9saW51eC5jYwor QEAgLTMwLDcgKzMwLDcgQEAKKyAgICAgY2FzZSBFWFQyX1NVUEVSX01BR0lDOiAgLy8gQWxzbyBl eHQzIGFuZCBleHQ0CisgICAgIGNhc2UgTVNET1NfU1VQRVJfTUFHSUM6CisgICAgIGNhc2UgUkVJ U0VSRlNfU1VQRVJfTUFHSUM6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PihCVFJGU19TVVBF Ul9NQUdJQyk6CisrICAgIGNhc2UgQlRSRlNfU1VQRVJfTUFHSUM6CisgICAgIGNhc2UgMHg1MzQ2 NTQ0RTogIC8vIE5URlMKKyAgICAgY2FzZSAweDU4NDY1MzQyOiAgLy8gWEZTCisgICAgIGNhc2Ug MHgzMTUzNDY0QTogIC8vIEpGUworQEAgLTQwLDE0ICs0MCwxNCBAQAorICAgICAgICp0eXBlID0g RklMRV9TWVNURU1fTkZTOworICAgICAgIGJyZWFrOworICAgICBjYXNlIFNNQl9TVVBFUl9NQUdJ QzoKKy0gICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KDB4RkY1MzRENDIpOiAgLy8gQ0lGUworKyAg ICBjYXNlIDB4RkY1MzRENDI6ICAvLyBDSUZTCisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9T TUI7CisgICAgICAgYnJlYWs7CisgICAgIGNhc2UgQ09EQV9TVVBFUl9NQUdJQzoKKyAgICAgICAq dHlwZSA9IEZJTEVfU1lTVEVNX0NPREE7CisgICAgICAgYnJlYWs7CistICAgIGNhc2Ugc3RhdGlj X2Nhc3Q8aW50PihIVUdFVExCRlNfTUFHSUMpOgorLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4o UkFNRlNfTUFHSUMpOgorKyAgICBjYXNlIEhVR0VUTEJGU19NQUdJQzoKKysgICAgY2FzZSBSQU1G U19NQUdJQzoKKyAgICAgY2FzZSBUTVBGU19NQUdJQzoKKyAgICAgICAqdHlwZSA9IEZJTEVfU1lT VEVNX01FTU9SWTsKKyAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL3JlbW92ZS1zdHJpcF9iaW5hcnkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi44YjEzYzZhMDU2YTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvcmVtb3ZlLXN0cmlwX2JpbmFyeS5wYXRjaApAQCAtMCwwICsxLDMyIEBA CistLS0gYS9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvQlVJTEQuZ24ub3JpZworKysrIGIvY2hy b21lL3Rlc3QvY2hyb21lZHJpdmVyL0JVSUxELmduCitAQCAtMzA4LDExICszMDgsNyBAQAorICAg fQorIH0KKyAKKy1pZiAoaXNfbGludXgpIHsKKy0gIGNocm9tZWRyaXZlcl9vdXRwdXQgPSAiY2hy b21lZHJpdmVyLnVuc3RyaXBwZWQiCistfSBlbHNlIHsKKy0gIGNocm9tZWRyaXZlcl9vdXRwdXQg PSAiY2hyb21lZHJpdmVyIgorLX0KKytjaHJvbWVkcml2ZXJfb3V0cHV0ID0gImNocm9tZWRyaXZl ciIKKyAKKyBleGVjdXRhYmxlKCIkY2hyb21lZHJpdmVyX291dHB1dCIpIHsKKyAgIHRlc3Rvbmx5 ID0gdHJ1ZQorQEAgLTMzNiwxNiArMzMyLDYgQEAKKyAgIH0KKyB9CisgCistaWYgKGlzX2xpbnV4 KSB7CistICBzdHJpcF9iaW5hcnkoImNocm9tZWRyaXZlciIpIHsKKy0gICAgdGVzdG9ubHkgPSB0 cnVlCistICAgIGJpbmFyeV9pbnB1dCA9ICIkcm9vdF9vdXRfZGlyLyRjaHJvbWVkcml2ZXJfb3V0 cHV0IgorLSAgICBzeW1ib2xfb3V0cHV0ID0gIiRyb290X291dF9kaXIvY2hyb21lZHJpdmVyLmRl YnVnIgorLSAgICBzdHJpcHBlZF9iaW5hcnlfb3V0cHV0ID0gIiRyb290X291dF9kaXIvY2hyb21l ZHJpdmVyIgorLSAgICBkZXBzID0gWyAiOiRjaHJvbWVkcml2ZXJfb3V0cHV0IiBdCistICB9Cist fQorLQorIHB5dGhvbl9saWJyYXJ5KCJjaHJvbWVkcml2ZXJfcHlfdGVzdHMiKSB7CisgICB0ZXN0 b25seSA9IHRydWUKKyAgIGRlcHMgPSBbCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3Rl bXBsYXRlIGIvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQppbmRleCAxMTc4YjJhOWZiMmQuLjdk YWRiOWY1YWU0OSAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnY2hyb21pdW0nCiBwa2duYW1lPWNocm9taXVtCi0jIFNlZSBodHRwOi8vd3d3LmNocm9t aXVtLm9yZy9kZXZlbG9wZXJzL2NhbGVuZGFyIGZvciB0aGUgbGF0ZXN0IHZlcnNpb24KLXZlcnNp b249OTEuMC40NDcyLjExNAorIyBTZWUgaHR0cHM6Ly9jaHJvbWl1bWRhc2guYXBwc3BvdC5jb20v cmVsZWFzZXM/cGxhdGZvcm09TGludXggZm9yIHRoZSBsYXRlc3QgdmVyc2lvbgordmVyc2lvbj05 My4wLjQ1NzcuNjMKIHJldmlzaW9uPTEKIGFyY2hzPSJpNjg2KiB4ODZfNjQqIGFhcmNoNjQqIGFy bXY3bCogcHBjNjRsZSoiCiBzaG9ydF9kZXNjPSJHb29nbGUncyBhdHRlbXB0IGF0IGNyZWF0aW5n IGEgc2FmZXIsIGZhc3RlciwgYW5kIG1vcmUgc3RhYmxlIGJyb3dzZXIiCkBAIC05LDIyICs5LDIy IEBAIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCiBsaWNl bnNlPSJCU0QtMy1DbGF1c2UiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cuY2hyb21pdW0ub3JnLyIK IGRpc3RmaWxlcz0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9jaHJv bWl1bS1icm93c2VyLW9mZmljaWFsLyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVj a3N1bT1jMWM3ZmU3ODNmMzI1MDk3ODUwM2Q0YmQ1MzE0NDAzOWJkODE4ZGU4YTZlODlkZTQ5M2Yy N2RkNTE2OGY3ZTcxCitjaGVja3N1bT1lYWYzNGZhNmMyZjI0MDU0NjU1ZmJiMjM3NmI2ZTNkZGVl NGNmNDg2OGMxMzI0YzkyMWU3MWE0NWNmYzk0ODUzCiBub2Nyb3NzPXllcwogCiBsaWIzMmRpc2Fi bGVkPXllcwotbm9kZWJ1Zz15ZXMKLW5vcGllPXllcyAgIyBjb250YWlucyB0b29scyB0aGF0IGFy ZSBub3QgUElFLCBlbmFibGVzIFBJRSBpdHNlbGYKIAotYnVpbGRfb3B0aW9ucz0iY2xhbmcganNf b3B0aW1pemUgdmFhcGkgcHVsc2VhdWRpbyBzbmRpbyBwaXBld2lyZSIKK2J1aWxkX29wdGlvbnM9 ImNsYW5nIGRlYnVnIGpzX29wdGltaXplIHZhYXBpIHB1bHNlYXVkaW8gc25kaW8gcGlwZXdpcmUi CitidWlsZF9vcHRpb25zX2RlZmF1bHQ9ImNsYW5nIGpzX29wdGltaXplIHZhYXBpIHB1bHNlYXVk aW8gc25kaW8gcGlwZXdpcmUiCiBkZXNjX29wdGlvbl9jbGFuZz0iVXNlIGNsYW5nIHRvIGJ1aWxk IgorZGVzY19vcHRpb25fZGVidWc9IkJ1aWxkIHdpdGggZGVidWcgc3ltYm9scyIKIGRlc2Nfb3B0 aW9uX2pzX29wdGltaXplPSJPcHRpbWl6ZSB0aGUgSlMgdXNlZCBmb3IgQ2hyb21pdW0ncyBVSSIK IGRlc2Nfb3B0aW9uX3ZhYXBpPSJFbmFibGUgc3VwcG9ydCBmb3IgVkEtQVBJIgogZGVzY19vcHRp b25fcHVsc2VhdWRpbz0iRW5hYmxlIHN1cHBvcnQgZm9yIFB1bHNlQXVkaW8iCiBkZXNjX29wdGlv bl9zbmRpbz0iRW5hYmxlIHN1cHBvcnQgZm9yIHNuZGlvIgogZGVzY19vcHRpb25fcGlwZXdpcmU9 IkVuYWJsZSBzdXBwb3J0IGZvciBzY3JlZW4gc2hhcmluZyBmb3IgV2ViUlRDIHZpYSBQaXBlV2ly ZSIKIAotaG9zdG1ha2VkZXBlbmRzPSIkKHZvcHRfaWYgY2xhbmcgY2xhbmcpIHB5dGhvbiBwa2dj b25mIHBlcmwgZ3BlcmYgYmlzb24gbmluamEgbm9kZWpzIGh3aWRzCitob3N0bWFrZWRlcGVuZHM9 IiQodm9wdF9pZiBjbGFuZyAiY2xhbmcgbGxkIikgcHl0aG9uIHBrZ2NvbmYgcGVybCBncGVyZiBi aXNvbiBuaW5qYSBub2RlanMgaHdpZHMKICBsaWJhdG9taWMtZGV2ZWwgbGliZXZlbnQtZGV2ZWwg bGliZ2xpYi1kZXZlbCAkKHZvcHRfaWYganNfb3B0aW1pemUgb3BlbmpkaykiCiBtYWtlZGVwZW5k cz0ibGlicG5nLWRldmVsIGd0aystZGV2ZWwgZ3RrKzMtZGV2ZWwgbnNzLWRldmVsIHBjaXV0aWxz LWRldmVsCiAgbGliWGktZGV2ZWwgbGliZ2NyeXB0LWRldmVsIGxpYmdub21lLWtleXJpbmctZGV2 ZWwgY3Vwcy1kZXZlbCBlbGZ1dGlscy1kZXZlbApAQCAtMTU2LDcxICsxNTYsNjQgQEAgZG9fY29u ZmlndXJlKCkgewogCiAJdGhpcmRfcGFydHkvbGliYWRkcmVzc2lucHV0L2Nocm9taXVtL3Rvb2xz L3VwZGF0ZS1zdHJpbmdzLnB5CiAKLQljb25mKz0oCisJY29uZj0oCiAJCSdlbmFibGVfbmFjbD1m YWxzZScKIAkJJ2VuYWJsZV9uYWNsX25vbnNmaT1mYWxzZScKLQkJImlzX2NsYW5nPSQodm9wdF9p ZiBjbGFuZyB0cnVlIGZhbHNlKSIKLQkJJ2lzX2RlYnVnPWZhbHNlJwotCQknY2xhbmdfdXNlX2No cm9tZV9wbHVnaW5zPWZhbHNlJworCisJCSd1c2Vfc3lzcm9vdD1mYWxzZScKIAkJJ2N1c3RvbV90 b29sY2hhaW49Ii8vYnVpbGQvdG9vbGNoYWluL2xpbnV4L3VuYnVuZGxlOmRlZmF1bHQiJwogCQkn aG9zdF90b29sY2hhaW49Ii8vYnVpbGQvdG9vbGNoYWluL2xpbnV4L3VuYnVuZGxlOmRlZmF1bHQi JwotCQknYmxpbmtfc3ltYm9sX2xldmVsPTAnCi0JCSdzeW1ib2xfbGV2ZWw9MCcKKworCQkiaXNf Y2xhbmc9JCh2b3B0X2lmIGNsYW5nIHRydWUgZmFsc2UpIgorCQkidXNlX2xsZD0kKHZvcHRfaWYg Y2xhbmcgdHJ1ZSBmYWxzZSkiCisJCSdjbGFuZ191c2VfY2hyb21lX3BsdWdpbnM9ZmFsc2UnCisK KwkJImdvbGRfcGF0aD1cIiR7WEJQU19DUk9TU19CQVNFfS91c3IvYmluL2xkLmdvbGRcIiIKKwkJ J3VzZV9jdXN0b21fbGliY3h4PWZhbHNlJworCQkndXNlX2dvbGQ9ZmFsc2UnCisKKwkJImlzX2Rl YnVnPSQodm9wdF9pZiBkZWJ1ZyB0cnVlIGZhbHNlKSIKKwkJImJsaW5rX3N5bWJvbF9sZXZlbD0k KHZvcHRfaWYgZGVidWcgMSAwKSIKKwkJInN5bWJvbF9sZXZlbD0kKHZvcHRfaWYgZGVidWcgMSAw KSIKKwogCQknaWN1X3VzZV9kYXRhX2ZpbGU9dHJ1ZScKKwogCQkndXNlX2FsbG9jYXRvcj0ibm9u ZSInCiAJCSd1c2VfYWxsb2NhdG9yX3NoaW09ZmFsc2UnCi0JCSd1c2VfY3Vwcz10cnVlJwotCQkn dXNlX3N5c3Jvb3Q9ZmFsc2UnCi0JCSd1c2Vfc3lzdGVtX2hhcmZidXp6PXRydWUnCisKIAkJJ2Vu YWJsZV93aWRldmluZT10cnVlJwogCQknZW5hYmxlX2hhbmdvdXRfc2VydmljZXNfZXh0ZW5zaW9u PXRydWUnCi0JKQogCi0JY29uZis9KAorCQkndXNlX3N5c3RlbV9oYXJmYnV6ej10cnVlJworCisJ CSd1c2VfY3Vwcz10cnVlJworCiAJCSJ1c2VfdmFhcGk9JCh2b3B0X2lmIHZhYXBpIHRydWUgZmFs c2UpIgotCSkKIAotCSMgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVt L3NyYy8rL21hc3Rlci9kb2NzL2Nsb3N1cmVfY29tcGlsYXRpb24ubWQKLQljb25mKz0oCisJCSMg aHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYy8rL21hc3Rlci9k b2NzL2Nsb3N1cmVfY29tcGlsYXRpb24ubWQKIAkJImVuYWJsZV9qc190eXBlX2NoZWNrPSQodm9w dF9pZiBqc19vcHRpbWl6ZSB0cnVlIGZhbHNlKSIKLQkpCiAKLQljb25mKz0oCiAJCSJ1c2VfcHVs c2VhdWRpbz0kKHZvcHRfaWYgcHVsc2VhdWRpbyB0cnVlIGZhbHNlKSIKLQkpCisJCSJsaW5rX3B1 bHNlYXVkaW89JCh2b3B0X2lmIHB1bHNlYXVkaW8gdHJ1ZSBmYWxzZSkiCiAKLQljb25mKz0oCiAJ CSJydGNfdXNlX3BpcGV3aXJlPSQodm9wdF9pZiBwaXBld2lyZSB0cnVlIGZhbHNlKSIKLQkpCi0K LQkjIFVzZSBleHBsaWNpdCBsaWJyYXJ5IGRlcGVuZGVuY2llcyBpbnN0ZWFkIG9mIGRsb3Blbi4K LQkjIEdOIG9ubHkgaGFzICJsaW5rX3B1bHNlYXVkaW8iLCB0aGUgb3RoZXIgb3B0aW9ucyB1c2Vk IGJlZm9yZSBhcmUgbm90IGF2YWlsYWJsZSBhdG0KLQkjIGxpbnV4X2xpbmtfY3Vwcz10cnVlCi0J IyBsaW51eF9saW5rX2dzZXR0aW5ncz10cnVlCi0JIyBsaW51eF9saW5rX2xpYnBjaT10cnVlCi0J IyBsaW51eF9saW5rX2xpYnNwZWVjaGQ9dHJ1ZQotCSMgbGlic3BlZWNoZF9oX3ByZWZpeD1cInNw ZWVjaC1kaXNwYXRjaGVyL1wiIgotCWNvbmYrPSggImxpbmtfcHVsc2VhdWRpbz0kKHZvcHRfaWYg cHVsc2VhdWRpbyB0cnVlIGZhbHNlKSIgKQogCi0JY29uZis9KAogCQkidXNlX3NuZGlvPSQodm9w dF9pZiBzbmRpbyB0cnVlIGZhbHNlKSIKLQkpCi0KLQkjIE5ldmVyIHVzZSBidW5kbGVkIGJpbnV0 aWxzL2dvbGQgYmluYXJ5LgotCWNvbmYrPSgKLQkJImdvbGRfcGF0aD1cIiR7WEJQU19DUk9TU19C QVNFfS91c3IvYmluL2xkLmdvbGRcIiIKLQkJJ3VzZV9jdXN0b21fbGliY3h4PWZhbHNlJwotCQkn dXNlX2xsZD1mYWxzZScKLQkpCiAKLQkjIFhYWDogZ29sZCBicm9rZW4gd2l0aCBtdXNsLCBpNjg2 LCBhbmQgeDg2XzY0IHNvIGRpc2FibGUgZ2xvYmFsbHkKLQljb25mKz0oICd1c2VfZ29sZD1mYWxz ZScgKQotCi0JIyBBbHdheXMgc3VwcG9ydCBwcm9wcmlldGFyeSBjb2RlY3MuCi0JIyBFbmFibGUg SC4yNjQgc3VwcG9ydCBpbiBidW5kbGVkIGZmbXBlZy4KLQljb25mKz0oCisJCSMgQWx3YXlzIHN1 cHBvcnQgcHJvcHJpZXRhcnkgY29kZWNzLgorCQkjIEVuYWJsZSBILjI2NCBzdXBwb3J0IGluIGJ1 bmRsZWQgZmZtcGVnLgogCQkncHJvcHJpZXRhcnlfY29kZWNzPXRydWUnCiAJCSdmZm1wZWdfYnJh bmRpbmc9IkNocm9tZSInCisKKwkJIyBNYWtlIHN1cmUgdGhhdCAtV2Vycm9yIGRvZXNuJ3QgZ2V0 IGFkZGVkIHRvIENGTEFHUyBieSB0aGUgYnVpbGQgc3lzdGVtLgorCQkjIERlcGVuZGluZyBvbiBH Q0MgdmVyc2lvbiB0aGUgd2FybmluZ3MgYXJlIGRpZmZlcmVudCBhbmQgd2UgZG9uJ3Qgd2FudAor CQkjIHRoZSBidWlsZCB0byBmYWlsIGJlY2F1c2Ugb2YgdGhhdC4KKwkJJ3RyZWF0X3dhcm5pbmdz X2FzX2Vycm9ycz1mYWxzZScKKwkJJ2ZhdGFsX2xpbmtlcl93YXJuaW5ncz1mYWxzZScKKworCQkj IFNhdmUgc3BhY2UgYnkgcmVtb3ZpbmcgRExPRyBhbmQgRENIRUNLIG1lc3NhZ2VzIChhYm91dCA2 JSByZWR1Y3Rpb24pLgorCQkjICdsb2dnaW5nX2xpa2Vfb2ZmaWNpYWxfYnVpbGQ9dHJ1ZScKKwkJ J2ZpZWxkdHJpYWxfdGVzdGluZ19saWtlX29mZmljaWFsX2J1aWxkPXRydWUnCiAJKQogCiAJIyB0 aGlzIGRvZXMgbm90IHdvcmsgb24gcHBjNjQgeWV0CkBAIC0yMjgsMTggKzIyMSw2IEBAIGRvX2Nv bmZpZ3VyZSgpIHsKIAkJcHBjNjQqKSBjb25mKz0oICJlbmFibGVfanhsX2RlY29kZXI9ZmFsc2Ui ICk7OwogCWVzYWMKIAotCSMgTWFrZSBzdXJlIHRoYXQgLVdlcnJvciBkb2Vzbid0IGdldCBhZGRl ZCB0byBDRkxBR1MgYnkgdGhlIGJ1aWxkIHN5c3RlbS4KLQkjIERlcGVuZGluZyBvbiBHQ0MgdmVy c2lvbiB0aGUgd2FybmluZ3MgYXJlIGRpZmZlcmVudCBhbmQgd2UgZG9uJ3Qgd2FudAotCSMgdGhl IGJ1aWxkIHRvIGZhaWwgYmVjYXVzZSBvZiB0aGF0LgotCWNvbmYrPSgKLQkJJ3RyZWF0X3dhcm5p bmdzX2FzX2Vycm9ycz1mYWxzZScKLQkJJ2ZhdGFsX2xpbmtlcl93YXJuaW5ncz1mYWxzZScKLQkp Ci0KLQkjIFNhdmUgc3BhY2UgYnkgcmVtb3ZpbmcgRExPRyBhbmQgRENIRUNLIG1lc3NhZ2VzIChh Ym91dCA2JSByZWR1Y3Rpb24pLgotCSMgY29uZis9IiBsb2dnaW5nX2xpa2Vfb2ZmaWNpYWxfYnVp bGQ9dHJ1ZSIKLQljb25mKz0oIGZpZWxkdHJpYWxfdGVzdGluZ19saWtlX29mZmljaWFsX2J1aWxk PXRydWUgKQotCiAJY2FzZSAiJHtYQlBTX1RBUkdFVF9NQUNISU5FfSIgaW4KIAkJeDg2XzY0Kikg Y29uZis9KCAndGFyZ2V0X2NwdT0ieDY0IicgKSA7OwogCQlpNjg2KikgY29uZis9KCAndGFyZ2V0 X2NwdT0ieDg2IicgKSA7OwpAQCAtMjU2LDEwICsyMzcsMTEgQEAgZG9fYnVpbGQoKSB7CiAJCWV4 cG9ydCBDWFg9Y2xhbmcrKwogCWZpCiAKLQluaW5qYSAtQyBvdXQvUmVsZWFzZSAke21ha2Vqb2Jz fSBjaHJvbWUgY2hyb21lZHJpdmVyIG1rc25hcHNob3QKKwluaW5qYSAtQyBvdXQvUmVsZWFzZSAk e21ha2Vqb2JzfSBjaHJvbWUgY2hyb21lZHJpdmVyIG1rc25hcHNob3QgY3Jhc2hwYWRfaGFuZGxl cgogfQogZG9faW5zdGFsbCgpIHsKIAl2aW5zdGFsbCBvdXQvUmVsZWFzZS9jaHJvbWUgNzU1IHVz ci9saWIvJHtwa2duYW1lfSAke3BrZ25hbWV9CisJdmluc3RhbGwgb3V0L1JlbGVhc2UvY3Jhc2hw YWRfaGFuZGxlciA3NTUgdXNyL2xpYi8ke3BrZ25hbWV9IGNyYXNocGFkX2hhbmRsZXIKIAl2aW5z dGFsbCBvdXQvUmVsZWFzZS9jaHJvbWVkcml2ZXIgNzU1IHVzci9saWIvJHtwa2duYW1lfSBjaHJv bWVkcml2ZXIKIAl2aW5zdGFsbCBvdXQvUmVsZWFzZS9saWJFR0wuc28gNzU1IHVzci9saWIvJHtw a2duYW1lfSBsaWJFR0wuc28KIAl2aW5zdGFsbCBvdXQvUmVsZWFzZS9saWJHTEVTdjIuc28gNzU1 IHVzci9saWIvJHtwa2duYW1lfSBsaWJHTEVTdjIuc28KQEAgLTI5MCw1ICsyNzIsNSBAQCBkb19p bnN0YWxsKCkgewogCiAJdmJpbiAke0ZJTEVTRElSfS9jaHJvbWl1bS5zaCBjaHJvbWl1bQogCXZs aWNlbnNlIExJQ0VOU0UKLQlsbiAtcyAvdXNyL2xpYi9jaHJvbWl1bS9jaHJvbWVkcml2ZXIgJHtE RVNURElSfS91c3IvYmluL2Nocm9tZWRyaXZlcgorCWxuIC1zZiAvdXNyL2xpYi9jaHJvbWl1bS9j aHJvbWVkcml2ZXIgJHtERVNURElSfS91c3IvYmluL2Nocm9tZWRyaXZlcgogfQo= --===============3947364928119175195==--