From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Rex Dieter To: git-commits@fedoraproject.org Subject: [rpms/amarok] epel10.2: amarok-2.9.0 Date: Mon, 06 Jul 2026 18:32:16 GMT Message-ID: <178336273681.1.17483307764441813714.rpms-amarok-fb086649336f@fedoraproject.org> List-ID: X-Git-Repo: rpms/amarok X-Git-Branch: epel10.2 X-Git-Rev: fb086649336fe14e0783d6ff42f5383df1e5eadf QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYW1hcm9rCkJyYW5j aCA6IGVwZWwxMC4yCkNvbW1pdCA6IGZiMDg2NjQ5MzM2ZmUxNGUwNzgzZDZmZjQyZjUzODNkZjFl NWVhZGYKQXV0aG9yIDogUmV4IERpZXRlciA8cmRpZXRlckBnbWFpbC5jb20+CkRhdGUgICA6IDIw MTgtMDMtMDdUMTQ6Mzk6MjUtMDY6MDAKU3RhdHMgIDogKzgvLTE4NzkgaW4gMjcgZmlsZShzKQpV UkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2FtYXJvay9jL2ZiMDg2 NjQ5MzM2ZmUxNGUwNzgzZDZmZjQyZjUzODNkZjFlNWVhZGY/YnJhbmNoPWVwZWwxMC4yCgpMb2c6 CmFtYXJvay0yLjkuMAoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQpp bmRleCBiNjRjNzg3Li4wMzljODdjIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRp Z25vcmUKQEAgLTEsMiArMSwzIEBACiAvYW1hcm9rLTIuOC4wLnRhci5iejIKIC9hbWFyb2stMi44 LjkwLnRhci54egorL2FtYXJvay0yLjkuMC50YXIueHoKCmRpZmYgLS1naXQgYS8wMDAzLUZpeC1U YWdMaWItdmVyc2lvbi1jaGVjay5wYXRjaCBiLzAwMDMtRml4LVRhZ0xpYi12ZXJzaW9uLWNoZWNr LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NTBlODQyLi4wMDAwMDAwCi0t LSBhLzAwMDMtRml4LVRhZ0xpYi12ZXJzaW9uLWNoZWNrLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsNDMgKzAsMCBAQAotRnJvbSBmZWM4ODE3YzUzMGNlNDJiNjQ4NWZkYWJmZjYwNTE3ODRiOGQ5 OTA0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogT21hciBQbHVtbWVyIDxvbWFycGx1 bW1lckBpbWVyZ2V0ZWNobm9sb2dpZXMuY29tPgotRGF0ZTogRnJpLCA3IEF1ZyAyMDE1IDAwOjI0 OjI3ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDMvMTZdIEZpeCBUYWdMaWIgdmVyc2lvbiBjaGVj ay4KLQotVGhlIHZlcnNpb24gY2hlY2sgY29tcGFyZWQgdmVyc2lvbiBzdHJpbmdzIGxleGljb2dy YXBoaWNhbGx5LCBzbyAiMS43IgotKHRoZSBtaW4gdmVyc2lvbikgY29tcGFyZWQgYXMgZ3JlYXRl ciB0aGFuICIxLjEwLjAiLgotCi1CVUc6IDM1MTAxMwotUkVWSUVXOiAxMjQ2MzkKLS0tLQotIGNt YWtlL21vZHVsZXMvRmluZFRhZ2xpYi5jbWFrZSB8IDYgKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NtYWtlL21v ZHVsZXMvRmluZFRhZ2xpYi5jbWFrZSBiL2NtYWtlL21vZHVsZXMvRmluZFRhZ2xpYi5jbWFrZQot aW5kZXggNzZiODNhYy4uZjQ4NWE0MiAxMDA2NDQKLS0tLSBhL2NtYWtlL21vZHVsZXMvRmluZFRh Z2xpYi5jbWFrZQotKysrIGIvY21ha2UvbW9kdWxlcy9GaW5kVGFnbGliLmNtYWtlCi1AQCAtMjks MTAgKzI5LDEwIEBAIGlmKFRBR0xJQkNPTkZJR19FWEVDVVRBQkxFKQotIAotICAgZXhlY19wcm9n cmFtKCR7VEFHTElCQ09ORklHX0VYRUNVVEFCTEV9IEFSR1MgLS12ZXJzaW9uIFJFVFVSTl9WQUxV RSBfcmV0dXJuX1ZBTFVFIE9VVFBVVF9WQVJJQUJMRSBUQUdMSUJfVkVSU0lPTikKLSAKLS0gIGlm KFRBR0xJQl9WRVJTSU9OIFNUUkxFU1MgIiR7VEFHTElCX01JTl9WRVJTSU9OfSIpCi0rICBpZigi JHtUQUdMSUJfTUlOX1ZFUlNJT059IiBWRVJTSU9OX0dSRUFURVIgVEFHTElCX1ZFUlNJT04pCi0g ICAgICBtZXNzYWdlKFNUQVRVUyAiVGFnTGliIHZlcnNpb24gdG9vIG9sZDogdmVyc2lvbiBzZWFy Y2hlZCA6JHtUQUdMSUJfTUlOX1ZFUlNJT059LCBmb3VuZCAke1RBR0xJQl9WRVJTSU9OfSIpCi0g ICAgICBzZXQoVEFHTElCX0ZPVU5EIEZBTFNFKQotLSAgZWxzZShUQUdMSUJfVkVSU0lPTiBTVFJM RVNTICIke1RBR0xJQl9NSU5fVkVSU0lPTn0iKQotKyAgZWxzZSgiJHtUQUdMSUJfTUlOX1ZFUlNJ T059IiBWRVJTSU9OX0dSRUFURVIgVEFHTElCX1ZFUlNJT04pCi0gCi0gICAgICBleGVjX3Byb2dy YW0oJHtUQUdMSUJDT05GSUdfRVhFQ1VUQUJMRX0gQVJHUyAtLWxpYnMgUkVUVVJOX1ZBTFVFIF9y ZXR1cm5fVkFMVUUgT1VUUFVUX1ZBUklBQkxFIFRBR0xJQl9MSUJSQVJJRVMpCi0gCi1AQCAtNDIs NyArNDIsNyBAQCBpZihUQUdMSUJDT05GSUdfRVhFQ1VUQUJMRSkKLSAgICAgICAgIHNldChUQUdM SUJfRk9VTkQgVFJVRSkKLSAgICAgIGVuZGlmKFRBR0xJQl9MSUJSQVJJRVMgQU5EIFRBR0xJQl9D RkxBR1MpCi0gICAgICBzdHJpbmcoUkVHRVggUkVQTEFDRSAiICotSSIgIjsiIFRBR0xJQl9JTkNM VURFUyAiJHtUQUdMSUJfQ0ZMQUdTfSIpCi0tICBlbmRpZihUQUdMSUJfVkVSU0lPTiBTVFJMRVNT ICIke1RBR0xJQl9NSU5fVkVSU0lPTn0iKSAKLSsgIGVuZGlmKCIke1RBR0xJQl9NSU5fVkVSU0lP Tn0iIFZFUlNJT05fR1JFQVRFUiBUQUdMSUJfVkVSU0lPTikKLSAgIG1hcmtfYXNfYWR2YW5jZWQo VEFHTElCX0NGTEFHUyBUQUdMSUJfTElCUkFSSUVTIFRBR0xJQl9JTkNMVURFUykKLSAKLSBlbHNl KFRBR0xJQkNPTkZJR19FWEVDVVRBQkxFKQotLS0gCi0yLjcuNAotCgpkaWZmIC0tZ2l0IGEvMDAw OS1maXgtYXBwYXJlbnQtb2J2aW91cy1lcnJvci10eXBvLWluLWZpbmRfbGlicmFyeS1NWVNRLnBh dGNoIGIvMDAwOS1maXgtYXBwYXJlbnQtb2J2aW91cy1lcnJvci10eXBvLWluLWZpbmRfbGlicmFy eS1NWVNRLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNjM4MTVkLi4wMDAw MDAwCi0tLSBhLzAwMDktZml4LWFwcGFyZW50LW9idmlvdXMtZXJyb3ItdHlwby1pbi1maW5kX2xp YnJhcnktTVlTUS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gNzQ1 YjJlMThjNWI1OGNmYWJjYmY2ZTc4NjM1NzIxMjJkNjczNjkyZSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IFJleCBEaWV0ZXIgPHJkaWV0ZXJAbWF0aC51bmwuZWR1PgotRGF0ZTogRnJp LCAxMSBEZWMgMjAxNSAwNzoxMjowOSAtMDYwMAotU3ViamVjdDogW1BBVENIIDA5LzE2XSBmaXgg YXBwYXJlbnQvb2J2aW91cyBlcnJvciAodHlwbz8pIGluCi0gZmluZF9saWJyYXJ5KE1ZU1FMX0xJ QlJBUklFUy4uLgotCi0tLS0KLSBjbWFrZS9tb2R1bGVzL0ZpbmRNeVNRTEFtYXJvay5jbWFrZSB8 IDE4ICsrKysrKysrKy0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyks IDkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jbWFrZS9tb2R1bGVzL0ZpbmRNeVNRTEFt YXJvay5jbWFrZSBiL2NtYWtlL21vZHVsZXMvRmluZE15U1FMQW1hcm9rLmNtYWtlCi1pbmRleCBk ZmZjZTMxLi4yNzUwMDVjIDEwMDY0NAotLS0tIGEvY21ha2UvbW9kdWxlcy9GaW5kTXlTUUxBbWFy b2suY21ha2UKLSsrKyBiL2NtYWtlL21vZHVsZXMvRmluZE15U1FMQW1hcm9rLmNtYWtlCi1AQCAt NjMsMTUgKzYzLDE1IEBAIGVsc2UoTVlTUUxDT05GSUdfRVhFQ1VUQUJMRSkKLSAgICAgICBQQVRI UwotICAgICAgICAgfi91c3IvbGliL215c3FsCi0gICAgICAgICAvb3B0L215c3FsL215c3FsL2xp YiAKLS0gICAgICAgIHVzci9teXNxbC9saWIvbXlzcWwKLS0gICAgICAgIG9wdC9sb2NhbC9saWIv bXlzcWw1L215c3FsCi0tICAgICAgICBvcHQvbXlzcWxlL2xpYi9teXNxbAotLSAgICAgICAgdXNy L2xpYi9teXNxbAotLSAgICAgICAgdXNyL2xpYjY0L215c3FsCi0tICAgICAgICB1c3IvbGliNjQK LS0gICAgICAgIHVzci9sb2NhbC9saWIvbXlzcWwKLS0gICAgICAgIG9wdC9sb2NhbC9saWIvbXlz cWwKLS0gICAgICAgIG9wdC9wb3J0cy9saWIvbXlzcWw1L215c3FsCi0rICAgICAgICAvdXNyL215 c3FsL2xpYi9teXNxbAotKyAgICAgICAgL29wdC9sb2NhbC9saWIvbXlzcWw1L215c3FsCi0rICAg ICAgICAvb3B0L215c3FsZS9saWIvbXlzcWwKLSsgICAgICAgIC91c3IvbGliL215c3FsCi0rICAg ICAgICAvdXNyL2xpYjY0L215c3FsCi0rICAgICAgICAvdXNyL2xpYjY0Ci0rICAgICAgICAvdXNy L2xvY2FsL2xpYi9teXNxbAotKyAgICAgICAgL29wdC9sb2NhbC9saWIvbXlzcWwKLSsgICAgICAg IC9vcHQvcG9ydHMvbGliL215c3FsNS9teXNxbAotICAgICApCi0gCi0gICAgIGZpbmRfbGlicmFy eShNWVNRTF9FTUJFRERFRF9MSUJSQVJJRVMgTkFNRVMgbXlzcWxkX3BpYyBteXNxbGQgbGlibXlz cWxkCi0tLSAKLTIuNy40Ci0KCmRpZmYgLS1naXQgYS8wMDEwLUZpeC10YWJzLWFwcGxldC5wYXRj aCBiLzAwMTAtRml4LXRhYnMtYXBwbGV0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBkNTRlMzBkLi4wMDAwMDAwCi0tLSBhLzAwMTAtRml4LXRhYnMtYXBwbGV0LnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotRnJvbSBlMDE3ZTdjNTAxZDQ5NjZkOTI2NTNl NDg0NWE0ZjVjMzQ4NTQ3YjgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTXlyaWFt IFNjaHdlaW5ncnViZXIgPG15cmlhbUBrZGUub3JnPgotRGF0ZTogU3VuLCAyNCBKYW4gMjAxNiAx Mzo1ODoyNCArMDEwMAotU3ViamVjdDogW1BBVENIIDEwLzE2XSBGaXggdGFicyBhcHBsZXQgQ2hh bmdlIHRvIGh0dHBzIHRvIGFsbG93IGZldGNoaW5nCi0gZ3VpdGFyIHRhYnMgYWdhaW4KLQotQlVH OiAzNTg0MDgKLUZJWEVELUlOOiAyLjkKLS0tLQotIHNyYy9jb250ZXh0L2VuZ2luZXMvdGFicy9U YWJzRW5naW5lLmNwcCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jb250ZXh0L2VuZ2luZXMvdGFicy9UYWJz RW5naW5lLmNwcCBiL3NyYy9jb250ZXh0L2VuZ2luZXMvdGFicy9UYWJzRW5naW5lLmNwcAotaW5k ZXggMjRhODlkZi4uOWE2ZjA0NyAxMDA2NDQKLS0tLSBhL3NyYy9jb250ZXh0L2VuZ2luZXMvdGFi cy9UYWJzRW5naW5lLmNwcAotKysrIGIvc3JjL2NvbnRleHQvZW5naW5lcy90YWJzL1RhYnNFbmdp bmUuY3BwCi1AQCAtMjQ0LDcgKzI0NCw3IEBAIFRhYnNFbmdpbmU6OnF1ZXJ5VWx0aW1hdGVHdWl0 YXIoIGNvbnN0IFFTdHJpbmcgJmFydGlzdCwgY29uc3QgUVN0cmluZyAmdGl0bGUgKQotIHsKLSAg ICAgLy8gUXVlcnkgVWx0aW1hdGVHdWl0YXIuY29tIChmaWx0ZXJpbmcgZ3VpdGFyICh0YWJzICsg Y2hvcmRzKSBhbmQgYmFzcyB0YWJzKQotICAgICBLVXJsIHVsdGltYXRlR3VpdGFyVXJsOwotLSAg ICB1bHRpbWF0ZUd1aXRhclVybC5zZXRTY2hlbWUoICJodHRwIiApOwotKyAgICB1bHRpbWF0ZUd1 aXRhclVybC5zZXRTY2hlbWUoICJodHRwcyI7Ci0gICAgIHVsdGltYXRlR3VpdGFyVXJsLnNldEhv c3QoICJ3d3cudWx0aW1hdGUtZ3VpdGFyLmNvbSIgKTsKLSAgICAgdWx0aW1hdGVHdWl0YXJVcmwu c2V0UGF0aCggIi9zZWFyY2gucGhwIiApOwotICAgICB1bHRpbWF0ZUd1aXRhclVybC5hZGRRdWVy eUl0ZW0oICJ2aWV3X3N0YXRlIiwgImFkdmFuY2VkIiApOwotLS0gCi0yLjcuNAotCgpkaWZmIC0t Z2l0IGEvMDAxMi10YWJzLWFwcGxldC1BZGQtbWlzc2luZy10by1maXgtdGhlLWJ1aWxkLnBhdGNo IGIvMDAxMi10YWJzLWFwcGxldC1BZGQtbWlzc2luZy10by1maXgtdGhlLWJ1aWxkLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOWVjZDNiLi4wMDAwMDAwCi0tLSBhLzAwMTIt dGFicy1hcHBsZXQtQWRkLW1pc3NpbmctdG8tZml4LXRoZS1idWlsZC5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDI1ICswLDAgQEAKLUZyb20gZjZlYzMwOThjZGU5NWVlYjVmZTRiYjk2NWNlYmQ0 ZTc3M2IxMjg0MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhlaWtvIEJlY2tlciA8 aGVpcmVja2FAZXhoZXJiby5vcmc+Ci1EYXRlOiBUdWUsIDI2IEphbiAyMDE2IDE1OjA1OjA2ICsw MTAwCi1TdWJqZWN0OiBbUEFUQ0ggMTIvMTZdIFt0YWJzIGFwcGxldF0gQWRkIG1pc3NpbmcgJykn IHRvIGZpeCB0aGUgYnVpbGQKLQotLS0tCi0gc3JjL2NvbnRleHQvZW5naW5lcy90YWJzL1RhYnNF bmdpbmUuY3BwIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbnRleHQvZW5naW5lcy90YWJzL1RhYnNFbmdp bmUuY3BwIGIvc3JjL2NvbnRleHQvZW5naW5lcy90YWJzL1RhYnNFbmdpbmUuY3BwCi1pbmRleCA5 YTZmMDQ3Li42YzA1MDRjIDEwMDY0NAotLS0tIGEvc3JjL2NvbnRleHQvZW5naW5lcy90YWJzL1Rh YnNFbmdpbmUuY3BwCi0rKysgYi9zcmMvY29udGV4dC9lbmdpbmVzL3RhYnMvVGFic0VuZ2luZS5j cHAKLUBAIC0yNDQsNyArMjQ0LDcgQEAgVGFic0VuZ2luZTo6cXVlcnlVbHRpbWF0ZUd1aXRhcigg Y29uc3QgUVN0cmluZyAmYXJ0aXN0LCBjb25zdCBRU3RyaW5nICZ0aXRsZSApCi0gewotICAgICAv LyBRdWVyeSBVbHRpbWF0ZUd1aXRhci5jb20gKGZpbHRlcmluZyBndWl0YXIgKHRhYnMgKyBjaG9y ZHMpIGFuZCBiYXNzIHRhYnMpCi0gICAgIEtVcmwgdWx0aW1hdGVHdWl0YXJVcmw7Ci0tICAgIHVs dGltYXRlR3VpdGFyVXJsLnNldFNjaGVtZSggImh0dHBzIjsKLSsgICAgdWx0aW1hdGVHdWl0YXJV cmwuc2V0U2NoZW1lKCAiaHR0cHMiICk7Ci0gICAgIHVsdGltYXRlR3VpdGFyVXJsLnNldEhvc3Qo ICJ3d3cudWx0aW1hdGUtZ3VpdGFyLmNvbSIgKTsKLSAgICAgdWx0aW1hdGVHdWl0YXJVcmwuc2V0 UGF0aCggIi9zZWFyY2gucGhwIiApOwotICAgICB1bHRpbWF0ZUd1aXRhclVybC5hZGRRdWVyeUl0 ZW0oICJ2aWV3X3N0YXRlIiwgImFkdmFuY2VkIiApOwotLS0gCi0yLjcuNAotCgpkaWZmIC0tZ2l0 IGEvMDAxMy1GaXgtZm9yLXRoZS1pbmZpbml0ZS1sb29wLWluLWNhc2UtYS1ob21lLWJ1cm5lZC1v ci1vLnBhdGNoIGIvMDAxMy1GaXgtZm9yLXRoZS1pbmZpbml0ZS1sb29wLWluLWNhc2UtYS1ob21l LWJ1cm5lZC1vci1vLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwN2E0NDZh Li4wMDAwMDAwCi0tLSBhLzAwMTMtRml4LWZvci10aGUtaW5maW5pdGUtbG9vcC1pbi1jYXNlLWEt aG9tZS1idXJuZWQtb3Itby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEzMSArMCwwIEBACi1G cm9tIGFhZmYzMzQ4ODYyYTE5OTkwNjlmZWZmOTNkOWUxZTRkOTk1YjcyMjUgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBTdGVmYW5vIFBldHRpbmkgPHN0ZWZhbm8ucGV0dGluaUBnbWFp bC5jb20+Ci1EYXRlOiBGcmksIDI1IE1hciAyMDE2IDEwOjE1OjE4ICswMTAwCi1TdWJqZWN0OiBb UEFUQ0ggMTMvMTZdIEZpeCBmb3IgdGhlIGluZmluaXRlIGxvb3AgaW4gY2FzZSBhIGhvbWUtYnVy bmVkIG9yIG9sZAotIGF1ZGlvIENEIGlzIGluc2VydGVkCi0KLUhvbWUtYnVybmVkIG9yIG9sZCBh dWRpbyBDRHMgdXN1YWxseSBkb24ndCBoYXZlIENEVEVYVCwgdGhhdCBpcyB3aGF0Ci13YXMgdHJp Z2dlcmluZyB0aGUgYnVnLiBUaGUgYnVnIHdhcyByZWxldGVkIHRvIHBvb3IgbWFuYWdlbWVudCBv ZgotdHJhY2sgbmFtZXMsIHRoYXQgYXJlIGdlbmVyYXRlZCB1c2luZyB0aGUgcGF0dGVybiAiVHJh Y2slMS53YXYiLiBUaGUKLWF1ZGlvY2Q6LyBLSU8gcHJvdG9jb2wgcmVxdWlyZXMgdGhhdCBhIGRl dmljZSBpcyBhbHNvIGFkZGVkIHRvIHRoZQotVVJMLCBhbmQgdGhpcyB3YXMgbm90IGRvbmUgZXZl cnl3aGVyZS4gTGFjayBvZiBkZXZpY2Ugd2FzIHRyaWdnZXJpbmcKLWFuIHVuZXhwZWN0ZWQvc3Ry YW5nZSBiZWhhdmlvdXIgaW4gc29tZSBLREUgZnVuY3Rpb24gbWFraW5nIEFtYXJvawotZW50ZXIg YW4gaW5maW5pdGUgbG9vcC4KLQotUkVWSUVXOiAxMjc0NjgKLUJVRzogMzM5MTkwCi0tLS0KLSAu Li4vY29sbGVjdGlvbnMvYXVkaW9jZC9BdWRpb0NkQ29sbGVjdGlvbi5jcHAgICAgICB8IDQ5ICsr KysrKysrKysrKysrKystLS0tLS0KLSAuLi4vY29sbGVjdGlvbnMvYXVkaW9jZC9BdWRpb0NkQ29s bGVjdGlvbi5oICAgICAgICB8ICA3ICsrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDQ0IGluc2VydGlv bnMoKyksIDEyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NvcmUtaW1wbC9jb2xs ZWN0aW9ucy9hdWRpb2NkL0F1ZGlvQ2RDb2xsZWN0aW9uLmNwcCBiL3NyYy9jb3JlLWltcGwvY29s bGVjdGlvbnMvYXVkaW9jZC9BdWRpb0NkQ29sbGVjdGlvbi5jcHAKLWluZGV4IDNkZmE3YzMuLjNh ZjZlMzYgMTAwNjQ0Ci0tLS0gYS9zcmMvY29yZS1pbXBsL2NvbGxlY3Rpb25zL2F1ZGlvY2QvQXVk aW9DZENvbGxlY3Rpb24uY3BwCi0rKysgYi9zcmMvY29yZS1pbXBsL2NvbGxlY3Rpb25zL2F1ZGlv Y2QvQXVkaW9DZENvbGxlY3Rpb24uY3BwCi1AQCAtOTEsNyArOTEsOSBAQCBLVXJsCi0gQXVkaW9D ZENvbGxlY3Rpb246OmF1ZGlvY2RVcmwoIGNvbnN0IFFTdHJpbmcgJnBhdGggKSBjb25zdAotIHsK LSAgICAgS1VybCB1cmwoImF1ZGlvY2Q6LyIpOwotLSAgICB1cmwuYWRkUGF0aCggcGF0aCApOwot KwotKyAgICBpZiggIXBhdGguaXNFbXB0eSgpICkKLSsgICAgICAgIHVybC5hZGRQYXRoKCBwYXRo ICk7Ci0gCi0gICAgIGlmKCAhbV9kZXZpY2UuaXNFbXB0eSgpICkKLSAgICAgICAgIHVybC5hZGRR dWVyeUl0ZW0oICJkZXZpY2UiLCBtX2RldmljZSApOwotQEAgLTM0NiwxMCArMzQ4LDMyIEBAIEF1 ZGlvQ2RDb2xsZWN0aW9uOjpjaGVja0ZvclN0YXJ0UGxheVJlcXVlc3QoKQotICAgICB9Ci0gfQot IAotKwotK1FTdHJpbmcKLStBdWRpb0NkQ29sbGVjdGlvbjo6dHJhY2tCYXNlRmlsZU5hbWUoIGlu dCBpICkgY29uc3QKLSt7Ci0rICAgIHJldHVybiBRU3RyaW5nKCAiVHJhY2slMSIgKS5hcmcoIGks IDIsIDEwLCBRQ2hhcignMCcpICk7Ci0rfQotKwotKwotK1FTdHJpbmcKLStBdWRpb0NkQ29sbGVj dGlvbjo6dHJhY2tXYXZGaWxlTmFtZSggaW50IGkgKSBjb25zdAotK3sKLSsgICAgcmV0dXJuIHRy YWNrQmFzZUZpbGVOYW1lKCBpICkgKyAiLndhdiI7Ci0rfQotKwotKwotK1FTdHJpbmcKLStBdWRp b0NkQ29sbGVjdGlvbjo6dHJhY2tEaXNwbGF5TmFtZSggaW50IGkgKSBjb25zdAotK3sKLSsgICAg cmV0dXJuIGkxOG4oICJUcmFjayIgKSArICcgJyArIFFTdHJpbmc6Om51bWJlciggaSApOwotK30K LSsKLSsKLSBxaW50NjQKLS1BdWRpb0NkQ29sbGVjdGlvbjo6dHJhY2tMZW5ndGgoaW50IGkpIGNv bnN0Ci0rQXVkaW9DZENvbGxlY3Rpb246OnRyYWNrTGVuZ3RoKCBpbnQgaSApIGNvbnN0Ci0gewot LSAgICBLVXJsIGtpb1VybCA9IGF1ZGlvY2RVcmwoIFFTdHJpbmcoIlRyYWNrJTEud2F2IikuYXJn KGksIDIsIDEwLCBRQ2hhcignMCcpICkgKTsKLSsgICAgS1VybCBraW9VcmwgPSBhdWRpb2NkVXJs KCB0cmFja1dhdkZpbGVOYW1lKCBpICkgKTsKLSAgICAgS0lPOjpVRFNFbnRyeSB1ZHM7Ci0gICAg IGlmICggS0lPOjpOZXRBY2Nlc3M6OnN0YXQoa2lvVXJsLCB1ZHMsIE5VTEwpICkKLSAgICAgewot QEAgLTQ4MCwxOSArNTA0LDIxIEBAIEF1ZGlvQ2RDb2xsZWN0aW9uOjpub0luZm9BdmFpbGFibGUo KQotIAotIAotICAgICBpbnQgaSA9IDE7Ci0tICAgIFFTdHJpbmcgcHJlZml4KCAiMCIgKTsKLS0g ICAgUVN0cmluZyB0cmFja05hbWUgPSAiVHJhY2sgIiArIHByZWZpeCArIFFTdHJpbmc6Om51bWJl ciggaSApOwotKyAgICBRU3RyaW5nIHRyYWNrV2F2ID0gdHJhY2tXYXZGaWxlTmFtZSggaSApOwot IAotLSAgICB3aGlsZSggS0lPOjpOZXRBY2Nlc3M6OmV4aXN0cyggUVN0cmluZyggImF1ZGlvY2Q6 LyIgKyB0cmFja05hbWUgKyAiLndhdiIgKSwgS0lPOjpOZXRBY2Nlc3M6OlNvdXJjZVNpZGUsIDAg KSApCi0rICAgIC8vIFRoaXMgd2lsbCBmaW5kIGFsc28gZGF0YSB0cmFja3Mgb24gbWl4ZWQgQ0Rz OgotKyAgICAvLyBhIGJldHRlciB3YXkgdG8gZGlzY292ZXIgdGhlIGF2YWlsYWJsZSBhdWRpbyB0 cmFja3Mgc2hvdWxkIGJlIGZvdW5kCi0rICAgIHdoaWxlKCBLSU86Ok5ldEFjY2Vzczo6ZXhpc3Rz KCBhdWRpb2NkVXJsKCB0cmFja1dhdiApLCBLSU86Ok5ldEFjY2Vzczo6U291cmNlU2lkZSwgMCAp ICkKLSAgICAgewotLSAgICAgICAgZGVidWcoKSA8PCAiZ290IHRyYWNrOiAiIDw8ICJhdWRpb2Nk Oi8iICsgdHJhY2tOYW1lICsgIi53YXYiOwotKyAgICAgICAgZGVidWcoKSA8PCAiZ290IHRyYWNr IHVybDogIiA8PCBhdWRpb2NkVXJsKCB0cmFja1dhdiApOwotIAotLSAgICAgICAgUVN0cmluZyBi YXNlVXJsID0gImF1ZGlvY2Q6LyIgKyBtX2Rpc2NDZGRiSWQgKyAnLycgKyBRU3RyaW5nOjpudW1i ZXIoIGkgKTsKLSsgICAgICAgIC8vd2UgaGFjayB0aGUgdXJsIHNvIHRoZSBlbmdpbmUgY29udHJv bGxlciBrbm93cyB3aGF0IHRyYWNrIG9uIHRoZSBDRCB0byBwbGF5Li4KLSsgICAgICAgIEtVcmwg YmFzZVVybCA9IGF1ZGlvY2RVcmwoIG1fZGlzY0NkZGJJZCArICcvJyArIFFTdHJpbmc6Om51bWJl ciggaSApICk7Ci0gCi0tICAgICAgICBNZXRhOjpBdWRpb0NkVHJhY2tQdHIgdHJhY2tQdHIgPSBN ZXRhOjpBdWRpb0NkVHJhY2tQdHIoIG5ldyBNZXRhOjpBdWRpb0NkVHJhY2soIHRoaXMsIHRyYWNr TmFtZSwgYmFzZVVybCApICk7Ci0rICAgICAgICBNZXRhOjpBdWRpb0NkVHJhY2tQdHIgdHJhY2tQ dHIgPSBNZXRhOjpBdWRpb0NkVHJhY2tQdHIoIG5ldyBNZXRhOjpBdWRpb0NkVHJhY2soIHRoaXMs IHRyYWNrRGlzcGxheU5hbWUoIGkgKSwgYmFzZVVybCApICk7Ci0gCi0gICAgICAgICB0cmFja1B0 ci0+c2V0VHJhY2tOdW1iZXIoIGkgKTsKLS0gICAgICAgIHRyYWNrUHRyLT5zZXRGaWxlTmFtZUJh c2UoIHRyYWNrTmFtZSApOwotKyAgICAgICAgdHJhY2tQdHItPnNldEZpbGVOYW1lQmFzZSggdHJh Y2tCYXNlRmlsZU5hbWUoIGkgKSApOwotICAgICAgICAgdHJhY2tQdHItPnNldExlbmd0aCggdHJh Y2tMZW5ndGgoIGkgKSApOwotIAotICAgICAgICAgbWVtb3J5Q29sbGVjdGlvbigpLT5hZGRUcmFj ayggTWV0YTo6VHJhY2tQdHI6OnN0YXRpY0Nhc3QoIHRyYWNrUHRyICkgKTsKLUBAIC01MTMsOCAr NTM5LDcgQEAgQXVkaW9DZENvbGxlY3Rpb246Om5vSW5mb0F2YWlsYWJsZSgpCi0gICAgICAgICB0 cmFja1B0ci0+c2V0WWVhciggeWVhclB0ciApOwotIAotICAgICAgICAgaSsrOwotLSAgICAgICAg cHJlZml4ID0gaSA8IDEwID8gIjAiIDogIiI7Ci0tICAgICAgICB0cmFja05hbWUgPSAiVHJhY2sg IiArIHByZWZpeCArIFFTdHJpbmc6Om51bWJlciggaSApOwotKyAgICAgICAgdHJhY2tXYXYgPSB0 cmFja1dhdkZpbGVOYW1lKCBpICk7Ci0gICAgIH0KLSAKLSAgICAgdXBkYXRlUHJveHlUcmFja3Mo KTsKLWRpZmYgLS1naXQgYS9zcmMvY29yZS1pbXBsL2NvbGxlY3Rpb25zL2F1ZGlvY2QvQXVkaW9D ZENvbGxlY3Rpb24uaCBiL3NyYy9jb3JlLWltcGwvY29sbGVjdGlvbnMvYXVkaW9jZC9BdWRpb0Nk Q29sbGVjdGlvbi5oCi1pbmRleCBkYzJjYWQ3Li5lODI5MzY4IDEwMDY0NAotLS0tIGEvc3JjL2Nv cmUtaW1wbC9jb2xsZWN0aW9ucy9hdWRpb2NkL0F1ZGlvQ2RDb2xsZWN0aW9uLmgKLSsrKyBiL3Ny Yy9jb3JlLWltcGwvY29sbGVjdGlvbnMvYXVkaW9jZC9BdWRpb0NkQ29sbGVjdGlvbi5oCi1AQCAt MTAzLDYgKzEwMywxMyBAQCBwcml2YXRlOgotIAotICAgICAvLyBIZWxwZXIgZnVuY3Rpb24gdG8g YnVpbGQgdGhlIGF1ZGlvY2QgdXJsLgotICAgICBLVXJsIGF1ZGlvY2RVcmwoIGNvbnN0IFFTdHJp bmcgJnBhdGggPSAiIiApIGNvbnN0OwotKyAgICAvLyBUaGUgZmlsZSBuYW1lIG9mIHRoZSB0cmFj ayB3aXRob3V0IGV4dGVuc2lvbgotKyAgICBRU3RyaW5nIHRyYWNrQmFzZUZpbGVOYW1lKCBpbnQg aSApIGNvbnN0OwotKyAgICAvLyBUaGUgZmlsZSBuYW1lIG9mIHRoZSB0cmFjayBpbiAud2F2IGZv cm1hdAotKyAgICBRU3RyaW5nIHRyYWNrV2F2RmlsZU5hbWUoIGludCBpICkgY29uc3Q7Ci0rICAg IC8vIFRoZSBuYW1lIG9mIHRoZSB0cmFjayB0aGF0IHNob3VsZCBiZSBkaXNwbGF5ZWQKLSsgICAg UVN0cmluZyB0cmFja0Rpc3BsYXlOYW1lKCBpbnQgaSApIGNvbnN0OwotKyAgICAvLyBUaGUgbGVu Z3RoIG9mIHRoZSB0cmFjayBpbiBtaWxsaXNlY29uZHMKLSAgICAgcWludDY0IHRyYWNrTGVuZ3Ro KCBpbnQgaSApIGNvbnN0OwotIAotICAgICAvKioKLS0tIAotMi43LjQKLQoKZGlmZiAtLWdpdCBh LzAwMTQtT25seS1saW5rLXdpdGgtTVlTUUxfRU1CRURERURfTElCUkFSSUVTLWlmLVdJVEhfTVlT US5wYXRjaCBiLzAwMTQtT25seS1saW5rLXdpdGgtTVlTUUxfRU1CRURERURfTElCUkFSSUVTLWlm LVdJVEhfTVlTUS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjJlMzkyMS4u MDAwMDAwMAotLS0gYS8wMDE0LU9ubHktbGluay13aXRoLU1ZU1FMX0VNQkVEREVEX0xJQlJBUklF Uy1pZi1XSVRIX01ZU1EucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1Gcm9t IDA0OGNhM2Q1NzIyODc1OWYwNWFmN2I5NTUzMjAwZmQzNjJhZWFhOGIgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBNYXR0IFdoaXRsb2NrIDxrZGVAbWF0dHdoaXRsb2NrLm5hbWU+Ci1E YXRlOiBUdWUsIDI5IE1hciAyMDE2IDEyOjIyOjQxIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTQv MTZdIE9ubHkgbGluayB3aXRoIE1ZU1FMX0VNQkVEREVEX0xJQlJBUklFUyBpZgotIFdJVEhfTVlT UUxfRU1CRURERUQKLQotUkVWSUVXOiAxMjc1MjMKLS0tLQotIHNyYy9jb3JlLWltcGwvY29sbGVj dGlvbnMvZGIvc3FsL215c3FsY29sbGVjdGlvbi9DTWFrZUxpc3RzLnR4dCB8IDUgKysrKy0KLSAx IGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1n aXQgYS9zcmMvY29yZS1pbXBsL2NvbGxlY3Rpb25zL2RiL3NxbC9teXNxbGNvbGxlY3Rpb24vQ01h a2VMaXN0cy50eHQgYi9zcmMvY29yZS1pbXBsL2NvbGxlY3Rpb25zL2RiL3NxbC9teXNxbGNvbGxl Y3Rpb24vQ01ha2VMaXN0cy50eHQKLWluZGV4IDI0NGNkZTEuLjRjNjE4ZmMgMTAwNjQ0Ci0tLS0g YS9zcmMvY29yZS1pbXBsL2NvbGxlY3Rpb25zL2RiL3NxbC9teXNxbGNvbGxlY3Rpb24vQ01ha2VM aXN0cy50eHQKLSsrKyBiL3NyYy9jb3JlLWltcGwvY29sbGVjdGlvbnMvZGIvc3FsL215c3FsY29s bGVjdGlvbi9DTWFrZUxpc3RzLnR4dAotQEAgLTIxLDExICsyMSwxNCBAQCB0YXJnZXRfbGlua19s aWJyYXJpZXMoYW1hcm9rX2NvbGxlY3Rpb24tbXlzcWxjb2xsZWN0aW9uCi0gICAgICR7S0RFNF9L REVDT1JFX0xJQlN9Ci0gICAgICR7UVRfUVRDT1JFX0xJQlJBUll9Ci0gICAgICR7UVRfUVRHVUlf TElCUkFSWX0KLS0gICAgJHtNWVNRTF9FTUJFRERFRF9MSUJSQVJJRVN9Ci0gICAgICR7Q01BS0Vf RExfTElCU30KLSAgICAgJHtaTElCX0xJQlJBUklFU30KLSApCi0gCi0raWYoV0lUSF9NWVNRTF9F TUJFRERFRCkKLSsgICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKCBhbWFyb2tfY29sbGVjdGlvbi1t eXNxbGNvbGxlY3Rpb24gJHtNWVNRTF9FTUJFRERFRF9MSUJSQVJJRVN9ICkKLStlbmRpZihXSVRI X01ZU1FMX0VNQkVEREVEKQotKwotIGlmKE5PVCBXSU4zMiBBTkQgTk9UIEFQUExFKQotICAgICB0 YXJnZXRfbGlua19saWJyYXJpZXMoIGFtYXJva19jb2xsZWN0aW9uLW15c3FsY29sbGVjdGlvbiBj cnlwdCBwdGhyZWFkICkKLSBlbmRpZihOT1QgV0lOMzIgQU5EIE5PVCBBUFBMRSkKLS0tIAotMi43 LjQKLQoKZGlmZiAtLWdpdCBhLzAwMTUtRml4LWEtY3Jhc2gtaW4tYW1hcm9rLXdoZW4tb3Blbmlu Zy10aGUtU2NyaXB0LUNvbnNvbC5wYXRjaCBiLzAwMTUtRml4LWEtY3Jhc2gtaW4tYW1hcm9rLXdo ZW4tb3BlbmluZy10aGUtU2NyaXB0LUNvbnNvbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggZmU4NDU2NS4uMDAwMDAwMAotLS0gYS8wMDE1LUZpeC1hLWNyYXNoLWluLWFtYXJv ay13aGVuLW9wZW5pbmctdGhlLVNjcmlwdC1Db25zb2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSwzMyArMCwwIEBACi1Gcm9tIDI5MDBmZTQ3YWRkZTEwOTk5YTZjMGY5MDdkNzNiMDBhMWMxYmQ1 YjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNeXJpYW0gU2Nod2VpbmdydWJlciA8 bXlyaWFtQGtkZS5vcmc+Ci1EYXRlOiBXZWQsIDE4IE1heSAyMDE2IDIxOjU5OjE3ICswMjAwCi1T dWJqZWN0OiBbUEFUQ0ggMTUvMTZdIEZpeCBhIGNyYXNoIGluIGFtYXJvayB3aGVuIG9wZW5pbmcg dGhlIFNjcmlwdCBDb25zb2xlCi0KLVRoZSBzY3JpcHQgY29uc29sZSB0cmllcyB0byB3cml0ZSB0 byBhIHN5c3RlbSBmb2xkZXIgaW5zdGVhZCBvZiBhIHVzZXIKLSBmb2xkZXIuIE5vdGUgdG8gZGV2 czogYWx3YXlzIG1ha2Ugc3VyZSB0byB0ZXN0IGEgc3lzdGVtIGluc3RhbGxhdGlvbiwKLSBub3Qg anVzdCBhIGxvY2FsIGJ1aWxkLgotCi1UaGFua3MgdG8gSm9oYW5uZXMgSHViZXIgZm9yIHRoZSBx dWljayBmaXggc3VnZ2VzdGlvbi4KLQotQlVHOiAzNjMxNzYKLUZJWEVELUlOOiAyLjkKLS0tLQot IHNyYy9zY3JpcHRpbmcvc2NyaXB0Y29uc29sZS9TY3JpcHRDb25zb2xlLmNwcCB8IDIgKy0KLSAx IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdp dCBhL3NyYy9zY3JpcHRpbmcvc2NyaXB0Y29uc29sZS9TY3JpcHRDb25zb2xlLmNwcCBiL3NyYy9z Y3JpcHRpbmcvc2NyaXB0Y29uc29sZS9TY3JpcHRDb25zb2xlLmNwcAotaW5kZXggNmVkZDlhMi4u ZTRlMGZhYiAxMDA2NDQKLS0tLSBhL3NyYy9zY3JpcHRpbmcvc2NyaXB0Y29uc29sZS9TY3JpcHRD b25zb2xlLmNwcAotKysrIGIvc3JjL3NjcmlwdGluZy9zY3JpcHRjb25zb2xlL1NjcmlwdENvbnNv bGUuY3BwCi1AQCAtMTYxLDcgKzE2MSw3IEBAIFNjcmlwdENvbnNvbGU6OlNjcmlwdENvbnNvbGUo IFFXaWRnZXQgKnBhcmVudCApCi0gICAgIHNldHRpbmdzLmVuZEdyb3VwKCk7Ci0gCi0gICAgIGlm KCBtX3NhdmVQYXRoLmlzRW1wdHkoKSApCi0tICAgICAgICBtX3NhdmVQYXRoID0gS1VybCggS1N0 YW5kYXJkRGlyczo6bG9jYXRlKCAiZGF0YSIsICJhbWFyb2svc2NyaXB0Y29uc29sZS8iICkgKS5w YXRoKCk7Ci0rICAgICAgICBtX3NhdmVQYXRoID0gS1VybCggS1N0YW5kYXJkRGlyczo6bG9jYXRl TG9jYWwoICJkYXRhIiwgImFtYXJvay9zY3JpcHRjb25zb2xlLyIgKSApLnBhdGgoKTsKLSAKLSAg ICAgc2xvdE5ld1NjcmlwdCgpOwotICAgICBjb25uZWN0KCBtX2RlYnVnZ2VyLCBTSUdOQUwoZXZh bHVhdGlvblN1c3BlbmRlZCgpKSwgU0xPVChzbG90RXZhbHVhdGlvblN1c3BlbmRlZCgpKSApOwot LS0gCi0yLjcuNAotCgpkaWZmIC0tZ2l0IGEvMDAxNi1GaXgtdW50cmFuc2xhdGFibGUtc3RyaW5n LnBhdGNoIGIvMDAxNi1GaXgtdW50cmFuc2xhdGFibGUtc3RyaW5nLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA2NmFiYzU4Li4wMDAwMDAwCi0tLSBhLzAwMTYtRml4LXVudHJh bnNsYXRhYmxlLXN0cmluZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZy b20gYTVkZjI4N2JiODU1ZTNjYzM1NTVkYmM5ZDVjOTcxMDIxNDgyZGFjNSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IE15cmlhbSBTY2h3ZWluZ3J1YmVyIDxteXJpYW1Aa2RlLm9yZz4K LURhdGU6IE1vbiwgMzAgTWF5IDIwMTYgMTE6MjU6MzMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAx Ni8xNl0gRml4IHVudHJhbnNsYXRhYmxlIHN0cmluZwotCi1GaXggdW50cmFuc2xhdGFibGUgc3Ry aW5nIGluIE9yZ2FuaXplIENvbGxlY3Rpb24gRGlhbG9nCi0KLUJVRzogMzMxNDQzCi1GSVhFRC1J TjogMi45Ci0tLS0KLSBzcmMvZGlhbG9ncy9Pcmdhbml6ZUNvbGxlY3Rpb25EaWFsb2cuY3BwIHwg NCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK LQotZGlmZiAtLWdpdCBhL3NyYy9kaWFsb2dzL09yZ2FuaXplQ29sbGVjdGlvbkRpYWxvZy5jcHAg Yi9zcmMvZGlhbG9ncy9Pcmdhbml6ZUNvbGxlY3Rpb25EaWFsb2cuY3BwCi1pbmRleCAxYzE0NzEw Li45NzNlOWNiIDEwMDY0NAotLS0tIGEvc3JjL2RpYWxvZ3MvT3JnYW5pemVDb2xsZWN0aW9uRGlh bG9nLmNwcAotKysrIGIvc3JjL2RpYWxvZ3MvT3JnYW5pemVDb2xsZWN0aW9uRGlhbG9nLmNwcAot QEAgLTEwOCw4ICsxMDgsOCBAQCBPcmdhbml6ZUNvbGxlY3Rpb25XaWRnZXQ6OmJ1aWxkRm9ybWF0 VGlwKCkgY29uc3QKLSB7Ci0gICAgIFFNYXA8UVN0cmluZywgUVN0cmluZz4gYXJnczsKLSAgICAg YXJnc1siYWxidW1hcnRpc3QiXSA9IGkxOG4oICIlMSBvciAlMiIsIFFMYXRpbjFTdHJpbmcoIkFs YnVtIEFydGlzdCwgVGhlIikgLCBRTGF0aW4xU3RyaW5nKCJUaGUgQWxidW0gQXJ0aXN0IikgKTsK LS0gICAgYXJnc1sidGhlYWxidW1hcnRpc3QiXSA9ICJUaGUgQWxidW0gQXJ0aXN0IjsKLS0gICAg YXJnc1sidGhlYXJ0aXN0Il0gPSAiVGhlIEFydGlzdCI7Ci0rICAgIGFyZ3NbInRoZWFsYnVtYXJ0 aXN0Il0gPSBpMThuKCAiVGhlIEFsYnVtIEFydGlzdCIgKTsKLSsgICAgYXJnc1sidGhlYXJ0aXN0 Il0gPSBpMThuKCAiVGhlIEFydGlzdCIgKTsKLSAgICAgYXJnc1siYXJ0aXN0Il0gPSBpMThuKCAi JTEgb3IgJTIiLCBRTGF0aW4xU3RyaW5nKCJBcnRpc3QsIFRoZSIpICwgUUxhdGluMVN0cmluZygi VGhlIEFydGlzdCIpICk7Ci0gICAgIGFyZ3NbImluaXRpYWwiXSA9IGkxOG4oICJBcnRpc3QncyBJ bml0aWFsIiApOwotICAgICBhcmdzWyJmaWxldHlwZSJdID0gaTE4biggIkZpbGUgRXh0ZW5zaW9u IG9mIFNvdXJjZSIgKTsKLS0tIAotMi43LjQKLQoKZGlmZiAtLWdpdCBhLzAwMTctZ2NjNi1idWls ZGZpeC5wYXRjaCBiLzAwMTctZ2NjNi1idWlsZGZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggYjZmMGFiYy4uMDAwMDAwMAotLS0gYS8wMDE3LWdjYzYtYnVpbGRmaXgucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIDkzMDg0MDNlMWM4NDg0MDUy ZjI3N2JmNmRlMzJlZTA3YzkzYTRiZWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBS ZXggRGlldGVyIDxyZGlldGVyQG1hdGgudW5sLmVkdT4KLURhdGU6IFdlZCwgMSBKdW4gMjAxNiAx Mzo1ODoyNiAtMDUwMAotU3ViamVjdDogW1BBVENIIDE3LzI2XSBnY2M2IGJ1aWxkZml4Ci0KLWNv dXJ0ZXN5IG9mIG9wZW5zdXNlLCB0aHgKLQotQlVHOiAzNjMwNTQKLS0tLQotIHNyYy9jb3JlLWlt cGwvcGxheWxpc3RzL3R5cGVzL2ZpbGUveHNwZi9YU1BGUGxheWxpc3QuY3BwIHwgMyArKy0KLSAx IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1n aXQgYS9zcmMvY29yZS1pbXBsL3BsYXlsaXN0cy90eXBlcy9maWxlL3hzcGYvWFNQRlBsYXlsaXN0 LmNwcCBiL3NyYy9jb3JlLWltcGwvcGxheWxpc3RzL3R5cGVzL2ZpbGUveHNwZi9YU1BGUGxheWxp c3QuY3BwCi1pbmRleCA0YmRiOWI5Li5lMzI3MzU0IDEwMDY0NAotLS0tIGEvc3JjL2NvcmUtaW1w bC9wbGF5bGlzdHMvdHlwZXMvZmlsZS94c3BmL1hTUEZQbGF5bGlzdC5jcHAKLSsrKyBiL3NyYy9j b3JlLWltcGwvcGxheWxpc3RzL3R5cGVzL2ZpbGUveHNwZi9YU1BGUGxheWxpc3QuY3BwCi1AQCAt MjgsNiArMjgsNyBAQAotICNpbmNsdWRlICJwbGF5bGlzdC9QbGF5bGlzdE1vZGVsU3RhY2suaCIK LSAKLSB1c2luZyBuYW1lc3BhY2UgUGxheWxpc3RzOwotK3VzaW5nIG5hbWVzcGFjZSBQbGF5bGlz dDsKLSAKLSBYU1BGUGxheWxpc3Q6OlhTUEZQbGF5bGlzdCggY29uc3QgS1VybCAmdXJsLCBQbGF5 bGlzdHM6OlBsYXlsaXN0UHJvdmlkZXIgKnByb3ZpZGVyLCBPbkxvYWRBY3Rpb24gb25Mb2FkICkK LSAgICAgOiBQbGF5bGlzdEZpbGUoIHVybCwgcHJvdmlkZXIgKQotQEAgLTEwMSw3ICsxMDIsNyBA QCBYU1BGUGxheWxpc3Q6OmxvYWQoKQotICAgICAvL0ZJWE1FOiB0aGlzIG5lZWRzIHRvIGJlIG1v dmVkIHRvIHdoYXRldmVyIGlzIGNyZWF0aW5nIHRoZSBYU1BGUGxheWxpc3QKLSAgICAgaWYoIG1f YXV0b0FwcGVuZEFmdGVyTG9hZCApCi0gICAgICAgICBUaGU6OnBsYXlsaXN0Q29udHJvbGxlcigp LT5pbnNlcnRQbGF5bGlzdCgKLS0gICAgICAgICAgICAgICAgICAgIDo6UGxheWxpc3Q6Ok1vZGVs U3RhY2s6Omluc3RhbmNlKCktPmJvdHRvbSgpLT5yb3dDb3VudCgpLAotKyAgICAgICAgICAgICAg ICAgICAgTW9kZWxTdGFjazo6aW5zdGFuY2UoKS0+Ym90dG9tKCktPnJvd0NvdW50KCksCi0gICAg ICAgICAgICAgICAgICAgICBQbGF5bGlzdHM6OlBsYXlsaXN0UHRyKCB0aGlzICkKLSAgICAgICAg ICAgICAgICAgKTsKLSB9Ci0tLSAKLTIuNy40Ci0KCmRpZmYgLS1naXQgYS8wMDE5LURpc2FibGUt bm9uLVNTTC1jb25uZWN0aW9ucy1pbi13aWtpcGVkaWEtYXBwbGV0LnBhdGNoIGIvMDAxOS1EaXNh YmxlLW5vbi1TU0wtY29ubmVjdGlvbnMtaW4td2lraXBlZGlhLWFwcGxldC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODRmMDQwZC4uMDAwMDAwMAotLS0gYS8wMDE5LURpc2Fi bGUtbm9uLVNTTC1jb25uZWN0aW9ucy1pbi13aWtpcGVkaWEtYXBwbGV0LnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsMTcwICswLDAgQEAKLUZyb20gOGMxNTI1OGIyODg3MGI2ZDk5OTBiMjRmODdj ZTkxM2UyMDQ5YmFjOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE9saXZpZXIgQ0hV UkxBVUQgPG9saXZpZXJAY2h1cmxhdWQuY29tPgotRGF0ZTogVHVlLCAyMSBKdW4gMjAxNiAwMDow NjozMyArMDIwMAotU3ViamVjdDogW1BBVENIIDE5LzI2XSBEaXNhYmxlIG5vbiBTU0wgY29ubmVj dGlvbnMgaW4gd2lraXBlZGlhIGFwcGxldC4KLQotUkVWSUVXOiAxMjgyNDgKLUJVRzogMzQ4MzEz Ci0tLS0KLSBDaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMyArKy0KLSBzcmMvY29udGV4dC9hcHBsZXRzL3dpa2lwZWRpYS9XaWtpcGVkaWFB cHBsZXQuY3BwICAgICAgfCAgNyArLS0tLS0tCi0gc3JjL2NvbnRleHQvYXBwbGV0cy93aWtpcGVk aWEvV2lraXBlZGlhQXBwbGV0X3AuaCAgICAgIHwgIDEgLQotIC4uLi9hcHBsZXRzL3dpa2lwZWRp YS93aWtpcGVkaWFHZW5lcmFsU2V0dGluZ3MudWkgICAgICB8ICA3IC0tLS0tLS0KLSBzcmMvY29u dGV4dC9lbmdpbmVzL3dpa2lwZWRpYS9XaWtpcGVkaWFFbmdpbmUuY3BwICAgICAgfCAxOCArKyst LS0tLS0tLS0tLS0tLS0KLSA1IGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMzAgZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKLWluZGV4IDJj Y2UwZjQuLmQ1MDhjNmQgMTAwNjQ0Ci0tLS0gYS9DaGFuZ2VMb2cKLSsrKyBiL0NoYW5nZUxvZwot QEAgLTcwLDcgKzcwLDggQEAgVkVSU0lPTiAyLjguOTAKLSAgICAqIENoZWNrIGZvciBRdEJpbmRp bmdzIGF0IHJ1bnRpbWUgaW5zdGVhZC4gRGlzYWJsZSBzY3JpcHRzIGFuZCBkaXNwbGF5IGVycm9y IG1lc3NhZ2UKLSAgICAgIGlmIG1pc3NpbmcuIChCUiAzMjUwMDYpCi0gICAgKiBQcmludCBwbGF5 bGlzdCBkb3dubG9hZCBlcnJvcnMgdG8gdGhlIGRlYnVnIGxvZy4gKEJSIDMyNTEyMCkKLS0KLSsg ICAqIFdpa2lwZWRpYSBBcHBsZXQgb25seSBjb25uZWN0IHdpdGggU1NMLCBzbyB0aGF0IHJlZGly ZWN0cyBhcmUgaGFuZGxlZAotKyAgICAgY29ycmVjdGx5LiAoQlIgMzQ5MzEzKQotIAotIFZFUlNJ T04gMi44Ci0gICBGRUFUVVJFUzoKLWRpZmYgLS1naXQgYS9zcmMvY29udGV4dC9hcHBsZXRzL3dp a2lwZWRpYS9XaWtpcGVkaWFBcHBsZXQuY3BwIGIvc3JjL2NvbnRleHQvYXBwbGV0cy93aWtpcGVk aWEvV2lraXBlZGlhQXBwbGV0LmNwcAotaW5kZXggMmNlYjJiMC4uN2YxYzczMiAxMDA2NDQKLS0t LSBhL3NyYy9jb250ZXh0L2FwcGxldHMvd2lraXBlZGlhL1dpa2lwZWRpYUFwcGxldC5jcHAKLSsr KyBiL3NyYy9jb250ZXh0L2FwcGxldHMvd2lraXBlZGlhL1dpa2lwZWRpYUFwcGxldC5jcHAKLUBA IC0yNTAsMTQgKzI1MCwxMSBAQCBXaWtpcGVkaWFBcHBsZXRQcml2YXRlOjpfbG9hZFNldHRpbmdz KCkKLSAgICAgfQotICAgICBsYW5nTGlzdCA9IGxpc3Q7Ci0gICAgIHVzZU1vYmlsZVdpa2lwZWRp YSA9IChnZW5lcmFsU2V0dGluZ3NVaS5tb2JpbGVDaGVja0JveC0+Y2hlY2tTdGF0ZSgpID09IFF0 OjpDaGVja2VkKTsKLS0gICAgdXNlU1NMID0gKGdlbmVyYWxTZXR0aW5nc1VpLnNzbENoZWNrQm94 LT5jaGVja1N0YXRlKCkgPT0gUXQ6OkNoZWNrZWQpOwotICAgICBBbWFyb2s6OmNvbmZpZygiV2lr aXBlZGlhIEFwcGxldCIpLndyaXRlRW50cnkoICJQcmVmZXJyZWRMYW5nIiwgbGlzdCApOwotICAg ICBBbWFyb2s6OmNvbmZpZygiV2lraXBlZGlhIEFwcGxldCIpLndyaXRlRW50cnkoICJVc2VNb2Jp bGUiLCB1c2VNb2JpbGVXaWtpcGVkaWEgKTsKLS0gICAgQW1hcm9rOjpjb25maWcoICJXaWtpcGVk aWEgQXBwbGV0IiApLndyaXRlRW50cnkoICJVc2VTU0wiLCB1c2VTU0wgKTsKLSAgICAgX3BhbGV0 dGVDaGFuZ2VkKCBBcHA6Omluc3RhbmNlKCktPnBhbGV0dGUoKSApOwotICAgICBkYXRhQ29udGFp bmVyLT5zZXREYXRhKCAibGFuZyIsIGxhbmdMaXN0ICk7Ci0gICAgIGRhdGFDb250YWluZXItPnNl dERhdGEoICJtb2JpbGUiLCB1c2VNb2JpbGVXaWtpcGVkaWEgKTsKLS0gICAgZGF0YUNvbnRhaW5l ci0+c2V0RGF0YSggInNzbCIsIHVzZVNTTCApOwotICAgICBzY2hlZHVsZUVuZ2luZVVwZGF0ZSgp OwotIH0KLSAKLUBAIC00MTQsNyArNDExLDcgQEAgV2lraXBlZGlhQXBwbGV0UHJpdmF0ZTo6X2dl dExhbmdNYXAoKQotICAgICBsYW5ndWFnZVNldHRpbmdzVWkucHJvZ3Jlc3NCYXItPnNldFZhbHVl KCAwICk7Ci0gCi0gICAgIEtVcmwgdXJsOwotLSAgICB1cmwuc2V0U2NoZW1lKCAiaHR0cCIgKTsK LSsgICAgdXJsLnNldFNjaGVtZSggImh0dHBzIiApOwotICAgICB1cmwuc2V0SG9zdCggImVuLndp a2lwZWRpYS5vcmciICk7Ci0gICAgIHVybC5zZXRQYXRoKCAiL3cvYXBpLnBocCIgKTsKLSAgICAg dXJsLmFkZFF1ZXJ5SXRlbSggImFjdGlvbiIsICJxdWVyeSIgKTsKLUBAIC02NjMsNyArNjYwLDYg QEAgV2lraXBlZGlhQXBwbGV0Ojppbml0KCkKLSAgICAgZC0+X3BhbGV0dGVDaGFuZ2VkKCBBcHA6 Omluc3RhbmNlKCktPnBhbGV0dGUoKSApOwotICAgICBkLT5kYXRhQ29udGFpbmVyLT5zZXREYXRh KCAibGFuZyIsIGQtPmxhbmdMaXN0ICk7Ci0gICAgIGQtPmRhdGFDb250YWluZXItPnNldERhdGEo ICJtb2JpbGUiLCBkLT51c2VNb2JpbGVXaWtpcGVkaWEgKTsKLS0gICAgZC0+ZGF0YUNvbnRhaW5l ci0+c2V0RGF0YSggInNzbCIsIGQtPnVzZVNTTCApOwotICAgICBkLT5zY2hlZHVsZUVuZ2luZVVw ZGF0ZSgpOwotIAotICAgICB1cGRhdGVDb25zdHJhaW50cygpOwotQEAgLTc5Miw3ICs3ODgsNiBA QCBXaWtpcGVkaWFBcHBsZXQ6OmNyZWF0ZUNvbmZpZ3VyYXRpb25JbnRlcmZhY2UoIEtDb25maWdE aWFsb2cgKnBhcmVudCApCi0gICAgIFFXaWRnZXQgKmdlblNldHRpbmdzID0gbmV3IFFXaWRnZXQ7 Ci0gICAgIGQtPmdlbmVyYWxTZXR0aW5nc1VpLnNldHVwVWkoIGdlblNldHRpbmdzICk7Ci0gICAg IGQtPmdlbmVyYWxTZXR0aW5nc1VpLm1vYmlsZUNoZWNrQm94LT5zZXRDaGVja1N0YXRlKCBkLT51 c2VNb2JpbGVXaWtpcGVkaWEgPyBRdDo6Q2hlY2tlZCA6IFF0OjpVbmNoZWNrZWQgKTsKLS0gICAg ZC0+Z2VuZXJhbFNldHRpbmdzVWkuc3NsQ2hlY2tCb3gtPnNldENoZWNrU3RhdGUoIGQtPnVzZVNT TCA/IFF0OjpDaGVja2VkIDogUXQ6OlVuY2hlY2tlZCApOwotIAotICAgICBjb25uZWN0KCBkLT5s YW5ndWFnZVNldHRpbmdzVWkuZG93bmxvYWRCdXR0b24sIFNJR05BTChjbGlja2VkKCkpLCB0aGlz LCBTTE9UKF9nZXRMYW5nTWFwKCkpICk7Ci0gICAgIGNvbm5lY3QoIHBhcmVudCwgU0lHTkFMKG9r Q2xpY2tlZCgpKSwgdGhpcywgU0xPVChfbG9hZFNldHRpbmdzKCkpICk7Ci1kaWZmIC0tZ2l0IGEv c3JjL2NvbnRleHQvYXBwbGV0cy93aWtpcGVkaWEvV2lraXBlZGlhQXBwbGV0X3AuaCBiL3NyYy9j b250ZXh0L2FwcGxldHMvd2lraXBlZGlhL1dpa2lwZWRpYUFwcGxldF9wLmgKLWluZGV4IGRmNWRk YzMuLmM1MmEwYmYgMTAwNjQ0Ci0tLS0gYS9zcmMvY29udGV4dC9hcHBsZXRzL3dpa2lwZWRpYS9X aWtpcGVkaWFBcHBsZXRfcC5oCi0rKysgYi9zcmMvY29udGV4dC9hcHBsZXRzL3dpa2lwZWRpYS9X aWtpcGVkaWFBcHBsZXRfcC5oCi1AQCAtMTQzLDcgKzE0Myw2IEBAIHB1YmxpYzoKLSAgICAgYm9v bCBpc0ZvcndhcmRIaXN0b3J5OwotICAgICBib29sIGlzQmFja3dhcmRIaXN0b3J5OwotICAgICBi b29sIHVzZU1vYmlsZVdpa2lwZWRpYTsKLS0gICAgYm9vbCB1c2VTU0w7Ci0gfTsKLSAKLSBjbGFz cyBXaWtpcGVkaWFTZWFyY2hMaW5lRWRpdCA6IHB1YmxpYyBQbGFzbWE6OkxpbmVFZGl0Ci1kaWZm IC0tZ2l0IGEvc3JjL2NvbnRleHQvYXBwbGV0cy93aWtpcGVkaWEvd2lraXBlZGlhR2VuZXJhbFNl dHRpbmdzLnVpIGIvc3JjL2NvbnRleHQvYXBwbGV0cy93aWtpcGVkaWEvd2lraXBlZGlhR2VuZXJh bFNldHRpbmdzLnVpCi1pbmRleCA4NGNiNWRmLi5iNDc2ZmYwIDEwMDY0NAotLS0tIGEvc3JjL2Nv bnRleHQvYXBwbGV0cy93aWtpcGVkaWEvd2lraXBlZGlhR2VuZXJhbFNldHRpbmdzLnVpCi0rKysg Yi9zcmMvY29udGV4dC9hcHBsZXRzL3dpa2lwZWRpYS93aWtpcGVkaWFHZW5lcmFsU2V0dGluZ3Mu dWkKLUBAIC0zMiwxMyArMzIsNiBAQAotICAgICAgICA8L3Byb3BlcnR5PgotICAgICAgIDwvd2lk Z2V0PgotICAgICAgPC9pdGVtPgotLSAgICAgPGl0ZW0gcm93PSIxIiBjb2x1bW49IjEiPgotLSAg ICAgIDx3aWRnZXQgY2xhc3M9IlFDaGVja0JveCIgbmFtZT0ic3NsQ2hlY2tCb3giPgotLSAgICAg ICA8cHJvcGVydHkgbmFtZT0idGV4dCI+Ci0tICAgICAgICA8c3RyaW5nPlVzZSAmYW1wO1NTTDwv c3RyaW5nPgotLSAgICAgICA8L3Byb3BlcnR5PgotLSAgICAgIDwvd2lkZ2V0PgotLSAgICAgPC9p dGVtPgotICAgICA8L2xheW91dD4KLSAgICA8L2l0ZW0+Ci0gICA8L2xheW91dD4KLWRpZmYgLS1n aXQgYS9zcmMvY29udGV4dC9lbmdpbmVzL3dpa2lwZWRpYS9XaWtpcGVkaWFFbmdpbmUuY3BwIGIv c3JjL2NvbnRleHQvZW5naW5lcy93aWtpcGVkaWEvV2lraXBlZGlhRW5naW5lLmNwcAotaW5kZXgg OTY5ZDhmYy4uZDIzYTMyNyAxMDA2NDQKLS0tLSBhL3NyYy9jb250ZXh0L2VuZ2luZXMvd2lraXBl ZGlhL1dpa2lwZWRpYUVuZ2luZS5jcHAKLSsrKyBiL3NyYy9jb250ZXh0L2VuZ2luZXMvd2lraXBl ZGlhL1dpa2lwZWRpYUVuZ2luZS5jcHAKLUBAIC00NSw3ICs0NSw2IEBAIHB1YmxpYzoKLSAgICAg ICAgIDogcV9wdHIoIHBhcmVudCApCi0gICAgICAgICAsIGN1cnJlbnRTZWxlY3Rpb24oIEFydGlz dCApCi0gICAgICAgICAsIHVzZU1vYmlsZVZlcnNpb24oIGZhbHNlICkKLS0gICAgICAgICwgdXNl U1NMKCB0cnVlICkKLSAgICAgICAgICwgZGF0YUNvbnRhaW5lciggMCApCi0gICAgIHt9Ci0gICAg IH5XaWtpcGVkaWFFbmdpbmVQcml2YXRlKCkge30KLUBAIC04OSw3ICs4OCw2IEBAIHB1YmxpYzoK LSAgICAgICAgIH0KLSAgICAgfSBtX3ByZXZpb3VzVHJhY2tNZXRhZGF0YTsKLSAgICAgYm9vbCB1 c2VNb2JpbGVWZXJzaW9uOwotLSAgICBib29sIHVzZVNTTDsKLSAKLSAgICAgUGxhc21hOjpEYXRh Q29udGFpbmVyICpkYXRhQ29udGFpbmVyOwotIAotQEAgLTE3MSwxNiArMTY5LDYgQEAgV2lraXBl ZGlhRW5naW5lUHJpdmF0ZTo6X2RhdGFDb250YWluZXJVcGRhdGVkKCBjb25zdCBRU3RyaW5nICZz b3VyY2UsIGNvbnN0IFBsYXMKLSAgICAgICAgIH0KLSAgICAgfQotIAotLSAgICBpZiggZGF0YS5j b250YWlucyggUUxhdGluMVN0cmluZygic3NsIikgKSApCi0tICAgIHsKLS0gICAgICAgIGNvbnN0 IGJvb2wgc3NsID0gZGF0YS52YWx1ZSggUUxhdGluMVN0cmluZygic3NsIikgKS50b0Jvb2woKTsK LS0gICAgICAgIGlmKCBzc2wgIT0gdXNlU1NMICkKLS0gICAgICAgIHsKLS0gICAgICAgICAgICB1 c2VTU0wgPSBzc2w7Ci0tICAgICAgICAgICAgdXBkYXRlRW5naW5lKCk7Ci0tICAgICAgICB9Ci0t ICAgIH0KLS0KLSAgICAgaWYoIGRhdGEuY29udGFpbnMoIFFMYXRpbjFTdHJpbmcoImxhbmciKSAp ICkKLSAgICAgewotICAgICAgICAgUVN0cmluZ0xpc3QgbGFuZ0xpc3QgPSBkYXRhLnZhbHVlKCBR TGF0aW4xU3RyaW5nKCJsYW5nIikgKS50b1N0cmluZ0xpc3QoKTsKLUBAIC01NDQsNyArNTMyLDcg QEAgV2lraXBlZGlhRW5naW5lUHJpdmF0ZTo6ZmV0Y2hXaWtpVXJsKCBjb25zdCBRU3RyaW5nICZ0 aXRsZSwgY29uc3QgUVN0cmluZyAmdXJsUHIKLSAgICAgUV9RKCBXaWtpcGVkaWFFbmdpbmUgKTsK LSAgICAgS1VybCBwYWdlVXJsOwotICAgICBRU3RyaW5nIGhvc3QoICIud2lraXBlZGlhLm9yZyIg KTsKLS0gICAgcGFnZVVybC5zZXRTY2hlbWUoIHVzZVNTTCA/IFFMYXRpbjFTdHJpbmcoICJodHRw cyIgKSA6IFFMYXRpbjFTdHJpbmcoICJodHRwIiApICk7Ci0rICAgIHBhZ2VVcmwuc2V0U2NoZW1l KCBRTGF0aW4xU3RyaW5nKCAiaHR0cHMiICkgKTsKLSAKLSAgICAgaWYoIHVzZU1vYmlsZVZlcnNp b24gKQotICAgICB7Ci1AQCAtNTgyLDcgKzU3MCw3IEBAIFdpa2lwZWRpYUVuZ2luZVByaXZhdGU6 OmZldGNoTGFuZ0xpbmtzKCBjb25zdCBRU3RyaW5nICZ0aXRsZSwKLSB7Ci0gICAgIFFfUSggV2lr aXBlZGlhRW5naW5lICk7Ci0gICAgIEtVcmwgdXJsOwotLSAgICB1cmwuc2V0U2NoZW1lKCB1c2VT U0wgPyBRTGF0aW4xU3RyaW5nKCAiaHR0cHMiICkgOiBRTGF0aW4xU3RyaW5nKCAiaHR0cCIgKSAp OwotKyAgICB1cmwuc2V0U2NoZW1lKCBRTGF0aW4xU3RyaW5nKCAiaHR0cHMiICkgKTsKLSAgICAg dXJsLnNldEhvc3QoIGhvc3RMYW5nICsgUUxhdGluMVN0cmluZygiLndpa2lwZWRpYS5vcmciKSAp OwotICAgICB1cmwuc2V0UGF0aCggUUxhdGluMVN0cmluZygiL3cvYXBpLnBocCIpICk7Ci0gICAg IHVybC5hZGRRdWVyeUl0ZW0oIFFMYXRpbjFTdHJpbmcoImFjdGlvbiIpLCBRTGF0aW4xU3RyaW5n KCJxdWVyeSIpICk7Ci1AQCAtNjA0LDcgKzU5Miw3IEBAIFdpa2lwZWRpYUVuZ2luZVByaXZhdGU6 OmZldGNoTGlzdGluZyggY29uc3QgUVN0cmluZyAmdGl0bGUsIGNvbnN0IFFTdHJpbmcgJmhvc3RM Ci0gewotICAgICBRX1EoIFdpa2lwZWRpYUVuZ2luZSApOwotICAgICBLVXJsIHVybDsKLS0gICAg dXJsLnNldFNjaGVtZSggdXNlU1NMID8gUUxhdGluMVN0cmluZyggImh0dHBzIiApIDogUUxhdGlu MVN0cmluZyggImh0dHAiICkgKTsKLSsgICAgdXJsLnNldFNjaGVtZSggUUxhdGluMVN0cmluZygg Imh0dHBzIiApICk7Ci0gICAgIHVybC5zZXRIb3N0KCBob3N0TGFuZyArIFFMYXRpbjFTdHJpbmco Ii53aWtpcGVkaWEub3JnIikgKTsKLSAgICAgdXJsLnNldFBhdGgoIFFMYXRpbjFTdHJpbmcoIi93 L2FwaS5waHAiKSApOwotICAgICB1cmwuYWRkUXVlcnlJdGVtKCBRTGF0aW4xU3RyaW5nKCJhY3Rp b24iKSwgUUxhdGluMVN0cmluZygicXVlcnkiKSApOwotLS0gCi0yLjcuNAotCgpkaWZmIC0tZ2l0 IGEvMDAyMC1XaWtpcGVkaWEtYXBwbGV0LVJlbW92ZS1sYXN0LXRyYWNlLW9mLW5vLVNTTC1wb3Nz aWJpLnBhdGNoIGIvMDAyMC1XaWtpcGVkaWEtYXBwbGV0LVJlbW92ZS1sYXN0LXRyYWNlLW9mLW5v LVNTTC1wb3NzaWJpLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTBjODAy Li4wMDAwMDAwCi0tLSBhLzAwMjAtV2lraXBlZGlhLWFwcGxldC1SZW1vdmUtbGFzdC10cmFjZS1v Zi1uby1TU0wtcG9zc2liaS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLUZy b20gMzMzMzE1ZDY4NzU1ZGM1ZGNmNTQ5Mzg2YTRkNTBkOGExNWViZmJlYSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IE9saXZpZXIgQ0hVUkxBVUQgPG9saXZpZXJAY2h1cmxhdWQuY29t PgotRGF0ZTogVHVlLCAyMSBKdW4gMjAxNiAwMDo0Nzo0OSArMDIwMAotU3ViamVjdDogW1BBVENI IDIwLzI2XSBXaWtpcGVkaWEgYXBwbGV0OiBSZW1vdmUgbGFzdCB0cmFjZSBvZiBubyBTU0wKLSBw b3NzaWJpbGl0eQotCi0tLS0KLSBzcmMvY29udGV4dC9hcHBsZXRzL3dpa2lwZWRpYS9XaWtpcGVk aWFBcHBsZXQuY3BwIHwgMSAtCi0gMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKLQotZGlm ZiAtLWdpdCBhL3NyYy9jb250ZXh0L2FwcGxldHMvd2lraXBlZGlhL1dpa2lwZWRpYUFwcGxldC5j cHAgYi9zcmMvY29udGV4dC9hcHBsZXRzL3dpa2lwZWRpYS9XaWtpcGVkaWFBcHBsZXQuY3BwCi1p bmRleCA3ZjFjNzMyLi43MDViOWRiIDEwMDY0NAotLS0tIGEvc3JjL2NvbnRleHQvYXBwbGV0cy93 aWtpcGVkaWEvV2lraXBlZGlhQXBwbGV0LmNwcAotKysrIGIvc3JjL2NvbnRleHQvYXBwbGV0cy93 aWtpcGVkaWEvV2lraXBlZGlhQXBwbGV0LmNwcAotQEAgLTY1Niw3ICs2NTYsNiBAQCBXaWtpcGVk aWFBcHBsZXQ6OmluaXQoKQotICAgICAvLyBSZWFkIGNvbmZpZyBhbmQgaW5mb3JtIHRoZSBlbmdp bmUuCi0gICAgIGQtPmxhbmdMaXN0ID0gQW1hcm9rOjpjb25maWcoIldpa2lwZWRpYSBBcHBsZXQi KS5yZWFkRW50cnkoICJQcmVmZXJyZWRMYW5nIiwgUVN0cmluZ0xpc3QoKSA8PCAiZW4iICk7Ci0g ICAgIGQtPnVzZU1vYmlsZVdpa2lwZWRpYSA9IEFtYXJvazo6Y29uZmlnKCJXaWtpcGVkaWEgQXBw bGV0IikucmVhZEVudHJ5KCAiVXNlTW9iaWxlIiwgZmFsc2UgKTsKLS0gICAgZC0+dXNlU1NMID0g QW1hcm9rOjpjb25maWcoICJXaWtpcGVkaWEgQXBwbGV0IiApLnJlYWRFbnRyeSggIlVzZVNTTCIs IHRydWUgKTsKLSAgICAgZC0+X3BhbGV0dGVDaGFuZ2VkKCBBcHA6Omluc3RhbmNlKCktPnBhbGV0 dGUoKSApOwotICAgICBkLT5kYXRhQ29udGFpbmVyLT5zZXREYXRhKCAibGFuZyIsIGQtPmxhbmdM aXN0ICk7Ci0gICAgIGQtPmRhdGFDb250YWluZXItPnNldERhdGEoICJtb2JpbGUiLCBkLT51c2VN b2JpbGVXaWtpcGVkaWEgKTsKLS0tIAotMi43LjQKLQoKZGlmZiAtLWdpdCBhLzAwMjQtU3Vic3Rp dHV0ZS1kZXByZWNhdGVkLU15U1FMLW9wdGlvbi1teWlzYW0tcmVjb3Zlci5wYXRjaCBiLzAwMjQt U3Vic3RpdHV0ZS1kZXByZWNhdGVkLU15U1FMLW9wdGlvbi1teWlzYW0tcmVjb3Zlci5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjhiMWYyNi4uMDAwMDAwMAotLS0gYS8wMDI0 LVN1YnN0aXR1dGUtZGVwcmVjYXRlZC1NeVNRTC1vcHRpb24tbXlpc2FtLXJlY292ZXIucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi1Gcm9tIGEwN2Y0NGRkY2Q2MWJhYzFiYjJm MWUxN2NmYzA3ZDQwYTk0MGJiNWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUZXJq ZSBSb3N0ZW4gPHRlcmplLnJvc3RlbkBvcmFjbGUuY29tPgotRGF0ZTogRnJpLCAyMyBPY3QgMjAx NSAxMjoxMTo0MyArMDIwMAotU3ViamVjdDogW1BBVENIIDI0LzI2XSBTdWJzdGl0dXRlIGRlcHJl Y2F0ZWQgTXlTUUwgb3B0aW9uIC0tbXlpc2FtLXJlY292ZXIKLQotRGVwcmVjYXRlZCBNeVNRTCBv cHRpb24gLS1teWlzYW0tcmVjb3ZlciBoYXMgYmVlbiByZW1vdmVkIGluIE15U1FMIDUuNywKLXJl cGxhY2VtZW50IGlzIC0tbXlpc2FtLXJlY292ZXItb3B0aW9ucy4KLQotVXNlIE1ZU1FMX1ZFUlNJ T05fSUQgdG8gaGFuZGxlIHRoaXMuCi0KLVNpZ25lZC1vZmYtYnk6IFRlcmplIFJvc3RlbiA8dGVy amUucm9zdGVuQG9yYWNsZS5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFBldHRpbmkgPHN0 ZWZhbm8ucGV0dGluaUBnbWFpbC5jb20+Ci0KLUNDTUFJTDogVGVyamUgUm9zdGVuIDx0ZXJqZS5y b3N0ZW5Ab3JhY2xlLmNvbT4KLUJVRzogMzU0MjU1Ci1SRVZJRVc6IDEyODE1NwotRklYRUQtSU46 IDIuOQotLS0tCi0gc3JjL2NvcmUtaW1wbC9zdG9yYWdlL3NxbC9teXNxbGVzdG9yYWdlL015U3Fs RW1iZWRkZWRTdG9yYWdlLmNwcCB8IDQgKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRp b25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvY29yZS1pbXBsL3N0b3JhZ2Uvc3FsL215c3FsZXN0 b3JhZ2UvTXlTcWxFbWJlZGRlZFN0b3JhZ2UuY3BwIGIvc3JjL2NvcmUtaW1wbC9zdG9yYWdlL3Nx bC9teXNxbGVzdG9yYWdlL015U3FsRW1iZWRkZWRTdG9yYWdlLmNwcAotaW5kZXggNGE5NTY4Zi4u OWZhNzkxYiAxMDA2NDQKLS0tLSBhL3NyYy9jb3JlLWltcGwvc3RvcmFnZS9zcWwvbXlzcWxlc3Rv cmFnZS9NeVNxbEVtYmVkZGVkU3RvcmFnZS5jcHAKLSsrKyBiL3NyYy9jb3JlLWltcGwvc3RvcmFn ZS9zcWwvbXlzcWxlc3RvcmFnZS9NeVNxbEVtYmVkZGVkU3RvcmFnZS5jcHAKLUBAIC03MCw3ICs3 MCwxMSBAQCBNeVNxbEVtYmVkZGVkU3RvcmFnZTo6aW5pdCggY29uc3QgUVN0cmluZyAmc3RvcmFn ZUxvY2F0aW9uICkKLSAgICAgICAgICAgICAgICA8PCAiLS1kZWZhdWx0LXN0b3JhZ2UtZW5naW5l PU15SVNBTSIKLSAgICAgICAgICAgICAgICA8PCAiLS1pbm5vZGI9T0ZGIgotICAgICAgICAgICAg ICAgIDw8ICItLXNraXAtZ3JhbnQtdGFibGVzIgotKyNpZiAoZGVmaW5lZChNWVNRTF9WRVJTSU9O X0lEKSkgJiYgKE1ZU1FMX1ZFUlNJT05fSUQgPj0gNTA3MDApCi0rICAgICAgICAgICAgICAgPDwg Ii0tbXlpc2FtLXJlY292ZXItb3B0aW9ucz1GT1JDRSIKLSsjZWxzZQotICAgICAgICAgICAgICAg IDw8ICItLW15aXNhbS1yZWNvdmVyPUZPUkNFIgotKyNlbmRpZgotICAgICAgICAgICAgICAgIDw8 ICItLWtleS1idWZmZXItc2l6ZT0xNjc3NzIxNiIgLy8gKDE2TWIpCi0gICAgICAgICAgICAgICAg PDwgIi0tY2hhcmFjdGVyLXNldC1zZXJ2ZXI9dXRmOCIKLSAgICAgICAgICAgICAgICA8PCAiLS1j b2xsYXRpb24tc2VydmVyPXV0ZjhfYmluIjsKLS0tIAotMi43LjQKLQoKZGlmZiAtLWdpdCBhLzAw MjUtSGFuZGxlLW51bWVyaWMtZmllbGRzLXByb3Blcmx5LWluLWZpbHRlci1jcmVhdGlvbi1kaS5w YXRjaCBiLzAwMjUtSGFuZGxlLW51bWVyaWMtZmllbGRzLXByb3Blcmx5LWluLWZpbHRlci1jcmVh dGlvbi1kaS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzE4MzY3ZS4uMDAw MDAwMAotLS0gYS8wMDI1LUhhbmRsZS1udW1lcmljLWZpZWxkcy1wcm9wZXJseS1pbi1maWx0ZXIt Y3JlYXRpb24tZGkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1Gcm9tIDZj NDljZmRmZDk3ZmFhMTQ2Y2U3YjBkOGU5NWNlMmJmNTk2ZjJiMGQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBTdGVmYW5vIFBldHRpbmkgPHN0ZWZhbm8ucGV0dGluaUBnbWFpbC5jb20+ Ci1EYXRlOiBTdW4sIDE5IEp1biAyMDE2IDAwOjEzOjEzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0gg MjUvMjZdIEhhbmRsZSBudW1lcmljIGZpZWxkcyBwcm9wZXJseSBpbiBmaWx0ZXIgY3JlYXRpb24K LSBkaWFsb2dzCi0KLUV2ZXJ5IG51bWVyaWMgZmllbGQsIGxpa2UgbGVuZ3RoLCBkaXNjIG51bWJl ciBhbmQgdHJhY2sgbnVtYmVyLCB3ZXJlCi1ub3QgcHJvcGVybHkgcGFyc2VkIGJ5IHRoZSBmaWx0 ZXIgZGlhbG9nIG9yIGJ5IHRoZSBkeW5hbWljIHBsYXlsaXN0Ci1kaWFsb2cgaW50byB0aGUgdGV4 dHVhbCBxdWVyeSBzdHJpbmcgdXNlZCB0byB0aGVuIGFwcGx5IHRoZSBmaWx0ZXIuCi0KLVRoZSBi dWcgd2FzIGR1ZSB0byB3aGF0IHNvdW5kcyBsaWtlIGFuICJvcHRpbWl6YXRpb24iIHRoYXQgc3dh cHBlZCB0aGUKLWZpcnN0IGFuZCBzZWNvbmQgdmFsdWUgb2YgYSAiYmV0d2VlbiIgY29uZGl0aW9u LCB0byBtYWtlIHN1cmUgdGhlCi1zbWFsbGVyIHZhbHVlIHdhcyBhbHdheXMgdGhlIGZpcnN0IHZh bHVlIGFuZCB0aGUgbGFyZ2VyIGFsd2F5cyB0aGUKLXNlY29uZC4gVGhlIHByb2JsZW0gd2FzIHRo YXQgdGhpcyB3YXMgYXBwbGllZCBhbHNvIHRvIG5vbi1iZXR3ZWVuCi1jb25kaXRpb25zLCBhY3R1 YWxseSBzd2FwcGluZyB0aGUgbGVudGggb3IgZGlzYyBudW1iZXIgd2l0aCAwLCBtYWtpbmcKLTAg YXBwZWFyIGluIHRoZSB0ZXh0dWFsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjb25kaXRpb24uCi0K LVRoZSBmaXggbWFrZXMgc3VyZSB0aGF0ICJvcHRpbWl6YXRpb24iIGlzIGFwcGxpZWQgb25seSBp biBjYXNlIG9mCi1hY3R1YWwgImJldHdlZW4iIGNvbmRpdGlvbnMsIGxlYXZpbmcgdGhlIHZhbHVl cyAidW5vcHRpbWl6ZWQiIGZvciBhbnkKLW90aGVyIGtpbmQgb2YgY29uZGl0aW9uICg9LCA8LCA+ IGFuZCBzaW1pbGFyKS4KLQotUkVWSUVXOiAxMjgyNDUKLUJVRzogMzQxNjYxCi0tLS0KLSBzcmMv d2lkZ2V0cy9NZXRhUXVlcnlXaWRnZXQuY3BwIHwgNiArKysrKy0KLSAyIGZpbGVzIGNoYW5nZWQs IDcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3dpZGdl dHMvTWV0YVF1ZXJ5V2lkZ2V0LmNwcCBiL3NyYy93aWRnZXRzL01ldGFRdWVyeVdpZGdldC5jcHAK LWluZGV4IGFiY2U2YjcuLjQwZjE1ZDYgMTAwNjQ0Ci0tLS0gYS9zcmMvd2lkZ2V0cy9NZXRhUXVl cnlXaWRnZXQuY3BwCi0rKysgYi9zcmMvd2lkZ2V0cy9NZXRhUXVlcnlXaWRnZXQuY3BwCi1AQCAt MTA4MSw3ICsxMDgxLDExIEBAIFFTdHJpbmcgTWV0YVF1ZXJ5V2lkZ2V0OjpGaWx0ZXI6OnRvU3Ry aW5nKCBib29sIGludmVydCApIGNvbnN0Ci0gICAgIH0KLSAgICAgZWxzZSBpZiggaXNOdW1lcmlj KCkgKQotICAgICB7Ci0tICAgICAgICBpZiAobnVtVmFsdWUgPCBudW1WYWx1ZTIpIC8vIHR3byB2 YWx1ZXMgYXJlIG9ubHkgdXNlZCBmb3IgImJldHdlZW4iLiBXZSB3YW50IHRvIG9yZGVyIHRoZW0g Ynkgc2l6ZQotKyAgICAgICAgaWYgKCBjb25kaXRpb24gIT0gQmV0d2VlbiApCi0rICAgICAgICB7 Ci0rICAgICAgICAgICAgc3RyVmFsdWUxID0gUVN0cmluZzo6bnVtYmVyKCBudW1WYWx1ZSApOwot KyAgICAgICAgfQotKyAgICAgICAgZWxzZSBpZiAobnVtVmFsdWUgPCBudW1WYWx1ZTIpIC8vIHR3 byB2YWx1ZXMgYXJlIG9ubHkgdXNlZCBmb3IgImJldHdlZW4iLiBXZSB3YW50IHRvIG9yZGVyIHRo ZW0gYnkgc2l6ZQotICAgICAgICAgewotICAgICAgICAgICAgIHN0clZhbHVlMSA9IFFTdHJpbmc6 Om51bWJlciggbnVtVmFsdWUgKTsKLSAgICAgICAgICAgICBzdHJWYWx1ZTIgPSBRU3RyaW5nOjpu dW1iZXIoIG51bVZhbHVlMiApOwotLS0gCi0yLjcuNAotCgpkaWZmIC0tZ2l0IGEvMDAyNi1Vc2Ut dHJhbnNwYXJlbnQtYmFja2dyb3VuZC1mb3ItbHlyaWNzLWJyb3dzZXIucGF0Y2ggYi8wMDI2LVVz ZS10cmFuc3BhcmVudC1iYWNrZ3JvdW5kLWZvci1seXJpY3MtYnJvd3Nlci5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWJjNGFiMi4uMDAwMDAwMAotLS0gYS8wMDI2LVVzZS10 cmFuc3BhcmVudC1iYWNrZ3JvdW5kLWZvci1seXJpY3MtYnJvd3Nlci5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDU1ICswLDAgQEAKLUZyb20gYmRiYjNhMjdmNTU2YzQxOTEwZDNiODE0ZTVhNGM3 M2EyYTkzMzYyZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZWZhbm8gUGV0dGlu aSA8c3RlZmFuby5wZXR0aW5pQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMTkgSnVuIDIwMTYgMDI6 NTQ6MjQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAyNi8yNl0gVXNlIHRyYW5zcGFyZW50IGJhY2tn cm91bmQgZm9yIGx5cmljcyBicm93c2VyCi0KLVRoaXMgbWFrZXMgdGhlIGx5cmljcyBicm93c2Vy IHNpbWlsYXIgdG8gZXZlcnkgb3RoZXIgY29udGV4dCBhcHBsZXQuCi1QbGVhc2Ugbm90ZSB0aGF0 LCB3aGVuIGVkaXRpbmcgbHlyaWNzLCB0aGUgZGVmYXVsdCB0ZXh0Ym94IGJhY2tncm91bmQKLWlz IHN0aWxsIHVzZWQuCi0KLVJFVklFVzogMTI4MjQ2Ci1CVUc6IDMxNDg1NAotLS0tCi0gc3JjL2Nv bnRleHQvYXBwbGV0cy9seXJpY3MvTHlyaWNzQnJvd3Nlci5jcHAgfCAxMiArKysrKy0tLS0tLS0K LSAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotZGlm ZiAtLWdpdCBhL3NyYy9jb250ZXh0L2FwcGxldHMvbHlyaWNzL0x5cmljc0Jyb3dzZXIuY3BwIGIv c3JjL2NvbnRleHQvYXBwbGV0cy9seXJpY3MvTHlyaWNzQnJvd3Nlci5jcHAKLWluZGV4IGFiY2Zl NjQuLmQ5NDhmZWEgMTAwNjQ0Ci0tLS0gYS9zcmMvY29udGV4dC9hcHBsZXRzL2x5cmljcy9MeXJp Y3NCcm93c2VyLmNwcAotKysrIGIvc3JjL2NvbnRleHQvYXBwbGV0cy9seXJpY3MvTHlyaWNzQnJv d3Nlci5jcHAKLUBAIC00MSw3ICs0MSw2IEBAIEx5cmljc0Jyb3dzZXI6Okx5cmljc0Jyb3dzZXIo IFFHcmFwaGljc1dpZGdldCAqcGFyZW50ICkKLSAgICAgbmF0aXZlLT5zZXRXb3JkV3JhcE1vZGUo IFFUZXh0T3B0aW9uOjpXb3JkV3JhcCApOwotICAgICBuYXRpdmUtPnNldEN1cnNvcldpZHRoKCAw ICk7Ci0gICAgIG5hdGl2ZS0+ZG9jdW1lbnQoKS0+c2V0RG9jdW1lbnRNYXJnaW4oIDEwICk7Ci0t ICAgIG5hdGl2ZS0+dmlld3BvcnQoKS0+c2V0QXV0b0ZpbGxCYWNrZ3JvdW5kKCB0cnVlICk7Ci0g ICAgIG5hdGl2ZS0+c2V0VGV4dEludGVyYWN0aW9uRmxhZ3MoIFF0OjpUZXh0QnJvd3NlckludGVy YWN0aW9uIHwgUXQ6OlRleHRTZWxlY3RhYmxlQnlLZXlib2FyZCApOwotIAotICAgICBQbGFzbWE6 OlN2ZyAqYm9yZGVyU3ZnID0gbmV3IFBsYXNtYTo6U3ZnKCB0aGlzICk7Ci1AQCAtMTA1LDEwICsx MDQsMTEgQEAgdm9pZCBMeXJpY3NCcm93c2VyOjpzZXRMeXJpY3MoIGNvbnN0IFFTdHJpbmcgJmx5 cmljcyApCi0gCi0gdm9pZCBMeXJpY3NCcm93c2VyOjpzZXRSZWFkT25seSggYm9vbCByZWFkT25s eSApCi0gewotLSAgICBRUGFsZXR0ZTo6Q29sb3JSb2xlIGJnID0gcmVhZE9ubHkgPyBRUGFsZXR0 ZTo6QmFzZSA6IFFQYWxldHRlOjpBbHRlcm5hdGVCYXNlOwotLSAgICBuYXRpdmVXaWRnZXQoKS0+ dmlld3BvcnQoKS0+c2V0QmFja2dyb3VuZFJvbGUoIGJnICk7Ci0tICAgIG5hdGl2ZVdpZGdldCgp LT5zZXRSZWFkT25seSggcmVhZE9ubHkgKTsKLS0gICAgbmF0aXZlV2lkZ2V0KCktPnNldEN1cnNv cldpZHRoKCAhcmVhZE9ubHkgPyAxIDogMCApOwotKyAgICBLVGV4dEJyb3dzZXIgKm5hdGl2ZSA9 IG5hdGl2ZVdpZGdldCgpOwotKwotKyAgICBuYXRpdmUtPnZpZXdwb3J0KCktPnNldEF1dG9GaWxs QmFja2dyb3VuZCggIXJlYWRPbmx5ICk7Ci0rICAgIG5hdGl2ZS0+c2V0UmVhZE9ubHkoIHJlYWRP bmx5ICk7Ci0rICAgIG5hdGl2ZS0+c2V0Q3Vyc29yV2lkdGgoICFyZWFkT25seSA/IDEgOiAwICk7 Ci0gfQotIAotIHZvaWQgTHlyaWNzQnJvd3Nlcjo6c2V0UmljaFRleHQoIGJvb2wgcmljaFRleHQg KQotQEAgLTEyMiw4ICsxMjIsNiBAQCB2b2lkIEx5cmljc0Jyb3dzZXI6OnBhbGV0dGVDaGFuZ2Vk KCBjb25zdCBRUGFsZXR0ZSAmcGFsZXR0ZSApCi0gICAgIC8vIHNldCB0ZXh0IGNvbG9yIHVzaW5n IGFwcCB0aGVtZSBpbnN0ZWFkIG9mIHBsYXNtYSB0aGVtZQotICAgICBwLnNldENvbG9yKCBRUGFs ZXR0ZTo6VGV4dCwgcUFwcC0+cGFsZXR0ZSgpLnRleHQoKS5jb2xvcigpICk7Ci0gCi0tICAgIFFQ YWxldHRlOjpDb2xvclJvbGUgYmcgPSBpc1JlYWRPbmx5KCkgPyBRUGFsZXR0ZTo6QmFzZSA6IFFQ YWxldHRlOjpBbHRlcm5hdGVCYXNlOwotLSAgICBuYXRpdmVXaWRnZXQoKS0+dmlld3BvcnQoKS0+ c2V0QmFja2dyb3VuZFJvbGUoIGJnICk7Ci0gICAgIG5hdGl2ZVdpZGdldCgpLT5zZXRQYWxldHRl KCBwICk7Ci0gfQotIAotLS0gCi0yLjcuNAotCgpkaWZmIC0tZ2l0IGEvMDAyNy1Pcmdhbml6ZS10 cmFja3MtR3Vlc3MtdGFncy1wcmVzZXRzLXBlcnNpc3RlZC1wcm9wZXJsLnBhdGNoIGIvMDAyNy1P cmdhbml6ZS10cmFja3MtR3Vlc3MtdGFncy1wcmVzZXRzLXBlcnNpc3RlZC1wcm9wZXJsLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODRlZjUxLi4wMDAwMDAwCi0tLSBhLzAw MjctT3JnYW5pemUtdHJhY2tzLUd1ZXNzLXRhZ3MtcHJlc2V0cy1wZXJzaXN0ZWQtcHJvcGVybC5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4MyArMCwwIEBACi1Gcm9tIDBlNzYwZTVmOGQwNmQw MGUwODRjMTRiNjQ4NzVmNThiYjQyYmQ4ZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBTdGVmYW5vIFBldHRpbmkgPHN0ZWZhbm8ucGV0dGluaUBnbWFpbC5jb20+Ci1EYXRlOiBTdW4s IDMxIEp1bCAyMDE2IDIyOjMyOjExICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMjcvNDddIE9yZ2Fu aXplIHRyYWNrcyAvIEd1ZXNzIHRhZ3MgcHJlc2V0cyBwZXJzaXN0ZWQKLSBwcm9wZXJseS4KLQot RmlsZW5hbWVMYXlvdXRXaWRnZXQgaXMgcmV3b3JrZWQgdG8gZml4IGFuIG9sZCBidWcgcmVnYXJk aW5nIHRoZSBwcmVzZXRzCi1ub3QgYmVpbmcgc2F2ZWQgcHJvcGVybHksIHRoYXQgSSB3YXMgYWxz byBhYmxlIHRvIHJlcHJvZHVjZS4KLQotTG9naWMgaXMgbm90IGEgYml0IG1vcmUgImxpbmVhciIu IFByZXNldHMgYXJlIHNoYXJlZCBiZXR3ZWVuICJPcmdhbml6ZSB0cmFja3MiCi1hbmQgIkd1ZXNz IHRhZ3MiIGRpYWxvZy4gSWYgdGhpcyBpcyBub3Qgd2hhdCBpcyB3YW50ZWQsIGl0IGNhbiBiZSBl YXNpbHkgY2hhbmdlZCwKLWp1c3QgbGV0IG1lIGtub3cuIFByZXNldHMgYXJlIHNhdmVkIGFzIHNv b24gYXMgdGhleSBhcmUgYWRkZWQsIHVwZGF0ZWQgb3IgZGVsZXRlZC4KLUl0IGlzIG5vdCBhbnlt b3JlIG5lY2Vzc2FyeSB0byBhY2NlcHQgdGhlIGRpYWxvZyB0byBzYXZlIGV2ZW50dWFsIGNoYW5n ZXMuCi0KLVRoZSBwcmVzZXQgdXNlZCBpcyBub3Qgc2F2ZWQgd2l0aCB0aGUgbWFya2VyICIjREVM SU0jc2VsZWN0ZWQiIGFueW1vcmUuCi1QcmVzZXRzIGFyZSBqdXN0IHByZXNldHMuIFRoZSBvbmUg dXNlZCBpcyBtYXRjaGVkIG9uIHRoZSBmbHkgdXNpbmcgdGhlIGN1c3RvbQotcHJlc2V0IGZpZWxk LiBJZiBhIHByZXNldCBtYXRjaGVzIHRoZSBjdXN0b20gcHJlc2V0IGZpZWxkLCBpdCdzIGNvbnNp ZGVyZWQKLXNlbGVjdGVkLiBVc2VycyBjYW4gb2YgY291cnNlIGNyZWF0ZSBjdXN0b20gcHJlc2V0 cyBhcyBiZWZvcmUuCi1XaGlsZSBwcmVzZXRzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgdHdvIGRp YWxvZ3MsIGN1c3RvbSBwcmVzZXRzIGFyZSBub3QuCi0KLUFkZC9VcGRhdGUvUmVtb3ZlIHdvcmsg cHJvcGVybHkuIENsaWNraW5nIG9uIGEgcHJlc2V0IG5hbWUgaW4gdGhlIGNvbWJvYm94Ci1yZXNl dHMgdGhlIGN1c3RvbSBwYXR0ZXJuIHRvIHRoZSBwcmVzZXQgdmFsdWUsIHRoaXMgaXMgYSBuZXcg ZmVhdHVyZSwKLWJlZm9yZSBpdCB3YXMgbm90IHBvc3NpYmxlLgotCi1JdCdzIGEgYml0IGRpZmZp Y3VsdCB0byBleHBsYWluLCBidXQgVVggaXMgbW9yZSBuYXR1cmFsLCBqdXN0IGdpdmUgaXQgYSB0 cnkuCi0KLUEgbG90IG9mIHRlc3Rpbmcgd2FzIGRvbmUgKGJ5IFN0ZWZhbm8pLCBsaWtlOgotLSBh ZGRpbmcvdXBkYXRpbmcvcmVtb3ZpbmcgcHJlc2V0cy4KLS0gaWYgc2V0dGluZ3MgYXJlIHBlcnNp c3RlZCBhbmQgc2hhcmVkIHdoZW4gZGlhbG9ncyBhcmUgY2FuY2VsbGVkIG9yIGFjY2VwdGVkLgot LSBpZiBjdXN0b20gcGF0dGVybnMgYXJlIHBlcnNpc3RlZCBhbmQgbm90IHNoYXJlZC4KLS0gcmVz ZXR0aW5nIGEgbW9kaWZpZWQgcGF0dGVybiB0byBpdHMgZGVmdWFsdC4KLS0gY2FuY2VsbGluZyBk aWFsb2dzLCBtb2RpZmllZCBwcmVzZXRzIGFyZSBrZXB0IGJ1dCBjdXN0b20gcGF0dGVybnMgYXJl IG5vdC4KLQotUkVWSUVXOiAxMjg1NjUKLUJVRzogMjI2MTQ0Ci0tLS0KLSBDaGFuZ2VMb2cgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICstCi0gc3JjL2FtYXJva2NvbmZpZy5r Y2ZnICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQotIHNyYy9kaWFsb2dzL09yZ2FuaXplQ29s bGVjdGlvbkRpYWxvZy5jcHAgfCAgIDUgLS0KLSBzcmMvZGlhbG9ncy9Pcmdhbml6ZUNvbGxlY3Rp b25EaWFsb2cuaCAgIHwgICAyIC0KLSBzcmMvd2lkZ2V0cy9GaWxlbmFtZUxheW91dFdpZGdldC5j cHAgICAgIHwgMTAyICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KLSBzcmMvd2lkZ2V0 cy9GaWxlbmFtZUxheW91dFdpZGdldC5oICAgICAgIHwgIDEwICsrLQotIDYgZmlsZXMgY2hhbmdl ZCwgNjEgaW5zZXJ0aW9ucygrKSwgNjQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMv YW1hcm9rY29uZmlnLmtjZmcgYi9zcmMvYW1hcm9rY29uZmlnLmtjZmcKLWluZGV4IGMzNTE0MGMu LmI0MWNhNWIgMTAwNjQ0Ci0tLS0gYS9zcmMvYW1hcm9rY29uZmlnLmtjZmcKLSsrKyBiL3NyYy9h bWFyb2tjb25maWcua2NmZwotQEAgLTE4Myw3ICsxODMsNyBAQAotICAgICA8ZW50cnkga2V5PSJG b3JtYXQgUHJlc2V0cyIgdHlwZT0iU3RyaW5nTGlzdCI+Ci0gICAgICAgICA8bGFiZWw+Rm9ybWF0 IFByZXNldHM8L2xhYmVsPgotICAgICAgICAgPHdoYXRzdGhpcz5BIGxpc3Qgb2YgcHJlc2V0IGZv cm1hdHMgKHRva2VuIHNjaGVtYXMpLjwvd2hhdHN0aGlzPgotLSAgICAgICAgPGRlZmF1bHQ+RGVm YXVsdCNERUxJTSMlYXJ0aXN0JS8lYWxidW0lLyV0cmFjayVfLV8ldGl0bGUlI0RFTElNI3NlbGVj dGVkPC9kZWZhdWx0PgotKyAgICAgICAgPGRlZmF1bHQ+RGVmYXVsdCNERUxJTSMlYXJ0aXN0JS8l YWxidW0lLyV0cmFjayVfLV8ldGl0bGUlPC9kZWZhdWx0PgotICAgICA8L2VudHJ5PgotIDwvZ3Jv dXA+Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL2RpYWxvZ3MvT3JnYW5pemVDb2xsZWN0aW9uRGlhbG9n LmNwcCBiL3NyYy9kaWFsb2dzL09yZ2FuaXplQ29sbGVjdGlvbkRpYWxvZy5jcHAKLWluZGV4IDk3 M2U5Y2IuLmZmZWFiYzkgMTAwNjQ0Ci0tLS0gYS9zcmMvZGlhbG9ncy9Pcmdhbml6ZUNvbGxlY3Rp b25EaWFsb2cuY3BwCi0rKysgYi9zcmMvZGlhbG9ncy9Pcmdhbml6ZUNvbGxlY3Rpb25EaWFsb2cu Y3BwCi1AQCAtMTM5LDggKzEzOSw2IEBAIE9yZ2FuaXplQ29sbGVjdGlvbkRpYWxvZzo6T3JnYW5p emVDb2xsZWN0aW9uRGlhbG9nKCBjb25zdCBNZXRhOjpUcmFja0xpc3QgJnRyYWNrCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFGbGFnczxLRGlh bG9nOjpCdXR0b25Db2RlPiBidXR0b25NYXNrICkKLSAgICAgOiBLRGlhbG9nKCBwYXJlbnQgKQot ICAgICAsIHVpKCBuZXcgVWk6Ok9yZ2FuaXplQ29sbGVjdGlvbkRpYWxvZ0Jhc2UgKQotLSAgICAs IG1fZGV0YWlsZWQoIHRydWUgKQotLSAgICAsIG1fc2NoZW1lTW9kaWZpZWQoIGZhbHNlICkKLSAg ICAgLCBtX2NvbmZsaWN0KCBmYWxzZSApCi0gewotICAgICBRX1VOVVNFRCggbmFtZSApCi1AQCAt MTk2LDcgKzE5NCw2IEBAIE9yZ2FuaXplQ29sbGVjdGlvbkRpYWxvZzo6T3JnYW5pemVDb2xsZWN0 aW9uRGlhbG9nKCBjb25zdCBNZXRhOjpUcmFja0xpc3QgJnRyYWNrCi0gICAgIC8vIHRvIHNob3cg dGhlIGNvbmZsaWN0IGVycm9yCi0gICAgIGNvbm5lY3QoIHVpLT5vdmVyd3JpdGVDaGVjaywgU0lH TkFMKHN0YXRlQ2hhbmdlZChpbnQpKSwgU0xPVChzbG90T3ZlcndyaXRlTW9kZUNoYW5nZWQoKSkg KTsKLSAKLS0gICAgY29ubmVjdCggdGhpcywgU0lHTkFMKGZpbmlzaGVkKGludCkpLCB1aS0+b3Jn YW5pemVDb2xsZWN0aW9uV2lkZ2V0LCBTTE9UKHNsb3RTYXZlRm9ybWF0TGlzdCgpKSApOwotICAg ICBjb25uZWN0KCB0aGlzLCBTSUdOQUwoYWNjZXB0ZWQoKSksIHVpLT5vcmdhbml6ZUNvbGxlY3Rp b25XaWRnZXQsIFNMT1Qob25BY2NlcHQoKSkgKTsKLSAgICAgY29ubmVjdCggdGhpcywgU0lHTkFM KGFjY2VwdGVkKCkpLCBTTE9UKHNsb3REaWFsb2dBY2NlcHRlZCgpKSApOwotICAgICBjb25uZWN0 KCB1aS0+Zm9sZGVyQ29tYm8sIFNJR05BTChjdXJyZW50SW5kZXhDaGFuZ2VkKFFTdHJpbmcpKSwK LUBAIC0zOTcsOCArMzk0LDYgQEAgT3JnYW5pemVDb2xsZWN0aW9uRGlhbG9nOjpzbG90RGlhbG9n QWNjZXB0ZWQoKQotICAgICBBbWFyb2tDb25maWc6OnNldEFzY2lpT25seSggdWktPm9wdGlvbnNX aWRnZXQtPmFzY2lpT25seSgpICk7Ci0gICAgIEFtYXJva0NvbmZpZzo6c2V0UmVwbGFjZW1lbnRS ZWdleHAoIHVpLT5vcHRpb25zV2lkZ2V0LT5yZWdleHBUZXh0KCkgKTsKLSAgICAgQW1hcm9rQ29u ZmlnOjpzZXRSZXBsYWNlbWVudFN0cmluZyggdWktPm9wdGlvbnNXaWRnZXQtPnJlcGxhY2VUZXh0 KCkgKTsKLS0KLS0gICAgdWktPm9yZ2FuaXplQ29sbGVjdGlvbldpZGdldC0+b25BY2NlcHQoKTsK LSB9Ci0gCi0gLy9UaGUgT2sgYnV0dG9uIHNob3VsZCBiZSBkaXNhYmxlZCB3aGVuIHRoZXJlJ3Mg bm8gY29sbGVjdGlvbiByb290IHNlbGVjdGVkLCBhbmQgd2hlbiB0aGVyZSBpcyBubyAuJWZpbGV0 eXBlIGluIGZvcm1hdCBzdHJpbmcKLWRpZmYgLS1naXQgYS9zcmMvZGlhbG9ncy9Pcmdhbml6ZUNv bGxlY3Rpb25EaWFsb2cuaCBiL3NyYy9kaWFsb2dzL09yZ2FuaXplQ29sbGVjdGlvbkRpYWxvZy5o Ci1pbmRleCA4OGZhMDhkLi44ZDU3ZjRhIDEwMDY0NAotLS0tIGEvc3JjL2RpYWxvZ3MvT3JnYW5p emVDb2xsZWN0aW9uRGlhbG9nLmgKLSsrKyBiL3NyYy9kaWFsb2dzL09yZ2FuaXplQ29sbGVjdGlv bkRpYWxvZy5oCi1AQCAtMTE2LDEwICsxMTYsOCBAQCBjbGFzcyBBTUFST0tfRVhQT1JUIE9yZ2Fu aXplQ29sbGVjdGlvbkRpYWxvZyA6IHB1YmxpYyBLRGlhbG9nCi0gICAgICAgICBVaTo6T3JnYW5p emVDb2xsZWN0aW9uRGlhbG9nQmFzZSAqdWk7Ci0gCi0gICAgICAgICBUcmFja09yZ2FuaXplciAq bV90cmFja09yZ2FuaXplcjsKLS0gICAgICAgIGJvb2wgbV9kZXRhaWxlZDsKLSAgICAgICAgIE1l dGE6OlRyYWNrTGlzdCBtX2FsbFRyYWNrczsKLSAgICAgICAgIFFTdHJpbmcgbV90YXJnZXRGaWxl RXh0ZW5zaW9uOwotLSAgICAgICAgYm9vbCBtX3NjaGVtZU1vZGlmaWVkOwotIAotICAgICAgICAg UVN0cmluZ0xpc3QgbV9vcmlnaW5hbHM7Ci0gICAgICAgICBRU3RyaW5nTGlzdCBtX3ByZXZpZXdz OwotZGlmZiAtLWdpdCBhL3NyYy93aWRnZXRzL0ZpbGVuYW1lTGF5b3V0V2lkZ2V0LmNwcCBiL3Ny Yy93aWRnZXRzL0ZpbGVuYW1lTGF5b3V0V2lkZ2V0LmNwcAotaW5kZXggOGQxODljZi4uNmQwMTc0 MyAxMDA2NDQKLS0tLSBhL3NyYy93aWRnZXRzL0ZpbGVuYW1lTGF5b3V0V2lkZ2V0LmNwcAotKysr IGIvc3JjL3dpZGdldHMvRmlsZW5hbWVMYXlvdXRXaWRnZXQuY3BwCi1AQCAtOTAsMTQgKzkwLDE1 IEBAIEZpbGVuYW1lTGF5b3V0V2lkZ2V0OjpGaWxlbmFtZUxheW91dFdpZGdldCggUVdpZGdldCAq cGFyZW50ICkKLSAKLSAgICAgLy8gLSB0aGUgcHJlc2V0IGJ1dHRvbnMKLSAgICAgbV9hZGRQcmVz ZXRCdXR0b24gPSBuZXcgUVB1c2hCdXR0b24oIGkxOG4oIkFkZCBwcmVzZXQiKSwgdGhpcyApOwot LSAgICBtX2FkZFByZXNldEJ1dHRvbi0+c2V0VG9vbFRpcCggaTE4bigiU2F2ZXMgdGhlIGN1cnJl bnQgc2NoZW1lL2Zvcm1hdCBhYm92ZSBhcyBhIHByZXNldC4iKSApOwotKyAgICBtX2FkZFByZXNl dEJ1dHRvbi0+c2V0VG9vbFRpcCggaTE4bigiU2F2ZXMgdGhlIGN1cnJlbnQgc2NoZW1lL2Zvcm1h dCBhcyBuZXcgcHJlc2V0LiIpICk7Ci0gICAgIHByZXNldExheW91dDEtPmFkZFdpZGdldCggbV9h ZGRQcmVzZXRCdXR0b24sIDAgKTsKLSAKLSAgICAgbV91cGRhdGVQcmVzZXRCdXR0b24gPSBuZXcg UVB1c2hCdXR0b24oIGkxOG4oIlVwZGF0ZSBwcmVzZXQiKSwgdGhpcyApOwotKyAgICBtX3VwZGF0 ZVByZXNldEJ1dHRvbi0+c2V0VG9vbFRpcCggaTE4bigiVXBkYXRlcyB0aGUgcHJlc2V0IHdpdGgg dGhlIGN1cnJlbnQgc2NoZW1lL2Zvcm1hdC4iKSApOwotICAgICBwcmVzZXRMYXlvdXQxLT5hZGRX aWRnZXQoIG1fdXBkYXRlUHJlc2V0QnV0dG9uLCAwICk7Ci0gCi0gICAgIG1fcmVtb3ZlUHJlc2V0 QnV0dG9uID0gbmV3IFFQdXNoQnV0dG9uKCBpMThuKCJSZW1vdmUgcHJlc2V0IiksIHRoaXMgKTsK LS0gICAgbV9yZW1vdmVQcmVzZXRCdXR0b24tPnNldFRvb2xUaXAoIGkxOG4oIlJlbW92ZXMgdGhl IGN1cnJlbnRseSBzZWxlY3RlZCBmb3JtYXQgcHJlc2V0IikgKTsKLSsgICAgbV9yZW1vdmVQcmVz ZXRCdXR0b24tPnNldFRvb2xUaXAoIGkxOG4oIlJlbW92ZXMgdGhlIGN1cnJlbnRseSBzZWxlY3Rl ZCBwcmVzZXQuIikgKTsKLSAgICAgcHJlc2V0TGF5b3V0MS0+YWRkV2lkZ2V0KCBtX3JlbW92ZVBy ZXNldEJ1dHRvbiwgMCApOwotIAotICAgICBzY2hlbWVHcm91cExheW91dC0+YWRkTGF5b3V0KCBw cmVzZXRMYXlvdXQxICk7Ci1AQCAtMTY3LDcgKzE2OCw4IEBAIEZpbGVuYW1lTGF5b3V0V2lkZ2V0 OjpGaWxlbmFtZUxheW91dFdpZGdldCggUVdpZGdldCAqcGFyZW50ICkKLSAKLSAgICAgY29ubmVj dCggbV9maWxlbmFtZUxheW91dEVkaXQsIFNJR05BTCh0ZXh0Q2hhbmdlZChRU3RyaW5nKSksCi0g ICAgICAgICAgICAgIHRoaXMsIFNJR05BTChzY2hlbWVDaGFuZ2VkKCkpICk7Ci0tZGVidWcoKSA8 PCAic3QzLjEiOwotKyAgICBjb25uZWN0KCBtX2ZpbGVuYW1lTGF5b3V0RWRpdCwgU0lHTkFMKHRl eHRDaGFuZ2VkKFFTdHJpbmcpKSwKLSsgICAgICAgICAgICAgdGhpcywgU0xPVChzbG90VXBkYXRl UHJlc2V0QnV0dG9uKCkpICk7Ci0gfQotIAotIFRva2VuKgotQEAgLTIzMywxNiArMjM1LDE3IEBA IEZpbGVuYW1lTGF5b3V0V2lkZ2V0OjpjcmVhdGVTdGF0aWNUb2tlbihxaW50NjQgdmFsdWUpIGNv bnN0Ci0gdm9pZAotIEZpbGVuYW1lTGF5b3V0V2lkZ2V0OjpvbkFjY2VwdCgpICAgIC8vU0xPVAot IHsKLS0gICAgc2xvdFNhdmVGb3JtYXRMaXN0KCk7Ci0rICAgIFFTdHJpbmcgY3VzdG9tID0gZ2V0 UGFyc2FibGVTY2hlbWUoKTsKLSsKLSsgICAgLy8gQ3VzdG9tIHNjaGVtZSBpcyBzdG9yZWQgcGVy IGRpYWxvZwotKyAgICBkZWJ1ZygpIDw8ICItLS0gc2F2aW5nIGN1c3RvbSBzY2hlbWUgZm9yIiA8 PCBtX2NvbmZpZ0NhdGVnb3J5IDw8IGN1c3RvbTsKLSsgICAgQW1hcm9rOjpjb25maWcoIG1fY29u ZmlnQ2F0ZWdvcnkgKS53cml0ZUVudHJ5KCAiQ3VzdG9tIFNjaGVtZSIsIGN1c3RvbSApOwotIH0K LSAKLSBRU3RyaW5nCi0gRmlsZW5hbWVMYXlvdXRXaWRnZXQ6OmdldFBhcnNhYmxlU2NoZW1lKCkg Y29uc3QKLSB7Ci0tICAgIFFTdHJpbmcgc2NoZW1lID0gbV9hZHZhbmNlZE1vZGUgPyBtX2ZpbGVu YW1lTGF5b3V0RWRpdC0+dGV4dCgpIDogZHJvcFRhcmdldFNjaGVtZSgpOwotLQotLSAgICBBbWFy b2s6OmNvbmZpZyggbV9jb25maWdDYXRlZ29yeSApLndyaXRlRW50cnkoICJDdXN0b20gU2NoZW1l Iiwgc2NoZW1lICk7Ci0tICAgIHJldHVybiBzY2hlbWU7Ci0rICAgIHJldHVybiBtX2FkdmFuY2Vk TW9kZSA/IG1fZmlsZW5hbWVMYXlvdXRFZGl0LT50ZXh0KCkgOiBkcm9wVGFyZ2V0U2NoZW1lKCk7 Ci0gfQotIAotIC8vIGF0dGVtcHRzIHRvIHNldCB0aGUgc2NoZW1lCi1AQCAtMjU1LDggKzI1OCw2 IEBAIHZvaWQgRmlsZW5hbWVMYXlvdXRXaWRnZXQ6OnNldFNjaGVtZShjb25zdCBRU3RyaW5nJiBz Y2hlbWUpCi0gICAgIGVtaXQgc2NoZW1lQ2hhbmdlZCgpOwotIH0KLSAKLS0KLS0KLSAvL0hhbmRs ZXMgdGhlIG1vZGlmaWNhdGlvbnMgdG8gdGhlIGRpYWxvZyB0byB0b2dnbGUgYmV0d2VlbiBhZHZh bmNlZCBhbmQgYmFzaWMgZWRpdGluZyBtb2RlLgotIHZvaWQKLSBGaWxlbmFtZUxheW91dFdpZGdl dDo6dG9nZ2xlQWR2YW5jZWRNb2RlKCkKLUBAIC0yODcsNyArMjg4LDYgQEAgRmlsZW5hbWVMYXlv dXRXaWRnZXQ6OnNldEFkdmFuY2VkTW9kZSggYm9vbCBpc0FkdmFuY2VkICkKLSAgICAgQW1hcm9r Ojpjb25maWcoIG1fY29uZmlnQ2F0ZWdvcnkgKS53cml0ZUVudHJ5KCAiTW9kZSIsIGVudHJ5VmFs dWUgKTsKLSB9Ci0gCi0tCi0gUVN0cmluZwotIEZpbGVuYW1lTGF5b3V0V2lkZ2V0Ojpkcm9wVGFy Z2V0U2NoZW1lKCkgY29uc3QKLSB7Ci1AQCAtMzQyLDI4ICszNDIsMzQgQEAgRmlsZW5hbWVMYXlv dXRXaWRnZXQ6OnBvcHVsYXRlQ29uZmlndXJhdGlvbigpCi0gICAgIFFTdHJpbmcgbW9kZSA9IEFt YXJvazo6Y29uZmlnKCBtX2NvbmZpZ0NhdGVnb3J5ICkucmVhZEVudHJ5KCAiTW9kZSIgKTsKLSAg ICAgc2V0QWR2YW5jZWRNb2RlKCBtb2RlID09IFFMYXRpbjFTdHJpbmcoICJBZHZhbmNlZCIgKSAp OwotIAotLSAgICBzZXRTY2hlbWUoIEFtYXJvazo6Y29uZmlnKCBtX2NvbmZpZ0NhdGVnb3J5ICku cmVhZEVudHJ5VW50cmFuc2xhdGVkKCAiQ3VzdG9tIFNjaGVtZSIgKSApOwotKyAgICAvLyBDdXN0 b20gc2NoZW1lIGlzIHN0b3JlZCBwZXIgZGlhbG9nCi0rICAgIFFTdHJpbmcgY3VzdG9tID0gQW1h cm9rOjpjb25maWcoIG1fY29uZmlnQ2F0ZWdvcnkgKS5yZWFkRW50cnlVbnRyYW5zbGF0ZWQoICJD dXN0b20gU2NoZW1lIiApOwotKyAgICBkZWJ1ZygpIDw8ICItLS0gZ290IGN1c3RvbSBzY2hlbWUg Zm9yIiA8PCBtX2NvbmZpZ0NhdGVnb3J5IDw8IGN1c3RvbTsKLSAKLS0gICAgcG9wdWxhdGVGb3Jt YXRMaXN0KCk7Ci0tfQotKyAgICBwb3B1bGF0ZUZvcm1hdExpc3QoIGN1c3RvbSApOwotIAotKyAg ICBzZXRTY2hlbWUoIGN1c3RvbSApOwotK30KLSAKLSB2b2lkCi0tRmlsZW5hbWVMYXlvdXRXaWRn ZXQ6OnBvcHVsYXRlRm9ybWF0TGlzdCgpCi0rRmlsZW5hbWVMYXlvdXRXaWRnZXQ6OnBvcHVsYXRl Rm9ybWF0TGlzdCggY29uc3QgUVN0cmluZyYgY3VzdG9tICkKLSB7Ci0gICAgIERFQlVHX0JMT0NL Ci0gCi0rICAgIC8vIENvbmZpZ3VyYXRpb24gaXMgbm90IHN5bW1ldHJpYzogZGlhbG9nLXNwZWNp ZmljIHNldHRpbmdzIGFyZSBzYXZlZAotKyAgICAvLyB1c2luZyBtX2NvbmZpZ0NhdGVnb3J5LCB0 aGF0IGlzIGRpZmZlcmVudCBwZXIgZGlhbG9nLiBUaGUgcHJlc2V0cyBhcmUgc2F2ZWQKLSsgICAg Ly8gb25seSBpbiBvbmUgc2luZ2xlIHBsYWNlLCBzbyB0aGVzZSBjYW4gYmUgc2hhcmVkLiBUaGlz IHBsYWNlIGlzIHRoZSAiZGVmYXVsdCIgb25lLAotKyAgICAvLyB0aGF0IGlzIHRoZSBjb25maWd1 cmF0aW9uIGZvciBPcmdhbml6ZUNvbGxlY3Rpb25EaWFsb2cuCi0rCi0gICAgIC8vIGl0ZW1zIGFy ZSBzdG9yZWQgaW4gdGhlIGNvbmZpZyBsaXN0IGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgotLSAg ICAvLyBMYWJlbCNERUxJTSNmb3JtYXQgc3RyaW5nI0RFTElNI3NlbGVjdGVkCi0tICAgIC8vIHRo ZSBsYXN0IGl0ZW0gdG8gaGF2ZSB0aGUgdGhpcmQgcGFyYW1ldGVyIGlzIHRoZSBkZWZhdWx0IHNl bGVjdGVkIHByZXNldAotLSAgICAvLyB0aGUgdGhpcmQgcGFyYW0gaXNuaXMgb3B0aW9uYWwKLSsg ICAgLy8gTGFiZWwjREVMSU0jZm9ybWF0IHN0cmluZwotICAgICBRU3RyaW5nTGlzdCBwcmVzZXRz X3JhdzsKLSAgICAgaW50IHNlbGVjdGVkX2luZGV4ID0gLTE7Ci0gICAgIG1fcHJlc2V0Q29tYm8t PmNsZWFyKCk7Ci0tICAgIHByZXNldHNfcmF3ID0gQW1hcm9rQ29uZmlnOjpmb3JtYXRQcmVzZXRz KCk7Ci0rICAgIHByZXNldHNfcmF3ID0gQW1hcm9rQ29uZmlnOjpmb3JtYXRQcmVzZXRzKCk7IC8v IEFsd2F5cyB1c2UgdGhlIG9uZSBpbiBPcmdhbml6ZUNvbGxlY3Rpb25EaWFsb2cKLSAgICAgLy8g cHJlc2V0c19yYXcgPSBBbWFyb2s6OmNvbmZpZyggbV9jb25maWdDYXRlZ29yeSApLnJlYWRFbnRy eSggUVN0cmluZzo6ZnJvbUxhdGluMSggIkZvcm1hdCBQcmVzZXRzIiApLCBRU3RyaW5nTGlzdCgp ICk7Ci0gCi0tICAgIGRlYnVnKCkgPDwgIi0tLSBnb3QgcHJlc2V0IGZvciIgPDwgbV9jb25maWdD YXRlZ29yeSA8PCBwcmVzZXRzX3JhdzsKLSsgICAgZGVidWcoKSA8PCAiLS0tIGdvdCBwcmVzZXRz IiA8PCBwcmVzZXRzX3JhdzsKLSAKLSAgICAgZm9yZWFjaCggY29uc3QgUVN0cmluZyAmc3RyLCBw cmVzZXRzX3JhdyApCi0gICAgIHsKLUBAIC0zNzIsNDkgKzM3OCw0NCBAQCBGaWxlbmFtZUxheW91 dFdpZGdldDo6cG9wdWxhdGVGb3JtYXRMaXN0KCkKLSAgICAgICAgIGlmKCBpdGVtcy5zaXplKCkg PCAyICkKLSAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgIG1fcHJlc2V0Q29tYm8tPmFk ZEl0ZW0oIGl0ZW1zLmF0KCAwICksIGl0ZW1zLmF0KCAxICkgKTsgLy8gTGFiZWwsIGZvcm1hdCBz dHJpbmcKLS0gICAgICAgIGlmKCBpdGVtcy5zaXplKCkgPT0gMyApCi0rICAgICAgICBpZiggaXRl bXMuYXQoIDEgKSA9PSBjdXN0b20gKQotICAgICAgICAgICAgIHNlbGVjdGVkX2luZGV4ID0gbV9w cmVzZXRDb21iby0+ZmluZERhdGEoIGl0ZW1zLmF0KCAxICkgKTsKLSAgICAgfQotIAotLSAgICBp Ziggc2VsZWN0ZWRfaW5kZXggPiAwICkKLSsgICAgaWYoIHNlbGVjdGVkX2luZGV4ID49IDAgKQot ICAgICAgICAgbV9wcmVzZXRDb21iby0+c2V0Q3VycmVudEluZGV4KCBzZWxlY3RlZF9pbmRleCAp OwotIAotLSAgICBzbG90Rm9ybWF0UHJlc2V0U2VsZWN0ZWQoIHNlbGVjdGVkX2luZGV4ICk7Ci0r ICAgIGNvbm5lY3QoIG1fcHJlc2V0Q29tYm8sIFNJR05BTChhY3RpdmF0ZWQoaW50KSksIHRoaXMs IFNMT1Qoc2xvdEZvcm1hdFByZXNldFNlbGVjdGVkKGludCkpICk7Ci0gICAgIGNvbm5lY3QoIG1f cHJlc2V0Q29tYm8sIFNJR05BTChjdXJyZW50SW5kZXhDaGFuZ2VkKGludCkpLCB0aGlzLCBTTE9U KHNsb3RGb3JtYXRQcmVzZXRTZWxlY3RlZChpbnQpKSApOwotIH0KLSAKLSB2b2lkCi0tRmlsZW5h bWVMYXlvdXRXaWRnZXQ6OnNsb3RVcGRhdGVQcmVzZXRCdXR0b24oKQotLXsKLS0gICAgUVN0cmlu ZyBjb21ib1NjaGVtZSA9IG1fcHJlc2V0Q29tYm8tPml0ZW1EYXRhKCBtX3ByZXNldENvbWJvLT5j dXJyZW50SW5kZXgoKSApLiAgdG9TdHJpbmcoKTsKLS0gICAgbV91cGRhdGVQcmVzZXRCdXR0b24t PnNldEVuYWJsZWQoIGNvbWJvU2NoZW1lICE9IGdldFBhcnNhYmxlU2NoZW1lKCkgKTsKLS19Ci0t Ci0tdm9pZAotLUZpbGVuYW1lTGF5b3V0V2lkZ2V0OjpzbG90U2F2ZUZvcm1hdExpc3QoKQotK0Zp bGVuYW1lTGF5b3V0V2lkZ2V0OjpzYXZlRm9ybWF0TGlzdCgpIGNvbnN0Ci0gewotLSAgICBpZigg IW1fZm9ybWF0TGlzdE1vZGlmaWVkICkKLS0gICAgICAgIHJldHVybjsKLSsgICAgREVCVUdfQkxP Q0sKLSAKLS0gICAgUVN0cmluZ0xpc3QgcHJlc2V0czsKLSsgICAgUVN0cmluZ0xpc3QgcHJlc2V0 c19yYXc7Ci0gICAgIGludCBuID0gbV9wcmVzZXRDb21iby0+Y291bnQoKTsKLS0gICAgaW50IGN1 cnJlbnRfaWR4ID0gbV9wcmVzZXRDb21iby0+Y3VycmVudEluZGV4KCk7Ci0gCi0gICAgIGZvcigg aW50IGkgPSAwOyBpIDwgbjsgKytpICkKLSAgICAgewotLSAgICAgICAgUVN0cmluZyBpdGVtOwot LSAgICAgICAgaWYoIGkgPT0gY3VycmVudF9pZHggKQotLSAgICAgICAgICAgIGl0ZW0gPSAiJTEj REVMSU0jJTIjREVMSU0jc2VsZWN0ZWQiOwotLSAgICAgICAgZWxzZQotLSAgICAgICAgICAgIGl0 ZW0gPSAiJTEjREVMSU0jJTIiOwotLQotKyAgICAgICAgUVN0cmluZyBpdGVtID0gIiUxI0RFTElN IyUyIjsKLSAgICAgICAgIFFTdHJpbmcgc2NoZW1lID0gbV9wcmVzZXRDb21iby0+aXRlbURhdGEo IGkgKS50b1N0cmluZygpOwotICAgICAgICAgUVN0cmluZyBsYWJlbCA9IG1fcHJlc2V0Q29tYm8t Pml0ZW1UZXh0KCBpICk7Ci0gICAgICAgICBpdGVtID0gaXRlbS5hcmcoIGxhYmVsLCBzY2hlbWUg KTsKLS0gICAgICAgIHByZXNldHMuYXBwZW5kKCBpdGVtICk7Ci0rICAgICAgICBwcmVzZXRzX3Jh dy5hcHBlbmQoIGl0ZW0gKTsKLSAgICAgfQotIAotLSAgIEFtYXJvazo6Y29uZmlnKCBtX2NvbmZp Z0NhdGVnb3J5ICkud3JpdGVFbnRyeSggUVN0cmluZzo6ZnJvbUxhdGluMSggIkZvcm1hdCBQcmVz ZXRzIiApLCBwcmVzZXRzICk7Ci0rICAgZGVidWcoKSA8PCAiLS0tIHNhdmluZyBwcmVzZXRzIiA8 PCBwcmVzZXRzX3JhdzsKLSsgICBBbWFyb2tDb25maWc6OnNldEZvcm1hdFByZXNldHMoIHByZXNl dHNfcmF3ICk7IC8vIEFsd2F5cyB1c2UgdGhlIG9uZSBpbiBPcmdhbml6ZUNvbGxlY3Rpb25EaWFs b2cKLSsgICAvLyBBbWFyb2s6OmNvbmZpZyggbV9jb25maWdDYXRlZ29yeSApLndyaXRlRW50cnko IFFTdHJpbmc6OmZyb21MYXRpbjEoICJGb3JtYXQgUHJlc2V0cyIgKSwgcHJlc2V0c19yYXcgKTsK LSt9Ci0rCi0rdm9pZAotK0ZpbGVuYW1lTGF5b3V0V2lkZ2V0OjpzbG90VXBkYXRlUHJlc2V0QnV0 dG9uKCkKLSt7Ci0rICAgIFFTdHJpbmcgY29tYm9TY2hlbWUgPSBtX3ByZXNldENvbWJvLT5pdGVt RGF0YSggbV9wcmVzZXRDb21iby0+Y3VycmVudEluZGV4KCkgKS50b1N0cmluZygpOwotKyAgICBt X3VwZGF0ZVByZXNldEJ1dHRvbi0+c2V0RW5hYmxlZCggY29tYm9TY2hlbWUgIT0gZ2V0UGFyc2Fi bGVTY2hlbWUoKSApOwotIH0KLSAKLSB2b2lkCi1AQCAtNDI4LDE0ICs0MjksMTUgQEAgdm9pZAot IEZpbGVuYW1lTGF5b3V0V2lkZ2V0OjpzbG90QWRkRm9ybWF0KCkKLSB7Ci0gICAgIGJvb2wgb2sg PSBmYWxzZTsKLS0gICAgUVN0cmluZyBuYW1lID0gS0lucHV0RGlhbG9nOjpnZXRUZXh0KCBpMThu KCAiTmV3IEZvcm1hdCBQcmVzZXQiICksIGkxOG4oICJQcmVzZXQgTmFtZSIgKSwgaTE4biggIk5l dyBQcmVzZXQiICksICAmb2ssIHRoaXMgKTsKLSsgICAgUVN0cmluZyBuYW1lID0gS0lucHV0RGlh bG9nOjpnZXRUZXh0KCBpMThuKCAiTmV3IFByZXNldCIgKSwgaTE4biggIlByZXNldCBOYW1lIiAp LCBpMThuKCAiTmV3IFByZXNldCIgKSwgJm9rLCB0aGlzICk7Ci0gICAgIGlmKCAhb2sgKQotICAg ICAgICAgcmV0dXJuOyAvLyB1c2VyIGNhbmNlbGVkLgotIAotICAgICBRU3RyaW5nIGZvcm1hdCA9 IGdldFBhcnNhYmxlU2NoZW1lKCk7Ci0tICAgIG1fcHJlc2V0Q29tYm8tPmluc2VydEl0ZW0oMCwg bmFtZSwgZm9ybWF0KTsKLS0gICAgbV9wcmVzZXRDb21iby0+c2V0Q3VycmVudEluZGV4KCAwICk7 Ci0tICAgIG1fZm9ybWF0TGlzdE1vZGlmaWVkID0gdHJ1ZTsKLSsgICAgbV9wcmVzZXRDb21iby0+ YWRkSXRlbSggbmFtZSwgZm9ybWF0ICk7Ci0rICAgIG1fcHJlc2V0Q29tYm8tPnNldEN1cnJlbnRJ bmRleCggbV9wcmVzZXRDb21iby0+Y291bnQoKSAtIDEgKTsKLSsKLSsgICAgc2F2ZUZvcm1hdExp c3QoKTsKLSB9Ci0gCi0gdm9pZAotQEAgLTQ0Myw3ICs0NDUsOCBAQCBGaWxlbmFtZUxheW91dFdp ZGdldDo6c2xvdFJlbW92ZUZvcm1hdCgpCi0gewotICAgICBpbnQgaWR4ID0gbV9wcmVzZXRDb21i by0+Y3VycmVudEluZGV4KCk7Ci0gICAgIG1fcHJlc2V0Q29tYm8tPnJlbW92ZUl0ZW0oIGlkeCAp OwotLSAgICBtX2Zvcm1hdExpc3RNb2RpZmllZCA9IHRydWU7Ci0rCi0rICAgIHNhdmVGb3JtYXRM aXN0KCk7Ci0gfQotIAotIHZvaWQKLUBAIC00NTMsNSArNDU2LDYgQEAgRmlsZW5hbWVMYXlvdXRX aWRnZXQ6OnNsb3RVcGRhdGVGb3JtYXQoKQotICAgICBRU3RyaW5nIGZvcm1hdFN0cmluZyA9IGdl dFBhcnNhYmxlU2NoZW1lKCk7Ci0gICAgIG1fcHJlc2V0Q29tYm8tPnNldEl0ZW1EYXRhKCBpZHgs IGZvcm1hdFN0cmluZyApOwotICAgICBtX3VwZGF0ZVByZXNldEJ1dHRvbi0+c2V0RW5hYmxlZCgg ZmFsc2UgKTsKLS0gICAgbV9mb3JtYXRMaXN0TW9kaWZpZWQgPSB0cnVlOwotKwotKyAgICBzYXZl Rm9ybWF0TGlzdCgpOwotIH0KLWRpZmYgLS1naXQgYS9zcmMvd2lkZ2V0cy9GaWxlbmFtZUxheW91 dFdpZGdldC5oIGIvc3JjL3dpZGdldHMvRmlsZW5hbWVMYXlvdXRXaWRnZXQuaAotaW5kZXggOWZi MjY3OC4uOGY2ZTM1YSAxMDA2NDQKLS0tLSBhL3NyYy93aWRnZXRzL0ZpbGVuYW1lTGF5b3V0V2lk Z2V0LmgKLSsrKyBiL3NyYy93aWRnZXRzL0ZpbGVuYW1lTGF5b3V0V2lkZ2V0LmgKLUBAIC03MCw3 ICs3MCw2IEBAIGNsYXNzIEFNQVJPS19FWFBPUlQgRmlsZW5hbWVMYXlvdXRXaWRnZXQgOiBwdWJs aWMgUVdpZGdldAotICAgICAgICAgICAgICwgQ29sbGVjdGlvblJvb3QKLSAgICAgICAgIH07Ci0g Ci0tCi0gICAgICAgICBleHBsaWNpdCBGaWxlbmFtZUxheW91dFdpZGdldCggUVdpZGdldCAqcGFy ZW50ID0gMCApOwotICAgICAgICAgdmlydHVhbCB+RmlsZW5hbWVMYXlvdXRXaWRnZXQoKSB7fQot IAotQEAgLTc4LDcgKzc3LDYgQEAgY2xhc3MgQU1BUk9LX0VYUE9SVCBGaWxlbmFtZUxheW91dFdp ZGdldCA6IHB1YmxpYyBRV2lkZ2V0Ci0gCi0gICAgICAgICB2b2lkIHNldFNjaGVtZSggY29uc3Qg UVN0cmluZyAmc2NoZW1lICk7Ci0gCi0tCi0gICAgIHB1YmxpYyBzbG90czoKLSAgICAgICAgIHZp cnR1YWwgdm9pZCBvbkFjY2VwdCgpOwotIAotQEAgLTkxLDcgKzg5LDYgQEAgY2xhc3MgQU1BUk9L X0VYUE9SVCBGaWxlbmFtZUxheW91dFdpZGdldCA6IHB1YmxpYyBRV2lkZ2V0Ci0gCi0gICAgICAg ICAvKiBVcGRhdGVzIHRoZSB1cGRhdGUgcHJlc2V0IGJ1dHRvbiAqLwotICAgICAgICAgdm9pZCBz bG90VXBkYXRlUHJlc2V0QnV0dG9uKCk7Ci0tICAgICAgICB2b2lkIHNsb3RTYXZlRm9ybWF0TGlz dCgpOwotICAgICAgICAgdm9pZCBzbG90Rm9ybWF0UHJlc2V0U2VsZWN0ZWQoIGludCApOwotICAg ICAgICAgdm9pZCBzbG90QWRkRm9ybWF0KCk7Ci0gICAgICAgICB2b2lkIHNsb3RSZW1vdmVGb3Jt YXQoKTsKLUBAIC0xMDksNyArMTA2LDYgQEAgY2xhc3MgQU1BUk9LX0VYUE9SVCBGaWxlbmFtZUxh eW91dFdpZGdldCA6IHB1YmxpYyBRV2lkZ2V0Ci0gICAgICAgICAvKiogRmlsbHMgdGhlIG1fZHJv cFRhcmdldCBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuIHN0cmluZyBzY2hlbWUuICovCi0gICAgICAg ICB2b2lkIGluZmVyU2NoZW1lKCBjb25zdCBRU3RyaW5nICZzY2hlbWUgKTsKLSAKLS0gICAgICAg IGJvb2wgbV9mb3JtYXRMaXN0TW9kaWZpZWQ7Ci0gICAgICAgICBib29sIG1fYWR2YW5jZWRNb2Rl OwotIAotICAgICBwcm90ZWN0ZWQ6Ci1AQCAtMTE5LDcgKzExNSwxMCBAQCBjbGFzcyBBTUFST0tf RVhQT1JUIEZpbGVuYW1lTGF5b3V0V2lkZ2V0IDogcHVibGljIFFXaWRnZXQKLSAgICAgICAgIHZv aWQgcG9wdWxhdGVDb25maWd1cmF0aW9uKCk7Ci0gCi0gICAgICAgICAvKiogUG9wdWxhdGVzIHRo ZSBwcmVzZXQgY29tYm8gYm94ICovCi0tICAgICAgICB2b2lkIHBvcHVsYXRlRm9ybWF0TGlzdCgp OwotKyAgICAgICAgdm9pZCBwb3B1bGF0ZUZvcm1hdExpc3QoIGNvbnN0IFFTdHJpbmcgJmN1c3Rv bSApOwotKwotKyAgICAgICAgLyoqIFNhdmVzIHRoZSBwcmVzZXQgY29tYm8gYm94ICovCi0rICAg ICAgICB2b2lkIHNhdmVGb3JtYXRMaXN0KCkgY29uc3Q7Ci0gCi0gICAgICAgICB2aXJ0dWFsIFRv a2VuKiBjcmVhdGVUb2tlbihxaW50NjQgdmFsdWUpIGNvbnN0OwotIAotQEAgLTE0NSw3ICsxNDQs NiBAQCBjbGFzcyBBTUFST0tfRVhQT1JUIEZpbGVuYW1lTGF5b3V0V2lkZ2V0IDogcHVibGljIFFX aWRnZXQKLSAgICAgICAgIFFGcmFtZSAqbV9maWxlbmFtZUxheW91dDsKLSAgICAgICAgIEtMaW5l RWRpdCAqbV9maWxlbmFtZUxheW91dEVkaXQ7Ci0gCi0tCi0gICAgICAgICAvKiogVGhlIG5hbWUg b2YgdGhlIGNhdGVnb3J5IHVzZWQgZm9yIHN0b3JpbmcgdGhlIGNvbmZpZ3VyYXRpb24gKi8KLSAg ICAgICAgIFFTdHJpbmcgbV9jb25maWdDYXRlZ29yeTsKLSB9OwotLS0gCi0yLjkuMwotCgpkaWZm IC0tZ2l0IGEvMDAyOC1GaXgtZm9yLUMtd2FybmluZ3MtYWJvdXQtdW51c2VkLXZhcmlhYmxlcy1h bmQtZGVwcmVjLnBhdGNoIGIvMDAyOC1GaXgtZm9yLUMtd2FybmluZ3MtYWJvdXQtdW51c2VkLXZh cmlhYmxlcy1hbmQtZGVwcmVjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0 MTFmNWExLi4wMDAwMDAwCi0tLSBhLzAwMjgtRml4LWZvci1DLXdhcm5pbmdzLWFib3V0LXVudXNl ZC12YXJpYWJsZXMtYW5kLWRlcHJlYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNiArMCww IEBACi1Gcm9tIDk3MGU5ODVkNjEwMDA3MGFhMTA1ZGQ2MDJkYThjMjk0Njg3Mzg1YWMgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdGVmYW5vIFBldHRpbmkgPHN0ZWZhbm8ucGV0dGlu aUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDE3IEp1biAyMDE2IDIzOjQ0OjE2ICswMjAwCi1TdWJq ZWN0OiBbUEFUQ0ggMjgvNDddIEZpeCBmb3IgQysrIHdhcm5pbmdzIGFib3V0IHVudXNlZCB2YXJp YWJsZXMgYW5kCi0gZGVwcmVjYXRlZCBmdW5jdGlvbnMKLQotVGhhbmsgeW91LCBTdGVmYW5vIQot Ci1SRVZJRVc6IDEyNzQ1OAotLS0tCi0gc3JjL2NvbmZpZ2RpYWxvZy9kaWFsb2dzL0RhdGFiYXNl Q29uZmlnLmNwcCAgICAgICAgICAgICAgICAgICAgICAgIHwgMiAtLQotIHNyYy9jb3JlLWltcGwv Y29sbGVjdGlvbnMvZGIvc3FsL1NxbFNjYW5SZXN1bHRQcm9jZXNzb3IuY3BwICAgICAgICB8IDIg Ky0KLSAuLi4vc3RvcmFnZS9zcWwvbXlzcWxzZXJ2ZXJzdG9yYWdlL015U3FsU2VydmVyU3RvcmFn ZUZhY3RvcnkuY3BwICAgfCAxICsKLSBzcmMvc2VydmljZXMvbXAzdHVuZXMvaGFybW9ueWRhZW1v bi9NcDN0dW5lc0hhcm1vbnlEYWVtb24uY3BwICAgICAgfCA3ICsrKysrLS0KLSBzcmMvc2Vydmlj ZXMvbXAzdHVuZXMvbGlibXAzdHVuZXMvaGFybW9ueS5jICAgICAgICAgICAgICAgICAgICAgICAg fCA0ICsrLS0KLSBzcmMvc3RhdGVtYW5hZ2VtZW50L0RlZmF1bHRBcHBsaWNhdGlvbkNvbnRyb2xs ZXIuY3BwICAgICAgICAgICAgICAgfCAyICsrCi0gNiBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRp b25zKCspLCA3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbmZpZ2RpYWxvZy9k aWFsb2dzL0RhdGFiYXNlQ29uZmlnLmNwcCBiL3NyYy9jb25maWdkaWFsb2cvZGlhbG9ncy9EYXRh YmFzZUNvbmZpZy5jcHAKLWluZGV4IDFjYjJkOTcuLmZmNGY2YzUgMTAwNjQ0Ci0tLS0gYS9zcmMv Y29uZmlnZGlhbG9nL2RpYWxvZ3MvRGF0YWJhc2VDb25maWcuY3BwCi0rKysgYi9zcmMvY29uZmln ZGlhbG9nL2RpYWxvZ3MvRGF0YWJhc2VDb25maWcuY3BwCi1AQCAtODIsNyArODIsNiBAQCBEYXRh YmFzZUNvbmZpZzo6dGVzdERhdGFiYXNlQ29ubmVjdGlvbigpIC8vU0xPVAotICAgICBmYWN0b3Jp ZXMgPSBQbHVnaW5zOjpQbHVnaW5NYW5hZ2VyOjppbnN0YW5jZSgpLT5mYWN0b3JpZXMoIFBsdWdp bnM6OlBsdWdpbk1hbmFnZXI6OlN0b3JhZ2UgKTsKLSAKLSAgICAgLy8gdHJ5IGlmIHRoZXkgaGF2 ZSBhIHRlc3RTZXR0aW5ncyBzbG90IHRoYXQgd2UgY2FuIGNhbGwKLS0gICAgYm9vbCB0ZXN0ZWQg PSBmYWxzZTsKLSAgICAgZm9yZWFjaCggUGx1Z2luczo6UGx1Z2luRmFjdG9yeSogZmFjdG9yeSwg ZmFjdG9yaWVzICkKLSAgICAgewotICAgICAgICAgYm9vbCBjYWxsU3VjY2VlZGVkID0gZmFsc2U7 Ci1AQCAtMTAwLDcgKzk5LDYgQEAgRGF0YWJhc2VDb25maWc6OnRlc3REYXRhYmFzZUNvbm5lY3Rp b24oKSAvL1NMT1QKLSAKLSAgICAgICAgIGlmKCBjYWxsU3VjY2VlZGVkICkKLSAgICAgICAgIHsK LS0gICAgICAgICAgICB0ZXN0ZWQgPSB0cnVlOwotICAgICAgICAgICAgIGlmKCBjb25uZWN0aW9u RXJyb3JzLmlzRW1wdHkoKSApCi0gICAgICAgICAgICAgICAgIEtNZXNzYWdlQm94OjptZXNzYWdl Qm94KCB0aGlzLCBLTWVzc2FnZUJveDo6SW5mb3JtYXRpb24sCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpMThuKCAiQW1hcm9rIHdhcyBhYmxlIHRvIGVzdGFibGlz aCBhIHN1Y2Nlc3NmdWwgY29ubmVjdGlvbiB0byB0aGUgZGF0YWJhc2UuIiApLAotZGlmZiAtLWdp dCBhL3NyYy9jb3JlLWltcGwvY29sbGVjdGlvbnMvZGIvc3FsL1NxbFNjYW5SZXN1bHRQcm9jZXNz b3IuY3BwIGIvc3JjL2NvcmUtaW1wbC9jb2xsZWN0aW9ucy9kYi9zcWwvU3FsU2NhblJlc3VsdFBy b2Nlc3Nvci5jcHAKLWluZGV4IDcxNTg5YTAuLjM2N2MwMmEgMTAwNjQ0Ci0tLS0gYS9zcmMvY29y ZS1pbXBsL2NvbGxlY3Rpb25zL2RiL3NxbC9TcWxTY2FuUmVzdWx0UHJvY2Vzc29yLmNwcAotKysr IGIvc3JjL2NvcmUtaW1wbC9jb2xsZWN0aW9ucy9kYi9zcWwvU3FsU2NhblJlc3VsdFByb2Nlc3Nv ci5jcHAKLUBAIC0zMDEsNyArMzAxLDcgQEAgU3FsU2NhblJlc3VsdFByb2Nlc3Nvcjo6Y29tbWl0 VHJhY2soIENvbGxlY3Rpb25TY2FubmVyOjpUcmFjayAqdHJhY2ssCi0gICAgIG1ldGFUcmFjay0+ c2V0VHlwZSggdHJhY2stPmZpbGV0eXBlKCkgKTsKLSAKLSAgICAgaWYoIG1fdHlwZSA9PSBHZW5l cmljU2Nhbk1hbmFnZXI6OkZ1bGxTY2FuIHx8Ci0tICAgICAgICAhdHJhY2stPmJwbSgpID49IDAg KQotKyAgICAgICAgdHJhY2stPmJwbSgpID49IDAgKQotICAgICAgICAgbWV0YVRyYWNrLT5zZXRC cG0oIHRyYWNrLT5icG0oKSApOwotIAotICAgICBpZiggbV90eXBlID09IEdlbmVyaWNTY2FuTWFu YWdlcjo6RnVsbFNjYW4gfHwKLWRpZmYgLS1naXQgYS9zcmMvY29yZS1pbXBsL3N0b3JhZ2Uvc3Fs L215c3Fsc2VydmVyc3RvcmFnZS9NeVNxbFNlcnZlclN0b3JhZ2VGYWN0b3J5LmNwcCBiL3NyYy9j b3JlLWltcGwvc3RvcmFnZS9zcWwvbXlzcWxzZXJ2ZXJzdG9yYWdlL015U3FsU2VydmVyU3RvcmFn ZUZhY3RvcnkuY3BwCi1pbmRleCA1Y2RiNjkzLi42ZjllZTU5IDEwMDY0NAotLS0tIGEvc3JjL2Nv cmUtaW1wbC9zdG9yYWdlL3NxbC9teXNxbHNlcnZlcnN0b3JhZ2UvTXlTcWxTZXJ2ZXJTdG9yYWdl RmFjdG9yeS5jcHAKLSsrKyBiL3NyYy9jb3JlLWltcGwvc3RvcmFnZS9zcWwvbXlzcWxzZXJ2ZXJz dG9yYWdlL015U3FsU2VydmVyU3RvcmFnZUZhY3RvcnkuY3BwCi1AQCAtNjksNiArNjksNyBAQCBN eVNxbFNlcnZlclN0b3JhZ2VGYWN0b3J5Ojp0ZXN0U2V0dGluZ3MoIGNvbnN0IFFTdHJpbmcgJmhv c3QsIGNvbnN0IFFTdHJpbmcgJnVzZQotIAotICAgICBNeVNxbFNlcnZlclN0b3JhZ2UqIHN0b3Jh Z2UgPSBuZXcgTXlTcWxTZXJ2ZXJTdG9yYWdlKCk7Ci0gICAgIGJvb2wgaW5pdFJlc3VsdCA9IHN0 b3JhZ2UtPmluaXQoIGhvc3QsIHVzZXIsIHBhc3N3b3JkLCBwb3J0LCBkYXRhYmFzZU5hbWUgKTsK LSsgICAgUV9VTlVTRUQoIGluaXRSZXN1bHQgKTsKLSAKLSAgICAgLy8gd2UgYXJlIGp1c3QgaW50 ZXJlc3RlZCBpbiB0aGUgZXJyb3JzLgotICAgICBlcnJvcnMgPSBzdG9yYWdlLT5nZXRMYXN0RXJy b3JzKCk7Ci1kaWZmIC0tZ2l0IGEvc3JjL3NlcnZpY2VzL21wM3R1bmVzL2hhcm1vbnlkYWVtb24v TXAzdHVuZXNIYXJtb255RGFlbW9uLmNwcCBiL3NyYy9zZXJ2aWNlcy9tcDN0dW5lcy9oYXJtb255 ZGFlbW9uL01wM3R1bmVzSGFybW9ueURhZW1vbi5jcHAKLWluZGV4IDViMDlmMDcuLmQ4YWUyOTUg MTAwNjQ0Ci0tLS0gYS9zcmMvc2VydmljZXMvbXAzdHVuZXMvaGFybW9ueWRhZW1vbi9NcDN0dW5l c0hhcm1vbnlEYWVtb24uY3BwCi0rKysgYi9zcmMvc2VydmljZXMvbXAzdHVuZXMvaGFybW9ueWRh ZW1vbi9NcDN0dW5lc0hhcm1vbnlEYWVtb24uY3BwCi1AQCAtMTU1LDggKzE1NSwxMSBAQCBNcDN0 dW5lc0hhcm1vbnlEYWVtb246OmluaXQoKQotIHsKLSAKLSAgICAgcURlYnVnKCkgIDw8ICJCZWdp biBpbml0aW5nIjsKLS0gICAgICAgIC8qIGdfdHlwZV9pbml0IHJlcXVpcmVkIGZvciB1c2luZyB0 aGUgR09iamVjdHMgZm9yIEhhcm1vbnkuICovCi0tICAgIGdfdHlwZV9pbml0KCk7Ci0rCi0rI2lm ICFHTElCX0NIRUNLX1ZFUlNJT04oMiwzNiwwKQotKyAgICAvKiBnX3R5cGVfaW5pdCByZXF1aXJl ZCBmb3IgdXNpbmcgdGhlIEdPYmplY3RzIGluIHZlcnNpb25zIG9mIGdsaWIgb2xkZXIgdGhhbiAy LjM2LiAqLwotKyAgICBnX3R5cGVfaW5pdCAoKTsKLSsjZW5kaWYKLSAKLSAgICAgbV9oYXJtb255 ID0gbXAzdHVuZXNfaGFybW9ueV9uZXcoKTsKLSAKLWRpZmYgLS1naXQgYS9zcmMvc2VydmljZXMv bXAzdHVuZXMvbGlibXAzdHVuZXMvaGFybW9ueS5jIGIvc3JjL3NlcnZpY2VzL21wM3R1bmVzL2xp Ym1wM3R1bmVzL2hhcm1vbnkuYwotaW5kZXggZWFkMDM0NS4uZGYwMGJlMiAxMDA2NDQKLS0tLSBh L3NyYy9zZXJ2aWNlcy9tcDN0dW5lcy9saWJtcDN0dW5lcy9oYXJtb255LmMKLSsrKyBiL3NyYy9z ZXJ2aWNlcy9tcDN0dW5lcy9saWJtcDN0dW5lcy9oYXJtb255LmMKLUBAIC02NDMsNyArNjQzLDcg QEAgZ2Jvb2xlYW4gbXAzdHVuZXNfaGFybW9ueV9kaXNjb25uZWN0KE1QM3R1bmVzSGFybW9ueSAq aGFybW9ueSwgR0Vycm9yKiogZXJyKSB7Ci0gICAgIGdib29sZWFuIHN1Y2Nlc3MgPSBjbG9zZV9j b25uZWN0aW9uKGhhcm1vbnkpOwotICAgICBoYXJtb255LT5jb25uZWN0ZWQgPSBGQUxTRTsKLSAg ICAgaWYgKHN1Y2Nlc3MgPT0gRkFMU0UpIHsKLS0gICAgICAgIGVyciA9ICZoYXJtb255LT5lcnJv cjsKLSsgICAgICAgICplcnIgPSBoYXJtb255LT5lcnJvcjsKLSAgICAgICAgIHJldHVybiBzdWNj ZXNzOwotICAgICB9Ci0gICAgIHJldHVybiBzdWNjZXNzOwotQEAgLTY1OCw3ICs2NTgsNyBAQCBn Ym9vbGVhbiBtcDN0dW5lc19oYXJtb255X2Nvbm5lY3QoTVAzdHVuZXNIYXJtb255KiBoYXJtb255 LCBHRXJyb3IqKiBlcnIpIHsKLSAgICAgc3VjY2VzcyA9IG9wZW5fY29ubmVjdGlvbihoYXJtb255 KTsKLSAKLSAgICAgaWYgKHN1Y2Nlc3MgPT0gRkFMU0UpIHsKLS0gICAgICAgIGVyciA9ICZoYXJt b255LT5lcnJvcjsKLSsgICAgICAgICplcnIgPSBoYXJtb255LT5lcnJvcjsKLSAgICAgICAgIG1w M3R1bmVzX2hhcm1vbnlfZGlzY29ubmVjdChoYXJtb255LCBlcnIpOwotICAgICAgICAgcmV0dXJu IHN1Y2Nlc3M7Ci0gICAgIH0KLWRpZmYgLS1naXQgYS9zcmMvc3RhdGVtYW5hZ2VtZW50L0RlZmF1 bHRBcHBsaWNhdGlvbkNvbnRyb2xsZXIuY3BwIGIvc3JjL3N0YXRlbWFuYWdlbWVudC9EZWZhdWx0 QXBwbGljYXRpb25Db250cm9sbGVyLmNwcAotaW5kZXggNTg4Njc4OS4uYWNjNDIxMyAxMDA2NDQK LS0tLSBhL3NyYy9zdGF0ZW1hbmFnZW1lbnQvRGVmYXVsdEFwcGxpY2F0aW9uQ29udHJvbGxlci5j cHAKLSsrKyBiL3NyYy9zdGF0ZW1hbmFnZW1lbnQvRGVmYXVsdEFwcGxpY2F0aW9uQ29udHJvbGxl ci5jcHAKLUBAIC0zMiw2ICszMiw3IEBAIERlZmF1bHRBcHBsaWNhdGlvbkNvbnRyb2xsZXI6OkRl ZmF1bHRBcHBsaWNhdGlvbkNvbnRyb2xsZXIoIFFPYmplY3QgKnBhcmVudCApCi0gICAgIC8vdGhl cmUgY2FuIGJlIG9ubHkgb25lIGFwcGxpY2F0aW9uY29udHJvbGxlcgotICAgICBBcHBsaWNhdGlv bkNvbnRyb2xsZXIgKm9sZENvbnRyb2xsZXIgPSBDb21wb25lbnRzOjpzZXRBcHBsaWNhdGlvbkNv bnRyb2xsZXIoIHRoaXMgKTsKLSAgICAgUV9BU1NFUlQoICFvbGRDb250cm9sbGVyICk7Ci0rICAg IFFfVU5VU0VEKCBvbGRDb250cm9sbGVyICk7Ci0gfQotIAotIERlZmF1bHRBcHBsaWNhdGlvbkNv bnRyb2xsZXI6On5EZWZhdWx0QXBwbGljYXRpb25Db250cm9sbGVyKCkKLUBAIC04OCw2ICs4OSw3 IEBAIERlZmF1bHRBcHBsaWNhdGlvbkNvbnRyb2xsZXI6OmluaXRFbmdpbmVDb250cm9sbGVyKCkK LSAgICAgQ29tcG9uZW50czo6c2V0RW5naW5lQ29udHJvbGxlciggY29udHJvbGxlciApOwotICAg ICBib29sIGludm9rZWQgPSBRTWV0YU9iamVjdDo6aW52b2tlTWV0aG9kKCBjb250cm9sbGVyLCAi aW5pdGlhbGl6ZVBob25vbiIsIFF0OjpEaXJlY3RDb25uZWN0aW9uICk7Ci0gICAgIFFfQVNTRVJU KCBpbnZva2VkICk7Ci0rICAgIFFfVU5VU0VEKCBpbnZva2VkICk7Ci0gfQotIAotIHZvaWQKLS0t IAotMi45LjMKLQoKZGlmZiAtLWdpdCBhLzAwMjktRml4LU1QUklTMi1EZXNrdG9wRW50cnktdmFs dWUucGF0Y2ggYi8wMDI5LUZpeC1NUFJJUzItRGVza3RvcEVudHJ5LXZhbHVlLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTFiOWZkLi4wMDAwMDAwCi0tLSBhLzAwMjktRml4 LU1QUklTMi1EZXNrdG9wRW50cnktdmFsdWUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSAr MCwwIEBACi1Gcm9tIDk0NDllYzU2ZDFmZDc3YTBiZmExZjcxMzRhMmJmNGY5MWZmZDE0ZDMgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnRvbmlvIFJvamFzIDxhcm9qYXNAYXJjaGxp bnV4Lm9yZz4KLURhdGU6IFNhdCwgMjAgQXVnIDIwMTYgMTM6MDk6MDIgKzAyMDAKLVN1YmplY3Q6 IFtQQVRDSCAyOS80N10gRml4IE1QUklTMiBEZXNrdG9wRW50cnkgdmFsdWUKLQotQWNjb3JkaW5n IHRvIHRoZSBNUFJJUzIgc3BlYywgdGhlIERlc2t0b3BFbnRyeSB2YWx1ZSBzaG91bGQgYmUKLSJ0 aGUgYmFzZW5hbWUgb2YgdGhlIC5kZXNrdG9wIGZpbGUiIFsxXSwgbm90IHRoZSBkZXNrdG9wLWZp bGUtaWQuIFNvCi1mb3IgYW1hcm9rIGl0IHNob3VsZCBiZSAiYW1hcm9rIiBhbmQgbm90ICJrZGU0 LWFtYXJvayIsIHJlZ2FyZGxlc3Mgb2YKLXdoZXJlIHRoZSBkZXNrdG9wIGZpbGUgaXMgaW5zdGFs bGVkLiBUaGlzIGZpeGVzIGRpc3BsYXlpbmcgTVBSSVMKLWNvbnRyb2xzIGluIHRoZSBBbWFyb2sg dGFza2JhciB0b29sdGlwIGluIFBsYXNtYSA1LjcKLQotWzFdIGh0dHBzOi8vc3BlY2lmaWNhdGlv bnMuZnJlZWRlc2t0b3Aub3JnL21wcmlzLXNwZWMvbGF0ZXN0L01lZGlhX1BsYXllci5odG1sI1By b3BlcnR5OkRlc2t0b3BFbnRyeQotCi1UZXN0aW5nIGRvbmUgYnkgQW50b25pbzoKLQotUGxheWVy IGNvbnRyb2xzIGFyZSBkaXNwbGF5ZWQgYWdhaW4gaW4gdGhlIEFtYXJvayB0YXNrYmFyIHRvb2x0 aXAgaW4gUGxhc21hIDUuNy4KLQotUkVWSUVXOiAxMjg0MTgKLUJVRzogMzY1Mjc1Ci1GSVhFRC1J TjogMi45Ci0tLS0KLSBDaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKysKLSBz cmMvZGJ1cy9tcHJpczIvTWVkaWFQbGF5ZXIyLmNwcCB8IDYgKy0tLS0tCi0gMiBmaWxlcyBjaGFu Z2VkLCAzIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMv ZGJ1cy9tcHJpczIvTWVkaWFQbGF5ZXIyLmNwcCBiL3NyYy9kYnVzL21wcmlzMi9NZWRpYVBsYXll cjIuY3BwCi1pbmRleCBjYmUxYTJhLi5hMWQxYmRhIDEwMDY0NAotLS0tIGEvc3JjL2RidXMvbXBy aXMyL01lZGlhUGxheWVyMi5jcHAKLSsrKyBiL3NyYy9kYnVzL21wcmlzMi9NZWRpYVBsYXllcjIu Y3BwCi1AQCAtOTQsMTEgKzk0LDcgQEAgUVN0cmluZyBNZWRpYVBsYXllcjI6OklkZW50aXR5KCkg Y29uc3QKLSAKLSBRU3RyaW5nIE1lZGlhUGxheWVyMjo6RGVza3RvcEVudHJ5KCkgY29uc3QKLSB7 Ci0tICAgIC8vIEFtYXJvayBkZXNrdG9wIGZpbGUgaXMgaW5zdGFsbGVkIGluICRwcmVmaXgvc2hh cmUvYXBwbGljYXRpb25zL2tkZTQvCi0tICAgIC8vIHJhdGhlciB0aGFuIGluICRwcmVmaXgvc2hh cmUvYXBwbGljYXRpb25zLiBUaGUgc3RhbmRhcmQgd2F5IHRvCi0tICAgIC8vIHJlcHJlc2VudCB0 aGlzIGRpciBpcyB3aXRoIGEgImtkZTQtIiBwcmVmaXguIFNlZToKLS0gICAgLy8gaHR0cDovL3N0 YW5kYXJkcy5mcmVlZGVza3RvcC5vcmcvbWVudS1zcGVjLzEuMC9nbzAxLmh0bWwjdGVybS1kZXNr dG9wLWZpbGUtaWQKLS0gICAgcmV0dXJuIFFMYXRpbjFTdHJpbmcoImtkZTQtYW1hcm9rIik7Ci0r ICAgIHJldHVybiBRTGF0aW4xU3RyaW5nKCJhbWFyb2siKTsKLSB9Ci0gCi0gUVN0cmluZ0xpc3Qg TWVkaWFQbGF5ZXIyOjpTdXBwb3J0ZWRVcmlTY2hlbWVzKCkgY29uc3QKLS0tIAotMi45LjMKLQoK ZGlmZiAtLWdpdCBhLzAwMzAtRml4LUNvbGxlY3Rpb24tQnJvd3Nlci1hdXRvLWV4cGFuZC1hZnRl ci1zZWFyY2gtZXhwYS5wYXRjaCBiLzAwMzAtRml4LUNvbGxlY3Rpb24tQnJvd3Nlci1hdXRvLWV4 cGFuZC1hZnRlci1zZWFyY2gtZXhwYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggYWU1NjhiZC4uMDAwMDAwMAotLS0gYS8wMDMwLUZpeC1Db2xsZWN0aW9uLUJyb3dzZXItYXV0 by1leHBhbmQtYWZ0ZXItc2VhcmNoLWV4cGEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMzAg KzAsMCBAQAotRnJvbSA5ZmIwMGU1YTk3NTc0YWYzZjBjYjIyZDc0MGRhN2UwY2QwNzYxZDc4IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP01hdD1DND05Qmo9MjBMYWl0 bD89IDxtYXRlakBsYWl0bC5jej4KLURhdGU6IE1vbiwgMTcgT2N0IDIwMTYgMDA6MDM6MTMgKzAy MDAKLVN1YmplY3Q6IFtQQVRDSCAzMC80N10gRml4IENvbGxlY3Rpb24gQnJvd3NlciBhdXRvLWV4 cGFuZCBhZnRlciBzZWFyY2gKLSBleHBhbmRpbmcgdG9vIGxpdHRsZQotCi1VbmRlcmx5aW5nIG1v ZGVsIGlzIGFzeW5jaHJvbm91cywgd2UgbmVlZCB0byBjb3BlIHdpdGggdGhhdC4gRG8gaXQKLXVz aW5nIGEgUkFJSSBzZWxmLWRlc3RydWN0aW5nIG9iamVjdCBBdXRvRXhwYW5kZXIuCi0KLUFzIGEg c2lkZS1lZmZlY3QsIEFtYXJvayBubyBsb25nZXIgZXhwYW5kcyBjb2xsZWN0aW9uIGFmdGVyIHN0 YXJ0IGluCi1zcGxpdCBjb2xsZWN0aW9uIG1vZGUuIElmIHRoaXMgaXMgZGVzaXJlZCwgd2UgbWF5 IGV4cGFuZCB0aGVtCi1leHBsaWNpdGx5IHVwb24gc3RhcnQuCi0KLUJVRzogMzM1MjE3Ci1GSVhF RC1JTjogMi45Ci1DQ0JVRzogMzAwNTU3Ci0tLS0KLSBDaGFuZ2VMb2cgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAxICsKLSBzcmMvYnJvd3NlcnMvQ29sbGVjdGlvblRyZWVWaWV3LmNwcCB8 IDg4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KLSAyIGZpbGVzIGNoYW5n ZWQsIDY5IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3Jj L2Jyb3dzZXJzL0NvbGxlY3Rpb25UcmVlVmlldy5jcHAgYi9zcmMvYnJvd3NlcnMvQ29sbGVjdGlv blRyZWVWaWV3LmNwcAotaW5kZXggODE2ZDJlMS4uNGI5NjU0MyAxMDA2NDQKLS0tLSBhL3NyYy9i cm93c2Vycy9Db2xsZWN0aW9uVHJlZVZpZXcuY3BwCi0rKysgYi9zcmMvYnJvd3NlcnMvQ29sbGVj dGlvblRyZWVWaWV3LmNwcAotQEAgLTExMCw2ICsxMTAsNzIgQEAgY2xhc3MgRGVsYXllZFNjcm9s bGVyIDogcHVibGljIFFPYmplY3QKLSAgICAgICAgIGludCBtX3RvcE9mZnNldDsKLSB9OwotIAot Ky8qKgotKyAqIFJBSUkgY2xhc3MgdG8gYXV0by1leHBhbmQgY29sbGVjdGlvbiB0cmVlIGVudHJp ZXMgYWZ0ZXIgZmlsdGVyaW5nLgotKyAqIEF1dG9FeHBhbmRlciBhdXRvLWRlbGV0ZXMgaXRzZWxm IG9uY2UgaXRzIGpvYiBpcyBvdmVyIChvciBpZiBpdCBmaW5kcwotKyAqIGl0IGlzIHVzZWxlc3Mp LgotKyAqLwotK2NsYXNzIEF1dG9FeHBhbmRlciA6IHB1YmxpYyBRT2JqZWN0Ci0rewotKyAgICBR X09CSkVDVAotKwotKyAgICBwdWJsaWM6Ci0rICAgICAgICBBdXRvRXhwYW5kZXIoIENvbGxlY3Rp b25UcmVlVmlldyAqdHJlZVZpZXcsCi0rICAgICAgICAgICAgICAgICAgICAgIENvbGxlY3Rpb25U cmVlSXRlbU1vZGVsQmFzZSAqdHJlZU1vZGVsLAotKyAgICAgICAgICAgICAgICAgICAgICBRQWJz dHJhY3RJdGVtTW9kZWwgKmZpbHRlck1vZGVsKQotKyAgICAgICAgICAgIDogUU9iamVjdCggdHJl ZVZpZXcgKQotKyAgICAgICAgICAgICwgbV90cmVlVmlldyggdHJlZVZpZXcgKQotKyAgICAgICAg ICAgICwgbV9maWx0ZXJNb2RlbCggZmlsdGVyTW9kZWwgKQotKyAgICAgICAgewotKyAgICAgICAg ICAgIGNvbm5lY3QoIGZpbHRlck1vZGVsLCBTSUdOQUwoZGVzdHJveWVkKFFPYmplY3QqKSksIFNM T1QoZGVsZXRlTGF0ZXIoKSkgKTsKLSsgICAgICAgICAgICBjb25uZWN0KCB0cmVlTW9kZWwsIFNJ R05BTChhbGxRdWVyaWVzRmluaXNoZWQoYm9vbCkpLCBTTE9UKHNsb3RFeHBhbmRNb3JlKCkpICk7 Ci0rCi0rICAgICAgICAgICAgLy8gc3RhcnQgd2l0aCB0aGUgcm9vdCBpbmRleAotKyAgICAgICAg ICAgIG1faW5kaWNlc1RvQ2hlY2suZW5xdWV1ZSggUU1vZGVsSW5kZXgoKSApOwotKyAgICAgICAg ICAgIHNsb3RFeHBhbmRNb3JlKCk7Ci0rICAgICAgICB9Ci0rCi0rICAgIHByaXZhdGUgc2xvdHM6 Ci0rICAgICAgICB2b2lkIHNsb3RFeHBhbmRNb3JlKCkKLSsgICAgICAgIHsKLSsgICAgICAgICAg ICBjb25zdCBpbnQgbWF4Q2hpbGRyZW5Ub0V4cGFuZCA9IDM7Ci0rCi0rICAgICAgICAgICAgUVF1 ZXVlPFFNb2RlbEluZGV4PiBwZW5kaW5nSW5kaWNlczsKLSsgICAgICAgICAgICB3aGlsZSggIW1f aW5kaWNlc1RvQ2hlY2suaXNFbXB0eSgpICkKLSsgICAgICAgICAgICB7Ci0rICAgICAgICAgICAg ICAgIFFNb2RlbEluZGV4IGN1cnJlbnQgPSBtX2luZGljZXNUb0NoZWNrLmRlcXVldWUoKTsKLSsK LSsgICAgICAgICAgICAgICAgaWYoIG1fZmlsdGVyTW9kZWwtPmNhbkZldGNoTW9yZSggY3VycmVu dCApICkKLSsgICAgICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgICAgICAgbV9maWx0ZXJN b2RlbC0+ZmV0Y2hNb3JlKCBjdXJyZW50ICk7Ci0rICAgICAgICAgICAgICAgICAgICBwZW5kaW5n SW5kaWNlcy5lbnF1ZXVlKCBjdXJyZW50ICk7Ci0rICAgICAgICAgICAgICAgICAgICBjb250aW51 ZTsKLSsgICAgICAgICAgICAgICAgfQotKwotKyAgICAgICAgICAgICAgICBpZiggbV9maWx0ZXJN b2RlbC0+cm93Q291bnQoIGN1cnJlbnQgKSA8PSBtYXhDaGlsZHJlblRvRXhwYW5kICkKLSsgICAg ICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgICAgICAgbV90cmVlVmlldy0+ZXhwYW5kKCBj dXJyZW50ICk7Ci0rICAgICAgICAgICAgICAgICAgICBmb3IoIGludCBpID0gMDsgaSA8IG1fZmls dGVyTW9kZWwtPnJvd0NvdW50KCBjdXJyZW50ICk7IGkrKyApCi0rICAgICAgICAgICAgICAgICAg ICAgICAgbV9pbmRpY2VzVG9DaGVjay5lbnF1ZXVlKCBtX2ZpbHRlck1vZGVsLT5pbmRleCggaSwg MCwgY3VycmVudCApICk7Ci0rICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICB9Ci0rCi0r ICAgICAgICAgICAgaWYoIHBlbmRpbmdJbmRpY2VzLmlzRW1wdHkoKSApCi0rICAgICAgICAgICAg ICAgIC8vIG5vdGhpbmcgbGVmdCB0byBkbwotKyAgICAgICAgICAgICAgICBkZWxldGVMYXRlcigp OwotKyAgICAgICAgICAgIGVsc2UKLSsgICAgICAgICAgICAgICAgLy8gcHJvY2VzcyBwZW5kaW5n IGluZGljZXMgd2hlbiBxdWVyaWVzIGZpbmlzaAotKyAgICAgICAgICAgICAgICBtX2luZGljZXNU b0NoZWNrLnN3YXAoIHBlbmRpbmdJbmRpY2VzICk7Ci0rICAgICAgICB9Ci0rCi0rICAgIHByaXZh dGU6Ci0rICAgICAgICBRX0RJU0FCTEVfQ09QWShBdXRvRXhwYW5kZXIpCi0rCi0rICAgICAgICBD b2xsZWN0aW9uVHJlZVZpZXcgKm1fdHJlZVZpZXc7Ci0rICAgICAgICBRQWJzdHJhY3RJdGVtTW9k ZWwgKm1fZmlsdGVyTW9kZWw7Ci0rICAgICAgICBRUXVldWU8UU1vZGVsSW5kZXg+IG1faW5kaWNl c1RvQ2hlY2s7Ci0rfTsKLSsKLSBDb2xsZWN0aW9uVHJlZVZpZXc6OkNvbGxlY3Rpb25UcmVlVmll dyggUVdpZGdldCAqcGFyZW50KQotICAgICA6IEFtYXJvazo6UHJldHR5VHJlZVZpZXcoIHBhcmVu dCApCi0gICAgICwgbV9maWx0ZXJNb2RlbCggMCApCi1AQCAtNzA4LDI2ICs3NzQsOCBAQCBDb2xs ZWN0aW9uVHJlZVZpZXc6OnNsb3RDaGVja0F1dG9FeHBhbmQoIGJvb2wgcmVhbGx5RXhwYW5kICkK LSAgICAgaWYoICFtX2ZpbHRlck1vZGVsIHx8ICFyZWFsbHlFeHBhbmQgKQotICAgICAgICAgcmV0 dXJuOwotIAotLSAgICAvLyBDYXNlcyB3aGVyZSByb290IGlzIG5vdCBjb2xsZWN0aW9ucyBidXQK LS0gICAgLy8gZm9yIGV4YW1wbGUgbWFnbmF0dW5lcydzIHBsZXRob3JhIG9mIGdlbnJlcywgZG9u J3QgZXhwYW5kIGJ5IGRlZmF1bHQKLS0gICAgaWYoIG1fZmlsdGVyTW9kZWwtPnJvd0NvdW50KCkg PiA2ICkKLS0gICAgICAgIHJldHVybjsKLS0KLS0gICAgUU1vZGVsSW5kZXhMaXN0IGluZGljZXNU b0NoZWNrOwotLSAgICBmb3IoIGludCBpID0gMDsgaSA8IG1fZmlsdGVyTW9kZWwtPnJvd0NvdW50 KCk7IGkrKyApIC8vbmVlZCBzb21ldGhpbmcgdG8gc3RhcnQgZm9yJ2luZyB3aXRoCi0tICAgICAg ICBpbmRpY2VzVG9DaGVjayArPSBtX2ZpbHRlck1vZGVsLT5pbmRleCggaSwgMCApOyAvL2xvd2Vz dCBsZXZlbCBpcyBmaW5lIGZvciB0aGF0Ci0tCi0tICAgIFFNb2RlbEluZGV4IGN1cnJlbnQ7Ci0t ICAgIGZvciggaW50IGogPSAwOyBqIDwgaW5kaWNlc1RvQ2hlY2suc2l6ZSgpOyBqKyspCi0tICAg IHsKLS0gICAgICAgIGN1cnJlbnQgPSBpbmRpY2VzVG9DaGVjay5hdCggaiApOwotLSAgICAgICAg aWYoIG1fZmlsdGVyTW9kZWwtPnJvd0NvdW50KCBjdXJyZW50ICkgPCA0ICkKLS0gICAgICAgIHsg Ly9kb24ndCBleHBhbmQgaWYgbWFueSByZXN1bHRzCi0tICAgICAgICAgICAgZXhwYW5kKCBjdXJy ZW50ICk7Ci0tICAgICAgICAgICAgZm9yKCBpbnQgaSA9IDA7IGkgPCBtX2ZpbHRlck1vZGVsLT5y b3dDb3VudCggY3VycmVudCApOyBpKysgKQotLSAgICAgICAgICAgICAgICBpbmRpY2VzVG9DaGVj ayArPSBtX2ZpbHRlck1vZGVsLT5pbmRleCggaSwgMCwgY3VycmVudCApOwotLSAgICAgICAgfQot LSAgICB9Ci0rICAgIC8vIGF1dG8tZGVsZXRlcyBpdHNlbGY6Ci0rICAgIG5ldyBBdXRvRXhwYW5k ZXIoIHRoaXMsIG1fdHJlZU1vZGVsLCBtX2ZpbHRlck1vZGVsICk7Ci0gfQotIAotIHZvaWQKLS0t IAotMi45LjMKLQoKZGlmZiAtLWdpdCBhLzAwMzYtRml4LUJ1Zy0zMDIyOTktQXV0b3Njcm9sbGlu Zy1MeXJpY3MtYXJlLXNjcm9sbGluZy1kby5wYXRjaCBiLzAwMzYtRml4LUJ1Zy0zMDIyOTktQXV0 b3Njcm9sbGluZy1MeXJpY3MtYXJlLXNjcm9sbGluZy1kby5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggOTA0OWU1ZC4uMDAwMDAwMAotLS0gYS8wMDM2LUZpeC1CdWctMzAyMjk5 LUF1dG9zY3JvbGxpbmctTHlyaWNzLWFyZS1zY3JvbGxpbmctZG8ucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwxMDIgKzAsMCBAQAotRnJvbSAyYThjYjM3ODVlNTBjY2IwZDU1MTQ0MmUzMTMzYWMx Y2M2YzJlOGY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWWFzaCBMYWRpYSA8eWFz aGxhZGlhMUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDQgRmViIDIwMTcgMTE6MzM6NDggKzAxMDAK LVN1YmplY3Q6IFtQQVRDSCAzNi80N10gRml4IEJ1ZyAzMDIyOTkgLSBBdXRvc2Nyb2xsaW5nIEx5 cmljcyBhcmUgc2Nyb2xsaW5nCi0gZG93biBpZiBhIHNvbmcgaXMgcmF0ZWQgdmlhIENvbnRleHQg QnJvd3NlcidzIEN1cnJlbnQgVHJhY2sKLQotVGhlIGJ1ZyB3YXMgb2NjdXJpbmcgc2luY2UgJ3Vz ZXJBdXRvU2Nyb2xsT2Zmc2V0JyBhbmQgJ29sZFNsaWRlclBvc2l0aW9uJyB3ZXJlIGJlaW5nIHJl c2V0IHdoZW4gdHJhY2sgbWV0YWRhdGEgd2FzIGNoYW5nZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBw ZW4uCi0KLUkgc3BsaXQgdGhlIGZ1bmN0aW9uOiAndm9pZCBfdHJhY2tEYXRhQ2hhbmdlZCggTWV0 YTo6VHJhY2tQdHIgKScgaW50byAndm9pZCBfdHJhY2tDaGFuZ2VkKCBNZXRhOjpUcmFja1B0ciAp JyBhbmQgJ3ZvaWQgX3RyYWNrTWV0YWRhdGFDaGFuZ2VkKCBNZXRhOjpUcmFja1B0ciApJwotCi1S RVZJRVc6IDExNjY0MQotQlVHUzogMzAyMjk5Ci0tLS0KLSBzcmMvY29udGV4dC9hcHBsZXRzL2x5 cmljcy9MeXJpY3NBcHBsZXQuY3BwIHwgMTggKysrKysrKysrKysrKy0tLS0tCi0gc3JjL2NvbnRl eHQvYXBwbGV0cy9seXJpY3MvTHlyaWNzQXBwbGV0LmggICB8ICA0ICsrKy0KLSAyIGZpbGVzIGNo YW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9z cmMvY29udGV4dC9hcHBsZXRzL2x5cmljcy9MeXJpY3NBcHBsZXQuY3BwIGIvc3JjL2NvbnRleHQv YXBwbGV0cy9seXJpY3MvTHlyaWNzQXBwbGV0LmNwcAotaW5kZXggODI5YTE2Ni4uODk2YTA0MiAx MDA2NDQKLS0tLSBhL3NyYy9jb250ZXh0L2FwcGxldHMvbHlyaWNzL0x5cmljc0FwcGxldC5jcHAK LSsrKyBiL3NyYy9jb250ZXh0L2FwcGxldHMvbHlyaWNzL0x5cmljc0FwcGxldC5jcHAKLUBAIC0x LDYgKzEsNyBAQAotIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJp Z2h0IChjKSAyMDA3IExlbyBGcmFuY2hpIDxsZnJhbmNoaUBnbWFpbC5jb20+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICoKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgc2ltb24uZXNu ZWF1bHQgPHNpbW9uLmVzbmVhdWx0QGdtYWlsLmNvbT4gICAgICAgICAgICAgICAgICAgICAgICAg KgotKyAqIENvcHlyaWdodCAoYykgMjAxNCBZYXNoIExhZGlhIDx5YXNobGFkaWExQGdtYWlsLmNv bT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0gICogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICoKLSAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciAgICAgICAgKgotICAqIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 IHRoZSBGcmVlIFNvZnR3YXJlICAgICAgICAqCi1AQCAtODAsNyArODEsOCBAQCBwdWJsaWM6Ci0g ICAgIHZvaWQgX3RvZ2dsZUF1dG9TY3JvbGwoKTsKLSAgICAgdm9pZCBfc3VnZ2VzdGlvbkNob3Nl biggY29uc3QgTHlyaWNzU3VnZ2VzdGlvbiAmc3VnZ2VzdGlvbiApOwotICAgICB2b2lkIF91bnNl dEN1cnNvcigpOwotLSAgICB2b2lkIF90cmFja0RhdGFDaGFuZ2VkKCBNZXRhOjpUcmFja1B0ciAp OwotKyAgICB2b2lkIF90cmFja0NoYW5nZWQoIE1ldGE6OlRyYWNrUHRyICk7Ci0rICAgIHZvaWQg X3RyYWNrTWV0YWRhdGFDaGFuZ2VkKCBNZXRhOjpUcmFja1B0ciApOwotICAgICB2b2lkIF90cmFj a1Bvc2l0aW9uQ2hhbmdlZCggcWludDY0IHBvc2l0aW9uLCBib29sIHVzZXJTZWVrICk7Ci0gCi0g ICAgIHZvaWQgX2x5cmljc0NoYW5nZWRNZXNzYWdlQnV0dG9uUHJlc3NlZCggY29uc3QgUGxhc21h OjpNZXNzYWdlQnV0dG9uIGJ1dHRvbiApOwotQEAgLTM2OSwxMSArMzcxLDE3IEBAIEx5cmljc0Fw cGxldFByaXZhdGU6Ol91bnNldEN1cnNvcigpCi0gfQotIAotIHZvaWQKLS1MeXJpY3NBcHBsZXRQ cml2YXRlOjpfdHJhY2tEYXRhQ2hhbmdlZCggTWV0YTo6VHJhY2tQdHIgdHJhY2sgKQotK0x5cmlj c0FwcGxldFByaXZhdGU6Ol90cmFja0NoYW5nZWQoIE1ldGE6OlRyYWNrUHRyIHRyYWNrICkKLSB7 Ci0gICAgIHVzZXJBdXRvU2Nyb2xsT2Zmc2V0ID0gMDsKLSAgICAgb2xkU2xpZGVyUG9zaXRpb24g PSAwOwotKyAgICAvLyBtZXRhIGRhdGEgYWxzbyBjaGFuZ2VkLCBzbyB0byBhdm9pZCBjb2RlIGR1 cGxpY2F0aW9uCi0rICAgIF90cmFja01ldGFkYXRhQ2hhbmdlZCggdHJhY2sgKTsKLSt9Ci0gCi0r dm9pZAotK0x5cmljc0FwcGxldFByaXZhdGU6Ol90cmFja01ldGFkYXRhQ2hhbmdlZCggTWV0YTo6 VHJhY2tQdHIgdHJhY2sgKQotK3sKLSAgICAgLy8gQ2hlY2sgaWYgd2UgcHJldmlvdXNseSBoYWQg YSB0cmFjay4KLSAgICAgLy8gSWYgdGhlIGx5cmljcyBjdXJyZW50bHkgc2hvd24gaW4gdGhlIGJy b3dzZXIgKHdoaWNoCi0gICAgIC8vIGFkZGl0aW9uYWxseSBpcyBpbiBlZGl0IG1vZGUpIGFyZSBk aWZmZXJlbnQgZnJvbSB0aGUKLUBAIC01MTIsMTUgKzUyMCwxNSBAQCBMeXJpY3NBcHBsZXQ6Omlu aXQoKQotIAotICAgICBFbmdpbmVDb250cm9sbGVyKiBlbmdpbmUgPSBUaGU6OmVuZ2luZUNvbnRy b2xsZXIoKTsKLSAKLS0gICAgY29ubmVjdCggZW5naW5lLCBTSUdOQUwodHJhY2tDaGFuZ2VkKE1l dGE6OlRyYWNrUHRyKSksIHRoaXMsIFNMT1QoX3RyYWNrRGF0YUNoYW5nZWQoTWV0YTo6VHJhY2tQ dHIpKSApOwotLSAgICBjb25uZWN0KCBlbmdpbmUsIFNJR05BTCh0cmFja01ldGFkYXRhQ2hhbmdl ZChNZXRhOjpUcmFja1B0cikpLCB0aGlzLCBTTE9UKF90cmFja0RhdGFDaGFuZ2VkKE1ldGE6OlRy YWNrUHRyKSkgKTsKLSsgICAgY29ubmVjdCggZW5naW5lLCBTSUdOQUwodHJhY2tDaGFuZ2VkKE1l dGE6OlRyYWNrUHRyKSksIHRoaXMsIFNMT1QoX3RyYWNrQ2hhbmdlZChNZXRhOjpUcmFja1B0cikp ICk7Ci0rICAgIGNvbm5lY3QoIGVuZ2luZSwgU0lHTkFMKHRyYWNrTWV0YWRhdGFDaGFuZ2VkKE1l dGE6OlRyYWNrUHRyKSksIHRoaXMsIFNMT1QoX3RyYWNrTWV0YWRhdGFDaGFuZ2VkKE1ldGE6OlRy YWNrUHRyKSkgKTsKLSAgICAgY29ubmVjdCggZW5naW5lLCBTSUdOQUwodHJhY2tQb3NpdGlvbkNo YW5nZWQocWludDY0LGJvb2wpKSwgdGhpcywgU0xPVChfdHJhY2tQb3NpdGlvbkNoYW5nZWQocWlu dDY0LGJvb2wpKSApOwotICAgICBjb25uZWN0KCBkLT5zdWdnZXN0VmlldywgU0lHTkFMKHNlbGVj dGVkKEx5cmljc1N1Z2dlc3Rpb24pKSwgU0xPVChfc3VnZ2VzdGlvbkNob3NlbihMeXJpY3NTdWdn ZXN0aW9uKSkgKTsKLSAgICAgY29ubmVjdCggZGF0YUVuZ2luZSgiYW1hcm9rLWx5cmljcyIpLCBT SUdOQUwoc291cmNlQWRkZWQoUVN0cmluZykpLCB0aGlzLCBTTE9UKGNvbm5lY3RTb3VyY2UoUVN0 cmluZykpICk7Ci0gCi0gICAgIC8vIFRoaXMgaXMgbmVlZGVkIGFzIGEgdHJhY2sgbWlnaHQgYmUg cGxheWluZyB3aGVuIHRoZSBseXJpY3MgYXBwbGV0Ci0gICAgIC8vIGlzIGFkZGVkIHRvIHRoZSBD b250ZXh0Vmlldy4KLS0gICAgZC0+X3RyYWNrRGF0YUNoYW5nZWQoIGVuZ2luZS0+Y3VycmVudFRy YWNrKCkgKTsKLSsgICAgZC0+X3RyYWNrQ2hhbmdlZCggZW5naW5lLT5jdXJyZW50VHJhY2soKSAp OwotICAgICBkLT5fdHJhY2tQb3NpdGlvbkNoYW5nZWQoIGVuZ2luZS0+dHJhY2tQb3NpdGlvbk1z KCksIGZhbHNlICk7Ci0gCi0gICAgIGQtPmRldGVybWluZUFjdGlvbkljb25zU3RhdGUoKTsKLWRp ZmYgLS1naXQgYS9zcmMvY29udGV4dC9hcHBsZXRzL2x5cmljcy9MeXJpY3NBcHBsZXQuaCBiL3Ny Yy9jb250ZXh0L2FwcGxldHMvbHlyaWNzL0x5cmljc0FwcGxldC5oCi1pbmRleCAyMGM3MWQ4Li41 MjhhMzIzIDEwMDY0NAotLS0tIGEvc3JjL2NvbnRleHQvYXBwbGV0cy9seXJpY3MvTHlyaWNzQXBw bGV0LmgKLSsrKyBiL3NyYy9jb250ZXh0L2FwcGxldHMvbHlyaWNzL0x5cmljc0FwcGxldC5oCi1A QCAtMSw2ICsxLDcgQEAKLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENv cHlyaWdodCAoYykgMjAwNyBMZW8gRnJhbmNoaSA8bGZyYW5jaGlAZ21haWwuY29tPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0gICogQ29weXJpZ2h0IChjKSAyMDA5IHNpbW9u LmVzbmVhdWx0IDxzaW1vbi5lc25lYXVsdEBnbWFpbC5jb20+ICAgICAgICAgICAgICAgICAgICAg ICAgICoKLSsgKiBDb3B5cmlnaHQgKGMpIDIwMTQgWWFzaCBMYWRpYSA8eWFzaGxhZGlhMUBnbWFp bC5jb20+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgotICAqICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAqCi0gICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgICAgICAgICoKLSAg KiB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSAgICAgICAgKgotQEAgLTU3LDcgKzU4LDggQEAgcHJpdmF0 ZToKLSAgICAgUV9QUklWQVRFX1NMT1QoIGRfcHRyLCB2b2lkIF90b2dnbGVBdXRvU2Nyb2xsKCkg KQotICAgICBRX1BSSVZBVEVfU0xPVCggZF9wdHIsIHZvaWQgX3N1Z2dlc3Rpb25DaG9zZW4oTHly aWNzU3VnZ2VzdGlvbikgKQotICAgICBRX1BSSVZBVEVfU0xPVCggZF9wdHIsIHZvaWQgX3Vuc2V0 Q3Vyc29yKCkgKQotLSAgICBRX1BSSVZBVEVfU0xPVCggZF9wdHIsIHZvaWQgX3RyYWNrRGF0YUNo YW5nZWQoIE1ldGE6OlRyYWNrUHRyICkgKQotKyAgICBRX1BSSVZBVEVfU0xPVCggZF9wdHIsIHZv aWQgX3RyYWNrQ2hhbmdlZCggTWV0YTo6VHJhY2tQdHIgKSApCi0rICAgIFFfUFJJVkFURV9TTE9U KCBkX3B0ciwgdm9pZCBfdHJhY2tNZXRhZGF0YUNoYW5nZWQoIE1ldGE6OlRyYWNrUHRyICkgKQot ICAgICBRX1BSSVZBVEVfU0xPVCggZF9wdHIsIHZvaWQgX3RyYWNrUG9zaXRpb25DaGFuZ2VkKCBx aW50NjQgcG9zaXRpb24sIGJvb2wgdXNlclNlZWsgKSApCi0gICAgIFFfUFJJVkFURV9TTE9UKCBk X3B0ciwgdm9pZCBfbHlyaWNzQ2hhbmdlZE1lc3NhZ2VCdXR0b25QcmVzc2VkKGNvbnN0IFBsYXNt YTo6TWVzc2FnZUJ1dHRvbikgKQotICAgICBRX1BSSVZBVEVfU0xPVCggZF9wdHIsIHZvaWQgX3Jl ZmV0Y2hNZXNzYWdlQnV0dG9uUHJlc3NlZChjb25zdCBQbGFzbWE6Ok1lc3NhZ2VCdXR0b24pICkK LS0tIAotMi45LjMKLQoKZGlmZiAtLWdpdCBhLzAwMzctRml4LW1pbm9yLXR5cG8ucGF0Y2ggYi8w MDM3LUZpeC1taW5vci10eXBvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl YjYzMmRjLi4wMDAwMDAwCi0tLSBhLzAwMzctRml4LW1pbm9yLXR5cG8ucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSw0MiArMCwwIEBACi1Gcm9tIDBmZWI2MjUxOTI1ZmUwNDljNDZjY2Y1MTUzZGI0 YjQ2N2YzNTQ0ZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2JlcnQgTWFyc2hh bGwgPHJvYmVydEBjYXB1Y2hpbi5jby51az4KLURhdGU6IFNhdCwgNCBGZWIgMjAxNyAxODo0OTo0 MSArMDEwMAotU3ViamVjdDogW1BBVENIIDM3LzQ3XSBGaXggbWlub3IgdHlwbwotCi1hZGQgdGhl IHdvcmQgJ3NwZWNpZnknIHRvIHRleHQKLQotUkVWSUVXOiAxMjM2MzUKLS0tLQotIHNyYy9wbGF5 bGlzdGdlbmVyYXRvci9jb25zdHJhaW50cy9QbGF5bGlzdEZpbGVTaXplRWRpdFdpZGdldC51aSB8 IDIgKy0KLSBzcmMvcGxheWxpc3RnZW5lcmF0b3IvY29uc3RyYWludHMvUGxheWxpc3RMZW5ndGhF ZGl0V2lkZ2V0LnVpICAgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvcGxheWxpc3RnZW5lcmF0b3IvY29u c3RyYWludHMvUGxheWxpc3RGaWxlU2l6ZUVkaXRXaWRnZXQudWkgYi9zcmMvcGxheWxpc3RnZW5l cmF0b3IvY29uc3RyYWludHMvUGxheWxpc3RGaWxlU2l6ZUVkaXRXaWRnZXQudWkKLWluZGV4IGZj ZTVjNTQuLjQwYTlhYjIgMTAwNjQ0Ci0tLS0gYS9zcmMvcGxheWxpc3RnZW5lcmF0b3IvY29uc3Ry YWludHMvUGxheWxpc3RGaWxlU2l6ZUVkaXRXaWRnZXQudWkKLSsrKyBiL3NyYy9wbGF5bGlzdGdl bmVyYXRvci9jb25zdHJhaW50cy9QbGF5bGlzdEZpbGVTaXplRWRpdFdpZGdldC51aQotQEAgLTEy LDcgKzEyLDcgQEAKLSAgICA8L3JlY3Q+Ci0gICA8L3Byb3BlcnR5PgotICAgPHByb3BlcnR5IG5h bWU9IndoYXRzVGhpcyI+Ci0tICAgPHN0cmluZz5BbiBlZGl0b3IgZm9yIGEgUGxheWxpc3QgTGVu Z3RoIGNvbnN0cmFpbnQuICBUaGUgdXNlciBjYW4gdGhlIHRhcmdldCBudW1iZXIgb2YgdHJhY2tz IGFuZCB3aGV0aGVyIHRoZSBwbGF5bGlzdCBjb250YWluIGZld2VyIHRoYW4sIGVxdWFsIHRvLCBv ciBtb3JlIHRoYW4gdGhhdCBudW1iZXIgb2YgdHJhY2tzOyBhbmQgdGhlIHN0cmljdG5lc3Mgd2l0 aCB3aGljaCB0aGUgQVBHIHNob3VsZCBtYXRjaCB0aGUgdGFyZ2V0IG51bWJlciBvZiB0cmFja3Mu PC9zdHJpbmc+Ci0rICAgPHN0cmluZz5BbiBlZGl0b3IgZm9yIGEgUGxheWxpc3QgTGVuZ3RoIGNv bnN0cmFpbnQuICBUaGUgdXNlciBjYW4gc3BlY2lmeSB0aGUgdGFyZ2V0IG51bWJlciBvZiB0cmFj a3MgYW5kIHdoZXRoZXIgdGhlIHBsYXlsaXN0IGNvbnRhaW4gZmV3ZXIgdGhhbiwgZXF1YWwgdG8s IG9yIG1vcmUgdGhhbiB0aGF0IG51bWJlciBvZiB0cmFja3M7IGFuZCB0aGUgc3RyaWN0bmVzcyB3 aXRoIHdoaWNoIHRoZSBBUEcgc2hvdWxkIG1hdGNoIHRoZSB0YXJnZXQgbnVtYmVyIG9mIHRyYWNr cy48L3N0cmluZz4KLSAgIDwvcHJvcGVydHk+Ci0gICA8bGF5b3V0IGNsYXNzPSJRVkJveExheW91 dCIgbmFtZT0idmVydGljYWxMYXlvdXQiPgotICAgIDxpdGVtPgotZGlmZiAtLWdpdCBhL3NyYy9w bGF5bGlzdGdlbmVyYXRvci9jb25zdHJhaW50cy9QbGF5bGlzdExlbmd0aEVkaXRXaWRnZXQudWkg Yi9zcmMvcGxheWxpc3RnZW5lcmF0b3IvY29uc3RyYWludHMvUGxheWxpc3RMZW5ndGhFZGl0V2lk Z2V0LnVpCi1pbmRleCBmOTc2OTdhLi4yMDZjOTFmIDEwMDY0NAotLS0tIGEvc3JjL3BsYXlsaXN0 Z2VuZXJhdG9yL2NvbnN0cmFpbnRzL1BsYXlsaXN0TGVuZ3RoRWRpdFdpZGdldC51aQotKysrIGIv c3JjL3BsYXlsaXN0Z2VuZXJhdG9yL2NvbnN0cmFpbnRzL1BsYXlsaXN0TGVuZ3RoRWRpdFdpZGdl dC51aQotQEAgLTEyLDcgKzEyLDcgQEAKLSAgICA8L3JlY3Q+Ci0gICA8L3Byb3BlcnR5PgotICAg PHByb3BlcnR5IG5hbWU9IndoYXRzVGhpcyI+Ci0tICAgPHN0cmluZz5BbiBlZGl0b3IgZm9yIGEg UGxheWxpc3QgTGVuZ3RoIGNvbnN0cmFpbnQuICBUaGUgdXNlciBjYW4gdGhlIHRhcmdldCBudW1i ZXIgb2YgdHJhY2tzIGFuZCB3aGV0aGVyIHRoZSBwbGF5bGlzdCBjb250YWluIGZld2VyIHRoYW4s IGVxdWFsIHRvLCBvciBtb3JlIHRoYW4gdGhhdCBudW1iZXIgb2YgdHJhY2tzOyBhbmQgdGhlIHN0 cmljdG5lc3Mgd2l0aCB3aGljaCB0aGUgQVBHIHNob3VsZCBtYXRjaCB0aGUgdGFyZ2V0IG51bWJl ciBvZiB0cmFja3MuPC9zdHJpbmc+Ci0rICAgPHN0cmluZz5BbiBlZGl0b3IgZm9yIGEgUGxheWxp c3QgTGVuZ3RoIGNvbnN0cmFpbnQuICBUaGUgdXNlciBjYW4gc3BlY2lmeSB0aGUgdGFyZ2V0IG51 bWJlciBvZiB0cmFja3MgYW5kIHdoZXRoZXIgdGhlIHBsYXlsaXN0IGNvbnRhaW4gZmV3ZXIgdGhh biwgZXF1YWwgdG8sIG9yIG1vcmUgdGhhbiB0aGF0IG51bWJlciBvZiB0cmFja3M7IGFuZCB0aGUg c3RyaWN0bmVzcyB3aXRoIHdoaWNoIHRoZSBBUEcgc2hvdWxkIG1hdGNoIHRoZSB0YXJnZXQgbnVt YmVyIG9mIHRyYWNrcy48L3N0cmluZz4KLSAgIDwvcHJvcGVydHk+Ci0gICA8bGF5b3V0IGNsYXNz PSJRVkJveExheW91dCIgbmFtZT0idmVydGljYWxMYXlvdXQiPgotICAgIDxpdGVtPgotLS0gCi0y LjkuMwotCgpkaWZmIC0tZ2l0IGEvMDAzOC1GaXgtYW1hcm9rLWJ1aWxkLXdpdGgtTGliT0ZBLXVz aW5nLWZmbXBlZy0zLnBhdGNoIGIvMDAzOC1GaXgtYW1hcm9rLWJ1aWxkLXdpdGgtTGliT0ZBLXVz aW5nLWZmbXBlZy0zLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWE3NGM4 Li4wMDAwMDAwCi0tLSBhLzAwMzgtRml4LWFtYXJvay1idWlsZC13aXRoLUxpYk9GQS11c2luZy1m Zm1wZWctMy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLUZyb20gNTUzNWJl ODYzNWQzZjc0Y2NjNzc0ZWUyOGUwODA0ZDdhYWVlZWM0MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IEFsZXhpcyBCQUxMSUVSIDxhYmFsbGllckBnZW50b28ub3JnPgotRGF0ZTogU3Vu LCAxMiBGZWIgMjAxNyAxNzo0Mjo1MCArMDEwMAotU3ViamVjdDogW1BBVENIIDM4LzQ3XSBGaXgg YW1hcm9rIGJ1aWxkIHdpdGggTGliT0ZBIHVzaW5nIGZmbXBlZyAzKwotCi1UZXN0aW5nIERvbmU6 Ci1odHRwczovL2J1Z3MuZ2VudG9vLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAxODAwCi0KLVJFVklF VzogMTI5NjI2Ci0tLS0KLSBzcmMvbXVzaWNicmFpbnovTXVzaWNETlNBdWRpb0RlY29kZXIuY3Bw IHwgMTIgKysrKysrLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBk ZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9tdXNpY2JyYWluei9NdXNpY0ROU0F1ZGlv RGVjb2Rlci5jcHAgYi9zcmMvbXVzaWNicmFpbnovTXVzaWNETlNBdWRpb0RlY29kZXIuY3BwCi1p bmRleCBlYTM5YTFiLi40Mzc2N2Q1IDEwMDY0NAotLS0tIGEvc3JjL211c2ljYnJhaW56L011c2lj RE5TQXVkaW9EZWNvZGVyLmNwcAotKysrIGIvc3JjL211c2ljYnJhaW56L011c2ljRE5TQXVkaW9E ZWNvZGVyLmNwcAotQEAgLTIyMyw3ICsyMjMsNyBAQCBNdXNpY0ROU0F1ZGlvRGVjb2Rlcjo6ZGVj b2RlKCBjb25zdCBRU3RyaW5nICZmaWxlTmFtZSwgRGVjb2RlZEF1ZGlvRGF0YSAqZGF0YSwgYwot ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgaWYoICFkZWNvZGVkRnJhbWUgKQotICAg ICAgICAgICAgICAgICB7Ci0tICAgICAgICAgICAgICAgICAgICBkZWNvZGVkRnJhbWUgPSBhdmNv ZGVjX2FsbG9jX2ZyYW1lKCk7Ci0rICAgICAgICAgICAgICAgICAgICBkZWNvZGVkRnJhbWUgPSBh dl9mcmFtZV9hbGxvYygpOwotICAgICAgICAgICAgICAgICAgICAgaWYoICFkZWNvZGVkRnJhbWUg KQotICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5p bmcoKSA8PCAiVW5hYmxlIHRvIGFsbG9jYXRlIGVub3VnaCBtZW1vcnkgdG8gZGVjb2RlIGZpbGUu IjsKLUBAIC0yMzEsNyArMjMxLDcgQEAgTXVzaWNETlNBdWRpb0RlY29kZXI6OmRlY29kZSggY29u c3QgUVN0cmluZyAmZmlsZU5hbWUsIERlY29kZWRBdWRpb0RhdGEgKmRhdGEsIGMKLSAgICAgICAg ICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg ICAgICAgICAgICAgIGVsc2UKLS0gICAgICAgICAgICAgICAgICAgICAgICBhdmNvZGVjX2dldF9m cmFtZV9kZWZhdWx0cyggZGVjb2RlZEZyYW1lICk7Ci0rCQkgICAgICAgICBhdl9mcmFtZV91bnJl ZiggZGVjb2RlZEZyYW1lICk7Ci0gICAgICAgICAgICAgICAgIH0KLSAKLSAgICAgICAgICAgICAg ICAgZGVjb2RlclJldCA9IGF2Y29kZWNfZGVjb2RlX2F1ZGlvNCggcENvZGVjQ3R4LCBkZWNvZGVk RnJhbWUsICZnb3RGcmFtZSwgJmF2cGt0ICk7Ci1AQCAtMzQxLDcgKzM0MSw3IEBAIE11c2ljRE5T QXVkaW9EZWNvZGVyOjpkZWNvZGUoIGNvbnN0IFFTdHJpbmcgJmZpbGVOYW1lLCBEZWNvZGVkQXVk aW9EYXRhICpkYXRhLCBjCi0gICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICBpZiggIWRl Y29kZWRGcmFtZSApCi0gICAgICAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAgICAgIGRl Y29kZWRGcmFtZSA9IGF2Y29kZWNfYWxsb2NfZnJhbWUoKTsKLSsgICAgICAgICAgICAgICAgICAg IGRlY29kZWRGcmFtZSA9IGF2X2ZyYW1lX2FsbG9jKCk7Ci0gICAgICAgICAgICAgICAgICAgICBp ZiggIWRlY29kZWRGcmFtZSApCi0gICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgd2FybmluZygpIDw8ICJVbmFibGUgdG8gYWxsb2NhdGUgZW5vdWdoIG1lbW9y eSB0byBkZWNvZGUgZmlsZS4iOwotQEAgLTM0OSw3ICszNDksNyBAQCBNdXNpY0ROU0F1ZGlvRGVj b2Rlcjo6ZGVjb2RlKCBjb25zdCBRU3RyaW5nICZmaWxlTmFtZSwgRGVjb2RlZEF1ZGlvRGF0YSAq ZGF0YSwgYwotICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg ICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgZWxzZQotLSAgICAgICAgICAgICAgICAgICAg ICAgIGF2Y29kZWNfZ2V0X2ZyYW1lX2RlZmF1bHRzKCBkZWNvZGVkRnJhbWUgKTsKLSsJCSAgICAg ICAgIGF2X2ZyYW1lX3VucmVmKCBkZWNvZGVkRnJhbWUgKTsKLSAgICAgICAgICAgICAgICAgfQot IAotICAgICAgICAgICAgICAgICBkZWNvZGVyUmV0ID0gYXZjb2RlY19kZWNvZGVfYXVkaW80KCBw Q29kZWNDdHgsIGRlY29kZWRGcmFtZSwgJmdvdEZyYW1lLCAmYXZwa3QgKTsKLUBAIC00NTksNyAr NDU5LDcgQEAgTXVzaWNETlNBdWRpb0RlY29kZXI6OmRlY29kZSggY29uc3QgUVN0cmluZyAmZmls ZU5hbWUsIERlY29kZWRBdWRpb0RhdGEgKmRhdGEsIGMKLSAgICAgICAgICAgICB7Ci0gICAgICAg ICAgICAgICAgIGlmKCAhZGVjb2RlZEZyYW1lICkKLSAgICAgICAgICAgICAgICAgewotLSAgICAg ICAgICAgICAgICAgICAgZGVjb2RlZEZyYW1lID0gYXZjb2RlY19hbGxvY19mcmFtZSgpOwotKyAg ICAgICAgICAgICAgICAgICAgZGVjb2RlZEZyYW1lID0gYXZfZnJhbWVfYWxsb2MoKTsKLSAgICAg ICAgICAgICAgICAgICAgIGlmKCAhZGVjb2RlZEZyYW1lICkKLSAgICAgICAgICAgICAgICAgICAg IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nKCkgPDwgIlVuYWJsZSB0byBhbGxv Y2F0ZSBlbm91Z2ggbWVtb3J5IHRvIGRlY29kZSBmaWxlLiI7Ci1AQCAtNDY3LDcgKzQ2Nyw3IEBA IE11c2ljRE5TQXVkaW9EZWNvZGVyOjpkZWNvZGUoIGNvbnN0IFFTdHJpbmcgJmZpbGVOYW1lLCBE ZWNvZGVkQXVkaW9EYXRhICpkYXRhLCBjCi0gICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7 Ci0gICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICBlbHNlCi0tICAg ICAgICAgICAgICAgICAgICAgICAgYXZjb2RlY19nZXRfZnJhbWVfZGVmYXVsdHMoIGRlY29kZWRG cmFtZSApOwotKwkJICAgICAgICAgYXZfZnJhbWVfdW5yZWYoIGRlY29kZWRGcmFtZSApOwotICAg ICAgICAgICAgICAgICB9Ci0gCi0gICAgICAgICAgICAgICAgIGRlY29kZXJSZXQgPSBhdmNvZGVj X2RlY29kZV9hdWRpbzQoIHBDb2RlY0N0eCwgZGVjb2RlZEZyYW1lLCAmZ290RnJhbWUsICZhdnBr dCApOwotLS0gCi0yLjkuMwotCgpkaWZmIC0tZ2l0IGEvMDAzOS1GaXgtR3BvZGRlci1jcmVkZW50 aWFsLXNlcnZpY2Utd2l0aG91dC1rd2FsbGV0LnBhdGNoIGIvMDAzOS1GaXgtR3BvZGRlci1jcmVk ZW50aWFsLXNlcnZpY2Utd2l0aG91dC1rd2FsbGV0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwZjIwZGFhLi4wMDAwMDAwCi0tLSBhLzAwMzktRml4LUdwb2RkZXItY3JlZGVu dGlhbC1zZXJ2aWNlLXdpdGhvdXQta3dhbGxldC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYw ICswLDAgQEAKLUZyb20gMzJkZTY1NzcwMDkwMjU1MWY2MDBkZTgzNjAyMTM2MWVmOTY1YmIzNiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEdpdXNlcHBlIFNpbGxldHRpIDxzaWxsZXR0 aWdAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxNyBGZWIgMjAxNyAxMToxNDozOSArMDEwMAotU3Vi amVjdDogW1BBVENIIDM5LzQ3XSBGaXggR3BvZGRlciBjcmVkZW50aWFsIHNlcnZpY2Ugd2l0aG91 dCBrd2FsbGV0Ci0KLUJlZm9yZSB0byBmaXggdGhpcyBidWcsIHRoZSBncG9kZGVyIHBsdWdpbiBo YWQgcHJvYmxlbXMgd2l0aCBzYXZpbmcgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGluIHBsYWluIHRl eHQuCi0KLVRoZXJlIHdlcmUgdHdvIHByb2JsZW1zOgotCi0xKSBBIHVzZWxlc3Mgc3BhY2UgZm9y IHRoZSB2YXJpYWJsZSBtX2lnbm9yZVdhbGxldCB3YXMgc2F2ZWQgaW4gdGhlIGNvbmZpZyBmaWxl Ci0yKSBUaGUgc2F2aW5nIG9mIHRoZSBjcmVkZW50aWFsIGluIHBsYWluIHRleHQgd2hlcmUgbWFk ZSBpbiB0aGUgd3Jvbmcgd2F5LgotTm93IGl0IGlzIGNhbGxlZCB0aGUgZnVuY3Rpb24gYXNrQWJv dXRNaXNzaW5nS1dhbGxldCgpLCB0aGF0IG1ha2UgdGhlIHVzZSBzZWUgYSBkaWFsb2cgd2luZG93 cyB3aGVyZSBpcyBhc2tlZCB0byBzYXZlIHRoZSBjcmVkZW50aWFsIGluIHBsYWluIHRleHQuCi1D cmVkZW50aWFsIGFyZSBub3cgc2F2ZWQgaW4gdGhlIHRleHREaWFsb2dZZXMgc2xvdC4KLQotUkVW SUVXOiAxMjI3OTcKLS0tLQotIHNyYy9zZXJ2aWNlcy9ncG9kZGVyL0dwb2RkZXJTZXJ2aWNlQ29u ZmlnLmNwcCB8IDEzICsrKysrKy0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25z KCspLCA3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3NlcnZpY2VzL2dwb2RkZXIv R3BvZGRlclNlcnZpY2VDb25maWcuY3BwIGIvc3JjL3NlcnZpY2VzL2dwb2RkZXIvR3BvZGRlclNl cnZpY2VDb25maWcuY3BwCi1pbmRleCA5MDk4ZDU5Li40N2ViZDM5IDEwMDY0NAotLS0tIGEvc3Jj L3NlcnZpY2VzL2dwb2RkZXIvR3BvZGRlclNlcnZpY2VDb25maWcuY3BwCi0rKysgYi9zcmMvc2Vy dmljZXMvZ3BvZGRlci9HcG9kZGVyU2VydmljZUNvbmZpZy5jcHAKLUBAIC0xMzEsMTEgKzEzMSw2 IEBAIEdwb2RkZXJTZXJ2aWNlQ29uZmlnOjpzYXZlKCkKLSAgICAgICAgIGlmKCBtX3dhbGxldC0+ d3JpdGVQYXNzd29yZCggImdwb2RkZXJfcGFzc3dvcmQiLCBtX3Bhc3N3b3JkICkgIT0gMCApCi0g ICAgICAgICAgICAgZGVidWcoKSA8PCAiRmFpbGVkIHRvIHNhdmUgZ3BvZGRlci5uZXQgcHcgdG8g a3dhbGxldCEiOwotICAgICB9Ci0tICAgIGVsc2UgaWYoIG1faWdub3JlV2FsbGV0ICkKLS0gICAg ewotLSAgICAgICAgY29uZmlnLndyaXRlRW50cnkoICJ1c2VybmFtZSIsIG1fdXNlcm5hbWUgKTsK LS0gICAgICAgIGNvbmZpZy53cml0ZUVudHJ5KCAicGFzc3dvcmQiLCBtX3Bhc3N3b3JkICk7Ci0t ICAgIH0KLSAgICAgZWxzZQotICAgICB7Ci0gICAgICAgICBpZiggbV9lbmFibGVQcm92aWRlciAp Ci1AQCAtMjEyLDcgKzIwNyw5IEBAIEdwb2RkZXJTZXJ2aWNlQ29uZmlnOjp0ZXh0RGlhbG9nWWVz KCkgLy9TTE9UCi0gICAgICAgICBLQ29uZmlnR3JvdXAgY29uZmlnID0gS0dsb2JhbDo6Y29uZmln KCktPmdyb3VwKCBjb25maWdTZWN0aW9uTmFtZSgpICk7Ci0gCi0gICAgICAgICBtX2lnbm9yZVdh bGxldCA9IHRydWU7Ci0tICAgICAgICBjb25maWcud3JpdGVFbnRyeSggImlnbm9yZVdhbGxldCAi LCBtX2lnbm9yZVdhbGxldCApOwotKyAgICAgICAgY29uZmlnLndyaXRlRW50cnkoICJpZ25vcmVX YWxsZXQiLCBtX2lnbm9yZVdhbGxldCApOwotKyAgICAgICAgY29uZmlnLndyaXRlRW50cnkoICJ1 c2VybmFtZSIsIG1fdXNlcm5hbWUgKTsKLSsgICAgICAgIGNvbmZpZy53cml0ZUVudHJ5KCAicGFz c3dvcmQiLCBtX3Bhc3N3b3JkICk7Ci0gCi0gICAgICAgICBjb25maWcuc3luYygpOwotICAgICB9 Ci1AQCAtMjI4LDcgKzIyNSw5IEBAIEdwb2RkZXJTZXJ2aWNlQ29uZmlnOjp0ZXh0RGlhbG9nTm8o KSAvL1NMT1QKLSAgICAgICAgIEtDb25maWdHcm91cCBjb25maWcgPSBLR2xvYmFsOjpjb25maWco KS0+Z3JvdXAoIGNvbmZpZ1NlY3Rpb25OYW1lKCkgKTsKLSAKLSAgICAgICAgIG1faWdub3JlV2Fs bGV0ID0gZmFsc2U7Ci0tICAgICAgICBjb25maWcud3JpdGVFbnRyeSggImlnbm9yZVdhbGxldCAi LCBtX2lnbm9yZVdhbGxldCApOwotKyAgICAgICAgY29uZmlnLndyaXRlRW50cnkoICJpZ25vcmVX YWxsZXQiLCBtX2lnbm9yZVdhbGxldCApOwotKyAgICAgICAgY29uZmlnLndyaXRlRW50cnkoICJ1 c2VybmFtZSIsIFFTdHJpbmcoKSApOwotKyAgICAgICAgY29uZmlnLndyaXRlRW50cnkoICJwYXNz d29yZCIsIFFTdHJpbmcoKSApOwotIAotICAgICAgICAgY29uZmlnLnN5bmMoKTsKLSAgICAgfQot LS0gCi0yLjkuMwotCgpkaWZmIC0tZ2l0IGEvMDA0MS1BZGQtbmFtZXNwYWNlLXRvLWRlc2t0b3At YW5kLWFwcGRhdGEtZmlsZXMucGF0Y2ggYi8wMDQxLUFkZC1uYW1lc3BhY2UtdG8tZGVza3RvcC1h bmQtYXBwZGF0YS1maWxlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE5 NWI4Mi4uMDAwMDAwMAotLS0gYS8wMDQxLUFkZC1uYW1lc3BhY2UtdG8tZGVza3RvcC1hbmQtYXBw ZGF0YS1maWxlcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc3ICswLDAgQEAKLUZyb20gMjJl MGFjMmJhZjA5NzVhMWRhYmJmYTc4OTJmOGM1MmMzODk5MDIzNSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IEx1aWdpIFRvc2Nhbm8gPGx1aWdpLnRvc2Nhbm9AdGlzY2FsaS5pdD4KLURh dGU6IFN1biwgMTYgT2N0IDIwMTYgMTY6MTE6MjcgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA0MS80 N10gQWRkIG5hbWVzcGFjZSB0byBkZXNrdG9wIGFuZCBhcHBkYXRhIGZpbGVzCi0KLS0gYWRkIHRo ZSBvcmdhbml6YXRpb24gbmFtZXNwYWNlIHRvIHRoZSBkZXNrdG9wIGFuZCB0aGVuIGFwcGRhdGEg ZmlsZXMsCi0gIGFjY29yZGluZyB0aGUgc3BlY2lmaWNhdGlvbjsKLS0gdXNlIHRoZSBuZXcgZGly ZWN0b3J5IGZvciBtZXRhZGF0YSAobWV0YWluZm8pIGZpbGVzLgotCi1SRVZJRVc6IDEyOTE5Mgot LS0tCi0gc3JjL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDYgKysrLS0tCi0gc3JjL2RidXMvbXByaXMyL01lZGlhUGxheWVy Mi5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KLSBzcmMve2Ft YXJvay5hcHBkYXRhLnhtbCA9PiBvcmcua2RlLmFtYXJvay5hcHBkYXRhLnhtbH0gICAgICAgICAg ICAgIHwgMiArLQotIHNyYy97YW1hcm9rLmRlc2t0b3AgPT4gb3JnLmtkZS5hbWFyb2suZGVza3Rv cH0gICAgICAgICAgICAgICAgICAgICAgfCAwCi0gLi4ue2FtYXJva19jb250YWluZXJzLmRlc2t0 b3AgPT4gb3JnLmtkZS5hbWFyb2tfY29udGFpbmVycy5kZXNrdG9wfSB8IDAKLSA1IGZpbGVzIGNo YW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLSByZW5hbWUgc3JjL3thbWFy b2suYXBwZGF0YS54bWwgPT4gb3JnLmtkZS5hbWFyb2suYXBwZGF0YS54bWx9ICg5OSUpCi0gcmVu YW1lIHNyYy97YW1hcm9rLmRlc2t0b3AgPT4gb3JnLmtkZS5hbWFyb2suZGVza3RvcH0gKDEwMCUp Ci0gcmVuYW1lIHNyYy97YW1hcm9rX2NvbnRhaW5lcnMuZGVza3RvcCA9PiBvcmcua2RlLmFtYXJv a19jb250YWluZXJzLmRlc2t0b3B9ICgxMDAlKQotCi1kaWZmIC0tZ2l0IGEvc3JjL0NNYWtlTGlz dHMudHh0IGIvc3JjL0NNYWtlTGlzdHMudHh0Ci1pbmRleCAzMjdlYzEwLi44MjdkYjM2IDEwMDY0 NAotLS0tIGEvc3JjL0NNYWtlTGlzdHMudHh0Ci0rKysgYi9zcmMvQ01ha2VMaXN0cy50eHQKLUBA IC05NDgsOSArOTQ4LDkgQEAgaW5zdGFsbChUQVJHRVRTIGFtYXJvayAke0lOU1RBTExfVEFSR0VU U19ERUZBVUxUX0FSR1N9KQotIAotICMjIyMjIyMjIyMjIGluc3RhbGwgZmlsZXMgIyMjIyMjIyMj IyMjIyMjCi0gCi0taW5zdGFsbChQUk9HUkFNUyBhbWFyb2suZGVza3RvcCBERVNUSU5BVElPTiAk e1hER19BUFBTX0lOU1RBTExfRElSfSApCi0taW5zdGFsbChQUk9HUkFNUyBhbWFyb2tfY29udGFp bmVycy5kZXNrdG9wIERFU1RJTkFUSU9OICR7WERHX0FQUFNfSU5TVEFMTF9ESVJ9ICkKLS1pbnN0 YWxsKEZJTEVTIGFtYXJvay5hcHBkYXRhLnhtbCBERVNUSU5BVElPTiAke1NIQVJFX0lOU1RBTExf UFJFRklYfS9hcHBkYXRhKQotK2luc3RhbGwoUFJPR1JBTVMgb3JnLmtkZS5hbWFyb2suZGVza3Rv cCBERVNUSU5BVElPTiAke1hER19BUFBTX0lOU1RBTExfRElSfSApCi0raW5zdGFsbChQUk9HUkFN UyBvcmcua2RlLmFtYXJva19jb250YWluZXJzLmRlc2t0b3AgREVTVElOQVRJT04gJHtYREdfQVBQ U19JTlNUQUxMX0RJUn0gKQotK2luc3RhbGwoRklMRVMgb3JnLmtkZS5hbWFyb2suYXBwZGF0YS54 bWwgREVTVElOQVRJT04gJHtTSEFSRV9JTlNUQUxMX1BSRUZJWH0vbWV0YWluZm8pCi0gCi0gaW5z dGFsbChGSUxFUyBhbWFyb2tfcGx1Z2luLmRlc2t0b3AgREVTVElOQVRJT04gJHtTRVJWSUNFVFlQ RVNfSU5TVEFMTF9ESVJ9KQotIGluc3RhbGwoRklMRVMgYW1hcm9rX2NvZGVjaW5zdGFsbC5kZXNr dG9wIERFU1RJTkFUSU9OICR7U0VSVklDRVRZUEVTX0lOU1RBTExfRElSfSkKLWRpZmYgLS1naXQg YS9zcmMvZGJ1cy9tcHJpczIvTWVkaWFQbGF5ZXIyLmNwcCBiL3NyYy9kYnVzL21wcmlzMi9NZWRp YVBsYXllcjIuY3BwCi1pbmRleCBhMWQxYmRhLi4xZjAwODI3IDEwMDY0NAotLS0tIGEvc3JjL2Ri dXMvbXByaXMyL01lZGlhUGxheWVyMi5jcHAKLSsrKyBiL3NyYy9kYnVzL21wcmlzMi9NZWRpYVBs YXllcjIuY3BwCi1AQCAtOTQsNyArOTQsNyBAQCBRU3RyaW5nIE1lZGlhUGxheWVyMjo6SWRlbnRp dHkoKSBjb25zdAotIAotIFFTdHJpbmcgTWVkaWFQbGF5ZXIyOjpEZXNrdG9wRW50cnkoKSBjb25z dAotIHsKLS0gICAgcmV0dXJuIFFMYXRpbjFTdHJpbmcoImFtYXJvayIpOwotKyAgICByZXR1cm4g UUxhdGluMVN0cmluZygib3JnLmtkZS5hbWFyb2siKTsKLSB9Ci0gCi0gUVN0cmluZ0xpc3QgTWVk aWFQbGF5ZXIyOjpTdXBwb3J0ZWRVcmlTY2hlbWVzKCkgY29uc3QKLWRpZmYgLS1naXQgYS9zcmMv YW1hcm9rLmFwcGRhdGEueG1sIGIvc3JjL29yZy5rZGUuYW1hcm9rLmFwcGRhdGEueG1sCi1zaW1p bGFyaXR5IGluZGV4IDk5JQotcmVuYW1lIGZyb20gc3JjL2FtYXJvay5hcHBkYXRhLnhtbAotcmVu YW1lIHRvIHNyYy9vcmcua2RlLmFtYXJvay5hcHBkYXRhLnhtbAotaW5kZXggODA5ZTQyYy4uZmYw NmZjNyAxMDA2NDQKLS0tLSBhL3NyYy9hbWFyb2suYXBwZGF0YS54bWwKLSsrKyBiL3NyYy9vcmcu a2RlLmFtYXJvay5hcHBkYXRhLnhtbAotQEAgLTEsNiArMSw2IEBACi0gPD94bWwgdmVyc2lvbj0i MS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLSA8Y29tcG9uZW50IHR5cGU9ImRlc2t0b3AiPgotLSAg PGlkPmFtYXJvay5kZXNrdG9wPC9pZD4KLSsgIDxpZD5vcmcua2RlLmFtYXJvay5kZXNrdG9wPC9p ZD4KLSAgIDxtZXRhZGF0YV9saWNlbnNlPkNDMC0xLjA8L21ldGFkYXRhX2xpY2Vuc2U+Ci0gICA8 bmFtZT5BbWFyb2s8L25hbWU+Ci0gICA8bmFtZSB4bWw6bGFuZz0iYXIiPtij2YXYp9ix2YjZgzwv bmFtZT4KLWRpZmYgLS1naXQgYS9zcmMvYW1hcm9rLmRlc2t0b3AgYi9zcmMvb3JnLmtkZS5hbWFy b2suZGVza3RvcAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMvYW1hcm9r LmRlc2t0b3AKLXJlbmFtZSB0byBzcmMvb3JnLmtkZS5hbWFyb2suZGVza3RvcAotZGlmZiAtLWdp dCBhL3NyYy9hbWFyb2tfY29udGFpbmVycy5kZXNrdG9wIGIvc3JjL29yZy5rZGUuYW1hcm9rX2Nv bnRhaW5lcnMuZGVza3RvcAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMv YW1hcm9rX2NvbnRhaW5lcnMuZGVza3RvcAotcmVuYW1lIHRvIHNyYy9vcmcua2RlLmFtYXJva19j b250YWluZXJzLmRlc2t0b3AKLS0tIAotMi45LjMKLQoKZGlmZiAtLWdpdCBhLzAwNDMtRml4LWFw cGRhdGEtYWRkLXRoZS1yZXF1aXJlZC1zdW1tYXJ5LXRhZy5wYXRjaCBiLzAwNDMtRml4LWFwcGRh dGEtYWRkLXRoZS1yZXF1aXJlZC1zdW1tYXJ5LXRhZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggZTc5OGY1Ni4uMDAwMDAwMAotLS0gYS8wMDQzLUZpeC1hcHBkYXRhLWFkZC10 aGUtcmVxdWlyZWQtc3VtbWFyeS10YWcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCww IEBACi1Gcm9tIDY3OWQ4NDU0YTcyZjQ4YzI2N2ZlMDIyNzQ5Y2E1ZjAxZTIyNzMyNGYgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBMdWlnaSBUb3NjYW5vIDxsdWlnaS50b3NjYW5vQHRp c2NhbGkuaXQ+Ci1EYXRlOiBUaHUsIDE2IE1hciAyMDE3IDIzOjAzOjU1ICswMTAwCi1TdWJqZWN0 OiBbUEFUQ0ggNDMvNDddIEZpeCBhcHBkYXRhOiBhZGQgdGhlIHJlcXVpcmVkIDxzdW1tYXJ5Lz4g dGFnCi0KLTxzdW1tYXJ5Lz4gaXMgcmVxdWlyZWQgdG8gcGFzcyB0aGUgdmFsaWRhdGlvbiBldmVu IGluIHJlbGF4ZWQgbW9kZS4KLS0tLQotIHNyYy9vcmcua2RlLmFtYXJvay5hcHBkYXRhLnhtbCB8 IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC11cCBhbWFyb2st Mi44LjkwL3NyYy9vcmcua2RlLmFtYXJvay5hcHBkYXRhLnhtbC4wMDQzIGFtYXJvay0yLjguOTAv c3JjL29yZy5rZGUuYW1hcm9rLmFwcGRhdGEueG1sCi0tLS0gYW1hcm9rLTIuOC45MC9zcmMvb3Jn LmtkZS5hbWFyb2suYXBwZGF0YS54bWwuMDA0MwkyMDE3LTA0LTAzIDExOjQ0OjQ5LjM2OTUwNTg1 MSAtMDUwMAotKysrIGFtYXJvay0yLjguOTAvc3JjL29yZy5rZGUuYW1hcm9rLmFwcGRhdGEueG1s CTIwMTctMDQtMDMgMTE6NDU6MzIuOTE1ODg1MDc5IC0wNTAwCi1AQCAtMzMsNiArMzMsNyBAQAot ICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5BbWFyb2s8L25hbWU+Ci0gICA8bmFtZSB4bWw6bGFuZz0i dWsiPkFtYXJvazwvbmFtZT4KLSAgIDxuYW1lIHhtbDpsYW5nPSJ4LXRlc3QiPnh4QW1hcm9reHg8 L25hbWU+Ci0rICA8c3VtbWFyeT5BdWRpbyBQbGF5ZXI8L3N1bW1hcnk+Ci0gICA8ZGVzY3JpcHRp b24+Ci0gICAgIDxwPkFtYXJvayBpcyBhIGZyZWUsIHZlcnNhdGlsZSBhbmQgcG93ZXJmdWwgbXVz aWMgcGxheWVyLjwvcD4KLSAgICAgPHAgeG1sOmxhbmc9ImFyIj7Yo9mF2KfYsdmI2YMg2YXYtNi6 2ZHZhCDZhdmI2LPZitmC2Ykg2YXYrNmR2KfZhtmK2ZHYjCDZiNmC2YjZitmRINmF2KrYudiv2ZHY ryDYp9mE2KfYs9iq2LnZhdin2YTYp9iqLjwvcD4KCmRpZmYgLS1naXQgYS9hbWFyb2suc3BlYyBi L2FtYXJvay5zcGVjCmluZGV4IGMzZjlmMjMuLmQ5Nzk5MTkgMTAwNjQ0Ci0tLSBhL2FtYXJvay5z cGVjCisrKyBiL2FtYXJvay5zcGVjCkBAIC0xLDE0ICsxLDEwIEBACiAKICVkZWZpbmUga2Rld2Vi a2l0IDEKLSMgZGVmaW5lIHRvIGVuYWJsZSBvcHRpb25hbCAtbmVwb211a2NvbGxlY3Rpb24gc3Vw cG9ydAotJWlmIDAlez9mZWRvcmF9IDwgMjIKLSVkZWZpbmUgbmVwb211a2NvbGxlY3Rpb24gMQot JWVuZGlmCiAKIE5hbWU6ICAgIGFtYXJvawogU3VtbWFyeTogTWVkaWEgcGxheWVyCi1WZXJzaW9u OiAyLjguOTAKLVJlbGVhc2U6IDE5JXs/ZGlzdH0KK1ZlcnNpb246IDIuOS4wCitSZWxlYXNlOiAx JXs/ZGlzdH0KIAogIyBLREUgZS5WLiBtYXkgZGV0ZXJtaW5lIHRoYXQgZnV0dXJlIEdQTCB2ZXJz aW9ucyBhcmUgYWNjZXB0ZWQKIExpY2Vuc2U6IEdQTHYyIG9yIEdQTHYzCkBAIC0zMiwzMyArMjgs NiBAQCBQYXRjaDE6IGFtYXJvay0yLjguMC1ub19rZGV3ZWJraXQucGF0Y2gKICMgbWFrZSBteXNx bF9mb3VuZCBub24tZmF0YWwKIFBhdGNoMTAwOiBhbWFyb2stMi44LjkwLW15c3FsX2ZvdW5kLnBh dGNoCiAKLSMjIHVwc3RyZWFtIHBhdGNoZXMKLVBhdGNoMzogMDAwMy1GaXgtVGFnTGliLXZlcnNp b24tY2hlY2sucGF0Y2gKLVBhdGNoOTogMDAwOS1maXgtYXBwYXJlbnQtb2J2aW91cy1lcnJvci10 eXBvLWluLWZpbmRfbGlicmFyeS1NWVNRLnBhdGNoCi1QYXRjaDEwOiAwMDEwLUZpeC10YWJzLWFw cGxldC5wYXRjaAotUGF0Y2gxMjogMDAxMi10YWJzLWFwcGxldC1BZGQtbWlzc2luZy10by1maXgt dGhlLWJ1aWxkLnBhdGNoCi1QYXRjaDEzOiAwMDEzLUZpeC1mb3ItdGhlLWluZmluaXRlLWxvb3At aW4tY2FzZS1hLWhvbWUtYnVybmVkLW9yLW8ucGF0Y2gKLVBhdGNoMTQ6IDAwMTQtT25seS1saW5r LXdpdGgtTVlTUUxfRU1CRURERURfTElCUkFSSUVTLWlmLVdJVEhfTVlTUS5wYXRjaAotUGF0Y2gx NTogMDAxNS1GaXgtYS1jcmFzaC1pbi1hbWFyb2std2hlbi1vcGVuaW5nLXRoZS1TY3JpcHQtQ29u c29sLnBhdGNoCi1QYXRjaDE2OiAwMDE2LUZpeC11bnRyYW5zbGF0YWJsZS1zdHJpbmcucGF0Y2gK LVBhdGNoMTc6IDAwMTctZ2NjNi1idWlsZGZpeC5wYXRjaAotUGF0Y2gxOTogMDAxOS1EaXNhYmxl LW5vbi1TU0wtY29ubmVjdGlvbnMtaW4td2lraXBlZGlhLWFwcGxldC5wYXRjaAotUGF0Y2gyMDog MDAyMC1XaWtpcGVkaWEtYXBwbGV0LVJlbW92ZS1sYXN0LXRyYWNlLW9mLW5vLVNTTC1wb3NzaWJp LnBhdGNoCi1QYXRjaDI0OiAwMDI0LVN1YnN0aXR1dGUtZGVwcmVjYXRlZC1NeVNRTC1vcHRpb24t bXlpc2FtLXJlY292ZXIucGF0Y2gKLVBhdGNoMjU6IDAwMjUtSGFuZGxlLW51bWVyaWMtZmllbGRz LXByb3Blcmx5LWluLWZpbHRlci1jcmVhdGlvbi1kaS5wYXRjaAotUGF0Y2gyNjogMDAyNi1Vc2Ut dHJhbnNwYXJlbnQtYmFja2dyb3VuZC1mb3ItbHlyaWNzLWJyb3dzZXIucGF0Y2gKLVBhdGNoMjc6 IDAwMjctT3JnYW5pemUtdHJhY2tzLUd1ZXNzLXRhZ3MtcHJlc2V0cy1wZXJzaXN0ZWQtcHJvcGVy bC5wYXRjaAotUGF0Y2gyODogMDAyOC1GaXgtZm9yLUMtd2FybmluZ3MtYWJvdXQtdW51c2VkLXZh cmlhYmxlcy1hbmQtZGVwcmVjLnBhdGNoCi1QYXRjaDI5OiAwMDI5LUZpeC1NUFJJUzItRGVza3Rv cEVudHJ5LXZhbHVlLnBhdGNoCi1QYXRjaDMwOiAwMDMwLUZpeC1Db2xsZWN0aW9uLUJyb3dzZXIt YXV0by1leHBhbmQtYWZ0ZXItc2VhcmNoLWV4cGEucGF0Y2gKLVBhdGNoMzY6IDAwMzYtRml4LUJ1 Zy0zMDIyOTktQXV0b3Njcm9sbGluZy1MeXJpY3MtYXJlLXNjcm9sbGluZy1kby5wYXRjaAotUGF0 Y2gzNzogMDAzNy1GaXgtbWlub3ItdHlwby5wYXRjaAotUGF0Y2gzODogMDAzOC1GaXgtYW1hcm9r LWJ1aWxkLXdpdGgtTGliT0ZBLXVzaW5nLWZmbXBlZy0zLnBhdGNoCi1QYXRjaDM5OiAwMDM5LUZp eC1HcG9kZGVyLWNyZWRlbnRpYWwtc2VydmljZS13aXRob3V0LWt3YWxsZXQucGF0Y2gKLVBhdGNo NDE6IDAwNDEtQWRkLW5hbWVzcGFjZS10by1kZXNrdG9wLWFuZC1hcHBkYXRhLWZpbGVzLnBhdGNo Ci1QYXRjaDQzOiAwMDQzLUZpeC1hcHBkYXRhLWFkZC10aGUtcmVxdWlyZWQtc3VtbWFyeS10YWcu cGF0Y2gKLQotCiBCdWlsZFJlcXVpcmVzOiBjdXJsLWRldmVsCiBCdWlsZFJlcXVpcmVzOiBkZXNr dG9wLWZpbGUtdXRpbHMKIEJ1aWxkUmVxdWlyZXM6IGdjYy1jKysKQEAgLTEyMSwxMCArOTAsOCBA QCBSZXF1aXJlczogbWVkaWEtcGxheWVyLWluZm8KIAogUmVxdWlyZXM6ICV7bmFtZX0tbGlicyV7 P19pc2F9ID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CiAKLSVpZiAhIDAlez9uZXBvbXVrY29sbGVj dGlvbn0KIEJ1aWxkQ29uZmxpY3RzOiBuZXBvbXVrLWNvcmUtZGV2ZWwKIE9ic29sZXRlczogYW1h cm9rLW5lcG9tdWtjb2xsZWN0aW9uIDwgJXt2ZXJzaW9ufS0le3JlbGVhc2V9Ci0lZW5kaWYKIAog JWRlc2NyaXB0aW9uCiBBbWFyb2sgaXMgYSBtdWx0aW1lZGlhIHBsYXllciB3aXRoOgpAQCAtMTU0 LDE4ICsxMjEsNiBAQCBCdWlsZEFyY2g6IG5vYXJjaAogJWRlc2NyaXB0aW9uIGRvYwogJXtzdW1t YXJ5fS4KIAotJWlmIDAlez9uZXBvbXVrY29sbGVjdGlvbn0KLSVwYWNrYWdlIG5lcG9tdWtjb2xs ZWN0aW9uCi1TdW1tYXJ5OiBOZXBvbXVrIGNvbGxlY3Rpb24gcGx1Z2luIGZvciAle25hbWV9Ci1C dWlsZFJlcXVpcmVzOiBuZXBvbXVrLWNvcmUtZGV2ZWwKLUJ1aWxkUmVxdWlyZXM6IHBrZ2NvbmZp Zyhzb3ByYW5vKQotIyBmb3IgdXBncmFkZSBwYXRoCi1PYnNvbGV0ZXM6IGFtYXJvayA8IDIuOC4w LTQKLVJlcXVpcmVzOiAle25hbWV9ID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9Ci0lZGVzY3JpcHRp b24gbmVwb211a2NvbGxlY3Rpb24KLSV7c3VtbWFyeX0uCi0lZW5kaWYKLQogCiAlcHJlcAogJXNl dHVwIC1xIApAQCAtMTc2LDMwICsxMzEsNiBAQCBSZXF1aXJlczogJXtuYW1lfSA9ICV7dmVyc2lv bn0tJXtyZWxlYXNlfQogJWVuZGlmCiAKICMjIHVwc3RyZWFtCi0lcGF0Y2gzIC1wMSAtYiAuMDAw MwotJXBhdGNoOSAtcDEgLWIgLjAwMDkKLSVwYXRjaDEwIC1wMSAtYiAuMDAxMAotJXBhdGNoMTIg LXAxIC1iIC4wMDEyCi0lcGF0Y2gxMyAtcDEgLWIgLjAwMTMKLSVwYXRjaDE0IC1wMSAtYiAuMDAx NAotJXBhdGNoMTUgLXAxIC1iIC4wMDE1Ci0lcGF0Y2gxNiAtcDEgLWIgLjAwMTYKLSVwYXRjaDE3 IC1wMSAtYiAuMDAxNwotJXBhdGNoMTkgLXAxIC1iIC4wMDE5Ci0lcGF0Y2gyMCAtcDEgLWIgLjAw MjAKLSVwYXRjaDI0IC1wMSAtYiAuMDAyNAotJXBhdGNoMjUgLXAxIC1iIC4wMDI1Ci0lcGF0Y2gy NiAtcDEgLWIgLjAwMjYKLSVwYXRjaDI3IC1wMSAtYiAuMDAyNwotJXBhdGNoMjggLXAxIC1iIC4w MDI4Ci0lcGF0Y2gyOSAtcDEgLWIgLjAwMjkKLSVwYXRjaDMwIC1wMSAtYiAuMDAzMAotJXBhdGNo MzYgLXAxIC1iIC4wMDM2Ci0lcGF0Y2gzNyAtcDEgLWIgLjAwMzcKLSVwYXRjaDM4IC1wMSAtYiAu MDAzOAotJXBhdGNoMzkgLXAxIC1iIC4wMDM5Ci0lcGF0Y2g0MSAtcDEgLWIgLjAwNDEKLSVwYXRj aDQzIC1wMSAtYiAuMDA0MwogCiAjIyB1cHN0cmVhbWFibGUKIApAQCAtMjEyLDcgKzE0Myw3IEBA IHB1c2hkICV7X3RhcmdldF9wbGF0Zm9ybX0KICAgLURNWVNRTENPTkZJR19FWEVDVVRBQkxFOkJP T0w9T0ZGCiBwb3BkCiAKLW1ha2UgJXs/X3NtcF9tZmxhZ3N9IC1DICV7X3RhcmdldF9wbGF0Zm9y bX0KKyVtYWtlX2J1aWxkIC1DICV7X3RhcmdldF9wbGF0Zm9ybX0KIAogCiAlaW5zdGFsbApAQCAt MzU1LDE0ICsyODYsMTEgQEAgZ3JlcCAnXk5vRGlzcGxheScgJXtidWlsZHJvb3R9JXtfa2RlNF9k YXRhZGlyfS9hcHBsaWNhdGlvbnMva2RlNC9hbXpkb3dubG9hZGVyLmQKIAogJWZpbGVzIGRvYyAt ZiBhbWFyb2stZG9jLmxhbmcKIAotJWlmIDAlez9uZXBvbXVrY29sbGVjdGlvbn0KLSVmaWxlcyBu ZXBvbXVrY29sbGVjdGlvbgotJXtfa2RlNF9saWJkaXJ9L2tkZTQvYW1hcm9rX2NvbGxlY3Rpb24t bmVwb211a2NvbGxlY3Rpb24uc28KLSV7X2tkZTRfZGF0YWRpcn0va2RlNC9zZXJ2aWNlcy9hbWFy b2tfY29sbGVjdGlvbi1uZXBvbXVrY29sbGVjdGlvbi5kZXNrdG9wCi0lZW5kaWYKLQogCiAlY2hh bmdlbG9nCisqIFdlZCBNYXIgMDcgMjAxOCBSZXggRGlldGVyIDxyZGlldGVyQGZlZG9yYXByb2pl Y3Qub3JnPiAtIDIuOS4wLTEKKy0gYW1hcm9rLTIuOS4wCisKICogV2VkIEZlYiAyOCAyMDE4IFJl eCBEaWV0ZXIgPHJkaWV0ZXJAZmVkb3JhcHJvamVjdC5vcmc+IC0gMi44LjkwLTE5CiAtIHVzZSAl JWxkY29uZmlnX3NjcmlwdGxldHMsICUlX2tmNV9tZXRhaW5mb2RpciwgQlI6IGdjYy1jKysKIAoK ZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDQwYWE2MDEuLjI5MWVkMTEgMTAw NjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSArMSBAQAotYTFjOTE0Y2IwZGFj N2NhYzRkMGY3ZGMxYTRjNDYxNzkgIGFtYXJvay0yLjguOTAudGFyLnh6CitTSEE1MTIgKGFtYXJv ay0yLjkuMC50YXIueHopID0gNmRiOWEyNjM1NzI1Yzg3MjgwOTU2YWQwYzRjYTE5OWI1ODVjNjVj Njg4ZmE1MTk5YzZlNmViZTIzODU0OGY0N2ZmYTRlNDY1ZmRlOGVkYjQxNWYxNTk4MjhlYzUxMDJk Mzk0ZGJmY2RkMTVhZTk5OTlmOWMzNzhlN2JjZTg4NDYK