From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: * X-Spam-Status: No, score=1.9 required=5.0 tests=ALL_TRUSTED,DKIM_ADSP_NXDOMAIN, NO_DNS_FOR_FROM,T_SCC_BODY_TEXT_LINE,URIBL_BLACK autolearn=no autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id A9C03240AC for ; Sat, 16 Mar 2024 23:58:01 +0100 (CET) Content-Type: multipart/mixed; boundary="===============3497753232284698448==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_glibc=3A_update_to_2=2E39=2E?= To: ml@inbox.vuxu.org From: oreo639 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 16 Mar 2024 23:58:01 +0100 List-Id: Message-Id: <20240316225801.A9C03240AC@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============3497753232284698448== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgb3JlbzYzOSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vb3Jl bzYzOS92b2lkLXBhY2thZ2VzIGdsaWJjMi4zOQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvNDkxNjMKCmdsaWJjOiB1cGRhdGUgdG8gMi4zOS4KPCEtLSBV bmNvbW1lbnQgcmVsZXZhbnQgc2VjdGlvbnMgYW5kIGRlbGV0ZSBvcHRpb25zIHdoaWNoIGFyZSBu b3QgYXBwbGljYWJsZSAtLT4NCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQotIEkgdGVzdGVk IHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqYnJpZWZseSoqDQoNCltjaSBza2lwXQ0KDQpEZXBl bmRzIG9uOiBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwv NDkxNDYNClNlZTogaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9p c3N1ZXMvNDkxNjINCg0KTm8gbWFqb3IgcGFja2FnaW5nIGNoYW5nZXMgaW5kaWNhdGVkIGJ5IHVw c3RyZWFtOg0KaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9nbGliYy93aWtpL1JlbGVhc2UvMi4zOQ0K aHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9pbmZvLWdudS8yMDI0LTAxL21zZzAw MDE3Lmh0bWwNCg0KPCEtLQ0KIyMjIyBOZXcgcGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNv bmZvcm1zIHRvIHRoZSBbcGFja2FnZSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92 b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI3BhY2th Z2UtcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioNCi0tPg0KDQo8IS0tIE5vdGU6IElmIHRo ZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBob3VycywgcGxlYXNlIGFkZCBj aSBza2lwIHRhZyBhcyBkZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4 L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50 ZWdyYXRpb24NCmFuZCB0ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUgYnVpbGQgYW5kLCBpZiBzdXBw b3J0ZWQsIGF0IGxlYXN0IG9uZSBjcm9zcyBidWlsZC4NCklnbm9yZSB0aGlzIHNlY3Rpb24gaWYg dGhpcyBQUiBpcyBub3Qgc2tpcHBpbmcgQ0kuDQotLT4NCjwhLS0NCiMjIyMgTG9jYWwgYnVpbGQg dGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVj dHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFy Y2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFyY2g2 NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0tPg0KCgpBIHBhdGNoIGZpbGUg ZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDkx NjMucGF0Y2ggaXMgYXR0YWNoZWQ= --===============3497753232284698448== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-glibc2.39-49163.patch" RnJvbSA2Mjk1MmQwNDFkMTg2NTU5YzE2MjM4MzdhNWM5YjY0ZGIwNTZlM2IxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDxvcmVvNjM5MUBnbWFpbC5jb20+CkRhdGU6IFdl ZCwgNiBNYXIgMjAyNCAxNzo1OToxMSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMTJdIGdsaWJj OiB1cGRhdGUgdG8gMi4zOS4KCkFkZCAtLWVuYWJsZS1vcHRpb24tY2hlY2tpbmcgdG8gY29uZmln dXJlIGZsYWdzIGFuZCByZW1vdmUgdW51c2VkIC0td2l0aC1tYXJjaApmbGFncy4gVGhvc2UgZmxh Z3MgY29tZSBmcm9tIGdjYyBhbmQgbm90IGdsaWJjLgoKQWxzbywgY29ycmVjdCByb290c2JpbmRp ciBpbiBjb25maWdwYXJhbXMgYW5kIHJlbW92ZSBsaWJjX2N2X3Jvb3RzYmluZGlyIHNpbmNlCml0 IGdldHMgb3ZlcnJpZGRlbiBieSAubTQgc2NyaXB0cyBpbiBjb25maWd1cmUgYW5kIHJvb3RzYmlu ZGlyIGluIGNvbmZpZ3BhcmFtcy4KLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgNjAgKystLQogLi4uNGYxMGI1MDRiYzQ1NjRlOWYyMmYwMDkwNzA5 M2YxYWI5MzM4LnBhdGNoIHwgMzM1IC0tLS0tLS0tLS0tLS0tLS0tLQogLi4uMWEwMDQ3ZmIyNmE2 NWE5YjJhN2I4Y2Q5NzcyNDNmN2QzNTNjLnBhdGNoIHwgMjYyICsrKysrKysrKysrKysrCiAuLi4x MTA1ODUyNTY4YzNlYmM3MTIyMjVhZTc4YjhjOGJhMzFhNzgucGF0Y2ggfCAyOTYgLS0tLS0tLS0t LS0tLS0tLQogLi4uZmMxY2YwOTQ0MDZhMTM4ZTRkMWJjZjk1NTNlNTllZGNmODlkLnBhdGNoIHwg MjUyIC0tLS0tLS0tLS0tLS0KIC4uLjE1OTYyNmI2N2ZlMTFmMzllODNlMjIyY2Y0MzQ4YTM5NjJm My5wYXRjaCB8ICA4MCArKysrKwogLi4uNWU0ZmRhMWY2ZGFiNGJmNzQ0MjcwNmZlMzAzYmYyODMw MzZjLnBhdGNoIHwgIDM3ICsrCiBzcmNwa2dzL2dsaWJjL3BhdGNoZXMvQ1ZFLTIwMjMtNjI0Ni5w YXRjaCAgICAgfCAxNzggLS0tLS0tLS0tLQogc3JjcGtncy9nbGliYy9wYXRjaGVzL0NWRS0yMDIz LTY3NzkucGF0Y2ggICAgIHwgMTAzIC0tLS0tLQogc3JjcGtncy9nbGliYy9wYXRjaGVzL0NWRS0y MDIzLTY3ODAucGF0Y2ggICAgIHwgIDM4IC0tCiAuLi4wOGRkNzc0YjYxN2Y5OTQxOWJkYzNjZjJh Y2U0NTYwY2QyZDYucGF0Y2ggfCAxOTIgLS0tLS0tLS0tLQogLi4udGUtR0xJQkNfVFVOQUJMRVMt aW4tc2V0eGlkLWJpbmFyaWVzLnBhdGNoIHwgMTk4IC0tLS0tLS0tLS0tCiBzcmNwa2dzL2dsaWJj L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzMgKy0KIDEzIGZpbGVzIGNoYW5n ZWQsIDQyMyBpbnNlcnRpb25zKCspLCAxNjQxIGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8wMGFlNGYxMGI1MDRiYzQ1NjRlOWYyMmYwMDkwNzA5 M2YxYWI5MzM4LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9nbGliYy9wYXRjaGVz LzFiOWMxYTAwNDdmYjI2YTY1YTliMmE3YjhjZDk3NzI0M2Y3ZDM1M2MucGF0Y2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2dsaWJjL3BhdGNoZXMvMzA3MjMtMS01NDJiMTEwNTg1MjU2OGMz ZWJjNzEyMjI1YWU3OGI4YzhiYTMxYTc4LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9nbGliYy9wYXRjaGVzLzMwNzIzLTItMGRjN2ZjMWNmMDk0NDA2YTEzOGU0ZDFiY2Y5NTUzZTU5 ZWRjZjg5ZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8z MTJlMTU5NjI2YjY3ZmUxMWYzOWU4M2UyMjJjZjQzNDhhMzk2MmYzLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9nbGliYy9wYXRjaGVzLzYzMjk1ZTRmZGExZjZkYWI0YmY3NDQyNzA2 ZmUzMDNiZjI4MzAzNmMucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2dsaWJjL3Bh dGNoZXMvQ1ZFLTIwMjMtNjI0Ni5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZ2xp YmMvcGF0Y2hlcy9DVkUtMjAyMy02Nzc5LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9nbGliYy9wYXRjaGVzL0NWRS0yMDIzLTY3ODAucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2dsaWJjL3BhdGNoZXMvYjI1NTA4ZGQ3NzRiNjE3Zjk5NDE5YmRjM2NmMmFjZTQ1NjBj ZDJkNi5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9jb21t aXR0ZWQtMS0yLVByb3BhZ2F0ZS1HTElCQ19UVU5BQkxFUy1pbi1zZXR4aWQtYmluYXJpZXMucGF0 Y2gKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBkMzI5 OGUyMTAwM2RmMi4uMWI1NTRmMjNiY2ZlMTIgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysr IGIvY29tbW9uL3NobGlicwpAQCAtMTcsNDAgKzE3LDQwIEBACiAjIG9uZSAob3JkZXIgdG9wLT5i b3R0b20pIGlzIHByZWZlcnJlZCBvdmVyIHRoZSBuZXh0IG9uZXMuCiAjCiBsaWJjLnNvIG11c2wt MS4xLjI0XzcKLWxpYmMuc28uNiBnbGliYy0yLjM4XzEKLWxpYm0uc28uNiBnbGliYy0yLjM4XzEK LWxpYnB0aHJlYWQuc28uMCBnbGliYy0yLjM4XzEKLWxpYnJ0LnNvLjEgZ2xpYmMtMi4zOF8xCi1s aWJkbC5zby4yIGdsaWJjLTIuMzhfMQotbGQtbGludXgteDg2LTY0LnNvLjIgZ2xpYmMtMi4zOF8x IHg4Nl82NAotbGQtbGludXguc28uMiBnbGliYy0yLjM4XzEgaTY4NgotbGQtbGludXguc28uMyBn bGliYy0yLjM4XzEgYXJtdjV0ZWwKLWxkLWxpbnV4LWFhcmNoNjQuc28uMSBnbGliYy0yLjM4XzEg YWFyY2g2NAotbGQtbGludXgtcmlzY3Y2NC1scDY0ZC5zby4xIGdsaWJjLTIuMzhfMSByaXNjdjY0 Ci1sZDY0LnNvLjIgZ2xpYmMtMi4zOF8xIHBwYzY0Ci1sZC5zby4xIGdsaWJjLTIuMzhfMSBtaXBz Ci1sZC5zby4xIGdsaWJjLTIuMzhfMSBwcGMKLWxkLWxpbnV4LWFybWhmLnNvLjMgZ2xpYmMtMi4z OF8xCi1saWJyZXNvbHYuc28uMiBnbGliYy0yLjM4XzEKLWxpYmFubC5zby4xIGdsaWJjLTIuMzhf MQotbGlidGhyZWFkX2RiLnNvLjEgZ2xpYmMtMi4zOF8xCi1saWJ1dGlsLnNvLjEgZ2xpYmMtMi4z OF8xCi1saWJuc2wuc28uMSBnbGliYy0yLjM4XzEKLWxpYm5zc19kYi5zby4yIGdsaWJjLTIuMzhf MQotbGlibnNzX2ZpbGVzLnNvLjIgZ2xpYmMtMi4zOF8xCi1saWJuc3NfY29tcGF0LnNvLjIgZ2xp YmMtMi4zOF8xCi1saWJuc3NfZG5zLnNvLjIgZ2xpYmMtMi4zOF8xCi1saWJuc3NfaGVzaW9kLnNv LjIgZ2xpYmMtMi4zOF8xCi1saWJCcm9rZW5Mb2NhbGUuc28uMSBnbGliYy0yLjM4XzEKK2xpYmMu c28uNiBnbGliYy0yLjM5XzEKK2xpYm0uc28uNiBnbGliYy0yLjM5XzEKK2xpYnB0aHJlYWQuc28u MCBnbGliYy0yLjM5XzEKK2xpYnJ0LnNvLjEgZ2xpYmMtMi4zOV8xCitsaWJkbC5zby4yIGdsaWJj LTIuMzlfMQorbGQtbGludXgteDg2LTY0LnNvLjIgZ2xpYmMtMi4zOV8xIHg4Nl82NAorbGQtbGlu dXguc28uMiBnbGliYy0yLjM5XzEgaTY4NgorbGQtbGludXguc28uMyBnbGliYy0yLjM5XzEgYXJt djV0ZWwKK2xkLWxpbnV4LWFhcmNoNjQuc28uMSBnbGliYy0yLjM5XzEgYWFyY2g2NAorbGQtbGlu dXgtcmlzY3Y2NC1scDY0ZC5zby4xIGdsaWJjLTIuMzlfMSByaXNjdjY0CitsZDY0LnNvLjIgZ2xp YmMtMi4zOV8xIHBwYzY0CitsZC5zby4xIGdsaWJjLTIuMzlfMSBtaXBzCitsZC5zby4xIGdsaWJj LTIuMzlfMSBwcGMKK2xkLWxpbnV4LWFybWhmLnNvLjMgZ2xpYmMtMi4zOV8xCitsaWJyZXNvbHYu c28uMiBnbGliYy0yLjM5XzEKK2xpYmFubC5zby4xIGdsaWJjLTIuMzlfMQorbGlidGhyZWFkX2Ri LnNvLjEgZ2xpYmMtMi4zOV8xCitsaWJ1dGlsLnNvLjEgZ2xpYmMtMi4zOV8xCitsaWJuc2wuc28u MSBnbGliYy0yLjM5XzEKK2xpYm5zc19kYi5zby4yIGdsaWJjLTIuMzlfMQorbGlibnNzX2ZpbGVz LnNvLjIgZ2xpYmMtMi4zOV8xCitsaWJuc3NfY29tcGF0LnNvLjIgZ2xpYmMtMi4zOV8xCitsaWJu c3NfZG5zLnNvLjIgZ2xpYmMtMi4zOV8xCitsaWJuc3NfaGVzaW9kLnNvLjIgZ2xpYmMtMi4zOV8x CitsaWJCcm9rZW5Mb2NhbGUuc28uMSBnbGliYy0yLjM5XzEKK2xpYm1lbXVzYWdlLnNvIGdsaWJj LTIuMzlfMQorbGliU2VnRmF1bHQuc28gZ2xpYmMtMi4zOV8xCitsaWJwY3Byb2ZpbGUuc28gZ2xp YmMtMi4zOV8xCitsaWJjaWRuLnNvLjEgZ2xpYmMtMi4zOV8xCitsaWJtdmVjLnNvLjEgZ2xpYmMt Mi4zOV8xCiBsaWJjcnlwdC5zby4yIGxpYnhjcnlwdC00LjQuMzZfMQogbGliY3J5cHQuc28uMSBs aWJ4Y3J5cHQtY29tcGF0LTQuNC4zNl8xCiBsaWJTaW1HZWFyQ29yZS5zby4yMDIwLjMuMTcgc2lt Z2Vhci0yMDIwLjMuMTdfMQogbGliU2ltR2VhclNjZW5lLnNvLjIwMjAuMy4xNyBzaW1nZWFyLTIw MjAuMy4xN18xCi1saWJtZW11c2FnZS5zbyBnbGliYy0yLjM4XzEKLWxpYlNlZ0ZhdWx0LnNvIGds aWJjLTIuMzhfMQotbGlicGNwcm9maWxlLnNvIGdsaWJjLTIuMzhfMQotbGliY2lkbi5zby4xIGds aWJjLTIuMzhfMQotbGlibXZlYy5zby4xIGdsaWJjLTIuMzhfMQogbGliY2RkZ21wLnNvLjAgY2Rk bGliLTAuOTRtXzEKIGxpYmNkZC5zby4wIGNkZGxpYi0wLjk0bV8xCiBsaWJjb3dzcWwuc28uMCBj b3dzcWwtMS4xNS40XzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8wMGFlNGYx MGI1MDRiYzQ1NjRlOWYyMmYwMDkwNzA5M2YxYWI5MzM4LnBhdGNoIGIvc3JjcGtncy9nbGliYy9w YXRjaGVzLzAwYWU0ZjEwYjUwNGJjNDU2NGU5ZjIyZjAwOTA3MDkzZjFhYjkzMzgucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmNTM4NzY3ODA5YjgyLi4wMDAwMDAwMDAwMDAw MAotLS0gYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvMDBhZTRmMTBiNTA0YmM0NTY0ZTlmMjJmMDA5 MDcwOTNmMWFiOTMzOC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzNSArMCwwIEBACi1Gcm9t IDAwYWU0ZjEwYjUwNGJjNDU2NGU5ZjIyZjAwOTA3MDkzZjFhYjkzMzggTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBTaWRkaGVzaCBQb3lhcmVrYXIgPHNpZGRoZXNoQHNvdXJjZXdhcmUu b3JnPgotRGF0ZTogRnJpLCAxNSBTZXAgMjAyMyAxMzo1MToxMiAtMDQwMAotU3ViamVjdDogW1BB VENIXSBnZXRhZGRyaW5mbzogRml4IHVzZSBhZnRlciBmcmVlIGluIGdldGNhbm9ubmFtZQotIChD VkUtMjAyMy00ODA2KQotCi1XaGVuIGFuIE5TUyBwbHVnaW4gb25seSBpbXBsZW1lbnRzIHRoZSBf Z2V0aG9zdGJ5bmFtZTJfciBhbmQKLV9nZXRjYW5vbm5hbWVfciBjYWxsYmFja3MsIGdldGFkZHJp bmZvIGNvdWxkIHVzZSBtZW1vcnkgdGhhdCB3YXMgZnJlZWQKLWR1cmluZyB0bXBidWYgcmVzaXpp bmcsIHRocm91Z2ggaF9uYW1lIGluIGEgcHJldmlvdXMgcXVlcnkgcmVzcG9uc2UuCi0KLVRoZSBi YWNraW5nIHN0b3JlIGZvciByZXMtPmF0LT5uYW1lIHdoZW4gZG9pbmcgYSBxdWVyeSB3aXRoCi1n ZXRob3N0YnluYW1lM19yIG9yIGdldGhvc3RieW5hbWUyX3IgaXMgdG1wYnVmLCB3aGljaCBpcyBy ZWFsbG9jYXRlZCBpbgotZ2V0aG9zdHMgZHVyaW5nIHRoZSBxdWVyeS4gIEZvciBBRl9JTkVUNiBs b29rdXAgd2l0aCBBSV9BTEwgfAotQUlfVjRNQVBQRUQsIGdldGhvc3RzIGdldHMgY2FsbGVkIHR3 aWNlLCBvbmNlIGZvciBhIHY2IGxvb2t1cCBhbmQgc2Vjb25kCi1mb3IgYSB2NCBsb29rdXAuICBJ biB0aGlzIGNhc2UsIGlmIHRoZSBmaXJzdCBjYWxsIHJlYWxsb2NhdGVzIHRtcGJ1ZgotZW5vdWdo IG51bWJlciBvZiB0aW1lcywgcmVzdWx0aW5nIGluIGEgbWFsbG9jLCB0aC0+aF9uYW1lICh0aGF0 Ci1yZXMtPmF0LT5uYW1lIHJlZmVycyB0bykgZW5kcyB1cCBvbiBhIGhlYXAgYWxsb2NhdGVkIHN0 b3JhZ2UgaW4gdG1wYnVmLgotTm93IGlmIHRoZSBzZWNvbmQgY2FsbCB0byBnZXRob3N0cyBhbHNv IGNhdXNlcyB0aGUgcGx1Z2luIGNhbGxiYWNrIHRvCi1yZXR1cm4gTlNTX1NUQVRVU19UUllBR0FJ TiwgdG1wYnVmIHdpbGwgZ2V0IGZyZWVkLCByZXN1bHRpbmcgaW4gYSBVQUYKLXJlZmVyZW5jZSBp biByZXMtPmF0LT5uYW1lLiAgVGhpcyB0aGVuIGdldHMgZGVyZWZlcmVuY2VkIGluIHRoZQotZ2V0 Y2Fub25uYW1lX3IgcGx1Z2luIGNhbGwsIHJlc3VsdGluZyBpbiB0aGUgdXNlIGFmdGVyIGZyZWUu Ci0KLUZpeCB0aGlzIGJ5IGNvcHlpbmcgaF9uYW1lIG92ZXIgYW5kIGZyZWVpbmcgaXQgYXQgdGhl IGVuZC4gIFRoaXMKLXJlc29sdmVzIEJaICMzMDg0Mywgd2hpY2ggaXMgYXNzaWduZWQgQ1ZFLTIw MjMtNDgwNi4KLQotU2lnbmVkLW9mZi1ieTogU2lkZGhlc2ggUG95YXJla2FyIDxzaWRkaGVzaEBz b3VyY2V3YXJlLm9yZz4KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDk3M2ZlOTNhNTY3NWM0 Mjc5OGIyMTYxYzZmMjljMDFiMGUyNDM5OTQpCi0tLS0KLSBuc3MvTWFrZWZpbGUgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAxNSArKysrLQotIG5zcy9uc3NfdGVzdF9nYWlfaHYy X2Nhbm9ubmFtZS5jICAgICAgICAgICAgICB8IDU2ICsrKysrKysrKysrKysrKysrCi0gbnNzL3Rz dC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUuYyAgICAgICAgICAgICAgIHwgNjMgKysrKysrKysrKysr KysrKysrKwotIG5zcy90c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLmggICAgICAgICAgICAgICB8 ICAxICsKLSAuLi4vcG9zdGNsZWFuLnJlcSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MAotIC4uLi90c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLnNjcmlwdCAgICAgICAgICB8ICAyICsK LSBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmMgICAgICAgICAgICAgICAgICAgfCAyNSArKysr Ky0tLQotIDcgZmlsZXMgY2hhbmdlZCwgMTUyIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygt KQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBuc3MvbnNzX3Rlc3RfZ2FpX2h2Ml9jYW5vbm5hbWUuYwot IGNyZWF0ZSBtb2RlIDEwMDY0NCBuc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5jCi0gY3Jl YXRlIG1vZGUgMTAwNjQ0IG5zcy90c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLmgKLSBjcmVhdGUg bW9kZSAxMDA2NDQgbnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUucm9vdC9wb3N0Y2xlYW4u cmVxCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IG5zcy90c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLnJv b3QvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5zY3JpcHQKLQotZGlmZiAtLWdpdCBhL25zcy9N YWtlZmlsZSBiL25zcy9NYWtlZmlsZQotaW5kZXggMDZmY2RjNDUwZjEuLjhhNTEyNmVjZjM0IDEw MDY0NAotLS0tIGEvbnNzL01ha2VmaWxlCi0rKysgYi9uc3MvTWFrZWZpbGUKLUBAIC04Miw2ICs4 Miw3IEBAIHRlc3RzLWNvbnRhaW5lciA6PSBcCi0gICB0c3QtbnNzLXRlc3QzIFwKLSAgIHRzdC1y ZWxvYWQxIFwKLSAgIHRzdC1yZWxvYWQyIFwKLSsgIHRzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUg XAotICMgdGVzdHMtY29udGFpbmVyCi0gCi0gIyBUZXN0cyB3aGljaCBuZWVkIGxpYmRsCi1AQCAt MTQ1LDcgKzE0Niw4IEBAIGxpYm5zc19jb21wYXQtaW5oaWJpdC1vCT0gJChmaWx0ZXItb3V0IC5v cywkKG9iamVjdC1zdWZmaXhlcykpCi0gaWZlcSAoJChidWlsZC1zdGF0aWMtbnNzKSx5ZXMpCi0g dGVzdHMtc3RhdGljCQkrPSB0c3QtbnNzLXN0YXRpYwotIGVuZGlmCi0tZXh0cmEtdGVzdC1vYmpz CQkrPSBuc3NfdGVzdDEub3MgbnNzX3Rlc3QyLm9zIG5zc190ZXN0X2Vycm5vLm9zCi0rZXh0cmEt dGVzdC1vYmpzCQkrPSBuc3NfdGVzdDEub3MgbnNzX3Rlc3QyLm9zIG5zc190ZXN0X2Vycm5vLm9z IFwKLSsJCQkgICBuc3NfdGVzdF9nYWlfaHYyX2Nhbm9ubmFtZS5vcwotIAotIGluY2x1ZGUgLi4v UnVsZXMKLSAKLUBAIC0xODAsMTIgKzE4MiwxNiBAQCBydGxkLXRlc3RzLUxERkxBR1MgKz0gLVds LC0tZHluYW1pYy1saXN0PW5zc190ZXN0LnZlcgotIGxpYm9mLW5zc190ZXN0MSA9IGV4dHJhbW9k dWxlcwotIGxpYm9mLW5zc190ZXN0MiA9IGV4dHJhbW9kdWxlcwotIGxpYm9mLW5zc190ZXN0X2Vy cm5vID0gZXh0cmFtb2R1bGVzCi0rbGlib2YtbnNzX3Rlc3RfZ2FpX2h2Ml9jYW5vbm5hbWUgPSBl eHRyYW1vZHVsZXMKLSAkKG9ianBmeCkvbGlibnNzX3Rlc3QxLnNvOiAkKG9ianBmeCluc3NfdGVz dDEub3MgJChsaW5rLWxpYmMtZGVwcykKLSAJJChidWlsZC1tb2R1bGUpCi0gJChvYmpwZngpL2xp Ym5zc190ZXN0Mi5zbzogJChvYmpwZngpbnNzX3Rlc3QyLm9zICQobGluay1saWJjLWRlcHMpCi0g CSQoYnVpbGQtbW9kdWxlKQotICQob2JqcGZ4KS9saWJuc3NfdGVzdF9lcnJuby5zbzogJChvYmpw ZngpbnNzX3Rlc3RfZXJybm8ub3MgJChsaW5rLWxpYmMtZGVwcykKLSAJJChidWlsZC1tb2R1bGUp Ci0rJChvYmpwZngpL2xpYm5zc190ZXN0X2dhaV9odjJfY2Fub25uYW1lLnNvOiBcCi0rICAkKG9i anBmeCluc3NfdGVzdF9nYWlfaHYyX2Nhbm9ubmFtZS5vcyAkKGxpbmstbGliYy1kZXBzKQotKwkk KGJ1aWxkLW1vZHVsZSkKLSAkKG9ianBmeCluc3NfdGVzdDIub3MgOiBuc3NfdGVzdDEuYwotICMg VXNlIHRoZSBuc3NfZmlsZXMgc3VmZml4IGZvciB0aGVzZSBvYmplY3RzIGFzIHdlbGwuCi0gJChv YmpwZngpL2xpYm5zc190ZXN0MS5zbyQobGlibnNzX2ZpbGVzLnNvLXZlcnNpb24pOiAkKG9ianBm eCkvbGlibnNzX3Rlc3QxLnNvCi1AQCAtMTk1LDEwICsyMDEsMTQgQEAgJChvYmpwZngpL2xpYm5z c190ZXN0Mi5zbyQobGlibnNzX2ZpbGVzLnNvLXZlcnNpb24pOiAkKG9ianBmeCkvbGlibnNzX3Rl c3QyLnNvCi0gJChvYmpwZngpL2xpYm5zc190ZXN0X2Vycm5vLnNvJChsaWJuc3NfZmlsZXMuc28t dmVyc2lvbik6IFwKLSAgICQob2JqcGZ4KS9saWJuc3NfdGVzdF9lcnJuby5zbwotIAkkKG1ha2Ut bGluaykKLSskKG9ianBmeCkvbGlibnNzX3Rlc3RfZ2FpX2h2Ml9jYW5vbm5hbWUuc28kKGxpYm5z c19maWxlcy5zby12ZXJzaW9uKTogXAotKyAgJChvYmpwZngpL2xpYm5zc190ZXN0X2dhaV9odjJf Y2Fub25uYW1lLnNvCi0rCSQobWFrZS1saW5rKQotICQocGF0c3Vic3QgJSwkKG9ianBmeCklLm91 dCwkKHRlc3RzKSAkKHRlc3RzLWNvbnRhaW5lcikpIDogXAotIAkkKG9ianBmeCkvbGlibnNzX3Rl c3QxLnNvJChsaWJuc3NfZmlsZXMuc28tdmVyc2lvbikgXAotIAkkKG9ianBmeCkvbGlibnNzX3Rl c3QyLnNvJChsaWJuc3NfZmlsZXMuc28tdmVyc2lvbikgXAotLQkkKG9ianBmeCkvbGlibnNzX3Rl c3RfZXJybm8uc28kKGxpYm5zc19maWxlcy5zby12ZXJzaW9uKQotKwkkKG9ianBmeCkvbGlibnNz X3Rlc3RfZXJybm8uc28kKGxpYm5zc19maWxlcy5zby12ZXJzaW9uKSBcCi0rCSQob2JqcGZ4KS9s aWJuc3NfdGVzdF9nYWlfaHYyX2Nhbm9ubmFtZS5zbyQobGlibnNzX2ZpbGVzLnNvLXZlcnNpb24p Ci0gCi0gaWZlcSAoeWVzLCQoaGF2ZS10aHJlYWQtbGlicmFyeSkpCi0gJChvYmpwZngpdHN0LWNh bmNlbC1nZXRwd3VpZF9yOiAkKHNoYXJlZC10aHJlYWQtbGlicmFyeSkKLUBAIC0yMTUsMyArMjI1 LDQgQEAgTERGTEFHUy10c3QtbnNzLXRlc3QzID0gLVdsLC0tZGlzYWJsZS1uZXctZHRhZ3MKLSBM REZMQUdTLXRzdC1uc3MtdGVzdDQgPSAtV2wsLS1kaXNhYmxlLW5ldy1kdGFncwotIExERkxBR1Mt dHN0LW5zcy10ZXN0NSA9IC1XbCwtLWRpc2FibGUtbmV3LWR0YWdzCi0gTERGTEFHUy10c3QtbnNz LXRlc3RfZXJybm8gPSAtV2wsLS1kaXNhYmxlLW5ldy1kdGFncwotK0xERkxBR1MtdHN0LW5zcy10 ZXN0X2dhaV9odjJfY2Fub25uYW1lID0gLVdsLC0tZGlzYWJsZS1uZXctZHRhZ3MKLWRpZmYgLS1n aXQgYS9uc3MvbnNzX3Rlc3RfZ2FpX2h2Ml9jYW5vbm5hbWUuYyBiL25zcy9uc3NfdGVzdF9nYWlf aHYyX2Nhbm9ubmFtZS5jCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAu LjQ0MzljODNjOWY0Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9uc3MvbnNzX3Rlc3RfZ2FpX2h2Ml9j YW5vbm5hbWUuYwotQEAgLTAsMCArMSw1NiBAQAotKy8qIE5TUyBzZXJ2aWNlIHByb3ZpZGVyIHRo YXQgb25seSBwcm92aWRlcyBnZXRob3N0YnluYW1lMl9yLgotKyAgIENvcHlyaWdodCBUaGUgR05V IFRvb2xjaGFpbiBBdXRob3JzLgotKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBM aWJyYXJ5LgotKwotKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotKyAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSsgICBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSsgICB2ZXJzaW9uIDIu MSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K LSsKLSsgICBUaGUgR05VIEMgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSsgICBMZXNzZXIg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKwotKyAgIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK LSsgICBMaWNlbnNlIGFsb25nIHdpdGggdGhlIEdOVSBDIExpYnJhcnk7IGlmIG5vdCwgc2VlCi0r ICAgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rI2luY2x1ZGUgPG5z cy5oPgotKyNpbmNsdWRlIDxzdGRsaWIuaD4KLSsjaW5jbHVkZSA8c3RyaW5nLmg+Ci0rI2luY2x1 ZGUgIm5zcy90c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLmgiCi0rCi0rLyogQ2F0Y2ggbWlzbmFt ZWQgYW5kIGZ1bmN0aW9ucy4gICovCi0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBlcnJvciAiLVdt aXNzaW5nLXByb3RvdHlwZXMiCi0rTlNTX0RFQ0xBUkVfTU9EVUxFX0ZVTkNUSU9OUyAodGVzdF9n YWlfaHYyX2Nhbm9ubmFtZSkKLSsKLStleHRlcm4gZW51bSBuc3Nfc3RhdHVzIF9uc3NfZmlsZXNf Z2V0aG9zdGJ5bmFtZTJfciAoY29uc3QgY2hhciAqLCBpbnQsCi0rCQkJCQkJICAgIHN0cnVjdCBo b3N0ZW50ICosIGNoYXIgKiwKLSsJCQkJCQkgICAgc2l6ZV90LCBpbnQgKiwgaW50ICopOwotKwot K2VudW0gbnNzX3N0YXR1cwotK19uc3NfdGVzdF9nYWlfaHYyX2Nhbm9ubmFtZV9nZXRob3N0Ynlu YW1lMl9yIChjb25zdCBjaGFyICpuYW1lLCBpbnQgYWYsCi0rCQkJCQkgICAgICBzdHJ1Y3QgaG9z dGVudCAqcmVzdWx0LAotKwkJCQkJICAgICAgY2hhciAqYnVmZmVyLCBzaXplX3QgYnVmbGVuLAot KwkJCQkJICAgICAgaW50ICplcnJub3AsIGludCAqaGVycm5vcCkKLSt7Ci0rICByZXR1cm4gX25z c19maWxlc19nZXRob3N0YnluYW1lMl9yIChuYW1lLCBhZiwgcmVzdWx0LCBidWZmZXIsIGJ1Zmxl biwgZXJybm9wLAotKwkJCQkgICAgICBoZXJybm9wKTsKLSt9Ci0rCi0rZW51bSBuc3Nfc3RhdHVz Ci0rX25zc190ZXN0X2dhaV9odjJfY2Fub25uYW1lX2dldGNhbm9ubmFtZV9yIChjb25zdCBjaGFy ICpuYW1lLCBjaGFyICpidWZmZXIsCi0rCQkJCQkgICAgc2l6ZV90IGJ1ZmxlbiwgY2hhciAqKnJl c3VsdCwKLSsJCQkJCSAgICBpbnQgKmVycm5vcCwgaW50ICpoX2Vycm5vcCkKLSt7Ci0rICAvKiBX ZSBleHBlY3QgUVVFUllOQU1FLCB3aGljaCBpcyBhIHNtYWxsIGVub3VnaCBzdHJpbmcgdGhhdCBp dCBzaG91bGRuJ3QgZmFpbAotKyAgICAgdGhlIHRlc3QuICAqLwotKyAgaWYgKG1lbWNtcCAoUVVF UllOQU1FLCBuYW1lLCBzaXplb2YgKFFVRVJZTkFNRSkpCi0rICAgICAgfHwgYnVmbGVuIDwgc2l6 ZW9mIChRVUVSWU5BTUUpKQotKyAgICBhYm9ydCAoKTsKLSsKLSsgIHN0cm5jcHkgKGJ1ZmZlciwg bmFtZSwgYnVmbGVuKTsKLSsgICpyZXN1bHQgPSBidWZmZXI7Ci0rICByZXR1cm4gTlNTX1NUQVRV U19TVUNDRVNTOwotK30KLWRpZmYgLS1naXQgYS9uc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFt ZS5jIGIvbnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUuYwotbmV3IGZpbGUgbW9kZSAxMDA2 NDQKLWluZGV4IDAwMDAwMDAwMDAwLi5kNWYxMGMwN2Q2YQotLS0tIC9kZXYvbnVsbAotKysrIGIv bnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUuYwotQEAgLTAsMCArMSw2MyBAQAotKy8qIFRl c3QgTlNTIHF1ZXJ5IHBhdGggZm9yIHBsdWdpbnMgdGhhdCBvbmx5IGltcGxlbWVudCBnZXRob3N0 YnluYW1lMgotKyAgICgjMzA4NDMpLgotKyAgIENvcHlyaWdodCBUaGUgR05VIFRvb2xjaGFpbiBB dXRob3JzLgotKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5LgotKwot KyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgotKyAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM ZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSsgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSsgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGlj ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBUaGUg R05VIEMgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSsgICBMZXNzZXIgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKwotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSsgICBMaWNlbnNl IGFsb25nIHdpdGggdGhlIEdOVSBDIExpYnJhcnk7IGlmIG5vdCwgc2VlCi0rICAgPGh0dHBzOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rI2luY2x1ZGUgPG5zcy5oPgotKyNpbmNs dWRlIDxuZXRkYi5oPgotKyNpbmNsdWRlIDxzdGRsaWIuaD4KLSsjaW5jbHVkZSA8c3RyaW5nLmg+ Ci0rI2luY2x1ZGUgPHN1cHBvcnQvY2hlY2suaD4KLSsjaW5jbHVkZSA8c3VwcG9ydC94c3RkaW8u aD4KLSsjaW5jbHVkZSAibnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUuaCIKLSsKLSsjZGVm aW5lIFBSRVBBUkUgZG9fcHJlcGFyZQotKwotK3N0YXRpYyB2b2lkIGRvX3ByZXBhcmUgKGludCBh LCBjaGFyICoqYXYpCi0rewotKyAgRklMRSAqaG9zdHMgPSB4Zm9wZW4gKCIvZXRjL2hvc3RzIiwg InciKTsKLSsgIGZvciAodW5zaWduZWQgaSA9IDI7IGkgPCAyNTU7IGkrKykKLSsgICAgewotKyAg ICAgIGZwcmludGYgKGhvc3RzLCAiZmYwMTo6ZmYwMjpmZjAzOiV1OjJcdHRlc3QuZXhhbXBsZS5j b21cbiIsIGkpOwotKyAgICAgIGZwcmludGYgKGhvc3RzLCAiMTkyLjE2OC4wLiV1XHR0ZXN0LmV4 YW1wbGUuY29tXG4iLCBpKTsKLSsgICAgfQotKyAgeGZjbG9zZSAoaG9zdHMpOwotK30KLSsKLStz dGF0aWMgaW50Ci0rZG9fdGVzdCAodm9pZCkKLSt7Ci0rICBfX25zc19jb25maWd1cmVfbG9va3Vw ICgiaG9zdHMiLCAidGVzdF9nYWlfaHYyX2Nhbm9ubmFtZSIpOwotKwotKyAgc3RydWN0IGFkZHJp bmZvIGhpbnRzID0ge307Ci0rICBzdHJ1Y3QgYWRkcmluZm8gKnJlc3VsdCA9IE5VTEw7Ci0rCi0r ICBoaW50cy5haV9mYW1pbHkgPSBBRl9JTkVUNjsKLSsgIGhpbnRzLmFpX2ZsYWdzID0gQUlfQUxM IHwgQUlfVjRNQVBQRUQgfCBBSV9DQU5PTk5BTUU7Ci0rCi0rICBpbnQgcmV0ID0gZ2V0YWRkcmlu Zm8gKFFVRVJZTkFNRSwgTlVMTCwgJmhpbnRzLCAmcmVzdWx0KTsKLSsKLSsgIGlmIChyZXQgIT0g MCkKLSsgICAgRkFJTF9FWElUMSAoImdldGFkZHJpbmZvIGZhaWxlZDogJXNcbiIsIGdhaV9zdHJl cnJvciAocmV0KSk7Ci0rCi0rICBURVNUX0NPTVBBUkVfU1RSSU5HIChyZXN1bHQtPmFpX2Nhbm9u bmFtZSwgUVVFUllOQU1FKTsKLSsKLSsgIGZyZWVhZGRyaW5mbyhyZXN1bHQpOwotKyAgcmV0dXJu IDA7Ci0rfQotKwotKyNpbmNsdWRlIDxzdXBwb3J0L3Rlc3QtZHJpdmVyLmM+Ci1kaWZmIC0tZ2l0 IGEvbnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUuaCBiL25zcy90c3QtbnNzLWdhaS1odjIt Y2Fub25uYW1lLmgKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uMTRm MmE5Y2IwODYKLS0tLSAvZGV2L251bGwKLSsrKyBiL25zcy90c3QtbnNzLWdhaS1odjItY2Fub25u YW1lLmgKLUBAIC0wLDAgKzEgQEAKLSsjZGVmaW5lIFFVRVJZTkFNRSAidGVzdC5leGFtcGxlLmNv bSIKLWRpZmYgLS1naXQgYS9uc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5yb290L3Bvc3Rj bGVhbi5yZXEgYi9uc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5yb290L3Bvc3RjbGVhbi5y ZXEKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uZTY5ZGUyOWJiMmQK LWRpZmYgLS1naXQgYS9uc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5yb290L3RzdC1uc3Mt Z2FpLWh2Mi1jYW5vbm5hbWUuc2NyaXB0IGIvbnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUu cm9vdC90c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLnNjcmlwdAotbmV3IGZpbGUgbW9kZSAxMDA2 NDQKLWluZGV4IDAwMDAwMDAwMDAwLi4zMTg0OGI0YTI4NQotLS0tIC9kZXYvbnVsbAotKysrIGIv bnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUucm9vdC90c3QtbnNzLWdhaS1odjItY2Fub25u YW1lLnNjcmlwdAotQEAgLTAsMCArMSwyIEBACi0rY3AgJEIvbnNzL2xpYm5zc190ZXN0X2dhaV9o djJfY2Fub25uYW1lLnNvICRML2xpYm5zc190ZXN0X2dhaV9odjJfY2Fub25uYW1lLnNvLjIKLStz dQotZGlmZiAtLWdpdCBhL3N5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYyBiL3N5c2RlcHMvcG9z aXgvZ2V0YWRkcmluZm8uYwotaW5kZXggMDM1NmI2MjJiZTYuLmIyMjM2YjEwNWMxIDEwMDY0NAot LS0tIGEvc3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jCi0rKysgYi9zeXNkZXBzL3Bvc2l4L2dl dGFkZHJpbmZvLmMKLUBAIC0xMjAsNiArMTIwLDcgQEAgc3RydWN0IGdhaWhfcmVzdWx0Ci0gewot ICAgc3RydWN0IGdhaWhfYWRkcnR1cGxlICphdDsKLSAgIGNoYXIgKmNhbm9uOwotKyAgY2hhciAq aF9uYW1lOwotICAgYm9vbCBmcmVlX2F0OwotICAgYm9vbCBnb3RfaXB2NjsKLSB9OwotQEAgLTE2 NSw2ICsxNjYsNyBAQCBnYWloX3Jlc3VsdF9yZXNldCAoc3RydWN0IGdhaWhfcmVzdWx0ICpyZXMp Ci0gICBpZiAocmVzLT5mcmVlX2F0KQotICAgICBmcmVlIChyZXMtPmF0KTsKLSAgIGZyZWUgKHJl cy0+Y2Fub24pOwotKyAgZnJlZSAocmVzLT5oX25hbWUpOwotICAgbWVtc2V0IChyZXMsIDAsIHNp emVvZiAoKnJlcykpOwotIH0KLSAKLUBAIC0yMDMsOSArMjA1LDggQEAgZ2FpaF9pbmV0X3NlcnYg KGNvbnN0IGNoYXIgKnNlcnZpY2VuYW1lLCBjb25zdCBzdHJ1Y3QgZ2FpaF90eXBlcHJvdG8gKnRw LAotICAgcmV0dXJuIDA7Ci0gfQotIAotLS8qIENvbnZlcnQgc3RydWN0IGhvc3RlbnQgdG8gYSBs aXN0IG9mIHN0cnVjdCBnYWloX2FkZHJ0dXBsZSBvYmplY3RzLiAgaF9uYW1lCi0tICAgaXMgbm90 IGNvcGllZCwgYW5kIHRoZSBzdHJ1Y3QgaG9zdGVudCBvYmplY3QgbXVzdCBub3QgYmUgZGVhbGxv Y2F0ZWQKLS0gICBwcmVtYXR1cmVseS4gIFRoZSBuZXcgYWRkcmVzc2VzIGFyZSBhcHBlbmRlZCB0 byB0aGUgdHVwbGUgYXJyYXkgaW4gUkVTLiAgKi8KLSsvKiBDb252ZXJ0IHN0cnVjdCBob3N0ZW50 IHRvIGEgbGlzdCBvZiBzdHJ1Y3QgZ2FpaF9hZGRydHVwbGUgb2JqZWN0cy4gIFRoZSBuZXcKLSsg ICBhZGRyZXNzZXMgYXJlIGFwcGVuZGVkIHRvIHRoZSB0dXBsZSBhcnJheSBpbiBSRVMuICAqLwot IHN0YXRpYyBib29sCi0gY29udmVydF9ob3N0ZW50X3RvX2dhaWhfYWRkcnR1cGxlIChjb25zdCBz dHJ1Y3QgYWRkcmluZm8gKnJlcSwgaW50IGZhbWlseSwKLSAJCQkJICAgc3RydWN0IGhvc3RlbnQg KmgsIHN0cnVjdCBnYWloX3Jlc3VsdCAqcmVzKQotQEAgLTIzOCw2ICsyMzksMTUgQEAgY29udmVy dF9ob3N0ZW50X3RvX2dhaWhfYWRkcnR1cGxlIChjb25zdCBzdHJ1Y3QgYWRkcmluZm8gKnJlcSwg aW50IGZhbWlseSwKLSAgIHJlcy0+YXQgPSBhcnJheTsKLSAgIHJlcy0+ZnJlZV9hdCA9IHRydWU7 Ci0gCi0rICAvKiBEdXBsaWNhdGUgaF9uYW1lIGJlY2F1c2UgaXQgbWF5IGdldCByZWNsYWltZWQg d2hlbiB0aGUgdW5kZXJseWluZyBzdG9yYWdlCi0rICAgICBpcyBmcmVlZC4gICovCi0rICBpZiAo cmVzLT5oX25hbWUgPT0gTlVMTCkKLSsgICAgewotKyAgICAgIHJlcy0+aF9uYW1lID0gX19zdHJk dXAgKGgtPmhfbmFtZSk7Ci0rICAgICAgaWYgKHJlcy0+aF9uYW1lID09IE5VTEwpCi0rCXJldHVy biBmYWxzZTsKLSsgICAgfQotKwotICAgLyogVXBkYXRlIHRoZSBuZXh0IHBvaW50ZXJzIG9uIHJl YWxsb2NhdGlvbi4gICovCi0gICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG9sZDsgaSsrKQotICAg ICBhcnJheVtpXS5uZXh0ID0gYXJyYXkgKyBpICsgMTsKLUBAIC0yNjIsNyArMjcyLDYgQEAgY29u dmVydF9ob3N0ZW50X3RvX2dhaWhfYWRkcnR1cGxlIChjb25zdCBzdHJ1Y3QgYWRkcmluZm8gKnJl cSwgaW50IGZhbWlseSwKLSAJfQotICAgICAgIGFycmF5W2ldLm5leHQgPSBhcnJheSArIGkgKyAx OwotICAgICB9Ci0tICBhcnJheVswXS5uYW1lID0gaC0+aF9uYW1lOwotICAgYXJyYXlbY291bnQg LSAxXS5uZXh0ID0gTlVMTDsKLSAKLSAgIHJldHVybiB0cnVlOwotQEAgLTMyNCwxNSArMzMzLDE1 IEBAIGdldGhvc3RzIChuc3NfZ2V0aG9zdGJ5bmFtZTNfciBmY3QsIGludCBmYW1pbHksIGNvbnN0 IGNoYXIgKm5hbWUsCi0gICAgbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZS4gIFRoZSByZXR1cm5l ZCBzdHJpbmcgaXMgYWxsb2NhdGVkIG9uIHRoZQotICAgIGhlYXA7IHRoZSBjYWxsZXIgaGFzIHRv IGZyZWUgaXQuICAqLwotIHN0YXRpYyBjaGFyICoKLS1nZXRjYW5vbm5hbWUgKG5zc19hY3Rpb25f bGlzdCBuaXAsIHN0cnVjdCBnYWloX2FkZHJ0dXBsZSAqYXQsIGNvbnN0IGNoYXIgKm5hbWUpCi0r Z2V0Y2Fub25uYW1lIChuc3NfYWN0aW9uX2xpc3QgbmlwLCBjb25zdCBjaGFyICpobmFtZSwgY29u c3QgY2hhciAqbmFtZSkKLSB7Ci0gICBuc3NfZ2V0Y2Fub25uYW1lX3IgKmNmY3QgPSBfX25zc19s b29rdXBfZnVuY3Rpb24gKG5pcCwgImdldGNhbm9ubmFtZV9yIik7Ci0gICBjaGFyICpzID0gKGNo YXIgKikgbmFtZTsKLSAgIGlmIChjZmN0ICE9IE5VTEwpCi0gICAgIHsKLSAgICAgICBjaGFyIGJ1 ZlsyNTZdOwotLSAgICAgIGlmIChETF9DQUxMX0ZDVCAoY2ZjdCwgKGF0LT5uYW1lID86IG5hbWUs IGJ1Ziwgc2l6ZW9mIChidWYpLAotLQkJCSAgICAgICZzLCAmZXJybm8sICZoX2Vycm5vKSkgIT0g TlNTX1NUQVRVU19TVUNDRVNTKQotKyAgICAgIGlmIChETF9DQUxMX0ZDVCAoY2ZjdCwgKGhuYW1l ID86IG5hbWUsIGJ1Ziwgc2l6ZW9mIChidWYpLCAmcywgJmVycm5vLAotKwkJCSAgICAgICZoX2Vy cm5vKSkgIT0gTlNTX1NUQVRVU19TVUNDRVNTKQotIAkvKiBJZiB0aGUgY2Fub25pY2FsIG5hbWUg Y2Fubm90IGJlIGRldGVybWluZWQsIHVzZSB0aGUgcGFzc2VkCi0gCSAgIHN0cmluZy4gICovCi0g CXMgPSAoY2hhciAqKSBuYW1lOwotQEAgLTc3MSw3ICs3ODAsNyBAQCBnZXRfbnNzX2FkZHJlc3Nl cyAoY29uc3QgY2hhciAqbmFtZSwgY29uc3Qgc3RydWN0IGFkZHJpbmZvICpyZXEsCi0gCQkgIGlm ICgocmVxLT5haV9mbGFncyAmIEFJX0NBTk9OTkFNRSkgIT0gMAotIAkJICAgICAgJiYgcmVzLT5j YW5vbiA9PSBOVUxMKQotIAkJICAgIHsKLS0JCSAgICAgIGNoYXIgKmNhbm9uYnVmID0gZ2V0Y2Fu b25uYW1lIChuaXAsIHJlcy0+YXQsIG5hbWUpOwotKwkJICAgICAgY2hhciAqY2Fub25idWYgPSBn ZXRjYW5vbm5hbWUgKG5pcCwgcmVzLT5oX25hbWUsIG5hbWUpOwotIAkJICAgICAgaWYgKGNhbm9u YnVmID09IE5VTEwpCi0gCQkJewotIAkJCSAgX19yZXNvbHZfY29udGV4dF9wdXQgKHJlc19jdHgp OwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbGliYy9wYXRjaGVzLzFiOWMxYTAwNDdmYjI2YTY1YTli MmE3YjhjZDk3NzI0M2Y3ZDM1M2MucGF0Y2ggYi9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvMWI5YzFh MDA0N2ZiMjZhNjVhOWIyYTdiOGNkOTc3MjQzZjdkMzUzYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uZjBhNjdiMTkzOWRiMTEKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvMWI5YzFhMDA0N2ZiMjZhNjVhOWIyYTdiOGNkOTc3 MjQzZjdkMzUzYy5wYXRjaApAQCAtMCwwICsxLDI2MiBAQAorRnJvbSAxYjljMWEwMDQ3ZmIyNmE2 NWE5YjJhN2I4Y2Q5NzcyNDNmN2QzNTNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog SmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4KK0RhdGU6IFdlZCwgMzEgSmFuIDIwMjQg MTk6MTc6MjcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIGdjYyBfX2J1aWx0aW5fc3RkY18q IGJ1aWx0aW5zIGluIHN0ZGJpdC5oIGlmIHBvc3NpYmxlCisKK1RoZSBmb2xsb3dpbmcgcGF0Y2gg dXNlcyB0aGUgR0NDIDE0IF9fYnVpbHRpbl9zdGRjXyogYnVpbHRpbnMgaW4gc3RkYml0LmgKK2Zv ciB0aGUgdHlwZS1nZW5lcmljIG1hY3Jvcywgc28gdGhhdCB3aGVuIGNvbXBpbGVkIHdpdGggR0ND IDE0IG9yIGxhdGVyLAoraXQgc3VwcG9ydHMgbm90IGp1c3QgOC8xNi8zMi82NC1iaXQgdW5zaWdu ZWQgaW50ZWdlcnMsIGJ1dCBhbHNvIDEyOC1iaXQKKyhpZiB0YXJnZXQgc3VwcG9ydHMgdGhlbSkg YW5kIHVuc2lnbmVkIF9CaXRJbnQgKGFueSBzdXBwb3J0ZWQgcHJlY2lzaW9uKS4KK0FuZCBzbyB0 aGF0IHRoZSBtYWNyb3MgZG9uJ3QgZXhwYW5kIGFyZ3VtZW50cyBtdWx0aXBsZSB0aW1lcyBhbmQg Y2FuIGJlCitldmFsdWF0ZWQgaW4gY29uc3RhbnQgZXhwcmVzc2lvbnMuCisKK1RoZSBuZXcgdGVz dGNhc2UgaXMgZ2NjJ3MgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYnVpbHRpbi1zdGRjLWJpdC0xLmMK K2FkanVzdGVkIHRvIHRlc3Qgc3RkYml0LmggYW5kIHRoZSB0eXBlLWdlbmVyaWMgbWFjcm9zIGlu IHRoZXJlIGluc3RlYWQKK29mIHRoZSBidWlsdGlucyBhbmQgYWRqdXN0ZWQgdG8gdXNlIGdsaWJj IHRlc3QgZnJhbWV3b3JrIHJhdGhlciB0aGFuCitnY2Mgc3R5bGUgdGVzdHMgd2l0aCBfX2J1aWx0 aW5fYWJvcnQgKCkuCisKK1NpZ25lZC1vZmYtYnk6IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhh dC5jb20+CitSZXZpZXdlZC1ieTogSm9zZXBoIE15ZXJzIDxqb3NteWVyc0ByZWRoYXQuY29tPgor KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZGE4OTQ5NjMzN2I5N2U2YTJhYWYxZTgxZDU1Y2Y5 OThmNmRiMTA3MCkKKy0tLQorIG1hbnVhbC9zdGRiaXQudGV4aSAgICAgICAgICAgfCAgIDggKy0K KyBzdGRsaWIvTWFrZWZpbGUgICAgICAgICAgICAgIHwgICAxICsKKyBzdGRsaWIvc3RkYml0Lmgg ICAgICAgICAgICAgIHwgIDg0ICsrKy0KKyBzdGRsaWIvdHN0LXN0ZGJpdC1idWlsdGlucy5jIHwg Nzc4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2Vk LCA4NTYgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IHN0ZGxpYi90c3Qtc3RkYml0LWJ1aWx0aW5zLmMKKworZGlmZiAtLWdpdCBhL21hbnVhbC9zdGRi aXQudGV4aSBiL21hbnVhbC9zdGRiaXQudGV4aQoraW5kZXggZmU0MWM2NzFkOC4uNmM3NWVkOWEy MCAxMDA2NDQKKy0tLSBhL21hbnVhbC9zdGRiaXQudGV4aQorKysrIGIvbWFudWFsL3N0ZGJpdC50 ZXhpCitAQCAtMzIsNyArMzIsMTMgQEAgYW5kIEBjb2Rle3Vuc2lnbmVkIGxvbmcgbG9uZyBpbnR9 LiAgSW4gYWRkaXRpb24sIHRoZXJlIGlzIGEKKyBjb3JyZXNwb25kaW5nIHR5cGUtZ2VuZXJpYyBt YWNybyAobm90IGxpc3RlZCBiZWxvdyksIG5hbWVkIHRoZSBzYW1lIGFzCisgdGhlIGZ1bmN0aW9u cyBidXQgd2l0aG91dCBhbnkgc3VmZml4IHN1Y2ggYXMgQHNhbXB7X3VjfS4gIFRoZQorIHR5cGUt Z2VuZXJpYyBtYWNybyBjYW4gb25seSBiZSB1c2VkIHdpdGggYW4gYXJndW1lbnQgb2YgYW4gdW5z aWduZWQKKy1pbnRlZ2VyIHR5cGUgd2l0aCBhIHdpZHRoIG9mIDgsIDE2LCAzMiBvciA2NCBiaXRz LgorK2ludGVnZXIgdHlwZSB3aXRoIGEgd2lkdGggb2YgOCwgMTYsIDMyIG9yIDY0IGJpdHMsIG9y IHdoZW4gdXNpbmcKKythIGNvbXBpbGVyIHdpdGggc3VwcG9ydCBmb3IKKytAdXJlZntodHRwczov L2djYy5nbnUub3JnL29ubGluZWRvY3MvZ2NjL090aGVyLUJ1aWx0aW5zLmh0bWwsQGNvZGV7X19i dWlsdGluX3N0ZGNfYml0X2NlaWx9fSwKKytldGMuQDosIGJ1aWx0LWluIGZ1bmN0aW9ucyBzdWNo IGFzIEdDQyAxNC4xIG9yIGxhdGVyCisrYW55IHVuc2lnbmVkIGludGVnZXIgdHlwZSB0aG9zZSBi dWlsdC1pbiBmdW5jdGlvbnMgc3VwcG9ydC4KKytJbiBHQ0MgMTQuMSB0aGF0IGluY2x1ZGVzIHN1 cHBvcnQgZm9yIEBjb2Rle3Vuc2lnbmVkIF9faW50MTI4fSBhbmQKKytAY29kZXt1bnNpZ25lZCBf Qml0SW50KEB2YXJ7bn0pfSBpZiBzdXBwb3J0ZWQgYnkgdGhlIHRhcmdldC4KKyAKKyBAZGVmdHlw ZWZ1biB7dW5zaWduZWQgaW50fSBzdGRjX2xlYWRpbmdfemVyb3NfdWMgKHVuc2lnbmVkIGNoYXIg QHZhcnt4fSkKKyBAZGVmdHlwZWZ1bngge3Vuc2lnbmVkIGludH0gc3RkY19sZWFkaW5nX3plcm9z X3VzICh1bnNpZ25lZCBzaG9ydCBAdmFye3h9KQorZGlmZiAtLWdpdCBhL3N0ZGxpYi9zdGRiaXQu aCBiL3N0ZGxpYi9zdGRiaXQuaAoraW5kZXggZjMzNGViMTc0ZC4uMjgwMTU5MGM2MyAxMDA2NDQK Ky0tLSBhL3N0ZGxpYi9zdGRiaXQuaAorKysrIGIvc3RkbGliL3N0ZGJpdC5oCitAQCAtNjQsOSAr NjQsMTMgQEAgZXh0ZXJuIHVuc2lnbmVkIGludCBzdGRjX2xlYWRpbmdfemVyb3NfdWwgKHVuc2ln bmVkIGxvbmcgaW50IF9feCkKKyBfX2V4dGVuc2lvbl9fCisgZXh0ZXJuIHVuc2lnbmVkIGludCBz dGRjX2xlYWRpbmdfemVyb3NfdWxsICh1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9feCkKKyAgICAg IF9fVEhST1cgX19hdHRyaWJ1dGVfY29uc3RfXzsKKy0jZGVmaW5lIHN0ZGNfbGVhZGluZ196ZXJv cyh4KQkJCQlcCisrI2lmIF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9zdGRjX2xlYWRp bmdfemVyb3MpCisrIyBkZWZpbmUgc3RkY19sZWFkaW5nX3plcm9zKHgpIChfX2J1aWx0aW5fc3Rk Y19sZWFkaW5nX3plcm9zICh4KSkKKysjZWxzZQorKyMgZGVmaW5lIHN0ZGNfbGVhZGluZ196ZXJv cyh4KQkJCQlcCisgICAoc3RkY19sZWFkaW5nX3plcm9zX3VsbCAoeCkJCQkJXAorICAgIC0gKHVu c2lnbmVkIGludCkgKDggKiAoc2l6ZW9mICgwVUxMKSAtIHNpemVvZiAoeCkpKSkKKysjZW5kaWYK KyAKKyAjaWYgX19HTlVDX1BSRVJFUSAoMywgNCkgfHwgX19nbGliY19oYXNfYnVpbHRpbiAoX19i dWlsdGluX2NsemxsKQorIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdW5zaWduZWQgaW50CitAQCAt MTE2LDkgKzEyMCwxMyBAQCBleHRlcm4gdW5zaWduZWQgaW50IHN0ZGNfbGVhZGluZ19vbmVzX3Vs ICh1bnNpZ25lZCBsb25nIGludCBfX3gpCisgX19leHRlbnNpb25fXworIGV4dGVybiB1bnNpZ25l ZCBpbnQgc3RkY19sZWFkaW5nX29uZXNfdWxsICh1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9feCkK KyAgICAgIF9fVEhST1cgX19hdHRyaWJ1dGVfY29uc3RfXzsKKy0jZGVmaW5lIHN0ZGNfbGVhZGlu Z19vbmVzKHgpCQkJCQlcCisrI2lmIF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9zdGRj X2xlYWRpbmdfb25lcykKKysjIGRlZmluZSBzdGRjX2xlYWRpbmdfb25lcyh4KSAoX19idWlsdGlu X3N0ZGNfbGVhZGluZ19vbmVzICh4KSkKKysjZWxzZQorKyMgZGVmaW5lIHN0ZGNfbGVhZGluZ19v bmVzKHgpCQkJCQlcCisgICAoc3RkY19sZWFkaW5nX29uZXNfdWxsICgodW5zaWduZWQgbG9uZyBs b25nIGludCkgKHgpCQlcCisgCQkJICA8PCA4ICogKHNpemVvZiAoMFVMTCkgLSBzaXplb2YgKHgp KSkpCisrI2VuZGlmCisgCisgI2lmIF9fR05VQ19QUkVSRVEgKDMsIDQpIHx8IF9fZ2xpYmNfaGFz X2J1aWx0aW4gKF9fYnVpbHRpbl9jbHpsbCkKKyBzdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2ln bmVkIGludAorQEAgLTE2OCwxMSArMTc2LDE1IEBAIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY190 cmFpbGluZ196ZXJvc191bCAodW5zaWduZWQgbG9uZyBpbnQgX194KQorIF9fZXh0ZW5zaW9uX18K KyBleHRlcm4gdW5zaWduZWQgaW50IHN0ZGNfdHJhaWxpbmdfemVyb3NfdWxsICh1bnNpZ25lZCBs b25nIGxvbmcgaW50IF9feCkKKyAgICAgIF9fVEhST1cgX19hdHRyaWJ1dGVfY29uc3RfXzsKKy0j ZGVmaW5lIHN0ZGNfdHJhaWxpbmdfemVyb3MoeCkJCQkJXAorKyNpZiBfX2dsaWJjX2hhc19idWls dGluIChfX2J1aWx0aW5fc3RkY190cmFpbGluZ196ZXJvcykKKysjIGRlZmluZSBzdGRjX3RyYWls aW5nX3plcm9zKHgpIChfX2J1aWx0aW5fc3RkY190cmFpbGluZ196ZXJvcyAoeCkpCisrI2Vsc2UK KysjIGRlZmluZSBzdGRjX3RyYWlsaW5nX3plcm9zKHgpCQkJCVwKKyAgIChzaXplb2YgKHgpID09 IDggPyBzdGRjX3RyYWlsaW5nX3plcm9zX3VsbCAoeCkJXAorICAgIDogc2l6ZW9mICh4KSA9PSA0 ID8gc3RkY190cmFpbGluZ196ZXJvc191aSAoeCkJXAorICAgIDogc2l6ZW9mICh4KSA9PSAyID8g c3RkY190cmFpbGluZ196ZXJvc191cyAoX19wYWNpZnlfdWludDE2ICh4KSkJXAorICAgIDogc3Rk Y190cmFpbGluZ196ZXJvc191YyAoX19wYWNpZnlfdWludDggKHgpKSkKKysjZW5kaWYKKyAKKyAj aWYgX19HTlVDX1BSRVJFUSAoMywgNCkgfHwgX19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGlu X2N0emxsKQorIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdW5zaWduZWQgaW50CitAQCAtMjIyLDcg KzIzNCwxMSBAQCBleHRlcm4gdW5zaWduZWQgaW50IHN0ZGNfdHJhaWxpbmdfb25lc191bCAodW5z aWduZWQgbG9uZyBpbnQgX194KQorIF9fZXh0ZW5zaW9uX18KKyBleHRlcm4gdW5zaWduZWQgaW50 IHN0ZGNfdHJhaWxpbmdfb25lc191bGwgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX194KQorICAg ICAgX19USFJPVyBfX2F0dHJpYnV0ZV9jb25zdF9fOworLSNkZWZpbmUgc3RkY190cmFpbGluZ19v bmVzKHgpIChzdGRjX3RyYWlsaW5nX29uZXNfdWxsICh4KSkKKysjaWYgX19nbGliY19oYXNfYnVp bHRpbiAoX19idWlsdGluX3N0ZGNfdHJhaWxpbmdfb25lcykKKysjIGRlZmluZSBzdGRjX3RyYWls aW5nX29uZXMoeCkgKF9fYnVpbHRpbl9zdGRjX3RyYWlsaW5nX29uZXMgKHgpKQorKyNlbHNlCisr IyBkZWZpbmUgc3RkY190cmFpbGluZ19vbmVzKHgpIChzdGRjX3RyYWlsaW5nX29uZXNfdWxsICh4 KSkKKysjZW5kaWYKKyAKKyAjaWYgX19HTlVDX1BSRVJFUSAoMywgNCkgfHwgX19nbGliY19oYXNf YnVpbHRpbiAoX19idWlsdGluX2N0emxsKQorIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdW5zaWdu ZWQgaW50CitAQCAtMjcyLDExICsyODgsMTUgQEAgZXh0ZXJuIHVuc2lnbmVkIGludCBzdGRjX2Zp cnN0X2xlYWRpbmdfemVyb191bCAodW5zaWduZWQgbG9uZyBpbnQgX194KQorIF9fZXh0ZW5zaW9u X18KKyBleHRlcm4gdW5zaWduZWQgaW50IHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJvX3VsbCAodW5z aWduZWQgbG9uZyBsb25nIGludCBfX3gpCisgICAgICBfX1RIUk9XIF9fYXR0cmlidXRlX2NvbnN0 X187CistI2RlZmluZSBzdGRjX2ZpcnN0X2xlYWRpbmdfemVybyh4KQkJCVwKKysjaWYgX19nbGli Y19oYXNfYnVpbHRpbiAoX19idWlsdGluX3N0ZGNfZmlyc3RfbGVhZGluZ196ZXJvKQorKyMgZGVm aW5lIHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJvKHgpIChfX2J1aWx0aW5fc3RkY19maXJzdF9sZWFk aW5nX3plcm8gKHgpKQorKyNlbHNlCisrIyBkZWZpbmUgc3RkY19maXJzdF9sZWFkaW5nX3plcm8o eCkJCQlcCisgICAoc2l6ZW9mICh4KSA9PSA4ID8gc3RkY19maXJzdF9sZWFkaW5nX3plcm9fdWxs ICh4KQlcCisgICAgOiBzaXplb2YgKHgpID09IDQgPyBzdGRjX2ZpcnN0X2xlYWRpbmdfemVyb191 aSAoeCkJXAorICAgIDogc2l6ZW9mICh4KSA9PSAyID8gc3RkY19maXJzdF9sZWFkaW5nX3plcm9f dXMgKF9fcGFjaWZ5X3VpbnQxNiAoeCkpCVwKKyAgICA6IHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJv X3VjIChfX3BhY2lmeV91aW50OCAoeCkpKQorKyNlbmRpZgorIAorICNpZiBfX0dOVUNfUFJFUkVR ICgzLCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fY2x6bGwpCisgc3RhdGlj IF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQKK0BAIC0zMjYsMTEgKzM0NiwxNSBAQCBleHRl cm4gdW5zaWduZWQgaW50IHN0ZGNfZmlyc3RfbGVhZGluZ19vbmVfdWwgKHVuc2lnbmVkIGxvbmcg aW50IF9feCkKKyBfX2V4dGVuc2lvbl9fCisgZXh0ZXJuIHVuc2lnbmVkIGludCBzdGRjX2ZpcnN0 X2xlYWRpbmdfb25lX3VsbCAodW5zaWduZWQgbG9uZyBsb25nIGludCBfX3gpCisgICAgICBfX1RI Uk9XIF9fYXR0cmlidXRlX2NvbnN0X187CistI2RlZmluZSBzdGRjX2ZpcnN0X2xlYWRpbmdfb25l KHgpCQkJXAorKyNpZiBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fc3RkY19maXJzdF9s ZWFkaW5nX29uZSkKKysjIGRlZmluZSBzdGRjX2ZpcnN0X2xlYWRpbmdfb25lKHgpIChfX2J1aWx0 aW5fc3RkY19maXJzdF9sZWFkaW5nX29uZSAoeCkpCisrI2Vsc2UKKysjIGRlZmluZSBzdGRjX2Zp cnN0X2xlYWRpbmdfb25lKHgpCQkJXAorICAgKHNpemVvZiAoeCkgPT0gOCA/IHN0ZGNfZmlyc3Rf bGVhZGluZ19vbmVfdWxsICh4KQlcCisgICAgOiBzaXplb2YgKHgpID09IDQgPyBzdGRjX2ZpcnN0 X2xlYWRpbmdfb25lX3VpICh4KQlcCisgICAgOiBzaXplb2YgKHgpID09IDIgPyBzdGRjX2ZpcnN0 X2xlYWRpbmdfb25lX3VzIChfX3BhY2lmeV91aW50MTYgKHgpKQlcCisgICAgOiBzdGRjX2ZpcnN0 X2xlYWRpbmdfb25lX3VjIChfX3BhY2lmeV91aW50OCAoeCkpKQorKyNlbmRpZgorIAorICNpZiBf X0dOVUNfUFJFUkVRICgzLCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fY2x6 bGwpCisgc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQKK0BAIC0zODAsMTEgKzQw NCwxNSBAQCBleHRlcm4gdW5zaWduZWQgaW50IHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVyb191bCAo dW5zaWduZWQgbG9uZyBpbnQgX194KQorIF9fZXh0ZW5zaW9uX18KKyBleHRlcm4gdW5zaWduZWQg aW50IHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVyb191bGwgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQg X194KQorICAgICAgX19USFJPVyBfX2F0dHJpYnV0ZV9jb25zdF9fOworLSNkZWZpbmUgc3RkY19m aXJzdF90cmFpbGluZ196ZXJvKHgpCQkJXAorKyNpZiBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1 aWx0aW5fc3RkY19maXJzdF90cmFpbGluZ196ZXJvKQorKyMgZGVmaW5lIHN0ZGNfZmlyc3RfdHJh aWxpbmdfemVybyh4KSAoX19idWlsdGluX3N0ZGNfZmlyc3RfdHJhaWxpbmdfemVybyAoeCkpCisr I2Vsc2UKKysjIGRlZmluZSBzdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm8oeCkJCQlcCisgICAoc2l6 ZW9mICh4KSA9PSA4ID8gc3RkY19maXJzdF90cmFpbGluZ196ZXJvX3VsbCAoeCkJXAorICAgIDog c2l6ZW9mICh4KSA9PSA0ID8gc3RkY19maXJzdF90cmFpbGluZ196ZXJvX3VpICh4KQlcCisgICAg OiBzaXplb2YgKHgpID09IDIgPyBzdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm9fdXMgKF9fcGFjaWZ5 X3VpbnQxNiAoeCkpIFwKKyAgICA6IHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVyb191YyAoX19wYWNp ZnlfdWludDggKHgpKSkKKysjZW5kaWYKKyAKKyAjaWYgX19HTlVDX1BSRVJFUSAoMywgNCkgfHwg X19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGluX2N0emxsKQorIHN0YXRpYyBfX2Fsd2F5c19p bmxpbmUgdW5zaWduZWQgaW50CitAQCAtNDM0LDExICs0NjIsMTUgQEAgZXh0ZXJuIHVuc2lnbmVk IGludCBzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZV91bCAodW5zaWduZWQgbG9uZyBpbnQgX194KQor IF9fZXh0ZW5zaW9uX18KKyBleHRlcm4gdW5zaWduZWQgaW50IHN0ZGNfZmlyc3RfdHJhaWxpbmdf b25lX3VsbCAodW5zaWduZWQgbG9uZyBsb25nIGludCBfX3gpCisgICAgICBfX1RIUk9XIF9fYXR0 cmlidXRlX2NvbnN0X187CistI2RlZmluZSBzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSh4KQkJCVwK KysjaWYgX19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGluX3N0ZGNfZmlyc3RfdHJhaWxpbmdf b25lKQorKyMgZGVmaW5lIHN0ZGNfZmlyc3RfdHJhaWxpbmdfb25lKHgpIChfX2J1aWx0aW5fc3Rk Y19maXJzdF90cmFpbGluZ19vbmUgKHgpKQorKyNlbHNlCisrIyBkZWZpbmUgc3RkY19maXJzdF90 cmFpbGluZ19vbmUoeCkJCQlcCisgICAoc2l6ZW9mICh4KSA9PSA4ID8gc3RkY19maXJzdF90cmFp bGluZ19vbmVfdWxsICh4KQlcCisgICAgOiBzaXplb2YgKHgpID09IDQgPyBzdGRjX2ZpcnN0X3Ry YWlsaW5nX29uZV91aSAoeCkJXAorICAgIDogc2l6ZW9mICh4KSA9PSAyID8gc3RkY19maXJzdF90 cmFpbGluZ19vbmVfdXMgKF9fcGFjaWZ5X3VpbnQxNiAoeCkpCVwKKyAgICA6IHN0ZGNfZmlyc3Rf dHJhaWxpbmdfb25lX3VjIChfX3BhY2lmeV91aW50OCAoeCkpKQorKyNlbmRpZgorIAorICNpZiBf X0dOVUNfUFJFUkVRICgzLCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fY3R6 bGwpCisgc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQKK0BAIC00ODgsOSArNTIw LDEzIEBAIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY19jb3VudF96ZXJvc191bCAodW5zaWduZWQg bG9uZyBpbnQgX194KQorIF9fZXh0ZW5zaW9uX18KKyBleHRlcm4gdW5zaWduZWQgaW50IHN0ZGNf Y291bnRfemVyb3NfdWxsICh1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9feCkKKyAgICAgIF9fVEhS T1cgX19hdHRyaWJ1dGVfY29uc3RfXzsKKy0jZGVmaW5lIHN0ZGNfY291bnRfemVyb3MoeCkJCQkJ XAorKyNpZiBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fc3RkY19jb3VudF96ZXJvcykK KysjIGRlZmluZSBzdGRjX2NvdW50X3plcm9zKHgpIChfX2J1aWx0aW5fc3RkY19jb3VudF96ZXJv cyAoeCkpCisrI2Vsc2UKKysjIGRlZmluZSBzdGRjX2NvdW50X3plcm9zKHgpCQkJCVwKKyAgIChz dGRjX2NvdW50X3plcm9zX3VsbCAoeCkJCQkJXAorICAgIC0gKHVuc2lnbmVkIGludCkgKDggKiAo c2l6ZW9mICgwVUxMKSAtIHNpemVvZiAoeCkpKSkKKysjZW5kaWYKKyAKKyAjaWYgX19HTlVDX1BS RVJFUSAoMywgNCkgfHwgX19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGluX3BvcGNvdW50bGwp Cisgc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQKK0BAIC01NDAsNyArNTc2LDEx IEBAIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY19jb3VudF9vbmVzX3VsICh1bnNpZ25lZCBsb25n IGludCBfX3gpCisgX19leHRlbnNpb25fXworIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY19jb3Vu dF9vbmVzX3VsbCAodW5zaWduZWQgbG9uZyBsb25nIGludCBfX3gpCisgICAgICBfX1RIUk9XIF9f YXR0cmlidXRlX2NvbnN0X187CistI2RlZmluZSBzdGRjX2NvdW50X29uZXMoeCkgKHN0ZGNfY291 bnRfb25lc191bGwgKHgpKQorKyNpZiBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fc3Rk Y19jb3VudF9vbmVzKQorKyMgZGVmaW5lIHN0ZGNfY291bnRfb25lcyh4KSAoX19idWlsdGluX3N0 ZGNfY291bnRfb25lcyAoeCkpCisrI2Vsc2UKKysjIGRlZmluZSBzdGRjX2NvdW50X29uZXMoeCkg KHN0ZGNfY291bnRfb25lc191bGwgKHgpKQorKyNlbmRpZgorIAorICNpZiBfX0dOVUNfUFJFUkVR ICgzLCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fcG9wY291bnRsbCkKKyBz dGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludAorQEAgLTU5MCwxMCArNjMwLDE0IEBA IGV4dGVybiBib29sIHN0ZGNfaGFzX3NpbmdsZV9iaXRfdWwgKHVuc2lnbmVkIGxvbmcgaW50IF9f eCkKKyBfX2V4dGVuc2lvbl9fCisgZXh0ZXJuIGJvb2wgc3RkY19oYXNfc2luZ2xlX2JpdF91bGwg KHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX194KQorICAgICAgX19USFJPVyBfX2F0dHJpYnV0ZV9j b25zdF9fOworLSNkZWZpbmUgc3RkY19oYXNfc2luZ2xlX2JpdCh4KQkJCQlcCisrI2lmIF9fZ2xp YmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9zdGRjX2hhc19zaW5nbGVfYml0KQorKyMgZGVmaW5l IHN0ZGNfaGFzX3NpbmdsZV9iaXQoeCkgKF9fYnVpbHRpbl9zdGRjX2hhc19zaW5nbGVfYml0ICh4 KSkKKysjZWxzZQorKyMgZGVmaW5lIHN0ZGNfaGFzX3NpbmdsZV9iaXQoeCkJCQkJXAorICAgKChi b29sKSAoc2l6ZW9mICh4KSA8PSBzaXplb2YgKHVuc2lnbmVkIGludCkJCVwKKyAJICAgPyBzdGRj X2hhc19zaW5nbGVfYml0X3VpICh4KQkJCVwKKyAJICAgOiBzdGRjX2hhc19zaW5nbGVfYml0X3Vs bCAoeCkpKQorKyNlbmRpZgorIAorIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgYm9vbAorIF9faHNi NjRfaW5saW5lICh1aW50NjRfdCBfX3gpCitAQCAtNjQxLDcgKzY4NSwxMSBAQCBleHRlcm4gdW5z aWduZWQgaW50IHN0ZGNfYml0X3dpZHRoX3VsICh1bnNpZ25lZCBsb25nIGludCBfX3gpCisgX19l eHRlbnNpb25fXworIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY19iaXRfd2lkdGhfdWxsICh1bnNp Z25lZCBsb25nIGxvbmcgaW50IF9feCkKKyAgICAgIF9fVEhST1cgX19hdHRyaWJ1dGVfY29uc3Rf XzsKKy0jZGVmaW5lIHN0ZGNfYml0X3dpZHRoKHgpIChzdGRjX2JpdF93aWR0aF91bGwgKHgpKQor KyNpZiBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fc3RkY19iaXRfd2lkdGgpCisrIyBk ZWZpbmUgc3RkY19iaXRfd2lkdGgoeCkgKF9fYnVpbHRpbl9zdGRjX2JpdF93aWR0aCAoeCkpCisr I2Vsc2UKKysjIGRlZmluZSBzdGRjX2JpdF93aWR0aCh4KSAoc3RkY19iaXRfd2lkdGhfdWxsICh4 KSkKKysjZW5kaWYKKyAKKyAjaWYgX19HTlVDX1BSRVJFUSAoMywgNCkgfHwgX19nbGliY19oYXNf YnVpbHRpbiAoX19idWlsdGluX2NsemxsKQorIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdW5zaWdu ZWQgaW50CitAQCAtNjkxLDcgKzczOSwxMSBAQCBleHRlcm4gdW5zaWduZWQgbG9uZyBpbnQgc3Rk Y19iaXRfZmxvb3JfdWwgKHVuc2lnbmVkIGxvbmcgaW50IF9feCkKKyBfX2V4dGVuc2lvbl9fCisg ZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgc3RkY19iaXRfZmxvb3JfdWxsICh1bnNpZ25l ZCBsb25nIGxvbmcgaW50IF9feCkKKyAgICAgIF9fVEhST1cgX19hdHRyaWJ1dGVfY29uc3RfXzsK Ky0jZGVmaW5lIHN0ZGNfYml0X2Zsb29yKHgpICgoX190eXBlb2YgKHgpKSBzdGRjX2JpdF9mbG9v cl91bGwgKHgpKQorKyNpZiBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fc3RkY19iaXRf Zmxvb3IpCisrIyBkZWZpbmUgc3RkY19iaXRfZmxvb3IoeCkgKF9fYnVpbHRpbl9zdGRjX2JpdF9m bG9vciAoeCkpCisrI2Vsc2UKKysjIGRlZmluZSBzdGRjX2JpdF9mbG9vcih4KSAoKF9fdHlwZW9m ICh4KSkgc3RkY19iaXRfZmxvb3JfdWxsICh4KSkKKysjZW5kaWYKKyAKKyAjaWYgX19HTlVDX1BS RVJFUSAoMywgNCkgfHwgX19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGluX2NsemxsKQorIHN0 YXRpYyBfX2Fsd2F5c19pbmxpbmUgdWludDY0X3QKK0BAIC03NDMsNyArNzk1LDExIEBAIGV4dGVy biB1bnNpZ25lZCBsb25nIGludCBzdGRjX2JpdF9jZWlsX3VsICh1bnNpZ25lZCBsb25nIGludCBf X3gpCisgX19leHRlbnNpb25fXworIGV4dGVybiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHN0ZGNf Yml0X2NlaWxfdWxsICh1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9feCkKKyAgICAgIF9fVEhST1cg X19hdHRyaWJ1dGVfY29uc3RfXzsKKy0jZGVmaW5lIHN0ZGNfYml0X2NlaWwoeCkgKChfX3R5cGVv ZiAoeCkpIHN0ZGNfYml0X2NlaWxfdWxsICh4KSkKKysjaWYgX19nbGliY19oYXNfYnVpbHRpbiAo X19idWlsdGluX3N0ZGNfYml0X2NlaWwpCisrIyBkZWZpbmUgc3RkY19iaXRfY2VpbCh4KSAoX19i dWlsdGluX3N0ZGNfYml0X2NlaWwgKHgpKQorKyNlbHNlCisrIyBkZWZpbmUgc3RkY19iaXRfY2Vp bCh4KSAoKF9fdHlwZW9mICh4KSkgc3RkY19iaXRfY2VpbF91bGwgKHgpKQorKyNlbmRpZgorIAor ICNpZiBfX0dOVUNfUFJFUkVRICgzLCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0 aW5fY2x6bGwpCisgc3RhdGljIF9fYWx3YXlzX2lubGluZSB1aW50NjRfdApkaWZmIC0tZ2l0IGEv c3JjcGtncy9nbGliYy9wYXRjaGVzLzMwNzIzLTEtNTQyYjExMDU4NTI1NjhjM2ViYzcxMjIyNWFl NzhiOGM4YmEzMWE3OC5wYXRjaCBiL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8zMDcyMy0xLTU0MmIx MTA1ODUyNTY4YzNlYmM3MTIyMjVhZTc4YjhjOGJhMzFhNzgucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDU2ZDVkNDdjMDMxYTAzLi4wMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL2dsaWJjL3BhdGNoZXMvMzA3MjMtMS01NDJiMTEwNTg1MjU2OGMzZWJjNzEyMjI1YWU3OGI4 YzhiYTMxYTc4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjk2ICswLDAgQEAKLUZyb20gNTQy YjExMDU4NTI1NjhjM2ViYzcxMjIyNWFlNzhiOGM4YmEzMWE3OCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IEZsb3JpYW4gV2VpbWVyIDxmd2VpbWVyQHJlZGhhdC5jb20+Ci1EYXRlOiBG cmksIDExIEF1ZyAyMDIzIDExOjE4OjE3ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG1hbGxvYzog RW5hYmxlIG1lcmdpbmcgb2YgcmVtYWluZGVycyBpbiBtZW1hbGlnbiAoYnVnIDMwNzIzKQotCi1Q cmV2aW91c2x5LCBjYWxsaW5nIF9pbnRfZnJlZSBmcm9tIF9pbnRfbWVtYWxpZ24gY291bGQgcHV0 IHJlbWFpbmRlcnMKLWludG8gdGhlIHRjYWNoZSBvciBpbnRvIGZhc3RiaW5zLCB3aGVyZSB0aGV5 IGFyZSBpbnZpc2libGUgdG8gdGhlCi1sb3ctbGV2ZWwgYWxsb2NhdG9yLiAgVGhpcyByZXN1bHRz IGluIG1pc3NlZCBtZXJnZSBvcHBvcnR1bml0aWVzCi1iZWNhdXNlIG9uY2UgdGhlc2UgZnJlZWQg Y2h1bmtzIGJlY29tZSBhdmFpbGFibGUgdG8gdGhlIGxvdy1sZXZlbAotYWxsb2NhdG9yLCBmdXJ0 aGVyIG1lbWFsaWduIGFsbG9jYXRpb25zIChldmVuIG9mIHRoZSBzYW1lIHNpemUgYXJlKQotbGlr ZWx5IG9ic3RydWN0aW5nIG1lcmdlcy4KLQotRnVydGhlcm1vcmUsIGR1cmluZyBmb3J3YXJkcyBt ZXJnaW5nIGluIF9pbnRfbWVtYWxpZ24sIGRvIG5vdAotY29tcGxldGVseSBnaXZlIHVwIHdoZW4g dGhlIHJlbWFpbmRlciBpcyB0b28gc21hbGwgdG8gc2VydmUgYXMgYQotY2h1bmsgb24gaXRzIG93 bi4gIFdlIGNhbiBzdGlsbCBnaXZlIGl0IGJhY2sgaWYgaXQgY2FuIGJlIG1lcmdlZAotd2l0aCB0 aGUgZm9sbG93aW5nIHVudXNlZCBjaHVuay4gIFRoaXMgbWFrZXMgaXQgbW9yZSBsaWtlbHkgdGhh dAotbWVtYWxpZ24gY2FsbHMgaW4gYSBsb29wIGFjaGlldmUgYSBjb21wYWN0IG1lbW9yeSBsYXlv dXQsCi1pbmRlcGVuZGVudGx5IG9mIGluaXRpYWwgaGVhcCBsYXlvdXQuCi0KLURyb3Agc29tZSB1 c2VsZXNzICh1bnNpZ25lZCBsb25nKSBjYXN0cyBhbG9uZyB0aGUgd2F5LCBhbmQgdHdlYWsKLXRo ZSBzdHlsZSB0byBtb3JlIGNsb3NlbHkgbWF0Y2ggR05VIG9uIGNoYW5nZWQgbGluZXMuCi0KLVJl dmlld2VkLWJ5OiBESiBEZWxvcmllIDxkakByZWRoYXQuY29tPgotLS0tCi0gbWFsbG9jL21hbGxv Yy5jIHwgMTk3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LQotIDEgZmlsZSBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKSwgNzYgZGVsZXRpb25zKC0pCi0K LWRpZmYgLS1naXQgYS9tYWxsb2MvbWFsbG9jLmMgYi9tYWxsb2MvbWFsbG9jLmMKLWluZGV4IGUy ZjFhNjE1YTQuLjk0OGY5NzU5YWYgMTAwNjQ0Ci0tLS0gYS9tYWxsb2MvbWFsbG9jLmMKLSsrKyBi L21hbGxvYy9tYWxsb2MuYwotQEAgLTEwODYsNiArMTA4NiwxMSBAQCB0eXBlZGVmIHN0cnVjdCBt YWxsb2NfY2h1bmsqIG1jaHVua3B0cjsKLSAKLSBzdGF0aWMgdm9pZCogIF9pbnRfbWFsbG9jKG1z dGF0ZSwgc2l6ZV90KTsKLSBzdGF0aWMgdm9pZCAgICAgX2ludF9mcmVlKG1zdGF0ZSwgbWNodW5r cHRyLCBpbnQpOwotK3N0YXRpYyB2b2lkIF9pbnRfZnJlZV9tZXJnZV9jaHVuayAobXN0YXRlLCBt Y2h1bmtwdHIsIElOVEVSTkFMX1NJWkVfVCk7Ci0rc3RhdGljIElOVEVSTkFMX1NJWkVfVCBfaW50 X2ZyZWVfY3JlYXRlX2NodW5rIChtc3RhdGUsCi0rCQkJCQkgICAgICAgbWNodW5rcHRyLCBJTlRF Uk5BTF9TSVpFX1QsCi0rCQkJCQkgICAgICAgbWNodW5rcHRyLCBJTlRFUk5BTF9TSVpFX1QpOwot K3N0YXRpYyB2b2lkIF9pbnRfZnJlZV9tYXliZV9jb25zb2xpZGF0ZSAobXN0YXRlLCBJTlRFUk5B TF9TSVpFX1QpOwotIHN0YXRpYyB2b2lkKiAgX2ludF9yZWFsbG9jKG1zdGF0ZSwgbWNodW5rcHRy LCBJTlRFUk5BTF9TSVpFX1QsCi0gCQkJICAgSU5URVJOQUxfU0laRV9UKTsKLSBzdGF0aWMgdm9p ZCogIF9pbnRfbWVtYWxpZ24obXN0YXRlLCBzaXplX3QsIHNpemVfdCk7Ci1AQCAtNDYzNywzMSAr NDY0Miw1MiBAQCBfaW50X2ZyZWUgKG1zdGF0ZSBhdiwgbWNodW5rcHRyIHAsIGludCBoYXZlX2xv Y2spCi0gICAgIGlmICghaGF2ZV9sb2NrKQotICAgICAgIF9fbGliY19sb2NrX2xvY2sgKGF2LT5t dXRleCk7Ci0gCi0tICAgIG5leHRjaHVuayA9IGNodW5rX2F0X29mZnNldChwLCBzaXplKTsKLS0K LS0gICAgLyogTGlnaHR3ZWlnaHQgdGVzdHM6IGNoZWNrIHdoZXRoZXIgdGhlIGJsb2NrIGlzIGFs cmVhZHkgdGhlCi0tICAgICAgIHRvcCBibG9jay4gICovCi0tICAgIGlmIChfX2dsaWJjX3VubGlr ZWx5IChwID09IGF2LT50b3ApKQotLSAgICAgIG1hbGxvY19wcmludGVyciAoImRvdWJsZSBmcmVl IG9yIGNvcnJ1cHRpb24gKHRvcCkiKTsKLS0gICAgLyogT3Igd2hldGhlciB0aGUgbmV4dCBjaHVu ayBpcyBiZXlvbmQgdGhlIGJvdW5kYXJpZXMgb2YgdGhlIGFyZW5hLiAgKi8KLS0gICAgaWYgKF9f YnVpbHRpbl9leHBlY3QgKGNvbnRpZ3VvdXMgKGF2KQotLQkJCSAgJiYgKGNoYXIgKikgbmV4dGNo dW5rCi0tCQkJICA+PSAoKGNoYXIgKikgYXYtPnRvcCArIGNodW5rc2l6ZShhdi0+dG9wKSksIDAp KQotLQltYWxsb2NfcHJpbnRlcnIgKCJkb3VibGUgZnJlZSBvciBjb3JydXB0aW9uIChvdXQpIik7 Ci0tICAgIC8qIE9yIHdoZXRoZXIgdGhlIGJsb2NrIGlzIGFjdHVhbGx5IG5vdCBtYXJrZWQgdXNl ZC4gICovCi0tICAgIGlmIChfX2dsaWJjX3VubGlrZWx5ICghcHJldl9pbnVzZShuZXh0Y2h1bmsp KSkKLS0gICAgICBtYWxsb2NfcHJpbnRlcnIgKCJkb3VibGUgZnJlZSBvciBjb3JydXB0aW9uICgh cHJldikiKTsKLS0KLS0gICAgbmV4dHNpemUgPSBjaHVua3NpemUobmV4dGNodW5rKTsKLS0gICAg aWYgKF9fYnVpbHRpbl9leHBlY3QgKGNodW5rc2l6ZV9ub21hc2sgKG5leHRjaHVuaykgPD0gQ0hV TktfSERSX1NaLCAwKQotLQl8fCBfX2J1aWx0aW5fZXhwZWN0IChuZXh0c2l6ZSA+PSBhdi0+c3lz dGVtX21lbSwgMCkpCi0tICAgICAgbWFsbG9jX3ByaW50ZXJyICgiZnJlZSgpOiBpbnZhbGlkIG5l eHQgc2l6ZSAobm9ybWFsKSIpOwotKyAgICBfaW50X2ZyZWVfbWVyZ2VfY2h1bmsgKGF2LCBwLCBz aXplKTsKLSAKLS0gICAgZnJlZV9wZXJ0dXJiIChjaHVuazJtZW0ocCksIHNpemUgLSBDSFVOS19I RFJfU1opOwotKyAgICBpZiAoIWhhdmVfbG9jaykKLSsgICAgICBfX2xpYmNfbG9ja191bmxvY2sg KGF2LT5tdXRleCk7Ci0rICB9Ci0rICAvKgotKyAgICBJZiB0aGUgY2h1bmsgd2FzIGFsbG9jYXRl ZCB2aWEgbW1hcCwgcmVsZWFzZSB2aWEgbXVubWFwKCkuCi0rICAqLwotKwotKyAgZWxzZSB7Ci0r ICAgIG11bm1hcF9jaHVuayAocCk7Ci0rICB9Ci0rfQotKwotKy8qIFRyeSB0byBtZXJnZSBjaHVu ayBQIG9mIFNJWkUgYnl0ZXMgd2l0aCBpdHMgbmVpZ2hib3JzLiAgUHV0IHRoZQotKyAgIHJlc3Vs dGluZyBjaHVuayBvbiB0aGUgYXBwcm9wcmlhdGUgYmluIGxpc3QuICBQIG11c3Qgbm90IGJlIG9u IGEKLSsgICBiaW4gbGlzdCB5ZXQsIGFuZCBpdCBjYW4gYmUgaW4gdXNlLiAgKi8KLStzdGF0aWMg dm9pZAotK19pbnRfZnJlZV9tZXJnZV9jaHVuayAobXN0YXRlIGF2LCBtY2h1bmtwdHIgcCwgSU5U RVJOQUxfU0laRV9UIHNpemUpCi0rewotKyAgbWNodW5rcHRyIG5leHRjaHVuayA9IGNodW5rX2F0 X29mZnNldChwLCBzaXplKTsKLSsKLSsgIC8qIExpZ2h0d2VpZ2h0IHRlc3RzOiBjaGVjayB3aGV0 aGVyIHRoZSBibG9jayBpcyBhbHJlYWR5IHRoZQotKyAgICAgdG9wIGJsb2NrLiAgKi8KLSsgIGlm IChfX2dsaWJjX3VubGlrZWx5IChwID09IGF2LT50b3ApKQotKyAgICBtYWxsb2NfcHJpbnRlcnIg KCJkb3VibGUgZnJlZSBvciBjb3JydXB0aW9uICh0b3ApIik7Ci0rICAvKiBPciB3aGV0aGVyIHRo ZSBuZXh0IGNodW5rIGlzIGJleW9uZCB0aGUgYm91bmRhcmllcyBvZiB0aGUgYXJlbmEuICAqLwot KyAgaWYgKF9fYnVpbHRpbl9leHBlY3QgKGNvbnRpZ3VvdXMgKGF2KQotKwkJCSYmIChjaGFyICop IG5leHRjaHVuawotKwkJCT49ICgoY2hhciAqKSBhdi0+dG9wICsgY2h1bmtzaXplKGF2LT50b3Ap KSwgMCkpCi0rICAgIG1hbGxvY19wcmludGVyciAoImRvdWJsZSBmcmVlIG9yIGNvcnJ1cHRpb24g KG91dCkiKTsKLSsgIC8qIE9yIHdoZXRoZXIgdGhlIGJsb2NrIGlzIGFjdHVhbGx5IG5vdCBtYXJr ZWQgdXNlZC4gICovCi0rICBpZiAoX19nbGliY191bmxpa2VseSAoIXByZXZfaW51c2UobmV4dGNo dW5rKSkpCi0rICAgIG1hbGxvY19wcmludGVyciAoImRvdWJsZSBmcmVlIG9yIGNvcnJ1cHRpb24g KCFwcmV2KSIpOwotKwotKyAgSU5URVJOQUxfU0laRV9UIG5leHRzaXplID0gY2h1bmtzaXplKG5l eHRjaHVuayk7Ci0rICBpZiAoX19idWlsdGluX2V4cGVjdCAoY2h1bmtzaXplX25vbWFzayAobmV4 dGNodW5rKSA8PSBDSFVOS19IRFJfU1osIDApCi0rICAgICAgfHwgX19idWlsdGluX2V4cGVjdCAo bmV4dHNpemUgPj0gYXYtPnN5c3RlbV9tZW0sIDApKQotKyAgICBtYWxsb2NfcHJpbnRlcnIgKCJm cmVlKCk6IGludmFsaWQgbmV4dCBzaXplIChub3JtYWwpIik7Ci0rCi0rICBmcmVlX3BlcnR1cmIg KGNodW5rMm1lbShwKSwgc2l6ZSAtIENIVU5LX0hEUl9TWik7Ci0gCi0tICAgIC8qIGNvbnNvbGlk YXRlIGJhY2t3YXJkICovCi0tICAgIGlmICghcHJldl9pbnVzZShwKSkgewotLSAgICAgIHByZXZz aXplID0gcHJldl9zaXplIChwKTsKLSsgIC8qIENvbnNvbGlkYXRlIGJhY2t3YXJkLiAgKi8KLSsg IGlmICghcHJldl9pbnVzZShwKSkKLSsgICAgewotKyAgICAgIElOVEVSTkFMX1NJWkVfVCBwcmV2 c2l6ZSA9IHByZXZfc2l6ZSAocCk7Ci0gICAgICAgc2l6ZSArPSBwcmV2c2l6ZTsKLSAgICAgICBw ID0gY2h1bmtfYXRfb2Zmc2V0KHAsIC0oKGxvbmcpIHByZXZzaXplKSk7Ci0gICAgICAgaWYgKF9f Z2xpYmNfdW5saWtlbHkgKGNodW5rc2l6ZShwKSAhPSBwcmV2c2l6ZSkpCi1AQCAtNDY2OSw5ICs0 Njk1LDI1IEBAIF9pbnRfZnJlZSAobXN0YXRlIGF2LCBtY2h1bmtwdHIgcCwgaW50IGhhdmVfbG9j aykKLSAgICAgICB1bmxpbmtfY2h1bmsgKGF2LCBwKTsKLSAgICAgfQotIAotLSAgICBpZiAobmV4 dGNodW5rICE9IGF2LT50b3ApIHsKLSsgIC8qIFdyaXRlIHRoZSBjaHVuayBoZWFkZXIsIG1heWJl IGFmdGVyIG1lcmdpbmcgd2l0aCB0aGUgZm9sbG93aW5nIGNodW5rLiAgKi8KLSsgIHNpemUgPSBf aW50X2ZyZWVfY3JlYXRlX2NodW5rIChhdiwgcCwgc2l6ZSwgbmV4dGNodW5rLCBuZXh0c2l6ZSk7 Ci0rICBfaW50X2ZyZWVfbWF5YmVfY29uc29saWRhdGUgKGF2LCBzaXplKTsKLSt9Ci0rCi0rLyog Q3JlYXRlIGEgY2h1bmsgYXQgUCBvZiBTSVpFIGJ5dGVzLCB3aXRoIFNJWkUgcG90ZW50aWFsbHkg aW5jcmVhc2VkCi0rICAgdG8gY292ZXIgdGhlIGltbWVkaWF0ZWx5IGZvbGxvd2luZyBjaHVuayBO RVhUQ0hVTksgb2YgTkVYVFNJWkUKLSsgICBieXRlcyAoaWYgTkVYVENIVU5LIGlzIHVudXNlZCku ICBUaGUgY2h1bmsgYXQgUCBpcyBub3QgYWN0dWFsbHkKLSsgICByZWFkIGFuZCBkb2VzIG5vdCBo YXZlIHRvIGJlIGluaXRpYWxpemVkLiAgQWZ0ZXIgY3JlYXRpb24sIGl0IGlzCi0rICAgcGxhY2Vk IG9uIHRoZSBhcHByb3ByaWF0ZSBiaW4gbGlzdC4gIFRoZSBmdW5jdGlvbiByZXR1cm5zIHRoZSBz aXplCi0rICAgb2YgdGhlIG5ldyBjaHVuay4gICovCi0rc3RhdGljIElOVEVSTkFMX1NJWkVfVAot K19pbnRfZnJlZV9jcmVhdGVfY2h1bmsgKG1zdGF0ZSBhdiwgbWNodW5rcHRyIHAsIElOVEVSTkFM X1NJWkVfVCBzaXplLAotKwkJCW1jaHVua3B0ciBuZXh0Y2h1bmssIElOVEVSTkFMX1NJWkVfVCBu ZXh0c2l6ZSkKLSt7Ci0rICBpZiAobmV4dGNodW5rICE9IGF2LT50b3ApCi0rICAgIHsKLSAgICAg ICAvKiBnZXQgYW5kIGNsZWFyIGludXNlIGJpdCAqLwotLSAgICAgIG5leHRpbnVzZSA9IGludXNl X2JpdF9hdF9vZmZzZXQobmV4dGNodW5rLCBuZXh0c2l6ZSk7Ci0rICAgICAgYm9vbCBuZXh0aW51 c2UgPSBpbnVzZV9iaXRfYXRfb2Zmc2V0IChuZXh0Y2h1bmssIG5leHRzaXplKTsKLSAKLSAgICAg ICAvKiBjb25zb2xpZGF0ZSBmb3J3YXJkICovCi0gICAgICAgaWYgKCFuZXh0aW51c2UpIHsKLUBA IC00Njg2LDggKzQ3MjgsOCBAQCBfaW50X2ZyZWUgKG1zdGF0ZSBhdiwgbWNodW5rcHRyIHAsIGlu dCBoYXZlX2xvY2spCi0gCWJlZW4gZ2l2ZW4gb25lIGNoYW5jZSB0byBiZSB1c2VkIGluIG1hbGxv Yy4KLSAgICAgICAqLwotIAotLSAgICAgIGJjayA9IHVuc29ydGVkX2NodW5rcyhhdik7Ci0tICAg ICAgZndkID0gYmNrLT5mZDsKLSsgICAgICBtY2h1bmtwdHIgYmNrID0gdW5zb3J0ZWRfY2h1bmtz IChhdik7Ci0rICAgICAgbWNodW5rcHRyIGZ3ZCA9IGJjay0+ZmQ7Ci0gICAgICAgaWYgKF9fZ2xp YmNfdW5saWtlbHkgKGZ3ZC0+YmsgIT0gYmNrKSkKLSAJbWFsbG9jX3ByaW50ZXJyICgiZnJlZSgp OiBjb3JydXB0ZWQgdW5zb3J0ZWQgY2h1bmtzIik7Ci0gICAgICAgcC0+ZmQgPSBmd2Q7Ci1AQCAt NDcwNiw2MSArNDc0OCw1MiBAQCBfaW50X2ZyZWUgKG1zdGF0ZSBhdiwgbWNodW5rcHRyIHAsIGlu dCBoYXZlX2xvY2spCi0gICAgICAgY2hlY2tfZnJlZV9jaHVuayhhdiwgcCk7Ci0gICAgIH0KLSAK LS0gICAgLyoKLS0gICAgICBJZiB0aGUgY2h1bmsgYm9yZGVycyB0aGUgY3VycmVudCBoaWdoIGVu ZCBvZiBtZW1vcnksCi0tICAgICAgY29uc29saWRhdGUgaW50byB0b3AKLS0gICAgKi8KLS0KLS0g ICAgZWxzZSB7Ci0rICBlbHNlCi0rICAgIHsKLSsgICAgICAvKiBJZiB0aGUgY2h1bmsgYm9yZGVy cyB0aGUgY3VycmVudCBoaWdoIGVuZCBvZiBtZW1vcnksCi0rCSBjb25zb2xpZGF0ZSBpbnRvIHRv cC4gICovCi0gICAgICAgc2l6ZSArPSBuZXh0c2l6ZTsKLSAgICAgICBzZXRfaGVhZChwLCBzaXpl IHwgUFJFVl9JTlVTRSk7Ci0gICAgICAgYXYtPnRvcCA9IHA7Ci0gICAgICAgY2hlY2tfY2h1bmso YXYsIHApOwotICAgICB9Ci0gCi0tICAgIC8qCi0tICAgICAgSWYgZnJlZWluZyBhIGxhcmdlIHNw YWNlLCBjb25zb2xpZGF0ZSBwb3NzaWJseS1zdXJyb3VuZGluZwotLSAgICAgIGNodW5rcy4gVGhl biwgaWYgdGhlIHRvdGFsIHVudXNlZCB0b3Btb3N0IG1lbW9yeSBleGNlZWRzIHRyaW0KLS0gICAg ICB0aHJlc2hvbGQsIGFzayBtYWxsb2NfdHJpbSB0byByZWR1Y2UgdG9wLgotLQotLSAgICAgIFVu bGVzcyBtYXhfZmFzdCBpcyAwLCB3ZSBkb24ndCBrbm93IGlmIHRoZXJlIGFyZSBmYXN0Ymlucwot LSAgICAgIGJvcmRlcmluZyB0b3AsIHNvIHdlIGNhbm5vdCB0ZWxsIGZvciBzdXJlIHdoZXRoZXIg dGhyZXNob2xkCi0tICAgICAgaGFzIGJlZW4gcmVhY2hlZCB1bmxlc3MgZmFzdGJpbnMgYXJlIGNv bnNvbGlkYXRlZC4gIEJ1dCB3ZQotLSAgICAgIGRvbid0IHdhbnQgdG8gY29uc29saWRhdGUgb24g ZWFjaCBmcmVlLiAgQXMgYSBjb21wcm9taXNlLAotLSAgICAgIGNvbnNvbGlkYXRpb24gaXMgcGVy Zm9ybWVkIGlmIEZBU1RCSU5fQ09OU09MSURBVElPTl9USFJFU0hPTEQKLS0gICAgICBpcyByZWFj aGVkLgotLSAgICAqLwotKyAgcmV0dXJuIHNpemU7Ci0rfQotIAotLSAgICBpZiAoKHVuc2lnbmVk IGxvbmcpKHNpemUpID49IEZBU1RCSU5fQ09OU09MSURBVElPTl9USFJFU0hPTEQpIHsKLSsvKiBJ ZiBmcmVlaW5nIGEgbGFyZ2Ugc3BhY2UsIGNvbnNvbGlkYXRlIHBvc3NpYmx5LXN1cnJvdW5kaW5n Ci0rICAgY2h1bmtzLiAgVGhlbiwgaWYgdGhlIHRvdGFsIHVudXNlZCB0b3Btb3N0IG1lbW9yeSBl eGNlZWRzIHRyaW0KLSsgICB0aHJlc2hvbGQsIGFzayBtYWxsb2NfdHJpbSB0byByZWR1Y2UgdG9w LiAgKi8KLStzdGF0aWMgdm9pZAotK19pbnRfZnJlZV9tYXliZV9jb25zb2xpZGF0ZSAobXN0YXRl IGF2LCBJTlRFUk5BTF9TSVpFX1Qgc2l6ZSkKLSt7Ci0rICAvKiBVbmxlc3MgbWF4X2Zhc3QgaXMg MCwgd2UgZG9uJ3Qga25vdyBpZiB0aGVyZSBhcmUgZmFzdGJpbnMKLSsgICAgIGJvcmRlcmluZyB0 b3AsIHNvIHdlIGNhbm5vdCB0ZWxsIGZvciBzdXJlIHdoZXRoZXIgdGhyZXNob2xkIGhhcwotKyAg ICAgYmVlbiByZWFjaGVkIHVubGVzcyBmYXN0YmlucyBhcmUgY29uc29saWRhdGVkLiAgQnV0IHdl IGRvbid0IHdhbnQKLSsgICAgIHRvIGNvbnNvbGlkYXRlIG9uIGVhY2ggZnJlZS4gIEFzIGEgY29t cHJvbWlzZSwgY29uc29saWRhdGlvbiBpcwotKyAgICAgcGVyZm9ybWVkIGlmIEZBU1RCSU5fQ09O U09MSURBVElPTl9USFJFU0hPTEQgaXMgcmVhY2hlZC4gICovCi0rICBpZiAoc2l6ZSA+PSBGQVNU QklOX0NPTlNPTElEQVRJT05fVEhSRVNIT0xEKQotKyAgICB7Ci0gICAgICAgaWYgKGF0b21pY19s b2FkX3JlbGF4ZWQgKCZhdi0+aGF2ZV9mYXN0Y2h1bmtzKSkKLSAJbWFsbG9jX2NvbnNvbGlkYXRl KGF2KTsKLSAKLS0gICAgICBpZiAoYXYgPT0gJm1haW5fYXJlbmEpIHsKLSsgICAgICBpZiAoYXYg PT0gJm1haW5fYXJlbmEpCi0rCXsKLSAjaWZuZGVmIE1PUkVDT1JFX0NBTk5PVF9UUklNCi0tCWlm ICgodW5zaWduZWQgbG9uZykoY2h1bmtzaXplKGF2LT50b3ApKSA+PQotLQkgICAgKHVuc2lnbmVk IGxvbmcpKG1wXy50cmltX3RocmVzaG9sZCkpCi0tCSAgc3lzdHJpbShtcF8udG9wX3BhZCwgYXYp OwotKwkgIGlmIChjaHVua3NpemUgKGF2LT50b3ApID49IG1wXy50cmltX3RocmVzaG9sZCkKLSsJ ICAgIHN5c3RyaW0gKG1wXy50b3BfcGFkLCBhdik7Ci0gI2VuZGlmCi0tICAgICAgfSBlbHNlIHsK LS0JLyogQWx3YXlzIHRyeSBoZWFwX3RyaW0oKSwgZXZlbiBpZiB0aGUgdG9wIGNodW5rIGlzIG5v dAotLQkgICBsYXJnZSwgYmVjYXVzZSB0aGUgY29ycmVzcG9uZGluZyBoZWFwIG1pZ2h0IGdvIGF3 YXkuICAqLwotLQloZWFwX2luZm8gKmhlYXAgPSBoZWFwX2Zvcl9wdHIodG9wKGF2KSk7Ci0rCX0K LSsgICAgICBlbHNlCi0rCXsKLSsJICAvKiBBbHdheXMgdHJ5IGhlYXBfdHJpbSwgZXZlbiBpZiB0 aGUgdG9wIGNodW5rIGlzIG5vdCBsYXJnZSwKLSsJICAgICBiZWNhdXNlIHRoZSBjb3JyZXNwb25k aW5nIGhlYXAgbWlnaHQgZ28gYXdheS4gICovCi0rCSAgaGVhcF9pbmZvICpoZWFwID0gaGVhcF9m b3JfcHRyICh0b3AgKGF2KSk7Ci0gCi0tCWFzc2VydChoZWFwLT5hcl9wdHIgPT0gYXYpOwotLQlo ZWFwX3RyaW0oaGVhcCwgbXBfLnRvcF9wYWQpOwotLSAgICAgIH0KLSsJICBhc3NlcnQgKGhlYXAt PmFyX3B0ciA9PSBhdik7Ci0rCSAgaGVhcF90cmltIChoZWFwLCBtcF8udG9wX3BhZCk7Ci0rCX0K LSAgICAgfQotLQotLSAgICBpZiAoIWhhdmVfbG9jaykKLS0gICAgICBfX2xpYmNfbG9ja191bmxv Y2sgKGF2LT5tdXRleCk7Ci0tICB9Ci0tICAvKgotLSAgICBJZiB0aGUgY2h1bmsgd2FzIGFsbG9j YXRlZCB2aWEgbW1hcCwgcmVsZWFzZSB2aWEgbXVubWFwKCkuCi0tICAqLwotLQotLSAgZWxzZSB7 Ci0tICAgIG11bm1hcF9jaHVuayAocCk7Ci0tICB9Ci0gfQotIAotIC8qCi1AQCAtNTIyMSw3ICs1 MjU0LDcgQEAgX2ludF9tZW1hbGlnbiAobXN0YXRlIGF2LCBzaXplX3QgYWxpZ25tZW50LCBzaXpl X3QgYnl0ZXMpCi0gICAgICAgICAgICAgICAgIChhdiAhPSAmbWFpbl9hcmVuYSA/IE5PTl9NQUlO X0FSRU5BIDogMCkpOwotICAgICAgIHNldF9pbnVzZV9iaXRfYXRfb2Zmc2V0IChuZXdwLCBuZXdz aXplKTsKLSAgICAgICBzZXRfaGVhZF9zaXplIChwLCBsZWFkc2l6ZSB8IChhdiAhPSAmbWFpbl9h cmVuYSA/IE5PTl9NQUlOX0FSRU5BIDogMCkpOwotLSAgICAgIF9pbnRfZnJlZSAoYXYsIHAsIDEp OwotKyAgICAgIF9pbnRfZnJlZV9tZXJnZV9jaHVuayAoYXYsIHAsIGxlYWRzaXplKTsKLSAgICAg ICBwID0gbmV3cDsKLSAKLSAgICAgICBhc3NlcnQgKG5ld3NpemUgPj0gbmIgJiYKLUBAIC01MjMy LDE1ICs1MjY1LDI3IEBAIF9pbnRfbWVtYWxpZ24gKG1zdGF0ZSBhdiwgc2l6ZV90IGFsaWdubWVu dCwgc2l6ZV90IGJ5dGVzKQotICAgaWYgKCFjaHVua19pc19tbWFwcGVkIChwKSkKLSAgICAgewot ICAgICAgIHNpemUgPSBjaHVua3NpemUgKHApOwotLSAgICAgIGlmICgodW5zaWduZWQgbG9uZykg KHNpemUpID4gKHVuc2lnbmVkIGxvbmcpIChuYiArIE1JTlNJWkUpKQotKyAgICAgIG1jaHVua3B0 ciBuZXh0Y2h1bmsgPSBjaHVua19hdF9vZmZzZXQocCwgc2l6ZSk7Ci0rICAgICAgSU5URVJOQUxf U0laRV9UIG5leHRzaXplID0gY2h1bmtzaXplKG5leHRjaHVuayk7Ci0rICAgICAgaWYgKHNpemUg PiBuYikKLSAgICAgICAgIHsKLSAgICAgICAgICAgcmVtYWluZGVyX3NpemUgPSBzaXplIC0gbmI7 Ci0tICAgICAgICAgIHJlbWFpbmRlciA9IGNodW5rX2F0X29mZnNldCAocCwgbmIpOwotLSAgICAg ICAgICBzZXRfaGVhZCAocmVtYWluZGVyLCByZW1haW5kZXJfc2l6ZSB8IFBSRVZfSU5VU0UgfAot LSAgICAgICAgICAgICAgICAgICAgKGF2ICE9ICZtYWluX2FyZW5hID8gTk9OX01BSU5fQVJFTkEg OiAwKSk7Ci0tICAgICAgICAgIHNldF9oZWFkX3NpemUgKHAsIG5iKTsKLS0gICAgICAgICAgX2lu dF9mcmVlIChhdiwgcmVtYWluZGVyLCAxKTsKLS0gICAgICAgIH0KLSsJICBpZiAocmVtYWluZGVy X3NpemUgPj0gTUlOU0laRQotKwkgICAgICB8fCBuZXh0Y2h1bmsgPT0gYXYtPnRvcAotKwkgICAg ICB8fCAhaW51c2VfYml0X2F0X29mZnNldCAobmV4dGNodW5rLCBuZXh0c2l6ZSkpCi0rCSAgICB7 Ci0rCSAgICAgIC8qIFdlIGNhbiBvbmx5IGdpdmUgYmFjayB0aGUgdGFpbCBpZiBpdCBpcyBsYXJn ZXIgdGhhbgotKwkJIE1JTlNJWkUsIG9yIGlmIHRoZSBmb2xsb3dpbmcgY2h1bmsgaXMgdW51c2Vk ICh0b3AKLSsJCSBjaHVuayBvciB1bnVzZWQgaW4taGVhcCBjaHVuaykuICBPdGhlcndpc2Ugd2Ug d291bGQKLSsJCSBjcmVhdGUgYSBjaHVuayB0aGF0IGlzIHNtYWxsZXIgdGhhbiBNSU5TSVpFLiAg Ki8KLSsJICAgICAgcmVtYWluZGVyID0gY2h1bmtfYXRfb2Zmc2V0IChwLCBuYik7Ci0rCSAgICAg IHNldF9oZWFkX3NpemUgKHAsIG5iKTsKLSsJICAgICAgcmVtYWluZGVyX3NpemUgPSBfaW50X2Zy ZWVfY3JlYXRlX2NodW5rIChhdiwgcmVtYWluZGVyLAotKwkJCQkJCSAgICAgICByZW1haW5kZXJf c2l6ZSwKLSsJCQkJCQkgICAgICAgbmV4dGNodW5rLCBuZXh0c2l6ZSk7Ci0rCSAgICAgIF9pbnRf ZnJlZV9tYXliZV9jb25zb2xpZGF0ZSAoYXYsIHJlbWFpbmRlcl9zaXplKTsKLSsJICAgIH0KLSsJ fQotICAgICB9Ci0gCi0gICBjaGVja19pbnVzZV9jaHVuayAoYXYsIHApOwpkaWZmIC0tZ2l0IGEv c3JjcGtncy9nbGliYy9wYXRjaGVzLzMwNzIzLTItMGRjN2ZjMWNmMDk0NDA2YTEzOGU0ZDFiY2Y5 NTUzZTU5ZWRjZjg5ZC5wYXRjaCBiL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8zMDcyMy0yLTBkYzdm YzFjZjA5NDQwNmExMzhlNGQxYmNmOTU1M2U1OWVkY2Y4OWQucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDQ2MTVjN2IwMzVjYzc1Li4wMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL2dsaWJjL3BhdGNoZXMvMzA3MjMtMi0wZGM3ZmMxY2YwOTQ0MDZhMTM4ZTRkMWJjZjk1NTNl NTllZGNmODlkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUyICswLDAgQEAKLUZyb20gMGRj N2ZjMWNmMDk0NDA2YTEzOGU0ZDFiY2Y5NTUzZTU5ZWRjZjg5ZCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IEZsb3JpYW4gV2VpbWVyIDxmd2VpbWVyQHJlZGhhdC5jb20+Ci1EYXRlOiBU aHUsIDEwIEF1ZyAyMDIzIDE5OjM2OjU2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG1hbGxvYzog UmVtb3ZlIGJpbiBzY2FubmluZyBmcm9tIG1lbWFsaWduIChidWcgMzA3MjMpCi0KLU9uIHRoZSB0 ZXN0IHdvcmtsb2FkIChtcHYgLS1jYWNoZT15ZXMgd2l0aCBWUDkgdmlkZW8gZGVjb2RpbmcpLCB0 aGUKLWJpbiBzY2FubmluZyBoYXMgYSB2ZXJ5IHBvb3Igc3VjY2VzcyByYXRlIChsZXNzIHRoYW4g MiUpLiAgVGhlIHRjYWNoZQotc2Nhbm5pbmcgaGFzIGFib3V0IDUwJSBzdWNjZXNzIHJhdGUsIHNv IGtlZXAgdGhhdC4KLQotVXBkYXRlIGNvbW1lbnRzIGluIG1hbGxvYy90c3QtbWVtYWxpZ24tMiB0 byBpbmRpY2F0ZSB0aGUgcHVycG9zZQotb2YgdGhlIHRlc3RzLiAgRXZlbiB3aXRoIHRoZSBzY2Fu bmluZyByZW1vdmVkLCB0aGUgYWRkaXRpb25hbAotbWVyZ2luZyBvcHBvcnR1bml0aWVzIHNpbmNl IGNvbW1pdCA1NDJiMTEwNTg1MjU2OGMzZWJjNzEyMjI1YWU3OGIKLSgibWFsbG9jOiBFbmFibGUg bWVyZ2luZyBvZiByZW1haW5kZXJzIGluIG1lbWFsaWduIChidWcgMzA3MjMpIikKLWFyZSBzdWZm aWNpZW50IHRvIHBhc3MgdGhlIGV4aXN0aW5nIGxhcmdlIGJpbnMgdGVzdC4KLQotUmVtb3ZlIGxl ZnRvdmVyIHZhcmlhYmxlcyBmcm9tIF9pbnRfZnJlZSBmcm9tIHJlZmFjdG9yaW5nIGluIHRoZQot c2FtZSBjb21taXQuCi0KLVJldmlld2VkLWJ5OiBESiBEZWxvcmllIDxkakByZWRoYXQuY29tPgot LS0tCi0gbWFsbG9jL21hbGxvYy5jICAgICAgICAgfCAxNjkgKystLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQotIG1hbGxvYy90c3QtbWVtYWxpZ24tMi5jIHwgICA3ICstCi0g MiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxNjYgZGVsZXRpb25zKC0pCi0KLWRp ZmYgLS1naXQgYS9tYWxsb2MvbWFsbG9jLmMgYi9tYWxsb2MvbWFsbG9jLmMKLWluZGV4IDk0OGY5 NzU5YWYuLmQwYmJiZjM3MTAgMTAwNjQ0Ci0tLS0gYS9tYWxsb2MvbWFsbG9jLmMKLSsrKyBiL21h bGxvYy9tYWxsb2MuYwotQEAgLTQ0ODgsMTIgKzQ0ODgsNiBAQCBfaW50X2ZyZWUgKG1zdGF0ZSBh diwgbWNodW5rcHRyIHAsIGludCBoYXZlX2xvY2spCi0gewotICAgSU5URVJOQUxfU0laRV9UIHNp emU7ICAgICAgICAvKiBpdHMgc2l6ZSAqLwotICAgbWZhc3RiaW5wdHIgKmZiOyAgICAgICAgICAg ICAvKiBhc3NvY2lhdGVkIGZhc3RiaW4gKi8KLS0gIG1jaHVua3B0ciBuZXh0Y2h1bms7ICAgICAg ICAgLyogbmV4dCBjb250aWd1b3VzIGNodW5rICovCi0tICBJTlRFUk5BTF9TSVpFX1QgbmV4dHNp emU7ICAgIC8qIGl0cyBzaXplICovCi0tICBpbnQgbmV4dGludXNlOyAgICAgICAgICAgICAgIC8q IHRydWUgaWYgbmV4dGNodW5rIGlzIHVzZWQgKi8KLS0gIElOVEVSTkFMX1NJWkVfVCBwcmV2c2l6 ZTsgICAgLyogc2l6ZSBvZiBwcmV2aW91cyBjb250aWd1b3VzIGNodW5rICovCi0tICBtY2h1bmtw dHIgYmNrOyAgICAgICAgICAgICAgIC8qIG1pc2MgdGVtcCBmb3IgbGlua2luZyAqLwotLSAgbWNo dW5rcHRyIGZ3ZDsgICAgICAgICAgICAgICAvKiBtaXNjIHRlbXAgZm9yIGxpbmtpbmcgKi8KLSAK LSAgIHNpemUgPSBjaHVua3NpemUgKHApOwotIAotQEAgLTUwMzIsNDIgKzUwMjYsNiBAQCBfaW50 X3JlYWxsb2MgKG1zdGF0ZSBhdiwgbWNodW5rcHRyIG9sZHAsIElOVEVSTkFMX1NJWkVfVCBvbGRz aXplLAotICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBtZW1hbGlnbiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgKi8KLSAKLS0vKiBSZXR1cm5zIDAgaWYgdGhlIGNo dW5rIGlzIG5vdCBhbmQgZG9lcyBub3QgY29udGFpbiB0aGUgcmVxdWVzdGVkCi0tICAgYWxpZ25l ZCBzdWItY2h1bmssIGVsc2UgcmV0dXJucyB0aGUgYW1vdW50IG9mICJ3YXN0ZSIgZnJvbQotLSAg IHRyaW1taW5nLiAgTkIgaXMgdGhlICpjaHVuayogYnl0ZSBzaXplLCBub3QgdGhlIHVzZXIgYnl0 ZQotLSAgIHNpemUuICAqLwotLXN0YXRpYyBzaXplX3QKLS1jaHVua19va19mb3JfbWVtYWxpZ24g KG1jaHVua3B0ciBwLCBzaXplX3QgYWxpZ25tZW50LCBzaXplX3QgbmIpCi0tewotLSAgdm9pZCAq bSA9IGNodW5rMm1lbSAocCk7Ci0tICBJTlRFUk5BTF9TSVpFX1Qgc2l6ZSA9IGNodW5rc2l6ZSAo cCk7Ci0tICB2b2lkICphbGlnbmVkX20gPSBtOwotLQotLSAgaWYgKF9fZ2xpYmNfdW5saWtlbHkg KG1pc2FsaWduZWRfY2h1bmsgKHApKSkKLS0gICAgbWFsbG9jX3ByaW50ZXJyICgiX2ludF9tZW1h bGlnbigpOiB1bmFsaWduZWQgY2h1bmsgZGV0ZWN0ZWQiKTsKLS0KLS0gIGFsaWduZWRfbSA9IFBU Ul9BTElHTl9VUCAobSwgYWxpZ25tZW50KTsKLS0KLS0gIElOVEVSTkFMX1NJWkVfVCBmcm9udF9l eHRyYSA9IChpbnRwdHJfdCkgYWxpZ25lZF9tIC0gKGludHB0cl90KSBtOwotLQotLSAgLyogV2Ug Y2FuJ3QgdHJpbSBvZmYgdGhlIGZyb250IGFzIGl0J3MgdG9vIHNtYWxsLiAgKi8KLS0gIGlmIChm cm9udF9leHRyYSA+IDAgJiYgZnJvbnRfZXh0cmEgPCBNSU5TSVpFKQotLSAgICByZXR1cm4gMDsK LS0KLS0gIC8qIElmIGl0J3MgYSBwZXJmZWN0IGZpdCwgaXQncyBhbiBleGNlcHRpb24gdG8gdGhl IHJldHVybiB2YWx1ZSBydWxlCi0tICAgICAod2Ugd291bGQgcmV0dXJuIHplcm8gd2FzdGUsIHdo aWNoIGxvb2tzIGxpa2UgIm5vdCB1c2FibGUiKSwgc28KLS0gICAgIGhhbmRsZSBpdCBoZXJlIGJ5 IHJldHVybmluZyBhIHNtYWxsIG5vbi16ZXJvIHZhbHVlIGluc3RlYWQuICAqLwotLSAgaWYgKHNp emUgPT0gbmIgJiYgZnJvbnRfZXh0cmEgPT0gMCkKLS0gICAgcmV0dXJuIDE7Ci0tCi0tICAvKiBJ ZiB0aGUgYmxvY2sgd2UgbmVlZCBmaXRzIGluIHRoZSBjaHVuaywgY2FsY3VsYXRlIHRvdGFsIHdh c3RlLiAgKi8KLS0gIGlmIChzaXplID4gbmIgKyBmcm9udF9leHRyYSkKLS0gICAgcmV0dXJuIHNp emUgLSBuYjsKLS0KLS0gIC8qIENhbid0IHVzZSB0aGlzIGNodW5rLiAgKi8KLS0gIHJldHVybiAw OwotLX0KLS0KLSAvKiBCWVRFUyBpcyB1c2VyIHJlcXVlc3RlZCBieXRlcywgbm90IHJlcXVlc3Rl ZCBjaHVua3NpemUgYnl0ZXMuICAqLwotIHN0YXRpYyB2b2lkICoKLSBfaW50X21lbWFsaWduICht c3RhdGUgYXYsIHNpemVfdCBhbGlnbm1lbnQsIHNpemVfdCBieXRlcykKLUBAIC01MDgyLDcgKzUw NDAsNiBAQCBfaW50X21lbWFsaWduIChtc3RhdGUgYXYsIHNpemVfdCBhbGlnbm1lbnQsIHNpemVf dCBieXRlcykKLSAgIG1jaHVua3B0ciByZW1haW5kZXI7ICAgICAgICAgICAgLyogc3BhcmUgcm9v bSBhdCBlbmQgdG8gc3BsaXQgb2ZmICovCi0gICB1bnNpZ25lZCBsb25nIHJlbWFpbmRlcl9zaXpl OyAgIC8qIGl0cyBzaXplICovCi0gICBJTlRFUk5BTF9TSVpFX1Qgc2l6ZTsKLS0gIG1jaHVua3B0 ciB2aWN0aW07Ci0gCi0gICBuYiA9IGNoZWNrZWRfcmVxdWVzdDJzaXplIChieXRlcyk7Ci0gICBp ZiAobmIgPT0gMCkKLUBAIC01MTAxLDEyOSArNTA1OCwxMyBAQCBfaW50X21lbWFsaWduIChtc3Rh dGUgYXYsIHNpemVfdCBhbGlnbm1lbnQsIHNpemVfdCBieXRlcykKLSAgICAgIHdlIGRvbid0IGZp bmQgYW55dGhpbmcgaW4gdGhvc2UgYmlucywgdGhlIGNvbW1vbiBtYWxsb2MgY29kZSB3aWxsCi0g ICAgICBzY2FuIHN0YXJ0aW5nIGF0IDJ4LiAgKi8KLSAKLS0gIC8qIFRoaXMgd2lsbCBiZSBzZXQg aWYgd2UgZm91bmQgYSBjYW5kaWRhdGUgY2h1bmsuICAqLwotLSAgdmljdGltID0gTlVMTDsKLS0K LS0gIC8qIEZhc3QgYmlucyBhcmUgc2luZ2x5LWxpbmtlZCwgaGFyZCB0byByZW1vdmUgYSBjaHVu ayBmcm9tIHRoZSBtaWRkbGUKLS0gICAgIGFuZCB1bmxpa2VseSB0byBtZWV0IG91ciBhbGlnbm1l bnQgcmVxdWlyZW1lbnRzLiAgV2UgaGF2ZSBub3QgZG9uZQotLSAgICAgYW55IGV4cGVyaW1lbnRh dGlvbiB3aXRoIHNlYXJjaGluZyBmb3IgYWxpZ25lZCBmYXN0Ymlucy4gICovCi0tCi0tICBpZiAo YXYgIT0gTlVMTCkKLS0gICAgewotLSAgICAgIGludCBmaXJzdF9iaW5faW5kZXg7Ci0tICAgICAg aW50IGZpcnN0X2xhcmdlYmluX2luZGV4OwotLSAgICAgIGludCBsYXN0X2Jpbl9pbmRleDsKLS0K LS0gICAgICBpZiAoaW5fc21hbGxiaW5fcmFuZ2UgKG5iKSkKLS0JZmlyc3RfYmluX2luZGV4ID0g c21hbGxiaW5faW5kZXggKG5iKTsKLS0gICAgICBlbHNlCi0tCWZpcnN0X2Jpbl9pbmRleCA9IGxh cmdlYmluX2luZGV4IChuYik7Ci0tCi0tICAgICAgaWYgKGluX3NtYWxsYmluX3JhbmdlIChuYiAq IDIpKQotLQlsYXN0X2Jpbl9pbmRleCA9IHNtYWxsYmluX2luZGV4IChuYiAqIDIpOwotLSAgICAg IGVsc2UKLS0JbGFzdF9iaW5faW5kZXggPSBsYXJnZWJpbl9pbmRleCAobmIgKiAyKTsKLS0KLS0g ICAgICBmaXJzdF9sYXJnZWJpbl9pbmRleCA9IGxhcmdlYmluX2luZGV4IChNSU5fTEFSR0VfU0la RSk7Ci0tCi0tICAgICAgaW50IHZpY3RpbV9pbmRleDsgICAgICAgICAgICAgICAgIC8qIGl0cyBi aW4gaW5kZXggKi8KLS0KLS0gICAgICBmb3IgKHZpY3RpbV9pbmRleCA9IGZpcnN0X2Jpbl9pbmRl eDsKLS0JICAgdmljdGltX2luZGV4IDwgbGFzdF9iaW5faW5kZXg7Ci0tCSAgIHZpY3RpbV9pbmRl eCArKykKLS0JewotLQkgIHZpY3RpbSA9IE5VTEw7Ci0tCi0tCSAgaWYgKHZpY3RpbV9pbmRleCA8 IGZpcnN0X2xhcmdlYmluX2luZGV4KQotLQkgICAgewotLQkgICAgICAvKiBDaGVjayBzbWFsbCBi aW5zLiAgU21hbGwgYmluIGNodW5rcyBhcmUgZG91Ymx5LWxpbmtlZCBkZXNwaXRlCi0tCQkgYmVp bmcgdGhlIHNhbWUgc2l6ZS4gICovCi0tCi0tCSAgICAgIG1jaHVua3B0ciBmd2Q7ICAgICAgICAg ICAgICAgICAgICAvKiBtaXNjIHRlbXAgZm9yIGxpbmtpbmcgKi8KLS0JICAgICAgbWNodW5rcHRy IGJjazsgICAgICAgICAgICAgICAgICAgIC8qIG1pc2MgdGVtcCBmb3IgbGlua2luZyAqLwotLQot LQkgICAgICBiY2sgPSBiaW5fYXQgKGF2LCB2aWN0aW1faW5kZXgpOwotLQkgICAgICBmd2QgPSBi Y2stPmZkOwotLQkgICAgICB3aGlsZSAoZndkICE9IGJjaykKLS0JCXsKLS0JCSAgaWYgKGNodW5r X29rX2Zvcl9tZW1hbGlnbiAoZndkLCBhbGlnbm1lbnQsIG5iKSA+IDApCi0tCQkgICAgewotLQkJ ICAgICAgdmljdGltID0gZndkOwotLQotLQkJICAgICAgLyogVW5saW5rIGl0ICovCi0tCQkgICAg ICB2aWN0aW0tPmZkLT5iayA9IHZpY3RpbS0+Yms7Ci0tCQkgICAgICB2aWN0aW0tPmJrLT5mZCA9 IHZpY3RpbS0+ZmQ7Ci0tCQkgICAgICBicmVhazsKLS0JCSAgICB9Ci0tCi0tCQkgIGZ3ZCA9IGZ3 ZC0+ZmQ7Ci0tCQl9Ci0tCSAgICB9Ci0tCSAgZWxzZQotLQkgICAgewotLQkgICAgICAvKiBDaGVj ayBsYXJnZSBiaW5zLiAgKi8KLS0JICAgICAgbWNodW5rcHRyIGZ3ZDsgICAgICAgICAgICAgICAg ICAgIC8qIG1pc2MgdGVtcCBmb3IgbGlua2luZyAqLwotLQkgICAgICBtY2h1bmtwdHIgYmNrOyAg ICAgICAgICAgICAgICAgICAgLyogbWlzYyB0ZW1wIGZvciBsaW5raW5nICovCi0tCSAgICAgIG1j aHVua3B0ciBiZXN0ID0gTlVMTDsKLS0JICAgICAgc2l6ZV90IGJlc3Rfc2l6ZSA9IDA7Ci0tCi0t CSAgICAgIGJjayA9IGJpbl9hdCAoYXYsIHZpY3RpbV9pbmRleCk7Ci0tCSAgICAgIGZ3ZCA9IGJj ay0+ZmQ7Ci0rICAvKiBDYWxsIG1hbGxvYyB3aXRoIHdvcnN0IGNhc2UgcGFkZGluZyB0byBoaXQg YWxpZ25tZW50LiAqLwotKyAgbSA9IChjaGFyICopIChfaW50X21hbGxvYyAoYXYsIG5iICsgYWxp Z25tZW50ICsgTUlOU0laRSkpOwotIAotLQkgICAgICB3aGlsZSAoZndkICE9IGJjaykKLS0JCXsK LS0JCSAgaW50IGV4dHJhOwotLQotLQkJICBpZiAoY2h1bmtzaXplIChmd2QpIDwgbmIpCi0tCQkg ICAgYnJlYWs7Ci0tCQkgIGV4dHJhID0gY2h1bmtfb2tfZm9yX21lbWFsaWduIChmd2QsIGFsaWdu bWVudCwgbmIpOwotLQkJICBpZiAoZXh0cmEgPiAwCi0tCQkgICAgICAmJiAoZXh0cmEgPD0gYmVz dF9zaXplIHx8IGJlc3QgPT0gTlVMTCkpCi0tCQkgICAgewotLQkJICAgICAgYmVzdCA9IGZ3ZDsK LS0JCSAgICAgIGJlc3Rfc2l6ZSA9IGV4dHJhOwotLQkJICAgIH0KLSsgIGlmIChtID09IDApCi0r ICAgIHJldHVybiAwOyAgICAgICAgICAgLyogcHJvcGFnYXRlIGZhaWx1cmUgKi8KLSAKLS0JCSAg ZndkID0gZndkLT5mZDsKLS0JCX0KLS0JICAgICAgdmljdGltID0gYmVzdDsKLS0KLS0JICAgICAg aWYgKHZpY3RpbSAhPSBOVUxMKQotLQkJewotLQkJICB1bmxpbmtfY2h1bmsgKGF2LCB2aWN0aW0p OwotLQkJICBicmVhazsKLS0JCX0KLS0JICAgIH0KLS0KLS0JICBpZiAodmljdGltICE9IE5VTEwp Ci0tCSAgICBicmVhazsKLS0JfQotLSAgICB9Ci0tCi0tICAvKiBTdHJhdGVneTogZmluZCBhIHNw b3Qgd2l0aGluIHRoYXQgY2h1bmsgdGhhdCBtZWV0cyB0aGUgYWxpZ25tZW50Ci0tICAgICByZXF1 ZXN0LCBhbmQgdGhlbiBwb3NzaWJseSBmcmVlIHRoZSBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFj ZS4KLS0gICAgIFRoaXMgc3RyYXRlZ3kgaXMgaW5jcmVkaWJseSBjb3N0bHkgYW5kIGNhbiBsZWFk IHRvIGV4dGVybmFsCi0tICAgICBmcmFnbWVudGF0aW9uIGlmIGhlYWRlciBhbmQgZm9vdGVyIGNo dW5rcyBhcmUgdW51c2VkLiAgKi8KLS0KLS0gIGlmICh2aWN0aW0gIT0gTlVMTCkKLS0gICAgewot LSAgICAgIHAgPSB2aWN0aW07Ci0tICAgICAgbSA9IGNodW5rMm1lbSAocCk7Ci0tICAgICAgc2V0 X2ludXNlIChwKTsKLS0gICAgICBpZiAoYXYgIT0gJm1haW5fYXJlbmEpCi0tCXNldF9ub25fbWFp bl9hcmVuYSAocCk7Ci0tICAgIH0KLS0gIGVsc2UKLS0gICAgewotLSAgICAgIC8qIENhbGwgbWFs bG9jIHdpdGggd29yc3QgY2FzZSBwYWRkaW5nIHRvIGhpdCBhbGlnbm1lbnQuICovCi0tCi0tICAg ICAgbSA9IChjaGFyICopIChfaW50X21hbGxvYyAoYXYsIG5iICsgYWxpZ25tZW50ICsgTUlOU0la RSkpOwotLQotLSAgICAgIGlmIChtID09IDApCi0tCXJldHVybiAwOyAgICAgICAgICAgLyogcHJv cGFnYXRlIGZhaWx1cmUgKi8KLS0KLS0gICAgICBwID0gbWVtMmNodW5rIChtKTsKLS0gICAgfQot KyAgcCA9IG1lbTJjaHVuayAobSk7Ci0gCi0gICBpZiAoKCgodW5zaWduZWQgbG9uZykgKG0pKSAl IGFsaWdubWVudCkgIT0gMCkgICAvKiBtaXNhbGlnbmVkICovCi0gICAgIHsKLWRpZmYgLS1naXQg YS9tYWxsb2MvdHN0LW1lbWFsaWduLTIuYyBiL21hbGxvYy90c3QtbWVtYWxpZ24tMi5jCi1pbmRl eCBmMjI5MjgzZGJmLi5lY2Q2ZmEyNDllIDEwMDY0NAotLS0tIGEvbWFsbG9jL3RzdC1tZW1hbGln bi0yLmMKLSsrKyBiL21hbGxvYy90c3QtbWVtYWxpZ24tMi5jCi1AQCAtODYsNyArODYsOCBAQCBk b190ZXN0ICh2b2lkKQotICAgICAgIFRFU1RfVkVSSUZZICh0Y2FjaGVfYWxsb2NzW2ldLnB0cjEg PT0gdGNhY2hlX2FsbG9jc1tpXS5wdHIyKTsKLSAgICAgfQotIAotLSAgLyogVGVzdCBmb3Igbm9u LWhlYWQgdGNhY2hlIGhpdHMuICAqLwotKyAgLyogVGVzdCBmb3Igbm9uLWhlYWQgdGNhY2hlIGhp dHMuICBUaGlzIGV4ZXJjaXNlcyB0aGUgbWVtYWxpZ24KLSsgICAgIHNjYW5uaW5nIGNvZGUgdG8g ZmluZCBtYXRjaGluZyBhbGxvY2F0aW9ucy4gICovCi0gICBmb3IgKGkgPSAwOyBpIDwgYXJyYXlf bGVuZ3RoIChwdHIpOyArKyBpKQotICAgICB7Ci0gICAgICAgaWYgKGkgPT0gNCkKLUBAIC0xMTMs NyArMTE0LDkgQEAgZG9fdGVzdCAodm9pZCkKLSAgIGZyZWUgKHApOwotICAgVEVTVF9WRVJJRlkg KGNvdW50ID4gMCk7Ci0gCi0tICAvKiBMYXJnZSBiaW5zIHRlc3QuICAqLwotKyAgLyogTGFyZ2Ug YmlucyB0ZXN0LiAgVGhpcyB2ZXJpZmllcyB0aGF0IHRoZSBvdmVyLWFsbG9jYXRlZCBwYXJ0cwot KyAgICAgdGhhdCBtZW1hbGlnbiByZWxlYXNlcyBmb3IgZnV0dXJlIGFsbG9jYXRpb25zIGNhbiBi ZSByZXVzZWQgYnkKLSsgICAgIG1lbWFsaWduIGl0c2VsZiBhdCBsZWFzdCBpbiBzb21lIGNhc2Vz LiAgKi8KLSAKLSAgIGZvciAoaSA9IDA7IGkgPCBMTjsgKysgaSkKLSAgICAgewpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9nbGliYy9wYXRjaGVzLzMxMmUxNTk2MjZiNjdmZTExZjM5ZTgzZTIyMmNmNDM0 OGEzOTYyZjMucGF0Y2ggYi9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvMzEyZTE1OTYyNmI2N2ZlMTFm MzllODNlMjIyY2Y0MzQ4YTM5NjJmMy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAwMC4uOTMwZDFmZDk3MDJjMDYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L2dsaWJjL3BhdGNoZXMvMzEyZTE1OTYyNmI2N2ZlMTFmMzllODNlMjIyY2Y0MzQ4YTM5NjJmMy5w YXRjaApAQCAtMCwwICsxLDgwIEBACitGcm9tIDMxMmUxNTk2MjZiNjdmZTExZjM5ZTgzZTIyMmNm NDM0OGEzOTYyZjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBZGhlbWVydmFsIFph bmVsbGEgPGFkaGVtZXJ2YWwuemFuZWxsYUBsaW5hcm8ub3JnPgorRGF0ZTogVGh1LCAxIEZlYiAy MDI0IDE0OjI5OjUzIC0wMzAwCitTdWJqZWN0OiBbUEFUQ0hdIG1pcHM6IEZJeCBjbG9uZTMgaW1w bGVtZW50YXRpb24gKEJaIDMxMzI1KQorCitGb3IgbzMyIHdlIG5lZWQgdG8gc2V0dXAgYSBtaW5p bWFsIHN0YWNrIGZyYW1lIHRvIGFsbG93IGNwcmVzdG9yZQorb24gX190aHJlYWRfc3RhcnRfY2xv bmUzICh3aGljaCBpbnN0cnVjdCB0aGUgbGlua2VyIHRvIHNhdmUgdGhlCitncCBmb3IgUElDKS4g IEFsc28sIHRoZXJlIGlzIG5vIGd1YXJhbnRlZSBieSBrQUJJIHRoYXQgJDggd2lsbCBiZQorcHJl c2VydmVkIGFmdGVyIHN5c2NhbGwgZXhlY3V0aW9uLCBzbyB3ZSBuZWVkIHRvIHNhdmUgaXQgb24g dGhlCitwcm92aWRlZCBzdGFjay4KKworQ2hlY2tlZCBvbiBtaXBzZWwtbGludXgtZ251LgorCitS ZXBvcnRlZC1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1Rlc3RlZC1ieTogS2hl bSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGJi ZDI0OGFjMGQ3NWVmZGVmOGZlNjFlYTY5YjFmYjI1ZmI5NWI2ZTcpCistLS0KKyBzeXNkZXBzL3Vu aXgvc3lzdi9saW51eC9taXBzL2Nsb25lMy5TIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKy0t LS0tCisgMSBmaWxlIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2Nsb25lMy5TIGIvc3lz ZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9jbG9uZTMuUworaW5kZXggZTlmZWMyZmE0Ny4uNDgx YjhhZTk2MyAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvY2xvbmUz LlMKKysrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvY2xvbmUzLlMKK0BAIC0zNywx MSArMzcsNiBAQAorIAorIAkudGV4dAorIAkuc2V0CQlub21pcHMxNgorLSNpZiBfTUlQU19TSU0g PT0gX0FCSU8zMgorLSMgZGVmaW5lIEVYVFJBX0xPQ0FMUyAxCistI2Vsc2UKKy0jIGRlZmluZSBF WFRSQV9MT0NBTFMgMAorLSNlbmRpZgorICNkZWZpbmUgRlJBTUVTWiAoKE5BUkdTQVZFKlNaUkVH KStBTFNaKSZBTE1BU0sKKyBHUE9GRj0gRlJBTUVTWi0oMSpTWlJFRykKKyBORVNURUQoX19jbG9u ZTMsIFNaUkVHLCBzcCkKK0BAIC02OCw4ICs2MywzMSBAQCBORVNURUQoX19jbG9uZTMsIFNaUkVH LCBzcCkKKyAJYmVxeglhMCwgTChlcnJvcikJLyogTm8gTlVMTCBjbF9hcmdzIHBvaW50ZXIuICAq LworIAliZXF6CWEyLCBMKGVycm9yKQkvKiBObyBOVUxMIGZ1bmN0aW9uIHBvaW50ZXIuICAqLwor IAorKyNpZiBfTUlQU19TSU0gPT0gX0FCSU8zMgorKwkvKiBCb3RoIHN0YWNrIGFuZCBzdGFja19z aXplIG9uIGNsb25lX2FyZ3MgYXJlIGRlZmluZWQgYXMgdWludDY0X3QsIGFuZAorKwkgICB0aGVy ZSBpcyBubyBuZWVkIHRvIGhhbmRsZSB2YWx1ZXMgbGFyZ2VyIHRoYW4gdG8gMzIgYml0cyBmb3Ig bzMyLiAgKi8KKysjIGlmIF9fQllURV9PUkRFUiA9PSBfX0JJR19FTkRJQU4KKysjICBkZWZpbmUg Q0xfU1RBQ0tQT0lOVEVSX09GRlNFVCAgNDQKKysjICBkZWZpbmUgQ0xfU1RBQ0tTSVpFX09GRlNF VCAgICAgNTIKKysjIGVsc2UKKysjICBkZWZpbmUgQ0xfU1RBQ0tQT0lOVEVSX09GRlNFVCAgNDAK KysjICBkZWZpbmUgQ0xfU1RBQ0tTSVpFX09GRlNFVCAgICAgNDgKKysjIGVuZGlmCisrCisrCS8q IEZvciBvMzIgd2UgbmVlZCB0byBzZXR1cCBhIG1pbmltYWwgc3RhY2sgZnJhbWUgdG8gYWxsb3cg Y3ByZXN0b3JlCisrCSAgIG9uIF9fdGhyZWFkX3N0YXJ0X2Nsb25lMy4gIEFsc28gdGhlcmUgaXMg bm8gZ3VhcmFudGVlIGJ5IGtBQkkgdGhhdAorKwkgICAkOCB3aWxsIGJlIHByZXNlcnZlZCBhZnRl ciBzeXNjYWxsIGV4ZWN1dGlvbiAoc28gd2UgbmVlZCB0byBzYXZlIGl0CisrCSAgIG9uIHRoZSBw cm92aWRlZCBzdGFjaykuICAqLworKwlsdwl0MCwgQ0xfU1RBQ0tQT0lOVEVSX09GRlNFVChhMCkJ LyogTG9hZCB0aGUgc3RhY2sgcG9pbnRlci4gICovCisrCWx3CXQxLCBDTF9TVEFDS1NJWkVfT0ZG U0VUKGEwKQkvKiBMb2FkIHRoZSBzdGFja19zaXplLiAgKi8KKysJYWRkaXUJdDEsIC0zMgkJCQkv KiBVcGRhdGUgdGhlIHN0YWNrIHNpemUuICAqLworKwlhZGR1CXQyLCB0MSwgdDAJCQkvKiBDYWxj dWxhdGUgdGhlIHRocmVhZCBzdGFjay4gICovCisrCXN3CWEzLCAwKHQyKQkJCS8qIFNhdmUgYXJn dW1lbnQgcG9pbnRlci4gICovCisrCXN3CXQxLCBDTF9TVEFDS1NJWkVfT0ZGU0VUKGEwKQkvKiBT YXZlIHRoZSBuZXcgc3RhY2sgc2l6ZS4gICovCisrI2Vsc2UKKyAJbW92ZQkkOCwgYTMJCS8qIGEz IGlzIHNldCB0byAwLzEgZm9yIHN5c2NhbGwgc3VjY2Vzcy9lcnJvcgorIAkJCQkgICB3aGlsZSBh NC8kOCBpcyByZXR1cm5lZCB1bm1vZGlmaWVkLiAgKi8KKysjZW5kaWYKKyAKKyAJLyogRG8gdGhl IHN5c3RlbSBjYWxsLCB0aGUga2VybmVsIGV4cGVjdHM6CisgCSAgIHYwOiBzeXN0ZW0gY2FsbCBu dW1iZXIKK0BAIC0xMjUsNyArMTQzLDExIEBAIEwodGhyZWFkX3N0YXJ0X2Nsb25lMyk6CisgCisg CS8qIFJlc3RvcmUgdGhlIGFyZyBmb3IgdXNlcidzIGZ1bmN0aW9uLiAgKi8KKyAJbW92ZQkJdDks IGEyCQkvKiBGdW5jdGlvbiBwb2ludGVyLiAgKi8KKysjaWYgX01JUFNfU0lNID09IF9BQklPMzIK KysJUFRSX0wJCWEwLCAwKHNwKQorKyNlbHNlCisgCW1vdmUJCWEwLCAkOAkJLyogQXJndW1lbnQg cG9pbnRlci4gICovCisrI2VuZGlmCisgCisgCS8qIENhbGwgdGhlIHVzZXIncyBmdW5jdGlvbi4g ICovCisgCWphbAkJdDkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy82MzI5NWU0 ZmRhMWY2ZGFiNGJmNzQ0MjcwNmZlMzAzYmYyODMwMzZjLnBhdGNoIGIvc3JjcGtncy9nbGliYy9w YXRjaGVzLzYzMjk1ZTRmZGExZjZkYWI0YmY3NDQyNzA2ZmUzMDNiZjI4MzAzNmMucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLmM5MjQ4NWJhNGQ1NDMxCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9nbGliYy9wYXRjaGVzLzYzMjk1ZTRmZGExZjZkYWI0 YmY3NDQyNzA2ZmUzMDNiZjI4MzAzNmMucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSA2MzI5 NWU0ZmRhMWY2ZGFiNGJmNzQ0MjcwNmZlMzAzYmYyODMwMzZjIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogQWRoZW1lcnZhbCBaYW5lbGxhIDxhZGhlbWVydmFsLnphbmVsbGFAbGluYXJv Lm9yZz4KK0RhdGU6IE1vbiwgNSBGZWIgMjAyNCAxNjoxMDoyNCArMDAwMAorU3ViamVjdDogW1BB VENIXSBhcm06IFJlbW92ZSB3cm9uZyBsZHIgZnJvbSBfZGxfc3RhcnRfdXNlciAoQlogMzEzMzkp CisKK1RoZSBjb21taXQgNDlkODc3YTgwYjI5ZDMwMDI4ODdiMDg0ZWVjNjY3NmQ5ZjVmZWMxOCAo YXJtOiBSZW1vdmUKK19kbF9za2lwX2FyZ3MgdXNhZ2UpIHJlbW92ZWQgdGhlIF9TS0lQX0FSR1Mg bGl0ZXJhbCwgd2hpY2ggd2FzCitwcmV2aW91c2x5IGxvYWRlciB0byByNCBvbiBsb2FkZXIgX3N0 YXJ0LiAgSG93ZXZlciwgdGhlIGNsZWFudXAgZGlkIG5vdAorcmVtb3ZlIHRoZSBmb2xsb3dpbmcg J2xkciByNCwgW3NsLCByNF0nIG9uIF9kbF9zdGFydF91c2VyLCB1c2VkIHRvIGNoZWNrCit0byBz a2lwIHRoZSBhcmd1bWVudHMgYWZ0ZXIgbGQgc2VsZi1yZWxvY2F0aW9ucy4KKworSW4gbXkgdGVz dGluZywgdGhlIGtlcm5lbCBpbml0aWFsbHkgc2V0IHI0IHRvIDAsIHdoaWNoIG1ha2VzIHRoZQor bGRyIGluc3RydWN0aW9uIGp1c3QgcmVhZCB0aGUgX0dMT0JBTF9PRkZTRVRfVEFCTEVfLiAgSG93 ZXZlciwgc2luY2UgcjQKK2lzIGEgY2FsbGVlLXNhdmVkIHJlZ2lzdGVyOyBhIGRpZmZlcmVudCBy dW50aW1lIG1pZ2h0IG5vdCB6ZXJvCitpbml0aWFsaXplIGl0IGFuZCB0aHVzIHRyaWdnZXIgYW4g aW52YWxpZCBtZW1vcnkgYWNjZXNzLgorCitDaGVja2VkIG9uIGFybS1saW51eC1nbnUuCisKK1Jl cG9ydGVkLWJ5OiBBZHJpYW4gUmF0aXUgPGFkcmlhbi5yYXRpdUBjb2xsYWJvcmEuY29tPgorUmV2 aWV3ZWQtYnk6IFN6YWJvbGNzIE5hZ3kgPHN6YWJvbGNzLm5hZ3lAYXJtLmNvbT4KKyhjaGVycnkg cGlja2VkIGZyb20gY29tbWl0IDFlMjUxMTJkYzBjYjI1MTVkMjdkOGQxNzhiMWVjY2U3NzhhOWQz N2EpCistLS0KKyBzeXNkZXBzL2FybS9kbC1tYWNoaW5lLmggfCAxIC0KKyAxIGZpbGUgY2hhbmdl ZCwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5o IGIvc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oCitpbmRleCBiODU3YmJjODY4Li5kZDFhMGY2YjZl IDEwMDY0NAorLS0tIGEvc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oCisrKysgYi9zeXNkZXBzL2Fy bS9kbC1tYWNoaW5lLmgKK0BAIC0xMzksNyArMTM5LDYgQEAgX3N0YXJ0OlxuXAorIF9kbF9zdGFy dF91c2VyOlxuXAorIAlhZHIJcjYsIC5MX0dFVF9HT1RcblwKKyAJYWRkCXNsLCBzbCwgcjZcblwK Ky0JbGRyCXI0LCBbc2wsIHI0XVxuXAorIAlAIHNhdmUgdGhlIGVudHJ5IHBvaW50IGluIGFub3Ro ZXIgcmVnaXN0ZXJcblwKKyAJbW92CXI2LCByMFxuXAorIAlAIGdldCB0aGUgb3JpZ2luYWwgYXJn IGNvdW50XG5cCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvQ1ZFLTIwMjMtNjI0 Ni5wYXRjaCBiL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9DVkUtMjAyMy02MjQ2LnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYjI0NzllMjIxN2YxZS4uMDAwMDAwMDAwMDAwMDAK LS0tIGEvc3JjcGtncy9nbGliYy9wYXRjaGVzL0NWRS0yMDIzLTYyNDYucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwxNzggKzAsMCBAQAotRnJvbSAyMzUxNGM3MmI3ODBmM2RhMDk3ZWNmMzNhNzkz YjdiYTljMjA3MGQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQXJqdW4gU2hhbmth ciA8YXJqdW5AcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMTUgSmFuIDIwMjQgMTc6NDQ6NDMgKzAx MDAKLVN1YmplY3Q6IFtQQVRDSF0gc3lzbG9nOiBGaXggaGVhcCBidWZmZXIgb3ZlcmZsb3cgaW4g X192c3lzbG9nX2ludGVybmFsCi0gKENWRS0yMDIzLTYyNDYpCi0KLV9fdnN5c2xvZ19pbnRlcm5h bCBkaWQgbm90IGhhbmRsZSBhIGNhc2Ugd2hlcmUgcHJpbnRpbmcgYSBTWVNMT0dfSEVBREVSCi1j b250YWluaW5nIGEgbG9uZyBwcm9ncmFtIG5hbWUgZmFpbGVkIHRvIHVwZGF0ZSB0aGUgcmVxdWly ZWQgYnVmZmVyCi1zaXplLCBsZWFkaW5nIHRvIHRoZSBhbGxvY2F0aW9uIGFuZCBvdmVyZmxvdyBv ZiBhIHRvby1zbWFsbCBidWZmZXIgb24KLXRoZSBoZWFwLiAgVGhpcyBjb21taXQgZml4ZXMgdGhh dC4gIEl0IGFsc28gYWRkcyBhIG5ldyByZWdyZXNzaW9uIHRlc3QKLXRoYXQgdXNlcyBnbGliYy5t YWxsb2MuY2hlY2suCi0KLVJldmlld2VkLWJ5OiBBZGhlbWVydmFsIFphbmVsbGEgIDxhZGhlbWVy dmFsLnphbmVsbGFAbGluYXJvLm9yZz4KLVJldmlld2VkLWJ5OiBDYXJsb3MgTydEb25lbGwgPGNh cmxvc0ByZWRoYXQuY29tPgotVGVzdGVkLWJ5OiBDYXJsb3MgTydEb25lbGwgPGNhcmxvc0ByZWRo YXQuY29tPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNmJkMGU0ZWZjYzc4ZjNjMDExNWU1 ZWE5NzM5YTE2NDI4MDc0NTBkYSkKLS0tLQotIG1pc2MvTWFrZWZpbGUgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICA4ICsrLQotIG1pc2Mvc3lzbG9nLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDUwICsrKysrKysrKysrKystLS0tLS0KLSBtaXNjL3RzdC1zeXNs b2ctbG9uZy1wcm9nbmFtZS5jICAgICAgICAgICAgICAgfCAzOSArKysrKysrKysrKysrKysKLSAu Li4vcG9zdGNsZWFuLnJlcSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMAotIDQgZmls ZXMgY2hhbmdlZCwgODIgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1v ZGUgMTAwNjQ0IG1pc2MvdHN0LXN5c2xvZy1sb25nLXByb2duYW1lLmMKLSBjcmVhdGUgbW9kZSAx MDA2NDQgbWlzYy90c3Qtc3lzbG9nLWxvbmctcHJvZ25hbWUucm9vdC9wb3N0Y2xlYW4ucmVxCi0K LWRpZmYgLS1naXQgYS9taXNjL01ha2VmaWxlIGIvbWlzYy9NYWtlZmlsZQotaW5kZXggZmUwZDQ5 YzFkZTUuLjkwYjMxOTUyYzU5IDEwMDY0NAotLS0tIGEvbWlzYy9NYWtlZmlsZQotKysrIGIvbWlz Yy9NYWtlZmlsZQotQEAgLTI4OSw3ICsyODksMTAgQEAgdGVzdHMtc3BlY2lhbCArPSAkKG9ianBm eCl0c3QtZXJyb3IxLW1lbS5vdXQgXAotICAgJChvYmpwZngpdHN0LWFsbG9jYXRlX29uY2UtbWVt Lm91dAotIGVuZGlmCi0gCi0tdGVzdHMtY29udGFpbmVyIDo9IHRzdC1zeXNsb2cKLSt0ZXN0cy1j b250YWluZXIgOj0gXAotKyAgdHN0LXN5c2xvZyBcCi0rICB0c3Qtc3lzbG9nLWxvbmctcHJvZ25h bWUgXAotKyAgIyB0ZXN0cy1jb250YWluZXIKLSAKLSBDRkxBR1Mtc2VsZWN0LmMgKz0gLWZleGNl cHRpb25zIC1mYXN5bmNocm9ub3VzLXVud2luZC10YWJsZXMKLSBDRkxBR1MtdHNlYXJjaC5jICs9 ICQodXNlcy1jYWxsYmFja3MpCi1AQCAtMzUxLDYgKzM1NCw5IEBAICQob2JqcGZ4KXRzdC1hbGxv Y2F0ZV9vbmNlLW1lbS5vdXQ6ICQob2JqcGZ4KXRzdC1hbGxvY2F0ZV9vbmNlLm91dAotIAkkKGNv bW1vbi1vYmpwZngpbWFsbG9jL210cmFjZSAkKG9ianBmeCl0c3QtYWxsb2NhdGVfb25jZS5tdHJh Y2UgPiAkQDsgXAotIAkkKGV2YWx1YXRlLXRlc3QpCi0gCi0rdHN0LXN5c2xvZy1sb25nLXByb2du YW1lLUVOViA9IEdMSUJDX1RVTkFCTEVTPWdsaWJjLm1hbGxvYy5jaGVjaz0zIFwKLSsJCQkgICAg ICAgTERfUFJFTE9BRD1saWJjX21hbGxvY19kZWJ1Zy5zby4wCi0rCi0gJChvYmpwZngpdHN0LXNl bGVjdDogJChsaWJydCkKLSAkKG9ianBmeCl0c3Qtc2VsZWN0LXRpbWU2NDogJChsaWJydCkKLSAk KG9ianBmeCl0c3QtcHNlbGVjdDogJChsaWJydCkKLWRpZmYgLS1naXQgYS9taXNjL3N5c2xvZy5j IGIvbWlzYy9zeXNsb2cuYwotaW5kZXggMWI4Y2I3MjJjNTEuLjgxNGQyMjRhMWU5IDEwMDY0NAot LS0tIGEvbWlzYy9zeXNsb2cuYwotKysrIGIvbWlzYy9zeXNsb2cuYwotQEAgLTEyNCw4ICsxMjQs OSBAQCBfX3ZzeXNsb2dfaW50ZXJuYWwgKGludCBwcmksIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlz dCBhcCwKLSB7Ci0gICAvKiBUcnkgdG8gdXNlIGEgc3RhdGljIGJ1ZmZlciBhcyBhbiBvcHRpbWl6 YXRpb24uICAqLwotICAgY2hhciBidWZzWzEwMjRdOwotLSAgY2hhciAqYnVmID0gTlVMTDsKLS0g IHNpemVfdCBidWZzaXplID0gMDsKLSsgIGNoYXIgKmJ1ZiA9IGJ1ZnM7Ci0rICBzaXplX3QgYnVm c2l6ZTsKLSsKLSAgIGludCBtc2dvZmY7Ci0gICBpbnQgc2F2ZWRfZXJybm8gPSBlcnJubzsKLSAK LUBAIC0xNzcsMjkgKzE3OCw1MCBAQCBfX3ZzeXNsb2dfaW50ZXJuYWwgKGludCBwcmksIGNvbnN0 IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCwKLSAjZGVmaW5lIFNZU0xPR19IRUFERVJfV0lUSE9VVF9U UyhfX3ByaSwgX19tc2dvZmYpICAgICAgICBcCi0gICAiPCVkPjogJW4iLCBfX3ByaSwgX19tc2dv ZmYKLSAKLS0gIGludCBsOwotKyAgaW50IGwsIHZsOwotICAgaWYgKGhhc190cykKLSAgICAgbCA9 IF9fc25wcmludGYgKGJ1ZnMsIHNpemVvZiBidWZzLAotIAkJICAgIFNZU0xPR19IRUFERVIgKHBy aSwgdGltZXN0YW1wLCAmbXNnb2ZmLCBwaWQpKTsKLSAgIGVsc2UKLSAgICAgbCA9IF9fc25wcmlu dGYgKGJ1ZnMsIHNpemVvZiBidWZzLAotIAkJICAgIFNZU0xPR19IRUFERVJfV0lUSE9VVF9UUyAo cHJpLCAmbXNnb2ZmKSk7Ci0rCi0rICBjaGFyICpwb3M7Ci0rICBzaXplX3QgbGVuOwotKwotICAg aWYgKDAgPD0gbCAmJiBsIDwgc2l6ZW9mIGJ1ZnMpCi0gICAgIHsKLS0gICAgICB2YV9saXN0IGFw YzsKLS0gICAgICB2YV9jb3B5IChhcGMsIGFwKTsKLSsgICAgICAvKiBBdCB0aGlzIHBvaW50LCB0 aGVyZSBpcyBzdGlsbCBhIGNoYW5jZSB0aGF0IHdlIGNhbiBwcmludCB0aGUKLSsgICAgICAgICBy ZW1haW5pbmcgcGFydCBvZiB0aGUgbG9nIGludG8gYnVmcyBhbmQgdXNlIHRoYXQuICAqLwotKyAg ICAgIHBvcyA9IGJ1ZnMgKyBsOwotKyAgICAgIGxlbiA9IHNpemVvZiAoYnVmcykgLSBsOwotKyAg ICB9Ci0rICBlbHNlCi0rICAgIHsKLSsgICAgICBidWYgPSBOVUxMOwotKyAgICAgIC8qIFdlIGFs cmVhZHkga25vdyB0aGF0IGJ1ZnMgaXMgdG9vIHNtYWxsIHRvIHVzZSBmb3IgdGhpcyBsb2cgbWVz c2FnZS4KLSsgICAgICAgICBUaGUgbmV4dCB2c25wcmludGYgaW50byBidWZzIGlzIHVzZWQgb25s eSB0byBjYWxjdWxhdGUgdGhlIHRvdGFsCi0rICAgICAgICAgcmVxdWlyZWQgYnVmZmVyIGxlbmd0 aC4gIFdlIHdpbGwgZGlzY2FyZCBidWZzIGNvbnRlbnRzIGFuZCBhbGxvY2F0ZQotKyAgICAgICAg IGFuIGFwcHJvcHJpYXRlbHkgc2l6ZWQgYnVmZmVyIGxhdGVyIGluc3RlYWQuICAqLwotKyAgICAg IHBvcyA9IGJ1ZnM7Ci0rICAgICAgbGVuID0gc2l6ZW9mIChidWZzKTsKLSsgICAgfQotIAotLSAg ICAgIC8qIFJlc3RvcmUgZXJybm8gZm9yICVtIGZvcm1hdC4gICovCi0tICAgICAgX19zZXRfZXJy bm8gKHNhdmVkX2Vycm5vKTsKLSsgIHsKLSsgICAgdmFfbGlzdCBhcGM7Ci0rICAgIHZhX2NvcHkg KGFwYywgYXApOwotIAotLSAgICAgIGludCB2bCA9IF9fdnNucHJpbnRmX2ludGVybmFsIChidWZz ICsgbCwgc2l6ZW9mIGJ1ZnMgLSBsLCBmbXQsIGFwYywKLS0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbW9kZV9mbGFncyk7Ci0tICAgICAgaWYgKDAgPD0gdmwgJiYgdmwgPCBz aXplb2YgYnVmcyAtIGwpCi0tICAgICAgICBidWYgPSBidWZzOwotLSAgICAgIGJ1ZnNpemUgPSBs ICsgdmw7Ci0rICAgIC8qIFJlc3RvcmUgZXJybm8gZm9yICVtIGZvcm1hdC4gICovCi0rICAgIF9f c2V0X2Vycm5vIChzYXZlZF9lcnJubyk7Ci0gCi0tICAgICAgdmFfZW5kIChhcGMpOwotLSAgICB9 Ci0rICAgIHZsID0gX192c25wcmludGZfaW50ZXJuYWwgKHBvcywgbGVuLCBmbXQsIGFwYywgbW9k ZV9mbGFncyk7Ci0rCi0rICAgIGlmICghKDAgPD0gdmwgJiYgdmwgPCBsZW4pKQotKyAgICAgIGJ1 ZiA9IE5VTEw7Ci0rCi0rICAgIGJ1ZnNpemUgPSBsICsgdmw7Ci0rICAgIHZhX2VuZCAoYXBjKTsK LSsgIH0KLSAKLSAgIGlmIChidWYgPT0gTlVMTCkKLSAgICAgewotZGlmZiAtLWdpdCBhL21pc2Mv dHN0LXN5c2xvZy1sb25nLXByb2duYW1lLmMgYi9taXNjL3RzdC1zeXNsb2ctbG9uZy1wcm9nbmFt ZS5jCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjg4ZjM3YThhMDA0 Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9taXNjL3RzdC1zeXNsb2ctbG9uZy1wcm9nbmFtZS5jCi1A QCAtMCwwICsxLDM5IEBACi0rLyogVGVzdCBoZWFwIGJ1ZmZlciBvdmVyZmxvdyBpbiBzeXNsb2cg d2l0aCBsb25nIF9fcHJvZ25hbWUgKENWRS0yMDIzLTYyNDYpCi0rICAgQ29weXJpZ2h0IChDKSAy MDIzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKyAgIFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIHRoZSBHTlUgQyBMaWJyYXJ5LgotKwotKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotKyAgIG1vZGlmeSBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSsgICBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK LSsgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBUaGUgR05VIEMgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH TlUKLSsgICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot KwotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIg R2VuZXJhbCBQdWJsaWMKLSsgICBMaWNlbnNlIGFsb25nIHdpdGggdGhlIEdOVSBDIExpYnJhcnk7 IGlmIG5vdCwgc2VlCi0rICAgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0r Ci0rI2luY2x1ZGUgPHN5c2xvZy5oPgotKyNpbmNsdWRlIDxzdHJpbmcuaD4KLSsKLStleHRlcm4g Y2hhciAqIF9fcHJvZ25hbWU7Ci0rCi0rc3RhdGljIGludAotK2RvX3Rlc3QgKHZvaWQpCi0rewot KyAgY2hhciBsb25nX3Byb2duYW1lWzIwNDhdOwotKwotKyAgbWVtc2V0IChsb25nX3Byb2duYW1l LCAnWCcsIHNpemVvZiAobG9uZ19wcm9nbmFtZSkgLSAxKTsKLSsgIGxvbmdfcHJvZ25hbWVbc2l6 ZW9mIChsb25nX3Byb2duYW1lKSAtIDFdID0gJ1wwJzsKLSsKLSsgIF9fcHJvZ25hbWUgPSBsb25n X3Byb2duYW1lOwotKwotKyAgc3lzbG9nIChMT0dfSU5GTywgIkhlbGxvLCBXb3JsZCEiKTsKLSsK LSsgIHJldHVybiAwOwotK30KLSsKLSsjaW5jbHVkZSA8c3VwcG9ydC90ZXN0LWRyaXZlci5jPgot ZGlmZiAtLWdpdCBhL21pc2MvdHN0LXN5c2xvZy1sb25nLXByb2duYW1lLnJvb3QvcG9zdGNsZWFu LnJlcSBiL21pc2MvdHN0LXN5c2xvZy1sb25nLXByb2duYW1lLnJvb3QvcG9zdGNsZWFuLnJlcQot bmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi5lNjlkZTI5YmIyZApkaWZm IC0tZ2l0IGEvc3JjcGtncy9nbGliYy9wYXRjaGVzL0NWRS0yMDIzLTY3NzkucGF0Y2ggYi9zcmNw a2dzL2dsaWJjL3BhdGNoZXMvQ1ZFLTIwMjMtNjc3OS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggNWFjYzllMzc1MTAzMmEuLjAwMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mv Z2xpYmMvcGF0Y2hlcy9DVkUtMjAyMy02Nzc5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAz ICswLDAgQEAKLUZyb20gZDAzMzgzMTJhYWNlNWJiZmVmODVlMDMwNTVlMTIxMmRkMGU0OTU3OCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFyanVuIFNoYW5rYXIgPGFyanVuQHJlZGhh dC5jb20+Ci1EYXRlOiBNb24sIDE1IEphbiAyMDI0IDE3OjQ0OjQ0ICswMTAwCi1TdWJqZWN0OiBb UEFUQ0hdIHN5c2xvZzogRml4IGhlYXAgYnVmZmVyIG92ZXJmbG93IGluIF9fdnN5c2xvZ19pbnRl cm5hbAotIChDVkUtMjAyMy02Nzc5KQotCi1fX3ZzeXNsb2dfaW50ZXJuYWwgdXNlZCB0aGUgcmV0 dXJuIHZhbHVlIG9mIHNucHJpbnRmL3ZzbnByaW50ZiB0bwotY2FsY3VsYXRlIGJ1ZmZlciBzaXpl cyBmb3IgbWVtb3J5IGFsbG9jYXRpb24uICBJZiB0aGVzZSBmdW5jdGlvbnMgKGZvcgotYW55IHJl YXNvbikgZmFpbGVkIGFuZCByZXR1cm5lZCAtMSwgdGhlIHJlc3VsdGluZyBidWZmZXIgd291bGQg YmUgdG9vCi1zbWFsbCB0byBob2xkIG91dHB1dC4gIFRoaXMgY29tbWl0IGZpeGVzIHRoYXQuCi0K LUFsbCBzbnByaW50Zi92c25wcmludGYgY2FsbHMgYXJlIGNoZWNrZWQgZm9yIG5lZ2F0aXZlIHJl dHVybiB2YWx1ZXMgYW5kCi10aGUgZnVuY3Rpb24gc2lsZW50bHkgcmV0dXJucyB1cG9uIGVuY291 bnRlcmluZyB0aGVtLgotCi1SZXZpZXdlZC1ieTogQ2FybG9zIE8nRG9uZWxsIDxjYXJsb3NAcmVk aGF0LmNvbT4KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDdlNWEwYzI4NmRhMzMxNTlkNDdk MDEyMjAwN2FhYzAxNmYzZTAyY2QpCi0tLS0KLSBtaXNjL3N5c2xvZy5jIHwgMzkgKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDI4IGluc2Vy dGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbWlzYy9zeXNsb2cuYyBi L21pc2Mvc3lzbG9nLmMKLWluZGV4IDgxNGQyMjRhMWUuLjUzNDQwZTQ3YWQgMTAwNjQ0Ci0tLS0g YS9taXNjL3N5c2xvZy5jCi0rKysgYi9taXNjL3N5c2xvZy5jCi1AQCAtMTg1LDExICsxODUsMTMg QEAgX192c3lzbG9nX2ludGVybmFsIChpbnQgcHJpLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3Qg YXAsCi0gICBlbHNlCi0gICAgIGwgPSBfX3NucHJpbnRmIChidWZzLCBzaXplb2YgYnVmcywKLSAJ CSAgICBTWVNMT0dfSEVBREVSX1dJVEhPVVRfVFMgKHByaSwgJm1zZ29mZikpOwotKyAgaWYgKGwg PCAwKQotKyAgICBnb3RvIG91dDsKLSAKLSAgIGNoYXIgKnBvczsKLSAgIHNpemVfdCBsZW47Ci0g Ci0tICBpZiAoMCA8PSBsICYmIGwgPCBzaXplb2YgYnVmcykKLSsgIGlmIChsIDwgc2l6ZW9mIGJ1 ZnMpCi0gICAgIHsKLSAgICAgICAvKiBBdCB0aGlzIHBvaW50LCB0aGVyZSBpcyBzdGlsbCBhIGNo YW5jZSB0aGF0IHdlIGNhbiBwcmludCB0aGUKLSAgICAgICAgICByZW1haW5pbmcgcGFydCBvZiB0 aGUgbG9nIGludG8gYnVmcyBhbmQgdXNlIHRoYXQuICAqLwotQEAgLTIxNSwxMiArMjE3LDE1IEBA IF9fdnN5c2xvZ19pbnRlcm5hbCAoaW50IHByaSwgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFw LAotICAgICBfX3NldF9lcnJubyAoc2F2ZWRfZXJybm8pOwotIAotICAgICB2bCA9IF9fdnNucHJp bnRmX2ludGVybmFsIChwb3MsIGxlbiwgZm10LCBhcGMsIG1vZGVfZmxhZ3MpOwotKyAgICB2YV9l bmQgKGFwYyk7Ci0rCi0rICAgIGlmICh2bCA8IDApCi0rICAgICAgZ290byBvdXQ7Ci0gCi0tICAg IGlmICghKDAgPD0gdmwgJiYgdmwgPCBsZW4pKQotKyAgICBpZiAodmwgPj0gbGVuKQotICAgICAg IGJ1ZiA9IE5VTEw7Ci0gCi0gICAgIGJ1ZnNpemUgPSBsICsgdmw7Ci0tICAgIHZhX2VuZCAoYXBj KTsKLSAgIH0KLSAKLSAgIGlmIChidWYgPT0gTlVMTCkKLUBAIC0yMzEsMjUgKzIzNiwzNyBAQCBf X3ZzeXNsb2dfaW50ZXJuYWwgKGludCBwcmksIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCwK LSAJICAvKiBUZWxsIHRoZSBjYW5jZWxsYXRpb24gaGFuZGxlciB0byBmcmVlIHRoaXMgYnVmZmVy LiAgKi8KLSAJICBjbGFyZy5idWYgPSBidWY7Ci0gCi0rCSAgaW50IGNsOwotIAkgIGlmIChoYXNf dHMpCi0tCSAgICBfX3NucHJpbnRmIChidWYsIGwgKyAxLAotLQkJCVNZU0xPR19IRUFERVIgKHBy aSwgdGltZXN0YW1wLCAmbXNnb2ZmLCBwaWQpKTsKLSsJICAgIGNsID0gX19zbnByaW50ZiAoYnVm LCBsICsgMSwKLSsJCQkgICAgIFNZU0xPR19IRUFERVIgKHByaSwgdGltZXN0YW1wLCAmbXNnb2Zm LCBwaWQpKTsKLSAJICBlbHNlCi0tCSAgICBfX3NucHJpbnRmIChidWYsIGwgKyAxLAotLQkJCVNZ U0xPR19IRUFERVJfV0lUSE9VVF9UUyAocHJpLCAmbXNnb2ZmKSk7Ci0rCSAgICBjbCA9IF9fc25w cmludGYgKGJ1ZiwgbCArIDEsCi0rCQkJICAgICBTWVNMT0dfSEVBREVSX1dJVEhPVVRfVFMgKHBy aSwgJm1zZ29mZikpOwotKwkgIGlmIChjbCAhPSBsKQotKwkgICAgZ290byBvdXQ7Ci0gCi0gCSAg dmFfbGlzdCBhcGM7Ci0gCSAgdmFfY29weSAoYXBjLCBhcCk7Ci0tCSAgX192c25wcmludGZfaW50 ZXJuYWwgKGJ1ZiArIGwsIGJ1ZnNpemUgLSBsICsgMSwgZm10LCBhcGMsCi0tCQkJCW1vZGVfZmxh Z3MpOwotKwkgIGNsID0gX192c25wcmludGZfaW50ZXJuYWwgKGJ1ZiArIGwsIGJ1ZnNpemUgLSBs ICsgMSwgZm10LCBhcGMsCi0rCQkJCSAgICAgbW9kZV9mbGFncyk7Ci0gCSAgdmFfZW5kIChhcGMp OwotKwotKwkgIGlmIChjbCAhPSB2bCkKLSsJICAgIGdvdG8gb3V0OwotIAl9Ci0gICAgICAgZWxz ZQotICAgICAgICAgewotKyAgICAgICAgICBpbnQgYmw7Ci0gCSAgLyogTm90aGluZyBtdWNoIHRv IGRvIGJ1dCBlbWl0IGFuIGVycm9yIG1lc3NhZ2UuICAqLwotLSAgICAgICAgICBidWZzaXplID0g X19zbnByaW50ZiAoYnVmcywgc2l6ZW9mIGJ1ZnMsCi0tICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAib3V0IG9mIG1lbW9yeVslZF0iLCBfX2dldHBpZCAoKSk7Ci0rICAgICAgICAgIGJs ID0gX19zbnByaW50ZiAoYnVmcywgc2l6ZW9mIGJ1ZnMsCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgIm91dCBvZiBtZW1vcnlbJWRdIiwgX19nZXRwaWQgKCkpOwotKyAgICAgICAgICBpZiAo YmwgPCAwIHx8IGJsID49IHNpemVvZiBidWZzKQotKyAgICAgICAgICAgIGdvdG8gb3V0OwotKwot KyAgICAgICAgICBidWZzaXplID0gYmw7Ci0gICAgICAgICAgIGJ1ZiA9IGJ1ZnM7Ci0rICAgICAg ICAgIG1zZ29mZiA9IDA7Ci0gICAgICAgICB9Ci0gICAgIH0KLSAKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvZ2xpYmMvcGF0Y2hlcy9DVkUtMjAyMy02NzgwLnBhdGNoIGIvc3JjcGtncy9nbGliYy9wYXRj aGVzL0NWRS0yMDIzLTY3ODAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2 Njk0ZTU1NDk5MDA1Li4wMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMv Q1ZFLTIwMjMtNjc4MC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLUZyb20g ZDM3YzJiMjBhNDc4NzQ2M2QxOTJiMzIwNDFjMzQwNmMyYmQ5MWRlMCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IEFyanVuIFNoYW5rYXIgPGFyanVuQHJlZGhhdC5jb20+Ci1EYXRlOiBN b24sIDE1IEphbiAyMDI0IDE3OjQ0OjQ1ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHN5c2xvZzog Rml4IGludGVnZXIgb3ZlcmZsb3cgaW4gX192c3lzbG9nX2ludGVybmFsCi0gKENWRS0yMDIzLTY3 ODApCi0KLV9fdnN5c2xvZ19pbnRlcm5hbCBjYWxjdWxhdGVkIGEgYnVmZmVyIHNpemUgYnkgYWRk aW5nIHR3byBpbnRlZ2VycywgYnV0Ci1kaWQgbm90IGZpcnN0IGNoZWNrIGlmIHRoZSBhZGRpdGlv biB3b3VsZCBvdmVyZmxvdy4gIFRoaXMgY29tbWl0IGZpeGVzCi10aGF0LgotCi1SZXZpZXdlZC1i eTogQ2FybG9zIE8nRG9uZWxsIDxjYXJsb3NAcmVkaGF0LmNvbT4KLVRlc3RlZC1ieTogQ2FybG9z IE8nRG9uZWxsIDxjYXJsb3NAcmVkaGF0LmNvbT4KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0 IGRkZjU0MmRhOTRjYWY5N2ZmNDNjYzI4NzVjODg3NDk4ODBiNzI1OWIpCi0tLS0KLSBtaXNjL3N5 c2xvZy5jIHwgMyArKy0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9taXNjL3N5c2xvZy5jIGIvbWlzYy9zeXNsb2cuYwotaW5k ZXggNTM0NDBlNDdhZC4uNGFmODdmNTRmZCAxMDA2NDQKLS0tLSBhL21pc2Mvc3lzbG9nLmMKLSsr KyBiL21pc2Mvc3lzbG9nLmMKLUBAIC00MSw2ICs0MSw3IEBAIHN0YXRpYyBjaGFyIHNjY3NpZFtd ID0gIkAoIylzeXNsb2cuYwk4LjQgKEJlcmtlbGV5KSAzLzE4Lzk0IjsKLSAjaW5jbHVkZSA8c3lz L3Vpby5oPgotICNpbmNsdWRlIDxzeXMvdW4uaD4KLSAjaW5jbHVkZSA8c3lzbG9nLmg+Ci0rI2lu Y2x1ZGUgPGxpbWl0cy5oPgotIAotIHN0YXRpYyBpbnQgTG9nVHlwZSA9IFNPQ0tfREdSQU07CS8q IHR5cGUgb2Ygc29ja2V0IGNvbm5lY3Rpb24gKi8KLSBzdGF0aWMgaW50IExvZ0ZpbGUgPSAtMTsJ CS8qIGZkIGZvciBsb2cgKi8KLUBAIC0yMTksNyArMjIwLDcgQEAgX192c3lzbG9nX2ludGVybmFs IChpbnQgcHJpLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXAsCi0gICAgIHZsID0gX192c25w cmludGZfaW50ZXJuYWwgKHBvcywgbGVuLCBmbXQsIGFwYywgbW9kZV9mbGFncyk7Ci0gICAgIHZh X2VuZCAoYXBjKTsKLSAKLS0gICAgaWYgKHZsIDwgMCkKLSsgICAgaWYgKHZsIDwgMCB8fCB2bCA+ PSBJTlRfTUFYIC0gbCkKLSAgICAgICBnb3RvIG91dDsKLSAKLSAgICAgaWYgKHZsID49IGxlbikK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9iMjU1MDhkZDc3NGI2MTdmOTk0MTli ZGMzY2YyYWNlNDU2MGNkMmQ2LnBhdGNoIGIvc3JjcGtncy9nbGliYy9wYXRjaGVzL2IyNTUwOGRk Nzc0YjYxN2Y5OTQxOWJkYzNjZjJhY2U0NTYwY2QyZDYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAzOWQ3ZTlmMDRiYTVmLi4wMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dz L2dsaWJjL3BhdGNoZXMvYjI1NTA4ZGQ3NzRiNjE3Zjk5NDE5YmRjM2NmMmFjZTQ1NjBjZDJkNi5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5MiArMCwwIEBACi1Gcm9tIGIyNTUwOGRkNzc0YjYx N2Y5OTQxOWJkYzNjZjJhY2U0NTYwY2QyZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBGbG9yaWFuIFdlaW1lciA8ZndlaW1lckByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAxMyBTZXAg MjAyMyAxNDoxMDo1NiArMDIwMAotU3ViamVjdDogW1BBVENIXSBDVkUtMjAyMy00NTI3OiBTdGFj ayByZWFkIG92ZXJmbG93IHdpdGggbGFyZ2UgVENQIHJlc3BvbnNlcwotIGluIG5vLWFhYWEgbW9k ZQotCi1XaXRob3V0IHBhc3NpbmcgYWx0X2Ruc19wYWNrZXRfYnVmZmVyLCBfX3Jlc19jb250ZXh0 X3NlYXJjaCBjYW4gb25seQotc3RvcmUgMjA0OCBieXRlcyAod2hhdCBmaXRzIGludG8gZG5zX3Bh Y2tldF9idWZmZXIpLiAgSG93ZXZlciwKLXRoZSBmdW5jdGlvbiByZXR1cm5zIHRoZSB0b3RhbCBw YWNrZXQgc2l6ZSwgYW5kIHRoZSBzdWJzZXF1ZW50Ci1ETlMgcGFyc2luZyBjb2RlIGluIF9uc3Nf ZG5zX2dldGhvc3RieW5hbWU0X3IgcmVhZHMgYmV5b25kIHRoZSBlbmQKLW9mIHRoZSBzdGFjay1h bGxvY2F0ZWQgYnVmZmVyLgotCi1GaXhlcyBjb21taXQgZjI4MmNkYmU3ZjQzNmM3NTg2NGU1NjQw YTQgKCJyZXNvbHY6IEltcGxlbWVudCBuby1hYWFhCi1zdHViIHJlc29sdmVyIG9wdGlvbiIpIGFu ZCBidWcgMzA4NDIuCi0KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGJkNzdkZDdlNzNlMzUz MDIwM2JlMWM1MmM4YTI5ZDA4MjcwY2IyNWQpCi0tLS0KLSBORVdTICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgOSArKysKLSByZXNvbHYvTWFrZWZpbGUgICAgICAgICAgICAgICB8ICAgMiAr Ci0gcmVzb2x2L25zc19kbnMvZG5zLWhvc3QuYyAgICAgfCAgIDIgKy0KLSByZXNvbHYvdHN0LXJl c29sdi1ub2FhYWEtdmMuYyB8IDEyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ci0gNCBmaWxlcyBjaGFuZ2VkLCAxNDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotIGNy ZWF0ZSBtb2RlIDEwMDY0NCByZXNvbHYvdHN0LXJlc29sdi1ub2FhYWEtdmMuYwotCi1kaWZmIC0t Z2l0IGEvcmVzb2x2L01ha2VmaWxlIGIvcmVzb2x2L01ha2VmaWxlCi1pbmRleCAwNTRiMWZhMzZj Li4yZjk5ZWIzODYyIDEwMDY0NAotLS0tIGEvcmVzb2x2L01ha2VmaWxlCi0rKysgYi9yZXNvbHYv TWFrZWZpbGUKLUBAIC0xMDIsNiArMTAyLDcgQEAgdGVzdHMgKz0gXAotICAgdHN0LXJlc29sdi1p bnZhbGlkLWNuYW1lIFwKLSAgIHRzdC1yZXNvbHYtbmV0d29yayBcCi0gICB0c3QtcmVzb2x2LW5v YWFhYSBcCi0rICB0c3QtcmVzb2x2LW5vYWFhYS12YyBcCi0gICB0c3QtcmVzb2x2LW5vbmRlY2lt YWwgXAotICAgdHN0LXJlc29sdi1yZXNfaW5pdC1tdWx0aSBcCi0gICB0c3QtcmVzb2x2LXNlYXJj aCBcCi1AQCAtMjkzLDYgKzI5NCw3IEBAICQob2JqcGZ4KXRzdC1yZXNvbHYtcmVzX2luaXQtdGhy ZWFkOiAkKG9ianBmeClsaWJyZXNvbHYuc28gXAotICQob2JqcGZ4KXRzdC1yZXNvbHYtaW52YWxp ZC1jbmFtZTogJChvYmpwZngpbGlicmVzb2x2LnNvIFwKLSAgICQoc2hhcmVkLXRocmVhZC1saWJy YXJ5KQotICQob2JqcGZ4KXRzdC1yZXNvbHYtbm9hYWFhOiAkKG9ianBmeClsaWJyZXNvbHYuc28g JChzaGFyZWQtdGhyZWFkLWxpYnJhcnkpCi0rJChvYmpwZngpdHN0LXJlc29sdi1ub2FhYWEtdmM6 ICQob2JqcGZ4KWxpYnJlc29sdi5zbyAkKHNoYXJlZC10aHJlYWQtbGlicmFyeSkKLSAkKG9ianBm eCl0c3QtcmVzb2x2LW5vbmRlY2ltYWw6ICQob2JqcGZ4KWxpYnJlc29sdi5zbyAkKHNoYXJlZC10 aHJlYWQtbGlicmFyeSkKLSAkKG9ianBmeCl0c3QtcmVzb2x2LXF0eXBlczogJChvYmpwZngpbGli cmVzb2x2LnNvICQoc2hhcmVkLXRocmVhZC1saWJyYXJ5KQotICQob2JqcGZ4KXRzdC1yZXNvbHYt cm90YXRlOiAkKG9ianBmeClsaWJyZXNvbHYuc28gJChzaGFyZWQtdGhyZWFkLWxpYnJhcnkpCi1k aWZmIC0tZ2l0IGEvcmVzb2x2L25zc19kbnMvZG5zLWhvc3QuYyBiL3Jlc29sdi9uc3NfZG5zL2Ru cy1ob3N0LmMKLWluZGV4IDFkNjBjNTFmNWUuLjVkMGFiMzBkZTYgMTAwNjQ0Ci0tLS0gYS9yZXNv bHYvbnNzX2Rucy9kbnMtaG9zdC5jCi0rKysgYi9yZXNvbHYvbnNzX2Rucy9kbnMtaG9zdC5jCi1A QCAtNDI3LDcgKzQyNyw3IEBAIF9uc3NfZG5zX2dldGhvc3RieW5hbWU0X3IgKGNvbnN0IGNoYXIg Km5hbWUsIHN0cnVjdCBnYWloX2FkZHJ0dXBsZSAqKnBhdCwKLSAgICAgewotICAgICAgIG4gPSBf X3Jlc19jb250ZXh0X3NlYXJjaCAoY3R4LCBuYW1lLCBDX0lOLCBUX0EsCi0gCQkJCWRuc19wYWNr ZXRfYnVmZmVyLCBzaXplb2YgKGRuc19wYWNrZXRfYnVmZmVyKSwKLS0JCQkJTlVMTCwgTlVMTCwg TlVMTCwgTlVMTCwgTlVMTCk7Ci0rCQkJCSZhbHRfZG5zX3BhY2tldF9idWZmZXIsIE5VTEwsIE5V TEwsIE5VTEwsIE5VTEwpOwotICAgICAgIGlmIChuID49IDApCi0gCXN0YXR1cyA9IGdhaWhfZ2V0 YW5zd2VyX25vYWFhYSAoYWx0X2Ruc19wYWNrZXRfYnVmZmVyLCBuLAotIAkJCQkJJmFidWYsIHBh dCwgZXJybm9wLCBoZXJybm9wLCB0dGxwKTsKLWRpZmYgLS1naXQgYS9yZXNvbHYvdHN0LXJlc29s di1ub2FhYWEtdmMuYyBiL3Jlc29sdi90c3QtcmVzb2x2LW5vYWFhYS12Yy5jCi1uZXcgZmlsZSBt b2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMC4uOWY1YWViZDk5ZgotLS0tIC9kZXYvbnVsbAot KysrIGIvcmVzb2x2L3RzdC1yZXNvbHYtbm9hYWFhLXZjLmMKLUBAIC0wLDAgKzEsMTI5IEBACi0r LyogVGVzdCB0aGUgUkVTX05PQUFBQSByZXNvbHZlciBvcHRpb24gd2l0aCBhIGxhcmdlIHJlc3Bv bnNlLgotKyAgIENvcHlyaWdodCAoQykgMjAyMi0yMDIzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgotKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5LgotKwot KyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgotKyAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM ZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSsgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSsgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGlj ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBUaGUg R05VIEMgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSsgICBMZXNzZXIgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKwotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSsgICBMaWNlbnNl IGFsb25nIHdpdGggdGhlIEdOVSBDIExpYnJhcnk7IGlmIG5vdCwgc2VlCi0rICAgPGh0dHBzOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rI2luY2x1ZGUgPGVycm5vLmg+Ci0rI2lu Y2x1ZGUgPG5ldGRiLmg+Ci0rI2luY2x1ZGUgPHJlc29sdi5oPgotKyNpbmNsdWRlIDxzdGRib29s Lmg+Ci0rI2luY2x1ZGUgPHN0ZGxpYi5oPgotKyNpbmNsdWRlIDxzdXBwb3J0L2NoZWNrLmg+Ci0r I2luY2x1ZGUgPHN1cHBvcnQvY2hlY2tfbnNzLmg+Ci0rI2luY2x1ZGUgPHN1cHBvcnQvcmVzb2x2 X3Rlc3QuaD4KLSsjaW5jbHVkZSA8c3VwcG9ydC9zdXBwb3J0Lmg+Ci0rI2luY2x1ZGUgPHN1cHBv cnQveG1lbXN0cmVhbS5oPgotKwotKy8qIFVzZWQgdG8ga2VlcCB0cmFjayBvZiB0aGUgbnVtYmVy IG9mIHF1ZXJpZXMuICAqLwotK3N0YXRpYyB2b2xhdGlsZSB1bnNpZ25lZCBpbnQgcXVlcmllczsK LSsKLSsvKiBJZiB0cnVlLCBhZGQgYSBsYXJnZSBUWFQgcmVjb3JkIGF0IHRoZSBzdGFydCBvZiB0 aGUgYW5zd2VyIHNlY3Rpb24uICAqLwotK3N0YXRpYyB2b2xhdGlsZSBib29sIHN0dWZmX3R4dDsK LSsKLStzdGF0aWMgdm9pZAotK3Jlc3BvbnNlIChjb25zdCBzdHJ1Y3QgcmVzb2x2X3Jlc3BvbnNl X2NvbnRleHQgKmN0eCwKLSsgICAgICAgICAgc3RydWN0IHJlc29sdl9yZXNwb25zZV9idWlsZGVy ICpiLAotKyAgICAgICAgICBjb25zdCBjaGFyICpxbmFtZSwgdWludDE2X3QgcWNsYXNzLCB1aW50 MTZfdCBxdHlwZSkKLSt7Ci0rICAvKiBJZiBub3QgdXNpbmcgVENQLCBqdXN0IGZvcmNlIGl0cyB1 c2UuICAqLwotKyAgaWYgKCFjdHgtPnRjcCkKLSsgICAgewotKyAgICAgIHN0cnVjdCByZXNvbHZf cmVzcG9uc2VfZmxhZ3MgZmxhZ3MgPSB7LnRjID0gdHJ1ZX07Ci0rICAgICAgcmVzb2x2X3Jlc3Bv bnNlX2luaXQgKGIsIGZsYWdzKTsKLSsgICAgICByZXNvbHZfcmVzcG9uc2VfYWRkX3F1ZXN0aW9u IChiLCBxbmFtZSwgcWNsYXNzLCBxdHlwZSk7Ci0rICAgICAgcmV0dXJuOwotKyAgICB9Ci0rCi0r ICAvKiBUaGUgdGVzdCBuZWVkcyB0byBzZW5kIGZvdXIgcXVlcmllcywgdGhlIGZpcnN0IHRocmVl IGFyZSB1c2VkIHRvCi0rICAgICBncm93IHRoZSBOU1MgYnVmZmVyIHZpYSB0aGUgRVJBTkdFIGhh bmRzaGFrZS4gICovCi0rICArK3F1ZXJpZXM7Ci0rICBURVNUX1ZFUklGWSAocXVlcmllcyA8PSA0 KTsKLSsKLSsgIC8qIEFBQUEgcXVlcmllcyBhcmUgc3VwcG9zZWQgdG8gYmUgZGlzYWJsZWQuICAq LwotKyAgVEVTVF9DT01QQVJFIChxdHlwZSwgVF9BKTsKLSsgIFRFU1RfQ09NUEFSRSAocWNsYXNz LCBDX0lOKTsKLSsgIFRFU1RfQ09NUEFSRV9TVFJJTkcgKHFuYW1lLCAiZXhhbXBsZS5jb20iKTsK LSsKLSsgIHN0cnVjdCByZXNvbHZfcmVzcG9uc2VfZmxhZ3MgZmxhZ3MgPSB7fTsKLSsgIHJlc29s dl9yZXNwb25zZV9pbml0IChiLCBmbGFncyk7Ci0rICByZXNvbHZfcmVzcG9uc2VfYWRkX3F1ZXN0 aW9uIChiLCBxbmFtZSwgcWNsYXNzLCBxdHlwZSk7Ci0rCi0rICByZXNvbHZfcmVzcG9uc2Vfc2Vj dGlvbiAoYiwgbnNfc19hbik7Ci0rCi0rICBpZiAoc3R1ZmZfdHh0KQotKyAgICB7Ci0rICAgICAg cmVzb2x2X3Jlc3BvbnNlX29wZW5fcmVjb3JkIChiLCBxbmFtZSwgcWNsYXNzLCBUX1RYVCwgNjAp OwotKyAgICAgIGludCB6ZXJvID0gMDsKLSsgICAgICBmb3IgKGludCBpID0gMDsgaSA8PSAxNTAw MDsgKytpKQotKyAgICAgICAgcmVzb2x2X3Jlc3BvbnNlX2FkZF9kYXRhIChiLCAmemVybywgc2l6 ZW9mICh6ZXJvKSk7Ci0rICAgICAgcmVzb2x2X3Jlc3BvbnNlX2Nsb3NlX3JlY29yZCAoYik7Ci0r ICAgIH0KLSsKLSsgIGZvciAoaW50IGkgPSAwOyBpIDwgMjAwOyArK2kpCi0rICAgIHsKLSsgICAg ICByZXNvbHZfcmVzcG9uc2Vfb3Blbl9yZWNvcmQgKGIsIHFuYW1lLCBxY2xhc3MsIHF0eXBlLCA2 MCk7Ci0rICAgICAgY2hhciBpcHY0WzRdID0gezE5MiwgMCwgMiwgaSArIDF9OwotKyAgICAgIHJl c29sdl9yZXNwb25zZV9hZGRfZGF0YSAoYiwgJmlwdjQsIHNpemVvZiAoaXB2NCkpOwotKyAgICAg IHJlc29sdl9yZXNwb25zZV9jbG9zZV9yZWNvcmQgKGIpOwotKyAgICB9Ci0rfQotKwotK3N0YXRp YyBpbnQKLStkb190ZXN0ICh2b2lkKQotK3sKLSsgIHN0cnVjdCByZXNvbHZfdGVzdCAqb2JqID0g cmVzb2x2X3Rlc3Rfc3RhcnQKLSsgICAgKChzdHJ1Y3QgcmVzb2x2X3JlZGlyZWN0X2NvbmZpZykK LSsgICAgIHsKLSsgICAgICAgLnJlc3BvbnNlX2NhbGxiYWNrID0gcmVzcG9uc2UKLSsgICAgIH0p OwotKwotKyAgX3Jlcy5vcHRpb25zIHw9IFJFU19OT0FBQUE7Ci0rCi0rICBmb3IgKGludCBkb19z dHVmZl90eHQgPSAwOyBkb19zdHVmZl90eHQgPCAyOyArK2RvX3N0dWZmX3R4dCkKLSsgICAgewot KyAgICAgIHF1ZXJpZXMgPSAwOwotKyAgICAgIHN0dWZmX3R4dCA9IGRvX3N0dWZmX3R4dDsKLSsK LSsgICAgICBzdHJ1Y3QgYWRkcmluZm8gKmFpID0gTlVMTDsKLSsgICAgICBpbnQgcmV0OwotKyAg ICAgIHJldCA9IGdldGFkZHJpbmZvICgiZXhhbXBsZS5jb20iLCAiODAiLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAmKHN0cnVjdCBhZGRyaW5mbykKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgewotKyAgICAgICAgICAgICAgICAgICAgICAgICAgIC5haV9mYW1pbHkgPSBBRl9VTlNQRUMs Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFpX3NvY2t0eXBlID0gU09DS19TVFJFQU0s Ci0rICAgICAgICAgICAgICAgICAgICAgICAgIH0sICZhaSk7Ci0rCi0rICAgICAgY2hhciAqZXhw ZWN0ZWRfcmVzdWx0OwotKyAgICAgIHsKLSsgICAgICAgIHN0cnVjdCB4bWVtc3RyZWFtIG1lbTsK LSsgICAgICAgIHhvcGVuX21lbXN0cmVhbSAoJm1lbSk7Ci0rICAgICAgICBmb3IgKGludCBpID0g MDsgaSA8IDIwMDsgKytpKQotKyAgICAgICAgICBmcHJpbnRmIChtZW0ub3V0LCAiYWRkcmVzczog U1RSRUFNL1RDUCAxOTIuMC4yLiVkIDgwXG4iLCBpICsgMSk7Ci0rICAgICAgICB4ZmNsb3NlX21l bXN0cmVhbSAoJm1lbSk7Ci0rICAgICAgICBleHBlY3RlZF9yZXN1bHQgPSBtZW0uYnVmZmVyOwot KyAgICAgIH0KLSsKLSsgICAgICBjaGVja19hZGRyaW5mbyAoImV4YW1wbGUuY29tIiwgYWksIHJl dCwgZXhwZWN0ZWRfcmVzdWx0KTsKLSsKLSsgICAgICBmcmVlIChleHBlY3RlZF9yZXN1bHQpOwot KyAgICAgIGZyZWVhZGRyaW5mbyAoYWkpOwotKyAgICB9Ci0rCi0rICByZXNvbHZfdGVzdF9lbmQg KG9iaik7Ci0rICByZXR1cm4gMDsKLSt9Ci0rCi0rI2luY2x1ZGUgPHN1cHBvcnQvdGVzdC1kcml2 ZXIuYz4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9jb21taXR0ZWQtMS0yLVBy b3BhZ2F0ZS1HTElCQ19UVU5BQkxFUy1pbi1zZXR4aWQtYmluYXJpZXMucGF0Y2ggYi9zcmNwa2dz L2dsaWJjL3BhdGNoZXMvY29tbWl0dGVkLTEtMi1Qcm9wYWdhdGUtR0xJQkNfVFVOQUJMRVMtaW4t c2V0eGlkLWJpbmFyaWVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMWRj YmQwMzAwOWJhMS4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9nbGliYy9wYXRjaGVzL2Nv bW1pdHRlZC0xLTItUHJvcGFnYXRlLUdMSUJDX1RVTkFCTEVTLWluLXNldHhpZC1iaW5hcmllcy5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5OCArMCwwIEBACi1Gcm9tIDBkNWY5ZWE5N2YxYjM5 ZjJhODU1NzU2MDc4NzcxNjczYTY4NDk3ZTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBTaWRkaGVzaCBQb3lhcmVrYXIgPHNpZGRoZXNoQHNvdXJjZXdhcmUub3JnPgotRGF0ZTogVHVl LCAxOSBTZXAgMjAyMyAxMzoyNTo0MCAtMDQwMAotU3ViamVjdDogW1BBVENIXSBQcm9wYWdhdGUg R0xJQkNfVFVOQUJMRVMgaW4gc2V0eGlkIGJpbmFyaWVzCi0KLUdMSUJDX1RVTkFCTEVTIHNjcnVi YmluZyBoYXBwZW5zIGVhcmxpZXIgdGhhbiBlbnZ2YXIgc2NydWJiaW5nIGFuZCBzb21lCi10dW5h YmxlcyBhcmUgcmVxdWlyZWQgdG8gcHJvcGFnYXRlIHBhc3Qgc2V0eGlkIGJvdW5kYXJ5LCBsaWtl IHRoZWlyCi1lbnZfYWxpYXMuICBSZWx5IG9uIHR1bmFibGUgc2NydWJiaW5nIHRvIGNsZWFuIG91 dCBHTElCQ19UVU5BQkxFUyBsaWtlCi1iZWZvcmUsIHJlc3RvcmluZyBiZWhhdmlvdXIgaW4gZ2xp YmMgMi4zNyBhbmQgZWFybGllci4KLQotU2lnbmVkLW9mZi1ieTogU2lkZGhlc2ggUG95YXJla2Fy IDxzaWRkaGVzaEBzb3VyY2V3YXJlLm9yZz4KLVJldmlld2VkLWJ5OiBDYXJsb3MgTydEb25lbGwg PGNhcmxvc0ByZWRoYXQuY29tPgotLS0tCi0gc3lzZGVwcy9nZW5lcmljL3Vuc2VjdmFycy5oIHwg MSAtCi0gMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3N5c2Rl cHMvZ2VuZXJpYy91bnNlY3ZhcnMuaCBiL3N5c2RlcHMvZ2VuZXJpYy91bnNlY3ZhcnMuaAotaW5k ZXggODEzOTdmYjkwYi4uODI3OGM1MGE4NCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvZ2VuZXJpYy91 bnNlY3ZhcnMuaAotKysrIGIvc3lzZGVwcy9nZW5lcmljL3Vuc2VjdmFycy5oCi1AQCAtNCw3ICs0 LDYgQEAKLSAjZGVmaW5lIFVOU0VDVVJFX0VOVlZBUlMgXAotICAgIkdDT05WX1BBVEhcMCIJCQkJ CQkJICAgICAgXAotICAgIkdFVENPTkZfRElSXDAiCQkJCQkJCSAgICAgIFwKLS0gICJHTElCQ19U VU5BQkxFU1wwIgkJCQkJCQkgICAgICBcCi0gICAiSE9TVEFMSUFTRVNcMCIJCQkJCQkJICAgICAg XAotICAgIkxEX0FVRElUXDAiCQkJCQkJCQkgICAgICBcCi0gICAiTERfREVCVUdcMCIJCQkJCQkJ CSAgICAgIFwKLS0tIAotRnJvbSAxMDU2ZTViNGMzZjJkOTBlZDJiNGE1NWY5NmFkZDI4ZGEyZjRj OGZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU2lkZGhlc2ggUG95YXJla2FyIDxz aWRkaGVzaEBzb3VyY2V3YXJlLm9yZz4KLURhdGU6IFR1ZSwgMTkgU2VwIDIwMjMgMTg6Mzk6MzIg LTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gdHVuYWJsZXM6IFRlcm1pbmF0ZSBpZiBlbmQgb2YgaW5w dXQgaXMgcmVhY2hlZAotIChDVkUtMjAyMy00OTExKQotCi1UaGUgc3RyaW5nIHBhcnNpbmcgcm91 dGluZSBtYXkgZW5kIHVwIHdyaXRpbmcgYmV5b25kIGJvdW5kcyBvZiB0dW5lc3RyCi1pZiB0aGUg aW5wdXQgdHVuYWJsZSBzdHJpbmcgaXMgbWFsZm9ybWVkLCBvZiB0aGUgZm9ybSBuYW1lPW5hbWU9 dmFsLgotVGhpcyBnZXRzIHByb2Nlc3NlZCB0d2ljZSwgZmlyc3QgYXMgbmFtZT1uYW1lPXZhbCBh bmQgbmV4dCBhcyBuYW1lPXZhbCwKLXJlc3VsdGluZyBpbiB0dW5lc3RyIGJlaW5nIG5hbWU9bmFt ZT12YWw6bmFtZT12YWwsIHRodXMgb3ZlcmZsb3dpbmcKLXR1bmVzdHIuCi0KLVRlcm1pbmF0ZSB0 aGUgcGFyc2luZyBsb29wIGF0IHRoZSBmaXJzdCBpbnN0YW5jZSBpdHNlbGYgc28gdGhhdCB0dW5l c3RyCi1kb2VzIG5vdCBvdmVyZmxvdy4KLQotVGhpcyBhbHNvIGZpeGVzIHVwIHRzdC1lbnYtc2V0 dWlkLXR1bmFibGVzIHRvIGFjdHVhbGx5IGhhbmRsZSBmYWlsdXJlcwotY29ycmVjdCBhbmQgYWRk IG5ldyB0ZXN0cyB0byB2YWxpZGF0ZSB0aGUgZml4IGZvciB0aGlzIENWRS4KLQotU2lnbmVkLW9m Zi1ieTogU2lkZGhlc2ggUG95YXJla2FyIDxzaWRkaGVzaEBzb3VyY2V3YXJlLm9yZz4KLVJldmll d2VkLWJ5OiBDYXJsb3MgTydEb25lbGwgPGNhcmxvc0ByZWRoYXQuY29tPgotLS0tCi0gTkVXUyAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgNSArKysrKwotIGVsZi9kbC10dW5hYmxlcy5jICAg ICAgICAgICAgIHwgMTcgKysrKysrKysrLS0tLS0tLQotIGVsZi90c3QtZW52LXNldHVpZC10dW5h Ymxlcy5jIHwgMzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KLSAzIGZpbGVz IGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0 IGEvTkVXUyBiL05FV1MKLWluZGV4IGE5NDY1MGRhNjQuLmNjNGI4MWYwYWMgMTAwNjQ0Ci0tLS0g YS9ORVdTCi0rKysgYi9ORVdTCi1AQCAtNjQsNiArNjQsMTEgQEAgU2VjdXJpdHkgcmVsYXRlZCBj aGFuZ2VzOgotICAgYW4gYXBwbGljYXRpb24gY2FsbHMgZ2V0YWRkcmluZm8gZm9yIEFGX0lORVQ2 IHdpdGggQUlfQ0FOT05OQU1FLAotICAgQUlfQUxMIGFuZCBBSV9WNE1BUFBFRCBmbGFncyBzZXQu Ci0gCi0rICBDVkUtMjAyMy00OTExOiBJZiBhIHR1bmFibGUgb2YgdGhlIGZvcm0gTkFNRT1OQU1F PVZBTCBpcyBwYXNzZWQgaW4gdGhlCi0rICBlbnZpcm9ubWVudCBvZiBhIHNldHVpZCBwcm9ncmFt IGFuZCBOQU1FIGlzIHZhbGlkLCBpdCBtYXkgcmVzdWx0IGluIGEKLSsgIGJ1ZmZlciBvdmVyZmxv dywgd2hpY2ggY291bGQgYmUgZXhwbG9pdGVkIHRvIGFjaGlldmUgZXNjYWxhdGVkCi0rICBwcml2 aWxlZ2VzLiAgVGhpcyBmbGF3IHdhcyBpbnRyb2R1Y2VkIGluIGdsaWJjIDIuMzQuCi0rCi0gVGhl IGZvbGxvd2luZyBidWdzIGFyZSByZXNvbHZlZCB3aXRoIHRoaXMgcmVsZWFzZToKLSAKLSAgIFtU aGUgcmVsZWFzZSBtYW5hZ2VyIHdpbGwgYWRkIHRoZSBsaXN0IGdlbmVyYXRlZCBieQotZGlmZiAt LWdpdCBhL2VsZi9kbC10dW5hYmxlcy5jIGIvZWxmL2RsLXR1bmFibGVzLmMKLWluZGV4IDYyYjcz MzJkOTUuLmNhZTY3ZWZhMGEgMTAwNjQ0Ci0tLS0gYS9lbGYvZGwtdHVuYWJsZXMuYwotKysrIGIv ZWxmL2RsLXR1bmFibGVzLmMKLUBAIC0xODAsMTEgKzE4MCw3IEBAIHBhcnNlX3R1bmFibGVzIChj aGFyICp0dW5lc3RyLCBjaGFyICp2YWxzdHJpbmcpCi0gICAgICAgLyogSWYgd2UgcmVhY2ggdGhl IGVuZCBvZiB0aGUgc3RyaW5nIGJlZm9yZSBnZXR0aW5nIGEgdmFsaWQgbmFtZS12YWx1ZQotIAkg cGFpciwgYmFpbCBvdXQuICAqLwotICAgICAgIGlmIChwW2xlbl0gPT0gJ1wwJykKLS0JewotLQkg IGlmIChfX2xpYmNfZW5hYmxlX3NlY3VyZSkKLS0JICAgIHR1bmVzdHJbb2ZmXSA9ICdcMCc7Ci0t CSAgcmV0dXJuOwotLQl9Ci0rCWJyZWFrOwotIAotICAgICAgIC8qIFdlIGRpZCBub3QgZmluZCBh IHZhbGlkIG5hbWUtdmFsdWUgcGFpciBiZWZvcmUgZW5jb3VudGVyaW5nIHRoZQotIAkgY29sb24u ICAqLwotQEAgLTI0NCw5ICsyNDAsMTYgQEAgcGFyc2VfdHVuYWJsZXMgKGNoYXIgKnR1bmVzdHIs IGNoYXIgKnZhbHN0cmluZykKLSAJICAgIH0KLSAJfQotIAotLSAgICAgIGlmIChwW2xlbl0gIT0g J1wwJykKLS0JcCArPSBsZW4gKyAxOwotKyAgICAgIC8qIFdlIHJlYWNoZWQgdGhlIGVuZCB3aGls ZSBwcm9jZXNzaW5nIHRoZSB0dW5hYmxlIHN0cmluZy4gICovCi0rICAgICAgaWYgKHBbbGVuXSA9 PSAnXDAnKQotKwlicmVhazsKLSsKLSsgICAgICBwICs9IGxlbiArIDE7Ci0gICAgIH0KLSsKLSsg IC8qIFRlcm1pbmF0ZSB0dW5lc3RyIGJlZm9yZSB3ZSBsZWF2ZS4gICovCi0rICBpZiAoX19saWJj X2VuYWJsZV9zZWN1cmUpCi0rICAgIHR1bmVzdHJbb2ZmXSA9ICdcMCc7Ci0gfQotIAotIC8qIEVu YWJsZSB0aGUgZ2xpYmMubWFsbG9jLmNoZWNrIHR1bmFibGUgaW4gU0VUVUlEL1NFVEdJRCBwcm9n cmFtcyBvbmx5IHdoZW4KLWRpZmYgLS1naXQgYS9lbGYvdHN0LWVudi1zZXR1aWQtdHVuYWJsZXMu YyBiL2VsZi90c3QtZW52LXNldHVpZC10dW5hYmxlcy5jCi1pbmRleCA3ZGZiMGUwNzNhLi5mMGI5 MmM5N2U3IDEwMDY0NAotLS0tIGEvZWxmL3RzdC1lbnYtc2V0dWlkLXR1bmFibGVzLmMKLSsrKyBi L2VsZi90c3QtZW52LXNldHVpZC10dW5hYmxlcy5jCi1AQCAtNTAsNiArNTAsOCBAQCBjb25zdCBj aGFyICp0ZXN0c3RyaW5nc1tdID0KLSAgICJnbGliYy5tYWxsb2MucGVydHVyYj0weDgwMDpub3Rf dmFsaWQubWFsbG9jLmNoZWNrPTI6Z2xpYmMubWFsbG9jLm1tYXBfdGhyZXNob2xkPTQwOTYiLAot ICAgImdsaWJjLm5vdF92YWxpZC5jaGVjaz0yOmdsaWJjLm1hbGxvYy5tbWFwX3RocmVzaG9sZD00 MDk2IiwKLSAgICJub3RfdmFsaWQubWFsbG9jLmNoZWNrPTI6Z2xpYmMubWFsbG9jLm1tYXBfdGhy ZXNob2xkPTQwOTYiLAotKyAgImdsaWJjLm1hbGxvYy5tbWFwX3RocmVzaG9sZD1nbGliYy5tYWxs b2MubW1hcF90aHJlc2hvbGQ9NDA5NiIsCi0rICAiZ2xpYmMubWFsbG9jLmNoZWNrPTIiLAotICAg ImdsaWJjLm1hbGxvYy5nYXJiYWdlPTI6Z2xpYmMubWFvYy5tbWFwX3RocmVzaG9sZD00MDk2Omds aWJjLm1hbGxvYy5jaGVjaz0yIiwKLSAgICJnbGliYy5tYWxsb2MuY2hlY2s9NDpnbGliYy5tYWxs b2MuZ2FyYmFnZT0yOmdsaWJjLm1hb2MubW1hcF90aHJlc2hvbGQ9NDA5NiIsCi0gICAiOmdsaWJj Lm1hbGxvYy5nYXJiYWdlPTI6Z2xpYmMubWFsbG9jLmNoZWNrPTEiLAotQEAgLTY4LDYgKzcwLDgg QEAgY29uc3QgY2hhciAqcmVzdWx0c3RyaW5nc1tdID0KLSAgICJnbGliYy5tYWxsb2MucGVydHVy Yj0weDgwMDpnbGliYy5tYWxsb2MubW1hcF90aHJlc2hvbGQ9NDA5NiIsCi0gICAiZ2xpYmMubWFs bG9jLm1tYXBfdGhyZXNob2xkPTQwOTYiLAotICAgImdsaWJjLm1hbGxvYy5tbWFwX3RocmVzaG9s ZD00MDk2IiwKLSsgICJnbGliYy5tYWxsb2MubW1hcF90aHJlc2hvbGQ9Z2xpYmMubWFsbG9jLm1t YXBfdGhyZXNob2xkPTQwOTYiLAotKyAgIiIsCi0gICAiIiwKLSAgICIiLAotICAgIiIsCi1AQCAt ODEsMTEgKzg1LDE4IEBAIHRlc3RfY2hpbGQgKGludCBvZmYpCi0gewotICAgY29uc3QgY2hhciAq dmFsID0gZ2V0ZW52ICgiR0xJQkNfVFVOQUJMRVMiKTsKLSAKLSsgIHByaW50ZiAoIiAgICBbJWRd IEdMSUJDX1RVTkFCTEVTIGlzICVzXG4iLCBvZmYsIHZhbCk7Ci0rICBmZmx1c2ggKHN0ZG91dCk7 Ci0gICBpZiAodmFsICE9IE5VTEwgJiYgc3RyY21wICh2YWwsIHJlc3VsdHN0cmluZ3Nbb2ZmXSkg PT0gMCkKLSAgICAgcmV0dXJuIDA7Ci0gCi0gICBpZiAodmFsICE9IE5VTEwpCi0tICAgIHByaW50 ZiAoIlslZF0gVW5leHBlY3RlZCBHTElCQ19UVU5BQkxFUyBWQUxVRSAlc1xuIiwgb2ZmLCB2YWwp OwotKyAgICBwcmludGYgKCIgICAgWyVkXSBVbmV4cGVjdGVkIEdMSUJDX1RVTkFCTEVTIFZBTFVF ICVzLCBleHBlY3RlZCAlc1xuIiwKLSsJICAgIG9mZiwgdmFsLCByZXN1bHRzdHJpbmdzW29mZl0p OwotKyAgZWxzZQotKyAgICBwcmludGYgKCIgICAgWyVkXSBHTElCQ19UVU5BQkxFUyBlbnZpcm9u bWVudCB2YXJpYWJsZSBhYnNlbnRcbiIsIG9mZik7Ci0rCi0rICBmZmx1c2ggKHN0ZG91dCk7Ci0g Ci0gICByZXR1cm4gMTsKLSB9Ci1AQCAtMTA2LDIxICsxMTcsMjYgQEAgZG9fdGVzdCAoaW50IGFy Z2MsIGNoYXIgKiphcmd2KQotICAgICAgIGlmIChyZXQgIT0gMCkKLSAJZXhpdCAoMSk7Ci0gCi0t ICAgICAgZXhpdCAoRVhJVF9TVUNDRVNTKTsKLSsgICAgICAvKiBTcGVjaWFsIHJldHVybiBjb2Rl IHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBjaGlsZCBleGVjdXRlZCBhbGwgdGhlIHdheQotKwkgdGhy b3VnaC4gICovCi0rICAgICAgZXhpdCAoNDIpOwotICAgICB9Ci0gICBlbHNlCi0gICAgIHsKLS0g ICAgICBpbnQgcmV0ID0gMDsKLS0KLSAgICAgICAvKiBTcGF3biB0ZXN0cy4gICovCi0gICAgICAg Zm9yIChpbnQgaSA9IDA7IGkgPCBhcnJheV9sZW5ndGggKHRlc3RzdHJpbmdzKTsgaSsrKQotIAl7 Ci0gCSAgY2hhciBidWZbSU5UX0JVRlNJWkVfQk9VTkQgKGludCldOwotIAotLQkgIHByaW50ZiAo IlNwYXduZWQgdGVzdCBmb3IgJXMgKCVkKVxuIiwgdGVzdHN0cmluZ3NbaV0sIGkpOwotKwkgIHBy aW50ZiAoIlslZF0gU3Bhd25lZCB0ZXN0IGZvciAlc1xuIiwgaSwgdGVzdHN0cmluZ3NbaV0pOwot IAkgIHNucHJpbnRmIChidWYsIHNpemVvZiAoYnVmKSwgIiVkXG4iLCBpKTsKLSsJICBmZmx1c2gg KHN0ZG91dCk7Ci0gCSAgaWYgKHNldGVudiAoIkdMSUJDX1RVTkFCTEVTIiwgdGVzdHN0cmluZ3Nb aV0sIDEpICE9IDApCi0tCSAgICBleGl0ICgxKTsKLSsJICAgIHsKLSsJICAgICAgcHJpbnRmICgi ICAgIFslZF0gRmFpbGVkIHRvIHNldCBHTElCQ19UVU5BQkxFUzogJW0iLCBpKTsKLSsJICAgICAg c3VwcG9ydF9yZWNvcmRfZmFpbHVyZSAoKTsKLSsJICAgICAgY29udGludWU7Ci0rCSAgICB9Ci0g Ci0gCSAgaW50IHN0YXR1cyA9IHN1cHBvcnRfY2FwdHVyZV9zdWJwcm9ncmFtX3NlbGZfc2dpZCAo YnVmKTsKLSAKLUBAIC0xMjgsOSArMTQ0LDE0IEBAIGRvX3Rlc3QgKGludCBhcmdjLCBjaGFyICoq YXJndikKLSAJICBpZiAoV0VYSVRTVEFUVVMgKHN0YXR1cykgPT0gRVhJVF9VTlNVUFBPUlRFRCkK LSAJICAgIHJldHVybiBFWElUX1VOU1VQUE9SVEVEOwotIAotLQkgIHJldCB8PSBzdGF0dXM7Ci0r CSAgaWYgKFdFWElUU1RBVFVTIChzdGF0dXMpICE9IDQyKQotKwkgICAgewotKwkgICAgICBwcmlu dGYgKCIgICAgWyVkXSBjaGlsZCBmYWlsZWQgd2l0aCBzdGF0dXMgJWRcbiIsIGksCi0rCQkgICAg ICBXRVhJVFNUQVRVUyAoc3RhdHVzKSk7Ci0rCSAgICAgIHN1cHBvcnRfcmVjb3JkX2ZhaWx1cmUg KCk7Ci0rCSAgICB9Ci0gCX0KLS0gICAgICByZXR1cm4gcmV0OwotKyAgICAgIHJldHVybiAwOwot ICAgICB9Ci0gfQotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbGliYy90ZW1wbGF0ZSBiL3NyY3Br Z3MvZ2xpYmMvdGVtcGxhdGUKaW5kZXggY2YzMGNkODhkZDYxYTIuLjg3N2UyYzlmZWMyMGM3IDEw MDY0NAotLS0gYS9zcmNwa2dzL2dsaWJjL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ2xpYmMvdGVt cGxhdGUKQEAgLTEsMTQgKzEsMTQgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2dsaWJjJwogcGtn bmFtZT1nbGliYwotdmVyc2lvbj0yLjM4Ci1yZXZpc2lvbj02Cit2ZXJzaW9uPTIuMzkKK3Jldmlz aW9uPTEKIGJvb3RzdHJhcD15ZXMKIHNob3J0X2Rlc2M9IkdOVSBDIGxpYnJhcnkiCiBtYWludGFp bmVyPSJFbm5vIEJvbGFuZCA8Z290dG94QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIu MC1vci1sYXRlciwgTEdQTC0yLjEtb3ItbGF0ZXIsIEJTRC0zLUNsYXVzZSIKIGhvbWVwYWdlPSJo dHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGliYyIKIGRpc3RmaWxlcz0iJHtHTlVfU0lURX0v bGliYy9nbGliYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWZiODI5OTg5OThiMmIyOTk2 NTQ2N2JjMWI2OWQxNTJlOWMzMDdkMmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKK2NoZWNrc3Vt PWY3N2JkNDdjZjgxNzBjNTczNjVhZTdiZjg2Njk2YzExOGFkYjNiMTIwZDMyNTljNjRjNTAyZDNk YzFlMmQ5MjYKICMgRG8gbm90IHN0cmlwIHRoZXNlIGZpbGVzLCBvYmpjb3B5IGVycm9ycyBvdXQu CiBub3N0cmlwX2ZpbGVzPSIKIAlYQlM1X0lMUDMyX09GRkJJRwpAQCAtNDgsMTMgKzQ4LDEyIEBA IGNvbmZfZmlsZXM9IgogCS9ldGMvbGQuc28uY29uZiIKIGlmIFsgIiRDSFJPT1RfUkVBRFkiIF07 IHRoZW4KIAlob3N0bWFrZWRlcGVuZHM9ImJpc29uIGdldHRleHQgcGVybCBweXRob24zIHRleGlu Zm8iCi0JIyBYWFg6IHJlbW92ZSB0aGlzIG9uIHRoZSBuZXh0IHVwZGF0ZQotCSMgZW5zdXJlcyBw YXJ0aWFsIHVwZ3JhZGVzIGRvbid0IGJyZWFrIHRoaW5ncyBsaWtlIFBBTQotCWRlcGVuZHM9Imxp YnhjcnlwdC1jb21wYXQiCiBmaQogbWFrZWRlcGVuZHM9Imtlcm5lbC1saWJjLWhlYWRlcnMiCiBs aWIzMmZpbGVzPSIvdXNyL2xpYi9nY29udi9nY29udi1tb2R1bGVzIgogbGliMzJzeW1saW5rcz0i bGQtbGludXguc28uMiIKKyMgZ2xpYmMgMi4zOCBzdG9wcyBwcm92aWRpbmcgbGliY3J5cHQuc28u MQorY29uZmxpY3RzPSJnbGliYy0zMmJpdDwyLjM4XzEiCiBhcmNocz0ifiotbXVzbCIKIGlmIFsg IiRYQlBTX1RBUkdFVF9MSUJDIiA9IG11c2wgXTsgdGhlbgogCWJyb2tlbj0ibm8gcG9pbnQgaW4g YnVpbGRpbmcgdGhpcyBmb3IgbXVzbCIKQEAgLTY3LDIwICs2NiwxNyBAQCBkb19jb25maWd1cmUo KSB7CiAJbG9jYWwgX2xpYmRpcj0vdXNyL2xpYiR7WEJQU19UQVJHRVRfV09SRFNJWkV9CiAKIAll Y2hvICJzbGliZGlyPSR7X2xpYmRpcn0iID4gY29uZmlncGFybXMKKwllY2hvICJydGxkZGlyPSR7 X2xpYmRpcn0iID4+IGNvbmZpZ3Bhcm1zCiAJZWNobyAiYmluZGlyPS91c3IvYmluIiA+PiBjb25m aWdwYXJtcwogCWVjaG8gInNiaW5kaXI9L3Vzci9iaW4iID4+IGNvbmZpZ3Bhcm1zCi0JZWNobyAi cm9vdHNiaW5kaXI9L3Vzci9zYmluIiA+PiBjb25maWdwYXJtcworCWVjaG8gInJvb3RzYmluZGly PS91c3IvYmluIiA+PiBjb25maWdwYXJtcwogCiAJY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUi IGluCiAJCSMgQnVpbGQgd2l0aCAtbW5vLXRscy1kaXJlY3Qtc2VnLXJlZnMgdG8gYXZvaWQgcGVy Zm9ybWFuY2UKIAkJIyBwcm9ibGVtcyB3aXRoIFhlbiBvbiB4ODYgMzJiaXQuCiAJCWk2ODYpIGV4 cG9ydCBDRkxBR1MrPSIgLW1uby10bHMtZGlyZWN0LXNlZy1yZWZzIjs7Ci0JCSMgRm9yY2UgaGFy ZCBmbG9hdCBBQkkuCi0JCSMgVG8gYnVpbGQgZm9yIHNvZnQgZmxvYXQ6IC0td2l0aC1mbG9hdD1z b2Z0IC0td2l0aG91dC1mcC4KLQkJYXJtdjUqKSBjb25maWd1cmVfYXJncys9IiAtLXdpdGgtbWFy Y2g9YXJtdjV0ZSAtLXdpdGhvdXQtZnAgLS13aXRoLWZsb2F0PXNvZnQiOzsKLQkJYXJtdjZsKikg Y29uZmlndXJlX2FyZ3MrPSIgLS13aXRoLW1hcmNoPWFybXY2IC0td2l0aC1mcHU9dmZwIC0td2l0 aC1mbG9hdD1oYXJkIjs7Ci0JCWFybXY3bCopIGNvbmZpZ3VyZV9hcmdzKz0iIC0td2l0aC1tYXJj aD1hcm12Ny1hIC0td2l0aC1mcHU9dmZwdjMgLS13aXRoLWZsb2F0PWhhcmQiOzsKLQkJYXJtNjQq KSBjb25maWd1cmVfYXJncys9IiAtLXdpdGgtbWFyY2g9YXJtdjgtYSI7OworCQkjIEZvcmNlIHNv ZnQgZmxvYXQgQUJJIG9uIGFybXY1LgorCQlhcm12NSopIGNvbmZpZ3VyZV9hcmdzKz0iIC0td2l0 aG91dC1mcCI7OwogCWVzYWMKIAogCWlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgpAQCAtMTAz LDkgKzk5LDcgQEAgZG9fY29uZmlndXJlKCkgewogCQktLWVuYWJsZS1zdGFjay1wcm90ZWN0b3I9 c3Ryb25nIFwKIAkJLS1kaXNhYmxlLXByb2ZpbGUgLS1lbmFibGUta2VybmVsPTMuMi4wIFwKIAkJ LS13aXRob3V0LXNlbGludXggLS13aXRob3V0LWdkIFwKLQkJLS1kaXNhYmxlLXdlcnJvciBcCi0J CWxpYmNfY3Zfcm9vdHNiaW5kaXI9L3Vzci9iaW4gXAotCQlsaWJjX2N2X3J0bGRkaXI9JHtfbGli ZGlyfSBsaWJjX2N2X3NsaWJkaXI9JHtfbGliZGlyfQorCQktLWRpc2FibGUtd2Vycm9yIC0tZW5h YmxlLW9wdGlvbi1jaGVja2luZwogfQogCiBwb3N0X2NvbmZpZ3VyZSgpIHsKQEAgLTEzMyw3ICsx MjcsMTAgQEAgZG9faW5zdGFsbCgpIHsKIAkoIGNkIGJ1aWxkICYmIG1ha2UgaW5zdGFsbF9yb290 PSR7REVTVERJUn0gaW5zdGFsbCApCiAKIAkjIFRoZSBDLlVURi04IGxvY2FsZSBzaG91bGQgYWx3 YXlzIGJlIGF2YWlsYWJsZQotCWlmIFsgLXogIiR7Q1JPU1NfQlVJTER9IiBdOyB0aGVuCisJIwor CSMgVXNlIHRoZSByZWNlbnRseSBjb21waWxlZCBsb2NhbGVkZWYgd2hlbiBjb21waWxpbmcgdG8v ZnJvbSB0aGUgc2FtZQorCSMgYXJjaGl0ZWN0dXJlLCBhbmQgdGhlIGhvc3QgbG9jYWxlZGVmIGJp bmFyeSBvdGhlcndpc2UuCisJaWYgWyAiJHtYQlBTX01BQ0hJTkUlLSp9IiA9ICIke1hCUFNfVEFS R0VUX01BQ0hJTkUlLSp9IiBdOyB0aGVuCiAJCW1ha2UgLUMgbG9jYWxlZGF0YSBERVNURElSPSIk e0RFU1RESVJ9IiBcCiAJCQlvYmpkaXI9Ii4uL2J1aWxkIiBpbnN0YWxsLWZpbGVzLUMuVVRGLTgv VVRGLTgKIAllbGlmIGNvbW1hbmQgLXYgbG9jYWxlZGVmID4vZGV2L251bGwgMj4mMTsgdGhlbgpA QCAtMTg0LDggKzE4MSw2IEBAIGRvX2luc3RhbGwoKSB7CiAJIyBSZW1vdmUgdHpzZWxlY3QgYW5k IHp7ZHVtcCxpY30sIHByb3ZpZGVkIGJ5IHR6dXRpbHMuCiAJcm0gLWYgJHtERVNURElSfS91c3Iv YmluL3R6c2VsZWN0CiAJcm0gLWYgJHtERVNURElSfS91c3IvYmluL3p7ZHVtcCxpY30KLQotCW12 ICR7REVTVERJUn0vdXNyL3NiaW4vKiAke0RFU1RESVJ9L3Vzci9iaW4KIH0KIAogZ2xpYmMtZGV2 ZWxfcGFja2FnZSgpIHsKCkZyb20gZjIxMDdhYmU1ZjkwZTNiN2VhZTljNTM1YzQ5NzE5ZGMwMDhj OTY3NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFAZ21h aWwuY29tPgpEYXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjMgLTA4MDAKU3ViamVjdDogW1BB VENIIDAyLzEyXSBjcm9zcy1hYXJjaDY0LWxpbnV4LWdudTogcmVidWlsZCBmb3IgZ2xpYmMgMi4z OQoKLS0tCiBzcmNwa2dzL2Nyb3NzLWFhcmNoNjQtbGludXgtZ251L3RlbXBsYXRlIHwgNiArKyst LS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1hYXJjaDY0LWxpbnV4LWdudS90ZW1wbGF0ZSBiL3NyY3Br Z3MvY3Jvc3MtYWFyY2g2NC1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXggYzRkN2RiYWY0YmExOWMu LjczYWRiZWU3ZTg1MzNiIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLWFhcmNoNjQtbGludXgt Z251L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtYWFyY2g2NC1saW51eC1nbnUvdGVtcGxh dGUKQEAgLTEsMTEgKzEsMTEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLWFhcmNoNjQt bGludXgtZ251JwogX2JpbnV0aWxzX3ZlcnNpb249Mi40MQogX2djY192ZXJzaW9uPTEzLjIuMAot X2dsaWJjX3ZlcnNpb249Mi4zOAorX2dsaWJjX3ZlcnNpb249Mi4zOQogX2xpbnV4X3ZlcnNpb249 Ni4xCiBwa2duYW1lPWNyb3NzLWFhcmNoNjQtbGludXgtZ251CiB2ZXJzaW9uPTAuMzYKLXJldmlz aW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdz PSItLXdpdGgtYXJjaD1hcm12OC1hIgogaG9zdG1ha2VkZXBlbmRzPSJ0ZXhpbmZvIHRhciBnY2Mt b2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMgcGtnLWNvbmZpZyIKQEAgLTIyLDcgKzIyLDcg QEAgZGlzdGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2dsaWJjLSR7X2dsaWJjX3ZlcnNpb259 LnRhci54eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRFfS9rZXJuZWwvdiR7X2xpbnV4X3Zl cnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIKIGNoZWNrc3VtPSJh ZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkxZWYwZDAxNWJkZjA2 MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEzMTQ0MDA0YzA0MTM1 Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2OWQxNTJlOWMzMDdk MmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3MzY1YWU3YmY4NjY5 NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYxNzA1MWE0MzBmNmZl ZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRlYiIKIG5vY3Jvc3M9 eWVzCiAKCkZyb20gNGZhZDEyOTU1MWIzMzdjMjU4NzdhYTAxZGJiYmVhMWVmZDQ3NDY0NCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFAZ21haWwuY29tPgpE YXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjMgLTA4MDAKU3ViamVjdDogW1BBVENIIDAzLzEy XSBjcm9zcy1hcm0tbGludXgtZ251ZWFiaTogcmVidWlsZCBmb3IgZ2xpYmMgMi4zOQoKLS0tCiBz cmNwa2dzL2Nyb3NzLWFybS1saW51eC1nbnVlYWJpL3RlbXBsYXRlIHwgNiArKystLS0KIDEgZmls ZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9jcm9zcy1hcm0tbGludXgtZ251ZWFiaS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3Mt YXJtLWxpbnV4LWdudWVhYmkvdGVtcGxhdGUKaW5kZXggZWZkZTEwMTdjYjg2NGIuLmUzY2M0YTI4 YTNkYzVlIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLWFybS1saW51eC1nbnVlYWJpL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtYXJtLWxpbnV4LWdudWVhYmkvdGVtcGxhdGUKQEAgLTEs MTEgKzEsMTEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLWFybS1saW51eC1nbnVlYWJp JwogX2JpbnV0aWxzX3ZlcnNpb249Mi40MQogX2djY192ZXJzaW9uPTEzLjIuMAotX2dsaWJjX3Zl cnNpb249Mi4zOAorX2dsaWJjX3ZlcnNpb249Mi4zOQogX2xpbnV4X3ZlcnNpb249Ni4xCiBwa2du YW1lPWNyb3NzLWFybS1saW51eC1nbnVlYWJpCiB2ZXJzaW9uPTAuMzYKLXJldmlzaW9uPTEKK3Jl dmlzaW9uPTIKIGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgt YXJjaD1hcm12NXRlIC0td2l0aC1mbG9hdD1zb2Z0CiAgLS1lbmFibGUtYXV0b2xpbmstbGliYXRv bWljIgpAQCAtMjMsNyArMjMsNyBAQCBkaXN0ZmlsZXMrPSIgJHtHTlVfU0lURX0vZ2xpYmMvZ2xp YmMtJHtfZ2xpYmNfdmVyc2lvbn0udGFyLnh6IgogZGlzdGZpbGVzKz0iICR7S0VSTkVMX1NJVEV9 L2tlcm5lbC92JHtfbGludXhfdmVyc2lvbiUlLip9LngvbGludXgtJHtfbGludXhfdmVyc2lvbn0u dGFyLnh6IgogY2hlY2tzdW09ImFlOWE1Nzg5ZTIzNDU5ZTU5NjA2ZTY3MTQ3MjNmMmQzZmZjMzFj MDMxNzQxOTFlZjBkMDE1YmRmMDYwMDc0NTAKICBlMjc1ZTc2NDQyYTYwNjczNDFhMjdmMDRjNWM2 YjgzZDg2MTMxNDQwMDRjMDQxMzUyODg2M2RjNmI1Yzc0M2RhCi0gZmI4Mjk5ODk5OGIyYjI5OTY1 NDY3YmMxYjY5ZDE1MmU5YzMwN2QyY2YzMDFjOWVhZmI0NTU1Yjc3MGVmM2ZkMgorIGY3N2JkNDdj ZjgxNzBjNTczNjVhZTdiZjg2Njk2YzExOGFkYjNiMTIwZDMyNTljNjRjNTAyZDNkYzFlMmQ5MjYK ICAyY2ExZjE3MDUxYTQzMGY2ZmVkMTE5NmU0OTUyNzE3NTA3MTcxYWNmZDk3ZDk2NTc3MjEyNTAy NzAzYjI1ZGViIgogbm9jcm9zcz15ZXMKIAoKRnJvbSBhYzA1NWUzZWNiM2Q1NWE4OTk3NjMxYjll MTZmMDMwNzc3ODNiMGVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDxv cmVvNjM5MUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgNiBNYXIgMjAyNCAxODowNzoyMyAtMDgwMApT dWJqZWN0OiBbUEFUQ0ggMDQvMTJdIGNyb3NzLWFybS1saW51eC1nbnVlYWJpaGY6IHJlYnVpbGQg Zm9yIGdsaWJjIDIuMzkKCi0tLQogc3JjcGtncy9jcm9zcy1hcm0tbGludXgtZ251ZWFiaWhmL3Rl bXBsYXRlIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1hcm0tbGludXgtZ251ZWFiaWhm L3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1hcm0tbGludXgtZ251ZWFiaWhmL3RlbXBsYXRlCmlu ZGV4IGRkNTYyY2ViNDQ5ODYxLi4wOWRlNjQyMjA4YTJjOCAxMDA2NDQKLS0tIGEvc3JjcGtncy9j cm9zcy1hcm0tbGludXgtZ251ZWFiaWhmL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtYXJt LWxpbnV4LWdudWVhYmloZi90ZW1wbGF0ZQpAQCAtMSwxMSArMSwxMSBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnY3Jvc3MtYXJtLWxpbnV4LWdudWVhYmloZicKIF9iaW51dGlsc192ZXJzaW9uPTIu NDEKIF9nY2NfdmVyc2lvbj0xMy4yLjAKLV9nbGliY192ZXJzaW9uPTIuMzgKK19nbGliY192ZXJz aW9uPTIuMzkKIF9saW51eF92ZXJzaW9uPTYuMQogcGtnbmFtZT1jcm9zcy1hcm0tbGludXgtZ251 ZWFiaWhmCiB2ZXJzaW9uPTAuMzYKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxl PXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtYXJjaD1hcm12NiAtLXdpdGgtZnB1 PXZmcCAtLXdpdGgtZmxvYXQ9aGFyZAogIC0tZW5hYmxlLWF1dG9saW5rLWxpYmF0b21pYyIKQEAg LTIzLDcgKzIzLDcgQEAgZGlzdGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2dsaWJjLSR7X2ds aWJjX3ZlcnNpb259LnRhci54eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRFfS9rZXJuZWwv diR7X2xpbnV4X3ZlcnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIK IGNoZWNrc3VtPSJhZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkx ZWYwZDAxNWJkZjA2MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEz MTQ0MDA0YzA0MTM1Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2 OWQxNTJlOWMzMDdkMmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3 MzY1YWU3YmY4NjY5NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYx NzA1MWE0MzBmNmZlZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRl YiIKIG5vY3Jvc3M9eWVzCiAKCkZyb20gZmY0NTk4ZTlmMDM5MTIyMjdmNDNjNTZjN2JlMGNjNTJh NjMyMDE4ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFA Z21haWwuY29tPgpEYXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjMgLTA4MDAKU3ViamVjdDog W1BBVENIIDA1LzEyXSBjcm9zcy1hcm12N2wtbGludXgtZ251ZWFiaWhmOiByZWJ1aWxkIGZvciBn bGliYyAyLjM5CgotLS0KIHNyY3BrZ3MvY3Jvc3MtYXJtdjdsLWxpbnV4LWdudWVhYmloZi90ZW1w bGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3MtYXJtdjdsLWxpbnV4LWdudWVhYmlo Zi90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtYXJtdjdsLWxpbnV4LWdudWVhYmloZi90ZW1wbGF0 ZQppbmRleCA2MGM2NzhmM2Y1YWE3NS4uY2VhZTY5NzFlZTQ4NGMgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvY3Jvc3MtYXJtdjdsLWxpbnV4LWdudWVhYmloZi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Ny b3NzLWFybXY3bC1saW51eC1nbnVlYWJpaGYvdGVtcGxhdGUKQEAgLTEsMTEgKzEsMTEgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLWFybXY3bC1saW51eC1nbnVlYWJpaGYnCiBfYmludXRp bHNfdmVyc2lvbj0yLjQxCiBfZ2NjX3ZlcnNpb249MTMuMi4wCi1fZ2xpYmNfdmVyc2lvbj0yLjM4 CitfZ2xpYmNfdmVyc2lvbj0yLjM5CiBfbGludXhfdmVyc2lvbj02LjEKIHBrZ25hbWU9Y3Jvc3Mt YXJtdjdsLWxpbnV4LWdudWVhYmloZgogdmVyc2lvbj0wLjM2Ci1yZXZpc2lvbj0xCityZXZpc2lv bj0yCiBidWlsZF9zdHlsZT12b2lkLWNyb3NzCiBjb25maWd1cmVfYXJncz0iLS13aXRoLWFyY2g9 YXJtdjctYSAtLXdpdGgtZnB1PXZmcHYzIC0td2l0aC1mbG9hdD1oYXJkIgogaG9zdG1ha2VkZXBl bmRzPSJ0ZXhpbmZvIHRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMgcGtnLWNv bmZpZyIKQEAgLTIyLDcgKzIyLDcgQEAgZGlzdGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2ds aWJjLSR7X2dsaWJjX3ZlcnNpb259LnRhci54eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRF fS9rZXJuZWwvdiR7X2xpbnV4X3ZlcnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259 LnRhci54eiIKIGNoZWNrc3VtPSJhZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMx YzAzMTc0MTkxZWYwZDAxNWJkZjA2MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVj NmI4M2Q4NjEzMTQ0MDA0YzA0MTM1Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2 NTQ2N2JjMWI2OWQxNTJlOWMzMDdkMmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3 Y2Y4MTcwYzU3MzY1YWU3YmY4NjY5NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2 CiAgMmNhMWYxNzA1MWE0MzBmNmZlZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUw MjcwM2IyNWRlYiIKIG5vY3Jvc3M9eWVzCiAKCkZyb20gNGQ0MDMzY2E0MGViN2VhMGM2YmUxMGMy NWM1YTM2NDA2Yzc4ZGNkYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8 b3JlbzYzOTFAZ21haWwuY29tPgpEYXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjMgLTA4MDAK U3ViamVjdDogW1BBVENIIDA2LzEyXSBjcm9zcy1pNjg2LXBjLWxpbnV4LWdudTogcmVidWlsZCBm b3IgZ2xpYmMgMi4zOQoKLS0tCiBzcmNwa2dzL2Nyb3NzLWk2ODYtcGMtbGludXgtZ251L3RlbXBs YXRlIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1pNjg2LXBjLWxpbnV4LWdudS90ZW1w bGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtaTY4Ni1wYy1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXggN2E4 MmMzMjhkNGE5MzUuLjMwMzIxZGFkNjcxZjBmIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLWk2 ODYtcGMtbGludXgtZ251L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtaTY4Ni1wYy1saW51 eC1nbnUvdGVtcGxhdGUKQEAgLTEsMTEgKzEsMTEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Ny b3NzLWk2ODYtcGMtbGludXgtZ251JwogX2JpbnV0aWxzX3ZlcnNpb249Mi40MQogX2djY192ZXJz aW9uPTEzLjIuMAotX2dsaWJjX3ZlcnNpb249Mi4zOAorX2dsaWJjX3ZlcnNpb249Mi4zOQogX2xp bnV4X3ZlcnNpb249Ni4xCiBwa2duYW1lPWNyb3NzLWk2ODYtcGMtbGludXgtZ251CiB2ZXJzaW9u PTAuMzYKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGhv c3RtYWtlZGVwZW5kcz0idGV4aW5mbyB0YXIgZ2NjLW9iamMgZ2NjLWdvIGZsZXggcGVybCBweXRo b24zIHBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0iaXNsLWRldmVsIGxpYm1wYy1kZXZlbCBnbXAt ZGV2ZWwgbXBmci1kZXZlbApAQCAtMjEsNyArMjEsNyBAQCBkaXN0ZmlsZXMrPSIgJHtHTlVfU0lU RX0vZ2xpYmMvZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0udGFyLnh6IgogZGlzdGZpbGVzKz0iICR7 S0VSTkVMX1NJVEV9L2tlcm5lbC92JHtfbGludXhfdmVyc2lvbiUlLip9LngvbGludXgtJHtfbGlu dXhfdmVyc2lvbn0udGFyLnh6IgogY2hlY2tzdW09ImFlOWE1Nzg5ZTIzNDU5ZTU5NjA2ZTY3MTQ3 MjNmMmQzZmZjMzFjMDMxNzQxOTFlZjBkMDE1YmRmMDYwMDc0NTAKICBlMjc1ZTc2NDQyYTYwNjcz NDFhMjdmMDRjNWM2YjgzZDg2MTMxNDQwMDRjMDQxMzUyODg2M2RjNmI1Yzc0M2RhCi0gZmI4Mjk5 ODk5OGIyYjI5OTY1NDY3YmMxYjY5ZDE1MmU5YzMwN2QyY2YzMDFjOWVhZmI0NTU1Yjc3MGVmM2Zk MgorIGY3N2JkNDdjZjgxNzBjNTczNjVhZTdiZjg2Njk2YzExOGFkYjNiMTIwZDMyNTljNjRjNTAy ZDNkYzFlMmQ5MjYKICAyY2ExZjE3MDUxYTQzMGY2ZmVkMTE5NmU0OTUyNzE3NTA3MTcxYWNmZDk3 ZDk2NTc3MjEyNTAyNzAzYjI1ZGViIgogbm9jcm9zcz15ZXMKIAoKRnJvbSAyNDliMjJlZWRkMmJj MWU1ZWNkZjdlYWI2NDRhYTAzNGY3ZDljZTZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBvcmVvNjM5IDxvcmVvNjM5MUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgNiBNYXIgMjAyNCAxODow NzoyNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMTJdIGNyb3NzLXBvd2VycGMtbGludXgtZ251 OiByZWJ1aWxkIGZvciBnbGliYyAyLjM5CgotLS0KIHNyY3BrZ3MvY3Jvc3MtcG93ZXJwYy1saW51 eC1nbnUvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygr KSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGMtbGlu dXgtZ251L3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1wb3dlcnBjLWxpbnV4LWdudS90ZW1wbGF0 ZQppbmRleCAzYTE0YTYyYmNlYzI5NS4uZWMxNzUzNDE0Y2Q1YWQgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvY3Jvc3MtcG93ZXJwYy1saW51eC1nbnUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9zcy1w b3dlcnBjLWxpbnV4LWdudS90ZW1wbGF0ZQpAQCAtMSwxMSArMSwxMSBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnY3Jvc3MtcG93ZXJwYy1saW51eC1nbnUnCiBfYmludXRpbHNfdmVyc2lvbj0yLjQx CiBfZ2NjX3ZlcnNpb249MTMuMi4wCi1fZ2xpYmNfdmVyc2lvbj0yLjM4CitfZ2xpYmNfdmVyc2lv bj0yLjM5CiBfbGludXhfdmVyc2lvbj02LjEKIHBrZ25hbWU9Y3Jvc3MtcG93ZXJwYy1saW51eC1n bnUKIHZlcnNpb249MC4zNgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9dm9p ZC1jcm9zcwogY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXNlY3VyZXBsdCAtLWRpc2FibGUtdnRh YmxlLXZlcmlmeQogIC0tZW5hYmxlLWF1dG9saW5rLWxpYmF0b21pYyIKQEAgLTIzLDcgKzIzLDcg QEAgZGlzdGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2dsaWJjLSR7X2dsaWJjX3ZlcnNpb259 LnRhci54eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRFfS9rZXJuZWwvdiR7X2xpbnV4X3Zl cnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIKIGNoZWNrc3VtPSJh ZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkxZWYwZDAxNWJkZjA2 MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEzMTQ0MDA0YzA0MTM1 Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2OWQxNTJlOWMzMDdk MmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3MzY1YWU3YmY4NjY5 NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYxNzA1MWE0MzBmNmZl ZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRlYiIKIG5vY3Jvc3M9 eWVzCiAKCkZyb20gZWZmNDZhN2Q3ZjA2ZGM5ZjQxZWYyMGFmZTdjODE0ZjQxNzk4MjJlOCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFAZ21haWwuY29tPgpE YXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjQgLTA4MDAKU3ViamVjdDogW1BBVENIIDA4LzEy XSBjcm9zcy1wb3dlcnBjNjQtbGludXgtZ251OiByZWJ1aWxkIGZvciBnbGliYyAyLjM5CgotLS0K IHNyY3BrZ3MvY3Jvc3MtcG93ZXJwYzY0LWxpbnV4LWdudS90ZW1wbGF0ZSB8IDYgKysrLS0tCiAx IGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYzY0LWxpbnV4LWdudS90ZW1wbGF0ZSBiL3NyY3BrZ3Mv Y3Jvc3MtcG93ZXJwYzY0LWxpbnV4LWdudS90ZW1wbGF0ZQppbmRleCBmNjY0ZjFkYmM3NjRhMi4u NWFiNGFjZWM0NWZkYjYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYzY0LWxpbnV4 LWdudS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NC1saW51eC1nbnUvdGVt cGxhdGUKQEAgLTEsMTEgKzEsMTEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLXBvd2Vy cGM2NC1saW51eC1nbnUnCiBfYmludXRpbHNfdmVyc2lvbj0yLjQxCiBfZ2NjX3ZlcnNpb249MTMu Mi4wCi1fZ2xpYmNfdmVyc2lvbj0yLjM4CitfZ2xpYmNfdmVyc2lvbj0yLjM5CiBfbGludXhfdmVy c2lvbj02LjEKIHBrZ25hbWU9Y3Jvc3MtcG93ZXJwYzY0LWxpbnV4LWdudQogdmVyc2lvbj0wLjM2 Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT12b2lkLWNyb3NzCiBjb25maWd1 cmVfYXJncz0iLS1lbmFibGUtc2VjdXJlcGx0IC0tZGlzYWJsZS12dGFibGUtdmVyaWZ5IC0td2l0 aC1hYmk9ZWxmdjIKICAtLWVuYWJsZS10YXJnZXRzPXBvd2VycGMtbGludXggLS1lbmFibGUtYXV0 b2xpbmstbGliYXRvbWljIgpAQCAtMjMsNyArMjMsNyBAQCBkaXN0ZmlsZXMrPSIgJHtHTlVfU0lU RX0vZ2xpYmMvZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0udGFyLnh6IgogZGlzdGZpbGVzKz0iICR7 S0VSTkVMX1NJVEV9L2tlcm5lbC92JHtfbGludXhfdmVyc2lvbiUlLip9LngvbGludXgtJHtfbGlu dXhfdmVyc2lvbn0udGFyLnh6IgogY2hlY2tzdW09ImFlOWE1Nzg5ZTIzNDU5ZTU5NjA2ZTY3MTQ3 MjNmMmQzZmZjMzFjMDMxNzQxOTFlZjBkMDE1YmRmMDYwMDc0NTAKICBlMjc1ZTc2NDQyYTYwNjcz NDFhMjdmMDRjNWM2YjgzZDg2MTMxNDQwMDRjMDQxMzUyODg2M2RjNmI1Yzc0M2RhCi0gZmI4Mjk5 ODk5OGIyYjI5OTY1NDY3YmMxYjY5ZDE1MmU5YzMwN2QyY2YzMDFjOWVhZmI0NTU1Yjc3MGVmM2Zk MgorIGY3N2JkNDdjZjgxNzBjNTczNjVhZTdiZjg2Njk2YzExOGFkYjNiMTIwZDMyNTljNjRjNTAy ZDNkYzFlMmQ5MjYKICAyY2ExZjE3MDUxYTQzMGY2ZmVkMTE5NmU0OTUyNzE3NTA3MTcxYWNmZDk3 ZDk2NTc3MjEyNTAyNzAzYjI1ZGViIgogbm9jcm9zcz15ZXMKIAoKRnJvbSBiMmEwYTEzZjU4YmMw NTExODA4NThmNmFiMDk2MjQ0YmQ0YTM5MjUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBvcmVvNjM5IDxvcmVvNjM5MUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgNiBNYXIgMjAyNCAxODow NzoyNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMTJdIGNyb3NzLXBvd2VycGM2NGxlLWxpbnV4 LWdudTogcmVidWlsZCBmb3IgZ2xpYmMgMi4zOQoKLS0tCiBzcmNwa2dzL2Nyb3NzLXBvd2VycGM2 NGxlLWxpbnV4LWdudS90ZW1wbGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3MtcG93 ZXJwYzY0bGUtbGludXgtZ251L3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1wb3dlcnBjNjRsZS1s aW51eC1nbnUvdGVtcGxhdGUKaW5kZXggZTBjYTZlOWNlMmQwMWIuLjFmZTllYmY2ZDQ3ZmI2IDEw MDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NGxlLWxpbnV4LWdudS90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NGxlLWxpbnV4LWdudS90ZW1wbGF0ZQpAQCAtMSwx MSArMSwxMSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY3Jvc3MtcG93ZXJwYzY0bGUtbGludXgt Z251JwogX2JpbnV0aWxzX3ZlcnNpb249Mi40MQogX2djY192ZXJzaW9uPTEzLjIuMAotX2dsaWJj X3ZlcnNpb249Mi4zOAorX2dsaWJjX3ZlcnNpb249Mi4zOQogX2xpbnV4X3ZlcnNpb249Ni4xCiBw a2duYW1lPWNyb3NzLXBvd2VycGM2NGxlLWxpbnV4LWdudQogdmVyc2lvbj0wLjM2Ci1yZXZpc2lv bj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT12b2lkLWNyb3NzCiBjb25maWd1cmVfYXJncz0i LS1lbmFibGUtc2VjdXJlcGx0IC0tZGlzYWJsZS12dGFibGUtdmVyaWZ5IC0td2l0aC1hYmk9ZWxm djIKICAtLWVuYWJsZS10YXJnZXRzPXBvd2VycGNsZS1saW51eCAtLWVuYWJsZS1hdXRvbGluay1s aWJhdG9taWMiCkBAIC0yMyw3ICsyMyw3IEBAIGRpc3RmaWxlcys9IiAke0dOVV9TSVRFfS9nbGli Yy9nbGliYy0ke19nbGliY192ZXJzaW9ufS50YXIueHoiCiBkaXN0ZmlsZXMrPSIgJHtLRVJORUxf U0lURX0va2VybmVsL3Yke19saW51eF92ZXJzaW9uJSUuKn0ueC9saW51eC0ke19saW51eF92ZXJz aW9ufS50YXIueHoiCiBjaGVja3N1bT0iYWU5YTU3ODllMjM0NTllNTk2MDZlNjcxNDcyM2YyZDNm ZmMzMWMwMzE3NDE5MWVmMGQwMTViZGYwNjAwNzQ1MAogIGUyNzVlNzY0NDJhNjA2NzM0MWEyN2Yw NGM1YzZiODNkODYxMzE0NDAwNGMwNDEzNTI4ODYzZGM2YjVjNzQzZGEKLSBmYjgyOTk4OTk4YjJi Mjk5NjU0NjdiYzFiNjlkMTUyZTljMzA3ZDJjZjMwMWM5ZWFmYjQ1NTViNzcwZWYzZmQyCisgZjc3 YmQ0N2NmODE3MGM1NzM2NWFlN2JmODY2OTZjMTE4YWRiM2IxMjBkMzI1OWM2NGM1MDJkM2RjMWUy ZDkyNgogIDJjYTFmMTcwNTFhNDMwZjZmZWQxMTk2ZTQ5NTI3MTc1MDcxNzFhY2ZkOTdkOTY1Nzcy MTI1MDI3MDNiMjVkZWIiCiBub2Nyb3NzPXllcwogCgpGcm9tIDI4YTE0YjY4YWQ4NmFjYWVmODM1 OGQ5ZGNjYjA3ZTEwYWM2Y2NmZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IG9yZW82 MzkgPG9yZW82MzkxQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE4OjA3OjI0IC0w ODAwClN1YmplY3Q6IFtQQVRDSCAxMC8xMl0gY3Jvc3MtcG93ZXJwY2xlLWxpbnV4LWdudTogcmVi dWlsZCBmb3IgZ2xpYmMgMi4zOQoKLS0tCiBzcmNwa2dzL2Nyb3NzLXBvd2VycGNsZS1saW51eC1n bnUvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwg MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGNsZS1saW51 eC1nbnUvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLXBvd2VycGNsZS1saW51eC1nbnUvdGVtcGxh dGUKaW5kZXggZjE4MzcwYTMwNDg3NWIuLjNhMGNkMGQ2YmI0YjRkIDEwMDY0NAotLS0gYS9zcmNw a2dzL2Nyb3NzLXBvd2VycGNsZS1saW51eC1nbnUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9z cy1wb3dlcnBjbGUtbGludXgtZ251L3RlbXBsYXRlCkBAIC0xLDExICsxLDExIEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdjcm9zcy1wb3dlcnBjbGUtbGludXgtZ251JwogX2JpbnV0aWxzX3ZlcnNp b249Mi40MQogX2djY192ZXJzaW9uPTEzLjIuMAotX2dsaWJjX3ZlcnNpb249Mi4zOAorX2dsaWJj X3ZlcnNpb249Mi4zOQogX2xpbnV4X3ZlcnNpb249Ni4xCiBwa2duYW1lPWNyb3NzLXBvd2VycGNs ZS1saW51eC1nbnUKIHZlcnNpb249MC4zNgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRf c3R5bGU9dm9pZC1jcm9zcwogY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXNlY3VyZXBsdCAtLWRp c2FibGUtdnRhYmxlLXZlcmlmeQogIC0tZW5hYmxlLWF1dG9saW5rLWxpYmF0b21pYyIKQEAgLTI0 LDcgKzI0LDcgQEAgZGlzdGZpbGVzPSIKICAke0tFUk5FTF9TSVRFfS9rZXJuZWwvdiR7X2xpbnV4 X3ZlcnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIKIGNoZWNrc3Vt PSJhZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkxZWYwZDAxNWJk ZjA2MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEzMTQ0MDA0YzA0 MTM1Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2OWQxNTJlOWMz MDdkMmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3MzY1YWU3YmY4 NjY5NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYxNzA1MWE0MzBm NmZlZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRlYiIKIG5vY3Jv c3M9eWVzCiAKCkZyb20gMjUwZTI2ODkzOTZjZjMzMDViNDg4Yjg5NjdmZTEyZGU5MmZkZmQ4YiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFAZ21haWwuY29t PgpEYXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjQgLTA4MDAKU3ViamVjdDogW1BBVENIIDEx LzEyXSBjcm9zcy1yaXNjdjY0LWxpbnV4LWdudTogcmVidWlsZCBmb3IgZ2xpYmMgMi4zOQoKLS0t CiBzcmNwa2dzL2Nyb3NzLXJpc2N2NjQtbGludXgtZ251L3RlbXBsYXRlIHwgNiArKystLS0KIDEg ZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9jcm9zcy1yaXNjdjY0LWxpbnV4LWdudS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jv c3MtcmlzY3Y2NC1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXggNjkwYjVkNjE4NDIzOTUuLjVkNTZj ZTg1M2Q5NjA2IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXJpc2N2NjQtbGludXgtZ251L3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtcmlzY3Y2NC1saW51eC1nbnUvdGVtcGxhdGUKQEAg LTEsMTEgKzEsMTEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLXJpc2N2NjQtbGludXgt Z251JwogX2JpbnV0aWxzX3ZlcnNpb249Mi40MQogX2djY192ZXJzaW9uPTEzLjIuMAotX2dsaWJj X3ZlcnNpb249Mi4zOAorX2dsaWJjX3ZlcnNpb249Mi4zOQogX2xpbnV4X3ZlcnNpb249Ni4xCiBw a2duYW1lPWNyb3NzLXJpc2N2NjQtbGludXgtZ251CiB2ZXJzaW9uPTAuMzYKLXJldmlzaW9uPTEK K3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLXdp dGgtYXJjaD1ydjY0Z2MgLS13aXRoLWFiaT1scDY0ZCAtLWVuYWJsZS1hdXRvbGluay1saWJhdG9t aWMgLS1kaXNhYmxlLW11bHRpbGliIgogaG9zdG1ha2VkZXBlbmRzPSJ0ZXhpbmZvIHRhciBnY2Mt b2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMgcGtnLWNvbmZpZyIKQEAgLTIyLDcgKzIyLDcg QEAgZGlzdGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2dsaWJjLSR7X2dsaWJjX3ZlcnNpb259 LnRhci54eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRFfS9rZXJuZWwvdiR7X2xpbnV4X3Zl cnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIKIGNoZWNrc3VtPSJh ZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkxZWYwZDAxNWJkZjA2 MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEzMTQ0MDA0YzA0MTM1 Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2OWQxNTJlOWMzMDdk MmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3MzY1YWU3YmY4NjY5 NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYxNzA1MWE0MzBmNmZl ZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRlYiIKIG5vY3Jvc3M9 eWVzCiAKCkZyb20gYmUyNzJlOGZiZTY3NWQwYTJmZDYwZDRmYzU3NjlhN2RhYTI3MzdjMSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFAZ21haWwuY29tPgpE YXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjQgLTA4MDAKU3ViamVjdDogW1BBVENIIDEyLzEy XSBjcm9zcy14ODZfNjQtbGludXgtZ251OiByZWJ1aWxkIGZvciBnbGliYyAyLjM5CgotLS0KIHNy Y3BrZ3MvY3Jvc3MteDg2XzY0LWxpbnV4LWdudS90ZW1wbGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY3Jvc3MteDg2XzY0LWxpbnV4LWdudS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MteDg2 XzY0LWxpbnV4LWdudS90ZW1wbGF0ZQppbmRleCA0ZmIzNWNiNmY3MzZjYS4uOGNjYTgzMjg5NmM0 ZDQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY3Jvc3MteDg2XzY0LWxpbnV4LWdudS90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL2Nyb3NzLXg4Nl82NC1saW51eC1nbnUvdGVtcGxhdGUKQEAgLTEsMTEgKzEs MTEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLXg4Nl82NC1saW51eC1nbnUnCiBfYmlu dXRpbHNfdmVyc2lvbj0yLjQxCiBfZ2NjX3ZlcnNpb249MTMuMi4wCi1fZ2xpYmNfdmVyc2lvbj0y LjM4CitfZ2xpYmNfdmVyc2lvbj0yLjM5CiBfbGludXhfdmVyc2lvbj02LjEKIHBrZ25hbWU9Y3Jv c3MteDg2XzY0LWxpbnV4LWdudQogdmVyc2lvbj0wLjM2Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0y CiBidWlsZF9zdHlsZT12b2lkLWNyb3NzCiBob3N0bWFrZWRlcGVuZHM9InRleGluZm8gdGFyIGdj Yy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyBwa2ctY29uZmlnIgogbWFrZWRlcGVuZHM9 ImlzbC1kZXZlbCBsaWJtcGMtZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwKQEAgLTIxLDcgKzIx LDcgQEAgZGlzdGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2dsaWJjLSR7X2dsaWJjX3ZlcnNp b259LnRhci54eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRFfS9rZXJuZWwvdiR7X2xpbnV4 X3ZlcnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIKIGNoZWNrc3Vt PSJhZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkxZWYwZDAxNWJk ZjA2MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEzMTQ0MDA0YzA0 MTM1Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2OWQxNTJlOWMz MDdkMmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3MzY1YWU3YmY4 NjY5NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYxNzA1MWE0MzBm NmZlZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRlYiIKIG5vY3Jv c3M9eWVzCiAK --===============3497753232284698448==--