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: Karolina Surma To: git-commits@fedoraproject.org Subject: [rpms/python3.12] rawhide: Update to Python 3.12.14 Date: Mon, 17 Aug 2026 09:34:35 GMT Message-ID: <178695927593.1.17725911728878623730.rpms-python3.12-5590da14924e@fedoraproject.org> List-ID: X-Git-Repo: rpms/python3.12 X-Git-Branch: rawhide X-Git-Rev: 5590da14924ea625a8d1a40684162b9482b5578a QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcHl0aG9uMy4xMgpC cmFuY2ggOiByYXdoaWRlCkNvbW1pdCA6IDU1OTBkYTE0OTI0ZWE2MjVhOGQxYTQwNjg0MTYyYjk0 ODJiNTU3OGEKQXV0aG9yIDogS2Fyb2xpbmEgU3VybWEgPGtzdXJtYUByZWRoYXQuY29tPgpEYXRl ICAgOiAyMDI2LTA4LTE0VDExOjI5OjA3KzAyOjAwClN0YXRzICA6ICszNC8tOTcwIGluIDEzIGZp bGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9weXRob24z LjEyL2MvNTU5MGRhMTQ5MjRlYTYyNWE4ZDFhNDA2ODQxNjJiOTQ4MmI1NTc4YT9icmFuY2g9cmF3 aGlkZQoKTG9nOgpVcGRhdGUgdG8gUHl0aG9uIDMuMTIuMTQKCi0tLQpkaWZmIC0tZ2l0IGEvMDA0 NjQtZW5hYmxlLXBhYy1hbmQtYnRpLXByb3RlY3Rpb25zLWZvci1hYXJjaDY0LnBhdGNoIGIvMDA0 NjQtZW5hYmxlLXBhYy1hbmQtYnRpLXByb3RlY3Rpb25zLWZvci1hYXJjaDY0LnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MTcyOWQyLi4wMDAwMDAwCi0tLSBhLzAwNDY0LWVu YWJsZS1wYWMtYW5kLWJ0aS1wcm90ZWN0aW9ucy1mb3ItYWFyY2g2NC5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDEwMiArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGFyYWxhbXBvcyBT dHJhdGFraXMgPGNzdHJhdGFrQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDMgSnVuIDIwMjUgMDM6 MDI6MTUgKzAyMDAKLVN1YmplY3Q6IDAwNDY0OiBFbmFibGUgUEFDIGFuZCBCVEkgcHJvdGVjdGlv bnMgZm9yIGFhcmNoNjQKLQotQXBwbHkgcHJvdGVjdGlvbiBhZ2FpbnN0IFJPUC9KT1AgYXR0YWNr cyBmb3IgYWFyY2g2NCBvbiBhc21fdHJhbXBvbGluZS5TCi0KLVRoZSBCVEkgZmxhZyBtdXN0IGJl IGFwcGxpZWQgaW4gdGhlIGFzc2VtYmxlciBzb3VyY2VzIGZvciB0aGlzIGNsYXNzCi1vZiBhdHRh Y2tzIHRvIGJlIG1pdGlnYXRlZCBvbiBuZXdlciBhYXJjaDY0IHByb2Nlc3NvcnMuCi0KLVVwc3Ry ZWFtIFBSOiBodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vcHVsbC8xMzA4NjQvZmls ZXMKLQotVGhlIHVwc3RyZWFtIHBhdGNoIGlzIGluY29tcGxldGUgYnV0IG9ubHkgZm9yIHRoZSBj YXNlIHdoZXJlCi1mcmFtZSBwb2ludGVycyBhcmUgbm90IHVzZWQgb24gMy4xMysuCi0KLVNpbmNl IG9uIEZlZG9yYSB3ZSBhbHdheXMgY29tcGlsZSB3aXRoIGZyYW1lIHBvaW50ZXJzIHRoZSBCVEkv UEFDCi1oYXJkd2FyZSBwcm90ZWN0aW9ucyBjYW4gYmUgZW5hYmxlZCB3aXRob3V0IGxvc2luZyBQ ZXJmIHVud2luZGluZy4KLS0tLQotIFB5dGhvbi9hc21fdHJhbXBvbGluZS5TICAgICAgICAgfCAg NCArKysKLSBQeXRob24vYXNtX3RyYW1wb2xpbmVfYWFyY2g2NC5oIHwgNTAgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCsp Ci0gY3JlYXRlIG1vZGUgMTAwNjQ0IFB5dGhvbi9hc21fdHJhbXBvbGluZV9hYXJjaDY0LmgKLQot ZGlmZiAtLWdpdCBhL1B5dGhvbi9hc21fdHJhbXBvbGluZS5TIGIvUHl0aG9uL2FzbV90cmFtcG9s aW5lLlMKLWluZGV4IDM0MWQwYmJlNTEuLmFlODgyNjYwYjUgMTAwNjQ0Ci0tLS0gYS9QeXRob24v YXNtX3RyYW1wb2xpbmUuUwotKysrIGIvUHl0aG9uL2FzbV90cmFtcG9saW5lLlMKLUBAIC0xLDMg KzEsNSBAQAotKyNpbmNsdWRlICJhc21fdHJhbXBvbGluZV9hYXJjaDY0LmgiCi0rCi0gICAgIC50 ZXh0Ci0gICAgIC5nbG9ibAlfUHlfdHJhbXBvbGluZV9mdW5jX3N0YXJ0Ci0gIyBUaGUgZm9sbG93 aW5nIGFzc2VtYmx5IGlzIGVxdWl2YWxlbnQgdG86Ci1AQCAtMjAsMTAgKzIyLDEyIEBAIF9QeV90 cmFtcG9saW5lX2Z1bmNfc3RhcnQ6Ci0gI2lmIGRlZmluZWQoX19hYXJjaDY0X18pICYmIGRlZmlu ZWQoX19BQVJDSDY0RUxfXykgJiYgIWRlZmluZWQoX19JTFAzMl9fKQotICAgICAvLyBBUk02NCBs aXR0bGUgZW5kaWFuLCA2NGJpdCBBQkkKLSAgICAgLy8gZ2VuZXJhdGUgd2l0aCBhYXJjaDY0LWxp bnV4LWdudS1nY2MgMTIuMQotKyAgICBTSUdOX0xSCi0gICAgIHN0cCAgICAgeDI5LCB4MzAsIFtz cCwgLTE2XSEKLSAgICAgbW92ICAgICB4MjksIHNwCi0gICAgIGJsciAgICAgeDMKLSAgICAgbGRw ICAgICB4MjksIHgzMCwgW3NwXSwgMTYKLSsgICAgVkVSSUZZX0xSCi0gICAgIHJldAotICNlbmRp ZgotICAgICAuZ2xvYmwJX1B5X3RyYW1wb2xpbmVfZnVuY19lbmQKLWRpZmYgLS1naXQgYS9QeXRo b24vYXNtX3RyYW1wb2xpbmVfYWFyY2g2NC5oIGIvUHl0aG9uL2FzbV90cmFtcG9saW5lX2FhcmNo NjQuaAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAuLjRiMGVjNGE3ZGMK LS0tLSAvZGV2L251bGwKLSsrKyBiL1B5dGhvbi9hc21fdHJhbXBvbGluZV9hYXJjaDY0LmgKLUBA IC0wLDAgKzEsNTAgQEAKLSsjaWZuZGVmIEFTTV9UUkFNUE9MSU5FX0FBUkNIXzY0X0hfCi0rI2Rl ZmluZSBBU01fVFJBTVBPTElORV9BQVJDSF82NF9IXwotKwotKy8qCi0rICogUmVmZXJlbmNlczoK LSsgKiAgLSBodHRwczovL2RldmVsb3Blci5hcm0uY29tL2RvY3VtZW50YXRpb24vMTAxMDI4LzAw MTIvNS0tRmVhdHVyZS10ZXN0LW1hY3JvcwotKyAqICAtIGh0dHBzOi8vZ2l0aHViLmNvbS9BUk0t c29mdHdhcmUvYWJpLWFhL2Jsb2IvbWFpbi9hYWVsZjY0L2FhZWxmNjQucnN0Ci0rICovCi0rCi0r I2lmIGRlZmluZWQoX19BUk1fRkVBVFVSRV9CVElfREVGQVVMVCkgJiYgX19BUk1fRkVBVFVSRV9C VElfREVGQVVMVCA9PSAxCi0rICAjZGVmaW5lIEJUSV9KIGhpbnQgMzYgLyogYnRpIGo6IGZvciBq dW1wcywgSUUgYnIgaW5zdHJ1Y3Rpb25zICovCi0rICAjZGVmaW5lIEJUSV9DIGhpbnQgMzQgIC8q IGJ0aSBjOiBmb3IgY2FsbHMsIElFIGJsIGluc3RydWN0aW9ucyAqLwotKyAgI2RlZmluZSBHTlVf UFJPUEVSVFlfQUFSQ0g2NF9CVEkgMSAvKiBiaXQgMCBHTlUgTm90ZXMgaXMgZm9yIEJUSSBzdXBw b3J0ICovCi0rI2Vsc2UKLSsgICNkZWZpbmUgQlRJX0oKLSsgICNkZWZpbmUgQlRJX0MKLSsgICNk ZWZpbmUgR05VX1BST1BFUlRZX0FBUkNINjRfQlRJIDAKLSsjZW5kaWYKLSsKLSsjaWYgZGVmaW5l ZChfX0FSTV9GRUFUVVJFX1BBQ19ERUZBVUxUKQotKyAgI2lmIF9fQVJNX0ZFQVRVUkVfUEFDX0RF RkFVTFQgJiAxCi0rICAgICNkZWZpbmUgU0lHTl9MUiBoaW50IDI1IC8qIHBhY2lhc3A6IHNpZ24g d2l0aCB0aGUgQSBrZXkgKi8KLSsgICAgI2RlZmluZSBWRVJJRllfTFIgaGludCAyOSAvKiBhdXRp YXNwOiB2ZXJpZnkgd2l0aCB0aGUgQSBrZXkgKi8KLSsgICNlbGlmIF9fQVJNX0ZFQVRVUkVfUEFD X0RFRkFVTFQgJiAyCi0rICAgICNkZWZpbmUgU0lHTl9MUiBoaW50IDI3IC8qIHBhY2lic3A6IHNp Z24gd2l0aCB0aGUgYiBrZXkgKi8KLSsgICAgI2RlZmluZSBWRVJJRllfTFIgaGludCAzMSAvKiBh dXRpYnNwOiB2ZXJpZnkgd2l0aCB0aGUgYiBrZXkgKi8KLSsgICNlbmRpZgotKyAgI2RlZmluZSBH TlVfUFJPUEVSVFlfQUFSQ0g2NF9QT0lOVEVSX0FVVEggMiAvKiBiaXQgMSBHTlUgTm90ZXMgaXMg Zm9yIFBBQyBzdXBwb3J0ICovCi0rI2Vsc2UKLSsgICNkZWZpbmUgU0lHTl9MUiBCVElfQwotKyAg I2RlZmluZSBWRVJJRllfTFIKLSsgICNkZWZpbmUgR05VX1BST1BFUlRZX0FBUkNINjRfUE9JTlRF Ul9BVVRIIDAKLSsjZW5kaWYKLSsKLSsvKiBBZGQgdGhlIEJUSSBhbmQgUEFDIHN1cHBvcnQgdG8g R05VIE5vdGVzIHNlY3Rpb24gKi8KLSsjaWYgR05VX1BST1BFUlRZX0FBUkNINjRfQlRJICE9IDAg fHwgR05VX1BST1BFUlRZX0FBUkNINjRfUE9JTlRFUl9BVVRIICE9IDAKLSsgICAgLnB1c2hzZWN0 aW9uIC5ub3RlLmdudS5wcm9wZXJ0eSwgImEiOyAvKiBTdGFydCBhIG5ldyBhbGxvY2F0YWJsZSBz ZWN0aW9uICovCi0rICAgIC5iYWxpZ24gODsgLyogYWxpZ24gaXQgb24gYSBieXRlIGJvdW5kcnkg Ki8KLSsgICAgLmxvbmcgNDsgLyogc2l6ZSBvZiAiR05VXDAiICovCi0rICAgIC5sb25nIDB4MTA7 IC8qIHNpemUgb2YgZGVzY3JpcHRvciAqLwotKyAgICAubG9uZyAweDU7IC8qIE5UX0dOVV9QUk9Q RVJUWV9UWVBFXzAgKi8KLSsgICAgLmFzY2l6ICJHTlUiOwotKyAgICAubG9uZyAweGMwMDAwMDAw OyAvKiBHTlVfUFJPUEVSVFlfQUFSQ0g2NF9GRUFUVVJFXzFfQU5EICovCi0rICAgIC5sb25nIDQ7 IC8qIEZvdXIgYnl0ZXMgb2YgZGF0YSAqLwotKyAgICAubG9uZyAoR05VX1BST1BFUlRZX0FBUkNI NjRfQlRJfEdOVV9QUk9QRVJUWV9BQVJDSDY0X1BPSU5URVJfQVVUSCk7IC8qIEJUSSBvciBQQUMg aXMgZW5hYmxlZCAqLwotKyAgICAubG9uZyAwOyAvKiBwYWRkaW5nIGZvciA4IGJ5dGUgYWxpZ25t ZW50ICovCi0rICAgIC5wb3BzZWN0aW9uOyAvKiBlbmQgdGhlIHNlY3Rpb24gKi8KLSsjZW5kaWYK LSsKLSsjZW5kaWYKCmRpZmYgLS1naXQgYS8wMDQ3OC1jdmUtMjAyNi00NTE5LnBhdGNoIGIvMDA0 NzgtY3ZlLTIwMjYtNDUxOS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODU5 OGI3Ni4uMDAwMDAwMAotLS0gYS8wMDQ3OC1jdmUtMjAyNi00NTE5LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMTA1ICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFBpbmt5IDxwaW5reTAw Y2hAZ21haWwuY29tPgotRGF0ZTogV2VkLCAyNSBNYXIgMjAyNiAwMTowMjozNyArMDUzMAotU3Vi amVjdDogMDA0Nzg6IENWRS0yMDI2LTQ1MTkKLQotUmVqZWN0IGxlYWRpbmcgZGFzaGVzIGluIHdl YmJyb3dzZXIgVVJMcyAoR0gtMTQ2MzYwKQotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA4 MmEyNGE0NDQyMzEyYmRjZmM0Yzc5OTg4NWU4YjNlMDA5OTBmMDJiKQotCi1Dby1hdXRob3JlZC1i eTogU2V0aCBNaWNoYWVsIExhcnNvbiA8c2V0aEBweXRob24ub3JnPgotLS0tCi0gTGliL3Rlc3Qv dGVzdF93ZWJicm93c2VyLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrKysrCi0g TGliL3dlYmJyb3dzZXIucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEy ICsrKysrKysrKysrKwotIC4uLi8yMDI2LTAxLTE2LTEyLTA0LTQ5LmdoLWlzc3VlLTE0MzkzMC56 WUM1eDMucnN0ICAgfCAgMSArCi0gMyBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspCi0g Y3JlYXRlIG1vZGUgMTAwNjQ0IE1pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMS0xNi0x Mi0wNC00OS5naC1pc3N1ZS0xNDM5MzAuellDNXgzLnJzdAotCi1kaWZmIC0tZ2l0IGEvTGliL3Rl c3QvdGVzdF93ZWJicm93c2VyLnB5IGIvTGliL3Rlc3QvdGVzdF93ZWJicm93c2VyLnB5Ci1pbmRl eCAyZDY5NWJjODgzLi42MGYwOTRmZDZhIDEwMDY0NAotLS0tIGEvTGliL3Rlc3QvdGVzdF93ZWJi cm93c2VyLnB5Ci0rKysgYi9MaWIvdGVzdC90ZXN0X3dlYmJyb3dzZXIucHkKLUBAIC01OSw2ICs1 OSwxMSBAQCBkZWYgdGVzdF9vcGVuKHNlbGYpOgotICAgICAgICAgICAgICAgICAgICBvcHRpb25z PVtdLAotICAgICAgICAgICAgICAgICAgICBhcmd1bWVudHM9W1VSTF0pCi0gCi0rICAgIGRlZiB0 ZXN0X3JlamVjdF9kYXNoX3ByZWZpeGVzKHNlbGYpOgotKyAgICAgICAgYnJvd3NlciA9IHNlbGYu YnJvd3Nlcl9jbGFzcyhuYW1lPUNNRF9OQU1FKQotKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJh aXNlcyhWYWx1ZUVycm9yKToKLSsgICAgICAgICAgICBicm93c2VyLm9wZW4oZiItLWtleT12YWwg e1VSTH0iKQotKwotIAotIGNsYXNzIEJhY2tncm91bmRCcm93c2VyQ29tbWFuZFRlc3QoQ29tbWFu ZFRlc3RNaXhpbiwgdW5pdHRlc3QuVGVzdENhc2UpOgotIAotZGlmZiAtLWdpdCBhL0xpYi93ZWJi cm93c2VyLnB5IGIvTGliL3dlYmJyb3dzZXIucHkKLWluZGV4IDEzYjllODVmOWUuLjBiZGI2NDRk N2QgMTAwNzU1Ci0tLS0gYS9MaWIvd2ViYnJvd3Nlci5weQotKysrIGIvTGliL3dlYmJyb3dzZXIu cHkKLUBAIC0xNTgsNiArMTU4LDEyIEBAIGRlZiBvcGVuX25ldyhzZWxmLCB1cmwpOgotICAgICBk ZWYgb3Blbl9uZXdfdGFiKHNlbGYsIHVybCk6Ci0gICAgICAgICByZXR1cm4gc2VsZi5vcGVuKHVy bCwgMikKLSAKLSsgICAgQHN0YXRpY21ldGhvZAotKyAgICBkZWYgX2NoZWNrX3VybCh1cmwpOgot KyAgICAgICAgIiIiRW5zdXJlcyB0aGF0IHRoZSBVUkwgaXMgc2FmZSB0byBwYXNzIHRvIHN1YnBy b2Nlc3NlcyBhcyBhIHBhcmFtZXRlciIiIgotKyAgICAgICAgaWYgdXJsIGFuZCB1cmwubHN0cmlw KCkuc3RhcnRzd2l0aCgiLSIpOgotKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJJbnZh bGlkIFVSTDoge3VybH0iKQotKwotIAotIGNsYXNzIEdlbmVyaWNCcm93c2VyKEJhc2VCcm93c2Vy KToKLSAgICAgIiIiQ2xhc3MgZm9yIGFsbCBicm93c2VycyBzdGFydGVkIHdpdGggYSBjb21tYW5k Ci1AQCAtMTc1LDYgKzE4MSw3IEBAIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lKToKLSAKLSAgICAg ZGVmIG9wZW4oc2VsZiwgdXJsLCBuZXc9MCwgYXV0b3JhaXNlPVRydWUpOgotICAgICAgICAgc3lz LmF1ZGl0KCJ3ZWJicm93c2VyLm9wZW4iLCB1cmwpCi0rICAgICAgICBzZWxmLl9jaGVja191cmwo dXJsKQotICAgICAgICAgY21kbGluZSA9IFtzZWxmLm5hbWVdICsgW2FyZy5yZXBsYWNlKCIlcyIs IHVybCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYXJnIGluIHNlbGYu YXJnc10KLSAgICAgICAgIHRyeToKLUBAIC0xOTUsNiArMjAyLDcgQEAgZGVmIG9wZW4oc2VsZiwg dXJsLCBuZXc9MCwgYXV0b3JhaXNlPVRydWUpOgotICAgICAgICAgY21kbGluZSA9IFtzZWxmLm5h bWVdICsgW2FyZy5yZXBsYWNlKCIlcyIsIHVybCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmb3IgYXJnIGluIHNlbGYuYXJnc10KLSAgICAgICAgIHN5cy5hdWRpdCgid2ViYnJv d3Nlci5vcGVuIiwgdXJsKQotKyAgICAgICAgc2VsZi5fY2hlY2tfdXJsKHVybCkKLSAgICAgICAg IHRyeToKLSAgICAgICAgICAgICBpZiBzeXMucGxhdGZvcm1bOjNdID09ICd3aW4nOgotICAgICAg ICAgICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3BlbihjbWRsaW5lKQotQEAgLTI2MCw2ICsyNjgs NyBAQCBkZWYgX2ludm9rZShzZWxmLCBhcmdzLCByZW1vdGUsIGF1dG9yYWlzZSwgdXJsPU5vbmUp OgotIAotICAgICBkZWYgb3BlbihzZWxmLCB1cmwsIG5ldz0wLCBhdXRvcmFpc2U9VHJ1ZSk6Ci0g ICAgICAgICBzeXMuYXVkaXQoIndlYmJyb3dzZXIub3BlbiIsIHVybCkKLSsgICAgICAgIHNlbGYu X2NoZWNrX3VybCh1cmwpCi0gICAgICAgICBpZiBuZXcgPT0gMDoKLSAgICAgICAgICAgICBhY3Rp b24gPSBzZWxmLnJlbW90ZV9hY3Rpb24KLSAgICAgICAgIGVsaWYgbmV3ID09IDE6Ci1AQCAtMzUw LDYgKzM1OSw3IEBAIGNsYXNzIEtvbnF1ZXJvcihCYXNlQnJvd3Nlcik6Ci0gCi0gICAgIGRlZiBv cGVuKHNlbGYsIHVybCwgbmV3PTAsIGF1dG9yYWlzZT1UcnVlKToKLSAgICAgICAgIHN5cy5hdWRp dCgid2ViYnJvd3Nlci5vcGVuIiwgdXJsKQotKyAgICAgICAgc2VsZi5fY2hlY2tfdXJsKHVybCkK LSAgICAgICAgICMgWFhYIEN1cnJlbnRseSBJIGtub3cgbm8gd2F5IHRvIHByZXZlbnQgS0ZNIGZy b20gb3BlbmluZyBhIG5ldyB3aW4uCi0gICAgICAgICBpZiBuZXcgPT0gMjoKLSAgICAgICAgICAg ICBhY3Rpb24gPSAibmV3VGFiIgotQEAgLTU1NCw2ICs1NjQsNyBAQCBkZWYgcmVnaXN0ZXJfc3Rh bmRhcmRfYnJvd3NlcnMoKToKLSAgICAgY2xhc3MgV2luZG93c0RlZmF1bHQoQmFzZUJyb3dzZXIp OgotICAgICAgICAgZGVmIG9wZW4oc2VsZiwgdXJsLCBuZXc9MCwgYXV0b3JhaXNlPVRydWUpOgot ICAgICAgICAgICAgIHN5cy5hdWRpdCgid2ViYnJvd3Nlci5vcGVuIiwgdXJsKQotKyAgICAgICAg ICAgIHNlbGYuX2NoZWNrX3VybCh1cmwpCi0gICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAg ICAgICBvcy5zdGFydGZpbGUodXJsKQotICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgotQEAg LTYzOCw2ICs2NDksNyBAQCBkZWYgX25hbWUoc2VsZiwgdmFsKToKLSAKLSAgICAgICAgIGRlZiBv cGVuKHNlbGYsIHVybCwgbmV3PTAsIGF1dG9yYWlzZT1UcnVlKToKLSAgICAgICAgICAgICBzeXMu YXVkaXQoIndlYmJyb3dzZXIub3BlbiIsIHVybCkKLSsgICAgICAgICAgICBzZWxmLl9jaGVja191 cmwodXJsKQotICAgICAgICAgICAgIGlmIHNlbGYubmFtZSA9PSAnZGVmYXVsdCc6Ci0gICAgICAg ICAgICAgICAgIHNjcmlwdCA9ICdvcGVuIGxvY2F0aW9uICIlcyInICUgdXJsLnJlcGxhY2UoJyIn LCAnJTIyJykgIyBvcGVucyBpbiBkZWZhdWx0IGJyb3dzZXIKLSAgICAgICAgICAgICBlbHNlOgot ZGlmZiAtLWdpdCBhL01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMS0xNi0xMi0wNC00 OS5naC1pc3N1ZS0xNDM5MzAuellDNXgzLnJzdCBiL01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkv MjAyNi0wMS0xNi0xMi0wNC00OS5naC1pc3N1ZS0xNDM5MzAuellDNXgzLnJzdAotbmV3IGZpbGUg bW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAuLjBmMjdlYWU5OWEKLS0tLSAvZGV2L251bGwK LSsrKyBiL01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMS0xNi0xMi0wNC00OS5naC1p c3N1ZS0xNDM5MzAuellDNXgzLnJzdAotQEAgLTAsMCArMSBAQAotK1JlamVjdCBsZWFkaW5nIGRh c2hlcyBpbiBVUkxzIHBhc3NlZCB0byA6ZnVuYzpgd2ViYnJvd3Nlci5vcGVuYAoKZGlmZiAtLWdp dCBhLzAwNDc5LWN2ZS0yMDI2LTE1MDIucGF0Y2ggYi8wMDQ3OS1jdmUtMjAyNi0xNTAyLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNmRjOTliLi4wMDAwMDAwCi0tLSBhLzAw NDc5LWN2ZS0yMDI2LTE1MDIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDcgKzAsMCBAQAot RnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogU2V0aCBMYXJzb24gPHNldGhAcHl0aG9uLm9yZz4KLURhdGU6 IEZyaSwgMTAgQXByIDIwMjYgMTA6MjE6NDIgLTA1MDAKLVN1YmplY3Q6IDAwNDc5OiBDVkUtMjAy Ni0xNTAyCi0KLVJlamVjdCBDUi9MRiBpbiBIVFRQIHR1bm5lbCByZXF1ZXN0IGhlYWRlcnMKLQot Q28tYXV0aG9yZWQtYnk6IElsbGlhIFZvbG9jaGlpIDxpbGxpYS52b2xvY2hpaUBnbWFpbC5jb20+ Ci0tLS0KLSBMaWIvaHR0cC9jbGllbnQucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAx MSArKysrLQotIExpYi90ZXN0L3Rlc3RfaHR0cGxpYi5weSAgICAgICAgICAgICAgICAgICAgICB8 IDQ1ICsrKysrKysrKysrKysrKysrKysKLSAuLi4tMDMtMjAtMDktMjktNDIuZ2gtaXNzdWUtMTQ2 MjExLlBRVmJzNy5yc3QgfCAgMiArCi0gMyBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IE1pc2MvTkVXUy5kL25leHQvU2Vj dXJpdHkvMjAyNi0wMy0yMC0wOS0yOS00Mi5naC1pc3N1ZS0xNDYyMTEuUFFWYnM3LnJzdAotCi1k aWZmIC0tZ2l0IGEvTGliL2h0dHAvY2xpZW50LnB5IGIvTGliL2h0dHAvY2xpZW50LnB5Ci1pbmRl eCA3MDQ1MWQ2N2Q0Li43ZGI0ODA3YjMwIDEwMDY0NAotLS0tIGEvTGliL2h0dHAvY2xpZW50LnB5 Ci0rKysgYi9MaWIvaHR0cC9jbGllbnQucHkKLUBAIC05NzIsMTMgKzk3MiwyMiBAQCBkZWYgX3dy YXBfaXB2NihzZWxmLCBpcCk6Ci0gICAgICAgICByZXR1cm4gaXAKLSAKLSAgICAgZGVmIF90dW5u ZWwoc2VsZik6Ci0rICAgICAgICBpZiBfY29udGFpbnNfZGlzYWxsb3dlZF91cmxfcGNoYXJfcmUu c2VhcmNoKHNlbGYuX3R1bm5lbF9ob3N0KToKLSsgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9y KCdUdW5uZWwgaG9zdCBjYW5cJ3QgY29udGFpbiBjb250cm9sIGNoYXJhY3RlcnMgJXInCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAlIChzZWxmLl90dW5uZWxfaG9zdCwpKQotICAgICAg ICAgY29ubmVjdCA9IGIiQ09OTkVDVCAlczolZCAlc1xyXG4iICUgKAotICAgICAgICAgICAgIHNl bGYuX3dyYXBfaXB2NihzZWxmLl90dW5uZWxfaG9zdC5lbmNvZGUoImlkbmEiKSksCi0gICAgICAg ICAgICAgc2VsZi5fdHVubmVsX3BvcnQsCi0gICAgICAgICAgICAgc2VsZi5faHR0cF92c25fc3Ry LmVuY29kZSgiYXNjaWkiKSkKLSAgICAgICAgIGhlYWRlcnMgPSBbY29ubmVjdF0KLSAgICAgICAg IGZvciBoZWFkZXIsIHZhbHVlIGluIHNlbGYuX3R1bm5lbF9oZWFkZXJzLml0ZW1zKCk6Ci0tICAg ICAgICAgICAgaGVhZGVycy5hcHBlbmQoZiJ7aGVhZGVyfToge3ZhbHVlfVxyXG4iLmVuY29kZSgi bGF0aW4tMSIpKQotKyAgICAgICAgICAgIGhlYWRlcl9ieXRlcyA9IGhlYWRlci5lbmNvZGUoImxh dGluLTEiKQotKyAgICAgICAgICAgIHZhbHVlX2J5dGVzID0gdmFsdWUuZW5jb2RlKCJsYXRpbi0x IikKLSsgICAgICAgICAgICBpZiBub3QgX2lzX2xlZ2FsX2hlYWRlcl9uYW1lKGhlYWRlcl9ieXRl cyk6Ci0rICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0ludmFsaWQgaGVhZGVyIG5h bWUgJXInICUgKGhlYWRlcl9ieXRlcywpKQotKyAgICAgICAgICAgIGlmIF9pc19pbGxlZ2FsX2hl YWRlcl92YWx1ZSh2YWx1ZV9ieXRlcyk6Ci0rICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJy b3IoJ0ludmFsaWQgaGVhZGVyIHZhbHVlICVyJyAlICh2YWx1ZV9ieXRlcywpKQotKyAgICAgICAg ICAgIGhlYWRlcnMuYXBwZW5kKGIiJXM6ICVzXHJcbiIgJSAoaGVhZGVyX2J5dGVzLCB2YWx1ZV9i eXRlcykpCi0gICAgICAgICBoZWFkZXJzLmFwcGVuZChiIlxyXG4iKQotICAgICAgICAgIyBNYWtp bmcgYSBzaW5nbGUgc2VuZCgpIGNhbGwgaW5zdGVhZCBvZiBvbmUgcGVyIGxpbmUgZW5jb3VyYWdl cwotICAgICAgICAgIyB0aGUgaG9zdCBPUyB0byB1c2UgYSBtb3JlIG9wdGltYWwgcGFja2V0IHNp emUgaW5zdGVhZCBvZgotZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaHR0cGxpYi5weSBiL0xp Yi90ZXN0L3Rlc3RfaHR0cGxpYi5weQotaW5kZXggZTQ2ZGFjMDA3Ny4uZTAyN2Q5MzBkOSAxMDA2 NDQKLS0tLSBhL0xpYi90ZXN0L3Rlc3RfaHR0cGxpYi5weQotKysrIGIvTGliL3Rlc3QvdGVzdF9o dHRwbGliLnB5Ci1AQCAtMzY5LDYgKzM2OSw1MSBAQCBkZWYgdGVzdF9pbnZhbGlkX2hlYWRlcnMo c2VsZik6Ci0gICAgICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChWYWx1 ZUVycm9yLCAnSW52YWxpZCBoZWFkZXInKToKLSAgICAgICAgICAgICAgICAgICAgIGNvbm4ucHV0 aGVhZGVyKG5hbWUsIHZhbHVlKQotIAotKyAgICBkZWYgdGVzdF9pbnZhbGlkX3R1bm5lbF9oZWFk ZXJzKHNlbGYpOgotKyAgICAgICAgY2FzZXMgPSAoCi0rICAgICAgICAgICAgKCdJbnZhbGlkXHJc bk5hbWUnLCAnVmFsaWRWYWx1ZScpLAotKyAgICAgICAgICAgICgnSW52YWxpZFxyTmFtZScsICdW YWxpZFZhbHVlJyksCi0rICAgICAgICAgICAgKCdJbnZhbGlkXG5OYW1lJywgJ1ZhbGlkVmFsdWUn KSwKLSsgICAgICAgICAgICAoJ1xyXG5JbnZhbGlkTmFtZScsICdWYWxpZFZhbHVlJyksCi0rICAg ICAgICAgICAgKCdcckludmFsaWROYW1lJywgJ1ZhbGlkVmFsdWUnKSwKLSsgICAgICAgICAgICAo J1xuSW52YWxpZE5hbWUnLCAnVmFsaWRWYWx1ZScpLAotKyAgICAgICAgICAgICgnIEludmFsaWRO YW1lJywgJ1ZhbGlkVmFsdWUnKSwKLSsgICAgICAgICAgICAoJ1x0SW52YWxpZE5hbWUnLCAnVmFs aWRWYWx1ZScpLAotKyAgICAgICAgICAgICgnSW52YWxpZDpOYW1lJywgJ1ZhbGlkVmFsdWUnKSwK LSsgICAgICAgICAgICAoJzpJbnZhbGlkTmFtZScsICdWYWxpZFZhbHVlJyksCi0rICAgICAgICAg ICAgKCdWYWxpZE5hbWUnLCAnSW52YWxpZFxyXG5WYWx1ZScpLAotKyAgICAgICAgICAgICgnVmFs aWROYW1lJywgJ0ludmFsaWRcclZhbHVlJyksCi0rICAgICAgICAgICAgKCdWYWxpZE5hbWUnLCAn SW52YWxpZFxuVmFsdWUnKSwKLSsgICAgICAgICAgICAoJ1ZhbGlkTmFtZScsICdJbnZhbGlkVmFs dWVcclxuJyksCi0rICAgICAgICAgICAgKCdWYWxpZE5hbWUnLCAnSW52YWxpZFZhbHVlXHInKSwK LSsgICAgICAgICAgICAoJ1ZhbGlkTmFtZScsICdJbnZhbGlkVmFsdWVcbicpLAotKyAgICAgICAg KQotKyAgICAgICAgZm9yIG5hbWUsIHZhbHVlIGluIGNhc2VzOgotKyAgICAgICAgICAgIHdpdGgg c2VsZi5zdWJUZXN0KChuYW1lLCB2YWx1ZSkpOgotKyAgICAgICAgICAgICAgICBjb25uID0gY2xp ZW50LkhUVFBDb25uZWN0aW9uKCdleGFtcGxlLmNvbScpCi0rICAgICAgICAgICAgICAgIGNvbm4u c2V0X3R1bm5lbCgndHVubmVsJywgaGVhZGVycz17Ci0rICAgICAgICAgICAgICAgICAgICBuYW1l OiB2YWx1ZQotKyAgICAgICAgICAgICAgICB9KQotKyAgICAgICAgICAgICAgICBjb25uLnNvY2sg PSBGYWtlU29ja2V0KCcnKQotKyAgICAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2Vz UmVnZXgoVmFsdWVFcnJvciwgJ0ludmFsaWQgaGVhZGVyJyk6Ci0rICAgICAgICAgICAgICAgICAg ICBjb25uLl90dW5uZWwoKSAgIyBDYWxsZWQgaW4gLmNvbm5lY3QoKQotKwotKyAgICBkZWYgdGVz dF9pbnZhbGlkX3R1bm5lbF9ob3N0KHNlbGYpOgotKyAgICAgICAgY2FzZXMgPSAoCi0rICAgICAg ICAgICAgJ2ludmFsaWRcci5ob3N0JywKLSsgICAgICAgICAgICAnXG5pbnZhbGlkLmhvc3QnLAot KyAgICAgICAgICAgICdpbnZhbGlkLmhvc3RcclxuJywKLSsgICAgICAgICAgICAnaW52YWxpZC5o b3N0XHgwMCcsCi0rICAgICAgICAgICAgJ2ludmFsaWQgaG9zdCcsCi0rICAgICAgICApCi0rICAg ICAgICBmb3IgdHVubmVsX2hvc3QgaW4gY2FzZXM6Ci0rICAgICAgICAgICAgd2l0aCBzZWxmLnN1 YlRlc3QodHVubmVsX2hvc3QpOgotKyAgICAgICAgICAgICAgICBjb25uID0gY2xpZW50LkhUVFBD b25uZWN0aW9uKCdleGFtcGxlLmNvbScpCi0rICAgICAgICAgICAgICAgIGNvbm4uc2V0X3R1bm5l bCh0dW5uZWxfaG9zdCkKLSsgICAgICAgICAgICAgICAgY29ubi5zb2NrID0gRmFrZVNvY2tldCgn JykKLSsgICAgICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJy b3IsICdUdW5uZWwgaG9zdCBjYW5cJ3QgY29udGFpbiBjb250cm9sIGNoYXJhY3RlcnMnKToKLSsg ICAgICAgICAgICAgICAgICAgIGNvbm4uX3R1bm5lbCgpICAjIENhbGxlZCBpbiAuY29ubmVjdCgp Ci0rCi0gICAgIGRlZiB0ZXN0X2hlYWRlcnNfZGVidWdsZXZlbChzZWxmKToKLSAgICAgICAgIGJv ZHkgPSAoCi0gICAgICAgICAgICAgYidIVFRQLzEuMSAyMDAgT0tcclxuJwotZGlmZiAtLWdpdCBh L01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMy0yMC0wOS0yOS00Mi5naC1pc3N1ZS0x NDYyMTEuUFFWYnM3LnJzdCBiL01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMy0yMC0w OS0yOS00Mi5naC1pc3N1ZS0xNDYyMTEuUFFWYnM3LnJzdAotbmV3IGZpbGUgbW9kZSAxMDA2NDQK LWluZGV4IDAwMDAwMDAwMDAuLjQ5OTM2MzNiOGUKLS0tLSAvZGV2L251bGwKLSsrKyBiL01pc2Mv TkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMy0yMC0wOS0yOS00Mi5naC1pc3N1ZS0xNDYyMTEu UFFWYnM3LnJzdAotQEAgLTAsMCArMSwyIEBACi0rUmVqZWN0IENSL0xGIGNoYXJhY3RlcnMgaW4g dHVubmVsIHJlcXVlc3QgaGVhZGVycyBmb3IgdGhlCi0rSFRUUENvbm5lY3Rpb24uc2V0X3R1bm5l bCgpIG1ldGhvZC4KCmRpZmYgLS1naXQgYS8wMDQ4MC1jdmUtMjAyNi00Nzg2LnBhdGNoIGIvMDA0 ODAtY3ZlLTIwMjYtNDc4Ni5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzNl NGUxMy4uMDAwMDAwMAotLS0gYS8wMDQ4MC1jdmUtMjAyNi00Nzg2LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsNjQgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU3RhbiBVbGJyeWNoIDxz dGFuQHB5dGhvbi5vcmc+Ci1EYXRlOiBNb24sIDEzIEFwciAyMDI2IDIwOjAyOjUyICswMTAwCi1T dWJqZWN0OiAwMDQ4MDogQ1ZFLTIwMjYtNDc4NgotCi1GaXggd2ViYnJvd3NlciBgJWFjdGlvbmAg c3Vic3RpdHV0aW9uIGJ5cGFzcyBvZiBkYXNoLXByZWZpeCBjaGVjawotLS0tCi0gTGliL3Rlc3Qv dGVzdF93ZWJicm93c2VyLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA5ICsrKysr KysrKwotIExpYi93ZWJicm93c2VyLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgNSArKystLQotIC4uLi8yMDI2LTAzLTMxLTA5LTE1LTUxLmdoLWlzc3VlLTE0ODE2 OS5FWkp6ejIucnN0ICAgICAgIHwgMiArKwotIDMgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgTWlzYy9ORVdTLmQvbmV4 dC9TZWN1cml0eS8yMDI2LTAzLTMxLTA5LTE1LTUxLmdoLWlzc3VlLTE0ODE2OS5FWkp6ejIucnN0 Ci0KLWRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3dlYmJyb3dzZXIucHkgYi9MaWIvdGVzdC90 ZXN0X3dlYmJyb3dzZXIucHkKLWluZGV4IDYwZjA5NGZkNmEuLmU5MDBjMDIxMmIgMTAwNjQ0Ci0t LS0gYS9MaWIvdGVzdC90ZXN0X3dlYmJyb3dzZXIucHkKLSsrKyBiL0xpYi90ZXN0L3Rlc3Rfd2Vi YnJvd3Nlci5weQotQEAgLTk5LDYgKzk5LDE1IEBAIGRlZiB0ZXN0X29wZW5fbmV3X3RhYihzZWxm KToKLSAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz1bXSwKLSAgICAgICAgICAgICAgICAgICAg YXJndW1lbnRzPVtVUkxdKQotIAotKyAgICBkZWYgdGVzdF9yZWplY3RfYWN0aW9uX2Rhc2hfcHJl Zml4ZXMoc2VsZik6Ci0rICAgICAgICBicm93c2VyID0gc2VsZi5icm93c2VyX2NsYXNzKG5hbWU9 Q01EX05BTUUpCi0rICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgot KyAgICAgICAgICAgIGJyb3dzZXIub3BlbignJWFjdGlvbi0taW5jb2duaXRvJykKLSsgICAgICAg ICMgbmV3PTE6IGFjdGlvbiBpcyAiLS1uZXctd2luZG93Iiwgc28gIiVhY3Rpb24iIGl0c2VsZiBl eHBhbmRzIHRvCi0rICAgICAgICAjIGEgZGFzaC1wcmVmaXhlZCBmbGFnIGV2ZW4gd2l0aCBubyBk YXNoIGluIHRoZSBvcmlnaW5hbCBVUkwuCi0rICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2Vz KFZhbHVlRXJyb3IpOgotKyAgICAgICAgICAgIGJyb3dzZXIub3BlbignJWFjdGlvbicsIG5ldz0x KQotKwotIAotIGNsYXNzIEVkZ2VDb21tYW5kVGVzdChDb21tYW5kVGVzdE1peGluLCB1bml0dGVz dC5UZXN0Q2FzZSk6Ci0gCi1kaWZmIC0tZ2l0IGEvTGliL3dlYmJyb3dzZXIucHkgYi9MaWIvd2Vi YnJvd3Nlci5weQotaW5kZXggMGJkYjY0NGQ3ZC4uNzlkNDEwYmNhZSAxMDA3NTUKLS0tLSBhL0xp Yi93ZWJicm93c2VyLnB5Ci0rKysgYi9MaWIvd2ViYnJvd3Nlci5weQotQEAgLTI2OCw3ICsyNjgs NiBAQCBkZWYgX2ludm9rZShzZWxmLCBhcmdzLCByZW1vdGUsIGF1dG9yYWlzZSwgdXJsPU5vbmUp OgotIAotICAgICBkZWYgb3BlbihzZWxmLCB1cmwsIG5ldz0wLCBhdXRvcmFpc2U9VHJ1ZSk6Ci0g ICAgICAgICBzeXMuYXVkaXQoIndlYmJyb3dzZXIub3BlbiIsIHVybCkKLS0gICAgICAgIHNlbGYu X2NoZWNrX3VybCh1cmwpCi0gICAgICAgICBpZiBuZXcgPT0gMDoKLSAgICAgICAgICAgICBhY3Rp b24gPSBzZWxmLnJlbW90ZV9hY3Rpb24KLSAgICAgICAgIGVsaWYgbmV3ID09IDE6Ci1AQCAtMjgy LDcgKzI4MSw5IEBAIGRlZiBvcGVuKHNlbGYsIHVybCwgbmV3PTAsIGF1dG9yYWlzZT1UcnVlKToK LSAgICAgICAgICAgICByYWlzZSBFcnJvcigiQmFkICduZXcnIHBhcmFtZXRlciB0byBvcGVuKCk7 ICIgKwotICAgICAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCAwLCAxLCBvciAyLCBnb3Qg JXMiICUgbmV3KQotIAotLSAgICAgICAgYXJncyA9IFthcmcucmVwbGFjZSgiJXMiLCB1cmwpLnJl cGxhY2UoIiVhY3Rpb24iLCBhY3Rpb24pCi0rICAgICAgICBzZWxmLl9jaGVja191cmwodXJsLnJl cGxhY2UoIiVhY3Rpb24iLCBhY3Rpb24pKQotKwotKyAgICAgICAgYXJncyA9IFthcmcucmVwbGFj ZSgiJWFjdGlvbiIsIGFjdGlvbikucmVwbGFjZSgiJXMiLCB1cmwpCi0gICAgICAgICAgICAgICAg IGZvciBhcmcgaW4gc2VsZi5yZW1vdGVfYXJnc10KLSAgICAgICAgIGFyZ3MgPSBbYXJnIGZvciBh cmcgaW4gYXJncyBpZiBhcmddCi0gICAgICAgICBzdWNjZXNzID0gc2VsZi5faW52b2tlKGFyZ3Ms IFRydWUsIGF1dG9yYWlzZSwgdXJsKQotZGlmZiAtLWdpdCBhL01pc2MvTkVXUy5kL25leHQvU2Vj dXJpdHkvMjAyNi0wMy0zMS0wOS0xNS01MS5naC1pc3N1ZS0xNDgxNjkuRVpKenoyLnJzdCBiL01p c2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMy0zMS0wOS0xNS01MS5naC1pc3N1ZS0xNDgx NjkuRVpKenoyLnJzdAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAuLjQ1 Y2RlZWJlMWIKLS0tLSAvZGV2L251bGwKLSsrKyBiL01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkv MjAyNi0wMy0zMS0wOS0xNS01MS5naC1pc3N1ZS0xNDgxNjkuRVpKenoyLnJzdAotQEAgLTAsMCAr MSwyIEBACi0rQSBieXBhc3MgaW4gOm1vZDpgd2ViYnJvd3NlcmAgYWxsb3dlZCBVUkxzIHByZWZp eGVkIHdpdGggYGAlYWN0aW9uYGAgdG8gcGFzcwotK3RoZSBkYXNoLXByZWZpeCBzYWZldHkgY2hl Y2suCgpkaWZmIC0tZ2l0IGEvMDA0ODItY3ZlLTIwMjYtNjEwMC5wYXRjaCBiLzAwNDgyLWN2ZS0y MDI2LTYxMDAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2NTZlM2QuLjAw MDAwMDAKLS0tIGEvMDA0ODItY3ZlLTIwMjYtNjEwMC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDYxICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0YW4gVWxicnljaCA8c3RhbkBweXRo b24ub3JnPgotRGF0ZTogTW9uLCAxMyBBcHIgMjAyNiAwMjoxNDo1NCArMDEwMAotU3ViamVjdDog MDA0ODI6IENWRS0yMDI2LTYxMDAKLQotRml4IGEgcG9zc2libGUgVUFGIGluIHtMWk1BLEJaMixf WmxpYn1EZWNvbXByZXNzb3IKLS0tLQotIC4uLi9TZWN1cml0eS8yMDI2LTA0LTEwLTE2LTI4LTIx LmdoLWlzc3VlLTE0ODM5NS5rZnptMEcucnN0ICB8IDUgKysrKysKLSBNb2R1bGVzL19iejJtb2R1 bGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxICsKLSBNb2R1 bGVzL19sem1hbW9kdWxlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAxICsKLSBNb2R1bGVzL3psaWJtb2R1bGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAxICsKLSA0IGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQotIGNy ZWF0ZSBtb2RlIDEwMDY0NCBNaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDQtMTAtMTYt MjgtMjEuZ2gtaXNzdWUtMTQ4Mzk1Lmtmem0wRy5yc3QKLQotZGlmZiAtLWdpdCBhL01pc2MvTkVX Uy5kL25leHQvU2VjdXJpdHkvMjAyNi0wNC0xMC0xNi0yOC0yMS5naC1pc3N1ZS0xNDgzOTUua2Z6 bTBHLnJzdCBiL01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wNC0xMC0xNi0yOC0yMS5n aC1pc3N1ZS0xNDgzOTUua2Z6bTBHLnJzdAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAw MDAwMDAwMDAuLjk1MDIxODlhYjEKLS0tLSAvZGV2L251bGwKLSsrKyBiL01pc2MvTkVXUy5kL25l eHQvU2VjdXJpdHkvMjAyNi0wNC0xMC0xNi0yOC0yMS5naC1pc3N1ZS0xNDgzOTUua2Z6bTBHLnJz dAotQEAgLTAsMCArMSw1IEBACi0rRml4IGEgZGFuZ2xpbmcgaW5wdXQgcG9pbnRlciBpbiA6Y2xh c3M6YGx6bWEuTFpNQURlY29tcHJlc3NvcmAsCi0rOmNsYXNzOmBiejIuQloyRGVjb21wcmVzc29y YCwgYW5kIGludGVybmFsIDpjbGFzczpgIXpsaWIuX1psaWJEZWNvbXByZXNzb3JgCi0rd2hlbiBt ZW1vcnkgYWxsb2NhdGlvbiBmYWlscyB3aXRoIDpleGM6YE1lbW9yeUVycm9yYCwgd2hpY2ggY291 bGQgbGV0IGEKLStzdWJzZXF1ZW50IDptZXRoOmAhZGVjb21wcmVzc2AgY2FsbCByZWFkIG9yIHdy aXRlIHRocm91Z2ggYSBzdGFsZSBwb2ludGVyIHRvCi0rdGhlIGFscmVhZHktcmVsZWFzZWQgY2Fs bGVyIGJ1ZmZlci4KLWRpZmYgLS1naXQgYS9Nb2R1bGVzL19iejJtb2R1bGUuYyBiL01vZHVsZXMv X2J6Mm1vZHVsZS5jCi1pbmRleCA5N2JkNDRiNGFjLi5hNzMyZTg5ZDU1IDEwMDY0NAotLS0tIGEv TW9kdWxlcy9fYnoybW9kdWxlLmMKLSsrKyBiL01vZHVsZXMvX2J6Mm1vZHVsZS5jCi1AQCAtNTg3 LDYgKzU4Nyw3IEBAIGRlY29tcHJlc3MoQloyRGVjb21wcmVzc29yICpkLCBjaGFyICpkYXRhLCBz aXplX3QgbGVuLCBQeV9zc2l6ZV90IG1heF9sZW5ndGgpCi0gICAgIHJldHVybiByZXN1bHQ7Ci0g Ci0gZXJyb3I6Ci0rICAgIGJ6cy0+bmV4dF9pbiA9IE5VTEw7Ci0gICAgIFB5X1hERUNSRUYocmVz dWx0KTsKLSAgICAgcmV0dXJuIE5VTEw7Ci0gfQotZGlmZiAtLWdpdCBhL01vZHVsZXMvX2x6bWFt b2R1bGUuYyBiL01vZHVsZXMvX2x6bWFtb2R1bGUuYwotaW5kZXggN2JiZDY1NjlhYS4uMTAzYTZl Zjg2YyAxMDA2NDQKLS0tLSBhL01vZHVsZXMvX2x6bWFtb2R1bGUuYwotKysrIGIvTW9kdWxlcy9f bHptYW1vZHVsZS5jCi1AQCAtMTExNCw2ICsxMTE0LDcgQEAgZGVjb21wcmVzcyhEZWNvbXByZXNz b3IgKmQsIHVpbnQ4X3QgKmRhdGEsIHNpemVfdCBsZW4sIFB5X3NzaXplX3QgbWF4X2xlbmd0aCkK LSAgICAgcmV0dXJuIHJlc3VsdDsKLSAKLSBlcnJvcjoKLSsgICAgbHpzLT5uZXh0X2luID0gTlVM TDsKLSAgICAgUHlfWERFQ1JFRihyZXN1bHQpOwotICAgICByZXR1cm4gTlVMTDsKLSB9Ci1kaWZm IC0tZ2l0IGEvTW9kdWxlcy96bGlibW9kdWxlLmMgYi9Nb2R1bGVzL3psaWJtb2R1bGUuYwotaW5k ZXggZjk0YzU3ZTRjOC4uOTc1OTU5M2I2YSAxMDA2NDQKLS0tLSBhL01vZHVsZXMvemxpYm1vZHVs ZS5jCi0rKysgYi9Nb2R1bGVzL3psaWJtb2R1bGUuYwotQEAgLTE2NDUsNiArMTY0NSw3IEBAIGRl Y29tcHJlc3MoWmxpYkRlY29tcHJlc3NvciAqc2VsZiwgdWludDhfdCAqZGF0YSwKLSAgICAgcmV0 dXJuIHJlc3VsdDsKLSAKLSBlcnJvcjoKLSsgICAgc2VsZi0+enN0Lm5leHRfaW4gPSBOVUxMOwot ICAgICBQeV9YREVDUkVGKHJlc3VsdCk7Ci0gICAgIHJldHVybiBOVUxMOwotIH0KCmRpZmYgLS1n aXQgYS8wMDQ4My1jdmUtMjAyNi0yMjk3LnBhdGNoIGIvMDA0ODMtY3ZlLTIwMjYtMjI5Ny5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGI1MDRjOS4uMDAwMDAwMAotLS0gYS8w MDQ4My1jdmUtMjAyNi0yMjk3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAot RnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogU3RldmUgRG93ZXIgPHN0ZXZlLmRvd2VyQHB5dGhvbi5vcmc+ Ci1EYXRlOiBXZWQsIDQgTWFyIDIwMjYgMTk6NTU6NTIgKzAwMDAKLVN1YmplY3Q6IDAwNDgzOiBD VkUtMjAyNi0yMjk3Ci0KLUxvZ2dpbmcgQnlwYXNzIGluIExlZ2FjeSAucHljIEZpbGUgSGFuZGxp bmcKLS0tLQotIExpYi9pbXBvcnRsaWIvX2Jvb3RzdHJhcF9leHRlcm5hbC5weSAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDIgKy0KLSAuLi4vU2VjdXJpdHkvMjAyNi0wMy0wNC0xOC01OS0x Ny5naC1pc3N1ZS0xNDU1MDYuNmh3dkVoLnJzdCAgICAgfCAyICsrCi0gMiBmaWxlcyBjaGFuZ2Vk LCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgTWlz Yy9ORVdTLmQvbmV4dC9TZWN1cml0eS8yMDI2LTAzLTA0LTE4LTU5LTE3LmdoLWlzc3VlLTE0NTUw Ni42aHd2RWgucnN0Ci0KLWRpZmYgLS1naXQgYS9MaWIvaW1wb3J0bGliL19ib290c3RyYXBfZXh0 ZXJuYWwucHkgYi9MaWIvaW1wb3J0bGliL19ib290c3RyYXBfZXh0ZXJuYWwucHkKLWluZGV4IDli OGE4ZGZjNWEuLjZlNGEwODdhMTAgMTAwNjQ0Ci0tLS0gYS9MaWIvaW1wb3J0bGliL19ib290c3Ry YXBfZXh0ZXJuYWwucHkKLSsrKyBiL0xpYi9pbXBvcnRsaWIvX2Jvb3RzdHJhcF9leHRlcm5hbC5w eQotQEAgLTExODYsNyArMTE4Niw3IEBAIGRlZiBnZXRfZmlsZW5hbWUoc2VsZiwgZnVsbG5hbWUp OgotIAotICAgICBkZWYgZ2V0X2RhdGEoc2VsZiwgcGF0aCk6Ci0gICAgICAgICAiIiJSZXR1cm4g dGhlIGRhdGEgZnJvbSBwYXRoIGFzIHJhdyBieXRlcy4iIiIKLS0gICAgICAgIGlmIGlzaW5zdGFu Y2Uoc2VsZiwgKFNvdXJjZUxvYWRlciwgRXh0ZW5zaW9uRmlsZUxvYWRlcikpOgotKyAgICAgICAg aWYgaXNpbnN0YW5jZShzZWxmLCAoU291cmNlTG9hZGVyLCBTb3VyY2VsZXNzRmlsZUxvYWRlciwg RXh0ZW5zaW9uRmlsZUxvYWRlcikpOgotICAgICAgICAgICAgIHdpdGggX2lvLm9wZW5fY29kZShz dHIocGF0aCkpIGFzIGZpbGU6Ci0gICAgICAgICAgICAgICAgIHJldHVybiBmaWxlLnJlYWQoKQot ICAgICAgICAgZWxzZToKLWRpZmYgLS1naXQgYS9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIw MjYtMDMtMDQtMTgtNTktMTcuZ2gtaXNzdWUtMTQ1NTA2LjZod3ZFaC5yc3QgYi9NaXNjL05FV1Mu ZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMDQtMTgtNTktMTcuZ2gtaXNzdWUtMTQ1NTA2LjZod3ZF aC5yc3QKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi5kY2RiNDRkNGZh Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMt MDQtMTgtNTktMTcuZ2gtaXNzdWUtMTQ1NTA2LjZod3ZFaC5yc3QKLUBAIC0wLDAgKzEsMiBAQAot K0ZpeGVzIDpjdmU6YDIwMjYtMjI5N2AgYnkgZW5zdXJpbmcgdGhhdCBgYFNvdXJjZWxlc3NGaWxl TG9hZGVyYGAgdXNlcwotKzpmdW5jOmBpby5vcGVuX2NvZGVgIHdoZW4gb3BlbmluZyBgYC5weWNg YCBmaWxlcy4KCmRpZmYgLS1naXQgYS8wMDQ4NC1jdmUtMjAyNi0zNjQ0LnBhdGNoIGIvMDA0ODQt Y3ZlLTIwMjYtMzY0NC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTFjMTJi ZC4uMDAwMDAwMAotLS0gYS8wMDQ4NC1jdmUtMjAyNi0zNjQ0LnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMTQ2ICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0YW4gVWxicnljaCA8ODkx NTI2MjQrU3RhbkZyb21JcmVsYW5kQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KLURhdGU6IE1v biwgMTYgTWFyIDIwMjYgMTM6NDM6NDMgKzAwMDAKLVN1YmplY3Q6IDAwNDg0OiBDVkUtMjAyNi0z NjQ0Ci0KLUluY29tcGxldGUgY29udHJvbCBjaGFyYWN0ZXIgdmFsaWRhdGlvbiBpbiBodHRwLmNv b2tpZXMKLQotQ28tYXV0aG9yZWQtYnk6IFZpY3RvciBTdGlubmVyIDx2aWN0b3Iuc3Rpbm5lckBn bWFpbC5jb20+Ci0tLS0KLSBMaWIvaHR0cC9jb29raWVzLnB5ICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAyNCArKysrKysrKysrLS0KLSBMaWIvdGVzdC90ZXN0X2h0dHBfY29va2llcy5weSAg ICAgICAgICAgICAgICAgfCAzOCArKysrKysrKysrKysrKysrKysrCi0gLi4uLTAzLTA2LTE3LTAz LTM4LmdoLWlzc3VlLTE0NTU5OS5rY2h3WlYucnN0IHwgIDQgKysKLSAzIGZpbGVzIGNoYW5nZWQs IDYyIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IE1p c2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMy0wNi0xNy0wMy0zOC5naC1pc3N1ZS0xNDU1 OTkua2Nod1pWLnJzdAotCi1kaWZmIC0tZ2l0IGEvTGliL2h0dHAvY29va2llcy5weSBiL0xpYi9o dHRwL2Nvb2tpZXMucHkKLWluZGV4IGQwYTY5Y2JlMTkuLjYzZDExOWFkNDYgMTAwNjQ0Ci0tLS0g YS9MaWIvaHR0cC9jb29raWVzLnB5Ci0rKysgYi9MaWIvaHR0cC9jb29raWVzLnB5Ci1AQCAtMzM1 LDkgKzMzNSwxNiBAQCBkZWYgdXBkYXRlKHNlbGYsIHZhbHVlcyk6Ci0gICAgICAgICAgICAga2V5 ID0ga2V5Lmxvd2VyKCkKLSAgICAgICAgICAgICBpZiBrZXkgbm90IGluIHNlbGYuX3Jlc2VydmVk OgotICAgICAgICAgICAgICAgICByYWlzZSBDb29raWVFcnJvcigiSW52YWxpZCBhdHRyaWJ1dGUg JXIiICUgKGtleSwpKQotKyAgICAgICAgICAgIGlmIF9oYXNfY29udHJvbF9jaGFyYWN0ZXIoa2V5 LCB2YWwpOgotKyAgICAgICAgICAgICAgICByYWlzZSBDb29raWVFcnJvcigiQ29udHJvbCBjaGFy YWN0ZXJzIGFyZSBub3QgYWxsb3dlZCBpbiAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGYiY29va2llcyB7a2V5IXJ9IHt2YWwhcn0iKQotICAgICAgICAgICAgIGRhdGFba2V5 XSA9IHZhbAotICAgICAgICAgZGljdC51cGRhdGUoc2VsZiwgZGF0YSkKLSAKLSsgICAgZGVmIF9f aW9yX18oc2VsZiwgdmFsdWVzKToKLSsgICAgICAgIHNlbGYudXBkYXRlKHZhbHVlcykKLSsgICAg ICAgIHJldHVybiBzZWxmCi0rCi0gICAgIGRlZiBpc1Jlc2VydmVkS2V5KHNlbGYsIEspOgotICAg ICAgICAgcmV0dXJuIEsubG93ZXIoKSBpbiBzZWxmLl9yZXNlcnZlZAotIAotQEAgLTM2Myw5ICsz NzAsMTUgQEAgZGVmIF9fZ2V0c3RhdGVfXyhzZWxmKToKLSAgICAgICAgIH0KLSAKLSAgICAgZGVm IF9fc2V0c3RhdGVfXyhzZWxmLCBzdGF0ZSk6Ci0tICAgICAgICBzZWxmLl9rZXkgPSBzdGF0ZVsn a2V5J10KLS0gICAgICAgIHNlbGYuX3ZhbHVlID0gc3RhdGVbJ3ZhbHVlJ10KLS0gICAgICAgIHNl bGYuX2NvZGVkX3ZhbHVlID0gc3RhdGVbJ2NvZGVkX3ZhbHVlJ10KLSsgICAgICAgIGtleSA9IHN0 YXRlWydrZXknXQotKyAgICAgICAgdmFsdWUgPSBzdGF0ZVsndmFsdWUnXQotKyAgICAgICAgY29k ZWRfdmFsdWUgPSBzdGF0ZVsnY29kZWRfdmFsdWUnXQotKyAgICAgICAgaWYgX2hhc19jb250cm9s X2NoYXJhY3RlcihrZXksIHZhbHVlLCBjb2RlZF92YWx1ZSk6Ci0rICAgICAgICAgICAgcmFpc2Ug Q29va2llRXJyb3IoIkNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQgaW4gY29va2ll cyAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZiJ7a2V5IXJ9IHt2YWx1ZSFyfSB7 Y29kZWRfdmFsdWUhcn0iKQotKyAgICAgICAgc2VsZi5fa2V5ID0ga2V5Ci0rICAgICAgICBzZWxm Ll92YWx1ZSA9IHZhbHVlCi0rICAgICAgICBzZWxmLl9jb2RlZF92YWx1ZSA9IGNvZGVkX3ZhbHVl Ci0gCi0gICAgIGRlZiBvdXRwdXQoc2VsZiwgYXR0cnM9Tm9uZSwgaGVhZGVyPSJTZXQtQ29va2ll OiIpOgotICAgICAgICAgcmV0dXJuICIlcyAlcyIgJSAoaGVhZGVyLCBzZWxmLk91dHB1dFN0cmlu ZyhhdHRycykpCi1AQCAtMzc3LDEzICszOTAsMTYgQEAgZGVmIF9fcmVwcl9fKHNlbGYpOgotIAot ICAgICBkZWYganNfb3V0cHV0KHNlbGYsIGF0dHJzPU5vbmUpOgotICAgICAgICAgIyBQcmludCBq YXZhc2NyaXB0Ci0rICAgICAgICBvdXRwdXRfc3RyaW5nID0gc2VsZi5PdXRwdXRTdHJpbmcoYXR0 cnMpCi0rICAgICAgICBpZiBfaGFzX2NvbnRyb2xfY2hhcmFjdGVyKG91dHB1dF9zdHJpbmcpOgot KyAgICAgICAgICAgIHJhaXNlIENvb2tpZUVycm9yKCJDb250cm9sIGNoYXJhY3RlcnMgYXJlIG5v dCBhbGxvd2VkIGluIGNvb2tpZXMiKQotICAgICAgICAgcmV0dXJuICIiIgotICAgICAgICAgPHNj cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICAgPCEtLSBiZWdpbiBoaWRpbmcK LSAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IFwiJXNcIjsKLSAgICAgICAgIC8vIGVuZCBoaWRp bmcgLS0+Ci0gICAgICAgICA8L3NjcmlwdD4KLS0gICAgICAgICIiIiAlIChzZWxmLk91dHB1dFN0 cmluZyhhdHRycykucmVwbGFjZSgnIicsIHInXCInKSkKLSsgICAgICAgICIiIiAlIChvdXRwdXRf c3RyaW5nLnJlcGxhY2UoJyInLCByJ1wiJykpCi0gCi0gICAgIGRlZiBPdXRwdXRTdHJpbmcoc2Vs ZiwgYXR0cnM9Tm9uZSk6Ci0gICAgICAgICAjIEJ1aWxkIHVwIG91ciByZXN1bHQKLWRpZmYgLS1n aXQgYS9MaWIvdGVzdC90ZXN0X2h0dHBfY29va2llcy5weSBiL0xpYi90ZXN0L3Rlc3RfaHR0cF9j b29raWVzLnB5Ci1pbmRleCBmMTk2YmNjNDhlLi4yNDc4YTZjNjMwIDEwMDY0NAotLS0tIGEvTGli L3Rlc3QvdGVzdF9odHRwX2Nvb2tpZXMucHkKLSsrKyBiL0xpYi90ZXN0L3Rlc3RfaHR0cF9jb29r aWVzLnB5Ci1AQCAtNTczLDYgKzU3MywxNCBAQCBkZWYgdGVzdF9jb250cm9sX2NoYXJhY3RlcnMo c2VsZik6Ci0gICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjb29raWVzLkNvb2tp ZUVycm9yKToKLSAgICAgICAgICAgICAgICAgbW9yc2VsWyJwYXRoIl0gPSBjMAotIAotKyAgICAg ICAgICAgICMgLl9fc2V0c3RhdGVfXygpCi0rICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJh aXNlcyhjb29raWVzLkNvb2tpZUVycm9yKToKLSsgICAgICAgICAgICAgICAgbW9yc2VsLl9fc2V0 c3RhdGVfXyh7J2tleSc6IGMwLCAndmFsdWUnOiAndmFsJywgJ2NvZGVkX3ZhbHVlJzogJ2NvZGVk J30pCi0rICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjb29raWVzLkNvb2tpZUVy cm9yKToKLSsgICAgICAgICAgICAgICAgbW9yc2VsLl9fc2V0c3RhdGVfXyh7J2tleSc6ICdrZXkn LCAndmFsdWUnOiBjMCwgJ2NvZGVkX3ZhbHVlJzogJ2NvZGVkJ30pCi0rICAgICAgICAgICAgd2l0 aCBzZWxmLmFzc2VydFJhaXNlcyhjb29raWVzLkNvb2tpZUVycm9yKToKLSsgICAgICAgICAgICAg ICAgbW9yc2VsLl9fc2V0c3RhdGVfXyh7J2tleSc6ICdrZXknLCAndmFsdWUnOiAndmFsJywgJ2Nv ZGVkX3ZhbHVlJzogYzB9KQotKwotICAgICAgICAgICAgICMgLnNldGRlZmF1bHQoKQotICAgICAg ICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY29va2llcy5Db29raWVFcnJvcik6Ci0gICAg ICAgICAgICAgICAgIG1vcnNlbC5zZXRkZWZhdWx0KCJwYXRoIiwgYzApCi1AQCAtNTg3LDYgKzU5 NSwxOCBAQCBkZWYgdGVzdF9jb250cm9sX2NoYXJhY3RlcnMoc2VsZik6Ci0gICAgICAgICAgICAg d2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjb29raWVzLkNvb2tpZUVycm9yKToKLSAgICAgICAgICAg ICAgICAgbW9yc2VsLnNldCgicGF0aCIsICJ2YWwiLCBjMCkKLSAKLSsgICAgICAgICAgICAjIC51 cGRhdGUoKQotKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY29va2llcy5Db29r aWVFcnJvcik6Ci0rICAgICAgICAgICAgICAgIG1vcnNlbC51cGRhdGUoeyJwYXRoIjogYzB9KQot KyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY29va2llcy5Db29raWVFcnJvcik6 Ci0rICAgICAgICAgICAgICAgIG1vcnNlbC51cGRhdGUoe2MwOiAidmFsIn0pCi0rCi0rICAgICAg ICAgICAgIyAuX19pb3JfXygpCi0rICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhj b29raWVzLkNvb2tpZUVycm9yKToKLSsgICAgICAgICAgICAgICAgbW9yc2VsIHw9IHsicGF0aCI6 IGMwfQotKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY29va2llcy5Db29raWVF cnJvcik6Ci0rICAgICAgICAgICAgICAgIG1vcnNlbCB8PSB7YzA6ICJ2YWwifQotKwotICAgICBk ZWYgdGVzdF9jb250cm9sX2NoYXJhY3RlcnNfb3V0cHV0KHNlbGYpOgotICAgICAgICAgIyBUZXN0 cyB0aGF0IGV2ZW4gaWYgdGhlIGludGVybmFscyBvZiBNb3JzZWwgYXJlIG1vZGlmaWVkCi0gICAg ICAgICAjIHRoYXQgYSBjYWxsIHRvIC5vdXRwdXQoKSBoYXMgY29udHJvbCBjaGFyYWN0ZXIgc2Fm ZWd1YXJkcy4KLUBAIC02MDcsNiArNjI3LDI0IEBAIGRlZiB0ZXN0X2NvbnRyb2xfY2hhcmFjdGVy c19vdXRwdXQoc2VsZik6Ci0gICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjb29r aWVzLkNvb2tpZUVycm9yKToKLSAgICAgICAgICAgICAgICAgY29va2llLm91dHB1dCgpCi0gCi0r ICAgICAgICAjIFRlc3RzIHRoYXQgLmpzX291dHB1dCgpIGFsc28gaGFzIGNvbnRyb2wgY2hhcmFj dGVyIHNhZmVndWFyZHMuCi0rICAgICAgICBmb3IgYzAgaW4gc3VwcG9ydC5jb250cm9sX2NoYXJh Y3RlcnNfYzAoKToKLSsgICAgICAgICAgICBtb3JzZWwgPSBjb29raWVzLk1vcnNlbCgpCi0rICAg ICAgICAgICAgbW9yc2VsLnNldCgia2V5IiwgInZhbHVlIiwgImNvZGVkLXZhbHVlIikKLSsgICAg ICAgICAgICBtb3JzZWwuX2tleSA9IGMwICAjIE92ZXJyaWRlIHByaXZhdGUgdmFyaWFibGUuCi0r ICAgICAgICAgICAgY29va2llID0gY29va2llcy5TaW1wbGVDb29raWUoKQotKyAgICAgICAgICAg IGNvb2tpZVsiY29va2llIl0gPSBtb3JzZWwKLSsgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0 UmFpc2VzKGNvb2tpZXMuQ29va2llRXJyb3IpOgotKyAgICAgICAgICAgICAgICBjb29raWUuanNf b3V0cHV0KCkKLSsKLSsgICAgICAgICAgICBtb3JzZWwgPSBjb29raWVzLk1vcnNlbCgpCi0rICAg ICAgICAgICAgbW9yc2VsLnNldCgia2V5IiwgInZhbHVlIiwgImNvZGVkLXZhbHVlIikKLSsgICAg ICAgICAgICBtb3JzZWwuX2NvZGVkX3ZhbHVlID0gYzAgICMgT3ZlcnJpZGUgcHJpdmF0ZSB2YXJp YWJsZS4KLSsgICAgICAgICAgICBjb29raWUgPSBjb29raWVzLlNpbXBsZUNvb2tpZSgpCi0rICAg ICAgICAgICAgY29va2llWyJjb29raWUiXSA9IG1vcnNlbAotKyAgICAgICAgICAgIHdpdGggc2Vs Zi5hc3NlcnRSYWlzZXMoY29va2llcy5Db29raWVFcnJvcik6Ci0rICAgICAgICAgICAgICAgIGNv b2tpZS5qc19vdXRwdXQoKQotKwotIAotIGRlZiBsb2FkX3Rlc3RzKGxvYWRlciwgdGVzdHMsIHBh dHRlcm4pOgotICAgICB0ZXN0cy5hZGRUZXN0KGRvY3Rlc3QuRG9jVGVzdFN1aXRlKGNvb2tpZXMp KQotZGlmZiAtLWdpdCBhL01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMy0wNi0xNy0w My0zOC5naC1pc3N1ZS0xNDU1OTkua2Nod1pWLnJzdCBiL01pc2MvTkVXUy5kL25leHQvU2VjdXJp dHkvMjAyNi0wMy0wNi0xNy0wMy0zOC5naC1pc3N1ZS0xNDU1OTkua2Nod1pWLnJzdAotbmV3IGZp bGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAuLmU1M2E5MzJkMTIKLS0tLSAvZGV2L251 bGwKLSsrKyBiL01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMy0wNi0xNy0wMy0zOC5n aC1pc3N1ZS0xNDU1OTkua2Nod1pWLnJzdAotQEAgLTAsMCArMSw0IEBACi0rUmVqZWN0IGNvbnRy b2wgY2hhcmFjdGVycyBpbiA6Y2xhc3M6YGh0dHAuY29va2llcy5Nb3JzZWxgCi0rOm1ldGg6YH5o dHRwLmNvb2tpZXMuTW9yc2VsLnVwZGF0ZWAgYW5kCi0rOm1ldGg6YH5odHRwLmNvb2tpZXMuQmFz ZUNvb2tpZS5qc19vdXRwdXRgLgotK1RoaXMgYWRkcmVzc2VzIDpjdmU6YDIwMjYtMzY0NGAuCgpk aWZmIC0tZ2l0IGEvMDA0ODUtY3ZlLTIwMjYtNDIyNC5wYXRjaCBiLzAwNDg1LWN2ZS0yMDI2LTQy MjQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0Zjg3MzQuLjAwMDAwMDAK LS0tIGEvMDA0ODUtY3ZlLTIwMjYtNDIyNC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk4ICsw LDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0YW4gVWxicnljaCA8ODkxNTI2MjQrU3RhbkZy b21JcmVsYW5kQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KLURhdGU6IFN1biwgMTUgTWFyIDIw MjYgMjE6NDY6MDYgKzAwMDAKLVN1YmplY3Q6IDAwNDg1OiBDVkUtMjAyNi00MjI0Ci1NSU1FLVZl cnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVN0YWNrIG92ZXJmbG93IHBhcnNpbmcgWE1M IHdpdGggZGVlcGx5IG5lc3RlZCBEVEQgY29udGVudCBtb2RlbHMKLQotQ28tYXV0aG9yZWQtYnk6 IELDqW7DqWRpa3QgVHJhbiA8MTA3OTY2MDArcGljbml4ekB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5j b20+Ci0tLS0KLSBMaWIvdGVzdC90ZXN0X3B5ZXhwYXQucHkgICAgICAgICAgICAgICAgICAgICAg IHwgMTggKysrKysrKysrKysrKysrKysrCi0gLi4uNi0wMy0xNC0xNy0zMS0zOS5naC1pc3N1ZS0x NDU5ODYuaWZTU3I4LnJzdCB8ICA0ICsrKysKLSBNb2R1bGVzL3B5ZXhwYXQuYyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDkgKysrKysrKystCi0gMyBmaWxlcyBjaGFuZ2VkLCAzMCBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IE1pc2MvTkVX Uy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMy0xNC0xNy0zMS0zOS5naC1pc3N1ZS0xNDU5ODYuaWZT U3I4LnJzdAotCi1kaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9weWV4cGF0LnB5IGIvTGliL3Rl c3QvdGVzdF9weWV4cGF0LnB5Ci1pbmRleCAzOGY5NTE1NzNmLi4zN2Q5MDg2ZjQwIDEwMDY0NAot LS0tIGEvTGliL3Rlc3QvdGVzdF9weWV4cGF0LnB5Ci0rKysgYi9MaWIvdGVzdC90ZXN0X3B5ZXhw YXQucHkKLUBAIC02NzUsNiArNjc1LDI0IEBAIGRlZiB0ZXN0X2NoYW5nZV9zaXplXzIoc2VsZik6 Ci0gICAgICAgICBwYXJzZXIuUGFyc2UoeG1sMiwgVHJ1ZSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0 RXF1YWwoc2VsZi5uLCA0KQotIAotK2NsYXNzIEVsZW1lbnREZWNsSGFuZGxlclRlc3QodW5pdHRl c3QuVGVzdENhc2UpOgotKyAgICBkZWYgdGVzdF9kZWVwbHlfbmVzdGVkX2NvbnRlbnRfbW9kZWwo c2VsZik6Ci0rICAgICAgICAjIFRoaXMgc2hvdWxkIHJhaXNlIGEgUmVjdXJzaW9uRXJyb3IgYW5k IG5vdCBjcmFzaC4KLSsgICAgICAgICMgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9weXRob24vY3B5 dGhvbi9pc3N1ZXMvMTQ1OTg2LgotKyAgICAgICAgTiA9IDUwMF8wMDAKLSsgICAgICAgIGRhdGEg PSAoCi0rICAgICAgICAgICAgYic8IURPQ1RZUEUgcm9vdCBbXG48IUVMRU1FTlQgcm9vdCAnCi0r ICAgICAgICAgICAgKyBiJyhhLCAnICogTiArIGInYScgKyBiJyknICogTgotKyAgICAgICAgICAg ICsgYic+XG5dPlxuPHJvb3QvPlxuJwotKyAgICAgICAgKQotKwotKyAgICAgICAgcGFyc2VyID0g ZXhwYXQuUGFyc2VyQ3JlYXRlKCkKLSsgICAgICAgIHBhcnNlci5FbGVtZW50RGVjbEhhbmRsZXIg PSBsYW1iZGEgXzEsIF8yOiBOb25lCi0rICAgICAgICB3aXRoIHN1cHBvcnQuaW5maW5pdGVfcmVj dXJzaW9uKCk6Ci0rICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhSZWN1cnNpb25F cnJvcik6Ci0rICAgICAgICAgICAgICAgIHBhcnNlci5QYXJzZShkYXRhKQotKwotKwotIGNsYXNz IE1hbGZvcm1lZElucHV0VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgIGRlZiB0ZXN0MShz ZWxmKToKLSAgICAgICAgIHhtbCA9IGIiXDBcclxuIgotZGlmZiAtLWdpdCBhL01pc2MvTkVXUy5k L25leHQvU2VjdXJpdHkvMjAyNi0wMy0xNC0xNy0zMS0zOS5naC1pc3N1ZS0xNDU5ODYuaWZTU3I4 LnJzdCBiL01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMy0xNC0xNy0zMS0zOS5naC1p c3N1ZS0xNDU5ODYuaWZTU3I4LnJzdAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAw MDAwMDAuLjc5NTM2ZDFmZWYKLS0tLSAvZGV2L251bGwKLSsrKyBiL01pc2MvTkVXUy5kL25leHQv U2VjdXJpdHkvMjAyNi0wMy0xNC0xNy0zMS0zOS5naC1pc3N1ZS0xNDU5ODYuaWZTU3I4LnJzdAot QEAgLTAsMCArMSw0IEBACi0rOm1vZDpgeG1sLnBhcnNlcnMuZXhwYXRgOiBGaXhlZCBhIGNyYXNo IGNhdXNlZCBieSB1bmJvdW5kZWQgQyByZWN1cnNpb24gd2hlbgotK2NvbnZlcnRpbmcgZGVlcGx5 IG5lc3RlZCBYTUwgY29udGVudCBtb2RlbHMgd2l0aAotKzptZXRoOmB+eG1sLnBhcnNlcnMuZXhw YXQueG1scGFyc2VyLkVsZW1lbnREZWNsSGFuZGxlcmAuCi0rVGhpcyBhZGRyZXNzZXMgOmN2ZTpg MjAyNi00MjI0YC4KLWRpZmYgLS1naXQgYS9Nb2R1bGVzL3B5ZXhwYXQuYyBiL01vZHVsZXMvcHll eHBhdC5jCi1pbmRleCA3OTQ5MmNhNWM0Li44NjczNTQwZjM1IDEwMDY0NAotLS0tIGEvTW9kdWxl cy9weWV4cGF0LmMKLSsrKyBiL01vZHVsZXMvcHlleHBhdC5jCi1AQCAtMyw2ICszLDcgQEAKLSAj ZW5kaWYKLSAKLSAjaW5jbHVkZSAiUHl0aG9uLmgiCi0rI2luY2x1ZGUgInB5Y29yZV9jZXZhbC5o IiAgICAgICAgICAgLy8gX1B5X0VudGVyUmVjdXJzaXZlQ2FsbCgpCi0gI2luY2x1ZGUgInB5Y29y ZV9ydW50aW1lLmgiICAgICAgICAgLy8gX1B5X0lEKCkKLSAjaW5jbHVkZSA8Y3R5cGUuaD4KLSAK LUBAIC01NzgsNiArNTc5LDEwIEBAIHN0YXRpYyBQeU9iamVjdCAqCi0gY29udl9jb250ZW50X21v ZGVsKFhNTF9Db250ZW50ICogY29uc3QgbW9kZWwsCi0gICAgICAgICAgICAgICAgICAgIFB5T2Jq ZWN0ICooKmNvbnZfc3RyaW5nKShjb25zdCBYTUxfQ2hhciAqKSkKLSB7Ci0rICAgIGlmIChfUHlf RW50ZXJSZWN1cnNpdmVDYWxsKCIgaW4gY29udl9jb250ZW50X21vZGVsIikpIHsKLSsgICAgICAg IHJldHVybiBOVUxMOwotKyAgICB9Ci0rCi0gICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwot ICAgICBQeU9iamVjdCAqY2hpbGRyZW4gPSBQeVR1cGxlX05ldyhtb2RlbC0+bnVtY2hpbGRyZW4p OwotICAgICBpbnQgaTsKLUBAIC01ODksNyArNTk0LDcgQEAgY29udl9jb250ZW50X21vZGVsKFhN TF9Db250ZW50ICogY29uc3QgbW9kZWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnZfc3RyaW5nKTsKLSAgICAgICAgICAgICBpZiAoY2hpbGQg PT0gTlVMTCkgewotICAgICAgICAgICAgICAgICBQeV9YREVDUkVGKGNoaWxkcmVuKTsKLS0gICAg ICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0rICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsKLSAg ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgUHlUdXBsZV9TRVRfSVRFTShjaGlsZHJlbiwgaSwg Y2hpbGQpOwotICAgICAgICAgfQotQEAgLTU5Nyw2ICs2MDIsOCBAQCBjb252X2NvbnRlbnRfbW9k ZWwoWE1MX0NvbnRlbnQgKiBjb25zdCBtb2RlbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbW9kZWwtPnR5cGUsIG1vZGVsLT5xdWFudCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29udl9zdHJpbmcsbW9kZWwtPm5hbWUsIGNoaWxkcmVuKTsKLSAgICAgfQotK2Rv bmU6Ci0rICAgIF9QeV9MZWF2ZVJlY3Vyc2l2ZUNhbGwoKTsKLSAgICAgcmV0dXJuIHJlc3VsdDsK LSB9Ci0gCgpkaWZmIC0tZ2l0IGEvMDA0OTAtY3ZlLTIwMjYtMTUzMDgucGF0Y2ggYi8wMDQ5MC1j dmUtMjAyNi0xNTMwOC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTQyYjE4 Yi4uMDAwMDAwMAotLS0gYS8wMDQ5MC1jdmUtMjAyNi0xNTMwOC5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDExNCArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTZXJoaXkgU3RvcmNoYWth IDxzdG9yY2hha2FAZ21haWwuY29tPgotRGF0ZTogU2F0LCA0IEp1bCAyMDI2IDIwOjQwOjIyICsw MzAwCi1TdWJqZWN0OiAwMDQ5MDogZ2gtMTUzMDMwOiBGaXggcXVhZHJhdGljIGNvbXBsZXhpdHkg aW4gaW5jcmVtZW50YWwgcGFyc2luZyBpbgotIEhUTUxQYXJzZXIKLQotV2hlbiBhbiB1bnRlcm1p bmF0ZWQgY29uc3RydWN0IChlLmcuIGEgdGFnIG9yIGNvbW1lbnQpIHNwYW5uZWQgbWFueQotZmVl ZCgpIGNhbGxzLCByZXNjYW5uaW5nIHRoZSBncm93aW5nIGJ1ZmZlciBhbmQgY29uY2F0ZW5hdGlu ZyBuZXcgZGF0YQotb250byBpdCB3ZXJlIGJvdGggcXVhZHJhdGljLiAgTmV3IGRhdGEgaXMgbm93 IGFjY3VtdWxhdGVkIGluIGEgbGlzdCBhbmQKLW9ubHkgam9pbmVkIGFuZCBwYXJzZWQgb25jZSBl bm91Z2ggaGFzIHBpbGVkIHVwLgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYmNmOThkZGJj NDBlYzliM2VlODdkYTAxMjRhNTY2MGIxOWI3ZTYwNikKLQotQ28tYXV0aG9yZWQtYnk6IFNlcmhp eSBTdG9yY2hha2EgPHN0b3JjaGFrYUBnbWFpbC5jb20+Ci1Dby1BdXRob3JlZC1CeTogQ2xhdWRl IE9wdXMgNC44IDxub3JlcGx5QGFudGhyb3BpYy5jb20+Ci0tLS0KLSBMaWIvaHRtbC9wYXJzZXIu cHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAzMiArKysrKysrKysrKysrKysrKy0tCi0g TGliL3Rlc3QvdGVzdF9odG1scGFyc2VyLnB5ICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysr KysrKysrCi0gLi4uLTA3LTA0LTE3LTAwLTAwLmdoLWlzc3VlLTE1MzAzMC5Sb3ZrUDYucnN0IHwg IDMgKysKLSAzIGZpbGVzIGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p Ci0gY3JlYXRlIG1vZGUgMTAwNjQ0IE1pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wNy0w NC0xNy0wMC0wMC5naC1pc3N1ZS0xNTMwMzAuUm92a1A2LnJzdAotCi1kaWZmIC0tZ2l0IGEvTGli L2h0bWwvcGFyc2VyLnB5IGIvTGliL2h0bWwvcGFyc2VyLnB5Ci1pbmRleCBiZmFiM2U2NGNkLi5j NWQyMzQwYjcxIDEwMDY0NAotLS0tIGEvTGliL2h0bWwvcGFyc2VyLnB5Ci0rKysgYi9MaWIvaHRt bC9wYXJzZXIucHkKLUBAIC0xMzgsNiArMTM4LDkgQEAgZGVmIHJlc2V0KHNlbGYpOgotICAgICAg ICAgc2VsZi5jZGF0YV9lbGVtID0gTm9uZQotICAgICAgICAgc2VsZi5fc3VwcG9ydF9jZGF0YSA9 IFRydWUKLSAgICAgICAgIHNlbGYuX2VzY2FwYWJsZSA9IFRydWUKLSsgICAgICAgIHNlbGYuX3Bl bmRpbmcgPSBbXQotKyAgICAgICAgc2VsZi5fcGVuZGluZ19sZW4gPSAwCi0rICAgICAgICBzZWxm Ll9wYXJzZV90aHJlc2hvbGQgPSAxCi0gICAgICAgICBzdXBlcigpLnJlc2V0KCkKLSAKLSAgICAg ZGVmIGZlZWQoc2VsZiwgZGF0YSk6Ci1AQCAtMTQ2LDExICsxNDksMzYgQEAgZGVmIGZlZWQoc2Vs ZiwgZGF0YSk6Ci0gICAgICAgICBDYWxsIHRoaXMgYXMgb2Z0ZW4gYXMgeW91IHdhbnQsIHdpdGgg YXMgbGl0dGxlIG9yIGFzIG11Y2ggdGV4dAotICAgICAgICAgYXMgeW91IHdhbnQgKG1heSBpbmNs dWRlICdcbicpLgotICAgICAgICAgIiIiCi0tICAgICAgICBzZWxmLnJhd2RhdGEgPSBzZWxmLnJh d2RhdGEgKyBkYXRhCi0tICAgICAgICBzZWxmLmdvYWhlYWQoMCkKLSsgICAgICAgICMgQWNjdW11 bGF0ZSBuZXcgZGF0YSBpbiBhIGxpc3QgYW5kIG9ubHkgam9pbiBhbmQgcGFyc2UgaXQgb25jZQot KyAgICAgICAgIyBlbm91Z2ggaGFzIHBpbGVkIHVwLiAgUmVzY2FubmluZyBhbiB1bnBhcnNlZCBi dWZmZXIgKGUuZy4gYW4KLSsgICAgICAgICMgdW50ZXJtaW5hdGVkIHRhZykgYW5kIGNvbmNhdGVu YXRpbmcgb250byBpdCBvbiBldmVyeSBjYWxsIHdvdWxkCi0rICAgICAgICAjIGJvdGggYmUgcXVh ZHJhdGljIGluIHRoZSBpbnB1dCBzaXplLgotKyAgICAgICAgc2VsZi5fcGVuZGluZ19sZW4gKz0g bGVuKGRhdGEpCi0rICAgICAgICBpZiBzZWxmLl9wZW5kaW5nX2xlbiA8IHNlbGYuX3BhcnNlX3Ro cmVzaG9sZDoKLSsgICAgICAgICAgICBzZWxmLl9wZW5kaW5nLmFwcGVuZChkYXRhKQotKyAgICAg ICAgZWxzZToKLSsgICAgICAgICAgICBpZiBub3Qgc2VsZi5fcGVuZGluZzoKLSsgICAgICAgICAg ICAgICAgc2VsZi5yYXdkYXRhICs9IGRhdGEKLSsgICAgICAgICAgICBlbHNlOgotKyAgICAgICAg ICAgICAgICBzZWxmLl9wZW5kaW5nLmFwcGVuZChkYXRhKQotKyAgICAgICAgICAgICAgICBzZWxm LnJhd2RhdGEgKz0gJycuam9pbihzZWxmLl9wZW5kaW5nKQotKyAgICAgICAgICAgICAgICBzZWxm Ll9wZW5kaW5nLmNsZWFyKCkKLSsgICAgICAgICAgICBzZWxmLl9wZW5kaW5nX2xlbiA9IDAKLSsg ICAgICAgICAgICBuID0gbGVuKHNlbGYucmF3ZGF0YSkKLSsgICAgICAgICAgICBzZWxmLmdvYWhl YWQoMCkKLSsgICAgICAgICAgICBpZiBsZW4oc2VsZi5yYXdkYXRhKSA8IG46Ci0rICAgICAgICAg ICAgICAgICMgU29tZSBkYXRhIHdhcyBwYXJzZWQ7IHJlc3VtZSBvbiB0aGUgbmV4dCBjYWxsLgot KyAgICAgICAgICAgICAgICBzZWxmLl9wYXJzZV90aHJlc2hvbGQgPSAxCi0rICAgICAgICAgICAg ZWxzZToKLSsgICAgICAgICAgICAgICAgIyBOb3RoaW5nIHdhcyBwYXJzZWQ7IHdhaXQgdW50aWwg dGhlIGJ1ZmZlciBkb3VibGVzLgotKyAgICAgICAgICAgICAgICBzZWxmLl9wYXJzZV90aHJlc2hv bGQgPSBsZW4oc2VsZi5yYXdkYXRhKQotIAotICAgICBkZWYgY2xvc2Uoc2VsZik6Ci0gICAgICAg ICAiIiJIYW5kbGUgYW55IGJ1ZmZlcmVkIGRhdGEuIiIiCi0rICAgICAgICBpZiBzZWxmLl9wZW5k aW5nOgotKyAgICAgICAgICAgIHNlbGYucmF3ZGF0YSArPSAnJy5qb2luKHNlbGYuX3BlbmRpbmcp Ci0rICAgICAgICAgICAgc2VsZi5fcGVuZGluZy5jbGVhcigpCi0rICAgICAgICAgICAgc2VsZi5f cGVuZGluZ19sZW4gPSAwCi0gICAgICAgICBzZWxmLmdvYWhlYWQoMSkKLSAKLSAgICAgX19zdGFy dHRhZ190ZXh0ID0gTm9uZQotZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaHRtbHBhcnNlci5w eSBiL0xpYi90ZXN0L3Rlc3RfaHRtbHBhcnNlci5weQotaW5kZXggMzAzYzBiYWE4Ny4uZTZkOTJh N2VjNSAxMDA2NDQKLS0tLSBhL0xpYi90ZXN0L3Rlc3RfaHRtbHBhcnNlci5weQotKysrIGIvTGli L3Rlc3QvdGVzdF9odG1scGFyc2VyLnB5Ci1AQCAtOTMwLDYgKzkzMCwyNiBAQCBkZWYgY2hlY2so c291cmNlKToKLSAgICAgICAgIGNoZWNrKCI8IVtDREFUQVsiICogOSAqIG4pCi0gICAgICAgICBj aGVjaygiPCFkb2N0eXBlIiAqIDM1ICogbikKLSAKLSsgICAgQHN1cHBvcnQucmVxdWlyZXNfcmVz b3VyY2UoJ2NwdScpCi0rICAgIGRlZiB0ZXN0X2luY3JlbWVudGFsX25vX3F1YWRyYXRpY19jb21w bGV4aXR5KHNlbGYpOgotKyAgICAgICAgIyBBbiB1bnRlcm1pbmF0ZWQgY29uc3RydWN0IGZlZCBp biBtYW55IHNtYWxsIGNodW5rcyB1c2VkIHRvIHRha2UKLSsgICAgICAgICMgcXVhZHJhdGljIHRp bWUsIGJvdGggdG8gcmVzY2FuIGFuZCB0byBjb25jYXRlbmF0ZSB0aGUgYnVmZmVyLgotKyAgICAg ICAgIyBOb3cgaXQgdGFrZXMgYSBmcmFjdGlvbiBvZiBhIHNlY29uZC4KLSsgICAgICAgIGRlZiBj aGVjayhwcmVmaXgsIGNodW5rLCBzdWZmaXgpOgotKyAgICAgICAgICAgIHBhcnNlciA9IGh0bWwu cGFyc2VyLkhUTUxQYXJzZXIoKQotKyAgICAgICAgICAgIHBhcnNlci5mZWVkKHByZWZpeCkKLSsg ICAgICAgICAgICBmb3IgXyBpbiByYW5nZSgyMDBfMDAwKToKLSsgICAgICAgICAgICAgICAgcGFy c2VyLmZlZWQoY2h1bmspCi0rICAgICAgICAgICAgcGFyc2VyLmZlZWQoc3VmZml4KQotKyAgICAg ICAgICAgIHBhcnNlci5jbG9zZSgpCi0rICAgICAgICBjaHVuayA9ICJhIiAqIDY0Ci0rICAgICAg ICBjaGVjaygiPCEtLSIsIGNodW5rLCAiLS0+IikgICAgICAgIyBjb21tZW50Ci0rICAgICAgICBj aGVjaygiPD8iLCBjaHVuaywgIj4iKSAgICAgICAgICAgIyBwcm9jZXNzaW5nIGluc3RydWN0aW9u Ci0rICAgICAgICBjaGVjaygiPCFkb2N0eXBlICIsIGNodW5rLCAiPiIpICAgIyBkb2N0eXBlCi0r ICAgICAgICBjaGVjaygiPCFbQ0RBVEFbIiwgY2h1bmssICJdXT4iKSAgIyBDREFUQSBzZWN0aW9u Ci0rICAgICAgICBjaGVjaygiPGEgaHJlZj0nIiwgY2h1bmssICInPiIpICAgIyBzdGFydCB0YWcK LSsgICAgICAgIGNoZWNrKCI8c2NyaXB0PiIsIGNodW5rLCAiPC9zY3JpcHQ+IikgICMgUkFXVEVY VCBlbGVtZW50Ci0rCi0gCi0gY2xhc3MgQXR0cmlidXRlc1Rlc3RDYXNlKFRlc3RDYXNlQmFzZSk6 Ci0gCi1kaWZmIC0tZ2l0IGEvTWlzYy9ORVdTLmQvbmV4dC9TZWN1cml0eS8yMDI2LTA3LTA0LTE3 LTAwLTAwLmdoLWlzc3VlLTE1MzAzMC5Sb3ZrUDYucnN0IGIvTWlzYy9ORVdTLmQvbmV4dC9TZWN1 cml0eS8yMDI2LTA3LTA0LTE3LTAwLTAwLmdoLWlzc3VlLTE1MzAzMC5Sb3ZrUDYucnN0Ci1uZXcg ZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMC4uZDFkNjA1OTNmNAotLS0tIC9kZXYv bnVsbAotKysrIGIvTWlzYy9ORVdTLmQvbmV4dC9TZWN1cml0eS8yMDI2LTA3LTA0LTE3LTAwLTAw LmdoLWlzc3VlLTE1MzAzMC5Sb3ZrUDYucnN0Ci1AQCAtMCwwICsxLDMgQEAKLStGaXhlZCBxdWFk cmF0aWMgY29tcGxleGl0eSBpbiBpbmNyZW1lbnRhbCBwYXJzaW5nIG9mIGxvbmcgdW50ZXJtaW5h dGVkCi0rY29uc3RydWN0cyAoc3VjaCBhcyB0YWdzIG9yIGNvbW1lbnRzKSBpbiA6Y2xhc3M6YGh0 bWwucGFyc2VyLkhUTUxQYXJzZXJgLAotK3doaWNoIGNvdWxkIGJlIGV4cGxvaXRlZCBmb3IgYSBk ZW5pYWwgb2Ygc2VydmljZS4KCmRpZmYgLS1naXQgYS8wMDQ5MS1naC0xNDk3NzYtc2tpcC11ZHAt bGl0ZS10ZXN0cy1pZi1pdC1zLW5vdC1zdXBwb3J0ZWQucGF0Y2ggYi8wMDQ5MS1naC0xNDk3NzYt c2tpcC11ZHAtbGl0ZS10ZXN0cy1pZi1pdC1zLW5vdC1zdXBwb3J0ZWQucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0MTk5NjMuLjAwMDAwMDAKLS0tIGEvMDA0OTEtZ2gtMTQ5 Nzc2LXNraXAtdWRwLWxpdGUtdGVzdHMtaWYtaXQtcy1ub3Qtc3VwcG9ydGVkLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVmljdG9yIFN0 aW5uZXIgPHZzdGlubmVyQHB5dGhvbi5vcmc+Ci1EYXRlOiBXZWQsIDEzIE1heSAyMDI2IDE3OjI3 OjU2ICswMjAwCi1TdWJqZWN0OiAwMDQ5MTogZ2gtMTQ5Nzc2OiBTa2lwIFVEUCBMaXRlIHRlc3Rz IGlmIGl0J3Mgbm90IHN1cHBvcnRlZAotCi1GaXggdGVzdF9zb2NrZXQgb24gTGludXgga2VybmVs IDcuMSBhbmQgbmV3ZXI6IHNraXAgVURQIExpdGUgdGVzdHMgaWYKLWl0J3Mgbm90IHN1cHBvcnRl ZC4KLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgM2NmYzI0OWUxMWExMzJkYzY5NjI0MTUw ODQzNzc5YWE5NmM3MmIyYikKLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDQ5ZDA4Njc0ZDhk YmE1MGRjMjk1MzllM2M3YmNlMjFkNjYwNjZiMDYpCi0tLS0KLSBMaWIvdGVzdC90ZXN0X3NvY2tl dC5weSAgICAgICAgICAgICAgICAgICAgICAgfCAyMSArKysrKysrKysrKysrKysrKystCi0gLi4u LTA1LTEzLTE0LTUzLTIzLmdoLWlzc3VlLTE0OTc3Ni5vcnFnc24ucnN0IHwgIDIgKysKLSAyIGZp bGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLSBjcmVhdGUgbW9k ZSAxMDA2NDQgTWlzYy9ORVdTLmQvbmV4dC9UZXN0cy8yMDI2LTA1LTEzLTE0LTUzLTIzLmdoLWlz c3VlLTE0OTc3Ni5vcnFnc24ucnN0Ci0KLWRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NvY2tl dC5weSBiL0xpYi90ZXN0L3Rlc3Rfc29ja2V0LnB5Ci1pbmRleCBmMjAwZmM5NzkyLi45NDUzYTJj N2U4IDEwMDY0NAotLS0tIGEvTGliL3Rlc3QvdGVzdF9zb2NrZXQucHkKLSsrKyBiL0xpYi90ZXN0 L3Rlc3Rfc29ja2V0LnB5Ci1AQCAtMTU3LDYgKzE1NywyNSBAQCBkZWYgX2hhdmVfc29ja2V0X2h5 cGVydigpOgotICAgICByZXR1cm4gVHJ1ZQotIAotIAotK2RlZiBfaGF2ZV91ZHBfbGl0ZSgpOgot KyAgICBpZiBub3QgaGFzYXR0cihzb2NrZXQsICJJUFBST1RPX1VEUExJVEUiKToKLSsgICAgICAg IHJldHVybiBGYWxzZQotKyAgICAjIE9sZGVyIEFuZHJvaWQgdmVyc2lvbnMgYmxvY2sgVURQTElU RSB3aXRoIFNFTGludXguCi0rICAgIGlmIHN1cHBvcnQuaXNfYW5kcm9pZCBhbmQgcGxhdGZvcm0u YW5kcm9pZF92ZXIoKS5hcGlfbGV2ZWwgPCAyOToKLSsgICAgICAgIHJldHVybiBGYWxzZQotKwot KyAgICB0cnk6Ci0rICAgICAgICBzb2NrID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwg c29ja2V0LlNPQ0tfREdSQU0sIHNvY2tldC5JUFBST1RPX1VEUExJVEUpCi0rICAgIGV4Y2VwdCBP U0Vycm9yIGFzIGV4YzoKLSsgICAgICAgICMgTGludXggNy4xIHJlbW92ZWQgVURQIExpdGUgc3Vw cG9ydAotKyAgICAgICAgaWYgZXhjLmVycm5vID09IGVycm5vLkVQUk9UT05PU1VQUE9SVDoKLSsg ICAgICAgICAgICByZXR1cm4gRmFsc2UKLSsgICAgICAgIHJhaXNlCi0rICAgIHNvY2suY2xvc2Uo KQotKwotKyAgICByZXR1cm4gVHJ1ZQotKwotKwotIEBjb250ZXh0bGliLmNvbnRleHRtYW5hZ2Vy Ci0gZGVmIHNvY2tldF9zZXRkZWZhdWx0dGltZW91dCh0aW1lb3V0KToKLSAgICAgb2xkX3RpbWVv dXQgPSBzb2NrZXQuZ2V0ZGVmYXVsdHRpbWVvdXQoKQotQEAgLTE4MSw3ICsyMDAsNyBAQCBkZWYg c29ja2V0X3NldGRlZmF1bHR0aW1lb3V0KHRpbWVvdXQpOgotIAotIEhBVkVfU09DS0VUX1ZTT0NL ID0gX2hhdmVfc29ja2V0X3Zzb2NrKCkKLSAKLS1IQVZFX1NPQ0tFVF9VRFBMSVRFID0gaGFzYXR0 cihzb2NrZXQsICJJUFBST1RPX1VEUExJVEUiKQotK0hBVkVfU09DS0VUX1VEUExJVEUgPSBfaGF2 ZV91ZHBfbGl0ZSgpCi0gCi0gSEFWRV9TT0NLRVRfQkxVRVRPT1RIID0gX2hhdmVfc29ja2V0X2Js dWV0b290aCgpCi0gCi1kaWZmIC0tZ2l0IGEvTWlzYy9ORVdTLmQvbmV4dC9UZXN0cy8yMDI2LTA1 LTEzLTE0LTUzLTIzLmdoLWlzc3VlLTE0OTc3Ni5vcnFnc24ucnN0IGIvTWlzYy9ORVdTLmQvbmV4 dC9UZXN0cy8yMDI2LTA1LTEzLTE0LTUzLTIzLmdoLWlzc3VlLTE0OTc3Ni5vcnFnc24ucnN0Ci1u ZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMC4uZTg2YTkxMzBmZgotLS0tIC9k ZXYvbnVsbAotKysrIGIvTWlzYy9ORVdTLmQvbmV4dC9UZXN0cy8yMDI2LTA1LTEzLTE0LTUzLTIz LmdoLWlzc3VlLTE0OTc3Ni5vcnFnc24ucnN0Ci1AQCAtMCwwICsxLDIgQEAKLStGaXggdGVzdF9z b2NrZXQgb24gTGludXgga2VybmVsIDcuMSBhbmQgbmV3ZXI6IHNraXAgVURQIExpdGUgdGVzdHMg aWYgaXQncwotK25vdCBzdXBwb3J0ZWQuIFBhdGNoIGJ5IFZpY3RvciBTdGlubmVyLgoKZGlmZiAt LWdpdCBhLzAwNDk0LWluY3JlYXNlLXRoZS10aW1lb3V0LW9mLXRlc3RfbGFyZ2VfY29udGVudF9s ZW5ndGhfdHJ1bmNhdGVkLnBhdGNoIGIvMDA0OTQtaW5jcmVhc2UtdGhlLXRpbWVvdXQtb2YtdGVz dF9sYXJnZV9jb250ZW50X2xlbmd0aF90cnVuY2F0ZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uOWQwZWY1MQotLS0gL2Rldi9udWxsCisrKyBiLzAwNDk0LWluY3Jl YXNlLXRoZS10aW1lb3V0LW9mLXRlc3RfbGFyZ2VfY29udGVudF9sZW5ndGhfdHJ1bmNhdGVkLnBh dGNoCkBAIC0wLDAgKzEsMjMgQEAKK0Zyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEthcm9saW5hIFN1cm1h IDxrc3VybWFAcmVkaGF0LmNvbT4KK0RhdGU6IEZyaSwgMTQgQXVnIDIwMjYgMDk6Mzg6MjYgKzAy MDAKK1N1YmplY3Q6IDAwNDk0OiBJbmNyZWFzZSB0aGUgdGltZW91dCBvZiB0ZXN0X2xhcmdlX2Nv bnRlbnRfbGVuZ3RoX3RydW5jYXRlZAorCitJdCBoYXMgc3RhcnRlZCB0byBmYWlsIHJhbmRvbWx5 IHdoZW4gcnVuIG9uIHMzOTB4IGFyY2hpdGVjdHVyZS4KKy0tLQorIExpYi90ZXN0L3Rlc3RfaHR0 cHNlcnZlcnMucHkgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRl bGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2h0dHBzZXJ2ZXJzLnB5IGIv TGliL3Rlc3QvdGVzdF9odHRwc2VydmVycy5weQoraW5kZXggOTZmYzljYTU3NC4uNmEzZjU3MzFh NCAxMDA2NDQKKy0tLSBhL0xpYi90ZXN0L3Rlc3RfaHR0cHNlcnZlcnMucHkKKysrKyBiL0xpYi90 ZXN0L3Rlc3RfaHR0cHNlcnZlcnMucHkKK0BAIC05MDcsNyArOTA3LDcgQEAgZGVmIHRlc3RfbGFy Z2VfY29udGVudF9sZW5ndGgoc2VsZik6CisgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChy ZXMucmVhZCgpLCBiJyVkICVkJyAlIChzaXplLCBzaXplKSArIHNlbGYubGluZXNlcCkKKyAKKyAg ICAgZGVmIHRlc3RfbGFyZ2VfY29udGVudF9sZW5ndGhfdHJ1bmNhdGVkKHNlbGYpOgorLSAgICAg ICAgd2l0aCBzdXBwb3J0LnN3YXBfYXR0cihzZWxmLnJlcXVlc3RfaGFuZGxlciwgJ3RpbWVvdXQn LCAwLjAwMSk6CisrICAgICAgICB3aXRoIHN1cHBvcnQuc3dhcF9hdHRyKHNlbGYucmVxdWVzdF9o YW5kbGVyLCAndGltZW91dCcsIHN1cHBvcnQuTE9PUEJBQ0tfVElNRU9VVCk6CisgICAgICAgICAg ICAgZm9yIHcgaW4gcmFuZ2UoMTgsIDY1KToKKyAgICAgICAgICAgICAgICAgc2l6ZSA9IDEgPDwg dworICAgICAgICAgICAgICAgICBoZWFkZXJzID0geydDb250ZW50LUxlbmd0aCcgOiBzdHIoc2l6 ZSl9CgpkaWZmIC0tZ2l0IGEvcHl0aG9uMy4xMi5zcGVjIGIvcHl0aG9uMy4xMi5zcGVjCmluZGV4 IGMzYjBjZTYuLjBjNjFhYzEgMTAwNjQ0Ci0tLSBhL3B5dGhvbjMuMTIuc3BlYworKysgYi9weXRo b24zLjEyLnNwZWMKQEAgLTEzLDExICsxMywxMSBAQCBVUkw6IGh0dHBzOi8vd3d3LnB5dGhvbi5v cmcvCiAKICMgIFdBUk5JTkcgIFdoZW4gcmViYXNpbmcgdG8gYSBuZXcgUHl0aG9uIHZlcnNpb24s CiAjICAgICAgICAgICByZW1lbWJlciB0byB1cGRhdGUgdGhlIHB5dGhvbjMtZG9jcyBwYWNrYWdl IGFzIHdlbGwKLSVnbG9iYWwgZ2VuZXJhbF92ZXJzaW9uICV7cHliYXNldmVyfS4xMworJWdsb2Jh bCBnZW5lcmFsX3ZlcnNpb24gJXtweWJhc2V2ZXJ9LjE0CiAjZ2xvYmFsIHByZXJlbCAuLi4KICVn bG9iYWwgdXBzdHJlYW1fdmVyc2lvbiAle2dlbmVyYWxfdmVyc2lvbn0lez9wcmVyZWx9CiBWZXJz aW9uOiAle2dlbmVyYWxfdmVyc2lvbn0lez9wcmVyZWw6fiV7cHJlcmVsfX0KLVJlbGVhc2U6IDYl ez9kaXN0fQorUmVsZWFzZTogMSV7P2Rpc3R9CiBMaWNlbnNlOiBQeXRob24tMi4wLjEKIAogCkBA IC00MDAsMjMgKzQwMCw2IEBAIFBhdGNoNDYxOiAwMDQ2MS1kb3duc3RyZWFtLW9ubHktaW5zdGFs bC13aGVlbC1pbi10ZXN0LXZlbnZzLXdoZW4tc2V0dXB0b29scy03MS5wCiAjIHN0cmVzc2VkIG9u IE9wZW5TU0wgMy41LgogUGF0Y2g0NjI6IDAwNDYyLWZpeC1weXNzbF9zZXRlcnJvci1oYW5kbGlu Zy1zc2xfZXJyb3Jfc3lzY2FsbC5wYXRjaAogCi0jIDAwNDY0ICMgMWM3MTNlMDJhMjZiZjg4NjVi YjY0MjE3NDlkMTlkMDc2NmNhYzE3OAotIyBFbmFibGUgUEFDIGFuZCBCVEkgcHJvdGVjdGlvbnMg Zm9yIGFhcmNoNjQKLSMKLSMgQXBwbHkgcHJvdGVjdGlvbiBhZ2FpbnN0IFJPUC9KT1AgYXR0YWNr cyBmb3IgYWFyY2g2NCBvbiBhc21fdHJhbXBvbGluZS5TCi0jCi0jIFRoZSBCVEkgZmxhZyBtdXN0 IGJlIGFwcGxpZWQgaW4gdGhlIGFzc2VtYmxlciBzb3VyY2VzIGZvciB0aGlzIGNsYXNzCi0jIG9m IGF0dGFja3MgdG8gYmUgbWl0aWdhdGVkIG9uIG5ld2VyIGFhcmNoNjQgcHJvY2Vzc29ycy4KLSMK LSMgVXBzdHJlYW0gUFI6IGh0dHBzOi8vZ2l0aHViLmNvbS9weXRob24vY3B5dGhvbi9wdWxsLzEz MDg2NC9maWxlcwotIwotIyBUaGUgdXBzdHJlYW0gcGF0Y2ggaXMgaW5jb21wbGV0ZSBidXQgb25s eSBmb3IgdGhlIGNhc2Ugd2hlcmUKLSMgZnJhbWUgcG9pbnRlcnMgYXJlIG5vdCB1c2VkIG9uIDMu MTMrLgotIwotIyBTaW5jZSBvbiBGZWRvcmEgd2UgYWx3YXlzIGNvbXBpbGUgd2l0aCBmcmFtZSBw b2ludGVycyB0aGUgQlRJL1BBQwotIyBoYXJkd2FyZSBwcm90ZWN0aW9ucyBjYW4gYmUgZW5hYmxl ZCB3aXRob3V0IGxvc2luZyBQZXJmIHVud2luZGluZy4KLVBhdGNoNDY0OiAwMDQ2NC1lbmFibGUt cGFjLWFuZC1idGktcHJvdGVjdGlvbnMtZm9yLWFhcmNoNjQucGF0Y2gKLQogIyAwMDQ3NCAjIDgz N2RkY2EwMzcyZmE4N2ZmOWNlZTQ3MTQyMjAwY2FhMjFlNzdkZWYKICMgQ1ZFLTIwMjUtMTUzNjYK ICMKQEAgLTQzMyw2MyArNDE2LDExIEBAIFBhdGNoNDc0OiAwMDQ3NC1jdmUtMjAyNS0xNTM2Ni5w YXRjaAogIyAoY2hlcnJ5LXBpY2tlZCBmcm9tIGNvbW1pdCBiMjM0YTJiNjc1MzlmNzg3ZTE5MWQy ZWYxOWE3Y2JkY2UzMjg3NGU3KQogUGF0Y2g0NzU6IDAwNDc1LWN2ZS0yMDI1LTE1MzY3LnBhdGNo CiAKLSMgMDA0NzggIyBlYjkzMzUyZGM4ZTMxZjRkNTI1NDZiODRkYWFkODc1ZTZmZjdmMjllCi0j IENWRS0yMDI2LTQ1MTkKLSMKLSMgUmVqZWN0IGxlYWRpbmcgZGFzaGVzIGluIHdlYmJyb3dzZXIg VVJMcyAoR0gtMTQ2MzYwKQotUGF0Y2g0Nzg6IDAwNDc4LWN2ZS0yMDI2LTQ1MTkucGF0Y2gKLQot IyAwMDQ3OSAjIDk3NDA0YjJjZjYyZTU0NWMyZDQxYmU3Y2NmZWQ0ZTc0ZGE5ZWU2NjUKLSMgQ1ZF LTIwMjYtMTUwMgotIwotIyBSZWplY3QgQ1IvTEYgaW4gSFRUUCB0dW5uZWwgcmVxdWVzdCBoZWFk ZXJzCi1QYXRjaDQ3OTogMDA0NzktY3ZlLTIwMjYtMTUwMi5wYXRjaAotCi0jIDAwNDgwICMgNmY0 ZWVmM2JhNGQ5ODE4YTUzNjk4ZTk5NDU1MGVlOGRiMTdhMWUyZQotIyBDVkUtMjAyNi00Nzg2Ci0j Ci0jIEZpeCB3ZWJicm93c2VyIGAlJWFjdGlvbmAgc3Vic3RpdHV0aW9uIGJ5cGFzcyBvZiBkYXNo LXByZWZpeCBjaGVjawotUGF0Y2g0ODA6IDAwNDgwLWN2ZS0yMDI2LTQ3ODYucGF0Y2gKLQotIyAw MDQ4MiAjIDY5ZjE0YmMzMDZmYzYyNDAwZDQ1NTY1ZmFhOTgwYjc3ODU4YjkxNTEKLSMgQ1ZFLTIw MjYtNjEwMAotIwotIyBGaXggYSBwb3NzaWJsZSBVQUYgaW4ge0xaTUEsQloyLF9abGlifURlY29t cHJlc3NvcgotUGF0Y2g0ODI6IDAwNDgyLWN2ZS0yMDI2LTYxMDAucGF0Y2gKLQotIyAwMDQ4MyAj IDU3N2M1OTUxMzdjZTZmZjkyMTU4ZGRhZjJkN2I3ZWE4NjQzNzgyNWQKLSMgQ1ZFLTIwMjYtMjI5 NworIyAwMDQ5NCAjIDQzMGFhYjEzMzM5N2VkNDRjYzllZTYyMWZkMzExZTAyZmVlMzE3YjUKKyMg SW5jcmVhc2UgdGhlIHRpbWVvdXQgb2YgdGVzdF9sYXJnZV9jb250ZW50X2xlbmd0aF90cnVuY2F0 ZWQKICMKLSMgTG9nZ2luZyBCeXBhc3MgaW4gTGVnYWN5IC5weWMgRmlsZSBIYW5kbGluZwotUGF0 Y2g0ODM6IDAwNDgzLWN2ZS0yMDI2LTIyOTcucGF0Y2gKLQotIyAwMDQ4NCAjIDhiNTEzM2MxYWIx N2EwNjBjZDEzNGJlYTJhNGI2ZTE4MzFjNDdmZWQKLSMgQ1ZFLTIwMjYtMzY0NAotIwotIyBJbmNv bXBsZXRlIGNvbnRyb2wgY2hhcmFjdGVyIHZhbGlkYXRpb24gaW4gaHR0cC5jb29raWVzCi1QYXRj aDQ4NDogMDA0ODQtY3ZlLTIwMjYtMzY0NC5wYXRjaAotCi0jIDAwNDg1ICMgMTJhNWIyMDY2NzY5 MjdiY2VlMTMxYWI0ZjJiZDY3ODNkMmY1OTE0YQotIyBDVkUtMjAyNi00MjI0Ci0jCi0jIFN0YWNr IG92ZXJmbG93IHBhcnNpbmcgWE1MIHdpdGggZGVlcGx5IG5lc3RlZCBEVEQgY29udGVudCBtb2Rl bHMKLVBhdGNoNDg1OiAwMDQ4NS1jdmUtMjAyNi00MjI0LnBhdGNoCi0KLSMgMDA0OTAgIyAzZThj NWFkNzBkNmE1MTUxMDczNTJkODc3OTI2OTI0MGEwNTUzZjU0Ci0jIGdoLTE1MzAzMDogRml4IHF1 YWRyYXRpYyBjb21wbGV4aXR5IGluIGluY3JlbWVudGFsIHBhcnNpbmcgaW4gSFRNTFBhcnNlcgot IwotIyBXaGVuIGFuIHVudGVybWluYXRlZCBjb25zdHJ1Y3QgKGUuZy4gYSB0YWcgb3IgY29tbWVu dCkgc3Bhbm5lZCBtYW55Ci0jIGZlZWQoKSBjYWxscywgcmVzY2FubmluZyB0aGUgZ3Jvd2luZyBi dWZmZXIgYW5kIGNvbmNhdGVuYXRpbmcgbmV3IGRhdGEKLSMgb250byBpdCB3ZXJlIGJvdGggcXVh ZHJhdGljLiAgTmV3IGRhdGEgaXMgbm93IGFjY3VtdWxhdGVkIGluIGEgbGlzdCBhbmQKLSMgb25s eSBqb2luZWQgYW5kIHBhcnNlZCBvbmNlIGVub3VnaCBoYXMgcGlsZWQgdXAuCi1QYXRjaDQ5MDog MDA0OTAtY3ZlLTIwMjYtMTUzMDgucGF0Y2gKLQotIyAwMDQ5MSAjIDFhZDk1MTQ0YzQyYTY5MzMy ODMzNTIyNDVjNWRmNWE0YzE0MmU3NWYKLSMgZ2gtMTQ5Nzc2OiBTa2lwIFVEUCBMaXRlIHRlc3Rz IGlmIGl0J3Mgbm90IHN1cHBvcnRlZAotIwotIyBGaXggdGVzdF9zb2NrZXQgb24gTGludXgga2Vy bmVsIDcuMSBhbmQgbmV3ZXI6IHNraXAgVURQIExpdGUgdGVzdHMgaWYKLSMgaXQncyBub3Qgc3Vw cG9ydGVkLgotUGF0Y2g0OTE6IDAwNDkxLWdoLTE0OTc3Ni1za2lwLXVkcC1saXRlLXRlc3RzLWlm LWl0LXMtbm90LXN1cHBvcnRlZC5wYXRjaAorIyBJdCBoYXMgc3RhcnRlZCB0byBmYWlsIHJhbmRv bWx5IHdoZW4gcnVuIG9uIHMzOTB4IGFyY2hpdGVjdHVyZS4KK1BhdGNoNDk0OiAwMDQ5NC1pbmNy ZWFzZS10aGUtdGltZW91dC1vZi10ZXN0X2xhcmdlX2NvbnRlbnRfbGVuZ3RoX3RydW5jYXRlZC5w YXRjaAogCiAjIChOZXcgcGF0Y2hlcyBnbyBoZXJlIF5eXikKICMKQEAgLTE4MjcsNiArMTc1OCw5 IEBAIENoZWNrUHl0aG9uIG9wdGltaXplZAogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAogJWNoYW5nZWxvZworKiBUaHUgQXVnIDEzIDIw MjYgS2Fyb2xpbmEgU3VybWEgPGtzdXJtYUByZWRoYXQuY29tPiAtIDMuMTIuMTQtMQorLSBVcGRh dGUgdG8gUHl0aG9uIDMuMTIuMTQKKwogKiBUdWUgSnVsIDI4IDIwMjYgTHVrw6HFoSBaYWNoYXIg PGx6YWNoYXJAcmVkaGF0LmNvbT4gLSAzLjEyLjEzLTYKIC0gU2VjdXJpdHkgZml4IGZvciBDVkUt MjAyNi0xNTMwOAogUmVzb2x2ZXM6IHJoYnojMjQ5ODY4OAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMg Yi9zb3VyY2VzCmluZGV4IDViMzMwOTguLmYxMTYxODcgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysr IGIvc291cmNlcwpAQCAtMSwyICsxLDIgQEAKLVNIQTUxMiAoUHl0aG9uLTMuMTIuMTMudGFyLnh6 KSA9IGUxZWI2NmYwYjM0NTgxZjAxNTVlM2NlMjViYTcyY2YwYjRiMTEwNzY3MmVkMGFkM2U4NmJj ZmU2MTY5NDVjOTIwNGM0MWZmYzQ5MmYzMmIxMDY2YjkxNTQ5MTNmZjg4MzQzMDM4OTY3YWQ4NzEx ZGQwNWU2ZjIzMzJmZGI3MzViCi1TSEE1MTIgKFB5dGhvbi0zLjEyLjEzLnRhci54ei5hc2MpID0g OTAzZmQzYmFhN2UyOTg5MWJiMDBmYjE1OWVjOWM0MzgwNGE3MTAwMmM0Y2QzODkwMmQyNWJmNGU1 MTY3Zjg1NmIzN2QyMTFhNWIxMDk4ZWU2MGUxZWE0MWY4YTEwYTE1OTZkZDIzODJlZGM2ZDczNjdk NTVkZDQxNTQ4MDdmYzcKK1NIQTUxMiAoUHl0aG9uLTMuMTIuMTQudGFyLnh6KSA9IDkwMDczOTlm ZmRkM2E0OTNjOTFhOThjZDdhNmNiOTNhY2ZiOGRlODBmM2JlMmY1NDgwY2RhMzZmMTM0ZDQ5YjUw NDNhNjBiYzZiNWM2MmVkMThjYzZhMmU0ZTNjODFjYjc1NTZhYzVmMzM3ZTJjZDU4ZmYzNDQ5YTgw OTllZDIyCitTSEE1MTIgKFB5dGhvbi0zLjEyLjE0LnRhci54ei5hc2MpID0gNjljYzQ3NTdmNWQ3 OWVhNDZmOWI2MzJkNWIzNGY5ZjE2ODU1Y2IxZjc2N2Y3N2M4MjdhZDY1NTQ2YmE4Zjc3YjY4ZTc1 YTY2MWViYzRlNGY0NTNlZGQ3YTk4YTczZDkxNjQ5MTU5N2Y2N2Q0ZmVkOWM4OTFhYTU5OWE4Njkz MjQK