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=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 26356 invoked from network); 27 May 2020 17:28:05 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 27 May 2020 17:28:05 -0000 Content-Type: multipart/mixed; boundary="===============2389982858248197390==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_mariadb=3A_update_to_10=2E1=2E45=2E?= To: ml@inbox.vuxu.org From: rmccask Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 27 May 2020 19:28:04 +0200 List-Id: Message-ID: <20200527172804.xYkDDcaBoT-nd2l947P1mdX7O5ZXlbAwkEvhQtxRz_E@z> GitHub notification mails are now in MIME to allow UTF8. --===============2389982858248197390== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgcm1jY2FzayBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vcm1j Y2Fzay92b2lkLXBhY2thZ2VzIG1hcmlhZGItMTAuMS40NQpodHRwczovL2dpdGh1Yi5jb20vdm9p ZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMjIzNDgKCm1hcmlhZGI6IHVwZGF0ZSB0byAxMC4x LjQ1LgoKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvcHVsbC8yMjM0OC5wYXRjaCBpcyBhdHRhY2hlZA== --===============2389982858248197390== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-mariadb-10.1.45-22348.patch" RnJvbSA0ZGRiYzg1M2UyNzcwMmY4ZTM2NzM0MWI4ZWQxZDVmY2VkZTAxMzc0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBNY0Nhc2tpbGwgPHJhbmR5QG1jY2Fza2lsbC51cz4K RGF0ZTogV2VkLCAyNyBNYXkgMjAyMCAwMjoyMjoyNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIG1h cmlhZGI6IHVwZGF0ZSB0byAxMC4xLjQ1LgoKLS0tCiAuLi4vcGF0Y2hlcy9hcm1oZl9tcm9vbmdh X3N0b3JhZ2VfZmFpbC5wYXRjaCAgfCAgMjIgKysKIHNyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2Mx MV9hdG9taWNzLnBhdGNoICAgICB8IDEyOCArKysrKysrKwogLi4uL21hcmlhZGIvcGF0Y2hlcy9m aXgtcHRocmVhZC1kZXRhY2gucGF0Y2ggIHwgIDM0IC0tCiAuLi4vbWFyaWFkYi9wYXRjaGVzL2Zv cmNlLWMxMS1hdG9taWNzLnBhdGNoICAgfCAyOTQgLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dz L21hcmlhZGIvcGF0Y2hlcy9saWJhdG9taWMucGF0Y2ggICAgICAgfCAxMDMgLS0tLS0tCiAuLi4v cGF0Y2hlcy9taXBzLWNvbm5lY3QtdW5hbGlnbmVkLnBhdGNoICAgICAgfCAyNTcgKysrKysrKysr KysrKysrCiAuLi4vbWFyaWFkYi9wYXRjaGVzL21pcHMtZ3Jvb25nYS1hdG9taWMucGF0Y2ggfCAg MzQgKysKIC4uLi9wYXRjaGVzL21pcHMtaW5ub2Jhc2UtYXRvbWljLnBhdGNoICAgICAgICB8ICAy MCArKwogc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbWlwcy1tYWNoaW5lLnBhdGNoICAgIHwgIDIz ICsrCiBzcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9tdXNsLXBwYy5wYXRjaCAgICAgICAgfCAgMTEg Ky0KIHNyY3BrZ3MvbWFyaWFkYi90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICB8ICAxMCAr LQogMTEgZmlsZXMgY2hhbmdlZCwgNDk2IGluc2VydGlvbnMoKyksIDQ0MCBkZWxldGlvbnMoLSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9hcm1oZl9tcm9vbmdh X3N0b3JhZ2VfZmFpbC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbWFyaWFkYi9w YXRjaGVzL2MxMV9hdG9taWNzLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tYXJp YWRiL3BhdGNoZXMvZml4LXB0aHJlYWQtZGV0YWNoLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvZm9yY2UtYzExLWF0b21pY3MucGF0Y2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9saWJhdG9taWMucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLWNvbm5lY3QtdW5hbGln bmVkLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbWlw cy1ncm9vbmdhLWF0b21pYy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbWFyaWFk Yi9wYXRjaGVzL21pcHMtaW5ub2Jhc2UtYXRvbWljLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbWlwcy1tYWNoaW5lLnBhdGNoCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvYXJtaGZfbXJvb25nYV9zdG9yYWdlX2ZhaWwucGF0Y2gg Yi9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9hcm1oZl9tcm9vbmdhX3N0b3JhZ2VfZmFpbC5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjI4ZDZiN2RmMjYKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9hcm1oZl9tcm9vbmdhX3N0 b3JhZ2VfZmFpbC5wYXRjaApAQCAtMCwwICsxLDIyIEBACitGcm9tOiBEZWJpYW4gTXlTUUwgTWFp bnRhaW5lcnMgPHBrZy1teXNxbC1tYWludEBsaXN0cy5hbGlvdGguZGViaWFuLm9yZz4KK0RhdGU6 IFRodSwgMTAgQXVnIDIwMTcgMjA6NDA6MjkgKzAyMDAKK1N1YmplY3Q6IGFybWhmX21yb29uZ2Ff c3RvcmFnZV9mYWlsCisKKy0tLQorIHN0b3JhZ2UvbXJvb25nYS9saWIvbXJuX211bHRpcGxlX2Nv bHVtbl9rZXlfY29kZWMuY3BwIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCisKKy0tLSBzdG9yYWdlL21yb29uZ2EvbGliL21ybl9tdWx0aXBs ZV9jb2x1bW5fa2V5X2NvZGVjLmNwcAorKysrIHN0b3JhZ2UvbXJvb25nYS9saWIvbXJuX211bHRp cGxlX2NvbHVtbl9rZXlfY29kZWMuY3BwCitAQCAtNjIzLDkgKzYyMywxMCBAQCBuYW1lc3BhY2Ug bXJuIHsKKyAgICAgbG9uZyBsb25nIGludCBsb25nX2xvbmdfdmFsdWU7CisgICAgIG1ybl9ieXRl X29yZGVyX25ldHdvcmtfdG9faG9zdCgmbG9uZ19sb25nX3ZhbHVlLCBncm5fa2V5LCBncm5fa2V5 X3NpemUpOworICAgICBpbnQgbWF4X2JpdCA9IChncm5fa2V5X3NpemUgKiA4IC0gMSk7CistICAg ICooKGxvbmcgbG9uZyBpbnQgKilteXNxbF9rZXkpID0KKysgICAgbG9uZ19sb25nX3ZhbHVlID0K KyAgICAgICBsb25nX2xvbmdfdmFsdWUgXiAoKChsb25nX2xvbmdfdmFsdWUgXiAoMUxMIDw8IG1h eF9iaXQpKSA+PiBtYXhfYml0KSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICgxTEwgPDwg bWF4X2JpdCkpOworKyAgICBtZW1jcHkobXlzcWxfa2V5LCAmbG9uZ19sb25nX3ZhbHVlLCBzaXpl b2YobG9uZ19sb25nX3ZhbHVlKSk7CisgICAgIERCVUdfVk9JRF9SRVRVUk47CisgICB9CisgCmRp ZmYgLS1naXQgYS9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9jMTFfYXRvbWljcy5wYXRjaCBiL3Ny Y3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2MxMV9hdG9taWNzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kYTg0YzEyYTBlMQotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2MxMV9hdG9taWNzLnBhdGNoCkBAIC0wLDAgKzEsMTI4IEBA CitGcm9tOiBEZWJpYW4gTXlTUUwgTWFpbnRhaW5lcnMgPHBrZy1teXNxbC1tYWludEBsaXN0cy5h bGlvdGguZGViaWFuLm9yZz4KK0RhdGU6IFRodSwgMTAgQXVnIDIwMTcgMjA6NDA6MjkgKzAyMDAK K1N1YmplY3Q6IGMxMV9hdG9taWNzCisKKy0tLQorIGNvbmZpZ3VyZS5jbWFrZSAgICAgICAgICAg ICAgIHwgMjMgKysrKysrKysrKysrKysrKysrKysrLS0KKyBpbmNsdWRlL2F0b21pYy9nY2NfYnVp bHRpbnMuaCB8IDE1ICsrKysrKysrKysrKysrKworIGluY2x1ZGUvYXRvbWljL25vbG9jay5oICAg ICAgIHwgIDQgKystLQorIG15c3lzL0NNYWtlTGlzdHMudHh0ICAgICAgICAgIHwgIDQgKysrKwor IHNxbC9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgIHwgIDQgKysrKworIDUgZmlsZXMgY2hhbmdl ZCwgNDYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworLS0tIGNvbmZpZ3VyZS5jbWFr ZQorKysrIGNvbmZpZ3VyZS5jbWFrZQorQEAgLTEyOCw3ICsxMjgsNyBAQCBJRihVTklYKQorICAg RU5ESUYoKQorICAgRklORF9QQUNLQUdFKFRocmVhZHMpCisgCistICBTRVQoQ01BS0VfUkVRVUlS RURfTElCUkFSSUVTIAorKyAgTElTVChBUFBFTkQgQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTCisg ICAgICR7TElCTX0gJHtMSUJOU0x9ICR7TElCQklORH0gJHtMSUJDUllQVH0gJHtMSUJTT0NLRVR9 ICR7TElCREx9ICR7Q01BS0VfVEhSRUFEX0xJQlNfSU5JVH0gJHtMSUJSVH0gJHtMSUJFWEVDSU5G T30pCisgICAjIE5lZWQgZXhwbGljaXQgcHRocmVhZCBmb3IgZ2NjIC1mc2FuaXRpemU9YWRkcmVz cworICAgSUYoQ01BS0VfVVNFX1BUSFJFQURTX0lOSVQgQU5EIENNQUtFX0NfRkxBR1MgTUFUQ0hF UyAiLWZzYW5pdGl6ZT0iKQorQEAgLTEwMzgsNyArMTAzOCwyNiBAQCBFTFNFSUYoTk9UIFdJVEhf QVRPTUlDX09QUykKKyAgICAgbG9uZyBsb25nIGludCAqcHRyPSAmdmFyOworICAgICByZXR1cm4g KGludClfX2F0b21pY19sb2FkX24ocHRyLCBfX0FUT01JQ19TRVFfQ1NUKTsKKyAgIH0iCistICBI QVZFX0dDQ19DMTFfQVRPTUlDUykKKysgIEhBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhPVVRfTElC QVRPTUlDKQorKyAgSUYoSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSE9VVF9MSUJBVE9NSUMpCisr ICAgIFNFVChIQVZFX0dDQ19DMTFfQVRPTUlDUyBUcnVlKQorKyAgRUxTRSgpCisrICAgIFNFVChP TERfQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTICR7Q01BS0VfUkVRVUlSRURfTElCUkFSSUVTfSkK KysgICAgTElTVChBUFBFTkQgQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTICJhdG9taWMiKQorKyAg ICBDSEVDS19DWFhfU09VUkNFX0NPTVBJTEVTKCIKKysgICAgaW50IG1haW4oKQorKyAgICB7Cisr ICAgICAgbG9uZyBsb25nIGludCB2YXI9IDE7CisrICAgICAgbG9uZyBsb25nIGludCAqcHRyPSAm dmFyOworKyAgICAgIHJldHVybiAoaW50KV9fYXRvbWljX2xvYWRfbihwdHIsIF9fQVRPTUlDX1NF UV9DU1QpOworKyAgICB9IgorKyAgICBIQVZFX0dDQ19DMTFfQVRPTUlDU19XSVRIX0xJQkFUT01J QykKKysgICAgSUYoSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCisrICAgICAg U0VUKEhBVkVfR0NDX0MxMV9BVE9NSUNTIFRydWUpCisrICAgIEVMU0UoKQorKyAgICAgIFNFVChD TUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMgJHtPTERfQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTfSkK KysgICAgRU5ESUYoKQorKyAgRU5ESUYoKQorIEVMU0UoKQorICAgTUVTU0FHRShGQVRBTF9FUlJP UiAiJHtXSVRIX0FUT01JQ19PUFN9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBXSVRIX0FUT01J Q19PUFMhIikKKyBFTkRJRigpCistLS0gaW5jbHVkZS9hdG9taWMvZ2NjX2J1aWx0aW5zLmgKKysr KyBpbmNsdWRlL2F0b21pYy9nY2NfYnVpbHRpbnMuaAorQEAgLTE2LDYgKzE2LDcgQEAKKyAgICBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2Fy ZQorICAgIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9z dG9uLCBNQSAwMjExMC0xMzM1ICBVU0EgKi8KKyAKKysjaWYgZGVmaW5lZCAoSEFWRV9HQ0NfQVRP TUlDX0JVSUxUSU5TKQorICNkZWZpbmUgbWFrZV9hdG9taWNfYWRkX2JvZHkoUykgICAgICAgICAg ICAgICAgICAgICBcCisgICB2PSBfX3N5bmNfZmV0Y2hfYW5kX2FkZChhLCB2KTsKKyAjZGVmaW5l IG1ha2VfYXRvbWljX2Zhc19ib2R5KFMpICAgICAgICAgICAgICAgICAgICAgXAorQEAgLTI2LDYg KzI3LDIwIEBACisgICBzYXY9IF9fc3luY192YWxfY29tcGFyZV9hbmRfc3dhcChhLCBjbXBfdmFs LCBzZXQpO1wKKyAgIGlmICghKHJldD0gKHNhdiA9PSBjbXBfdmFsKSkpICpjbXA9IHNhdgorIAor KyNlbGlmIGRlZmluZWQoSEFWRV9HQ0NfQzExX0FUT01JQ1MpCisrCisrI2RlZmluZSBtYWtlX2F0 b21pY19hZGRfYm9keShTKSAgICAgICAgICAgICAgICAgICAgIFwKKysgIHY9IF9fYXRvbWljX2Zl dGNoX2FkZChhLCB2LCBfX0FUT01JQ19TRVFfQ1NUKQorKyNkZWZpbmUgbWFrZV9hdG9taWNfZmFz X2JvZHkoUykgICAgICAgICAgICAgICAgICAgICBcCisrICB2PSBfX2F0b21pY19leGNoYW5nZV9u KGEsIHYsIF9fQVRPTUlDX1NFUV9DU1QpCisrI2RlZmluZSBtYWtlX2F0b21pY19jYXNfYm9keShT KSAgICAgICAgICAgICAgICAgICAgIFwKKysgIGludCAjIyBTIHNhdjsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorKyAgcmV0PSBfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdl X24oYSwgY21wLCBzZXQsICAgICBcCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAwLCAgICAgICAgICAgICAgIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF9fQVRPTUlDX1NFUV9DU1QsXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg X19BVE9NSUNfU0VRX0NTVCk7CisrI2VuZGlmCisrCisgI2lmZGVmIE1ZX0FUT01JQ19NT0RFX0RV TU1ZCisgI2RlZmluZSBtYWtlX2F0b21pY19sb2FkX2JvZHkoUykgICByZXQ9ICphCisgI2RlZmlu ZSBtYWtlX2F0b21pY19zdG9yZV9ib2R5KFMpICAqYT0gdgorLS0tIGluY2x1ZGUvYXRvbWljL25v bG9jay5oCisrKysgaW5jbHVkZS9hdG9taWMvbm9sb2NrLmgKK0BAIC0xNyw3ICsxNyw3IEBACisg ICAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24s IE1BIDAyMTEwLTEzMzUgIFVTQSAqLworIAorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9NU0NfVkVSKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pICAgXAorLSAgICB8fCBkZWZpbmVk KEhBVkVfR0NDX0FUT01JQ19CVUlMVElOUykgXAorKyAgICB8fCBkZWZpbmVkKEhBVkVfR0NDX0FU T01JQ19CVUlMVElOUykgfHwgZGVmaW5lZChIQVZFX0dDQ19DMTFfQVRPTUlDUykgXAorICAgICB8 fCBkZWZpbmVkKEhBVkVfU09MQVJJU19BVE9NSUMpCisgCisgIyAgaWZkZWYgTVlfQVRPTUlDX01P REVfRFVNTVkKK0BAIC00MSw3ICs0MSw3IEBACisgIyAgZWxpZiBfX0dOVUNfXworICMgICAgaWYg ZGVmaW5lZChIQVZFX1NPTEFSSVNfQVRPTUlDKQorICMgICAgICBpbmNsdWRlICJzb2xhcmlzLmgi CistIyAgICBlbGlmIGRlZmluZWQoSEFWRV9HQ0NfQVRPTUlDX0JVSUxUSU5TKQorKyMgICAgZWxp ZiBkZWZpbmVkKEhBVkVfR0NDX0FUT01JQ19CVUlMVElOUykgfHwgZGVmaW5lZChIQVZFX0dDQ19D MTFfQVRPTUlDUykKKyAjICAgICAgaW5jbHVkZSAiZ2NjX2J1aWx0aW5zLmgiCisgIyAgICBlbGlm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykKKyAjICAgICAgaW5jbHVk ZSAieDg2LWdjYy5oIgorLS0tIG15c3lzL0NNYWtlTGlzdHMudHh0CisrKysgbXlzeXMvQ01ha2VM aXN0cy50eHQKK0BAIC03OSw2ICs3OSwxMCBAQCBJRihIQVZFX0JGRF9IKQorICAgVEFSR0VUX0xJ TktfTElCUkFSSUVTKG15c3lzIGJmZCkgIAorIEVORElGKEhBVkVfQkZEX0gpCisgCisrSUYoSEFW RV9HQ0NfQzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCisrICBUQVJHRVRfTElOS19MSUJSQVJJ RVMobXlzeXMgYXRvbWljKQorK0VORElGKCkKKysKKyBJRiAoV0lOMzIpCisgICBUQVJHRVRfTElO S19MSUJSQVJJRVMobXlzeXMgSVBITFBBUEkpICAKKyBFTkRJRihXSU4zMikKKy0tLSBzcWwvQ01h a2VMaXN0cy50eHQKKysrKyBzcWwvQ01ha2VMaXN0cy50eHQKK0BAIC0xNjUsNiArMTY1LDEwIEBA IFRBUkdFVF9MSU5LX0xJQlJBUklFUyhzcWwgJHtNWVNRTERfU1RBVEkKKyAgICR7U1NMX0xJQlJB UklFU30KKyAgICR7TElCU1lTVEVNRH0pCisgCisrSUYoSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lU SF9MSUJBVE9NSUMpCisrICBUQVJHRVRfTElOS19MSUJSQVJJRVMoc3FsIGF0b21pYykKKytFTkRJ RigpCisrCisgSUYoV0lOMzIpCisgICBTRVQoTVlTUUxEX1NPVVJDRSBtYWluLmNjIG50X3NlcnZj LmNjIG1lc3NhZ2UucmMpCisgICBUQVJHRVRfTElOS19MSUJSQVJJRVMoc3FsIHBzYXBpKQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvZml4LXB0aHJlYWQtZGV0YWNoLnBhdGNo IGIvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvZml4LXB0aHJlYWQtZGV0YWNoLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTNjMDViMTMyMC4uMDAwMDAwMDAwMDAKLS0tIGEv c3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvZml4LXB0aHJlYWQtZGV0YWNoLnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsMzQgKzAsMCBAQAotRnJvbSBjNDViNGE3NzRiNmQxNDA0YTA4MGExYzE3NTlm NzgwZmE3OGYyMjNiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU2VyZ2V5IFZvanRv dmljaCA8c3ZvakBtYXJpYWRiLm9yZz4KLURhdGU6IEZyaSwgMjEgU2VwIDIwMTggMTY6MDQ6MTYg KzA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gTURFVi0xNzIwMCAtIHB0aHJlYWRfZGV0YWNoIGNhbGxl ZCBmb3IgYWxyZWFkeSBkZXRhY2hlZAotIHRocmVhZHMKLQotcHRocmVhZF9kZXRhY2hfdGhpc190 aHJlYWQoKSB3YXMgaW50ZW5kZWQgdG8gYmUgZGVmaW5lZCB0byBzb21ldGhpbmcKLW1lYW5pbmdm dWwgb25seSBvbiBzb21lIGFuY2llbnQgdW5peGVzLCB3aGljaCBkb24ndCBoYXZlCi1wdGhyZWFk X2F0dHJfc2V0ZGV0YWNoc3RhdGUoKSBkZWZpbmVkLiBPdGhlcndpc2UsIG9uIG5vcm1hbCB1bml4 ZXMsCi10aHJlYWRzIGFyZSBjcmVhdGVkIGRldGFjaGVkIGluIHRoZSBmaXJzdCBwbGFjZS4KLQot VGhpcyB3YXMgYnJva2VuIGluIDBmMDFiZjI2NzY4MDI0NGVjNDg4YWRhZjY1YTQyODM4NzU2ZWQ0 OGUgc28gdGhhdAotd2Ugc3RhcnRlZCBjYWxsaW5nIHB0aHJlYWRfZGV0YWNoKCkgZm9yIGFscmVh ZHkgZGV0YWNoZWQgdGhyZWFkcy4KLUludGVudGlvbiB3YXMgdG8gZGV0YWNoIGFyaWEgY2hlY2tw b2ludCB0aHJlYWQuCi0KLUhvd2V2ZXIgaW4gODcwMDdkYzJmNzE2MzRjYzQ2MDI3MWViMjc3YWQ4 NTFlYzY5YzA0YiBhcmlhIHNlcnZpY2UgdGhyZWFkcwotd2VyZSBtYWRlIGpvaW5hYmxlIHdpdGgg YXBwcm9wcmlhdGUgaGFuZGxpbmcsIHdoaWNoIG1ha2VzIGJyZWFraW5nCi1yZXZpc2lvbiB1bm5l Y2Nlc3NhcnkuCi0KLVJldmVydCByZW1uYW50cyBvZiAwZjAxYmYyNjc2ODAyNDRlYzQ4OGFkYWY2 NWE0MjgzODc1NmVkNDhlLCBzbyB0aGF0Ci1wdGhyZWFkX2RldGFjaF90aGlzX3RocmVhZCgpIGlz IG1lYW5pbmdmdWwgb25seSBvbiBzb21lIGFuY2llbnQgdW5peGVzCi1hZ2Fpbi4KLQotLS0tIGlu Y2x1ZGUvbXlfcHRocmVhZC5oCi0rKysgaW5jbHVkZS9teV9wdGhyZWFkLmgKLUBAIC0xODQsNyAr MTg0LDcgQEAgaW50IHB0aHJlYWRfY2FuY2VsKHB0aHJlYWRfdCB0aHJlYWQpOwotICNkZWZpbmUg cHRocmVhZF9rZXkoVCxWKSBwdGhyZWFkX2tleV90IFYKLSAjZGVmaW5lIG15X3B0aHJlYWRfZ2V0 c3BlY2lmaWNfcHRyKFQsVikgbXlfcHRocmVhZF9nZXRzcGVjaWZpYyhULChWKSkKLSAjZGVmaW5l IG15X3B0aHJlYWRfc2V0c3BlY2lmaWNfcHRyKFQsVikgcHRocmVhZF9zZXRzcGVjaWZpYyhULCh2 b2lkKikgKFYpKQotLSNkZWZpbmUgcHRocmVhZF9kZXRhY2hfdGhpc190aHJlYWQoKSB7IHB0aHJl YWRfdCB0bXA9cHRocmVhZF9zZWxmKCkgOyBwdGhyZWFkX2RldGFjaCh0bXApOyB9Ci0rI2RlZmlu ZSBwdGhyZWFkX2RldGFjaF90aGlzX3RocmVhZCgpCi0gI2RlZmluZSBwdGhyZWFkX2hhbmRsZXJf dCBFWFRFUk5DIHZvaWQgKgotIHR5cGVkZWYgdm9pZCAqKCogcHRocmVhZF9oYW5kbGVyKSh2b2lk ICopOwotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvZm9yY2UtYzExLWF0 b21pY3MucGF0Y2ggYi9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9mb3JjZS1jMTEtYXRvbWljcy5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTU0Njc5OGJmOTcuLjAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2ZvcmNlLWMxMS1hdG9taWNzLnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsMjk0ICswLDAgQEAKLS0tLSBpbmNsdWRlL215X2F0b21pYy5o Ci0rKysgaW5jbHVkZS9teV9hdG9taWMuaAotQEAgLTEwNCwyMTcgKzEwNCw2IEBACi0gICBidXQg Y2FuIGJlIGFkZGVkLCBpZiBuZWNlc3NhcnkuCi0gKi8KLSAKLS0jZGVmaW5lIGludHB0ciAgICAg ICAgIHZvaWQgKgotLS8qKgotLSAgQ3VycmVudGx5IHdlIGRvbid0IHN1cHBvcnQgOC1iaXQgYW5k IDE2LWJpdCBvcGVyYXRpb25zLgotLSAgSXQgY2FuIGJlIGFkZGVkIGxhdGVyIGlmIG5lZWRlZC4K LS0qLwotLSN1bmRlZiBNWV9BVE9NSUNfSEFTXzhfMTYKLS0KLS0vKgotLSAqIEF0dGVtcHQgdG8g ZG8gYXRvbWljIG9wcyB3aXRob3V0IGxvY2tzCi0tICovCi0tI2luY2x1ZGUgImF0b21pYy9ub2xv Y2suaCIKLS0KLS0jaWZuZGVmIG1ha2VfYXRvbWljX2Nhc19ib2R5Ci0tLyogbm9sb2NrLmggd2Fz IG5vdCBhYmxlIHRvIGdlbmVyYXRlIGV2ZW4gYSBDQVMgZnVuY3Rpb24sIGZhbGwgYmFjayAqLwot LSNlcnJvciBhdG9taWMgb3BzIGZvciB0aGlzIHBsYXRmb3JtIGFyZSBub3QgaW1wbGVtZW50ZWQK LS0jZW5kaWYKLS0KLS0vKiBkZWZpbmUgbWlzc2luZyBmdW5jdGlvbnMgYnkgdXNpbmcgdGhlIGFs cmVhZHkgZ2VuZXJhdGVkIG9uZXMgKi8KLS0jaWZuZGVmIG1ha2VfYXRvbWljX2FkZF9ib2R5Ci0t I2RlZmluZSBtYWtlX2F0b21pY19hZGRfYm9keShTKSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKLS0gIGludCAjIyBTIHRtcD0qYTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAotLSAgd2hpbGUgKCFteV9hdG9taWNfY2FzICMjIFMoYSwgJnRt cCwgdG1wK3YpKSA7ICAgICAgICAgICAgICAgICBcCi0tICB2PXRtcDsKLS0jZW5kaWYKLS0jaWZu ZGVmIG1ha2VfYXRvbWljX2Zhc19ib2R5Ci0tI2RlZmluZSBtYWtlX2F0b21pY19mYXNfYm9keShT KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGludCAjIyBTIHRtcD0qYTsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgd2hpbGUg KCFteV9hdG9taWNfY2FzICMjIFMoYSwgJnRtcCwgdikpIDsgICAgICAgICAgICAgICAgICAgICBc Ci0tICB2PXRtcDsKLS0jZW5kaWYKLS0jaWZuZGVmIG1ha2VfYXRvbWljX2xvYWRfYm9keQotLSNk ZWZpbmUgbWFrZV9hdG9taWNfbG9hZF9ib2R5KFMpICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCi0tICByZXQ9IDA7IC8qIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcgKi8gICAgICAgICAg ICAgICAgICAgICAgICAgIFwKLS0gICh2b2lkKShteV9hdG9taWNfY2FzICMjIFMoYSwgJnJldCwg cmV0KSk7Ci0tI2VuZGlmCi0tI2lmbmRlZiBtYWtlX2F0b21pY19zdG9yZV9ib2R5Ci0tI2RlZmlu ZSBtYWtlX2F0b21pY19zdG9yZV9ib2R5KFMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKLS0gICh2b2lkKShteV9hdG9taWNfZmFzICMjIFMgKGEsIHYpKTsKLS0jZW5kaWYKLS0KLS0v KgotLSAgdHJhbnNwYXJlbnRfdW5pb24gZG9lc24ndCB3b3JrIGluIGcrKwotLSAgQnVnID8KLS0K LS0gIERhcndpbidzIGdjYyBkb2Vzbid0IHdhbnQgdG8gcHV0IHBvaW50ZXJzIGluIGEgdHJhbnNw YXJlbnRfdW5pb24KLS0gIHdoZW4gYnVpbHQgd2l0aCAtYXJjaCBwcGM2NC4gQ29tcGxhaW5zOgot LSAgd2FybmluZzogJ3RyYW5zcGFyZW50X3VuaW9uJyBhdHRyaWJ1dGUgaWdub3JlZAotLSovCi0t I2lmIGRlZmluZWQoX19HTlVDX18pICYmICFkZWZpbmVkKF9fY3BsdXNwbHVzKSAmJiBcCi0tICAg ICAgISAoZGVmaW5lZChfX0FQUExFX18pICYmIChkZWZpbmVkKF9BUkNIX1BQQzY0KSB8fGRlZmlu ZWQgKF9BUkNIX1BQQykpKQotLS8qCi0tICB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdXNlIG15X2F0 b21pY194eHggZnVuY3Rpb25zIHdpdGgKLS0gIGJvdGggc2lnbmVkIGFuZCB1bnNpZ25lZCBpbnRl Z2Vycy4gQnV0IGdjYyB3aWxsIGlzc3VlIGEgd2FybmluZwotLSAgInBhc3NpbmcgYXJnIE4gb2Yg YG15X2F0b21pY19YWFgnIGFzIFt1bl1zaWduZWQgZHVlIHRvIHByb3RvdHlwZSIKLS0gIGlmIHRo ZSBzaWduZWRuZXNzIG9mIHRoZSBhcmd1bWVudCBkb2Vzbid0IG1hdGNoIHRoZSBwcm90b3R5cGUs IG9yCi0tICAicG9pbnRlciB0YXJnZXRzIGluIHBhc3NpbmcgYXJndW1lbnQgTiBvZiBteV9hdG9t aWNfWFhYIGRpZmZlciBpbiBzaWduZWRuZXNzIgotLSAgaWYgaW50KiBpcyB1c2VkIHdoZXJlIHVp bnQqIGlzIGV4cGVjdGVkIChvciB2aWNlIHZlcnNhKS4KLS0gIExldCdzIHNodXQgdGhlc2Ugd2Fy bmluZ3MgdXAKLS0qLwotLSNkZWZpbmUgbWFrZV90cmFuc3BhcmVudF91bmlvbnMoUykgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB0eXBlZGVmIHVuaW9uIHsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgaW50ICAjIyBT ICBpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAg ICB1aW50ICMjIFMgIHU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc Ci0tICAgICAgICB9IFVfICMjIFMgICBfX2F0dHJpYnV0ZV9fICgodHJhbnNwYXJlbnRfdW5pb24p KTsgICAgICAgIFwKLS0gICAgICAgIHR5cGVkZWYgdW5pb24geyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICBpbnQgICMjIFMgdm9sYXRpbGUgKmk7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIHVpbnQgIyMgUyB2 b2xhdGlsZSAqdTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIH0g VXZfICMjIFMgICBfX2F0dHJpYnV0ZV9fICgodHJhbnNwYXJlbnRfdW5pb24pKTsKLS0jZGVmaW5l IHVpbnRwdHIgaW50cHRyCi0tbWFrZV90cmFuc3BhcmVudF91bmlvbnMoOCkKLS1tYWtlX3RyYW5z cGFyZW50X3VuaW9ucygxNikKLS1tYWtlX3RyYW5zcGFyZW50X3VuaW9ucygzMikKLS1tYWtlX3Ry YW5zcGFyZW50X3VuaW9ucyg2NCkKLS1tYWtlX3RyYW5zcGFyZW50X3VuaW9ucyhwdHIpCi0tI3Vu ZGVmIHVpbnRwdHIKLS0jdW5kZWYgbWFrZV90cmFuc3BhcmVudF91bmlvbnMKLS0jZGVmaW5lIGEg ICAgICAgVV9hLmkKLS0jZGVmaW5lIGNtcCAgICAgVV9jbXAuaQotLSNkZWZpbmUgdiAgICAgICBV X3YuaQotLSNkZWZpbmUgc2V0ICAgICBVX3NldC5pCi0tI2Vsc2UKLS0jZGVmaW5lIFVfOCAgICBp bnQ4Ci0tI2RlZmluZSBVXzE2ICAgaW50MTYKLS0jZGVmaW5lIFVfMzIgICBpbnQzMgotLSNkZWZp bmUgVV82NCAgIGludDY0Ci0tI2RlZmluZSBVX3B0ciAgaW50cHRyCi0tI2RlZmluZSBVdl84ICAg aW50OAotLSNkZWZpbmUgVXZfMTYgIGludDE2Ci0tI2RlZmluZSBVdl8zMiAgaW50MzIKLS0jZGVm aW5lIFV2XzY0ICBpbnQ2NAotLSNkZWZpbmUgVXZfcHRyIGludHB0cgotLSNkZWZpbmUgVV9hICAg IHZvbGF0aWxlICphCi0tI2RlZmluZSBVX2NtcCAgKmNtcAotLSNkZWZpbmUgVV92ICAgIHYKLS0j ZGVmaW5lIFVfc2V0ICBzZXQKLS0jZW5kaWYgLyogX19HQ0NfXyB0cmFuc3BhcmVudF91bmlvbiBt YWdpYyAqLwotLQotLSNkZWZpbmUgbWFrZV9hdG9taWNfY2FzKFMpICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCi0tc3RhdGljIGlubGluZSBpbnQgbXlfYXRvbWljX2NhcyAj IyBTKFV2XyAjIyBTIFVfYSwgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgVXZfICMjIFMgVV9jbXAsIFVfICMjIFMgVV9zZXQpICAgICAgXAotLXsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0t ICBpbnQ4IHJldDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKLS0gIG1ha2VfYXRvbWljX2Nhc19ib2R5KFMpOyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAotLSAgcmV0dXJuIHJldDsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfQotLQotLSNkZWZpbmUgbWFrZV9hdG9t aWNfYWRkKFMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tc3RhdGlj IGlubGluZSBpbnQgIyMgUyBteV9hdG9taWNfYWRkICMjIFMoICAgICAgICAgICAgICAgICAgICAg IFwKLS0gICAgICAgICAgICAgICAgICAgICAgICBVdl8gIyMgUyBVX2EsIFVfICMjIFMgVV92KSAg ICAgICAgICAgICAgXAotLXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBtYWtlX2F0b21pY19hZGRfYm9keShTKTsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHJldHVybiB2OyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0KLS0KLS0j ZGVmaW5lIG1ha2VfYXRvbWljX2ZhcyhTKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAotLXN0YXRpYyBpbmxpbmUgaW50ICMjIFMgbXlfYXRvbWljX2ZhcyAjIyBTKCAgICAg ICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgIFV2XyAjIyBTIFVf YSwgVV8gIyMgUyBVX3YpICAgICAgICAgICAgIFwKLS17ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgbWFrZV9hdG9taWNf ZmFzX2JvZHkoUyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBy ZXR1cm4gdjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKLS19Ci0tCi0tI2RlZmluZSBtYWtlX2F0b21pY19sb2FkKFMpICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKLS1zdGF0aWMgaW5saW5lIGludCAjIyBTIG15X2F0b21p Y19sb2FkICMjIFMoVXZfICMjIFMgVV9hKSAgICAgICAgXAotLXsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBpbnQgIyMg UyByZXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK LS0gIG1ha2VfYXRvbWljX2xvYWRfYm9keShTKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAotLSAgcmV0dXJuIHJldDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCi0tfQotLQotLSNkZWZpbmUgbWFrZV9hdG9taWNfc3RvcmUo UykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tc3RhdGljIGlubGluZSB2 b2lkIG15X2F0b21pY19zdG9yZSAjIyBTKCAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAg ICAgICAgICAgICAgICAgICBVdl8gIyMgUyBVX2EsIFVfICMjIFMgVV92KSAgICAgICAgICAgICAg ICAgXAotLXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCi0tICBtYWtlX2F0b21pY19zdG9yZV9ib2R5KFMpOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19Ci0tCi0tI2lmZGVmIE1ZX0FUT01JQ19IQVNf OF8xNgotLW1ha2VfYXRvbWljX2Nhcyg4KQotLW1ha2VfYXRvbWljX2NhcygxNikKLS0jZW5kaWYK LS1tYWtlX2F0b21pY19jYXMoMzIpCi0tbWFrZV9hdG9taWNfY2FzKDY0KQotLW1ha2VfYXRvbWlj X2NhcyhwdHIpCi0tCi0tI2lmZGVmIE1ZX0FUT01JQ19IQVNfOF8xNgotLW1ha2VfYXRvbWljX2Fk ZCg4KQotLW1ha2VfYXRvbWljX2FkZCgxNikKLS0jZW5kaWYKLS1tYWtlX2F0b21pY19hZGQoMzIp Ci0tbWFrZV9hdG9taWNfYWRkKDY0KQotLQotLSNpZmRlZiBNWV9BVE9NSUNfSEFTXzhfMTYKLS1t YWtlX2F0b21pY19sb2FkKDgpCi0tbWFrZV9hdG9taWNfbG9hZCgxNikKLS0jZW5kaWYKLS1tYWtl X2F0b21pY19sb2FkKDMyKQotLW1ha2VfYXRvbWljX2xvYWQoNjQpCi0tbWFrZV9hdG9taWNfbG9h ZChwdHIpCi0tCi0tI2lmZGVmIE1ZX0FUT01JQ19IQVNfOF8xNgotLW1ha2VfYXRvbWljX2Zhcyg4 KQotLW1ha2VfYXRvbWljX2ZhcygxNikKLS0jZW5kaWYKLS1tYWtlX2F0b21pY19mYXMoMzIpCi0t bWFrZV9hdG9taWNfZmFzKDY0KQotLW1ha2VfYXRvbWljX2ZhcyhwdHIpCi0tCi0tI2lmZGVmIE1Z X0FUT01JQ19IQVNfOF8xNgotLW1ha2VfYXRvbWljX3N0b3JlKDgpCi0tbWFrZV9hdG9taWNfc3Rv cmUoMTYpCi0tI2VuZGlmCi0tbWFrZV9hdG9taWNfc3RvcmUoMzIpCi0tbWFrZV9hdG9taWNfc3Rv cmUoNjQpCi0tbWFrZV9hdG9taWNfc3RvcmUocHRyKQotLQotLSNpZmRlZiBfYXRvbWljX2hfY2xl YW51cF8KLS0jaW5jbHVkZSBfYXRvbWljX2hfY2xlYW51cF8KLS0jdW5kZWYgX2F0b21pY19oX2Ns ZWFudXBfCi0tI2VuZGlmCi0tCi0tI3VuZGVmIFVfOAotLSN1bmRlZiBVXzE2Ci0tI3VuZGVmIFVf MzIKLS0jdW5kZWYgVV82NAotLSN1bmRlZiBVX3B0cgotLSN1bmRlZiBVdl84Ci0tI3VuZGVmIFV2 XzE2Ci0tI3VuZGVmIFV2XzMyCi0tI3VuZGVmIFV2XzY0Ci0tI3VuZGVmIFV2X3B0cgotLSN1bmRl ZiBhCi0tI3VuZGVmIGNtcAotLSN1bmRlZiB2Ci0tI3VuZGVmIHNldAotLSN1bmRlZiBVX2EKLS0j dW5kZWYgVV9jbXAKLS0jdW5kZWYgVV92Ci0tI3VuZGVmIFVfc2V0Ci0tI3VuZGVmIG1ha2VfYXRv bWljX2FkZAotLSN1bmRlZiBtYWtlX2F0b21pY19jYXMKLS0jdW5kZWYgbWFrZV9hdG9taWNfbG9h ZAotLSN1bmRlZiBtYWtlX2F0b21pY19zdG9yZQotLSN1bmRlZiBtYWtlX2F0b21pY19mYXMKLS0j dW5kZWYgbWFrZV9hdG9taWNfYWRkX2JvZHkKLS0jdW5kZWYgbWFrZV9hdG9taWNfY2FzX2JvZHkK LS0jdW5kZWYgbWFrZV9hdG9taWNfbG9hZF9ib2R5Ci0tI3VuZGVmIG1ha2VfYXRvbWljX3N0b3Jl X2JvZHkKLS0jdW5kZWYgbWFrZV9hdG9taWNfZmFzX2JvZHkKLS0jdW5kZWYgaW50cHRyCi0tCi0g LyoKLSAgIHRoZSBtYWNybyBiZWxvdyBkZWZpbmVzIChhcyBhbiBleHByZXNzaW9uKSB0aGUgY29k ZSB0aGF0Ci0gICB3aWxsIGJlIHJ1biBpbiBzcGluLWxvb3BzLiBJbnRlbCBtYW51YWxzIHJlY3Vt bWVuZCB0byBoYXZlIFBBVVNFIHRoZXJlLgotQEAgLTMyOCw3ICsxMTcsOCBAQCBtYWtlX2F0b21p Y19zdG9yZShwdHIpCi0gI2RlZmluZSBNWV9BVE9NSUNfTk9UXzFDUFUgMQotIGV4dGVybiBpbnQg bXlfYXRvbWljX2luaXRpYWxpemUoKTsKLSAKLS0jaWZkZWYgX19BVE9NSUNfU0VRX0NTVAotKyNk ZWZpbmUgTVlfQVRPTUlDX01PREUgImdjYy1hdG9taWNzLXNtcCIKLSsKLSAjZGVmaW5lIE1ZX01F TU9SWV9PUkRFUl9SRUxBWEVEIF9fQVRPTUlDX1JFTEFYRUQKLSAjZGVmaW5lIE1ZX01FTU9SWV9P UkRFUl9DT05TVU1FIF9fQVRPTUlDX0NPTlNVTUUKLSAjZGVmaW5lIE1ZX01FTU9SWV9PUkRFUl9B Q1FVSVJFIF9fQVRPTUlDX0FDUVVJUkUKLUBAIC0zNjQsNDMgKzE1NCwyNyBAQCBleHRlcm4gaW50 IG15X2F0b21pY19pbml0aWFsaXplKCk7Ci0gICBfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlX24o KFApLCAoRSksIChEKSwgZmFsc2UsIChTKSwgKEYpKQotICNkZWZpbmUgbXlfYXRvbWljX2Nhc3B0 cl9zdHJvbmdfZXhwbGljaXQoUCwgRSwgRCwgUywgRikgXAotICAgX19hdG9taWNfY29tcGFyZV9l eGNoYW5nZV9uKChQKSwgKEUpLCAoRCksIGZhbHNlLCAoUyksIChGKSkKLS0jZWxzZQotLSNkZWZp bmUgTVlfTUVNT1JZX09SREVSX1JFTEFYRUQKLS0jZGVmaW5lIE1ZX01FTU9SWV9PUkRFUl9DT05T VU1FCi0tI2RlZmluZSBNWV9NRU1PUllfT1JERVJfQUNRVUlSRQotLSNkZWZpbmUgTVlfTUVNT1JZ X09SREVSX1JFTEVBU0UKLS0jZGVmaW5lIE1ZX01FTU9SWV9PUkRFUl9BQ1FfUkVMCi0tI2RlZmlu ZSBNWV9NRU1PUllfT1JERVJfU0VRX0NTVAotLQotLSNkZWZpbmUgbXlfYXRvbWljX3N0b3JlMzJf ZXhwbGljaXQoUCwgRCwgTykgbXlfYXRvbWljX3N0b3JlMzIoKFApLCAoRCkpCi0tI2RlZmluZSBt eV9hdG9taWNfc3RvcmU2NF9leHBsaWNpdChQLCBELCBPKSBteV9hdG9taWNfc3RvcmU2NCgoUCks IChEKSkKLS0jZGVmaW5lIG15X2F0b21pY19zdG9yZXB0cl9leHBsaWNpdChQLCBELCBPKSBteV9h dG9taWNfc3RvcmVwdHIoKFApLCAoRCkpCi0tCi0tI2RlZmluZSBteV9hdG9taWNfbG9hZDMyX2V4 cGxpY2l0KFAsIE8pIG15X2F0b21pY19sb2FkMzIoKFApKQotLSNkZWZpbmUgbXlfYXRvbWljX2xv YWQ2NF9leHBsaWNpdChQLCBPKSBteV9hdG9taWNfbG9hZDY0KChQKSkKLS0jZGVmaW5lIG15X2F0 b21pY19sb2FkcHRyX2V4cGxpY2l0KFAsIE8pIG15X2F0b21pY19sb2FkcHRyKChQKSkKLS0KLS0j ZGVmaW5lIG15X2F0b21pY19mYXMzMl9leHBsaWNpdChQLCBELCBPKSBteV9hdG9taWNfZmFzMzIo KFApLCAoRCkpCi0tI2RlZmluZSBteV9hdG9taWNfZmFzNjRfZXhwbGljaXQoUCwgRCwgTykgbXlf YXRvbWljX2ZhczY0KChQKSwgKEQpKQotLSNkZWZpbmUgbXlfYXRvbWljX2Zhc3B0cl9leHBsaWNp dChQLCBELCBPKSBteV9hdG9taWNfZmFzcHRyKChQKSwgKEQpKQotLQotLSNkZWZpbmUgbXlfYXRv bWljX2FkZDMyX2V4cGxpY2l0KFAsIEEsIE8pIG15X2F0b21pY19hZGQzMigoUCksIChBKSkKLS0j ZGVmaW5lIG15X2F0b21pY19hZGQ2NF9leHBsaWNpdChQLCBBLCBPKSBteV9hdG9taWNfYWRkNjQo KFApLCAoQSkpCi0tI2RlZmluZSBteV9hdG9taWNfYWRkcHRyX2V4cGxpY2l0KFAsIEEsIE8pIG15 X2F0b21pY19hZGRwdHIoKFApLCAoQSkpCi0gCi0tI2RlZmluZSBteV9hdG9taWNfY2FzMzJfd2Vh a19leHBsaWNpdChQLCBFLCBELCBTLCBGKSBcCi0tICBteV9hdG9taWNfY2FzMzIoKFApLCAoRSks IChEKSkKLS0jZGVmaW5lIG15X2F0b21pY19jYXM2NF93ZWFrX2V4cGxpY2l0KFAsIEUsIEQsIFMs IEYpIFwKLS0gIG15X2F0b21pY19jYXM2NCgoUCksIChFKSwgKEQpKQotLSNkZWZpbmUgbXlfYXRv bWljX2Nhc3B0cl93ZWFrX2V4cGxpY2l0KFAsIEUsIEQsIFMsIEYpIFwKLS0gIG15X2F0b21pY19j YXNwdHIoKFApLCAoRSksIChEKSkKLSsjZGVmaW5lIG15X2F0b21pY19zdG9yZTMyKFAsIEQpIF9f YXRvbWljX3N0b3JlX24oKFApLCAoRCksIF9fQVRPTUlDX1NFUV9DU1QpCi0rI2RlZmluZSBteV9h dG9taWNfc3RvcmU2NChQLCBEKSBfX2F0b21pY19zdG9yZV9uKChQKSwgKEQpLCBfX0FUT01JQ19T RVFfQ1NUKQotKyNkZWZpbmUgbXlfYXRvbWljX3N0b3JlcHRyKFAsIEQpIF9fYXRvbWljX3N0b3Jl X24oKFApLCAoRCksIF9fQVRPTUlDX1NFUV9DU1QpCi0gCi0tI2RlZmluZSBteV9hdG9taWNfY2Fz MzJfc3Ryb25nX2V4cGxpY2l0KFAsIEUsIEQsIFMsIEYpIFwKLS0gIG15X2F0b21pY19jYXMzMigo UCksIChFKSwgKEQpKQotLSNkZWZpbmUgbXlfYXRvbWljX2NhczY0X3N0cm9uZ19leHBsaWNpdChQ LCBFLCBELCBTLCBGKSBcCi0tICBteV9hdG9taWNfY2FzNjQoKFApLCAoRSksIChEKSkKLS0jZGVm aW5lIG15X2F0b21pY19jYXNwdHJfc3Ryb25nX2V4cGxpY2l0KFAsIEUsIEQsIFMsIEYpIFwKLS0g IG15X2F0b21pY19jYXNwdHIoKFApLCAoRSksIChEKSkKLS0jZW5kaWYKLSsjZGVmaW5lIG15X2F0 b21pY19sb2FkMzIoUCkgX19hdG9taWNfbG9hZF9uKChQKSwgX19BVE9NSUNfU0VRX0NTVCkKLSsj ZGVmaW5lIG15X2F0b21pY19sb2FkNjQoUCkgX19hdG9taWNfbG9hZF9uKChQKSwgX19BVE9NSUNf U0VRX0NTVCkKLSsjZGVmaW5lIG15X2F0b21pY19sb2FkcHRyKFApIF9fYXRvbWljX2xvYWRfbigo UCksIF9fQVRPTUlDX1NFUV9DU1QpCi0rCi0rI2RlZmluZSBteV9hdG9taWNfZmFzMzIoUCwgRCkg X19hdG9taWNfZXhjaGFuZ2VfbigoUCksIChEKSwgX19BVE9NSUNfU0VRX0NTVCkKLSsjZGVmaW5l IG15X2F0b21pY19mYXM2NChQLCBEKSBfX2F0b21pY19leGNoYW5nZV9uKChQKSwgKEQpLCBfX0FU T01JQ19TRVFfQ1NUKQotKyNkZWZpbmUgbXlfYXRvbWljX2Zhc3B0cihQLCBEKSBfX2F0b21pY19l eGNoYW5nZV9uKChQKSwgKEQpLCBfX0FUT01JQ19TRVFfQ1NUKQotKwotKyNkZWZpbmUgbXlfYXRv bWljX2FkZDMyKFAsIEEpIF9fYXRvbWljX2ZldGNoX2FkZCgoUCksIChBKSwgX19BVE9NSUNfU0VR X0NTVCkKLSsjZGVmaW5lIG15X2F0b21pY19hZGQ2NChQLCBBKSBfX2F0b21pY19mZXRjaF9hZGQo KFApLCAoQSksIF9fQVRPTUlDX1NFUV9DU1QpCi0rCi0rI2RlZmluZSBteV9hdG9taWNfY2FzMzIo UCwgRSwgRCkgXAotKyAgX19hdG9taWNfY29tcGFyZV9leGNoYW5nZV9uKChQKSwgKEUpLCAoRCks IDAsIF9fQVRPTUlDX1NFUV9DU1QsIF9fQVRPTUlDX1NFUV9DU1QpCi0rI2RlZmluZSBteV9hdG9t aWNfY2FzNjQoUCwgRSwgRCkgXAotKyAgX19hdG9taWNfY29tcGFyZV9leGNoYW5nZV9uKChQKSwg KEUpLCAoRCksIDAsIF9fQVRPTUlDX1NFUV9DU1QsIF9fQVRPTUlDX1NFUV9DU1QpCi0rI2RlZmlu ZSBteV9hdG9taWNfY2FzcHRyKFAsIEUsIEQpIFwKLSsgIF9fYXRvbWljX2NvbXBhcmVfZXhjaGFu Z2VfbigoUCksIChFKSwgKEQpLCAwLCBfX0FUT01JQ19TRVFfQ1NULCBfX0FUT01JQ19TRVFfQ1NU KQotIAotICNlbmRpZiAvKiBNWV9BVE9NSUNfSU5DTFVERUQgKi8KZGlmZiAtLWdpdCBhL3NyY3Br Z3MvbWFyaWFkYi9wYXRjaGVzL2xpYmF0b21pYy5wYXRjaCBiL3NyY3BrZ3MvbWFyaWFkYi9wYXRj aGVzL2xpYmF0b21pYy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGU4ZTg3 MmQ5YzIuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2xpYmF0b21p Yy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi1Tb3VyY2U6IERlYmlhbiwg cTY2Ci0KLVRoaXMgZW5zdXJlcyBhcmNoZXMgdGhhdCBuZWVkIGxpYmF0b21pYyBwcm9wZXJseSBn ZXQgaXQgd2hlcmUgbmVjZXNzYXJ5LgotSXQgYWxzbyByZW1vdmVzIHRoZSBzeW5jIGJ1aWx0aW4g Y2hlY2tzIHRoYXQgYXJlIG5vdCBuZWNlc3Nhcnkgd2hlbgotdXNpbmcgQzExIGF0b21pY3MgKGxp a2Ugd2UgYWx3YXlzIGFyZSBiZWNhdXNlIHdlJ3JlIG9uIGEgbW9kZXJuIGdjYykKLXRoYXQgYnJl YWsgYnVpbGQgb24gZS5nLiBwcGMzMiBhbmQgbWlwcy4KLQotLS0tIGNvbmZpZ3VyZS5jbWFrZQot KysrIGNvbmZpZ3VyZS5jbWFrZQotQEAgLTk5MiwzNSArOTkyLDE5IEBAIFNFVChTSUdOQUxfV0lU SF9WSU9fQ0xPU0UgMSkKLSAKLSBNQVJLX0FTX0FEVkFOQ0VEKE5PX0FMQVJNKQotIAotLQotLUlG KFdJVEhfQVRPTUlDX09QUyBTVFJFUVVBTCAidXAiKQotLSAgU0VUKE1ZX0FUT01JQ19NT0RFX0RV TU1ZIDEgQ0FDSEUgQk9PTCAiQXNzdW1lIHNpbmdsZS1DUFUgbW9kZSwgbm8gY29uY3VycmVuY3ki KQotLUVMU0VJRihXSVRIX0FUT01JQ19PUFMgU1RSRVFVQUwgInNtcCIpCi0tRUxTRUlGKE5PVCBX SVRIX0FUT01JQ19PUFMpCi0tICBDSEVDS19DWFhfU09VUkNFX0NPTVBJTEVTKCIKLS0gIGludCBt YWluKCkKLS0gIHsKLS0gICAgaW50IGZvbz0gLTEwOyBpbnQgYmFyPSAxMDsKLS0gICAgbG9uZyBs b25nIGludCBmb282ND0gLTEwOyBsb25nIGxvbmcgaW50IGJhcjY0PSAxMDsKLS0gICAgaWYgKCFf X3N5bmNfZmV0Y2hfYW5kX2FkZCgmZm9vLCBiYXIpIHx8IGZvbykKLS0gICAgICByZXR1cm4gLTE7 Ci0tICAgIGJhcj0gX19zeW5jX2xvY2tfdGVzdF9hbmRfc2V0KCZmb28sIGJhcik7Ci0tICAgIGlm IChiYXIgfHwgZm9vICE9IDEwKQotLSAgICAgIHJldHVybiAtMTsKLS0gICAgYmFyPSBfX3N5bmNf dmFsX2NvbXBhcmVfYW5kX3N3YXAoJmJhciwgZm9vLCAxNSk7Ci0tICAgIGlmIChiYXIpCi0tICAg ICAgcmV0dXJuIC0xOwotLSAgICBpZiAoIV9fc3luY19mZXRjaF9hbmRfYWRkKCZmb282NCwgYmFy NjQpIHx8IGZvbzY0KQotLSAgICAgIHJldHVybiAtMTsKLS0gICAgYmFyNjQ9IF9fc3luY19sb2Nr X3Rlc3RfYW5kX3NldCgmZm9vNjQsIGJhcjY0KTsKLS0gICAgaWYgKGJhcjY0IHx8IGZvbzY0ICE9 IDEwKQotLSAgICAgIHJldHVybiAtMTsKLS0gICAgYmFyNjQ9IF9fc3luY192YWxfY29tcGFyZV9h bmRfc3dhcCgmYmFyNjQsIGZvbywgMTUpOwotLSAgICBpZiAoYmFyNjQpCi0tICAgICAgcmV0dXJu IC0xOwotLSAgICByZXR1cm4gMDsKLS0gIH0iCi0tICBIQVZFX0dDQ19BVE9NSUNfQlVJTFRJTlMp Ci0rQ0hFQ0tfQ1hYX1NPVVJDRV9DT01QSUxFUygiCi0raW50IG1haW4oKQotK3sKLSsgIGxvbmcg bG9uZyBpbnQgdmFyPSAxOwotKyAgbG9uZyBsb25nIGludCAqcHRyPSAmdmFyOwotKyAgcmV0dXJu IChpbnQpX19hdG9taWNfbG9hZF9uKHB0ciwgX19BVE9NSUNfU0VRX0NTVCk7Ci0rfSIKLStIQVZF X0dDQ19DMTFfQVRPTUlDU19XSVRIT1VUX0xJQkFUT01JQykKLStJRiAoSEFWRV9HQ0NfQzExX0FU T01JQ1NfV0lUSE9VVF9MSUJBVE9NSUMpCi0rICBTRVQoSEFWRV9HQ0NfQzExX0FUT01JQ1MgVHJ1 ZSkKLStFTFNFKCkKLSsgIFNFVChPTERfQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTICR7Q01BS0Vf UkVRVUlSRURfTElCUkFSSUVTfSkKLSsgIExJU1QoQVBQRU5EIENNQUtFX1JFUVVJUkVEX0xJQlJB UklFUyAiYXRvbWljIikKLSAgIENIRUNLX0NYWF9TT1VSQ0VfQ09NUElMRVMoIgotICAgaW50IG1h aW4oKQotICAgewotQEAgLTEwMjgsMTQgKzEwMTIsMTMgQEAgRUxTRUlGKE5PVCBXSVRIX0FUT01J Q19PUFMpCi0gICAgIGxvbmcgbG9uZyBpbnQgKnB0cj0gJnZhcjsKLSAgICAgcmV0dXJuIChpbnQp X19hdG9taWNfbG9hZF9uKHB0ciwgX19BVE9NSUNfU0VRX0NTVCk7Ci0gICB9IgotLSAgSEFWRV9H Q0NfQzExX0FUT01JQ1MpCi0tRUxTRSgpCi0tICBNRVNTQUdFKEZBVEFMX0VSUk9SICIke1dJVEhf QVRPTUlDX09QU30gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIFdJVEhfQVRPTUlDX09QUyEiKQot KyAgSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCi0rICBJRihIQVZFX0dDQ19D MTFfQVRPTUlDU19XSVRIX0xJQkFUT01JQykKLSsgICAgU0VUKEhBVkVfR0NDX0MxMV9BVE9NSUNT IFRydWUpCi0rICBFTkRJRigpCi0rICBTRVQoQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTICR7T0xE X0NNQUtFX1JFUVVJUkVEX0xJQlJBUklFU30pCi0gRU5ESUYoKQotIAotLVNFVChXSVRIX0FUT01J Q19PUFMgIiR7V0lUSF9BVE9NSUNfT1BTfSIgQ0FDSEUgU1RSSU5HICJJbXBsZW1lbnQgYXRvbWlj IG9wZXJhdGlvbnMgdXNpbmcgYXRvbWljIENQVSBpbnN0cnVjdGlvbnMgZm9yIG11bHRpLXByb2Nl c3NvciAoc21wKSBvciB1bmlwcm9jZXNzb3IgKHVwKSBjb25maWd1cmF0aW9uLiBCeSBkZWZhdWx0 IGdjYyBidWlsdC1pbiBzeW5jIGZ1bmN0aW9ucyBhcmUgdXNlZCwgaWYgYXZhaWxhYmxlIGFuZCAn c21wJyBjb25maWd1cmF0aW9uIG90aGVyd2lzZS4iKQotLU1BUktfQVNfQURWQU5DRUQoV0lUSF9B VE9NSUNfT1BTIE1ZX0FUT01JQ19NT0RFX0RVTU1ZKQotLQotIElGKFdJVEhfVkFMR1JJTkQpCi0g ICBTRVQoSEFWRV92YWxncmluZCAxKQotIEVORElGKCkKLS0tLSBteXN5cy9DTWFrZUxpc3RzLnR4 dAotKysrIG15c3lzL0NNYWtlTGlzdHMudHh0Ci1AQCAtNzQsNiArNzQsMTAgQEAgVEFSR0VUX0xJ TktfTElCUkFSSUVTKG15c3lzIGRidWcgc3RyaW5ncyBteXN5c19zc2wgJHtaTElCX0xJQlJBUll9 Ci0gICR7TElCTlNMfSAke0xJQk19ICR7TElCUlR9ICR7TElCREx9ICR7TElCU09DS0VUfSAke0xJ QkVYRUNJTkZPfSkKLSBEVFJBQ0VfSU5TVFJVTUVOVChteXN5cykKLSAKLStJRiAoSEFWRV9HQ0Nf QzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCi0rICBUQVJHRVRfTElOS19MSUJSQVJJRVMobXlz eXMgYXRvbWljKQotK0VORElGKCkKLSsKLSBJRihIQVZFX0JGRF9IKQotICAgVEFSR0VUX0xJTktf TElCUkFSSUVTKG15c3lzIGJmZCkgIAotIEVORElGKEhBVkVfQkZEX0gpCi0tLS0gc3FsL0NNYWtl TGlzdHMudHh0Ci0rKysgc3FsL0NNYWtlTGlzdHMudHh0Ci1AQCAtMTcyLDYgKzE3Miw5IEBAIEVM U0UoKQotICAgU0VUKE1ZU1FMRF9TT1VSQ0UgbWFpbi5jYyAke0RUUkFDRV9QUk9CRVNfQUxMfSkK LSBFTkRJRigpCi0gCi0rSUYgKEhBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhfTElCQVRPTUlDKQot KyAgVEFSR0VUX0xJTktfTElCUkFSSUVTKHNxbCBhdG9taWMpCi0rRU5ESUYoKQotIAotIElGKE1T VkMgQU5EIE5PVCBXSVRIT1VUX0RZTkFNSUNfUExVR0lOUykKLSAKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvbWFyaWFkYi9wYXRjaGVzL21pcHMtY29ubmVjdC11bmFsaWduZWQucGF0Y2ggYi9zcmNwa2dz L21hcmlhZGIvcGF0Y2hlcy9taXBzLWNvbm5lY3QtdW5hbGlnbmVkLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5hZTJmNmUwM2QyZQotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL21pcHMtY29ubmVjdC11bmFsaWduZWQucGF0Y2gK QEAgLTAsMCArMSwyNTcgQEAKK0Zyb206IERlYmlhbiBNeVNRTCBNYWludGFpbmVycyA8cGtnLW15 c3FsLW1haW50QGxpc3RzLmFsaW90aC5kZWJpYW4ub3JnPgorRGF0ZTogVGh1LCAxMCBBdWcgMjAx NyAyMDo0MDoyOCArMDIwMAorU3ViamVjdDogbWlwcy1jb25uZWN0LXVuYWxpZ25lZAorCistLS0K KyBzdG9yYWdlL2Nvbm5lY3QvdmFsYmxrLmNwcCB8IDQxICsrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0KKyBzdG9yYWdlL2Nvbm5lY3QvdmFsYmxrLmggICB8IDUxICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQs IDUyIGluc2VydGlvbnMoKyksIDQwIGRlbGV0aW9ucygtKQorCistLS0gc3RvcmFnZS9jb25uZWN0 L3ZhbGJsay5jcHAKKysrKyBzdG9yYWdlL2Nvbm5lY3QvdmFsYmxrLmNwcAorQEAgLTI2OCwxNCAr MjY4LDE0IEBAIGJvb2wgVFlQQkxLPFRZUEU+OjpJbml0KFBHTE9CQUwgZywgYm9vbAorIHRlbXBs YXRlIDxjbGFzcyBUWVBFPgorIGNoYXIgKlRZUEJMSzxUWVBFPjo6R2V0Q2hhclN0cmluZyhjaGFy ICpwLCBpbnQgbikKKyAgIHsKKy0gIHNwcmludGYocCwgRm10LCBUeXBwW25dKTsKKysgIHNwcmlu dGYocCwgRm10LCBVbmFsaWduZWRSZWFkKG4pKTsKKyAgIHJldHVybiBwOworICAgfSAvLyBlbmQg b2YgR2V0Q2hhclN0cmluZworIAorIHRlbXBsYXRlIDw+CisgY2hhciAqVFlQQkxLPGRvdWJsZT46 OkdldENoYXJTdHJpbmcoY2hhciAqcCwgaW50IG4pCisgICB7CistICBzcHJpbnRmKHAsIEZtdCwg UHJlYywgVHlwcFtuXSk7CisrICBzcHJpbnRmKHAsIEZtdCwgUHJlYywgVW5hbGlnbmVkUmVhZChu KSk7CisgICByZXR1cm4gcDsKKyAgIH0gLy8gZW5kIG9mIEdldENoYXJTdHJpbmcKKyAKK0BAIC0y OTEsNyArMjkxLDcgQEAgdm9pZCBUWVBCTEs8VFlQRT46OlNldFZhbHVlKFBWQUwgdmFscCwgaQor ICAgQ2hrVHlwKHZhbHApOworIAorICAgaWYgKCEoYiA9IHZhbHAtPklzTnVsbCgpKSkKKy0gICAg VHlwcFtuXSA9IEdldFR5cGVkVmFsdWUodmFscCk7CisrICAgIFVuYWxpZ25lZFdyaXRlKG4sIEdl dFR5cGVkVmFsdWUodmFscCkpOworICAgZWxzZQorICAgICBSZXNldChuKTsKKyAKK0BAIC0zNTMs OSArMzUzLDkgQEAgdm9pZCBUWVBCTEs8VFlQRT46OlNldFZhbHVlKFBDU1ogcCwgaW50CisgICB1 bG9uZ2xvbmcgdmFsID0gQ2hhclRvTnVtYmVyKHAsIHN0cmxlbihwKSwgbWF4dmFsLCBVbnNpZ25l ZCwgJm1pbnVzKTsgCisgICAgIAorICAgaWYgKG1pbnVzICYmIHZhbCA8IG1heHZhbCkKKy0gICAg VHlwcFtuXSA9IChUWVBFKSgtKHNpZ25lZCl2YWwpOworKyAgICBVbmFsaWduZWRXcml0ZShuLCAo VFlQRSkoLShzaWduZWQpdmFsKSk7CisgICBlbHNlCistICAgIFR5cHBbbl0gPSAoVFlQRSl2YWw7 CisrICAgIFVuYWxpZ25lZFdyaXRlKG4sIChUWVBFKXZhbCk7CisgCisgICBTZXROdWxsKG4sIGZh bHNlKTsKKyAgIH0gLy8gZW5kIG9mIFNldFZhbHVlCitAQCAtMzk4LDcgKzM5OCw3IEBAIHZvaWQg VFlQQkxLPGRvdWJsZT46OlNldFZhbHVlKFBDU1ogcCwgaW4KKyAJCXRocm93IFR5cGU7CisgCX0g Ly8gZW5kaWYgQ2hlY2sKKyAKKy0gIFR5cHBbbl0gPSBhdG9mKHApOworKyAgVW5hbGlnbmVkV3Jp dGUobiwgYXRvZihwKSk7CisgICBTZXROdWxsKG4sIGZhbHNlKTsKKyAgIH0gLy8gZW5kIG9mIFNl dFZhbHVlCisgCitAQCAtNDMwLDcgKzQzMCw3IEBAIHZvaWQgVFlQQkxLPFRZUEU+OjpTZXRWYWx1 ZShQVkJMSyBwdiwgaW4KKyAgIENoa1R5cChwdik7CisgCisgICBpZiAoIShiID0gcHYtPklzTnVs bChuMikgJiYgTnVsbGFibGUpKQorLSAgICBUeXBwW24xXSA9IEdldFR5cGVkVmFsdWUocHYsIG4y KTsKKysgICAgVW5hbGlnbmVkV3JpdGUobjEsIEdldFR5cGVkVmFsdWUocHYsIG4yKSk7CisgICBl bHNlCisgICAgIFJlc2V0KG4xKTsKKyAKK0BAIC00ODEsMTAgKzQ4MSwxMCBAQCB2b2lkIFRZUEJM SzxUWVBFPjo6U2V0TWluKFBWQUwgdmFscCwgaW50CisgICB7CisgICBDaGVja1Bhcm1zKHZhbHAs IG4pCisgICBUWVBFICB0dmFsID0gR2V0VHlwZWRWYWx1ZSh2YWxwKTsKKy0gIFRZUEUmIHRtaW4g PSBUeXBwW25dOworKyAgVFlQRSAgdG1pbiA9IFVuYWxpZ25lZFJlYWQobik7CisgCisgICBpZiAo dHZhbCA8IHRtaW4pCistICAgIHRtaW4gPSB0dmFsOworKyAgICBVbmFsaWduZWRXcml0ZShuLCB0 dmFsKTsKKyAKKyAgIH0gLy8gZW5kIG9mIFNldE1pbgorIAorQEAgLTQ5NiwxMCArNDk2LDEwIEBA IHZvaWQgVFlQQkxLPFRZUEU+OjpTZXRNYXgoUFZBTCB2YWxwLCBpbnQKKyAgIHsKKyAgIENoZWNr UGFybXModmFscCwgbikKKyAgIFRZUEUgIHR2YWwgPSBHZXRUeXBlZFZhbHVlKHZhbHApOworLSAg VFlQRSYgdG1pbiA9IFR5cHBbbl07CisrICBUWVBFICB0bWluID0gVW5hbGlnbmVkUmVhZChuKTsK KyAKKyAgIGlmICh0dmFsID4gdG1pbikKKy0gICAgdG1pbiA9IHR2YWw7CisrICAgIFVuYWxpZ25l ZFdyaXRlKG4sIHR2YWwpOworIAorICAgfSAvLyBlbmQgb2YgU2V0TWF4CisgCitAQCAtNTEzLDgg KzUxMyw3IEBAIHZvaWQgVFlQQkxLPFRZUEU+OjpTZXRWYWx1ZXMoUFZCTEsgcHYsIGkKKyAgIENo ZWNrVHlwZShwdikKKyAgIFRZUEUgKmxwID0gKChUWVBCTEsqKXB2KS0+VHlwcDsKKyAKKy0gIGZv ciAoaW50IGkgPSBrOyBpIDwgbjsgaSsrKSAgICAgICAgICAvLyBUT0RPCistICAgIFR5cHBbaV0g PSBscFtpXTsKKysgIG1lbWNweShUeXBwICsgaywgbHAgKyBrLCBzaXplb2YoVFlQRSkgKiBuKTsK KyAKKyAgIH0gLy8gZW5kIG9mIFNldFZhbHVlcworICNlbmRpZiAvLyAwCitAQCAtNTI1LDcgKzUy NCw3IEBAIHZvaWQgVFlQQkxLPFRZUEU+OjpTZXRWYWx1ZXMoUFZCTEsgcHYsIGkKKyB0ZW1wbGF0 ZSA8Y2xhc3MgVFlQRT4KKyB2b2lkIFRZUEJMSzxUWVBFPjo6TW92ZShpbnQgaSwgaW50IGopCisg ICB7CistICBUeXBwW2pdID0gVHlwcFtpXTsKKysgIFVuYWxpZ25lZFdyaXRlKGosIFVuYWxpZ25l ZFJlYWQoaSkpOworICAgTW92ZU51bGwoaSwgaik7CisgICB9IC8vIGVuZCBvZiBNb3ZlCisgCitA QCAtNTM5LDcgKzUzOCw3IEBAIGludCBUWVBCTEs8VFlQRT46OkNvbXBWYWwoUFZBTCB2cCwgaW50 IG4KKyAgIENoa0luZHgobik7CisgICBDaGtUeXAodnApOworICNlbmRpZiAgIC8vIF9ERUJVRwor LSAgVFlQRSBtbHYgPSBUeXBwW25dOworKyAgVFlQRSBtbHYgPSBVbmFsaWduZWRSZWFkKG4pOwor ICAgVFlQRSB2bHYgPSBHZXRUeXBlZFZhbHVlKHZwKTsKKyAKKyAgIHJldHVybiAodmx2ID4gbWx2 KSA/IDEgOiAodmx2IDwgbWx2KSA/ICgtMSkgOiAwOworQEAgLTU1MSw4ICs1NTAsOCBAQCBpbnQg VFlQQkxLPFRZUEU+OjpDb21wVmFsKFBWQUwgdnAsIGludCBuCisgdGVtcGxhdGUgPGNsYXNzIFRZ UEU+CisgaW50IFRZUEJMSzxUWVBFPjo6Q29tcFZhbChpbnQgaTEsIGludCBpMikKKyAgIHsKKy0g IFRZUEUgbHYxID0gVHlwcFtpMV07CistICBUWVBFIGx2MiA9IFR5cHBbaTJdOworKyAgVFlQRSBs djEgPSBVbmFsaWduZWRSZWFkKGkxKTsKKysgIFRZUEUgbHYyID0gVW5hbGlnbmVkUmVhZChpMik7 CisgCisgICByZXR1cm4gKGx2MSA+IGx2MikgPyAxIDogKGx2MSA8IGx2MikgPyAoLTEpIDogMDsK KyAgIH0gLy8gZW5kIG9mIENvbXBWYWwKK0BAIC01ODksNyArNTg4LDcgQEAgaW50IFRZUEJMSzxU WVBFPjo6RmluZChQVkFMIHZwKQorICAgVFlQRSBuID0gR2V0VHlwZWRWYWx1ZSh2cCk7CisgCisg ICBmb3IgKGkgPSAwOyBpIDwgTnZhbDsgaSsrKQorLSAgICBpZiAobiA9PSBUeXBwW2ldKQorKyAg ICBpZiAobiA9PSBVbmFsaWduZWRSZWFkKGkpKQorICAgICAgIGJyZWFrOworIAorICAgcmV0dXJu IChpIDwgTnZhbCkgPyBpIDogKC0xKTsKK0BAIC02MDUsNyArNjA0LDcgQEAgaW50IFRZUEJMSzxU WVBFPjo6R2V0TWF4TGVuZ3RoKHZvaWQpCisgICBpbnQgaSwgbiwgbTsKKyAKKyAgIGZvciAoaSA9 IG4gPSAwOyBpIDwgTnZhbDsgaSsrKSB7CistICAgIG0gPSBzcHJpbnRmKGJ1ZiwgRm10LCBUeXBw W2ldKTsKKysgICAgbSA9IHNwcmludGYoYnVmLCBGbXQsIFVuYWxpZ25lZFJlYWQoaSkpOworICAg ICBuID0gTVlfTUFYKG4sIG0pOworICAgICB9IC8vIGVuZGZvciBpCisgCitAQCAtMTMzNSw3ICsx MzM0LDcgQEAgY2hhciAqREFUQkxLOjpHZXRDaGFyU3RyaW5nKGNoYXIgKnAsIGludAorICAgY2hh ciAqdnA7CisgCisgICBpZiAoRHZhbHApIHsKKy0gICAgRHZhbHAtPlNldFZhbHVlKFR5cHBbbl0p OworKyAgICBEdmFscC0+U2V0VmFsdWUoVW5hbGlnbmVkUmVhZChuKSk7CisgICAgIHZwID0gRHZh bHAtPkdldENoYXJTdHJpbmcocCk7CisgICB9IGVsc2UKKyAgICAgdnAgPSBUWVBCTEs8aW50Pjo6 R2V0Q2hhclN0cmluZyhwLCBuKTsKK0BAIC0xMzUxLDcgKzEzNTAsNyBAQCB2b2lkIERBVEJMSzo6 U2V0VmFsdWUoUENTWiBwLCBpbnQgbikKKyAgIGlmIChEdmFscCkgeworICAgICAvLyBEZWNvZGUg dGhlIHN0cmluZyBhY2NvcmRpbmcgdG8gZm9ybWF0CisgICAgIER2YWxwLT5TZXRWYWx1ZV9wc3oo cCk7CistICAgIFR5cHBbbl0gPSBEdmFscC0+R2V0SW50VmFsdWUoKTsKKysgICAgVW5hbGlnbmVk V3JpdGUobiwgRHZhbHAtPkdldEludFZhbHVlKCkpOworICAgfSBlbHNlCisgICAgIFRZUEJMSzxp bnQ+OjpTZXRWYWx1ZShwLCBuKTsKKyAKKy0tLSBzdG9yYWdlL2Nvbm5lY3QvdmFsYmxrLmgKKysr KyBzdG9yYWdlL2Nvbm5lY3QvdmFsYmxrLmgKK0BAIC0xMzksNiArMTM5LDcgQEAgY2xhc3MgVkFM QkxLIDogcHVibGljIEJMT0NLIHsKKyAgIGludCAgICAgUHJlYzsgICAgICAgICAgICAgLy8gUHJl Y2lzaW9uIG9mIGZsb2F0IHZhbHVlcworICAgfTsgLy8gZW5kIG9mIGNsYXNzIFZBTEJMSworIAor KworIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKi8KKyAvKiAgQ2xhc3MgVFlQQkxLOiByZXByZXNlbnRzIGEgYmxv Y2sgb2YgdHlwZWQgdmFsdWVzLiAgICAgICAgICAgICAgICAgICovCisgLyoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq LworQEAgLTE1MSw0MCArMTUyLDQxIEBAIGNsYXNzIFRZUEJMSyA6IHB1YmxpYyBWQUxCTEsgewor ICAgLy8gSW1wbGVtZW50YXRpb24KKyAgIHZpcnR1YWwgYm9vbCAgIEluaXQoUEdMT0JBTCBnLCBi b29sIGNoZWNrKTsKKyAgIHZpcnR1YWwgaW50ICAgIEdldFZsZW4odm9pZCkge3JldHVybiBzaXpl b2YoVFlQRSk7fQorLSAgdmlydHVhbCBjaGFyICAgR2V0VGlueVZhbHVlKGludCBuKSB7cmV0dXJu IChjaGFyKVR5cHBbbl07fQorLSAgdmlydHVhbCB1Y2hhciAgR2V0VVRpbnlWYWx1ZShpbnQgbikg e3JldHVybiAodWNoYXIpVHlwcFtuXTt9CistICB2aXJ0dWFsIHNob3J0ICBHZXRTaG9ydFZhbHVl KGludCBuKSB7cmV0dXJuIChzaG9ydClUeXBwW25dO30KKy0gIHZpcnR1YWwgdXNob3J0IEdldFVT aG9ydFZhbHVlKGludCBuKSB7cmV0dXJuICh1c2hvcnQpVHlwcFtuXTt9CistICB2aXJ0dWFsIGlu dCAgICBHZXRJbnRWYWx1ZShpbnQgbikge3JldHVybiAoaW50KVR5cHBbbl07fQorLSAgdmlydHVh bCB1aW50ICAgR2V0VUludFZhbHVlKGludCBuKSB7cmV0dXJuICh1aW50KVR5cHBbbl07fQorLSAg dmlydHVhbCBsb25nbG9uZyBHZXRCaWdpbnRWYWx1ZShpbnQgbikge3JldHVybiAobG9uZ2xvbmcp VHlwcFtuXTt9CistICB2aXJ0dWFsIHVsb25nbG9uZyBHZXRVQmlnaW50VmFsdWUoaW50IG4pIHty ZXR1cm4gKHVsb25nbG9uZylUeXBwW25dO30KKy0gIHZpcnR1YWwgZG91YmxlIEdldEZsb2F0VmFs dWUoaW50IG4pIHtyZXR1cm4gKGRvdWJsZSlUeXBwW25dO30KKysKKysgIHZpcnR1YWwgY2hhciAg IEdldFRpbnlWYWx1ZShpbnQgbikge3JldHVybiAoY2hhcilVbmFsaWduZWRSZWFkKG4pO30KKysg IHZpcnR1YWwgdWNoYXIgIEdldFVUaW55VmFsdWUoaW50IG4pIHtyZXR1cm4gKHVjaGFyKVVuYWxp Z25lZFJlYWQobik7fQorKyAgdmlydHVhbCBzaG9ydCAgR2V0U2hvcnRWYWx1ZShpbnQgbikge3Jl dHVybiAoc2hvcnQpVW5hbGlnbmVkUmVhZChuKTt9CisrICB2aXJ0dWFsIHVzaG9ydCBHZXRVU2hv cnRWYWx1ZShpbnQgbikge3JldHVybiAodXNob3J0KVVuYWxpZ25lZFJlYWQobik7fQorKyAgdmly dHVhbCBpbnQgICAgR2V0SW50VmFsdWUoaW50IG4pIHtyZXR1cm4gKGludClVbmFsaWduZWRSZWFk KG4pO30KKysgIHZpcnR1YWwgdWludCAgIEdldFVJbnRWYWx1ZShpbnQgbikge3JldHVybiAodWlu dClVbmFsaWduZWRSZWFkKG4pO30KKysgIHZpcnR1YWwgbG9uZ2xvbmcgR2V0QmlnaW50VmFsdWUo aW50IG4pIHtyZXR1cm4gKGxvbmdsb25nKVVuYWxpZ25lZFJlYWQobik7fQorKyAgdmlydHVhbCB1 bG9uZ2xvbmcgR2V0VUJpZ2ludFZhbHVlKGludCBuKSB7cmV0dXJuICh1bG9uZ2xvbmcpVW5hbGln bmVkUmVhZChuKTt9CisrICB2aXJ0dWFsIGRvdWJsZSBHZXRGbG9hdFZhbHVlKGludCBuKSB7cmV0 dXJuIChkb3VibGUpVW5hbGlnbmVkUmVhZChuKTt9CisgICB2aXJ0dWFsIGNoYXIgICpHZXRDaGFy U3RyaW5nKGNoYXIgKnAsIGludCBuKTsKKy0gIHZpcnR1YWwgdm9pZCAgIFJlc2V0KGludCBuKSB7 VHlwcFtuXSA9IDA7fQorKyAgdmlydHVhbCB2b2lkICAgUmVzZXQoaW50IG4pIHtVbmFsaWduZWRX cml0ZShuLCAwKTt9CisgCisgICAvLyBNZXRob2RzCisgICB1c2luZyBWQUxCTEs6OlNldFZhbHVl OworICAgdmlydHVhbCB2b2lkICAgU2V0VmFsdWUoUENTWiBzcCwgaW50IG4pOworICAgdmlydHVh bCB2b2lkICAgU2V0VmFsdWUoY29uc3QgY2hhciAqc3AsIHVpbnQgbGVuLCBpbnQgbik7CisgICB2 aXJ0dWFsIHZvaWQgICBTZXRWYWx1ZShzaG9ydCBzdmFsLCBpbnQgbikKKy0gICAgICAgICAgICAg ICAgICB7VHlwcFtuXSA9IChUWVBFKXN2YWw7IFNldE51bGwobiwgZmFsc2UpO30KKysgICAgICAg ICAgICAgICAgICB7VW5hbGlnbmVkV3JpdGUobiwgKFRZUEUpc3ZhbCk7IFNldE51bGwobiwgZmFs c2UpO30KKyAgIHZpcnR1YWwgdm9pZCAgIFNldFZhbHVlKHVzaG9ydCBzdmFsLCBpbnQgbikKKy0g ICAgICAgICAgICAgICAgICB7VHlwcFtuXSA9IChUWVBFKXN2YWw7IFNldE51bGwobiwgZmFsc2Up O30KKysgICAgICAgICAgICAgICAgICB7VW5hbGlnbmVkV3JpdGUobiwgKFRZUEUpc3ZhbCk7IFNl dE51bGwobiwgZmFsc2UpO30KKyAgIHZpcnR1YWwgdm9pZCAgIFNldFZhbHVlKGludCBsdmFsLCBp bnQgbikKKy0gICAgICAgICAgICAgICAgICB7VHlwcFtuXSA9IChUWVBFKWx2YWw7IFNldE51bGwo biwgZmFsc2UpO30KKysgICAgICAgICAgICAgICAgICB7VW5hbGlnbmVkV3JpdGUobiwgKFRZUEUp bHZhbCk7IFNldE51bGwobiwgZmFsc2UpO30KKyAgIHZpcnR1YWwgdm9pZCAgIFNldFZhbHVlKHVp bnQgbHZhbCwgaW50IG4pCistICAgICAgICAgICAgICAgICAge1R5cHBbbl0gPSAoVFlQRSlsdmFs OyBTZXROdWxsKG4sIGZhbHNlKTt9CisrICAgICAgICAgICAgICAgICAge1VuYWxpZ25lZFdyaXRl KG4sIChUWVBFKWx2YWwpOyBTZXROdWxsKG4sIGZhbHNlKTt9CisgICB2aXJ0dWFsIHZvaWQgICBT ZXRWYWx1ZShsb25nbG9uZyBsdmFsLCBpbnQgbikKKy0gICAgICAgICAgICAgICAgICB7VHlwcFtu XSA9IChUWVBFKWx2YWw7IFNldE51bGwobiwgZmFsc2UpO30KKysgICAgICAgICAgICAgICAgICB7 VW5hbGlnbmVkV3JpdGUobiwgKFRZUEUpbHZhbCk7IFNldE51bGwobiwgZmFsc2UpO30KKyAgIHZp cnR1YWwgdm9pZCAgIFNldFZhbHVlKHVsb25nbG9uZyBsdmFsLCBpbnQgbikKKy0gICAgICAgICAg ICAgICAgICB7VHlwcFtuXSA9IChUWVBFKWx2YWw7IFNldE51bGwobiwgZmFsc2UpO30KKysgICAg ICAgICAgICAgICAgICB7VW5hbGlnbmVkV3JpdGUobiwgKFRZUEUpbHZhbCk7IFNldE51bGwobiwg ZmFsc2UpO30KKyAgIHZpcnR1YWwgdm9pZCAgIFNldFZhbHVlKGRvdWJsZSBmdmFsLCBpbnQgbikK Ky0gICAgICAgICAgICAgICAgICB7VHlwcFtuXSA9IChUWVBFKWZ2YWw7IFNldE51bGwobiwgZmFs c2UpO30KKysgICAgICAgICAgICAgICAgICB7VW5hbGlnbmVkV3JpdGUobiwgKFRZUEUpZnZhbCk7 IFNldE51bGwobiwgZmFsc2UpO30KKyAgIHZpcnR1YWwgdm9pZCAgIFNldFZhbHVlKGNoYXIgY3Zh bCwgaW50IG4pCistICAgICAgICAgICAgICAgICAge1R5cHBbbl0gPSAoVFlQRSljdmFsOyBTZXRO dWxsKG4sIGZhbHNlKTt9CisrICAgICAgICAgICAgICAgICAge1VuYWxpZ25lZFdyaXRlKG4sIChU WVBFKWN2YWwpOyBTZXROdWxsKG4sIGZhbHNlKTt9CisgICB2aXJ0dWFsIHZvaWQgICBTZXRWYWx1 ZSh1Y2hhciBjdmFsLCBpbnQgbikKKy0gICAgICAgICAgICAgICAgICB7VHlwcFtuXSA9IChUWVBF KWN2YWw7IFNldE51bGwobiwgZmFsc2UpO30KKysgICAgICAgICAgICAgICAgICB7VW5hbGlnbmVk V3JpdGUobiwgKFRZUEUpY3ZhbCk7IFNldE51bGwobiwgZmFsc2UpO30KKyAgIHZpcnR1YWwgdm9p ZCAgIFNldFZhbHVlKFBWQUwgdmFscCwgaW50IG4pOworICAgdmlydHVhbCB2b2lkICAgU2V0VmFs dWUoUFZCTEsgcHYsIGludCBuMSwgaW50IG4yKTsKKyAgIHZpcnR1YWwgdm9pZCAgIFNldE1pbihQ VkFMIHZhbHAsIGludCBuKTsKK0BAIC0yMDYsNiArMjA4LDE3IEBAIGNsYXNzIFRZUEJMSyA6IHB1 YmxpYyBWQUxCTEsgeworICAgLy8gTWVtYmVycworICAgVFlQRSogY29uc3QgJlR5cHA7CisgICBj b25zdCBjaGFyICAqRm10OworKworKyAgLy8gVW5hbGlnbmVkIGFjY2VzcworKyAgVFlQRSBVbmFs aWduZWRSZWFkKGludCBuKSBjb25zdCB7CisrICAgIFRZUEUgcmVzdWx0OworKyAgICBtZW1jcHko JnJlc3VsdCwgVHlwcCArIG4sIHNpemVvZihUWVBFKSk7CisrICAgIHJldHVybiByZXN1bHQ7Cisr ICB9CisrCisrICB2b2lkIFVuYWxpZ25lZFdyaXRlKGludCBuLCBUWVBFIHZhbHVlKSB7CisrICAg IG1lbWNweShUeXBwICsgbiwgJnZhbHVlLCBzaXplb2YoVFlQRSkpOworKyAgfQorICAgfTsgLy8g ZW5kIG9mIGNsYXNzIFRZUEJMSworIAorIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvbWFyaWFkYi9wYXRjaGVzL21pcHMtZ3Jvb25nYS1hdG9taWMucGF0Y2ggYi9zcmNwa2dz L21hcmlhZGIvcGF0Y2hlcy9taXBzLWdyb29uZ2EtYXRvbWljLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45Yzk5Y2MxYjAyNgotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL21pcHMtZ3Jvb25nYS1hdG9taWMucGF0Y2gKQEAgLTAs MCArMSwzNCBAQAorRnJvbTogRGViaWFuIE15U1FMIE1haW50YWluZXJzIDxwa2ctbXlzcWwtbWFp bnRAbGlzdHMuYWxpb3RoLmRlYmlhbi5vcmc+CitEYXRlOiBUaHUsIDEwIEF1ZyAyMDE3IDIwOjQw OjI4ICswMjAwCitTdWJqZWN0OiBtaXBzLWdyb29uZ2EtYXRvbWljCisKKy0tLQorIHN0b3JhZ2Uv bXJvb25nYS92ZW5kb3IvZ3Jvb25nYS9DTWFrZUxpc3RzLnR4dCAgICAgfCAyICsrCisgc3RvcmFn ZS9tcm9vbmdhL3ZlbmRvci9ncm9vbmdhL2xpYi9DTWFrZUxpc3RzLnR4dCB8IDEgKworIDIgZmls ZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgc3RvcmFnZS9tcm9vbmdh L3ZlbmRvci9ncm9vbmdhL0NNYWtlTGlzdHMudHh0IHN0b3JhZ2UvbXJvb25nYS92ZW5kb3IvZ3Jv b25nYS9DTWFrZUxpc3RzLnR4dAoraW5kZXggZTI3MDcwZi4uN2YxODk5YyAxMDA2NDQKKy0tLSBz dG9yYWdlL21yb29uZ2EvdmVuZG9yL2dyb29uZ2EvQ01ha2VMaXN0cy50eHQKKysrKyBzdG9yYWdl L21yb29uZ2EvdmVuZG9yL2dyb29uZ2EvQ01ha2VMaXN0cy50eHQKK0BAIC0yMzgsNiArMjM4LDgg QEAgZW5kbWFjcm8oKQorIGluY2x1ZGUoYnVpbGQvYWNfbWFjcm9zL2NoZWNrX2hlYWRlcnMubTQp CisgaW5jbHVkZShidWlsZC9hY19tYWNyb3MvY2hlY2tfZnVuY3Rpb25zLm00KQorIAorK2FjX2No ZWNrX2xpYihhdG9taWMgX19hdG9taWNfc3RvcmVfOCkKKysKKyBhY19jaGVja19zeW1ib2xzKGZw Y2xhc3NpZnkgbWF0aC5oKQorIGFjX2NoZWNrX2xpYihtIGZwY2xhc3NpZnkpCisgCitkaWZmIC0t Z2l0IHN0b3JhZ2UvbXJvb25nYS92ZW5kb3IvZ3Jvb25nYS9saWIvQ01ha2VMaXN0cy50eHQgc3Rv cmFnZS9tcm9vbmdhL3ZlbmRvci9ncm9vbmdhL2xpYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggNjc2 NTI2MS4uNmMxMzczNyAxMDA2NDQKKy0tLSBzdG9yYWdlL21yb29uZ2EvdmVuZG9yL2dyb29uZ2Ev bGliL0NNYWtlTGlzdHMudHh0CisrKysgc3RvcmFnZS9tcm9vbmdhL3ZlbmRvci9ncm9vbmdhL2xp Yi9DTWFrZUxpc3RzLnR4dAorQEAgLTkwLDYgKzkwLDcgQEAgZW5kaWYoKQorIHNldF90YXJnZXRf cHJvcGVydGllcyhsaWJncm9vbmdhIFBST1BFUlRJRVMgT1VUUFVUX05BTUUgImdyb29uZ2EiKQor IAorIHNldChHUk5fQUxMX0xJQlJBUklFUworKyAgICAke0FUT01JQ19MSUJTfQorICAgICAke0VY RUNJTkZPX0xJQlN9CisgICAgICR7UlRfTElCU30KKyAgICAgJHtQVEhSRUFEX0xJQlN9CmRpZmYg LS1naXQgYS9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLWlubm9iYXNlLWF0b21pYy5wYXRj aCBiL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL21pcHMtaW5ub2Jhc2UtYXRvbWljLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xOTVmZTQxYTQyMgotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL21pcHMtaW5ub2Jhc2UtYXRvbWlj LnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK0Zyb206IERlYmlhbiBNeVNRTCBNYWludGFpbmVycyA8 cGtnLW15c3FsLW1haW50QGxpc3RzLmFsaW90aC5kZWJpYW4ub3JnPgorRGF0ZTogVGh1LCAxMCBB dWcgMjAxNyAyMDo0MDoyOSArMDIwMAorU3ViamVjdDogbWlwcy1pbm5vYmFzZS1hdG9taWMKKwor LS0tCisgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL29zMHN5bmMuaCB8IDEgKworIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IHN0b3JhZ2UvaW5ub2Jhc2UvaW5j bHVkZS9vczBzeW5jLmggc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL29zMHN5bmMuaAoraW5kZXgg YmIyMjVjNS4uNjUyMDIzNyAxMDA2NDQKKy0tLSBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvb3Mw c3luYy5oCisrKysgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL29zMHN5bmMuaAorQEAgLTM3LDYg KzM3LDcgQEAgQ3JlYXRlZCA5LzYvMTk5NSBIZWlra2kgVHV1cmkKKyAKKyAjaW5jbHVkZSAidW5p di5pIgorICNpbmNsdWRlICJ1dDBsc3QuaCIKKysjaW5jbHVkZSAic3luYzB0eXBlcy5oIgorIAor IC8qKiBDUFUgY2FjaGUgbGluZSBzaXplICovCisgI2lmZGVmIF9fcG93ZXJwY19fCmRpZmYgLS1n aXQgYS9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLW1hY2hpbmUucGF0Y2ggYi9zcmNwa2dz L21hcmlhZGIvcGF0Y2hlcy9taXBzLW1hY2hpbmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAuLjNkYmJiYWFhNTM4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9tYXJpYWRiL3BhdGNoZXMvbWlwcy1tYWNoaW5lLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK0Zy b206IERlYmlhbiBNeVNRTCBNYWludGFpbmVycyA8cGtnLW15c3FsLW1haW50QGxpc3RzLmFsaW90 aC5kZWJpYW4ub3JnPgorRGF0ZTogVGh1LCAxMCBBdWcgMjAxNyAyMDo0MDoyOSArMDIwMAorU3Vi amVjdDogbWlwcy1tYWNoaW5lCisKKy0tLQorIGNtYWtlL3BhY2thZ2VfbmFtZS5jbWFrZSB8IDQg KysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBjbWFr ZS9wYWNrYWdlX25hbWUuY21ha2UgY21ha2UvcGFja2FnZV9uYW1lLmNtYWtlCitpbmRleCA0OTMw YTZiLi43NjgxZjc4IDEwMDY0NAorLS0tIGNtYWtlL3BhY2thZ2VfbmFtZS5jbWFrZQorKysrIGNt YWtlL3BhY2thZ2VfbmFtZS5jbWFrZQorQEAgLTM0LDYgKzM0LDEwIEBAIElGKE5PVCBWRVJTSU9O KQorICAgICAgIFNFVChERUZBVUxUX01BQ0hJTkUgIm1pcHMiKQorICAgICBFTkRJRigpCisgCisr ICAgIElGKE5PVCA2NEJJVCBBTkQgQ01BS0VfU1lTVEVNX1BST0NFU1NPUiBNQVRDSEVTICJebWlw czY0IikKKysgICAgICBTRVQoREVGQVVMVF9NQUNISU5FICJtaXBzIikKKysgICAgRU5ESUYoKQor KworICAgICBJRihDTUFLRV9TWVNURU1fTkFNRSBNQVRDSEVTICJXaW5kb3dzIikKKyAgICAgICBT RVQoTkVFRF9EQVNIX0JFVFdFRU5fUExBVEZPUk1fQU5EX01BQ0hJTkUgMCkKKyAgICAgICBTRVQo REVGQVVMVF9QTEFURk9STSAid2luIikKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbWFyaWFkYi9wYXRj aGVzL211c2wtcHBjLnBhdGNoIGIvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbXVzbC1wcGMucGF0 Y2gKaW5kZXggMTZjYmFjNzFhOTQuLjU3YzdmNGJmMTViIDEwMDY0NAotLS0gYS9zcmNwa2dzL21h cmlhZGIvcGF0Y2hlcy9tdXNsLXBwYy5wYXRjaAorKysgYi9zcmNwa2dzL21hcmlhZGIvcGF0Y2hl cy9tdXNsLXBwYy5wYXRjaApAQCAtMTUsMTIgKzE1LDExIEBAIGJ1aWx0aW4gZm9yIHRoaXMgaW4g Z2NjIGZvciBhZ2VzLCBzbyBqdXN0IHVzZSB0aGF0IGluc3RlYWQuCiAgIyBlbmRpZgogLS0tIHN0 b3JhZ2UveHRyYWRiL2luY2x1ZGUvdXQwdXQuaAogKysrIHN0b3JhZ2UveHRyYWRiL2luY2x1ZGUv dXQwdXQuaAotQEAgLTg2LDggKzg2LDcgQEAgc3RydWN0IHV0X3doZW5fZHRvciB7Ci0gICAgaW5k ZXBlbmRlbnQgd2F5IGJ5IHVzaW5nIFlpZWxkUHJvY2Vzc29yLiAqLwotICMgIGRlZmluZSBVVF9S RUxBWF9DUFUoKSBZaWVsZFByb2Nlc3NvcigpCi0gIyBlbGlmIGRlZmluZWQoX19wb3dlcnBjX18p Ci0tI2luY2x1ZGUgPHN5cy9wbGF0Zm9ybS9wcGMuaD4KLS0jICBkZWZpbmUgVVRfUkVMQVhfQ1BV KCkgX19wcGNfZ2V0X3RpbWViYXNlKCkKK0BAIC04Niw2ICs4Niw4IEBACisgIyBlbGlmIGRlZmlu ZWQoX19wb3dlcnBjX18pICYmIGRlZmluZWQgX19HTElCQ19fCisgI2luY2x1ZGUgPHN5cy9wbGF0 Zm9ybS9wcGMuaD4KKyAjICBkZWZpbmUgVVRfUkVMQVhfQ1BVKCkgX19wcGNfZ2V0X3RpbWViYXNl KCkKKysjIGVsaWYgZGVmaW5lZChfX3Bvd2VycGNfXykKICsjICBkZWZpbmUgVVRfUkVMQVhfQ1BV KCkgX19idWlsdGluX3BwY19nZXRfdGltZWJhc2UoKQogICMgZWxzZQogICMgIGRlZmluZSBVVF9S RUxBWF9DUFUoKSAoKHZvaWQpMCkgLyogYXZvaWQgd2FybmluZyBmb3IgYW4gZW1wdHkgc3RhdGVt ZW50ICovCmRpZmYgLS1naXQgYS9zcmNwa2dzL21hcmlhZGIvdGVtcGxhdGUgYi9zcmNwa2dzL21h cmlhZGIvdGVtcGxhdGUKaW5kZXggODg2MTE0MzhhOTkuLjhiYTRjNWU4NjQyIDEwMDY0NAotLS0g YS9zcmNwa2dzL21hcmlhZGIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9tYXJpYWRiL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbWFyaWFkYicKIHBrZ25hbWU9 bWFyaWFkYgotdmVyc2lvbj0xMC4xLjMwCi1yZXZpc2lvbj04Cit2ZXJzaW9uPTEwLjEuNDUKK3Jl dmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURNWVNRTF9EQVRB RElSPS92YXIvbGliL215c3FsCiAgLURNWVNRTF9VTklYX0FERFI9L3J1bi9teXNxbGQvbXlzcWxk LnNvY2sgLURERUZBVUxUX0NIQVJTRVQ9dXRmOApAQCAtMjcsNyArMjcsNyBAQCBtYWludGFpbmVy PSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vbmx5 IgogaG9tZXBhZ2U9Imh0dHBzOi8vbWFyaWFkYi5vcmcvIgogZGlzdGZpbGVzPSJodHRwOi8vYXJj aGl2ZS5tYXJpYWRiLm9yZy8kcGtnbmFtZS0kdmVyc2lvbi9zb3VyY2UvJHBrZ25hbWUtJHZlcnNp b24udGFyLmd6IgotY2hlY2tzdW09MTczYTVlNWEyNDgxOWUwYTQ2OWMzYmQwOWI1Yzk4NDkxNjc2 YzM3YzYwOTU4ODJhMmVhMzRjNWFmMDk5NmM4OAorY2hlY2tzdW09OWQ4ZjBmNzFmOTYxM2IyMDI4 ZmZjNWM1YmU4Yjk4OTQ4ZWM5NTVlYjBkODk2MDBkMThlZDdjYzA0ODA3ZGFkNQogbGliMzJkaXNh YmxlZD15ZXMKIHByb3ZpZGVzPSJteXNxbC0ke3ZlcnNpb259XyR7cmV2aXNpb259IgogcmVwbGFj ZXM9Im15c3FsPj0wIgpAQCAtMzYsNiArMzYsMTAgQEAgc3lzdGVtX2FjY291bnRzPSJteXNxbCIK IG15c3FsX2hvbWVkaXI9Ii92YXIvbGliL215c3FsIgogQ0ZMQUdTPSItdyIKIAoraWYgWyAiJFhC UFNfVEFSR0VUX05PX0FUT01JQzgiIF07IHRoZW4KKwltYWtlZGVwZW5kcys9IiBsaWJhdG9taWMt ZGV2ZWwiCitmaQorCiBwcmVfY29uZmlndXJlKCkgewogCSMgV2UgbmVlZCBzb21lIGhvc3QgYmlu YXJpZXMgYmVmb3JlIHN0YXJ0aW5nIGNyb3NzIGNvbXBpbGF0aW9uLgogCWlmIFsgIiRDUk9TU19C VUlMRCIgXTsgdGhlbgo= --===============2389982858248197390==--