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: =?utf-8?b?T25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+?= To: git-commits@fedoraproject.org Subject: [rpms/fedpkg] 1.48-1: New release 1.46 Date: Mon, 10 Aug 2026 21:46:14 GMT Message-ID: <178639837491.1.12086209352348193591.rpms-fedpkg-4ae13fae6ab9@fedoraproject.org> List-ID: X-Git-Repo: rpms/fedpkg X-Git-Branch: 1.48-1 X-Git-Rev: 4ae13fae6ab9dcaaae44d3c3b39d8128b9f47829 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZmVkcGtnCiAgICAgICAgICAgIEJyYW5jaCA6IDEuNDgtMQogICAgICAgICAg ICBDb21taXQgOiA0YWUxM2ZhZTZhYjlkY2FhYWU0NGQzYzNiMzlkODEyOGI5ZjQ3ODI5CiAgICAg ICAgICAgIEF1dGhvciA6IE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPgogICAgICAg ICAgICBEYXRlICAgOiAyMDI1LTAzLTE5VDAzOjM5OjU3KzAwOjAwCiAgICAgICAgICAgIFN0YXRz ICA6ICs0OS8tMzg0NyBpbiA0MSBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8v c3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZmVkcGtnL2MvNGFlMTNmYWU2YWI5ZGNhYWFlNDRk M2MzYjM5ZDgxMjhiOWY0NzgyOT9icmFuY2g9MS40OC0xCgogICAgICAgICAgICBMb2c6CiAgICAg ICAgICAgIE5ldyByZWxlYXNlIDEuNDYKClNpZ25lZC1vZmYtYnk6IE9uZMWZZWogTm9zZWsgPG9u b3Nla0ByZWRoYXQuY29tPgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9y ZQppbmRleCAxNGFjMWFkLi4xMzdiNWE4IDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5n aXRpZ25vcmUKQEAgLTQxLDMgKzQxLDQgQEAKIC9mZWRwa2ctMS40My50YXIuYnoyCiAvZmVkcGtn LTEuNDQudGFyLmJ6MgogL2ZlZHBrZy0xLjQ1LnRhci5negorL2ZlZHBrZy0xLjQ2LnRhci5negoK ZGlmZiAtLWdpdCBhLzAwMDMtRml4LXVuaXR0ZXN0cy1hZnRlci1jcmVhdGluZy10aGUtcHJvamVj dC1pbi1oYXRjaC5wYXRjaCBiLzAwMDMtRml4LXVuaXR0ZXN0cy1hZnRlci1jcmVhdGluZy10aGUt cHJvamVjdC1pbi1oYXRjaC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzk2 NjBhNy4uMDAwMDAwMAotLS0gYS8wMDAzLUZpeC11bml0dGVzdHMtYWZ0ZXItY3JlYXRpbmctdGhl LXByb2plY3QtaW4taGF0Y2gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1G cm9tIGVhNGFmNDRjZjlkODVkZTZlOTk0YmJkNTZmODY0NWYzMmY5Y2MyNzIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/T25kPUM1PTk5ZWo9MjBOb3Nlaz89IDxvbm9z ZWtAcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgOCBKdWwgMjAyNCAwMjozMjozNyArMDIwMAotU3Vi amVjdDogW1BBVENIIDEvOV0gRml4IHVuaXR0ZXN0cyBhZnRlciBjcmVhdGluZyB0aGUgcHJvamVj dCBpbiBoYXRjaAotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsg Y2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1QeXRob24z NiB1bml0dGVzdHMgZmFpbGVkIGJlY2F1c2UgdGhleSBhdXRvbWF0aWNhbHkgaW5zdGFsbGVkCi10 aGUgaGF0Y2gsIGJ1dCBpdCB3YXNuJ3QgYXZhaWxhYmxlIGluIFB5dGhvbjM2LgotCi1TaWduZWQt b2ZmLWJ5OiBPbmTFmWVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KLS0tLQotIHB5cHJvamVj dC50b21sIHwgMiArLQotIHRveC5pbmkgICAgICAgIHwgNSArKysrKwotIDIgZmlsZXMgY2hhbmdl ZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9weXByb2pl Y3QudG9tbCBiL3B5cHJvamVjdC50b21sCi1pbmRleCBlNzU4ZmM2Li40MzE1ZWE1IDEwMDY0NAot LS0tIGEvcHlwcm9qZWN0LnRvbWwKLSsrKyBiL3B5cHJvamVjdC50b21sCi1AQCAtNzksNyArNzks NyBAQCBpbmNsdWRlID0gWwotIAotIFt0b29sLmhhdGNoLmJ1aWxkLnRhcmdldHMud2hlZWxdCi0g cGFja2FnZXMgPSBbCi0tICAgICJkaXN0L2ZlZHBrZyIKLSsgICAgImZlZHBrZyIKLSBdCi0gCi0g W3Rvb2wuaGF0Y2guYnVpbGQudGFyZ2V0cy53aGVlbC5zaGFyZWQtZGF0YV0KLWRpZmYgLS1naXQg YS90b3guaW5pIGIvdG94LmluaQotaW5kZXggMzdmZTYzNi4uZmYwMTI0YiAxMDA2NDQKLS0tLSBh L3RveC5pbmkKLSsrKyBiL3RveC5pbmkKLUBAIC0yMCw3ICsyMCwxMiBAQCBjb21tYW5kcyA9Ci0g c2V0ZW52PQotICAgICBQWUNVUkxfU1NMX0xJQlJBUlk9b3BlbnNzbAotIAotK1t0ZXN0ZW52OnB5 MzZdCi0rIyBkbyBub3QgaW5zdGFsbCBoYXRjaCwgaXQgaXMgbm90IGF2YWlsYWJsZSBvbiBweTM2 Ci0rc2tpcF9pbnN0YWxsID0gVHJ1ZQotKwotIFt0ZXN0ZW52OmZsYWtlOF0KLStza2lwX2luc3Rh bGwgPSBUcnVlCi0gZGVwcyA9IGZsYWtlOAotIGNvbW1hbmRzID0gcHl0aG9uIC1tIGZsYWtlOCBm ZWRwa2cvIHRlc3QvCi0gCi0tLSAKLTIuNDUuMgotCgpkaWZmIC0tZ2l0IGEvMDAwNC1SZW1vdmUt bWJzLmZlZG9yYXByb2plY3Qub3JnLXNjb3Blcy1mcm9tLWdpdC1jcmVkLWhlLnBhdGNoIGIvMDAw NC1SZW1vdmUtbWJzLmZlZG9yYXByb2plY3Qub3JnLXNjb3Blcy1mcm9tLWdpdC1jcmVkLWhlLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNWY0MmEwLi4wMDAwMDAwCi0tLSBh LzAwMDQtUmVtb3ZlLW1icy5mZWRvcmFwcm9qZWN0Lm9yZy1zY29wZXMtZnJvbS1naXQtY3JlZC1o ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLUZyb20gNDgxYmEzODNjODJj OTE0ZTdlYTJkYjgxM2FmOGM5ZDI3ODZiMGY3NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IEtKIFRzYW5ha3RzaWRpcyA8a2pAa2p0c2FuYWt0c2lkaXMuaWQuYXU+Ci1EYXRlOiBUdWUs IDE4IEp1biAyMDI0IDIxOjQ3OjUwICsxMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMi85XSBSZW1vdmUg bWJzLmZlZG9yYXByb2plY3Qub3JnIHNjb3BlcyBmcm9tIGdpdCBjcmVkIGhlbHBlcgotCi1UaGUg ZmVkcGtnIGdpdCBjcmVkZW50aWFsIGhlbHBlciBkZWZhdWx0cyB0byBhc2tpbmcgZm9yIHRoZQot aHR0cHM6Ly9tYnMuZmVkb3JhcHJvamVjdC5vcmcvb2lkYy9zdWJtaXQtYnVpbGQgc2NvcGUgaW4g dGhlCi1kZWZhdWx0IGNvbmZpZyBmaWxlLiBJdCBzZWVtcyB0aGF0IHRoZSBtYnMgaW5mcmFzdHJ1 Y3R1cmUgaGFzIGJlZW4gdG9ybgotZG93biBhbmQgdGhpcyBzY29wZSBpcyBubyBsb25nZXIgdmFs aWQ6Ci0KLWh0dHBzOi8vcGFndXJlLmlvL2ZlZG9yYS1pbmZyYXN0cnVjdHVyZS9pc3N1ZS8xMTk5 MAotCi1BbmQgYXR0ZW1wdGluZyB0byBhc2sgZm9yIGl0IG1lYW5zIHRoYXQgdGhlIGNyZWRlbnRp YWwgaGVscGVyIGZhaWxzCi13aXRoOgotCi1gYGAKLVBsZWFzZSB2aXNpdCBodHRwczovL2lkLmZl ZG9yYXByb2plY3Qub3JnL29wZW5pZGMvQXV0aG9yaXphdGlvbj9zY29wZT1vcGVuaWQraHR0cHMl M0ElMkYlMkZpZC5mZWRvcmFwcm9qZWN0Lm9yZyUyRnNjb3BlJTJGZ3JvdXBzK2h0dHBzJTNBJTJG JTJGbWJzLmZlZG9yYXByb2plY3Qub3JnJTJGb2lkYyUyRnN1Ym1pdC1idWlsZCtodHRwcyUzQSUy RiUyRnNyYy5mZWRvcmFwcm9qZWN0Lm9yZyUyRnB1c2gmcmVzcG9uc2VfdHlwZT1jb2RlJmNsaWVu dF9pZD1mZWRwa2cmcmVkaXJlY3RfdXJpPWh0dHAlM0ElMkYlMkZsb2NhbGhvc3QlM0ExMjM0NSUy RiZyZXNwb25zZV9tb2RlPXF1ZXJ5IHRvIGdyYW50IGF1dGhvcml6YXRpb24KLTEyNy4wLjAuMSAt IC0gWzE0L0p1bi8yMDI0IDIxOjIzOjQxXSAiR0VUIC8/ZXJyb3I9aW52YWxpZF9zY29wZSZlcnJv cl9kZXNjcmlwdGlvbj11bmtub3duK3Njb3BlK2h0dHBzJTNBJTJGJTJGbWJzLmZlZG9yYXByb2pl Y3Qub3JnJTJGb2lkYyUyRnN1Ym1pdC1idWlsZCtyZXF1ZXN0ZWQgSFRUUC8xLjEiIDIwMCA0Nwot Tm8gdG9rZW4gcmVjZWl2ZWQuCi1mYXRhbDogY3JlZGVudGlhbCBoZWxwZXIgJy91c3IvYmluL2Zl ZHBrZyBnaXRjcmVkJyB0b2xkIHVzIHRvIHF1aXQKLUNvdWxkIG5vdCBleGVjdXRlIHB1c2g6IEZh aWxlZCB0byBleGVjdXRlIGNvbW1hbmQuCi1gYGAKLQotSSdtIG5vdCBzdXJlIGlmIHRoZSBhY3R1 YWwgY29kZSBmb3IgaW50ZXJmYWNpbmcgd2l0aCB0aGUgTUJTIHNob3VsZCBiZQotZGVsZXRlZCBv dXQgb2YgcnBrZyBvciBub3QsIGJ1dCBjZXJ0YWlubHkgSSB0aGluayB0aGUgZGVmYXVsdCBmZWRw a2cKLWNvbmZpZyBmaWxlIHNob3VsZCB3b3JrLCBzbyBsZXQncyBkbyB0aGlzIGZpcnN0PwotCi1T aWduZWQtb2ZmLWJ5OiBLSiBUc2FuYWt0c2lkaXMgPGtqQGtqdHNhbmFrdHNpZGlzLmlkLmF1Pgot LS0tCi0gY29uZi9ldGMvcnBrZy9mZWRwa2ctc3RhZ2UuY29uZiB8IDIgKy0KLSBjb25mL2V0Yy9y cGtnL2ZlZHBrZy5jb25mICAgICAgIHwgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZi9ldGMvcnBrZy9mZWRw a2ctc3RhZ2UuY29uZiBiL2NvbmYvZXRjL3Jwa2cvZmVkcGtnLXN0YWdlLmNvbmYKLWluZGV4IDQ0 ZWU0ZjUuLjE0NGNlNzYgMTAwNjQ0Ci0tLS0gYS9jb25mL2V0Yy9ycGtnL2ZlZHBrZy1zdGFnZS5j b25mCi0rKysgYi9jb25mL2V0Yy9ycGtnL2ZlZHBrZy1zdGFnZS5jb25mCi1AQCAtMzIsNyArMzIs NyBAQCBrZXJiZXJvc19yZWFsbXMgPSBTVEcuRkVET1JBUFJPSkVDVC5PUkcKLSBvaWRjX2lkX3By b3ZpZGVyID0gaHR0cHM6Ly9pZC5zdGcuZmVkb3JhcHJvamVjdC5vcmcvb3BlbmlkYy8KLSBvaWRj X2NsaWVudF9pZCA9IGZlZHBrZwotIG9pZGNfY2xpZW50X3NlY3JldCA9IG5vdHNlY3JldAotLW9p ZGNfc2NvcGVzID0gb3BlbmlkLGh0dHBzOi8vaWQuZmVkb3JhcHJvamVjdC5vcmcvc2NvcGUvZ3Jv dXBzLGh0dHBzOi8vbWJzLmZlZG9yYXByb2plY3Qub3JnL29pZGMvc3VibWl0LWJ1aWxkLGh0dHBz Oi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3B1c2gKLStvaWRjX3Njb3BlcyA9IG9wZW5pZCxodHRw czovL2lkLmZlZG9yYXByb2plY3Qub3JnL3Njb3BlL2dyb3VwcyxodHRwczovL3NyYy5mZWRvcmFw cm9qZWN0Lm9yZy9wdXNoCi0gZ2l0X2V4Y2x1ZGVzID0KLSAgIGkzODYvCi0gICBpNjg2LwotZGlm ZiAtLWdpdCBhL2NvbmYvZXRjL3Jwa2cvZmVkcGtnLmNvbmYgYi9jb25mL2V0Yy9ycGtnL2ZlZHBr Zy5jb25mCi1pbmRleCBlNzNmNmVkLi5jNGFiNTFhIDEwMDY0NAotLS0tIGEvY29uZi9ldGMvcnBr Zy9mZWRwa2cuY29uZgotKysrIGIvY29uZi9ldGMvcnBrZy9mZWRwa2cuY29uZgotQEAgLTMyLDcg KzMyLDcgQEAga2VyYmVyb3NfcmVhbG1zID0gRkVET1JBUFJPSkVDVC5PUkcKLSBvaWRjX2lkX3By b3ZpZGVyID0gaHR0cHM6Ly9pZC5mZWRvcmFwcm9qZWN0Lm9yZy9vcGVuaWRjLwotIG9pZGNfY2xp ZW50X2lkID0gZmVkcGtnCi0gb2lkY19jbGllbnRfc2VjcmV0ID0gbm90c2VjcmV0Ci0tb2lkY19z Y29wZXMgPSBvcGVuaWQsaHR0cHM6Ly9pZC5mZWRvcmFwcm9qZWN0Lm9yZy9zY29wZS9ncm91cHMs aHR0cHM6Ly9tYnMuZmVkb3JhcHJvamVjdC5vcmcvb2lkYy9zdWJtaXQtYnVpbGQsaHR0cHM6Ly9z cmMuZmVkb3JhcHJvamVjdC5vcmcvcHVzaAotK29pZGNfc2NvcGVzID0gb3BlbmlkLGh0dHBzOi8v aWQuZmVkb3JhcHJvamVjdC5vcmcvc2NvcGUvZ3JvdXBzLGh0dHBzOi8vc3JjLmZlZG9yYXByb2pl Y3Qub3JnL3B1c2gKLSBnaXRfZXhjbHVkZXMgPQotICAgaTM4Ni8KLSAgIGk2ODYvCi0tLSAKLTIu NDUuMgotCgpkaWZmIC0tZ2l0IGEvMDAwNS1Eb24tdC11c2UtaGF0Y2hsaW5nLW9uLXB5dGhvbi0z LjYucGF0Y2ggYi8wMDA1LURvbi10LXVzZS1oYXRjaGxpbmctb24tcHl0aG9uLTMuNi5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2ZmOWZkZS4uMDAwMDAwMAotLS0gYS8wMDA1 LURvbi10LXVzZS1oYXRjaGxpbmctb24tcHl0aG9uLTMuNi5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDQwICswLDAgQEAKLUZyb20gOGNjMGY2ZjBlNTdkYTM1OWVjZGRmNWE0ZjI5YmYzNDE1OGRl ZjY4NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERpZWdvIEhlcnJlcmEgPGRoZXJy ZXJhQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDQgSnVsIDIwMjQgMTc6NTY6MzAgLTA0MDAKLVN1 YmplY3Q6IFtQQVRDSCAzLzldIERvbid0IHVzZSBoYXRjaGxpbmcgb24gcHl0aG9uIDMuNgotCi1N ZXJnZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZlZHBrZy9wdWxsLXJlcXVlc3QvNTUzCi1TaWduZWQt b2ZmLWJ5OiBEaWVnbyBIZXJyZXJhIDxkaGVycmVyYUByZWRoYXQuY29tPgotLS0tCi0gcHlwcm9q ZWN0LnRvbWwgfCAyICstCi0gdG94LmluaSAgICAgICAgfCAzICstLQotIDIgZmlsZXMgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcHlwcm9q ZWN0LnRvbWwgYi9weXByb2plY3QudG9tbAotaW5kZXggNDMxNWVhNS4uMWJlOTliNSAxMDA2NDQK LS0tLSBhL3B5cHJvamVjdC50b21sCi0rKysgYi9weXByb2plY3QudG9tbAotQEAgLTEsNSArMSw1 IEBACi0gW2J1aWxkLXN5c3RlbV0KLS1yZXF1aXJlcyA9IFsiaGF0Y2hsaW5nIl0KLStyZXF1aXJl cyA9IFsiaGF0Y2hsaW5nOyBweXRob25fdmVyc2lvbiA+ICczLjYnIl0KLSBidWlsZC1iYWNrZW5k ID0gImhhdGNobGluZy5idWlsZCIKLSAKLSBbcHJvamVjdF0KLWRpZmYgLS1naXQgYS90b3guaW5p IGIvdG94LmluaQotaW5kZXggZmYwMTI0Yi4uMzQ5ODI0OSAxMDA2NDQKLS0tLSBhL3RveC5pbmkK LSsrKyBiL3RveC5pbmkKLUBAIC0yMSw4ICsyMSw3IEBAIHNldGVudj0KLSAgICAgUFlDVVJMX1NT TF9MSUJSQVJZPW9wZW5zc2wKLSAKLSBbdGVzdGVudjpweTM2XQotLSMgZG8gbm90IGluc3RhbGwg aGF0Y2gsIGl0IGlzIG5vdCBhdmFpbGFibGUgb24gcHkzNgotLXNraXBfaW5zdGFsbCA9IFRydWUK LStwYWNrYWdlID0gc2Rpc3QKLSAKLSBbdGVzdGVudjpmbGFrZThdCi0gc2tpcF9pbnN0YWxsID0g VHJ1ZQotLS0gCi0yLjQ1LjIKLQoKZGlmZiAtLWdpdCBhLzAwMDYtRG9uLXQtcHJpbnQtdGhlLWJy YW5jaC1uYW1lLWFmdGVyLWRhc2gtd2hlbi10aGVyZS1pcy5wYXRjaCBiLzAwMDYtRG9uLXQtcHJp bnQtdGhlLWJyYW5jaC1uYW1lLWFmdGVyLWRhc2gtd2hlbi10aGVyZS1pcy5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGQ3MjlmZS4uMDAwMDAwMAotLS0gYS8wMDA2LURvbi10 LXByaW50LXRoZS1icmFuY2gtbmFtZS1hZnRlci1kYXNoLXdoZW4tdGhlcmUtaXMucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIDBkYjQ0NWIwOWMxZjU1NjQwN2UyOWU5 ODVhMjA0ZjllMzljYmRhYWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04 P3E/TWlybz0yMEhyb249QzQ9OERvaz89IDxtaXJvQGhyb25jb2suY3o+Ci1EYXRlOiBTdW4sIDcg SnVsIDIwMjQgMTQ6Mzk6NTMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA0LzldIERvbid0IHByaW50 IHRoZSBicmFuY2ggbmFtZSBhZnRlciBkYXNoIHdoZW4gdGhlcmUgaXMgbm8KLSBkYXNoCi1NSU1F LVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1D b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUZpeGVzIGh0dHBzOi8vcGFndXJlLmlv L2ZlZHBrZy9pc3N1ZS81NTQKLQotU2lnbmVkLW9mZi1ieTogTWlybyBIcm9uxI1vayA8bWlyb0Bo cm9uY29rLmN6PgotLS0tCi0gZmVkcGtnL19faW5pdF9fLnB5IHwgNSArKystLQotIDEgZmlsZSBj aGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9m ZWRwa2cvX19pbml0X18ucHkgYi9mZWRwa2cvX19pbml0X18ucHkKLWluZGV4IDBlMWEwMDcuLmFi YjRmYjYgMTAwNjQ0Ci0tLS0gYS9mZWRwa2cvX19pbml0X18ucHkKLSsrKyBiL2ZlZHBrZy9fX2lu aXRfXy5weQotQEAgLTE1MSw4ICsxNTEsOSBAQCBjbGFzcyBDb21tYW5kcyhweXJwa2cuQ29tbWFu ZHMpOgotICAgICAgICAgaWYgbm90IHNlbGYuX2xvYWRfcnBtZGVmaW5lc19icmFuY2goc2VsZi5i cmFuY2hfbWVyZ2UsIGV4dHJhX3JwbWRlZmluZXMpOgotICAgICAgICAgICAgIGJhc2UgPSBzZWxm LmJyYW5jaF9tZXJnZS5zcGxpdCgnLScsIDEpCi0gICAgICAgICAgICAgIyBBbGxvdyBicmFuY2hl cyBsaWtlIGYzOC1zdGFnaW5nCi0tICAgICAgICAgICAgc2VsZi5sb2cuZGVidWcoJ1JldHJ5aW5n IHdpdGggYnJhbmNoIHt9LCBmZWF0dXJlIHt9JwotLSAgICAgICAgICAgICAgICAgICAgICAgICAg IC5mb3JtYXQoYmFzZVswXSwgYmFzZVsxXSkpCi0rICAgICAgICAgICAgaWYgbGVuKGJhc2UpID4g MToKLSsgICAgICAgICAgICAgICAgc2VsZi5sb2cuZGVidWcoJ1JldHJ5aW5nIHdpdGggYnJhbmNo IHt9LCBmZWF0dXJlIHt9JwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm9ybWF0 KGJhc2VbMF0sIGJhc2VbMV0pKQotICAgICAgICAgICAgIGlmIG5vdCAobGVuKGJhc2UpID4gMSBh bmQgYmFzZVswXS5pc2FsbnVtKCkgYW5kIGxlbihiYXNlWzFdKSA+IDAgYW5kCi0gICAgICAgICAg ICAgICAgICAgICBzZWxmLl9sb2FkX3JwbWRlZmluZXNfYnJhbmNoKGJhc2VbMF0sIGV4dHJhX3Jw bWRlZmluZXMpKToKLSAgICAgICAgICAgICAgICAgbXNnID0gKCdDb3VsZCBub3QgZmluZCByZWxl YXNlIGZyb20gYnJhbmNoIG5hbWUgXCclc1wnLiAnCi0tLSAKLTIuNDUuMgotCgpkaWZmIC0tZ2l0 IGEvMDAwNy1UZXN0LWZvci12YWxpZC1FUEVMLWJyYW5jaC1uYW1lcy5wYXRjaCBiLzAwMDctVGVz dC1mb3ItdmFsaWQtRVBFTC1icmFuY2gtbmFtZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDYxMGMxOGUuLjAwMDAwMDAKLS0tIGEvMDAwNy1UZXN0LWZvci12YWxpZC1FUEVM LWJyYW5jaC1uYW1lcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20g MjQyZTViNzUzMjMwODZkOTZjYzQxZjY4ZjRiZmEzOTVmZTZlMTU5NyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IERpZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+Ci1EYXRl OiBUdWUsIDIgSnVsIDIwMjQgMTg6MDc6MTYgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA1LzldIFRl c3QgZm9yIHZhbGlkIEVQRUwgYnJhbmNoIG5hbWVzCi0KLVNpZ25lZC1vZmYtYnk6IERpZWdvIEhl cnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+Ci0tLS0KLSB0ZXN0L3Rlc3RfdXRpbHMucHkgfCAx NSArKysrKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKQotCi1k aWZmIC0tZ2l0IGEvdGVzdC90ZXN0X3V0aWxzLnB5IGIvdGVzdC90ZXN0X3V0aWxzLnB5Ci1pbmRl eCBlODY0OGU0Li40ZDA1NWVjIDEwMDY0NAotLS0tIGEvdGVzdC90ZXN0X3V0aWxzLnB5Ci0rKysg Yi90ZXN0L3Rlc3RfdXRpbHMucHkKLUBAIC0yMDcsNiArMjA3LDIxIEBAIGNsYXNzIFRlc3RWZXJp ZnlTTFModW5pdHRlc3QuVGVzdENhc2UpOgotICAgICAgICAgKQotIAotIAotK2NsYXNzIFRlc3RJ c0VwZWwodW5pdHRlc3QuVGVzdENhc2UpOgotKyAgICAiIiJUZXN0IGlzX2VwZWwiIiIKLSsKLSsg ICAgZGVmIHRlc3RfdmFsaWRfZXBlbF9icmFuY2hfbmFtZXMoc2VsZik6Ci0rICAgICAgICBzZWxm LmFzc2VydEVxdWFsKHV0aWxzLmlzX2VwZWwoImVsNiIpLCBUcnVlKQotKyAgICAgICAgc2VsZi5h c3NlcnRFcXVhbCh1dGlscy5pc19lcGVsKCJlcGVsNyIpLCBUcnVlKQotKyAgICAgICAgc2VsZi5h c3NlcnRFcXVhbCh1dGlscy5pc19lcGVsKCJlcGVsOCIpLCBUcnVlKQotKyAgICAgICAgc2VsZi5h c3NlcnRFcXVhbCh1dGlscy5pc19lcGVsKCJlcGVsOC1uZXh0IiksIFRydWUpCi0rICAgICAgICBz ZWxmLmFzc2VydEVxdWFsKHV0aWxzLmlzX2VwZWwoImVwZWw5IiksIFRydWUpCi0rICAgICAgICBz ZWxmLmFzc2VydEVxdWFsKHV0aWxzLmlzX2VwZWwoImVwZWw5LW5leHQiKSwgVHJ1ZSkKLSsKLSsg ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXRpbHMuaXNfZXBlbCgiZjM2IiksIEZhbHNlKQotKyAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1dGlscy5pc19lcGVsKCJyYXdoaWRlIiksIEZhbHNlKQot KwotKwotIEBwYXRjaCgncmVxdWVzdHMuZ2V0JykKLSBjbGFzcyBUZXN0QXNzZXJ0VmFsaWRFUEVM UGFja2FnZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICIiIlRlc3QgYXNzZXJ0X3ZhbGlkX2Vw ZWxfcGFja2FnZSIiIgotLS0gCi0yLjQ1LjIKLQoKZGlmZiAtLWdpdCBhLzAwMDgtQWRkLUVQRUwx MC1icmFuY2gtbmFtZS1jYXNlcy1hcy12YWxpZC5wYXRjaCBiLzAwMDgtQWRkLUVQRUwxMC1icmFu Y2gtbmFtZS1jYXNlcy1hcy12YWxpZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggNTEwYzYwZS4uMDAwMDAwMAotLS0gYS8wMDA4LUFkZC1FUEVMMTAtYnJhbmNoLW5hbWUtY2Fz ZXMtYXMtdmFsaWQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1Gcm9tIGQz ODU1MDVhZDk4YjgwNDRmZGQ4ODAwYWNkOTZjNWM2YTE4YjFkMjIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBEaWVnbyBIZXJyZXJhIDxkaGVycmVyYUByZWRoYXQuY29tPgotRGF0ZTog VHVlLCAyIEp1bCAyMDI0IDE4OjEwOjE1IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggNi85XSBBZGQg RVBFTDEwIGJyYW5jaCBuYW1lIGNhc2VzIGFzIHZhbGlkCi0KLVNpZ25lZC1vZmYtYnk6IERpZWdv IEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+Ci0tLS0KLSBmZWRwa2cvdXRpbHMucHkgICAg fCAyICstCi0gdGVzdC90ZXN0X3V0aWxzLnB5IHwgNCArKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA1 IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2ZlZHBrZy91dGls cy5weSBiL2ZlZHBrZy91dGlscy5weQotaW5kZXggOWU1YzViZi4uMDI4ZmJhMiAxMDA2NDQKLS0t LSBhL2ZlZHBrZy91dGlscy5weQotKysrIGIvZmVkcGtnL3V0aWxzLnB5Ci1AQCAtMzExLDcgKzMx MSw3IEBAIGRlZiBpc19lcGVsKGJyYW5jaCk6Ci0gICAgIDpwYXJhbSBicmFuY2g6IGEgc3RyaW5n IG9mIHRoZSBicmFuY2ggbmFtZQotICAgICA6cmV0dXJuOiBhIGJvb2xlYW4KLSAgICAgIiIiCi0t ICAgIHJldHVybiBib29sKHJlLm1hdGNoKHInXig/OmVsfGVwZWwpXGQrKD86LW5leHQpPyQnLCBi cmFuY2gpKQotKyAgICByZXR1cm4gYm9vbChyZS5tYXRjaChyJ14oPzplbHxlcGVsKVxkKyg/Olwu XGQrKT8oPzotbmV4dCk/JCcsIGJyYW5jaCkpCi0gCi0gCi0gZGVmIGFzc2VydF92YWxpZF9lcGVs X3BhY2thZ2UobmFtZSwgYnJhbmNoKToKLWRpZmYgLS1naXQgYS90ZXN0L3Rlc3RfdXRpbHMucHkg Yi90ZXN0L3Rlc3RfdXRpbHMucHkKLWluZGV4IDRkMDU1ZWMuLjZiNjA1MGEgMTAwNjQ0Ci0tLS0g YS90ZXN0L3Rlc3RfdXRpbHMucHkKLSsrKyBiL3Rlc3QvdGVzdF91dGlscy5weQotQEAgLTIxNyw2 ICsyMTcsMTAgQEAgY2xhc3MgVGVzdElzRXBlbCh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKHV0aWxzLmlzX2VwZWwoImVwZWw4LW5leHQiKSwgVHJ1ZSkKLSAg ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXRpbHMuaXNfZXBlbCgiZXBlbDkiKSwgVHJ1ZSkKLSAg ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXRpbHMuaXNfZXBlbCgiZXBlbDktbmV4dCIpLCBUcnVl KQotKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1dGlscy5pc19lcGVsKCJlcGVsMTAiKSwgVHJ1 ZSkKLSsgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXRpbHMuaXNfZXBlbCgiZXBlbDEwLjEiKSwg VHJ1ZSkKLSsgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXRpbHMuaXNfZXBlbCgiZXBlbDEwLjEw IiksIFRydWUpCi0rICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHV0aWxzLmlzX2VwZWwoImVwZWwx MC4xMSIpLCBUcnVlKQotIAotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1dGlscy5pc19lcGVs KCJmMzYiKSwgRmFsc2UpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHV0aWxzLmlzX2VwZWwo InJhd2hpZGUiKSwgRmFsc2UpCi0tLSAKLTIuNDUuMgotCgpkaWZmIC0tZ2l0IGEvMDAwOS1UZXN0 LXVybC11c2FnZS1pbi1hc3NlcnRfdmFsaWRfZXBlbF9wYWNrYWdlLnBhdGNoIGIvMDAwOS1UZXN0 LXVybC11c2FnZS1pbi1hc3NlcnRfdmFsaWRfZXBlbF9wYWNrYWdlLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCBiYzA3ZDExLi4wMDAwMDAwCi0tLSBhLzAwMDktVGVzdC11cmwt dXNhZ2UtaW4tYXNzZXJ0X3ZhbGlkX2VwZWxfcGFja2FnZS5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDY1ICswLDAgQEAKLUZyb20gZDY2OTMyMmU3MzA4MDM4MjRlYTYxMTNjOWQzMTMwNmRmMTcy Yzk4OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERpZWdvIEhlcnJlcmEgPGRoZXJy ZXJhQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDIgSnVsIDIwMjQgMTg6MTI6MjIgLTA0MDAKLVN1 YmplY3Q6IFtQQVRDSCA3LzldIFRlc3QgdXJsIHVzYWdlIGluIGFzc2VydF92YWxpZF9lcGVsX3Bh Y2thZ2UKLQotU2lnbmVkLW9mZi1ieTogRGllZ28gSGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNv bT4KLS0tLQotIHRlc3QvdGVzdF91dGlscy5weSB8IDQxICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKykKLQot ZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF91dGlscy5weSBiL3Rlc3QvdGVzdF91dGlscy5weQotaW5k ZXggNmI2MDUwYS4uMmU2NmZlNiAxMDA2NDQKLS0tLSBhL3Rlc3QvdGVzdF91dGlscy5weQotKysr IGIvdGVzdC90ZXN0X3V0aWxzLnB5Ci1AQCAtMjQ0LDYgKzI0NCw0NyBAQCBjbGFzcyBUZXN0QXNz ZXJ0VmFsaWRFUEVMUGFja2FnZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICAgICAgc2Vs ZiwgcnBrZ0Vycm9yLCAnVGhlIHN0YXR1cyBjb2RlIHdhczogNDA0JywKLSAgICAgICAgICAgICB1 dGlscy5hc3NlcnRfdmFsaWRfZXBlbF9wYWNrYWdlLCAncGtnJywgJ2VwZWw3JykKLSAKLSsgICAg ZGVmIHRlc3RfY29ycmVjdF91cmxfZXBlbDcoc2VsZiwgZ2V0KToKLSsgICAgICAgIGdldC5yZXR1 cm5fdmFsdWUgPSBNb2NrKG9rPUZhbHNlLCBzdGF0dXNfY29kZT00MDQpCi0rCi0rICAgICAgICBz aXguYXNzZXJ0UmFpc2VzUmVnZXgoCi0rICAgICAgICAgICAgc2VsZiwgcnBrZ0Vycm9yLCAnVGhl IHN0YXR1cyBjb2RlIHdhczogNDA0JywKLSsgICAgICAgICAgICB1dGlscy5hc3NlcnRfdmFsaWRf ZXBlbF9wYWNrYWdlLCAncGtnJywgJ2VwZWw3JykKLSsgICAgICAgIGdldC5hc3NlcnRfY2FsbGVk X29uY2Vfd2l0aCgKLSsgICAgICAgICAgICAnaHR0cHM6Ly9pbmZyYXN0cnVjdHVyZS5mZWRvcmFw cm9qZWN0Lm9yZy9yZXBvL2pzb24vcGtnX2VsNy5qc29uJywKLSsgICAgICAgICAgICB0aW1lb3V0 PTYwKQotKwotKyAgICBkZWYgdGVzdF9jb3JyZWN0X3VybF9lcGVsOChzZWxmLCBnZXQpOgotKyAg ICAgICAgZ2V0LnJldHVybl92YWx1ZSA9IE1vY2sob2s9RmFsc2UsIHN0YXR1c19jb2RlPTQwNCkK LSsKLSsgICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleCgKLSsgICAgICAgICAgICBzZWxmLCBy cGtnRXJyb3IsICdUaGUgc3RhdHVzIGNvZGUgd2FzOiA0MDQnLAotKyAgICAgICAgICAgIHV0aWxz LmFzc2VydF92YWxpZF9lcGVsX3BhY2thZ2UsICdwa2cnLCAnZXBlbDgnKQotKyAgICAgICAgZ2V0 LmFzc2VydF9jYWxsZWRfb25jZV93aXRoKAotKyAgICAgICAgICAgICdodHRwczovL2luZnJhc3Ry dWN0dXJlLmZlZG9yYXByb2plY3Qub3JnL3JlcG8vanNvbi9wa2dfZWw4Lmpzb24nLAotKyAgICAg ICAgICAgIHRpbWVvdXQ9NjApCi0rCi0rICAgIGRlZiB0ZXN0X2NvcnJlY3RfdXJsX2VwZWw4X25l eHQoc2VsZiwgZ2V0KToKLSsgICAgICAgIGdldC5yZXR1cm5fdmFsdWUgPSBNb2NrKG9rPUZhbHNl LCBzdGF0dXNfY29kZT00MDQpCi0rCi0rICAgICAgICBzaXguYXNzZXJ0UmFpc2VzUmVnZXgoCi0r ICAgICAgICAgICAgc2VsZiwgcnBrZ0Vycm9yLCAnVGhlIHN0YXR1cyBjb2RlIHdhczogNDA0JywK LSsgICAgICAgICAgICB1dGlscy5hc3NlcnRfdmFsaWRfZXBlbF9wYWNrYWdlLCAncGtnJywgJ2Vw ZWw4LW5leHQnKQotKyAgICAgICAgZ2V0LmFzc2VydF9jYWxsZWRfb25jZV93aXRoKAotKyAgICAg ICAgICAgICdodHRwczovL2luZnJhc3RydWN0dXJlLmZlZG9yYXByb2plY3Qub3JnL3JlcG8vanNv bi9wa2dfZWw4Lmpzb24nLAotKyAgICAgICAgICAgIHRpbWVvdXQ9NjApCi0rCi0rICAgIGRlZiB0 ZXN0X2NvcnJlY3RfdXJsX2VwZWw5KHNlbGYsIGdldCk6Ci0rICAgICAgICBnZXQucmV0dXJuX3Zh bHVlID0gTW9jayhvaz1GYWxzZSwgc3RhdHVzX2NvZGU9NDA0KQotKwotKyAgICAgICAgc2l4LmFz c2VydFJhaXNlc1JlZ2V4KAotKyAgICAgICAgICAgIHNlbGYsIHJwa2dFcnJvciwgJ1RoZSBzdGF0 dXMgY29kZSB3YXM6IDQwNCcsCi0rICAgICAgICAgICAgdXRpbHMuYXNzZXJ0X3ZhbGlkX2VwZWxf cGFja2FnZSwgJ3BrZycsICdlcGVsOScpCi0rICAgICAgICBnZXQuYXNzZXJ0X2NhbGxlZF9vbmNl X3dpdGgoCi0rICAgICAgICAgICAgJ2h0dHBzOi8vY29tcG9zZXMuc3RyZWFtLmNlbnRvcy5vcmcv cHJvZHVjdGlvbi8nCi0rICAgICAgICAgICAgJ2xhdGVzdC1DZW50T1MtU3RyZWFtL2NvbXBvc2Uv bWV0YWRhdGEvcnBtcy5qc29uJywKLSsgICAgICAgICAgICB0aW1lb3V0PTYwKQotKwotICAgICBk ZWYgdGVzdF9zaG91bGRfbm90X2hhdmVfZXBlbF9icmFuY2hfZm9yX2VsNl9wa2coc2VsZiwgZ2V0 KToKLSAgICAgICAgIGdldC5yZXR1cm5fdmFsdWUuanNvbi5yZXR1cm5fdmFsdWUgPSB7Ci0gICAg ICAgICAgICAgJ2FyY2hlcyc6IFsKLS0tIAotMi40NS4yCi0KCmRpZmYgLS1naXQgYS8wMDEwLUFk ZC1FUEVMMTAtdXJsLXBhdHRlcm4tb24tYXNzZXJ0X3ZhbGlkX2VwZWxfcGFja2FnZS5wYXRjaCBi LzAwMTAtQWRkLUVQRUwxMC11cmwtcGF0dGVybi1vbi1hc3NlcnRfdmFsaWRfZXBlbF9wYWNrYWdl LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTBhZDkxLi4wMDAwMDAwCi0t LSBhLzAwMTAtQWRkLUVQRUwxMC11cmwtcGF0dGVybi1vbi1hc3NlcnRfdmFsaWRfZXBlbF9wYWNr YWdlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotRnJvbSAwNjA4MTdmZmU4 ZWY2YWZhNzY3MzRhY2E3ZTgzNmQwMWYwMDk2Y2M0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogRGllZ28gSGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgMiBK dWwgMjAyNCAxODoxNToyNCAtMDQwMAotU3ViamVjdDogW1BBVENIIDgvOV0gQWRkIEVQRUwxMCsg dXJsIHBhdHRlcm4gb24gYXNzZXJ0X3ZhbGlkX2VwZWxfcGFja2FnZQotCi1TaWduZWQtb2ZmLWJ5 OiBEaWVnbyBIZXJyZXJhIDxkaGVycmVyYUByZWRoYXQuY29tPgotLS0tCi0gZmVkcGtnL3V0aWxz LnB5ICAgIHwgMTggKysrKysrKysrKysrLS0tLS0tCi0gdGVzdC90ZXN0X3V0aWxzLnB5IHwgMjIg KysrKysrKysrKysrKysrKysrKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygr KSwgNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2ZlZHBrZy91dGlscy5weSBiL2ZlZHBr Zy91dGlscy5weQotaW5kZXggMDI4ZmJhMi4uNmY3ZDJiZSAxMDA2NDQKLS0tLSBhL2ZlZHBrZy91 dGlscy5weQotKysrIGIvZmVkcGtnL3V0aWxzLnB5Ci1AQCAtMzIyLDE2ICszMjIsMjIgQEAgZGVm IGFzc2VydF92YWxpZF9lcGVsX3BhY2thZ2UobmFtZSwgYnJhbmNoKToKLSAgICAgOnBhcmFtIGJy YW5jaDogYSBzdHJpbmcgb2YgdGhlIEVQRUwgYnJhbmNoIG5hbWUgKGUuZy4gZXBlbDcpCi0gICAg IDpyZXR1cm46IE5vbmUgb3IgcnBrZ0Vycm9yCi0gICAgICIiIgotLSAgICAjIEV4dHJhY3QgYW55 IGRpZ2l0cyBpbiB0aGUgYnJhbmNoIG5hbWUgdG8gZGV0ZXJtaW5lIHRoZSBFTCB2ZXJzaW9uCi0t ICAgIHZlcnNpb24gPSAnJy5qb2luKFtpIGZvciBpIGluIGJyYW5jaCBpZiByZS5tYXRjaChyJ1xk JywgaSldKQotKyAgICAjIEV4dHJhY3QgdGhlIG1ham9yIHBhcnQgb2YgdGhlIEVMIHZlcnNpb24K LSsgICAgdmVyc2lvbiwgXyA9IHJlLmZpbmRhbGwocicoXGQrKSg/OlwuKFxkKykpPycsIGJyYW5j aClbMF0KLSAKLSAgICAgIyBTdGFydGluZyB3aXRoIGVwZWw5IGFuZCBlcGVsOS1uZXh0LCBjaGVj ayBhZ2FpbnN0IENlbnRPUyBjb21wb3NlIG1ldGFkYXRhLgotICAgICBpZiBpbnQodmVyc2lvbikg Pj0gOToKLS0gICAgICAgICMgQ3VycmVudGx5IHdlIG9ubHkgaGF2ZSBhIGxhdGVzdCBzeW1saW5r LiAgSW4gdGhlIGZ1dHVyZSB3ZSdsbCBuZWVkCi0tICAgICAgICAjIHNlcGFyYXRlIGxhdGVzdCBz eW1saW5rcyB0aGF0IGluY2x1ZGUgdGhlIG1ham9yIHZlcnNpb24uCi0rICAgICAgICAjIEN1cnJl bnRseSB0aGUgc3RyZWFtLTkgYnJhbmNoIHJlc2lkZXMgaW4gdGhlIHByb2R1Y3Rpb24gYWRkcmVz cyBwYXRoLi4KLSsgICAgICAgICMgVG8gcmVtb3ZlIHRoaXMgYmxvY2ssIHdlIG5lZWQgZm9yIHRo ZSBzdHJlYW0tOSBsaW5rIHRvIHBvaW50IHRvIHByb2R1Y3Rpb24KLSAgICAgICAgICMgaHR0cHM6 Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0yMDA1MTM5Ci0tICAgICAgICB1 cmwgPSAnaHR0cHM6Ly9jb21wb3Nlcy5zdHJlYW0uY2VudG9zLm9yZy9wcm9kdWN0aW9uLycgXAot LSAgICAgICAgICAgICAgJ2xhdGVzdC1DZW50T1MtU3RyZWFtL2NvbXBvc2UvbWV0YWRhdGEvcnBt cy5qc29uJwotKyAgICAgICAgaWYgaW50KHZlcnNpb24pID09IDk6Ci0rICAgICAgICAgICAgdXJs ID0gJ2h0dHBzOi8vY29tcG9zZXMuc3RyZWFtLmNlbnRvcy5vcmcvcHJvZHVjdGlvbi8nIFwKLSsg ICAgICAgICAgICAgICAgICAnbGF0ZXN0LUNlbnRPUy1TdHJlYW0vY29tcG9zZS9tZXRhZGF0YS9y cG1zLmpzb24nCi0rICAgICAgICBlbHNlOgotKyAgICAgICAgICAgIHVybCA9ICgnaHR0cHM6Ly9j b21wb3Nlcy5zdHJlYW0uY2VudG9zLm9yZy9zdHJlYW0tezB9LycKLSsgICAgICAgICAgICAgICAg ICAgJ3Byb2R1Y3Rpb24vbGF0ZXN0LUNlbnRPUy1TdHJlYW0vY29tcG9zZS9tZXRhZGF0YS9ycG1z Lmpzb24nCi0rICAgICAgICAgICAgICAgICAgIC5mb3JtYXQodmVyc2lvbikpCi0rCi0gICAgICAg ICBlcnJvcl9tc2cgPSAoJ1RoZSBjb25uZWN0aW9uIHRvIGNvbXBvc2VzLnN0cmVhbS5jZW50b3Mu b3JnIGZhaWxlZCB3aGlsZSAnCi0gICAgICAgICAgICAgICAgICAgICAgJ3RyeWluZyB0byBkZXRl cm1pbmUgaWYgdGhpcyBpcyBhIHZhbGlkIEVQRUwgcGFja2FnZS4nKQotICAgICAgICAgdHJ5Ogot ZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF91dGlscy5weSBiL3Rlc3QvdGVzdF91dGlscy5weQotaW5k ZXggMmU2NmZlNi4uN2EzODc0MCAxMDA2NDQKLS0tLSBhL3Rlc3QvdGVzdF91dGlscy5weQotKysr IGIvdGVzdC90ZXN0X3V0aWxzLnB5Ci1AQCAtMjg1LDYgKzI4NSwyOCBAQCBjbGFzcyBUZXN0QXNz ZXJ0VmFsaWRFUEVMUGFja2FnZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICAgICAgJ2xh dGVzdC1DZW50T1MtU3RyZWFtL2NvbXBvc2UvbWV0YWRhdGEvcnBtcy5qc29uJywKLSAgICAgICAg ICAgICB0aW1lb3V0PTYwKQotIAotKyAgICBkZWYgdGVzdF9jb3JyZWN0X3VybF9lcGVsMTAoc2Vs ZiwgZ2V0KToKLSsgICAgICAgIGdldC5yZXR1cm5fdmFsdWUgPSBNb2NrKG9rPUZhbHNlLCBzdGF0 dXNfY29kZT00MDQpCi0rCi0rICAgICAgICBzaXguYXNzZXJ0UmFpc2VzUmVnZXgoCi0rICAgICAg ICAgICAgc2VsZiwgcnBrZ0Vycm9yLCAnVGhlIHN0YXR1cyBjb2RlIHdhczogNDA0JywKLSsgICAg ICAgICAgICB1dGlscy5hc3NlcnRfdmFsaWRfZXBlbF9wYWNrYWdlLCAncGtnJywgJ2VwZWwxMCcp Ci0rICAgICAgICBnZXQuYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoCi0rICAgICAgICAgICAgJ2h0 dHBzOi8vY29tcG9zZXMuc3RyZWFtLmNlbnRvcy5vcmcvc3RyZWFtLTEwL3Byb2R1Y3Rpb24nCi0r ICAgICAgICAgICAgJy9sYXRlc3QtQ2VudE9TLVN0cmVhbS9jb21wb3NlL21ldGFkYXRhL3JwbXMu anNvbicsCi0rICAgICAgICAgICAgdGltZW91dD02MCkKLSsKLSsgICAgZGVmIHRlc3RfY29ycmVj dF91cmxfZXBlbDEwXzEwKHNlbGYsIGdldCk6Ci0rICAgICAgICBnZXQucmV0dXJuX3ZhbHVlID0g TW9jayhvaz1GYWxzZSwgc3RhdHVzX2NvZGU9NDA0KQotKwotKyAgICAgICAgc2l4LmFzc2VydFJh aXNlc1JlZ2V4KAotKyAgICAgICAgICAgIHNlbGYsIHJwa2dFcnJvciwgJ1RoZSBzdGF0dXMgY29k ZSB3YXM6IDQwNCcsCi0rICAgICAgICAgICAgdXRpbHMuYXNzZXJ0X3ZhbGlkX2VwZWxfcGFja2Fn ZSwgJ3BrZycsICdlcGVsMTAuMTAnKQotKyAgICAgICAgZ2V0LmFzc2VydF9jYWxsZWRfb25jZV93 aXRoKAotKyAgICAgICAgICAgICdodHRwczovL2NvbXBvc2VzLnN0cmVhbS5jZW50b3Mub3JnL3N0 cmVhbS0xMC9wcm9kdWN0aW9uJwotKyAgICAgICAgICAgICcvbGF0ZXN0LUNlbnRPUy1TdHJlYW0v Y29tcG9zZS9tZXRhZGF0YS9ycG1zLmpzb24nLAotKyAgICAgICAgICAgIHRpbWVvdXQ9NjApCi0r Ci0gICAgIGRlZiB0ZXN0X3Nob3VsZF9ub3RfaGF2ZV9lcGVsX2JyYW5jaF9mb3JfZWw2X3BrZyhz ZWxmLCBnZXQpOgotICAgICAgICAgZ2V0LnJldHVybl92YWx1ZS5qc29uLnJldHVybl92YWx1ZSA9 IHsKLSAgICAgICAgICAgICAnYXJjaGVzJzogWwotLS0gCi0yLjQ1LjIKLQoKZGlmZiAtLWdpdCBh LzAwMTEtRXh0ZW5kLWxvYWRfcnBtZGVmaW5lcy10by13b3JrLXdpdGgtRVBFTDEwLnBhdGNoIGIv MDAxMS1FeHRlbmQtbG9hZF9ycG1kZWZpbmVzLXRvLXdvcmstd2l0aC1FUEVMMTAucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2MjIxYjMuLjAwMDAwMDAKLS0tIGEvMDAxMS1F eHRlbmQtbG9hZF9ycG1kZWZpbmVzLXRvLXdvcmstd2l0aC1FUEVMMTAucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSw4NCArMCwwIEBACi1Gcm9tIGEyNzBmYzc5M2U0ODMxMzVjYjM0NmZiYTk3MzM1 YTZlOTk0ZDdkYWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEaWVnbyBIZXJyZXJh IDxkaGVycmVyYUByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAyIEp1bCAyMDI0IDE4OjIyOjU0IC0w NDAwCi1TdWJqZWN0OiBbUEFUQ0ggOS85XSBFeHRlbmQgbG9hZF9ycG1kZWZpbmVzIHRvIHdvcmsg d2l0aCBFUEVMMTArCi0KLU1lcmdlczogaHR0cHM6Ly9wYWd1cmUuaW8vZmVkcGtnL3B1bGwtcmVx dWVzdC81NDQKLVNpZ25lZC1vZmYtYnk6IERpZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5j b20+Ci0tLS0KLSBmZWRwa2cvX19pbml0X18ucHkgICAgfCAxNSArKysrKysrKystLS0tLS0KLSB0 ZXN0L3Rlc3RfY29tbWFuZHMucHkgfCAzMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK LSAyIGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCi0KLWRp ZmYgLS1naXQgYS9mZWRwa2cvX19pbml0X18ucHkgYi9mZWRwa2cvX19pbml0X18ucHkKLWluZGV4 IGFiYjRmYjYuLmIzZTliM2IgMTAwNjQ0Ci0tLS0gYS9mZWRwa2cvX19pbml0X18ucHkKLSsrKyBi L2ZlZHBrZy9fX2luaXRfXy5weQotQEAgLTg4LDE0ICs4OCwxNyBAQCBjbGFzcyBDb21tYW5kcyhw eXJwa2cuQ29tbWFuZHMpOgotICAgICAgICAgICAgIHNlbGYubW9ja2NvbmZpZyA9ICdmZWRvcmEt JXMtJXMnICUgKHNlbGYuX2Rpc3R2YWwsIHNlbGYubG9jYWxhcmNoKQotICAgICAgICAgICAgIHNl bGYub3ZlcnJpZGUgPSAnZiVzLW92ZXJyaWRlJyAlIHNlbGYuX2Rpc3R2YWwKLSAgICAgICAgICAg ICBzZWxmLl9kaXN0dW5zZXQgPSAncmhlbCcKLS0gICAgICAgICMgV29ya3MgdW50aWwgUkhFTCAx MAotICAgICAgICAgZWxpZiByZS5tYXRjaChyJ2VsXGQkJywgYnJhbmNoKSBvciBcCi0tICAgICAg ICAgICAgICAgIHJlLm1hdGNoKHInZXBlbFxkJCcsIGJyYW5jaCk6Ci0tICAgICAgICAgICAgc2Vs Zi5fZGlzdHZhbCA9IGJyYW5jaC5zcGxpdCgnZWwnKVsxXQotKyAgICAgICAgICAgICAgICByZS5t YXRjaChyJ2VwZWxcZCsoPzpcLlxkKyk/JCcsIGJyYW5jaCk6Ci0rICAgICAgICAgICAgbWFqb3Is IG1pbm9yID0gcmUuZmluZGFsbChyJyhcZCspKD86XC4oXGQrKSk/JywgYnJhbmNoKVswXQotKyAg ICAgICAgICAgIHNlbGYuX2Rpc3R2YWwgPSBtYWpvcgotICAgICAgICAgICAgIHNlbGYuX2Rpc3R2 YXIgPSAncmhlbCcKLS0gICAgICAgICAgICBzZWxmLl9kaXN0dGFnID0gJ2VsJXMnICUgc2VsZi5f ZGlzdHZhbAotLSAgICAgICAgICAgIHNlbGYubW9ja2NvbmZpZyA9ICdlcGVsLSVzLSVzJyAlIChz ZWxmLl9kaXN0dmFsLCBzZWxmLmxvY2FsYXJjaCkKLS0gICAgICAgICAgICBzZWxmLm92ZXJyaWRl ID0gJ2VwZWwlcy1vdmVycmlkZScgJSBzZWxmLl9kaXN0dmFsCi0rICAgICAgICAgICAgc2VsZi5f ZGlzdHRhZyA9ICdlbCVzJyAlIG1ham9yIGlmIG1pbm9yID09ICcnIFwKLSsgICAgICAgICAgICAg ICAgZWxzZSAnZWwlc18lcycgJSAobWFqb3IsIG1pbm9yKQotKyAgICAgICAgICAgIHNlbGYubW9j a2NvbmZpZyA9ICdlcGVsLSVzLSVzJyAlIChtYWpvciwgc2VsZi5sb2NhbGFyY2gpIGlmIG1pbm9y ID09ICcnIFwKLSsgICAgICAgICAgICAgICAgZWxzZSAnZXBlbC0lcy4lcy0lcycgJSAobWFqb3Is IG1pbm9yLCBzZWxmLmxvY2FsYXJjaCkKLSsgICAgICAgICAgICBzZWxmLm92ZXJyaWRlID0gJ2Vw ZWwlcy1vdmVycmlkZScgJSBzZWxmLl9kaXN0dmFsIGlmIG1pbm9yID09ICcnIFwKLSsgICAgICAg ICAgICAgICAgZWxzZSAnZXBlbCVzLiVzLW92ZXJyaWRlJyAlIChtYWpvciwgbWlub3IpCi0gICAg ICAgICAgICAgc2VsZi5fZGlzdHVuc2V0ID0gJ2ZlZG9yYScKLSAgICAgICAgIGVsaWYgcmUubWF0 Y2gocidlcGVsXGQrLW5leHQkJywgYnJhbmNoKToKLSAgICAgICAgICAgICBzZWxmLl9kaXN0dmFs ID0gcmUuc2VhcmNoKHInXGQrJywgYnJhbmNoKS5ncm91cCgwKQotZGlmZiAtLWdpdCBhL3Rlc3Qv dGVzdF9jb21tYW5kcy5weSBiL3Rlc3QvdGVzdF9jb21tYW5kcy5weQotaW5kZXggZmI0MTdmZi4u YTViNWVkNSAxMDA2NDQKLS0tLSBhL3Rlc3QvdGVzdF9jb21tYW5kcy5weQotKysrIGIvdGVzdC90 ZXN0X2NvbW1hbmRzLnB5Ci1AQCAtMjY2LDYgKzI2NiwzNiBAQCBjbGFzcyBUZXN0TG9hZFJwbURl ZmluZXMoQ29tbWFuZFRlc3RDYXNlKToKLSAKLSAgICAgICAgIHNlbGYuYXNzZXJ0X3JwbWRlZmlu ZXMoKQotIAotKyAgICBAcGF0Y2goJ3B5cnBrZy5Db21tYW5kcy5icmFuY2hfbWVyZ2UnLCBuZXdf Y2FsbGFibGU9UHJvcGVydHlNb2NrKQotKyAgICBkZWYgdGVzdF9sb2FkX2VwZWwxMF9kaXN0X3Rh ZyhzZWxmLCBicmFuY2hfbWVyZ2UpOgotKyAgICAgICAgYnJhbmNoX21lcmdlLnJldHVybl92YWx1 ZSA9ICdlcGVsMTAnCi0rCi0rICAgICAgICBzZWxmLmNtZC5sb2FkX3JwbWRlZmluZXMoKQotKwot KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnMTAnLCBzZWxmLmNtZC5fZGlzdHZhbCkKLSsgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3JoZWwnLCBzZWxmLmNtZC5fZGlzdHZhcikKLSsgICAgICAg IHNlbGYuYXNzZXJ0RXF1YWwoJ2VsMTAnLCBzZWxmLmNtZC5fZGlzdHRhZykKLSsgICAgICAgIHNl bGYuYXNzZXJ0RXF1YWwoJ2VwZWwtMTAtaTY4NicsIHNlbGYuY21kLm1vY2tjb25maWcpCi0rICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKCdlcGVsMTAtb3ZlcnJpZGUnLCBzZWxmLmNtZC5vdmVycmlk ZSkKLSsgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKHNlbGYuY21kLCAnX2Rpc3R1bnNl dCcpKQotKwotKyAgICAgICAgc2VsZi5hc3NlcnRfcnBtZGVmaW5lcygpCi0rCi0rICAgIEBwYXRj aCgncHlycGtnLkNvbW1hbmRzLmJyYW5jaF9tZXJnZScsIG5ld19jYWxsYWJsZT1Qcm9wZXJ0eU1v Y2spCi0rICAgIGRlZiB0ZXN0X2xvYWRfZXBlbDEwXzEwX2Rpc3RfdGFnKHNlbGYsIGJyYW5jaF9t ZXJnZSk6Ci0rICAgICAgICBicmFuY2hfbWVyZ2UucmV0dXJuX3ZhbHVlID0gJ2VwZWwxMC4xMCcK LSsKLSsgICAgICAgIHNlbGYuY21kLmxvYWRfcnBtZGVmaW5lcygpCi0rCi0rICAgICAgICBzZWxm LmFzc2VydEVxdWFsKCcxMCcsIHNlbGYuY21kLl9kaXN0dmFsKQotKyAgICAgICAgc2VsZi5hc3Nl cnRFcXVhbCgncmhlbCcsIHNlbGYuY21kLl9kaXN0dmFyKQotKyAgICAgICAgc2VsZi5hc3NlcnRF cXVhbCgnZWwxMF8xMCcsIHNlbGYuY21kLl9kaXN0dGFnKQotKyAgICAgICAgc2VsZi5hc3NlcnRF cXVhbCgnZXBlbC0xMC4xMC1pNjg2Jywgc2VsZi5jbWQubW9ja2NvbmZpZykKLSsgICAgICAgIHNl bGYuYXNzZXJ0RXF1YWwoJ2VwZWwxMC4xMC1vdmVycmlkZScsIHNlbGYuY21kLm92ZXJyaWRlKQot KyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIoc2VsZi5jbWQsICdfZGlzdHVuc2V0Jykp Ci0rCi0rICAgICAgICBzZWxmLmFzc2VydF9ycG1kZWZpbmVzKCkKLSsKLSAgICAgQHBhdGNoKCdw eXJwa2cuQ29tbWFuZHMuYnJhbmNoX21lcmdlJywgbmV3X2NhbGxhYmxlPVByb3BlcnR5TW9jaykK LSAgICAgQHBhdGNoKCdmZWRwa2cuQ29tbWFuZHMuX2ZpbmRyYXdoaWRlYnJhbmNoJykKLSAgICAg ZGVmIHRlc3RfbG9hZF9yYXdoaWRlX2Rpc3RfdGFnKHNlbGYsIF9maW5kcmF3aGlkZWJyYW5jaCwg YnJhbmNoX21lcmdlKToKLS0tIAotMi40NS4yCi0KCmRpZmYgLS1naXQgYS8wMDEyLUFkZC1weTMx My1lbnZpcm9ubWVudC1hcy10aGF0LXMtY3VycmVudC5wYXRjaCBiLzAwMTItQWRkLXB5MzEzLWVu dmlyb25tZW50LWFzLXRoYXQtcy1jdXJyZW50LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA2NTRmMTVhLi4wMDAwMDAwCi0tLSBhLzAwMTItQWRkLXB5MzEzLWVudmlyb25tZW50 LWFzLXRoYXQtcy1jdXJyZW50LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAot RnJvbSBkMTI0NmQ5OTcyYzg5MmI1ZGI5ZWE5OGQ5NzFiMzI2OTY3NWIwMzQ2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogQWRhbSBXaWxsaWFtc29uIDxhd2lsbGlhbUByZWRoYXQuY29t PgotRGF0ZTogU2F0LCAxMCBBdWcgMjAyNCAxODo1Mzo1NiAtMDQwMAotU3ViamVjdDogW1BBVENI IDEvNl0gQWRkIHB5MzEzIGVudmlyb25tZW50IGFzIHRoYXQncyBjdXJyZW50Ci0KLVNpZ25lZC1v ZmYtYnk6IEFkYW0gV2lsbGlhbXNvbiA8YXdpbGxpYW1AcmVkaGF0LmNvbT4KLS0tLQotIEplbmtp bnNmaWxlICAgICAgICAgICAgIHwgMiArLQotIE1ha2VmaWxlICAgICAgICAgICAgICAgIHwgMiAr LQotIGplbmtpbnNfdGVzdC5kb2NrZXJmaWxlIHwgMiArLQotIHRveC5pbmkgICAgICAgICAgICAg ICAgIHwgMyArKy0KLSA0IGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv bnMoLSkKLQotZGlmZiAtLWdpdCBhL0plbmtpbnNmaWxlIGIvSmVua2luc2ZpbGUKLWluZGV4IGI0 ZWFhMjguLjI1M2U3ZDkgMTAwNjQ0Ci0tLS0gYS9KZW5raW5zZmlsZQotKysrIGIvSmVua2luc2Zp bGUKLUBAIC01Myw3ICs1Myw3IEBAIGdpdCBtZXJnZSAtLW5vLWZmICJwcm9wb3NlZC8kcGFyYW1z LkJSQU5DSCIgLW0gIk1lcmdlIFBSIgotIGdpdCBjbG9uZSBodHRwczovL3BhZ3VyZS5pby9ycGtn LmdpdAotICMgZG9ja2VyIGltYWdlIHdpbGwgY29udGFpbiBFTlY6IFBZVEhPTlBBVEg9Li9ycGtn Ci0gCi0tcG9kbWFuIHJ1biAtLXJtIC12IC46L3NyYzpaIHF1YXkuaW8vZXhkLWd1aWxkLXNvdXJj ZS10b29scy9mZWRwa2ctdGVzdDpsYXRlc3QgdG94IC1lIHB5MzYscHkzOSxweTMxMixmbGFrZTgs YmFuZGl0IC0td29ya2RpciAvdG1wL3RveCAke1RPWF9QT1NBUkdTfQotK3BvZG1hbiBydW4gLS1y bSAtdiAuOi9zcmM6WiBxdWF5LmlvL2V4ZC1ndWlsZC1zb3VyY2UtdG9vbHMvZmVkcGtnLXRlc3Q6 bGF0ZXN0IHRveCAtZSBweTM2LHB5MzkscHkzMTIscHkzMTMsZmxha2U4LGJhbmRpdCAtLXdvcmtk aXIgL3RtcC90b3ggJHtUT1hfUE9TQVJHU30KLSAgICAgICAgICAgICAgICAgICAgICAgICAiIiIK LSAgICAgICAgICAgICAgICAgICAgICAgICBzaCAiY2F0IGpvYi5zaCIKLSAgICAgICAgICAgICAg ICAgICAgICAgICBzaCAic3NoIC1vIFN0cmljdEhvc3RLZXlDaGVja2luZz1ubyByb290QCRob3N0 bmFtZSBta2RpciAkcmVtb3RlX2RpciIKLWRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxl Ci1pbmRleCBhOTM1MjY0Li4wZTI4OTc3IDEwMDY0NAotLS0tIGEvTWFrZWZpbGUKLSsrKyBiL01h a2VmaWxlCi1AQCAtNSw1ICs1LDUgQEAgdGVzdDogJChkZWZhdWx0X3RhcmdldHMpCi0gdG94Ogot IAlAcHl0aG9uMyAtbSB2ZW52IC5lbnYKLSAJQC5lbnYvYmluL3BpcCBpbnN0YWxsIHRveAotLQlA LmVudi9iaW4vdG94IC1lIHB5MzYscHkzOSxweTMxMixmbGFrZSAtLXBhcmFsbGVsPWF1dG8gJHtU T1hfUE9TQVJHU30KLSsJQC5lbnYvYmluL3RveCAtZSBweTM2LHB5MzkscHkzMTIscHkzMTMsZmxh a2U4IC0tcGFyYWxsZWw9YXV0byAke1RPWF9QT1NBUkdTfQotIC5QSE9OWTogdG94Ci1kaWZmIC0t Z2l0IGEvamVua2luc190ZXN0LmRvY2tlcmZpbGUgYi9qZW5raW5zX3Rlc3QuZG9ja2VyZmlsZQot aW5kZXggOTYyOGZjNS4uYjRhMmFmOCAxMDA2NDQKLS0tLSBhL2plbmtpbnNfdGVzdC5kb2NrZXJm aWxlCi0rKysgYi9qZW5raW5zX3Rlc3QuZG9ja2VyZmlsZQotQEAgLTIyLDQgKzIyLDQgQEAgV09S S0RJUiAvc3JjCi0gCi0gRU5WIFBZVEhPTlBBVEggIiR7UFlUSE9OUEFUSH06Li9ycGtnIgotIAot LUNNRCBbInRveCIsICItZSIsICJweTM2LHB5MzkscHkzMTIsZmxha2U4LGJhbmRpdCJdCi0rQ01E IFsidG94IiwgIi1lIiwgInB5MzYscHkzOSxweTMxMixweTMxMyxmbGFrZTgsYmFuZGl0Il0KLWRp ZmYgLS1naXQgYS90b3guaW5pIGIvdG94LmluaQotaW5kZXggMzQ5ODI0OS4uZWE0ZGM2YiAxMDA2 NDQKLS0tLSBhL3RveC5pbmkKLSsrKyBiL3RveC5pbmkKLUBAIC0xLDUgKzEsNSBAQAotIFt0b3hd Ci0tZW52bGlzdCA9IHB5MzYscHkzOSxweTMxMixmbGFrZTgsZG9jLGJhbmRpdAotK2Vudmxpc3Qg PSBweTM2LHB5MzkscHkzMTIscHkzMTMsZmxha2U4LGRvYyxiYW5kaXQKLSAKLSBbdGVzdGVudl0K LSBzaXRlcGFja2FnZXM9ZmFsc2UKLUBAIC03LDYgKzcsNyBAQCBiYXNlcHl0aG9uPQotICAgICBw eTM2OiB7ZW52OlRPWFBZVEhPTjpweXRob24zLjZ9Ci0gICAgIHB5Mzk6IHtlbnY6VE9YUFlUSE9O OnB5dGhvbjMuOX0KLSAgICAgcHkzMTI6IHtlbnY6VE9YUFlUSE9OOnB5dGhvbjMuMTJ9Ci0rICAg IHB5MzEzOiB7ZW52OlRPWFBZVEhPTjpweXRob24zLjEzfQotICAgICBmbGFrZTg6IHtlbnY6VE9Y UFlUSE9OOnB5dGhvbjMuNn0KLSAgICAgZG9jOiB7ZW52OlRPWFBZVEhPTjpweXRob24zfQotICAg ICBiYW5kaXQ6IHtlbnY6VE9YUFlUSE9OOnB5dGhvbjN9Ci0tLSAKLTIuNDYuMAotCgpkaWZmIC0t Z2l0IGEvMDAxMy1Ecm9wLXN1cHBvcnQtZm9yLWJvZGhpLWNsaWVudC01LnBhdGNoIGIvMDAxMy1E cm9wLXN1cHBvcnQtZm9yLWJvZGhpLWNsaWVudC01LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA0NGRkODI1Li4wMDAwMDAwCi0tLSBhLzAwMTMtRHJvcC1zdXBwb3J0LWZvci1i b2RoaS1jbGllbnQtNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQzMCArMCwwIEBACi1Gcm9t IGNjYTBjYTljZWVkNmMzMWMxZjhhZTU2YTJmZmVlZmJhNjAzYzM5ZGMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBBZGFtIFdpbGxpYW1zb24gPGF3aWxsaWFtQHJlZGhhdC5jb20+Ci1E YXRlOiBTYXQsIDEwIEF1ZyAyMDI0IDA5OjE0OjM2IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMi82 XSBEcm9wIHN1cHBvcnQgZm9yIGJvZGhpLWNsaWVudCA8PSA1Ci0KLUl0IGNhbm5vdCBwb3NzaWJs eSB3b3JrIGFueSBtb3JlLCBzaW5jZSBPcGVuSUQgYXV0aCBubyBsb25nZXIKLXdvcmtzIG9uIG91 ciBjdXJyZW50IEJvZGhpIGRlcGxveW1lbnRzIGFuZCB3aWxsIG5vdCBiZSAiZml4ZWQiLAotYW5k IGJvZGhpLWNsaWVudCA8IDYgY2Fubm90IGF1dGhlbnRpY2F0ZSBhbnkgb3RoZXIgd2F5LgotCi1U aGlzIGlzIHRoZSBsYXN0IHVzYWdlIG9mIHB5dGhvbi1mZWRvcmEgaW4gZmVkcGtnLCBzbyB3ZSBj YW4KLWRyb3AgdGhhdCBkZXBlbmRlbmN5LiBXZSBhbHNvIGRyb3Agc29tZSBub3ctdW5uZWNlc3Nh cnkgY2hlY2tzCi1hbmQgY29uZGl0aW9uYWxzLgotCi1LZWVwaW5nIGxpbWl0ZWQgZmVkcGtnJ3Mg ZnVuY3Rpb25hbGl0eSB3aXRob3V0IGNvbW11bmljYXRpb24KLXdpdGggQm9kaGkgb24gRVBFTCA4 IChQeXRob24gMy42KS4KLQotU2lnbmVkLW9mZi1ieTogQWRhbSBXaWxsaWFtc29uIDxhd2lsbGlh bUByZWRoYXQuY29tPgotLS0tCi0gZmVkcGtnL19faW5pdF9fLnB5IHwgIDIyICsrLS0tLQotIGZl ZHBrZy9ib2RoaV81LnB5ICB8ICA2MyAtLS0tLS0tLS0tLS0tLS0tLQotIHB5cHJvamVjdC50b21s ICAgICB8ICAgMSAtCi0gcmVxdWlyZW1lbnRzLnR4dCAgIHwgICAxIC0KLSB0ZXN0L3Rlc3RfY2xp LnB5ICAgfCAxNzEgKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci0gNSBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAyMjggZGVsZXRpb25zKC0pCi0g ZGVsZXRlIG1vZGUgMTAwNjQ0IGZlZHBrZy9ib2RoaV81LnB5Ci0KLWRpZmYgLS1naXQgYS9mZWRw a2cvX19pbml0X18ucHkgYi9mZWRwa2cvX19pbml0X18ucHkKLWluZGV4IGIzZTliM2IuLmRjYTQ4 ZGEgMTAwNjQ0Ci0tLS0gYS9mZWRwa2cvX19pbml0X18ucHkKLSsrKyBiL2ZlZHBrZy9fX2luaXRf Xy5weQotQEAgLTE5LDE3ICsxOSwxNCBAQCBmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwg dGltZWRlbHRhLCB0aW1lem9uZQotIAotICMgZG9jL2ZlZHBrZ19tYW5fcGFnZS5weSB1c2VzIHRo ZSAnY2xpJyBpbXBvcnQKLSBmcm9tIC4gaW1wb3J0IGNsaSAgIyBub3FhCi0tZnJvbSAubG9va2Fz aWRlIGltcG9ydCBGZWRvcmFMb29rYXNpZGVDYWNoZQotLWZyb20gcHlycGtnLnV0aWxzIGltcG9y dCBjYWNoZWRfcHJvcGVydHkKLS0jIFVzZSBkZXByZWNhdGVkIHBrZ19yZXNvdXJjZXMgaWYgaW1w b3J0bGliIGlzbid0IGF2YWlsYWJsZSAocHl0aG9uIDMuNikKLS10cnk6Ci0tICAgIGZyb20gaW1w b3J0bGliLm1ldGFkYXRhIGltcG9ydCBkaXN0cmlidXRpb24KLS1leGNlcHQgSW1wb3J0RXJyb3I6 Ci0tICAgIGZyb20gcGtnX3Jlc291cmNlcyBpbXBvcnQgZ2V0X2Rpc3RyaWJ1dGlvbiBhcyBkaXN0 cmlidXRpb24KLSsKLSB0cnk6Ci0tICAgIGZyb20gcGFja2FnaW5nLnZlcnNpb24gaW1wb3J0IHBh cnNlIGFzIHBhcnNlX3ZlcnNpb24KLSsgICAgZnJvbSAuYm9kaGlfNiBpbXBvcnQgQm9kaGlDbGll bnQsIFVQREFURV9UWVBFUywgUkVRVUVTVF9UWVBFUywgU1VHR0VTVF9UWVBFUwotIGV4Y2VwdCBJ bXBvcnRFcnJvcjoKLS0gICAgZnJvbSBwa2dfcmVzb3VyY2VzIGltcG9ydCBwYXJzZV92ZXJzaW9u Ci0rICAgICMgd29ya2luZyBib2RoaS1jbGllbnQgaXMgbm90IGF2YWlsYWJsZSBmb3IgZWw4IChQ eXRob24zLjYpCi0rICAgIEJvZGhpQ2xpZW50ID0gTm9uZQotK2Zyb20gLmxvb2thc2lkZSBpbXBv cnQgRmVkb3JhTG9va2FzaWRlQ2FjaGUKLStmcm9tIHB5cnBrZy51dGlscyBpbXBvcnQgY2FjaGVk X3Byb3BlcnR5Ci0gCi0gdHJ5OgotICAgICBmcm9tIGRpc3RybyBpbXBvcnQgbGludXhfZGlzdHJp YnV0aW9uICAjIG5vcWEKLUBAIC0zNywxMyArMzQsNiBAQCBleGNlcHQgSW1wb3J0RXJyb3I6Ci0g ICAgIGZyb20gcGxhdGZvcm0gaW1wb3J0IGxpbnV4X2Rpc3RyaWJ1dGlvbiAgIyBub3FhCi0gCi0g Ci0tYm9kaGlfdmVyc2lvbiA9IGRpc3RyaWJ1dGlvbignYm9kaGktY2xpZW50JykudmVyc2lvbgot LWlmIHBhcnNlX3ZlcnNpb24oYm9kaGlfdmVyc2lvbikgPCBwYXJzZV92ZXJzaW9uKCI2LjAuMCIp OgotLSAgICBmcm9tIC5ib2RoaV81IGltcG9ydCBCb2RoaUNsaWVudCwgVVBEQVRFX1RZUEVTLCBS RVFVRVNUX1RZUEVTLCBTVUdHRVNUX1RZUEVTCi0tZWxzZToKLS0gICAgZnJvbSAuYm9kaGlfNiBp bXBvcnQgQm9kaGlDbGllbnQsIFVQREFURV9UWVBFUywgUkVRVUVTVF9UWVBFUywgU1VHR0VTVF9U WVBFUwotLQotLQotIGNsYXNzIENvbW1hbmRzKHB5cnBrZy5Db21tYW5kcyk6Ci0gCi0gICAgIGRl ZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgotZGlmZiAtLWdpdCBhL2ZlZHBrZy9i b2RoaV81LnB5IGIvZmVkcGtnL2JvZGhpXzUucHkKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAot aW5kZXggOWZmYTFkZi4uMDAwMDAwMAotLS0tIGEvZmVkcGtnL2JvZGhpXzUucHkKLSsrKyAvZGV2 L251bGwKLUBAIC0xLDYzICswLDAgQEAKLS0jIGZlZHBrZyAtIGEgUHl0aG9uIGxpYnJhcnkgZm9y IFJQTSBQYWNrYWdlcnMKLS0jCi0tIyBDb3B5cmlnaHQgKEMpIDIwMTEgUmVkIEhhdCBJbmMuCi0t IyBBdXRob3Iocyk6IEplc3NlIEtlYXRpbmcgPGprZWF0aW5nQHJlZGhhdC5jb20+Ci0tIwotLSMg VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkgaXQKLS0jIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQotLSMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91cgotLSMgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIFNlZSBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQv Z3BsLmh0bWwgZm9yCi0tIyB0aGUgZnVsbCB0ZXh0IG9mIHRoZSBsaWNlbnNlLgotLQotLWZyb20g Ym9kaGkuY2xpZW50LmJpbmRpbmdzIGltcG9ydCBCb2RoaUNsaWVudCBhcyBfQm9kaGlDbGllbnQK LS1mcm9tIGZlZG9yYS5jbGllbnQgaW1wb3J0IEF1dGhFcnJvcgotLQotLQotLVVQREFURV9UWVBF UyA9IFsnYnVnZml4JywgJ3NlY3VyaXR5JywgJ2VuaGFuY2VtZW50JywgJ25ld3BhY2thZ2UnXQot LVJFUVVFU1RfVFlQRVMgPSBbJ3Rlc3RpbmcnLCAnc3RhYmxlJ10KLS1TVUdHRVNUX1RZUEVTID0g Wyd1bnNwZWNpZmllZCcsICdyZWJvb3QnLCAnbG9nb3V0J10KLS0KLS0KLS1kZWYgY2xlYXJfY3Ny Zl9hbmRfcmV0cnkoZnVuYyk6Ci0tICAgICIiIkNsZWFyIGNzcmYgdG9rZW4gYW5kIHJldHJ5Ci0t Ci0tICAgIGZlZHBrZyB1c2VzIEJvZGhpIFB5dGhvbiBiaW5kaW5nIEFQSSBsaXN0X292ZXJyaWRl cyBmaXJzdCBiZWZvcmUgb3RoZXIKLS0gICAgc2F2ZSBhbmQgZXh0ZW5kIEFQSXMuIFRoYXQgY2F1 c2VzIGEgcmVhZG9ubHkgY3NyZiB0b2tlbiBpcyByZWNlaXZlZCwKLS0gICAgd2hpY2ggd2lsbCBi ZSBnb3QgYWdhaW4gd2hlbiBuZXh0IHRpbWUgdG8gY29uc3RydWN0IHJlcXVlc3QgZGF0YSB0bwot LSAgICBtb2RpZnkgdXBkYXRlcy4gVGhhdCBpcyBub3QgZXhwZWN0ZWQgYW5kIEF1dGhFcnJvciB3 aWxsIGJlIHJhaXNlZC4KLS0KLS0gICAgU28sIHRoZSBzb2x1dGlvbiBpcyB0byBjYXB0dXJlIHRo ZSBBdXRoRXJyb3IgZXJyb3IsIGNsZWFyIHRoZSB0b2tlbiBhbmQKLS0gICAgdHJ5IHRvIG1vZGlm eSB1cGRhdGUgYWdhaW4gYnkgcmVxdWVzdGluZyBhbm90aGVyIHRva2VuIHdpdGggdXNlcidzCi0t ICAgIGNyZWRlbnRpYWwuCi0tICAgICIiIgotLSAgICBkZWYgX2RlY29yYXRvcihzZWxmLCAqYXJn cywgKiprd2FyZ3MpOgotLSAgICAgICAgdHJ5OgotLSAgICAgICAgICAgIHJldHVybiBmdW5jKHNl bGYsICphcmdzLCAqKmt3YXJncykKLS0gICAgICAgIGV4Y2VwdCBBdXRoRXJyb3I6Ci0tICAgICAg ICAgICAgc2VsZi5fc2Vzc2lvbi5jb29raWVzLmNsZWFyKCkKLS0gICAgICAgICAgICBzZWxmLmNz cmZfdG9rZW4gPSBOb25lCi0tICAgICAgICAgICAgcmV0dXJuIGZ1bmMoc2VsZiwgKmFyZ3MsICoq a3dhcmdzKQotLSAgICByZXR1cm4gX2RlY29yYXRvcgotLQotLQotLWNsYXNzIEJvZGhpQ2xpZW50 KF9Cb2RoaUNsaWVudCk6Ci0tICAgICIiIkN1c3RvbWl6ZWQgQm9kaGlDbGllbnQgZm9yIGZlZHBr ZyIiIgotLQotLSAgICBAY2xlYXJfY3NyZl9hbmRfcmV0cnkKLS0gICAgZGVmIHNhdmUoc2VsZiwg KmFyZ3MsICoqa3dhcmdzKToKLS0gICAgICAgIHJldHVybiBzdXBlcihCb2RoaUNsaWVudCwgc2Vs Zikuc2F2ZSgqYXJncywgKiprd2FyZ3MpCi0tCi0tICAgIEBjbGVhcl9jc3JmX2FuZF9yZXRyeQot LSAgICBkZWYgc2F2ZV9vdmVycmlkZShzZWxmLCAqYXJncywgKiprd2FyZ3MpOgotLSAgICAgICAg cmV0dXJuIHN1cGVyKEJvZGhpQ2xpZW50LCBzZWxmKS5zYXZlX292ZXJyaWRlKCphcmdzLCAqKmt3 YXJncykKLS0KLS0gICAgQGNsZWFyX2NzcmZfYW5kX3JldHJ5Ci0tICAgIGRlZiBleHRlbmRfb3Zl cnJpZGUoc2VsZiwgb3ZlcnJpZGUsIGV4cGlyYXRpb25fZGF0ZSk6Ci0tICAgICAgICBkYXRhID0g ZGljdCgKLS0gICAgICAgICAgICBudnI9b3ZlcnJpZGVbJ252ciddLAotLSAgICAgICAgICAgIG5v dGVzPW92ZXJyaWRlWydub3RlcyddLAotLSAgICAgICAgICAgIGV4cGlyYXRpb25fZGF0ZT1leHBp cmF0aW9uX2RhdGUsCi0tICAgICAgICAgICAgY3NyZl90b2tlbj1zZWxmLmNzcmYoKSwKLS0gICAg ICAgICkKLS0gICAgICAgIHJldHVybiBzZWxmLnNlbmRfcmVxdWVzdCgKLS0gICAgICAgICAgICAn b3ZlcnJpZGVzLycsIHZlcmI9J1BPU1QnLCBhdXRoPVRydWUsIGRhdGE9ZGF0YSkKLWRpZmYgLS1n aXQgYS9weXByb2plY3QudG9tbCBiL3B5cHJvamVjdC50b21sCi1pbmRleCAxYmU5OWI1Li5hYzYw YjBmIDEwMDY0NAotLS0tIGEvcHlwcm9qZWN0LnRvbWwKLSsrKyBiL3B5cHJvamVjdC50b21sCi1A QCAtMjgsNyArMjgsNiBAQCBkZXBlbmRlbmNpZXMgPSBbCi0gICAgICJkaXN0cm8iLAotICAgICAi b3BlbmlkYy1jbGllbnQiLAotICAgICAicHl0aG9uLWJ1Z3ppbGxhIiwKLS0gICAgInB5dGhvbi1m ZWRvcmEiLAotICAgICAicnBrZyIsCi0gICAgICJzaXgiLAotIF0KLWRpZmYgLS1naXQgYS9yZXF1 aXJlbWVudHMudHh0IGIvcmVxdWlyZW1lbnRzLnR4dAotaW5kZXggY2IzZGUyYy4uN2U1MmEyYyAx MDA2NDQKLS0tLSBhL3JlcXVpcmVtZW50cy50eHQKLSsrKyBiL3JlcXVpcmVtZW50cy50eHQKLUBA IC0yLDYgKzIsNSBAQCBhcmdjb21wbGV0ZQotIGJvZGhpLWNsaWVudAotIG9wZW5pZGMtY2xpZW50 Ci0gcHl0aG9uLWJ1Z3ppbGxhCi0tcHl0aG9uLWZlZG9yYQotIHJwa2cKLSBzaXgKLWRpZmYgLS1n aXQgYS90ZXN0L3Rlc3RfY2xpLnB5IGIvdGVzdC90ZXN0X2NsaS5weQotaW5kZXggM2FhNjczNy4u YzgxOTYxNCAxMDA2NDQKLS0tLSBhL3Rlc3QvdGVzdF9jbGkucHkKLSsrKyBiL3Rlc3QvdGVzdF9j bGkucHkKLUBAIC0yNiwxMyArMjYsMTcgQEAgdHJ5OgotICAgICBmcm9tIHBhY2thZ2luZy52ZXJz aW9uIGltcG9ydCBwYXJzZSBhcyBwYXJzZV92ZXJzaW9uCi0gZXhjZXB0IEltcG9ydEVycm9yOgot ICAgICBmcm9tIHBrZ19yZXNvdXJjZXMgaW1wb3J0IHBhcnNlX3ZlcnNpb24KLSsjIFVzZSBkZXBy ZWNhdGVkIHBrZ19yZXNvdXJjZXMgaWYgaW1wb3J0bGliIGlzbid0IGF2YWlsYWJsZSAocHl0aG9u IDMuNikKLSt0cnk6Ci0rICAgIGZyb20gaW1wb3J0bGliLm1ldGFkYXRhIGltcG9ydCBkaXN0cmli dXRpb24KLStleGNlcHQgSW1wb3J0RXJyb3I6Ci0rICAgIGZyb20gcGtnX3Jlc291cmNlcyBpbXBv cnQgZ2V0X2Rpc3RyaWJ1dGlvbiBhcyBkaXN0cmlidXRpb24KLSAKLSBpbXBvcnQgc2l4Ci0gZnJv bSBzaXgubW92ZXMgaW1wb3J0IFN0cmluZ0lPCi0gZnJvbSBzaXgubW92ZXMuY29uZmlncGFyc2Vy IGltcG9ydCBOb09wdGlvbkVycm9yLCBOb1NlY3Rpb25FcnJvcgotIAotIGltcG9ydCBmZWRwa2cu Y2xpCi0tZnJvbSBmZWRwa2cgaW1wb3J0IGJvZGhpX3ZlcnNpb24KLSBmcm9tIGZlZHBrZy5idWd6 aWxsYSBpbXBvcnQgQnVnemlsbGFDbGllbnQKLSBmcm9tIGZlZHBrZy5jbGkgaW1wb3J0IGNoZWNr X2JvZGhpX3ZlcnNpb24KLSBmcm9tIGZyZWV6ZWd1biBpbXBvcnQgZnJlZXplX3RpbWUKLUBAIC01 MSw3ICs1NSw4IEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAKLSB0cnk6Ci0gICAgIGltcG9ydCBi b2RoaQotLSAgICBpZiBwYXJzZV92ZXJzaW9uKGJvZGhpX3ZlcnNpb24pIDwgcGFyc2VfdmVyc2lv bigiNS4wLjAiKToKLSsgICAgYm9kaGlfdmVyc2lvbiA9IGRpc3RyaWJ1dGlvbignYm9kaGktY2xp ZW50JykudmVyc2lvbgotKyAgICBpZiBwYXJzZV92ZXJzaW9uKGJvZGhpX3ZlcnNpb24pIDwgcGFy c2VfdmVyc2lvbigiNi4wLjAiKToKLSAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCJVbnN1cHBv cnRlZCBib2RoaS1jbGllbnQiKQotIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgYm9kaGkgPSBO b25lCi1AQCAtMTUwLDExICsxNTUsMTAgQEAgY2xhc3MgVGVzdFVwZGF0ZShDbGlUZXN0Q2FzZSk6 Ci0gICAgICAgICB3aXRoIGlvLm9wZW4oY2xvZ19maWxlLCAndycsIGVuY29kaW5nPSd1dGYtOCcp IGFzIGY6Ci0gICAgICAgICAgICAgZi53cml0ZShvcy5saW5lc2VwLmpvaW4oc2VsZi5mYWtlX2Ns b2cpKQotIAotLSAgICAgICAgaWYgcGFyc2VfdmVyc2lvbihib2RoaV92ZXJzaW9uKSA+PSBwYXJz ZV92ZXJzaW9uKCI2LjAuMCIpOgotLSAgICAgICAgICAgIHNlbGYub2lkY21ldGFfcGF0Y2hlciA9 IHBhdGNoKAotLSAgICAgICAgICAgICAgICAnYm9kaGkuY2xpZW50Lm9pZGNjbGllbnQuT0lEQ0Ns aWVudC5fZ2V0X3Byb3ZpZGVyX21ldGFkYXRhJywgX21vY2tfbWV0YWRhdGEKLS0gICAgICAgICAg ICApCi0tICAgICAgICAgICAgc2VsZi5vaWRjbWV0YV9wYXRjaGVyLnN0YXJ0KCkKLSsgICAgICAg IHNlbGYub2lkY21ldGFfcGF0Y2hlciA9IHBhdGNoKAotKyAgICAgICAgICAgICdib2RoaS5jbGll bnQub2lkY2NsaWVudC5PSURDQ2xpZW50Ll9nZXRfcHJvdmlkZXJfbWV0YWRhdGEnLCBfbW9ja19t ZXRhZGF0YQotKyAgICAgICAgKQotKyAgICAgICAgc2VsZi5vaWRjbWV0YV9wYXRjaGVyLnN0YXJ0 KCkKLSAKLSAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgotICAgICAgICAgaWYgb3MucGF0aC5leGlz dHMoJ2JvZGhpLnRlbXBsYXRlJyk6Ci1AQCAtMTY4LDggKzE3Miw3IEBAIGNsYXNzIFRlc3RVcGRh dGUoQ2xpVGVzdENhc2UpOgotICAgICAgICAgc2VsZi5jaGVja19ib2RoaV92ZXJzaW9uX3BhdGNo ZXIuc3RvcCgpCi0gICAgICAgICBzZWxmLnJ1bl9jb21tYW5kX3BhdGNoZXIuc3RvcCgpCi0gICAg ICAgICBzZWxmLm52cl9wYXRjaGVyLnN0b3AoKQotLSAgICAgICAgaWYgcGFyc2VfdmVyc2lvbihi b2RoaV92ZXJzaW9uKSA+PSBwYXJzZV92ZXJzaW9uKCI2LjAuMCIpOgotLSAgICAgICAgICAgIHNl bGYub2lkY21ldGFfcGF0Y2hlci5zdG9wKCkKLSsgICAgICAgIHNlbGYub2lkY21ldGFfcGF0Y2hl ci5zdG9wKCkKLSAgICAgICAgIHJtZGlyKHNlbGYudGVtcGRpcikKLSAgICAgICAgIHN1cGVyKFRl c3RVcGRhdGUsIHNlbGYpLnRlYXJEb3duKCkKLSAKLUBAIC0xNzksOSArMTgyLDcgQEAgY2xhc3Mg VGVzdFVwZGF0ZShDbGlUZXN0Q2FzZSk6Ci0gCi0gICAgIEBwYXRjaCgnYm9kaGkuY2xpZW50LmJp bmRpbmdzLkJvZGhpQ2xpZW50LmNzcmYnKQotICAgICBAcGF0Y2goJ2JvZGhpLmNsaWVudC5iaW5k aW5ncy5Cb2RoaUNsaWVudC5zZW5kX3JlcXVlc3QnKQotLSAgICAjIERvIG5vdCBvcGVyYXRlIE9w ZW5JREMgc2Vzc2lvbiBmaWxlIHdpdGggbG9jawotLSAgICBAcGF0Y2goJ2ZlZG9yYS5jbGllbnQu T3BlbklkQmFzZUNsaWVudC5fbG9hZF9jb29raWVzJykKLS0gICAgZGVmIGFzc2VydF9ib2RoaV91 cGRhdGUoc2VsZiwgY2xpLCBfbG9hZF9jb29raWVzLCBzZW5kX3JlcXVlc3QsIGNzcmYsCi0rICAg IGRlZiBhc3NlcnRfYm9kaGlfdXBkYXRlKHNlbGYsIGNsaSwgc2VuZF9yZXF1ZXN0LCBjc3JmLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVfdHlwZT1Ob25lLCByZXF1ZXN0X3R5 cGU9Tm9uZSwgbm90ZXM9Tm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhYmxl X2thcm1hPU5vbmUsIHVuc3RhYmxlX2thcm1hPU5vbmUsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN1Z2dlc3Q9Tm9uZSwgc2V2ZXJpdHk9Tm9uZSk6Ci1AQCAtMTY2MywxMSArMTY2NCwx MCBAQCBjbGFzcyBUZXN0Qm9kaGlPdmVycmlkZShDbGlUZXN0Q2FzZSk6Ci0gICAgICAgICBzZWxm Lm9zX2Vudmlyb25fcGF0Y2hlciA9IHBhdGNoLmRpY3QoJ29zLmVudmlyb24nLCB7J0VESVRPUic6 ICd2aScsICdIT01FJzogc2VsZi50ZW1wZGlyfSkKLSAgICAgICAgIHNlbGYub3NfZW52aXJvbl9w YXRjaGVyLnN0YXJ0KCkKLSAKLS0gICAgICAgIGlmIHBhcnNlX3ZlcnNpb24oYm9kaGlfdmVyc2lv bikgPj0gcGFyc2VfdmVyc2lvbigiNi4wLjAiKToKLS0gICAgICAgICAgICBzZWxmLm9pZGNtZXRh X3BhdGNoZXIgPSBwYXRjaCgKLS0gICAgICAgICAgICAgICAgJ2JvZGhpLmNsaWVudC5vaWRjY2xp ZW50Lk9JRENDbGllbnQuX2dldF9wcm92aWRlcl9tZXRhZGF0YScsIF9tb2NrX21ldGFkYXRhCi0t ICAgICAgICAgICAgKQotLSAgICAgICAgICAgIHNlbGYub2lkY21ldGFfcGF0Y2hlci5zdGFydCgp Ci0rICAgICAgICBzZWxmLm9pZGNtZXRhX3BhdGNoZXIgPSBwYXRjaCgKLSsgICAgICAgICAgICAn Ym9kaGkuY2xpZW50Lm9pZGNjbGllbnQuT0lEQ0NsaWVudC5fZ2V0X3Byb3ZpZGVyX21ldGFkYXRh JywgX21vY2tfbWV0YWRhdGEKLSsgICAgICAgICkKLSsgICAgICAgIHNlbGYub2lkY21ldGFfcGF0 Y2hlci5zdGFydCgpCi0gCi0gICAgICAgICAjIEZha2UgYnVpbGQgcmV0dXJuZWQgZnJvbSBLb2pp IGZvciB0aGUgc3BlY2lmaWVkIGJ1aWxkIE5WUiBpbiB0ZXN0cwotICAgICAgICAgc2VsZi5rb2pp c2Vzc2lvbi5nZXRCdWlsZC5yZXR1cm5fdmFsdWUgPSB7J2J1aWxkX2lkJzogMX0KLUBAIC0xNjc2 LDggKzE2NzYsNyBAQCBjbGFzcyBUZXN0Qm9kaGlPdmVycmlkZShDbGlUZXN0Q2FzZSk6Ci0gICAg ICAgICBzZWxmLmFub25fa29qaXNlc3Npb25fcC5zdG9wKCkKLSAgICAgICAgIHNlbGYuY2J2X3Au c3RvcCgpCi0gICAgICAgICBzZWxmLm9zX2Vudmlyb25fcGF0Y2hlci5zdG9wKCkKLS0gICAgICAg IGlmIHBhcnNlX3ZlcnNpb24oYm9kaGlfdmVyc2lvbikgPj0gcGFyc2VfdmVyc2lvbigiNi4wLjAi KToKLS0gICAgICAgICAgICBzZWxmLm9pZGNtZXRhX3BhdGNoZXIuc3RvcCgpCi0rICAgICAgICBz ZWxmLm9pZGNtZXRhX3BhdGNoZXIuc3RvcCgpCi0gICAgICAgICBybWRpcihzZWxmLnRlbXBkaXIp Ci0gICAgICAgICBzdXBlcihUZXN0Qm9kaGlPdmVycmlkZSwgc2VsZikudGVhckRvd24oKQotIAot QEAgLTE3MDMsMTAgKzE3MDIsOCBAQCBjbGFzcyBUZXN0Qm9kaGlPdmVycmlkZShDbGlUZXN0Q2Fz ZSk6Ci0gICAgIEBwYXRjaCgnYm9kaGkuY2xpZW50LmJpbmRpbmdzLkJvZGhpQ2xpZW50Lmxpc3Rf b3ZlcnJpZGVzJykKLSAgICAgQHBhdGNoKCdib2RoaS5jbGllbnQuYmluZGluZ3MuQm9kaGlDbGll bnQuc2F2ZV9vdmVycmlkZScpCi0gICAgIEBwYXRjaCgnYm9kaGkuY2xpZW50LmJpbmRpbmdzLkJv ZGhpQ2xpZW50Lm92ZXJyaWRlX3N0cicpCi0tICAgICMgRG8gbm90IGFjcXVpcmUgbG9jayBmb3Ig bG9jYWwgb3BlbmlkYyBjYWNoZSBmaWxlCi0tICAgIEBwYXRjaCgnZmVkb3JhLmNsaWVudC5PcGVu SWRCYXNlQ2xpZW50Ll9sb2FkX2Nvb2tpZXMnKQotICAgICBkZWYgdGVzdF9jcmVhdGVfZm9yX2dp dmVuX2J1aWxkKAotLSAgICAgICAgICAgIHNlbGYsIF9sb2FkX2Nvb2tpZXMsIG92ZXJyaWRlX3N0 ciwgc2F2ZV9vdmVycmlkZSwgbGlzdF9vdmVycmlkZXMpOgotKyAgICAgICAgICAgIHNlbGYsIG92 ZXJyaWRlX3N0ciwgc2F2ZV9vdmVycmlkZSwgbGlzdF9vdmVycmlkZXMpOgotICAgICAgICAgbGlz dF9vdmVycmlkZXMucmV0dXJuX3ZhbHVlID0geyd0b3RhbCc6IDB9Ci0gICAgICAgICBleHBpcmF0 aW9uX2RhdGUgPSBkYXRldGltZS5ub3coKSArIHRpbWVkZWx0YShkYXlzPTcpCi0gICAgICAgICBu ZXdfb3ZlcnJpZGUgPSB7Ci1AQCAtMTgxNyw1MCArMTgxNCw2IEBAIGNsYXNzIFRlc3RCb2RoaU92 ZXJyaWRlKENsaVRlc3RDYXNlKToKLSAgICAgICAgICAgICAgICAgICAgICdCdWlsZHJvb3Qgb3Zl cnJpZGUgZm9yICVzIGFscmVhZHkgZXhpc3RzIGFuZCBub3QgJwotICAgICAgICAgICAgICAgICAg ICAgJ2V4cGlyZWQuJywgJ3Jwa2ctMS41NC0yLmZjMjgnKQotIAotLSAgICBAdW5pdHRlc3Quc2tp cElmKAotLSAgICAgICAgcGFyc2VfdmVyc2lvbihib2RoaV92ZXJzaW9uKSA+PSBwYXJzZV92ZXJz aW9uKCI2LjAuMCIpLAotLSAgICAgICAgIlJldHJ5aW5nIGlzIGJ1aWx0IGluIEJvZGhpIDYiCi0t ICAgICkKLS0gICAgQHBhdGNoKCdmZWRvcmEuY2xpZW50Lk9wZW5JZEJhc2VDbGllbnQuX2xvYWRf Y29va2llcycpCi0tICAgIEBwYXRjaCgnYm9kaGkuY2xpZW50LmJpbmRpbmdzLkJvZGhpQ2xpZW50 Lmxpc3Rfb3ZlcnJpZGVzJykKLS0gICAgQHBhdGNoKCdib2RoaS5jbGllbnQuYmluZGluZ3MuQm9k aGlDbGllbnQuc2F2ZV9vdmVycmlkZScpCi0tICAgIEBwYXRjaCgnZmVkcGtnLkNvbW1hbmRzLm52 cicsIG5ld19jYWxsYWJsZT1Qcm9wZXJ0eU1vY2spCi0tICAgIGRlZiB0ZXN0X3JldHJ5X2NyZWF0 ZSgKLS0gICAgICAgICAgICBzZWxmLCBudnIsIHNhdmVfb3ZlcnJpZGUsIGxpc3Rfb3ZlcnJpZGVz LCBfbG9hZF9jb29raWVzKToKLS0gICAgICAgIG52ci5yZXR1cm5fdmFsdWUgPSAncnBrZy0xLjU0 LTIuZmMyOCcKLS0gICAgICAgIGxpc3Rfb3ZlcnJpZGVzLnJldHVybl92YWx1ZSA9IHsndG90YWwn OiAwfQotLQotLSAgICAgICAgIyBGb3Igc2F2ZV9vdmVycmlkZSByYWlzZXMgQXV0aEVycm9yIHR3 aWNlLgotLSAgICAgICAgZnJvbSBmZWRvcmEuY2xpZW50IGltcG9ydCBBdXRoRXJyb3IKLS0gICAg ICAgIHNhdmVfb3ZlcnJpZGUuc2lkZV9lZmZlY3QgPSBBdXRoRXJyb3IKLS0KLS0gICAgICAgIGNs aV9jbWQgPSBbCi0tICAgICAgICAgICAgJ2ZlZHBrZycsICctLXBhdGgnLCBzZWxmLmNsb25lZF9y ZXBvX3BhdGgsCi0tICAgICAgICAgICAgJ292ZXJyaWRlJywgJ2NyZWF0ZScsCi0tICAgICAgICAg ICAgJy0tZHVyYXRpb24nLCAnNycsICctLW5vdGVzJywgJ2J1aWxkIGZvciBmZWRwa2cnLAotLSAg ICAgICAgXQotLQotLSAgICAgICAgd2l0aCBwYXRjaCgnc3lzLmFyZ3YnLCBuZXc9Y2xpX2NtZCk6 Ci0tICAgICAgICAgICAgY2xpID0gc2VsZi5uZXdfY2xpKCkKLS0KLS0gICAgICAgICAgICAjIFRo aXMgaXMgcmFpc2VkIHdoZW4gY2FsbCBzYXZlX292ZXJyaWRlIGluIHRoZSBzZWNvbmQgdGltZSBk dWUgdG8KLS0gICAgICAgICAgICAjIHRoZSBBdXRoRXJyb3IgaXMgcmFpc2VkIGFnYWluLiBUaGlz IGlzIGV4cGVjdGVkIGZvciBydW5uaW5nIHRoaXMKLS0gICAgICAgICAgICAjIHRlc3QuCi0tICAg ICAgICAgICAgc2l4LmFzc2VydFJhaXNlc1JlZ2V4KHNlbGYsIHJwa2dFcnJvciwgJ0Nhbm5vdCBj cmVhdGUgb3ZlcnJpZGUnLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGku Y3JlYXRlX2J1aWxkcm9vdF9vdmVycmlkZSkKLS0KLS0gICAgICAgICMgRmlyc3QgY2FsbCB0byBz YXZlX292ZXJyaWRlIHNob3VsZCByYWlzZSBBdXRoRXJyb3IsIGFuZCBpdCBtdXN0IGJlCi0tICAg ICAgICAjIGNhbGxlZCB0d2ljZS4KLS0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMiwgc2F2ZV9v dmVycmlkZS5jYWxsX2NvdW50KQotLSAgICAgICAgc2F2ZV9vdmVycmlkZS5hc3NlcnRfaGFzX2Nh bGxzKFsKLS0gICAgICAgICAgICBjYWxsKG52cj0ncnBrZy0xLjU0LTIuZmMyOCcsCi0tICAgICAg ICAgICAgICAgICBkdXJhdGlvbj03LAotLSAgICAgICAgICAgICAgICAgbm90ZXM9J2J1aWxkIGZv ciBmZWRwa2cnKSwKLS0gICAgICAgICAgICBjYWxsKG52cj0ncnBrZy0xLjU0LTIuZmMyOCcsCi0t ICAgICAgICAgICAgICAgICBkdXJhdGlvbj03LAotLSAgICAgICAgICAgICAgICAgbm90ZXM9J2J1 aWxkIGZvciBmZWRwa2cnKQotLSAgICAgICAgXSkKLS0KLSAgICAgZGVmIHRlc3RfaW52YWxpZF9k dXJhdGlvbl9vcHRpb24oc2VsZik6Ci0gICAgICAgICBjbGlfY21kcyA9ICgKLSAgICAgICAgICAg ICAoCi1AQCAtMTkxMCwyNiArMTg2MywxOSBAQCBjbGFzcyBUZXN0Qm9kaGlPdmVycmlkZUV4dGVu ZChDbGlUZXN0Q2FzZSk6Ci0gICAgICAgICBzZWxmLm9zX2Vudmlyb25fcGF0Y2hlciA9IHBhdGNo LmRpY3QoJ29zLmVudmlyb24nLCB7J0VESVRPUic6ICd2aScsICdIT01FJzogc2VsZi50ZW1wZGly fSkKLSAgICAgICAgIHNlbGYub3NfZW52aXJvbl9wYXRjaGVyLnN0YXJ0KCkKLSAKLS0gICAgICAg IGlmIHBhcnNlX3ZlcnNpb24oYm9kaGlfdmVyc2lvbikgPj0gcGFyc2VfdmVyc2lvbigiNi4wLjAi KToKLS0gICAgICAgICAgICBzZWxmLm9pZGNtZXRhX3BhdGNoZXIgPSBwYXRjaCgKLS0gICAgICAg ICAgICAgICAgJ2JvZGhpLmNsaWVudC5vaWRjY2xpZW50Lk9JRENDbGllbnQuX2dldF9wcm92aWRl cl9tZXRhZGF0YScsIF9tb2NrX21ldGFkYXRhCi0tICAgICAgICAgICAgKQotLSAgICAgICAgICAg IHNlbGYub2lkY21ldGFfcGF0Y2hlci5zdGFydCgpCi0tCi0tICAgICAgICBzZWxmLmxvYWRfY29v a2llc19wID0gcGF0Y2goCi0tICAgICAgICAgICAgJ2ZlZG9yYS5jbGllbnQuT3BlbklkQmFzZUNs aWVudC5fbG9hZF9jb29raWVzJykKLS0gICAgICAgIHNlbGYubW9ja19sb2FkX2Nvb2tpZXMgPSBz ZWxmLmxvYWRfY29va2llc19wLnN0YXJ0KCkKLSsgICAgICAgIHNlbGYub2lkY21ldGFfcGF0Y2hl ciA9IHBhdGNoKAotKyAgICAgICAgICAgICdib2RoaS5jbGllbnQub2lkY2NsaWVudC5PSURDQ2xp ZW50Ll9nZXRfcHJvdmlkZXJfbWV0YWRhdGEnLCBfbW9ja19tZXRhZGF0YQotKyAgICAgICAgKQot KyAgICAgICAgc2VsZi5vaWRjbWV0YV9wYXRjaGVyLnN0YXJ0KCkKLSAKLSAgICAgICAgICMgRmFr ZSBidWlsZCByZXR1cm5lZCBmcm9tIEtvamkgZm9yIHRoZSBzcGVjaWZpZWQgYnVpbGQgTlZSIGlu IHRlc3RzCi0gICAgICAgICBzZWxmLmtvamlzZXNzaW9uLmdldEJ1aWxkLnJldHVybl92YWx1ZSA9 IHsnYnVpbGRfaWQnOiAxfQotIAotICAgICBkZWYgdGVhckRvd24oc2VsZik6Ci0tICAgICAgICBz ZWxmLmxvYWRfY29va2llc19wLnN0b3AoKQotICAgICAgICAgc2VsZi5hbm9uX2tvamlzZXNzaW9u X3Auc3RvcCgpCi0gICAgICAgICBzZWxmLmNidl9wLnN0b3AoKQotICAgICAgICAgc2VsZi5vc19l bnZpcm9uX3BhdGNoZXIuc3RvcCgpCi0tICAgICAgICBpZiBwYXJzZV92ZXJzaW9uKGJvZGhpX3Zl cnNpb24pID49IHBhcnNlX3ZlcnNpb24oIjYuMC4wIik6Ci0tICAgICAgICAgICAgc2VsZi5vaWRj bWV0YV9wYXRjaGVyLnN0b3AoKQotKyAgICAgICAgc2VsZi5vaWRjbWV0YV9wYXRjaGVyLnN0b3Ao KQotICAgICAgICAgcm1kaXIoc2VsZi50ZW1wZGlyKQotICAgICAgICAgc3VwZXIoVGVzdEJvZGhp T3ZlcnJpZGVFeHRlbmQsIHNlbGYpLnRlYXJEb3duKCkKLSAKLUBAIC0yMTYyLDc1ICsyMTA4LDYg QEAgY2xhc3MgVGVzdEJvZGhpT3ZlcnJpZGVFeHRlbmQoQ2xpVGVzdENhc2UpOgotICAgICAgICAg ICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleChzZWxmLCBycGtnRXJyb3IsICcnLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjbGkuZXh0ZW5kX2J1aWxkcm9vdF9vdmVycmlkZSkK LSAKLS0gICAgQHVuaXR0ZXN0LnNraXBJZigKLS0gICAgICAgIHBhcnNlX3ZlcnNpb24oYm9kaGlf dmVyc2lvbikgPj0gcGFyc2VfdmVyc2lvbigiNi4wLjAiKSwKLS0gICAgICAgICJSZXRyeWluZyBp cyBidWlsdCBpbiBCb2RoaSA2IgotLSAgICApCi0tICAgIEBwYXRjaCgnZmVkcGtnLkJvZGhpQ2xp ZW50Lmxpc3Rfb3ZlcnJpZGVzJykKLS0gICAgQHBhdGNoKCdmZWRwa2cuQm9kaGlDbGllbnQuY3Ny ZicpCi0tICAgIEBwYXRjaCgnZmVkcGtnLkJvZGhpQ2xpZW50LnNlbmRfcmVxdWVzdCcpCi0tICAg IGRlZiB0ZXN0X3JldHJ5X3RvX2V4dGVuZF9vdmVycmlkZV9ieV9kYXlzKAotLSAgICAgICAgICAg IHNlbGYsIHNlbmRfcmVxdWVzdCwgY3NyZiwgbGlzdF9vdmVycmlkZXMpOgotLSAgICAgICAgdXRj bm93ID0gZGF0ZXRpbWUubm93KHRpbWV6b25lLnV0YykucmVwbGFjZSh0emluZm89Tm9uZSkKLS0g ICAgICAgIG92ZXJyaWRlX2V4cGlyYXRpb25fZGF0ZSA9IHV0Y25vdyArIHRpbWVkZWx0YShkYXlz PTcpCi0tCi0tICAgICAgICBmcm9tIGZlZG9yYS5jbGllbnQgaW1wb3J0IEF1dGhFcnJvcgotLSAg ICAgICAgc2VuZF9yZXF1ZXN0LnNpZGVfZWZmZWN0ID0gQXV0aEVycm9yCi0tCi0tICAgICAgICBj c3JmLnNpZGVfZWZmZWN0ID0gWycxMjM0NTYnLCAnNjc4OTAxJ10KLS0KLS0gICAgICAgIGJ1aWxk X252ciA9ICdzb21lcGtnLTEuNTQtMi5mYzI4JwotLSAgICAgICAgYnVpbGRfb3ZlcnJpZGUgPSB7 Ci0tICAgICAgICAgICAgJ2V4cGlyYXRpb25fZGF0ZSc6IG92ZXJyaWRlX2V4cGlyYXRpb25fZGF0 ZS5zdHJmdGltZSgnJVktJW0tJWQgJUg6JU06JVMnKSwKLS0gICAgICAgICAgICAnbnZyJzogYnVp bGRfbnZyLAotLSAgICAgICAgICAgICdub3Rlcyc6ICdidWlsZCBmb3Igb3RoZXIgcGFja2FnZScs Ci0tICAgICAgICAgICAgJ2J1aWxkJzogeydudnInOiBidWlsZF9udnJ9LAotLSAgICAgICAgICAg ICdzdWJtaXR0ZXInOiB7J25hbWUnOiAnc29tZW9uZSd9LAotLSAgICAgICAgICAgICdleHBpcmVk X2RhdGUnOiB1dGNub3cgLSB0aW1lZGVsdGEoZGF5cz0yMCkKLS0gICAgICAgIH0KLS0KLS0gICAg ICAgIGxpc3Rfb3ZlcnJpZGVzLnJldHVybl92YWx1ZSA9IHsKLS0gICAgICAgICAgICAndG90YWwn OiAxLAotLSAgICAgICAgICAgICdvdmVycmlkZXMnOiBbYnVpbGRfb3ZlcnJpZGVdCi0tICAgICAg ICB9Ci0tICAgICAgICBlZGl0ZWRfb3ZlcnJpZGUgPSBidWlsZF9vdmVycmlkZS5jb3B5KCkKLS0g ICAgICAgIGV4cGVjdGVkX2V4cGlyYXRpb25fZGF0ZSA9IG92ZXJyaWRlX2V4cGlyYXRpb25fZGF0 ZSArIHRpbWVkZWx0YShkYXlzPTIpCi0tICAgICAgICBlZGl0ZWRfb3ZlcnJpZGVbJ2V4cGlyYXRp b25fZGF0ZSddID0gXAotLSAgICAgICAgICAgIGV4cGVjdGVkX2V4cGlyYXRpb25fZGF0ZS5zdHJm dGltZSgnJVktJW0tJWQgJUg6JU06JVMnKQotLSAgICAgICAgc2VuZF9yZXF1ZXN0LnJldHVybl92 YWx1ZSA9IGVkaXRlZF9vdmVycmlkZQotLQotLSAgICAgICAgY2xpX2NtZCA9IFsKLS0gICAgICAg ICAgICAnZmVkcGtnJywgJy0tcGF0aCcsIHNlbGYuY2xvbmVkX3JlcG9fcGF0aCwKLS0gICAgICAg ICAgICAnb3ZlcnJpZGUnLCAnZXh0ZW5kJywgJzInLCBidWlsZF9udnIKLS0gICAgICAgIF0KLS0K LS0gICAgICAgIHdpdGggcGF0Y2goJ3N5cy5hcmd2JywgbmV3PWNsaV9jbWQpOgotLSAgICAgICAg ICAgIGNsaSA9IHNlbGYubmV3X2NsaSgpCi0tCi0tICAgICAgICAgICAgIyBUaGlzIGVycm9yIGlz IGV4cGVjdGVkIGR1ZSB0byB0aGUgZGVzaWduIGZvciB0aGlzIHRlc3QuIFNlZSBhbHNvCi0tICAg ICAgICAgICAgIyBhYm92ZSBleHBsYW5hdGlvbiB0byB0ZXN0IG9mIGBvdmVycmlkZSBjcmVhdGVg LgotLSAgICAgICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleCgKLS0gICAgICAgICAgICAgICAg c2VsZiwgcnBrZ0Vycm9yLCAnJywgY2xpLmV4dGVuZF9idWlsZHJvb3Rfb3ZlcnJpZGUpCi0tCi0t ICAgICAgICAjIEVuc3VyZSBubyBtaWNyb3NlY29uZCBpcyBpbmNsdWRlZCBpbiB0aGUgZXhwZWN0 ZWQgZXhwaXJhdGlvbiBkYXRhCi0tICAgICAgICBuZXdfZGF0ZSA9IG92ZXJyaWRlX2V4cGlyYXRp b25fZGF0ZSArIHRpbWVkZWx0YShkYXlzPTIpCi0tICAgICAgICBleHBlY3RlZF9leHBpcmF0aW9u X2RhdGUgPSBkYXRldGltZSh5ZWFyPW5ld19kYXRlLnllYXIsCi0tICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtb250aD1uZXdfZGF0ZS5tb250aCwKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRheT1uZXdfZGF0ZS5kYXksCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3VyPW5ld19kYXRl LmhvdXIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW51 dGU9bmV3X2RhdGUubWludXRlLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2Vjb25kPW5ld19kYXRlLnNlY29uZCkKLS0KLS0gICAgICAgIHNlbmRfcmVxdWVz dC5hc3NlcnRfaGFzX2NhbGxzKFsKLS0gICAgICAgICAgICBjYWxsKCdvdmVycmlkZXMvJywgdmVy Yj0nUE9TVCcsIGF1dGg9VHJ1ZSwgZGF0YT17Ci0tICAgICAgICAgICAgICAgICdleHBpcmF0aW9u X2RhdGUnOiBleHBlY3RlZF9leHBpcmF0aW9uX2RhdGUsCi0tICAgICAgICAgICAgICAgICdudnIn OiBidWlsZF9udnIsCi0tICAgICAgICAgICAgICAgICdub3Rlcyc6IGJ1aWxkX292ZXJyaWRlWydu b3RlcyddLAotLSAgICAgICAgICAgICAgICAnY3NyZl90b2tlbic6IHRva2VuLAotLSAgICAgICAg ICAgIH0pCi0tICAgICAgICAgICAgZm9yIHRva2VuIGluIGNzcmYuc2lkZV9lZmZlY3QKLS0gICAg ICAgIF0pCi0tCi0gICAgIEBmcmVlemVfdGltZSgnMjAxOC0wNy0yMicpCi0gICAgIEBwYXRjaCgn ZmVkcGtnLkJvZGhpQ2xpZW50Lmxpc3Rfb3ZlcnJpZGVzJykKLSAgICAgZGVmIHRlc3RfcmFpc2Vf ZXJyb3JfaWZfZHVyYXRpb25fbGVzc190aGFuX3RvZGF5KHNlbGYsIGxpc3Rfb3ZlcnJpZGVzKToK LS0tIAotMi40Ni4wCi0KCmRpZmYgLS1naXQgYS8wMDE0LURyb3AtYWxsLXVzYWdlLW9mLXNpeC5w YXRjaCBiLzAwMTQtRHJvcC1hbGwtdXNhZ2Utb2Ytc2l4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAxMDQ2YWI5Li4wMDAwMDAwCi0tLSBhLzAwMTQtRHJvcC1hbGwtdXNhZ2Ut b2Ytc2l4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTk0ICswLDAgQEAKLUZyb20gNjc4N2Zl MDFjZGVmMDQ0MDliY2I2ZjhmZDE2NDM4ODAzZjA0Y2IyNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IEFkYW0gV2lsbGlhbXNvbiA8YXdpbGxpYW1AcmVkaGF0LmNvbT4KLURhdGU6IFNh dCwgMTAgQXVnIDIwMjQgMDk6NTc6NDEgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCAzLzZdIERyb3Ag YWxsIHVzYWdlIG9mIHNpeAotCi1XZSBubyBsb25nZXIgc3VwcG9ydCBQeXRob24gMiwgc28gdGhl cmUncyBubyBuZWVkIGZvciBpdC4gVGhpcwotYWxzbyBkcm9wcyBzb21lIGVhcmx5IFB5dGhvbiAz LWVyYSBjb21wYXRpYmlsaXR5IHRoaW5ncyB0aGVyZQotaXMgbm8gbG9uZ2VyIGFueSBuZWVkIGZv ci4KLQotU2lnbmVkLW9mZi1ieTogQWRhbSBXaWxsaWFtc29uIDxhd2lsbGlhbUByZWRoYXQuY29t PgotLS0tCi0gZG9jL2ZlZHBrZ19tYW5fcGFnZS5weSB8ICAgMiArLQotIGZlZHBrZy9fX2luaXRf Xy5weSAgICAgfCAgIDMgKy0KLSBmZWRwa2cvX19tYWluX18ucHkgICAgIHwgICA3ICstLQotIGZl ZHBrZy9jbGkucHkgICAgICAgICAgfCAgMTUgKystLS0KLSBmZWRwa2cvdXRpbHMucHkgICAgICAg IHwgICA0ICstCi0gcHlwcm9qZWN0LnRvbWwgICAgICAgICB8ICAgMSAtCi0gcmVxdWlyZW1lbnRz LnR4dCAgICAgICB8ICAgMSAtCi0gdGVzdC90ZXN0X2J1Z3ppbGxhLnB5ICB8ICAxNCArKy0tLQot IHRlc3QvdGVzdF9jbGkucHkgICAgICAgfCAxMzcgKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tLS0tLS0KLSB0ZXN0L3Rlc3RfY29tbWFuZHMucHkgIHwgICA3ICstLQotIHRlc3Qv dGVzdF9yZXRpcmUucHkgICAgfCAgIDYgKy0KLSB0ZXN0L3Rlc3RfdXRpbHMucHkgICAgIHwgIDk3 ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCi0gdGVzdC91dGlscy5weSAgICAgICAgICB8 ICAgMyArLQotIDEzIGZpbGVzIGNoYW5nZWQsIDEzNyBpbnNlcnRpb25zKCspLCAxNjAgZGVsZXRp b25zKC0pCi0KLWRpZmYgLS1naXQgYS9kb2MvZmVkcGtnX21hbl9wYWdlLnB5IGIvZG9jL2ZlZHBr Z19tYW5fcGFnZS5weQotaW5kZXggNzg2MjY0Zi4uNThlNGQ0MCAxMDA3NTUKLS0tLSBhL2RvYy9m ZWRwa2dfbWFuX3BhZ2UucHkKLSsrKyBiL2RvYy9mZWRwa2dfbWFuX3BhZ2UucHkKLUBAIC00LDcg KzQsNyBAQAotIGltcG9ydCBvcwotIGltcG9ydCBzeXMKLSAKLS1mcm9tIHNpeC5tb3Zlcy5jb25m aWdwYXJzZXIgaW1wb3J0IENvbmZpZ1BhcnNlcgotK2Zyb20gY29uZmlncGFyc2VyIGltcG9ydCBD b25maWdQYXJzZXIKLSAKLSBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgICBtb2R1bGVf cGF0aCA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmls ZV9fKSwgJy4uJykpCi1kaWZmIC0tZ2l0IGEvZmVkcGtnL19faW5pdF9fLnB5IGIvZmVkcGtnL19f aW5pdF9fLnB5Ci1pbmRleCBkY2E0OGRhLi4zYzVlN2Q5IDEwMDY0NAotLS0tIGEvZmVkcGtnL19f aW5pdF9fLnB5Ci0rKysgYi9mZWRwa2cvX19pbml0X18ucHkKLUBAIC0xMyw3ICsxMyw2IEBAIGlt cG9ydCBweXJwa2cKLSBpbXBvcnQgb3MKLSBpbXBvcnQgZ2l0Ci0gaW1wb3J0IHJlCi0taW1wb3J0 IHNpeAotIAotIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEsIHRpbWV6 b25lCi0gCi1AQCAtMjY1LDcgKzI2NCw3IEBAIGNsYXNzIENvbW1hbmRzKHB5cnBrZy5Db21tYW5k cyk6Ci0gICAgICAgICAiIiJSZXR1cm5zIHRoZSBsYXRlc3QgY29tbWl0IG1lc3NhZ2Ugb24gdGhl IGN1cnJlbnQgYnJhbmNoIiIiCi0gCi0gICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgY29tbWl0 bXNnID0gc2l4Lm5leHQoc2VsZi5yZXBvLml0ZXJfY29tbWl0cygpKS5tZXNzYWdlCi0rICAgICAg ICAgICAgY29tbWl0bXNnID0gbmV4dChzZWxmLnJlcG8uaXRlcl9jb21taXRzKCkpLm1lc3NhZ2UK LSAgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6Ci0gICAgICAgICAgICAgY29tbWl0bXNnID0gIiIK LSAKLWRpZmYgLS1naXQgYS9mZWRwa2cvX19tYWluX18ucHkgYi9mZWRwa2cvX19tYWluX18ucHkK LWluZGV4IGM0NDBmMDguLjFhMmMzZjggMTAwNjQ0Ci0tLS0gYS9mZWRwa2cvX19tYWluX18ucHkK LSsrKyBiL2ZlZHBrZy9fX21haW5fXy5weQotQEAgLTE1LDE3ICsxNSwxMiBAQCBpbXBvcnQgbG9n Z2luZwotIGltcG9ydCBvcwotIGltcG9ydCBzeXMKLSAKLS1pbXBvcnQgc2l4Ci0tCi0gaW1wb3J0 IGZlZHBrZwotIGltcG9ydCBmZWRwa2cudXRpbHMKLSBpbXBvcnQgcHlycGtnCi0gaW1wb3J0IHB5 cnBrZy51dGlscwotIAotLWlmIHNpeC5QWTM6ICAjIFNhZmVDb25maWdQYXJzZXIgPT0gQ29uZmln UGFyc2VyLCBmb3JtZXIgZGVwcmVjYXRlZCBpbiA+PSAzLjIKLS0gICAgZnJvbSBzaXgubW92ZXMu Y29uZmlncGFyc2VyIGltcG9ydCBDb25maWdQYXJzZXIKLS1lbHNlOgotLSAgICBmcm9tIHNpeC5t b3Zlcy5jb25maWdwYXJzZXIgaW1wb3J0IFNhZmVDb25maWdQYXJzZXIgYXMgQ29uZmlnUGFyc2Vy Ci0rZnJvbSBjb25maWdwYXJzZXIgaW1wb3J0IENvbmZpZ1BhcnNlcgotIAotIAotIGNsaV9uYW1l ID0gb3MucGF0aC5iYXNlbmFtZShzeXMuYXJndlswXSkKLWRpZmYgLS1naXQgYS9mZWRwa2cvY2xp LnB5IGIvZmVkcGtnL2NsaS5weQotaW5kZXggZDZjNzcxNS4uZDI3YjhiMSAxMDA2NDQKLS0tLSBh L2ZlZHBrZy9jbGkucHkKLSsrKyBiL2ZlZHBrZy9jbGkucHkKLUBAIC0yNiwxMiArMjYsMTAgQEAg dHJ5OgotICAgICBpbXBvcnQgaW1wb3J0bGliLm1ldGFkYXRhCi0gZXhjZXB0IEltcG9ydEVycm9y OgotICAgICBpbXBvcnQgcGtnX3Jlc291cmNlcwotLWltcG9ydCBzaXgKLSBmcm9tIHB5cnBrZyBp bXBvcnQgcnBrZ0Vycm9yCi0gZnJvbSBweXJwa2cuY2xpIGltcG9ydCBjbGlDbGllbnQKLS1mcm9t IHNpeC5tb3ZlcyBpbXBvcnQgY29uZmlncGFyc2VyCi0tZnJvbSBzaXgubW92ZXMuY29uZmlncGFy c2VyIGltcG9ydCBOb09wdGlvbkVycm9yLCBOb1NlY3Rpb25FcnJvcgotLWZyb20gc2l4Lm1vdmVz LnVybGxpYl9wYXJzZSBpbXBvcnQgdXJscGFyc2UKLStpbXBvcnQgY29uZmlncGFyc2VyCi0rZnJv bSB1cmxsaWIucGFyc2UgaW1wb3J0IHVybHBhcnNlCi0gCi0gZnJvbSBmZWRwa2cuYnVnemlsbGEg aW1wb3J0IEJ1Z3ppbGxhQ2xpZW50Ci0gZnJvbSBmZWRwa2cuY29tcGxldGVycyBpbXBvcnQgKGJ1 aWxkX2FyY2hlcywgZGlzdGdpdF9icmFuY2hlcywgZmVkcGtnX3BhY2thZ2VzLAotQEAgLTc5Myw3 ICs3OTEsNyBAQCBjbGFzcyBmZWRwa2dDbGllbnQoY2xpQ2xpZW50KToKLSAgICAgICAgICAgICBy ZXR1cm4gewotICAgICAgICAgICAgICAgICAnc3RhZ2luZyc6IHNlbGYuY29uZmlnLmdldGJvb2xl YW4oc2VjdGlvbiwgJ3N0YWdpbmcnKSwKLSAgICAgICAgICAgICB9Ci0tICAgICAgICBleGNlcHQg KFZhbHVlRXJyb3IsIE5vT3B0aW9uRXJyb3IsIE5vU2VjdGlvbkVycm9yKSBhcyBlOgotKyAgICAg ICAgZXhjZXB0IChWYWx1ZUVycm9yLCBjb25maWdwYXJzZXIuTm9PcHRpb25FcnJvciwgY29uZmln cGFyc2VyLk5vU2VjdGlvbkVycm9yKSBhcyBlOgotICAgICAgICAgICAgIHNlbGYubG9nLmVycm9y KHN0cihlKSkKLSAgICAgICAgICAgICByYWlzZSBycGtnRXJyb3IoJ0NvdWxkIG5vdCBnZXQgYm9k aGkgb3B0aW9ucy4gSXQgc2VlbXMgY29uZmlndXJhdGlvbiBpcyBjaGFuZ2VkLiAnCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdQbGVhc2UgdHJ5IHRvIHJlaW5zdGFsbCAlcyBvciBjb25z dWx0IGRldmVsb3BlcnMgdG8gc2VlIHdoYXQgJwotQEAgLTg2MywxMCArODYxLDkgQEAgY2xhc3Mg ZmVkcGtnQ2xpZW50KGNsaUNsaWVudCk6Ci0gICAgICAgICAgICAgbnZyID0gIkZJTExfSU5fTlZS X0hFUkUiCi0gICAgICAgICBib2RoaV9hcmdzID0gewotICAgICAgICAgICAgICdudnInOiBudnIs Ci0tICAgICAgICAgICAgJ2J1Z3MnOiBzaXgudSgnJyksCi0tICAgICAgICAgICAgJ2Rpc3BsYXlf bmFtZSc6IHNpeC51KCcnKSwKLS0gICAgICAgICAgICAnZGVzY3InOiBzaXgudSgKLS0gICAgICAg ICAgICAgICAgJ0hlcmUgaXMgd2hlcmUgeW91IGdpdmUgYW4gZXhwbGFuYXRpb24gb2YgeW91ciB1 cGRhdGUuJyksCi0rICAgICAgICAgICAgJ2J1Z3MnOiAnJywKLSsgICAgICAgICAgICAnZGlzcGxh eV9uYW1lJzogJycsCi0rICAgICAgICAgICAgJ2Rlc2NyJzogJ0hlcmUgaXMgd2hlcmUgeW91IGdp dmUgYW4gZXhwbGFuYXRpb24gb2YgeW91ciB1cGRhdGUuJywKLSAgICAgICAgICAgICAncmVxdWVz dCc6IHNlbGYuYXJncy5yZXF1ZXN0LAotICAgICAgICAgICAgICdhdXRva2FybWEnOiBzdHIoc2Vs Zi5hcmdzLmF1dG9rYXJtYSksCi0gICAgICAgICAgICAgJ3N0YWJsZV9rYXJtYSc6IHNlbGYuYXJn cy5zdGFibGVfa2FybWEsCi1kaWZmIC0tZ2l0IGEvZmVkcGtnL3V0aWxzLnB5IGIvZmVkcGtnL3V0 aWxzLnB5Ci1pbmRleCA2ZjdkMmJlLi4wNjY5YzNmIDEwMDY0NAotLS0tIGEvZmVkcGtnL3V0aWxz LnB5Ci0rKysgYi9mZWRwa2cvdXRpbHMucHkKLUBAIC0xOCw4ICsxOCw4IEBAIGltcG9ydCBnaXQK LSBpbXBvcnQgcmVxdWVzdHMKLSBmcm9tIHB5cnBrZyBpbXBvcnQgcnBrZ0Vycm9yCi0gZnJvbSBy ZXF1ZXN0cy5leGNlcHRpb25zIGltcG9ydCBDb25uZWN0aW9uRXJyb3IKLS1mcm9tIHNpeC5tb3Zl cy5jb25maWdwYXJzZXIgaW1wb3J0IE5vT3B0aW9uRXJyb3IsIE5vU2VjdGlvbkVycm9yCi0tZnJv bSBzaXgubW92ZXMudXJsbGliLnBhcnNlIGltcG9ydCB1cmxwYXJzZQotK2Zyb20gY29uZmlncGFy c2VyIGltcG9ydCBOb09wdGlvbkVycm9yLCBOb1NlY3Rpb25FcnJvcgotK2Zyb20gdXJsbGliLnBh cnNlIGltcG9ydCB1cmxwYXJzZQotIAotIAotIGRlZiBxdWVyeV9ib2RoaShzZXJ2ZXJfdXJsLCB0 aW1lb3V0PTYwKToKLWRpZmYgLS1naXQgYS9weXByb2plY3QudG9tbCBiL3B5cHJvamVjdC50b21s Ci1pbmRleCBhYzYwYjBmLi44Y2Y3ODgwIDEwMDY0NAotLS0tIGEvcHlwcm9qZWN0LnRvbWwKLSsr KyBiL3B5cHJvamVjdC50b21sCi1AQCAtMjksNyArMjksNiBAQCBkZXBlbmRlbmNpZXMgPSBbCi0g ICAgICJvcGVuaWRjLWNsaWVudCIsCi0gICAgICJweXRob24tYnVnemlsbGEiLAotICAgICAicnBr ZyIsCi0tICAgICJzaXgiLAotIF0KLSAKLSBbcHJvamVjdC5zY3JpcHRzXQotZGlmZiAtLWdpdCBh L3JlcXVpcmVtZW50cy50eHQgYi9yZXF1aXJlbWVudHMudHh0Ci1pbmRleCA3ZTUyYTJjLi4zYzc4 OGNkIDEwMDY0NAotLS0tIGEvcmVxdWlyZW1lbnRzLnR4dAotKysrIGIvcmVxdWlyZW1lbnRzLnR4 dAotQEAgLTMsNCArMywzIEBAIGJvZGhpLWNsaWVudAotIG9wZW5pZGMtY2xpZW50Ci0gcHl0aG9u LWJ1Z3ppbGxhCi0gcnBrZwotLXNpeAotZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9idWd6aWxsYS5w eSBiL3Rlc3QvdGVzdF9idWd6aWxsYS5weQotaW5kZXggODNiNjA4ZS4uNmZjYzhhZCAxMDA2NDQK LS0tLSBhL3Rlc3QvdGVzdF9idWd6aWxsYS5weQotKysrIGIvdGVzdC90ZXN0X2J1Z3ppbGxhLnB5 Ci1AQCAtMTAsOCArMTAsNiBAQAotICMgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIFNlZSBo dHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bWwgZm9yCi0gIyB0aGUgZnVsbCB0ZXh0 IG9mIHRoZSBsaWNlbnNlLgotIAotLWltcG9ydCBzaXgKLS0KLSBmcm9tIGZlZHBrZy5idWd6aWxs YSBpbXBvcnQgQnVnemlsbGFDbGllbnQKLSBmcm9tIHB5cnBrZyBpbXBvcnQgcnBrZ0Vycm9yCi0g ZnJvbSB1dGlscyBpbXBvcnQgdW5pdHRlc3QKLUBAIC02MCw4ICs1OCw4IEBAIGNsYXNzIFRlc3RH ZXRSZXZpZXdCdWcodW5pdHRlc3QuVGVzdENhc2UpOgotICAgICAgICAgQnVnemlsbGEucmV0dXJu X3ZhbHVlLmdldGJ1Zy5zaWRlX2VmZmVjdCA9IFZhbHVlRXJyb3IKLSAKLSAgICAgICAgIGJ6YyA9 IEJ1Z3ppbGxhQ2xpZW50KCdodHRwOi8vYnVnemlsbGEuZXhhbXBsZS5jb20nKQotLSAgICAgICAg c2l4LmFzc2VydFJhaXNlc1JlZ2V4KAotLSAgICAgICAgICAgIHNlbGYsIHJwa2dFcnJvciwgJ1Ro ZSBCdWd6aWxsYSBidWcgY291bGQgbm90IGJlIHZlcmlmaWVkLicsCi0rICAgICAgICBzZWxmLmFz c2VydFJhaXNlc1JlZ2V4KAotKyAgICAgICAgICAgIHJwa2dFcnJvciwgJ1RoZSBCdWd6aWxsYSBi dWcgY291bGQgbm90IGJlIHZlcmlmaWVkLicsCi0gICAgICAgICAgICAgYnpjLmdldF9yZXZpZXdf YnVnLCAxMjMsICdycG1zJywgJ215cGtnJykKLSAKLSAgICAgQHBhdGNoKCdidWd6aWxsYS5CdWd6 aWxsYScpCi1AQCAtNjksOCArNjcsOCBAQCBjbGFzcyBUZXN0R2V0UmV2aWV3QnVnKHVuaXR0ZXN0 LlRlc3RDYXNlKToKLSAgICAgICAgIEJ1Z3ppbGxhLnJldHVybl92YWx1ZS5nZXRidWcucmV0dXJu X3ZhbHVlID0gTW9jaygpCi0gCi0gICAgICAgICBiemMgPSBCdWd6aWxsYUNsaWVudCgnaHR0cDov L2J1Z3ppbGxhLmV4YW1wbGUuY29tJykKLS0gICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleCgK LS0gICAgICAgICAgICBzZWxmLCBycGtnRXJyb3IsICdub3QgdGhlIHByb3BlciB0eXBlJywKLSsg ICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCi0rICAgICAgICAgICAgcnBrZ0Vycm9yLCAn bm90IHRoZSBwcm9wZXIgdHlwZScsCi0gICAgICAgICAgICAgYnpjLmdldF9yZXZpZXdfYnVnLCAx MjMsICd4eHgnLCAnbXlwa2cnKQotIAotICAgICBAcGF0Y2goJ2J1Z3ppbGxhLkJ1Z3ppbGxhJykK LUBAIC04MCw2ICs3OCw2IEBAIGNsYXNzIFRlc3RHZXRSZXZpZXdCdWcodW5pdHRlc3QuVGVzdENh c2UpOgotICAgICAgICAgYnpjID0gQnVnemlsbGFDbGllbnQoJ2h0dHA6Ly9idWd6aWxsYS5leGFt cGxlLmNvbScpCi0gICAgICAgICAjIG5hbWVzcGFjZSBjb250YWluZXIgcmVxdWlyZXMgYnVnIGNv bXBvbmVudCBpcyBDb250YWluZXIgUmV2aWV3LAotICAgICAgICAgIyBidXQgZmFrZSBidWcgaGFz IGEgZGlmZmVyZW50IGNvbXBvbmVudC4KLS0gICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleCgK LS0gICAgICAgICAgICBzZWxmLCBycGtnRXJyb3IsICdub3QgdGhlIHByb3BlciB0eXBlJywKLSsg ICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCi0rICAgICAgICAgICAgcnBrZ0Vycm9yLCAn bm90IHRoZSBwcm9wZXIgdHlwZScsCi0gICAgICAgICAgICAgYnpjLmdldF9yZXZpZXdfYnVnLCAx MjMsICdjb250YWluZXInLCAnbXlwa2cnKQotZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9jbGkucHkg Yi90ZXN0L3Rlc3RfY2xpLnB5Ci1pbmRleCBjODE5NjE0Li5iNzNiYjAyIDEwMDY0NAotLS0tIGEv dGVzdC90ZXN0X2NsaS5weQotKysrIGIvdGVzdC90ZXN0X2NsaS5weQotQEAgLTE2LDYgKzE2LDcg QEAgaW1wb3J0IGpzb24KLSBpbXBvcnQgb3MKLSBpbXBvcnQgcmUKLSBpbXBvcnQgc3lzCi0rZnJv bSBjb25maWdwYXJzZXIgaW1wb3J0IE5vT3B0aW9uRXJyb3IsIE5vU2VjdGlvbkVycm9yCi0gZnJv bSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YSwgdGltZXpvbmUKLSBmcm9tIG9z IGltcG9ydCBybWRpcgotIGZyb20gdGVtcGZpbGUgaW1wb3J0IG1rZHRlbXAsIG1rc3RlbXAKLUBA IC0zMiwxMCArMzMsNiBAQCB0cnk6Ci0gZXhjZXB0IEltcG9ydEVycm9yOgotICAgICBmcm9tIHBr Z19yZXNvdXJjZXMgaW1wb3J0IGdldF9kaXN0cmlidXRpb24gYXMgZGlzdHJpYnV0aW9uCi0gCi0t aW1wb3J0IHNpeAotLWZyb20gc2l4Lm1vdmVzIGltcG9ydCBTdHJpbmdJTwotLWZyb20gc2l4Lm1v dmVzLmNvbmZpZ3BhcnNlciBpbXBvcnQgTm9PcHRpb25FcnJvciwgTm9TZWN0aW9uRXJyb3IKLS0K LSBpbXBvcnQgZmVkcGtnLmNsaQotIGZyb20gZmVkcGtnLmJ1Z3ppbGxhIGltcG9ydCBCdWd6aWxs YUNsaWVudAotIGZyb20gZmVkcGtnLmNsaSBpbXBvcnQgY2hlY2tfYm9kaGlfdmVyc2lvbgotQEAg LTg5LDE5ICs4NiwxOSBAQCBjbGFzcyBUZXN0SXNVcGRhdGVBYm9ydGVkKENsaVRlc3RDYXNlKToK LSAKLSAgICAgZGVmIHRlc3RfYWxsX2xpbmVfYXJlX2NvbW1lbnRlZF9vdXQoc2VsZik6Ci0gICAg ICAgICB3aXRoIGlvLm9wZW4oc2VsZi5ib2RoaV90ZW1wbGF0ZSwgJ3cnLCBlbmNvZGluZz0ndXRm LTgnKSBhcyBmOgotLSAgICAgICAgICAgIGYud3JpdGUoc2l4LnUoJyMgbGluZSAxXG4jbGluZSAy XG4jbGluZSAzXG4nKSkKLSsgICAgICAgICAgICBmLndyaXRlKCcjIGxpbmUgMVxuI2xpbmUgMlxu I2xpbmUgM1xuJykKLSAKLSAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLl9pc191cGRhdGVf YWJvcnRlZCgpKQotIAotICAgICBkZWYgdGVzdF90ZW1wbGF0ZV9pc19vayhzZWxmKToKLSAgICAg ICAgIHdpdGggaW8ub3BlbihzZWxmLmJvZGhpX3RlbXBsYXRlLCAndycsIGVuY29kaW5nPSd1dGYt OCcpIGFzIGY6Ci0tICAgICAgICAgICAgZi53cml0ZShzaXgudSgnW2ZlZHBrZy0xLjM0LTEuZmMy OF1cbnR5cGU9XG5ub3Rlcz1hYmNcbicpKQotKyAgICAgICAgICAgIGYud3JpdGUoJ1tmZWRwa2ct MS4zNC0xLmZjMjhdXG50eXBlPVxubm90ZXM9YWJjXG4nKQotIAotICAgICAgICAgc2VsZi5hc3Nl cnRGYWxzZShzZWxmLl9pc191cGRhdGVfYWJvcnRlZCgpKQotIAotICAgICBkZWYgdGVzdF90ZW1w bGF0ZV9jb250ZW50X2lzX2Jyb2tlbihzZWxmKToKLSAgICAgICAgIHdpdGggaW8ub3BlbihzZWxm LmJvZGhpX3RlbXBsYXRlLCAndycsIGVuY29kaW5nPSd1dGYtOCcpIGFzIGY6Ci0tICAgICAgICAg ICAgZi53cml0ZShzaXgudSgnI1tmZWRwa2ctMS4zNC0xLmZjMjhdXG50eXBlPVxubm90ZXM9YWJj XG4nKSkKLSsgICAgICAgICAgICBmLndyaXRlKCcjW2ZlZHBrZy0xLjM0LTEuZmMyOF1cbnR5cGU9 XG5ub3Rlcz1hYmNcbicpCi0gCi0gICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5faXNfdXBk YXRlX2Fib3J0ZWQoKSkKLSAKLUBAIC0xNDIsNyArMTM5LDcgQEAgY2xhc3MgVGVzdFVwZGF0ZShD bGlUZXN0Q2FzZSk6Ci0gICAgICAgICBzZWxmLmNsb2dfcGF0Y2hlci5zdGFydCgpCi0gCi0gICAg ICAgICAjIExvZ3Mgd2lsbCBiZSByZWFkIGluIHRoZSB0ZXN0cyB3aGljaCBkbyBub3Qgc3BlY2lm eSAtLW5vdGVzIG9wdGlvbgotLSAgICAgICAgc2VsZi5mYWtlX2Nsb2cgPSBsaXN0KHNpeC5tb3Zl cy5tYXAoc2l4LnUsIFsKLSsgICAgICAgIHNlbGYuZmFrZV9jbG9nID0gWwotICAgICAgICAgICAg ICdBZGQgdGVzdHMgZm9yIGNvbW1hbmQgdXBkYXRlJywKLSAgICAgICAgICAgICAnTmV3IGNvbW1h bmQgdXBkYXRlIC0gIzEwMDAnLCAgIyBpbnZhbGlkIGJ1ZyBpZCBmb3JtYXQKLSAgICAgICAgICAg ICAnRml4IHRlc3RzIC0gIzIwMDAsICNub3RhYnVnJywgICMgYm90aCBpbnZhbGlkIGJ1ZyBpZCBm b3JtYXQKLUBAIC0xNTAsNyArMTQ3LDcgQEAgY2xhc3MgVGVzdFVwZGF0ZShDbGlUZXN0Q2FzZSk6 Ci0gICAgICAgICAgICAgJ2ZpeDogcmgjMTAwMDEnLAotICAgICAgICAgICAgICdGaXhlczogcmhi eiMyMDAwMScsCi0gICAgICAgICAgICAgJyBjbG9zZTogZmVkb3JhIzMwMDAxJywgICMgdGVzdCB3 aGl0ZXNwYWNlIGF0IHRoZSBiZWdpbm5pbmcKLS0gICAgICAgIF0pKQotKyAgICAgICAgXQotICAg ICAgICAgY2xvZ19maWxlID0gb3MucGF0aC5qb2luKHNlbGYuY2xvbmVkX3JlcG9fcGF0aCwgJ2Ns b2cnKQotICAgICAgICAgd2l0aCBpby5vcGVuKGNsb2dfZmlsZSwgJ3cnLCBlbmNvZGluZz0ndXRm LTgnKSBhcyBmOgotICAgICAgICAgICAgIGYud3JpdGUob3MubGluZXNlcC5qb2luKHNlbGYuZmFr ZV9jbG9nKSkKLUBAIC0yMTYsNyArMjEzLDcgQEAgY2xhc3MgVGVzdFVwZGF0ZShDbGlUZXN0Q2Fz ZSk6Ci0gICAgICAgICBleHBlY3RlZF9kYXRhID0gewotICAgICAgICAgICAgICdhdXRva2FybWEn OiAnVHJ1ZScsCi0gICAgICAgICAgICAgJ2J1Z3MnOiAnMTAwMDEsMjAwMDEsMzAwMDEnLAotLSAg ICAgICAgICAgICdkaXNwbGF5X25hbWUnOiBzaXgudSgnJyksCi0rICAgICAgICAgICAgJ2Rpc3Bs YXlfbmFtZSc6ICcnLAotICAgICAgICAgICAgICdidWlsZHMnOiAnIHswfSAnLmZvcm1hdChzZWxm Lm1vY2tfbnZyLnJldHVybl92YWx1ZSksCi0gICAgICAgICAgICAgJ2Nsb3NlX2J1Z3MnOiBUcnVl LAotICAgICAgICAgICAgICdyZXF1ZXN0JzogJ3Rlc3RpbmcnLAotQEAgLTI1OSw3ICsyNTYsNyBA QCBjbGFzcyBUZXN0VXBkYXRlKENsaVRlc3RDYXNlKToKLSAgICAgICAgIGVsc2U6Ci0gICAgICAg ICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuZmFrZV9jbG9nWzBdIGluIGJvZGhpX3RlbXBsYXRl KQotICAgICAgICAgICAgIHJlc3RfY2xvZyA9IG9zLmxpbmVzZXAuam9pbihbCi0tICAgICAgICAg ICAgICAgIHNpeC51KCcjIHswfScpLmZvcm1hdChsaW5lKSBmb3IgbGluZSBpbiBzZWxmLmZha2Vf Y2xvZ1sxOl0KLSsgICAgICAgICAgICAgICAgJyMgezB9Jy5mb3JtYXQobGluZSkgZm9yIGxpbmUg aW4gc2VsZi5mYWtlX2Nsb2dbMTpdCi0gICAgICAgICAgICAgXSkKLSAgICAgICAgICAgICBzZWxm LmFzc2VydFRydWUocmVzdF9jbG9nIGluIGJvZGhpX3RlbXBsYXRlKQotIAotQEAgLTI2OSwyMSAr MjY2LDIxIEBAIGNsYXNzIFRlc3RVcGRhdGUoQ2xpVGVzdENhc2UpOgotIAotICAgICAgICAgd2l0 aCBwYXRjaC5vYmplY3QoY2xpLmNvbmZpZywgJ2dldCcsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICBzaWRlX2VmZmVjdD1Ob09wdGlvbkVycm9yKCd1cmwnLCAnYm9kaGknKSk6Ci0tICAgICAg ICAgICAgc2l4LmFzc2VydFJhaXNlc1JlZ2V4KAotLSAgICAgICAgICAgICAgICBzZWxmLCBycGtn RXJyb3IsICdDb3VsZCBub3QgZ2V0IGJvZGhpIG9wdGlvbnMuJywgY2xpLnVwZGF0ZSkKLSsgICAg ICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAotKyAgICAgICAgICAgICAgICBycGtnRXJy b3IsICdDb3VsZCBub3QgZ2V0IGJvZGhpIG9wdGlvbnMuJywgY2xpLnVwZGF0ZSkKLSAKLSAgICAg ICAgIHdpdGggcGF0Y2gub2JqZWN0KGNsaS5jb25maWcsICdnZXQnLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2lkZV9lZmZlY3Q9Tm9TZWN0aW9uRXJyb3IoJ2JvZGhpJykpOgotLSAgICAg ICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleCgKLS0gICAgICAgICAgICAgICAgc2VsZiwgcnBr Z0Vycm9yLCAnQ291bGQgbm90IGdldCBib2RoaSBvcHRpb25zLicsIGNsaS51cGRhdGUpCi0rICAg ICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleCgKLSsgICAgICAgICAgICAgICAgcnBrZ0Vy cm9yLCAnQ291bGQgbm90IGdldCBib2RoaSBvcHRpb25zLicsIGNsaS51cGRhdGUpCi0gCi0gICAg IEBwYXRjaCgnb3MucGF0aC5pc2ZpbGUnLCByZXR1cm5fdmFsdWU9RmFsc2UpCi0gICAgIGRlZiB0 ZXN0X2ZhaWxfaWZfYm9kaGlfdGVtcGxhdGVfaXNfbm90X2FfZmlsZShzZWxmLCBpc2ZpbGUpOgot ICAgICAgICAgY2xpX2NtZCA9IFsnZmVkcGtnJywgJy0tcGF0aCcsIHNlbGYuY2xvbmVkX3JlcG9f cGF0aCwgJ3VwZGF0ZSddCi0gCi0gICAgICAgICBjbGkgPSBzZWxmLmdldF9jbGkoY2xpX2NtZCkK LS0gICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleCgKLS0gICAgICAgICAgICBzZWxmLCBycGtn RXJyb3IsICdObyBib2RoaSB1cGRhdGUgZGV0YWlscyBzYXZlZCcsCi0rICAgICAgICBzZWxmLmFz c2VydFJhaXNlc1JlZ2V4KAotKyAgICAgICAgICAgIHJwa2dFcnJvciwgJ05vIGJvZGhpIHVwZGF0 ZSBkZXRhaWxzIHNhdmVkJywKLSAgICAgICAgICAgICBzZWxmLmFzc2VydF9ib2RoaV91cGRhdGUs IGNsaSkKLSAKLSAgICAgICAgIHNlbGYubW9ja19ydW5fY29tbWFuZC5hc3NlcnRfY2FsbGVkX29u Y2Vfd2l0aCgKLUBAIC0zMjMsOCArMzIwLDggQEAgY2xhc3MgVGVzdFVwZGF0ZShDbGlUZXN0Q2Fz ZSk6Ci0gICAgICAgICBjbGlfY21kID0gWydmZWRwa2cnLCAnLS1wYXRoJywgc2VsZi5jbG9uZWRf cmVwb19wYXRoLCAndXBkYXRlJ10KLSAKLSAgICAgICAgIGNsaSA9IHNlbGYuZ2V0X2NsaShjbGlf Y21kKQotLSAgICAgICAgc2l4LmFzc2VydFJhaXNlc1JlZ2V4KAotLSAgICAgICAgICAgIHNlbGYs IHJwa2dFcnJvciwgJ0NvdWxkIG5vdCBnZW5lcmF0ZSB1cGRhdGUgcmVxdWVzdCcsCi0rICAgICAg ICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAotKyAgICAgICAgICAgIHJwa2dFcnJvciwgJ0NvdWxk IG5vdCBnZW5lcmF0ZSB1cGRhdGUgcmVxdWVzdCcsCi0gICAgICAgICAgICAgc2VsZi5hc3NlcnRf Ym9kaGlfdXBkYXRlLCBjbGkpCi0gCi0gICAgIGRlZiB0ZXN0X2NyZWF0ZV91cGRhdGVfaW5fc3Rh Z2VfYm9kaGkoc2VsZik6Ci1AQCAtMzQwLDMwICszMzcsMzAgQEAgY2xhc3MgVGVzdFVwZGF0ZShD bGlUZXN0Q2FzZSk6Ci0gICAgIGRlZiB0ZXN0X21pc3NpbmdfdXBkYXRlX3R5cGVfaW5fdGVtcGxh dGUoc2VsZik6Ci0gICAgICAgICBjbGlfY21kID0gWydmZWRwa2ctc3RhZ2UnLCAnLS1wYXRoJywg c2VsZi5jbG9uZWRfcmVwb19wYXRoLCAndXBkYXRlJ10KLSAgICAgICAgIGNsaSA9IHNlbGYuZ2V0 X2NsaShjbGlfY21kKQotLSAgICAgICAgc2l4LmFzc2VydFJhaXNlc1JlZ2V4KHNlbGYsIHJwa2dF cnJvciwgJ01pc3NpbmcgdXBkYXRlIHR5cGUnLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNlbGYuYXNzZXJ0X2JvZGhpX3VwZGF0ZSwgY2xpKQotKyAgICAgICAgc2VsZi5hc3NlcnRS YWlzZXNSZWdleChycGtnRXJyb3IsICdNaXNzaW5nIHVwZGF0ZSB0eXBlJywKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRfYm9kaGlfdXBkYXRlLCBjbGkpCi0gCi0g ICAgIGRlZiB0ZXN0X2luY29ycmVjdF91cGRhdGVfdHlwZV9pbl90ZW1wbGF0ZShzZWxmKToKLSAg ICAgICAgIGNsaV9jbWQgPSBbJ2ZlZHBrZy1zdGFnZScsICctLXBhdGgnLCBzZWxmLmNsb25lZF9y ZXBvX3BhdGgsICd1cGRhdGUnXQotICAgICAgICAgY2xpID0gc2VsZi5nZXRfY2xpKGNsaV9jbWQp Ci0tICAgICAgICBzaXguYXNzZXJ0UmFpc2VzUmVnZXgoc2VsZiwgcnBrZ0Vycm9yLCAnSW5jb3Jy ZWN0IHVwZGF0ZSB0eXBlJywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFz c2VydF9ib2RoaV91cGRhdGUsIGNsaSwgdXBkYXRlX3R5cGU9J3h4eCcpCi0rICAgICAgICBzZWxm LmFzc2VydFJhaXNlc1JlZ2V4KHJwa2dFcnJvciwgJ0luY29ycmVjdCB1cGRhdGUgdHlwZScsCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0X2JvZGhpX3VwZGF0ZSwg Y2xpLCB1cGRhdGVfdHlwZT0neHh4JykKLSAKLSAgICAgZGVmIHRlc3RfaW5jb3JyZWN0X3JlcXVl c3RfdHlwZV9pbl90ZW1wbGF0ZShzZWxmKToKLSAgICAgICAgIGNsaV9jbWQgPSBbJ2ZlZHBrZy1z dGFnZScsICctLXBhdGgnLCBzZWxmLmNsb25lZF9yZXBvX3BhdGgsICd1cGRhdGUnXQotICAgICAg ICAgY2xpID0gc2VsZi5nZXRfY2xpKGNsaV9jbWQpCi0tICAgICAgICBzaXguYXNzZXJ0UmFpc2Vz UmVnZXgoc2VsZiwgcnBrZ0Vycm9yLCAnSW5jb3JyZWN0IHJlcXVlc3QgdHlwZScsCi0tICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRfYm9kaGlfdXBkYXRlLCBjbGksCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlX3R5cGU9J2VuaGFuY2VtZW50JywK LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0X3R5cGU9J3h4eCcpCi0rICAg ICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KHJwa2dFcnJvciwgJ0luY29ycmVjdCByZXF1ZXN0 IHR5cGUnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydF9ib2Ro aV91cGRhdGUsIGNsaSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlX3R5 cGU9J2VuaGFuY2VtZW50JywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVz dF90eXBlPSd4eHgnKQotIAotICAgICBkZWYgdGVzdF9pbmNvcnJlY3Rfc3VnZ2VzdF90eXBlX2lu X3RlbXBsYXRlKHNlbGYpOgotICAgICAgICAgY2xpX2NtZCA9IFsnZmVkcGtnLXN0YWdlJywgJy0t cGF0aCcsIHNlbGYuY2xvbmVkX3JlcG9fcGF0aCwgJ3VwZGF0ZSddCi0gICAgICAgICBjbGkgPSBz ZWxmLmdldF9jbGkoY2xpX2NtZCkKLS0gICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleChzZWxm LCBycGtnRXJyb3IsICdJbmNvcnJlY3Qgc3VnZ2VzdCB0eXBlJywKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzZWxmLmFzc2VydF9ib2RoaV91cGRhdGUsIGNsaSwKLS0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1cGRhdGVfdHlwZT0nZW5oYW5jZW1lbnQnLAotLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN1Z2dlc3Q9JzEyMycpCi0rICAgICAgICBzZWxmLmFzc2Vy dFJhaXNlc1JlZ2V4KHJwa2dFcnJvciwgJ0luY29ycmVjdCBzdWdnZXN0IHR5cGUnLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydF9ib2RoaV91cGRhdGUsIGNsaSwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlX3R5cGU9J2VuaGFuY2VtZW50 JywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VnZ2VzdD0nMTIzJykKLSAKLSAg ICAgZGVmIHRlc3RfY3JlYXRlX3dpdGhfY2xpX29wdGlvbnMoc2VsZik6Ci0gICAgICAgICBjbGlf Y21kID0gWwotQEAgLTQxMyw3ICs0MTAsNyBAQCBjbGFzcyBUZXN0VXBkYXRlKENsaVRlc3RDYXNl KToKLSAgICAgICAgIHNlbGYuYXNzZXJ0X2JvZGhpX3VwZGF0ZSgKLSAgICAgICAgICAgICBjbGks IHVwZGF0ZV90eXBlPSdidWdmaXgnLCBub3Rlcz0nTGluZSAxXG5MaW5lIDJcbkxpbmUgMycpCi0g Ci0tICAgIEBwYXRjaCgnc3lzLnN0ZGVycicsIG5ldz1zaXguU3RyaW5nSU8oKSkKLSsgICAgQHBh dGNoKCdzeXMuc3RkZXJyJywgbmV3PWlvLlN0cmluZ0lPKCkpCi0gICAgIGRlZiB0ZXN0X2ludmFs aWRfc3RhYmxlX2thcm1hX29wdGlvbihzZWxmKToKLSAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRS YWlzZXMoU3lzdGVtRXhpdCk6Ci0gICAgICAgICAgICAgc2VsZi5nZXRfY2xpKFsKLUBAIC00Mjcs NyArNDI0LDcgQEAgY2xhc3MgVGVzdFVwZGF0ZShDbGlUZXN0Q2FzZSk6Ci0gICAgICAgICAgICAg ICAgICd1cGRhdGUnLCAnLS1zdGFibGUta2FybWEnLCAnLTMnCi0gICAgICAgICAgICAgXSkKLSAK LS0gICAgQHBhdGNoKCdzeXMuc3RkZXJyJywgbmV3PXNpeC5TdHJpbmdJTygpKQotKyAgICBAcGF0 Y2goJ3N5cy5zdGRlcnInLCBuZXc9aW8uU3RyaW5nSU8oKSkKLSAgICAgZGVmIHRlc3RfaW52YWxp ZF91bnN0YWJsZV9rYXJtYV9vcHRpb24oc2VsZik6Ci0gICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0 UmFpc2VzKFN5c3RlbUV4aXQpOgotICAgICAgICAgICAgIHNlbGYuZ2V0X2NsaShbCi1AQCAtNDQx LDcgKzQzOCw3IEBAIGNsYXNzIFRlc3RVcGRhdGUoQ2xpVGVzdENhc2UpOgotICAgICAgICAgICAg ICAgICAndXBkYXRlJywgJy0tdW5zdGFibGUta2FybWEnLCAnMycKLSAgICAgICAgICAgICBdKQot IAotLSAgICBAcGF0Y2goJ3N5cy5zdGRlcnInLCBuZXc9c2l4LlN0cmluZ0lPKCkpCi0rICAgIEBw YXRjaCgnc3lzLnN0ZGVycicsIG5ldz1pby5TdHJpbmdJTygpKQotICAgICBkZWYgdGVzdF9pbnZh bGlkX2J1ZyhzZWxmKToKLSAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoU3lzdGVtRXhp dCk6Ci0gICAgICAgICAgICAgc2VsZi5nZXRfY2xpKFsKLUBAIC00OTMsNyArNDkwLDcgQEAgY2xh c3MgVGVzdFJlcXVlc3RSZXBvKENsaVRlc3RDYXNlKToKLSAgICAgICAgICAgICByZXR1cm4gc2Vs Zi5uZXdfY2xpKG5hbWU9bmFtZSwgY2ZnPWNmZywgdXNlcl9jZmc9dXNlcl9jZmcpCi0gCi0gICAg IEBwYXRjaCgncmVxdWVzdHMucG9zdCcpCi0tICAgIEBwYXRjaCgnc3lzLnN0ZG91dCcsIG5ldz1T dHJpbmdJTygpKQotKyAgICBAcGF0Y2goJ3N5cy5zdGRvdXQnLCBuZXc9aW8uU3RyaW5nSU8oKSkK LSAgICAgZGVmIHRlc3RfcmVxdWVzdF9yZXBvKHNlbGYsIG1vY2tfcmVxdWVzdF9wb3N0LCBtb2Nr X2J6KToKLSAgICAgICAgICIiIlRlc3RzIGEgc3RhbmRhcmQgcmVxdWVzdC1yZXBvIGNhbGwiIiIK LSAgICAgICAgIHNlbGYubW9ja19idWcuc3VtbWFyeSA9ICgnUmV2aWV3IFJlcXVlc3Q6IHRlc3Rw a2cgLSBhIGRlc2NyaXB0aW9uJykKLUBAIC01MzEsNyArNTI4LDcgQEAgY2xhc3MgVGVzdFJlcXVl c3RSZXBvKENsaVRlc3RDYXNlKToKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0cHV0LCBl eHBlY3RlZF9vdXRwdXQpCi0gCi0gICAgIEBwYXRjaCgncmVxdWVzdHMucG9zdCcpCi0tICAgIEBw YXRjaCgnc3lzLnN0ZG91dCcsIG5ldz1TdHJpbmdJTygpKQotKyAgICBAcGF0Y2goJ3N5cy5zdGRv dXQnLCBuZXc9aW8uU3RyaW5nSU8oKSkKLSAgICAgZGVmIHRlc3RfcmVxdWVzdF9yZXBvX292ZXJy aWRlKHNlbGYsIG1vY2tfcmVxdWVzdF9wb3N0LCBtb2NrX2J6KToKLSAgICAgICAgICIiIlRlc3Rz IGEgcmVxdWVzdC1yZXBvIGNhbGwgd2l0aCBhbiBvdmVycmlkZGVuIHJlcG8gbmFtZSIiIgotICAg ICAgICAgbW9ja19iei5nZXRidWcucmV0dXJuX3ZhbHVlID0gc2VsZi5tb2NrX2J1ZwotQEAgLTU2 OSw3ICs1NjYsNyBAQCBjbGFzcyBUZXN0UmVxdWVzdFJlcG8oQ2xpVGVzdENhc2UpOgotICAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbChvdXRwdXQsIGV4cGVjdGVkX291dHB1dCkKLSAKLSAgICAgQHBh dGNoKCdyZXF1ZXN0cy5wb3N0JykKLS0gICAgQHBhdGNoKCdzeXMuc3Rkb3V0JywgbmV3PVN0cmlu Z0lPKCkpCi0rICAgIEBwYXRjaCgnc3lzLnN0ZG91dCcsIG5ldz1pby5TdHJpbmdJTygpKQotICAg ICBkZWYgdGVzdF9yZXF1ZXN0X3JlcG9fbW9kdWxlKHNlbGYsIG1vY2tfcmVxdWVzdF9wb3N0LCBt b2NrX2J6KToKLSAgICAgICAgICIiIlRlc3RzIGEgcmVxdWVzdC1yZXBvIGNhbGwgZm9yIGEgbmV3 IG1vZHVsZSIiIgotICAgICAgICAgc2VsZi5tb2NrX2J1Zy5wcm9kdWN0ID0gJ0ZlZG9yYSBNb2R1 bGVzJwotQEAgLTYwOCw3ICs2MDUsNyBAQCBjbGFzcyBUZXN0UmVxdWVzdFJlcG8oQ2xpVGVzdENh c2UpOgotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXRwdXQsIGV4cGVjdGVkX291dHB1dCkK LSAKLSAgICAgQHBhdGNoKCdyZXF1ZXN0cy5wb3N0JykKLS0gICAgQHBhdGNoKCdzeXMuc3Rkb3V0 JywgbmV3PVN0cmluZ0lPKCkpCi0rICAgIEBwYXRjaCgnc3lzLnN0ZG91dCcsIG5ldz1pby5TdHJp bmdJTygpKQotICAgICBkZWYgdGVzdF9yZXF1ZXN0X3JlcG9fY29udGFpbmVyKHNlbGYsIG1vY2tf cmVxdWVzdF9wb3N0LCBtb2NrX2J6KToKLSAgICAgICAgICIiIlRlc3RzIGEgcmVxdWVzdC1yZXBv IGNhbGwgZm9yIGEgbmV3IGNvbnRhaW5lciIiIgotICAgICAgICAgc2VsZi5tb2NrX2J1Zy5wcm9k dWN0ID0gJ0ZlZG9yYSBDb250YWluZXIgSW1hZ2VzJwotQEAgLTY1MCw3ICs2NDcsNyBAQCBjbGFz cyBUZXN0UmVxdWVzdFJlcG8oQ2xpVGVzdENhc2UpOgotICAgICAgICAgc2VsZi5hc3NlcnRFcXVh bChvdXRwdXQsIGV4cGVjdGVkX291dHB1dCkKLSAKLSAgICAgQHBhdGNoKCdyZXF1ZXN0cy5wb3N0 JykKLS0gICAgQHBhdGNoKCdzeXMuc3Rkb3V0JywgbmV3PVN0cmluZ0lPKCkpCi0rICAgIEBwYXRj aCgnc3lzLnN0ZG91dCcsIG5ldz1pby5TdHJpbmdJTygpKQotICAgICBkZWYgdGVzdF9yZXF1ZXN0 X3JlcG9fd2l0aF9vcHRpb25hbF9kZXRhaWxzKAotICAgICAgICAgICAgIHNlbGYsIG1vY2tfcmVx dWVzdF9wb3N0LCBtb2NrX2J6KToKLSAgICAgICAgICIiIlRlc3RzIGEgcmVxdWVzdC1yZXBvIGNh bGwgd2l0aCB0aGUgb3B0aW9uYWwgZGV0YWlscyIiIgotQEAgLTY5MCw3ICs2ODcsNyBAQCBjbGFz cyBUZXN0UmVxdWVzdFJlcG8oQ2xpVGVzdENhc2UpOgotICAgICAgICAgc2VsZi5hc3NlcnRFcXVh bChvdXRwdXQsIGV4cGVjdGVkX291dHB1dCkKLSAKLSAgICAgQHBhdGNoKCdyZXF1ZXN0cy5wb3N0 JykKLS0gICAgQHBhdGNoKCdzeXMuc3Rkb3V0JywgbmV3PVN0cmluZ0lPKCkpCi0rICAgIEBwYXRj aCgnc3lzLnN0ZG91dCcsIG5ldz1pby5TdHJpbmdJTygpKQotICAgICBkZWYgdGVzdF9yZXF1ZXN0 X3JlcG9fZXhjZXB0aW9uKHNlbGYsIG1vY2tfcmVxdWVzdF9wb3N0LCBtb2NrX2J6KToKLSAgICAg ICAgICIiIlRlc3RzIGEgcmVxdWVzdC1yZXBvIGNhbGwgd2l0aCB0aGUgZXhjZXB0aW9uIGZsYWci IiIKLSAgICAgICAgIG1vY2tfcnYgPSBNb2NrKCkKLUBAIC05MzUsNyArOTMyLDcgQEAgY2xhc3Mg VGVzdFJlcXVlc3RCcmFuY2goQ2xpVGVzdENhc2UpOgotICAgICBAcGF0Y2goJ3JlcXVlc3RzLmdl dCcpCi0gICAgIEBwYXRjaCgncmVxdWVzdHMucG9zdCcpCi0gICAgIEBwYXRjaCgnZmVkcGtnLmNs aS5nZXRfcmVsZWFzZV9icmFuY2hlcycpCi0tICAgIEBwYXRjaCgnc3lzLnN0ZG91dCcsIG5ldz1T dHJpbmdJTygpKQotKyAgICBAcGF0Y2goJ3N5cy5zdGRvdXQnLCBuZXc9aW8uU3RyaW5nSU8oKSkK LSAgICAgZGVmIHRlc3RfcmVxdWVzdF9icmFuY2goc2VsZiwgbW9ja19ncmIsIG1vY2tfcmVxdWVz dF9wb3N0LCBtb2NrX3JlcXVlc3RfZ2V0KToKLSAgICAgICAgICIiIlRlc3RzIHJlcXVlc3QtYnJh bmNoIiIiCi0gICAgICAgICBtb2NrX2dyYi5yZXR1cm5fdmFsdWUgPSB7J2ZlZG9yYSc6IFsnZjI1 JywgJ2YyNicsICdmMjcnXSwKLUBAIC05ODEsNyArOTc4LDcgQEAgY2xhc3MgVGVzdFJlcXVlc3RC cmFuY2goQ2xpVGVzdENhc2UpOgotICAgICBAcGF0Y2goJ3JlcXVlc3RzLmdldCcpCi0gICAgIEBw YXRjaCgncmVxdWVzdHMucG9zdCcpCi0gICAgIEBwYXRjaCgnZmVkcGtnLmNsaS5nZXRfcmVsZWFz ZV9icmFuY2hlcycpCi0tICAgIEBwYXRjaCgnc3lzLnN0ZG91dCcsIG5ldz1TdHJpbmdJTygpKQot KyAgICBAcGF0Y2goJ3N5cy5zdGRvdXQnLCBuZXc9aW8uU3RyaW5nSU8oKSkKLSAgICAgZGVmIHRl c3RfcmVxdWVzdF9leGlzdGluZ19icmFuY2goc2VsZiwgbW9ja19ncmIsIG1vY2tfcmVxdWVzdF9w b3N0LCBtb2NrX3JlcXVlc3RfZ2V0KToKLSAgICAgICAgICIiIlRlc3RzIHJlcXVlc3QtZXhpc3Rp bmctYnJhbmNoIiIiCi0gICAgICAgICBtb2NrX2dyYi5yZXR1cm5fdmFsdWUgPSB7J2ZlZG9yYSc6 IFsnZjI1JywgJ2YyNicsICdmMjcnXSwKLUBAIC0xMDA4LDcgKzEwMDUsNyBAQCBjbGFzcyBUZXN0 UmVxdWVzdEJyYW5jaChDbGlUZXN0Q2FzZSk6Ci0gICAgIEBwYXRjaCgncmVxdWVzdHMuZ2V0JykK LSAgICAgQHBhdGNoKCdyZXF1ZXN0cy5wb3N0JykKLSAgICAgQHBhdGNoKCdmZWRwa2cuY2xpLmdl dF9yZWxlYXNlX2JyYW5jaGVzJykKLS0gICAgQHBhdGNoKCdzeXMuc3Rkb3V0JywgbmV3PVN0cmlu Z0lPKCkpCi0rICAgIEBwYXRjaCgnc3lzLnN0ZG91dCcsIG5ldz1pby5TdHJpbmdJTygpKQotICAg ICBkZWYgdGVzdF9yZXF1ZXN0X2JyYW5jaF9vdmVycmlkZShzZWxmLCBtb2NrX2dyYiwgbW9ja19y ZXF1ZXN0X3Bvc3QsIG1vY2tfcmVxdWVzdF9nZXQpOgotICAgICAgICAgIiIiVGVzdHMgcmVxdWVz dC1icmFuY2ggd2l0aCBhbiBvdmVycmlkZGVuIHBhY2thZ2UgYW5kIGJyYW5jaCBuYW1lIiIiCi0g ICAgICAgICBtb2NrX2dyYi5yZXR1cm5fdmFsdWUgPSB7J2ZlZG9yYSc6IFsnZjI1JywgJ2YyNics ICdmMjcnXSwKLUBAIC0xMDUxLDcgKzEwNDgsNyBAQCBjbGFzcyBUZXN0UmVxdWVzdEJyYW5jaChD bGlUZXN0Q2FzZSk6Ci0gICAgIEBwYXRjaCgncmVxdWVzdHMuZ2V0JykKLSAgICAgQHBhdGNoKCdy ZXF1ZXN0cy5wb3N0JykKLSAgICAgQHBhdGNoKCdmZWRwa2cuY2xpLmdldF9yZWxlYXNlX2JyYW5j aGVzJykKLS0gICAgQHBhdGNoKCdzeXMuc3Rkb3V0JywgbmV3PVN0cmluZ0lPKCkpCi0rICAgIEBw YXRjaCgnc3lzLnN0ZG91dCcsIG5ldz1pby5TdHJpbmdJTygpKQotICAgICBkZWYgdGVzdF9yZXF1 ZXN0X2VwZWxfYnJhbmNoX292ZXJyaWRlKAotICAgICAgICAgc2VsZiwgbW9ja19ncmIsIG1vY2tf cmVxdWVzdF9wb3N0LCBtb2NrX3JlcXVlc3RfZ2V0Ci0gICAgICk6Ci1AQCAtMTEwMCw3ICsxMDk3 LDcgQEAgY2xhc3MgVGVzdFJlcXVlc3RCcmFuY2goQ2xpVGVzdENhc2UpOgotICAgICBAcGF0Y2go J3JlcXVlc3RzLmdldCcpCi0gICAgIEBwYXRjaCgncmVxdWVzdHMucG9zdCcpCi0gICAgIEBwYXRj aCgnZmVkcGtnLmNsaS5nZXRfcmVsZWFzZV9icmFuY2hlcycpCi0tICAgIEBwYXRjaCgnc3lzLnN0 ZG91dCcsIG5ldz1TdHJpbmdJTygpKQotKyAgICBAcGF0Y2goJ3N5cy5zdGRvdXQnLCBuZXc9aW8u U3RyaW5nSU8oKSkKLSAgICAgZGVmIHRlc3RfcmVxdWVzdF9icmFuY2hfbW9kdWxlKHNlbGYsIG1v Y2tfZ3JiLCBtb2NrX3JlcXVlc3RfcG9zdCwgbW9ja19yZXF1ZXN0X2dldCk6Ci0gICAgICAgICAi IiJUZXN0cyByZXF1ZXN0LWJyYW5jaCBmb3IgYSBuZXcgbW9kdWxlIGJyYW5jaCIiIgotICAgICAg ICAgbW9ja19ncmIucmV0dXJuX3ZhbHVlID0geydmZWRvcmEnOiBbJ2YyNScsICdmMjYnLCAnZjI3 J10sCi1AQCAtMTE3OCwxNCArMTE3NSwxNCBAQCBjbGFzcyBUZXN0UmVxdWVzdEJyYW5jaChDbGlU ZXN0Q2FzZSk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZlZG9yYS1zY20tcmVxdWVz dHMvaXNzdWUvMicpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dCwgZXhwZWN0ZWRf b3V0cHV0KQotIAotLSAgICBAcGF0Y2goJ3N5cy5zdGRvdXQnLCBuZXc9U3RyaW5nSU8oKSkKLSsg ICAgQHBhdGNoKCdzeXMuc3Rkb3V0JywgbmV3PWlvLlN0cmluZ0lPKCkpCi0gICAgIGRlZiB0ZXN0 X3JlcXVlc3RfYnJhbmNoX3dpdGhfZ2xvYmFsX29wdGlvbl9uYW1lX2FuZF9uYW1lc3BhY2Uoc2Vs Zik6Ci0gICAgICAgICBjbGlfY21kID0gWydmZWRwa2ctc3RhZ2UnLCAnLS1wYXRoJywgc2VsZi5j bG9uZWRfcmVwb19wYXRoLAotICAgICAgICAgICAgICAgICAgICAnLS1uYW1lJywgJ25ldGhhY2sn LCAnLS1uYW1lc3BhY2UnLCAnY29udGFpbmVyJywKLSAgICAgICAgICAgICAgICAgICAgJ3JlcXVl c3QtYnJhbmNoJywgJ2YyNyddCi0gICAgICAgICBzZWxmLmFzc2VydF9yZXF1ZXN0X2JyYW5jaF9j b250YWluZXIoY2xpX2NtZCkKLSAKLS0gICAgQHBhdGNoKCdzeXMuc3Rkb3V0JywgbmV3PVN0cmlu Z0lPKCkpCi0rICAgIEBwYXRjaCgnc3lzLnN0ZG91dCcsIG5ldz1pby5TdHJpbmdJTygpKQotICAg ICBkZWYgdGVzdF9yZXF1ZXN0X2JyYW5jaF93aXRoX2l0c19vd25fb3B0aW9uX3JlcG9fYW5kX25h bWVzcGFjZShzZWxmKToKLSAgICAgICAgIGNsaV9jbWQgPSBbJ2ZlZHBrZy1zdGFnZScsICctLXBh dGgnLCBzZWxmLmNsb25lZF9yZXBvX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICdyZXF1ZXN0 LWJyYW5jaCcsCi1AQCAtMTE5Niw3ICsxMTkzLDcgQEAgY2xhc3MgVGVzdFJlcXVlc3RCcmFuY2go Q2xpVGVzdENhc2UpOgotICAgICBAcGF0Y2goJ3JlcXVlc3RzLnBvc3QnKQotICAgICBAcGF0Y2go J2ZlZHBrZy5jbGkuZ2V0X3JlbGVhc2VfYnJhbmNoZXMnKQotICAgICBAcGF0Y2goJ2ZlZHBrZy5j bGkudmVyaWZ5X3NscycpCi0tICAgIEBwYXRjaCgnc3lzLnN0ZG91dCcsIG5ldz1TdHJpbmdJTygp KQotKyAgICBAcGF0Y2goJ3N5cy5zdGRvdXQnLCBuZXc9aW8uU3RyaW5nSU8oKSkKLSAgICAgZGVm IHRlc3RfcmVxdWVzdF9icmFuY2hfc2xzKHNlbGYsIG1vY2tfdmVyaWZ5X3NscywgbW9ja19ncmIs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2NrX3JlcXVlc3RfcG9zdCwgbW9j a19yZXF1ZXN0X2dldCk6Ci0gICAgICAgICAiIiJUZXN0cyByZXF1ZXN0LWJyYW5jaCB3aXRoIHNl cnZpY2UgbGV2ZWxzIiIiCi1AQCAtMTI5OSw3ICsxMjk2LDcgQEAgY2xhc3MgVGVzdFJlcXVlc3RC cmFuY2goQ2xpVGVzdENhc2UpOgotICAgICBAcGF0Y2goJ3JlcXVlc3RzLmdldCcpCi0gICAgIEBw YXRjaCgncmVxdWVzdHMucG9zdCcpCi0gICAgIEBwYXRjaCgnZmVkcGtnLmNsaS5nZXRfcmVsZWFz ZV9icmFuY2hlcycpCi0tICAgIEBwYXRjaCgnc3lzLnN0ZG91dCcsIG5ldz1TdHJpbmdJTygpKQot KyAgICBAcGF0Y2goJ3N5cy5zdGRvdXQnLCBuZXc9aW8uU3RyaW5nSU8oKSkKLSAgICAgZGVmIHRl c3RfcmVxdWVzdF9icmFuY2hfYWxsX3JlbGVhc2VzKHNlbGYsIG1vY2tfZ3JiLCBtb2NrX3JlcXVl c3RfcG9zdCwgbW9ja19yZXF1ZXN0X2dldCk6Ci0gICAgICAgICAiIiJUZXN0cyByZXF1ZXN0LWJy YW5jaCB3aXRoIHRoZSAnLS1hbGwtcmVsZWFzZXMnIG9wdGlvbiAiIiIKLSAgICAgICAgIG1vY2tf Z3JiLnJldHVybl92YWx1ZSA9IHsnZmVkb3JhJzogWydmMjUnLCAnZjI2JywgJ2YyNyddLAotQEAg LTE0ODksMTMgKzE0ODYsMTMgQEAgaHR0cHM6Ly9wYWd1cmUuc3RnLmV4YW1wbGUuY29tL3JlbGVu Zy9mZWRvcmEtc2NtLXJlcXVlc3RzL2lzc3VlLzMiIiIKLSAgICAgICAgICAgICAnc3VwcG9ydGVk IGFyY2hlcywgdGhlcmVmb3JlLCBpdCBjYW5ub3QgYmUgaW4gRVBFTC4gSWYgdGhpcyBpcyBhICcK LSAgICAgICAgICAgICAnbWlzdGFrZSBvciB5b3UgaGF2ZSBhbiBleGNlcHRpb24sIHBsZWFzZSBj b250YWN0IHRoZSBSZWxlYXNlICcKLSAgICAgICAgICAgICAnRW5naW5lZXJpbmcgdGVhbS4nKQot LSAgICAgICAgd2l0aCBzaXguYXNzZXJ0UmFpc2VzUmVnZXgoc2VsZiwgcnBrZ0Vycm9yLCBleHBl Y3RlZF9lcnJvcik6Ci0rICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgocnBrZ0Vy cm9yLCBleHBlY3RlZF9lcnJvcik6Ci0gICAgICAgICAgICAgY2xpLnJlcXVlc3RfYnJhbmNoKCkK LSAKLSAgICAgQHBhdGNoKCdyZXF1ZXN0cy5nZXQnKQotICAgICBAcGF0Y2goJ3JlcXVlc3RzLnBv c3QnKQotICAgICBAcGF0Y2goJ2ZlZHBrZy5jbGkuZ2V0X3JlbGVhc2VfYnJhbmNoZXMnKQotLSAg ICBAcGF0Y2goJ3N5cy5zdGRvdXQnLCBuZXc9U3RyaW5nSU8oKSkKLSsgICAgQHBhdGNoKCdzeXMu c3Rkb3V0JywgbmV3PWlvLlN0cmluZ0lPKCkpCi0gICAgIGRlZiB0ZXN0X3JlcXVlc3Rfd2l0aF9y ZXBvX29wdGlvbihzZWxmLCBtb2NrX2dyYiwgbW9ja19yZXF1ZXN0X3Bvc3QsIG1vY2tfcmVxdWVz dF9nZXQpOgotICAgICAgICAgIiIiVGVzdCByZXF1ZXN0IGJyYW5jaCB3aXRoIG9wdGlvbiAtLXJl cG8iIiIKLSAgICAgICAgIG1vY2tfZ3JiLnJldHVybl92YWx1ZSA9IHsnZmVkb3JhJzogWydmMjUn LCAnZjI2JywgJ2YyNyddLAotQEAgLTE1NTAsNyArMTU0Nyw3IEBAIGNsYXNzIFRlc3RSZXF1ZXN0 VGVzdHNSZXBvKENsaVRlc3RDYXNlKToKLSAKLSAgICAgQHBhdGNoKCdyZXF1ZXN0cy5wb3N0JykK LSAgICAgQHBhdGNoKCdyZXF1ZXN0cy5nZXQnKQotLSAgICBAcGF0Y2goJ3N5cy5zdGRvdXQnLCBu ZXc9U3RyaW5nSU8oKSkKLSsgICAgQHBhdGNoKCdzeXMuc3Rkb3V0JywgbmV3PWlvLlN0cmluZ0lP KCkpCi0gICAgIGRlZiB0ZXN0X3JlcXVlc3RfdGVzdHNfcmVwbyhzZWxmLCBtb2NrX3JlcXVlc3Rf Z2V0LCBtb2NrX3JlcXVlc3RfcG9zdCk6Ci0gICAgICAgICAiIiJUZXN0cyByZXF1ZXN0LXRlc3Rz LXJlcG8iIiIKLSAKLUBAIC0xNjI2LDggKzE2MjMsOCBAQCB0cnk6Ci0gICAgICAgICBkZWYgdGVz dF9ub18yX3hfdmVyc2lvbl9pbnN0YWxsZWQoc2VsZiwgZGlzdHJpYnV0aW9uKToKLSAgICAgICAg ICAgICBkaXN0cmlidXRpb24uc2lkZV9lZmZlY3QgPSBpbXBvcnRsaWIubWV0YWRhdGEuUGFja2Fn ZU5vdEZvdW5kRXJyb3IKLSAKLS0gICAgICAgICAgICBzaXguYXNzZXJ0UmFpc2VzUmVnZXgoCi0t ICAgICAgICAgICAgICAgIHNlbGYsIHJwa2dFcnJvciwgcidib2RoaS1jbGllbnQgPCAyXC4wIGlz IG5vdCBzdXBwb3J0ZWRcLicsCi0rICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleCgK LSsgICAgICAgICAgICAgICAgcnBrZ0Vycm9yLCByJ2JvZGhpLWNsaWVudCA8IDJcLjAgaXMgbm90 IHN1cHBvcnRlZFwuJywKLSAgICAgICAgICAgICAgICAgY2hlY2tfYm9kaGlfdmVyc2lvbikKLSAK LSBleGNlcHQgSW1wb3J0RXJyb3I6Ci1AQCAtMTY0MCw4ICsxNjM3LDggQEAgZXhjZXB0IEltcG9y dEVycm9yOgotICAgICAgICAgZGVmIHRlc3Rfbm9fMl94X3ZlcnNpb25faW5zdGFsbGVkKHNlbGYs IGdldF9kaXN0cmlidXRpb24pOgotICAgICAgICAgICAgIGdldF9kaXN0cmlidXRpb24uc2lkZV9l ZmZlY3QgPSBwa2dfcmVzb3VyY2VzLkRpc3RyaWJ1dGlvbk5vdEZvdW5kCi0gCi0tICAgICAgICAg ICAgc2l4LmFzc2VydFJhaXNlc1JlZ2V4KAotLSAgICAgICAgICAgICAgICBzZWxmLCBycGtnRXJy b3IsIHInYm9kaGktY2xpZW50IDwgMlwuMCBpcyBub3Qgc3VwcG9ydGVkXC4nLAotKyAgICAgICAg ICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCi0rICAgICAgICAgICAgICAgIHJwa2dFcnJvciwg cidib2RoaS1jbGllbnQgPCAyXC4wIGlzIG5vdCBzdXBwb3J0ZWRcLicsCi0gICAgICAgICAgICAg ICAgIGNoZWNrX2JvZGhpX3ZlcnNpb24pCi0gCi0gCi1AQCAtMTY5Myw4ICsxNjkwLDggQEAgY2xh c3MgVGVzdEJvZGhpT3ZlcnJpZGUoQ2xpVGVzdENhc2UpOgotIAotICAgICAgICAgd2l0aCBwYXRj aCgnc3lzLmFyZ3YnLCBuZXc9Y2xpX2NtZCk6Ci0gICAgICAgICAgICAgY2xpID0gc2VsZi5uZXdf Y2xpKCkKLS0gICAgICAgICAgICBzaXguYXNzZXJ0UmFpc2VzUmVnZXgoCi0tICAgICAgICAgICAg ICAgIHNlbGYsIHJwa2dFcnJvciwgJ0J1aWxkIHswfSBkb2VzIG5vdCBleGlzdCcuZm9ybWF0KGJ1 aWxkX252ciksCi0rICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleCgKLSsgICAgICAg ICAgICAgICAgcnBrZ0Vycm9yLCAnQnVpbGQgezB9IGRvZXMgbm90IGV4aXN0Jy5mb3JtYXQoYnVp bGRfbnZyKSwKLSAgICAgICAgICAgICAgICAgY2xpLmNyZWF0ZV9idWlsZHJvb3Rfb3ZlcnJpZGUp Ci0gCi0gICAgICAgICBzZWxmLmtvamlzZXNzaW9uLmdldEJ1aWxkLmFzc2VydF9jYWxsZWRfb25j ZV93aXRoKGJ1aWxkX252cikKLUBAIC0xODM2LDcgKzE4MzMsNyBAQCBjbGFzcyBUZXN0Qm9kaGlP dmVycmlkZShDbGlUZXN0Q2FzZSk6Ci0gCi0gICAgICAgICBmb3IgY21kLCBleHBlY3RlZF9vdXRw dXQgaW4gY2xpX2NtZHM6Ci0gICAgICAgICAgICAgd2l0aCBwYXRjaCgnc3lzLmFyZ3YnLCBuZXc9 Y21kKToKLS0gICAgICAgICAgICAgICAgd2l0aCBwYXRjaCgnc3lzLnN0ZGVycicsIG5ldz1TdHJp bmdJTygpKToKLSsgICAgICAgICAgICAgICAgd2l0aCBwYXRjaCgnc3lzLnN0ZGVycicsIG5ldz1p by5TdHJpbmdJTygpKToKLSAgICAgICAgICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlz ZXMoU3lzdGVtRXhpdCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5uZXdfY2xpKCkK LSAgICAgICAgICAgICAgICAgICAgIG91dHB1dCA9IHN5cy5zdGRlcnIuZ2V0dmFsdWUoKQotQEAg LTE4ODksOCArMTg4Niw4IEBAIGNsYXNzIFRlc3RCb2RoaU92ZXJyaWRlRXh0ZW5kKENsaVRlc3RD YXNlKToKLSAKLSAgICAgICAgIHdpdGggcGF0Y2goJ3N5cy5hcmd2JywgbmV3PWNsaV9jbWQpOgot ICAgICAgICAgICAgIGNsaSA9IHNlbGYubmV3X2NsaSgpCi0tICAgICAgICAgICAgc2l4LmFzc2Vy dFJhaXNlc1JlZ2V4KAotLSAgICAgICAgICAgICAgICBzZWxmLCBycGtnRXJyb3IsICdCdWlsZCBz b21lcGtnLTEuNTQtMi5mYzI4IGRvZXMgbm90IGV4aXN0LicsCi0rICAgICAgICAgICAgc2VsZi5h c3NlcnRSYWlzZXNSZWdleCgKLSsgICAgICAgICAgICAgICAgcnBrZ0Vycm9yLCAnQnVpbGQgc29t ZXBrZy0xLjU0LTIuZmMyOCBkb2VzIG5vdCBleGlzdC4nLAotICAgICAgICAgICAgICAgICBjbGku ZXh0ZW5kX2J1aWxkcm9vdF9vdmVycmlkZSkKLSAKLSAgICAgQHBhdGNoKCdmZWRwa2cuQm9kaGlD bGllbnQubGlzdF9vdmVycmlkZXMnKQotQEAgLTIxMDUsOCArMjEwMiw4IEBAIGNsYXNzIFRlc3RC b2RoaU92ZXJyaWRlRXh0ZW5kKENsaVRlc3RDYXNlKToKLSAKLSAgICAgICAgIHdpdGggcGF0Y2go J3N5cy5hcmd2JywgbmV3PWNsaV9jbWQpOgotICAgICAgICAgICAgIGNsaSA9IHNlbGYubmV3X2Ns aSgpCi0tICAgICAgICAgICAgc2l4LmFzc2VydFJhaXNlc1JlZ2V4KHNlbGYsIHJwa2dFcnJvciwg JycsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaS5leHRlbmRfYnVpbGRy b290X292ZXJyaWRlKQotKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgocnBrZ0Vy cm9yLCAnJywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaS5leHRlbmRf YnVpbGRyb290X292ZXJyaWRlKQotIAotICAgICBAZnJlZXplX3RpbWUoJzIwMTgtMDctMjInKQot ICAgICBAcGF0Y2goJ2ZlZHBrZy5Cb2RoaUNsaWVudC5saXN0X292ZXJyaWRlcycpCi1AQCAtMjEz NCw4ICsyMTMxLDggQEAgY2xhc3MgVGVzdEJvZGhpT3ZlcnJpZGVFeHRlbmQoQ2xpVGVzdENhc2Up OgotICAgICAgICAgXQotICAgICAgICAgd2l0aCBwYXRjaCgnc3lzLmFyZ3YnLCBuZXc9Y2xpX2Nt ZCk6Ci0gICAgICAgICAgICAgY2xpID0gc2VsZi5uZXdfY2xpKCkKLS0gICAgICAgICAgICBzaXgu YXNzZXJ0UmFpc2VzUmVnZXgoCi0tICAgICAgICAgICAgICAgIHNlbGYsIHJwa2dFcnJvciwKLSsg ICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAotKyAgICAgICAgICAgICAgICBycGtn RXJyb3IsCi0gICAgICAgICAgICAgICAgICdzcGVjaWZpZWQgZXhwaXJhdGlvbiBkYXRlIC4rIHNo b3VsZCBiZSBmdXR1cmUgZGF0ZScsCi0gICAgICAgICAgICAgICAgIGNsaS5leHRlbmRfYnVpbGRy b290X292ZXJyaWRlKQotIAotQEAgLTIxNDUsNyArMjE0Miw3IEBAIGNsYXNzIFRlc3RCb2RoaU92 ZXJyaWRlRXh0ZW5kKENsaVRlc3RDYXNlKToKLSAgICAgICAgICAgICAnb3ZlcnJpZGUnLCAnZXh0 ZW5kJywgJzIwMTkvMDEvMTAnLCAncnBrZy0xLjEwLTEuZmMyOCcKLSAgICAgICAgIF0KLSAgICAg ICAgIHdpdGggcGF0Y2goJ3N5cy5hcmd2JywgbmV3PWNsaV9jbWQpOgotLSAgICAgICAgICAgIHdp dGggcGF0Y2goJ3N5cy5zdGRlcnInLCBuZXc9U3RyaW5nSU8oKSk6Ci0rICAgICAgICAgICAgd2l0 aCBwYXRjaCgnc3lzLnN0ZGVycicsIG5ldz1pby5TdHJpbmdJTygpKToKLSAgICAgICAgICAgICAg ICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhTeXN0ZW1FeGl0KToKLSAgICAgICAgICAgICAgICAg ICAgIHNlbGYubmV3X2NsaSgpCi0gICAgICAgICAgICAgICAgIG91dHB1dCA9IHN5cy5zdGRlcnIu Z2V0dmFsdWUoKQotQEAgLTIxNzMsNyArMjE3MCw3IEBAIGNsYXNzIFRlc3RSZWFkUmVsZWFzZXNG cm9tTG9jYWxDb25maWcoQ2xpVGVzdENhc2UpOgotICAgICAgICAgZXJyb3JfbXNnID0gJ2dpdmVu IHBhdGggXCd7MH1cJyBkb2VzblwndCBleGlzdCcuZm9ybWF0KHNlbGYuY2xvbmVkX3JlcG9fcGF0 aCkKLSAgICAgICAgIHZhbGlkYXRlX3BhdGguc2lkZV9lZmZlY3QgPSBhcmdwYXJzZS5Bcmd1bWVu dFR5cGVFcnJvcihlcnJvcl9tc2cpCi0gICAgICAgICB3aXRoIHBhdGNoKCdzeXMuYXJndicsIG5l dz1zZWxmLmZha2VfY21kKToKLS0gICAgICAgICAgICB3aXRoIHBhdGNoKCdzeXMuc3RkZXJyJywg bmV3PXNpeC5TdHJpbmdJTygpKToKLSsgICAgICAgICAgICB3aXRoIHBhdGNoKCdzeXMuc3RkZXJy JywgbmV3PWlvLlN0cmluZ0lPKCkpOgotICAgICAgICAgICAgICAgICAjIGFyZ3BhcnNlLkFyZ3Vt ZW50VHlwZUVycm9yIHR1cm5zIHRvIFN5c3RlbUV4aXQKLSAgICAgICAgICAgICAgICAgd2l0aCBz ZWxmLmFzc2VydFJhaXNlcyhTeXN0ZW1FeGl0KToKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYu bmV3X2NsaSgpCi1AQCAtMjE5Nyw4ICsyMTk0LDggQEAgY2xhc3MgVGVzdFJlYWRSZWxlYXNlc0Zy b21Mb2NhbENvbmZpZyhDbGlUZXN0Q2FzZSk6Ci0gICAgICAgICB3aXRoIHBhdGNoKCdmZWRwa2cu Y2xpLmNvbmZpZ3BhcnNlci5Db25maWdQYXJzZXIucmVhZCcpIGFzIHJlYWQ6Ci0gICAgICAgICAg ICAgcmVhZC5yZXR1cm5fdmFsdWUgPSBbXQotIAotLSAgICAgICAgICAgIHNpeC5hc3NlcnRSYWlz ZXNSZWdleCgKLS0gICAgICAgICAgICAgICAgc2VsZiwgcnBrZ0Vycm9yLCAnLisgbm90IGFjY2Vz c2libGUnLAotKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCi0rICAgICAgICAg ICAgICAgIHJwa2dFcnJvciwgJy4rIG5vdCBhY2Nlc3NpYmxlJywKLSAgICAgICAgICAgICAgICAg Y2xpLnJlYWRfcmVsZWFzZXNfZnJvbV9sb2NhbF9jb25maWcsIHNlbGYuYWN0aXZlX3JlbGVhc2Vz KQotIAotICAgICBkZWYgdGVzdF9nZXRfZXhwYW5kZWRfcmVsZWFzZXMoc2VsZik6Ci1AQCAtMjM0 NCw3ICsyMzQxLDcgQEAgY2xhc3MgVGVzdFJlbGVhc2VzSW5mbyhDbGlUZXN0Q2FzZSk6Ci0gICAg IGRlZiBhc3NlcnRfb3V0cHV0X3JlbGVhc2VzKHNlbGYsIGV4cGVjdGVkX291dHB1dCwgb3B0aW9u PVtdKToKLSAgICAgICAgIHdpdGggcGF0Y2goJ3N5cy5hcmd2JywgWydmZWRwa2cnLCAncmVsZWFz ZXMtaW5mbyddICsgb3B0aW9uKToKLSAgICAgICAgICAgICBjbGkgPSBzZWxmLm5ld19jbGkoKQot LSAgICAgICAgICAgIHdpdGggcGF0Y2goJ3N5cy5zdGRvdXQnLCBuZXc9c2l4LlN0cmluZ0lPKCkp OgotKyAgICAgICAgICAgIHdpdGggcGF0Y2goJ3N5cy5zdGRvdXQnLCBuZXc9aW8uU3RyaW5nSU8o KSk6Ci0gICAgICAgICAgICAgICAgIGNsaS5zaG93X3JlbGVhc2VzX2luZm8oKQotICAgICAgICAg ICAgICAgICBvdXRwdXQgPSBzeXMuc3Rkb3V0LmdldHZhbHVlKCkuc3RyaXAoKQotICAgICAgICAg ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX291dHB1dCwgb3V0cHV0KQotZGlmZiAt LWdpdCBhL3Rlc3QvdGVzdF9jb21tYW5kcy5weSBiL3Rlc3QvdGVzdF9jb21tYW5kcy5weQotaW5k ZXggYTViNWVkNS4uZGY2YTJhYyAxMDA2NDQKLS0tLSBhL3Rlc3QvdGVzdF9jb21tYW5kcy5weQot KysrIGIvdGVzdC90ZXN0X2NvbW1hbmRzLnB5Ci1AQCAtOSw4ICs5LDcgQEAKLSAjIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uICBTZWUgaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2dwbC5o dG1sIGZvcgotICMgdGhlIGZ1bGwgdGV4dCBvZiB0aGUgbGljZW5zZS4KLSAKLS1pbXBvcnQgc2l4 Ci0tZnJvbSBzaXgubW92ZXMgaW1wb3J0IGJ1aWx0aW5zCi0raW1wb3J0IGJ1aWx0aW5zCi0gCi0g ZnJvbSBweXJwa2cuZXJyb3JzIGltcG9ydCBycGtnRXJyb3IKLSBmcm9tIHV0aWxzIGltcG9ydCBD b21tYW5kVGVzdENhc2UKLUBAIC00MTEsOCArNDEwLDggQEAgY2xhc3MgVGVzdEZpbmRSYXdoaWRl QnJhbmNoKENvbW1hbmRUZXN0Q2FzZSk6Ci0gICAgICAgICAjIEFzIHRoZSBjb2RlIHNob3dzLCBh bnkgZXJyb3Igd2lsbCBiZSBjYXVnaHQKLSAgICAgICAgIGtvamlfc2Vzc2lvbi5nZXRCdWlsZFRh cmdldC5zaWRlX2VmZmVjdCA9IFZhbHVlRXJyb3IKLSAKLS0gICAgICAgIHNpeC5hc3NlcnRSYWlz ZXNSZWdleCgKLS0gICAgICAgICAgICBzZWxmLCBycGtnRXJyb3IsICdVbmFibGUgdG8gZmluZCBy YXdoaWRlIHRhcmdldCcsCi0rICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAotKyAgICAg ICAgICAgIHJwa2dFcnJvciwgJ1VuYWJsZSB0byBmaW5kIHJhd2hpZGUgdGFyZ2V0JywKLSAgICAg ICAgICAgICBzZWxmLmNtZC5fZmluZHJhd2hpZGVicmFuY2gpCi0gCi0gCi1kaWZmIC0tZ2l0IGEv dGVzdC90ZXN0X3JldGlyZS5weSBiL3Rlc3QvdGVzdF9yZXRpcmUucHkKLWluZGV4IDk4ZDczODUu LjliMTBjYWYgMTAwNjQ0Ci0tLS0gYS90ZXN0L3Rlc3RfcmV0aXJlLnB5Ci0rKysgYi90ZXN0L3Rl c3RfcmV0aXJlLnB5Ci1AQCAtMSwxMyArMSwxMiBAQAotICMgLSotIGNvZGluZzogdXRmLTggLSot Ci0gCi0raW1wb3J0IGNvbmZpZ3BhcnNlcgotIGltcG9ydCBvcwotIGltcG9ydCBzaHV0aWwKLSBp bXBvcnQgc3VicHJvY2VzcwotIGltcG9ydCB0ZW1wZmlsZQotIAotLWltcG9ydCBzaXgKLSBmcm9t IHB5cnBrZy5lcnJvcnMgaW1wb3J0IHJwa2dFcnJvcgotLWZyb20gc2l4Lm1vdmVzIGltcG9ydCBj b25maWdwYXJzZXIKLSBmcm9tIHV0aWxzIGltcG9ydCB1bml0dGVzdAotIAotIGZyb20gZmVkcGtn LmNsaSBpbXBvcnQgZmVkcGtnQ2xpZW50Ci1AQCAtMTMwLDggKzEyOSw3IEBAIGNsYXNzIFJldGly ZVRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAKLSAgICAgICAgIGFyZ3MgPSBbJ2ZlZHBr ZycsICctLXJlbGVhc2U9cmF3aGlkZScsICdkaXNhYmxlLW1vbml0b3JpbmcnXQotICAgICAgICAg Y2xpZW50ID0gc2VsZi5fZmFrZV9jbGllbnQoYXJncykKLS0gICAgICAgIHNpeC5hc3NlcnRSYWlz ZXNSZWdleCgKLS0gICAgICAgICAgICBzZWxmLAotKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNS ZWdleCgKLSAgICAgICAgICAgICBycGtnRXJyb3IsCi0gICAgICAgICAgICAgIlRoZSBmb2xsb3dp bmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUgZGlzYWJsaW5nIG1vbml0b3Jpbmc6IEludmFsaWQgb3Ig ZXhwaXJlZCB0b2tlblxuIgotICAgICAgICAgICAgICJGb3IgaW52YWxpZCBvciBleHBpcmVkIHRv a2VucyBwbGVhc2Ugc2V0IGEgbmV3IHRva2VuIiwKLWRpZmYgLS1naXQgYS90ZXN0L3Rlc3RfdXRp bHMucHkgYi90ZXN0L3Rlc3RfdXRpbHMucHkKLWluZGV4IDdhMzg3NDAuLjA0ZWEyMmEgMTAwNjQ0 Ci0tLS0gYS90ZXN0L3Rlc3RfdXRpbHMucHkKLSsrKyBiL3Rlc3QvdGVzdF91dGlscy5weQotQEAg LTEwLDExICsxMCwxMCBAQAotICMgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIFNlZSBodHRw Oi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bWwgZm9yCi0gIyB0aGUgZnVsbCB0ZXh0IG9m IHRoZSBsaWNlbnNlLgotIAotK2Zyb20gY29uZmlncGFyc2VyIGltcG9ydCBOb09wdGlvbkVycm9y LCBOb1NlY3Rpb25FcnJvcgotIGltcG9ydCBqc29uCi0gCi0taW1wb3J0IHNpeAotIGZyb20gcmVx dWVzdHMuZXhjZXB0aW9ucyBpbXBvcnQgQ29ubmVjdGlvbkVycm9yCi0tZnJvbSBzaXgubW92ZXMu Y29uZmlncGFyc2VyIGltcG9ydCBOb09wdGlvbkVycm9yLCBOb1NlY3Rpb25FcnJvcgotIAotIGZy b20gZmVkcGtnIGltcG9ydCB1dGlscwotIGZyb20gZnJlZXplZ3VuIGltcG9ydCBmcmVlemVfdGlt ZQotQEAgLTEyMywxNSArMTIyLDE1IEBAIGNsYXNzIFRlc3RBc3NlcnROZXdUZXN0c1JlcG8odW5p dHRlc3QuVGVzdENhc2UpOgotICAgICBkZWYgdGVzdF9zaG91bGRfcmFpc2VfZXJyb3JfaWZfY29u bmVjdGlvbl9lcnJvcl90b19kaXN0Z2l0KHNlbGYsIGdldCk6Ci0gICAgICAgICBnZXQuc2lkZV9l ZmZlY3QgPSBDb25uZWN0aW9uRXJyb3IKLSAKLS0gICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdl eCgKLS0gICAgICAgICAgICBzZWxmLCBycGtnRXJyb3IsICdUaGUgZXJyb3Igd2FzJywKLSsgICAg ICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCi0rICAgICAgICAgICAgcnBrZ0Vycm9yLCAnVGhl IGVycm9yIHdhcycsCi0gICAgICAgICAgICAgdXRpbHMuYXNzZXJ0X25ld190ZXN0c19yZXBvLCAn dGVzdHJlcG8nLCAnaHR0cDovL2Rpc3RnaXQvJykKLSAKLSAgICAgZGVmIHRlc3RfdGVzdF9yZXBv X2V4aXN0cyhzZWxmLCBnZXQpOgotICAgICAgICAgZ2V0LnJldHVybl92YWx1ZSA9IE1vY2sob2s9 VHJ1ZSkKLSAKLS0gICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleCgKLS0gICAgICAgICAgICBz ZWxmLCBycGtnRXJyb3IsICdSZXBvc2l0b3J5IC4rIGFscmVhZHkgZXhpc3RzJywKLSsgICAgICAg IHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCi0rICAgICAgICAgICAgcnBrZ0Vycm9yLCAnUmVwb3Np dG9yeSAuKyBhbHJlYWR5IGV4aXN0cycsCi0gICAgICAgICAgICAgdXRpbHMuYXNzZXJ0X25ld190 ZXN0c19yZXBvLCAndGVzdHJlcG8nLCAnaHR0cDovL2Rpc3RnaXQvJykKLSAKLSAgICAgZGVmIHRl c3Rfa2VlcF9xdWlldF9pZl9yZXBvX25vdF9leGlzdChzZWxmLCBnZXQpOgotQEAgLTE1NSwyMyAr MTU0LDIxIEBAIGNsYXNzIFRlc3RHZXRQYWd1cmVUb2tlbih1bml0dGVzdC5UZXN0Q2FzZSk6Ci0g ICAgICAgICBjb25maWcgPSBNb2NrKCkKLSAKLSAgICAgICAgIGNvbmZpZy5nZXQuc2lkZV9lZmZl Y3QgPSBOb09wdGlvbkVycm9yKCd0b2tlbicsICdmZWRwa2cucGFndXJlJykKLS0gICAgICAgIHNp eC5hc3NlcnRSYWlzZXNSZWdleChzZWxmLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJwa2dFcnJvciwgIk1pc3Npbmcgb3B0aW9uICd0b2tlbicgaW4gdGhlIHNlY3Rpb24gJ2ZlZHBr Zy5wYWd1cmUnIiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlscy5jb25maWdf Z2V0X3NhZmVseSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcsCi0tICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZlZHBrZy5wYWd1cmUnLCAndG9rZW4nKQotKyAg ICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChycGtnRXJyb3IsICJNaXNzaW5nIG9wdGlvbiAn dG9rZW4nIGluIHRoZSBzZWN0aW9uICdmZWRwa2cucGFndXJlJyIsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHV0aWxzLmNvbmZpZ19nZXRfc2FmZWx5LAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25maWcsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdmZWRwa2cucGFndXJlJywgJ3Rva2VuJykKLSAKLSAgICAgICAgIGNvbmZpZy5nZXQuc2lkZV9l ZmZlY3QgPSBOb1NlY3Rpb25FcnJvcignZmVkcGtnLnBhZ3VyZScpCi0tICAgICAgICBzaXguYXNz ZXJ0UmFpc2VzUmVnZXgoc2VsZiwgcnBrZ0Vycm9yLCAiTWlzc2luZyBzZWN0aW9uICdmZWRwa2cu cGFndXJlJyIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbHMuY29uZmlnX2dl dF9zYWZlbHksIGNvbmZpZywgJ2ZlZHBrZy5wYWd1cmUnLCAndG9rZW4nKQotKyAgICAgICAgc2Vs Zi5hc3NlcnRSYWlzZXNSZWdleChycGtnRXJyb3IsICJNaXNzaW5nIHNlY3Rpb24gJ2ZlZHBrZy5w YWd1cmUnIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbHMuY29uZmlnX2dl dF9zYWZlbHksIGNvbmZpZywgJ2ZlZHBrZy5wYWd1cmUnLCAndG9rZW4nKQotIAotIAotIGNsYXNz IFRlc3RWZXJpZnlTTFModW5pdHRlc3QuVGVzdENhc2UpOgotICAgICAiIiJUZXN0IHZlcmlmeV9z bHMiIiIKLSAKLSAgICAgZGVmIHRlc3Rfc2xfZGF0ZV9mb3JtYXRfaXNfaW52YWxpZChzZWxmKToK LS0gICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleCgKLS0gICAgICAgICAgICBzZWxmLAotKyAg ICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleCgKLSAgICAgICAgICAgICBycGtnRXJyb3IsCi0g ICAgICAgICAgICAgIlRoZSBFT0wgZGF0ZSAuKyBpcyBpbiBhbiBpbnZhbGlkIGZvcm1hdCIsCi0g ICAgICAgICAgICAgdXRpbHMudmVyaWZ5X3NscywKLUBAIC0yMzMsMjIgKzIzMCwyMiBAQCBjbGFz cyBUZXN0QXNzZXJ0VmFsaWRFUEVMUGFja2FnZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgIGRl ZiB0ZXN0X3JhaXNlX2Vycm9yX2lmX2Nvbm5lY3Rpb25fZXJyb3Ioc2VsZiwgZ2V0KToKLSAgICAg ICAgIGdldC5zaWRlX2VmZmVjdCA9IENvbm5lY3Rpb25FcnJvcgotIAotLSAgICAgICAgc2l4LmFz c2VydFJhaXNlc1JlZ2V4KAotLSAgICAgICAgICAgIHNlbGYsIHJwa2dFcnJvciwgJ1RoZSBlcnJv ciB3YXM6JywKLSsgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCi0rICAgICAgICAgICAg cnBrZ0Vycm9yLCAnVGhlIGVycm9yIHdhczonLAotICAgICAgICAgICAgIHV0aWxzLmFzc2VydF92 YWxpZF9lcGVsX3BhY2thZ2UsICdwa2cnLCAnZXBlbDcnKQotIAotICAgICBkZWYgdGVzdF9yYWlz ZV9lcnJvcl9pZl9HRVRfcmVzcG9uc2Vfbm90X29rKHNlbGYsIGdldCk6Ci0gICAgICAgICBnZXQu cmV0dXJuX3ZhbHVlID0gTW9jayhvaz1GYWxzZSwgc3RhdHVzX2NvZGU9NDA0KQotIAotLSAgICAg ICAgc2l4LmFzc2VydFJhaXNlc1JlZ2V4KAotLSAgICAgICAgICAgIHNlbGYsIHJwa2dFcnJvciwg J1RoZSBzdGF0dXMgY29kZSB3YXM6IDQwNCcsCi0rICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1Jl Z2V4KAotKyAgICAgICAgICAgIHJwa2dFcnJvciwgJ1RoZSBzdGF0dXMgY29kZSB3YXM6IDQwNCcs Ci0gICAgICAgICAgICAgdXRpbHMuYXNzZXJ0X3ZhbGlkX2VwZWxfcGFja2FnZSwgJ3BrZycsICdl cGVsNycpCi0gCi0gICAgIGRlZiB0ZXN0X2NvcnJlY3RfdXJsX2VwZWw3KHNlbGYsIGdldCk6Ci0g ICAgICAgICBnZXQucmV0dXJuX3ZhbHVlID0gTW9jayhvaz1GYWxzZSwgc3RhdHVzX2NvZGU9NDA0 KQotIAotLSAgICAgICAgc2l4LmFzc2VydFJhaXNlc1JlZ2V4KAotLSAgICAgICAgICAgIHNlbGYs IHJwa2dFcnJvciwgJ1RoZSBzdGF0dXMgY29kZSB3YXM6IDQwNCcsCi0rICAgICAgICBzZWxmLmFz c2VydFJhaXNlc1JlZ2V4KAotKyAgICAgICAgICAgIHJwa2dFcnJvciwgJ1RoZSBzdGF0dXMgY29k ZSB3YXM6IDQwNCcsCi0gICAgICAgICAgICAgdXRpbHMuYXNzZXJ0X3ZhbGlkX2VwZWxfcGFja2Fn ZSwgJ3BrZycsICdlcGVsNycpCi0gICAgICAgICBnZXQuYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgo Ci0gICAgICAgICAgICAgJ2h0dHBzOi8vaW5mcmFzdHJ1Y3R1cmUuZmVkb3JhcHJvamVjdC5vcmcv cmVwby9qc29uL3BrZ19lbDcuanNvbicsCi1AQCAtMjU3LDggKzI1NCw4IEBAIGNsYXNzIFRlc3RB c3NlcnRWYWxpZEVQRUxQYWNrYWdlKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICAgZGVmIHRlc3Rf Y29ycmVjdF91cmxfZXBlbDgoc2VsZiwgZ2V0KToKLSAgICAgICAgIGdldC5yZXR1cm5fdmFsdWUg PSBNb2NrKG9rPUZhbHNlLCBzdGF0dXNfY29kZT00MDQpCi0gCi0tICAgICAgICBzaXguYXNzZXJ0 UmFpc2VzUmVnZXgoCi0tICAgICAgICAgICAgc2VsZiwgcnBrZ0Vycm9yLCAnVGhlIHN0YXR1cyBj b2RlIHdhczogNDA0JywKLSsgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCi0rICAgICAg ICAgICAgcnBrZ0Vycm9yLCAnVGhlIHN0YXR1cyBjb2RlIHdhczogNDA0JywKLSAgICAgICAgICAg ICB1dGlscy5hc3NlcnRfdmFsaWRfZXBlbF9wYWNrYWdlLCAncGtnJywgJ2VwZWw4JykKLSAgICAg ICAgIGdldC5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCgKLSAgICAgICAgICAgICAnaHR0cHM6Ly9p bmZyYXN0cnVjdHVyZS5mZWRvcmFwcm9qZWN0Lm9yZy9yZXBvL2pzb24vcGtnX2VsOC5qc29uJywK LUBAIC0yNjcsOCArMjY0LDggQEAgY2xhc3MgVGVzdEFzc2VydFZhbGlkRVBFTFBhY2thZ2UodW5p dHRlc3QuVGVzdENhc2UpOgotICAgICBkZWYgdGVzdF9jb3JyZWN0X3VybF9lcGVsOF9uZXh0KHNl bGYsIGdldCk6Ci0gICAgICAgICBnZXQucmV0dXJuX3ZhbHVlID0gTW9jayhvaz1GYWxzZSwgc3Rh dHVzX2NvZGU9NDA0KQotIAotLSAgICAgICAgc2l4LmFzc2VydFJhaXNlc1JlZ2V4KAotLSAgICAg ICAgICAgIHNlbGYsIHJwa2dFcnJvciwgJ1RoZSBzdGF0dXMgY29kZSB3YXM6IDQwNCcsCi0rICAg ICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAotKyAgICAgICAgICAgIHJwa2dFcnJvciwgJ1Ro ZSBzdGF0dXMgY29kZSB3YXM6IDQwNCcsCi0gICAgICAgICAgICAgdXRpbHMuYXNzZXJ0X3ZhbGlk X2VwZWxfcGFja2FnZSwgJ3BrZycsICdlcGVsOC1uZXh0JykKLSAgICAgICAgIGdldC5hc3NlcnRf Y2FsbGVkX29uY2Vfd2l0aCgKLSAgICAgICAgICAgICAnaHR0cHM6Ly9pbmZyYXN0cnVjdHVyZS5m ZWRvcmFwcm9qZWN0Lm9yZy9yZXBvL2pzb24vcGtnX2VsOC5qc29uJywKLUBAIC0yNzcsOCArMjc0 LDggQEAgY2xhc3MgVGVzdEFzc2VydFZhbGlkRVBFTFBhY2thZ2UodW5pdHRlc3QuVGVzdENhc2Up OgotICAgICBkZWYgdGVzdF9jb3JyZWN0X3VybF9lcGVsOShzZWxmLCBnZXQpOgotICAgICAgICAg Z2V0LnJldHVybl92YWx1ZSA9IE1vY2sob2s9RmFsc2UsIHN0YXR1c19jb2RlPTQwNCkKLSAKLS0g ICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleCgKLS0gICAgICAgICAgICBzZWxmLCBycGtnRXJy b3IsICdUaGUgc3RhdHVzIGNvZGUgd2FzOiA0MDQnLAotKyAgICAgICAgc2VsZi5hc3NlcnRSYWlz ZXNSZWdleCgKLSsgICAgICAgICAgICBycGtnRXJyb3IsICdUaGUgc3RhdHVzIGNvZGUgd2FzOiA0 MDQnLAotICAgICAgICAgICAgIHV0aWxzLmFzc2VydF92YWxpZF9lcGVsX3BhY2thZ2UsICdwa2cn LCAnZXBlbDknKQotICAgICAgICAgZ2V0LmFzc2VydF9jYWxsZWRfb25jZV93aXRoKAotICAgICAg ICAgICAgICdodHRwczovL2NvbXBvc2VzLnN0cmVhbS5jZW50b3Mub3JnL3Byb2R1Y3Rpb24vJwot QEAgLTI4OCw4ICsyODUsOCBAQCBjbGFzcyBUZXN0QXNzZXJ0VmFsaWRFUEVMUGFja2FnZSh1bml0 dGVzdC5UZXN0Q2FzZSk6Ci0gICAgIGRlZiB0ZXN0X2NvcnJlY3RfdXJsX2VwZWwxMChzZWxmLCBn ZXQpOgotICAgICAgICAgZ2V0LnJldHVybl92YWx1ZSA9IE1vY2sob2s9RmFsc2UsIHN0YXR1c19j b2RlPTQwNCkKLSAKLS0gICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleCgKLS0gICAgICAgICAg ICBzZWxmLCBycGtnRXJyb3IsICdUaGUgc3RhdHVzIGNvZGUgd2FzOiA0MDQnLAotKyAgICAgICAg c2VsZi5hc3NlcnRSYWlzZXNSZWdleCgKLSsgICAgICAgICAgICBycGtnRXJyb3IsICdUaGUgc3Rh dHVzIGNvZGUgd2FzOiA0MDQnLAotICAgICAgICAgICAgIHV0aWxzLmFzc2VydF92YWxpZF9lcGVs X3BhY2thZ2UsICdwa2cnLCAnZXBlbDEwJykKLSAgICAgICAgIGdldC5hc3NlcnRfY2FsbGVkX29u Y2Vfd2l0aCgKLSAgICAgICAgICAgICAnaHR0cHM6Ly9jb21wb3Nlcy5zdHJlYW0uY2VudG9zLm9y Zy9zdHJlYW0tMTAvcHJvZHVjdGlvbicKLUBAIC0yOTksOCArMjk2LDggQEAgY2xhc3MgVGVzdEFz c2VydFZhbGlkRVBFTFBhY2thZ2UodW5pdHRlc3QuVGVzdENhc2UpOgotICAgICBkZWYgdGVzdF9j b3JyZWN0X3VybF9lcGVsMTBfMTAoc2VsZiwgZ2V0KToKLSAgICAgICAgIGdldC5yZXR1cm5fdmFs dWUgPSBNb2NrKG9rPUZhbHNlLCBzdGF0dXNfY29kZT00MDQpCi0gCi0tICAgICAgICBzaXguYXNz ZXJ0UmFpc2VzUmVnZXgoCi0tICAgICAgICAgICAgc2VsZiwgcnBrZ0Vycm9yLCAnVGhlIHN0YXR1 cyBjb2RlIHdhczogNDA0JywKLSsgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCi0rICAg ICAgICAgICAgcnBrZ0Vycm9yLCAnVGhlIHN0YXR1cyBjb2RlIHdhczogNDA0JywKLSAgICAgICAg ICAgICB1dGlscy5hc3NlcnRfdmFsaWRfZXBlbF9wYWNrYWdlLCAncGtnJywgJ2VwZWwxMC4xMCcp Ci0gICAgICAgICBnZXQuYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoCi0gICAgICAgICAgICAgJ2h0 dHBzOi8vY29tcG9zZXMuc3RyZWFtLmNlbnRvcy5vcmcvc3RyZWFtLTEwL3Byb2R1Y3Rpb24nCi1A QCAtMzIwLDggKzMxNyw4IEBAIGNsYXNzIFRlc3RBc3NlcnRWYWxpZEVQRUxQYWNrYWdlKHVuaXR0 ZXN0LlRlc3RDYXNlKToKLSAgICAgICAgICAgICB9Ci0gICAgICAgICB9Ci0gCi0tICAgICAgICBz aXguYXNzZXJ0UmFpc2VzUmVnZXgoCi0tICAgICAgICAgICAgc2VsZiwgcnBrZ0Vycm9yLCAnaXMg YnVpbHQgb24gYWxsIHN1cHBvcnRlZCBhcmNoZXMnLAotKyAgICAgICAgc2VsZi5hc3NlcnRSYWlz ZXNSZWdleCgKLSsgICAgICAgICAgICBycGtnRXJyb3IsICdpcyBidWlsdCBvbiBhbGwgc3VwcG9y dGVkIGFyY2hlcycsCi0gICAgICAgICAgICAgdXRpbHMuYXNzZXJ0X3ZhbGlkX2VwZWxfcGFja2Fn ZSwgJ3BrZzEnLCAnZWw2JykKLSAKLSAgICAgZGVmIHRlc3Rfc2hvdWxkX25vdF9oYXZlX2VwZWxf YnJhbmNoX2Zvcl9lbDdfcGtnKHNlbGYsIGdldCk6Ci1AQCAtMzM3LDggKzMzNCw4IEBAIGNsYXNz IFRlc3RBc3NlcnRWYWxpZEVQRUxQYWNrYWdlKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICAgICAg ICAgICB9Ci0gICAgICAgICB9Ci0gCi0tICAgICAgICBzaXguYXNzZXJ0UmFpc2VzUmVnZXgoCi0t ICAgICAgICAgICAgc2VsZiwgcnBrZ0Vycm9yLCAnaXMgYnVpbHQgb24gYWxsIHN1cHBvcnRlZCBh cmNoZXMnLAotKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleCgKLSsgICAgICAgICAgICBy cGtnRXJyb3IsICdpcyBidWlsdCBvbiBhbGwgc3VwcG9ydGVkIGFyY2hlcycsCi0gICAgICAgICAg ICAgdXRpbHMuYXNzZXJ0X3ZhbGlkX2VwZWxfcGFja2FnZSwgJ3BrZzEnLCAnZXBlbDcnKQotIAot ICAgICBkZWYgdGVzdF9yYWlzZV9lcnJvcl9pZl9wYWNrYWdlX2hhc19ub2FyY2hfb25seShzZWxm LCBnZXQpOgotQEAgLTM1Myw4ICszNTAsOCBAQCBjbGFzcyBUZXN0QXNzZXJ0VmFsaWRFUEVMUGFj a2FnZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICAgICAgfQotICAgICAgICAgfQotIAot LSAgICAgICAgc2l4LmFzc2VydFJhaXNlc1JlZ2V4KAotLSAgICAgICAgICAgIHNlbGYsIHJwa2dF cnJvciwgJ1RoaXMgcGFja2FnZSBpcyBhbHJlYWR5IGFuIEVMIHBhY2thZ2UnLAotKyAgICAgICAg c2VsZi5hc3NlcnRSYWlzZXNSZWdleCgKLSsgICAgICAgICAgICBycGtnRXJyb3IsICdUaGlzIHBh Y2thZ2UgaXMgYWxyZWFkeSBhbiBFTCBwYWNrYWdlJywKLSAgICAgICAgICAgICB1dGlscy5hc3Nl cnRfdmFsaWRfZXBlbF9wYWNrYWdlLCAncGtnMScsICdlcGVsNycpCi0gCi0gCi1AQCAtMzY2LDgg KzM2Myw4IEBAIGNsYXNzIFRlc3ROZXdQYWd1cmVJc3N1ZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0g ICAgICAgICBwb3N0LnNpZGVfZWZmZWN0ID0gQ29ubmVjdGlvbkVycm9yCi0gICAgICAgICBsb2dn ZXIgPSBNb2NrKCkKLSAKLS0gICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleCgKLS0gICAgICAg ICAgICBzZWxmLCBycGtnRXJyb3IsICdUaGUgY29ubmVjdGlvbiB0byBQYWd1cmUgZmFpbGVkJywK LSsgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCi0rICAgICAgICAgICAgcnBrZ0Vycm9y LCAnVGhlIGNvbm5lY3Rpb24gdG8gUGFndXJlIGZhaWxlZCcsCi0gICAgICAgICAgICAgdXRpbHMu bmV3X3BhZ3VyZV9pc3N1ZSwKLSAgICAgICAgICAgICBsb2dnZXIsICdodHRwOi8vZGlzdGdpdC8n LCAnMTIzNDU2JywgJ25ldyBwYWNrYWdlJywgeydyZXBvJzogJ3BrZzEnfSwgJ2ZlZHBrZycpCi0g Ci1AQCAtMzc3LDggKzM3NCw4IEBAIGNsYXNzIFRlc3ROZXdQYWd1cmVJc3N1ZSh1bml0dGVzdC5U ZXN0Q2FzZSk6Ci0gICAgICAgICBwb3N0LnJldHVybl92YWx1ZSA9IHJ2Ci0gICAgICAgICBsb2dn ZXIgPSBNb2NrKCkKLSAKLS0gICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleCgKLS0gICAgICAg ICAgICBzZWxmLCBycGtnRXJyb3IsCi0rICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAot KyAgICAgICAgICAgIHJwa2dFcnJvciwKLSAgICAgICAgICAgICAnVGhlIGZvbGxvd2luZyBlcnJv ciBvY2N1cnJlZCB3aGlsZSBjcmVhdGluZyBhIG5ldyBpc3N1ZScsCi0gICAgICAgICAgICAgdXRp bHMubmV3X3BhZ3VyZV9pc3N1ZSwKLSAgICAgICAgICAgICBsb2dnZXIsICdodHRwOi8vZGlzdGdp dC8nLCAnMTIzNDU2JywgJ25ldyBwYWNrYWdlJywgeydyZXBvJzogJ3BrZzEnfSwgJ2ZlZHBrZycp Ci1AQCAtMzkyLDggKzM4OSw4IEBAIGNsYXNzIFRlc3ROZXdQYWd1cmVJc3N1ZSh1bml0dGVzdC5U ZXN0Q2FzZSk6Ci0gICAgICAgICBwb3N0LnJldHVybl92YWx1ZSA9IHJ2Ci0gICAgICAgICBsb2dn ZXIgPSBNb2NrKCkKLSAKLS0gICAgICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleCgKLS0gICAgICAg ICAgICBzZWxmLCBycGtnRXJyb3IsCi0rICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAot KyAgICAgICAgICAgIHJwa2dFcnJvciwKLSAgICAgICAgICAgICAnXG5Gb3IgaW52YWxpZCBvciBl eHBpcmVkIHRva2VucyBwbGVhc2UgJwotICAgICAgICAgICAgICdzZXQgYSBuZXcgdG9rZW4gaW4g eW91ciB1c2VyIGNvbmZpZ3VyYXRpb24gd2l0aDonCi0gICAgICAgICAgICAgJ1xuXG5cdGZlZHBr ZyBzZXQtcGFndXJlLXRva2VuIDx0b2tlbj5cbicsCi1AQCAtNDQ2LDE2ICs0NDMsMTYgQEAgY2xh c3MgVGVzdFF1ZXJ5Qm9kaGkodW5pdHRlc3QuVGVzdENhc2UpOgotICAgICAgICAgZ2V0LnNpZGVf ZWZmZWN0ID0gQ29ubmVjdGlvbkVycm9yCi0gCi0gICAgICAgICByZXN1bHQgPSB1dGlscy5xdWVy eV9ib2RoaSgnaHR0cDovL2xvY2FsaG9zdC8nKQotLSAgICAgICAgc2l4LmFzc2VydFJhaXNlc1Jl Z2V4KAotLSAgICAgICAgICAgIHNlbGYsIHJwa2dFcnJvciwgJ1RoZSBjb25uZWN0aW9uIHRvIEJP REhJIGZhaWxlZCcsCi0rICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAotKyAgICAgICAg ICAgIHJwa2dFcnJvciwgJ1RoZSBjb25uZWN0aW9uIHRvIEJPREhJIGZhaWxlZCcsCi0gICAgICAg ICAgICAgbGlzdCwgcmVzdWx0KQotIAotICAgICBkZWYgdGVzdF9yZXNwb25zZV9ub3Rfb2soc2Vs ZiwgZ2V0KToKLSAgICAgICAgIGdldC5yZXR1cm5fdmFsdWUub2sgPSBGYWxzZQotIAotICAgICAg ICAgcmVzdWx0ID0gdXRpbHMucXVlcnlfYm9kaGkoJ2h0dHA6Ly9sb2NhbGhvc3QvJykKLS0gICAg ICAgIHNpeC5hc3NlcnRSYWlzZXNSZWdleCgKLS0gICAgICAgICAgICBzZWxmLCBycGtnRXJyb3Is ICdUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkJywKLSsgICAgICAgIHNlbGYuYXNzZXJ0UmFp c2VzUmVnZXgoCi0rICAgICAgICAgICAgcnBrZ0Vycm9yLCAnVGhlIGZvbGxvd2luZyBlcnJvciBv Y2N1cnJlZCcsCi0gICAgICAgICAgICAgbGlzdCwgcmVzdWx0KQotIAotICAgICBkZWYgdGVzdF9y ZWFkX3lpZWxkX2RhdGFfbm9ybWFsbHkoc2VsZiwgZ2V0KToKLUBAIC01NzYsNiArNTczLDYgQEAg Y2xhc3MgVGVzdEdldEZlZG9yYVJlbGVhc2VTdGF0ZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAg IGRlZiB0ZXN0X2NvbmZpZ19kb2VzX25vdF9oYXZlX29wdGlvbihzZWxmKToKLSAgICAgICAgIGNv bmZpZyA9IE1vY2soKQotICAgICAgICAgY29uZmlnLmdldC5zaWRlX2VmZmVjdCA9IE5vT3B0aW9u RXJyb3IoJ3JlbGVhc2VzX3NlcnZpY2UnLCAnZmVkcGtnLmJvZGhpJykKLS0gICAgICAgIHNpeC5h c3NlcnRSYWlzZXNSZWdleChzZWxmLCBycGtnRXJyb3IsIHIiQ291bGQgbm90IGdldCByZWxlYXNl IHN0YXRlIGZvciBGZWRvcmEgXChGMzBNXCk6ICIKLS0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiTm8gb3B0aW9uICdyZWxlYXNlc19zZXJ2aWNlJyBpbiBzZWN0aW9uOiAnZmVkcGtnLmJv ZGhpJy4iLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWxzLmdldF9mZWRvcmFf cmVsZWFzZV9zdGF0ZSwgY29uZmlnLCAnZmVkcGtnJywgJ0YzME0nKQotKyAgICAgICAgc2VsZi5h c3NlcnRSYWlzZXNSZWdleChycGtnRXJyb3IsIHIiQ291bGQgbm90IGdldCByZWxlYXNlIHN0YXRl IGZvciBGZWRvcmEgXChGMzBNXCk6ICIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ik5vIG9wdGlvbiAncmVsZWFzZXNfc2VydmljZScgaW4gc2VjdGlvbjogJ2ZlZHBrZy5ib2RoaScu IiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbHMuZ2V0X2ZlZG9yYV9yZWxl YXNlX3N0YXRlLCBjb25maWcsICdmZWRwa2cnLCAnRjMwTScpCi1kaWZmIC0tZ2l0IGEvdGVzdC91 dGlscy5weSBiL3Rlc3QvdXRpbHMucHkKLWluZGV4IDM4OTk0MTIuLmM5OGY3ZWMgMTAwNjQ0Ci0t LS0gYS90ZXN0L3V0aWxzLnB5Ci0rKysgYi90ZXN0L3V0aWxzLnB5Ci1AQCAtMTAsMTQgKzEwLDEz IEBACi0gIyBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiAgU2VlIGh0dHA6Ly93d3cuZ251Lm9y Zy9jb3B5bGVmdC9ncGwuaHRtbCBmb3IKLSAjIHRoZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vuc2Uu Ci0gCi0raW1wb3J0IGNvbmZpZ3BhcnNlcgotIGltcG9ydCBsb2dnaW5nCi0gaW1wb3J0IG9zCi0g aW1wb3J0IHNodXRpbAotIGltcG9ydCBzdWJwcm9jZXNzCi0gaW1wb3J0IHRlbXBmaWxlCi0gCi0t ZnJvbSBzaXgubW92ZXMgaW1wb3J0IGNvbmZpZ3BhcnNlcgotLQotIGltcG9ydCBmZWRwa2cuY2xp Ci0gaW1wb3J0IHB5cnBrZwotIGZyb20gZmVkcGtnIGltcG9ydCBDb21tYW5kcwotLS0gCi0yLjQ2 LjAKLQoKZGlmZiAtLWdpdCBhLzAwMTUtUmVwbGFjZS1hbmQtdXBkYXRlLXVzZS1vZi1kZXByZWNh dGVkLWxpbnV4X2Rpc3RyaWJ1dC5wYXRjaCBiLzAwMTUtUmVwbGFjZS1hbmQtdXBkYXRlLXVzZS1v Zi1kZXByZWNhdGVkLWxpbnV4X2Rpc3RyaWJ1dC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggZjIzODE0My4uMDAwMDAwMAotLS0gYS8wMDE1LVJlcGxhY2UtYW5kLXVwZGF0ZS11 c2Utb2YtZGVwcmVjYXRlZC1saW51eF9kaXN0cmlidXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSwxNTggKzAsMCBAQAotRnJvbSBmOTI1OTgwODE1OTg0MmUxNjAwNTYzYzY2MDRjZTEzZDA5ODMx YmFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWRhbSBXaWxsaWFtc29uIDxhd2ls bGlhbUByZWRoYXQuY29tPgotRGF0ZTogU2F0LCAxMCBBdWcgMjAyNCAxNzoyNzo1NSAtMDQwMAot U3ViamVjdDogW1BBVENIIDQvNl0gUmVwbGFjZSBhbmQgdXBkYXRlIHVzZSBvZiBkZXByZWNhdGVk ICdsaW51eF9kaXN0cmlidXRpb24nCi0KLVRoaXMgdXNlcyBkaXN0cm8uaWQgYW5kIGRpc3Ryby52 ZXJzaW9uIGluc3RlYWQsIGFuZCBhZGp1c3RzIHRoZQotaGFuZGxpbmcgYXBwcm9wcmlhdGVseS4g VGhlIHZhbHVlIHdlIGdldCBoZXJlIGlzIG9ubHkgZXZlciB1c2VkCi1mb3IgY29tcGFyaXNvbiB3 aXRoIENvbW1hbmRzLl9kaXN0dGFnLCB3aGljaCBpcyBzZXQgaW4KLV9sb2FkX3JwbWRlZmluZXNf YnJhbmNoLiBUaGVyZSBpcyBoYW5kbGluZyB0aGVyZSBmb3IgRmVkb3JhCi0odGFnIGlzIGFsd2F5 cyAnZmNOTicpLCB2YXJpb3VzIGZvcm1zIG9mIEVMICh3aXRoIHBvc3NpYmxlIHRhZ3MKLWxpa2Ug J2VsTicsICdlbE5fTicgb3IgJ2VsTi5uZXh0JyksIE9MUEMgKHRhZyAnb2xwY05OJywgSSB0aGlu awotdGhpcyBpcyBvYnNvbGV0ZSkgYW5kIEVMTiAodGFnICdlbG5OTicsIEkgdGhpbmspLiBkaXN0 dGFncyB0aGF0Ci1zaG93IHVwIGluIHRoZSB0ZXN0IHN1aXRlIGFyZSAnZmMyNicsICdlbDYnLCAn ZWw3JywgJ2VsOC5uZXh0JywKLSdlbDEwJywgJ2VsMTBfMTAnLCAnZmMyOCcsICdvbHBjNycgYW5k ICdlbG4xMDQnLgotCi1UaGlzIGhhbmRsZXMgRmVkb3JhIGluIHRoZSBvYnZpb3VzIHdheS4gSXQg aGFuZGxlcyBSSEVMLCBDZW50T1MKLWFuZCBBbG1hIGZsYXZvcnMgb2YgRUwsIGFzc3VtaW5nIGJy YW5jaCBuYW1lcyAoYW5kIGhlbmNlIGRpc3QKLXRhZ3MpIHdpdGggbWFqb3IgdmVyc2lvbiBvbmx5 OyBJIGRvbid0IHRoaW5rIHdlIGNhbiBoYW5kbGUKLW1pbm9yIHZlcnNpb25zLCByZWFsbHksIGJl Y2F1c2UgZS5nLiBSSEVMIG9yIEFsbWEgOS40IHJlcG9ydAotdGhlaXIgZGlzdHJvLnZlcnNpb24g YXMgJzkuNCcsIGJ1dCB3ZSB3YW50IHRoZSB0YWcgdG8gYmUgJ2VsOScuCi1JIHRoaW5rIHRoZSBt YWpvcl9taW5vciB0aGluZyBpcyBtZWFudCBmb3IgRVBFTCAxMCwgc28gKnBvc3NpYmx5Kgotd2Ug Y291bGQgaGFuZGxlIGl0IHdpdGggZGlmZmVyaW5nIGJlaGF2aW91ciBiZXR3ZWVuIEVMID49IDEw Ci1hbmQgRUwgPCAxMCwgYnV0IEknbSByZWFsbHkgbm90IGVub3VnaCBvZiBhbiBleHBlcnQgdG8g a25vdy4gQXQKLWxlYXN0IHRoaXMgc2hvdWxkIGJlIG5vIHdvcnNlIHRoYW4gYmVmb3JlLiBJdCBo YW5kbGVzIEVMTiBieQotY2hlY2tpbmcgZm9yIHRoZSB2YXJpYW50IGlmIHRoZSBpZCBpcyBGZWRv cmEgKEVMTiBsb29rcyBhIGxvdAotbGlrZSBGZWRvcmEgYnV0IGNhbiBiZSBkaXN0aW5ndWlzaGVk IGJ5IHZhcmlhbnQpIHRoZW4gZG9pbmcgdGhlCi1jb3VudGVycGFydCB0byB3aGF0IHRoZSBkaXN0 IHRhZyBkZWZpbml0aW9uIGRvZXMgKHJlYWRpbmcgdGhlCi0nZWxuJyBidWlsZCBtYWNybyB0byBn ZXQgdGhlIGRpZ2l0cykuIFRoZSBvbGQgY29kZSBkaWQgbm90IGhhbmRsZQotRUxOLgotCi1JIGRv bid0IHRoaW5rIGl0J3MgcG9zc2libGUgdG8gaGFuZGxlIEVQRUwgbmV4dDsgdGhlIG9sZCBjb2Rl Ci1kaWQgbm90IGVpdGhlci4gSSBkb24ndCB0aGluayBpdCdzIHdvcnRoIGhhbmRsaW5nIE9MUEMu Ci0KLVNpZ25lZC1vZmYtYnk6IEFkYW0gV2lsbGlhbXNvbiA8YXdpbGxpYW1AcmVkaGF0LmNvbT4K LS0tLQotIGZlZHBrZy9fX2luaXRfXy5weSAgICB8IDI1ICsrKysrKysrLS0tLS0tLS0tLS0tLQot IHRlc3QvdGVzdF9jb21tYW5kcy5weSB8IDUxICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDM5IGRl bGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZmVkcGtnL19faW5pdF9fLnB5IGIvZmVkcGtnL19f aW5pdF9fLnB5Ci1pbmRleCAzYzVlN2Q5Li41N2E2ZWFlIDEwMDY0NAotLS0tIGEvZmVkcGtnL19f aW5pdF9fLnB5Ci0rKysgYi9mZWRwa2cvX19pbml0X18ucHkKLUBAIC0yNywxMCArMjcsNyBAQCBl eGNlcHQgSW1wb3J0RXJyb3I6Ci0gZnJvbSAubG9va2FzaWRlIGltcG9ydCBGZWRvcmFMb29rYXNp ZGVDYWNoZQotIGZyb20gcHlycGtnLnV0aWxzIGltcG9ydCBjYWNoZWRfcHJvcGVydHkKLSAKLS10 cnk6Ci0tICAgIGZyb20gZGlzdHJvIGltcG9ydCBsaW51eF9kaXN0cmlidXRpb24gICMgbm9xYQot LWV4Y2VwdCBJbXBvcnRFcnJvcjoKLS0gICAgZnJvbSBwbGF0Zm9ybSBpbXBvcnQgbGludXhfZGlz dHJpYnV0aW9uICAjIG5vcWEKLStpbXBvcnQgZGlzdHJvCi0gCi0gCi0gY2xhc3MgQ29tbWFuZHMo cHlycGtnLkNvbW1hbmRzKToKLUBAIC0yNzksMTggKzI3NiwxNCBAQCBjbGFzcyBDb21tYW5kcyhw eXJwa2cuQ29tbWFuZHMpOgotICAgICAgICAgIiIiTmVlZCB0byBrbm93IHdoYXQgdGhlIHJ1bnRp bWUgZW52IGlzLCBzbyB3ZSBjYW4gdW5zZXQgYW55dGhpbmcKLSAgICAgICAgICAgIGNvbmZsaWN0 aW5nCi0gICAgICAgICAiIiIKLS0gICAgICAgIHRyeToKLS0gICAgICAgICAgICBydW50aW1lX29z LCBydW50aW1lX3ZlcnNpb24sIF8gPSBsaW51eF9kaXN0cmlidXRpb24oKQotLSAgICAgICAgZXhj ZXB0IEV4Y2VwdGlvbjoKLS0gICAgICAgICAgICByZXR1cm4gTm9uZQotLQotLSAgICAgICAgaWYg cnVudGltZV9vcyBpbiBbJ3JlZGhhdCcsICdjZW50b3MnXToKLS0gICAgICAgICAgICByZXR1cm4g J2VsJXMnICUgcnVudGltZV92ZXJzaW9uCi0tICAgICAgICBpZiBydW50aW1lX29zID09ICdGZWRv cmEnOgotLSAgICAgICAgICAgIHJldHVybiAnZmMlcycgJSBydW50aW1lX3ZlcnNpb24KLS0gICAg ICAgIGlmIChydW50aW1lX29zID09ICdSZWQgSGF0IEVudGVycHJpc2UgTGludXggU2VydmVyJyBv cgotLSAgICAgICAgICAgICAgICBydW50aW1lX29zLnN0YXJ0c3dpdGgoJ0NlbnRPUycpKToKLS0g ICAgICAgICAgICByZXR1cm4gJ2VsezB9Jy5mb3JtYXQocnVudGltZV92ZXJzaW9uLnNwbGl0KCcu JylbMF0pCi0rICAgICAgICBpZiBkaXN0cm8uaWQoKSA9PSAncmhlbCcgb3IgJ3JoZWwnIGluIGRp c3Ryby5saWtlKCkuc3BsaXQoKToKLSsgICAgICAgICAgICByZXR1cm4gJ2VsJXMnICUgZGlzdHJv Lm1ham9yX3ZlcnNpb24oKQotKyAgICAgICAgaWYgZGlzdHJvLmlkKCkgPT0gJ2ZlZG9yYSc6Ci0r ICAgICAgICAgICAgaWYgZGlzdHJvLm9zX3JlbGVhc2VfaW5mbygpWyd2YXJpYW50J10gPT0gJ0VM Tic6Ci0rICAgICAgICAgICAgICAgIG1hY3JvcyA9IHNlbGYuX2dldF9idWlsZF9tYWNyb3MoJ2Vs bi1jYW5kaWRhdGUnKQotKyAgICAgICAgICAgICAgICByZXR1cm4gJ2VsbiVzJyAlIG1hY3Jvc1sn ZWxuJ10KLSsgICAgICAgICAgICByZXR1cm4gJ2ZjJXMnICUgZGlzdHJvLm1ham9yX3ZlcnNpb24o KQotKyAgICAgICAgcmV0dXJuIE5vbmUKLSAKLSAgICAgZGVmIGNoZWNrX2luaGVyaXRhbmNlKHNl bGYsIGJ1aWxkX3RhcmdldCwgZGVzdF90YWcpOgotICAgICAgICAgIiIiRGlzYWJsZSBjaGVjayBp bmhlcml0YW5jZQotZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9jb21tYW5kcy5weSBiL3Rlc3QvdGVz dF9jb21tYW5kcy5weQotaW5kZXggZGY2YTJhYy4uMjkyM2NhMCAxMDA2NDQKLS0tLSBhL3Rlc3Qv dGVzdF9jb21tYW5kcy5weQotKysrIGIvdGVzdC90ZXN0X2NvbW1hbmRzLnB5Ci1AQCAtMjcsNDAg KzI3LDQ1IEBAIGNsYXNzIFRlc3REZXRlcm1pbmVSdW50aW1lRW52KENvbW1hbmRUZXN0Q2FzZSk6 Ci0gICAgICAgICBzdXBlcihUZXN0RGV0ZXJtaW5lUnVudGltZUVudiwgc2VsZikuc2V0VXAoKQot ICAgICAgICAgc2VsZi5jbWQgPSBzZWxmLm1ha2VfY29tbWFuZHMoKQotIAotLSAgICBAcGF0Y2go J2ZlZHBrZy5saW51eF9kaXN0cmlidXRpb24nKQotLSAgICBkZWYgdGVzdF9yZXR1cm5fZmVkb3Jh X2Rpc3R0YWcoc2VsZiwgbGludXhfZGlzdHJpYnV0aW9uKToKLS0gICAgICAgIGxpbnV4X2Rpc3Ry aWJ1dGlvbi5yZXR1cm5fdmFsdWUgPSAoJ0ZlZG9yYScsICcyNScsICdUd2VudHkgRml2ZScpCi0t Ci0rICAgIEBwYXRjaCgnZGlzdHJvLmlkJywgcmV0dXJuX3ZhbHVlPSdmZWRvcmEnKQotKyAgICBA cGF0Y2goJ2Rpc3Ryby5tYWpvcl92ZXJzaW9uJywgcmV0dXJuX3ZhbHVlPScyNScpCi0rICAgIGRl ZiB0ZXN0X3JldHVybl9mZWRvcmFfZGlzdHRhZyhzZWxmLCBtb2NrX3ZlciwgbW9ja19pZCk6Ci0g ICAgICAgICByZXN1bHQgPSBzZWxmLmNtZC5fZGV0ZXJtaW5lX3J1bnRpbWVfZW52KCkKLSAgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2ZjMjUnLCByZXN1bHQpCi0gCi0tICAgIEBwYXRjaCgnZmVk cGtnLmxpbnV4X2Rpc3RyaWJ1dGlvbicpCi0tICAgIGRlZiB0ZXN0X3JldHVybl9Ob25lX2lmX29z X2lzX3Vua25vd24oc2VsZiwgbGludXhfZGlzdHJpYnV0aW9uKToKLS0gICAgICAgIGxpbnV4X2Rp c3RyaWJ1dGlvbi5zaWRlX2VmZmVjdCA9IFZhbHVlRXJyb3IKLS0KLSsgICAgQHBhdGNoKCdkaXN0 cm8uaWQnLCByZXR1cm5fdmFsdWU9JycpCi0rICAgIGRlZiB0ZXN0X3JldHVybl9Ob25lX2lmX29z X2lzX3Vua25vd24oc2VsZiwgbW9ja19pZCk6Ci0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5v bmUsIHNlbGYuY21kLl9kZXRlcm1pbmVfcnVudGltZV9lbnYoKSkKLSAKLS0gICAgQHBhdGNoKCdm ZWRwa2cubGludXhfZGlzdHJpYnV0aW9uJykKLS0gICAgZGVmIHRlc3RfcmV0dXJuX2Zvcl9yaGVs KHNlbGYsIGxpbnV4X2Rpc3RyaWJ1dGlvbik6Ci0tICAgICAgICBsaW51eF9kaXN0cmlidXRpb24u cmV0dXJuX3ZhbHVlID0gKCdSZWQgSGF0IEVudGVycHJpc2UgTGludXggU2VydmVyJywKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzYuOCcsCi0tICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTYW50aWFnbycpCi0tCi0rICAgIEBw YXRjaCgnZGlzdHJvLm9zX3JlbGVhc2VfaW5mbycsIHJldHVybl92YWx1ZT17J3ZhcmlhbnQnOiAn RUxOJ30pCi0rICAgIEBwYXRjaCgnZGlzdHJvLmlkJywgcmV0dXJuX3ZhbHVlPSdmZWRvcmEnKQot KyAgICBAcGF0Y2goJ2Rpc3Ryby5tYWpvcl92ZXJzaW9uJywgcmV0dXJuX3ZhbHVlPSc0MScpCi0r ICAgIEBwYXRjaCgncHlycGtnLkNvbW1hbmRzLmtvamlzZXNzaW9uJywgbmV3X2NhbGxhYmxlPVBy b3BlcnR5TW9jaykKLSsgICAgZGVmIHRlc3RfcmV0dXJuX2Zvcl9lbG4oc2VsZiwgbW9ja19rb2pp LCBtb2NrX3ZlciwgbW9ja19pZCwgbW9ja19pbmZvKToKLSsgICAgICAgIHNlbGYuY21kLl9rb2pp c2Vzc2lvbiA9IE1vY2soKQotKyAgICAgICAga29qaV9zZXNzaW9uID0gbW9ja19rb2ppLnJldHVy bl92YWx1ZQotKyAgICAgICAga29qaV9zZXNzaW9uLmdldEJ1aWxkQ29uZmlnLnJldHVybl92YWx1 ZSA9IHsKLSsgICAgICAgICAgICAjIG1pbmltYWwgc3Vic2V0IG9mIHRoZSByZWFsIGtvamkgcmVz cG9uc2UKLSsgICAgICAgICAgICAnZXh0cmEnOiB7Ci0rICAgICAgICAgICAgICAgICdycG0ubWFj cm8uZWxuJzogJzEyOCcsCi0rICAgICAgICAgICAgfSwKLSsgICAgICAgIH0KLSAgICAgICAgIHJl c3VsdCA9IHNlbGYuY21kLl9kZXRlcm1pbmVfcnVudGltZV9lbnYoKQotLSAgICAgICAgc2VsZi5h c3NlcnRFcXVhbCgnZWw2JywgcmVzdWx0KQotKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnZWxu MTI4JywgcmVzdWx0KQotIAotICAgICBkZWYgdGVzdF9yZXR1cm5fZm9yX2VsKHNlbGYpOgotICAg ICAgICAgZGlzdHMgPSBbCi0tICAgICAgICAgICAgKCgnQ2VudE9TJywgJzYuOScsICdGaW5hbCcp LCAnZWw2JyksCi0tICAgICAgICAgICAgKCgnQ2VudE9TIExpbnV4JywgJzcuMy4xNjExJywgJ0Nv cmUnKSwgJ2VsNycpLAotLSAgICAgICAgICAgICgoJ3JlZGhhdCcsICc2JywgTm9uZSksICdlbDYn KSwKLS0gICAgICAgICAgICAoKCdjZW50b3MnLCAnNicsIE5vbmUpLCAnZWw2JyksCi0rICAgICAg ICAgICAgKCdjZW50b3MnLCAnOCcsICdyaGVsJywgJ2VsOCcpLAotKyAgICAgICAgICAgICgncmhl bCcsICc5JywgJycsICdlbDknKSwKLSsgICAgICAgICAgICAoJ2FsbWFsaW51eCcsICcxMCcsICdy aGVsJywgJ2VsMTAnKSwKLSAgICAgICAgIF0KLSAKLS0gICAgICAgIGZvciBkaXN0LCBleHBlY3Rl ZF9kaXN0X3RhZyBpbiBkaXN0czoKLS0gICAgICAgICAgICB3aXRoIHBhdGNoKCdmZWRwa2cubGlu dXhfZGlzdHJpYnV0aW9uJywgcmV0dXJuX3ZhbHVlPWRpc3QpOgotLSAgICAgICAgICAgICAgICBy ZXN1bHQgPSBzZWxmLmNtZC5fZGV0ZXJtaW5lX3J1bnRpbWVfZW52KCkKLS0gICAgICAgICAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9kaXN0X3RhZywgcmVzdWx0KQotKyAgICAgICAg Zm9yIGRpZCwgZHZlciwgbGlrZSwgZXhwdGFnIGluIGRpc3RzOgotKyAgICAgICAgICAgIHdpdGgg cGF0Y2goJ2Rpc3Ryby5pZCcsIHJldHVybl92YWx1ZT1kaWQpOgotKyAgICAgICAgICAgICAgICB3 aXRoIHBhdGNoKCdkaXN0cm8ubGlrZScsIHJldHVybl92YWx1ZT1saWtlKToKLSsgICAgICAgICAg ICAgICAgICAgIHdpdGggcGF0Y2goJ2Rpc3Ryby5tYWpvcl92ZXJzaW9uJywgcmV0dXJuX3ZhbHVl PWR2ZXIpOgotKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHNlbGYuY21kLl9kZXRl cm1pbmVfcnVudGltZV9lbnYoKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0 RXF1YWwoZXhwdGFnLCByZXN1bHQpCi0gCi0gCi0gY2xhc3MgVGVzdExvYWRUYXJnZXQoQ29tbWFu ZFRlc3RDYXNlKToKLS0tIAotMi40Ni4wCi0KCmRpZmYgLS1naXQgYS8wMDE2LU1vZGVybml6ZS1h bmQtY2xlYW4tdW5pdHRlc3QtaW1wb3J0cy5wYXRjaCBiLzAwMTYtTW9kZXJuaXplLWFuZC1jbGVh bi11bml0dGVzdC1pbXBvcnRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAx OTM0M2Q4Li4wMDAwMDAwCi0tLSBhLzAwMTYtTW9kZXJuaXplLWFuZC1jbGVhbi11bml0dGVzdC1p bXBvcnRzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcwICswLDAgQEAKLUZyb20gMzJjOTNh NDgzMjcwOThiOTg3YTczOWZlNTgyNGIzODgwYWYzYjAzZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IEFkYW0gV2lsbGlhbXNvbiA8YXdpbGxpYW1AcmVkaGF0LmNvbT4KLURhdGU6IFNh dCwgMTAgQXVnIDIwMjQgMTg6NTI6MjEgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA1LzZdIE1vZGVy bml6ZSBhbmQgY2xlYW4gdW5pdHRlc3QgaW1wb3J0cwotCi1TaWduZWQtb2ZmLWJ5OiBBZGFtIFdp bGxpYW1zb24gPGF3aWxsaWFtQHJlZGhhdC5jb20+Ci0tLS0KLSB0ZXN0L3Rlc3RfYnVnemlsbGEu cHkgfCAgOSArKystLS0tLS0KLSB0ZXN0L3Rlc3RfY2xpLnB5ICAgICAgfCAxMiArKy0tLS0tLS0t LS0KLSB0ZXN0L3Rlc3RfY29tbWFuZHMucHkgfCAgNiArLS0tLS0KLSB0ZXN0L3Rlc3RfcmV0aXJl LnB5ICAgfCAgOSArKy0tLS0tLS0KLSB0ZXN0L3Rlc3RfdXRpbHMucHkgICAgfCAgOCArKy0tLS0t LQotIHRlc3QvdXRpbHMucHkgICAgICAgICB8ICA2ICstLS0tLQotIDYgZmlsZXMgY2hhbmdlZCwg MTEgaW5zZXJ0aW9ucygrKSwgMzkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0L3Rl c3RfYnVnemlsbGEucHkgYi90ZXN0L3Rlc3RfYnVnemlsbGEucHkKLWluZGV4IDZmY2M4YWQuLmMw YThiMDIgMTAwNjQ0Ci0tLS0gYS90ZXN0L3Rlc3RfYnVnemlsbGEucHkKLSsrKyBiL3Rlc3QvdGVz dF9idWd6aWxsYS5weQotQEAgLTEwLDE0ICsxMCwxMSBAQAotICMgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4gIFNlZSBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bWwgZm9yCi0g IyB0aGUgZnVsbCB0ZXh0IG9mIHRoZSBsaWNlbnNlLgotIAotK2ltcG9ydCB1bml0dGVzdAotK2Zy b20gdW5pdHRlc3QubW9jayBpbXBvcnQgTW9jaywgcGF0Y2gKLSsKLSBmcm9tIGZlZHBrZy5idWd6 aWxsYSBpbXBvcnQgQnVnemlsbGFDbGllbnQKLSBmcm9tIHB5cnBrZyBpbXBvcnQgcnBrZ0Vycm9y Ci0tZnJvbSB1dGlscyBpbXBvcnQgdW5pdHRlc3QKLS0KLS10cnk6Ci0tICAgIGZyb20gdW5pdHRl c3QubW9jayBpbXBvcnQgTW9jaywgcGF0Y2gKLS1leGNlcHQgSW1wb3J0RXJyb3I6Ci0tICAgIGZy b20gbW9jayBpbXBvcnQgTW9jaywgcGF0Y2gKLSAKLSAKLSBjbGFzcyBCdWd6aWxsYVNpZGVFZmZl Y3Qob2JqZWN0KToKLWRpZmYgLS1naXQgYS90ZXN0L3Rlc3RfY2xpLnB5IGIvdGVzdC90ZXN0X2Ns aS5weQotaW5kZXggYjczYmIwMi4uZTJkODJkYyAxMDA2NDQKLS0tLSBhL3Rlc3QvdGVzdF9jbGku cHkKLSsrKyBiL3Rlc3QvdGVzdF9jbGkucHkKLUBAIC0xNiwxMCArMTYsMTIgQEAgaW1wb3J0IGpz b24KLSBpbXBvcnQgb3MKLSBpbXBvcnQgcmUKLSBpbXBvcnQgc3lzCi0raW1wb3J0IHVuaXR0ZXN0 Ci0gZnJvbSBjb25maWdwYXJzZXIgaW1wb3J0IE5vT3B0aW9uRXJyb3IsIE5vU2VjdGlvbkVycm9y Ci0gZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YSwgdGltZXpvbmUKLSBm cm9tIG9zIGltcG9ydCBybWRpcgotIGZyb20gdGVtcGZpbGUgaW1wb3J0IG1rZHRlbXAsIG1rc3Rl bXAKLStmcm9tIHVuaXR0ZXN0Lm1vY2sgaW1wb3J0IE1vY2ssIFByb3BlcnR5TW9jaywgY2FsbCwg cGF0Y2gKLSAKLSBpbXBvcnQgZ2l0Ci0gIyBVc2UgZGVwcmVjYXRlZCBwa2dfcmVzb3VyY2VzIGlm IHBhY2thZ2luZyBsaWJyYXJ5IGlzbid0IGF2YWlsYWJsZSAocHl0aG9uIDMuNikKLUBAIC00MCwx NiArNDIsNiBAQCBmcm9tIGZyZWV6ZWd1biBpbXBvcnQgZnJlZXplX3RpbWUKLSBmcm9tIHB5cnBr Zy5lcnJvcnMgaW1wb3J0IHJwa2dFcnJvcgotIGZyb20gdXRpbHMgaW1wb3J0IENsaVRlc3RDYXNl Ci0gCi0tdHJ5OgotLSAgICBpbXBvcnQgdW5pdHRlc3QyIGFzIHVuaXR0ZXN0Ci0tZXhjZXB0IElt cG9ydEVycm9yOgotLSAgICBpbXBvcnQgdW5pdHRlc3QKLS0KLS10cnk6Ci0tICAgIGZyb20gdW5p dHRlc3QubW9jayBpbXBvcnQgTW9jaywgUHJvcGVydHlNb2NrLCBjYWxsLCBwYXRjaAotLWV4Y2Vw dCBJbXBvcnRFcnJvcjoKLS0gICAgZnJvbSBtb2NrIGltcG9ydCBNb2NrLCBQcm9wZXJ0eU1vY2ss IGNhbGwsIHBhdGNoCi0tCi0gdHJ5OgotICAgICBpbXBvcnQgYm9kaGkKLSAgICAgYm9kaGlfdmVy c2lvbiA9IGRpc3RyaWJ1dGlvbignYm9kaGktY2xpZW50JykudmVyc2lvbgotZGlmZiAtLWdpdCBh L3Rlc3QvdGVzdF9jb21tYW5kcy5weSBiL3Rlc3QvdGVzdF9jb21tYW5kcy5weQotaW5kZXggMjky M2NhMC4uOGE5MDY2OCAxMDA2NDQKLS0tLSBhL3Rlc3QvdGVzdF9jb21tYW5kcy5weQotKysrIGIv dGVzdC90ZXN0X2NvbW1hbmRzLnB5Ci1AQCAtMTAsMTUgKzEwLDExIEBACi0gIyB0aGUgZnVsbCB0 ZXh0IG9mIHRoZSBsaWNlbnNlLgotIAotIGltcG9ydCBidWlsdGlucwotK2Zyb20gdW5pdHRlc3Qu bW9jayBpbXBvcnQgTW9jaywgUHJvcGVydHlNb2NrLCBjYWxsLCBtb2NrX29wZW4sIHBhdGNoCi0g Ci0gZnJvbSBweXJwa2cuZXJyb3JzIGltcG9ydCBycGtnRXJyb3IKLSBmcm9tIHV0aWxzIGltcG9y dCBDb21tYW5kVGVzdENhc2UKLSAKLS10cnk6Ci0tICAgIGZyb20gdW5pdHRlc3QubW9jayBpbXBv cnQgTW9jaywgUHJvcGVydHlNb2NrLCBjYWxsLCBtb2NrX29wZW4sIHBhdGNoCi0tZXhjZXB0IElt cG9ydEVycm9yOgotLSAgICBmcm9tIG1vY2sgaW1wb3J0IE1vY2ssIFByb3BlcnR5TW9jaywgY2Fs bCwgbW9ja19vcGVuLCBwYXRjaAotLQotIAotIGNsYXNzIFRlc3REZXRlcm1pbmVSdW50aW1lRW52 KENvbW1hbmRUZXN0Q2FzZSk6Ci0gICAgICIiIlRlc3QgQ29tbWFuZHMuX2RldGVybWluZV9ydW50 aW1lX2VudiIiIgotZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9yZXRpcmUucHkgYi90ZXN0L3Rlc3Rf cmV0aXJlLnB5Ci1pbmRleCA5YjEwY2FmLi5lNmYzNzFlIDEwMDY0NAotLS0tIGEvdGVzdC90ZXN0 X3JldGlyZS5weQotKysrIGIvdGVzdC90ZXN0X3JldGlyZS5weQotQEAgLTUsMjEgKzUsMTYgQEAg aW1wb3J0IG9zCi0gaW1wb3J0IHNodXRpbAotIGltcG9ydCBzdWJwcm9jZXNzCi0gaW1wb3J0IHRl bXBmaWxlCi0rZnJvbSB1bml0dGVzdCBpbXBvcnQgbW9jaywgVGVzdENhc2UKLSAKLSBmcm9tIHB5 cnBrZy5lcnJvcnMgaW1wb3J0IHJwa2dFcnJvcgotLWZyb20gdXRpbHMgaW1wb3J0IHVuaXR0ZXN0 Ci0gCi0gZnJvbSBmZWRwa2cuY2xpIGltcG9ydCBmZWRwa2dDbGllbnQKLSAKLS10cnk6Ci0tICAg IGZyb20gdW5pdHRlc3QgaW1wb3J0IG1vY2sKLS1leGNlcHQgSW1wb3J0RXJyb3I6Ci0tICAgIGlt cG9ydCBtb2NrCi0tCi0gVEVTVF9DT05GSUcgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1l KF9fZmlsZV9fKSwgJ2ZlZHBrZy10ZXN0LmNvbmYnKQotIAotIAotLWNsYXNzIFJldGlyZVRlc3RD YXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKLStjbGFzcyBSZXRpcmVUZXN0Q2FzZShUZXN0Q2FzZSk6 Ci0gICAgIGRlZiBzZXRVcChzZWxmKToKLSAgICAgICAgIHNlbGYudG1wZGlyID0gdGVtcGZpbGUu bWtkdGVtcCgpCi0gICAgICAgICBzZWxmLmxvZyA9IG1vY2suTW9jaygpCi1kaWZmIC0tZ2l0IGEv dGVzdC90ZXN0X3V0aWxzLnB5IGIvdGVzdC90ZXN0X3V0aWxzLnB5Ci1pbmRleCAwNGVhMjJhLi4w OWRkYmRiIDEwMDY0NAotLS0tIGEvdGVzdC90ZXN0X3V0aWxzLnB5Ci0rKysgYi90ZXN0L3Rlc3Rf dXRpbHMucHkKLUBAIC0xMiwxOCArMTIsMTQgQEAKLSAKLSBmcm9tIGNvbmZpZ3BhcnNlciBpbXBv cnQgTm9PcHRpb25FcnJvciwgTm9TZWN0aW9uRXJyb3IKLSBpbXBvcnQganNvbgotK2ltcG9ydCB1 bml0dGVzdAotK2Zyb20gdW5pdHRlc3QubW9jayBpbXBvcnQgTW9jaywgcGF0Y2gKLSAKLSBmcm9t IHJlcXVlc3RzLmV4Y2VwdGlvbnMgaW1wb3J0IENvbm5lY3Rpb25FcnJvcgotIAotIGZyb20gZmVk cGtnIGltcG9ydCB1dGlscwotIGZyb20gZnJlZXplZ3VuIGltcG9ydCBmcmVlemVfdGltZQotIGZy b20gcHlycGtnLmVycm9ycyBpbXBvcnQgcnBrZ0Vycm9yCi0tZnJvbSB1dGlscyBpbXBvcnQgdW5p dHRlc3QKLS0KLS10cnk6Ci0tICAgIGZyb20gdW5pdHRlc3QubW9jayBpbXBvcnQgTW9jaywgcGF0 Y2gKLS1leGNlcHQgSW1wb3J0RXJyb3I6Ci0tICAgIGZyb20gbW9jayBpbXBvcnQgTW9jaywgcGF0 Y2gKLSAKLSAKLSBjbGFzcyBUZXN0VXRpbHModW5pdHRlc3QuVGVzdENhc2UpOgotZGlmZiAtLWdp dCBhL3Rlc3QvdXRpbHMucHkgYi90ZXN0L3V0aWxzLnB5Ci1pbmRleCBjOThmN2VjLi5iNGNlMjBj IDEwMDY0NAotLS0tIGEvdGVzdC91dGlscy5weQotKysrIGIvdGVzdC91dGlscy5weQotQEAgLTE2 LDE2ICsxNiwxMiBAQCBpbXBvcnQgb3MKLSBpbXBvcnQgc2h1dGlsCi0gaW1wb3J0IHN1YnByb2Nl c3MKLSBpbXBvcnQgdGVtcGZpbGUKLStpbXBvcnQgdW5pdHRlc3QKLSAKLSBpbXBvcnQgZmVkcGtn LmNsaQotIGltcG9ydCBweXJwa2cKLSBmcm9tIGZlZHBrZyBpbXBvcnQgQ29tbWFuZHMKLSAKLS10 cnk6Ci0tICAgIGltcG9ydCB1bml0dGVzdDIgYXMgdW5pdHRlc3QKLS1leGNlcHQgSW1wb3J0RXJy b3I6Ci0tICAgIGltcG9ydCB1bml0dGVzdAotLQotIAotIGNsYXNzIEFzc2VydGlvbnMob2JqZWN0 KToKLSAKLS0tIAotMi40Ni4wCi0KCmRpZmYgLS1naXQgYS8wMDE3LVVwZGF0ZS1jaGVja19ib2Ro aV92ZXJzaW9uLXRvLWNoZWNrLWZvci02LjAuMC5wYXRjaCBiLzAwMTctVXBkYXRlLWNoZWNrX2Jv ZGhpX3ZlcnNpb24tdG8tY2hlY2stZm9yLTYuMC4wLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBkMGY1ZWQ2Li4wMDAwMDAwCi0tLSBhLzAwMTctVXBkYXRlLWNoZWNrX2JvZGhp X3ZlcnNpb24tdG8tY2hlY2stZm9yLTYuMC4wLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTA5 ICswLDAgQEAKLUZyb20gNTY1YmRjYmM2NTM5MWJiYmMxZTU5NWNiM2M0NmNlYTkxYzE0ZmMyNiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFkYW0gV2lsbGlhbXNvbiA8YXdpbGxpYW1A cmVkaGF0LmNvbT4KLURhdGU6IFNhdCwgMTAgQXVnIDIwMjQgMTk6MjE6NTYgLTA0MDAKLVN1Ympl Y3Q6IFtQQVRDSCA2LzZdIFVwZGF0ZSBjaGVja19ib2RoaV92ZXJzaW9uIHRvIGNoZWNrIGZvciA+ PSA2LjAuMAotCi1UaGlzIGxvc2VzIHRoZSBsb2dpYyBmb3IgaGFuZGxpbmcgYW4gZXhjZXB0aW9u IGlmIHdlJ3JlIHVuZGVyCi0yLjAgb3IgYm9kaGktY2xpZW50IGlzbid0IGluc3RhbGxlZCBhdCBh bGwsIGJ1dCBlaGhoLCB0aGF0IHNlZW1zCi11bm5lY2Vzc2FyeS4gSXQncyBwcmV0dHkgdW5saWtl bHkgYW55b25lIGNvdWxkIG1hbmFnZSB0byBoYXZlCi08IDIuMCBhdCB0aGlzIHBvaW50LgotCi1N ZXJnZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZlZHBrZy9wdWxsLXJlcXVlc3QvNTYwCi0KLVNpZ25l ZC1vZmYtYnk6IEFkYW0gV2lsbGlhbXNvbiA8YXdpbGxpYW1AcmVkaGF0LmNvbT4KLS0tLQotIGZl ZHBrZy9jbGkucHkgICAgfCAyMiArKysrKysrKysrLS0tLS0tLS0tLS0tCi0gdGVzdC90ZXN0X2Ns aS5weSB8IDM1ICsrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMiBmaWxlcyBj aGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAzOSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBh L2ZlZHBrZy9jbGkucHkgYi9mZWRwa2cvY2xpLnB5Ci1pbmRleCBkMjdiOGIxLi5kNDJmODQ4IDEw MDY0NAotLS0tIGEvZmVkcGtnL2NsaS5weQotKysrIGIvZmVkcGtnL2NsaS5weQotQEAgLTIzLDkg KzIzLDE0IEBAIGltcG9ydCB0ZXh0d3JhcAotIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1l Ci0gIyBVc2UgZGVwcmVjYXRlZCBwa2dfcmVzb3VyY2VzIGlmIGltcG9ydGxpYiBpc24ndCBhdmFp bGFibGUgKHB5dGhvbiAzLjYpCi0gdHJ5OgotLSAgICBpbXBvcnQgaW1wb3J0bGliLm1ldGFkYXRh Ci0rICAgIGZyb20gaW1wb3J0bGliLm1ldGFkYXRhIGltcG9ydCBkaXN0cmlidXRpb24KLSBleGNl cHQgSW1wb3J0RXJyb3I6Ci0tICAgIGltcG9ydCBwa2dfcmVzb3VyY2VzCi0rICAgIGZyb20gcGtn X3Jlc291cmNlcyBpbXBvcnQgZ2V0X2Rpc3RyaWJ1dGlvbiBhcyBkaXN0cmlidXRpb24KLSsjIFVz ZSBkZXByZWNhdGVkIHBrZ19yZXNvdXJjZXMgaWYgcGFja2FnaW5nIGxpYnJhcnkgaXNuJ3QgYXZh aWxhYmxlIChweXRob24gMy42KQotK3RyeToKLSsgICAgZnJvbSBwYWNrYWdpbmcudmVyc2lvbiBp bXBvcnQgcGFyc2UgYXMgcGFyc2VfdmVyc2lvbgotK2V4Y2VwdCBJbXBvcnRFcnJvcjoKLSsgICAg ZnJvbSBwa2dfcmVzb3VyY2VzIGltcG9ydCBwYXJzZV92ZXJzaW9uCi0gZnJvbSBweXJwa2cgaW1w b3J0IHJwa2dFcnJvcgotIGZyb20gcHlycGtnLmNsaSBpbXBvcnQgY2xpQ2xpZW50Ci0gaW1wb3J0 IGNvbmZpZ3BhcnNlcgotQEAgLTk0LDE2ICs5OSw5IEBAIHJlcXVpcmVfdGVzdGNhc2VzPSUocmVx dWlyZV90ZXN0Y2FzZXMpcwotIAotIGRlZiBjaGVja19ib2RoaV92ZXJzaW9uKCk6Ci0gICAgICMg VXNlIGRlcHJlY2F0ZWQgcGtnX3Jlc291cmNlcyBpZiBpbXBvcnRsaWIgaXNuJ3QgYXZhaWxhYmxl IChweXRob24gMy42KQotLSAgICB0cnk6Ci0tICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgaW1w b3J0bGliLm1ldGFkYXRhLmRpc3RyaWJ1dGlvbignYm9kaGlfY2xpZW50JykKLS0gICAgICAgIGV4 Y2VwdCBpbXBvcnRsaWIubWV0YWRhdGEuUGFja2FnZU5vdEZvdW5kRXJyb3I6Ci0tICAgICAgICAg ICAgcmFpc2UgcnBrZ0Vycm9yKCdib2RoaS1jbGllbnQgPCAyLjAgaXMgbm90IHN1cHBvcnRlZC4n KQotLSAgICBleGNlcHQgTmFtZUVycm9yOgotLSAgICAgICAgdHJ5OgotLSAgICAgICAgICAgIHBr Z19yZXNvdXJjZXMuZ2V0X2Rpc3RyaWJ1dGlvbignYm9kaGlfY2xpZW50JykKLS0gICAgICAgIGV4 Y2VwdCBwa2dfcmVzb3VyY2VzLkRpc3RyaWJ1dGlvbk5vdEZvdW5kOgotLSAgICAgICAgICAgIHJh aXNlIHJwa2dFcnJvcignYm9kaGktY2xpZW50IDwgMi4wIGlzIG5vdCBzdXBwb3J0ZWQuJykKLSsg ICAgYm9kaGlfdmVyc2lvbiA9IGRpc3RyaWJ1dGlvbignYm9kaGktY2xpZW50JykudmVyc2lvbgot KyAgICBpZiBwYXJzZV92ZXJzaW9uKGJvZGhpX3ZlcnNpb24pIDwgcGFyc2VfdmVyc2lvbigiNi4w LjAiKToKLSsgICAgICAgIHJhaXNlIHJwa2dFcnJvcignYm9kaGktY2xpZW50IDwgNi4wLjAgaXMg bm90IHN1cHBvcnRlZC4nKQotIAotIAotIGNsYXNzIGZlZHBrZ0NsaWVudChjbGlDbGllbnQpOgot ZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9jbGkucHkgYi90ZXN0L3Rlc3RfY2xpLnB5Ci1pbmRleCBl MmQ4MmRjLi5kMjAxZTdmIDEwMDY0NAotLS0tIGEvdGVzdC90ZXN0X2NsaS5weQotKysrIGIvdGVz dC90ZXN0X2NsaS5weQotQEAgLTE2MDQsMzQgKzE2MDQsMTUgQEAgY2xhc3MgVGVzdFJlcXVlc3RU ZXN0c1JlcG8oQ2xpVGVzdENhc2UpOgotICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Ry KGVycm9yKSwgZXhwZWN0ZWRfZXJyb3IpCi0gCi0gCi0tIyBVc2UgZGVwcmVjYXRlZCBwa2dfcmVz b3VyY2VzIGlmIGltcG9ydGxpYiBpc24ndCBhdmFpbGFibGUgKHB5dGhvbiAzLjYpCi0tdHJ5Ogot LSAgICBpbXBvcnQgaW1wb3J0bGliLm1ldGFkYXRhCi0tCi0tICAgIGNsYXNzIFRlc3RDaGVja0Jv ZGhpVmVyc2lvbih1bml0dGVzdC5UZXN0Q2FzZSk6Ci0tICAgICAgICAiIiJUZXN0IGNoZWNrX2Jv ZGhpX3ZlcnNpb24iIiIKLS0KLS0gICAgICAgIEBwYXRjaCgnaW1wb3J0bGliLm1ldGFkYXRhLmRp c3RyaWJ1dGlvbicpCi0tICAgICAgICBkZWYgdGVzdF9ub18yX3hfdmVyc2lvbl9pbnN0YWxsZWQo c2VsZiwgZGlzdHJpYnV0aW9uKToKLS0gICAgICAgICAgICBkaXN0cmlidXRpb24uc2lkZV9lZmZl Y3QgPSBpbXBvcnRsaWIubWV0YWRhdGEuUGFja2FnZU5vdEZvdW5kRXJyb3IKLS0KLS0gICAgICAg ICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAotLSAgICAgICAgICAgICAgICBycGtnRXJyb3Is IHInYm9kaGktY2xpZW50IDwgMlwuMCBpcyBub3Qgc3VwcG9ydGVkXC4nLAotLSAgICAgICAgICAg ICAgICBjaGVja19ib2RoaV92ZXJzaW9uKQotK2NsYXNzIFRlc3RDaGVja0JvZGhpVmVyc2lvbih1 bml0dGVzdC5UZXN0Q2FzZSk6Ci0rICAgICIiIlRlc3QgY2hlY2tfYm9kaGlfdmVyc2lvbiIiIgot IAotLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLS0gICAgaW1wb3J0IHBrZ19yZXNvdXJjZXMKLS0KLS0g ICAgY2xhc3MgVGVzdENoZWNrQm9kaGlWZXJzaW9uKHVuaXR0ZXN0LlRlc3RDYXNlKToKLS0gICAg ICAgICIiIlRlc3QgY2hlY2tfYm9kaGlfdmVyc2lvbiIiIgotLQotLSAgICAgICAgQHBhdGNoKCdw a2dfcmVzb3VyY2VzLmdldF9kaXN0cmlidXRpb24nKQotLSAgICAgICAgZGVmIHRlc3Rfbm9fMl94 X3ZlcnNpb25faW5zdGFsbGVkKHNlbGYsIGdldF9kaXN0cmlidXRpb24pOgotLSAgICAgICAgICAg IGdldF9kaXN0cmlidXRpb24uc2lkZV9lZmZlY3QgPSBwa2dfcmVzb3VyY2VzLkRpc3RyaWJ1dGlv bk5vdEZvdW5kCi0tCi0tICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleCgKLS0gICAg ICAgICAgICAgICAgcnBrZ0Vycm9yLCByJ2JvZGhpLWNsaWVudCA8IDJcLjAgaXMgbm90IHN1cHBv cnRlZFwuJywKLS0gICAgICAgICAgICAgICAgY2hlY2tfYm9kaGlfdmVyc2lvbikKLSsgICAgQHBh dGNoKCdmZWRwa2cuY2xpLmRpc3RyaWJ1dGlvbicpCi0rICAgIGRlZiB0ZXN0X25vXzZfeF92ZXJz aW9uX2luc3RhbGxlZChzZWxmLCBtb2NrX2Rpc3RyaWJ1dGlvbik6Ci0rICAgICAgICBtb2NrX2Rp c3RyaWJ1dGlvbi5yZXR1cm5fdmFsdWUudmVyc2lvbiA9ICc1LjcuNScKLSsgICAgICAgIHNlbGYu YXNzZXJ0UmFpc2VzUmVnZXgoCi0rICAgICAgICAgICAgcnBrZ0Vycm9yLCByJ2JvZGhpLWNsaWVu dCA8IDZcLjBcLjAgaXMgbm90IHN1cHBvcnRlZFwuJywKLSsgICAgICAgICAgICBjaGVja19ib2Ro aV92ZXJzaW9uKQotIAotIAotIEB1bml0dGVzdC5za2lwVW5sZXNzKGJvZGhpLCAnU2tpcCBpZiBu byBzdXBwb3J0ZWQgYm9kaGktY2xpZW50IGlzIGF2YWlsYWJsZScpCi0tLSAKLTIuNDYuMAotCgpk aWZmIC0tZ2l0IGEvMDAxOC1GaXgtVVJMLW9mLUJvZGhpLWluLXN0YWdpbmcucGF0Y2ggYi8wMDE4 LUZpeC1VUkwtb2YtQm9kaGktaW4tc3RhZ2luZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggNTcyMWU3Yi4uMDAwMDAwMAotLS0gYS8wMDE4LUZpeC1VUkwtb2YtQm9kaGktaW4t c3RhZ2luZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gNzE5MWY4 YTI1NWRlYWEyOTM2ZTQxOWFjNzY0NTMyMjM0NmMzNzNlMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IE5pbHMgUGhpbGlwcHNlbiA8bmlsc0ByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAx NSBBdWcgMjAyNCAyMDoxNzozNCArMDIwMAotU3ViamVjdDogW1BBVENIXSBGaXggVVJMIG9mIEJv ZGhpIGluIHN0YWdpbmcKLQotT3RoZXJ3aXNlLCBpdCBlcnJvcnMgb3V0IGxpa2UgdGhpczoKLQot YGBgCi0kIGZlZHBrZy1zdGFnZSBidWlsZAotQ291bGQgbm90IGV4ZWN1dGUgYnVpbGQ6IEludmFs aWQgVVJMICdib2RoaS5zdGcuZmVkb3JhcHJvamVjdC5vcmcvcmVsZWFzZXMvLz9leGNsdWRlX2Fy Y2hpdmVkPVRydWUnOiBObyBzY2hlbWUgc3VwcGxpZWQuIFBlcmhhcHMgeW91IG1lYW50IGh0dHBz Oi8vYm9kaGkuc3RnLmZlZG9yYXByb2plY3Qub3JnL3JlbGVhc2VzLy8/ZXhjbHVkZV9hcmNoaXZl ZD1UcnVlPwotYGBgCi0KLVNpZ25lZC1vZmYtYnk6IE5pbHMgUGhpbGlwcHNlbiA8bmlsc0ByZWRo YXQuY29tPgotLS0tCi0gY29uZi9ldGMvcnBrZy9mZWRwa2ctc3RhZ2UuY29uZiB8IDIgKy0KLSAx IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdp dCBhL2NvbmYvZXRjL3Jwa2cvZmVkcGtnLXN0YWdlLmNvbmYgYi9jb25mL2V0Yy9ycGtnL2ZlZHBr Zy1zdGFnZS5jb25mCi1pbmRleCAxNDRjZTc2Li44ZjkyZmM4IDEwMDY0NAotLS0tIGEvY29uZi9l dGMvcnBrZy9mZWRwa2ctc3RhZ2UuY29uZgotKysrIGIvY29uZi9ldGMvcnBrZy9mZWRwa2ctc3Rh Z2UuY29uZgotQEAgLTU3LDcgKzU3LDcgQEAgbG9va2FzaWRlX2RlbGF5ID0gMTUKLSAjIFJlZmVy IHRvIGZlZHBrZy5jb25mCi0gc3RhZ2luZyA9IFRydWUKLSByZWxlYXNlc19zZXJ2aWNlID0gaHR0 cHM6Ly9ib2RoaS5zdGcuZmVkb3JhcHJvamVjdC5vcmcvcmVsZWFzZXMvJShyZWxlYXNlKXMKLS11 cmwgPSBib2RoaS5zdGcuZmVkb3JhcHJvamVjdC5vcmcvCi0rdXJsID0gaHR0cHM6Ly9ib2RoaS5z dGcuZmVkb3JhcHJvamVjdC5vcmcvCi0gCi0gW2ZlZHBrZy1zdGFnZS5tYnNdCi0gYXV0aF9tZXRo b2QgPSBvaWRjCi0tLSAKLTIuNDYuMAotCgpkaWZmIC0tZ2l0IGEvMDAxOS1GaXhlcy1taXNzaW5n LWtleS1pbi1kaXN0cm8ub3NfcmVsZWFzZV9pbmZvLnBhdGNoIGIvMDAxOS1GaXhlcy1taXNzaW5n LWtleS1pbi1kaXN0cm8ub3NfcmVsZWFzZV9pbmZvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA0MGJjMjAyLi4wMDAwMDAwCi0tLSBhLzAwMTktRml4ZXMtbWlzc2luZy1rZXkt aW4tZGlzdHJvLm9zX3JlbGVhc2VfaW5mby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMyICsw LDAgQEAKLUZyb20gMDVjNGNiM2IxMTNlYjllMzY3OWY2MzQ0ZDJjNzI4M2UyODE1ODFmNCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9PbmQ9QzU9OTllaj0yME5vc2Vr Pz0gPG9ub3Nla0ByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAxOCBTZXAgMjAyNCAwNDo1MTowNiAr MDIwMAotU3ViamVjdDogW1BBVENIXSBGaXhlcyBtaXNzaW5nIGtleSBpbiBkaXN0cm8ub3NfcmVs ZWFzZV9pbmZvKCkKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47 IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotRHVyaW5n IGJ1aWxkaW5nIGluIEtvamkgdW5pdCB0ZXN0IGZhaWxzIG9uIG1pc3Npbmcga2V5ICd2YXJpYW50 Jy4KLQotU2lnbmVkLW9mZi1ieTogT25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+Ci0t LS0KLSBmZWRwa2cvX19pbml0X18ucHkgfCAzICsrLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2ZlZHBrZy9fX2luaXRfXy5w eSBiL2ZlZHBrZy9fX2luaXRfXy5weQotaW5kZXggNTdhNmVhZS4uMmQzZWQ3ZSAxMDA2NDQKLS0t LSBhL2ZlZHBrZy9fX2luaXRfXy5weQotKysrIGIvZmVkcGtnL19faW5pdF9fLnB5Ci1AQCAtMjc5 LDcgKzI3OSw4IEBAIGNsYXNzIENvbW1hbmRzKHB5cnBrZy5Db21tYW5kcyk6Ci0gICAgICAgICBp ZiBkaXN0cm8uaWQoKSA9PSAncmhlbCcgb3IgJ3JoZWwnIGluIGRpc3Ryby5saWtlKCkuc3BsaXQo KToKLSAgICAgICAgICAgICByZXR1cm4gJ2VsJXMnICUgZGlzdHJvLm1ham9yX3ZlcnNpb24oKQot ICAgICAgICAgaWYgZGlzdHJvLmlkKCkgPT0gJ2ZlZG9yYSc6Ci0tICAgICAgICAgICAgaWYgZGlz dHJvLm9zX3JlbGVhc2VfaW5mbygpWyd2YXJpYW50J10gPT0gJ0VMTic6Ci0rICAgICAgICAgICAg b3NfcmVsZWFzZV9pbmZvID0gZGlzdHJvLm9zX3JlbGVhc2VfaW5mbygpCi0rICAgICAgICAgICAg aWYgJ3ZhcmlhbnQnIGluIG9zX3JlbGVhc2VfaW5mbyBhbmQgb3NfcmVsZWFzZV9pbmZvWyd2YXJp YW50J10gPT0gJ0VMTic6Ci0gICAgICAgICAgICAgICAgIG1hY3JvcyA9IHNlbGYuX2dldF9idWls ZF9tYWNyb3MoJ2Vsbi1jYW5kaWRhdGUnKQotICAgICAgICAgICAgICAgICByZXR1cm4gJ2VsbiVz JyAlIG1hY3Jvc1snZWxuJ10KLSAgICAgICAgICAgICByZXR1cm4gJ2ZjJXMnICUgZGlzdHJvLm1h am9yX3ZlcnNpb24oKQotLS0gCi0yLjQ2LjAKLQoKZGlmZiAtLWdpdCBhLzAwMjAtRG8tbm90LWF1 dG8tcmVxdWVzdC1FTE4tbW9kdWxlcy5wYXRjaCBiLzAwMjAtRG8tbm90LWF1dG8tcmVxdWVzdC1F TE4tbW9kdWxlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWMyMWFiNy4u MDAwMDAwMAotLS0gYS8wMDIwLURvLW5vdC1hdXRvLXJlcXVlc3QtRUxOLW1vZHVsZXMucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIGJjMWQxOGU2NTliZjA0YmMzM2M4 YTYyN2ZlZGIzMjMwMzZmMWY0MzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBZYWFr b3YgU2Vsa293aXR6IDx5c2Vsa293aUByZWRoYXQuY29tPgotRGF0ZTogTW9uLCAyNiBBdWcgMjAy NCAxNzo0Njo1MSAtMDQwMAotU3ViamVjdDogW1BBVENIXSBEbyBub3QgYXV0by1yZXF1ZXN0IEVM TiBtb2R1bGVzCi0KLUVMTiBpcyBhIHJlbGVhc2UgYnJhbmNoLiAgV2hpbGUgYWNjZXB0YW5jZSBv ZiB0aGUgLS1zbCBhcmd1bWVudCBpcwotZGV0ZXJtaW5lZCBmcm9tIEJvZGhpLCB0aGlzIHJlZ2V4 IGlzIHN0aWxsIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZW4gbW9kdWxlcwotc2hvdWxkIGJlIGF1dG8t cmVxdWVzdGVkLgotCi1SZWxhdGVzOiBodHRwczovL3BhZ3VyZS5pby9yZWxlbmcvaXNzdWUvMTIy NzMKLU1lcmdlczogaHR0cHM6Ly9wYWd1cmUuaW8vZmVkcGtnL3B1bGwtcmVxdWVzdC81NjQKLQot U2lnbmVkLW9mZi1ieTogWWFha292IFNlbGtvd2l0eiA8eXNlbGtvd2lAcmVkaGF0LmNvbT4KLS0t LQotIGZlZHBrZy9jbGkucHkgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9mZWRwa2cvY2xpLnB5IGIvZmVkcGtnL2Ns aS5weQotaW5kZXggZDQyZjg0OC4uYTQzODFhNyAxMDA2NDQKLS0tLSBhL2ZlZHBrZy9jbGkucHkK LSsrKyBiL2ZlZHBrZy9jbGkucHkKLUBAIC00Niw3ICs0Niw3IEBAIGZyb20gZmVkcGtnLnV0aWxz IGltcG9ydCAoYXNzZXJ0X25ld190ZXN0c19yZXBvLCBhc3NlcnRfdmFsaWRfZXBlbF9wYWNrYWdl LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3JlbGVhc2VfYnJhbmNoZXMsIGdldF9z dHJlYW1fYnJhbmNoZXMsIGlzX2VwZWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdf cGFndXJlX2lzc3VlLCBzbF9saXN0X3RvX2RpY3QsIHZlcmlmeV9zbHMpCi0gCi0tUkVMRUFTRV9C UkFOQ0hfUkVHRVggPSByJ14oZlxkK3xlbFxkK3xlcGVsXGQrKSQnCi0rUkVMRUFTRV9CUkFOQ0hf UkVHRVggPSByJ14oZlxkK3xlbFxkK3xlbG58ZXBlbFxkKykkJwotIExPQ0FMX1BBQ0tBR0VfQ09O RklHID0gJ3BhY2thZ2UuY2ZnJwotIAotIEJPREhJX1RFTVBMQVRFID0gIiIiXAotLS0gCi0yLjQ2 LjAKLQoKZGlmZiAtLWdpdCBhLzAwMjEtRml4LW1pbm9yLXJlcXVpcmVtZW50cy1mb3ItRVBFTDEw LWluLXRlc3QucGF0Y2ggYi8wMDIxLUZpeC1taW5vci1yZXF1aXJlbWVudHMtZm9yLUVQRUwxMC1p bi10ZXN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOGQzMWUwLi4wMDAw MDAwCi0tLSBhLzAwMjEtRml4LW1pbm9yLXJlcXVpcmVtZW50cy1mb3ItRVBFTDEwLWluLXRlc3Qu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1Gcm9tIDI4NGU3OTg4YTIyYmY3 NDNlYjBkZTFjMDM4MDExMGNmNmRlMTJlN2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBEaWVnbyBIZXJyZXJhIDxkaGVycmVyYUByZWRoYXQuY29tPgotRGF0ZTogRnJpLCAxNiBBdWcg MjAyNCAxMzo1MDoyNyAtMDQwMAotU3ViamVjdDogW1BBVENIIDEvN10gRml4IG1pbm9yIHJlcXVp cmVtZW50cyBmb3IgRVBFTDEwKyBpbiB0ZXN0Ci0KLVNpZ25lZC1vZmYtYnk6IERpZWdvIEhlcnJl cmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+Ci0tLS0KLSB0ZXN0L3Rlc3RfY29tbWFuZHMucHkgfCAx NiArKysrKysrKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDMg ZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0L3Rlc3RfY29tbWFuZHMucHkgYi90ZXN0 L3Rlc3RfY29tbWFuZHMucHkKLWluZGV4IDhhOTA2NjguLmIyYWUzZmEgMTAwNjQ0Ci0tLS0gYS90 ZXN0L3Rlc3RfY29tbWFuZHMucHkKLSsrKyBiL3Rlc3QvdGVzdF9jb21tYW5kcy5weQotQEAgLTI2 NiwxNyArMjY2LDI3IEBAIGNsYXNzIFRlc3RMb2FkUnBtRGVmaW5lcyhDb21tYW5kVGVzdENhc2Up OgotIAotICAgICAgICAgc2VsZi5hc3NlcnRfcnBtZGVmaW5lcygpCi0gCi0rICAgIEBwYXRjaCgn cHlycGtnLkNvbW1hbmRzLmtvamlzZXNzaW9uJywgbmV3X2NhbGxhYmxlPVByb3BlcnR5TW9jaykK LSAgICAgQHBhdGNoKCdweXJwa2cuQ29tbWFuZHMuYnJhbmNoX21lcmdlJywgbmV3X2NhbGxhYmxl PVByb3BlcnR5TW9jaykKLS0gICAgZGVmIHRlc3RfbG9hZF9lcGVsMTBfZGlzdF90YWcoc2VsZiwg YnJhbmNoX21lcmdlKToKLSsgICAgZGVmIHRlc3RfbG9hZF9lcGVsMTBfZGlzdF90YWcoc2VsZiwg YnJhbmNoX21lcmdlLCBrb2ppc2Vzc2lvbik6Ci0gICAgICAgICBicmFuY2hfbWVyZ2UucmV0dXJu X3ZhbHVlID0gJ2VwZWwxMCcKLSAKLSsgICAgICAgIHNlbGYuY21kLl9rb2ppc2Vzc2lvbiA9IE1v Y2soKQotKyAgICAgICAga29qaV9zZXNzaW9uID0ga29qaXNlc3Npb24ucmV0dXJuX3ZhbHVlCi0r ICAgICAgICBrb2ppX3Nlc3Npb24uZ2V0QnVpbGRDb25maWcucmV0dXJuX3ZhbHVlID0gewotKyAg ICAgICAgICAgICMgbWluaW1hbCBzdWJzZXQgb2YgdGhlIHJlYWwga29qaSByZXNwb25zZQotKyAg ICAgICAgICAgICdleHRyYSc6IHsKLSsgICAgICAgICAgICAgICAgJ3JwbS5tYWNyby5kaXN0Y29y ZSc6ICcuZWwxMF8zJywKLSsgICAgICAgICAgICB9LAotKyAgICAgICAgfQotKwotICAgICAgICAg c2VsZi5jbWQubG9hZF9ycG1kZWZpbmVzKCkKLSAKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo JzEwJywgc2VsZi5jbWQuX2Rpc3R2YWwpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdyaGVs Jywgc2VsZi5jbWQuX2Rpc3R2YXIpCi0tICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdlbDEwJywg c2VsZi5jbWQuX2Rpc3R0YWcpCi0rICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdlbDEwXzMnLCBz ZWxmLmNtZC5fZGlzdHRhZykKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2VwZWwtMTAtaTY4 NicsIHNlbGYuY21kLm1vY2tjb25maWcpCi0tICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdlcGVs MTAtb3ZlcnJpZGUnLCBzZWxmLmNtZC5vdmVycmlkZSkKLSsgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWwoJ2VwZWwxMC4zLW92ZXJyaWRlJywgc2VsZi5jbWQub3ZlcnJpZGUpCi0gICAgICAgICBzZWxm LmFzc2VydFRydWUoaGFzYXR0cihzZWxmLmNtZCwgJ19kaXN0dW5zZXQnKSkKLSAKLSAgICAgICAg IHNlbGYuYXNzZXJ0X3JwbWRlZmluZXMoKQotLS0gCi0yLjQ2LjAKLQoKZGlmZiAtLWdpdCBhLzAw MjItVXNlLW1pbm9yLXZhbHVlLWZyb20ta29qaS13aGVuLW5vLW1pbm9yLWluLWJyYW5jaC1uYS5w YXRjaCBiLzAwMjItVXNlLW1pbm9yLXZhbHVlLWZyb20ta29qaS13aGVuLW5vLW1pbm9yLWluLWJy YW5jaC1uYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGIxMzA4YS4uMDAw MDAwMAotLS0gYS8wMDIyLVVzZS1taW5vci12YWx1ZS1mcm9tLWtvamktd2hlbi1uby1taW5vci1p bi1icmFuY2gtbmEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi1Gcm9tIDA4 M2QzYjM1NzM0ODA1YWIwNjA2YWRmZWM1MjVkOTNlMGQ2YmYzM2YgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBEaWVnbyBIZXJyZXJhIDxkaGVycmVyYUByZWRoYXQuY29tPgotRGF0ZTog RnJpLCAxNiBBdWcgMjAyNCAxMzo1MTozMiAtMDQwMAotU3ViamVjdDogW1BBVENIIDIvN10gVXNl IG1pbm9yIHZhbHVlIGZyb20ga29qaSB3aGVuIG5vIG1pbm9yIGluIGJyYW5jaCBuYW1lCi0KLVNp Z25lZC1vZmYtYnk6IERpZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+Ci0tLS0KLSBm ZWRwa2cvX19pbml0X18ucHkgfCAzMiArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQot IDEgZmlsZSBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQotCi1kaWZm IC0tZ2l0IGEvZmVkcGtnL19faW5pdF9fLnB5IGIvZmVkcGtnL19faW5pdF9fLnB5Ci1pbmRleCAy ZDNlZDdlLi45ZWRkMTFmIDEwMDY0NAotLS0tIGEvZmVkcGtnL19faW5pdF9fLnB5Ci0rKysgYi9m ZWRwa2cvX19pbml0X18ucHkKLUBAIC03NCwxNyArNzQsMzMgQEAgY2xhc3MgQ29tbWFuZHMocHly cGtnLkNvbW1hbmRzKToKLSAgICAgICAgICAgICBzZWxmLm1vY2tjb25maWcgPSAnZmVkb3JhLSVz LSVzJyAlIChzZWxmLl9kaXN0dmFsLCBzZWxmLmxvY2FsYXJjaCkKLSAgICAgICAgICAgICBzZWxm Lm92ZXJyaWRlID0gJ2Ylcy1vdmVycmlkZScgJSBzZWxmLl9kaXN0dmFsCi0gICAgICAgICAgICAg c2VsZi5fZGlzdHVuc2V0ID0gJ3JoZWwnCi0rICAgICAgICAjIFdvcmtzIHVudGlsIFJIRUwgMTAK LSAgICAgICAgIGVsaWYgcmUubWF0Y2gocidlbFxkJCcsIGJyYW5jaCkgb3IgXAotLSAgICAgICAg ICAgICAgICByZS5tYXRjaChyJ2VwZWxcZCsoPzpcLlxkKyk/JCcsIGJyYW5jaCk6Ci0tICAgICAg ICAgICAgbWFqb3IsIG1pbm9yID0gcmUuZmluZGFsbChyJyhcZCspKD86XC4oXGQrKSk/JywgYnJh bmNoKVswXQotKyAgICAgICAgICAgICAgICByZS5tYXRjaChyJ2VwZWxcZCQnLCBicmFuY2gpOgot KyAgICAgICAgICAgIHNlbGYuX2Rpc3R2YWwgPSBicmFuY2guc3BsaXQoJ2VsJylbMV0KLSsgICAg ICAgICAgICBzZWxmLl9kaXN0dmFyID0gJ3JoZWwnCi0rICAgICAgICAgICAgc2VsZi5fZGlzdHRh ZyA9ICdlbCVzJyAlIHNlbGYuX2Rpc3R2YWwKLSsgICAgICAgICAgICBzZWxmLm1vY2tjb25maWcg PSAnZXBlbC0lcy0lcycgJSAoc2VsZi5fZGlzdHZhbCwgc2VsZi5sb2NhbGFyY2gpCi0rICAgICAg ICAgICAgc2VsZi5vdmVycmlkZSA9ICdlcGVsJXMtb3ZlcnJpZGUnICUgc2VsZi5fZGlzdHZhbAot KyAgICAgICAgICAgIHNlbGYuX2Rpc3R1bnNldCA9ICdmZWRvcmEnCi0rICAgICAgICAjIEVQRUwg MTArIHdpdGhvdXQgbWlub3IKLSsgICAgICAgIGVsaWYgcmUubWF0Y2gocidlcGVsXGRcZCQnLCBi cmFuY2gpOgotKyAgICAgICAgICAgIG1hY3JvcyA9IHNlbGYuX2dldF9idWlsZF9tYWNyb3MoJ2Vw ZWwlcycgJSBicmFuY2guc3BsaXQoJ2VsJylbMV0pCi0rICAgICAgICAgICAgbWFqb3IsIG1pbm9y ID0gcmUuZmluZGFsbChyJy5lbChcZCspXyhcZCspJCcsIG1hY3Jvc1snZGlzdGNvcmUnXSlbMF0K LSsgICAgICAgICAgICBzZWxmLl9kaXN0dmFsID0gbWFqb3IKLSsgICAgICAgICAgICBzZWxmLl9k aXN0dmFyID0gJ3JoZWwnCi0rICAgICAgICAgICAgc2VsZi5fZGlzdHRhZyA9IG1hY3Jvc1snZGlz dGNvcmUnXS5zcGxpdCgnLicpWzFdCi0rICAgICAgICAgICAgc2VsZi5tb2NrY29uZmlnID0gJ2Vw ZWwtJXMtJXMnICUgKG1ham9yLCBzZWxmLmxvY2FsYXJjaCkKLSsgICAgICAgICAgICBzZWxmLm92 ZXJyaWRlID0gJ2VwZWwlcy4lcy1vdmVycmlkZScgJSAobWFqb3IsIG1pbm9yKQotKyAgICAgICAg ICAgIHNlbGYuX2Rpc3R1bnNldCA9ICdmZWRvcmEnCi0rICAgICAgICAjIEVQRUwgMTArIHdpdGgg bWlub3IKLSsgICAgICAgIGVsaWYgcmUubWF0Y2gocidlcGVsXGRcZCtcLlxkKyQnLCBicmFuY2gp OgotKyAgICAgICAgICAgIG1ham9yLCBtaW5vciA9IHJlLmZpbmRhbGwocidlcGVsKFxkKylcLihc ZCspJCcsIGJyYW5jaClbMF0KLSAgICAgICAgICAgICBzZWxmLl9kaXN0dmFsID0gbWFqb3IKLSAg ICAgICAgICAgICBzZWxmLl9kaXN0dmFyID0gJ3JoZWwnCi0tICAgICAgICAgICAgc2VsZi5fZGlz dHRhZyA9ICdlbCVzJyAlIG1ham9yIGlmIG1pbm9yID09ICcnIFwKLS0gICAgICAgICAgICAgICAg ZWxzZSAnZWwlc18lcycgJSAobWFqb3IsIG1pbm9yKQotLSAgICAgICAgICAgIHNlbGYubW9ja2Nv bmZpZyA9ICdlcGVsLSVzLSVzJyAlIChtYWpvciwgc2VsZi5sb2NhbGFyY2gpIGlmIG1pbm9yID09 ICcnIFwKLS0gICAgICAgICAgICAgICAgZWxzZSAnZXBlbC0lcy4lcy0lcycgJSAobWFqb3IsIG1p bm9yLCBzZWxmLmxvY2FsYXJjaCkKLS0gICAgICAgICAgICBzZWxmLm92ZXJyaWRlID0gJ2VwZWwl cy1vdmVycmlkZScgJSBzZWxmLl9kaXN0dmFsIGlmIG1pbm9yID09ICcnIFwKLS0gICAgICAgICAg ICAgICAgZWxzZSAnZXBlbCVzLiVzLW92ZXJyaWRlJyAlIChtYWpvciwgbWlub3IpCi0rICAgICAg ICAgICAgc2VsZi5fZGlzdHRhZyA9ICdlbCVzXyVzJyAlIChtYWpvciwgbWlub3IpCi0rICAgICAg ICAgICAgc2VsZi5tb2NrY29uZmlnID0gJ2VwZWwtJXMuJXMtJXMnICUgKG1ham9yLCBtaW5vciwg c2VsZi5sb2NhbGFyY2gpCi0rICAgICAgICAgICAgc2VsZi5vdmVycmlkZSA9ICdlcGVsJXMuJXMt b3ZlcnJpZGUnICUgKG1ham9yLCBtaW5vcikKLSAgICAgICAgICAgICBzZWxmLl9kaXN0dW5zZXQg PSAnZmVkb3JhJwotICAgICAgICAgZWxpZiByZS5tYXRjaChyJ2VwZWxcZCstbmV4dCQnLCBicmFu Y2gpOgotICAgICAgICAgICAgIHNlbGYuX2Rpc3R2YWwgPSByZS5zZWFyY2gocidcZCsnLCBicmFu Y2gpLmdyb3VwKDApCi0tLSAKLTIuNDYuMAotCgpkaWZmIC0tZ2l0IGEvMDAyMy1GaXgtRVBFTDEw LWJyYW5jaC1leHByZXNzaW9uLXRvLWNvdmVyLTItb3ItbW9yZS1kaWdpLnBhdGNoIGIvMDAyMy1G aXgtRVBFTDEwLWJyYW5jaC1leHByZXNzaW9uLXRvLWNvdmVyLTItb3ItbW9yZS1kaWdpLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjRiNTNhLi4wMDAwMDAwCi0tLSBhLzAw MjMtRml4LUVQRUwxMC1icmFuY2gtZXhwcmVzc2lvbi10by1jb3Zlci0yLW9yLW1vcmUtZGlnaS5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gODFiYTliYjk5Y2M5M2Ri NjQ2N2M2ZDI3Y2U2ZjcyMzY0MjEwMGVmOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IERpZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+Ci1EYXRlOiBGcmksIDE2IEF1ZyAy MDI0IDE2OjAzOjM4IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMy83XSBGaXggRVBFTDEwIGJyYW5j aCBleHByZXNzaW9uIHRvIGNvdmVyIDIgb3IgbW9yZSBkaWdpdHMuCi0KLVNpZ25lZC1vZmYtYnk6 IERpZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+Ci0tLS0KLSBmZWRwa2cvX19pbml0 X18ucHkgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZmVkcGtnL19faW5pdF9fLnB5IGIvZmVkcGtnL19faW5p dF9fLnB5Ci1pbmRleCA5ZWRkMTFmLi40ZTcyZGJkIDEwMDY0NAotLS0tIGEvZmVkcGtnL19faW5p dF9fLnB5Ci0rKysgYi9mZWRwa2cvX19pbml0X18ucHkKLUBAIC04NCw3ICs4NCw3IEBAIGNsYXNz IENvbW1hbmRzKHB5cnBrZy5Db21tYW5kcyk6Ci0gICAgICAgICAgICAgc2VsZi5vdmVycmlkZSA9 ICdlcGVsJXMtb3ZlcnJpZGUnICUgc2VsZi5fZGlzdHZhbAotICAgICAgICAgICAgIHNlbGYuX2Rp c3R1bnNldCA9ICdmZWRvcmEnCi0gICAgICAgICAjIEVQRUwgMTArIHdpdGhvdXQgbWlub3IKLS0g ICAgICAgIGVsaWYgcmUubWF0Y2gocidlcGVsXGRcZCQnLCBicmFuY2gpOgotKyAgICAgICAgZWxp ZiByZS5tYXRjaChyJ2VwZWxcZHsyLH0kJywgYnJhbmNoKToKLSAgICAgICAgICAgICBtYWNyb3Mg PSBzZWxmLl9nZXRfYnVpbGRfbWFjcm9zKCdlcGVsJXMnICUgYnJhbmNoLnNwbGl0KCdlbCcpWzFd KQotICAgICAgICAgICAgIG1ham9yLCBtaW5vciA9IHJlLmZpbmRhbGwocicuZWwoXGQrKV8oXGQr KSQnLCBtYWNyb3NbJ2Rpc3Rjb3JlJ10pWzBdCi0gICAgICAgICAgICAgc2VsZi5fZGlzdHZhbCA9 IG1ham9yCi1AQCAtOTQsNyArOTQsNyBAQCBjbGFzcyBDb21tYW5kcyhweXJwa2cuQ29tbWFuZHMp OgotICAgICAgICAgICAgIHNlbGYub3ZlcnJpZGUgPSAnZXBlbCVzLiVzLW92ZXJyaWRlJyAlICht YWpvciwgbWlub3IpCi0gICAgICAgICAgICAgc2VsZi5fZGlzdHVuc2V0ID0gJ2ZlZG9yYScKLSAg ICAgICAgICMgRVBFTCAxMCsgd2l0aCBtaW5vcgotLSAgICAgICAgZWxpZiByZS5tYXRjaChyJ2Vw ZWxcZFxkK1wuXGQrJCcsIGJyYW5jaCk6Ci0rICAgICAgICBlbGlmIHJlLm1hdGNoKHInZXBlbFxk ezIsfVwuXGQrJCcsIGJyYW5jaCk6Ci0gICAgICAgICAgICAgbWFqb3IsIG1pbm9yID0gcmUuZmlu ZGFsbChyJ2VwZWwoXGQrKVwuKFxkKykkJywgYnJhbmNoKVswXQotICAgICAgICAgICAgIHNlbGYu X2Rpc3R2YWwgPSBtYWpvcgotICAgICAgICAgICAgIHNlbGYuX2Rpc3R2YXIgPSAncmhlbCcKLS0t IAotMi40Ni4wCi0KCmRpZmYgLS1naXQgYS8wMDI0LUdldC1tYWNyb3MtZnJvbS1lcGVsLWNhbmRp ZGF0ZS1idWlsZC10YXJnZXQucGF0Y2ggYi8wMDI0LUdldC1tYWNyb3MtZnJvbS1lcGVsLWNhbmRp ZGF0ZS1idWlsZC10YXJnZXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMx NTJmZjQuLjAwMDAwMDAKLS0tIGEvMDAyNC1HZXQtbWFjcm9zLWZyb20tZXBlbC1jYW5kaWRhdGUt YnVpbGQtdGFyZ2V0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotRnJvbSA1 NDA3OWJmMTEyMWFjMGVhZWJiYjU5ODg4ODMzM2MzYTM2ZDE1MDhmIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogRGllZ28gSGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4KLURhdGU6 IEZyaSwgMTYgQXVnIDIwMjQgMTY6MzY6NTMgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA0LzddIEdl dCBtYWNyb3MgZnJvbSBlcGVsLWNhbmRpZGF0ZSBidWlsZCB0YXJnZXQuCi0KLVNpZ25lZC1vZmYt Ynk6IERpZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+Ci0tLS0KLSBmZWRwa2cvX19p bml0X18ucHkgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9mZWRwa2cvX19pbml0X18ucHkgYi9mZWRwa2cvX19pbml0 X18ucHkKLWluZGV4IDRlNzJkYmQuLmU5ZDQxYjIgMTAwNjQ0Ci0tLS0gYS9mZWRwa2cvX19pbml0 X18ucHkKLSsrKyBiL2ZlZHBrZy9fX2luaXRfXy5weQotQEAgLTg1LDcgKzg1LDcgQEAgY2xhc3Mg Q29tbWFuZHMocHlycGtnLkNvbW1hbmRzKToKLSAgICAgICAgICAgICBzZWxmLl9kaXN0dW5zZXQg PSAnZmVkb3JhJwotICAgICAgICAgIyBFUEVMIDEwKyB3aXRob3V0IG1pbm9yCi0gICAgICAgICBl bGlmIHJlLm1hdGNoKHInZXBlbFxkezIsfSQnLCBicmFuY2gpOgotLSAgICAgICAgICAgIG1hY3Jv cyA9IHNlbGYuX2dldF9idWlsZF9tYWNyb3MoJ2VwZWwlcycgJSBicmFuY2guc3BsaXQoJ2VsJylb MV0pCi0rICAgICAgICAgICAgbWFjcm9zID0gc2VsZi5fZ2V0X2J1aWxkX21hY3JvcygnZXBlbCVz LWNhbmRpZGF0ZScgJSBicmFuY2guc3BsaXQoJ2VsJylbMV0pCi0gICAgICAgICAgICAgbWFqb3Is IG1pbm9yID0gcmUuZmluZGFsbChyJy5lbChcZCspXyhcZCspJCcsIG1hY3Jvc1snZGlzdGNvcmUn XSlbMF0KLSAgICAgICAgICAgICBzZWxmLl9kaXN0dmFsID0gbWFqb3IKLSAgICAgICAgICAgICBz ZWxmLl9kaXN0dmFyID0gJ3JoZWwnCi0tLSAKLTIuNDYuMAotCgpkaWZmIC0tZ2l0IGEvMDAyNS1J bXByb3ZlbWVudHMtb24tc3RyaW5nLXBhcnNpbmcucGF0Y2ggYi8wMDI1LUltcHJvdmVtZW50cy1v bi1zdHJpbmctcGFyc2luZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDQy NGZhOC4uMDAwMDAwMAotLS0gYS8wMDI1LUltcHJvdmVtZW50cy1vbi1zdHJpbmctcGFyc2luZy5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gZmYwM2FhNjAzZmI1MDU4 MjRkMDEzMjU2MTkzOGJkNzhkZDc0M2I5YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IERpZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDIwIEF1ZyAy MDI0IDE1OjA5OjM3IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggNS83XSBJbXByb3ZlbWVudHMgb24g c3RyaW5nIHBhcnNpbmcKLQotU2lnbmVkLW9mZi1ieTogRGllZ28gSGVycmVyYSA8ZGhlcnJlcmFA cmVkaGF0LmNvbT4KLS0tLQotIGZlZHBrZy9fX2luaXRfXy5weSB8IDggKysrKy0tLS0KLSAxIGZp bGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0 IGEvZmVkcGtnL19faW5pdF9fLnB5IGIvZmVkcGtnL19faW5pdF9fLnB5Ci1pbmRleCBlOWQ0MWIy Li4zZDU0YzU2IDEwMDY0NAotLS0tIGEvZmVkcGtnL19faW5pdF9fLnB5Ci0rKysgYi9mZWRwa2cv X19pbml0X18ucHkKLUBAIC04NSwxNyArODUsMTcgQEAgY2xhc3MgQ29tbWFuZHMocHlycGtnLkNv bW1hbmRzKToKLSAgICAgICAgICAgICBzZWxmLl9kaXN0dW5zZXQgPSAnZmVkb3JhJwotICAgICAg ICAgIyBFUEVMIDEwKyB3aXRob3V0IG1pbm9yCi0gICAgICAgICBlbGlmIHJlLm1hdGNoKHInZXBl bFxkezIsfSQnLCBicmFuY2gpOgotLSAgICAgICAgICAgIG1hY3JvcyA9IHNlbGYuX2dldF9idWls ZF9tYWNyb3MoJ2VwZWwlcy1jYW5kaWRhdGUnICUgYnJhbmNoLnNwbGl0KCdlbCcpWzFdKQotLSAg ICAgICAgICAgIG1ham9yLCBtaW5vciA9IHJlLmZpbmRhbGwocicuZWwoXGQrKV8oXGQrKSQnLCBt YWNyb3NbJ2Rpc3Rjb3JlJ10pWzBdCi0rICAgICAgICAgICAgbWFjcm9zID0gc2VsZi5fZ2V0X2J1 aWxkX21hY3JvcygnZXBlbCVzLWNhbmRpZGF0ZScgJSBicmFuY2hbNDpdKQotKyAgICAgICAgICAg IG1ham9yLCBtaW5vciA9IG1hY3Jvc1snZGlzdGNvcmUnXVszOl0uc3BsaXQoJ18nKQotICAgICAg ICAgICAgIHNlbGYuX2Rpc3R2YWwgPSBtYWpvcgotICAgICAgICAgICAgIHNlbGYuX2Rpc3R2YXIg PSAncmhlbCcKLS0gICAgICAgICAgICBzZWxmLl9kaXN0dGFnID0gbWFjcm9zWydkaXN0Y29yZSdd LnNwbGl0KCcuJylbMV0KLSsgICAgICAgICAgICBzZWxmLl9kaXN0dGFnID0gbWFjcm9zWydkaXN0 Y29yZSddWzE6XQotICAgICAgICAgICAgIHNlbGYubW9ja2NvbmZpZyA9ICdlcGVsLSVzLSVzJyAl IChtYWpvciwgc2VsZi5sb2NhbGFyY2gpCi0gICAgICAgICAgICAgc2VsZi5vdmVycmlkZSA9ICdl cGVsJXMuJXMtb3ZlcnJpZGUnICUgKG1ham9yLCBtaW5vcikKLSAgICAgICAgICAgICBzZWxmLl9k aXN0dW5zZXQgPSAnZmVkb3JhJwotICAgICAgICAgIyBFUEVMIDEwKyB3aXRoIG1pbm9yCi0gICAg ICAgICBlbGlmIHJlLm1hdGNoKHInZXBlbFxkezIsfVwuXGQrJCcsIGJyYW5jaCk6Ci0tICAgICAg ICAgICAgbWFqb3IsIG1pbm9yID0gcmUuZmluZGFsbChyJ2VwZWwoXGQrKVwuKFxkKykkJywgYnJh bmNoKVswXQotKyAgICAgICAgICAgIG1ham9yLCBtaW5vciA9IGJyYW5jaFs0Ol0uc3BsaXQoJy4n KQotICAgICAgICAgICAgIHNlbGYuX2Rpc3R2YWwgPSBtYWpvcgotICAgICAgICAgICAgIHNlbGYu X2Rpc3R2YXIgPSAncmhlbCcKLSAgICAgICAgICAgICBzZWxmLl9kaXN0dGFnID0gJ2VsJXNfJXMn ICUgKG1ham9yLCBtaW5vcikKLS0tIAotMi40Ni4wCi0KCmRpZmYgLS1naXQgYS8wMDI2LUFkZC10 ZXN0cy1jYXNlcy1mb3ItcnVudGltZV9kaXN0dGFnLXJlbW92YWwtd2hlbi13b3IucGF0Y2ggYi8w MDI2LUFkZC10ZXN0cy1jYXNlcy1mb3ItcnVudGltZV9kaXN0dGFnLXJlbW92YWwtd2hlbi13b3Iu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc2N2YxZGMuLjAwMDAwMDAKLS0t IGEvMDAyNi1BZGQtdGVzdHMtY2FzZXMtZm9yLXJ1bnRpbWVfZGlzdHRhZy1yZW1vdmFsLXdoZW4t d29yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotRnJvbSA3OWNlZTRhNjk0 NTcyNTEzNzRkNGZjYWYyOGNkZGUzYThkMWU0MDMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogRGllZ28gSGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMzAg QXVnIDIwMjQgMTQ6Mzc6MTUgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA2LzddIEFkZCB0ZXN0cyBj YXNlcyBmb3IgcnVudGltZV9kaXN0dGFnIHJlbW92YWwgd2hlbiB3b3JraW5nCi0gd2l0aCBlcGVs MTAKLQotU2lnbmVkLW9mZi1ieTogRGllZ28gSGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4K LS0tLQotIHRlc3QvdGVzdF9jb21tYW5kcy5weSB8IDc0ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKQot Ci1kaWZmIC0tZ2l0IGEvdGVzdC90ZXN0X2NvbW1hbmRzLnB5IGIvdGVzdC90ZXN0X2NvbW1hbmRz LnB5Ci1pbmRleCBiMmFlM2ZhLi5kMTYwZGE5IDEwMDY0NAotLS0tIGEvdGVzdC90ZXN0X2NvbW1h bmRzLnB5Ci0rKysgYi90ZXN0L3Rlc3RfY29tbWFuZHMucHkKLUBAIC0zNjksNiArMzY5LDgwIEBA IGNsYXNzIFRlc3RMb2FkUnBtRGVmaW5lcyhDb21tYW5kVGVzdENhc2UpOgotICAgICAgICAgc2Vs Zi5hc3NlcnRfcnBtZGVmaW5lcyhleHRyYV9ycG1kZWZpbmVzKQotIAotIAotK2NsYXNzIFRlc3RM b2FkUnBtRGVmaW5lc1J1bnRpbWVzKENvbW1hbmRUZXN0Q2FzZSk6Ci0rICAgICIiIlRlc3QgQ29t bWFuZHMubG9hZF9ycG1kZWZpbmVzIiIiCi0rCi0rICAgIGRlZiBzZXRVcChzZWxmKToKLSsgICAg ICAgIHN1cGVyKFRlc3RMb2FkUnBtRGVmaW5lc1J1bnRpbWVzLCBzZWxmKS5zZXRVcCgpCi0rCi0r ICAgICAgICBzZWxmLmxvY2FsYXJjaCA9IHBhdGNoKAotKyAgICAgICAgICAgICdweXJwa2cuQ29t bWFuZHMubG9jYWxhcmNoJywKLSsgICAgICAgICAgICBuZXdfY2FsbGFibGU9UHJvcGVydHlNb2Nr LAotKyAgICAgICAgICAgIHJldHVybl92YWx1ZT0naTY4NicpCi0rICAgICAgICBzZWxmLmxvY2Fs YXJjaC5zdGFydCgpCi0rCi0rICAgICAgICBzZWxmLmNtZCA9IHNlbGYubWFrZV9jb21tYW5kcygp Ci0rCi0rICAgIGRlZiB0ZWFyRG93bihzZWxmKToKLSsgICAgICAgIHNlbGYubG9jYWxhcmNoLnN0 b3AoKQotKyAgICAgICAgc3VwZXIoVGVzdExvYWRScG1EZWZpbmVzUnVudGltZXMsIHNlbGYpLnRl YXJEb3duKCkKLSsKLSsgICAgZGVmIGFzc2VydF9ycG1kZWZpbmVzKHNlbGYsIGV4dHJhX3JwbWRl ZmluZXM9W10pOgotKyAgICAgICAgIiIiQXNzZXJ0IENvbW1hbmRzLl9ycG1kZWZpbmVzIGFmdGVy IGNhbGxpbmcgbG9hZF9ycG1kZWZpbmVzIiIiCi0rICAgICAgICBleHBlY3RlZF9ycG1kZWZpbmVz ID0gWwotKyAgICAgICAgICAgICItLWRlZmluZSIsICJfc291cmNlZGlyICVzIiAlIHNlbGYuY21k LmxheW91dC5zb3VyY2VkaXIsCi0rICAgICAgICAgICAgIi0tZGVmaW5lIiwgIl9zcGVjZGlyICVz IiAlIHNlbGYuY21kLmxheW91dC5zcGVjZGlyLAotKyAgICAgICAgICAgICItLWRlZmluZSIsICJf YnVpbGRkaXIgJXMiICUgc2VsZi5jbWQubGF5b3V0LmJ1aWxkZGlyLAotKyAgICAgICAgICAgICIt LWRlZmluZSIsICJfc3JjcnBtZGlyICVzIiAlIHNlbGYuY21kLmxheW91dC5zcmNycG1kaXIsCi0r ICAgICAgICAgICAgIi0tZGVmaW5lIiwgIl9ycG1kaXIgJXMiICUgc2VsZi5jbWQubGF5b3V0LnJw bWRpciwKLSsgICAgICAgICAgICAiLS1kZWZpbmUiLCAiX3JwbWZpbGVuYW1lICVzIiAlIHNlbGYu Y21kLmxheW91dC5ycG1maWxlbmFtZSwKLSsgICAgICAgICAgICAiLS1kZWZpbmUiLCAiZGlzdCAl JXs/ZGlzdHByZWZpeH0uJXMiICUgc2VsZi5jbWQuX2Rpc3R0YWcsCi0rICAgICAgICAgICAgIi0t ZGVmaW5lIiwgIiVzICVzIiAlIChzZWxmLmNtZC5fZGlzdHZhciwgc2VsZi5jbWQuX2Rpc3R2YWwp LAotKyAgICAgICAgICAgICItLWV2YWwiLCAiJSV1bmRlZmluZSAlcyIgJSBzZWxmLmNtZC5fZGlz dHVuc2V0LAotKyAgICAgICAgICAgICItLWRlZmluZSIsICIlcyAxIiAlIHNlbGYuY21kLl9kaXN0 dGFnLnJlcGxhY2UoIi4iLCAiXyIpCi0rICAgICAgICBdCi0rICAgICAgICBleHBlY3RlZF9ycG1k ZWZpbmVzLmV4dGVuZChleHRyYV9ycG1kZWZpbmVzKQotKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh bChleHBlY3RlZF9ycG1kZWZpbmVzLCBzZWxmLmNtZC5fcnBtZGVmaW5lcykKLSsKLSsgICAgQHBh dGNoKCdmZWRwa2cuQ29tbWFuZHMuX2RldGVybWluZV9ydW50aW1lX2VudicpCi0rICAgIEBwYXRj aCgncHlycGtnLkNvbW1hbmRzLmJyYW5jaF9tZXJnZScsIG5ld19jYWxsYWJsZT1Qcm9wZXJ0eU1v Y2spCi0rICAgIGRlZiB0ZXN0X2xvYWRfZmM0MF9vbl9lbDEwXzhfcnVudGltZShzZWxmLCBicmFu Y2hfbWVyZ2UsIF9kZXRlcm1pbmVfcnVudGltZV9lbnYpOgotKyAgICAgICAgX2RldGVybWluZV9y dW50aW1lX2Vudi5yZXR1cm5fdmFsdWUgPSAnZmM0MCcKLSsgICAgICAgIGJyYW5jaF9tZXJnZS5y ZXR1cm5fdmFsdWUgPSAnZXBlbDEwLjgnCi0rCi0rICAgICAgICBzZWxmLmNtZC5sb2FkX3JwbWRl ZmluZXMoKQotKyAgICAgICAgZXh0cmFfcnBtZGVmaW5lcyA9IFsKLSsgICAgICAgICAgICAiLS1l dmFsIiwgIiUldW5kZWZpbmUgJXMiICUgc2VsZi5jbWQuX3J1bnRpbWVfZGlzdHRhZ10KLSsgICAg ICAgIHNlbGYuYXNzZXJ0X3JwbWRlZmluZXMoZXh0cmFfcnBtZGVmaW5lcykKLSsKLSsgICAgQHBh dGNoKCdmZWRwa2cuQ29tbWFuZHMuX2RldGVybWluZV9ydW50aW1lX2VudicpCi0rICAgIEBwYXRj aCgncHlycGtnLkNvbW1hbmRzLmtvamlzZXNzaW9uJywgbmV3X2NhbGxhYmxlPVByb3BlcnR5TW9j aykKLSsgICAgQHBhdGNoKCdweXJwa2cuQ29tbWFuZHMuYnJhbmNoX21lcmdlJywgbmV3X2NhbGxh YmxlPVByb3BlcnR5TW9jaykKLSsgICAgZGVmIHRlc3RfbG9hZF9lcGVsMTBfb25fZWwxMF9ydW50 aW1lKHNlbGYsIGJyYW5jaF9tZXJnZSwga29qaXNlc3Npb24sIF9kZXRlcm1pbmVfcnVudGltZV9l bnYpOgotKyAgICAgICAgX2RldGVybWluZV9ydW50aW1lX2Vudi5yZXR1cm5fdmFsdWUgPSAnZWwx MCcKLSsgICAgICAgIGJyYW5jaF9tZXJnZS5yZXR1cm5fdmFsdWUgPSAnZXBlbDEwJwotKwotKyAg ICAgICAgc2VsZi5jbWQuX2tvamlzZXNzaW9uID0gTW9jaygpCi0rICAgICAgICBrb2ppX3Nlc3Np b24gPSBrb2ppc2Vzc2lvbi5yZXR1cm5fdmFsdWUKLSsgICAgICAgIGtvamlfc2Vzc2lvbi5nZXRC dWlsZENvbmZpZy5yZXR1cm5fdmFsdWUgPSB7Ci0rICAgICAgICAgICAgIyBtaW5pbWFsIHN1YnNl dCBvZiB0aGUgcmVhbCBrb2ppIHJlc3BvbnNlCi0rICAgICAgICAgICAgJ2V4dHJhJzogewotKyAg ICAgICAgICAgICAgICAncnBtLm1hY3JvLmRpc3Rjb3JlJzogJy5lbDEwXzgnLAotKyAgICAgICAg ICAgIH0sCi0rICAgICAgICB9Ci0rICAgICAgICBzZWxmLmNtZC5sb2FkX3JwbWRlZmluZXMoKQot KyAgICAgICAgc2VsZi5hc3NlcnRfcnBtZGVmaW5lcygpCi0rCi0rICAgIEBwYXRjaCgnZmVkcGtn LkNvbW1hbmRzLl9kZXRlcm1pbmVfcnVudGltZV9lbnYnKQotKyAgICBAcGF0Y2goJ3B5cnBrZy5D b21tYW5kcy5icmFuY2hfbWVyZ2UnLCBuZXdfY2FsbGFibGU9UHJvcGVydHlNb2NrKQotKyAgICBk ZWYgdGVzdF9sb2FkX2VwZWwxMF80X29uX2VsMTBfcnVudGltZShzZWxmLCBicmFuY2hfbWVyZ2Us IF9kZXRlcm1pbmVfcnVudGltZV9lbnYpOgotKyAgICAgICAgX2RldGVybWluZV9ydW50aW1lX2Vu di5yZXR1cm5fdmFsdWUgPSAnZWwxMCcKLSsgICAgICAgIGJyYW5jaF9tZXJnZS5yZXR1cm5fdmFs dWUgPSAnZXBlbDEwLjQnCi0rCi0rICAgICAgICBzZWxmLmNtZC5sb2FkX3JwbWRlZmluZXMoKQot KyAgICAgICAgc2VsZi5hc3NlcnRfcnBtZGVmaW5lcygpCi0rCi0rCi0gY2xhc3MgVGVzdEZpbmRS YXdoaWRlQnJhbmNoKENvbW1hbmRUZXN0Q2FzZSk6Ci0gICAgICIiIlRlc3QgQ29tbWFuZHMuX2Zp bmRyYXdoaWRlYnJhbmNoIiIiCi0gCi0tLSAKLTIuNDYuMAotCgpkaWZmIC0tZ2l0IGEvMDAyNy1I YW5kbGUtcmhlbC1ydW50aW1lcy13aGVuLW1pbm9yLXZlcnNpb24tZXhpc3RzLWluLWRpLnBhdGNo IGIvMDAyNy1IYW5kbGUtcmhlbC1ydW50aW1lcy13aGVuLW1pbm9yLXZlcnNpb24tZXhpc3RzLWlu LWRpLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YjU2YWI4Li4wMDAwMDAw Ci0tLSBhLzAwMjctSGFuZGxlLXJoZWwtcnVudGltZXMtd2hlbi1taW5vci12ZXJzaW9uLWV4aXN0 cy1pbi1kaS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLUZyb20gNzU1OWI0 Y2RiOTNkNWE5MmM2YjE0YjI4YjA5Y2FiZWJjYzU5NjVmOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IERpZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+Ci1EYXRlOiBGcmks IDMwIEF1ZyAyMDI0IDE3OjU4OjU4IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggNy83XSBIYW5kbGUg cmhlbCBydW50aW1lcyB3aGVuIG1pbm9yIHZlcnNpb24gZXhpc3RzIGluIGRpc3R0YWcKLQotU2ln bmVkLW9mZi1ieTogRGllZ28gSGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4KLS0tLQotIGZl ZHBrZy9fX2luaXRfXy5weSB8IDExICsrKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDggaW5z ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2ZlZHBrZy9fX2luaXRf Xy5weSBiL2ZlZHBrZy9fX2luaXRfXy5weQotaW5kZXggM2Q1NGM1Ni4uNzY4M2Y0NSAxMDA2NDQK LS0tLSBhL2ZlZHBrZy9fX2luaXRfXy5weQotKysrIGIvZmVkcGtnL19faW5pdF9fLnB5Ci1AQCAt MTc3LDEwICsxNzcsMTUgQEAgY2xhc3MgQ29tbWFuZHMocHlycGtnLkNvbW1hbmRzKToKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIi0tZGVmaW5lIiwgIiVzIDEiICUgc2VsZi5fZGlzdHRh Zy5yZXBsYWNlKCIuIiwgIl8iKV0KLSAgICAgICAgICMgVE9ETzogY29uc2lkZXIgcmVtb3Zpbmcg bWFjcm8gIiVzIDE7IGl0IGhhcyB1bmtub3duL2R1YmlvdXMgZnVuY3Rpb25hbGl0eSIKLSAKLSsg ICAgICAgICMgSWYgdGhlIHJ1bnRpbWUgaXMga25vd24sIGFuZCBpcyBkaWZmZXJlbnQgZnJvbQot KyAgICAgICAgIyB0aGUgdGFyZ2V0LCB3ZSBuZWVkIHRvIHVuc2V0IHRoZSBfcnVudGltZV9kaXN0 dGFnCi0gICAgICAgICBpZiBzZWxmLl9ydW50aW1lX2Rpc3R0YWc6Ci0tICAgICAgICAgICAgaWYg c2VsZi5fZGlzdHRhZyAhPSBzZWxmLl9ydW50aW1lX2Rpc3R0YWc6Ci0tICAgICAgICAgICAgICAg ICMgVGhpcyBtZWFucyB0aGF0IHRoZSBydW50aW1lIGlzIGtub3duLCBhbmQgaXMgZGlmZmVyZW50 IGZyb20KLS0gICAgICAgICAgICAgICAgIyB0aGUgdGFyZ2V0LCBzbyB3ZSBuZWVkIHRvIHVuc2V0 IHRoZSBfcnVudGltZV9kaXN0dGFnCi0rICAgICAgICAgICAgIyBJbiB0aGUgY2FzZSBvZiByaGVs IGxpa2UgcnVudGltZXMsIG9ubHkgdGhlIG1ham9yIG5lZWRzIHRvIGJlIGRpZmZlcmVudAotKyAg ICAgICAgICAgIGlmIHJlLm1hdGNoKHInXmVsXGQnLCBzZWxmLl9ydW50aW1lX2Rpc3R0YWcpOgot KyAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fZGlzdHRhZy5zdGFydHN3aXRoKHNlbGYuX3J1 bnRpbWVfZGlzdHRhZyk6Ci0rICAgICAgICAgICAgICAgICAgICBzZWxmLl9ycG1kZWZpbmVzLmV4 dGVuZChbIi0tZXZhbCIsICIlJXVuZGVmaW5lICVzIiAlCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9ydW50aW1lX2Rpc3R0YWddKQotKyAgICAgICAg ICAgIGVsaWYgc2VsZi5fZGlzdHRhZyAhPSBzZWxmLl9ydW50aW1lX2Rpc3R0YWc6Ci0gICAgICAg ICAgICAgICAgIHNlbGYuX3JwbWRlZmluZXMuZXh0ZW5kKFsiLS1ldmFsIiwgIiUldW5kZWZpbmUg JXMiICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcnVu dGltZV9kaXN0dGFnXSkKLSAKLS0tIAotMi40Ni4wCi0KCmRpZmYgLS1naXQgYS8wMDI4LWdpdGln bm9yZS10aGUtbmFtZS12ZXJzaW9uLWJ1aWxkLWRpcmVjdG9yeS1jcmVhdGVkLWIucGF0Y2ggYi8w MDI4LWdpdGlnbm9yZS10aGUtbmFtZS12ZXJzaW9uLWJ1aWxkLWRpcmVjdG9yeS1jcmVhdGVkLWIu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2OGQyZTguLjAwMDAwMDAKLS0t IGEvMDAyOC1naXRpZ25vcmUtdGhlLW5hbWUtdmVyc2lvbi1idWlsZC1kaXJlY3RvcnktY3JlYXRl ZC1iLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotRnJvbSAwNjJhYjc0NmRi ZDQzZmY1MDJkYTllMjBmODQ0NjZhZGMzMzM0NWRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogPT9VVEYtOD9xP01pcm89MjBIcm9uPUM0PThEb2s/PSA8bWlyb0Bocm9uY29rLmN6Pgot RGF0ZTogTW9uLCAxOCBOb3YgMjAyNCAxODowOTozMSArMDEwMAotU3ViamVjdDogW1BBVENIIDEv Nl0gZ2l0aWdub3JlIHRoZSBuYW1lLXZlcnNpb24tYnVpbGQvIGRpcmVjdG9yeSBjcmVhdGVkIGJ5 Ci0gZmVkcGtnIHByZXAvbG9jYWwKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQK LQotVGhpcyBkaXJlY3RvcnkgaXMgY3JlYXRlZCBieSBSUE0gNC4yMCsKLQotU2lnbmVkLW9mZi1i eTogTWlybyBIcm9uxI1vayA8bWlyb0Bocm9uY29rLmN6PgotLS0tCi0gY29uZi9ldGMvcnBrZy9m ZWRwa2ctc3RhZ2UuY29uZiB8IDEgKwotIGNvbmYvZXRjL3Jwa2cvZmVkcGtnLmNvbmYgICAgICAg fCAxICsKLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEv Y29uZi9ldGMvcnBrZy9mZWRwa2ctc3RhZ2UuY29uZiBiL2NvbmYvZXRjL3Jwa2cvZmVkcGtnLXN0 YWdlLmNvbmYKLWluZGV4IDhmOTJmYzguLjg3ZDY2ZmUgMTAwNjQ0Ci0tLS0gYS9jb25mL2V0Yy9y cGtnL2ZlZHBrZy1zdGFnZS5jb25mCi0rKysgYi9jb25mL2V0Yy9ycGtnL2ZlZHBrZy1zdGFnZS5j b25mCi1AQCAtNDYsNiArNDYsNyBAQCBnaXRfZXhjbHVkZXMgPQotICAgLyouc3JjLnJwbQotICAg L2J1aWxkKi5sb2cKLSAgIC8uYnVpbGQtKi5sb2cKLSsgIC8qLWJ1aWxkLwotICAgcmVzdWx0cy8K LSAgIHJlc3VsdHNfKi8KLSAgIGNsb2cKLWRpZmYgLS1naXQgYS9jb25mL2V0Yy9ycGtnL2ZlZHBr Zy5jb25mIGIvY29uZi9ldGMvcnBrZy9mZWRwa2cuY29uZgotaW5kZXggYzRhYjUxYS4uZWQ0YzMx OCAxMDA2NDQKLS0tLSBhL2NvbmYvZXRjL3Jwa2cvZmVkcGtnLmNvbmYKLSsrKyBiL2NvbmYvZXRj L3Jwa2cvZmVkcGtnLmNvbmYKLUBAIC00Niw2ICs0Niw3IEBAIGdpdF9leGNsdWRlcyA9Ci0gICAv Ki5zcmMucnBtCi0gICAvYnVpbGQqLmxvZwotICAgLy5idWlsZC0qLmxvZwotKyAgLyotYnVpbGQv Ci0gICByZXN1bHRzLwotICAgcmVzdWx0c18qLwotICAgY2xvZwotLS0gCi0yLjQ3LjEKLQoKZGlm ZiAtLWdpdCBhLzAwMjktRml4aW5nLXVuaXR0ZXN0cy1mb3ItcHkzNi5wYXRjaCBiLzAwMjktRml4 aW5nLXVuaXR0ZXN0cy1mb3ItcHkzNi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMjJjODAyMC4uMDAwMDAwMAotLS0gYS8wMDI5LUZpeGluZy11bml0dGVzdHMtZm9yLXB5MzYu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIDk4NWU0MjAzOWEzOTk4 NDZhNTRhNDFhZWNkNjM3ZDEyODE5N2JhN2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiA9P1VURi04P3E/T25kPUM1PTk5ZWo9MjBOb3Nlaz89IDxvbm9zZWtAcmVkaGF0LmNvbT4KLURh dGU6IFR1ZSwgNyBKYW4gMjAyNSAwNDoxMDoxNiArMDEwMAotU3ViamVjdDogW1BBVENIIDIvNl0g Rml4aW5nIHVuaXR0ZXN0cyBmb3IgcHkzNgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog OGJpdAotCi1UaGVyZSBpcyBhbiBpc3N1ZSB3aXRoIHRoZSBuZXdlc3QgcHljdXJsIGxpYnJhcnkg aW4gUHlQSS4KLVVzZSB0aGUgb2xkZXIgb25lIGZvciB0aGlzIGVudmlyb25tZW50LgotCi1TaWdu ZWQtb2ZmLWJ5OiBPbmTFmWVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KLS0tLQotIHRveC5p bmkgfCAzICsrKwotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdp dCBhL3RveC5pbmkgYi90b3guaW5pCi1pbmRleCBlYTRkYzZiLi4zNDUwMDg3IDEwMDY0NAotLS0t IGEvdG94LmluaQotKysrIGIvdG94LmluaQotQEAgLTIzLDYgKzIzLDkgQEAgc2V0ZW52PQotIAot IFt0ZXN0ZW52OnB5MzZdCi0gcGFja2FnZSA9IHNkaXN0Ci0rZGVwcyA9Ci0rICAgIHtbdGVzdGVu dl1kZXBzfQotKyAgICBweWN1cmw8Ny40NS40Ci0gCi0gW3Rlc3RlbnY6Zmxha2U4XQotIHNraXBf aW5zdGFsbCA9IFRydWUKLS0tIAotMi40Ny4xCi0KCmRpZmYgLS1naXQgYS8wMDMwLUZpeC10ZXN0 cy1vbi1FUEVMLTktMTAucGF0Y2ggYi8wMDMwLUZpeC10ZXN0cy1vbi1FUEVMLTktMTAucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyYzlkNjcuLjAwMDAwMDAKLS0tIGEvMDAz MC1GaXgtdGVzdHMtb24tRVBFTC05LTEwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAs MCBAQAotRnJvbSAwNDJlZTQ2ZDZlZTY5ZWQzM2U5NzhiOGE1MWU3YTBlNmQ4MjYwYWM0IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9tYWluIEdlaXNzbGVyIDxyb21haW4uZ2Vpc3Ns ZXJAYW1hZGV1cy5jb20+Ci1EYXRlOiBTdW4sIDUgSmFuIDIwMjUgMjM6MjY6NTAgKzAwMDAKLVN1 YmplY3Q6IFtQQVRDSCAzLzZdIEZpeCB0ZXN0cyBvbiBFUEVMIDkvMTAuCi0KLUluZGVlZCBpbiBF UEVMIGRpc3Ryby5saWtlKCkgcmV0dXJucyAicmhlbCBmZWRvcmEiIHdoaWxlIG9uIGZlZG9yYSBp dAotcmV0dXJucyBhbiBlbXB0eSBzdHJpbmcuCi0KLVNpZ25lZC1vZmYtYnk6IFJvbWFpbiBHZWlz c2xlciA8cm9tYWluLmdlaXNzbGVyQGFtYWRldXMuY29tPgotLS0tCi0gdGVzdC90ZXN0X2NvbW1h bmRzLnB5IHwgOSArKysrKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdGVzdC90ZXN0X2NvbW1hbmRzLnB5IGIvdGVz dC90ZXN0X2NvbW1hbmRzLnB5Ci1pbmRleCBkMTYwZGE5Li5iMDhhN2ZlIDEwMDY0NAotLS0tIGEv dGVzdC90ZXN0X2NvbW1hbmRzLnB5Ci0rKysgYi90ZXN0L3Rlc3RfY29tbWFuZHMucHkKLUBAIC0y NCwyMCArMjQsMjMgQEAgY2xhc3MgVGVzdERldGVybWluZVJ1bnRpbWVFbnYoQ29tbWFuZFRlc3RD YXNlKToKLSAgICAgICAgIHNlbGYuY21kID0gc2VsZi5tYWtlX2NvbW1hbmRzKCkKLSAKLSAgICAg QHBhdGNoKCdkaXN0cm8uaWQnLCByZXR1cm5fdmFsdWU9J2ZlZG9yYScpCi0rICAgIEBwYXRjaCgn ZGlzdHJvLmxpa2UnLCByZXR1cm5fdmFsdWU9JycpCi0gICAgIEBwYXRjaCgnZGlzdHJvLm1ham9y X3ZlcnNpb24nLCByZXR1cm5fdmFsdWU9JzI1JykKLS0gICAgZGVmIHRlc3RfcmV0dXJuX2ZlZG9y YV9kaXN0dGFnKHNlbGYsIG1vY2tfdmVyLCBtb2NrX2lkKToKLSsgICAgZGVmIHRlc3RfcmV0dXJu X2ZlZG9yYV9kaXN0dGFnKHNlbGYsIG1vY2tfdmVyLCBtb2NrX2xpa2UsIG1vY2tfaWQpOgotICAg ICAgICAgcmVzdWx0ID0gc2VsZi5jbWQuX2RldGVybWluZV9ydW50aW1lX2VudigpCi0gICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKCdmYzI1JywgcmVzdWx0KQotIAotICAgICBAcGF0Y2goJ2Rpc3Ry by5pZCcsIHJldHVybl92YWx1ZT0nJykKLS0gICAgZGVmIHRlc3RfcmV0dXJuX05vbmVfaWZfb3Nf aXNfdW5rbm93bihzZWxmLCBtb2NrX2lkKToKLSsgICAgQHBhdGNoKCdkaXN0cm8ubGlrZScsIHJl dHVybl92YWx1ZT0nJykKLSsgICAgZGVmIHRlc3RfcmV0dXJuX05vbmVfaWZfb3NfaXNfdW5rbm93 bihzZWxmLCBtb2NrX2xpa2UsIG1vY2tfaWQpOgotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChO b25lLCBzZWxmLmNtZC5fZGV0ZXJtaW5lX3J1bnRpbWVfZW52KCkpCi0gCi0gICAgIEBwYXRjaCgn ZGlzdHJvLm9zX3JlbGVhc2VfaW5mbycsIHJldHVybl92YWx1ZT17J3ZhcmlhbnQnOiAnRUxOJ30p Ci0gICAgIEBwYXRjaCgnZGlzdHJvLmlkJywgcmV0dXJuX3ZhbHVlPSdmZWRvcmEnKQotKyAgICBA cGF0Y2goJ2Rpc3Ryby5saWtlJywgcmV0dXJuX3ZhbHVlPScnKQotICAgICBAcGF0Y2goJ2Rpc3Ry by5tYWpvcl92ZXJzaW9uJywgcmV0dXJuX3ZhbHVlPSc0MScpCi0gICAgIEBwYXRjaCgncHlycGtn LkNvbW1hbmRzLmtvamlzZXNzaW9uJywgbmV3X2NhbGxhYmxlPVByb3BlcnR5TW9jaykKLS0gICAg ZGVmIHRlc3RfcmV0dXJuX2Zvcl9lbG4oc2VsZiwgbW9ja19rb2ppLCBtb2NrX3ZlciwgbW9ja19p ZCwgbW9ja19pbmZvKToKLSsgICAgZGVmIHRlc3RfcmV0dXJuX2Zvcl9lbG4oc2VsZiwgbW9ja19r b2ppLCBtb2NrX3ZlciwgbW9ja19saWtlLCBtb2NrX2lkLCBtb2NrX2luZm8pOgotICAgICAgICAg c2VsZi5jbWQuX2tvamlzZXNzaW9uID0gTW9jaygpCi0gICAgICAgICBrb2ppX3Nlc3Npb24gPSBt b2NrX2tvamkucmV0dXJuX3ZhbHVlCi0gICAgICAgICBrb2ppX3Nlc3Npb24uZ2V0QnVpbGRDb25m aWcucmV0dXJuX3ZhbHVlID0gewotLS0gCi0yLjQ3LjEKLQoKZGlmZiAtLWdpdCBhLzAwMzEtQWRk LXNldHVwdG9vbHMtdG8tZGVwZW5kZW5jaWVzLWZvci1QeXRob24tMy4xMi5wYXRjaCBiLzAwMzEt QWRkLXNldHVwdG9vbHMtdG8tZGVwZW5kZW5jaWVzLWZvci1QeXRob24tMy4xMi5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmQxYTIzZC4uMDAwMDAwMAotLS0gYS8wMDMxLUFk ZC1zZXR1cHRvb2xzLXRvLWRlcGVuZGVuY2llcy1mb3ItUHl0aG9uLTMuMTIucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1Gcm9tIDA5MzlkODc2NzBjYmZjY2VmMTQyMjI1NGMz YzgzY2MyMGI3ZjIzNDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiAiRmVSRCAoRnJh bmsgRGFuYSkiIDxmZXJkbnljQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMjIgU2VwIDIwMjQgMDI6 MzY6NDkgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA0LzZdIEFkZCBzZXR1cHRvb2xzIHRvIGRlcGVu ZGVuY2llcyBmb3IgUHl0aG9uIDMuMTIrCi0KLVNpbmNlIHRoZSBwYWNrYWdlIHN0aWxsIHVzZXMg cGtnX3Jlc291cmNlcywgaW4gUHl0aG9uIDMuMTIgaXQgcmVxdWlyZXMKLXRoZSBpbnN0YWxsYXRp b24gb2Ygc2V0dXB0b29scyB3aGljaCBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGJ5IGRlZmF1bHQu Ci0KLU1lcmdlczogaHR0cHM6Ly9wYWd1cmUuaW8vZmVkcGtnL3B1bGwtcmVxdWVzdC81NzEKLQot U2lnbmVkLW9mZi1ieTogRmVSRCAoRnJhbmsgRGFuYSkgPGZlcmRueWNAZ21haWwuY29tPgotLS0t Ci0gcHlwcm9qZWN0LnRvbWwgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykK LQotZGlmZiAtLWdpdCBhL3B5cHJvamVjdC50b21sIGIvcHlwcm9qZWN0LnRvbWwKLWluZGV4IDhj Zjc4ODAuLmZkYzAwYWQgMTAwNjQ0Ci0tLS0gYS9weXByb2plY3QudG9tbAotKysrIGIvcHlwcm9q ZWN0LnRvbWwKLUBAIC0yOSw2ICsyOSw3IEBAIGRlcGVuZGVuY2llcyA9IFsKLSAgICAgIm9wZW5p ZGMtY2xpZW50IiwKLSAgICAgInB5dGhvbi1idWd6aWxsYSIsCi0gICAgICJycGtnIiwKLSsgICAg InNldHVwdG9vbHM7cHl0aG9uX3ZlcnNpb24+PSczLjEyJyIsCi0gXQotIAotIFtwcm9qZWN0LnNj cmlwdHNdCi0tLSAKLTIuNDcuMQotCgpkaWZmIC0tZ2l0IGEvMDAzMi1VcGRhdGUtZXhwaXJlZC10 b2tlbi1leGNlcHRpb24taW5zdHJ1Y3Rpb25zLnBhdGNoIGIvMDAzMi1VcGRhdGUtZXhwaXJlZC10 b2tlbi1leGNlcHRpb24taW5zdHJ1Y3Rpb25zLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAxZjRkY2ViLi4wMDAwMDAwCi0tLSBhLzAwMzItVXBkYXRlLWV4cGlyZWQtdG9rZW4t ZXhjZXB0aW9uLWluc3RydWN0aW9ucy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAg QEAKLUZyb20gYzBmOTYwNGY5YzljNThlMTNjMmE2Njc3NDVlZmM2NjEyYTg5MTEzMSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ICJGZVJEIChGcmFuayBEYW5hKSIgPGZlcmRueWNAZ21h aWwuY29tPgotRGF0ZTogU3VuLCAyMiBTZXAgMjAyNCAwMTo1MTowNiAtMDQwMAotU3ViamVjdDog W1BBVENIIDUvNl0gVXBkYXRlIGV4cGlyZWQgdG9rZW4gZXhjZXB0aW9uIGluc3RydWN0aW9ucwot Ci1UaGUgZXhjZXB0aW9uIHVzZWQgdG8gaW5zdHJ1Y3QgdGhlIHVzZXIgdG8gcnVuIHRoZSBjb21t YW5kCi1gZmVkcGtnIHNldC1wYWd1cmUtdG9rZW4gPHRva2VuPmAsIHdoaWNoIGRvZXNuJ3Qgd29y ay4gVGhlIGNvbW1hbmQKLW9ubHkgYWNjZXB0cyB0aGUgdG9rZW4gaW50ZXJhY3RpdmVseSBhdCBh IHByb21wdCwgbm90IG9uIHRoZSBjb21tYW5kCi1saW5lIChwcmVzdW1hYmx5IGZvciBzZWN1cml0 eSBwdXJwb3NlcykuIEV4Y2VwdGlvbiBtZXNzYWdlIGFuZAotdW5pdCB0ZXN0IGZvciBzYW1lIGFk anVzdGVkIGFjY29yZGluZ2x5LgotCi1NZXJnZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZlZHBrZy9w dWxsLXJlcXVlc3QvNTcwCi0KLVNpZ25lZC1vZmYtYnk6IEZlUkQgKEZyYW5rIERhbmEpIDxmZXJk bnljQGdtYWlsLmNvbT4KLS0tLQotIGZlZHBrZy91dGlscy5weSAgICB8IDYgKysrKy0tCi0gdGVz dC90ZXN0X3V0aWxzLnB5IHwgNSArKystLQotIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25z KCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZmVkcGtnL3V0aWxzLnB5IGIvZmVk cGtnL3V0aWxzLnB5Ci1pbmRleCAwNjY5YzNmLi4wYzU0YmExIDEwMDY0NAotLS0tIGEvZmVkcGtn L3V0aWxzLnB5Ci0rKysgYi9mZWRwa2cvdXRpbHMucHkKLUBAIC05Myw4ICs5MywxMCBAQCBkZWYg bmV3X3BhZ3VyZV9pc3N1ZShsb2dnZXIsIHVybCwgdG9rZW4sIHRpdGxlLCBib2R5LCBjbGlfbmFt ZSk6Ci0gICAgICAgICAjIHNob3cgaGludCBmb3IgZXhwaXJlZCB0b2tlbgotICAgICAgICAgaWYg cmUuc2VhcmNoKHIiSW52YWxpZCBvciBleHBpcmVkIHRva2VuIiwgcnZfZXJyb3IsIHJlLklHTk9S RUNBU0UpOgotICAgICAgICAgICAgIGJhc2VfZXJyb3JfbXNnICs9ICdcbkZvciBpbnZhbGlkIG9y IGV4cGlyZWQgdG9rZW5zIHBsZWFzZSAnIFwKLS0gICAgICAgICAgICAgICAgJ3NldCBhIG5ldyB0 b2tlbiBpbiB5b3VyIHVzZXIgY29uZmlndXJhdGlvbiB3aXRoOicgXAotLSAgICAgICAgICAgICAg ICAnXG5cblx0ezB9IHNldC1wYWd1cmUtdG9rZW4gPHRva2VuPlxuJy5mb3JtYXQoY2xpX25hbWUp Ci0rICAgICAgICAgICAgICAgICdzZXQgYSBuZXcgdG9rZW4gaW4geW91ciB1c2VyIGNvbmZpZ3Vy YXRpb24gYnkgcnVubmluZzonIFwKLSsgICAgICAgICAgICAgICAgJ1xuXG5cdHswfSBzZXQtcGFn dXJlLXRva2VuXG5cbicgXAotKyAgICAgICAgICAgICAgICAnVGhlIGNvbW1hbmQgaXMgaW50ZXJh Y3RpdmU7IGVudGVyIHRoZSBuZXcgdG9rZW4gd2hlbiAnIFwKLSsgICAgICAgICAgICAgICAgJ3By b21wdGVkLlxuJy5mb3JtYXQoY2xpX25hbWUpCi0gICAgICAgICByYWlzZSBycGtnRXJyb3IoYmFz ZV9lcnJvcl9tc2cuZm9ybWF0KHJ2X2Vycm9yKSkKLSAKLSAgICAgcmV0dXJuICd7MH0vcmVsZW5n L2ZlZG9yYS1zY20tcmVxdWVzdHMvaXNzdWUvezF9Jy5mb3JtYXQoCi1kaWZmIC0tZ2l0IGEvdGVz dC90ZXN0X3V0aWxzLnB5IGIvdGVzdC90ZXN0X3V0aWxzLnB5Ci1pbmRleCAwOWRkYmRiLi4xOWFk MmY4IDEwMDY0NAotLS0tIGEvdGVzdC90ZXN0X3V0aWxzLnB5Ci0rKysgYi90ZXN0L3Rlc3RfdXRp bHMucHkKLUBAIC0zODgsOCArMzg4LDkgQEAgY2xhc3MgVGVzdE5ld1BhZ3VyZUlzc3VlKHVuaXR0 ZXN0LlRlc3RDYXNlKToKLSAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCi0gICAgICAg ICAgICAgcnBrZ0Vycm9yLAotICAgICAgICAgICAgICdcbkZvciBpbnZhbGlkIG9yIGV4cGlyZWQg dG9rZW5zIHBsZWFzZSAnCi0tICAgICAgICAgICAgJ3NldCBhIG5ldyB0b2tlbiBpbiB5b3VyIHVz ZXIgY29uZmlndXJhdGlvbiB3aXRoOicKLS0gICAgICAgICAgICAnXG5cblx0ZmVkcGtnIHNldC1w YWd1cmUtdG9rZW4gPHRva2VuPlxuJywKLSsgICAgICAgICAgICAnc2V0IGEgbmV3IHRva2VuIGlu IHlvdXIgdXNlciBjb25maWd1cmF0aW9uIGJ5IHJ1bm5pbmc6JwotKyAgICAgICAgICAgICdcblxu XHRmZWRwa2cgc2V0LXBhZ3VyZS10b2tlblxuXG4nCi0rICAgICAgICAgICAgJ1RoZSBjb21tYW5k IGlzIGludGVyYWN0aXZlOyBlbnRlciB0aGUgbmV3IHRva2VuIHdoZW4gcHJvbXB0ZWQuJywKLSAg ICAgICAgICAgICB1dGlscy5uZXdfcGFndXJlX2lzc3VlLAotICAgICAgICAgICAgIGxvZ2dlciwg J2h0dHA6Ly9kaXN0Z2l0LycsICcxMjM0NTYnLCAnbmV3IHBhY2thZ2UnLCB7J3JlcG8nOiAncGtn MSd9LCAnZmVkcGtnJykKLSAKLS0tIAotMi40Ny4xCi0KCmRpZmYgLS1naXQgYS8wMDMzLUNsb25l LWVwZWwxMC1icmFuY2hlcy13aXRoLWNsb25lLUIucGF0Y2ggYi8wMDMzLUNsb25lLWVwZWwxMC1i cmFuY2hlcy13aXRoLWNsb25lLUIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDhjZTczN2EuLjAwMDAwMDAKLS0tIGEvMDAzMy1DbG9uZS1lcGVsMTAtYnJhbmNoZXMtd2l0aC1j bG9uZS1CLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotRnJvbSA2NTExZmEy NjU2NDliMGYzNmVlMmFjZjdmOWU5OTc4MmMzMGQ1YzNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogQ2FybCBHZW9yZ2UgPGNhcmx3Z2VvcmdlQGdtYWlsLmNvbT4KLURhdGU6IFRodSwg MyBPY3QgMjAyNCAwMToxMDoxNiAtMDUwMAotU3ViamVjdDogW1BBVENIIDYvNl0gQ2xvbmUgZXBl bDEwIGJyYW5jaGVzIHdpdGggY2xvbmUgLUIKLQotUnVubmluZyBgZmVkcGtnIGNsb25lIC1CYCBy ZWxpZXMgb24gdGhlIGNvbmZpZ3VyZWQgYnJhbmNoIHJlZ2V4IHRvCi1kZXRlcm1pbmUgdGhlIGJy YW5jaGVzIHRvIGNsb25lLiAgVGhlIGN1cnJlbnQgcmVnZXggZG9lc24ndCBtYXRjaCBFUEVMCi1i cmFuY2hlcyB3aXRoIG1vcmUgdGhhdCBvbmUgZGlnaXQuICBXZSByZWNlbnRseSBzdGFydGVkIGhh dmluZyBlcGVsMTAKLWJyYW5jaGVzLCBhbmQgaW4gdGhlIGZ1dHVyZSB3ZSdsbCBhbHNvIGhhdmUg ZXBlbDEwLjAsIGVwZWwxMC4xLCBhbmQgc28KLWZvcnRoLiAgVGhpcyBhZGp1c3RzIHRoZSByZWdl eCB0byBhY2NvdW50IGZvciB0aGVzZSBicmFuY2ggbmFtZXMuCi0KLU1lcmdlczogaHR0cHM6Ly9w YWd1cmUuaW8vZmVkcGtnL3B1bGwtcmVxdWVzdC81NzIKLQotU2lnbmVkLW9mZi1ieTogQ2FybCBH ZW9yZ2UgPGNhcmx3Z2VvcmdlQGdtYWlsLmNvbT4KLS0tLQotIGNvbmYvZXRjL3Jwa2cvZmVkcGtn LXN0YWdlLmNvbmYgfCAyICstCi0gY29uZi9ldGMvcnBrZy9mZWRwa2cuY29uZiAgICAgICB8IDIg Ky0KLSB0ZXN0L2ZlZHBrZy1zdGFnZS5jb25mICAgICAgICAgIHwgMiArLQotIHRlc3QvZmVkcGtn LXRlc3QuY29uZiAgICAgICAgICAgfCAyICstCi0gNCBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25mL2V0Yy9ycGtnL2ZlZHBr Zy1zdGFnZS5jb25mIGIvY29uZi9ldGMvcnBrZy9mZWRwa2ctc3RhZ2UuY29uZgotaW5kZXggODdk NjZmZS4uZTZmNmYxNSAxMDA2NDQKLS0tLSBhL2NvbmYvZXRjL3Jwa2cvZmVkcGtnLXN0YWdlLmNv bmYKLSsrKyBiL2NvbmYvZXRjL3Jwa2cvZmVkcGtnLXN0YWdlLmNvbmYKLUBAIC00LDcgKzQsNyBA QCBsb29rYXNpZGVoYXNoID0gc2hhNTEyCi0gbG9va2FzaWRlX2NnaSA9IGh0dHBzOi8vc3JjLnN0 Zy5mZWRvcmFwcm9qZWN0Lm9yZy9yZXBvL3BrZ3MvdXBsb2FkLmNnaQotIGdpdGJhc2V1cmwgPSBz c2g6Ly8lKHVzZXIpc0Bwa2dzLnN0Zy5mZWRvcmFwcm9qZWN0Lm9yZy8lKHJlcG8pcwotIGFub25n aXR1cmwgPSBodHRwczovL3NyYy5zdGcuZmVkb3JhcHJvamVjdC5vcmcvJShyZXBvKXMuZ2l0Ci0t YnJhbmNocmUgPSBmXGQkfGZcZFxkJHxlbFxkJHxvbHBjXGQkfHJhd2hpZGUkCi0rYnJhbmNocmUg PSBmXGQkfGZcZFxkJHxlcGVsXGQrKD86XC5cZCspPyR8b2xwY1xkJHxyYXdoaWRlJAotIGtvamlw cm9maWxlID0gc3RnCi0gYnVpbGRfY2xpZW50ID0ga29qaQotIGNsb25lX2NvbmZpZ19ycG1zID0K LWRpZmYgLS1naXQgYS9jb25mL2V0Yy9ycGtnL2ZlZHBrZy5jb25mIGIvY29uZi9ldGMvcnBrZy9m ZWRwa2cuY29uZgotaW5kZXggZWQ0YzMxOC4uZDdkYTkwNCAxMDA2NDQKLS0tLSBhL2NvbmYvZXRj L3Jwa2cvZmVkcGtnLmNvbmYKLSsrKyBiL2NvbmYvZXRjL3Jwa2cvZmVkcGtnLmNvbmYKLUBAIC00 LDcgKzQsNyBAQCBsb29rYXNpZGVoYXNoID0gc2hhNTEyCi0gbG9va2FzaWRlX2NnaSA9IGh0dHBz Oi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JlcG8vcGtncy91cGxvYWQuY2dpCi0gZ2l0YmFzZXVy bCA9IHNzaDovLyUodXNlcilzQHBrZ3MuZmVkb3JhcHJvamVjdC5vcmcvJShyZXBvKXMKLSBhbm9u Z2l0dXJsID0gaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvJShyZXBvKXMuZ2l0Ci0tYnJh bmNocmUgPSBmXGQkfGZcZFxkJHxlbFxkJHxvbHBjXGQkfHJhd2hpZGUkCi0rYnJhbmNocmUgPSBm XGQkfGZcZFxkJHxlcGVsXGQrKD86XC5cZCspPyR8b2xwY1xkJHxyYXdoaWRlJAotIGtvamlwcm9m aWxlID0ga29qaQotIGJ1aWxkX2NsaWVudCA9IGtvamkKLSBjbG9uZV9jb25maWdfcnBtcyA9Ci1k aWZmIC0tZ2l0IGEvdGVzdC9mZWRwa2ctc3RhZ2UuY29uZiBiL3Rlc3QvZmVkcGtnLXN0YWdlLmNv bmYKLWluZGV4IDE0NzQ4YTEuLjYwZmRlNjIgMTAwNjQ0Ci0tLS0gYS90ZXN0L2ZlZHBrZy1zdGFn ZS5jb25mCi0rKysgYi90ZXN0L2ZlZHBrZy1zdGFnZS5jb25mCi1AQCAtNCw3ICs0LDcgQEAgZ2l0 YmFzZXVybCA9IHNzaDovLyUodXNlcilzQHBrZ3Muc3RnLmV4YW1wbGUuY29tLyUocmVwbylzCi0g bG9va2FzaWRlX2NnaSA9IGh0dHBzOi8vcGtncy5zdGcuZXhhbXBsZS5jb20vcmVwby9wa2dzL3Vw bG9hZC5jZ2kKLSBsb29rYXNpZGVoYXNoID0gc2hhNTEyCi0gbG9va2FzaWRlID0gaHR0cDovL3Br Z3Muc3RnLmV4YW1wbGUuY29tL3JlcG8vcGtncwotLWJyYW5jaHJlID0gZlxkJHxmXGRcZCR8ZWxc ZCR8b2xwY1xkJHxyYXdoaWRlJAotK2JyYW5jaHJlID0gZlxkJHxmXGRcZCR8ZXBlbFxkKyg/Olwu XGQrKT8kfG9scGNcZCR8cmF3aGlkZSQKLSBrb2ppcHJvZmlsZSA9IGtvamkKLSBidWlsZF9jbGll bnQgPSBrb2ppCi0gZGlzdGdpdF9uYW1lc3BhY2VkID0gVHJ1ZQotZGlmZiAtLWdpdCBhL3Rlc3Qv ZmVkcGtnLXRlc3QuY29uZiBiL3Rlc3QvZmVkcGtnLXRlc3QuY29uZgotaW5kZXggNDRiMzMxYS4u NTFkMmRlMyAxMDA2NDQKLS0tLSBhL3Rlc3QvZmVkcGtnLXRlc3QuY29uZgotKysrIGIvdGVzdC9m ZWRwa2ctdGVzdC5jb25mCi1AQCAtNCw3ICs0LDcgQEAgZ2l0YmFzZXVybCA9IHNzaDovLyUodXNl cilzQHBrZ3MuZXhhbXBsZS5jb20vJShyZXBvKXMKLSBsb29rYXNpZGVfY2dpID0gaHR0cHM6Ly9w a2dzLmV4YW1wbGUuY29tL3JlcG8vcGtncy91cGxvYWQuY2dpCi0gbG9va2FzaWRlaGFzaCA9IHNo YTUxMgotIGxvb2thc2lkZSA9IGh0dHA6Ly9wa2dzLmV4YW1wbGUuY29tL3JlcG8vcGtncwotLWJy YW5jaHJlID0gZlxkJHxmXGRcZCR8ZWxcZCR8b2xwY1xkJHxyYXdoaWRlJAotK2JyYW5jaHJlID0g ZlxkJHxmXGRcZCR8ZXBlbFxkKyg/OlwuXGQrKT8kfG9scGNcZCR8cmF3aGlkZSQKLSBrb2ppcHJv ZmlsZSA9IGtvamkKLSBidWlsZF9jbGllbnQgPSBrb2ppCi0gZGlzdGdpdF9uYW1lc3BhY2VkID0g VHJ1ZQotLS0gCi0yLjQ3LjEKLQoKZGlmZiAtLWdpdCBhLzAwMzQtVXBkYXRlLWV4cGlyZWQtdG9r ZW4tZXhjZXB0aW9uLWluc3RydWN0aW9ucy5wYXRjaCBiLzAwMzQtVXBkYXRlLWV4cGlyZWQtdG9r ZW4tZXhjZXB0aW9uLWluc3RydWN0aW9ucy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggNDYwNTQ4Mi4uMDAwMDAwMAotLS0gYS8wMDM0LVVwZGF0ZS1leHBpcmVkLXRva2VuLWV4 Y2VwdGlvbi1pbnN0cnVjdGlvbnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBA Ci1Gcm9tIDkzMjM0ODNjYWQxYWFhOWE0ZDJlMDAzODg4MDhmNGQwNjgzNjMwYTUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEYXZpZCBLYXVmbWFubiA8YXN0cmFAaW9uaWMuYXQ+Ci1E YXRlOiBXZWQsIDggSmFuIDIwMjUgMjM6MTM6MTYgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzNd IFVwZGF0ZSBleHBpcmVkIHRva2VuIGV4Y2VwdGlvbiBpbnN0cnVjdGlvbnMKLQotU2lnbmVkLW9m Zi1ieTogRGF2aWQgS2F1Zm1hbm4gPGFzdHJhQGlvbmljLmF0PgotLS0tCi0gZmVkcGtnL3V0aWxz LnB5IHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKLQotZGlmZiAtLWdpdCBhL2ZlZHBrZy91dGlscy5weSBiL2ZlZHBrZy91dGlscy5weQot aW5kZXggMGM1NGJhMS4uZGJlZTE0MiAxMDA2NDQKLS0tLSBhL2ZlZHBrZy91dGlscy5weQotKysr IGIvZmVkcGtnL3V0aWxzLnB5Ci1AQCAtMTU0LDcgKzE1NCw3IEBAIGRlZiBkb19mb3JrKGxvZ2dl ciwgYmFzZV91cmwsIHRva2VuLCByZXBvX25hbWUsIG5hbWVzcGFjZSwgY2xpX25hbWUpOgotICAg ICAgICAgaWYgcmUuc2VhcmNoKHIiSW52YWxpZCBvciBleHBpcmVkIHRva2VuIiwgcnZfZXJyb3Is IHJlLklHTk9SRUNBU0UpOgotICAgICAgICAgICAgIGJhc2VfZXJyb3JfbXNnICs9ICdcbkZvciBp bnZhbGlkIG9yIGV4cGlyZWQgdG9rZW5zIHBsZWFzZSAnIFwKLSAgICAgICAgICAgICAgICAgJ3Nl dCBhIG5ldyB0b2tlbiBpbiB5b3VyIHVzZXIgY29uZmlndXJhdGlvbiB3aXRoOicgXAotLSAgICAg ICAgICAgICAgICAnXG5cblx0ezB9IHNldC1kaXN0Z2l0LXRva2VuIDx0b2tlbj5cbicuZm9ybWF0 KGNsaV9uYW1lKQotKyAgICAgICAgICAgICAgICAnXG5cblx0ezB9IHNldC1kaXN0Z2l0LXRva2Vu XG4nLmZvcm1hdChjbGlfbmFtZSkKLSAgICAgICAgIHJhaXNlIHJwa2dFcnJvcihiYXNlX2Vycm9y X21zZy5mb3JtYXQocnZfZXJyb3IpKQotIAotICAgICByZXR1cm4gVHJ1ZQotQEAgLTYyOCw3ICs2 MjgsNyBAQCBkZWYgZGlzYWJsZV9tb25pdG9yaW5nKGxvZ2dlciwgYmFzZV91cmwsIHRva2VuLCBy ZXBvX25hbWUsIG5hbWVzcGFjZSwgY2xpX25hbWUpOgotICAgICAgICAgaWYgcmUuc2VhcmNoKHIi SW52YWxpZCBvciBleHBpcmVkIHRva2VuIiwgcnZfZXJyb3IsIHJlLklHTk9SRUNBU0UpOgotICAg ICAgICAgICAgIGJhc2VfZXJyb3JfbXNnICs9ICdcbkZvciBpbnZhbGlkIG9yIGV4cGlyZWQgdG9r ZW5zIHBsZWFzZSAnIFwKLSAgICAgICAgICAgICAgICAgJ3NldCBhIG5ldyB0b2tlbiBpbiB5b3Vy IHVzZXIgY29uZmlndXJhdGlvbiB3aXRoOicgXAotLSAgICAgICAgICAgICAgICAnXG5cblx0ezB9 IHNldC1kaXN0Z2l0LXRva2VuIDx0b2tlbj5cbicuZm9ybWF0KGNsaV9uYW1lKQotKyAgICAgICAg ICAgICAgICAnXG5cblx0ezB9IHNldC1kaXN0Z2l0LXRva2VuXG4nLmZvcm1hdChjbGlfbmFtZSkK LSAgICAgICAgIHJhaXNlIHJwa2dFcnJvcihiYXNlX2Vycm9yX21zZy5mb3JtYXQocnZfZXJyb3Ip KQotIAotICAgICBsb2dnZXIuaW5mbygiTW9uaXRvcmluZyBvZiB0aGUgcHJvamVjdCB3YXMgc3Vj ZXNzZnVsbHkgZGlzYWJsZWQuIikKLS0tIAotMi40OC4xCi0KCmRpZmYgLS1naXQgYS8wMDM1LXJl bGVhc2VzLWluZm8tc2hvdWxkLWFsd2F5cy1zaG93LXRoZS1zYW1lLW9yZGVyLnBhdGNoIGIvMDAz NS1yZWxlYXNlcy1pbmZvLXNob3VsZC1hbHdheXMtc2hvdy10aGUtc2FtZS1vcmRlci5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTYwMTQ1Mi4uMDAwMDAwMAotLS0gYS8wMDM1 LXJlbGVhc2VzLWluZm8tc2hvdWxkLWFsd2F5cy1zaG93LXRoZS1zYW1lLW9yZGVyLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotRnJvbSBkOGYxOGI3ODlkZTA3YTM3NWJjNjM3 ODdlZTE5NjRjYjE2ZjBhYTFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYt OD9xP09uZD1DNT05OWVqPTIwTm9zZWs/PSA8b25vc2VrQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQs IDIyIEphbiAyMDI1IDA0OjM2OjE2ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8zXSBgcmVsZWFz ZXMtaW5mb2Agc2hvdWxkIGFsd2F5cyBzaG93IHRoZSBzYW1lIG9yZGVyCi1NSU1FLVZlcnNpb246 IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRy YW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUZpeGVzOiAjNTY5Ci1KSVJBOiBSSEVMQ01QLTE0MTAx Ci0KLVNpZ25lZC1vZmYtYnk6IE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPgotLS0t Ci0gZmVkcGtnL3V0aWxzLnB5IHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvZmVkcGtnL3V0aWxzLnB5IGIvZmVkcGtn L3V0aWxzLnB5Ci1pbmRleCBkYmVlMTQyLi40NTk1YzQ0IDEwMDY0NAotLS0tIGEvZmVkcGtnL3V0 aWxzLnB5Ci0rKysgYi9mZWRwa2cvdXRpbHMucHkKLUBAIC0yNTcsNyArMjU3LDcgQEAgZGVmIGdl dF9yZWxlYXNlX2JyYW5jaGVzKHNlcnZlcl91cmwpOgotICAgICAgICAgc2hvcnRfbmFtZSA9ICJm ZWRvcmEiIGlmIHByb2R1Y3RfdmVyc2lvbi5zdGFydHN3aXRoKCJmIikgZWxzZSAiZXBlbCIKLSAg ICAgICAgIHJlbGVhc2VzLnNldGRlZmF1bHQoc2hvcnRfbmFtZSwgc2V0KCkpLmFkZChwcm9kdWN0 X3ZlcnNpb24pCi0gCi0tICAgIHJldHVybiB7a2V5OiBsaXN0KHZhbHVlKSBmb3Iga2V5LCB2YWx1 ZSBpbiByZWxlYXNlcy5pdGVtcygpfQotKyAgICByZXR1cm4ge2tleTogc29ydGVkKGxpc3QodmFs dWUpKSBmb3Iga2V5LCB2YWx1ZSBpbiByZWxlYXNlcy5pdGVtcygpfQotIAotIAotIGRlZiBzbF9s aXN0X3RvX2RpY3Qoc2xzKToKLS0tIAotMi40OC4xCi0KCmRpZmYgLS1naXQgYS8wMDM2LVB5dGhv bi0zLjEzLWVudmlyb25tZW50LWFuZC1yZW5ldy10ZXN0aW5nLWltYWdlLnBhdGNoIGIvMDAzNi1Q eXRob24tMy4xMy1lbnZpcm9ubWVudC1hbmQtcmVuZXctdGVzdGluZy1pbWFnZS5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTUyNjdkMC4uMDAwMDAwMAotLS0gYS8wMDM2LVB5 dGhvbi0zLjEzLWVudmlyb25tZW50LWFuZC1yZW5ldy10ZXN0aW5nLWltYWdlLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotRnJvbSAxNjAzY2RhYzA1NWZiZjIxNjZjMzMyZmQ0 NmU4MjkzZmUxMzIzNTg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9x P09uZD1DNT05OWVqPTIwTm9zZWs/PSA8b25vc2VrQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDI5 IEphbiAyMDI1IDAzOjMwOjQ5ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8zXSBQeXRob24gMy4x MyBlbnZpcm9ubWVudCBhbmQgcmVuZXcgdGVzdGluZyBpbWFnZQotTUlNRS1WZXJzaW9uOiAxLjAK LUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zl ci1FbmNvZGluZzogOGJpdAotCi1KSVJBOiBSSEVMQ01QLTE0MzMwCi0KLVNpZ25lZC1vZmYtYnk6 IE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPgotLS0tCi0gUkVBRE1FLnJzdCAgICAg ICAgICAgICAgfCAyICstCi0gamVua2luc190ZXN0LmRvY2tlcmZpbGUgfCAzICsrLQotIHB5cHJv amVjdC50b21sICAgICAgICAgIHwgMSArCi0gc2V0dXAucHkgICAgICAgICAgICAgICAgfCAxICsK LSA0IGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlm ZiAtLWdpdCBhL1JFQURNRS5yc3QgYi9SRUFETUUucnN0Ci1pbmRleCA3YWY2YzY5Li5mMjViMGY1 IDEwMDY0NAotLS0tIGEvUkVBRE1FLnJzdAotKysrIGIvUkVBRE1FLnJzdAotQEAgLTMsNyArMyw3 IEBAIEludHJvZHVjdGlvbgotIAotIFRoaXMgaXMgdGhlIGZlZHBrZyBwcm9qZWN0LCB3aGljaCBt b3N0bHkgaXMgYSBzdWJjbGFzcyBvZiB0aGUgcnBrZyBwcm9qZWN0LgotIAotLWZlZHBrZyB3b3Jr cyB3aXRoIFB5dGhvbiAzLjYsIDMuOSwgMy4xMgotK2ZlZHBrZyB3b3JrcyB3aXRoIFB5dGhvbiAz LjYsIDMuOSwgMy4xMiBhbmQgMy4xMwotIAotIExpY2Vuc2UKLSA9PT09PT09Ci1kaWZmIC0tZ2l0 IGEvamVua2luc190ZXN0LmRvY2tlcmZpbGUgYi9qZW5raW5zX3Rlc3QuZG9ja2VyZmlsZQotaW5k ZXggYjRhMmFmOC4uZjg0OGZkMiAxMDA2NDQKLS0tLSBhL2plbmtpbnNfdGVzdC5kb2NrZXJmaWxl Ci0rKysgYi9qZW5raW5zX3Rlc3QuZG9ja2VyZmlsZQotQEAgLTEsNCArMSw0IEBACi0tRlJPTSBm ZWRvcmE6MzkKLStGUk9NIGZlZG9yYTo0MQotIExBQkVMIFwKLSAgICAgbmFtZT0iZmVkcGtnIHRl c3QiIFwKLSAgICAgZGVzY3JpcHRpb249IlJ1biB0ZXN0cyB1c2luZyB0b3ggd2l0aCBQeXRob24g MyIgXAotQEAgLTksNiArOSw3IEBAIFJVTiBkbmYgLXkgdXBkYXRlICYmIGRuZiAteSBpbnN0YWxs IFwKLSAgICAgICAgIHB5dGhvbjMtc2V0dXB0b29scyBcCi0gICAgICAgICBycG0tYnVpbGQgXAot ICAgICAgICAgcHl0aG9uMy10b3ggXAotKyAgICAgICAgcHl0aG9uMy42IFwKLSAgICAgICAgIGdj YyBcCi0gICAgICAgICBsaWJjdXJsLWRldmVsIFwKLSAgICAgICAgIGtyYjUtZGV2ZWwgXAotZGlm ZiAtLWdpdCBhL3B5cHJvamVjdC50b21sIGIvcHlwcm9qZWN0LnRvbWwKLWluZGV4IGZkYzAwYWQu LjMyZmU1NTAgMTAwNjQ0Ci0tLS0gYS9weXByb2plY3QudG9tbAotKysrIGIvcHlwcm9qZWN0LnRv bWwKLUBAIC0yMCw2ICsyMCw3IEBAIGNsYXNzaWZpZXJzID0gWwotICAgICAiUHJvZ3JhbW1pbmcg TGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuNiIsCi0gICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6 OiBQeXRob24gOjogMy45IiwKLSAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6 OiAzLjEyIiwKLSsgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzLjEzIiwK LSAgICAgIlRvcGljIDo6IFNvZnR3YXJlIERldmVsb3BtZW50IDo6IEJ1aWxkIFRvb2xzIiwKLSBd Ci0gZGVwZW5kZW5jaWVzID0gWwotZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKLWlu ZGV4IGZiZTM0ZDcuLmVhOGE4ZTEgMTAwNzU1Ci0tLS0gYS9zZXR1cC5weQotKysrIGIvc2V0dXAu cHkKLUBAIC02Nyw1ICs2Nyw2IEBAIHNldHVwKAotICAgICAgICAgJ1Byb2dyYW1taW5nIExhbmd1 YWdlIDo6IFB5dGhvbiA6OiAzLjYnLAotICAgICAgICAgJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6 IFB5dGhvbiA6OiAzLjknLAotICAgICAgICAgJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhv biA6OiAzLjEyJywKLSsgICAgICAgICdQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjog My4xMycsCi0gICAgIF0sCi0gKQotLS0gCi0yLjQ4LjEKLQoKZGlmZiAtLWdpdCBhLzAwMzctRml4 LXVuaXR0ZXN0cy13aGVuLWJ1aWxkaW5nLWZvci1FTE4tdGFyZ2V0LnBhdGNoIGIvMDAzNy1GaXgt dW5pdHRlc3RzLXdoZW4tYnVpbGRpbmctZm9yLUVMTi10YXJnZXQucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDIwNjRkMGYuLjAwMDAwMDAKLS0tIGEvMDAzNy1GaXgtdW5pdHRl c3RzLXdoZW4tYnVpbGRpbmctZm9yLUVMTi10YXJnZXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSw1NyArMCwwIEBACi1Gcm9tIDIxNWM3YWRkMmYxMzFjMDExZmNkZjE5YWEwOTdmNDYwYTUxMmUx MjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/T25kPUM1PTk5ZWo9 MjBOb3Nlaz89IDxvbm9zZWtAcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgMTggRmViIDIwMjUgMDE6 MjU6MDggKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAzLzNdIEZpeCB1bml0dGVzdHMgd2hlbiBidWls ZGluZyBmb3IgRUxOIHRhcmdldAotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4 dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAot Ci1KSVJBOiBSSEVMQ01QLTE0MzQ3Ci1GaXhlczogIzU4OQotCi1TaWduZWQtb2ZmLWJ5OiBPbmTF mWVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KLS0tLQotIHRlc3QvdGVzdF9jbGkucHkgICAg ICB8IDMgKystCi0gdGVzdC90ZXN0X2NvbW1hbmRzLnB5IHwgMyArKy0KLSAyIGZpbGVzIGNoYW5n ZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Rlc3Qv dGVzdF9jbGkucHkgYi90ZXN0L3Rlc3RfY2xpLnB5Ci1pbmRleCBkMjAxZTdmLi5mMDAyZjY1IDEw MDY0NAotLS0tIGEvdGVzdC90ZXN0X2NsaS5weQotKysrIGIvdGVzdC90ZXN0X2NsaS5weQotQEAg LTIyNzAsMTMgKzIyNzAsMTQgQEAgY2xhc3MgVGVzdEJ1aWxkRnJvbVN0cmVhbUJyYW5jaChDbGlU ZXN0Q2FzZSk6Ci0gCi0gICAgICAgICBfYnVpbGQuYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoTm9u ZSkKLSAKLSsgICAgQHBhdGNoKCdkaXN0cm8ub3NfcmVsZWFzZV9pbmZvJywgcmV0dXJuX3ZhbHVl PXsndmFyaWFudCc6ICdub24tRUxOJ30pCi0gICAgIEBwYXRjaCgncHlycGtnLmNsaS5jbGlDbGll bnQuX2J1aWxkJykKLSAgICAgQHBhdGNoKCdmZWRwa2cuQ29tbWFuZHMuYnVpbGRfdGFyZ2V0JykK LSAgICAgQHBhdGNoKCdmZWRwa2cuY2xpLmdldF9zdHJlYW1fYnJhbmNoZXMnKQotICAgICBAcGF0 Y2goJ2ZlZHBrZy5jbGkuZ2V0X3JlbGVhc2VfYnJhbmNoZXMnKQotICAgICBkZWYgdGVzdF9zdWJt aXRfYnVpbGRzKAotICAgICAgICAgICAgIHNlbGYsIGdldF9yZWxlYXNlX2JyYW5jaGVzLCBnZXRf c3RyZWFtX2JyYW5jaGVzLCBidWlsZF90YXJnZXQsCi0tICAgICAgICAgICAgX2J1aWxkKToKLSsg ICAgICAgICAgICBfYnVpbGQsIG9zX3JlbGVhc2VfaW5mbyk6Ci0gICAgICAgICBnZXRfcmVsZWFz ZV9icmFuY2hlcy5yZXR1cm5fdmFsdWUgPSB7Ci0gICAgICAgICAgICAgJ2ZlZG9yYSc6IFsnZjI4 JywgJ2YyNyddLAotICAgICAgICAgICAgICdlcGVsJzogWydlcGVsNycsICdlcGVsOCcsICdlcGVs OSddLAotZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9jb21tYW5kcy5weSBiL3Rlc3QvdGVzdF9jb21t YW5kcy5weQotaW5kZXggYjA4YTdmZS4uYTE2ODMzNSAxMDA2NDQKLS0tLSBhL3Rlc3QvdGVzdF9j b21tYW5kcy5weQotKysrIGIvdGVzdC90ZXN0X2NvbW1hbmRzLnB5Ci1AQCAtMjMsMTAgKzIzLDEx IEBAIGNsYXNzIFRlc3REZXRlcm1pbmVSdW50aW1lRW52KENvbW1hbmRUZXN0Q2FzZSk6Ci0gICAg ICAgICBzdXBlcihUZXN0RGV0ZXJtaW5lUnVudGltZUVudiwgc2VsZikuc2V0VXAoKQotICAgICAg ICAgc2VsZi5jbWQgPSBzZWxmLm1ha2VfY29tbWFuZHMoKQotIAotKyAgICBAcGF0Y2goJ2Rpc3Ry by5vc19yZWxlYXNlX2luZm8nLCByZXR1cm5fdmFsdWU9eyd2YXJpYW50JzogJ25vbi1FTE4nfSkK LSAgICAgQHBhdGNoKCdkaXN0cm8uaWQnLCByZXR1cm5fdmFsdWU9J2ZlZG9yYScpCi0gICAgIEBw YXRjaCgnZGlzdHJvLmxpa2UnLCByZXR1cm5fdmFsdWU9JycpCi0gICAgIEBwYXRjaCgnZGlzdHJv Lm1ham9yX3ZlcnNpb24nLCByZXR1cm5fdmFsdWU9JzI1JykKLS0gICAgZGVmIHRlc3RfcmV0dXJu X2ZlZG9yYV9kaXN0dGFnKHNlbGYsIG1vY2tfdmVyLCBtb2NrX2xpa2UsIG1vY2tfaWQpOgotKyAg ICBkZWYgdGVzdF9yZXR1cm5fZmVkb3JhX2Rpc3R0YWcoc2VsZiwgbW9ja192ZXIsIG1vY2tfbGlr ZSwgbW9ja19pZCwgbW9ja19yZWxlYXNlX2luZm8pOgotICAgICAgICAgcmVzdWx0ID0gc2VsZi5j bWQuX2RldGVybWluZV9ydW50aW1lX2VudigpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdm YzI1JywgcmVzdWx0KQotIAotLS0gCi0yLjQ4LjEKLQoKZGlmZiAtLWdpdCBhLzAwMzgtRHluYW1p Y2FsbHktZXhjbHVkZS1SYXdoaWRlLWJyYW5jaC1mcm9tLWZlZHBrZy1icmFuYy5wYXRjaCBiLzAw MzgtRHluYW1pY2FsbHktZXhjbHVkZS1SYXdoaWRlLWJyYW5jaC1mcm9tLWZlZHBrZy1icmFuYy5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTc0Nzk2NS4uMDAwMDAwMAotLS0g YS8wMDM4LUR5bmFtaWNhbGx5LWV4Y2x1ZGUtUmF3aGlkZS1icmFuY2gtZnJvbS1mZWRwa2ctYnJh bmMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNjggKzAsMCBAQAotRnJvbSBmZmU4MjExNmJm M2JjMDFlYThhNmJkNTdkN2IxY2FjOTk1ZTNiOTA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogU2FteWFrIEphaW4gPHNhbXlhay5qbjExQGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMyBP Y3QgMjAyNCAxMjo1ODo1MCArMDUzMAotU3ViamVjdDogW1BBVENIIDEvM10gRHluYW1pY2FsbHkg ZXhjbHVkZSBSYXdoaWRlIGJyYW5jaCBmcm9tIGZlZHBrZyBicmFuY2hpbmcKLQotSklSQTogUkhF TENNUC0xNDE4MgotRml4ZXM6ICM1NjYKLVJlbGF0ZXM6IGh0dHBzOi8vcGFndXJlLmlvL3JlbGVu Zy9pc3N1ZS8xMjMxMQotTWVyZ2VzOiBodHRwczovL3BhZ3VyZS5pby9mZWRwa2cvcHVsbC1yZXF1 ZXN0LzU3MwotCi1TaWduZWQtb2ZmLWJ5OiBTYW15YWsgSmFpbiA8c2FteWFrLmpuMTFAZ21haWwu Y29tPgotLS0tCi0gZmVkcGtnL2NsaS5weSAgICAgIHwgICA0ICstCi0gZmVkcGtnL3V0aWxzLnB5 ICAgIHwgIDU1ICsrKysrKysrKystLS0tLQotIHRlc3QvdGVzdF91dGlscy5weSB8IDE2NSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KLSB0ZXN0L3V0aWxzLnB5 ICAgICAgfCAgIDEgLQotIDQgZmlsZXMgY2hhbmdlZCwgMTcwIGluc2VydGlvbnMoKyksIDU1IGRl bGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZmVkcGtnL2NsaS5weSBiL2ZlZHBrZy9jbGkucHkK LWluZGV4IGE0MzgxYTcuLmFhNTc0NTEgMTAwNjQ0Ci0tLS0gYS9mZWRwa2cvY2xpLnB5Ci0rKysg Yi9mZWRwa2cvY2xpLnB5Ci1AQCAtMTQyNyw3ICsxNDI3LDkgQEAgY2xhc3MgZmVkcGtnQ2xpZW50 KGNsaUNsaWVudCk6Ci0gICAgICAgICAgICAgJ1BhY2thZ2UgJXMgaGFzIHN0cmVhbSBicmFuY2hl czogJXInLAotICAgICAgICAgICAgIHNlbGYuY21kLnJlcG9fbmFtZSwgW2l0ZW0gZm9yIGl0ZW0g aW4gc3RyZWFtX2JyYW5jaGVzXSkKLSAKLS0gICAgICAgIGlmIG5vdCBzZWxmLmlzX3N0cmVhbV9i cmFuY2goc3RyZWFtX2JyYW5jaGVzLCBzZWxmLmNtZC5icmFuY2hfbWVyZ2UpOgotKyAgICAgICAg IyByYXdoaWRlIHdhcyByZW1vdmVkIGZyb20gdGhlIGxpc3Qgb2Ygc3RyZWFtIGJyYW5jaGVzLCBi dXQgZm9yIHJhd2hpZGUgYnJhbmNoCi0rICAgICAgICAjIHRoZSBsb2NhbCBjb25maWcgc2hvdWxk IGJlIGNoZWNrZWQgYW5kIHRoZXJlZm9yZSBpdCBoYXMgdG8gc2tpcCB0aGlzIGNvbmRpdGlvbgot KyAgICAgICAgaWYgbm90IHNlbGYuaXNfc3RyZWFtX2JyYW5jaChzdHJlYW1fYnJhbmNoZXMgKyBb J3Jhd2hpZGUnXSwgc2VsZi5jbWQuYnJhbmNoX21lcmdlKToKLSAgICAgICAgICAgICByZXR1cm4g c3VwZXIoZmVkcGtnQ2xpZW50LCBzZWxmKS5fYnVpbGQoc2V0cykKLSAKLSAgICAgICAgIHNlbGYu bG9nLmRlYnVnKCdDdXJyZW50IGJyYW5jaCAlcyBpcyBhIHN0cmVhbSBicmFuY2guJywKLWRpZmYg LS1naXQgYS9mZWRwa2cvdXRpbHMucHkgYi9mZWRwa2cvdXRpbHMucHkKLWluZGV4IDQ1OTVjNDQu LjFjZTkxNzcgMTAwNjQ0Ci0tLS0gYS9mZWRwa2cvdXRpbHMucHkKLSsrKyBiL2ZlZHBrZy91dGls cy5weQotQEAgLTIzLDEwICsyMywxMCBAQCBmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgdXJscGFy c2UKLSAKLSAKLSBkZWYgcXVlcnlfYm9kaGkoc2VydmVyX3VybCwgdGltZW91dD02MCk6Ci0tICAg IHF1ZXJ5X2FyZyA9ICcvP2V4Y2x1ZGVfYXJjaGl2ZWQ9VHJ1ZScKLSsgICAgcXVlcnlfYXJnID0g Jz9leGNsdWRlX2FyY2hpdmVkPVRydWUnCi0gICAgIGFwaV91cmwgPSAnezB9L3JlbGVhc2VzL3sx fScuZm9ybWF0KHNlcnZlcl91cmwucnN0cmlwKCcvJyksIHF1ZXJ5X2FyZykKLSAgICAgdHJ5Ogot LSAgICAgICAgcnYgPSByZXF1ZXN0cy5nZXQoYXBpX3VybCwgdGltZW91dD02MCkKLSsgICAgICAg IHJ2ID0gcmVxdWVzdHMuZ2V0KGFwaV91cmwsIHRpbWVvdXQ9dGltZW91dCkKLSAgICAgZXhjZXB0 IENvbm5lY3Rpb25FcnJvciBhcyBlcnJvcjoKLSAgICAgICAgIGVycm9yX21zZyA9ICgnVGhlIGNv bm5lY3Rpb24gdG8gQk9ESEkgZmFpbGVkIHdoaWxlIHRyeWluZyB0byBnZXQgJwotICAgICAgICAg ICAgICAgICAgICAgICd0aGUgYWN0aXZlIHJlbGVhc2UgYnJhbmNoZXMuIFRoZSBlcnJvciB3YXM6 IHswfScKLUBAIC0zOSw5ICszOSwxOSBAQCBkZWYgcXVlcnlfYm9kaGkoc2VydmVyX3VybCwgdGlt ZW91dD02MCk6Ci0gICAgICAgICByYWlzZSBycGtnRXJyb3IoYmFzZV9lcnJvcl9tc2cuZm9ybWF0 KHJ2LnRleHQpKQotIAotICAgICBydl9qc29uID0gcnYuanNvbigpCi0tICAgIGlmIHJ2X2pzb25b J3JlbGVhc2VzJ106Ci0tICAgICAgICBmb3IgYnJhbmNoIGluIHJ2X2pzb25bJ3JlbGVhc2VzJ106 Ci0tICAgICAgICAgICAgeWllbGQgYnJhbmNoWydicmFuY2gnXQotKyAgICBicmFuY2hlcyA9IFtd Ci0rCi0rICAgICMgQ29sbGVjdCBhbGwgYnJhbmNoZXMsIG1haW50YWluaW5nIG9yZGVyCi0rICAg IHNlZW5fYnJhbmNoZXMgPSBzZXQoKQotKyAgICBmb3IgcmVsZWFzZSBpbiBydl9qc29uWydyZWxl YXNlcyddOgotKyAgICAgICAgYnJhbmNoID0gcmVsZWFzZVsnYnJhbmNoJ10KLSsgICAgICAgIGlm IGJyYW5jaCA9PSAncmF3aGlkZSc6Ci0rICAgICAgICAgICAgYnJhbmNoID0gImZ7MH0iLmZvcm1h dChyZWxlYXNlWyd2ZXJzaW9uJ10pICAjIFJlcGxhY2UgJ3Jhd2hpZGUnIHdpdGggdGhlIHZlcnNp b24KLSsgICAgICAgIGlmIGJyYW5jaCBub3QgaW4gc2Vlbl9icmFuY2hlczoKLSsgICAgICAgICAg ICBicmFuY2hlcy5hcHBlbmQoYnJhbmNoKQotKyAgICAgICAgICAgIHNlZW5fYnJhbmNoZXMuYWRk KGJyYW5jaCkKLSsKLSsgICAgcmV0dXJuIGJyYW5jaGVzCi0gCi0gCi0gZGVmIG5ld19wYWd1cmVf aXNzdWUobG9nZ2VyLCB1cmwsIHRva2VuLCB0aXRsZSwgYm9keSwgY2xpX25hbWUpOgotQEAgLTI0 NCwyMCArMjU0LDM1IEBAIGRlZiBnZXRfcGFndXJlX2JyYW5jaGVzKGxvZ2dlciwgdXJsLCBuYW1l c3BhY2UsIHJlcG9fbmFtZSk6Ci0gCi0gZGVmIGdldF9yZWxlYXNlX2JyYW5jaGVzKHNlcnZlcl91 cmwpOgotICAgICAiIiIKLS0gICAgR2V0IHRoZSBhY3RpdmUgRmVkb3JhIHJlbGVhc2UgYnJhbmNo ZXMgZnJvbSBCb2RoaQotKyAgICBHZXQgdGhlIGFjdGl2ZSBGZWRvcmEgcmVsZWFzZSBicmFuY2hl cyBmcm9tIEJvZGhpLgotIAotLSAgICA6cGFyYW0gIHN0ciB1cmw6IGEgc3RyaW5nIG9mIHRoZSBV UkwgdG8gQm9kaGkKLS0gICAgOnJldHVybjogYSBtYXBwaW5nIGNvbnRhaW5pbmcgdGhlIGFjdGl2 ZSBGZWRvcmEgcmVsZWFzZXMgYW5kIEVQRUwgYnJhbmNoZXMuCi0rICAgIDpwYXJhbSBzdHIgc2Vy dmVyX3VybDogVGhlIFVSTCB0byBCb2RoaSBBUEkuCi0rICAgIDpyZXR1cm46IEEgbWFwcGluZyBj b250YWluaW5nIHRoZSBhY3RpdmUgRmVkb3JhIHJlbGVhc2VzIGFuZCBFUEVMIGJyYW5jaGVzLCBl eGNsdWRpbmcgcmF3aGlkZS4KLSAgICAgOnJ0eXBlOiBkaWN0Ci0gICAgICIiIgotKyAgICAjIEZl dGNoIGFsbCBicmFuY2hlcyBmcm9tIEJvZGhpCi0rICAgIGFsbF9icmFuY2hlcyA9IHF1ZXJ5X2Jv ZGhpKHNlcnZlcl91cmwpCi0rCi0gICAgIHJlbGVhc2VzID0ge30KLS0gICAgZm9yIHByb2R1Y3Rf dmVyc2lvbiBpbiBxdWVyeV9ib2RoaShzZXJ2ZXJfdXJsKToKLS0gICAgICAgIGlmIHByb2R1Y3Rf dmVyc2lvbiA9PSAicmF3aGlkZSI6Ci0rICAgIHJhd2hpZGVfYnJhbmNoID0gTm9uZQotKwotKyAg ICAjIFRyYXZlcnNlIHRoZSBicmFuY2hlcyBvbmNlIHRvIGNhdGVnb3JpemUgYW5kIGZpbmQgdGhl IHJhd2hpZGUgYnJhbmNoCi0rICAgIGZvciBicmFuY2ggaW4gYWxsX2JyYW5jaGVzOgotKyAgICAg ICAgIyBBc3N1bWUgdGhlIHJhd2hpZGUgYnJhbmNoIGlzIHRoZSBsYXRlc3QgZi12ZXJzaW9uIGJy YW5jaAotKyAgICAgICAgaWYgYnJhbmNoLnN0YXJ0c3dpdGgoJ2YnKSBhbmQgYnJhbmNoWzE6XS5p c2RpZ2l0KCk6Ci0rICAgICAgICAgICAgIyBDaGVjayBpZiB0aGlzIGlzIHRoZSBoaWdoZXN0IGYt dmVyc2lvbiwgaGVuY2UgcmF3aGlkZQotKyAgICAgICAgICAgIGlmIHJhd2hpZGVfYnJhbmNoIGlz IE5vbmUgb3IgaW50KGJyYW5jaFsxOl0pID4gaW50KHJhd2hpZGVfYnJhbmNoWzE6XSk6Ci0rICAg ICAgICAgICAgICAgIHJhd2hpZGVfYnJhbmNoID0gYnJhbmNoCi0rCi0rICAgICMgQ2F0ZWdvcml6 ZSBicmFuY2hlcyBpbnRvIEZlZG9yYSBhbmQgRVBFTCwgZXhjbHVkaW5nIHJhd2hpZGUKLSsgICAg Zm9yIGJyYW5jaCBpbiBhbGxfYnJhbmNoZXM6Ci0rICAgICAgICBpZiBicmFuY2ggPT0gcmF3aGlk ZV9icmFuY2g6Ci0gICAgICAgICAgICAgY29udGludWUKLS0gICAgICAgIHNob3J0X25hbWUgPSAi ZmVkb3JhIiBpZiBwcm9kdWN0X3ZlcnNpb24uc3RhcnRzd2l0aCgiZiIpIGVsc2UgImVwZWwiCi0t ICAgICAgICByZWxlYXNlcy5zZXRkZWZhdWx0KHNob3J0X25hbWUsIHNldCgpKS5hZGQocHJvZHVj dF92ZXJzaW9uKQotIAotLSAgICByZXR1cm4ge2tleTogc29ydGVkKGxpc3QodmFsdWUpKSBmb3Ig a2V5LCB2YWx1ZSBpbiByZWxlYXNlcy5pdGVtcygpfQotKyAgICAgICAgc2hvcnRfbmFtZSA9ICJm ZWRvcmEiIGlmIGJyYW5jaC5zdGFydHN3aXRoKCJmIikgZWxzZSAiZXBlbCIKLSsgICAgICAgIHJl bGVhc2VzLnNldGRlZmF1bHQoc2hvcnRfbmFtZSwgc2V0KCkpLmFkZChicmFuY2gpCi0rCi0rICAg IHJldHVybiB7a2V5OiBzb3J0ZWQodmFsdWUpIGZvciBrZXksIHZhbHVlIGluIHJlbGVhc2VzLml0 ZW1zKCl9Ci0gCi0gCi0gZGVmIHNsX2xpc3RfdG9fZGljdChzbHMpOgotQEAgLTQ1NCw3ICs0Nzks NyBAQCBkZWYgZ2V0X3N0cmVhbV9icmFuY2hlcyhzZXJ2ZXJfdXJsLCBwYWNrYWdlX25hbWUsIGFw aWJhc2V1cmwsIGxvZ2dlcik6Ci0gICAgIHJlbGVhc2UgYnJhbmNoIG5hbWUuCi0gICAgIDpydHlw ZTogbGlzdAotICAgICAiIiIKLS0gICAgYWN0aXZlX2JyYW5jaGVzID0gc2V0KHF1ZXJ5X2JvZGhp KHNlcnZlcl91cmwpKQotKyAgICBhY3RpdmVfYnJhbmNoZXMgPSBxdWVyeV9ib2RoaShzZXJ2ZXJf dXJsKQotIAotICAgICBwYWNrYWdlX2JyYW5jaGVzID0gZ2V0X3BhZ3VyZV9icmFuY2hlcyhsb2dn ZXIsIGFwaWJhc2V1cmwsICJycG1zIiwgcGFja2FnZV9uYW1lKQotIAotQEAgLTQ2NCw3ICs0ODks NyBAQCBkZWYgZ2V0X3N0cmVhbV9icmFuY2hlcyhzZXJ2ZXJfdXJsLCBwYWNrYWdlX25hbWUsIGFw aWJhc2V1cmwsIGxvZ2dlcik6Ci0gCi0gICAgIHN0cmVhbV9icmFuY2hlcyA9IFtdCi0gICAgIGZv ciBpdGVtIGluIGludGVyc2VjdGlvbjoKLS0gICAgICAgIGlmIHJlLm1hdGNoKHInXihmfGVsKVxk KyQnLCBpdGVtKToKLSsgICAgICAgIGlmIHJlLm1hdGNoKHInXmZcZCskJywgaXRlbSk6Ci0gICAg ICAgICAgICAgY29udGludWUKLSAgICAgICAgICMgZXBlbDcgaXMgcmVndWxhciByZWxlYXNlIGJy YW5jaAotICAgICAgICAgIyBlcGVsOCBhbmQgYWJvdmUgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSBz dHJlYW0gYnJhbmNoIHRvIHVzZQotZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF91dGlscy5weSBiL3Rl c3QvdGVzdF91dGlscy5weQotaW5kZXggMTlhZDJmOC4uMDUxZTgxMyAxMDA2NDQKLS0tLSBhL3Rl c3QvdGVzdF91dGlscy5weQotKysrIGIvdGVzdC90ZXN0X3V0aWxzLnB5Ci1AQCAtMTQsMTIgKzE0 LDExIEBAIGZyb20gY29uZmlncGFyc2VyIGltcG9ydCBOb09wdGlvbkVycm9yLCBOb1NlY3Rpb25F cnJvcgotIGltcG9ydCBqc29uCi0gaW1wb3J0IHVuaXR0ZXN0Ci0gZnJvbSB1bml0dGVzdC5tb2Nr IGltcG9ydCBNb2NrLCBwYXRjaAotLQotIGZyb20gcmVxdWVzdHMuZXhjZXB0aW9ucyBpbXBvcnQg Q29ubmVjdGlvbkVycm9yCi0tCi0gZnJvbSBmZWRwa2cgaW1wb3J0IHV0aWxzCi0gZnJvbSBmcmVl emVndW4gaW1wb3J0IGZyZWV6ZV90aW1lCi0gZnJvbSBweXJwa2cuZXJyb3JzIGltcG9ydCBycGtn RXJyb3IKLStpbXBvcnQgcmVxdWVzdHMKLSAKLSAKLSBjbGFzcyBUZXN0VXRpbHModW5pdHRlc3Qu VGVzdENhc2UpOgotQEAgLTEwMCwxMSArOTksMTggQEAgY2xhc3MgVGVzdFV0aWxzKHVuaXR0ZXN0 LlRlc3RDYXNlKToKLSAgICAgICAgICAgICB7J25hbWUnOiAnRjM5JywgJ2JyYW5jaCc6ICdmMzkn fSwKLSAgICAgICAgICAgICB7J25hbWUnOiAnRjM5QycsICdicmFuY2gnOiAnZjM5J30sCi0gICAg ICAgICAgICAgeyduYW1lJzogJ0YzOUYnLCAnYnJhbmNoJzogJ2YzOSd9LAotKyAgICAgICAgICAg IHsnbmFtZSc6ICdGNDAnLCAnYnJhbmNoJzogJ2Y0MCd9LAotKyAgICAgICAgICAgIHsnbmFtZSc6 ICdGNDBDJywgJ2JyYW5jaCc6ICdmNDAnfSwKLSsgICAgICAgICAgICB7J25hbWUnOiAnRjQwRics ICdicmFuY2gnOiAnZjQwJ30sCi0rICAgICAgICAgICAgeyduYW1lJzogJ0Y0MScsICdicmFuY2gn OiAnZjQxJ30sCi0rICAgICAgICAgICAgeyduYW1lJzogJ0Y0MUMnLCAnYnJhbmNoJzogJ2Y0MSd9 LAotKyAgICAgICAgICAgIHsnbmFtZSc6ICdGNDFGJywgJ2JyYW5jaCc6ICdmNDEnfSwKLSsgICAg ICAgICAgICB7J25hbWUnOiAnRjQyJywgJ2JyYW5jaCc6ICdmNDInfSwKLSAgICAgICAgICAgICBd LCAncGFnZSc6IDEsICdwYWdlcyc6IDEsICdyb3dzX3Blcl9wYWdlJzogMjAsICd0b3RhbCc6IDEy fQotICAgICAgICAgbW9ja19yZXF1ZXN0X2dldC5yZXR1cm5fdmFsdWUgPSBtb2NrX3J2Ci0gICAg ICAgICBleHBlY3RlZCA9IHsKLSAgICAgICAgICAgICAnZXBlbCc6IFsnZXBlbDcnLCAnZXBlbDgn LCAnZXBlbDgtbmV4dCcsICdlcGVsOScsICdlcGVsOS1uZXh0J10sCi0tICAgICAgICAgICAgJ2Zl ZG9yYSc6IFsnZjM4JywgJ2YzOG0nLCAnZjM5J10sCi0rICAgICAgICAgICAgJ2ZlZG9yYSc6IFsn ZjM4JywgJ2YzOG0nLCAnZjM5JywgJ2Y0MCcsICdmNDEnXSwKLSAgICAgICAgIH0KLSAgICAgICAg IGFjdHVhbCA9IHV0aWxzLmdldF9yZWxlYXNlX2JyYW5jaGVzKCdodHRwOi8vc3JjLmxvY2FsJykK LSAgICAgICAgIGFjdHVhbF9zb3J0ZWQgPSB7a2V5OiBzb3J0ZWQodmFsdWUpIGZvciBrZXksIHZh bHVlIGluIHNvcnRlZChhY3R1YWwuaXRlbXMoKSl9Ci1AQCAtNDM0LDQzICs0NDAsMTAxIEBAIGNs YXNzIFRlc3ROZXdQYWd1cmVJc3N1ZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gCi0gQHBhdGNoKCJy ZXF1ZXN0cy5nZXQiKQotIGNsYXNzIFRlc3RRdWVyeUJvZGhpKHVuaXR0ZXN0LlRlc3RDYXNlKToK LS0gICAgIiIiVGVzdCB1dGlscy5xdWVyeV9ib2RoaSIiIgotKyAgICAiIiJUZXN0IHN1aXRlIGZv ciB1dGlscy5xdWVyeV9ib2RoaSIiIgotIAotLSAgICBkZWYgdGVzdF9jb25uZWN0aW9uX2Vycm9y KHNlbGYsIGdldCk6Ci0tICAgICAgICBnZXQuc2lkZV9lZmZlY3QgPSBDb25uZWN0aW9uRXJyb3IK LSsgICAgZGVmIHRlc3RfY29ubmVjdGlvbl9lcnJvcihzZWxmLCBtb2NrX2dldCk6Ci0rICAgICAg ICAiIiJUZXN0IHRoYXQgYSBDb25uZWN0aW9uRXJyb3IgcmFpc2VzIGFuIHJwa2dFcnJvciB3aXRo IHRoZSBjb3JyZWN0IG1lc3NhZ2UuIiIiCi0rICAgICAgICAjIFNpbXVsYXRlIGEgY29ubmVjdGlv biBlcnJvciB3aGVuIG1ha2luZyB0aGUgZ2V0IHJlcXVlc3QKLSsgICAgICAgIG1vY2tfZ2V0LnNp ZGVfZWZmZWN0ID0gcmVxdWVzdHMuZXhjZXB0aW9ucy5Db25uZWN0aW9uRXJyb3IoJ01vY2tlZCBj b25uZWN0aW9uIGVycm9yJykKLSsKLSsgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMocnBr Z0Vycm9yKSBhcyBjbToKLSsgICAgICAgICAgICB1dGlscy5xdWVyeV9ib2RoaSgnaHR0cDovL2xv Y2FsaG9zdC8nKQotKwotKyAgICAgICAgc2VsZi5hc3NlcnRJbigKLSsgICAgICAgICAgICAnVGhl IGNvbm5lY3Rpb24gdG8gQk9ESEkgZmFpbGVkIHdoaWxlIHRyeWluZyB0byBnZXQgdGhlIGFjdGl2 ZSByZWxlYXNlIGJyYW5jaGVzLiAnCi0rICAgICAgICAgICAgJ1RoZSBlcnJvciB3YXM6IE1vY2tl ZCBjb25uZWN0aW9uIGVycm9yJywKLSsgICAgICAgICAgICBzdHIoY20uZXhjZXB0aW9uKSwKLSsg ICAgICAgICAgICAiRXhwZWN0ZWQgZXJyb3IgbWVzc2FnZSBpcyBtaXNzaW5nIG9yIGluY29ycmVj dCIKLSsgICAgICAgICkKLSsKLSsgICAgZGVmIHRlc3RfcmVzcG9uc2Vfbm90X29rKHNlbGYsIG1v Y2tfZ2V0KToKLSsgICAgICAgICIiIlRlc3QgdGhhdCBhIG5vbi1PSyByZXNwb25zZSByYWlzZXMg YW4gcnBrZ0Vycm9yIHdpdGggdGhlIGNvcnJlY3QgbWVzc2FnZS4iIiIKLSsgICAgICAgICMgTW9j ayBhIHJlc3BvbnNlIHdpdGggLm9rIGFzIEZhbHNlIGFuZCBhIHRleHQgbWVzc2FnZQotKyAgICAg ICAgbW9ja19ydiA9IE1vY2soKQotKyAgICAgICAgbW9ja19ydi5vayA9IEZhbHNlCi0rICAgICAg ICBtb2NrX3J2LnRleHQgPSAnTW9ja2VkIGVycm9yIG1lc3NhZ2UnCi0rICAgICAgICBtb2NrX2dl dC5yZXR1cm5fdmFsdWUgPSBtb2NrX3J2Ci0rCi0rICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFp c2VzKHJwa2dFcnJvcikgYXMgY206Ci0rICAgICAgICAgICAgdXRpbHMucXVlcnlfYm9kaGkoJ2h0 dHA6Ly9sb2NhbGhvc3QvJykKLSAKLSsgICAgICAgIHNlbGYuYXNzZXJ0SW4oCi0rICAgICAgICAg ICAgJ1RoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUgdHJ5aW5nIHRvIGdldCB0aGUg YWN0aXZlIHJlbGVhc2UgJwotKyAgICAgICAgICAgICdicmFuY2hlcyBpbiBCb2RoaTogTW9ja2Vk IGVycm9yIG1lc3NhZ2UnLAotKyAgICAgICAgICAgIHN0cihjbS5leGNlcHRpb24pLAotKyAgICAg ICAgICAgICJFeHBlY3RlZCBlcnJvciBtZXNzYWdlIGlzIG1pc3Npbmcgb3IgaW5jb3JyZWN0Igot KyAgICAgICAgKQotKwotKyAgICBkZWYgdGVzdF9yZWFkX2RhdGFfbm9ybWFsbHkoc2VsZiwgbW9j a19nZXQpOgotKyAgICAgICAgIiIiVGVzdCB0aGF0IHF1ZXJ5X2JvZGhpIHJldHVybnMgdGhlIGNv cnJlY3QgYnJhbmNoIGxpc3QgZnJvbSBhIG5vcm1hbCByZXNwb25zZS4iIiIKLSsgICAgICAgICMg TW9jayBhIHZhbGlkIHJlc3BvbnNlIGZyb20gdGhlIEJvZGhpIEFQSQotKyAgICAgICAgbW9ja19y diA9IE1vY2soKQotKyAgICAgICAgbW9ja19ydi5vayA9IFRydWUKLSsgICAgICAgIG1vY2tfcnYu anNvbi5yZXR1cm5fdmFsdWUgPSB7Ci0rICAgICAgICAgICAgJ3JlbGVhc2VzJzogWwotKyAgICAg ICAgICAgICAgICB7J25hbWUnOiAnRjQwJywgJ2JyYW5jaCc6ICdmNDAnfSwKLSsgICAgICAgICAg ICAgICAgeyduYW1lJzogJ0Y0MScsICdicmFuY2gnOiAnZjQxJ30sCi0rICAgICAgICAgICAgICAg IHsnbmFtZSc6ICdSYXdoaWRlIFJlbGVhc2UnLCAnYnJhbmNoJzogJ3Jhd2hpZGUnLCAndmVyc2lv bic6ICc0Mid9LAotKyAgICAgICAgICAgICAgICB7J25hbWUnOiAnRVBFTDknLCAnYnJhbmNoJzog J2VwZWw5J30sCi0rICAgICAgICAgICAgICAgIHsnbmFtZSc6ICdFUEVMOCcsICdicmFuY2gnOiAn ZXBlbDgnfQotKyAgICAgICAgICAgIF0KLSsgICAgICAgIH0KLSsgICAgICAgIG1vY2tfZ2V0LnJl dHVybl92YWx1ZSA9IG1vY2tfcnYKLSsKLSsgICAgICAgICMgVGhlIGV4cGVjdGVkIGJyYW5jaCBs aXN0IHRvIGJlIHJldHVybmVkIGJ5IHF1ZXJ5X2JvZGhpCi0rICAgICAgICBleHBlY3RlZCA9IFsn ZjQwJywgJ2Y0MScsICdmNDInLCAnZXBlbDknLCAnZXBlbDgnXQotKwotKyAgICAgICAgIyBDYWxs IHF1ZXJ5X2JvZGhpIGFuZCBjb21wYXJlIHRoZSByZXN1bHQgdG8gdGhlIGV4cGVjdGVkIGxpc3QK LSAgICAgICAgIHJlc3VsdCA9IHV0aWxzLnF1ZXJ5X2JvZGhpKCdodHRwOi8vbG9jYWxob3N0Lycp Ci0tICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAotLSAgICAgICAgICAgIHJwa2dFcnJv ciwgJ1RoZSBjb25uZWN0aW9uIHRvIEJPREhJIGZhaWxlZCcsCi0tICAgICAgICAgICAgbGlzdCwg cmVzdWx0KQotKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQsIGV4cGVjdGVkLCBmIkV4 cGVjdGVkIGJyYW5jaGVzIHtleHBlY3RlZH0sIGJ1dCBnb3Qge3Jlc3VsdH0iKQotIAotLSAgICBk ZWYgdGVzdF9yZXNwb25zZV9ub3Rfb2soc2VsZiwgZ2V0KToKLS0gICAgICAgIGdldC5yZXR1cm5f dmFsdWUub2sgPSBGYWxzZQotKyAgICBkZWYgdGVzdF9yYXdoaWRlX25vdF9wcmVzZW50KHNlbGYs IG1vY2tfZ2V0KToKLSsgICAgICAgICIiIlRlc3QgdGhhdCBpZiByYXdoaWRlIGlzIG5vdCBwcmVz ZW50IGluIHRoZSByZWxlYXNlcywKLSsgICAgICAgIGl0IGRvZXMgbm90IGNvbnN0cnVjdCBhIHJh d2hpZGUgYnJhbmNoLiIiIgotKyAgICAgICAgIyBNb2NrIGEgcmVzcG9uc2Ugd2l0aG91dCBhIHJh d2hpZGUgZW50cnkKLSsgICAgICAgIG1vY2tfcnYgPSBNb2NrKCkKLSsgICAgICAgIG1vY2tfcnYu b2sgPSBUcnVlCi0rICAgICAgICBtb2NrX3J2Lmpzb24ucmV0dXJuX3ZhbHVlID0gewotKyAgICAg ICAgICAgICdyZWxlYXNlcyc6IFsKLSsgICAgICAgICAgICAgICAgeyduYW1lJzogJ0Y0MCcsICdi cmFuY2gnOiAnZjQwJ30sCi0rICAgICAgICAgICAgICAgIHsnbmFtZSc6ICdGNDEnLCAnYnJhbmNo JzogJ2Y0MSd9LAotKyAgICAgICAgICAgICAgICB7J25hbWUnOiAnRVBFTDknLCAnYnJhbmNoJzog J2VwZWw5J30sCi0rICAgICAgICAgICAgICAgIHsnbmFtZSc6ICdFUEVMOCcsICdicmFuY2gnOiAn ZXBlbDgnfQotKyAgICAgICAgICAgIF0KLSsgICAgICAgIH0KLSsgICAgICAgIG1vY2tfZ2V0LnJl dHVybl92YWx1ZSA9IG1vY2tfcnYKLSsKLSsgICAgICAgICMgVGhlIGV4cGVjdGVkIGJyYW5jaCBs aXN0IHdpdGhvdXQgYSByYXdoaWRlIGJyYW5jaAotKyAgICAgICAgZXhwZWN0ZWQgPSBbJ2Y0MCcs ICdmNDEnLCAnZXBlbDknLCAnZXBlbDgnXQotIAotKyAgICAgICAgIyBDYWxsIHF1ZXJ5X2JvZGhp IGFuZCBjb21wYXJlIHRoZSByZXN1bHQgdG8gdGhlIGV4cGVjdGVkIGxpc3QKLSAgICAgICAgIHJl c3VsdCA9IHV0aWxzLnF1ZXJ5X2JvZGhpKCdodHRwOi8vbG9jYWxob3N0LycpCi0tICAgICAgICBz ZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAotLSAgICAgICAgICAgIHJwa2dFcnJvciwgJ1RoZSBmb2xs b3dpbmcgZXJyb3Igb2NjdXJyZWQnLAotLSAgICAgICAgICAgIGxpc3QsIHJlc3VsdCkKLSsgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LCBleHBlY3RlZCwgZiJFeHBlY3RlZCBicmFuY2hl cyB7ZXhwZWN0ZWR9LCBidXQgZ290IHtyZXN1bHR9IikKLSAKLS0gICAgZGVmIHRlc3RfcmVhZF95 aWVsZF9kYXRhX25vcm1hbGx5KHNlbGYsIGdldCk6Ci0tICAgICAgICBydiA9IE1vY2soKQotLSAg ICAgICAgcnYub2sgPSBUcnVlCi0tICAgICAgICBydi5qc29uLnNpZGVfZWZmZWN0ID0gWwotLSAg ICAgICAgICAgIHsncmVsZWFzZXMnOiBbCi0tICAgICAgICAgICAgICAgIHsnbmFtZSc6ICdpdGVt MScsICdicmFuY2gnOiAnaXRlbTInfSwKLS0gICAgICAgICAgICAgICAgeyduYW1lJzogJ2l0ZW01 JywgJ2JyYW5jaCc6ICdpdGVtNid9LAotLSAgICAgICAgICAgICAgICB7J25hbWUnOiAnaXRlbTMn LCAnYnJhbmNoJzogJ2l0ZW00J30sCi0tICAgICAgICAgICAgICAgIF19Ci0tICAgICAgICBdCi0t ICAgICAgICBnZXQucmV0dXJuX3ZhbHVlID0gcnYKLSsgICAgZGVmIHRlc3RfZW1wdHlfcmVsZWFz ZXMoc2VsZiwgbW9ja19nZXQpOgotKyAgICAgICAgIiIiVGVzdCB0aGF0IGFuIGVtcHR5IHJlbGVh c2VzIGxpc3QgcmV0dXJucyBhbiBlbXB0eSBicmFuY2hlcyBsaXN0LiIiIgotKyAgICAgICAgIyBN b2NrIGEgcmVzcG9uc2Ugd2l0aCBubyByZWxlYXNlcwotKyAgICAgICAgbW9ja19ydiA9IE1vY2so KQotKyAgICAgICAgbW9ja19ydi5vayA9IFRydWUKLSsgICAgICAgIG1vY2tfcnYuanNvbi5yZXR1 cm5fdmFsdWUgPSB7J3JlbGVhc2VzJzogW119Ci0rICAgICAgICBtb2NrX2dldC5yZXR1cm5fdmFs dWUgPSBtb2NrX3J2Ci0rCi0rICAgICAgICAjIEV4cGVjdGVkIGJyYW5jaGVzIHNob3VsZCBiZSBh biBlbXB0eSBsaXN0Ci0rICAgICAgICBleHBlY3RlZCA9IFtdCi0gCi0rICAgICAgICAjIENhbGwg cXVlcnlfYm9kaGkgYW5kIGNvbXBhcmUgdGhlIHJlc3VsdCB0byB0aGUgZXhwZWN0ZWQgZW1wdHkg bGlzdAotICAgICAgICAgcmVzdWx0ID0gdXRpbHMucXVlcnlfYm9kaGkoJ2h0dHA6Ly9sb2NhbGhv c3QvJykKLS0gICAgICAgIHYgPSBuZXh0KHJlc3VsdCkKLS0gICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWwoJ2l0ZW0yJywgdikKLS0gICAgICAgIHYgPSBuZXh0KHJlc3VsdCkKLS0gICAgICAgIHNlbGYu YXNzZXJ0RXF1YWwoJ2l0ZW02JywgdikKLS0gICAgICAgIHYgPSBuZXh0KHJlc3VsdCkKLS0gICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2l0ZW00JywgdikKLSsgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWwocmVzdWx0LCBleHBlY3RlZCwgIkV4cGVjdGVkIGFuIGVtcHR5IGxpc3Qgb2YgYnJhbmNoZXMs IGJ1dCBnb3Qgc29tZSIpCi0gCi0gCi0gY2xhc3MgVGVzdEdldFN0cmVhbUJyYW5jaGVzKHVuaXR0 ZXN0LlRlc3RDYXNlKToKLUBAIC00ODIsMTMgKzU0NiwxOCBAQCBjbGFzcyBUZXN0R2V0U3RyZWFt QnJhbmNoZXModW5pdHRlc3QuVGVzdENhc2UpOgotICAgICAgICAgbG9nZ2VyID0gTW9jaygpCi0g ICAgICAgICBhcGliYXNldXJsID0gImh0dHBzOi8vYm9kaGl1cmwiCi0gICAgICAgICBydiA9IE1v Y2sob2s9VHJ1ZSkKLS0gICAgICAgIHJ2Lmpzb24ucmV0dXJuX3ZhbHVlID0geydyZWxlYXNlcyc6 IFsKLS0gICAgICAgICAgICB7J25hbWUnOiAnRUxOJywgJ2JyYW5jaCc6ICdlbG4nfSwKLS0gICAg ICAgICAgICB7J25hbWUnOiAnRjQwJywgJ2JyYW5jaCc6ICdyYXdoaWRlJ30sCi0tICAgICAgICAg ICAgeyduYW1lJzogJ0Y0MEMnLCAnYnJhbmNoJzogJ2Y0MCd9LAotLSAgICAgICAgICAgIHsnbmFt ZSc6ICdlcGVsOCcsICdicmFuY2gnOiAnZXBlbDgnfSwKLS0gICAgICAgICAgICBdLCAncGFnZSc6 IDEsICdwYWdlcyc6IDEsICdyb3dzX3Blcl9wYWdlJzogMjAsICd0b3RhbCc6IDN9Ci0tICAgICAg ICB7J3JlbGVhc2VzJzogW10sICdwYWdlJzogMSwgJ3BhZ2VzJzogMCwgJ3Jvd3NfcGVyX3BhZ2Un OiAyMCwgJ3RvdGFsJzogMH0KLSsgICAgICAgIHJ2Lmpzb24ucmV0dXJuX3ZhbHVlID0gewotKyAg ICAgICAgICAgICdyZWxlYXNlcyc6IFsKLSsgICAgICAgICAgICAgICAgeyduYW1lJzogJ0VMTics ICdicmFuY2gnOiAnZWxuJywgJ3ZlcnNpb24nOiAnOCd9LAotKyAgICAgICAgICAgICAgICB7J25h bWUnOiAnRjQwJywgJ2JyYW5jaCc6ICdyYXdoaWRlJywgJ3ZlcnNpb24nOiAnNDAnfSwKLSsgICAg ICAgICAgICAgICAgeyduYW1lJzogJ0Y0MEMnLCAnYnJhbmNoJzogJ2Y0MCcsICd2ZXJzaW9uJzog JzQwJ30sCi0rICAgICAgICAgICAgICAgIHsnbmFtZSc6ICdlcGVsOCcsICdicmFuY2gnOiAnZXBl bDgnLCAndmVyc2lvbic6ICc4J30sCi0rICAgICAgICAgICAgXSwKLSsgICAgICAgICAgICAncGFn ZSc6IDEsCi0rICAgICAgICAgICAgJ3BhZ2VzJzogMSwKLSsgICAgICAgICAgICAncm93c19wZXJf cGFnZSc6IDIwLAotKyAgICAgICAgICAgICd0b3RhbCc6IDQKLSsgICAgICAgIH0KLSAgICAgICAg IGdldC5yZXR1cm5fdmFsdWUgPSBydgotICAgICAgICAgcGFndXJlX2JyYW5jaGVzLnJldHVybl92 YWx1ZSA9IFsiZXBlbDciLCAiZXBlbDgiLCAiZXBlbDkiLCAiZjM4IiwgImYzOSJdCi0gCi1AQCAt NTczLDMgKzY0MiwyMyBAQCBjbGFzcyBUZXN0R2V0RmVkb3JhUmVsZWFzZVN0YXRlKHVuaXR0ZXN0 LlRlc3RDYXNlKToKLSAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgocnBrZ0Vycm9yLCBy IkNvdWxkIG5vdCBnZXQgcmVsZWFzZSBzdGF0ZSBmb3IgRmVkb3JhIFwoRjMwTVwpOiAiCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBvcHRpb24gJ3JlbGVhc2VzX3NlcnZpY2Un IGluIHNlY3Rpb246ICdmZWRwa2cuYm9kaGknLiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHV0aWxzLmdldF9mZWRvcmFfcmVsZWFzZV9zdGF0ZSwgY29uZmlnLCAnZmVkcGtnJywg J0YzME0nKQotKwotKwotK2NsYXNzIFRlc3RHZXRSZWxlYXNlQnJhbmNoZXModW5pdHRlc3QuVGVz dENhc2UpOgotKyAgICAiIiJUZXN0IHV0aWxzLmdldF9yZWxlYXNlX2JyYW5jaGVzIiIiCi0rCi0r ICAgIEBwYXRjaCgnZmVkcGtnLnV0aWxzLnF1ZXJ5X2JvZGhpJykKLSsgICAgZGVmIHRlc3RfZ2V0 X3JlbGVhc2VfYnJhbmNoZXNfZXhjbHVkZXNfcmF3aGlkZShzZWxmLCBtb2NrX3F1ZXJ5X2JvZGhp KToKLSsgICAgICAgICIiIlRlc3QgdGhhdCBnZXRfcmVsZWFzZV9icmFuY2hlcyBjb3JyZWN0bHkg ZXhjbHVkZXMgdGhlIHJhd2hpZGUgYnJhbmNoLiIiIgotKyAgICAgICAgIyBNb2NraW5nIHRoZSBi cmFuY2hlcyByZXR1cm5lZCBieSBxdWVyeV9ib2RoaQotKyAgICAgICAgbW9ja19xdWVyeV9ib2Ro aS5yZXR1cm5fdmFsdWUgPSBbJ2Y0MCcsICdmNDEnLCAnZjQyJywgJ2VwZWw5JywgJ2VwZWw4J10g ICMgZjQyIGlzIHJhd2hpZGUKLSsKLSsgICAgICAgIGV4cGVjdGVkX291dHB1dCA9IHsKLSsgICAg ICAgICAgICAnZmVkb3JhJzogWydmNDAnLCAnZjQxJ10sCi0rICAgICAgICAgICAgJ2VwZWwnOiBb J2VwZWw4JywgJ2VwZWw5J10KLSsgICAgICAgIH0KLSsKLSsgICAgICAgICMgUnVuIHRoZSBtZXRo b2QgYW5kIGFzc2VydCB0aGF0IHJhd2hpZGUgYnJhbmNoIChmNDIpIGlzIGV4Y2x1ZGVkCi0rICAg ICAgICByZXN1bHQgPSB1dGlscy5nZXRfcmVsZWFzZV9icmFuY2hlcygnaHR0cHM6Ly9ib2RoaS5m ZWRvcmFwcm9qZWN0Lm9yZy9yZWxlYXNlcy8nKQotKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChy ZXN1bHQsIGV4cGVjdGVkX291dHB1dCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgbXNnPWYi RXhwZWN0ZWQgYnJhbmNoZXMge2V4cGVjdGVkX291dHB1dH0sIGJ1dCBnb3Qge3Jlc3VsdH0iKQot ZGlmZiAtLWdpdCBhL3Rlc3QvdXRpbHMucHkgYi90ZXN0L3V0aWxzLnB5Ci1pbmRleCBiNGNlMjBj Li5mNGU3MWYzIDEwMDY0NAotLS0tIGEvdGVzdC91dGlscy5weQotKysrIGIvdGVzdC91dGlscy5w eQotQEAgLTE3LDcgKzE3LDYgQEAgaW1wb3J0IHNodXRpbAotIGltcG9ydCBzdWJwcm9jZXNzCi0g aW1wb3J0IHRlbXBmaWxlCi0gaW1wb3J0IHVuaXR0ZXN0Ci0tCi0gaW1wb3J0IGZlZHBrZy5jbGkK LSBpbXBvcnQgcHlycGtnCi0gZnJvbSBmZWRwa2cgaW1wb3J0IENvbW1hbmRzCi0tLSAKLTIuNDgu MQotCgpkaWZmIC0tZ2l0IGEvMDAzOS1Eby1ub3QtYXV0by1yZXF1ZXN0LUVQRUwteC55LW1vZHVs ZXMucGF0Y2ggYi8wMDM5LURvLW5vdC1hdXRvLXJlcXVlc3QtRVBFTC14LnktbW9kdWxlcy5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzZhOTJmYy4uMDAwMDAwMAotLS0gYS8w MDM5LURvLW5vdC1hdXRvLXJlcXVlc3QtRVBFTC14LnktbW9kdWxlcy5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gZDhkZjQzZDhlN2EyYmJkMGFkODIzMThiMTczZDAw ZmZlMGI1NWMzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENhcmwgR2VvcmdlIDxj YXJsd2dlb3JnZUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDE5IEZlYiAyMDI1IDAyOjAwOjI3IC0w NjAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8zXSBEbyBub3QgYXV0by1yZXF1ZXN0IEVQRUwgeC55IG1v ZHVsZXMKLQotQWZ0ZXIgdGhlIEVQRUwgMTAuMCBtYXNzIGJyYW5jaGluZywgd2UgZGlzY292ZXJl ZCB0aGF0IHJ1bm5pbmcgYGZlZHBrZwotcmVxdWVzdC1icmFuY2ggZXBlbDEwLjBgIHdvdWxkIGZp bGUgU0NNIHJlcXVlc3RzIGZvcjoKLQotLSBOZXcgQnJhbmNoICJlcGVsMTAuMCIgZm9yICJycG1z LzxuYW1lPiIKLS0gTmV3IFJlcG8gZm9yICJtb2R1bGVzLzxuYW1lPiIKLS0gTmV3IEJyYW5jaCAi ZXBlbDEwLjAiIGZvciAibW9kdWxlcy88bmFtZT4iCi0KLVRoZSBzZWNvbmQgdHdvIGFyZSBpbnZh bGlkIGFuZCB1bndhbnRlZC4gIFRoYW5rZnVsbHkgRmFiaW8gVmFsZW50aW5pCi0oQGRlY2F0aG9y cGUpIG5vdGljZWQgdGhhdCB0aGlzIHdhcyBzaW1pbGFyIHRvIHdoYXQgd2FzIGhhcHBlbmluZyBm b3IKLUVMTiBhIHdoaWxlIGJhY2ssIGFuIHBvaW50ZWQgbWUgdG8gUkVMRUFTRV9CUkFOQ0hfUkVH RVguICBUaGlzIGFkanVzdAotdGhhdCByZWdleCB0byBhbHNvIGFjY2VwdCBFUEVMIG1pbm9yIHZl cnNpb24gYnJhbmNoZXMuCi0KLVJlbGF0ZWQ6ICM1NjQKLQotU2lnbmVkLW9mZi1ieTogQ2FybCBH ZW9yZ2UgPGNhcmx3Z2VvcmdlQGdtYWlsLmNvbT4KLS0tLQotIGZlZHBrZy9jbGkucHkgfCAyICst Ci0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYg LS1naXQgYS9mZWRwa2cvY2xpLnB5IGIvZmVkcGtnL2NsaS5weQotaW5kZXggYWE1NzQ1MS4uMzNk YmQ5MSAxMDA2NDQKLS0tLSBhL2ZlZHBrZy9jbGkucHkKLSsrKyBiL2ZlZHBrZy9jbGkucHkKLUBA IC00Niw3ICs0Niw3IEBAIGZyb20gZmVkcGtnLnV0aWxzIGltcG9ydCAoYXNzZXJ0X25ld190ZXN0 c19yZXBvLCBhc3NlcnRfdmFsaWRfZXBlbF9wYWNrYWdlLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ2V0X3JlbGVhc2VfYnJhbmNoZXMsIGdldF9zdHJlYW1fYnJhbmNoZXMsIGlzX2VwZWws Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfcGFndXJlX2lzc3VlLCBzbF9saXN0X3Rv X2RpY3QsIHZlcmlmeV9zbHMpCi0gCi0tUkVMRUFTRV9CUkFOQ0hfUkVHRVggPSByJ14oZlxkK3xl bFxkK3xlbG58ZXBlbFxkKykkJwotK1JFTEVBU0VfQlJBTkNIX1JFR0VYID0gcideKGZcZCt8ZWxc ZCt8ZWxufGVwZWxcZCt8ZXBlbFxkK1wuXGQrKSQnCi0gTE9DQUxfUEFDS0FHRV9DT05GSUcgPSAn cGFja2FnZS5jZmcnCi0gCi0gQk9ESElfVEVNUExBVEUgPSAiIiJcCi0tLSAKLTIuNDguMQotCgpk aWZmIC0tZ2l0IGEvMDA0MC1Eb24tdC1hbGxvdy10by1yZXF1ZXN0LXJlcG9zaXRvcmllcy1pbi1t b2R1bGVzLW5hbWVzLnBhdGNoIGIvMDA0MC1Eb24tdC1hbGxvdy10by1yZXF1ZXN0LXJlcG9zaXRv cmllcy1pbi1tb2R1bGVzLW5hbWVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCA3ZDdjNTJmLi4wMDAwMDAwCi0tLSBhLzAwNDAtRG9uLXQtYWxsb3ctdG8tcmVxdWVzdC1yZXBv c2l0b3JpZXMtaW4tbW9kdWxlcy1uYW1lcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICsw LDAgQEAKLUZyb20gZDNkYjcyNjA4ZTM5NTcyMDg1N2QyZWI5MWZlODE2Mjc5OTFjMTQ1NCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9NaXJvPTIwSHJvbj1DND04RG9r Pz0gPG1pcm9AaHJvbmNvay5jej4KLURhdGU6IFNhdCwgMjIgRmViIDIwMjUgMTk6MTc6MTAgKzAx MDAKLVN1YmplY3Q6IFtQQVRDSCAzLzNdIERvbid0IGFsbG93IHRvIHJlcXVlc3QgcmVwb3NpdG9y aWVzIGluIG1vZHVsZXMvIG5hbWVzcGFjZQotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog OGJpdAotCi1UaGVyZSBhcmUgbm8gbmV3IG1vZHVsZXMgaW4gRmVkb3JhIGRpc3RnaXQuCi0KLVNp Z25lZC1vZmYtYnk6IE1pcm8gSHJvbsSNb2sgPG1pcm9AaHJvbmNvay5jej4KLS0tLQotIGNvbmYv ZXRjL3Jwa2cvZmVkcGtnLXN0YWdlLmNvbmYgfCAyICstCi0gY29uZi9ldGMvcnBrZy9mZWRwa2cu Y29uZiAgICAgICB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbmYvZXRjL3Jwa2cvZmVkcGtnLXN0YWdlLmNv bmYgYi9jb25mL2V0Yy9ycGtnL2ZlZHBrZy1zdGFnZS5jb25mCi1pbmRleCBlNmY2ZjE1Li5kMzNi NGNjIDEwMDY0NAotLS0tIGEvY29uZi9ldGMvcnBrZy9mZWRwa2ctc3RhZ2UuY29uZgotKysrIGIv Y29uZi9ldGMvcnBrZy9mZWRwa2ctc3RhZ2UuY29uZgotQEAgLTI2LDcgKzI2LDcgQEAgY2xvbmVf Y29uZmlnX2NvbnRhaW5lciA9Ci0gICBiei5kZWZhdWx0LWNvbXBvbmVudCAlKHJlcG8pcwotICAg c2VuZGVtYWlsLnRvIGNvbnRhaW5lci0lKHJlcG8pcy1tYWludGFpbmVyc0BmZWRvcmFwcm9qZWN0 Lm9yZwotIGRpc3RnaXRfbmFtZXNwYWNlZCA9IFRydWUKLS1kaXN0Z2l0X25hbWVzcGFjZXMgPSBy cG1zIGNvbnRhaW5lciBtb2R1bGVzIGZsYXRwYWtzCi0rZGlzdGdpdF9uYW1lc3BhY2VzID0gcnBt cyBjb250YWluZXIgZmxhdHBha3MKLSBsb29rYXNpZGVfbmFtZXNwYWNlZCA9IFRydWUKLSBrZXJi ZXJvc19yZWFsbXMgPSBTVEcuRkVET1JBUFJPSkVDVC5PUkcKLSBvaWRjX2lkX3Byb3ZpZGVyID0g aHR0cHM6Ly9pZC5zdGcuZmVkb3JhcHJvamVjdC5vcmcvb3BlbmlkYy8KLWRpZmYgLS1naXQgYS9j b25mL2V0Yy9ycGtnL2ZlZHBrZy5jb25mIGIvY29uZi9ldGMvcnBrZy9mZWRwa2cuY29uZgotaW5k ZXggZDdkYTkwNC4uZmEwOGE4YSAxMDA2NDQKLS0tLSBhL2NvbmYvZXRjL3Jwa2cvZmVkcGtnLmNv bmYKLSsrKyBiL2NvbmYvZXRjL3Jwa2cvZmVkcGtnLmNvbmYKLUBAIC0yNiw3ICsyNiw3IEBAIGNs b25lX2NvbmZpZ19jb250YWluZXIgPQotICAgYnouZGVmYXVsdC1jb21wb25lbnQgJShyZXBvKXMK LSAgIHNlbmRlbWFpbC50byBjb250YWluZXItJShyZXBvKXMtbWFpbnRhaW5lcnNAZmVkb3JhcHJv amVjdC5vcmcKLSBkaXN0Z2l0X25hbWVzcGFjZWQgPSBUcnVlCi0tZGlzdGdpdF9uYW1lc3BhY2Vz ID0gcnBtcyBjb250YWluZXIgbW9kdWxlcyBmbGF0cGFrcwotK2Rpc3RnaXRfbmFtZXNwYWNlcyA9 IHJwbXMgY29udGFpbmVyIGZsYXRwYWtzCi0gbG9va2FzaWRlX25hbWVzcGFjZWQgPSBUcnVlCi0g a2VyYmVyb3NfcmVhbG1zID0gRkVET1JBUFJPSkVDVC5PUkcKLSBvaWRjX2lkX3Byb3ZpZGVyID0g aHR0cHM6Ly9pZC5mZWRvcmFwcm9qZWN0Lm9yZy9vcGVuaWRjLwotLS0gCi0yLjQ4LjEKLQoKZGlm ZiAtLWdpdCBhL2ZlZHBrZy5zcGVjIGIvZmVkcGtnLnNwZWMKaW5kZXggYTRkYWIzYS4uYTYxYzk1 NyAxMDA2NDQKLS0tIGEvZmVkcGtnLnNwZWMKKysrIGIvZmVkcGtnLnNwZWMKQEAgLTQsOCArNCw4 IEBACiAlZW5kaWYKIAogTmFtZTogICAgICAgICAgIGZlZHBrZwotVmVyc2lvbjogICAgICAgIDEu NDUKLVJlbGVhc2U6ICAgICAgICAxMCV7P2Rpc3R9CitWZXJzaW9uOiAgICAgICAgMS40NgorUmVs ZWFzZTogICAgICAgIDElez9kaXN0fQogU3VtbWFyeTogICAgICAgIEZlZG9yYSB1dGlsaXR5IGZv ciB3b3JraW5nIHdpdGggZGlzdC1naXQKIAogIyBBdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCBmcm9t IG9sZCBmb3JtYXQ6IEdQTHYyKyAtIHJldmlldyBpcyBoaWdobHkgcmVjb21tZW5kZWQuCkBAIC0x Niw0NCArMTYsNiBAQCBTb3VyY2UwOiAgICAgICAgaHR0cHM6Ly9wYWd1cmUuaW8vcmVsZWFzZXMv ZmVkcGtnLyV7bmFtZX0tJXt2ZXJzaW9ufS50YXIuZ3oKIEJ1aWxkQXJjaDogICAgICBub2FyY2gK IFBhdGNoMTogICAgICAgICAwMDAxLURvLW5vdC11c2UtcHl0ZXN0LXJlbGF0ZWQtZGVwZW5kZW5j aWVzLXRlbXBvcmFyaWx5LnBhdGNoCiBQYXRjaDI6ICAgICAgICAgMDAwMi1SZW1vdmUtcHl0ZXN0 LWNvdmVyYWdlLWV4ZWN1dGlvbi5wYXRjaAotUGF0Y2gzOiAgICAgICAgIDAwMDMtRml4LXVuaXR0 ZXN0cy1hZnRlci1jcmVhdGluZy10aGUtcHJvamVjdC1pbi1oYXRjaC5wYXRjaAotUGF0Y2g0OiAg ICAgICAgIDAwMDQtUmVtb3ZlLW1icy5mZWRvcmFwcm9qZWN0Lm9yZy1zY29wZXMtZnJvbS1naXQt Y3JlZC1oZS5wYXRjaAotUGF0Y2g1OiAgICAgICAgIDAwMDUtRG9uLXQtdXNlLWhhdGNobGluZy1v bi1weXRob24tMy42LnBhdGNoCi1QYXRjaDY6ICAgICAgICAgMDAwNi1Eb24tdC1wcmludC10aGUt YnJhbmNoLW5hbWUtYWZ0ZXItZGFzaC13aGVuLXRoZXJlLWlzLnBhdGNoCi1QYXRjaDc6ICAgICAg ICAgMDAwNy1UZXN0LWZvci12YWxpZC1FUEVMLWJyYW5jaC1uYW1lcy5wYXRjaAotUGF0Y2g4OiAg ICAgICAgIDAwMDgtQWRkLUVQRUwxMC1icmFuY2gtbmFtZS1jYXNlcy1hcy12YWxpZC5wYXRjaAot UGF0Y2g5OiAgICAgICAgIDAwMDktVGVzdC11cmwtdXNhZ2UtaW4tYXNzZXJ0X3ZhbGlkX2VwZWxf cGFja2FnZS5wYXRjaAotUGF0Y2gxMDogICAgICAgIDAwMTAtQWRkLUVQRUwxMC11cmwtcGF0dGVy bi1vbi1hc3NlcnRfdmFsaWRfZXBlbF9wYWNrYWdlLnBhdGNoCi1QYXRjaDExOiAgICAgICAgMDAx MS1FeHRlbmQtbG9hZF9ycG1kZWZpbmVzLXRvLXdvcmstd2l0aC1FUEVMMTAucGF0Y2gKLVBhdGNo MTI6ICAgICAgICAwMDEyLUFkZC1weTMxMy1lbnZpcm9ubWVudC1hcy10aGF0LXMtY3VycmVudC5w YXRjaAotUGF0Y2gxMzogICAgICAgIDAwMTMtRHJvcC1zdXBwb3J0LWZvci1ib2RoaS1jbGllbnQt NS5wYXRjaAotUGF0Y2gxNDogICAgICAgIDAwMTQtRHJvcC1hbGwtdXNhZ2Utb2Ytc2l4LnBhdGNo Ci1QYXRjaDE1OiAgICAgICAgMDAxNS1SZXBsYWNlLWFuZC11cGRhdGUtdXNlLW9mLWRlcHJlY2F0 ZWQtbGludXhfZGlzdHJpYnV0LnBhdGNoCi1QYXRjaDE2OiAgICAgICAgMDAxNi1Nb2Rlcm5pemUt YW5kLWNsZWFuLXVuaXR0ZXN0LWltcG9ydHMucGF0Y2gKLVBhdGNoMTc6ICAgICAgICAwMDE3LVVw ZGF0ZS1jaGVja19ib2RoaV92ZXJzaW9uLXRvLWNoZWNrLWZvci02LjAuMC5wYXRjaAotUGF0Y2gx ODogICAgICAgIDAwMTgtRml4LVVSTC1vZi1Cb2RoaS1pbi1zdGFnaW5nLnBhdGNoCi1QYXRjaDE5 OiAgICAgICAgMDAxOS1GaXhlcy1taXNzaW5nLWtleS1pbi1kaXN0cm8ub3NfcmVsZWFzZV9pbmZv LnBhdGNoCi1QYXRjaDIwOiAgICAgICAgMDAyMC1Eby1ub3QtYXV0by1yZXF1ZXN0LUVMTi1tb2R1 bGVzLnBhdGNoCi1QYXRjaDIxOiAgICAgICAgMDAyMS1GaXgtbWlub3ItcmVxdWlyZW1lbnRzLWZv ci1FUEVMMTAtaW4tdGVzdC5wYXRjaAotUGF0Y2gyMjogICAgICAgIDAwMjItVXNlLW1pbm9yLXZh bHVlLWZyb20ta29qaS13aGVuLW5vLW1pbm9yLWluLWJyYW5jaC1uYS5wYXRjaAotUGF0Y2gyMzog ICAgICAgIDAwMjMtRml4LUVQRUwxMC1icmFuY2gtZXhwcmVzc2lvbi10by1jb3Zlci0yLW9yLW1v cmUtZGlnaS5wYXRjaAotUGF0Y2gyNDogICAgICAgIDAwMjQtR2V0LW1hY3Jvcy1mcm9tLWVwZWwt Y2FuZGlkYXRlLWJ1aWxkLXRhcmdldC5wYXRjaAotUGF0Y2gyNTogICAgICAgIDAwMjUtSW1wcm92 ZW1lbnRzLW9uLXN0cmluZy1wYXJzaW5nLnBhdGNoCi1QYXRjaDI2OiAgICAgICAgMDAyNi1BZGQt dGVzdHMtY2FzZXMtZm9yLXJ1bnRpbWVfZGlzdHRhZy1yZW1vdmFsLXdoZW4td29yLnBhdGNoCi1Q YXRjaDI3OiAgICAgICAgMDAyNy1IYW5kbGUtcmhlbC1ydW50aW1lcy13aGVuLW1pbm9yLXZlcnNp b24tZXhpc3RzLWluLWRpLnBhdGNoCi1QYXRjaDI4OiAgICAgICAgMDAyOC1naXRpZ25vcmUtdGhl LW5hbWUtdmVyc2lvbi1idWlsZC1kaXJlY3RvcnktY3JlYXRlZC1iLnBhdGNoCi1QYXRjaDI5OiAg ICAgICAgMDAyOS1GaXhpbmctdW5pdHRlc3RzLWZvci1weTM2LnBhdGNoCi1QYXRjaDMwOiAgICAg ICAgMDAzMC1GaXgtdGVzdHMtb24tRVBFTC05LTEwLnBhdGNoCi1QYXRjaDMxOiAgICAgICAgMDAz MS1BZGQtc2V0dXB0b29scy10by1kZXBlbmRlbmNpZXMtZm9yLVB5dGhvbi0zLjEyLnBhdGNoCi1Q YXRjaDMyOiAgICAgICAgMDAzMi1VcGRhdGUtZXhwaXJlZC10b2tlbi1leGNlcHRpb24taW5zdHJ1 Y3Rpb25zLnBhdGNoCi1QYXRjaDMzOiAgICAgICAgMDAzMy1DbG9uZS1lcGVsMTAtYnJhbmNoZXMt d2l0aC1jbG9uZS1CLnBhdGNoCi1QYXRjaDM0OiAgICAgICAgMDAzNC1VcGRhdGUtZXhwaXJlZC10 b2tlbi1leGNlcHRpb24taW5zdHJ1Y3Rpb25zLnBhdGNoCi1QYXRjaDM1OiAgICAgICAgMDAzNS1y ZWxlYXNlcy1pbmZvLXNob3VsZC1hbHdheXMtc2hvdy10aGUtc2FtZS1vcmRlci5wYXRjaAotUGF0 Y2gzNjogICAgICAgIDAwMzYtUHl0aG9uLTMuMTMtZW52aXJvbm1lbnQtYW5kLXJlbmV3LXRlc3Rp bmctaW1hZ2UucGF0Y2gKLVBhdGNoMzc6ICAgICAgICAwMDM3LUZpeC11bml0dGVzdHMtd2hlbi1i dWlsZGluZy1mb3ItRUxOLXRhcmdldC5wYXRjaAotUGF0Y2gzODogICAgICAgIDAwMzgtRHluYW1p Y2FsbHktZXhjbHVkZS1SYXdoaWRlLWJyYW5jaC1mcm9tLWZlZHBrZy1icmFuYy5wYXRjaAotUGF0 Y2gzOTogICAgICAgIDAwMzktRG8tbm90LWF1dG8tcmVxdWVzdC1FUEVMLXgueS1tb2R1bGVzLnBh dGNoCi1QYXRjaDQwOiAgICAgICAgMDA0MC1Eb24tdC1hbGxvdy10by1yZXF1ZXN0LXJlcG9zaXRv cmllcy1pbi1tb2R1bGVzLW5hbWVzLnBhdGNoCiAKIEJ1aWxkUmVxdWlyZXM6ICBwa2djb25maWcK IEJ1aWxkUmVxdWlyZXM6ICBiYXNoLWNvbXBsZXRpb24KQEAgLTY2LDcgKzI4LDcgQEAgUmVxdWly ZXM6ICAgICAgIHJlZGhhdC1ycG0tY29uZmlnCiAlZ2xvYmFsIF9fcHl0aG9uICV7X19weXRob24z fQogCiBCdWlsZFJlcXVpcmVzOiAgcHl0aG9uMy1kZXZlbAotQnVpbGRSZXF1aXJlczogIHB5dGhv bjMtcnBrZyA+PSAxLjY3LTEKK0J1aWxkUmVxdWlyZXM6ICBweXRob24zLXJwa2cgPj0gMS42OC0x CiBCdWlsZFJlcXVpcmVzOiAgcHl0aG9uMy1kaXN0cm8KICMgRm9yIHRlc3RpbmcKIEJ1aWxkUmVx dWlyZXM6ICBweXRob24zLXB5dGVzdApAQCAtNzcsNyArMzksNyBAQCBCdWlsZFJlcXVpcmVzOiAg cHl0aG9uMy1ib2RoaS1jbGllbnQKIAogCiBSZXF1aXJlczogICAgICAgcHl0aG9uMy1idWd6aWxs YQotUmVxdWlyZXM6ICAgICAgIHB5dGhvbjMtcnBrZyA+PSAxLjY3LTEKK1JlcXVpcmVzOiAgICAg ICBweXRob24zLXJwa2cgPj0gMS42OC0xCiBSZXF1aXJlczogICAgICAgcHl0aG9uMy1kaXN0cm8K IFJlcXVpcmVzOiAgICAgICBweXRob24zLW9wZW5pZGMtY2xpZW50ID49IDAuNi4wCiBSZXF1aXJl czogICAgICAgcHl0aG9uMy1ib2RoaS1jbGllbnQKQEAgLTEzNiw2ICs5OCw0OSBAQCBtdiAle2J1 aWxkcm9vdH0le2NvbXBkaXJ9L2ZlZHBrZy5iYXNoICV7YnVpbGRyb290fSV7Y29tcGRpcn0vZmVk cGtnCiAKIAogJWNoYW5nZWxvZworKiBXZWQgTWFyIDE5IDIwMjUgT25kxZllaiBOb3NlayA8b25v c2VrQHJlZGhhdC5jb20+IC0gMS40Ni0xCistIGByZXF1ZXN0LXJlcG9gOiBhZGQgYC0tb25ib2Fy ZC1wYWNraXRgIGFyZ3VtZW50IChuZm9ycm8pCistIEZvcmsgYSBwYWNrYWdlIHVzaW5nIGFub255 bW91cyBhdXRoIC0gIzU3NCAob25vc2VrKQorLSBDaGVjayB0aGF0IGF1dGggdG9rZW5zIGFyZW7i gJl0IHdyaXR0ZW4gdG8gd29ybGQtcmVhZGFibGUgZmlsZXMgKGdpdCkKKy0gRG9uJ3QgYWxsb3cg dG8gcmVxdWVzdCByZXBvc2l0b3JpZXMgaW4gbW9kdWxlcy8gbmFtZXNwYWNlIChtaXJvKQorLSBE byBub3QgYXV0by1yZXF1ZXN0IEVQRUwgeC55IG1vZHVsZXMgKGNhcmx3Z2VvcmdlKQorLSBEeW5h bWljYWxseSBleGNsdWRlIFJhd2hpZGUgYnJhbmNoIGZyb20gZmVkcGtnIGJyYW5jaGluZyAtICM1 NjYgKHNhbXlhay5qbjExKQorLSBGaXggdW5pdHRlc3RzIHdoZW4gYnVpbGRpbmcgZm9yIEVMTiB0 YXJnZXQgLSAjNTg5IChvbm9zZWspCistIFB5dGhvbiAzLjEzIGVudmlyb25tZW50IGFuZCByZW5l dyB0ZXN0aW5nIGltYWdlIChvbm9zZWspCistIGByZWxlYXNlcy1pbmZvYCBzaG91bGQgYWx3YXlz IHNob3cgdGhlIHNhbWUgb3JkZXIgLSAjNTY5IChvbm9zZWspCistIFVwZGF0ZSBleHBpcmVkIHRv a2VuIGV4Y2VwdGlvbiBpbnN0cnVjdGlvbnMgKGFzdHJhKQorLSBDbG9uZSBlcGVsMTAgYnJhbmNo ZXMgd2l0aCBjbG9uZSAtQiAoY2FybHdnZW9yZ2UpCistIFVwZGF0ZSBleHBpcmVkIHRva2VuIGV4 Y2VwdGlvbiBpbnN0cnVjdGlvbnMgKGZlcmRueWMpCistIEFkZCBzZXR1cHRvb2xzIHRvIGRlcGVu ZGVuY2llcyBmb3IgUHl0aG9uIDMuMTIrIChmZXJkbnljKQorLSBGaXggdGVzdHMgb24gRVBFTCA5 LzEwLiAocm9tYWluLmdlaXNzbGVyKQorLSBGaXhpbmcgdW5pdHRlc3RzIGZvciBweTM2IChvbm9z ZWspCistIGdpdGlnbm9yZSB0aGUgbmFtZS12ZXJzaW9uLWJ1aWxkLyBkaXJlY3RvcnkgY3JlYXRl ZCBieSBmZWRwa2cgcHJlcC9sb2NhbCAobWlybykKKy0gSGFuZGxlIHJoZWwgcnVudGltZXMgd2hl biBtaW5vciB2ZXJzaW9uIGV4aXN0cyBpbiBkaXN0dGFnIChkaGVycmVyYSkKKy0gQWRkIHRlc3Rz IGNhc2VzIGZvciBydW50aW1lX2Rpc3R0YWcgcmVtb3ZhbCB3aGVuIHdvcmtpbmcgd2l0aCBlcGVs MTAgKGRoZXJyZXJhKQorLSBJbXByb3ZlbWVudHMgb24gc3RyaW5nIHBhcnNpbmcgKGRoZXJyZXJh KQorLSBHZXQgbWFjcm9zIGZyb20gZXBlbC1jYW5kaWRhdGUgYnVpbGQgdGFyZ2V0LiAoZGhlcnJl cmEpCistIEZpeCBFUEVMMTAgYnJhbmNoIGV4cHJlc3Npb24gdG8gY292ZXIgMiBvciBtb3JlIGRp Z2l0cy4gKGRoZXJyZXJhKQorLSBVc2UgbWlub3IgdmFsdWUgZnJvbSBrb2ppIHdoZW4gbm8gbWlu b3IgaW4gYnJhbmNoIG5hbWUgKGRoZXJyZXJhKQorLSBGaXggbWlub3IgcmVxdWlyZW1lbnRzIGZv ciBFUEVMMTArIGluIHRlc3QgKGRoZXJyZXJhKQorLSBEbyBub3QgYXV0by1yZXF1ZXN0IEVMTiBt b2R1bGVzICh5c2Vsa293aSkKKy0gRml4ZXMgbWlzc2luZyBrZXkgaW4gZGlzdHJvLm9zX3JlbGVh c2VfaW5mbygpIChvbm9zZWspCistIFVwZGF0ZSBjaGVja19ib2RoaV92ZXJzaW9uIHRvIGNoZWNr IGZvciA+PSA2LjAuMCAoYXdpbGxpYW0pCistIE1vZGVybml6ZSBhbmQgY2xlYW4gdW5pdHRlc3Qg aW1wb3J0cyAoYXdpbGxpYW0pCistIFJlcGxhY2UgYW5kIHVwZGF0ZSB1c2Ugb2YgZGVwcmVjYXRl ZCAnbGludXhfZGlzdHJpYnV0aW9uJyAoYXdpbGxpYW0pCistIERyb3AgYWxsIHVzYWdlIG9mIHNp eCAoYXdpbGxpYW0pCistIERyb3Agc3VwcG9ydCBmb3IgYm9kaGktY2xpZW50IDw9IDUgKGF3aWxs aWFtKQorLSBBZGQgcHkzMTMgZW52aXJvbm1lbnQgYXMgdGhhdCdzIGN1cnJlbnQgKGF3aWxsaWFt KQorLSBGaXggVVJMIG9mIEJvZGhpIGluIHN0YWdpbmcgKG5pbHMpCistIEV4dGVuZCBsb2FkX3Jw bWRlZmluZXMgdG8gd29yayB3aXRoIEVQRUwxMCsgKGRoZXJyZXJhKQorLSBBZGQgRVBFTDEwKyB1 cmwgcGF0dGVybiBvbiBhc3NlcnRfdmFsaWRfZXBlbF9wYWNrYWdlIChkaGVycmVyYSkKKy0gVGVz dCB1cmwgdXNhZ2UgaW4gYXNzZXJ0X3ZhbGlkX2VwZWxfcGFja2FnZSAoZGhlcnJlcmEpCistIEFk ZCBFUEVMMTAgYnJhbmNoIG5hbWUgY2FzZXMgYXMgdmFsaWQgKGRoZXJyZXJhKQorLSBUZXN0IGZv ciB2YWxpZCBFUEVMIGJyYW5jaCBuYW1lcyAoZGhlcnJlcmEpCistIERvbid0IHByaW50IHRoZSBi cmFuY2ggbmFtZSBhZnRlciBkYXNoIHdoZW4gdGhlcmUgaXMgbm8gZGFzaCAtIDU1NCAobWlybykK Ky0gRG9uJ3QgdXNlIGhhdGNobGluZyBvbiBweXRob24gMy42IChkaGVycmVyYSkKKy0gUmVtb3Zl IG1icy5mZWRvcmFwcm9qZWN0Lm9yZyBzY29wZXMgZnJvbSBnaXQgY3JlZCBoZWxwZXIgKGtqKQor LSBGaXggdW5pdHRlc3RzIGFmdGVyIGNyZWF0aW5nIHRoZSBwcm9qZWN0IGluIGhhdGNoIChvbm9z ZWspCisKICogV2VkIEZlYiAyNiAyMDI1IE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29t PiAtIDEuNDUtMTAKIC0gRHluYW1pY2FsbHkgZXhjbHVkZSBSYXdoaWRlIGJyYW5jaCBmcm9tIGZl ZHBrZyBicmFuY2hpbmcKIC0gRG8gbm90IGF1dG8tcmVxdWVzdCBFUEVMIHgueSBtb2R1bGVzCgpk aWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggOTI1MGEyMy4uZmRlYjg0OSAxMDA2 NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xICsxIEBACi1TSEE1MTIgKGZlZHBr Zy0xLjQ1LnRhci5neikgPSBhNzU3Nzk5YmRmNTJlNTllYzJhOWJkMjE4YjBhYjQ5ZDdhYjg1ZDUy YmMxYjEzOTM4ZGFlZjIzZGQ0NjA1N2M3ZjU0NjYxNTI3ZjgyYmM1OTUwZDc3ZTY5MDg0N2MwY2I4 Zjk3NTgzNmZiZjA1YjZhNzZjOGMwN2E1OTcxYjM3OQorU0hBNTEyIChmZWRwa2ctMS40Ni50YXIu Z3opID0gNzgyMGQzNDVhZmQ2NmM3YWVjNjVmOGY4YzQxZGM3OTdlZDNkZjk1MzI1NmI5OGJiNWM3 YmRmNzY5YWUwNGJmNmQ3NGI5NDYyODdkMzg3NjlkMmZkZmI4NTZmZmI1ZWRiNzRkMzU2ZWYzNjQ5 MGM4ZGY4NmJjNmVjYjkwOWY5MzUK