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: Orion Poplawski To: git-commits@fedoraproject.org Subject: [rpms/cobbler] f45: Update to 3.3.9 Date: Tue, 01 Sep 2026 04:04:12 GMT Message-ID: <178823545220.1.13118506222819443751.rpms-cobbler-22816b82182d@fedoraproject.org> List-ID: X-Git-Repo: rpms/cobbler X-Git-Branch: f45 X-Git-Rev: 22816b82182d74fd8509e110efd2b34be7e0f85e QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY29iYmxlcgpCcmFu Y2ggOiBmNDUKQ29tbWl0IDogMjI4MTZiODIxODJkNzRmZDg1MDllMTEwZWZkMmIzNGJlN2UwZjg1 ZQpBdXRob3IgOiBPcmlvbiBQb3BsYXdza2kgPG9yaW9uQG53cmEuY29tPgpEYXRlICAgOiAyMDI2 LTA4LTMxVDIwOjM3OjI2LTA2OjAwClN0YXRzICA6ICsyLy0xMDEyIGluIDQgZmlsZShzKQpVUkwg ICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2NvYmJsZXIvYy8yMjgxNmI4 MjE4MmQ3NGZkODUwOWUxMTBlZmQyYjM0YmU3ZTBmODVlP2JyYW5jaD1mNDUKCkxvZzoKVXBkYXRl IHRvIDMuMy45CgotLS0KZGlmZiAtLWdpdCBhLzM5NDUucGF0Y2ggYi8zOTQ1LnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNzVjMzQ5Li4wMDAwMDAwCi0tLSBhLzM5NDUucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIDFkODNiZDI5YzI1M2JhODk4 YWMzNTY4MzI1OGZlYzI4NWQ1YTY1MjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBP cmlvbiBQb3BsYXdza2kgPG9yaW9uQG53cmEuY29tPgotRGF0ZTogU2F0LCA0IE9jdCAyMDI1IDE5 OjQ5OjI2IC0wNjAwCi1TdWJqZWN0OiBbUEFUQ0hdIFVzZSBzeXN0ZW1jdGwgaXMtYWN0aXZlIC0t cXVpZXQgdG8gY2hlY2sgc3RhdHVzIG9mIHNlcnZpY2VzCi0gKGZpeGVzICMzOTQyKQotCi0tLS0K LSBjaGFuZ2Vsb2cuZC8zOTQyLmZpeGVkICAgfCAxICsKLSBjb2JibGVyL2FjdGlvbnMvY2hlY2su cHkgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgY2hhbmdlbG9nLmQvMzk0Mi5maXhlZAotCi1kaWZmIC0t Z2l0IGEvY2hhbmdlbG9nLmQvMzk0Mi5maXhlZCBiL2NoYW5nZWxvZy5kLzM5NDIuZml4ZWQKLW5l dyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi40NDRiZGI4MDBhCi0tLS0gL2Rl di9udWxsCi0rKysgYi9jaGFuZ2Vsb2cuZC8zOTQyLmZpeGVkCi1AQCAtMCwwICsxIEBACi0rY2hl Y2s6IFVzZSBzeXN0ZW1jdGwgaXMtYWN0aXZlIC0tcXVpZXQgdG8gY2hlY2sgdGhlIHN0YXR1cyBv ZiBzZXJ2aWNlcwotZGlmZiAtLWdpdCBhL2NvYmJsZXIvYWN0aW9ucy9jaGVjay5weSBiL2NvYmJs ZXIvYWN0aW9ucy9jaGVjay5weQotaW5kZXggYjc5NzA2YWZmMS4uNWY2YTNmYTNiYyAxMDA2NDQK LS0tLSBhL2NvYmJsZXIvYWN0aW9ucy9jaGVjay5weQotKysrIGIvY29iYmxlci9hY3Rpb25zL2No ZWNrLnB5Ci1AQCAtMTQyLDcgKzE0Miw3IEBAIGRlZiBjaGVja19zZXJ2aWNlKHNlbGYsIHN0YXR1 cywgd2hpY2gsIG5vdGVzPSIiKToKLSAgICAgICAgICAgICAgICAgICAgIHN0YXR1cy5hcHBlbmQo InNlcnZpY2UgJXMgaXMgbm90IHJ1bm5pbmclcyIgJSAod2hpY2gsIG5vdGVzKSkKLSAgICAgICAg ICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgZWxpZiB1dGlscy5pc19zeXN0ZW1kKCk6Ci0t ICAgICAgICAgICAgcmV0dXJuX2NvZGUgPSB1dGlscy5zdWJwcm9jZXNzX2NhbGwoInN5c3RlbWN0 bCBzdGF0dXMgJXMgPiAvZGV2L251bGwgMj4vZGV2L251bGwiICUgd2hpY2gsCi0rICAgICAgICAg ICAgcmV0dXJuX2NvZGUgPSB1dGlscy5zdWJwcm9jZXNzX2NhbGwoInN5c3RlbWN0bCBpcy1hY3Rp dmUgLS1xdWlldCAlcyA+IC9kZXYvbnVsbCAyPi9kZXYvbnVsbCIgJSB3aGljaCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVsbD1UcnVlKQotICAg ICAgICAgICAgIGlmIHJldHVybl9jb2RlICE9IDA6Ci0gICAgICAgICAgICAgICAgIHN0YXR1cy5h cHBlbmQoInNlcnZpY2UgJXMgaXMgbm90IHJ1bm5pbmclcyIgJSAod2hpY2gsIG5vdGVzKSkKCmRp ZmYgLS1naXQgYS9jb2JibGVyLXB5dGhvbjMuMTMucGF0Y2ggYi9jb2JibGVyLXB5dGhvbjMuMTMu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4ODQ3YTQuLjAwMDAwMDAKLS0t IGEvY29iYmxlci1weXRob24zLjEzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTcyICswLDAg QEAKLWRpZmYgLS1naXQgYS9jaGFuZ2Vsb2cuZC8zODQyLmZpeGVkIGIvY2hhbmdlbG9nLmQvMzg0 Mi5maXhlZAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwLi42YzZkNjMxMwot LS0tIC9kZXYvbnVsbAotKysrIGIvY2hhbmdlbG9nLmQvMzg0Mi5maXhlZAotQEAgLTAsMCArMSBA QAotK0ZpeCBjb21wYXRpYmlsaXR5IHdpdGggUHl0aG9uIDMuMTMKLWRpZmYgLS1naXQgYS9jb2Ji bGVyL2FjdGlvbnMvcmVwb3N5bmMucHkgYi9jb2JibGVyL2FjdGlvbnMvcmVwb3N5bmMucHkKLWlu ZGV4IGMwMTYzMzUwLi5lYzU3NDVmYiAxMDA2NDQKLS0tLSBhL2NvYmJsZXIvYWN0aW9ucy9yZXBv c3luYy5weQotKysrIGIvY29iYmxlci9hY3Rpb25zL3JlcG9zeW5jLnB5Ci1AQCAtMjMsOSArMjMs OSBAQCBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBC b3N0b24sIE1BCi0gaW1wb3J0IGxvZ2dpbmcKLSBpbXBvcnQgb3MKLSBpbXBvcnQgb3MucGF0aAot LWltcG9ydCBwaXBlcwotLWltcG9ydCBzdGF0Ci0raW1wb3J0IHNobGV4Ci0gaW1wb3J0IHNodXRp bAotK2ltcG9ydCBzdGF0Ci0gZnJvbSB0eXBpbmcgaW1wb3J0IE9wdGlvbmFsLCBVbmlvbgotIAot IGZyb20gY29iYmxlciBpbXBvcnQgdXRpbHMKLUBAIC0yNzIsOSArMjcyLDkgQEAgY2xhc3MgUmVw b1N5bmM6Ci0gICAgICAgICAgICAgYmxlbmRlZCA9IHV0aWxzLmJsZW5kZXIoc2VsZi5hcGksIEZh bHNlLCByZXBvKQotICAgICAgICAgICAgIGZsYWdzID0gYmxlbmRlZC5nZXQoImNyZWF0ZXJlcG9f ZmxhZ3MiLCAiKEVSUk9SOiBGTEFHUykiKQotICAgICAgICAgICAgIHRyeToKLS0gICAgICAgICAg ICAgICAgY21kID0gImNyZWF0ZXJlcG8gJXMgJXMgJXMiICUgKCIgIi5qb2luKG1kb3B0aW9ucyks IGZsYWdzLCBwaXBlcy5xdW90ZShkaXJuYW1lKSkKLS0gICAgICAgICAgICAgICAgdXRpbHMuc3Vi cHJvY2Vzc19jYWxsKGNtZCkKLS0gICAgICAgICAgICBleGNlcHQ6Ci0rICAgICAgICAgICAgICAg IGNtZCA9IFsiY3JlYXRlcmVwbyJdICsgbWRvcHRpb25zICsgZmxhZ3MgKyBbc2hsZXgucXVvdGUo ZGlybmFtZSldCi0rICAgICAgICAgICAgICAgIHV0aWxzLnN1YnByb2Nlc3NfY2FsbChjbWQsIHNo ZWxsPUZhbHNlKQotKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgICAgICAg ICAgIHV0aWxzLmxvZ19leGMoKQotICAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcigi Y3JlYXRlcmVwbyBmYWlsZWQuIikKLSAgICAgICAgICAgICBkZWwgZm5hbWVzWzpdICAjIHdlJ3Jl IGluIHRoZSByaWdodCBwbGFjZQotQEAgLTMwMiw4ICszMDIsMTkgQEAgY2xhc3MgUmVwb1N5bmM6 Ci0gICAgICAgICBkZXN0X3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5zZXR0aW5ncy53ZWJkaXIs ICJyZXBvX21pcnJvciIsIHJlcG8ubmFtZSkKLSAKLSAgICAgICAgICMgRklYTUU6IHdyYXBwZXIg Zm9yIHN1YnByb2Nlc3MgdGhhdCBsb2dzIHRvIGxvZ2dlcgotLSAgICAgICAgY21kID0gWyJ3Z2V0 IiwgIi1OIiwgIi1ucCIsICItciIsICItbCIsICJpbmYiLCAiLW5kIiwgIi1QIiwgcGlwZXMucXVv dGUoZGVzdF9wYXRoKSwgcGlwZXMucXVvdGUocmVwby5taXJyb3IpXQotLSAgICAgICAgcmMgPSB1 dGlscy5zdWJwcm9jZXNzX2NhbGwoY21kKQotKyAgICAgICAgY21kID0gWwotKyAgICAgICAgICAg ICJ3Z2V0IiwKLSsgICAgICAgICAgICAiLU4iLAotKyAgICAgICAgICAgICItbnAiLAotKyAgICAg ICAgICAgICItciIsCi0rICAgICAgICAgICAgIi1sIiwKLSsgICAgICAgICAgICAiaW5mIiwKLSsg ICAgICAgICAgICAiLW5kIiwKLSsgICAgICAgICAgICAiLVAiLAotKyAgICAgICAgICAgIHNobGV4 LnF1b3RlKGRlc3RfcGF0aCksCi0rICAgICAgICAgICAgc2hsZXgucXVvdGUocmVwby5taXJyb3Ip LAotKyAgICAgICAgXQotKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gdXRpbHMuc3VicHJvY2Vzc19j YWxsKGNtZCwgc2hlbGw9RmFsc2UpCi0gCi0gICAgICAgICBpZiByYyAhPSAwOgotICAgICAgICAg ICAgIHJhaXNlIENYKCJjb2JibGVyIHJlcG9zeW5jIGZhaWxlZCIpCi1AQCAtMzQ3LDkgKzM1OCwx NCBAQCBjbGFzcyBSZXBvU3luYzoKLSAgICAgICAgIGlmIGZsYWdzID09ICcnOgotICAgICAgICAg ICAgIGZsYWdzID0gc2VsZi5zZXR0aW5ncy5yZXBvc3luY19yc3luY19mbGFncwotIAotLSAgICAg ICAgY21kID0gInJzeW5jICVzIC0tZGVsZXRlLWFmdGVyICVzIC0tZGVsZXRlIC0tZXhjbHVkZS1m cm9tPS9ldGMvY29iYmxlci9yc3luYy5leGNsdWRlICVzICVzIiBcCi0tICAgICAgICAgICAgICAl IChmbGFncywgc3BhY2VyLCBwaXBlcy5xdW90ZShyZXBvLm1pcnJvciksIHBpcGVzLnF1b3RlKGRl c3RfcGF0aCkpCi0tICAgICAgICByYyA9IHV0aWxzLnN1YnByb2Nlc3NfY2FsbChjbWQpCi0rICAg ICAgICBjbWQgPSBbInJzeW5jIl0gKyBmbGFncyArIFsiLS1kZWxldGUtYWZ0ZXIiXQotKyAgICAg ICAgY21kICs9IHNwYWNlciArIFsKLSsgICAgICAgICAgICAiLS1kZWxldGUiLAotKyAgICAgICAg ICAgICItLWV4Y2x1ZGUtZnJvbT0vZXRjL2NvYmJsZXIvcnN5bmMuZXhjbHVkZSIsCi0rICAgICAg ICAgICAgc2hsZXgucXVvdGUocmVwby5taXJyb3IpLAotKyAgICAgICAgICAgIHNobGV4LnF1b3Rl KGRlc3RfcGF0aCksCi0rICAgICAgICBdCi0rICAgICAgICByZXR1cm5fY29kZSA9IHV0aWxzLnN1 YnByb2Nlc3NfY2FsbChjbWQsIHNoZWxsPUZhbHNlKQotIAotICAgICAgICAgaWYgcmMgIT0gMDoK LSAgICAgICAgICAgICByYWlzZSBDWCgiY29iYmxlciByZXBvc3luYyBmYWlsZWQiKQotQEAgLTM4 NiwxMCArNDAyLDExIEBAIGNsYXNzIFJlcG9TeW5jOgotICAgICAgICAgaWYgbm90IEhBU19MSUJS RVBPOgotICAgICAgICAgICAgIHJhaXNlIENYKCJubyBsaWJyZXBvIGZvdW5kLCBwbGVhc2UgaW5z dGFsbCBweXRob24zLWxpYnJlcG8iKQotIAotLSAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoIi91 c3IvYmluL2RuZiIpOgotLSAgICAgICAgICAgIGNtZCA9ICIvdXNyL2Jpbi9kbmYgcmVwb3N5bmMi Ci0tICAgICAgICBlbGlmIG9zLnBhdGguZXhpc3RzKCIvdXNyL2Jpbi9yZXBvc3luYyIpOgotLSAg ICAgICAgICAgIGNtZCA9ICIvdXNyL2Jpbi9yZXBvc3luYyIKLSsgICAgICAgIGlmIG9zLnBhdGgu ZXhpc3RzKCIvdXNyL2Jpbi9yZXBvc3luYyIpOgotKyAgICAgICAgICAgIGNtZCA9IFsiL3Vzci9i aW4vcmVwb3N5bmMiXQotKyAgICAgICAgIyBETkY1IGRvZXMgbm90IGhhdmUgYSByZXBvc3luYyBz dWJjb21tYW5kCi0rICAgICAgICBlbGlmIG9zLnBhdGguZXhpc3RzKCIvdXNyL2Jpbi9kbmYiKToK LSsgICAgICAgICAgICBjbWQgPSBbIi91c3IvYmluL2RuZiIsICJyZXBvc3luYyJdCi0gICAgICAg ICBlbHNlOgotICAgICAgICAgICAgICMgV2FybiBhYm91dCBub3QgaGF2aW5nIHl1bS11dGlscy4g IFdlIGRvbid0IHdhbnQgdG8gcmVxdWlyZSBpdCBpbiB0aGUgcGFja2FnZSBiZWNhdXNlIEZlZG9y YSAyMisgaGFzIG1vdmVkCi0gICAgICAgICAgICAgIyB0byBkbmYuCi1AQCAtNDUxLDYgKzQ2OCwx MSBAQCBjbGFzcyBSZXBvU3luYzoKLSAgICAgICAgICAgICAjIENvdW50ZXItaW50dWl0aXZlLCBi dXQgd2Ugd2FudCB0aGUgbmV3aXNoIGtlcm5lbHMgdG9vCi0gICAgICAgICAgICAgYXJjaCA9ICJp Njg2IgotIAotKyAgICAgICAgY21kID0gc2VsZi5yZXBvc3luY19jbWQoKQotKyAgICAgICAgY21k ICs9IHNlbGYucmZsYWdzICsgWwotKyAgICAgICAgICAgIGYiLS1yZXBvPXtzaGxleC5xdW90ZShy ZXN0KX0iLAotKyAgICAgICAgICAgIGYiLS1kb3dubG9hZC1wYXRoPXtzaGxleC5xdW90ZShyZXBv c19wYXRoKX0iLAotKyAgICAgICAgXQotICAgICAgICAgaWYgYXJjaCAhPSAibm9uZSI6Ci0gICAg ICAgICAgICAgY21kID0gIiVzIC1hICVzIiAlIChjbWQsIGFyY2gpCi0gCi1AQCAtNTQ0LDkgKzU2 NiwxMSBAQCBjbGFzcyBSZXBvU3luYzoKLSAKLSAgICAgICAgIGlmIG5vdCBoYXNfcnBtX2xpc3Q6 Ci0gICAgICAgICAgICAgIyBJZiB3ZSBoYXZlIG5vdCByZXF1ZXN0ZWQgb25seSBjZXJ0YWluIFJQ TXMsIHVzZSByZXBvc3luYwotLSAgICAgICAgICAgIGNtZCA9ICIlcyAlcyAtLWNvbmZpZz0lcyAt LXJlcG9pZD0lcyAtcCAlcyIgXAotLSAgICAgICAgICAgICAgICAgICUgKGNtZCwgc2VsZi5yZmxh Z3MsIHRlbXBfZmlsZSwgcGlwZXMucXVvdGUocmVwby5uYW1lKSwKLS0gICAgICAgICAgICAgICAg ICAgICBwaXBlcy5xdW90ZShyZXBvc19wYXRoKSkKLSsgICAgICAgICAgICBjbWQgKz0gc2VsZi5y ZmxhZ3MgKyBbCi0rICAgICAgICAgICAgICAgIGYiLS1jb25maWc9e3RlbXBfZmlsZX0iLAotKyAg ICAgICAgICAgICAgICBmIi0tcmVwb2lkPXtzaGxleC5xdW90ZShyZXBvLm5hbWUpfSIsCi0rICAg ICAgICAgICAgICAgIGYiLS1kb3dubG9hZC1wYXRoPXtzaGxleC5xdW90ZShyZXBvc19wYXRoKX0i LAotKyAgICAgICAgICAgIF0KLSAgICAgICAgICAgICBpZiBhcmNoICE9ICJub25lIjoKLSAgICAg ICAgICAgICAgICAgY21kID0gIiVzIC1hICVzIiAlIChjbWQsIGFyY2gpCi0gCi1AQCAtNTU3LDE0 ICs1ODEsMTQgQEAgY2xhc3MgUmVwb1N5bmM6Ci0gCi0gICAgICAgICAgICAgdXNlX3NvdXJjZSA9 ICIiCi0gICAgICAgICAgICAgaWYgYXJjaCA9PSAic3JjIjoKLS0gICAgICAgICAgICAgICAgdXNl X3NvdXJjZSA9ICItLXNvdXJjZSIKLS0KLS0gICAgICAgICAgICAjIE9sZGVyIHl1bWRvd25sb2Fk ZXIgc29tZXRpbWVzIGV4cGxvZGVzIG9uIC0tcmVzb2x2ZWRlcHMgaWYgdGhpcyBoYXBwZW5zIHRv IHlvdSwgdXBncmFkZSB5dW0gJiB5dW0tdXRpbHMKLS0gICAgICAgICAgICBleHRyYV9mbGFncyA9 IHNlbGYuc2V0dGluZ3MueXVtZG93bmxvYWRlcl9mbGFncwotLSAgICAgICAgICAgIGNtZCA9ICIv dXNyL2Jpbi9kbmYgZG93bmxvYWQiCi0tICAgICAgICAgICAgY21kID0gIiVzICVzICVzIC0tZGlz YWJsZXJlcG89KiAtLWVuYWJsZXJlcG89JXMgLWMgJXMgLS1kZXN0ZGlyPSVzICVzIiBcCi0tICAg ICAgICAgICAgICAgICAgJSAoY21kLCBleHRyYV9mbGFncywgdXNlX3NvdXJjZSwgcGlwZXMucXVv dGUocmVwby5uYW1lKSwgdGVtcF9maWxlLCBwaXBlcy5xdW90ZShkZXN0X3BhdGgpLAotLSAgICAg ICAgICAgICAgICAgICAgICIgIi5qb2luKHJlcG8ucnBtX2xpc3QpKQotKyAgICAgICAgICAgICAg ICBjbWQuYXBwZW5kKCItLXNvdXJjZSIpCi0rICAgICAgICAgICAgY21kICs9IFsKLSsgICAgICAg ICAgICAgICAgIi0tZGlzYWJsZXJlcG89KiIsCi0rICAgICAgICAgICAgICAgIGYiLS1lbmFibGVy ZXBvPXtzaGxleC5xdW90ZShyZXBvLm5hbWUpfSIsCi0rICAgICAgICAgICAgICAgIGYiLWM9e3Rl bXBfZmlsZX0iLAotKyAgICAgICAgICAgICAgICBmIi0tZGVzdGRpcj17c2hsZXgucXVvdGUoZGVz dF9wYXRoKX0iLAotKyAgICAgICAgICAgIF0KLSsgICAgICAgICAgICBjbWQgKz0gcmVwby5ycG1f bGlzdAotIAotICAgICAgICAgIyBOb3cgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHdlJ3JlIGRvaW5n IHl1bWRvd25sb2FkZXIgb3IgcmVwb3N5bmMgb3Igd2hldGhlciB0aGUgcmVwbyB3YXMgaHR0cDov LywgZnRwOi8vLCBvcgotICAgICAgICAgIyByaG46Ly8sIGV4ZWN1dGUgYWxsIHF1ZXVlZCBjb21t YW5kcyBoZXJlLiAgQW55IGZhaWx1cmUgYXQgYW55IHBvaW50IHN0b3BzIHRoZSBvcGVyYXRpb24u Ci1AQCAtNjY5LDE3ICs2OTMsMjEgQEAgY2xhc3MgUmVwb1N5bmM6Ci0gICAgICAgICAgICAgZGlz dHMgPSAiLCIuam9pbihyZXBvLmFwdF9kaXN0cykKLSAgICAgICAgICAgICBjb21wb25lbnRzID0g IiwiLmpvaW4ocmVwby5hcHRfY29tcG9uZW50cykKLSAKLS0gICAgICAgICAgICBtaXJyb3JfZGF0 YSA9ICItLW1ldGhvZD0lcyAtLWhvc3Q9JXMgLS1yb290PSVzIC0tZGlzdD0lcyAtLXNlY3Rpb249 JXMiIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICUgKHBpcGVzLnF1b3RlKG1ldGhvZCks IHBpcGVzLnF1b3RlKGhvc3QpLCBwaXBlcy5xdW90ZShtaXJyb3IpLCBwaXBlcy5xdW90ZShkaXN0 cyksCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXBlcy5xdW90ZShjb21wb25lbnRz KSkKLSsgICAgICAgICAgICBtaXJyb3JfZGF0YSA9IFsKLSsgICAgICAgICAgICAgICAgZiItLW1l dGhvZD17c2hsZXgucXVvdGUobWV0aG9kKX0iLAotKyAgICAgICAgICAgICAgICBmIi0taG9zdD17 c2hsZXgucXVvdGUoaG9zdCl9IiwKLSsgICAgICAgICAgICAgICAgZiItLXJvb3Q9e3NobGV4LnF1 b3RlKG1pcnJvcil9IiwKLSsgICAgICAgICAgICAgICAgZiItLWRpc3Q9e3NobGV4LnF1b3RlKGRp c3RzKX0iLAotKyAgICAgICAgICAgICAgICBmIi0tc2VjdGlvbj17c2hsZXgucXVvdGUoY29tcG9u ZW50cyl9IiwKLSsgICAgICAgICAgICBdCi0gCi0gICAgICAgICAgICAgcmZsYWdzID0gIi0tbm9j bGVhbnVwIgotICAgICAgICAgICAgIGZvciB4IGluIHJlcG8ueXVtb3B0czoKLSAgICAgICAgICAg ICAgICAgaWYgcmVwby55dW1vcHRzW3hdOgotICAgICAgICAgICAgICAgICAgICAgcmZsYWdzICs9 ICIgJXM9JXMiICUgKHgsIHJlcG8ueXVtb3B0c1t4XSkKLSAgICAgICAgICAgICAgICAgZWxzZToK LS0gICAgICAgICAgICAgICAgICAgIHJmbGFncyArPSAiICVzIiAlIHgKLS0gICAgICAgICAgICBj bWQgPSAiJXMgJXMgJXMgJXMiICUgKG1pcnJvcl9wcm9ncmFtLCByZmxhZ3MsIG1pcnJvcl9kYXRh LCBwaXBlcy5xdW90ZShkZXN0X3BhdGgpKQotKyAgICAgICAgICAgICAgICAgICAgcmZsYWdzLmFw cGVuZChyZXBvX3l1bW9wdGlvbikKLSsgICAgICAgICAgICBjbWQgPSBbbWlycm9yX3Byb2dyYW1d ICsgcmZsYWdzICsgbWlycm9yX2RhdGEgKyBbc2hsZXgucXVvdGUoZGVzdF9wYXRoKV0KLSAgICAg ICAgICAgICBpZiByZXBvLmFyY2ggPT0gUmVwb0FyY2hzLlNSQzoKLSAgICAgICAgICAgICAgICAg Y21kID0gIiVzIC0tc291cmNlIiAlIGNtZAotICAgICAgICAgICAgIGVsc2U6Ci1kaWZmIC0tZ2l0 IGEvdGVzdHMvYWN0aW9ucy9yZXBvc3luY190ZXN0LnB5IGIvdGVzdHMvYWN0aW9ucy9yZXBvc3lu Y190ZXN0LnB5Ci1pbmRleCAwYmVlNzcyYy4uZWU4ZDE1NDkgMTAwNjQ0Ci0tLS0gYS90ZXN0cy9h Y3Rpb25zL3JlcG9zeW5jX3Rlc3QucHkKLSsrKyBiL3Rlc3RzL2FjdGlvbnMvcmVwb3N5bmNfdGVz dC5weQotQEAgLTEsMjUxICsxLDU5MiBAQAotKyIiIgotK1Rlc3RzIHRoYXQgdmFsaWRhdGUgdGhl IGZ1bmN0aW9uYWxpdHkgb2YgdGhlIG1vZHVsZSB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciByZXBv c2l0b3J5IHN5bmNocm9uaXphdGlvbi4KLSsiIiIKLSsKLSBpbXBvcnQgb3MKLS1pbXBvcnQgZ2xv YgotK2Zyb20gcGF0aGxpYiBpbXBvcnQgUGF0aAotK2Zyb20gdHlwaW5nIGltcG9ydCBUWVBFX0NI RUNLSU5HLCBBbnksIERpY3QsIExpc3QsIFVuaW9uCi0gCi0gaW1wb3J0IHB5dGVzdAotIAotLWZy b20gY29iYmxlciBpbXBvcnQgZW51bXMKLStmcm9tIGNvYmJsZXIgaW1wb3J0IGNleGNlcHRpb25z LCBlbnVtcwotK2Zyb20gY29iYmxlci5hY3Rpb25zIGltcG9ydCByZXBvc3luYwotIGZyb20gY29i Ymxlci5hcGkgaW1wb3J0IENvYmJsZXJBUEkKLS1mcm9tIGNvYmJsZXIuYWN0aW9ucy5yZXBvc3lu YyBpbXBvcnQgUmVwb1N5bmMKLSBmcm9tIGNvYmJsZXIuaXRlbXMucmVwbyBpbXBvcnQgUmVwbwot LWZyb20gY29iYmxlciBpbXBvcnQgY2V4Y2VwdGlvbnMKLS1mcm9tIHRlc3RzLmNvbmZ0ZXN0IGlt cG9ydCBkb2VzX25vdF9yYWlzZQotIAotK2Zyb20gdGVzdHMuY29uZnRlc3QgaW1wb3J0IGRvZXNf bm90X3JhaXNlCi0gCi0tQHB5dGVzdC5maXh0dXJlKHNjb3BlPSJjbGFzcyIpCi0tZGVmIGFwaSgp OgotLSAgICByZXR1cm4gQ29iYmxlckFQSSgpCi0raWYgVFlQRV9DSEVDS0lORzoKLSsgICAgZnJv bSBweXRlc3RfbW9jayBpbXBvcnQgTW9ja2VyRml4dHVyZQotIAotIAotLUBweXRlc3QuZml4dHVy ZShzY29wZT0iY2xhc3MiKQotLWRlZiByZXBvc3luYyhhcGkpOgotLSAgICB0ZXN0X3JlcG9zeW5j ID0gUmVwb1N5bmMoYXBpLCB0cmllcz0yLCBub2ZhaWw9RmFsc2UpCi0rQHB5dGVzdC5maXh0dXJl KG5hbWU9InJlcG9zeW5jX29iamVjdCIsIHNjb3BlPSJmdW5jdGlvbiIpCi0rZGVmIGZpeHR1cmVf cmVwb3N5bmNfb2JqZWN0KAotKyAgICBtb2NrZXI6ICJNb2NrZXJGaXh0dXJlIiwgY29iYmxlcl9h cGk6IENvYmJsZXJBUEkKLSspIC0+IHJlcG9zeW5jLlJlcG9TeW5jOgotKyAgICBzZXR0aW5nc19t b2NrID0gbW9ja2VyLk1hZ2ljTW9jaygpCi0rICAgIHNldHRpbmdzX21vY2sud2ViZGlyID0gIi9z cnYvd3d3L2NvYmJsZXIiCi0rICAgIHNldHRpbmdzX21vY2suc2VydmVyID0gImxvY2FsaG9zdCIK LSsgICAgc2V0dGluZ3NfbW9jay5odHRwX3BvcnQgPSA4MAotKyAgICBzZXR0aW5nc19tb2NrLnBy b3h5X3VybF9leHQgPSAiIgotKyAgICBzZXR0aW5nc19tb2NrLnl1bWRvd25sb2FkZXJfZmxhZ3Mg PSAiLS10ZXN0ZmxhZyIKLSsgICAgc2V0dGluZ3NfbW9jay5yZXBvc3luY19yc3luY19mbGFncyA9 ICItLXRlc3RmbGFnIgotKyAgICBzZXR0aW5nc19tb2NrLnJlcG9zeW5jX2ZsYWdzID0gIi0tdGVz dGZsYWciCi0rICAgIG1vY2tlci5wYXRjaC5vYmplY3QoY29iYmxlcl9hcGksICJzZXR0aW5ncyIs IHJldHVybl92YWx1ZT1zZXR0aW5nc19tb2NrKQotKyAgICB0ZXN0X3JlcG9zeW5jID0gcmVwb3N5 bmMuUmVwb1N5bmMoY29iYmxlcl9hcGksIHRyaWVzPTIsIG5vZmFpbD1GYWxzZSkKLSAgICAgcmV0 dXJuIHRlc3RfcmVwb3N5bmMKLSAKLSAKLS1AcHl0ZXN0LmZpeHR1cmUKLS1kZWYgcmVwbyhhcGkp OgotK0BweXRlc3QuZml4dHVyZShuYW1lPSJyZXBvIikKLStkZWYgZml4dHVyZV9yZXBvKGNvYmJs ZXJfYXBpOiBDb2JibGVyQVBJKSAtPiBSZXBvOgotICAgICAiIiIKLSAgICAgQ3JlYXRlcyBhIFJl cG9zaXRvcnkgInRlc3RyZXBvMCIgd2l0aCBhIGtlZXBfdXBkYXRlZD1UcnVlIGFuZCBtaXJyb3Jf bG9jYWxseT1UcnVlIi4KLSAgICAgIiIiCi0tICAgIHRlc3RfcmVwbyA9IFJlcG8oYXBpKQotKyAg ICB0ZXN0X3JlcG8gPSBSZXBvKGNvYmJsZXJfYXBpKQotICAgICB0ZXN0X3JlcG8ubmFtZSA9ICJ0 ZXN0cmVwbzAiCi0gICAgIHRlc3RfcmVwby5taXJyb3JfbG9jYWxseSA9IFRydWUKLSAgICAgdGVz dF9yZXBvLmtlZXBfdXBkYXRlZCA9IFRydWUKLS0gICAgYXBpLmFkZF9yZXBvKHRlc3RfcmVwbykK LSAgICAgcmV0dXJuIHRlc3RfcmVwbwotIAotIAotIEBweXRlc3QuZml4dHVyZQotLWRlZiByZW1v dmVfcmVwbyhhcGkpOgotK2RlZiByZW1vdmVfcmVwbyhjb2JibGVyX2FwaTogQ29iYmxlckFQSSk6 Ci0gICAgICIiIgotICAgICBSZW1vdmVzIHRoZSBSZXBvc2l0b3J5ICJ0ZXN0cmVwbzAiIHdoaWNo IGNhbiBiZSBjcmVhdGVkIHdpdGggcmVwby4KLSAgICAgIiIiCi0gICAgIHlpZWxkCi0tICAgIHRl c3RfcmVwbyA9IGFwaS5maW5kX3JlcG8oInRlc3RyZXBvMCIpCi0tICAgIGlmIHRlc3RfcmVwbyBp cyBub3QgTm9uZToKLS0gICAgICAgIGFwaS5yZW1vdmVfcmVwbyh0ZXN0X3JlcG8ubmFtZSkKLSsg ICAgdGVzdF9yZXBvID0gY29iYmxlcl9hcGkuZmluZF9yZXBvKCJ0ZXN0cmVwbzAiKQotKyAgICBp ZiB0ZXN0X3JlcG8gaXMgbm90IE5vbmUgYW5kIG5vdCBpc2luc3RhbmNlKHRlc3RfcmVwbywgbGlz dCk6Ci0rICAgICAgICBjb2JibGVyX2FwaS5yZW1vdmVfcmVwbyh0ZXN0X3JlcG8ubmFtZSkKLSAK LSAKLS1jbGFzcyBUZXN0UmVwb1N5bmM6Ci0tICAgIEBweXRlc3QubWFyay51c2VmaXh0dXJlcygi cmVtb3ZlX3JlcG8iKQotLSAgICBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoCi0tICAgICAgICAi aW5wdXRfbWlycm9yX3R5cGUsaW5wdXRfbWlycm9yLGV4cGVjdGVkX2V4Y2VwdGlvbiIsCi0tICAg ICAgICBbCi0tICAgICAgICAgICAgKAotLSAgICAgICAgICAgICAgICBlbnVtcy5NaXJyb3JUeXBl LkJBU0VVUkwsCi0tICAgICAgICAgICAgICAgICJodHRwOi8vZG93bmxvYWQuZmVkb3JhcHJvamVj dC5vcmcvcHViL2ZlZG9yYS9saW51eC9kZXZlbG9wbWVudC9yYXdoaWRlL0V2ZXJ5dGhpbmcveDg2 XzY0L29zIiwKLS0gICAgICAgICAgICAgICAgZG9lc19ub3RfcmFpc2UoKQotLSAgICAgICAgICAg ICksCi0tICAgICAgICAgICAgKAotLSAgICAgICAgICAgICAgICBlbnVtcy5NaXJyb3JUeXBlLk1J UlJPUkxJU1QsCi0tICAgICAgICAgICAgICAgICJodHRwczovL21pcnJvcnMuZmVkb3JhcHJvamVj dC5vcmcvbWlycm9ybGlzdD9yZXBvPXJhd2hpZGUmYXJjaD14ODZfNjQiLAotLSAgICAgICAgICAg ICAgICBkb2VzX25vdF9yYWlzZSgpCi0tICAgICAgICAgICAgKSwKLS0gICAgICAgICAgICAoCi0t ICAgICAgICAgICAgICAgIGVudW1zLk1pcnJvclR5cGUuTUVUQUxJTkssCi0tICAgICAgICAgICAg ICAgICJodHRwczovL21pcnJvcnMuZmVkb3JhcHJvamVjdC5vcmcvbWV0YWxpbms/cmVwbz1yYXdo aWRlJmFyY2g9eDg2XzY0IiwKLS0gICAgICAgICAgICAgICAgZG9lc19ub3RfcmFpc2UoKQotLSAg ICAgICAgICAgICksCi0tICAgICAgICAgICAgKAotLSAgICAgICAgICAgICAgICBlbnVtcy5NaXJy b3JUeXBlLkJBU0VVUkwsCi0tICAgICAgICAgICAgICAgICJodHRwOi8vd3d3LmV4YW1wbGUuY29t L3BhdGgvdG8vc29tZS9yZXBvIiwKLS0gICAgICAgICAgICAgICAgcHl0ZXN0LnJhaXNlcyhjZXhj ZXB0aW9ucy5DWCkKLS0gICAgICAgICAgICApLAotK0BweXRlc3QuZml4dHVyZShzY29wZT0iZnVu Y3Rpb24iLCBhdXRvdXNlPVRydWUpCi0rZGVmIHJlc2V0X2xpYnJlcG8oKToKLSsgICAgaGFzX2xp YnJlcG8gPSByZXBvc3luYy5IQVNfTElCUkVQTwotKyAgICB5aWVsZAotKyAgICByZXBvc3luYy5I QVNfTElCUkVQTyA9IGhhc19saWJyZXBvCi0rCi0rCi0rZGVmIHRlc3RfcmVwb193YWxrZXIobW9j a2VyOiAiTW9ja2VyRml4dHVyZSIsIHRtcF9wYXRoOiBQYXRoKToKLSsgICAgIyBBcnJhbmdlCi0r ICAgIGRlZiB0ZXN0X2Z1bihhcmc6IEFueSwgdG9wOiBBbnksIG5hbWVzOiBBbnkpOgotKyAgICAg ICAgcGFzcwotKwotKyAgICBzdWJkaXIxID0gdG1wX3BhdGggLyAic3ViMSIKLSsgICAgc3ViZGly MiA9IHRtcF9wYXRoIC8gInN1YjIiCi0rICAgIHN1YmRpcjEubWtkaXIoKQotKyAgICBzdWJkaXIy Lm1rZGlyKCkKLSsgICAgc3B5ID0gbW9ja2VyLk1vY2sod3JhcHM9dGVzdF9mdW4pCi0rCi0rICAg ICMgQWN0Ci0rICAgIHJlcG9zeW5jLnJlcG9fd2Fsa2VyKHRtcF9wYXRoLCBzcHksIE5vbmUpICAj IHR5cGU6IGlnbm9yZQotKwotKyAgICAjIEFzc2VydAotKyAgICBhc3NlcnQgc3B5Lm1vY2tfY2Fs bHMgPT0gWwotKyAgICAgICAgIyBzZXR0aW5ncy55YW1sIGlzIGhlcmUgYmVjYXVzZSBvZiBvdXIg YXV0b3VzZSBmaXh0dXJlIHRoYXQgd2UgdXNlIHRvIHJlc3RvcmUgdGhlIHNldHRpbmdzCi0rICAg ICAgICBtb2NrZXIuY2FsbChOb25lLCB0bXBfcGF0aCwgWyJzZXR0aW5ncy55YW1sIiwgInN1YjEi LCAic3ViMiJdKSwKLSsgICAgICAgIG1vY2tlci5jYWxsKE5vbmUsIHN0cihzdWJkaXIxKSwgW10p LAotKyAgICAgICAgbW9ja2VyLmNhbGwoTm9uZSwgc3RyKHN1YmRpcjIpLCBbXSksCi0rICAgIF0K LSsKLSsKLStAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoCi0rICAgICJpbnB1dF9oYXNfbGlicmVw byxpbnB1dF9wYXRoX2V4aXN0c19zaWRlX2VmZmVjdCxleHBlY3RlZF9leGNlcHRpb24sZXhwZWN0 ZWRfcmVzdWx0IiwKLSsgICAgWwotKyAgICAgICAgKFRydWUsIFtGYWxzZSwgVHJ1ZV0sIGRvZXNf bm90X3JhaXNlKCksIFsiL3Vzci9iaW4vZG5mIiwgInJlcG9zeW5jIl0pLAotKyAgICAgICAgKFRy dWUsIFtUcnVlLCBGYWxzZV0sIGRvZXNfbm90X3JhaXNlKCksIFsiL3Vzci9iaW4vcmVwb3N5bmMi XSksCi0rICAgICAgICAoVHJ1ZSwgW0ZhbHNlLCBGYWxzZV0sIHB5dGVzdC5yYWlzZXMoY2V4Y2Vw dGlvbnMuQ1gpLCAiIiksCi0rICAgICAgICAoRmFsc2UsIFtGYWxzZSwgVHJ1ZV0sIHB5dGVzdC5y YWlzZXMoY2V4Y2VwdGlvbnMuQ1gpLCAiIiksCi0rICAgIF0sCi0rKQotK2RlZiB0ZXN0X3JlcG9z eW5jX2NtZCgKLSsgICAgbW9ja2VyOiAiTW9ja2VyRml4dHVyZSIsCi0rICAgIHJlcG9zeW5jX29i amVjdDogcmVwb3N5bmMuUmVwb1N5bmMsCi0rICAgIGlucHV0X2hhc19saWJyZXBvOiBib29sLAot KyAgICBpbnB1dF9wYXRoX2V4aXN0c19zaWRlX2VmZmVjdDogTGlzdFtib29sXSwKLSsgICAgZXhw ZWN0ZWRfZXhjZXB0aW9uOiBBbnksCi0rICAgIGV4cGVjdGVkX3Jlc3VsdDogVW5pb25bTGlzdFtz dHJdLCBzdHJdLAotKyk6Ci0rICAgICMgQXJyYW5nZQotKyAgICBtb2NrZXIucGF0Y2goIm9zLnBh dGguZXhpc3RzIiwgc2lkZV9lZmZlY3Q9aW5wdXRfcGF0aF9leGlzdHNfc2lkZV9lZmZlY3QpCi0r ICAgIHJlcG9zeW5jLkhBU19MSUJSRVBPID0gaW5wdXRfaGFzX2xpYnJlcG8KLSsKLSsgICAgIyBB Y3QKLSsgICAgd2l0aCBleHBlY3RlZF9leGNlcHRpb246Ci0rICAgICAgICByZXN1bHQgPSByZXBv c3luY19vYmplY3QucmVwb3N5bmNfY21kKCkKLSsKLSsgICAgICAgICMgQXNzZXJ0Ci0rICAgICAg ICBhc3NlcnQgcmVzdWx0ID09IGV4cGVjdGVkX3Jlc3VsdAotKwotKwotK2RlZiB0ZXN0X3J1biht b2NrZXI6ICJNb2NrZXJGaXh0dXJlIiwgcmVwb3N5bmNfb2JqZWN0OiByZXBvc3luYy5SZXBvU3lu YywgcmVwbzogUmVwbyk6Ci0rICAgICMgQXJyYW5nZQotKyAgICBlbnZfdmFyczogRGljdFtzdHIs IEFueV0gPSB7fQotKyAgICBtb2NrZXIucGF0Y2goIm9zLm1ha2VkaXJzIikKLSsgICAgbW9ja2Vy LnBhdGNoKCJvcy5wYXRoLmlzZGlyIiwgcmV0dXJuX3ZhbHVlPVRydWUpCi0rICAgIG1vY2tlci5w YXRjaCgKLSsgICAgICAgICJvcy5wYXRoLmpvaW4iLAotKyAgICAgICAgc2lkZV9lZmZlY3Q9Wwot KyAgICAgICAgICAgICIvc3J2L3d3dy9jb2JibGVyL3JlcG9fbWlycm9yIiwKLSsgICAgICAgICAg ICAiL3Nydi93d3cvY29iYmxlci9yZXBvX21pcnJvci8lcyIgJSByZXBvLm5hbWUsCi0gICAgICAg ICBdLAotICAgICApCi0tICAgIGRlZiB0ZXN0X3JlcG9zeW5jX3l1bSgKLS0gICAgICAgIHNlbGYs Ci0tICAgICAgICBpbnB1dF9taXJyb3JfdHlwZSwKLS0gICAgICAgIGlucHV0X21pcnJvciwKLS0g ICAgICAgIGV4cGVjdGVkX2V4Y2VwdGlvbiwKLS0gICAgICAgIGFwaSwKLS0gICAgICAgIHJlcG8s Ci0tICAgICAgICByZXBvc3luYwotLSAgICApOgotLSAgICAgICAgIyBBcnJhbmdlCi0tICAgICAg ICB0ZXN0X3JlcG8gPSByZXBvCi0tICAgICAgICB0ZXN0X3JlcG8uYnJlZWQgPSBlbnVtcy5SZXBv QnJlZWRzLllVTQotLSAgICAgICAgdGVzdF9yZXBvLm1pcnJvciA9IGlucHV0X21pcnJvcgotLSAg ICAgICAgdGVzdF9yZXBvLm1pcnJvcl90eXBlID0gaW5wdXRfbWlycm9yX3R5cGUKLS0gICAgICAg IHRlc3RfcmVwby5ycG1fbGlzdCA9ICJmZWRvcmEtZ3BnLWtleXMiCi0tICAgICAgICB0ZXN0X3Nl dHRpbmdzID0gYXBpLnNldHRpbmdzKCkKLS0gICAgICAgIHJlcG9fcGF0aCA9IG9zLnBhdGguam9p bih0ZXN0X3NldHRpbmdzLndlYmRpciwgInJlcG9fbWlycm9yIiwgdGVzdF9yZXBvLm5hbWUpCi0t Ci0tICAgICAgICAjIEFjdCAmIEFzc2VydAotLSAgICAgICAgd2l0aCBleHBlY3RlZF9leGNlcHRp b246Ci0tICAgICAgICAgICAgcmVwb3N5bmMucnVuKHRlc3RfcmVwby5uYW1lKQotLSAgICAgICAg ICAgIHJlc3VsdCA9IG9zLnBhdGguZXhpc3RzKHJlcG9fcGF0aCkKLS0gICAgICAgICAgICBpZiB0 ZXN0X3JlcG8ucnBtX2xpc3QgYW5kIHRlc3RfcmVwby5ycG1fbGlzdCAhPSBbXToKLS0gICAgICAg ICAgICAgICAgZm9yIHJwbSBpbiB0ZXN0X3JlcG8ucnBtX2xpc3Q6Ci0tICAgICAgICAgICAgICAg ICAgICBhc3NlcnQgZ2xvYi5nbG9iKG9zLnBhdGguam9pbihyZXBvX3BhdGgsICIqKiIsIHJwbSkg KyAiKi5ycG0iLCByZWN1cnNpdmU9VHJ1ZSkgIT0gW10KLS0gICAgICAgICAgICBhc3NlcnQgcmVz dWx0Ci0tICAgICAgICAgICAgIyBUZXN0IHRoYXQgcmUtZG93bmxvYWRpbmcgdGhlIG1ldGFkYXRh IGluIC5vcmlnaW4vcmVwb2RhdGEgd2lsbCBub3QgcmVzdWx0IGluIGFuIGVycm9yCi0tICAgICAg ICAgICAgcmVwb3N5bmMucnVuKHRlc3RfcmVwby5uYW1lKQotLQotLSAgICBAcHl0ZXN0Lm1hcmsu dXNlZml4dHVyZXMoInJlbW92ZV9yZXBvIikKLS0gICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXpl KAotLSAgICAgICAgImlucHV0X21pcnJvcl90eXBlLGlucHV0X21pcnJvcixpbnB1dF9hcmNoLGlu cHV0X3JwbV9saXN0LGV4cGVjdGVkX2V4Y2VwdGlvbiIsCi0rICAgIG1vY2tlci5wYXRjaCgib3Mu ZW52aXJvbiIsIHJldHVybl92YWx1ZT1lbnZfdmFycykKLSsgICAgbW9ja2VyLnBhdGNoLm9iamVj dChyZXBvc3luY19vYmplY3QsICJyZXBvcyIsIHJldHVybl92YWx1ZT1bcmVwb10pCi0rICAgIG1v Y2tlci5wYXRjaC5vYmplY3QocmVwb3N5bmNfb2JqZWN0LCAic3luYyIpCi0rICAgIG1vY2tlci5w YXRjaC5vYmplY3QocmVwb3N5bmNfb2JqZWN0LCAidXBkYXRlX3Blcm1pc3Npb25zIikKLSsgICAg cmVwb3N5bmNfb2JqZWN0LnJlcG9zID0gW3JlcG9dICAjIHR5cGU6IGlnbm9yZQotKwotKyAgICAj IEFjdAotKyAgICByZXBvc3luY19vYmplY3QucnVuKCkKLSsKLSsgICAgIyBBc3NlcnQKLSsgICAg IyBUaGlzIGhhcyB0byBiZSAwIHNpbmNlIGFsbCBlbnYgdmFycyBuZWVkIHRvIGJlIHJlbW92ZWQg YWZ0ZXIgcmVwb3N5bmMgaGFzIHJ1bi4KLSsgICAgYXNzZXJ0IGxlbihlbnZfdmFycykgPT0gMAot KwotKwotK2RlZiB0ZXN0X2dlbl91cmxncmFiX3NzbF9vcHRzKHJlcG9zeW5jX29iamVjdDogcmVw b3N5bmMuUmVwb1N5bmMpOgotKyAgICAjIEFycmFuZ2UKLSsgICAgaW5wdXRfZGljdDogRGljdFtz dHIsIEFueV0gPSB7fQotKwotKyAgICAjIEFjdAotKyAgICByZXN1bHQgPSByZXBvc3luY19vYmpl Y3QuZ2VuX3VybGdyYWJfc3NsX29wdHMoaW5wdXRfZGljdCkKLSsKLSsgICAgIyBBc3NlcnQKLSsg ICAgYXNzZXJ0IGlzaW5zdGFuY2UocmVzdWx0LCB0dXBsZSkKLSsgICAgYXNzZXJ0IGxlbihyZXN1 bHQpID09IDIKLSsgICAgIyBUaGUgZGF0YSBvZiB0aGUgZmlyc3QgZWxlbWVudCBpcyBraW5kIG9m IGZsZXhpYmxlIGxldCdzIHNraXAgYXNzZXJ0aW5nIGl0IGZvciBub3cKLSsgICAgYXNzZXJ0IGlz aW5zdGFuY2UocmVzdWx0WzFdLCBib29sKQotKwotKwotK0BweXRlc3QubWFyay51c2VmaXh0dXJl cygicmVtb3ZlX3JlcG8iKQotK0BweXRlc3QubWFyay5wYXJhbWV0cml6ZSgKLSsgICAgImlucHV0 X21pcnJvcl90eXBlLGlucHV0X21pcnJvcixleHBlY3RlZF9leGNlcHRpb24iLAotKyAgICBbCi0r ICAgICAgICAoCi0rICAgICAgICAgICAgZW51bXMuTWlycm9yVHlwZS5CQVNFVVJMLAotKyAgICAg ICAgICAgICJodHRwOi8vZG93bmxvYWQuZmVkb3JhcHJvamVjdC5vcmcvcHViL2ZlZG9yYS9saW51 eC9kZXZlbG9wbWVudC9yYXdoaWRlL0V2ZXJ5dGhpbmcveDg2XzY0L29zIiwKLSsgICAgICAgICAg ICBkb2VzX25vdF9yYWlzZSgpLAotKyAgICAgICAgKSwKLSsgICAgICAgICgKLSsgICAgICAgICAg ICBlbnVtcy5NaXJyb3JUeXBlLk1JUlJPUkxJU1QsCi0rICAgICAgICAgICAgImh0dHBzOi8vbWly cm9ycy5mZWRvcmFwcm9qZWN0Lm9yZy9taXJyb3JsaXN0P3JlcG89cmF3aGlkZSZhcmNoPXg4Nl82 NCIsCi0rICAgICAgICAgICAgZG9lc19ub3RfcmFpc2UoKSwKLSsgICAgICAgICksCi0rICAgICAg ICAoCi0rICAgICAgICAgICAgZW51bXMuTWlycm9yVHlwZS5NRVRBTElOSywKLSsgICAgICAgICAg ICAiaHR0cHM6Ly9taXJyb3JzLmZlZG9yYXByb2plY3Qub3JnL21ldGFsaW5rP3JlcG89cmF3aGlk ZSZhcmNoPXg4Nl82NCIsCi0rICAgICAgICAgICAgZG9lc19ub3RfcmFpc2UoKSwKLSsgICAgICAg ICksCi0rICAgIF0sCi0rKQotK2RlZiB0ZXN0X3JlcG9zeW5jX3l1bSgKLSsgICAgbW9ja2VyOiAi TW9ja2VyRml4dHVyZSIsCi0rICAgIGlucHV0X21pcnJvcl90eXBlOiBlbnVtcy5NaXJyb3JUeXBl LAotKyAgICBpbnB1dF9taXJyb3I6IHN0ciwKLSsgICAgZXhwZWN0ZWRfZXhjZXB0aW9uOiBBbnks Ci0rICAgIGNvYmJsZXJfYXBpOiBDb2JibGVyQVBJLAotKyAgICByZXBvOiBSZXBvLAotKyAgICBy ZXBvc3luY19vYmplY3Q6IHJlcG9zeW5jLlJlcG9TeW5jLAotKyk6Ci0rICAgICMgQXJyYW5nZQot KyAgICB0ZXN0X3JlcG8gPSByZXBvCi0rICAgIHRlc3RfcmVwby5icmVlZCA9IGVudW1zLlJlcG9C cmVlZHMuWVVNCi0rICAgIHRlc3RfcmVwby5taXJyb3IgPSBpbnB1dF9taXJyb3IKLSsgICAgdGVz dF9yZXBvLm1pcnJvcl90eXBlID0gaW5wdXRfbWlycm9yX3R5cGUKLSsgICAgdGVzdF9yZXBvLnJw bV9saXN0ID0gImZlZG9yYS1ncGcta2V5cyIKLSsgICAgdGVzdF9zZXR0aW5ncyA9IGNvYmJsZXJf YXBpLnNldHRpbmdzKCkKLSsgICAgcmVwb19wYXRoID0gb3MucGF0aC5qb2luKHRlc3Rfc2V0dGlu Z3Mud2ViZGlyLCAicmVwb19taXJyb3IiLCB0ZXN0X3JlcG8ubmFtZSkKLSsgICAgbW9ja2VkX3N1 YnByb2Nlc3MgPSBtb2NrZXIucGF0Y2goCi0rICAgICAgICAiY29iYmxlci51dGlscy5zdWJwcm9j ZXNzX2NhbGwiLCBhdXRvc3BlYz1UcnVlLCByZXR1cm5fdmFsdWU9MAotKyAgICApCi0rICAgIG1v Y2tlci5wYXRjaC5vYmplY3QoCi0rICAgICAgICByZXBvc3luY19vYmplY3QsICJjcmVhdGVfbG9j YWxfZmlsZSIsIHJldHVybl92YWx1ZT0iL2NyZWF0ZS9sb2NhbC9maWxlIgotKyAgICApCi0rICAg IG1vY2tlci5wYXRjaC5vYmplY3QoCi0rICAgICAgICByZXBvc3luY19vYmplY3QsICJyZXBvc3lu Y19jbWQiLCByZXR1cm5fdmFsdWU9WyIvbXkvZmFrZS9kbmYiLCAicmVwb3N5bmMiXQotKyAgICAp Ci0rICAgIG1vY2tlci5wYXRjaC5vYmplY3QocmVwb3N5bmNfb2JqZWN0LCAicmZsYWdzIiwgcmV0 dXJuX3ZhbHVlPSItLWZha2Utci1mbGFrZyIpCi0rICAgIG1vY2tlci5wYXRjaC5vYmplY3QoCi0r ICAgICAgICByZXBvc3luY19vYmplY3QsCi0rICAgICAgICAiZ2VuX3VybGdyYWJfc3NsX29wdHMi LAotKyAgICAgICAgcmV0dXJuX3ZhbHVlPSgoIlRPRE8iLCAiVE9ETyIsICJUT0RPIiksIEZhbHNl KSwKLSsgICAgKQotKyAgICBtb2NrZXIucGF0Y2goIm9zLnBhdGguZXhpc3RzIiwgcmV0dXJuX3Zh bHVlPVRydWUpCi0rICAgIG1vY2tlci5wYXRjaCgic2h1dGlsLnJtdHJlZSIpCi0rICAgIG1vY2tl ci5wYXRjaCgib3MubWFrZWRpcnMiKQotKyAgICBtb2NrZWRfcmVwb193YWxrZXIgPSBtb2NrZXIu cGF0Y2goImNvYmJsZXIuYWN0aW9ucy5yZXBvc3luYy5yZXBvX3dhbGtlciIpCi0rICAgIGhhbmRs ZV9tb2NrID0gbW9ja2VyLk1hZ2ljTW9jaygpCi0rICAgIHJlc3VsdF9tb2NrID0gbW9ja2VyLk1h Z2ljTW9jaygpCi0rICAgIG1vY2tlci5wYXRjaCgibGlicmVwby5IYW5kbGUiLCByZXR1cm5fdmFs dWU9aGFuZGxlX21vY2spCi0rICAgIG1vY2tlci5wYXRjaCgibGlicmVwby5SZXN1bHQiLCByZXR1 cm5fdmFsdWU9cmVzdWx0X21vY2spCi0rCi0rICAgICMgQWN0ICYgQXNzZXJ0Ci0rICAgIHdpdGgg ZXhwZWN0ZWRfZXhjZXB0aW9uOgotKyAgICAgICAgcmVwb3N5bmNfb2JqZWN0Lnl1bV9zeW5jKHJl cG8pCi0rCi0rICAgICAgICBtb2NrZWRfc3VicHJvY2Vzcy5hc3NlcnRfY2FsbGVkX3dpdGgoCi0r ICAgICAgICAgICAgWwotKyAgICAgICAgICAgICAgICAiL3Vzci9iaW4vZG5mIiwKLSsgICAgICAg ICAgICAgICAgImRvd25sb2FkIiwKLSsgICAgICAgICAgICAgICAgIi0tdGVzdGZsYWciLAotKyAg ICAgICAgICAgICAgICAiLS1kaXNhYmxlcmVwbz0qIiwKLSsgICAgICAgICAgICAgICAgZiItLWVu YWJsZXJlcG89e3JlcG8ubmFtZX0iLAotKyAgICAgICAgICAgICAgICAiLWM9L2NyZWF0ZS9sb2Nh bC9maWxlIiwKLSsgICAgICAgICAgICAgICAgZiItLWRlc3RkaXI9e3JlcG9fcGF0aH0iLAotKyAg ICAgICAgICAgICAgICAiZmVkb3JhLWdwZy1rZXlzIiwKLSsgICAgICAgICAgICBdLAotKyAgICAg ICAgICAgIHNoZWxsPUZhbHNlLAotKyAgICAgICAgKQotKyAgICAgICAgaGFuZGxlX21vY2sucGVy Zm9ybS5hc3NlcnRfY2FsbGVkX3dpdGgocmVzdWx0X21vY2spCi0rICAgICAgICBhc3NlcnQgbW9j a2VkX3JlcG9fd2Fsa2VyLmNhbGxfY291bnQgPT0gMQotKwotKwotK0BweXRlc3QubWFyay51c2Vm aXh0dXJlcygicmVtb3ZlX3JlcG8iKQotK0BweXRlc3QubWFyay5wYXJhbWV0cml6ZSgKLSsgICAg ImlucHV0X21pcnJvcl90eXBlLGlucHV0X21pcnJvcixpbnB1dF9hcmNoLGlucHV0X3JwbV9saXN0 LGV4cGVjdGVkX2V4Y2VwdGlvbiIsCi0rICAgIFsKLSsgICAgICAgICgKLSsgICAgICAgICAgICBl bnVtcy5NaXJyb3JUeXBlLkJBU0VVUkwsCi0rICAgICAgICAgICAgImh0dHA6Ly9mdHAuZGViaWFu Lm9yZy9kZWJpYW4iLAotKyAgICAgICAgICAgIGVudW1zLlJlcG9BcmNocy5YODZfNjQsCi0rICAg ICAgICAgICAgIiIsCi0rICAgICAgICAgICAgZG9lc19ub3RfcmFpc2UoKSwKLSsgICAgICAgICks Ci0rICAgICAgICAoCi0rICAgICAgICAgICAgZW51bXMuTWlycm9yVHlwZS5NSVJST1JMSVNULAot KyAgICAgICAgICAgICJodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuIiwKLSsgICAgICAgICAg ICBlbnVtcy5SZXBvQXJjaHMuWDg2XzY0LAotKyAgICAgICAgICAgICIiLAotKyAgICAgICAgICAg IHB5dGVzdC5yYWlzZXMoY2V4Y2VwdGlvbnMuQ1gpLAotKyAgICAgICAgKSwKLSsgICAgICAgICgK LSsgICAgICAgICAgICBlbnVtcy5NaXJyb3JUeXBlLk1FVEFMSU5LLAotKyAgICAgICAgICAgICJo dHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuIiwKLSsgICAgICAgICAgICBlbnVtcy5SZXBvQXJj aHMuWDg2XzY0LAotKyAgICAgICAgICAgICIiLAotKyAgICAgICAgICAgIHB5dGVzdC5yYWlzZXMo Y2V4Y2VwdGlvbnMuQ1gpLAotKyAgICAgICAgKSwKLSsgICAgICAgICgKLSsgICAgICAgICAgICBl bnVtcy5NaXJyb3JUeXBlLkJBU0VVUkwsCi0rICAgICAgICAgICAgImh0dHA6Ly9mdHAuZGViaWFu Lm9yZy9kZWJpYW4iLAotKyAgICAgICAgICAgIGVudW1zLlJlcG9BcmNocy5OT05FLAotKyAgICAg ICAgICAgICIiLAotKyAgICAgICAgICAgIHB5dGVzdC5yYWlzZXMoY2V4Y2VwdGlvbnMuQ1gpLAot KyAgICAgICAgKSwKLSsgICAgICAgICgKLSsgICAgICAgICAgICBlbnVtcy5NaXJyb3JUeXBlLkJB U0VVUkwsCi0rICAgICAgICAgICAgImh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4iLAotKyAg ICAgICAgICAgIGVudW1zLlJlcG9BcmNocy5YODZfNjQsCi0rICAgICAgICAgICAgImRwa2ciLAot KyAgICAgICAgICAgIHB5dGVzdC5yYWlzZXMoY2V4Y2VwdGlvbnMuQ1gpLAotKyAgICAgICAgKSwK LSsgICAgXSwKLSspCi0rZGVmIHRlc3RfcmVwb3N5bmNfYXB0KAotKyAgICBtb2NrZXI6ICJNb2Nr ZXJGaXh0dXJlIiwKLSsgICAgaW5wdXRfbWlycm9yX3R5cGU6IGVudW1zLk1pcnJvclR5cGUsCi0r ICAgIGlucHV0X21pcnJvcjogc3RyLAotKyAgICBpbnB1dF9hcmNoOiBlbnVtcy5SZXBvQXJjaHMs Ci0rICAgIGlucHV0X3JwbV9saXN0OiBzdHIsCi0rICAgIGV4cGVjdGVkX2V4Y2VwdGlvbjogQW55 LAotKyAgICBjb2JibGVyX2FwaTogQ29iYmxlckFQSSwKLSsgICAgcmVwbzogUmVwbywKLSsgICAg cmVwb3N5bmNfb2JqZWN0OiByZXBvc3luYy5SZXBvU3luYywKLSspOgotKyAgICAjIEFycmFuZ2UK LSsgICAgdGVzdF9yZXBvID0gcmVwbwotKyAgICB0ZXN0X3JlcG8uYnJlZWQgPSBlbnVtcy5SZXBv QnJlZWRzLkFQVAotKyAgICB0ZXN0X3JlcG8uYXJjaCA9IGlucHV0X2FyY2gKLSsgICAgdGVzdF9y ZXBvLmFwdF9jb21wb25lbnRzID0gIm1haW4iCi0rICAgIHRlc3RfcmVwby5hcHRfZGlzdHMgPSAi c3RhYmxlIgotKyAgICB0ZXN0X3JlcG8ubWlycm9yID0gaW5wdXRfbWlycm9yCi0rICAgIHRlc3Rf cmVwby5taXJyb3JfdHlwZSA9IGlucHV0X21pcnJvcl90eXBlCi0rICAgIHRlc3RfcmVwby5ycG1f bGlzdCA9IGlucHV0X3JwbV9saXN0Ci0rICAgIHRlc3Rfc2V0dGluZ3MgPSBjb2JibGVyX2FwaS5z ZXR0aW5ncygpCi0rICAgIHJlcG9fcGF0aCA9IG9zLnBhdGguam9pbih0ZXN0X3NldHRpbmdzLndl YmRpciwgInJlcG9fbWlycm9yIiwgdGVzdF9yZXBvLm5hbWUpCi0rICAgIG1vY2tlZF9zdWJwcm9j ZXNzID0gbW9ja2VyLnBhdGNoKAotKyAgICAgICAgImNvYmJsZXIudXRpbHMuc3VicHJvY2Vzc19j YWxsIiwgYXV0b3NwZWM9VHJ1ZSwgcmV0dXJuX3ZhbHVlPTAKLSsgICAgKQotKyAgICBtb2NrZXIu cGF0Y2goIm9zLnBhdGguZXhpc3RzIiwgcmV0dXJuX3ZhbHVlPVRydWUpCi0rCi0rICAgICMgQWN0 Ci0rICAgIHdpdGggZXhwZWN0ZWRfZXhjZXB0aW9uOgotKyAgICAgICAgcmVwb3N5bmNfb2JqZWN0 LmFwdF9zeW5jKHJlcG8pCi0rCi0rICAgICAgICAjIEFzc2VydAotKyAgICAgICAgbW9ja2VkX3N1 YnByb2Nlc3MuYXNzZXJ0X2NhbGxlZF93aXRoKAotKyAgICAgICAgICAgIFsKLSsgICAgICAgICAg ICAgICAgIi91c3IvYmluL2RlYm1pcnJvciIsCi0rICAgICAgICAgICAgICAgICItLW5vY2xlYW51 cCIsCi0rICAgICAgICAgICAgICAgICItLW1ldGhvZD1odHRwIiwKLSsgICAgICAgICAgICAgICAg Ii0taG9zdD1mdHAuZGViaWFuLm9yZyIsCi0rICAgICAgICAgICAgICAgICItLXJvb3Q9L2RlYmlh biIsCi0rICAgICAgICAgICAgICAgICItLWRpc3Q9c3RhYmxlIiwKLSsgICAgICAgICAgICAgICAg Ii0tc2VjdGlvbj1tYWluIiwKLSsgICAgICAgICAgICAgICAgcmVwb19wYXRoLAotKyAgICAgICAg ICAgICAgICAiLS1ub3NvdXJjZSIsCi0rICAgICAgICAgICAgICAgICItYT1hbWQ2NCIsCi0rICAg ICAgICAgICAgXSwKLSsgICAgICAgICAgICBzaGVsbD1GYWxzZSwKLSsgICAgICAgICkKLSsKLSsK LStAcHl0ZXN0Lm1hcmsudXNlZml4dHVyZXMoInJlbW92ZV9yZXBvIikKLStAcHl0ZXN0Lm1hcmsu cGFyYW1ldHJpemUoCi0rICAgICJpbnB1dF9taXJyb3JfdHlwZSxpbnB1dF9taXJyb3IsZXhwZWN0 ZWRfZXhjZXB0aW9uIiwKLSsgICAgWwotKyAgICAgICAgKAotKyAgICAgICAgICAgIGVudW1zLk1p cnJvclR5cGUuQkFTRVVSTCwKLSsgICAgICAgICAgICAiaHR0cDovL2Rvd25sb2FkLmZlZG9yYXBy b2plY3Qub3JnL3B1Yi9mZWRvcmEvbGludXgvZGV2ZWxvcG1lbnQvcmF3aGlkZS9FdmVyeXRoaW5n L3g4Nl82NC9vcy9QYWNrYWdlcy8yIiwKLSsgICAgICAgICAgICBkb2VzX25vdF9yYWlzZSgpLAot KyAgICAgICAgKSwKLSsgICAgICAgICgKLSsgICAgICAgICAgICBlbnVtcy5NaXJyb3JUeXBlLk1J UlJPUkxJU1QsCi0rICAgICAgICAgICAgImh0dHA6Ly9kb3dubG9hZC5mZWRvcmFwcm9qZWN0Lm9y Zy9wdWIvZmVkb3JhL2xpbnV4L2RldmVsb3BtZW50L3Jhd2hpZGUvRXZlcnl0aGluZy94ODZfNjQv b3MvUGFja2FnZXMvMiIsCi0rICAgICAgICAgICAgcHl0ZXN0LnJhaXNlcyhjZXhjZXB0aW9ucy5D WCksCi0rICAgICAgICApLAotKyAgICAgICAgKAotKyAgICAgICAgICAgIGVudW1zLk1pcnJvclR5 cGUuTUVUQUxJTkssCi0rICAgICAgICAgICAgImh0dHA6Ly9kb3dubG9hZC5mZWRvcmFwcm9qZWN0 Lm9yZy9wdWIvZmVkb3JhL2xpbnV4L2RldmVsb3BtZW50L3Jhd2hpZGUvRXZlcnl0aGluZy94ODZf NjQvb3MvUGFja2FnZXMvMiIsCi0rICAgICAgICAgICAgcHl0ZXN0LnJhaXNlcyhjZXhjZXB0aW9u cy5DWCksCi0rICAgICAgICApLAotKyAgICBdLAotKykKLStkZWYgdGVzdF9yZXBvc3luY193Z2V0 KAotKyAgICBtb2NrZXI6ICJNb2NrZXJGaXh0dXJlIiwKLSsgICAgaW5wdXRfbWlycm9yX3R5cGU6 IGVudW1zLk1pcnJvclR5cGUsCi0rICAgIGlucHV0X21pcnJvcjogc3RyLAotKyAgICBleHBlY3Rl ZF9leGNlcHRpb246IEFueSwKLSsgICAgY29iYmxlcl9hcGk6IENvYmJsZXJBUEksCi0rICAgIHJl cG86IFJlcG8sCi0rICAgIHJlcG9zeW5jX29iamVjdDogcmVwb3N5bmMuUmVwb1N5bmMsCi0rKToK LSsgICAgIyBBcnJhbmdlCi0rICAgIHRlc3RfcmVwbyA9IHJlcG8KLSsgICAgdGVzdF9yZXBvLmJy ZWVkID0gZW51bXMuUmVwb0JyZWVkcy5XR0VUCi0rICAgIHRlc3RfcmVwby5taXJyb3IgPSBpbnB1 dF9taXJyb3IKLSsgICAgdGVzdF9yZXBvLm1pcnJvcl90eXBlID0gaW5wdXRfbWlycm9yX3R5cGUK LSsgICAgcmVwb19wYXRoID0gb3MucGF0aC5qb2luKAotKyAgICAgICAgcmVwb3N5bmNfb2JqZWN0 LnNldHRpbmdzLndlYmRpciwgInJlcG9fbWlycm9yIiwgdGVzdF9yZXBvLm5hbWUKLSsgICAgKQot KyAgICBtb2NrZWRfc3VicHJvY2VzcyA9IG1vY2tlci5wYXRjaCgKLSsgICAgICAgICJjb2JibGVy LnV0aWxzLnN1YnByb2Nlc3NfY2FsbCIsIGF1dG9zcGVjPVRydWUsIHJldHVybl92YWx1ZT0wCi0r ICAgICkKLSsgICAgbW9ja2VyLnBhdGNoKCJjb2JibGVyLmFjdGlvbnMucmVwb3N5bmMucmVwb193 YWxrZXIiKQotKyAgICBtb2NrZXIucGF0Y2gub2JqZWN0KHJlcG9zeW5jX29iamVjdCwgImNyZWF0 ZV9sb2NhbF9maWxlIikKLSsKLSsgICAgIyBBY3QKLSsgICAgd2l0aCBleHBlY3RlZF9leGNlcHRp b246Ci0rICAgICAgICByZXBvc3luY19vYmplY3Qud2dldF9zeW5jKHRlc3RfcmVwbykKLSsKLSsg ICAgICAgICMgQXNzZXJ0Ci0rICAgICAgICBtb2NrZWRfc3VicHJvY2Vzcy5hc3NlcnRfY2FsbGVk X3dpdGgoCi0rICAgICAgICAgICAgWwotKyAgICAgICAgICAgICAgICAid2dldCIsCi0rICAgICAg ICAgICAgICAgICItTiIsCi0rICAgICAgICAgICAgICAgICItbnAiLAotKyAgICAgICAgICAgICAg ICAiLXIiLAotKyAgICAgICAgICAgICAgICAiLWwiLAotKyAgICAgICAgICAgICAgICAiaW5mIiwK LSsgICAgICAgICAgICAgICAgIi1uZCIsCi0rICAgICAgICAgICAgICAgICItUCIsCi0rICAgICAg ICAgICAgICAgIHJlcG9fcGF0aCwKLSsgICAgICAgICAgICAgICAgaW5wdXRfbWlycm9yLAotKyAg ICAgICAgICAgIF0sCi0rICAgICAgICAgICAgc2hlbGw9RmFsc2UsCi0rICAgICAgICApCi0rCi0r Ci0rZGVmIHRlc3RfcmVwb3N5bmNfcmhuKAotKyAgICBtb2NrZXI6ICJNb2NrZXJGaXh0dXJlIiwg cmVwb3N5bmNfb2JqZWN0OiByZXBvc3luYy5SZXBvU3luYywgcmVwbzogUmVwbwotKyk6Ci0rICAg ICMgQXJyYW5nZQotKyAgICByZXBvLm1pcnJvciA9ICJyaG46Ly8lcyIgJSByZXBvLm5hbWUKLSsg ICAgbW9ja2VkX3N1YnByb2Nlc3MgPSBtb2NrZXIucGF0Y2goCi0rICAgICAgICAiY29iYmxlci51 dGlscy5zdWJwcm9jZXNzX2NhbGwiLCBhdXRvc3BlYz1UcnVlLCByZXR1cm5fdmFsdWU9MAotKyAg ICApCi0rICAgIG1vY2tlci5wYXRjaCgib3MucGF0aC5pc2RpciIsIHJldHVybl92YWx1ZT1UcnVl KQotKyAgICBtb2NrZXIucGF0Y2goIm9zLm1ha2VkaXJzIikKLSsgICAgbW9ja2VyLnBhdGNoKCJj b2JibGVyLmFjdGlvbnMucmVwb3N5bmMucmVwb193YWxrZXIiKQotKyAgICBtb2NrZXIucGF0Y2gu b2JqZWN0KHJlcG9zeW5jX29iamVjdCwgImNyZWF0ZV9sb2NhbF9maWxlIikKLSsgICAgbW9ja2Vy LnBhdGNoLm9iamVjdCgKLSsgICAgICAgIHJlcG9zeW5jX29iamVjdCwgInJlcG9zeW5jX2NtZCIs IHJldHVybl92YWx1ZT1bIi9teS9mYWtlL3JlcG9zeW5jIl0KLSsgICAgKQotKwotKyAgICAjIEFj dAotKyAgICByZXBvc3luY19vYmplY3QucmhuX3N5bmMocmVwbykKLSsKLSsgICAgIyBBc3NlcnQK LSsgICAgIyBUT0RPOiBDaGVjayB0aGlzIG1vcmUgYW5kIGRvY3VtZW50IGhvdyBpdHMgYWN0dWFs bHkgd29ya2luZwotKyAgICBtb2NrZWRfc3VicHJvY2Vzcy5hc3NlcnRfY2FsbGVkX3dpdGgoCi0g ICAgICAgICBbCi0tICAgICAgICAgICAgKAotLSAgICAgICAgICAgICAgICBlbnVtcy5NaXJyb3JU eXBlLkJBU0VVUkwsCi0tICAgICAgICAgICAgICAgICJodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGVi aWFuIiwKLS0gICAgICAgICAgICAgICAgZW51bXMuUmVwb0FyY2hzLlg4Nl82NCwKLS0gICAgICAg ICAgICAgICAgIiIsCi0tICAgICAgICAgICAgICAgIGRvZXNfbm90X3JhaXNlKCkKLS0gICAgICAg ICAgICApLAotLSAgICAgICAgICAgICgKLS0gICAgICAgICAgICAgICAgZW51bXMuTWlycm9yVHlw ZS5NSVJST1JMSVNULAotLSAgICAgICAgICAgICAgICAiaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2Rl YmlhbiIsCi0tICAgICAgICAgICAgICAgIGVudW1zLlJlcG9BcmNocy5YODZfNjQsCi0tICAgICAg ICAgICAgICAgICIiLAotLSAgICAgICAgICAgICAgICBweXRlc3QucmFpc2VzKGNleGNlcHRpb25z LkNYKQotLSAgICAgICAgICAgICksCi0tICAgICAgICAgICAgKAotLSAgICAgICAgICAgICAgICBl bnVtcy5NaXJyb3JUeXBlLk1FVEFMSU5LLAotLSAgICAgICAgICAgICAgICAiaHR0cDovL2Z0cC5k ZWJpYW4ub3JnL2RlYmlhbiIsCi0tICAgICAgICAgICAgICAgIGVudW1zLlJlcG9BcmNocy5YODZf NjQsCi0tICAgICAgICAgICAgICAgICIiLAotLSAgICAgICAgICAgICAgICBweXRlc3QucmFpc2Vz KGNleGNlcHRpb25zLkNYKQotLSAgICAgICAgICAgICksCi0tICAgICAgICAgICAgKAotLSAgICAg ICAgICAgICAgICBlbnVtcy5NaXJyb3JUeXBlLkJBU0VVUkwsCi0tICAgICAgICAgICAgICAgICJo dHRwOi8vd3d3LmV4YW1wbGUuY29tL3BhdGgvdG8vc29tZS9yZXBvIiwKLS0gICAgICAgICAgICAg ICAgZW51bXMuUmVwb0FyY2hzLlg4Nl82NCwKLS0gICAgICAgICAgICAgICAgIiIsCi0tICAgICAg ICAgICAgICAgIHB5dGVzdC5yYWlzZXMoY2V4Y2VwdGlvbnMuQ1gpCi0tICAgICAgICAgICAgKSwK LS0gICAgICAgICAgICAoCi0tICAgICAgICAgICAgICAgIGVudW1zLk1pcnJvclR5cGUuQkFTRVVS TCwKLS0gICAgICAgICAgICAgICAgImh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4iLAotLSAg ICAgICAgICAgICAgICBlbnVtcy5SZXBvQXJjaHMuTk9ORSwKLS0gICAgICAgICAgICAgICAgIiIs Ci0tICAgICAgICAgICAgICAgIHB5dGVzdC5yYWlzZXMoY2V4Y2VwdGlvbnMuQ1gpCi0tICAgICAg ICAgICAgKSwKLS0gICAgICAgICAgICAoCi0tICAgICAgICAgICAgICAgIGVudW1zLk1pcnJvclR5 cGUuQkFTRVVSTCwKLS0gICAgICAgICAgICAgICAgImh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJp YW4iLAotLSAgICAgICAgICAgICAgICBlbnVtcy5SZXBvQXJjaHMuWDg2XzY0LAotLSAgICAgICAg ICAgICAgICAiZHBrZyIsCi0tICAgICAgICAgICAgICAgIHB5dGVzdC5yYWlzZXMoY2V4Y2VwdGlv bnMuQ1gpCi0tICAgICAgICAgICAgKSwKLSsgICAgICAgICAgICAiL215L2Zha2UvcmVwb3N5bmMi LAotKyAgICAgICAgICAgICItLXRlc3RmbGFnIiwKLSsgICAgICAgICAgICAiLS1yZXBvPXRlc3Ry ZXBvMCIsCi0rICAgICAgICAgICAgIi0tZG93bmxvYWQtcGF0aD0vc3J2L3d3dy9jb2JibGVyL3Jl cG9fbWlycm9yIiwKLSAgICAgICAgIF0sCi0rICAgICAgICBzaGVsbD1GYWxzZSwKLSAgICAgKQot LSAgICBkZWYgdGVzdF9yZXBvc3luY19hcHQoCi0tICAgICAgICBzZWxmLAotLSAgICAgICAgaW5w dXRfbWlycm9yX3R5cGUsCi0tICAgICAgICBpbnB1dF9taXJyb3IsCi0tICAgICAgICBpbnB1dF9h cmNoLAotLSAgICAgICAgaW5wdXRfcnBtX2xpc3QsCi0tICAgICAgICBleHBlY3RlZF9leGNlcHRp b24sCi0tICAgICAgICBhcGksCi0tICAgICAgICByZXBvLAotLSAgICAgICAgcmVwb3N5bmMKLS0g ICAgKToKLS0gICAgICAgICMgQXJyYW5nZQotLSAgICAgICAgdGVzdF9yZXBvID0gcmVwbwotLSAg ICAgICAgdGVzdF9yZXBvLmJyZWVkID0gZW51bXMuUmVwb0JyZWVkcy5BUFQKLS0gICAgICAgIHRl c3RfcmVwby5hcmNoID0gaW5wdXRfYXJjaAotLSAgICAgICAgdGVzdF9yZXBvLmFwdF9jb21wb25l bnRzID0gIm1haW4iCi0tICAgICAgICB0ZXN0X3JlcG8uYXB0X2Rpc3RzID0gInN0YWJsZSIKLS0g ICAgICAgIHRlc3RfcmVwby5taXJyb3IgPSBpbnB1dF9taXJyb3IKLS0gICAgICAgIHRlc3RfcmVw by5taXJyb3JfdHlwZSA9IGlucHV0X21pcnJvcl90eXBlCi0tICAgICAgICB0ZXN0X3JlcG8ucnBt X2xpc3QgPSBpbnB1dF9ycG1fbGlzdAotLSAgICAgICAgdGVzdF9yZXBvLnl1bW9wdHMgPSAiLS1l eGNsdWRlPS4qIC0taW5jbHVkZT1kcGtnLiogLS1uby1jaGVjay1ncGcgLS1yc3luYy1leHRyYT1u b25lIgotLSAgICAgICAgdGVzdF9zZXR0aW5ncyA9IGFwaS5zZXR0aW5ncygpCi0tICAgICAgICBy ZXBvX3BhdGggPSBvcy5wYXRoLmpvaW4odGVzdF9zZXR0aW5ncy53ZWJkaXIsICJyZXBvX21pcnJv ciIsIHRlc3RfcmVwby5uYW1lKQotLQotLSAgICAgICAgIyBBY3QgJiBBc3NlcnQKLS0gICAgICAg IHdpdGggZXhwZWN0ZWRfZXhjZXB0aW9uOgotLSAgICAgICAgICAgIHJlcG9zeW5jLnJ1bih0ZXN0 X3JlcG8ubmFtZSkKLS0gICAgICAgICAgICByZXN1bHQgPSBvcy5wYXRoLmV4aXN0cyhyZXBvX3Bh dGgpCi0tICAgICAgICAgICAgZm9yIHJwbSBpbiBbImRwa2ciXToKLS0gICAgICAgICAgICAgICAg YXNzZXJ0IGdsb2IuZ2xvYihvcy5wYXRoLmpvaW4ocmVwb19wYXRoLCAiKioiLCAiZHBrZyIpICsg IioiLCByZWN1cnNpdmU9VHJ1ZSkgIT0gW10KLS0gICAgICAgICAgICBhc3NlcnQgcmVzdWx0Ci0t Ci0tICAgIEBweXRlc3QubWFyay5za2lwKCJUbyBmbGFreSBhbmQgdGh1cyBub3QgcmVsaWFibGUu IE5lZWRzIHRvIGJlIG1vY2tlZCB0byBiZSBvZiB1c2UuIikKLS0gICAgQHB5dGVzdC5tYXJrLnVz ZWZpeHR1cmVzKCJyZW1vdmVfcmVwbyIpCi0tICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgK LS0gICAgICAgICJpbnB1dF9taXJyb3JfdHlwZSxpbnB1dF9taXJyb3IsZXhwZWN0ZWRfZXhjZXB0 aW9uIiwKLSsKLSsKLStkZWYgdGVzdF9yZXBvc3luY19yc3luYygKLSsgICAgbW9ja2VyOiAiTW9j a2VyRml4dHVyZSIsIHJlcG9zeW5jX29iamVjdDogcmVwb3N5bmMuUmVwb1N5bmMsIHJlcG86IFJl cG8KLSspOgotKyAgICAjIEFycmFuZ2UKLSsgICAgbW9ja2VkX3N1YnByb2Nlc3MgPSBtb2NrZXIu cGF0Y2goImNvYmJsZXIudXRpbHMuc3VicHJvY2Vzc19jYWxsIiwgcmV0dXJuX3ZhbHVlPTApCi0r ICAgIG1vY2tlci5wYXRjaCgiY29iYmxlci5hY3Rpb25zLnJlcG9zeW5jLnJlcG9fd2Fsa2VyIikK LSsgICAgbW9ja2VyLnBhdGNoLm9iamVjdChyZXBvc3luY19vYmplY3QsICJjcmVhdGVfbG9jYWxf ZmlsZSIpCi0rICAgIHJlcG9fcGF0aCA9IG9zLnBhdGguam9pbihyZXBvc3luY19vYmplY3Quc2V0 dGluZ3Mud2ViZGlyLCAicmVwb19taXJyb3IiLCByZXBvLm5hbWUpCi0rCi0rICAgICMgQWN0Ci0r ICAgIHJlcG9zeW5jX29iamVjdC5yc3luY19zeW5jKHJlcG8pCi0rCi0rICAgICMgQXNzZXJ0Ci0r ICAgIG1vY2tlZF9zdWJwcm9jZXNzLmFzc2VydF9jYWxsZWRfd2l0aCgKLSAgICAgICAgIFsKLS0g ICAgICAgICAgICAoCi0tICAgICAgICAgICAgICAgIGVudW1zLk1pcnJvclR5cGUuQkFTRVVSTCwK LS0gICAgICAgICAgICAgICAgImh0dHA6Ly9kb3dubG9hZC5mZWRvcmFwcm9qZWN0Lm9yZy9wdWIv ZmVkb3JhL2xpbnV4L2RldmVsb3BtZW50L3Jhd2hpZGUvRXZlcnl0aGluZy94ODZfNjQvb3MvUGFj a2FnZXMvMiIsCi0tICAgICAgICAgICAgICAgIGRvZXNfbm90X3JhaXNlKCkKLS0gICAgICAgICAg ICApLAotLSAgICAgICAgICAgICgKLS0gICAgICAgICAgICAgICAgZW51bXMuTWlycm9yVHlwZS5N SVJST1JMSVNULAotLSAgICAgICAgICAgICAgICAiaHR0cDovL2Rvd25sb2FkLmZlZG9yYXByb2pl Y3Qub3JnL3B1Yi9mZWRvcmEvbGludXgvZGV2ZWxvcG1lbnQvcmF3aGlkZS9FdmVyeXRoaW5nL3g4 Nl82NC9vcy9QYWNrYWdlcy8yIiwKLS0gICAgICAgICAgICAgICAgcHl0ZXN0LnJhaXNlcyhjZXhj ZXB0aW9ucy5DWCkKLS0gICAgICAgICAgICApLAotLSAgICAgICAgICAgICgKLS0gICAgICAgICAg ICAgICAgZW51bXMuTWlycm9yVHlwZS5NRVRBTElOSywKLS0gICAgICAgICAgICAgICAgImh0dHA6 Ly9kb3dubG9hZC5mZWRvcmFwcm9qZWN0Lm9yZy9wdWIvZmVkb3JhL2xpbnV4L2RldmVsb3BtZW50 L3Jhd2hpZGUvRXZlcnl0aGluZy94ODZfNjQvb3MvUGFja2FnZXMvMiIsCi0tICAgICAgICAgICAg ICAgIHB5dGVzdC5yYWlzZXMoY2V4Y2VwdGlvbnMuQ1gpCi0tICAgICAgICAgICAgKSwKLS0gICAg ICAgICAgICAoCi0tICAgICAgICAgICAgICAgIGVudW1zLk1pcnJvclR5cGUuQkFTRVVSTCwKLS0g ICAgICAgICAgICAgICAgImh0dHA6Ly93d3cuZXhhbXBsZS5jb20vcGF0aC90by9zb21lL3JlcG8i LAotLSAgICAgICAgICAgICAgICBweXRlc3QucmFpc2VzKGNleGNlcHRpb25zLkNYKQotLSAgICAg ICAgICAgICksCi0rICAgICAgICAgICAgInJzeW5jIiwKLSsgICAgICAgICAgICAiLS10ZXN0Zmxh ZyIsCi0rICAgICAgICAgICAgIi0tZGVsZXRlLWFmdGVyIiwKLSsgICAgICAgICAgICAiLWUgc3No IiwKLSsgICAgICAgICAgICAiLS1kZWxldGUiLAotKyAgICAgICAgICAgICItLWV4Y2x1ZGUtZnJv bT0vZXRjL2NvYmJsZXIvcnN5bmMuZXhjbHVkZSIsCi0rICAgICAgICAgICAgIi8iLAotKyAgICAg ICAgICAgIHJlcG9fcGF0aCwKLSAgICAgICAgIF0sCi0rICAgICAgICBzaGVsbD1GYWxzZSwKLSAg ICAgKQotLSAgICBkZWYgdGVzdF9yZXBvc3luY193Z2V0KAotLSAgICAgICAgc2VsZiwKLS0gICAg ICAgIGlucHV0X21pcnJvcl90eXBlLAotLSAgICAgICAgaW5wdXRfbWlycm9yLAotLSAgICAgICAg ZXhwZWN0ZWRfZXhjZXB0aW9uLAotLSAgICAgICAgYXBpLAotLSAgICAgICAgcmVwbywKLS0gICAg ICAgIHJlcG9zeW5jCi0tICAgICk6Ci0tICAgICAgICAjIEFycmFuZ2UKLS0gICAgICAgIHRlc3Rf cmVwbyA9IHJlcG8KLS0gICAgICAgIHRlc3RfcmVwby5icmVlZCA9IGVudW1zLlJlcG9CcmVlZHMu V0dFVAotLSAgICAgICAgdGVzdF9yZXBvLm1pcnJvciA9IGlucHV0X21pcnJvcgotLSAgICAgICAg dGVzdF9yZXBvLm1pcnJvcl90eXBlID0gaW5wdXRfbWlycm9yX3R5cGUKLS0gICAgICAgIHRlc3Rf c2V0dGluZ3MgPSBhcGkuc2V0dGluZ3MoKQotLSAgICAgICAgcmVwb19wYXRoID0gb3MucGF0aC5q b2luKHRlc3Rfc2V0dGluZ3Mud2ViZGlyLCAicmVwb19taXJyb3IiLCB0ZXN0X3JlcG8ubmFtZSkK LS0KLS0gICAgICAgICMgQWN0ICYgQXNzZXJ0Ci0tICAgICAgICB3aXRoIGV4cGVjdGVkX2V4Y2Vw dGlvbjoKLS0gICAgICAgICAgICByZXBvc3luYy5ydW4odGVzdF9yZXBvLm5hbWUpCi0tICAgICAg ICAgICAgcmVzdWx0ID0gb3MucGF0aC5leGlzdHMocmVwb19wYXRoKQotLSAgICAgICAgICAgIGZv ciBycG0gaW4gWyJycG0iXToKLS0gICAgICAgICAgICAgICAgYXNzZXJ0IGdsb2IuZ2xvYihvcy5w YXRoLmpvaW4ocmVwb19wYXRoLCAiKioiLCAiMiIpICsgIioiLCByZWN1cnNpdmU9VHJ1ZSkgIT0g W10KLS0gICAgICAgICAgICBhc3NlcnQgcmVzdWx0Ci0tCi0tCi0tQHB5dGVzdC5tYXJrLnNraXAo IlRPRE8iKQotLWRlZiB0ZXN0X3JlcG9zeW5jX3JobigpOgotKwotKwotK2RlZiB0ZXN0X2NyZWF0 ZXJlcG9fd2Fsa2VyKAotKyAgICBtb2NrZXI6ICJNb2NrZXJGaXh0dXJlIiwgcmVwb3N5bmNfb2Jq ZWN0OiByZXBvc3luYy5SZXBvU3luYywgcmVwbzogUmVwbwotKyk6Ci0gICAgICMgQXJyYW5nZQot KyAgICBpbnB1dF9yZXBvID0gcmVwbwotKyAgICBpbnB1dF9yZXBvLmJyZWVkID0gZW51bXMuUmVw b0JyZWVkcy5SU1lOQwotKyAgICBpbnB1dF9kaXJuYW1lID0gIiIKLSsgICAgaW5wdXRfZm5hbWVz ID0gW10KLSsgICAgZXhwZWN0ZWRfY2FsbCA9IFsiY3JlYXRlcmVwbyIsICItLXRlc3RmbGFncyIs IGYiJ3tpbnB1dF9kaXJuYW1lfSciXQotKyAgICBtb2NrZWRfc3VicHJvY2VzcyA9IG1vY2tlci5w YXRjaCgKLSsgICAgICAgICJjb2JibGVyLnV0aWxzLnN1YnByb2Nlc3NfY2FsbCIsIGF1dG9zcGVj PVRydWUsIHJldHVybl92YWx1ZT0wCi0rICAgICkKLSsgICAgbW9ja2VyLnBhdGNoKAotKyAgICAg ICAgImNvYmJsZXIudXRpbHMuYmxlbmRlciIsCi0rICAgICAgICBhdXRvc3BlYz1UcnVlLAotKyAg ICAgICAgcmV0dXJuX3ZhbHVlPXsiY3JlYXRlcmVwb19mbGFncyI6ICItLXRlc3RmbGFncyJ9LAot KyAgICApCi0rICAgIG1vY2tlci5wYXRjaCgiY29iYmxlci51dGlscy5yZW1vdmVfeXVtX29sZGRh dGEiKQotKyAgICBtb2NrZXIucGF0Y2goImNvYmJsZXIudXRpbHMuc3VicHJvY2Vzc19nZXQiLCBy ZXR1cm5fdmFsdWU9IjUiKQotKyAgICBtb2NrZXIucGF0Y2goImNvYmJsZXIudXRpbHMuZ2V0X2Zh bWlseSIsIHJldHVybl92YWx1ZT0iVE9ETyIpCi0rICAgIG1vY2tlci5wYXRjaCgib3MucGF0aC5l eGlzdHMiLCByZXR1cm5fdmFsdWU9VHJ1ZSkKLSsgICAgbW9ja2VyLnBhdGNoKCJvcy5wYXRoLmlz ZmlsZSIsIHJldHVybl92YWx1ZT1UcnVlKQotKyAgICBtb2NrZXIucGF0Y2gub2JqZWN0KHJlcG9z eW5jX29iamVjdCwgImxpYnJlcG9fZ2V0aW5mbyIsIHJldHVybl92YWx1ZT17fSkKLSsKLSAgICAg IyBBY3QKLSsgICAgcmVwb3N5bmNfb2JqZWN0LmNyZWF0ZXJlcG9fd2Fsa2VyKGlucHV0X3JlcG8s IGlucHV0X2Rpcm5hbWUsIGlucHV0X2ZuYW1lcykKLSsKLSAgICAgIyBBc3NlcnQKLS0gICAgYXNz ZXJ0IEZhbHNlCi0rICAgICMgVE9ETzogSW1wcm92ZSBjb3ZlcmFnZSBvdmVyIGRpZmZlcmVudCBj YXNlcyBpbiBtZXRob2QKLSsgICAgbW9ja2VkX3N1YnByb2Nlc3MuYXNzZXJ0X2NhbGxlZF93aXRo KGV4cGVjdGVkX2NhbGwsIHNoZWxsPUZhbHNlKQotIAotIAotLUBweXRlc3QubWFyay5za2lwKCJU T0RPIikKLS1kZWYgdGVzdF9yZXBvc3luY19yc3luYygpOgotK0BweXRlc3QubWFyay5wYXJhbWV0 cml6ZSgKLSsgICAgImlucHV0X3JlcG90eXBlLGV4cGVjdGVkX2V4Y2VwdGlvbiIsCi0rICAgIFsK LSsgICAgICAgIChlbnVtcy5SZXBvQnJlZWRzLllVTSwgZG9lc19ub3RfcmFpc2UoKSksCi0rICAg ICAgICAoZW51bXMuUmVwb0JyZWVkcy5SSE4sIGRvZXNfbm90X3JhaXNlKCkpLAotKyAgICAgICAg KGVudW1zLlJlcG9CcmVlZHMuQVBULCBkb2VzX25vdF9yYWlzZSgpKSwKLSsgICAgICAgIChlbnVt cy5SZXBvQnJlZWRzLlJTWU5DLCBkb2VzX25vdF9yYWlzZSgpKSwKLSsgICAgICAgIChlbnVtcy5S ZXBvQnJlZWRzLldHRVQsIGRvZXNfbm90X3JhaXNlKCkpLAotKyAgICAgICAgKGVudW1zLlJlcG9C cmVlZHMuTk9ORSwgcHl0ZXN0LnJhaXNlcyhjZXhjZXB0aW9ucy5DWCkpLAotKyAgICBdLAotKykK LStkZWYgdGVzdF9zeW5jKAotKyAgICBtb2NrZXI6ICJNb2NrZXJGaXh0dXJlIiwKLSsgICAgY29i Ymxlcl9hcGk6IENvYmJsZXJBUEksCi0rICAgIHJlcG9zeW5jX29iamVjdDogcmVwb3N5bmMuUmVw b1N5bmMsCi0rICAgIGlucHV0X3JlcG90eXBlOiBlbnVtcy5SZXBvQnJlZWRzLAotKyAgICBleHBl Y3RlZF9leGNlcHRpb246IEFueSwKLSspOgotICAgICAjIEFycmFuZ2UKLSsgICAgdGVzdF9yZXBv ID0gUmVwbyhjb2JibGVyX2FwaSkKLSsgICAgdGVzdF9yZXBvLmJyZWVkID0gaW5wdXRfcmVwb3R5 cGUKLSsgICAgcmhuX3N5bmNfbW9jayA9IG1vY2tlci5wYXRjaC5vYmplY3QocmVwb3N5bmNfb2Jq ZWN0LCAicmhuX3N5bmMiKQotKyAgICB5dW1fc3luY19tb2NrID0gbW9ja2VyLnBhdGNoLm9iamVj dChyZXBvc3luY19vYmplY3QsICJ5dW1fc3luYyIpCi0rICAgIGFwdF9zeW5jX21vY2sgPSBtb2Nr ZXIucGF0Y2gub2JqZWN0KHJlcG9zeW5jX29iamVjdCwgImFwdF9zeW5jIikKLSsgICAgcnN5bmNf c3luY19tb2NrID0gbW9ja2VyLnBhdGNoLm9iamVjdChyZXBvc3luY19vYmplY3QsICJyc3luY19z eW5jIikKLSsgICAgd2dldF9zeW5jX21vY2sgPSBtb2NrZXIucGF0Y2gub2JqZWN0KHJlcG9zeW5j X29iamVjdCwgIndnZXRfc3luYyIpCi0rCi0gICAgICMgQWN0Ci0rICAgIHdpdGggZXhwZWN0ZWRf ZXhjZXB0aW9uOgotKyAgICAgICAgcmVwb3N5bmNfb2JqZWN0LnN5bmModGVzdF9yZXBvKQotKwot KyAgICAgICAgIyBBc3NlcnQKLSsgICAgICAgIGNhbGxfY291bnQgPSBzdW0oCi0rICAgICAgICAg ICAgKAotKyAgICAgICAgICAgICAgICByaG5fc3luY19tb2NrLmNhbGxfY291bnQsCi0rICAgICAg ICAgICAgICAgIHl1bV9zeW5jX21vY2suY2FsbF9jb3VudCwKLSsgICAgICAgICAgICAgICAgYXB0 X3N5bmNfbW9jay5jYWxsX2NvdW50LAotKyAgICAgICAgICAgICAgICByc3luY19zeW5jX21vY2su Y2FsbF9jb3VudCwKLSsgICAgICAgICAgICAgICAgd2dldF9zeW5jX21vY2suY2FsbF9jb3VudCwK LSsgICAgICAgICAgICApCi0rICAgICAgICApCi0rICAgICAgICBhc3NlcnQgY2FsbF9jb3VudCA9 PSAxCi0rCi0rCi0rZGVmIHRlc3RfbGlicmVwb19nZXRpbmZvKAotKyAgICBtb2NrZXI6ICJNb2Nr ZXJGaXh0dXJlIiwgcmVwb3N5bmNfb2JqZWN0OiByZXBvc3luYy5SZXBvU3luYywgdG1wX3BhdGg6 IFBhdGgKLSspOgotKyAgICAjIEFycmFuZ2UKLSsgICAgaGFuZGxlX21vY2sgPSBtb2NrZXIuTWFn aWNNb2NrKCkKLSsgICAgcmVzdWx0X21vY2sgPSBtb2NrZXIuTWFnaWNNb2NrKCkKLSsgICAgbW9j a2VyLnBhdGNoKCJsaWJyZXBvLkhhbmRsZSIsIHJldHVybl92YWx1ZT1oYW5kbGVfbW9jaykKLSsg ICAgbW9ja2VyLnBhdGNoKCJsaWJyZXBvLlJlc3VsdCIsIHJldHVybl92YWx1ZT1yZXN1bHRfbW9j aykKLSsKLSsgICAgIyBBY3QKLSsgICAgcmVwb3N5bmNfb2JqZWN0LmxpYnJlcG9fZ2V0aW5mbyhz dHIodG1wX3BhdGgpKQotKwotKyAgICAjIEFzc2VydAotKyAgICBoYW5kbGVfbW9jay5wZXJmb3Jt LmFzc2VydF9jYWxsZWRfd2l0aChyZXN1bHRfbW9jaykKLSsgICAgcmVzdWx0X21vY2suZ2V0aW5m by5hc3NlcnRfY2FsbGVkKCkKLSsKLSsKLStkZWYgdGVzdF9jcmVhdGVfbG9jYWxfZmlsZSgKLSsg ICAgbW9ja2VyOiAiTW9ja2VyRml4dHVyZSIsIHJlcG9zeW5jX29iamVjdDogcmVwb3N5bmMuUmVw b1N5bmMsIHJlcG86IFJlcG8KLSspOgotKyAgICAjIEFycmFuZ2UKLSsgICAgbW9ja2VyLnBhdGNo KCJjb2JibGVyLnV0aWxzLmZpbGVzeXN0ZW1faGVscGVycy5ta2RpciIsIGF1dG9zcGVjPVRydWUp Ci0rICAgIG1vY2tfb3BlbiA9IG1vY2tlci5wYXRjaCgiYnVpbHRpbnMub3BlbiIsIG1vY2tlci5t b2NrX29wZW4oKSkKLSsgICAgaW5wdXRfZGVzdF9wYXRoID0gIiIKLSsgICAgaW5wdXRfcmVwbyA9 IHJlcG8KLSsgICAgaW5wdXRfb3V0cHV0ID0gVHJ1ZQotKwotKyAgICAjIEFjdAotKyAgICByZXBv c3luY19vYmplY3QuY3JlYXRlX2xvY2FsX2ZpbGUoaW5wdXRfZGVzdF9wYXRoLCBpbnB1dF9yZXBv LCBvdXRwdXQ9aW5wdXRfb3V0cHV0KQotKwotKyAgICAjIEFzc2VydAotKyAgICAjIFRPRE86IEV4 dGVuZCBjaGVja3MKLSsgICAgYXNzZXJ0IG1vY2tfb3Blbi5jYWxsX2NvdW50ID09IDEKLSsgICAg YXNzZXJ0IG1vY2tfb3Blbi5tb2NrX2NhbGxzWzBdID09IG1vY2tlci5jYWxsKCJjb25maWcucmVw byIsICJ3IiwgZW5jb2Rpbmc9IlVURi04IikKLSsgICAgbW9ja19vcGVuX2hhbmRsZSA9IG1vY2tf b3BlbigpCi0rICAgIGFzc2VydCBtb2NrX29wZW5faGFuZGxlLndyaXRlLm1vY2tfY2FsbHNbMF0g PT0gbW9ja2VyLmNhbGwoIlt0ZXN0cmVwbzBdXG4iKQotKyAgICBhc3NlcnQgbW9ja19vcGVuX2hh bmRsZS53cml0ZS5tb2NrX2NhbGxzWzFdID09IG1vY2tlci5jYWxsKCJuYW1lPXRlc3RyZXBvMFxu IikKLSsKLSsKLStkZWYgdGVzdF91cGRhdGVfcGVybWlzc2lvbnMoCi0rICAgIG1vY2tlcjogIk1v Y2tlckZpeHR1cmUiLCByZXBvc3luY19vYmplY3Q6IHJlcG9zeW5jLlJlcG9TeW5jCi0rKToKLSsg ICAgIyBBcnJhbmdlCi0rICAgIG1vY2tlZF9zdWJwcm9jZXNzID0gbW9ja2VyLnBhdGNoKAotKyAg ICAgICAgImNvYmJsZXIudXRpbHMuc3VicHJvY2Vzc19jYWxsIiwgYXV0b3NwZWM9VHJ1ZSwgcmV0 dXJuX3ZhbHVlPTAKLSsgICAgKQotKyAgICBwYXRoX3RvX3VwZGF0ZSA9ICIvbXkvZmFrZS9wYXRo IgotKyAgICBleHBlY3RlZF9jYWxscyA9IFsKLSsgICAgICAgIG1vY2tlci5jYWxsKFsiY2hvd24i LCAiLVIiLCAicm9vdDp3d3ciLCBwYXRoX3RvX3VwZGF0ZV0sIHNoZWxsPUZhbHNlKSwKLSsgICAg ICAgIG1vY2tlci5jYWxsKFsiY2htb2QiLCAiLVIiLCAiNzU1IiwgcGF0aF90b191cGRhdGVdLCBz aGVsbD1GYWxzZSksCi0rICAgIF0KLSsKLSsgICAgIyBBY3QKLSsgICAgcmVwb3N5bmNfb2JqZWN0 LnVwZGF0ZV9wZXJtaXNzaW9ucyhwYXRoX3RvX3VwZGF0ZSkKLSsKLSAgICAgIyBBc3NlcnQKLS0g ICAgYXNzZXJ0IEZhbHNlCi0rICAgIGFzc2VydCBtb2NrZWRfc3VicHJvY2Vzcy5tb2NrX2NhbGxz ID09IGV4cGVjdGVkX2NhbGxzCgpkaWZmIC0tZ2l0IGEvY29iYmxlci5zcGVjIGIvY29iYmxlci5z cGVjCmluZGV4IDY5ZDdkNDAuLjVmY2FkM2IgMTAwNjQ0Ci0tLSBhL2NvYmJsZXIuc3BlYworKysg Yi9jb2JibGVyLnNwZWMKQEAgLTgsNyArOCw3IEBACiAlYmNvbmQgY2hlY2sgMAogCiBOYW1lOiAg ICAgICAgICAgY29iYmxlcgotVmVyc2lvbjogICAgICAgIDMuMy43CitWZXJzaW9uOiAgICAgICAg My4zLjkKIFJlbGVhc2U6ICAgICAgICAlYXV0b3JlbGVhc2UKIFN1bW1hcnk6ICAgICAgICBCb290 IHNlcnZlciBjb25maWd1cmF0b3IKIFVSTDogICAgICAgICAgICBodHRwczovL2NvYmJsZXIuZ2l0 aHViLmlvLwpAQCAtMjIsMTYgKzIyLDEwIEBAIFNvdXJjZTQ6ICAgICAgICAle25hbWV9LmZjCiAK ICMgRG8gbm90IHJ1biBjb3ZlcmFnZSB0ZXN0cwogUGF0Y2gwOiAgICAgICAgIGNvYmJsZXItbm9j b3YucGF0Y2gKLSMgUHl0aG9uIDMuMTMgc3VwcG9ydCAoYmFja3BvcnQgb2YgaHR0cHM6Ly9naXRo dWIuY29tL2NvYmJsZXIvY29iYmxlci9wdWxsLzM4NDIpCi0jIGh0dHBzOi8vYnVnemlsbGEucmVk aGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MjMzNTYyMAotUGF0Y2gxOiAgICAgICAgIGNvYmJsZXIt cHl0aG9uMy4xMy5wYXRjaAogIyBVcHN0cmVhbSBmaXggZm9yIHJlcG9zeW5jIC0tdHJpZXMKICMg aHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0yNDAxNjA1CiAjIEJh Y2twb3J0IG9mIGh0dHBzOi8vZ2l0aHViLmNvbS9jb2JibGVyL2NvYmJsZXIvcHVsbC8zMzc4CiBQ YXRjaDI6ICAgICAgICAgY29iYmxlci1yZXBvc3luYy5wYXRjaAotIyBVc2Ugc3lzdGVtY3RsIGlz LWFjdGl2ZSB0byBwcmV2ZW50IHNvbWUgU0VMaW51eCBkZW5pYWxzIGNoZWNraW5nIHNlcnZpY2Ug c3RhdHVzCi0jIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MjM1 Mzg5OAotUGF0Y2gzOiAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9jb2JibGVyL2NvYmJsZXIv cHVsbC8zOTQ1LnBhdGNoCiBCdWlsZEFyY2g6ICAgICAgbm9hcmNoCiAKIEJ1aWxkUmVxdWlyZXM6 IG1ha2UKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCBiYTI1ODVhLi44ODA2 ZjY2IDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEgKzEgQEAKLVNIQTUx MiAoY29iYmxlci0zLjMuNy50YXIuZ3opID0gZGY2NTcwZGQ3YzZjYmU1MDQ2NDYyNDI2N2RmMWJi ZWNiYjI5ZTYwNTEzYmJhMzEyYTZjNzI2NTAyZDQ2NzA2NzBmMzExM2YyNGI2YjdlNDY1ZDBiMzM1 M2MwNzIxZTZmZTM3MjVkYmM0NTY5YjRmNjI0ZWMyYjRhMjk2ODJkMWEKK1NIQTUxMiAoY29iYmxl ci0zLjMuOS50YXIuZ3opID0gYmYyYjU5NGI1NWU3ZDY0YzY4MzE5Y2ZkOWQ5MDg0NjllMmYxMDBk YTFmMjkyMWVjYTE4YWRiNGQxMjliY2ExZjBkOWRiOTkxYjc5OGU2NzFhYWFjMWY4NDBmYWYwYzk0 NzNmNmZjNGEyZWZkMTliZWRlOGNlMmNkZWUxNWMxYTEK