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 15611 invoked from network); 4 Sep 2021 13:41:05 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 4 Sep 2021 13:41:05 -0000 Content-Type: multipart/mixed; boundary="===============1739496949904371203==" 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:41:04 +0200 List-Id: Message-ID: <20210904134104.ZemI83ffDt1NbnUkuhfBQBPti55Fk1x09nrz1EOS9KM@z> GitHub notification mails are now in MIME to allow UTF8. --===============1739496949904371203== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgRHVuY2FlbiBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vRHVu Y2Flbi92b2lkLXBhY2thZ2VzIGNocm9taXVtLTkzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zMjgzMQoKY2hyb21pdW06IHVwZGF0ZSB0byA5My4wLjQ1 NzcuNjMuCltjaSBza2lwXQ0KDQotIFt4XSB4ODZfNjQtZ2xpYmMNCi0gW3hdIHg4Nl82NC1tdXNs DQotIFsgXSBpNjg2CgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzI4MzEucGF0Y2ggaXMgYXR0YWNoZWQ= --===============1739496949904371203== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-93-32831.patch" RnJvbSA3M2IyMGI4ZDYzMThhODM5M2IxNWYwYjA1OGNjNDBiYTgyN2JkYTg5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFNhdCwgNCBTZXAgMjAyMSAxNDozMToxNiArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIGNocm9taXVt OiB1cGRhdGUgdG8gOTMuMC40NTc3LjYzLgoKLS0tCiAuLi4vZGVmYXVsdC1wdGhyZWFkLXN0YWNr c2l6ZS5wYXRjaCAgICAgICAgICAgfCAgICA2ICstCiAuLi4vZmlsZXMvbXVzbC1wYXRjaGVzL25v LW1hbGxpbmZvLnBhdGNoICAgICAgfCAgIDc1ICstCiAuLi5lM2RmY2QwNjkwZGYwZTdiMjEyZmVk Y2I5NTQwMmYxNjkzNWQucGF0Y2ggfCAgIDM2ICsKIC4uLjE0MDUxMjEwMzg4YmZjZmY2MDU1NzBk MzNmMDhjZmE3YmNhYS5wYXRjaCB8ICAgMzYgKwogLi4uYzhiNDg0YzE4YzYyMWQ0YjE5NDYzNWU0 MWYxNzE1NDNmMWRmLnBhdGNoIHwgICA0MiArCiAuLi45ZWU0NDdjZjVmMDE2MGVhNGFlOTc4Y2Rm MzdmNWRjZWNkMWUucGF0Y2ggfCAgIDM2ICsKIC4uLjVhMTA1MTU1MWFmMjZhYWVmYzZmY2QzMzUw MmE1MTcyNTM5Ni5wYXRjaCB8ICAgMzYgKwogLi4uL3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMt Mi4zMy5wYXRjaCAgICAgIHwgIDE0NCAtLQogLi4uL3BhdGNoZXMvY2hyb21pdW0tOTMtZmZtcGVn LTQuNC5wYXRjaCAgICAgIHwgICAzNiArCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS05My1wZGZpdW0t aW5jbHVkZS5wYXRjaCAgfCAgMTE3ICsrCiAuLi4vcGF0Y2hlcy9jdXJzZWReVXNjb3BlZF9maWxl LnBhdGNoICAgICAgICAgfCAgIDE4ICsKIC4uLi9wYXRjaGVzL2ZpeC1jcmFzaC1pbi1UaGVtZVNl cnZpY2UucGF0Y2ggICB8ICAgNDUgLQogLi4uL2Nocm9taXVtL3BhdGNoZXMvZml4LW5hcnJvd2lu Zy1jYXN0LnBhdGNoIHwgICA0MiArCiAuLi4vbGludXgtc2FuZGJveC1maXgtZnN0YXRhdC1jcmFz aC5wYXRjaCAgICAgfCAxMzg0ICsrKysrKysrKysrKysrKysrCiAuLi5tLWRpc3RpbGxlci1wcm90 b2MtcGx1Z2luLWNhbGwtcHkyLjcucGF0Y2ggfCAgIDM3IC0KIHNyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9uby1leGVjaW5mby5wYXRjaCAgICB8ICAgNjEgKy0KIC4uLi9wYXRjaGVzL3JlbW92ZS1s bHZtMTMtd2FybmluZy1mbGFncy5wYXRjaCB8ICAgMTMgKwogLi4uL3BhdGNoZXMvcmVtb3ZlLXN0 cmlwX2JpbmFyeS5wYXRjaCAgICAgICAgIHwgICAzMiArCiBzcmNwa2dzL2Nocm9taXVtL3RlbXBs YXRlICAgICAgICAgICAgICAgICAgICAgfCAgMTEyICstCiAxOSBmaWxlcyBjaGFuZ2VkLCAxOTUw IGluc2VydGlvbnMoKyksIDM1OCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvMTdkMGUzZGZjZDA2OTBkZjBlN2IyMTJmZWRjYjk1NDAyZjE2 OTM1ZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy8y ZjU1MTQwNTEyMTAzODhiZmNmZjYwNTU3MGQzM2YwOGNmYTdiY2FhLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzgyZTJjOGI0ODRjMThjNjIxZDRiMTk0 NjM1ZTQxZjE3MTU0M2YxZGYucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvOGFlOTllZTQ0N2NmNWYwMTYwZWE0YWU5NzhjZGYzN2Y1ZGNlY2QxZS5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy85YzY3NWExMDUx NTUxYWYyNmFhZWZjNmZjZDMzNTAyYTUxNzI1Mzk2LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWdsaWJjLTIuMzMucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTMtZmZt cGVnLTQuNC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9jaHJvbWl1bS05My1wZGZpdW0taW5jbHVkZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1jcmFzaC1pbi1UaGVtZVNl cnZpY2UucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv Zml4LW5hcnJvd2luZy1jYXN0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2xpbnV4LXNhbmRib3gtZml4LWZzdGF0YXQtY3Jhc2gucGF0Y2gKIGRlbGV0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbWFrZS1kb20tZGlzdGlsbGVy LXByb3RvYy1wbHVnaW4tY2FsbC1weTIuNy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9yZW1vdmUtbGx2bTEzLXdhcm5pbmctZmxhZ3MucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmVtb3ZlLXN0cmlwX2Jp bmFyeS5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRj aGVzL2RlZmF1bHQtcHRocmVhZC1zdGFja3NpemUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL2Zp bGVzL211c2wtcGF0Y2hlcy9kZWZhdWx0LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoCmluZGV4IDE2 ZTRkMjFlNmVkOC4uMjY4ODRmNmNjOTM3IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL2Zp bGVzL211c2wtcGF0Y2hlcy9kZWZhdWx0LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoCisrKyBiL3Ny Y3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL2RlZmF1bHQtcHRocmVhZC1zdGFja3Np emUucGF0Y2gKQEAgLTQsOSArNCw5IEBACiAtICByZXR1cm4gMDsKICsgIC8vIHVzZSA4bWIgbGlr ZSBnbGliYyB0byBhdm9pZCBydW5uaW5nIG91dCBvZiBzcGFjZQogKyAgcmV0dXJuICgxIDw8IDIz KTsKLS0tLSBjaHJvbWUvYXBwL3NodXRkb3duX3NpZ25hbF9oYW5kbGVyc19wb3NpeC5jYy5vcmln Ci0rKysgY2hyb21lL2FwcC9zaHV0ZG93bl9zaWduYWxfaGFuZGxlcnNfcG9zaXguY2MKLUBAIC0x ODQsMTEgKzE4NCwxOSBAQAorLS0tIGNocm9tZS9icm93c2VyL3NodXRkb3duX3NpZ25hbF9oYW5k bGVyc19wb3NpeC5jYy5vcmlnCisrKysgY2hyb21lL2Jyb3dzZXIvc2h1dGRvd25fc2lnbmFsX2hh bmRsZXJzX3Bvc2l4LmNjCitAQCAtMTg3LDExICsxODcsMTkgQEAKICAgIGdfc2h1dGRvd25fcGlw ZV9yZWFkX2ZkID0gcGlwZWZkWzBdOwogICAgZ19zaHV0ZG93bl9waXBlX3dyaXRlX2ZkID0gcGlw ZWZkWzFdOwogICNpZiAhZGVmaW5lZChBRERSRVNTX1NBTklUSVpFUikKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1hbGxpbmZvLnBhdGNoIGIvc3Jj cGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbm8tbWFsbGluZm8ucGF0Y2gKaW5kZXgg YjBjOTgzMjUxNWQwLi41ZmQzZGMyYjM3OWMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0v ZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1hbGxpbmZvLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21p dW0vZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1hbGxpbmZvLnBhdGNoCkBAIC0xLDMzICsxLDU2IEBA Ci0tLS0gYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYy5vcmlnCi0rKysg YmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYwotQEAgLTI0Myw3ICsyNDMs NyBAQAotICAgYWxsb2NhdGVkX29iamVjdHNfY291bnQgPSBtYWluX2hlYXBfaW5mby5ibG9ja19j b3VudDsKKy0tLSAuL2Jhc2UvdHJhY2VfZXZlbnQvbWFsbG9jX2R1bXBfcHJvdmlkZXIuY2Mub3Jp ZworKysrIC4vYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYworQEAgLTIx Miw3ICsyMTIsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICZhbGxvY2F0ZWRfb2JqZWN0c19j b3VudCk7CiAgI2VsaWYgZGVmaW5lZChPU19GVUNIU0lBKQogIC8vIFRPRE8oZnVjaHNpYSk6IFBv cnQsIHNlZSBodHRwczovL2NyYnVnLmNvbS83MDY1OTIuCiAtI2Vsc2UKICsjZWxpZiBkZWZpbmVk KF9fR0xJQkNfXykKLSAgIHN0cnVjdCBtYWxsaW5mbyBpbmZvID0gbWFsbGluZm8oKTsKLSAgIERD SEVDS19HRShpbmZvLmFyZW5hICsgaW5mby5oYmxraGQsIGluZm8udW9yZGJsa3MpOworICNpZiBk ZWZpbmVkKF9fR0xJQkNfXykgJiYgZGVmaW5lZChfX0dMSUJDX1BSRVJFUSkKKyAjaWYgX19HTElC Q19QUkVSRVEoMiwgMzMpCisgI2RlZmluZSBNQUxMSU5GTzJfRk9VTkRfSU5fTElCQworLS0tIC4v YmFzZS9wcm9jZXNzL3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYworKysrIC4vYmFzZS9wcm9jZXNz L3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYworQEAgLTEwNSw3ICsxMDUsNyBAQAogIAotLS0tIGJh c2UvcHJvY2Vzcy9wcm9jZXNzX21ldHJpY3NfcG9zaXguY2Mub3JpZwkyMDIwLTExLTE4IDIzOjUw OjMzLjk1ODIyMzQ5NyAtMDUwMAotKysrIGJhc2UvcHJvY2Vzcy9wcm9jZXNzX21ldHJpY3NfcG9z aXguY2MJMjAyMC0xMS0xOCAyMzo1Mzo1Mi4wMjQ1ODkzMTYgLTA1MDAKLUBAIC0xMTksMTQgKzEx OSwxNCBAQAorICNlbmRpZiAgLy8gIWRlZmluZWQoT1NfRlVDSFNJQSkKKyAKKy0jaWYgZGVmaW5l ZChPU19MSU5VWCkgfHwgZGVmaW5lZChPU19DSFJPTUVPUykgfHwgZGVmaW5lZChPU19BTkRST0lE KQorKyNpZiAoZGVmaW5lZChPU19MSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pKSB8fCBkZWZp bmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpCisgbmFtZXNwYWNlIHsKKyAK KyBzaXplX3QgR2V0TWFsbG9jVXNhZ2VNYWxsaW5mbygpIHsKK0BAIC0xMjcsMTYgKzEyNywxNiBA QAorIH0KKyAKKyB9ICAvLyBuYW1lc3BhY2UKKy0jZW5kaWYgIC8vIGRlZmluZWQoT1NfTElOVVgp IHx8IGRlZmluZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKysjZW5kaWYg IC8vIChkZWZpbmVkKE9TX0xJTlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykpIHx8IGRlZmluZWQo T1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKyAKKyBzaXplX3QgUHJvY2Vzc01l dHJpY3M6OkdldE1hbGxvY1VzYWdlKCkgeworICNpZiBkZWZpbmVkKE9TX0FQUExFKQogICAgbWFs bG9jX3N0YXRpc3RpY3NfdCBzdGF0cyA9IHswfTsKICAgIG1hbGxvY196b25lX3N0YXRpc3RpY3Mo bnVsbHB0ciwgJnN0YXRzKTsKICAgIHJldHVybiBzdGF0cy5zaXplX2luX3VzZTsKIC0jZWxpZiBk ZWZpbmVkKE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FO RFJPSUQpCi0rI2VsaWYgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoT1NfQ0hST01FT1Mp IHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKLSAgIHN0cnVjdCBtYWxsaW5mbyBtaW5mbyA9IG1hbGxp bmZvKCk7Ci0gI2lmIEJVSUxERkxBRyhVU0VfVENNQUxMT0MpCi0gICByZXR1cm4gbWluZm8udW9y ZGJsa3M7Ci0gI2Vsc2UKLSAgIHJldHVybiBtaW5mby5oYmxraGQgKyBtaW5mby5hcmVuYTsKLSAj ZW5kaWYKKysjZWxpZiAoZGVmaW5lZChPU19MSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pKSB8 fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpCisgICByZXR1cm4g R2V0TWFsbG9jVXNhZ2VNYWxsaW5mbygpOwogLSNlbGlmIGRlZmluZWQoT1NfRlVDSFNJQSkKICsj ZWxzZQogICAgLy8gVE9ETyhmdWNoc2lhKTogTm90IGN1cnJlbnRseSBleHBvc2VkLiBodHRwczov L2NyYnVnLmNvbS83MzUwODcuCiAgICByZXR1cm4gMDsKICAjZW5kaWYKKy0tLSB0aGlyZF9wYXJ0 eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxpbmcvbWVtb3J5X2luZm8uY2Mub3Jp ZworKysrIHRoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL3Byb2ZpbGluZy9t ZW1vcnlfaW5mby5jYworQEAgLTM1LDcgKzM1LDcgQEAKKyAKKyBNZW1vcnlVc2FnZSBHZXRNZW1v cnlVc2FnZSgpIHsKKyAgIE1lbW9yeVVzYWdlIHJlc3VsdDsKKy0jaWZkZWYgX19saW51eF9fCisr I2lmIGRlZmluZWQoX19saW51eF9fKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIHJ1c2FnZSBy ZXM7CisgICBpZiAoZ2V0cnVzYWdlKFJVU0FHRV9TRUxGLCAmcmVzKSA9PSAwKSB7CisgICAgIHJl c3VsdC5tYXhfcnNzX2tiID0gcmVzLnJ1X21heHJzczsKIC0tLSB0aGlyZF9wYXJ0eS9zd2lmdHNo YWRlci90aGlyZF9wYXJ0eS9sbHZtLXN1Ynplcm8vbGliL1N1cHBvcnQvVW5peC9Qcm9jZXNzLmlu YwogKysrIHRoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tc3ViemVyby9s aWIvU3VwcG9ydC9Vbml4L1Byb2Nlc3MuaW5jLm9yaWcKIEBAIC04NCw3ICs4NCw3IEBACkBAIC01 MiwyMyArNzUsMyBAQAogIAogIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWFsbG9j Lmg+IGhlYWRlciBmaWxlLiAqLwogICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCi0tLS0gdGhpcmRf cGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUvcHJvZmlsaW5nL21lbW9yeV9pbmZvLmNj Lm9yaWcJMjAyMS0wNC0xNiAxNzozNDozNi42NjYzODUyMDcgLTA0MDAKLSsrKyB0aGlyZF9wYXJ0 eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxpbmcvbWVtb3J5X2luZm8uY2MJMjAy MS0wNC0xNiAxNzozNjowMS4xOTc2MDI5NTMgLTA0MDAKLUBAIC0yNyw3ICsyNyw3IEBACi0gY29u c3QgaW50IE1lbW9yeVVzYWdlOjprVmFsdWVOb3RTZXQgPSAwOwotIAotIGJvb2wgTWVtb3J5VXNh Z2U6OklzU3VwcG9ydGVkKCkgewotLSNpZmRlZiBfX2xpbnV4X18KLSsjaWZkZWYgZGVmaW5lZChf X0dMSUJDX18pCi0gICByZXR1cm4gdHJ1ZTsKLSAjZW5kaWYKLSAgIHJldHVybiBmYWxzZTsKLUBA IC0zNSw3ICszNSw3IEBACi0gCi0gTWVtb3J5VXNhZ2UgR2V0TWVtb3J5VXNhZ2UoKSB7Ci0gICBN ZW1vcnlVc2FnZSByZXN1bHQ7Ci0tI2lmZGVmIF9fbGludXhfXwotKyNpZmRlZiBkZWZpbmVkKF9f R0xJQkNfXykKLSAgIHJ1c2FnZSByZXM7Ci0gICBpZiAoZ2V0cnVzYWdlKFJVU0FHRV9TRUxGLCAm cmVzKSA9PSAwKSB7Ci0gICAgIHJlc3VsdC5tYXhfcnNzX2tiID0gcmVzLnJ1X21heHJzczsKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy8xN2QwZTNkZmNkMDY5MGRmMGU3YjIx MmZlZGNiOTU0MDJmMTY5MzVkLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzE3ZDBl M2RmY2QwNjkwZGYwZTdiMjEyZmVkY2I5NTQwMmYxNjkzNWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5jNDNkYThkZmQ4YWIKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvMTdkMGUzZGZjZDA2OTBkZjBlN2IyMTJmZWRjYjk1 NDAyZjE2OTM1ZC5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDE3ZDBlM2RmY2QwNjkwZGYw ZTdiMjEyZmVkY2I5NTQwMmYxNjkzNWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBK b3NlIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlhLmNvbT4KK0RhdGU6IEZyaSwgMjMgSnVsIDIw MjEgMTA6MTc6NDkgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gSVdZVTogbWlzc2luZyBpbmNsdWRl IGZvciB1c2luZyBzdGQ6OnZlY3RvciBpbiBoYXNoIHBhc3N3b3JkCisgbWFuYWdlci4KK01JTUUt VmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0Nv bnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworRml4IGJ1aWxkIGJyZWFrYWdlOgorLi4v Li4vY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9oYXNoX3Bhc3N3b3Jk X21hbmFnZXIuaDo0NDo4OiBlcnJvcjog4oCYdmVjdG9y4oCZIGluIG5hbWVzcGFjZSDigJhzdGTi gJkgZG9lcyBub3QgbmFtZSBhIHRlbXBsYXRlIHR5cGUKKyAgIDQ0IHwgICBzdGQ6OnZlY3RvcjxQ YXNzd29yZEhhc2hEYXRhPiBSZXRyaWV2ZUFsbFBhc3N3b3JkSGFzaGVzKCk7CisgICAgICB8ICAg ICAgICBefn5+fn4KKworQnVnOiA4MTkyOTQKK0NoYW5nZS1JZDogSThjOGE0ZWMzOTcyZWVkYjg3 YTMxMmM1ZWM1NmFkZjRhMjFiMWIyYTIKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJl dmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMzA0MTA0NgorQ29tbWl0LVF1 ZXVlOiBWYXNpbGlpIFN1a2hhbm92IDx2YXNpbGlpQGNocm9taXVtLm9yZz4KK1Jldmlld2VkLWJ5 OiBWYXNpbGlpIFN1a2hhbm92IDx2YXNpbGlpQGNocm9taXVtLm9yZz4KK0NyLUNvbW1pdC1Qb3Np dGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM5MDQ2OTZ9CistLS0KKyBjb21wb25lbnRzL3Bhc3N3 b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2hhc2hfcGFzc3dvcmRfbWFuYWdlci5oIHwgMSArCisg MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9jb21wb25lbnRz L3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2hhc2hfcGFzc3dvcmRfbWFuYWdlci5oIGIv Y29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9oYXNoX3Bhc3N3b3JkX21h bmFnZXIuaAoraW5kZXggYzc2MmM1YThjNzcxMy4uODVlNjU2ZWRjYmExMSAxMDA2NDQKKy0tLSBh L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvaGFzaF9wYXNzd29yZF9t YW5hZ2VyLmgKKysrKyBiL2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIv aGFzaF9wYXNzd29yZF9tYW5hZ2VyLmgKK0BAIC02LDYgKzYsNyBAQAorICNkZWZpbmUgQ09NUE9O RU5UU19QQVNTV09SRF9NQU5BR0VSX0NPUkVfQlJPV1NFUl9IQVNIX1BBU1NXT1JEX01BTkFHRVJf SF8KKyAKKyAjaW5jbHVkZSA8c3RyaW5nPgorKyNpbmNsdWRlIDx2ZWN0b3I+CisgCisgI2luY2x1 ZGUgImJhc2UvY2FsbGJhY2suaCIKKyAjaW5jbHVkZSAiYmFzZS9jYWxsYmFja19saXN0LmgiCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvMmY1NTE0MDUxMjEwMzg4YmZjZmY2 MDU1NzBkMzNmMDhjZmE3YmNhYS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy8yZjU1 MTQwNTEyMTAzODhiZmNmZjYwNTU3MGQzM2YwOGNmYTdiY2FhLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uODc1N2ViNWMzNmE5Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzJmNTUxNDA1MTIxMDM4OGJmY2ZmNjA1NTcwZDMz ZjA4Y2ZhN2JjYWEucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSAyZjU1MTQwNTEyMTAzODhi ZmNmZjYwNTU3MGQzM2YwOGNmYTdiY2FhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog Sm9zZSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxpYS5jb20+CitEYXRlOiBXZWQsIDIxIEp1bCAy MDIxIDA4OjM0OjU4ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIElXWVU6IHVzYWdlIG9mIHVuaXF1 ZV9wdHIgcmVxdWlyZXMgaW5jbHVkaW5nIDxtZW1vcnk+IGluCisgYmx1ZXRvb3RoIGxvdyBlbmVy Z3kgc2NhbiBmaWx0ZXIuCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3Bs YWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK0Zp eCBidWlsZCBiZWNhdXNlIG9mIG1pc3NpbmcgaW5jbHVkZToKKy4uLy4uL2RldmljZS9ibHVldG9v dGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nhbl9maWx0ZXIuaDo1NzoxNTogZXJyb3I6IOKAmHVu aXF1ZV9wdHLigJkgaW4gbmFtZXNwYWNlIOKAmHN0ZOKAmSBkb2VzIG5vdCBuYW1lIGEgdGVtcGxh dGUgdHlwZQorICAgNTcgfCAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8Qmx1ZXRvb3RoTG93RW5l cmd5U2NhbkZpbHRlcj4gQ3JlYXRlKAorICAgICAgfCAgICAgICAgICAgICAgIF5+fn5+fn5+fn4K KworQnVnOiA4MTkyOTQKK0NoYW5nZS1JZDogSTM0Nzk1M2EwODNmMWJjZGY3NDRmZDg2ZTFhNzM5 NTRjNmY4NmIzMmUKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVz b3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMzA0MTE1NQorUmV2aWV3ZWQtYnk6IFJlaWxseSBH cmFudCA8cmVpbGx5Z0BjaHJvbWl1bS5vcmc+CitDb21taXQtUXVldWU6IEpvc8OpIERhcGVuYSBQ YXogPGpkYXBlbmFAaWdhbGlhLmNvbT4KK0NyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9t YXN0ZXJAeyM5MDM4MTl9CistLS0KKyBkZXZpY2UvYmx1ZXRvb3RoL2JsdWV0b290aF9sb3dfZW5l cmd5X3NjYW5fZmlsdGVyLmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykK KworZGlmZiAtLWdpdCBhL2RldmljZS9ibHVldG9vdGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nh bl9maWx0ZXIuaCBiL2RldmljZS9ibHVldG9vdGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nhbl9m aWx0ZXIuaAoraW5kZXggYTA0MzZjMTg0YTk2Ny4uN2FlNjA2Y2NhMDE0ZSAxMDA2NDQKKy0tLSBh L2RldmljZS9ibHVldG9vdGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nhbl9maWx0ZXIuaAorKysr IGIvZGV2aWNlL2JsdWV0b290aC9ibHVldG9vdGhfbG93X2VuZXJneV9zY2FuX2ZpbHRlci5oCitA QCAtNyw2ICs3LDcgQEAKKyAKKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisgI2luY2x1ZGUgPHN0ZGlu dC5oPgorKyNpbmNsdWRlIDxtZW1vcnk+CisgI2luY2x1ZGUgPHZlY3Rvcj4KKyAKKyAjaW5jbHVk ZSAiYmFzZS90aW1lL3RpbWUuaCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy84MmUyYzhiNDg0YzE4YzYyMWQ0YjE5NDYzNWU0MWYxNzE1NDNmMWRmLnBhdGNoIGIvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzLzgyZTJjOGI0ODRjMThjNjIxZDRiMTk0NjM1ZTQxZjE3MTU0M2Yx ZGYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iYWJmZGIz Njc2NjAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvODJlMmM4 YjQ4NGMxOGM2MjFkNGIxOTQ2MzVlNDFmMTcxNTQzZjFkZi5wYXRjaApAQCAtMCwwICsxLDQyIEBA CitGcm9tIDgyZTJjOGI0ODRjMThjNjIxZDRiMTk0NjM1ZTQxZjE3MTU0M2YxZGYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBKb3NlIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlhLmNv bT4KK0RhdGU6IFR1ZSwgMjcgSnVsIDIwMjEgMDg6MDk6MzkgKzAwMDAKK1N1YmplY3Q6IFtQQVRD SF0gSVdZVTogdXNhZ2Ugb2Ygc3RkOjpzdHJjcHkgcmVxdWlyZXMgaW5jbHVkaW5nIGNzdHJpbmcs IGluCisgZXh0ZW5zaW9uIGRpYWxvZyBhdXRvIGNvbmZpcm0uCitNSU1FLVZlcnNpb246IDEuMAor Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0CisKK0ZpeCBidWlsZCBicmVha2FnZSB3aXRoIGxpYnN0ZGMrKzoKKyAg ICAuLi8uLi9leHRlbnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0u Y2M6IEluIGRlc3RydWN0b3Ig4oCYZXh0ZW5zaW9uczo6U2NvcGVkVGVzdERpYWxvZ0F1dG9Db25m aXJtOjp+U2NvcGVkVGVzdERpYWxvZ0F1dG9Db25maXJtKCnigJk6CisgICAgLi4vLi4vZXh0ZW5z aW9ucy9icm93c2VyL2V4dGVuc2lvbl9kaWFsb2dfYXV0b19jb25maXJtLmNjOjQzOjg6IGVycm9y OiDigJhzdHJjcHnigJkgaXMgbm90IGEgbWVtYmVyIG9mIOKAmHN0ZOKAmQorICAgICAgIDQzIHwg ICBzdGQ6OnN0cmNweShnX2V4dGVuc2lvbl9kaWFsb2dfanVzdGlmaWNhdGlvbiwgb2xkX2p1c3Rp ZmljYXRpb25fLmNfc3RyKCkpOworICAgICAgICAgIHwgICAgICAgIF5+fn5+fgorICAgIC4uLy4u L2V4dGVuc2lvbnMvYnJvd3Nlci9leHRlbnNpb25fZGlhbG9nX2F1dG9fY29uZmlybS5jYzogSW4g bWVtYmVyIGZ1bmN0aW9uIOKAmHZvaWQgZXh0ZW5zaW9uczo6U2NvcGVkVGVzdERpYWxvZ0F1dG9D b25maXJtOjpzZXRfanVzdGlmaWNhdGlvbihjb25zdCBzdHJpbmcmKeKAmToKKyAgICAuLi8uLi9l eHRlbnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2M6NjY6ODog ZXJyb3I6IOKAmHN0cmNweeKAmSBpcyBub3QgYSBtZW1iZXIgb2Yg4oCYc3Rk4oCZCisgICAgICAg NjYgfCAgIHN0ZDo6c3RyY3B5KGdfZXh0ZW5zaW9uX2RpYWxvZ19qdXN0aWZpY2F0aW9uLCBqdXN0 aWZpY2F0aW9uLmNfc3RyKCkpOworICAgICAgICAgIHwgICAgICAgIF5+fn5+fgorCitCdWc6IDk1 NzUxOQorQ2hhbmdlLUlkOiBJMzEzYzM4ZjIyY2FiNTk5ZmI4ZjBlNGEzMzllODE0M2FmNWJkYTNl ZQorUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20v Yy9jaHJvbWl1bS9zcmMvKy8zMDQxMDAxCitSZXZpZXdlZC1ieTogRGF2aWQgQmVydG9uaSA8ZGJl cnRvbmlAY2hyb21pdW0ub3JnPgorUmV2aWV3ZWQtYnk6IEJlbiBXZWxscyA8YmVud2VsbHNAY2hy b21pdW0ub3JnPgorQ29tbWl0LVF1ZXVlOiBKb3PDqSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxp YS5jb20+CitDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjOTA1NjM0fQor LS0tCisgZXh0ZW5zaW9ucy9icm93c2VyL2V4dGVuc2lvbl9kaWFsb2dfYXV0b19jb25maXJtLmNj IHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9l eHRlbnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2MgYi9leHRl bnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2MKK2luZGV4IGFk YjRhYzNmOTJlYzguLmJlOGIxNjFiYzE2NTggMTAwNjQ0CistLS0gYS9leHRlbnNpb25zL2Jyb3dz ZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2MKKysrKyBiL2V4dGVuc2lvbnMvYnJv d3Nlci9leHRlbnNpb25fZGlhbG9nX2F1dG9fY29uZmlybS5jYworQEAgLTQsNiArNCw3IEBACisg CisgI2luY2x1ZGUgImV4dGVuc2lvbnMvYnJvd3Nlci9leHRlbnNpb25fZGlhbG9nX2F1dG9fY29u ZmlybS5oIgorIAorKyNpbmNsdWRlIDxjc3RyaW5nPgorICNpbmNsdWRlIDx1dGlsaXR5PgorIAor ICNpbmNsdWRlICJiYXNlL2NoZWNrLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvOGFlOTllZTQ0N2NmNWYwMTYwZWE0YWU5NzhjZGYzN2Y1ZGNlY2QxZS5wYXRjaCBiL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy84YWU5OWVlNDQ3Y2Y1ZjAxNjBlYTRhZTk3OGNkZjM3ZjVk Y2VjZDFlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZTUx Zjc2YTRiM2MwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzhh ZTk5ZWU0NDdjZjVmMDE2MGVhNGFlOTc4Y2RmMzdmNWRjZWNkMWUucGF0Y2gKQEAgLTAsMCArMSwz NiBAQAorRnJvbSA4YWU5OWVlNDQ3Y2Y1ZjAxNjBlYTRhZTk3OGNkZjM3ZjVkY2VjZDFlIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9zZSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxp YS5jb20+CitEYXRlOiBXZWQsIDIxIEp1bCAyMDIxIDA4OjM2OjIwICswMDAwCitTdWJqZWN0OiBb UEFUQ0hdIElXWVU6IG1pc3NpbmcgbWVtb3J5IGluY2x1ZGUgZm9yIHVuaXF1ZV9wdHIgdXNhZ2Ug aW4KKyBjbGFzc19wcm9wZXJ0eS5oCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0 ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0 CisKK0ZpeCBHQ0MgYnVpbGQgYnJlYWthZ2UgYmVjYXVzZSBvZiBtaXNzaW5nIGluY2xpZGU6Cisu Ly4uL3VpL2Jhc2UvY2xhc3NfcHJvcGVydHkuaDoxMjA6NTg6IGVycm9yOiDigJhzdGQ6OnVuaXF1 ZV9wdHLigJkgaGFzIG5vdCBiZWVuIGRlY2xhcmVkCisgIDEyMCB8ICAgVCogU2V0UHJvcGVydHko Y29uc3QgQ2xhc3NQcm9wZXJ0eTxUKj4qIHByb3BlcnR5LCBzdGQ6OnVuaXF1ZV9wdHI8VD4gdmFs dWUpOworICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+CisKK0J1ZzogODE5Mjk0CitDaGFuZ2UtSWQ6IEk0NmI5 MjE4NzY3MDJiOGQ0NDY3NDY4OWJiYjVhY2RjMTA3ZGIyMWU1CitSZXZpZXdlZC1vbjogaHR0cHM6 Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzMwNDEw MzAKK1Jldmlld2VkLWJ5OiBQZXRlciBCb3N0csO2bSA8cGJvc0BjaHJvbWl1bS5vcmc+CitDb21t aXQtUXVldWU6IEpvc8OpIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlhLmNvbT4KK0NyLUNvbW1p dC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM5MDM4MjB9CistLS0KKyB1aS9iYXNlL2Ns YXNzX3Byb3BlcnR5LmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKwor ZGlmZiAtLWdpdCBhL3VpL2Jhc2UvY2xhc3NfcHJvcGVydHkuaCBiL3VpL2Jhc2UvY2xhc3NfcHJv cGVydHkuaAoraW5kZXggZjdiMmY1NTk4NThiNy4uODhiNDkzODZhZTBhZCAxMDA2NDQKKy0tLSBh L3VpL2Jhc2UvY2xhc3NfcHJvcGVydHkuaAorKysrIGIvdWkvYmFzZS9jbGFzc19wcm9wZXJ0eS5o CitAQCAtOCw2ICs4LDcgQEAKKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisgI2luY2x1ZGUgPG1h cD4KKysjaW5jbHVkZSA8bWVtb3J5PgorICNpbmNsdWRlIDxzZXQ+CisgI2luY2x1ZGUgPHR5cGVf dHJhaXRzPgorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzljNjc1YTEw NTE1NTFhZjI2YWFlZmM2ZmNkMzM1MDJhNTE3MjUzOTYucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvOWM2NzVhMTA1MTU1MWFmMjZhYWVmYzZmY2QzMzUwMmE1MTcyNTM5Ni5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmJhYjY0YTgxNGIyZgotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy85YzY3NWExMDUxNTUxYWYy NmFhZWZjNmZjZDMzNTAyYTUxNzI1Mzk2LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gOWM2 NzVhMTA1MTU1MWFmMjZhYWVmYzZmY2QzMzUwMmE1MTcyNTM5NiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IEpvc2UgRGFwZW5hIFBheiA8amRhcGVuYUBpZ2FsaWEuY29tPgorRGF0ZTog TW9uLCAyNiBKdWwgMjAyMSAxNzoxNDo1MSArMDAwMAorU3ViamVjdDogW1BBVENIXSBJV1lVOiBt aXNzaW5nIGluY2x1ZGUgZm9yIHN0ZDo6dmVjdG9yIHVzYWdlIGluIGRldnRvb2xzCisgZW1iZWRk ZWQgbWVzc2FnZSBkaXNwYXRjaGVyLgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJp dAorCitGaXggR0NDIGJ1aWxkIGJyZWFrYWdlOgorICAgIC4uLy4uL2Nocm9tZS9icm93c2VyL2Rl dnRvb2xzL2RldnRvb2xzX2VtYmVkZGVyX21lc3NhZ2VfZGlzcGF0Y2hlci5oOjExNjozNjogZXJy b3I6IOKAmHZlY3RvcuKAmSBpbiBuYW1lc3BhY2Ug4oCYc3Rk4oCZIGRvZXMgbm90IG5hbWUgYSB0 ZW1wbGF0ZSB0eXBlCisgICAgICAxMTYgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz dGQ6OnZlY3RvcjxiYXNlOjpWYWx1ZT4mIHBhcmFtcykgPSAwOworICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KKworQnVnOiA4MTkyOTQKK0NoYW5n ZS1JZDogSTM3OWJmMTQ0MTZjM2JmZDNjMGNkYWM3YmIyNTQyYjc5NzgxMjYxZWMKK1Jldmlld2Vk LW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0v c3JjLysvMzA0MTE1NgorUmV2aWV3ZWQtYnk6IEpvZSBNYXNvbiA8am9lbm90Y2hhcmxlc0BjaHJv bWl1bS5vcmc+CitDb21taXQtUXVldWU6IEpvc8OpIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlh LmNvbT4KK0NyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM5MDUzMDB9Cist LS0KKyBjaHJvbWUvYnJvd3Nlci9kZXZ0b29scy9kZXZ0b29sc19lbWJlZGRlcl9tZXNzYWdlX2Rp c3BhdGNoZXIuaCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZm IC0tZ2l0IGEvY2hyb21lL2Jyb3dzZXIvZGV2dG9vbHMvZGV2dG9vbHNfZW1iZWRkZXJfbWVzc2Fn ZV9kaXNwYXRjaGVyLmggYi9jaHJvbWUvYnJvd3Nlci9kZXZ0b29scy9kZXZ0b29sc19lbWJlZGRl cl9tZXNzYWdlX2Rpc3BhdGNoZXIuaAoraW5kZXggMTJmODUwMGI3ODExZC4uNDAwNzExMmYzOTQx MCAxMDA2NDQKKy0tLSBhL2Nocm9tZS9icm93c2VyL2RldnRvb2xzL2RldnRvb2xzX2VtYmVkZGVy X21lc3NhZ2VfZGlzcGF0Y2hlci5oCisrKysgYi9jaHJvbWUvYnJvd3Nlci9kZXZ0b29scy9kZXZ0 b29sc19lbWJlZGRlcl9tZXNzYWdlX2Rpc3BhdGNoZXIuaAorQEAgLTgsNiArOCw3IEBACisgI2lu Y2x1ZGUgPG1hcD4KKyAjaW5jbHVkZSA8bWVtb3J5PgorICNpbmNsdWRlIDxzdHJpbmc+CisrI2lu Y2x1ZGUgPHZlY3Rvcj4KKyAKKyAjaW5jbHVkZSAiYmFzZS9jYWxsYmFjay5oIgorICNpbmNsdWRl ICJ1aS9nZngvZ2VvbWV0cnkvaW5zZXRzLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMtMi4zMy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9jaHJvbWl1bS04OC1nbGliYy0yLjMzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBkNTIyOGNlN2I3NmEuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMtMi4zMy5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDE0NCArMCwwIEBACi0jIFBhdGNoIG1hZGUgYnkgS2V2aW4gS29mbGVyIDxLZXZpbkB0aWdj Yy50aWNhbGMub3JnPgotIyBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dp P2lkPTE5MDQ2NTIKLQotZGlmZiAtdXAgY2hyb21pdW0tODguMC40MzI0Ljk2L3NhbmRib3gvbGlu dXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MuZnN0YXRmaXggY2hyb21p dW0tODguMC40MzI0Ljk2L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGlu ZV9wb2xpY3kuY2MKLS0tLSBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNl bGluZV9wb2xpY3kuY2MuZnN0YXRmaXgJMjAyMS0wMS0yNSAxMDoxMTo0NS40Mjc0MzYzOTggLTA1 MDAKLSsrKyBiL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xp Y3kuY2MJMjAyMS0wMS0yNSAxMDoxMjo1MS4zMzc2OTkwMDMgLTA1MDAKLUBAIC0yNTcsNiArMjU3 LDE4IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGUKLSAgICAgcmV0 dXJuIFJlc3RyaWN0S2lsbFRhcmdldChjdXJyZW50X3BpZCwgc3lzbm8pOwotICAgfQotIAotKyNp ZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkKLSsgIGlmIChzeXNubyA9PSBfX05SX25ld2ZzdGF0 YXQpIHsKLSsgICAgcmV0dXJuIFJld3JpdGVGc3RhdGF0U0lHU1lTKCk7Ci0rICB9Ci0rI2VuZGlm Ci0rCi0rI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCi0rICBpZiAoc3lzbm8gPT0gX19OUl9m c3RhdGF0NjQpIHsKLSsgICAgcmV0dXJuIFJld3JpdGVGc3RhdGF0U0lHU1lTKCk7Ci0rICB9Ci0r I2VuZGlmCi0rCi0gICBpZiAoU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShzeXNubykgfHwKLSAg ICAgICBTeXNjYWxsU2V0czo6SXNDdXJyZW50RGlyZWN0b3J5KHN5c25vKSkgewotICAgICByZXR1 cm4gRXJyb3IoZnNfZGVuaWVkX2Vycm5vKTsKLWRpZmYgLXVwIGNocm9taXVtLTg4LjAuNDMyNC45 Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmNjLmZz dGF0Zml4IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvc2lnc3lzX2hhbmRsZXJzLmNjCi0tLS0gYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBm LWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmNjLmZzdGF0Zml4CTIwMjEtMDEtMjUgMTA6MTM6MTAu MTc5Nzc0MDgxIC0wNTAwCi0rKysgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMv c2lnc3lzX2hhbmRsZXJzLmNjCTIwMjEtMDEtMjUgMTA6MTY6MTguNzkwNTI1NzQ2IC0wNTAwCi1A QCAtNiw2ICs2LDggQEAKLSAKLSAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1o ZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5oIgotIAotKyNpbmNsdWRlIDxlcnJuby5oPgotKyNpbmNs dWRlIDxmY250bC5oPgotICNpbmNsdWRlIDxzdGRkZWYuaD4KLSAjaW5jbHVkZSA8c3RkaW50Lmg+ Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotQEAgLTM1NSw2ICszNTcsMzUgQEAgaW50cHRyX3QgU0lH U1lTU2NoZWRIYW5kbGVyKGNvbnN0IHN0cnVjdAotICAgcmV0dXJuIC1FTk9TWVM7Ci0gfQotIAot K2ludHB0cl90IFNJR1NZU0ZzdGF0YXRIYW5kbGVyKGNvbnN0IHN0cnVjdCBhcmNoX3NlY2NvbXBf ZGF0YSYgYXJncywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBhdXgpIHsK LSsgIHN3aXRjaCAoYXJncy5ucikgewotKyNpZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkKLSsg ICAgY2FzZSBfX05SX25ld2ZzdGF0YXQ6Ci0rI2VuZGlmCi0rI2lmIGRlZmluZWQoX19OUl9mc3Rh dGF0NjQpCi0rICAgIGNhc2UgX19OUl9mc3RhdGF0NjQ6Ci0rI2VuZGlmCi0rI2lmIGRlZmluZWQo X19OUl9uZXdmc3RhdGF0KSB8fCBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQotKyAgICAgIGlmICgq cmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyICo+KGFyZ3MuYXJnc1sxXSkgPT0gJ1wwJwotKyAg ICAgICAgICAmJiBhcmdzLmFyZ3NbM10gPT0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KEFUX0VNUFRZ X1BBVEgpKSB7Ci0rICAgICAgICByZXR1cm4gc2FuZGJveDo6c3lzX2ZzdGF0NjQoc3RhdGljX2Nh c3Q8aW50PihhcmdzLmFyZ3NbMF0pLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IHN0YXQ2NCAqPihhcmdzLmFyZ3NbMl0pKTsKLSsg ICAgICB9IGVsc2UgewotKyAgICAgICAgZXJybm8gPSBFQUNDRVM7Ci0rICAgICAgICByZXR1cm4g LTE7Ci0rICAgICAgfQotKyAgICAgIGJyZWFrOwotKyNlbmRpZgotKyAgfQotKwotKyAgQ3Jhc2hT SUdTWVNfSGFuZGxlcihhcmdzLCBhdXgpOwotKwotKyAgLy8gU2hvdWxkIG5ldmVyIGJlIHJlYWNo ZWQuCi0rICBSQVdfQ0hFQ0soZmFsc2UpOwotKyAgcmV0dXJuIC1FTk9TWVM7Ci0rfQotKwotIGJw Zl9kc2w6OlJlc3VsdEV4cHIgQ3Jhc2hTSUdTWVMoKSB7Ci0gICByZXR1cm4gYnBmX2RzbDo6VHJh cChDcmFzaFNJR1NZU19IYW5kbGVyLCBOVUxMKTsKLSB9Ci1AQCAtMzg3LDYgKzQxOCwxMCBAQCBi cGZfZHNsOjpSZXN1bHRFeHByIFJld3JpdGVTY2hlZFNJR1NZUygpCi0gICByZXR1cm4gYnBmX2Rz bDo6VHJhcChTSUdTWVNTY2hlZEhhbmRsZXIsIE5VTEwpOwotIH0KLSAKLSticGZfZHNsOjpSZXN1 bHRFeHByIFJld3JpdGVGc3RhdGF0U0lHU1lTKCkgewotKyAgcmV0dXJuIGJwZl9kc2w6OlRyYXAo U0lHU1lTRnN0YXRhdEhhbmRsZXIsIE5VTEwpOwotK30KLSsKLSB2b2lkIEFsbG9jYXRlQ3Jhc2hL ZXlzKCkgewotICNpZiAhZGVmaW5lZChPU19OQUNMX05PTlNGSSkKLSAgIGlmIChzZWNjb21wX2Ny YXNoX2tleSkKLWRpZmYgLXVwIGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3Nl Y2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmguZnN0YXRmaXggY2hyb21pdW0tODgu MC40MzI0Ljk2L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFuZGxl cnMuaAotLS0tIGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5k bGVycy5oLmZzdGF0Zml4CTIwMjEtMDEtMjUgMTA6MTY6MzYuOTgyNTk4MjM2IC0wNTAwCi0rKysg Yi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmgJMjAy MS0wMS0yNSAxMDoxODo0NS43MDUxMTEwMjcgLTA1MDAKLUBAIC02Miw2ICs2MiwxMCBAQCBTQU5E Qk9YX0VYUE9SVCBpbnRwdHJfdCBTSUdTWVNQdHJhY2VGYWlsCi0gLy8gc2NoZWRfc2V0cGFyYW0o KSwgc2NoZWRfc2V0c2NoZWR1bGVyKCkKLSBTQU5EQk9YX0VYUE9SVCBpbnRwdHJfdCBTSUdTWVNT Y2hlZEhhbmRsZXIoY29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQqIGF1eCk7Ci0rLy8gSWYgdGhlIGZz dGF0YXQgc3lzY2FsbCBpcyBhY3R1YWxseSBhIGRpc2d1aXNlZCBmc3RhdCwgY2FsbHMgdGhlIHJl Z3VsYXIgZnN0YXQKLSsvLyBzeXNjYWxsLCBvdGhlcndpc2UsIGNyYXNoZXMgaW4gdGhlIHNhbWUg d2F5IGFzIENyYXNoU0lHU1lTX0hhbmRsZXIuCi0rU0FOREJPWF9FWFBPUlQgaW50cHRyX3QgU0lH U1lTRnN0YXRhdEhhbmRsZXIoY29uc3Qgc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhJiBhcmdzLCAK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBhdXgp OwotIAotIC8vIFZhcmlhbnRzIG9mIHRoZSBhYm92ZSBmdW5jdGlvbnMgZm9yIHVzZSB3aXRoIGJw Zl9kc2wuCi0gU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBDcmFzaFNJR1NZUygp OwotQEAgLTcyLDYgKzc2LDcgQEAgU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBD cmFzaAotIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgQ3Jhc2hTSUdTWVNGdXRl eCgpOwotIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgQ3Jhc2hTSUdTWVNQdHJh Y2UoKTsKLSBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIFJld3JpdGVTY2hlZFNJ R1NZUygpOwotK1NBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmV3cml0ZUZzdGF0 YXRTSUdTWVMoKTsKLSAKLSAvLyBBbGxvY2F0ZXMgYSBjcmFzaCBrZXkgc28gdGhhdCBTZWNjb21w IGluZm9ybWF0aW9uIGNhbiBiZSByZWNvcmRlZC4KLSB2b2lkIEFsbG9jYXRlQ3Jhc2hLZXlzKCk7 Ci1kaWZmIC11cCBjaHJvbWl1bS04OC4wLjQzMjQuOTYvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9z eXNjYWxsX3dyYXBwZXJzLmNjLmZzdGF0Zml4IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94 L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MKLS0tLSBhL3NhbmRib3gvbGludXgv c2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYy5mc3RhdGZpeAkyMDIxLTAxLTI1IDEwOjE4OjUz LjMwNzE0MTMxMSAtMDUwMAotKysrIGIvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dy YXBwZXJzLmNjCTIwMjEtMDEtMjUgMTA6MTk6NDYuOTgyMzU1MjkzIC0wNTAwCi1AQCAtMjYxLDQg KzI2MSwxMyBAQCBpbnQgc3lzX3NpZ2FjdGlvbihpbnQgc2lnbnVtLAotIAotICNlbmRpZiAgLy8g ZGVmaW5lZChNRU1PUllfU0FOSVRJWkVSKQotIAotK1NBTkRCT1hfRVhQT1JUIGludCBzeXNfZnN0 YXQ2NChpbnQgZmQsIHN0cnVjdCBzdGF0NjQgKmJ1ZikKLSt7Ci0rI2lmIGRlZmluZWQoX19OUl9m c3RhdDY0KQotKyAgICByZXR1cm4gc3lzY2FsbChfX05SX2ZzdGF0NjQsIGZkLCBidWYpOwotKyNl bHNlCi0rICAgIHJldHVybiBzeXNjYWxsKF9fTlJfZnN0YXQsIGZkLCBidWYpOwotKyNlbmRpZgot K30KLSsKLSB9ICAvLyBuYW1lc3BhY2Ugc2FuZGJveAotZGlmZiAtdXAgY2hyb21pdW0tODguMC40 MzI0Ljk2L3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oLmZzdGF0Zml4 IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3Jh cHBlcnMuaAotLS0tIGEvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmgu ZnN0YXRmaXgJMjAyMS0wMS0yNSAxMDoxOTo1My4xMTUzNzk3NDEgLTA1MDAKLSsrKyBiL3NhbmRi b3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oCTIwMjEtMDEtMjUgMTA6MjA6NDUu NDg1NTg4NDIxIC0wNTAwCi1AQCAtMTcsNiArMTcsNyBAQCBzdHJ1Y3Qgc29ja19mcHJvZzsKLSBz dHJ1Y3QgcmxpbWl0NjQ7Ci0gc3RydWN0IGNhcF9oZHI7Ci0gc3RydWN0IGNhcF9kYXRhOwotK3N0 cnVjdCBzdGF0NjQ7Ci0gCi0gbmFtZXNwYWNlIHNhbmRib3ggewotIAotQEAgLTg0LDYgKzg1LDkg QEAgU0FOREJPWF9FWFBPUlQgaW50IHN5c19zaWdhY3Rpb24oaW50IHNpZwotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzaWdhY3Rpb24qIGFjdCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2lnYWN0aW9uKiBvbGRhY3QpOwot IAotKy8vIFJlY2VudCBnbGliYyByZXdyaXRlcyBmc3RhdCB0byBmc3RhdGF0LgotK1NBTkRCT1hf RVhQT1JUIGludCBzeXNfZnN0YXQ2NChpbnQgZmQsIHN0cnVjdCBzdGF0NjQgKmJ1Zik7Ci0rCi0g fSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKLSAKLSAjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU0VS VklDRVNfU1lTQ0FMTF9XUkFQUEVSU19IXwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL2Nocm9taXVtLTkzLWZmbXBlZy00LjQucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvY2hyb21pdW0tOTMtZmZtcGVnLTQuNC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLmYwZWM3MzZmOThiYwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05My1mZm1wZWctNC40LnBhdGNoCkBAIC0wLDAg KzEsMzYgQEAKK2RpZmYgLS1naXQgYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjIGIv bWVkaWEvZmlsdGVycy9mZm1wZWdfZGVtdXhlci5jYworaW5kZXggYWM0NzEzYjA3MjY4Li40OTJh OWEzN2QwOTYgMTAwNjQ0CistLS0gYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjCisr KysgYi9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjCitAQCAtNDI3LDExICs0MjcsMTEg QEAgdm9pZCBGRm1wZWdEZW11eGVyU3RyZWFtOjpFbnF1ZXVlUGFja2V0KFNjb3BlZEFWUGFja2V0 IHBhY2tldCkgeworICAgc2NvcGVkX3JlZnB0cjxEZWNvZGVyQnVmZmVyPiBidWZmZXI7CisgCisg ICBpZiAodHlwZSgpID09IERlbXV4ZXJTdHJlYW06OlRFWFQpIHsKKy0gICAgc2l6ZV90IGlkX3Np emUgPSAwOworKyAgICBpbnQgaWRfc2l6ZSA9IDA7CisgICAgIHVpbnQ4X3QqIGlkX2RhdGEgPSBh dl9wYWNrZXRfZ2V0X3NpZGVfZGF0YSgKKyAgICAgICAgIHBhY2tldC5nZXQoKSwgQVZfUEtUX0RB VEFfV0VCVlRUX0lERU5USUZJRVIsICZpZF9zaXplKTsKKyAKKy0gICAgc2l6ZV90IHNldHRpbmdz X3NpemUgPSAwOworKyAgICBpbnQgc2V0dGluZ3Nfc2l6ZSA9IDA7CisgICAgIHVpbnQ4X3QqIHNl dHRpbmdzX2RhdGEgPSBhdl9wYWNrZXRfZ2V0X3NpZGVfZGF0YSgKKyAgICAgICAgIHBhY2tldC5n ZXQoKSwgQVZfUEtUX0RBVEFfV0VCVlRUX1NFVFRJTkdTLCAmc2V0dGluZ3Nfc2l6ZSk7CisgCitA QCAtNDQzLDcgKzQ0Myw3IEBAIHZvaWQgRkZtcGVnRGVtdXhlclN0cmVhbTo6RW5xdWV1ZVBhY2tl dChTY29wZWRBVlBhY2tldCBwYWNrZXQpIHsKKyAgICAgYnVmZmVyID0gRGVjb2RlckJ1ZmZlcjo6 Q29weUZyb20ocGFja2V0LT5kYXRhLCBwYWNrZXQtPnNpemUsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNpZGVfZGF0YS5kYXRhKCksIHNpZGVfZGF0YS5zaXplKCkpOwor ICAgfSBlbHNlIHsKKy0gICAgc2l6ZV90IHNpZGVfZGF0YV9zaXplID0gMDsKKysgICAgaW50IHNp ZGVfZGF0YV9zaXplID0gMDsKKyAgICAgdWludDhfdCogc2lkZV9kYXRhID0gYXZfcGFja2V0X2dl dF9zaWRlX2RhdGEoCisgICAgICAgICBwYWNrZXQuZ2V0KCksIEFWX1BLVF9EQVRBX01BVFJPU0tB X0JMT0NLQURESVRJT05BTCwgJnNpZGVfZGF0YV9zaXplKTsKKyAKK0BAIC01MDQsNyArNTA0LDcg QEAgdm9pZCBGRm1wZWdEZW11eGVyU3RyZWFtOjpFbnF1ZXVlUGFja2V0KFNjb3BlZEFWUGFja2V0 IHBhY2tldCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhY2tl dC0+c2l6ZSAtIGRhdGFfb2Zmc2V0KTsKKyAgICAgfQorIAorLSAgICBzaXplX3Qgc2tpcF9zYW1w bGVzX3NpemUgPSAwOworKyAgICBpbnQgc2tpcF9zYW1wbGVzX3NpemUgPSAwOworICAgICBjb25z dCB1aW50MzJfdCogc2tpcF9zYW1wbGVzX3B0ciA9CisgICAgICAgICByZWludGVycHJldF9jYXN0 PGNvbnN0IHVpbnQzMl90Kj4oYXZfcGFja2V0X2dldF9zaWRlX2RhdGEoCisgICAgICAgICAgICAg cGFja2V0LmdldCgpLCBBVl9QS1RfREFUQV9TS0lQX1NBTVBMRVMsICZza2lwX3NhbXBsZXNfc2l6 ZSkpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTkzLXBk Zml1bS1pbmNsdWRlLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTkz LXBkZml1bS1pbmNsdWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uNzJmMmFiZDNlN2E2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL2Nocm9taXVtLTkzLXBkZml1bS1pbmNsdWRlLnBhdGNoCkBAIC0wLDAgKzEsMTE3IEBA CitGcm9tIDdhNjI4OWM1YWNlNTJjZjg4ZjBlMTljYWE1Zjc4YjdjMTVkMGU3YTYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWtsb3MgVmFqbmEgPHZtaWtsb3NAY29sbGFib3JhLmNv LnVrPgorRGF0ZTogV2VkLCAyMSBKdWwgMjAyMSAxNzo0MjozMCArMDAwMAorU3ViamVjdDogW1BB VENIXSBmeGNvZGVjLCBmeGdlOiBmaXggbWlzc2luZyBpbmNsdWRlcyB3aXRoIGxpYnN0ZGMrKwor CitUaGVzZSBtaXNzaW5nIGluY2x1ZGVzIGJyZWFrIHRoZSBidWlsZCB3aXRoIGdjYy9saWJzdGRj KyssIHRoZXkgd2VyZSBub3QKK2EgcHJvYmxlbSBpbiBwcmFjdGljZSB3aXRoIGNsYW5nL2xpYmMr Ky4KKworQ2hhbmdlLUlkOiBJNDAwMTNmOTdiYTdhYjA2ZjMyYWE1OWY4N2IwNGFlYzA2YTE5NDc4 YworUmV2aWV3ZWQtb246IGh0dHBzOi8vcGRmaXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2Mv cGRmaXVtLysvODMyMTAKK0NvbW1pdC1RdWV1ZTogTGVpIFpoYW5nIDx0aGVzdGlnQGNocm9taXVt Lm9yZz4KK1Jldmlld2VkLWJ5OiBMZWkgWmhhbmcgPHRoZXN0aWdAY2hyb21pdW0ub3JnPgorLS0t CisKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pwZWcvanBl Z21vZHVsZS5jcHAgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pwZWcvanBlZ21v ZHVsZS5jcHAKK2luZGV4IGNlYTA2NzkuLjAzNmYyNTAgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0 eS9wZGZpdW0vY29yZS9meGNvZGVjL2pwZWcvanBlZ21vZHVsZS5jcHAKKysrKyBiL3RoaXJkX3Bh cnR5L3BkZml1bS9jb3JlL2Z4Y29kZWMvanBlZy9qcGVnbW9kdWxlLmNwcAorQEAgLTcsNiArNyw3 IEBACisgI2luY2x1ZGUgImNvcmUvZnhjb2RlYy9qcGVnL2pwZWdtb2R1bGUuaCIKKyAKKyAjaW5j bHVkZSA8c2V0am1wLmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorIAorICNpbmNsdWRlIDxtZW1v cnk+CisgI2luY2x1ZGUgPHV0aWxpdHk+CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcGRmaXVt L2NvcmUvZnhjb2RlYy9qcHgvY2pweF9kZWNvZGVyLmNwcCBiL3RoaXJkX3BhcnR5L3BkZml1bS9j b3JlL2Z4Y29kZWMvanB4L2NqcHhfZGVjb2Rlci5jcHAKK2luZGV4IGM2Njk4NWEuLjljMTEyMmIg MTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pweC9janB4X2Rl Y29kZXIuY3BwCisrKysgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pweC9janB4 X2RlY29kZXIuY3BwCitAQCAtNiw2ICs2LDggQEAKKyAKKyAjaW5jbHVkZSAiY29yZS9meGNvZGVj L2pweC9janB4X2RlY29kZXIuaCIKKyAKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1 ZGUgPGFsZ29yaXRobT4KKyAjaW5jbHVkZSA8bGltaXRzPgorICNpbmNsdWRlIDx1dGlsaXR5Pgor ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvY2Z4X2NsaXByZ24uY3Bw IGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9jZnhfY2xpcHJnbi5jcHAKK2luZGV4IDUz NjlkNTIuLmQxOTg4NTIgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdl L2NmeF9jbGlwcmduLmNwcAorKysrIGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9jZnhf Y2xpcHJnbi5jcHAKK0BAIC02LDYgKzYsOCBAQAorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvY2Z4 X2NsaXByZ24uaCIKKyAKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgPHV0aWxp dHk+CisgCisgI2luY2x1ZGUgImNvcmUvZnhnZS9kaWIvY2Z4X2RpYml0bWFwLmgiCitkaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1hcGNvbXBvc2Vy LmNwcCBiL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9iaXRtYXBjb21wb3Nl ci5jcHAKK2luZGV4IDZmOWI0MjAuLjBmMWZmYWUgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9w ZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfYml0bWFwY29tcG9zZXIuY3BwCisrKysgYi90aGlyZF9w YXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfYml0bWFwY29tcG9zZXIuY3BwCitAQCAtNiw2 ICs2LDggQEAKKyAKKyAjaW5jbHVkZSAiY29yZS9meGdlL2RpYi9jZnhfYml0bWFwY29tcG9zZXIu aCIKKyAKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgImNvcmUvZnhnZS9jZnhf Y2xpcHJnbi5oIgorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGliL2NmeF9kaWJpdG1hcC5oIgorIAor ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9iaXRtYXBz dG9yZXIuY3BwIGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1hcHN0 b3Jlci5jcHAKK2luZGV4IGY1N2MwMGUuLjQ1YTBhMTggMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0 eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfYml0bWFwc3RvcmVyLmNwcAorKysrIGIvdGhpcmRf cGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1hcHN0b3Jlci5jcHAKK0BAIC02LDYg KzYsOCBAQAorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGliL2NmeF9iaXRtYXBzdG9yZXIuaCIK KyAKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgPHV0aWxpdHk+CisgCisgI2lu Y2x1ZGUgImNvcmUvZnhnZS9kaWIvY2Z4X2RpYml0bWFwLmgiCitkaWZmIC0tZ2l0IGEvdGhpcmRf cGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2RpYmJhc2UuY3BwIGIvdGhpcmRfcGFydHkv cGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2RpYmJhc2UuY3BwCitpbmRleCA0ZWMwZGRiLi5hMWRl MmZiIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2Rp YmJhc2UuY3BwCisrKysgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfZGli YmFzZS5jcHAKK0BAIC02LDYgKzYsOCBAQAorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGliL2Nm eF9kaWJiYXNlLmgiCisgCisrI2luY2x1ZGUgPHN0cmluZy5oPgorKworICNpbmNsdWRlIDxhbGdv cml0aG0+CisgI2luY2x1ZGUgPG1lbW9yeT4KKyAjaW5jbHVkZSA8dXRpbGl0eT4KK2RpZmYgLS1n aXQgYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfZGliaXRtYXAuY3BwIGIv dGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2RpYml0bWFwLmNwcAoraW5kZXgg ZDdjY2Y2Yy4uOTRlOGFjYyAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4 Z2UvZGliL2NmeF9kaWJpdG1hcC5jcHAKKysrKyBiL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4 Z2UvZGliL2NmeF9kaWJpdG1hcC5jcHAKK0BAIC02LDYgKzYsOCBAQAorIAorICNpbmNsdWRlICJj b3JlL2Z4Z2UvZGliL2NmeF9kaWJpdG1hcC5oIgorIAorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysK KyAjaW5jbHVkZSA8bGltaXRzPgorICNpbmNsdWRlIDxtZW1vcnk+CisgI2luY2x1ZGUgPHV0aWxp dHk+CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X3Nj YW5saW5lY29tcG9zaXRvci5jcHAgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9j Znhfc2NhbmxpbmVjb21wb3NpdG9yLmNwcAoraW5kZXggZTgzNjJkNy4uYzA0YzZkYyAxMDA2NDQK Ky0tLSBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9zY2FubGluZWNvbXBv c2l0b3IuY3BwCisrKysgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfc2Nh bmxpbmVjb21wb3NpdG9yLmNwcAorQEAgLTYsNiArNiw4IEBACisgCisgI2luY2x1ZGUgImNvcmUv ZnhnZS9kaWIvY2Z4X3NjYW5saW5lY29tcG9zaXRvci5oIgorIAorKyNpbmNsdWRlIDxzdHJpbmcu aD4KKysKKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGli L2Z4X2RpYi5oIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2N1cnNlZF5V c2NvcGVkX2ZpbGUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY3Vyc2VkXlVzY29w ZWRfZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjJl NTQzM2Y3YWJjZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9j dXJzZWReVXNjb3BlZF9maWxlLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKKy0tLSBhL2Jhc2UvZmls ZXMvc2NvcGVkX2ZpbGVfbGludXguY2Mub3JpZworKysrIGIvYmFzZS9maWxlcy9zY29wZWRfZmls ZV9saW51eC5jYworQEAgLTc3LDE1ICs3NywzIEBACisgfQorIAorIH0gIC8vIG5hbWVzcGFjZSBi YXNlCistCistZXh0ZXJuICJDIiB7CistCistaW50IF9fY2xvc2UoaW50KTsKKy0KKy1fX2F0dHJp YnV0ZV9fKCh2aXNpYmlsaXR5KCJkZWZhdWx0IiksIG5vaW5saW5lKSkgaW50IGNsb3NlKGludCBm ZCkgeworLSAgaWYgKGJhc2U6OklzRkRPd25lZChmZCkgJiYgZ19pc19vd25lcnNoaXBfZW5mb3Jj ZWQpCistICAgIENyYXNoT25GZE93bmVyc2hpcFZpb2xhdGlvbigpOworLSAgcmV0dXJuIF9fY2xv c2UoZmQpOworLX0KKy0KKy19ICAvLyBleHRlcm4gIkMiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvZml4LWNyYXNoLWluLVRoZW1lU2VydmljZS5wYXRjaCBiL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9maXgtY3Jhc2gtaW4tVGhlbWVTZXJ2aWNlLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMmE2OTZhM2E3MzUuLjAwMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LWNyYXNoLWluLVRoZW1lU2VydmljZS5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLUZyb20gYzJkMDEzM2Y0N2FmYjU5YjRjZTY0 ZTQyMjE1ZDFkMDUzZjE1MjUwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXBo YW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMTMgQXByIDIw MjEgMjM6MjE6NDIgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gZml4IGNyYXNoIGluIFRoZW1lU2Vy dmljZQotCi1UaGVtZVN5bmNhYmxlU2VydmljZSBhbmQgVGhlbWVTZXJ2aWNlIGFyZSBvd25lZCBi eSBlYWNoIG90aGVyLiBPbgotZGVzdHJ1Y3Rpb24gb2YgVGhlbWVTZXJ2aWNlLCBUaGVtZVN5bmNh YmxlU2VydmljZSBnZXRzIGRlc3RydWN0ZWQgYXMKLXdlbGwsIGJ1dCBjYWxscyBSZW1vdmVPYnNl cnZlciBvZiBwYXJ0bHkgZGVzdHJ1Y3RlZCBUaGVtZVNlcnZpY2Ugb2JqZWN0LgotVG8gYXZvaWQg YWxyZWFkeSBkZXN0cnVjdGVkIHxvYnNlcnZlcnNffCBsaXN0LCBtb3ZlIGl0IGJlZm9yZQotfHRo ZW1lX3N5bmNhYmxlX3NlcnZpY2VffCBkZWZpbml0aW9uLgotCi1CdWc6IDExOTA1NjEKLUNoYW5n ZS1JZDogSTRkYzJjOTkwZDU4OTA3MWQ5N2I3ZmE3MzdhZmVmNTQ0NjNjODQ3NTEKLVJldmlld2Vk LW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0v c3JjLysvMjgyMTMxMQotQ29tbWl0LVF1ZXVlOiBQZXRlciBLYXN0aW5nIDxwa2FzdGluZ0BjaHJv bWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTogUGV0ZXIgS2FzdGluZyA8cGthc3RpbmdAY2hyb21pdW0u b3JnPgotQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7Izg3MjE2NH0KLS0t LQotIGNocm9tZS9icm93c2VyL3RoZW1lcy90aGVtZV9zZXJ2aWNlLmggfCA2ICsrKystLQotIDEg ZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1n aXQgY2hyb21lL2Jyb3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2UuaCBjaHJvbWUvYnJvd3Nlci90 aGVtZXMvdGhlbWVfc2VydmljZS5oCi1pbmRleCA1OTJkNDBhZTlkZTBmLi4zMzdkZmFjOWEwNDBm IDEwMDY0NAotLS0tIGEvY2hyb21lL2Jyb3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2UuaAotKysr IGIvY2hyb21lL2Jyb3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2UuaAotQEAgLTI5OSw2ICsyOTks MTAgQEAgY2xhc3MgVGhlbWVTZXJ2aWNlIDogcHVibGljIEtleWVkU2VydmljZSwKLSAgIC8vIFRo ZSBudW1iZXIgb2YgaW5mb2JhcnMgY3VycmVudGx5IGRpc3BsYXllZC4KLSAgIGludCBudW1iZXJf b2ZfcmVpbnN0YWxsZXJzXyA9IDA7Ci0gCi0rICAvLyBEZWNsYXJlZCBiZWZvcmUgfHRoZW1lX3N5 bmNhYmxlX3NlcnZpY2VffCwgYmVjYXVzZSBUaGVtZVN5bmNhYmxlU2VydmljZQotKyAgLy8gcmVt b3ZlcyBpdHNlbGYgZnJvbSB0aGUgfG9ic2VydmVyc198IGxpc3Qgb24gZGVzdHJ1Y3Rpb24uCi0r ICBiYXNlOjpPYnNlcnZlckxpc3Q8VGhlbWVTZXJ2aWNlT2JzZXJ2ZXI+IG9ic2VydmVyc187Ci0r Ci0gICBzdGQ6OnVuaXF1ZV9wdHI8VGhlbWVTeW5jYWJsZVNlcnZpY2U+IHRoZW1lX3N5bmNhYmxl X3NlcnZpY2VfOwotIAotICNpZiBCVUlMREZMQUcoRU5BQkxFX0VYVEVOU0lPTlMpCi1AQCAtMzIw LDggKzMyNCw2IEBAIGNsYXNzIFRoZW1lU2VydmljZSA6IHB1YmxpYyBLZXllZFNlcnZpY2UsCi0g ICBTY29wZWRPYnNlcnZlcjx1aTo6TmF0aXZlVGhlbWUsIHVpOjpOYXRpdmVUaGVtZU9ic2VydmVy PgotICAgICAgIG5hdGl2ZV90aGVtZV9vYnNlcnZlcl97dGhpc307Ci0gCi0tICBiYXNlOjpPYnNl cnZlckxpc3Q8VGhlbWVTZXJ2aWNlT2JzZXJ2ZXI+IG9ic2VydmVyc187Ci0tCi0gICBiYXNlOjpX ZWFrUHRyRmFjdG9yeTxUaGVtZVNlcnZpY2U+IHdlYWtfcHRyX2ZhY3Rvcnlfe3RoaXN9OwotIAot ICAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFRoZW1lU2VydmljZSk7CmRpZmYgLS1naXQgYS9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LW5hcnJvd2luZy1jYXN0LnBhdGNoIGIvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1uYXJyb3dpbmctY2FzdC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmE0Y2VhMzE0Y2NjYwotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtbmFycm93aW5nLWNhc3QucGF0Y2gKQEAg LTAsMCArMSw0MiBAQAorLS0tIGEvYmFzZS9zeXN0ZW0vc3lzX2luZm9fcG9zaXguY2Mub3JpZwor KysrIGIvYmFzZS9zeXN0ZW0vc3lzX2luZm9fcG9zaXguY2MKK0BAIC0xMDIsOCArMTAyLDggQEAK KyAKKyAgIHN3aXRjaCAoc3RhdHMuZl90eXBlKSB7CisgICAgIGNhc2UgVE1QRlNfTUFHSUM6Cist ICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PihIVUdFVExCRlNfTUFHSUMpOgorLSAgICBjYXNlIHN0 YXRpY19jYXN0PGludD4oUkFNRlNfTUFHSUMpOgorKyAgICBjYXNlIHN0YXRpY19jYXN0PGRlY2x0 eXBlKHN0YXRzLmZfdHlwZSk+KEhVR0VUTEJGU19NQUdJQyk6CisrICAgIGNhc2Ugc3RhdGljX2Nh c3Q8ZGVjbHR5cGUoc3RhdHMuZl90eXBlKT4oUkFNRlNfTUFHSUMpOgorICAgICAgIHJldHVybiB0 cnVlOworICAgfQorICAgcmV0dXJuIGZhbHNlOworLS0tIGEvYmFzZS9maWxlcy9maWxlX3V0aWxf bGludXguY2Mub3JpZworKysrIGIvYmFzZS9maWxlcy9maWxlX3V0aWxfbGludXguY2MKK0BAIC0z MCw3ICszMCw3IEBACisgICAgIGNhc2UgRVhUMl9TVVBFUl9NQUdJQzogIC8vIEFsc28gZXh0MyBh bmQgZXh0NAorICAgICBjYXNlIE1TRE9TX1NVUEVSX01BR0lDOgorICAgICBjYXNlIFJFSVNFUkZT X1NVUEVSX01BR0lDOgorLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oQlRSRlNfU1VQRVJfTUFH SUMpOgorKyAgICBjYXNlIHN0YXRpY19jYXN0PGRlY2x0eXBlKHN0YXRmc19idWYuZl90eXBlKT4o QlRSRlNfU1VQRVJfTUFHSUMpOgorICAgICBjYXNlIDB4NTM0NjU0NEU6ICAvLyBOVEZTCisgICAg IGNhc2UgMHg1ODQ2NTM0MjogIC8vIFhGUworICAgICBjYXNlIDB4MzE1MzQ2NEE6ICAvLyBKRlMK K0BAIC00MCwxNCArNDAsMTQgQEAKKyAgICAgICAqdHlwZSA9IEZJTEVfU1lTVEVNX05GUzsKKyAg ICAgICBicmVhazsKKyAgICAgY2FzZSBTTUJfU1VQRVJfTUFHSUM6CistICAgIGNhc2Ugc3RhdGlj X2Nhc3Q8aW50PigweEZGNTM0RDQyKTogIC8vIENJRlMKKysgICAgY2FzZSBzdGF0aWNfY2FzdDxk ZWNsdHlwZShzdGF0ZnNfYnVmLmZfdHlwZSk+KDB4RkY1MzRENDIpOiAgLy8gQ0lGUworICAgICAg ICp0eXBlID0gRklMRV9TWVNURU1fU01COworICAgICAgIGJyZWFrOworICAgICBjYXNlIENPREFf U1VQRVJfTUFHSUM6CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9DT0RBOworICAgICAgIGJy ZWFrOworLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oSFVHRVRMQkZTX01BR0lDKToKKy0gICAg Y2FzZSBzdGF0aWNfY2FzdDxpbnQ+KFJBTUZTX01BR0lDKToKKysgICAgY2FzZSBzdGF0aWNfY2Fz dDxkZWNsdHlwZShzdGF0ZnNfYnVmLmZfdHlwZSk+KEhVR0VUTEJGU19NQUdJQyk6CisrICAgIGNh c2Ugc3RhdGljX2Nhc3Q8ZGVjbHR5cGUoc3RhdGZzX2J1Zi5mX3R5cGUpPihSQU1GU19NQUdJQyk6 CisgICAgIGNhc2UgVE1QRlNfTUFHSUM6CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9NRU1P Ulk7CisgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv bGludXgtc2FuZGJveC1maXgtZnN0YXRhdC1jcmFzaC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9saW51eC1zYW5kYm94LWZpeC1mc3RhdGF0LWNyYXNoLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNGE5OWYxZGUyODc0Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2xpbnV4LXNhbmRib3gtZml4LWZzdGF0YXQt Y3Jhc2gucGF0Y2gKQEAgLTAsMCArMSwxMzg0IEBACitGcm9tIDRiNDM4MzIzZDY4ODQwNDUzYjVl ZjgyNmMzOTk3NTY4ZTJlMGU4YzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0 aGV3IERlbnRvbiA8bXBkZW50b25AY2hyb21pdW0ub3JnPgorRGF0ZTogTW9uLCAxOSBKdWwgMjAy MSAxNDowMzoxMyArMDAwMAorU3ViamVjdDogW1BBVENIXSBSZWxhbmQgIlJlbGFuZCAiTGludXgg c2FuZGJveCBzeXNjYWxsIGJyb2tlcjogdXNlIHN0cnVjdAorIGtlcm5lbF9zdGF0IiIKKworVGhp cyByZXZlcnRzIGNvbW1pdCBmZjI3N2E1MmVjZTBiMjE2NjE3ZDc3MGYyMDFlZDY2OTU1ZmU3MGI5 LgorCitSZWFzb24gZm9yIHJldmVydDogcmVsYW5kCisKK1RoZSBmaXggaW5jbHVkZWQgaW4gdGhl IHJlbGFuZCBpcyB0aGF0IGZzdGF0YXQ2NCgpIG5lZWRzIHRvIGJlCithbGxvd2VkIGluIHRoZSBi cm9rZXIgcHJvY2VzcydzIHNlY2NvbXAgcG9saWN5LgorCitUaGlzIENMIGFsc28gaW5jbHVkZXMg c29tZSBleHRyYSB0ZXN0cyB0aGF0IHRoZSBrZXJuZWxfc3RhdCBzdHJ1Y3R1cmVzCittYXRjaCB0 aGUgbGF5b3V0IHRoZSBrZXJuZWwgZXhwZWN0cy4KKworQnVnOiAxMTY0OTc1LCAxMTk5NDMxCitU ZXN0OiB0cm9nZG9yIENocm9tZWJvb2sgc3VjY2Vzc2Z1bGx5IGJvb3RzIGFuZCBhbGxvd3MgbG9n aW4uCisKK09yaWdpbmFsIGNoYW5nZSdzIGRlc2NyaXB0aW9uOgorPiBSZXZlcnQgIlJlbGFuZCAi TGludXggc2FuZGJveCBzeXNjYWxsIGJyb2tlcjogdXNlIHN0cnVjdCBrZXJuZWxfc3RhdCIiCis+ Cis+IFRoaXMgcmV2ZXJ0cyBjb21taXQgY2ZmYmM0NDMyYWY3OWY3MjBhZTNjNzVkZmYzODBiODUz NzAxYmQ2NC4KKz4KKz4gUmVhc29uIGZvciByZXZlcnQ6IGh0dHBzOi8vYnVncy5jaHJvbWl1bS5v cmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTExOTk0MzEKKz4KKz4gT3JpZ2luYWwgY2hh bmdlJ3MgZGVzY3JpcHRpb246Cis+ID4gUmVsYW5kICJMaW51eCBzYW5kYm94IHN5c2NhbGwgYnJv a2VyOiB1c2Ugc3RydWN0IGtlcm5lbF9zdGF0IgorPiA+Cis+ID4gVGhpcyByZXZlcnRzIGNvbW1p dCAyMzAzMGRjNjUwY2RmYTIyNjMxZjI1YmVmOTM3OTA1ZjI3ZjA2YTJjLgorPiA+Cis+ID4gT3Jp Z2luYWwgY2hhbmdlJ3MgZGVzY3JpcHRpb246Cis+ID4gPiBSZXZlcnQgIkxpbnV4IHNhbmRib3gg c3lzY2FsbCBicm9rZXI6IHVzZSBzdHJ1Y3Qga2VybmVsX3N0YXQiCis+ID4gPgorPiA+ID4gVGhp cyByZXZlcnRzIGNvbW1pdCA3ODRiMGZjZDhhM2NhNmJjZDNhY2I5Y2ZkNjI0ZWM5Y2JiYWMyNzg5 LgorPiA+ID4KKz4gPiA+IFJlYXNvbiBmb3IgcmV2ZXJ0OiBDYXVzaW5nIGZhaWx1cmUgaW4KKz4g PiA+IFN0ZXAgInNhbmRib3hfbGludXhfdW5pdHRlc3RzIiBmYWlsaW5nIG9uIGJ1aWxkZXIgIkxp bnV4IENocm9taXVtT1MgTVNhbiBUZXN0cyIKKz4gPiA+IFNlZSBjcmJ1Zy5jb20vMTE5ODQ4MAor PiA+ID4KKz4gPiA+IE9yaWdpbmFsIGNoYW5nZSdzIGRlc2NyaXB0aW9uOgorPiA+ID4gPiBMaW51 eCBzYW5kYm94IHN5c2NhbGwgYnJva2VyOiB1c2Ugc3RydWN0IGtlcm5lbF9zdGF0Cis+ID4gPiA+ Cis+ID4gPiA+IFRoZSBzdHJ1Y3Qgc3RhdCB1c2VkIGluIGxpYmMgaXMgZGlmZmVyZW50IChpbiBz aXplIGFuZCBmaWVsZCBvcmRlcmluZykKKz4gPiA+ID4gZnJvbSB0aGUgc3RydWN0dXJlIGFzc3Vt ZWQgYnkgdGhlIExpbnV4IGtlcm5lbC4gU28sIHdoZW4gZW11bGF0aW5nCis+ID4gPiA+IHN5c3Rl bSBjYWxscywgd2UgbmVlZCB0byB1c2UgdGhlIHN0cnVjdCBkZWZpbml0aW9uIHRoZSBrZXJuZWwg ZXhwZWN0cy4KKz4gPiA+ID4KKz4gPiA+ID4gVGhpcyBDTCBhZGRzIGxpbnV4X3N0YXQuaCB0aGF0 IGluY2x1ZGVzIGRlZmluaXRpb25zIG9mIHRoZSBkaWZmZXJlbnQKKz4gPiA+ID4ga2VybmVsIHN0 cnVjdHMuCis+ID4gPiA+Cis+ID4gPiA+IENoYW5nZS1JZDogSTUzY2FkMzVjMjI1MWRmZjBmNmI3 ZWE3NzUyOGNmYTU4ZWYzY2FiNGEKKz4gPiA+ID4gUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21p dW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8yNzgwODc2Cis+ID4g PiA+IENvbW1pdC1RdWV1ZTogTWF0dGhldyBEZW50b24gPG1wZGVudG9uQGNocm9taXVtLm9yZz4K Kz4gPiA+ID4gUmV2aWV3ZWQtYnk6IFJvYmVydCBTZXNlayA8cnNlc2VrQGNocm9taXVtLm9yZz4K Kz4gPiA+ID4gQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7Izg3MTc2N30K Kz4gPiA+Cis+ID4gPiBDaGFuZ2UtSWQ6IEljYmVjMzhmMjEwM2M4NDI0ZGVjNzlhYjE4NzBiOTdj M2U4M2Y5MzYxCis+ID4gPiBOby1QcmVzdWJtaXQ6IHRydWUKKz4gPiA+IE5vLVRyZWUtQ2hlY2tz OiB0cnVlCis+ID4gPiBOby1Ucnk6IHRydWUKKz4gPiA+IFJldmlld2VkLW9uOiBodHRwczovL2No cm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMjgyMTgxMgor PiA+ID4gQXV0by1TdWJtaXQ6IFZpY3RvciBWaWFubmEgPHZpY3RvcnZpYW5uYUBnb29nbGUuY29t PgorPiA+ID4gT3duZXJzLU92ZXJyaWRlOiBWaWN0b3IgVmlhbm5hIDx2aWN0b3J2aWFubmFAZ29v Z2xlLmNvbT4KKz4gPiA+IENvbW1pdC1RdWV1ZTogUnViYmVyIFN0YW1wZXIgPHJ1YmJlci1zdGFt cGVyQGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbT4KKz4gPiA+IEJvdC1Db21taXQ6IFJ1YmJl ciBTdGFtcGVyIDxydWJiZXItc3RhbXBlckBhcHBzcG90LmdzZXJ2aWNlYWNjb3VudC5jb20+Cis+ ID4gPiBDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjODcxODgyfQorPiA+ Cis+ID4gQ2hhbmdlLUlkOiBJMWYzOWJiNTI0Mjk2MTQ3NGRlZjU5NGZmN2RiZWE1MjAwOWYyY2Vl NAorPiA+IFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2Uu Y29tL2MvY2hyb21pdW0vc3JjLysvMjgyNDExNQorPiA+IEF1dG8tU3VibWl0OiBNYXR0aGV3IERl bnRvbiA8bXBkZW50b25AY2hyb21pdW0ub3JnPgorPiA+IENvbW1pdC1RdWV1ZTogTWF0dGhldyBE ZW50b24gPG1wZGVudG9uQGNocm9taXVtLm9yZz4KKz4gPiBSZXZpZXdlZC1ieTogUm9iZXJ0IFNl c2VrIDxyc2VzZWtAY2hyb21pdW0ub3JnPgorPiA+IENyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9o ZWFkcy9tYXN0ZXJAeyM4NzI4MTJ9Cis+Cis+IEZpeGVkOiAxMTk5NDMxCis+IENoYW5nZS1JZDog SWViZmMwYzQ4MjAxYmYyMmZmOWM1NGQ4ZDVjOGE0M2QyNmE4ODAwOTgKKz4gTm8tUHJlc3VibWl0 OiB0cnVlCis+IE5vLVRyZWUtQ2hlY2tzOiB0cnVlCis+IE5vLVRyeTogdHJ1ZQorPiBSZXZpZXdl ZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVt L3NyYy8rLzI4MzA0NTkKKz4gQXV0by1TdWJtaXQ6IEt5bGUgSG9yaW1vdG8gPGtob3JpbW90b0Bj aHJvbWl1bS5vcmc+Cis+IENvbW1pdC1RdWV1ZTogTWF0dGhldyBEZW50b24gPG1wZGVudG9uQGNo cm9taXVtLm9yZz4KKz4gQ29tbWl0LVF1ZXVlOiBLaW51a28gWWFzdWRhIDxraW51a29AY2hyb21p dW0ub3JnPgorPiBSZXZpZXdlZC1ieTogTWF0dGhldyBEZW50b24gPG1wZGVudG9uQGNocm9taXVt Lm9yZz4KKz4gUmV2aWV3ZWQtYnk6IEtpbnVrbyBZYXN1ZGEgPGtpbnVrb0BjaHJvbWl1bS5vcmc+ Cis+IE93bmVycy1PdmVycmlkZTogS2ludWtvIFlhc3VkYSA8a2ludWtvQGNocm9taXVtLm9yZz4K Kz4gQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7Izg3MzE3M30KKworQ2hh bmdlLUlkOiBJYmU2YTQ4NTA3MGYzMzQ4OWFhYTE1N2I1MWI5MDhjMmQyM2QxNzRkNworUmV2aWV3 ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1 bS9zcmMvKy8yODQ4OTM2CitSZXZpZXdlZC1ieTogUm9iZXJ0IFNlc2VrIDxyc2VzZWtAY2hyb21p dW0ub3JnPgorQ29tbWl0LVF1ZXVlOiBNYXR0aGV3IERlbnRvbiA8bXBkZW50b25AY2hyb21pdW0u b3JnPgorQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7IzkwMjk4MX0KKy0t LQorIHNhbmRib3gvbGludXgvQlVJTEQuZ24gICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSAr CisgLi4uL3NlY2NvbXBfYnJva2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MgICAgICAgIHwgIDQwICsr Ky0KKyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvREVQUyAgICAgICAgfCAgIDEg LQorIC4uLnNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zX3VuaXR0ZXN0cy5jYyB8ICAgNCAt Cisgc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjICAgIHwgIDUwICsr KystCisgc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmggICAgIHwgIDE1 ICsrCisgLi4uL3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnNfdW5pdHRlc3QuY2MgICAgIHwgMTI5 ICsrKysrKysrKysrLQorIHNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvREVQUyAgICAgICAg ICAgICB8ICAgMyArLQorIHNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2NsaWVu dC5jYyB8ICAgNCArLQorIHNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2NsaWVu dC5oICB8ICAgNCArLQorIHNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2hvc3Qu Y2MgICB8ICAyMyArKy0KKyAuLi4vc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3NfdW5pdHRl c3QuY2MgfCAgNzQgKysrLS0tLQorIC4uLi9yZW1vdGVfc3lzY2FsbF9hcmdfaGFuZGxlcl91bml0 dGVzdC5jYyAgICB8ICAzNiArKy0tCisgLi4uL3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0 Y2hlci5jYyAgICAgIHwgIDY3ICsrKystLS0KKyAuLi4vbGludXgvc3lzY2FsbF9icm9rZXIvc3lz Y2FsbF9kaXNwYXRjaGVyLmggfCAgMjcgKystCisgc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVy cy9saW51eF9zdGF0LmggICAgIHwgMTg4ICsrKysrKysrKysrKysrKysrKworIHNhbmRib3gvbGlu dXgvc3lzdGVtX2hlYWRlcnMvbGludXhfdGltZS5oICAgICB8ICAyNiArKysKKyBzYW5kYm94L2xp bnV4L3Rlc3RzL3Rlc3RfdXRpbHMuY2MgICAgICAgICAgICAgfCAgMTUgKysKKyBzYW5kYm94L2xp bnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaCAgICAgICAgICAgICAgfCAgIDIgKworIC4uLi9wb2xpY3kv bGludXgvYnBmX2Jyb2tlcl9wb2xpY3lfbGludXguY2MgICB8ICAgNCArLQorIDIwIGZpbGVzIGNo YW5nZWQsIDU5NSBpbnNlcnRpb25zKCspLCAxMTggZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUg MTAwNjQ0IHNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5oCisKK2RpZmYg LS1naXQgYS9zYW5kYm94L2xpbnV4L0JVSUxELmduIGIvc2FuZGJveC9saW51eC9CVUlMRC5nbgor aW5kZXggMmY3NzhkZDBiY2FiMi4uY2NiYmM5MTcxNmU3MSAxMDA2NDQKKy0tLSBhL3NhbmRib3gv bGludXgvQlVJTEQuZ24KKysrKyBiL3NhbmRib3gvbGludXgvQlVJTEQuZ24KK0BAIC00NDMsNiAr NDQzLDcgQEAgc291cmNlX3NldCgic2FuZGJveF9zZXJ2aWNlc19oZWFkZXJzIikgeworICAgICAi c3lzdGVtX2hlYWRlcnMvbGludXhfcHRyYWNlLmgiLAorICAgICAic3lzdGVtX2hlYWRlcnMvbGlu dXhfc2VjY29tcC5oIiwKKyAgICAgInN5c3RlbV9oZWFkZXJzL2xpbnV4X3NpZ25hbC5oIiwKKysg ICAgInN5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaCIsCisgICAgICJzeXN0ZW1faGVhZGVycy9s aW51eF9zeXNjYWxscy5oIiwKKyAgICAgInN5c3RlbV9oZWFkZXJzL2xpbnV4X3RpbWUuaCIsCisg ICAgICJzeXN0ZW1faGVhZGVycy9saW51eF91Y29udGV4dC5oIiwKK2RpZmYgLS1naXQgYS9zYW5k Ym94L2xpbnV4L2ludGVncmF0aW9uX3Rlc3RzL3NlY2NvbXBfYnJva2VyX3Byb2Nlc3NfdW5pdHRl c3QuY2MgYi9zYW5kYm94L2xpbnV4L2ludGVncmF0aW9uX3Rlc3RzL3NlY2NvbXBfYnJva2VyX3By b2Nlc3NfdW5pdHRlc3QuY2MKK2luZGV4IDlkYTljNjg5MTE0MjguLjhhOTQxOTgzYjE5OGQgMTAw NjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L2ludGVncmF0aW9uX3Rlc3RzL3NlY2NvbXBfYnJva2Vy X3Byb2Nlc3NfdW5pdHRlc3QuY2MKKysrKyBiL3NhbmRib3gvbGludXgvaW50ZWdyYXRpb25fdGVz dHMvc2VjY29tcF9icm9rZXJfcHJvY2Vzc191bml0dGVzdC5jYworQEAgLTM0LDYgKzM0LDcgQEAK KyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJt aXNzaW9uLmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2Vy X3Byb2Nlc3MuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51 eF9zZWNjb21wLmgiCisrI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGlu dXhfc3RhdC5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4 X3N5c2NhbGxzLmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvdGVzdHMvc2NvcGVkX3RlbXBv cmFyeV9maWxlLmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5o IgorQEAgLTIwMiw2ICsyMDMsMjYgQEAgbmFtZXNwYWNlIHsKKyAvLyBub3QgYWNjZXB0IHRoaXMg YXMgYSB2YWxpZCBlcnJvciBudW1iZXIuIEUuZy4gYmlvbmljIGFjY2VwdHMgdXAgdG8gMjU1LCBn bGliYworIC8vIGFuZCBtdXNsIHVwIHRvIDQwOTYuCisgY29uc3QgaW50IGtGYWtlRXJybm9TZW50 aW5lbCA9IDI1NDsKKysKKyt2b2lkIENvbnZlcnRLZXJuZWxTdGF0VG9MaWJjU3RhdChkZWZhdWx0 X3N0YXRfc3RydWN0JiBpbl9zdGF0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBzdGF0JiBvdXRfc3RhdCkgeworKyAgb3V0X3N0YXQuc3RfZGV2ID0gaW5fc3RhdC5z dF9kZXY7CisrICBvdXRfc3RhdC5zdF9pbm8gPSBpbl9zdGF0LnN0X2lubzsKKysgIG91dF9zdGF0 LnN0X21vZGUgPSBpbl9zdGF0LnN0X21vZGU7CisrICBvdXRfc3RhdC5zdF9ubGluayA9IGluX3N0 YXQuc3Rfbmxpbms7CisrICBvdXRfc3RhdC5zdF91aWQgPSBpbl9zdGF0LnN0X3VpZDsKKysgIG91 dF9zdGF0LnN0X2dpZCA9IGluX3N0YXQuc3RfZ2lkOworKyAgb3V0X3N0YXQuc3RfcmRldiA9IGlu X3N0YXQuc3RfcmRldjsKKysgIG91dF9zdGF0LnN0X3NpemUgPSBpbl9zdGF0LnN0X3NpemU7Cisr ICBvdXRfc3RhdC5zdF9ibGtzaXplID0gaW5fc3RhdC5zdF9ibGtzaXplOworKyAgb3V0X3N0YXQu c3RfYmxvY2tzID0gaW5fc3RhdC5zdF9ibG9ja3M7CisrICBvdXRfc3RhdC5zdF9hdGltLnR2X3Nl YyA9IGluX3N0YXQuc3RfYXRpbWVfOworKyAgb3V0X3N0YXQuc3RfYXRpbS50dl9uc2VjID0gaW5f c3RhdC5zdF9hdGltZV9uc2VjXzsKKysgIG91dF9zdGF0LnN0X210aW0udHZfc2VjID0gaW5fc3Rh dC5zdF9tdGltZV87CisrICBvdXRfc3RhdC5zdF9tdGltLnR2X25zZWMgPSBpbl9zdGF0LnN0X210 aW1lX25zZWNfOworKyAgb3V0X3N0YXQuc3RfY3RpbS50dl9zZWMgPSBpbl9zdGF0LnN0X2N0aW1l XzsKKysgIG91dF9zdGF0LnN0X2N0aW0udHZfbnNlYyA9IGluX3N0YXQuc3RfY3RpbWVfbnNlY187 CisrfQorIH0gIC8vIG5hbWVzcGFjZQorIAorIC8vIFRoZXJlIGFyZSBhIHZhcmlldHkgb2Ygd2F5 cyB0byBtYWtlIHN5c2NhbGxzIGluIGEgc2FuZGJveGVkIHByb2Nlc3MuIE9uZSBpcworQEAgLTIx Nyw2ICsyMzgsMTAgQEAgY2xhc3MgU3lzY2FsbGVyIHsKKyAKKyAgIHZpcnR1YWwgaW50IE9wZW4o Y29uc3QgY2hhciogZmlsZXBhdGgsIGludCBmbGFncykgPSAwOworICAgdmlydHVhbCBpbnQgQWNj ZXNzKGNvbnN0IGNoYXIqIGZpbGVwYXRoLCBpbnQgbW9kZSkgPSAwOworKyAgLy8gTk9URTogd2Ug dXNlIHN0cnVjdCBzdGF0IGluc3RlYWQgb2YgZGVmYXVsdF9zdGF0X3N0cnVjdCwgdG8gbWFrZSB0 aGUgbGliYworKyAgLy8gc3lzY2FsbGVyIHNpbXBsZXIuIENvcHlpbmcgZnJvbSBkZWZhdWx0X3N0 YXRfc3RydWN0ICh0aGUgc3RydWN0dXJlIHJldHVybmVkCisrICAvLyBmcm9tIGEgc3RhdCBzeWNh bGwpIHRvIHN0cnVjdCBzdGF0ICh0aGUgc3RydWN0dXJlIGV4cG9zZWQgYnkgYSBsaWJjIHRvIGl0 cworKyAgLy8gdXNlcnMpIGlzIHNpbXBsZXIgdGhhbiBnb2luZyBpbiB0aGUgb3Bwb3NpdGUgZGly ZWN0aW9uLgorICAgdmlydHVhbCBpbnQgU3RhdChjb25zdCBjaGFyKiBmaWxlcGF0aCwKKyAgICAg ICAgICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCisgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBzdGF0KiBzdGF0YnVmKSA9IDA7CitAQCAtMjQzLDggKzI2OCwxMiBAQCBjbGFzcyBJUENT eXNjYWxsZXIgOiBwdWJsaWMgU3lzY2FsbGVyIHsKKyAgIGludCBTdGF0KGNvbnN0IGNoYXIqIGZp bGVwYXRoLAorICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCisgICAgICAgICAgICBzdHJ1 Y3Qgc3RhdCogc3RhdGJ1Zikgb3ZlcnJpZGUgeworLSAgICByZXR1cm4gYnJva2VyXy0+R2V0QnJv a2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdChmaWxlcGF0aCwgZm9sbG93X2xpbmtzLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0 YnVmKTsKKysgICAgZGVmYXVsdF9zdGF0X3N0cnVjdCBidWY7CisrICAgIGludCByZXQgPSBicm9r ZXJfLT5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3Rpbmco CisrICAgICAgICBmaWxlcGF0aCwgZm9sbG93X2xpbmtzLCAmYnVmKTsKKysgICAgaWYgKHJldCA+ PSAwKQorKyAgICAgIENvbnZlcnRLZXJuZWxTdGF0VG9MaWJjU3RhdChidWYsICpzdGF0YnVmKTsK KysgICAgcmV0dXJuIHJldDsKKyAgIH0KKyAKKyAgIGludCBSZW5hbWUoY29uc3QgY2hhciogb2xk cGF0aCwgY29uc3QgY2hhciogbmV3cGF0aCkgb3ZlcnJpZGUgeworQEAgLTMwMCwxMCArMzI5LDEz IEBAIGNsYXNzIERpcmVjdFN5c2NhbGxlciA6IHB1YmxpYyBTeXNjYWxsZXIgeworICAgaW50IFN0 YXQoY29uc3QgY2hhciogZmlsZXBhdGgsCisgICAgICAgICAgICBib29sIGZvbGxvd19saW5rcywK KyAgICAgICAgICAgIHN0cnVjdCBzdGF0KiBzdGF0YnVmKSBvdmVycmlkZSB7CistICAgIGludCBy ZXQgPSBmb2xsb3dfbGlua3MgPyBzeXNjYWxsKF9fTlJfc3RhdCwgZmlsZXBhdGgsIHN0YXRidWYp CistICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBzeXNjYWxsKF9fTlJfbHN0YXQsIGZpbGVw YXRoLCBzdGF0YnVmKTsKKysgICAgc3RydWN0IGtlcm5lbF9zdGF0IGJ1ZjsKKysgICAgaW50IHJl dCA9IHN5c2NhbGwoX19OUl9uZXdmc3RhdGF0LCBBVF9GRENXRCwgZmlsZXBhdGgsICZidWYsCisr ICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19saW5rcyA/IDAgOiBBVF9TWU1MSU5LX05PRk9M TE9XKTsKKyAgICAgaWYgKHJldCA8IDApCisgICAgICAgcmV0dXJuIC1lcnJubzsKKysKKysgICAg Q29udmVydEtlcm5lbFN0YXRUb0xpYmNTdGF0KGJ1ZiwgKnN0YXRidWYpOworICAgICByZXR1cm4g cmV0OworICAgfQorIAorZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVs cGVycy9ERVBTIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL0RFUFMKK2luZGV4 IDQ0MTlmZDFkYTM0ZTguLjk1ZDFiYjZjYmJhYmYgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4 L3NlY2NvbXAtYnBmLWhlbHBlcnMvREVQUworKysrIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJw Zi1oZWxwZXJzL0RFUFMKK0BAIC0zLDUgKzMsNCBAQCBpbmNsdWRlX3J1bGVzID0gWworICAgIitz YW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmIiwKKyAgICIrc2FuZGJveC9saW51eC9zZXJ2aWNlcyIs CisgICAiK3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMiLAorLSAgIit0aGlyZF9wYXJ0eS9s c3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgiLAorIF0KK2RpZmYgLS1naXQgYS9zYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9uc191 bml0dGVzdHMuY2MgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9w YXJhbWV0ZXJzX3Jlc3RyaWN0aW9uc191bml0dGVzdHMuY2MKK2luZGV4IDkwM2U3MDJlYWIxNGIu Ljc2YzM5MzAzMmMxZmUgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9uc191bml0dGVzdHMuY2MKKysrKyBi L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVz dHJpY3Rpb25zX3VuaXR0ZXN0cy5jYworQEAgLTM3LDEwICszNyw2IEBACisgI2luY2x1ZGUgInNh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfdGltZS5oIgorICNpbmNsdWRlICJzYW5k Ym94L2xpbnV4L3Rlc3RzL3VuaXRfdGVzdHMuaCIKKyAKKy0jaWYgIWRlZmluZWQoT1NfQU5EUk9J RCkKKy0jaW5jbHVkZSAidGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oIiAg Ly8gZm9yIE1BS0VfUFJPQ0VTU19DUFVDTE9DSworLSNlbmRpZgorLQorIG5hbWVzcGFjZSBzYW5k Ym94IHsKKyAKKyBuYW1lc3BhY2UgeworZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2Vydmlj ZXMvc3lzY2FsbF93cmFwcGVycy5jYyBiL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93 cmFwcGVycy5jYworaW5kZXggZmNmZDJhYTEyOWQ0Yi4uM2JlYzE4YTE0ZTkxZSAxMDA2NDQKKy0t LSBhL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYworKysrIGIvc2Fu ZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjCitAQCAtNCw2ICs0LDcgQEAK KyAKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmgi CisgCisrI2luY2x1ZGUgPGZjbnRsLmg+CisgI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyAjaW5jbHVk ZSA8c2NoZWQuaD4KKyAjaW5jbHVkZSA8c2V0am1wLmg+CitAQCAtMTQsMTEgKzE1LDEzIEBACisg I2luY2x1ZGUgPHVuaXN0ZC5oPgorICNpbmNsdWRlIDxjc3RyaW5nPgorIAorKyNpbmNsdWRlICJi YXNlL2NoZWNrLmgiCisgI2luY2x1ZGUgImJhc2UvY29tcGlsZXJfc3BlY2lmaWMuaCIKKyAjaW5j bHVkZSAiYmFzZS9sb2dnaW5nLmgiCisgI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgor ICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2NhcGFiaWxpdHkuaCIKKyAj aW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zaWduYWwuaCIKKysj aW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgiCisgI2lu Y2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaCIKKyAK KyBuYW1lc3BhY2Ugc2FuZGJveCB7CitAQCAtMjE3LDcgKzIyMCw3IEBAIGFzbSgKKyAjdW5kZWYg U1RSCisgI3VuZGVmIFhTVFIKKyAKKy0jZW5kaWYKKysjZW5kaWYgIC8vIGRlZmluZWQoQVJDSF9D UFVfWDg2X0ZBTUlMWSkKKyAKKyBpbnQgc3lzX3NpZ2FjdGlvbihpbnQgc2lnbnVtLAorICAgICAg ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzaWdhY3Rpb24qIGFjdCwKK0BAIC0yNDEsNyArMjQ0 LDcgQEAgaW50IHN5c19zaWdhY3Rpb24oaW50IHNpZ251bSwKKyAjZXJyb3IgIlVuc3VwcG9ydGVk IGFyY2hpdGVjdHVyZS4iCisgI2VuZGlmCisgICAgIH0KKy0jZW5kaWYKKysjZW5kaWYgIC8vIGRl ZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkKKyAgIH0KKyAKKyAgIExpbnV4U2lnQWN0aW9uIGxp bnV4X29sZGFjdCA9IHt9OworQEAgLTI1OSw2ICsyNjIsNDcgQEAgaW50IHN5c19zaWdhY3Rpb24o aW50IHNpZ251bSwKKyAgIHJldHVybiByZXN1bHQ7CisgfQorIAorLSNlbmRpZiAgLy8gZGVmaW5l ZChNRU1PUllfU0FOSVRJWkVSKQorKyNlbmRpZiAgLy8gIWRlZmluZWQoT1NfTkFDTF9OT05TRkkp CisrCisraW50IHN5c19zdGF0KGNvbnN0IGNoYXIqIHBhdGgsIHN0cnVjdCBrZXJuZWxfc3RhdCog c3RhdF9idWYpIHsKKysgIGludCByZXM7CisrI2lmICFkZWZpbmVkKF9fTlJfc3RhdCkKKysgIHJl cyA9IHN5c2NhbGwoX19OUl9uZXdmc3RhdGF0LCBBVF9GRENXRCwgcGF0aCwgc3RhdF9idWYsIDAp OworKyNlbHNlCisrICByZXMgPSBzeXNjYWxsKF9fTlJfc3RhdCwgcGF0aCwgc3RhdF9idWYpOwor KyNlbmRpZgorKyAgaWYgKHJlcyA9PSAwKQorKyAgICBNU0FOX1VOUE9JU09OKHN0YXRfYnVmLCBz aXplb2YoKnN0YXRfYnVmKSk7CisrICByZXR1cm4gcmVzOworK30KKysKKytpbnQgc3lzX2xzdGF0 KGNvbnN0IGNoYXIqIHBhdGgsIHN0cnVjdCBrZXJuZWxfc3RhdCogc3RhdF9idWYpIHsKKysgIGlu dCByZXM7CisrI2lmICFkZWZpbmVkKF9fTlJfbHN0YXQpCisrICByZXMgPSBzeXNjYWxsKF9fTlJf bmV3ZnN0YXRhdCwgQVRfRkRDV0QsIHBhdGgsIHN0YXRfYnVmLCBBVF9TWU1MSU5LX05PRk9MTE9X KTsKKysjZWxzZQorKyAgcmVzID0gc3lzY2FsbChfX05SX2xzdGF0LCBwYXRoLCBzdGF0X2J1Zik7 CisrI2VuZGlmCisrICBpZiAocmVzID09IDApCisrICAgIE1TQU5fVU5QT0lTT04oc3RhdF9idWYs IHNpemVvZigqc3RhdF9idWYpKTsKKysgIHJldHVybiByZXM7CisrfQorKworK2ludCBzeXNfZnN0 YXRhdDY0KGludCBkaXJmZCwKKysgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBwYXRobmFt ZSwKKysgICAgICAgICAgICAgICAgICBzdHJ1Y3Qga2VybmVsX3N0YXQ2NCogc3RhdF9idWYsCisr ICAgICAgICAgICAgICAgICAgaW50IGZsYWdzKSB7CisrI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0 NjQpCisrICBpbnQgcmVzID0gc3lzY2FsbChfX05SX2ZzdGF0YXQ2NCwgZGlyZmQsIHBhdGhuYW1l LCBzdGF0X2J1ZiwgZmxhZ3MpOworKyAgaWYgKHJlcyA9PSAwKQorKyAgICBNU0FOX1VOUE9JU09O KHN0YXRfYnVmLCBzaXplb2YoKnN0YXRfYnVmKSk7CisrICByZXR1cm4gcmVzOworKyNlbHNlICAv LyBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQorKyAgLy8gV2Ugc2hvdWxkIG5vdCByZWFjaCBoZXJl IG9uIDY0LWJpdCBzeXN0ZW1zLCBhcyB0aGUgKnN0YXQqNjQoKSBhcmUgb25seQorKyAgLy8gbmVj ZXNzYXJ5IG9uIDMyLWJpdC4KKysgIFJBV19DSEVDSyhmYWxzZSk7CisrICByZXR1cm4gLUVOT1NZ UzsKKysjZW5kaWYKKyt9CisgCisgfSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKK2RpZmYgLS1naXQg YS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaCBiL3NhbmRib3gvbGlu dXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oCitpbmRleCAxOTc1YmZiZDg4YTZkLi5iNTUz NDBlNGEyNmI3IDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dy YXBwZXJzLmgKKysrKyBiL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5o CitAQCAtMTcsNiArMTcsOCBAQCBzdHJ1Y3Qgc29ja19mcHJvZzsKKyBzdHJ1Y3QgcmxpbWl0NjQ7 Cisgc3RydWN0IGNhcF9oZHI7Cisgc3RydWN0IGNhcF9kYXRhOworK3N0cnVjdCBrZXJuZWxfc3Rh dDsKKytzdHJ1Y3Qga2VybmVsX3N0YXQ2NDsKKyAKKyBuYW1lc3BhY2Ugc2FuZGJveCB7CisgCitA QCAtODQsNiArODYsMTkgQEAgU0FOREJPWF9FWFBPUlQgaW50IHN5c19zaWdhY3Rpb24oaW50IHNp Z251bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc2ln YWN0aW9uKiBhY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNp Z2FjdGlvbiogb2xkYWN0KTsKKyAKKysvLyBTb21lIGFyY2hpdGVjdHVyZXMgZG8gbm90IGhhdmUg c3RhdCgpIGFuZCBsc3RhdCgpIHN5c2NhbGxzLiBJbiB0aGF0IGNhc2UsCisrLy8gdGhlc2Ugd3Jh cHBlcnMgd2lsbCB1c2UgbmV3ZnN0YXRhdCgpLCB3aGljaCBpcyBhdmFpbGFibGUgb24gYWxsIG90 aGVyCisrLy8gYXJjaGl0ZWN0dXJlcywgd2l0aCB0aGUgc2FtZSBjYXBhYmlsaXRpZXMgYXMgc3Rh dCgpIGFuZCBsc3RhdCgpLgorK1NBTkRCT1hfRVhQT1JUIGludCBzeXNfc3RhdChjb25zdCBjaGFy KiBwYXRoLCBzdHJ1Y3Qga2VybmVsX3N0YXQqIHN0YXRfYnVmKTsKKytTQU5EQk9YX0VYUE9SVCBp bnQgc3lzX2xzdGF0KGNvbnN0IGNoYXIqIHBhdGgsIHN0cnVjdCBrZXJuZWxfc3RhdCogc3RhdF9i dWYpOworKworKy8vIFRha2VzIGNhcmUgb2YgdW5wb2lzb25pbmcgfHN0YXRfYnVmfCBmb3IgTVNB Ti4gQ2hlY2stZmFpbHMgaWYgZnN0YXRhdDY0KCkgaXMKKysvLyBub3QgYSBzdXBwb3J0ZWQgc3lz Y2FsbCBvbiB0aGUgY3VycmVudCBwbGF0Zm9ybS4KKytTQU5EQk9YX0VYUE9SVCBpbnQgc3lzX2Zz dGF0YXQ2NChpbnQgZGlyZmQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgY2hhciogcGF0aG5hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGtlcm5lbF9zdGF0NjQqIHN0YXRfYnVmLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludCBmbGFncyk7CisrCisgfSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKKyAKKyAjZW5k aWYgIC8vIFNBTkRCT1hfTElOVVhfU0VSVklDRVNfU1lTQ0FMTF9XUkFQUEVSU19IXworZGlmZiAt LWdpdCBhL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVyc191bml0dGVzdC5j YyBiL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVyc191bml0dGVzdC5jYwor aW5kZXggMzI4MjBmNjBhOGNlZS4uNjRiOWNlYTgwZjMxOSAxMDA2NDQKKy0tLSBhL3NhbmRib3gv bGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVyc191bml0dGVzdC5jYworKysrIGIvc2FuZGJv eC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzX3VuaXR0ZXN0LmNjCitAQCAtNSwxNSAr NSwxOSBAQAorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBl cnMuaCIKKyAKKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorICNp bmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVk ZSA8c3lzL3dhaXQuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CistI2luY2x1ZGUgPGNzdHJpbmc+ CisgCisrI2luY2x1ZGUgImJhc2UvbG9nZ2luZy5oIgorKyNpbmNsdWRlICJiYXNlL21lbW9yeS9w YWdlX3NpemUuaCIKKyAjaW5jbHVkZSAiYmFzZS9wb3NpeC9laW50cl93cmFwcGVyLmgiCisgI2lu Y2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5 c3RlbV9oZWFkZXJzL2xpbnV4X3NpZ25hbC5oIgorKyNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5 c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaCIKKysjaW5jbHVkZSAic2FuZGJveC9saW51eC90ZXN0 cy9zY29wZWRfdGVtcG9yYXJ5X2ZpbGUuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC90ZXN0 cy90ZXN0X3V0aWxzLmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvdGVzdHMvdW5pdF90ZXN0 cy5oIgorICNpbmNsdWRlICJ0ZXN0aW5nL2d0ZXN0L2luY2x1ZGUvZ3Rlc3QvZ3Rlc3QuaCIKK0BA IC05Myw2ICs5NywxMjkgQEAgVEVTVChTeXNjYWxsV3JhcHBlcnMsIExpbnV4U2lnU2V0KSB7Cisg ICAgICAgICAgICAgbGludXhfc2lnc2V0KTsKKyB9CisgCisrVEVTVChTeXNjYWxsV3JhcHBlcnMs IFN0YXQpIHsKKysgIC8vIENyZWF0ZSBhIGZpbGUgdG8gc3RhdCwgd2l0aCAxMiBieXRlcyBvZiBk YXRhLgorKyAgU2NvcGVkVGVtcG9yYXJ5RmlsZSB0bXBfZmlsZTsKKysgIEVYUEVDVF9FUSgxMiwg d3JpdGUodG1wX2ZpbGUuZmQoKSwgImJsYWhibGFoYmxhaCIsIDEyKSk7CisrCisrICAvLyBUbyB0 ZXN0IHdlIGhhdmUgdGhlIGNvcnJlY3Qgc3RhdCBzdHJ1Y3R1cmVzIGZvciBlYWNoIGtlcm5lbC9w bGF0Zm9ybSwgd2UKKysgIC8vIHdpbGwgcmlnaHQtYWxpZ24gdGhlbSBvbiBhIHBhZ2UsIHdpdGgg YSBndWFyZCBwYWdlIGFmdGVyLgorKyAgY2hhciogdHdvX3BhZ2VzID0gc3RhdGljX2Nhc3Q8Y2hh cio+KFRlc3RVdGlsczo6TWFwUGFnZXNPckRpZSgyKSk7CisrICBUZXN0VXRpbHM6Ok1wcm90ZWN0 TGFzdFBhZ2VPckRpZSh0d29fcGFnZXMsIDIpOworKyAgY2hhciogcGFnZTFfZW5kID0gdHdvX3Bh Z2VzICsgYmFzZTo6R2V0UGFnZVNpemUoKTsKKysKKysgIC8vIEZpcnN0LCBjaGVjayB0aGF0IGNh bGxpbmcgc3RhdCB3aXRoIHxzdGF0X2J1ZnwgcG9pbnRpbmcgdG8gdGhlIGxhc3QgYnl0ZSBvbgor KyAgLy8gYSBwYWdlIGNhdXNlcyBFRkFVTFQuCisrICBpbnQgcmVzID0gc3lzX3N0YXQodG1wX2Zp bGUuZnVsbF9maWxlX25hbWUoKSwKKysgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9j YXN0PHN0cnVjdCBrZXJuZWxfc3RhdCo+KHBhZ2UxX2VuZCAtIDEpKTsKKysgIEFTU0VSVF9FUShy ZXMsIC0xKTsKKysgIEFTU0VSVF9FUShlcnJubywgRUZBVUxUKTsKKysKKysgIC8vIE5vdywgY2hl Y2sgdGhhdCB3ZSBoYXZlIHRoZSBjb3JyZWN0bHkgc2l6ZWQgc3RhdCBzdHJ1Y3R1cmUuCisrICBz dHJ1Y3Qga2VybmVsX3N0YXQqIHNiID0gcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qga2VybmVsX3N0 YXQqPigKKysgICAgICBwYWdlMV9lbmQgLSBzaXplb2Yoc3RydWN0IGtlcm5lbF9zdGF0KSk7Cisr ICAvLyBNZW1zZXQgdG8gYydzIHNvIHdlIGNhbiBjaGVjayB0aGUga2VybmVsIHplcm8nZCB0aGUg cGFkZGluZy4uLgorKyAgbWVtc2V0KHNiLCAnYycsIHNpemVvZihzdHJ1Y3Qga2VybmVsX3N0YXQp KTsKKysgIHJlcyA9IHN5c19zdGF0KHRtcF9maWxlLmZ1bGxfZmlsZV9uYW1lKCksIHNiKTsKKysg IEFTU0VSVF9FUShyZXMsIDApOworKworKyAgLy8gRm9sbG93aW5nIGZpZWxkcyBtYXkgbmV2ZXIg YmUgY29uc2lzdGVudCBidXQgc2hvdWxkIGJlIG5vbi16ZXJvLgorKyAgLy8gRG9uJ3QgdHJ1c3Qg dGhlIHBsYXRmb3JtIHRvIGRlZmluZSBmaWVsZHMgd2l0aCBhbnkgcGFydGljdWxhciBzaWduLgor KyAgRVhQRUNUX05FKDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNiLT5zdF9kZXYpKTsK KysgIEVYUEVDVF9ORSgwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi0+c3RfaW5vKSk7 CisrICBFWFBFQ1RfTkUoMHUsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2ItPnN0X21vZGUp KTsKKysgIEVYUEVDVF9ORSgwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi0+c3RfYmxr c2l6ZSkpOworKyAgRVhQRUNUX05FKDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNiLT5z dF9ibG9ja3MpKTsKKysKKysvLyBXZSBhcmUgdGhlIG9uZXMgdGhhdCBtYWRlIHRoZSBmaWxlLgor Ky8vIE5vdGU6IG5vcm1hbGx5IGdpZCBhbmQgdWlkIG92ZXJmbG93IG9uIGJhY2t3YXJkcy1jb21w YXRpYmxlIDMyLWJpdCBzeXN0ZW1zCisrLy8gYW5kIHdlIGVuZCB1cCB3aXRoIGR1bW15IHVpZHMg YW5kIGdpZHMgaW4gcGxhY2UgaGVyZS4KKysjaWYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKQor KyAgRVhQRUNUX0VRKGdldGV1aWQoKSwgc2ItPnN0X3VpZCk7CisrICBFWFBFQ1RfRVEoZ2V0ZWdp ZCgpLCBzYi0+c3RfZ2lkKTsKKysjZW5kaWYKKysKKysgIC8vIFdyb3RlIDEyIGJ5dGVzIGFib3Zl IHdoaWNoIHNob3VsZCBmaXQgaW4gb25lIGJsb2NrLgorKyAgRVhQRUNUX0VRKDEydSwgc2ItPnN0 X3NpemUpOworKworKyAgLy8gQ2FuJ3QgZ28gYmFja3dhcmRzIGluIHRpbWUsIDE1MDAwMDAwMDAg d2FzIHNvbWUgdGltZSBhZ28uCisrICBFWFBFQ1RfTFQoMTUwMDAwMDAwMHUsIHN0YXRpY19jYXN0 PHVuc2lnbmVkIGludD4oc2ItPnN0X2F0aW1lXykpOworKyAgRVhQRUNUX0xUKDE1MDAwMDAwMDB1 LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNiLT5zdF9tdGltZV8pKTsKKysgIEVYUEVDVF9M VCgxNTAwMDAwMDAwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi0+c3RfY3RpbWVfKSk7 CisrCisrICAvLyBDaGVja2luZyB0aGUgcGFkZGluZyBmb3IgZ29vZCBtZWFzdXJlLgorKyNpZiBk ZWZpbmVkKF9feDg2XzY0X18pCisrICBFWFBFQ1RfRVEoMHUsIHNiLT5fX3BhZDApOworKyAgRVhQ RUNUX0VRKDB1LCBzYi0+X191bnVzZWQ0WzBdKTsKKysgIEVYUEVDVF9FUSgwdSwgc2ItPl9fdW51 c2VkNFsxXSk7CisrICBFWFBFQ1RfRVEoMHUsIHNiLT5fX3VudXNlZDRbMl0pOworKyNlbGlmIGRl ZmluZWQoX19hYXJjaDY0X18pCisrICBFWFBFQ1RfRVEoMHUsIHNiLT5fX3BhZDEpOworKyAgRVhQ RUNUX0VRKDAsIHNiLT5fX3BhZDIpOworKyAgRVhQRUNUX0VRKDB1LCBzYi0+X191bnVzZWQ0KTsK KysgIEVYUEVDVF9FUSgwdSwgc2ItPl9fdW51c2VkNSk7CisrI2VuZGlmCisrfQorKworK1RFU1Qo U3lzY2FsbFdyYXBwZXJzLCBMU3RhdCkgeworKyAgLy8gQ3JlYXRlIGEgZmlsZSB0byBzdGF0LCB3 aXRoIDEyIGJ5dGVzIG9mIGRhdGEuCisrICBTY29wZWRUZW1wb3JhcnlGaWxlIHRtcF9maWxlOwor KyAgRVhQRUNUX0VRKDEyLCB3cml0ZSh0bXBfZmlsZS5mZCgpLCAiYmxhaGJsYWhibGFoIiwgMTIp KTsKKysKKysgIC8vIEFsc28gY3JlYXRlIGEgc3ltbGluay4KKysgIHN0ZDo6c3RyaW5nIHN5bWxp bmtfbmFtZTsKKysgIHsKKysgICAgU2NvcGVkVGVtcG9yYXJ5RmlsZSB0bXBfZmlsZTI7CisrICAg IHN5bWxpbmtfbmFtZSA9IHRtcF9maWxlMi5mdWxsX2ZpbGVfbmFtZSgpOworKyAgfQorKyAgaW50 IHJjID0gc3ltbGluayh0bXBfZmlsZS5mdWxsX2ZpbGVfbmFtZSgpLCBzeW1saW5rX25hbWUuY19z dHIoKSk7CisrICBpZiAocmMgIT0gMCkgeworKyAgICBQTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3Qg c3ltbGluayAiIDw8IHN5bWxpbmtfbmFtZSA8PCAiIHRvIHRhcmdldCAiCisrICAgICAgICAgICAg ICAgIDw8IHRtcF9maWxlLmZ1bGxfZmlsZV9uYW1lKCk7CisrICAgIEdURVNUX0ZBSUwoKTsKKysg IH0KKysKKysgIHN0cnVjdCBrZXJuZWxfc3RhdCBsc3RhdF9pbmZvOworKyAgcmMgPSBzeXNfbHN0 YXQoc3ltbGlua19uYW1lLmNfc3RyKCksICZsc3RhdF9pbmZvKTsKKysgIGlmIChyYyA8IDAgJiYg ZXJybm8gPT0gRU9WRVJGTE9XKSB7CisrICAgIEdURVNUX1NLSVAoKTsKKysgIH0KKysgIGlmIChy YyAhPSAwKSB7CisrICAgIFBMT0coRVJST1IpIDw8ICJDb3VsZG4ndCBzeXNfbHN0YXQgIiA8PCBz eW1saW5rX25hbWU7CisrICAgIEdURVNUX0ZBSUwoKTsKKysgIH0KKysKKysgIHN0cnVjdCBrZXJu ZWxfc3RhdCBzdGF0X2luZm87CisrICByYyA9IHN5c19zdGF0KHN5bWxpbmtfbmFtZS5jX3N0cigp LCAmc3RhdF9pbmZvKTsKKysgIGlmIChyYyA8IDAgJiYgZXJybm8gPT0gRU9WRVJGTE9XKSB7Cisr ICAgIEdURVNUX1NLSVAoKTsKKysgIH0KKysgIGlmIChyYyAhPSAwKSB7CisrICAgIFBMT0coRVJS T1IpIDw8ICJDb3VsZG4ndCBzeXNfc3RhdCAiIDw8IHN5bWxpbmtfbmFtZTsKKysgICAgR1RFU1Rf RkFJTCgpOworKyAgfQorKworKyAgc3RydWN0IGtlcm5lbF9zdGF0IHRtcF9maWxlX3N0YXRfaW5m bzsKKysgIHJjID0gc3lzX3N0YXQodG1wX2ZpbGUuZnVsbF9maWxlX25hbWUoKSwgJnRtcF9maWxl X3N0YXRfaW5mbyk7CisrICBpZiAocmMgPCAwICYmIGVycm5vID09IEVPVkVSRkxPVykgeworKyAg ICBHVEVTVF9TS0lQKCk7CisrICB9CisrICBpZiAocmMgIT0gMCkgeworKyAgICBQTE9HKEVSUk9S KSA8PCAiQ291bGRuJ3Qgc3lzX3N0YXQgIiA8PCB0bXBfZmlsZS5mdWxsX2ZpbGVfbmFtZSgpOwor KyAgICBHVEVTVF9GQUlMKCk7CisrICB9CisrCisrICAvLyBsc3RhdCBzaG91bGQgcHJvZHVjZSBp bmZvcm1hdGlvbiBhYm91dCBhIHN5bWxpbmsuCisrICBBU1NFUlRfVFJVRShTX0lTTE5LKGxzdGF0 X2luZm8uc3RfbW9kZSkpOworKworKyAgLy8gc3RhdC1pbmcgc3ltbGlua19uYW1lIGFuZCB0bXBf ZmlsZSBzaG91bGQgcHJvZHVjZSB0aGUgc2FtZSBpbm9kZS4KKysgIEFTU0VSVF9FUShzdGF0X2lu Zm8uc3RfaW5vLCB0bXBfZmlsZV9zdGF0X2luZm8uc3RfaW5vKTsKKysKKysgIC8vIGxzdGF0LWlu ZyBzeW1saW5rX25hbWUgc2hvdWxkIGdpdmUgYSBkaWZmZXJlbnQgaW5vZGUgdGhhbiBzdGF0LWlu ZworKyAgLy8gc3ltbGlua19uYW1lLgorKyAgQVNTRVJUX05FKHN0YXRfaW5mby5zdF9pbm8sIGxz dGF0X2luZm8uc3RfaW5vKTsKKyt9CisrCisgfSAgLy8gbmFtZXNwYWNlCisgCisgfSAgLy8gbmFt ZXNwYWNlIHNhbmRib3gKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2Vy L0RFUFMgYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL0RFUFMKK2luZGV4IGM0NzdmN2Qz NjM5NGIuLjE0OWM0NjNiMDY4MzkgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxf YnJva2VyL0RFUFMKKysrKyBiL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvREVQUworQEAg LTEsNCArMSw1IEBACisgaW5jbHVkZV9ydWxlcyA9IFsKKy0gICIrc2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycyIsCisgICAiK3NhbmRib3gvbGludXgvYnBmX2RzbCIsCisrICAiK3NhbmRib3gv bGludXgvc2VydmljZXMiLAorKyAgIitzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzIiwKKyBd CitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfY2xpZW50 LmNjIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfY2xpZW50LmNjCitpbmRl eCA2YjFiNWJlNDMzODk5Li5lMjRmNjU5ZmNmODcyIDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51 eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfY2xpZW50LmNjCisrKysgYi9zYW5kYm94L2xpbnV4L3N5 c2NhbGxfYnJva2VyL2Jyb2tlcl9jbGllbnQuY2MKK0BAIC0xNjYsNyArMTY2LDcgQEAgaW50IEJy b2tlckNsaWVudDo6Um1kaXIoY29uc3QgY2hhciogcGF0aCkgY29uc3QgeworIAorIGludCBCcm9r ZXJDbGllbnQ6OlN0YXQoY29uc3QgY2hhciogcGF0aG5hbWUsCisgICAgICAgICAgICAgICAgICAg ICAgICBib29sIGZvbGxvd19saW5rcywKKy0gICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBz dGF0KiBzYikgY29uc3QgeworKyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGtlcm5lbF9z dGF0KiBzYikgY29uc3QgeworICAgaWYgKCFwYXRobmFtZSB8fCAhc2IpCisgICAgIHJldHVybiAt RUZBVUxUOworIAorQEAgLTE4MSw3ICsxODEsNyBAQCBpbnQgQnJva2VyQ2xpZW50OjpTdGF0KGNv bnN0IGNoYXIqIHBhdGhuYW1lLAorIAorIGludCBCcm9rZXJDbGllbnQ6OlN0YXQ2NChjb25zdCBj aGFyKiBwYXRobmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlu a3MsCistICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzdGF0NjQqIHNiKSBjb25zdCB7 CisrICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfc3RhdDY0KiBzYikgY29u c3QgeworICAgaWYgKCFwYXRobmFtZSB8fCAhc2IpCisgICAgIHJldHVybiAtRUZBVUxUOworIAor ZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2NsaWVudC5o IGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfY2xpZW50LmgKK2luZGV4IDA1 ZTE0YzgzZjIwMTAuLjI2Y2E3ODEwMWM3MWMgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3N5 c2NhbGxfYnJva2VyL2Jyb2tlcl9jbGllbnQuaAorKysrIGIvc2FuZGJveC9saW51eC9zeXNjYWxs X2Jyb2tlci9icm9rZXJfY2xpZW50LmgKK0BAIC02MSwxMCArNjEsMTAgQEAgY2xhc3MgU0FOREJP WF9FWFBPUlQgQnJva2VyQ2xpZW50IDogcHVibGljIFN5c2NhbGxEaXNwYXRjaGVyIHsKKyAgIGlu dCBSbWRpcihjb25zdCBjaGFyKiBwYXRoKSBjb25zdCBvdmVycmlkZTsKKyAgIGludCBTdGF0KGNv bnN0IGNoYXIqIHBhdGhuYW1lLAorICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCistICAg ICAgICAgICBzdHJ1Y3Qgc3RhdCogc2IpIGNvbnN0IG92ZXJyaWRlOworKyAgICAgICAgICAgc3Ry dWN0IGtlcm5lbF9zdGF0KiBzYikgY29uc3Qgb3ZlcnJpZGU7CisgICBpbnQgU3RhdDY0KGNvbnN0 IGNoYXIqIHBhdGhuYW1lLAorICAgICAgICAgICAgICBib29sIGZvbGxvd19saW5rcywKKy0gICAg ICAgICAgICAgc3RydWN0IHN0YXQ2NCogc2IpIGNvbnN0IG92ZXJyaWRlOworKyAgICAgICAgICAg ICBzdHJ1Y3Qga2VybmVsX3N0YXQ2NCogc2IpIGNvbnN0IG92ZXJyaWRlOworICAgaW50IFVubGlu ayhjb25zdCBjaGFyKiB1bmxpbmspIGNvbnN0IG92ZXJyaWRlOworIAorICBwcml2YXRlOgorZGlm ZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2hvc3QuY2MgYi9z YW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9ob3N0LmNjCitpbmRleCAxY2QwM2Ex OGRmODA5Li4xY2RjMDFhODg4ZjQxIDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9zeXNjYWxs X2Jyb2tlci9icm9rZXJfaG9zdC5jYworKysrIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tl ci9icm9rZXJfaG9zdC5jYworQEAgLTIwLDkgKzIwLDExIEBACisgI2luY2x1ZGUgImJhc2UvZmls ZXMvc2NvcGVkX2ZpbGUuaCIKKyAjaW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCisgI2luY2x1ZGUg ImJhc2UvcG9zaXgvZWludHJfd3JhcHBlci5oIgorKyNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3Nl cnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXNj YWxsX2Jyb2tlci9icm9rZXJfY29tbWFuZC5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5 c2NhbGxfYnJva2VyL2Jyb2tlcl9wZXJtaXNzaW9uX2xpc3QuaCIKKyAjaW5jbHVkZSAic2FuZGJv eC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfc2ltcGxlX21lc3NhZ2UuaCIKKysjaW5jbHVk ZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgiCisgI2luY2x1ZGUg InNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaCIKKyAKKyBuYW1l c3BhY2Ugc2FuZGJveCB7CitAQCAtMTkzLDEwICsxOTUsMTIgQEAgdm9pZCBTdGF0RmlsZUZvcklQ Qyhjb25zdCBCcm9rZXJDb21tYW5kU2V0JiBhbGxvd2VkX2NvbW1hbmRfc2V0LAorICAgICBSQVdf Q0hFQ0socmVwbHktPkFkZEludFRvTWVzc2FnZSgtcGVybWlzc2lvbl9saXN0LmRlbmllZF9lcnJu bygpKSk7CisgICAgIHJldHVybjsKKyAgIH0KKysKKyAgIGlmIChjb21tYW5kX3R5cGUgPT0gQ09N TUFORF9TVEFUKSB7CistICAgIHN0cnVjdCBzdGF0IHNiOworLSAgICBpbnQgc3RzID0KKy0gICAg ICAgIGZvbGxvd19saW5rcyA/IHN0YXQoZmlsZV90b19hY2Nlc3MsICZzYikgOiBsc3RhdChmaWxl X3RvX2FjY2VzcywgJnNiKTsKKysgICAgc3RydWN0IGtlcm5lbF9zdGF0IHNiOworKworKyAgICBp bnQgc3RzID0gZm9sbG93X2xpbmtzID8gc2FuZGJveDo6c3lzX3N0YXQoZmlsZV90b19hY2Nlc3Ms ICZzYikKKysgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHNhbmRib3g6OnN5c19sc3RhdChm aWxlX3RvX2FjY2VzcywgJnNiKTsKKyAgICAgaWYgKHN0cyA8IDApIHsKKyAgICAgICBSQVdfQ0hF Q0socmVwbHktPkFkZEludFRvTWVzc2FnZSgtZXJybm8pKTsKKyAgICAgICByZXR1cm47CitAQCAt MjA1LDEwICsyMDksMTIgQEAgdm9pZCBTdGF0RmlsZUZvcklQQyhjb25zdCBCcm9rZXJDb21tYW5k U2V0JiBhbGxvd2VkX2NvbW1hbmRfc2V0LAorICAgICBSQVdfQ0hFQ0soCisgICAgICAgICByZXBs eS0+QWRkRGF0YVRvTWVzc2FnZShyZWludGVycHJldF9jYXN0PGNoYXIqPigmc2IpLCBzaXplb2Yo c2IpKSk7CisgICB9IGVsc2UgeworKyNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQorICAgICBE Q0hFQ0soY29tbWFuZF90eXBlID09IENPTU1BTkRfU1RBVDY0KTsKKy0gICAgc3RydWN0IHN0YXQ2 NCBzYjsKKy0gICAgaW50IHN0cyA9IGZvbGxvd19saW5rcyA/IHN0YXQ2NChmaWxlX3RvX2FjY2Vz cywgJnNiKQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbHN0YXQ2NChmaWxlX3RvX2Fj Y2VzcywgJnNiKTsKKysgICAgc3RydWN0IGtlcm5lbF9zdGF0NjQgc2I7CisrCisrICAgIGludCBz dHMgPSBzYW5kYm94OjpzeXNfZnN0YXRhdDY0KEFUX0ZEQ1dELCBmaWxlX3RvX2FjY2VzcywgJnNi LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfbGlua3MgPyAw IDogQVRfU1lNTElOS19OT0ZPTExPVyk7CisgICAgIGlmIChzdHMgPCAwKSB7CisgICAgICAgUkFX X0NIRUNLKHJlcGx5LT5BZGRJbnRUb01lc3NhZ2UoLWVycm5vKSk7CisgICAgICAgcmV0dXJuOwor QEAgLTIxNiw2ICsyMjIsMTEgQEAgdm9pZCBTdGF0RmlsZUZvcklQQyhjb25zdCBCcm9rZXJDb21t YW5kU2V0JiBhbGxvd2VkX2NvbW1hbmRfc2V0LAorICAgICBSQVdfQ0hFQ0socmVwbHktPkFkZElu dFRvTWVzc2FnZSgwKSk7CisgICAgIFJBV19DSEVDSygKKyAgICAgICAgIHJlcGx5LT5BZGREYXRh VG9NZXNzYWdlKHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KCZzYiksIHNpemVvZihzYikpKTsKKysj ZWxzZSAgLy8gZGVmaW5lZChfX05SX2ZzdGF0YXQ2NCkKKysgICAgLy8gV2Ugc2hvdWxkIG5vdCBy ZWFjaCBoZXJlIG9uIDY0LWJpdCBzeXN0ZW1zLCBhcyB0aGUgKnN0YXQqNjQoKSBhcmUgb25seQor KyAgICAvLyBuZWNlc3Nhcnkgb24gMzItYml0LgorKyAgICBSQVdfQ0hFQ0soZmFsc2UpOworKyNl bmRpZgorICAgfQorIH0KKyAKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJv a2VyL2Jyb2tlcl9wcm9jZXNzX3VuaXR0ZXN0LmNjIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jy b2tlci9icm9rZXJfcHJvY2Vzc191bml0dGVzdC5jYworaW5kZXggNTViYTZiY2NiMjllYy4uYzY1 ZjI1YTc4YTk5OSAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJv a2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MKKysrKyBiL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9r ZXIvYnJva2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MKK0BAIC04MTEsNyArODExLDcgQEAgdm9pZCBU ZXN0U3RhdEhlbHBlcihib29sIGZhc3RfY2hlY2tfaW5fY2xpZW50LCBib29sIGZvbGxvd19saW5r cykgeworICAgY29uc3QgY2hhciogYmFkX2xlYWRpbmdfcGF0aDUgPSAiL21ib2dvL2ZpY3RpdGlv dXgiOworICAgY29uc3QgY2hhciogYmFkX2xlYWRpbmdfcGF0aDYgPSAiL21ib2dvL2ZpY3RpdGlv dXNhIjsKKyAKKy0gIHN0cnVjdCBzdGF0IHNiOworKyAgZGVmYXVsdF9zdGF0X3N0cnVjdCBzYjsK KyAKKyAgIHsKKyAgICAgLy8gQWN0dWFsIGZpbGUgd2l0aCBwZXJtaXNzaW9ucyB0byBzZWUgZmls ZSBidXQgY29tbWFuZCBub3QgYWxsb3dlZC4KK0BAIC04MjQsNyArODI0LDcgQEAgdm9pZCBUZXN0 U3RhdEhlbHBlcihib29sIGZhc3RfY2hlY2tfaW5fY2xpZW50LCBib29sIGZvbGxvd19saW5rcykg eworIAorICAgICBtZW1zZXQoJnNiLCAwLCBzaXplb2Yoc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1r RmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJD bGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0 QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAg ICAgICAgICAgICAgIHRlbXBmaWxlX25hbWUsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICB9Cisg CitAQCAtODQwLDcgKzg0MCw3IEBAIHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9vbCBmYXN0X2NoZWNr X2luX2NsaWVudCwgYm9vbCBmb2xsb3dfbGlua3MpIHsKKyAKKyAgICAgbWVtc2V0KCZzYiwgMCwg c2l6ZW9mKHNiKSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAg ICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgK KysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCkt PkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAgICBub25lc3VjaF9uYW1l LCBmb2xsb3dfbGlua3MsICZzYikpOworICAgfQorICAgeworQEAgLTg1Miw3ICs4NTIsNyBAQCB2 b2lkIFRlc3RTdGF0SGVscGVyKGJvb2wgZmFzdF9jaGVja19pbl9jbGllbnQsIGJvb2wgZm9sbG93 X2xpbmtzKSB7CisgCisgICAgIG1lbXNldCgmc2IsIDAsIHNpemVvZihzYikpOworICAgICBFWFBF Q1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdl dEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jy b2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3Rpbmco CisgICAgICAgICAgICAgICAgICAgdGVtcGZpbGVfbmFtZSwgZm9sbG93X2xpbmtzLCAmc2IpKTsK KyAgIH0KKyAgIHsKK0BAIC04NjQsMzggKzg2NCwzOSBAQCB2b2lkIFRlc3RTdGF0SGVscGVyKGJv b2wgZmFzdF9jaGVja19pbl9jbGllbnQsIGJvb2wgZm9sbG93X2xpbmtzKSB7CisgICAgIEFTU0VS VF9UUlVFKG9wZW5fYnJva2VyLkluaXQoYmFzZTo6QmluZE9uY2UoJk5vT3BDYWxsYmFjaykpKTsK KyAKKyAgICAgbWVtc2V0KCZzYiwgMCwgc2l6ZW9mKHNiKSk7CistICAgIEVYUEVDVF9FUSgtRU5P RU5ULCBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmVzdWNoX25hbWUsIGZvbGxvd19saW5rcywgJnNi KSk7CisrICAgIEVYUEVDVF9FUSgtRU5PRU5ULAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIu R2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorKyAg ICAgICAgICAgICAgICAgIG5vbmVzdWNoX25hbWUsIGZvbGxvd19saW5rcywgJnNiKSk7CisgCisg ICAgIC8vIEdldHMgZGVuaWVkIGFsbCB0aGUgd2F5IGJhY2sgdG8gcm9vdCBzaW5jZSBubyBjcmVh dGUgcGVybWlzc2lvbi4KKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAg ICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0 KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQo KS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGxlYWRpbmdfcGF0 aDEsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRp bmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFz ZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNp Z25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAgICBs ZWFkaW5nX3BhdGgyLCBmb2xsb3dfbGlua3MsICZzYikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtl RXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVu dFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9r ZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAg ICAgICAgICAgbGVhZGluZ19wYXRoMywgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAKKyAgICAgLy8g Tm90IGZvb2xlZCBieSBzdWJzdHJpbmdzLgorICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50 aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJh c2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRT aWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAg YmFkX2xlYWRpbmdfcGF0aDEsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICAgIEVYUEVDVF9FUSgt a0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2Vy Q2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdl dEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAg ICAgICAgICAgICAgICBiYWRfbGVhZGluZ19wYXRoMiwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAg ICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAgICBvcGVuX2Jy b2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAg b3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JU ZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGJhZF9sZWFkaW5nX3BhdGgzLCBmb2xsb3dfbGlu a3MsICZzYikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAg ICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisr ICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5E ZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAgYmFkX2xlYWRpbmdfcGF0 aDQsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRp bmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFz ZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNp Z25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAgICBi YWRfbGVhZGluZ19wYXRoNSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1r RmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJD bGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0 QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAg ICAgICAgICAgICAgIGJhZF9sZWFkaW5nX3BhdGg2LCBmb2xsb3dfbGlua3MsICZzYikpOworICAg fQorICAgeworQEAgLTkwNywzNyArOTA4LDQxIEBAIHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9vbCBm YXN0X2NoZWNrX2luX2NsaWVudCwgYm9vbCBmb2xsb3dfbGlua3MpIHsKKyAgICAgQVNTRVJUX1RS VUUob3Blbl9icm9rZXIuSW5pdChiYXNlOjpCaW5kT25jZSgmTm9PcENhbGxiYWNrKSkpOworIAor ICAgICBtZW1zZXQoJnNiLCAwLCBzaXplb2Yoc2IpKTsKKy0gICAgRVhQRUNUX0VRKC1FTk9FTlQs IG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgbm9uZXN1Y2hfbmFtZSwgZm9sbG93X2xpbmtzLCAmc2IpKTsK KysgICAgRVhQRUNUX0VRKC1FTk9FTlQsCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRC cm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisrICAgICAg ICAgICAgICAgICAgbm9uZXN1Y2hfbmFtZSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAKKyAgICAg Ly8gR2V0cyBFTk9FTlQgYWxsIHRoZSB3YXkgYmFjayB0byByb290IHNpbmNlIGl0IGhhcyBjcmVh dGUgcGVybWlzc2lvbi4KKy0gICAgRVhQRUNUX0VRKC1FTk9FTlQsIG9wZW5fYnJva2VyLkdldEJy b2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGVhZGluZ19wYXRoMSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKy0gICAgRVhQRUNUX0VRKC1F Tk9FTlQsIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVhZGluZ19wYXRoMiwgZm9sbG93X2xpbmtzLCAm c2IpKTsKKysgICAgRVhQRUNUX0VRKC1FTk9FTlQsCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tl ci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisr ICAgICAgICAgICAgICAgICAgbGVhZGluZ19wYXRoMSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKysg ICAgRVhQRUNUX0VRKC1FTk9FTlQsCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9r ZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisrICAgICAgICAg ICAgICAgICAgbGVhZGluZ19wYXRoMiwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAKKyAgICAgLy8g QnV0IGNhbiBhbHdheXMgZ2V0IHRoZSByb290LgorLSAgICBFWFBFQ1RfRVEoMCwgb3Blbl9icm9r ZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKy0gICAgICAgICAgICAgICAg ICAgICBsZWFkaW5nX3BhdGgzLCBmb2xsb3dfbGlua3MsICZzYikpOworKyAgICBFWFBFQ1RfRVEo MCwKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2Vk KCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKysgICAgICAgICAgICAgICAgICBsZWFkaW5nX3Bh dGgzLCBmb2xsb3dfbGlua3MsICZzYikpOworIAorICAgICAvLyBOb3QgZm9vbGVkIGJ5IHN1YnN0 cmluZ3MuCisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAgICAg ICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAg ICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1 bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAgICBiYWRfbGVhZGluZ19wYXRoMSwg Zm9sbG93X2xpbmtzLCAmc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWws CistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgp LT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFs QmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGJhZF9s ZWFkaW5nX3BhdGgyLCBmb2xsb3dfbGlua3MsICZzYikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtl RXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVu dFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9r ZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAg ICAgICAgICAgYmFkX2xlYWRpbmdfcGF0aDMsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICAgIEVY UEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9rZXIu R2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5f YnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGlu ZygKKyAgICAgICAgICAgICAgICAgICBiYWRfbGVhZGluZ19wYXRoNCwgZm9sbG93X2xpbmtzLCAm c2IpKTsKKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAg ICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAg ICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVs dFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGJhZF9sZWFkaW5nX3BhdGg1LCBm b2xsb3dfbGlua3MsICZzYikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwK Ky0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCkt PlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxC YXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAgYmFkX2xl YWRpbmdfcGF0aDYsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICB9CisgICB7CitAQCAtOTQ5LDgg Kzk1NCw5IEBAIHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9vbCBmYXN0X2NoZWNrX2luX2NsaWVudCwg Ym9vbCBmb2xsb3dfbGlua3MpIHsKKyAgICAgQVNTRVJUX1RSVUUob3Blbl9icm9rZXIuSW5pdChi YXNlOjpCaW5kT25jZSgmTm9PcENhbGxiYWNrKSkpOworIAorICAgICBtZW1zZXQoJnNiLCAwLCBz aXplb2Yoc2IpKTsKKy0gICAgRVhQRUNUX0VRKDAsIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVu dFNpZ25hbEJhc2VkKCktPlN0YXQoCistICAgICAgICAgICAgICAgICAgICAgdGVtcGZpbGVfbmFt ZSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKysgICAgRVhQRUNUX0VRKDAsCisrICAgICAgICAgICAg ICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZv clRlc3RpbmcoCisrICAgICAgICAgICAgICAgICAgdGVtcGZpbGVfbmFtZSwgZm9sbG93X2xpbmtz LCAmc2IpKTsKKyAKKyAgICAgLy8gRm9sbG93aW5nIGZpZWxkcyBtYXkgbmV2ZXIgYmUgY29uc2lz dGVudCBidXQgc2hvdWxkIGJlIG5vbi16ZXJvLgorICAgICAvLyBEb24ndCB0cnVzdCB0aGUgcGxh dGZvcm0gdG8gZGVmaW5lIGZpZWxkcyB3aXRoIGFueSBwYXJ0aWN1bGFyIHNpZ24uCitAQCAtOTY4 LDkgKzk3NCw5IEBAIHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9vbCBmYXN0X2NoZWNrX2luX2NsaWVu dCwgYm9vbCBmb2xsb3dfbGlua3MpIHsKKyAgICAgRVhQRUNUX0VRKDEyLCBzYi5zdF9zaXplKTsK KyAKKyAgICAgLy8gQ2FuJ3QgZ28gYmFja3dhcmRzIGluIHRpbWUsIDE1MDAwMDAwMDAgd2FzIHNv bWUgdGltZSBhZ28uCistICAgIEVYUEVDVF9MVCgxNTAwMDAwMDAwdSwgc3RhdGljX2Nhc3Q8dW5z aWduZWQgaW50PihzYi5zdF9hdGltZSkpOworLSAgICBFWFBFQ1RfTFQoMTUwMDAwMDAwMHUsIHN0 YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2Iuc3RfbXRpbWUpKTsKKy0gICAgRVhQRUNUX0xUKDE1 MDAwMDAwMDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNiLnN0X2N0aW1lKSk7CisrICAg IEVYUEVDVF9MVCgxNTAwMDAwMDAwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi5zdF9h dGltZV8pKTsKKysgICAgRVhQRUNUX0xUKDE1MDAwMDAwMDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25l ZCBpbnQ+KHNiLnN0X210aW1lXykpOworKyAgICBFWFBFQ1RfTFQoMTUwMDAwMDAwMHUsIHN0YXRp Y19jYXN0PHVuc2lnbmVkIGludD4oc2Iuc3RfY3RpbWVfKSk7CisgICB9CisgfQorIAorZGlmZiAt LWdpdCBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvcmVtb3RlX3N5c2NhbGxfYXJnX2hh bmRsZXJfdW5pdHRlc3QuY2MgYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL3JlbW90ZV9z eXNjYWxsX2FyZ19oYW5kbGVyX3VuaXR0ZXN0LmNjCitpbmRleCBmZmZhOWJiNzA4MmNlLi5mNTE3 YTk4NjdjNWRlIDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9yZW1v dGVfc3lzY2FsbF9hcmdfaGFuZGxlcl91bml0dGVzdC5jYworKysrIGIvc2FuZGJveC9saW51eC9z eXNjYWxsX2Jyb2tlci9yZW1vdGVfc3lzY2FsbF9hcmdfaGFuZGxlcl91bml0dGVzdC5jYworQEAg LTE2LDYgKzE2LDcgQEAKKyAjaW5jbHVkZSAiYmFzZS9tZW1vcnkvcGFnZV9zaXplLmgiCisgI2lu Y2x1ZGUgImJhc2UvcG9zaXgvdW5peF9kb21haW5fc29ja2V0LmgiCisgI2luY2x1ZGUgImJhc2Uv dGVzdC9iaW5kLmgiCisrI2luY2x1ZGUgInNhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5o IgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3Rlc3RzL3VuaXRfdGVzdHMuaCIKKyAjaW5jbHVk ZSAidGVzdGluZy9ndGVzdC9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCisgCitAQCAtNTIsMTkgKzUz LDYgQEAgdm9pZCBWZXJpZnlDb3JyZWN0U3RyaW5nKHN0ZDo6c3RyaW5nIHN0ciwgc2l6ZV90IHNp emUpIHsKKyAgIH0KKyB9CisgCistdm9pZCogTWFwUGFnZXNPckRpZShzaXplX3QgbnVtX3BhZ2Vz KSB7CistICB2b2lkKiBhZGRyID0gbW1hcChudWxscHRyLCBudW1fcGFnZXMgKiBiYXNlOjpHZXRQ YWdlU2l6ZSgpLAorLSAgICAgICAgICAgICAgICAgICAgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwg TUFQX1BSSVZBVEUgfCBNQVBfQU5PTllNT1VTLCAtMSwgMCk7CistICBQQ0hFQ0soYWRkcik7Cist ICByZXR1cm4gYWRkcjsKKy19CistCistdm9pZCBNcHJvdGVjdExhc3RQYWdlT3JEaWUoY2hhciog YWRkciwgc2l6ZV90IG51bV9wYWdlcykgeworLSAgc2l6ZV90IGxhc3RfcGFnZV9vZmZzZXQgPSAo bnVtX3BhZ2VzIC0gMSkgKiBiYXNlOjpHZXRQYWdlU2l6ZSgpOworLSAgUENIRUNLKG1wcm90ZWN0 KGFkZHIgKyBsYXN0X3BhZ2Vfb2Zmc2V0LCBiYXNlOjpHZXRQYWdlU2l6ZSgpLCBQUk9UX05PTkUp ID49CistICAgICAgICAgMCk7CistfQorLQorIHBpZF90IEZvcmtXYWl0aW5nQ2hpbGQoYmFzZTo6 T25jZUNhbGxiYWNrPHZvaWQoaW50KT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRl cl9wYXJlbnRfc2lnbmFsc19jYWxsYmFjayA9IGJhc2U6OkRvTm90aGluZygpLAorICAgICAgICAg ICAgICAgICAgICAgICAgYmFzZTo6U2NvcGVkRkQqIHBhcmVudF9zeW5jX2ZkID0gbnVsbHB0cikg eworQEAgLTEwNSwxMyArOTMsMTMgQEAgdm9pZCBSZWFkVGVzdChjb25zdCBSZWFkVGVzdENvbmZp ZyYgdGVzdF9jb25maWcpIHsKKyAgIHNpemVfdCB0b3RhbF9wYWdlcyA9ICh0ZXN0X2NvbmZpZy5z dGFydF9hdCArIHRlc3RfY29uZmlnLnRvdGFsX3NpemUgKworICAgICAgICAgICAgICAgICAgICAg ICAgIGJhc2U6OkdldFBhZ2VTaXplKCkgLSAxKSAvCisgICAgICAgICAgICAgICAgICAgICAgICBi YXNlOjpHZXRQYWdlU2l6ZSgpOworLSAgY2hhciogbW1hcF9hZGRyID0gc3RhdGljX2Nhc3Q8Y2hh cio+KE1hcFBhZ2VzT3JEaWUodG90YWxfcGFnZXMpKTsKKysgIGNoYXIqIG1tYXBfYWRkciA9IHN0 YXRpY19jYXN0PGNoYXIqPihUZXN0VXRpbHM6Ok1hcFBhZ2VzT3JEaWUodG90YWxfcGFnZXMpKTsK KyAgIGNoYXIqIGFkZHIgPSBtbWFwX2FkZHIgKyB0ZXN0X2NvbmZpZy5zdGFydF9hdDsKKyAgIEZp bGxCdWZmZXJXaXRoUGF0aChhZGRyLCB0ZXN0X2NvbmZpZy50b3RhbF9zaXplLAorICAgICAgICAg ICAgICAgICAgICAgIHRlc3RfY29uZmlnLmluY2x1ZGVfbnVsbF9ieXRlKTsKKyAKKyAgIGlmICh0 ZXN0X2NvbmZpZy5sYXN0X3BhZ2VfaW5hY2Nlc3NpYmxlKQorLSAgICBNcHJvdGVjdExhc3RQYWdl T3JEaWUobW1hcF9hZGRyLCB0b3RhbF9wYWdlcyk7CisrICAgIFRlc3RVdGlsczo6TXByb3RlY3RM YXN0UGFnZU9yRGllKG1tYXBfYWRkciwgdG90YWxfcGFnZXMpOworIAorICAgcGlkX3QgcGlkID0g Rm9ya1dhaXRpbmdDaGlsZCgpOworICAgbXVubWFwKG1tYXBfYWRkciwgYmFzZTo6R2V0UGFnZVNp emUoKSAqIHRvdGFsX3BhZ2VzKTsKK0BAIC0yMTIsNyArMjAwLDcgQEAgU0FOREJPWF9URVNUKEJy b2tlclJlbW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBSZWFkQ2h1bmtQbHVzMUVuZGluZ09uZVBhc3RQ YWdlKSB7CisgfQorIAorIFNBTkRCT1hfVEVTVChCcm9rZXJSZW1vdGVTeXNjYWxsQXJnSGFuZGxl ciwgUmVhZENoaWxkRXhpdGVkKSB7CistICB2b2lkKiBhZGRyID0gTWFwUGFnZXNPckRpZSgxKTsK KysgIHZvaWQqIGFkZHIgPSBUZXN0VXRpbHM6Ok1hcFBhZ2VzT3JEaWUoMSk7CisgICBGaWxsQnVm ZmVyV2l0aFBhdGgoc3RhdGljX2Nhc3Q8Y2hhcio+KGFkZHIpLCBzdHJsZW4oa1BhdGhQYXJ0KSAr IDEsIHRydWUpOworIAorICAgYmFzZTo6U2NvcGVkRkQgcGFyZW50X3N5bmMsIGNoaWxkX3N5bmM7 CitAQCAtMjQwLDEwICsyMjgsMTAgQEAgU0FOREJPWF9URVNUKEJyb2tlclJlbW90ZVN5c2NhbGxB cmdIYW5kbGVyLCBSZWFkQ2hpbGRFeGl0ZWQpIHsKKyB9CisgCisgU0FOREJPWF9URVNUKEJyb2tl clJlbW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBCYXNpY1dyaXRlKSB7CistICB2b2lkKiByZWFkX2Zy b20gPSBNYXBQYWdlc09yRGllKDEpOworKyAgdm9pZCogcmVhZF9mcm9tID0gVGVzdFV0aWxzOjpN YXBQYWdlc09yRGllKDEpOworICAgY29uc3Qgc2l6ZV90IHdyaXRlX3NpemUgPSBiYXNlOjpHZXRQ YWdlU2l6ZSgpOworICAgRmlsbEJ1ZmZlcldpdGhQYXRoKHN0YXRpY19jYXN0PGNoYXIqPihyZWFk X2Zyb20pLCB3cml0ZV9zaXplLCBmYWxzZSk7CistICBjaGFyKiB3cml0ZV90byA9IHN0YXRpY19j YXN0PGNoYXIqPihNYXBQYWdlc09yRGllKDEpKTsKKysgIGNoYXIqIHdyaXRlX3RvID0gc3RhdGlj X2Nhc3Q8Y2hhcio+KFRlc3RVdGlsczo6TWFwUGFnZXNPckRpZSgxKSk7CisgICBiYXNlOjpTY29w ZWRGRCBwYXJlbnRfc2lnbmFsX2ZkOworICAgY29uc3Qgc3RkOjp2ZWN0b3I8aW50PiBlbXB0eV9m ZF92ZWM7CisgCitAQCAtMjc4LDggKzI2Niw4IEBAIFNBTkRCT1hfVEVTVChCcm9rZXJSZW1vdGVT eXNjYWxsQXJnSGFuZGxlciwgQmFzaWNXcml0ZSkgeworIH0KKyAKKyBTQU5EQk9YX1RFU1QoQnJv a2VyUmVtb3RlU3lzY2FsbEFyZ0hhbmRsZXIsIFdyaXRlVG9JbnZhbGlkQWRkcmVzcykgeworLSAg Y2hhciogd3JpdGVfdG8gPSBzdGF0aWNfY2FzdDxjaGFyKj4oTWFwUGFnZXNPckRpZSgxKSk7Cist ICBNcHJvdGVjdExhc3RQYWdlT3JEaWUod3JpdGVfdG8sIDEpOworKyAgY2hhciogd3JpdGVfdG8g PSBzdGF0aWNfY2FzdDxjaGFyKj4oVGVzdFV0aWxzOjpNYXBQYWdlc09yRGllKDEpKTsKKysgIFRl c3RVdGlsczo6TXByb3RlY3RMYXN0UGFnZU9yRGllKHdyaXRlX3RvLCAxKTsKKyAgIGJhc2U6OlNj b3BlZEZEIHBhcmVudF9zaWduYWxfZmQ7CisgICBjb25zdCBzdGQ6OnZlY3RvcjxpbnQ+IGVtcHR5 X2ZkX3ZlYzsKKyAKK0BAIC0yOTUsMTEgKzI4MywxMSBAQCBTQU5EQk9YX1RFU1QoQnJva2VyUmVt b3RlU3lzY2FsbEFyZ0hhbmRsZXIsIFdyaXRlVG9JbnZhbGlkQWRkcmVzcykgeworIH0KKyAKKyBT QU5EQk9YX1RFU1QoQnJva2VyUmVtb3RlU3lzY2FsbEFyZ0hhbmRsZXIsIFdyaXRlUGFydGlhbGx5 VG9JbnZhbGlkQWRkcmVzcykgeworLSAgY2hhciogcmVhZF9mcm9tID0gc3RhdGljX2Nhc3Q8Y2hh cio+KE1hcFBhZ2VzT3JEaWUoMikpOworKyAgY2hhciogcmVhZF9mcm9tID0gc3RhdGljX2Nhc3Q8 Y2hhcio+KFRlc3RVdGlsczo6TWFwUGFnZXNPckRpZSgyKSk7CisgICBjb25zdCBzaXplX3Qgd3Jp dGVfc2l6ZSA9IGJhc2U6OkdldFBhZ2VTaXplKCk7CisgICBGaWxsQnVmZmVyV2l0aFBhdGgoc3Rh dGljX2Nhc3Q8Y2hhcio+KHJlYWRfZnJvbSksIHdyaXRlX3NpemUsIGZhbHNlKTsKKy0gIGNoYXIq IHdyaXRlX3RvID0gc3RhdGljX2Nhc3Q8Y2hhcio+KE1hcFBhZ2VzT3JEaWUoMikpOworLSAgTXBy b3RlY3RMYXN0UGFnZU9yRGllKHdyaXRlX3RvLCAyKTsKKysgIGNoYXIqIHdyaXRlX3RvID0gc3Rh dGljX2Nhc3Q8Y2hhcio+KFRlc3RVdGlsczo6TWFwUGFnZXNPckRpZSgyKSk7CisrICBUZXN0VXRp bHM6Ok1wcm90ZWN0TGFzdFBhZ2VPckRpZSh3cml0ZV90bywgMik7CisgICB3cml0ZV90byArPSBi YXNlOjpHZXRQYWdlU2l6ZSgpIC8gMjsKKyAgIGJhc2U6OlNjb3BlZEZEIHBhcmVudF9zaWduYWxf ZmQ7CisgICBjb25zdCBzdGQ6OnZlY3RvcjxpbnQ+IGVtcHR5X2ZkX3ZlYzsKK0BAIC0zMTQsNyAr MzAyLDcgQEAgU0FOREJPWF9URVNUKEJyb2tlclJlbW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBXcml0 ZVBhcnRpYWxseVRvSW52YWxpZEFkZHJlc3MpIHsKKyB9CisgCisgU0FOREJPWF9URVNUKEJyb2tl clJlbW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBXcml0ZUNoaWxkRXhpdGVkKSB7CistICBjaGFyKiBh ZGRyID0gc3RhdGljX2Nhc3Q8Y2hhcio+KE1hcFBhZ2VzT3JEaWUoMSkpOworKyAgY2hhciogYWRk ciA9IHN0YXRpY19jYXN0PGNoYXIqPihUZXN0VXRpbHM6Ok1hcFBhZ2VzT3JEaWUoMSkpOworICAg RmlsbEJ1ZmZlcldpdGhQYXRoKHN0YXRpY19jYXN0PGNoYXIqPihhZGRyKSwgc3RybGVuKGtQYXRo UGFydCkgKyAxLCB0cnVlKTsKKyAKKyAgIGJhc2U6OlNjb3BlZEZEIHBhcmVudF9zeW5jLCBjaGls ZF9zeW5jOworZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvc3lzY2Fs bF9kaXNwYXRjaGVyLmNjIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9zeXNjYWxsX2Rp c3BhdGNoZXIuY2MKK2luZGV4IGI5ZWU5M2MxNGFjNTkuLjhhNDIzOTdlZjg3MmUgMTAwNjQ0Cist LS0gYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0Y2hlci5jYwor KysrIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9zeXNjYWxsX2Rpc3BhdGNoZXIuY2MK K0BAIC0xOSw4ICsxOSwxOCBAQCBuYW1lc3BhY2Ugc3lzY2FsbF9icm9rZXIgeworICNkZWZpbmUg QlJPS0VSX1VOUE9JU09OX1NUUklORyh4KQorICNlbmRpZgorIAorK2ludCBTeXNjYWxsRGlzcGF0 Y2hlcjo6RGVmYXVsdFN0YXRGb3JUZXN0aW5nKGNvbnN0IGNoYXIqIHBhdGhuYW1lLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZm9sbG93X2xpbmtz LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRf c3RhdF9zdHJ1Y3QqIHNiKSB7CisrI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCisrICByZXR1 cm4gU3RhdDY0KHBhdGhuYW1lLCBmb2xsb3dfbGlua3MsIHNiKTsKKysjZWxpZiBkZWZpbmVkKF9f TlJfbmV3ZnN0YXRhdCkKKysgIHJldHVybiBTdGF0KHBhdGhuYW1lLCBmb2xsb3dfbGlua3MsIHNi KTsKKysjZW5kaWYKKyt9CisrCisgaW50IFN5c2NhbGxEaXNwYXRjaGVyOjpQZXJmb3JtU3RhdGF0 KGNvbnN0IGFyY2hfc2VjY29tcF9kYXRhJiBhcmdzLAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBib29sIGFyY2g2NCkgeworKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBib29sIHN0YXQ2NCkgeworICAgaWYgKHN0YXRpY19jYXN0PGludD4oYXJncy5h cmdzWzBdKSAhPSBBVF9GRENXRCkKKyAgICAgcmV0dXJuIC1FUEVSTTsKKyAgIC8vIE9ubHkgYWxs b3cgdGhlIEFUX1NZTUxJTktfTk9GT0xMT1cgZmxhZyB3aGljaCBpcyB1c2VkIGJ5IHNvbWUgbGli YworQEAgLTMwLDEzICs0MCwyOSBAQCBpbnQgU3lzY2FsbERpc3BhdGNoZXI6OlBlcmZvcm1TdGF0 YXQoY29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MsCisgCisgICBjb25zdCBib29sIGZvbGxv d19saW5rcyA9CisgICAgICAgIShzdGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJnc1szXSkgJiBBVF9T WU1MSU5LX05PRk9MTE9XKTsKKy0gIGlmIChhcmNoNjQpIHsKKysgIGlmIChzdGF0NjQpIHsKKyAg ICAgcmV0dXJuIFN0YXQ2NChyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3Nb MV0pLCBmb2xsb3dfbGlua3MsCistICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxz dHJ1Y3Qgc3RhdDY0Kj4oYXJncy5hcmdzWzJdKSk7CisrICAgICAgICAgICAgICAgICAgcmVpbnRl cnByZXRfY2FzdDxzdHJ1Y3Qga2VybmVsX3N0YXQ2NCo+KGFyZ3MuYXJnc1syXSkpOworICAgfQor IAorICAgcmV0dXJuIFN0YXQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdz WzFdKSwgZm9sbG93X2xpbmtzLAorLSAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1 Y3Qgc3RhdCo+KGFyZ3MuYXJnc1syXSkpOworKyAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2Fz dDxzdHJ1Y3Qga2VybmVsX3N0YXQqPihhcmdzLmFyZ3NbMl0pKTsKKyt9CisrCisraW50IFN5c2Nh bGxEaXNwYXRjaGVyOjpQZXJmb3JtVW5saW5rYXQoY29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFy Z3MpIHsKKysgIGlmIChzdGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJnc1swXSkgIT0gQVRfRkRDV0Qp CisrICAgIHJldHVybiAtRVBFUk07CisrCisrICBpbnQgZmxhZ3MgPSBzdGF0aWNfY2FzdDxpbnQ+ KGFyZ3MuYXJnc1syXSk7CisrCisrICBpZiAoZmxhZ3MgPT0gQVRfUkVNT1ZFRElSKSB7CisrICAg IHJldHVybiBSbWRpcihyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3NbMV0p KTsKKysgIH0KKysKKysgIGlmIChmbGFncyAhPSAwKQorKyAgICByZXR1cm4gLUVQRVJNOworKwor KyAgcmV0dXJuIFVubGluayhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3Nb MV0pKTsKKyB9CisgCisgaW50IFN5c2NhbGxEaXNwYXRjaGVyOjpEaXNwYXRjaFN5c2NhbGwoY29u c3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MpIHsKK0BAIC0xMjcsNTkgKzE1Myw0MiBAQCBpbnQg U3lzY2FsbERpc3BhdGNoZXI6OkRpc3BhdGNoU3lzY2FsbChjb25zdCBhcmNoX3NlY2NvbXBfZGF0 YSYgYXJncykgeworICNpZiBkZWZpbmVkKF9fTlJfc3RhdCkKKyAgICAgY2FzZSBfX05SX3N0YXQ6 CisgICAgICAgcmV0dXJuIFN0YXQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5h cmdzWzBdKSwgdHJ1ZSwKKy0gICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHN0cnVj dCBzdGF0Kj4oYXJncy5hcmdzWzFdKSk7CisrICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRf Y2FzdDxzdHJ1Y3Qga2VybmVsX3N0YXQqPihhcmdzLmFyZ3NbMV0pKTsKKyAjZW5kaWYKKyAjaWYg ZGVmaW5lZChfX05SX3N0YXQ2NCkKKyAgICAgY2FzZSBfX05SX3N0YXQ2NDoKKyAgICAgICByZXR1 cm4gU3RhdDY0KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1swXSksIHRy dWUsCistICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHN0cnVjdCBzdGF0NjQq PihhcmdzLmFyZ3NbMV0pKTsKKysgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8 c3RydWN0IGtlcm5lbF9zdGF0NjQqPihhcmdzLmFyZ3NbMV0pKTsKKyAjZW5kaWYKKyAjaWYgZGVm aW5lZChfX05SX2xzdGF0KQorICAgICBjYXNlIF9fTlJfbHN0YXQ6CisgICAgICAgLy8gU2VlIGh0 dHBzOi8vY3JidWcuY29tLzg0NzA5NgorICAgICAgIEJST0tFUl9VTlBPSVNPTl9TVFJJTkcocmVp bnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdzWzBdKSk7CisgICAgICAgcmV0dXJu IFN0YXQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdzWzBdKSwgZmFsc2Us CistICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc3RhdCo+KGFyZ3Mu YXJnc1sxXSkpOworKyAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IGtl cm5lbF9zdGF0Kj4oYXJncy5hcmdzWzFdKSk7CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19OUl9s c3RhdDY0KQorICAgICBjYXNlIF9fTlJfbHN0YXQ2NDoKKyAgICAgICAvLyBTZWUgaHR0cHM6Ly9j cmJ1Zy5jb20vODQ3MDk2CisgICAgICAgQlJPS0VSX1VOUE9JU09OX1NUUklORyhyZWludGVycHJl dF9jYXN0PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3NbMF0pKTsKKyAgICAgICByZXR1cm4gU3RhdDY0 KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1swXSksIGZhbHNlLAorLSAg ICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc3RhdDY0Kj4oYXJncy5h cmdzWzFdKSk7CistI2VuZGlmCistI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0KQorLSAgICBjYXNl IF9fTlJfZnN0YXRhdDoKKy0gICAgICByZXR1cm4gUGVyZm9ybVN0YXRhdChhcmdzLCAvKmFyY2g2 ND0qL2ZhbHNlKTsKKysgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0 IGtlcm5lbF9zdGF0NjQqPihhcmdzLmFyZ3NbMV0pKTsKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChf X05SX2ZzdGF0YXQ2NCkKKyAgICAgY2FzZSBfX05SX2ZzdGF0YXQ2NDoKKy0gICAgICByZXR1cm4g UGVyZm9ybVN0YXRhdChhcmdzLCAvKmFyY2g2ND0qL3RydWUpOworKyAgICAgIHJldHVybiBQZXJm b3JtU3RhdGF0KGFyZ3MsIC8qc3RhdDY0PSovdHJ1ZSk7CisgI2VuZGlmCisgI2lmIGRlZmluZWQo X19OUl9uZXdmc3RhdGF0KQorICAgICBjYXNlIF9fTlJfbmV3ZnN0YXRhdDoKKy0gICAgICByZXR1 cm4gUGVyZm9ybVN0YXRhdChhcmdzLCAvKmFyY2g2ND0qL2ZhbHNlKTsKKysgICAgICByZXR1cm4g UGVyZm9ybVN0YXRhdChhcmdzLCAvKnN0YXQ2ND0qL2ZhbHNlKTsKKyAjZW5kaWYKKyAjaWYgZGVm aW5lZChfX05SX3VubGluaykKKyAgICAgY2FzZSBfX05SX3VubGluazoKKyAgICAgICByZXR1cm4g VW5saW5rKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1swXSkpOworICNl bmRpZgorICNpZiBkZWZpbmVkKF9fTlJfdW5saW5rYXQpCistICAgIGNhc2UgX19OUl91bmxpbmth dDogeworLSAgICAgIGlmIChzdGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJnc1swXSkgIT0gQVRfRkRD V0QpCistICAgICAgICByZXR1cm4gLUVQRVJNOworLQorLSAgICAgIGludCBmbGFncyA9IHN0YXRp Y19jYXN0PGludD4oYXJncy5hcmdzWzJdKTsKKy0KKy0gICAgICBpZiAoZmxhZ3MgPT0gQVRfUkVN T1ZFRElSKSB7CistICAgICAgICByZXR1cm4gUm1kaXIocmVpbnRlcnByZXRfY2FzdDxjb25zdCBj aGFyKj4oYXJncy5hcmdzWzFdKSk7CistICAgICAgfQorLQorLSAgICAgIGlmIChmbGFncyAhPSAw KQorLSAgICAgICAgcmV0dXJuIC1FUEVSTTsKKy0KKy0gICAgICByZXR1cm4gVW5saW5rKHJlaW50 ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1sxXSkpOworLSAgICB9CisrICAgIGNh c2UgX19OUl91bmxpbmthdDoKKysgICAgICByZXR1cm4gUGVyZm9ybVVubGlua2F0KGFyZ3MpOwor ICNlbmRpZiAgLy8gZGVmaW5lZChfX05SX3VubGlua2F0KQorICAgICBkZWZhdWx0OgorICAgICAg IFJBV19DSEVDSyhmYWxzZSk7CitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jy b2tlci9zeXNjYWxsX2Rpc3BhdGNoZXIuaCBiL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIv c3lzY2FsbF9kaXNwYXRjaGVyLmgKK2luZGV4IGQ4Yjg4NzRhZDljZTQuLjFkNjY1M2NhZjNiZDIg MTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0 Y2hlci5oCisrKysgYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0 Y2hlci5oCitAQCAtOSwxMyArOSwxNSBAQAorICNpbmNsdWRlIDxjc3RkZGVmPgorIAorICNpbmNs dWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NlY2NvbXAuaCIKKysjaW5j bHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgiCisrI2luY2x1 ZGUgInNhbmRib3gvc2FuZGJveF9leHBvcnQuaCIKKyAKKyBuYW1lc3BhY2Ugc2FuZGJveCB7Cisg bmFtZXNwYWNlIHN5c2NhbGxfYnJva2VyIHsKKyAKKyAvLyBBbiBhYnN0cmFjdCBjbGFzcyB0aGF0 IGRlZmluZXMgYWxsIHRoZSBzeXN0ZW0gY2FsbHMgd2UgcGVyZm9ybSBmb3IgdGhlCisgLy8gc2Fu ZGJveGVkIHByb2Nlc3MuCistY2xhc3MgU3lzY2FsbERpc3BhdGNoZXIgeworK2NsYXNzIFNBTkRC T1hfRVhQT1JUIFN5c2NhbGxEaXNwYXRjaGVyIHsKKyAgcHVibGljOgorICAgLy8gRW11bGF0ZXMg YWNjZXNzKCkvZmFjY2Vzc2F0KCkuCisgICAvLyBYX09LIHdpbGwgYWx3YXlzIHJldHVybiBhbiBl cnJvciBpbiBwcmFjdGljZSBzaW5jZSB0aGUgYnJva2VyIHByb2Nlc3MKK0BAIC00MCwxOSArNDIs MzQgQEAgY2xhc3MgU3lzY2FsbERpc3BhdGNoZXIgeworICAgdmlydHVhbCBpbnQgUm1kaXIoY29u c3QgY2hhciogcGF0aCkgY29uc3QgPSAwOworIAorICAgLy8gRW11bGF0ZXMgc3RhdCgpL3N0YXQ2 NCgpL2xzdGF0KCkvbHN0YXQ2NCgpL2ZzdGF0YXQoKS9uZXdmc3RhdGF0KCkuCisrICAvLyBTdGF0 NjQgaXMgb25seSBhdmFpbGFibGUgb24gMzItYml0IHN5c3RlbXMuCisgICB2aXJ0dWFsIGludCBT dGF0KGNvbnN0IGNoYXIqIHBhdGhuYW1lLAorICAgICAgICAgICAgICAgICAgICBib29sIGZvbGxv d19saW5rcywKKy0gICAgICAgICAgICAgICAgICAgc3RydWN0IHN0YXQqIHNiKSBjb25zdCA9IDA7 CisrICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfc3RhdCogc2IpIGNvbnN0ID0gMDsK KyAgIHZpcnR1YWwgaW50IFN0YXQ2NChjb25zdCBjaGFyKiBwYXRobmFtZSwKKyAgICAgICAgICAg ICAgICAgICAgICBib29sIGZvbGxvd19saW5rcywKKy0gICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3Qgc3RhdDY0KiBzYikgY29uc3QgPSAwOworKyAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBr ZXJuZWxfc3RhdDY0KiBzYikgY29uc3QgPSAwOworIAorICAgLy8gRW11bGF0ZXMgdW5saW5rKCkv dW5saW5rYXQoKS4KKyAgIHZpcnR1YWwgaW50IFVubGluayhjb25zdCBjaGFyKiB1bmxpbmspIGNv bnN0ID0gMDsKKyAKKysgIC8vIERpZmZlcmVudCBhcmNoaXRlY3R1cmVzIHVzZSBhIGRpZmZlcmVu dCBzeXNjYWxsIGZyb20gdGhlIHN0YXQgZmFtaWx5IGJ5CisrICAvLyBkZWZhdWx0IGluIGdsaWJj LiBFLmcuIDMyLWJpdCBzeXN0ZW1zIHVzZSAqc3RhdCo2NCgpIGFuZCBmaWxsIG91dCBzdHJ1Y3QK KysgIC8vIGtlcm5lbF9zdGF0NjQsIHdoZXJlYXMgNjQtYml0IHN5c3RlbXMgdXNlICpzdGF0Kigp IGFuZCBmaWxsIG91dCBzdHJ1Y3QKKysgIC8vIGtlcm5lbF9zdGF0LiBTb21lIHRlc3RzIHdhbnQg dG8gY2FsbCB0aGUgU3lzY2FsbERpc3BhdGNoZXIgZGlyZWN0bHksIGFuZAorKyAgLy8gc2hvdWxk IGJlIHVzaW5nIHRoZSBkZWZhdWx0IHN0YXQgaW4gb3JkZXIgdG8gdGVzdCBhZ2FpbnN0IGdsaWJj LgorKyAgaW50IERlZmF1bHRTdGF0Rm9yVGVzdGluZyhjb25zdCBjaGFyKiBwYXRobmFtZSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc3RhdF9zdHJ1Y3QqIHNiKTsKKysKKyAgIC8vIFZh bGlkYXRlcyB0aGUgYXJncyBwYXNzZWQgdG8gYSAqc3RhdGF0KigpIHN5c2NhbGwgYW5kIHBlcmZv cm1zIHRoZSBzeXNjYWxsCistICAvLyB1c2luZyBTdGF0KCkgb3IgU3RhdDY0KCkuCistICBpbnQg UGVyZm9ybVN0YXRhdChjb25zdCBhcmNoX3NlY2NvbXBfZGF0YSYgYXJncywgYm9vbCBhcmNoNjQp OworKyAgLy8gdXNpbmcgU3RhdCgpLCBvciBvbiAzMi1iaXQgc3lzdGVtcyBpdCB1c2VzIFN0YXQ2 NCgpIGZvciB0aGUgKnN0YXRhdDY0KCkKKysgIC8vIHN5c2NhbGxzLgorKyAgaW50IFBlcmZvcm1T dGF0YXQoY29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MsIGJvb2wgc3RhdDY0KTsKKysKKysg IC8vIFZhbGlkYXRlcyB0aGUgYXJncyBwYXNzZWQgdG8gYW4gdW5saW5rYXQoKSBzeXNjYWxsIGFu ZCBwZXJmb3JtcyB0aGUgc3lzY2FsbAorKyAgLy8gdXNpbmcgZWl0aGVyIFVubGluaygpIG9yIFJt ZGlyKCkuCisrICBpbnQgUGVyZm9ybVVubGlua2F0KGNvbnN0IGFyY2hfc2VjY29tcF9kYXRhJiBh cmdzKTsKKyAKKyAgIC8vIFJlYWRzIHRoZSBzeXNjYWxsIG51bWJlciBhbmQgYXJndW1lbnRzLCBp bXBvc2VzIHNvbWUgcG9saWN5IChlLmcuIHRoZSAqYXQoKQorICAgLy8gc3lzdGVtIGNhbGxzIG11 c3Qgb25seSBhbGxvdyBBVF9GRENXRCBhcyB0aGUgZmlyc3QgYXJndW1lbnQpLCBhbmQKK2RpZmYg LS1naXQgYS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaCBiL3NhbmRi b3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5oCituZXcgZmlsZSBtb2RlIDEwMDY0 NAoraW5kZXggMDAwMDAwMDAwMDAwMC4uMzU3ODhlYjIyYTRlNQorLS0tIC9kZXYvbnVsbAorKysr IGIvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgKK0BAIC0wLDAgKzEs MTg4IEBACisrLy8gQ29weXJpZ2h0IDIwMjEgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdo dHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkg YSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNF IGZpbGUuCisrCisrI2lmbmRlZiBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX0xJTlVYX1NU QVRfSF8KKysjZGVmaW5lIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfTElOVVhfU1RBVF9I XworKworKyNpbmNsdWRlIDxzdGRpbnQuaD4KKysKKysjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29u ZmlnLmgiCisrI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lz Y2FsbHMuaCIKKysKKysjaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKysjaWYgZGVm aW5lZChBUkNIX0NQVV82NF9CSVRTKQorK3N0cnVjdCBrZXJuZWxfc3RhdCB7CisrI2Vsc2UKKytz dHJ1Y3Qga2VybmVsX3N0YXQ2NCB7CisrI2VuZGlmCisrICB1bnNpZ25lZCBzdF9kZXY7CisrICB1 bnNpZ25lZCBfX3BhZDBbM107CisrICB1bnNpZ25lZCBsb25nIGxvbmcgc3RfaW5vOworKyAgdW5z aWduZWQgc3RfbW9kZTsKKysgIHVuc2lnbmVkIHN0X25saW5rOworKyAgdW5zaWduZWQgc3RfdWlk OworKyAgdW5zaWduZWQgc3RfZ2lkOworKyAgdW5zaWduZWQgc3RfcmRldjsKKysgIHVuc2lnbmVk IF9fcGFkMVszXTsKKysgIGxvbmcgbG9uZyBzdF9zaXplOworKyAgdW5zaWduZWQgc3RfYXRpbWVf OworKyAgdW5zaWduZWQgc3RfYXRpbWVfbnNlY187CisrICB1bnNpZ25lZCBzdF9tdGltZV87Cisr ICB1bnNpZ25lZCBzdF9tdGltZV9uc2VjXzsKKysgIHVuc2lnbmVkIHN0X2N0aW1lXzsKKysgIHVu c2lnbmVkIHN0X2N0aW1lX25zZWNfOworKyAgdW5zaWduZWQgc3RfYmxrc2l6ZTsKKysgIHVuc2ln bmVkIF9fcGFkMjsKKysgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9ibG9ja3M7CisrfTsKKysjZWxz ZQorK3N0cnVjdCBrZXJuZWxfc3RhdDY0IHsKKysgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9kZXY7 CisrICB1bnNpZ25lZCBjaGFyIF9fcGFkMFs0XTsKKysgIHVuc2lnbmVkIF9fc3RfaW5vOworKyAg dW5zaWduZWQgc3RfbW9kZTsKKysgIHVuc2lnbmVkIHN0X25saW5rOworKyAgdW5zaWduZWQgc3Rf dWlkOworKyAgdW5zaWduZWQgc3RfZ2lkOworKyAgdW5zaWduZWQgbG9uZyBsb25nIHN0X3JkZXY7 CisrICB1bnNpZ25lZCBjaGFyIF9fcGFkM1s0XTsKKysgIGxvbmcgbG9uZyBzdF9zaXplOworKyAg dW5zaWduZWQgc3RfYmxrc2l6ZTsKKysgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9ibG9ja3M7Cisr ICB1bnNpZ25lZCBzdF9hdGltZV87CisrICB1bnNpZ25lZCBzdF9hdGltZV9uc2VjXzsKKysgIHVu c2lnbmVkIHN0X210aW1lXzsKKysgIHVuc2lnbmVkIHN0X210aW1lX25zZWNfOworKyAgdW5zaWdu ZWQgc3RfY3RpbWVfOworKyAgdW5zaWduZWQgc3RfY3RpbWVfbnNlY187CisrICB1bnNpZ25lZCBs b25nIGxvbmcgc3RfaW5vOworK307CisrI2VuZGlmCisrCisrI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IGRlZmluZWQoX19BUk1fQVJDSF8zX18pIHx8IGRlZmluZWQoX19BUk1fRUFCSV9fKQorK3N0 cnVjdCBrZXJuZWxfc3RhdCB7CisrICAvKiBUaGUga2VybmVsIGhlYWRlcnMgc3VnZ2VzdCB0aGF0 IHN0X2RldiBhbmQgc3RfcmRldiBzaG91bGQgYmUgMzJiaXQKKysgICAqIHF1YW50aXRpZXMgZW5j b2RpbmcgMTJiaXQgbWFqb3IgYW5kIDIwYml0IG1pbm9yIG51bWJlcnMgaW4gYW4gaW50ZXJsZWF2 ZWQKKysgICAqIGZvcm1hdC4gSW4gcmVhbGl0eSwgd2UgZG8gbm90IHNlZSB1c2VmdWwgZGF0YSBp biB0aGUgdG9wIGJpdHMuIFNvLAorKyAgICogd2UnbGwgbGVhdmUgdGhlIHBhZGRpbmcgaW4gaGVy ZSwgdW50aWwgd2UgZmluZCBhIGJldHRlciBzb2x1dGlvbi4KKysgICAqLworKyAgdW5zaWduZWQg c2hvcnQgc3RfZGV2OworKyAgc2hvcnQgcGFkMTsKKysgIHVuc2lnbmVkIHN0X2lubzsKKysgIHVu c2lnbmVkIHNob3J0IHN0X21vZGU7CisrICB1bnNpZ25lZCBzaG9ydCBzdF9ubGluazsKKysgIHVu c2lnbmVkIHNob3J0IHN0X3VpZDsKKysgIHVuc2lnbmVkIHNob3J0IHN0X2dpZDsKKysgIHVuc2ln bmVkIHNob3J0IHN0X3JkZXY7CisrICBzaG9ydCBwYWQyOworKyAgdW5zaWduZWQgc3Rfc2l6ZTsK KysgIHVuc2lnbmVkIHN0X2Jsa3NpemU7CisrICB1bnNpZ25lZCBzdF9ibG9ja3M7CisrICB1bnNp Z25lZCBzdF9hdGltZV87CisrICB1bnNpZ25lZCBzdF9hdGltZV9uc2VjXzsKKysgIHVuc2lnbmVk IHN0X210aW1lXzsKKysgIHVuc2lnbmVkIHN0X210aW1lX25zZWNfOworKyAgdW5zaWduZWQgc3Rf Y3RpbWVfOworKyAgdW5zaWduZWQgc3RfY3RpbWVfbnNlY187CisrICB1bnNpZ25lZCBfX3VudXNl ZDQ7CisrICB1bnNpZ25lZCBfX3VudXNlZDU7CisrfTsKKysjZWxpZiBkZWZpbmVkKF9feDg2XzY0 X18pCisrc3RydWN0IGtlcm5lbF9zdGF0IHsKKysgIHVpbnQ2NF90IHN0X2RldjsKKysgIHVpbnQ2 NF90IHN0X2lubzsKKysgIHVpbnQ2NF90IHN0X25saW5rOworKyAgdW5zaWduZWQgc3RfbW9kZTsK KysgIHVuc2lnbmVkIHN0X3VpZDsKKysgIHVuc2lnbmVkIHN0X2dpZDsKKysgIHVuc2lnbmVkIF9f cGFkMDsKKysgIHVpbnQ2NF90IHN0X3JkZXY7CisrICBpbnQ2NF90IHN0X3NpemU7CisrICBpbnQ2 NF90IHN0X2Jsa3NpemU7CisrICBpbnQ2NF90IHN0X2Jsb2NrczsKKysgIHVpbnQ2NF90IHN0X2F0 aW1lXzsKKysgIHVpbnQ2NF90IHN0X2F0aW1lX25zZWNfOworKyAgdWludDY0X3Qgc3RfbXRpbWVf OworKyAgdWludDY0X3Qgc3RfbXRpbWVfbnNlY187CisrICB1aW50NjRfdCBzdF9jdGltZV87Cisr ICB1aW50NjRfdCBzdF9jdGltZV9uc2VjXzsKKysgIGludDY0X3QgX191bnVzZWQ0WzNdOworK307 CisrI2VsaWYgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9D UFVfMzJfQklUUykpCisrc3RydWN0IGtlcm5lbF9zdGF0IHsKKysgIHVuc2lnbmVkIHN0X2RldjsK KysgIGludCBzdF9wYWQxWzNdOworKyAgdW5zaWduZWQgc3RfaW5vOworKyAgdW5zaWduZWQgc3Rf bW9kZTsKKysgIHVuc2lnbmVkIHN0X25saW5rOworKyAgdW5zaWduZWQgc3RfdWlkOworKyAgdW5z aWduZWQgc3RfZ2lkOworKyAgdW5zaWduZWQgc3RfcmRldjsKKysgIGludCBzdF9wYWQyWzJdOwor KyAgbG9uZyBzdF9zaXplOworKyAgaW50IHN0X3BhZDM7CisrICBsb25nIHN0X2F0aW1lXzsKKysg IGxvbmcgc3RfYXRpbWVfbnNlY187CisrICBsb25nIHN0X210aW1lXzsKKysgIGxvbmcgc3RfbXRp bWVfbnNlY187CisrICBsb25nIHN0X2N0aW1lXzsKKysgIGxvbmcgc3RfY3RpbWVfbnNlY187Cisr ICBpbnQgc3RfYmxrc2l6ZTsKKysgIGludCBzdF9ibG9ja3M7CisrICBpbnQgc3RfcGFkNFsxNF07 CisrfTsKKysjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQorK3N0cnVjdCBrZXJuZWxfc3RhdCB7 CisrICB1bnNpZ25lZCBsb25nIHN0X2RldjsKKysgIHVuc2lnbmVkIGxvbmcgc3RfaW5vOworKyAg dW5zaWduZWQgaW50IHN0X21vZGU7CisrICB1bnNpZ25lZCBpbnQgc3Rfbmxpbms7CisrICB1bnNp Z25lZCBpbnQgc3RfdWlkOworKyAgdW5zaWduZWQgaW50IHN0X2dpZDsKKysgIHVuc2lnbmVkIGxv bmcgc3RfcmRldjsKKysgIHVuc2lnbmVkIGxvbmcgX19wYWQxOworKyAgbG9uZyBzdF9zaXplOwor KyAgaW50IHN0X2Jsa3NpemU7CisrICBpbnQgX19wYWQyOworKyAgbG9uZyBzdF9ibG9ja3M7Cisr ICBsb25nIHN0X2F0aW1lXzsKKysgIHVuc2lnbmVkIGxvbmcgc3RfYXRpbWVfbnNlY187CisrICBs b25nIHN0X210aW1lXzsKKysgIHVuc2lnbmVkIGxvbmcgc3RfbXRpbWVfbnNlY187CisrICBsb25n IHN0X2N0aW1lXzsKKysgIHVuc2lnbmVkIGxvbmcgc3RfY3RpbWVfbnNlY187CisrICB1bnNpZ25l ZCBpbnQgX191bnVzZWQ0OworKyAgdW5zaWduZWQgaW50IF9fdW51c2VkNTsKKyt9OworKyNlbmRp ZgorKworKy8vIE9uIDMyLWJpdCBzeXN0ZW1zLCB3ZSBkZWZhdWx0IHRvIHRoZSA2NC1iaXQgc3Rh dCBzdHJ1Y3QgbGlrZSBsaWJjCisrLy8gaW1wbGVtZW50YXRpb25zIGRvLiBPdGhlcndpc2Ugd2Ug ZGVmYXVsdCB0byB0aGUgbm9ybWFsIHN0YXQgc3RydWN0IHdoaWNoIGlzCisrLy8gYWxyZWFkeSA2 NC1iaXQuCisrLy8gVGhlc2UgZGVmaW5lcyBtYWtlIGl0IGVhc3kgdG8gY2FsbCB0aGUgcmlnaHQg c3lzY2FsbCB0byBmaWxsIG91dCBhIDY0LWJpdAorKy8vIHN0YXQgc3RydWN0LCB3aGljaCBpcyB0 aGUgZGVmYXVsdCBpbiBsaWJjIGltcGxlbWVudGF0aW9ucyBidXQgcmVxdWlyZXMKKysvLyBkaWZm ZXJlbnQgc3lzY2FsbCBuYW1lcyBvbiAzMiBhbmQgNjQtYml0IHBsYXRmb3Jtcy4KKysjaWYgZGVm aW5lZChfX05SX2ZzdGF0YXQ2NCkKKysKKytuYW1lc3BhY2Ugc2FuZGJveCB7CisrdXNpbmcgZGVm YXVsdF9zdGF0X3N0cnVjdCA9IHN0cnVjdCBrZXJuZWxfc3RhdDY0OworK30gIC8vIG5hbWVzcGFj ZSBzYW5kYm94CisrCisrI2RlZmluZSBfX05SX2ZzdGF0YXRfZGVmYXVsdCBfX05SX2ZzdGF0YXQ2 NAorKyNkZWZpbmUgX19OUl9mc3RhdF9kZWZhdWx0IF9fTlJfZnN0YXQ2NAorKworKyNlbGlmIGRl ZmluZWQoX19OUl9uZXdmc3RhdGF0KQorKworK25hbWVzcGFjZSBzYW5kYm94IHsKKyt1c2luZyBk ZWZhdWx0X3N0YXRfc3RydWN0ID0gc3RydWN0IGtlcm5lbF9zdGF0OworK30gIC8vIG5hbWVzcGFj ZSBzYW5kYm94CisrCisrI2RlZmluZSBfX05SX2ZzdGF0YXRfZGVmYXVsdCBfX05SX25ld2ZzdGF0 YXQKKysjZGVmaW5lIF9fTlJfZnN0YXRfZGVmYXVsdCBfX05SX2ZzdGF0CisrCisrI2Vsc2UKKysj ZXJyb3IgIm9uZSBvZiBmc3RhdGF0NjQgYW5kIG5ld2ZzdGF0YXQgbXVzdCBiZSBkZWZpbmVkIgor KyNlbmRpZgorKworKyNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19MSU5V WF9TVEFUX0hfCitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51 eF90aW1lLmggYi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3RpbWUuaAoraW5k ZXggNzgwZjI0ZGRkZDlmYS4uZjE4YzgwNjYxMWY4MyAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGlu dXgvc3lzdGVtX2hlYWRlcnMvbGludXhfdGltZS5oCisrKysgYi9zYW5kYm94L2xpbnV4L3N5c3Rl bV9oZWFkZXJzL2xpbnV4X3RpbWUuaAorQEAgLTExLDYgKzExLDMyIEBACisgI2RlZmluZSBDUFVD TE9DS19DTE9DS19NQVNLIDMKKyAjZW5kaWYKKyAKKysjaWYgIWRlZmluZWQoQ1BVQ0xPQ0tfUFJP RikKKysjZGVmaW5lIENQVUNMT0NLX1BST0YgMAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChD UFVDTE9DS19WSVJUKQorKyNkZWZpbmUgQ1BVQ0xPQ0tfVklSVCAxCisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKENQVUNMT0NLX1NDSEVEKQorKyNkZWZpbmUgQ1BVQ0xPQ0tfU0NIRUQgMgorKyNl bmRpZgorKworKyNpZiAhZGVmaW5lZChDUFVDTE9DS19QRVJUSFJFQURfTUFTSykKKysjZGVmaW5l IENQVUNMT0NLX1BFUlRIUkVBRF9NQVNLIDQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoTUFL RV9QUk9DRVNTX0NQVUNMT0NLKQorKyNkZWZpbmUgTUFLRV9QUk9DRVNTX0NQVUNMT0NLKHBpZCwg Y2xvY2spIFwKKysgICgoaW50KSh+KHVuc2lnbmVkKShwaWQpIDw8IDMpIHwgKGludCkoY2xvY2sp KQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChNQUtFX1RIUkVBRF9DUFVDTE9DSykKKysjZGVm aW5lIE1BS0VfVEhSRUFEX0NQVUNMT0NLKHRpZCwgY2xvY2spIFwKKysgICgoaW50KSh+KHVuc2ln bmVkKSh0aWQpIDw8IDMpIHwgKGludCkoKGNsb2NrKSB8IENQVUNMT0NLX1BFUlRIUkVBRF9NQVNL KSkKKysjZW5kaWYKKysKKyAjaWYgIWRlZmluZWQoQ0xPQ0tGRCkKKyAjZGVmaW5lIENMT0NLRkQg MworICNlbmRpZgorZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5j YyBiL3NhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5jYworaW5kZXggODQ3YzIwYjIwYzVk Mi4uY2Y2MDQxYTRiNDc2YSAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvdGVzdHMvdGVzdF91 dGlscy5jYworKysrIGIvc2FuZGJveC9saW51eC90ZXN0cy90ZXN0X3V0aWxzLmNjCitAQCAtNSwx MiArNSwxNCBAQAorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaCIK KyAKKyAjaW5jbHVkZSA8ZXJybm8uaD4KKysjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyAjaW5jbHVk ZSA8c3lzL3N0YXQuaD4KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy93 YWl0Lmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorIAorICNpbmNsdWRlICJiYXNlL2NoZWNrX29w LmgiCisrI2luY2x1ZGUgImJhc2UvbWVtb3J5L3BhZ2Vfc2l6ZS5oIgorICNpbmNsdWRlICJiYXNl L3Bvc2l4L2VpbnRyX3dyYXBwZXIuaCIKKyAKKyBuYW1lc3BhY2Ugc2FuZGJveCB7CitAQCAtMzks NCArNDEsMTcgQEAgdm9pZCBUZXN0VXRpbHM6OkhhbmRsZVBvc3RGb3JrUmV0dXJuKHBpZF90IHBp ZCkgeworICAgfQorIH0KKyAKKyt2b2lkKiBUZXN0VXRpbHM6Ok1hcFBhZ2VzT3JEaWUoc2l6ZV90 IG51bV9wYWdlcykgeworKyAgdm9pZCogYWRkciA9IG1tYXAobnVsbHB0ciwgbnVtX3BhZ2VzICog YmFzZTo6R2V0UGFnZVNpemUoKSwKKysgICAgICAgICAgICAgICAgICAgIFBST1RfUkVBRCB8IFBS T1RfV1JJVEUsIE1BUF9QUklWQVRFIHwgTUFQX0FOT05ZTU9VUywgLTEsIDApOworKyAgUENIRUNL KGFkZHIpOworKyAgcmV0dXJuIGFkZHI7CisrfQorKworK3ZvaWQgVGVzdFV0aWxzOjpNcHJvdGVj dExhc3RQYWdlT3JEaWUoY2hhciogYWRkciwgc2l6ZV90IG51bV9wYWdlcykgeworKyAgc2l6ZV90 IGxhc3RfcGFnZV9vZmZzZXQgPSAobnVtX3BhZ2VzIC0gMSkgKiBiYXNlOjpHZXRQYWdlU2l6ZSgp OworKyAgUENIRUNLKG1wcm90ZWN0KGFkZHIgKyBsYXN0X3BhZ2Vfb2Zmc2V0LCBiYXNlOjpHZXRQ YWdlU2l6ZSgpLCBQUk9UX05PTkUpID49CisrICAgICAgICAgMCk7CisrfQorKworIH0gIC8vIG5h bWVzcGFjZSBzYW5kYm94CitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC90ZXN0cy90ZXN0X3V0 aWxzLmggYi9zYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaAoraW5kZXggN2NmOTc0OWZl NGYxZi4uNDNiMDI4YjFlMzRlZiAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvdGVzdHMvdGVz dF91dGlscy5oCisrKysgYi9zYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaAorQEAgLTE5 LDYgKzE5LDggQEAgY2xhc3MgVGVzdFV0aWxzIHsKKyAgIC8vIG1ha2VzIHN1cmUgdGhhdCBpZiBm b3JrKCkgc3VjY2VlZGVkIHRoZSBjaGlsZCBleGl0cworICAgLy8gYW5kIHRoZSBwYXJlbnQgd2Fp dHMgZm9yIGl0LgorICAgc3RhdGljIHZvaWQgSGFuZGxlUG9zdEZvcmtSZXR1cm4ocGlkX3QgcGlk KTsKKysgIHN0YXRpYyB2b2lkKiBNYXBQYWdlc09yRGllKHNpemVfdCBudW1fcGFnZXMpOworKyAg c3RhdGljIHZvaWQgTXByb3RlY3RMYXN0UGFnZU9yRGllKGNoYXIqIGFkZHIsIHNpemVfdCBudW1f cGFnZXMpOworIAorICBwcml2YXRlOgorICAgRElTQUxMT1dfSU1QTElDSVRfQ09OU1RSVUNUT1JT KFRlc3RVdGlscyk7CitkaWZmIC0tZ2l0IGEvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX2Jyb2tl cl9wb2xpY3lfbGludXguY2MgYi9zYW5kYm94L3BvbGljeS9saW51eC9icGZfYnJva2VyX3BvbGlj eV9saW51eC5jYworaW5kZXggMjk2M2JiOWNhODYxMi4uNmRjOGMwNTgxYjQzYyAxMDA2NDQKKy0t LSBhL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9icm9rZXJfcG9saWN5X2xpbnV4LmNjCisrKysg Yi9zYW5kYm94L3BvbGljeS9saW51eC9icGZfYnJva2VyX3BvbGljeV9saW51eC5jYworQEAgLTkz LDggKzkzLDggQEAgUmVzdWx0RXhwciBCcm9rZXJQcm9jZXNzUG9saWN5OjpFdmFsdWF0ZVN5c2Nh bGwoaW50IHN5c25vKSBjb25zdCB7CisgICAgICAgICByZXR1cm4gQWxsb3coKTsKKyAgICAgICBi cmVhazsKKyAjZW5kaWYKKy0jaWYgZGVmaW5lZChfX05SX2ZzdGF0YXQpCistICAgIGNhc2UgX19O Ul9mc3RhdGF0OgorKyNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQorKyAgICBjYXNlIF9fTlJf ZnN0YXRhdDY0OgorICAgICAgIGlmIChhbGxvd2VkX2NvbW1hbmRfc2V0Xy50ZXN0KHN5c2NhbGxf YnJva2VyOjpDT01NQU5EX1NUQVQpKQorICAgICAgICAgcmV0dXJuIEFsbG93KCk7CisgICAgICAg YnJlYWs7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbWFrZS1kb20tZGlz dGlsbGVyLXByb3RvYy1wbHVnaW4tY2FsbC1weTIuNy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9tYWtlLWRvbS1kaXN0aWxsZXItcHJvdG9jLXBsdWdpbi1jYWxsLXB5Mi43LnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTYxMDBmOTIwODcuLjAwMDAwMDAwMDAw MAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbWFrZS1kb20tZGlzdGlsbGVyLXByb3Rv Yy1wbHVnaW4tY2FsbC1weTIuNy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAK LUZyb20gMzU5YjIyZDNmNzc1YWZhMzNjY2E5ZTRmOGZiNTdlYWRkMGVjNDExOCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IE5pY28gV2ViZXIgPHRoYWtpc0BjaHJvbWl1bS5vcmc+Ci1E YXRlOiBGcmksIDIzIEFwciAyMDIxIDE2OjIyOjE5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIE1h a2UgZG9tIGRpc3RpbGxlciBwcm90b2MgcGx1Z2luIGV4cGxpY2l0bHkgY2FsbCBweTIuNwotCi1X aXRoIHRoaXMsIGNocm9tZSBidWlsZHMgd2l0aCB3aGVuIGAvdXNyL2Jpbi9lbnYgcHl0aG9uYCBp cyBweTMuCi0KLUJ1ZzogMTIwMjEzNAotQ2hhbmdlLUlkOiBJYmJkOTdhMTMxMWNjYjM0ZDQ2ZjI2 NjkxMmM4NzFmZDA1MjJmOTUzNQotUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3 Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8yODQ4NDQ1Ci1Db21taXQtUXVldWU6 IE5pY28gV2ViZXIgPHRoYWtpc0BjaHJvbWl1bS5vcmc+Ci1Db21taXQtUXVldWU6IFlhcm9uIEZy aWVkbWFuIDx5ZnJpZWRtYW5AY2hyb21pdW0ub3JnPgotQ29tbWl0LVF1ZXVlOiBEaXJrIFByYW5r ZSA8ZHByYW5rZUBnb29nbGUuY29tPgotQXV0by1TdWJtaXQ6IE5pY28gV2ViZXIgPHRoYWtpc0Bj aHJvbWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTogWWFyb24gRnJpZWRtYW4gPHlmcmllZG1hbkBjaHJv bWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTogRGlyayBQcmFua2UgPGRwcmFua2VAZ29vZ2xlLmNvbT4K LUNyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM4NzU3MDJ9Ci0tLS0KLSAu Li4vZG9tX2Rpc3RpbGxlcl9qcy9wcm90b2NfcGx1Z2lucy9qc29uX3ZhbHVlc19jb252ZXJ0ZXIu cHkgfCA1ICsrKystCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQotCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvZG9tX2Rpc3RpbGxlcl9qcy9wcm90b2Nf cGx1Z2lucy9qc29uX3ZhbHVlc19jb252ZXJ0ZXIucHkgYi90aGlyZF9wYXJ0eS9kb21fZGlzdGls bGVyX2pzL3Byb3RvY19wbHVnaW5zL2pzb25fdmFsdWVzX2NvbnZlcnRlci5weQotaW5kZXggZTg2 YTg4Yzc1OWZjYi4uY2FlMWE5OThjNDY1MCAxMDA3NTUKLS0tLSBhL3RoaXJkX3BhcnR5L2RvbV9k aXN0aWxsZXJfanMvcHJvdG9jX3BsdWdpbnMvanNvbl92YWx1ZXNfY29udmVydGVyLnB5Ci0rKysg Yi90aGlyZF9wYXJ0eS9kb21fZGlzdGlsbGVyX2pzL3Byb3RvY19wbHVnaW5zL2pzb25fdmFsdWVz X2NvbnZlcnRlci5weQotQEAgLTEsNyArMSwxMCBAQAotLSMhL3Vzci9iaW4vZW52IHB5dGhvbgot KyMhL3Vzci9iaW4vZW52IHB5dGhvbjIuNwotICMgQ29weXJpZ2h0IDIwMTYgVGhlIENocm9taXVt IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gIyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29k ZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0gIyBmb3Vu ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotKyMKLSsjIFRPRE8oY3JidWcuY29tLzEyMDIxMzQpOiBT d2l0Y2ggcnVuIGxpbmUgYmFjayB0byBqdXN0ICJweXRob24iCi0rIyBvbmNlIHRoaW5ncyBhcmUg cHkzLWNvbXBhdGlibGUuCi0gCi0gIiIicHJvdG9jIHBsdWdpbiB0byBjcmVhdGUgQysrIHJlYWRl ci93cml0ZXIgZm9yIEpTT04tZW5jb2RlZCBwcm90b2J1ZnMKLSAKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaAppbmRleCBiNDI0MWQwMDU1NjIuLjZlNjcxODJiMjFi NiAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLWV4ZWNpbmZvLnBhdGNo CisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaApAQCAtMSw1 ICsxLDUgQEAKLS0tLSBhL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MJMjAxOS0wNS0x NCAxNDo0OTo0NC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2Vf cG9zaXguY2MJMjAxOS0wNy0wMiAxMDo0Mzo0My40OTAwNDUwMTMgLTA0MDAKKy0tLSBhL2Jhc2Uv ZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MKKysrKyBiL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2Vf cG9zaXguY2MKIEBAIC0yNyw3ICsyNyw3IEBACiAgI2lmICFkZWZpbmVkKFVTRV9TWU1CT0xJWkUp CiAgI2luY2x1ZGUgPGN4eGFiaS5oPgpAQCAtOSw3ICs5LDcgQEAKICAjaW5jbHVkZSA8ZXhlY2lu Zm8uaD4KICAjZW5kaWYKICAKLUBAIC04Niw3ICs4Niw3IEBACitAQCAtODksNyArODksNyBAQAog ICAgLy8gTm90ZTogY29kZSBpbiB0aGlzIGZ1bmN0aW9uIGlzIE5PVCBhc3luYy1zaWduYWwgc2Fm ZSAoc3RkOjpzdHJpbmcgdXNlcwogICAgLy8gbWFsbG9jIGludGVybmFsbHkpLgogIApAQCAtMTgs MTYgKzE4LDcgQEAKICAgIHN0ZDo6c3RyaW5nOjpzaXplX3R5cGUgc2VhcmNoX2Zyb20gPSAwOwog ICAgd2hpbGUgKHNlYXJjaF9mcm9tIDwgdGV4dC0+c2l6ZSgpKSB7CiAgICAgIC8vIExvb2sgZm9y IHRoZSBzdGFydCBvZiBhIG1hbmdsZWQgc3ltYm9sLCBmcm9tIHNlYXJjaF9mcm9tLgotQEAgLTEy MSw3ICsxMjEsNyBAQAotICAgICAgIHNlYXJjaF9mcm9tID0gbWFuZ2xlZF9zdGFydCArIDI7Ci0g ICAgIH0KLSAgIH0KLS0jZW5kaWYgIC8vICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVk KF9BSVgpCi0rI2VuZGlmICAvLyBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkK LSB9Ci0gI2VuZGlmICAvLyAhZGVmaW5lZChVU0VfU1lNQk9MSVpFKQotIAotQEAgLTEzMyw3ICsx MzMsNyBAQAorQEAgLTEzNiw3ICsxMzYsNyBAQAogICAgdmlydHVhbCB+QmFja3RyYWNlT3V0cHV0 SGFuZGxlcigpID0gZGVmYXVsdDsKICB9OwogIApAQCAtMzYsMjUgKzI3LDE2IEBACiAgdm9pZCBP dXRwdXRQb2ludGVyKHZvaWQqIHBvaW50ZXIsIEJhY2t0cmFjZU91dHB1dEhhbmRsZXIqIGhhbmRs ZXIpIHsKICAgIC8vIFRoaXMgc2hvdWxkIGJlIG1vcmUgdGhhbiBlbm91Z2ggdG8gc3RvcmUgYSA2 NC1iaXQgbnVtYmVyIGluIGhleDoKICAgIC8vIDE2IGhleCBkaWdpdHMgKyAxIGZvciBudWxsLXRl cm1pbmF0b3IuCi1AQCAtMjE2LDcgKzIxNiw3IEBACi0gICB9Ci0gI2VuZGlmICAvLyBkZWZpbmVk KFVTRV9TWU1CT0xJWkUpCi0gfQotLSNlbmRpZiAgLy8gIWRlZmluZWQoX19VQ0xJQkNfXykgJiYg IWRlZmluZWQoX0FJWCkKLSsjZW5kaWYgIC8vIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5l ZChfQUlYKQotIAotIHZvaWQgUHJpbnRUb1N0ZGVycihjb25zdCBjaGFyKiBvdXRwdXQpIHsKLSAg IC8vIE5PVEU6IFRoaXMgY29kZSBNVVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZlIChpdCdzIHVzZWQg YnkgaW4tcHJvY2VzcwotQEAgLTgxMiw3ICs4MTIsNyBAQAotICAgLy8gTk9URTogVGhpcyBjb2Rl IE1VU1QgYmUgYXN5bmMtc2lnbmFsIHNhZmUgKGl0J3MgdXNlZCBieSBpbi1wcm9jZXNzCi0gICAv LyBzdGFjayBkdW1waW5nIHNpZ25hbCBoYW5kbGVyKS4gTk8gbWFsbG9jIG9yIHN0ZGlvIGlzIGFs bG93ZWQgaGVyZS4KLSAKLS0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJ WCkKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCitAQCAtODM5LDcg KzgzOSw3IEBACisgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSB1bndpbmQgdGFibGVzLCB0aGVuIHRy eSB0cmFjaW5nIHVzaW5nIGZyYW1lIHBvaW50ZXJzLgorICAgcmV0dXJuIGJhc2U6OmRlYnVnOjpU cmFjZVN0YWNrRnJhbWVQb2ludGVycyhjb25zdF9jYXN0PGNvbnN0IHZvaWQqKj4odHJhY2UpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCwgMCk7 CistI2VsaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjZWxpZiBk ZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKICAgIC8vIFRob3VnaCB0aGUgYmFj a3RyYWNlIEFQSSBtYW4gcGFnZSBkb2VzIG5vdCBsaXN0IGFueSBwb3NzaWJsZSBuZWdhdGl2ZQog ICAgLy8gcmV0dXJuIHZhbHVlcywgd2UgdGFrZSBubyBjaGFuY2UuCiAgICByZXR1cm4gYmFzZTo6 c2F0dXJhdGVkX2Nhc3Q8c2l6ZV90PihiYWNrdHJhY2UodHJhY2UsIGNvdW50KSk7Ci1AQCAtODI1 LDEzICs4MjUsMTMgQEAKK0BAIC04NTIsMTMgKzg1MiwxMyBAQAogIC8vIE5PVEU6IFRoaXMgY29k ZSBNVVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2VzcwogIC8v IHN0YWNrIGR1bXBpbmcgc2lnbmFsIGhhbmRsZXIpLiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMgYWxs b3dlZCBoZXJlLgogIApAQCAtNzAsMyArNTIsMjQgQEAKICB2b2lkIFN0YWNrVHJhY2U6Ok91dHB1 dFRvU3RyZWFtV2l0aFByZWZpeChzdGQ6Om9zdHJlYW0qIG9zLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHByZWZpeF9zdHJpbmcpIGNvbnN0 IHsKICAgIFN0cmVhbUJhY2t0cmFjZU91dHB1dEhhbmRsZXIgaGFuZGxlcihvcyk7CistLS0gYS92 OC9zcmMvY29kZWdlbi9leHRlcm5hbC1yZWZlcmVuY2UtdGFibGUuY2Mub3JpZworKysrIGIvdjgv c3JjL2NvZGVnZW4vZXh0ZXJuYWwtcmVmZXJlbmNlLXRhYmxlLmNjCitAQCAtMTEsNyArMTEsOSBA QAorCisgI2lmIGRlZmluZWQoREVCVUcpICYmIGRlZmluZWQoVjhfT1NfTElOVVgpICYmICFkZWZp bmVkKFY4X09TX0FORFJPSUQpCisgI2RlZmluZSBTWU1CT0xJWkVfRlVOQ1RJT04KKysjaWYgZGVm aW5lZChfX0dMSUJDX18pCisgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CisrI2VuZGlmCisKKyAjaW5j bHVkZSA8dmVjdG9yPgorCitAQCAtOTYsNyArOTgsNyBAQAorIH0KKworIGNvbnN0IGNoYXIqIEV4 dGVybmFsUmVmZXJlbmNlVGFibGU6OlJlc29sdmVTeW1ib2wodm9pZCogYWRkcmVzcykgeworLSNp ZmRlZiBTWU1CT0xJWkVfRlVOQ1RJT04KKysjaWYgZGVmaW5lZChTWU1CT0xJWkVfRlVOQ1RJT04p ICYmIGRlZmluZWQoX19HTElCQ19fKQorICAgY2hhcioqIG5hbWVzID0gYmFja3RyYWNlX3N5bWJv bHMoJmFkZHJlc3MsIDEpOworICAgY29uc3QgY2hhciogbmFtZSA9IG5hbWVzWzBdOworICAgLy8g VGhlIGFycmF5IG9mIG5hbWVzIGlzIG1hbGxvYydlZC4gSG93ZXZlciwgZWFjaCBuYW1lIHN0cmlu ZyBpcyBzdGF0aWMKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9yZW1vdmUt bGx2bTEzLXdhcm5pbmctZmxhZ3MucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmVt b3ZlLWxsdm0xMy13YXJuaW5nLWZsYWdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uZDFkYjdlNDIwMTU0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL3JlbW92ZS1sbHZtMTMtd2FybmluZy1mbGFncy5wYXRjaApAQCAtMCww ICsxLDEzIEBACistLS0gYS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24ub3JpZworKysr IGIvYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduCitAQCAtMTYyMCwxMCArMTYyMCw2IEBA CisgCisgICAgICAgICAgICMgVE9ETyhodHRwczovL2NyYnVnLmNvbS8xMDUwMjgxKTogQ2xlYW4g dXAsIGVuYWJsZS4KKyAgICAgICAgICAgIi1Xbm8tbm9uLWMtdHlwZWRlZi1mb3ItbGlua2FnZSIs CistCistICAgICAgICAgICMgVE9ETyhodHRwczovL2NyYnVnLmNvbS8xMjAzMDcxKTogQ2xlYW4g dXAgYW5kIGVuYWJsZS4KKy0gICAgICAgICAgIi1Xbm8tdW51c2VkLWJ1dC1zZXQtcGFyYW1ldGVy IiwKKy0gICAgICAgICAgIi1Xbm8tdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUiLAorICAgICAgICAg XQorIAorICAgICAgICAgY2ZsYWdzX2MgKz0gWwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL3JlbW92ZS1zdHJpcF9iaW5hcnkucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvcmVtb3ZlLXN0cmlwX2JpbmFyeS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAuLjhiMTNjNmEwNTZhOAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoCkBAIC0wLDAgKzEsMzIg QEAKKy0tLSBhL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9CVUlMRC5nbi5vcmlnCisrKysgYi9j aHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvQlVJTEQuZ24KK0BAIC0zMDgsMTEgKzMwOCw3IEBACisg ICB9CisgfQorIAorLWlmIChpc19saW51eCkgeworLSAgY2hyb21lZHJpdmVyX291dHB1dCA9ICJj aHJvbWVkcml2ZXIudW5zdHJpcHBlZCIKKy19IGVsc2UgeworLSAgY2hyb21lZHJpdmVyX291dHB1 dCA9ICJjaHJvbWVkcml2ZXIiCistfQorK2Nocm9tZWRyaXZlcl9vdXRwdXQgPSAiY2hyb21lZHJp dmVyIgorIAorIGV4ZWN1dGFibGUoIiRjaHJvbWVkcml2ZXJfb3V0cHV0IikgeworICAgdGVzdG9u bHkgPSB0cnVlCitAQCAtMzM2LDE2ICszMzIsNiBAQAorICAgfQorIH0KKyAKKy1pZiAoaXNfbGlu dXgpIHsKKy0gIHN0cmlwX2JpbmFyeSgiY2hyb21lZHJpdmVyIikgeworLSAgICB0ZXN0b25seSA9 IHRydWUKKy0gICAgYmluYXJ5X2lucHV0ID0gIiRyb290X291dF9kaXIvJGNocm9tZWRyaXZlcl9v dXRwdXQiCistICAgIHN5bWJvbF9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rpci9jaHJvbWVkcml2ZXIu ZGVidWciCistICAgIHN0cmlwcGVkX2JpbmFyeV9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rpci9jaHJv bWVkcml2ZXIiCistICAgIGRlcHMgPSBbICI6JGNocm9tZWRyaXZlcl9vdXRwdXQiIF0KKy0gIH0K Ky19CistCisgcHl0aG9uX2xpYnJhcnkoImNocm9tZWRyaXZlcl9weV90ZXN0cyIpIHsKKyAgIHRl c3Rvbmx5ID0gdHJ1ZQorICAgZGVwcyA9IFsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0v dGVtcGxhdGUgYi9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlCmluZGV4IDExNzhiMmE5ZmIyZC4u M2E1ODU5NDNjYzBhIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdjaHJvbWl1bScKIHBrZ25hbWU9Y2hyb21pdW0KLSMgU2VlIGh0dHA6Ly93d3cuY2hy b21pdW0ub3JnL2RldmVsb3BlcnMvY2FsZW5kYXIgZm9yIHRoZSBsYXRlc3QgdmVyc2lvbgotdmVy c2lvbj05MS4wLjQ0NzIuMTE0CisjIFNlZSBodHRwczovL2Nocm9taXVtZGFzaC5hcHBzcG90LmNv bS9yZWxlYXNlcz9wbGF0Zm9ybT1MaW51eCBmb3IgdGhlIGxhdGVzdCB2ZXJzaW9uCit2ZXJzaW9u PTkzLjAuNDU3Ny42MwogcmV2aXNpb249MQogYXJjaHM9Imk2ODYqIHg4Nl82NCogYWFyY2g2NCog YXJtdjdsKiBwcGM2NGxlKiIKIHNob3J0X2Rlc2M9Ikdvb2dsZSdzIGF0dGVtcHQgYXQgY3JlYXRp bmcgYSBzYWZlciwgZmFzdGVyLCBhbmQgbW9yZSBzdGFibGUgYnJvd3NlciIKQEAgLTksMjIgKzks MjIgQEAgbWFpbnRhaW5lcj0iRW5ubyBCb2xhbmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIKIGxp Y2Vuc2U9IkJTRC0zLUNsYXVzZSIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5jaHJvbWl1bS5vcmcv IgogZGlzdGZpbGVzPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL2No cm9taXVtLWJyb3dzZXItb2ZmaWNpYWwvJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54eiIKLWNo ZWNrc3VtPWMxYzdmZTc4M2YzMjUwOTc4NTAzZDRiZDUzMTQ0MDM5YmQ4MThkZThhNmU4OWRlNDkz ZjI3ZGQ1MTY4ZjdlNzEKK2NoZWNrc3VtPWVhZjM0ZmE2YzJmMjQwNTQ2NTVmYmIyMzc2YjZlM2Rk ZWU0Y2Y0ODY4YzEzMjRjOTIxZTcxYTQ1Y2ZjOTQ4NTMKIG5vY3Jvc3M9eWVzCiAKIGxpYjMyZGlz YWJsZWQ9eWVzCi1ub2RlYnVnPXllcwotbm9waWU9eWVzICAjIGNvbnRhaW5zIHRvb2xzIHRoYXQg YXJlIG5vdCBQSUUsIGVuYWJsZXMgUElFIGl0c2VsZgogCi1idWlsZF9vcHRpb25zPSJjbGFuZyBq c19vcHRpbWl6ZSB2YWFwaSBwdWxzZWF1ZGlvIHNuZGlvIHBpcGV3aXJlIgorYnVpbGRfb3B0aW9u cz0iY2xhbmcgZGVidWcganNfb3B0aW1pemUgdmFhcGkgcHVsc2VhdWRpbyBzbmRpbyBwaXBld2ly ZSIKK2J1aWxkX29wdGlvbnNfZGVmYXVsdD0iY2xhbmcganNfb3B0aW1pemUgdmFhcGkgcHVsc2Vh dWRpbyBzbmRpbyBwaXBld2lyZSIKIGRlc2Nfb3B0aW9uX2NsYW5nPSJVc2UgY2xhbmcgdG8gYnVp bGQiCitkZXNjX29wdGlvbl9kZWJ1Zz0iQnVpbGQgd2l0aCBkZWJ1ZyBzeW1ib2xzIgogZGVzY19v cHRpb25fanNfb3B0aW1pemU9Ik9wdGltaXplIHRoZSBKUyB1c2VkIGZvciBDaHJvbWl1bSdzIFVJ IgogZGVzY19vcHRpb25fdmFhcGk9IkVuYWJsZSBzdXBwb3J0IGZvciBWQS1BUEkiCiBkZXNjX29w dGlvbl9wdWxzZWF1ZGlvPSJFbmFibGUgc3VwcG9ydCBmb3IgUHVsc2VBdWRpbyIKIGRlc2Nfb3B0 aW9uX3NuZGlvPSJFbmFibGUgc3VwcG9ydCBmb3Igc25kaW8iCiBkZXNjX29wdGlvbl9waXBld2ly ZT0iRW5hYmxlIHN1cHBvcnQgZm9yIHNjcmVlbiBzaGFyaW5nIGZvciBXZWJSVEMgdmlhIFBpcGVX aXJlIgogCi1ob3N0bWFrZWRlcGVuZHM9IiQodm9wdF9pZiBjbGFuZyBjbGFuZykgcHl0aG9uIHBr Z2NvbmYgcGVybCBncGVyZiBiaXNvbiBuaW5qYSBub2RlanMgaHdpZHMKK2hvc3RtYWtlZGVwZW5k cz0iJCh2b3B0X2lmIGNsYW5nICJjbGFuZyBsbGQiKSBweXRob24gcGtnY29uZiBwZXJsIGdwZXJm IGJpc29uIG5pbmphIG5vZGVqcyBod2lkcwogIGxpYmF0b21pYy1kZXZlbCBsaWJldmVudC1kZXZl bCBsaWJnbGliLWRldmVsICQodm9wdF9pZiBqc19vcHRpbWl6ZSBvcGVuamRrKSIKIG1ha2VkZXBl bmRzPSJsaWJwbmctZGV2ZWwgZ3RrKy1kZXZlbCBndGsrMy1kZXZlbCBuc3MtZGV2ZWwgcGNpdXRp bHMtZGV2ZWwKICBsaWJYaS1kZXZlbCBsaWJnY3J5cHQtZGV2ZWwgbGliZ25vbWUta2V5cmluZy1k ZXZlbCBjdXBzLWRldmVsIGVsZnV0aWxzLWRldmVsCkBAIC0xNTYsNzEgKzE1Niw2NiBAQCBkb19j b25maWd1cmUoKSB7CiAKIAl0aGlyZF9wYXJ0eS9saWJhZGRyZXNzaW5wdXQvY2hyb21pdW0vdG9v bHMvdXBkYXRlLXN0cmluZ3MucHkKIAotCWNvbmYrPSgKKwljb25mPSgKIAkJJ2VuYWJsZV9uYWNs PWZhbHNlJwogCQknZW5hYmxlX25hY2xfbm9uc2ZpPWZhbHNlJwotCQkiaXNfY2xhbmc9JCh2b3B0 X2lmIGNsYW5nIHRydWUgZmFsc2UpIgotCQknaXNfZGVidWc9ZmFsc2UnCi0JCSdjbGFuZ191c2Vf Y2hyb21lX3BsdWdpbnM9ZmFsc2UnCisKKwkJJ3VzZV9zeXNyb290PWZhbHNlJwogCQknY3VzdG9t X3Rvb2xjaGFpbj0iLy9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6ZGVmYXVsdCInCiAJ CSdob3N0X3Rvb2xjaGFpbj0iLy9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6ZGVmYXVs dCInCi0JCSdibGlua19zeW1ib2xfbGV2ZWw9MCcKLQkJJ3N5bWJvbF9sZXZlbD0wJworCisJCSJp c19jbGFuZz0kKHZvcHRfaWYgY2xhbmcgdHJ1ZSBmYWxzZSkiCisJCSJ1c2VfbGxkPSQodm9wdF9p ZiBjbGFuZyB0cnVlIGZhbHNlKSIKKwkJJ2NsYW5nX3VzZV9jaHJvbWVfcGx1Z2lucz1mYWxzZScK KworCQkiZ29sZF9wYXRoPVwiJHtYQlBTX0NST1NTX0JBU0V9L3Vzci9iaW4vbGQuZ29sZFwiIgor CQkndXNlX2N1c3RvbV9saWJjeHg9ZmFsc2UnCisJCSd1c2VfZ29sZD1mYWxzZScKKworCQkjIGlz X2RlYnVnIG1ha2VzIHRoZSBidWlsZCBhIGRlYnVnIGJ1aWxkLCBjaGFuZ2VzIHNvbWUgdGhpbmdz LgorCQkjIG1pZ2h0IGJlIHVzZWZ1bCBmb3IgcmVhbCBkZWJ1Z2dpbmcgdnMganVzdCBkZWJ1ZyBz eW1ib2xzLgorCQkiaXNfZGVidWc9ZmFsc2UiCisJCSJibGlua19zeW1ib2xfbGV2ZWw9JCh2b3B0 X2lmIGRlYnVnIDEgMCkiCisJCSJzeW1ib2xfbGV2ZWw9JCh2b3B0X2lmIGRlYnVnIDEgMCkiCisK IAkJJ2ljdV91c2VfZGF0YV9maWxlPXRydWUnCisKIAkJJ3VzZV9hbGxvY2F0b3I9Im5vbmUiJwog CQkndXNlX2FsbG9jYXRvcl9zaGltPWZhbHNlJwotCQkndXNlX2N1cHM9dHJ1ZScKLQkJJ3VzZV9z eXNyb290PWZhbHNlJwotCQkndXNlX3N5c3RlbV9oYXJmYnV6ej10cnVlJworCiAJCSdlbmFibGVf d2lkZXZpbmU9dHJ1ZScKIAkJJ2VuYWJsZV9oYW5nb3V0X3NlcnZpY2VzX2V4dGVuc2lvbj10cnVl JwotCSkKIAotCWNvbmYrPSgKKwkJJ3VzZV9zeXN0ZW1faGFyZmJ1eno9dHJ1ZScKKworCQkndXNl X2N1cHM9dHJ1ZScKKwogCQkidXNlX3ZhYXBpPSQodm9wdF9pZiB2YWFwaSB0cnVlIGZhbHNlKSIK LQkpCiAKLQkjIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMv Ky9tYXN0ZXIvZG9jcy9jbG9zdXJlX2NvbXBpbGF0aW9uLm1kCi0JY29uZis9KAorCQkjIGh0dHBz Oi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMvKy9tYXN0ZXIvZG9jcy9j bG9zdXJlX2NvbXBpbGF0aW9uLm1kCiAJCSJlbmFibGVfanNfdHlwZV9jaGVjaz0kKHZvcHRfaWYg anNfb3B0aW1pemUgdHJ1ZSBmYWxzZSkiCi0JKQogCi0JY29uZis9KAogCQkidXNlX3B1bHNlYXVk aW89JCh2b3B0X2lmIHB1bHNlYXVkaW8gdHJ1ZSBmYWxzZSkiCi0JKQorCQkibGlua19wdWxzZWF1 ZGlvPSQodm9wdF9pZiBwdWxzZWF1ZGlvIHRydWUgZmFsc2UpIgogCi0JY29uZis9KAogCQkicnRj X3VzZV9waXBld2lyZT0kKHZvcHRfaWYgcGlwZXdpcmUgdHJ1ZSBmYWxzZSkiCi0JKQotCi0JIyBV c2UgZXhwbGljaXQgbGlicmFyeSBkZXBlbmRlbmNpZXMgaW5zdGVhZCBvZiBkbG9wZW4uCi0JIyBH TiBvbmx5IGhhcyAibGlua19wdWxzZWF1ZGlvIiwgdGhlIG90aGVyIG9wdGlvbnMgdXNlZCBiZWZv cmUgYXJlIG5vdCBhdmFpbGFibGUgYXRtCi0JIyBsaW51eF9saW5rX2N1cHM9dHJ1ZQotCSMgbGlu dXhfbGlua19nc2V0dGluZ3M9dHJ1ZQotCSMgbGludXhfbGlua19saWJwY2k9dHJ1ZQotCSMgbGlu dXhfbGlua19saWJzcGVlY2hkPXRydWUKLQkjIGxpYnNwZWVjaGRfaF9wcmVmaXg9XCJzcGVlY2gt ZGlzcGF0Y2hlci9cIiIKLQljb25mKz0oICJsaW5rX3B1bHNlYXVkaW89JCh2b3B0X2lmIHB1bHNl YXVkaW8gdHJ1ZSBmYWxzZSkiICkKIAotCWNvbmYrPSgKIAkJInVzZV9zbmRpbz0kKHZvcHRfaWYg c25kaW8gdHJ1ZSBmYWxzZSkiCi0JKQotCi0JIyBOZXZlciB1c2UgYnVuZGxlZCBiaW51dGlscy9n b2xkIGJpbmFyeS4KLQljb25mKz0oCi0JCSJnb2xkX3BhdGg9XCIke1hCUFNfQ1JPU1NfQkFTRX0v dXNyL2Jpbi9sZC5nb2xkXCIiCi0JCSd1c2VfY3VzdG9tX2xpYmN4eD1mYWxzZScKLQkJJ3VzZV9s bGQ9ZmFsc2UnCi0JKQogCi0JIyBYWFg6IGdvbGQgYnJva2VuIHdpdGggbXVzbCwgaTY4NiwgYW5k IHg4Nl82NCBzbyBkaXNhYmxlIGdsb2JhbGx5Ci0JY29uZis9KCAndXNlX2dvbGQ9ZmFsc2UnICkK LQotCSMgQWx3YXlzIHN1cHBvcnQgcHJvcHJpZXRhcnkgY29kZWNzLgotCSMgRW5hYmxlIEguMjY0 IHN1cHBvcnQgaW4gYnVuZGxlZCBmZm1wZWcuCi0JY29uZis9KAorCQkjIEFsd2F5cyBzdXBwb3J0 IHByb3ByaWV0YXJ5IGNvZGVjcy4KKwkJIyBFbmFibGUgSC4yNjQgc3VwcG9ydCBpbiBidW5kbGVk IGZmbXBlZy4KIAkJJ3Byb3ByaWV0YXJ5X2NvZGVjcz10cnVlJwogCQknZmZtcGVnX2JyYW5kaW5n PSJDaHJvbWUiJworCisJCSMgTWFrZSBzdXJlIHRoYXQgLVdlcnJvciBkb2Vzbid0IGdldCBhZGRl ZCB0byBDRkxBR1MgYnkgdGhlIGJ1aWxkIHN5c3RlbS4KKwkJIyBEZXBlbmRpbmcgb24gR0NDIHZl cnNpb24gdGhlIHdhcm5pbmdzIGFyZSBkaWZmZXJlbnQgYW5kIHdlIGRvbid0IHdhbnQKKwkJIyB0 aGUgYnVpbGQgdG8gZmFpbCBiZWNhdXNlIG9mIHRoYXQuCisJCSd0cmVhdF93YXJuaW5nc19hc19l cnJvcnM9ZmFsc2UnCisJCSdmYXRhbF9saW5rZXJfd2FybmluZ3M9ZmFsc2UnCisKKwkJIyBTYXZl IHNwYWNlIGJ5IHJlbW92aW5nIERMT0cgYW5kIERDSEVDSyBtZXNzYWdlcyAoYWJvdXQgNiUgcmVk dWN0aW9uKS4KKwkJIyAnbG9nZ2luZ19saWtlX29mZmljaWFsX2J1aWxkPXRydWUnCisJCSdmaWVs ZHRyaWFsX3Rlc3RpbmdfbGlrZV9vZmZpY2lhbF9idWlsZD10cnVlJwogCSkKIAogCSMgdGhpcyBk b2VzIG5vdCB3b3JrIG9uIHBwYzY0IHlldApAQCAtMjI4LDE4ICsyMjMsNiBAQCBkb19jb25maWd1 cmUoKSB7CiAJCXBwYzY0KikgY29uZis9KCAiZW5hYmxlX2p4bF9kZWNvZGVyPWZhbHNlIiApOzsK IAllc2FjCiAKLQkjIE1ha2Ugc3VyZSB0aGF0IC1XZXJyb3IgZG9lc24ndCBnZXQgYWRkZWQgdG8g Q0ZMQUdTIGJ5IHRoZSBidWlsZCBzeXN0ZW0uCi0JIyBEZXBlbmRpbmcgb24gR0NDIHZlcnNpb24g dGhlIHdhcm5pbmdzIGFyZSBkaWZmZXJlbnQgYW5kIHdlIGRvbid0IHdhbnQKLQkjIHRoZSBidWls ZCB0byBmYWlsIGJlY2F1c2Ugb2YgdGhhdC4KLQljb25mKz0oCi0JCSd0cmVhdF93YXJuaW5nc19h c19lcnJvcnM9ZmFsc2UnCi0JCSdmYXRhbF9saW5rZXJfd2FybmluZ3M9ZmFsc2UnCi0JKQotCi0J IyBTYXZlIHNwYWNlIGJ5IHJlbW92aW5nIERMT0cgYW5kIERDSEVDSyBtZXNzYWdlcyAoYWJvdXQg NiUgcmVkdWN0aW9uKS4KLQkjIGNvbmYrPSIgbG9nZ2luZ19saWtlX29mZmljaWFsX2J1aWxkPXRy dWUiCi0JY29uZis9KCBmaWVsZHRyaWFsX3Rlc3RpbmdfbGlrZV9vZmZpY2lhbF9idWlsZD10cnVl ICkKLQogCWNhc2UgIiR7WEJQU19UQVJHRVRfTUFDSElORX0iIGluCiAJCXg4Nl82NCopIGNvbmYr PSggJ3RhcmdldF9jcHU9Ing2NCInICkgOzsKIAkJaTY4NiopIGNvbmYrPSggJ3RhcmdldF9jcHU9 Ing4NiInICkgOzsKQEAgLTI1NiwxMCArMjM5LDExIEBAIGRvX2J1aWxkKCkgewogCQlleHBvcnQg Q1hYPWNsYW5nKysKIAlmaQogCi0JbmluamEgLUMgb3V0L1JlbGVhc2UgJHttYWtlam9ic30gY2hy b21lIGNocm9tZWRyaXZlciBta3NuYXBzaG90CisJbmluamEgLUMgb3V0L1JlbGVhc2UgJHttYWtl am9ic30gY2hyb21lIGNocm9tZWRyaXZlciBta3NuYXBzaG90IGNyYXNocGFkX2hhbmRsZXIKIH0K IGRvX2luc3RhbGwoKSB7CiAJdmluc3RhbGwgb3V0L1JlbGVhc2UvY2hyb21lIDc1NSB1c3IvbGli LyR7cGtnbmFtZX0gJHtwa2duYW1lfQorCXZpbnN0YWxsIG91dC9SZWxlYXNlL2NyYXNocGFkX2hh bmRsZXIgNzU1IHVzci9saWIvJHtwa2duYW1lfSBjcmFzaHBhZF9oYW5kbGVyCiAJdmluc3RhbGwg b3V0L1JlbGVhc2UvY2hyb21lZHJpdmVyIDc1NSB1c3IvbGliLyR7cGtnbmFtZX0gY2hyb21lZHJp dmVyCiAJdmluc3RhbGwgb3V0L1JlbGVhc2UvbGliRUdMLnNvIDc1NSB1c3IvbGliLyR7cGtnbmFt ZX0gbGliRUdMLnNvCiAJdmluc3RhbGwgb3V0L1JlbGVhc2UvbGliR0xFU3YyLnNvIDc1NSB1c3Iv bGliLyR7cGtnbmFtZX0gbGliR0xFU3YyLnNvCkBAIC0yOTAsNSArMjc0LDUgQEAgZG9faW5zdGFs bCgpIHsKIAogCXZiaW4gJHtGSUxFU0RJUn0vY2hyb21pdW0uc2ggY2hyb21pdW0KIAl2bGljZW5z ZSBMSUNFTlNFCi0JbG4gLXMgL3Vzci9saWIvY2hyb21pdW0vY2hyb21lZHJpdmVyICR7REVTVERJ Un0vdXNyL2Jpbi9jaHJvbWVkcml2ZXIKKwlsbiAtc2YgL3Vzci9saWIvY2hyb21pdW0vY2hyb21l ZHJpdmVyICR7REVTVERJUn0vdXNyL2Jpbi9jaHJvbWVkcml2ZXIKIH0K --===============1739496949904371203==--