From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Ji=C5=99=C3=AD=20=C5=BDupka?= Subject: [AUTOTEST][KVM] [PATCH 2/2] Add ability to call autotest client tests from kvm tests like a subtest. Date: Fri, 29 Apr 2011 15:59:21 +0200 Message-ID: <1304085561-4774-3-git-send-email-jzupka@redhat.com> References: <1304085561-4774-1-git-send-email-jzupka@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 To: kvm-autotest@redhat.com, kvm@vger.kernel.org, autotest@test.kernel.org, lmr@redhat.com, ldoktor@redhat.com, akong@redhat.com Return-path: In-Reply-To: <1304085561-4774-1-git-send-email-jzupka@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: autotest-bounces@test.kernel.org Errors-To: autotest-bounces@test.kernel.org List-Id: kvm.vger.kernel.org RXhhbXBsZSBydW4gYXV0b3Rlc3QvY2xpZW50L25ldHBlcmYyIGxpa2UgYSBzZXJ2ZXIuCgp0ZXN0 LnJ1bnN1YnRlc3QoIm5ldHBlcmYyIiwgdGFnPSJzZXJ2ZXIiLCBzZXJ2ZXJfaXA9aG9zdF9pcCwK ICAgICAgICAgICAgICAgIGNsaWVudF9pcD1ndWVzdF9pcCwgcm9sZT0nc2VydmVyJykKCkNsaWVu dCBwYXJ0IGlzIGNhbGxlZCBpbiBwYXJhbGVsIHRocmVhZCBvbiB2aXJ0dWFsIG1hY2hpbmUuCgpn dWVzdCA9IGt2bV91dGlscy5UaHJlYWQoa3ZtX3Rlc3RfdXRpbHMucnVuX2F1dG90ZXN0LAogICAg ICAgICAgICAgICAgICAgICAgICAgKHZtLCBzZXNzaW9uLCBjb250cm9sX3BhdGgsIGNvbnRyb2xf YXJncywKICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0LCBvdXRwdXRkaXIsIHBhcmFt cykpCmd1ZXN0LnN0YXJ0KCkKCk9uIHRoZSBndWVzdCBpcyByZXF1aXJlZCB0byBoYXZlIGluc3Rh bGxlZCB0aGUgcHJvZ3JhbSBtcHN0YXQgZm9yIG5ldHBlcnQyIHRlc3QuCk5ldHBlcmYyIHRlc3Qg d2lsbCBiZSBjaGFuZ2VkIG9yIHdpbGwgYmUgY3JlYXRlZCBpbiBuZXcgdmVyc2lvbi4KClRoaXMg cGF0Y2ggYXJlIG5lY2Vzc2FyeSB0byBhdm9pZCBvZiBjcmVhdGlvbiBkb3VibGUgdmVyc2lvbiBv ZiB0ZXN0LgpuZXRwZXJmLCBtdWx0aWNhc3QsIGV0Yy4uCgpNYWtlIHBhdGNoIG9mIHRlc3RzX2Jh c2UuY2ZzLnNhbXBsZSBpbiBjb3JyZWN0IHdheS4KClNpZ25lZC1vZmYtYnk6IEppxZnDrSDFvXVw a2EgPGp6dXBrYUByZWRoYXQuY29tPgotLS0KIGNsaWVudC9iaW4vY2xpZW50X2xvZ2dpbmdfY29u ZmlnLnB5ICAgIHwgICAgNSArLQogY2xpZW50L2Jpbi9uZXQvbmV0X3V0aWxzLnB5ICAgICAgICAg ICAgfCAgIDE2ICsrKystCiBjbGllbnQvY29tbW9uX2xpYi9iYXNlX2pvYi5weSAgICAgICAgICB8 ICAgIDIgKwogY2xpZW50L2NvbW1vbl9saWIvbG9nZ2luZ19jb25maWcucHkgICAgfCAgICAzICst CiBjbGllbnQvY29tbW9uX2xpYi90ZXN0LnB5ICAgICAgICAgICAgICB8ICAgMjEgKysrKysrLQog Y2xpZW50L3Rlc3RzL2t2bS90ZXN0cy9zdWJ0ZXN0LnB5ICAgICAgfCAgIDQzICsrKysrKysrKysr KwogY2xpZW50L3Rlc3RzL2t2bS90ZXN0c19iYXNlLmNmZy5zYW1wbGUgfCAgICA4ICsrCiBjbGll bnQvdGVzdHMvbmV0cGVyZjIvbmV0cGVyZjIucHkgICAgICB8ICAgIDMgKy0KIGNsaWVudC90b29s cy9odG1sX3JlcG9ydC5weSAgICAgICAgICAgIHwgIDExNSArKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLQogY2xpZW50L3ZpcnQvdmlydF90ZXN0X3V0aWxzLnB5ICAgICAgICAgfCAgIDE5 ICsrKystLQogMTAgZmlsZXMgY2hhbmdlZCwgMTc0IGluc2VydGlvbnMoKyksIDYxIGRlbGV0aW9u cygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGNsaWVudC90ZXN0cy9rdm0vdGVzdHMvc3VidGVzdC5w eQoKZGlmZiAtLWdpdCBhL2NsaWVudC9iaW4vY2xpZW50X2xvZ2dpbmdfY29uZmlnLnB5IGIvY2xp ZW50L2Jpbi9jbGllbnRfbG9nZ2luZ19jb25maWcucHkKaW5kZXggYTU5YjA3OC4uMjhjMDA3ZCAx MDA2NDQKLS0tIGEvY2xpZW50L2Jpbi9jbGllbnRfbG9nZ2luZ19jb25maWcucHkKKysrIGIvY2xp ZW50L2Jpbi9jbGllbnRfbG9nZ2luZ19jb25maWcucHkKQEAgLTEyLDggKzEyLDkgQEAgY2xhc3Mg Q2xpZW50TG9nZ2luZ0NvbmZpZyhsb2dnaW5nX2NvbmZpZy5Mb2dnaW5nQ29uZmlnKToKIAogCiAg ICAgZGVmIGNvbmZpZ3VyZV9sb2dnaW5nKHNlbGYsIHJlc3VsdHNfZGlyPU5vbmUsIHZlcmJvc2U9 RmFsc2UpOgotICAgICAgICBzdXBlcihDbGllbnRMb2dnaW5nQ29uZmlnLCBzZWxmKS5jb25maWd1 cmVfbG9nZ2luZyh1c2VfY29uc29sZT1UcnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJib3NlPXZlcmJvc2UpCisgICAgICAg IHN1cGVyKENsaWVudExvZ2dpbmdDb25maWcsIHNlbGYpLmNvbmZpZ3VyZV9sb2dnaW5nKAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VfY29uc29s ZT1zZWxmLnVzZV9jb25zb2xlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2ZXJib3NlPXZlcmJvc2UpCiAKICAgICAgICAgaWYgcmVzdWx0c19kaXI6 CiAgICAgICAgICAgICBsb2dfZGlyID0gb3MucGF0aC5qb2luKHJlc3VsdHNfZGlyLCAnZGVidWcn KQpkaWZmIC0tZ2l0IGEvY2xpZW50L2Jpbi9uZXQvbmV0X3V0aWxzLnB5IGIvY2xpZW50L2Jpbi9u ZXQvbmV0X3V0aWxzLnB5CmluZGV4IDg2ODk1OGMuLmFjOWI0OTQgMTAwNjQ0Ci0tLSBhL2NsaWVu dC9iaW4vbmV0L25ldF91dGlscy5weQorKysgYi9jbGllbnQvYmluL25ldC9uZXRfdXRpbHMucHkK QEAgLTUsNyArNSw3IEBAIFRoaXMgbGlicmFyeSBpcyB0byByZWxlYXNlIGluIHRoZSBwdWJsaWMg cmVwb3NpdG9yeS4KIAogaW1wb3J0IGNvbW1hbmRzLCBvcywgcmUsIHNvY2tldCwgc3lzLCB0aW1l LCBzdHJ1Y3QKIGZyb20gYXV0b3Rlc3RfbGliLmNsaWVudC5jb21tb25fbGliIGltcG9ydCBlcnJv cgotaW1wb3J0IHV0aWxzCitmcm9tIGF1dG90ZXN0X2xpYi5jbGllbnQuY29tbW9uX2xpYiBpbXBv cnQgdXRpbHMKIAogVElNRU9VVCA9IDEwICMgVXNlZCBmb3Igc29ja2V0IHRpbWVvdXQgYW5kIGJh cnJpZXIgdGltZW91dAogCkBAIC0yNyw2ICsyNywyMCBAQCBjbGFzcyBuZXR3b3JrX3V0aWxzKG9i amVjdCk6CiAgICAgICAgIHV0aWxzLnN5c3RlbSgnL3NiaW4vaWZjb25maWcgLWEnKQogCiAKKyAg ICBkZWYgZ2V0X2NvcmVzcG9uZF9sb2NhbF9pcChzZWxmLCBxdWVyeV9pcCwgbmV0bWFzaz0iMjQi KToKKyAgICAgICAgIiIiCisgICAgICAgIEdldCBpcCBhZGRyZXNzIGluIGxvY2FsIHN5c3RlbSB3 aGljaCBjYW4gY29tbXVuaWNhdGUgd2l0aCBxdWVydF9pcC4KKworICAgICAgICBAcGFyYW0gcXVl cnlfaXA6IElQIG9mIGNsaWVudCB3aGljaCB3YW50IGNvbW11bmljYXRlIHdpdGggYXV0b3Rlc3Qg bWFjaGluZS4KKyAgICAgICAgQHJldHVybjogSVAgYWRkcmVzcyB3aGljaCBjYW4gY29tbXVuaWNh dGUgd2l0aCBxdWVyeV9pcAorICAgICAgICAiIiIKKyAgICAgICAgaXAgPSB1dGlscy5zeXN0ZW1f b3V0cHV0KCJpcCBhZGRyIHNob3cgdG8gJXMvJXMiICUgKHF1ZXJ5X2lwLCBuZXRtYXNrKSkKKyAg ICAgICAgaXAgPSByZS5zZWFyY2gociJpbmV0IChbMC05Ll0qKS8iLGlwKQorICAgICAgICBpZiBp cCBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIGlwCisgICAgICAgIHJldHVybiBpcC5ncm91 cCgxKQorCisKICAgICBkZWYgZGlzYWJsZV9pcF9sb2NhbF9sb29wYmFjayhzZWxmLCBpZ25vcmVf c3RhdHVzPUZhbHNlKToKICAgICAgICAgdXRpbHMuc3lzdGVtKCJlY2hvICcxJyA+IC9wcm9jL3N5 cy9uZXQvaXB2NC9yb3V0ZS9ub19sb2NhbF9sb29wYmFjayIsCiAgICAgICAgICAgICAgICAgICAg ICBpZ25vcmVfc3RhdHVzPWlnbm9yZV9zdGF0dXMpCmRpZmYgLS1naXQgYS9jbGllbnQvY29tbW9u X2xpYi9iYXNlX2pvYi5weSBiL2NsaWVudC9jb21tb25fbGliL2Jhc2Vfam9iLnB5CmluZGV4IDg0 M2MwZTguLmVlZjllZmMgMTAwNjQ0Ci0tLSBhL2NsaWVudC9jb21tb25fbGliL2Jhc2Vfam9iLnB5 CisrKyBiL2NsaWVudC9jb21tb25fbGliL2Jhc2Vfam9iLnB5CkBAIC0xMTE3LDYgKzExMTcsNyBA QCBjbGFzcyBiYXNlX2pvYihvYmplY3QpOgogICAgICAgICB0YWdfcGFydHMgPSBbXQogCiAgICAg ICAgICMgYnVpbGQgdXAgdGhlIHBhcnRzIG9mIHRoZSB0YWcgdXNlZCBmb3IgdGhlIHRlc3QgbmFt ZQorICAgICAgICBtYXN0ZXJfdGVzdHBhdGggPSBkYXJncy5nZXQoJ21hc3Rlcl90ZXN0cGF0aCcs ICIiKQogICAgICAgICBiYXNlX3RhZyA9IGRhcmdzLnBvcCgndGFnJywgTm9uZSkKICAgICAgICAg aWYgYmFzZV90YWc6CiAgICAgICAgICAgICB0YWdfcGFydHMuYXBwZW5kKHN0cihiYXNlX3RhZykp CkBAIC0xMTMyLDYgKzExMzMsNyBAQCBjbGFzcyBiYXNlX2pvYihvYmplY3QpOgogICAgICAgICBp ZiBzdWJkaXJfdGFnOgogICAgICAgICAgICAgdGFnX3BhcnRzLmFwcGVuZChzdWJkaXJfdGFnKQog ICAgICAgICBzdWJkaXIgPSAnLicuam9pbihbdGVzdG5hbWVdICsgdGFnX3BhcnRzKQorICAgICAg ICBzdWJkaXIgPSBvcy5wYXRoLmpvaW4obWFzdGVyX3Rlc3RwYXRoLCBzdWJkaXIpCiAgICAgICAg IHRhZyA9ICcuJy5qb2luKHRhZ19wYXJ0cykKIAogICAgICAgICByZXR1cm4gZnVsbF90ZXN0bmFt ZSwgc3ViZGlyLCB0YWcKZGlmZiAtLWdpdCBhL2NsaWVudC9jb21tb25fbGliL2xvZ2dpbmdfY29u ZmlnLnB5IGIvY2xpZW50L2NvbW1vbl9saWIvbG9nZ2luZ19jb25maWcucHkKaW5kZXggYWZlNzU0 YS4uOTExNGQ3YSAxMDA2NDQKLS0tIGEvY2xpZW50L2NvbW1vbl9saWIvbG9nZ2luZ19jb25maWcu cHkKKysrIGIvY2xpZW50L2NvbW1vbl9saWIvbG9nZ2luZ19jb25maWcucHkKQEAgLTMyLDkgKzMy LDEwIEBAIGNsYXNzIExvZ2dpbmdDb25maWcob2JqZWN0KToKICAgICAgICAgZm10PSclKGFzY3Rp bWUpcyAlKGxldmVsbmFtZSktNS41c3wgJShtZXNzYWdlKXMnLAogICAgICAgICBkYXRlZm10PScl SDolTTolUycpCiAKLSAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgZGVmIF9faW5pdF9fKHNl bGYsIHVzZV9jb25zb2xlPVRydWUpOgogICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dpbmcuZ2V0 TG9nZ2VyKCkKICAgICAgICAgc2VsZi5nbG9iYWxfbGV2ZWwgPSBsb2dnaW5nLkRFQlVHCisgICAg ICAgIHNlbGYudXNlX2NvbnNvbGUgPSB1c2VfY29uc29sZQogCiAKICAgICBAY2xhc3NtZXRob2QK ZGlmZiAtLWdpdCBhL2NsaWVudC9jb21tb25fbGliL3Rlc3QucHkgYi9jbGllbnQvY29tbW9uX2xp Yi90ZXN0LnB5CmluZGV4IGM1NWQyM2IuLmIxYTA5MDQgMTAwNjQ0Ci0tLSBhL2NsaWVudC9jb21t b25fbGliL3Rlc3QucHkKKysrIGIvY2xpZW50L2NvbW1vbl9saWIvdGVzdC5weQpAQCAtNDY1LDYg KzQ2NSwyNCBAQCBjbGFzcyBiYXNlX3Rlc3Qob2JqZWN0KToKICAgICAgICAgICAgICAgICBzZWxm LmpvYi5lbmFibGVfd2FybmluZ3MoIk5FVFdPUksiKQogCiAKKyAgICBkZWYgcnVuc3VidGVzdChz ZWxmLCB1cmwsICphcmdzLCAqKmRhcmdzKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgY2Fs bCBzdWJ0ZXN0IGluIHJ1bm5pbmcgdGVzdC4KKworICAgICAgICBAcGFyYW0gdGVzdDogUGFyZW50 IHRlc3QuCisgICAgICAgIEBwYXJhbSB1cmw6IFVybCBvZiBuZXcgdGVzdC4KKyAgICAgICAgQHBh cmFtIHRhZzogVGFnIGFkZGVkIHRvIHRlc3QgbmFtZS4KKyAgICAgICAgQHBhcmFtIGFyZ3M6IEFy Z3MgZm9yIHN1YnRlc3QuCisgICAgICAgIEBwYXJhbSBkYXJnczogRGlzdGlvbmFyeSBhcmdzIGZv ciBzdWJ0ZXN0LgorICAgICAgICBAaXRlcmF0aW9uczogTnVtYmVyIG9mIGl0ZXJhdGlvbiBvZiBz dWJ0ZXN0LgorICAgICAgICBAcHJvZmlsZV9pbmx5OiBJZiB0cnVlIG5vdCBwcm9maWxlLgorICAg ICAgICAiIiIKKyAgICAgICAgZGFyZ3NbInByb2ZpbGVfb25seSJdID0gZGFyZ3MuZ2V0KCJwcm9m aWxlX29ubHkiLCBUcnVlKQorICAgICAgICB0ZXN0X2Jhc2VwYXRoID0gc2VsZi5vdXRwdXRkaXJb bGVuKHNlbGYuam9iLnJlc3VsdGRpciArICIvIik6XQorICAgICAgICBzZWxmLmpvYi5ydW5fdGVz dCh1cmwsIG1hc3Rlcl90ZXN0cGF0aD10ZXN0X2Jhc2VwYXRoLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAqYXJncywgKipkYXJncykKKworCiBkZWYgX2dldF9ub25zdGFyX2FyZ3MoZnVuYyk6 CiAgICAgIiIiRXh0cmFjdCBhbGwgdGhlIChub3JtYWwpIGZ1bmN0aW9uIHBhcmFtZXRlciBuYW1l cy4KIApAQCAtNjU4LDcgKzY3Niw4IEBAIGRlZiBydW50ZXN0KGpvYiwgdXJsLCB0YWcsIGFyZ3Ms IGRhcmdzLAogICAgICAgICBpZiBub3QgYmluZGlyOgogICAgICAgICAgICAgcmFpc2UgZXJyb3Iu VGVzdEVycm9yKHRlc3RuYW1lICsgJzogdGVzdCBkb2VzIG5vdCBleGlzdCcpCiAKLSAgICBvdXRw dXRkaXIgPSBvcy5wYXRoLmpvaW4oam9iLnJlc3VsdGRpciwgdGVzdG5hbWUpCisgICAgc3ViZGly ID0gb3MucGF0aC5qb2luKGRhcmdzLnBvcCgnbWFzdGVyX3Rlc3RwYXRoJywgIiIpLCB0ZXN0bmFt ZSkKKyAgICBvdXRwdXRkaXIgPSBvcy5wYXRoLmpvaW4oam9iLnJlc3VsdGRpciwgc3ViZGlyKQog ICAgIGlmIHRhZzoKICAgICAgICAgb3V0cHV0ZGlyICs9ICcuJyArIHRhZwogCmRpZmYgLS1naXQg YS9jbGllbnQvdGVzdHMva3ZtL3Rlc3RzL3N1YnRlc3QucHkgYi9jbGllbnQvdGVzdHMva3ZtL3Rl c3RzL3N1YnRlc3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I1NDZk YwotLS0gL2Rldi9udWxsCisrKyBiL2NsaWVudC90ZXN0cy9rdm0vdGVzdHMvc3VidGVzdC5weQpA QCAtMCwwICsxLDQzIEBACitpbXBvcnQgb3MsIGxvZ2dpbmcKK2Zyb20gYXV0b3Rlc3RfbGliLmNs aWVudC52aXJ0IGltcG9ydCB2aXJ0X3V0aWxzLCB2aXJ0X3Rlc3RfdXRpbHMsIGt2bV9tb25pdG9y Citmcm9tIGF1dG90ZXN0X2xpYi5jbGllbnQuYmluIGltcG9ydCBqb2IKK2Zyb20gYXV0b3Rlc3Rf bGliLmNsaWVudC5iaW4ubmV0IGltcG9ydCBuZXRfdXRpbHMKKworCitkZWYgcnVuX3N1YnRlc3Qo dGVzdCwgcGFyYW1zLCBlbnYpOgorICAgICIiIgorICAgIFJ1biBhbiBhdXRvdGVzdCB0ZXN0IGlu c2lkZSBhIGd1ZXN0IGFuZCBzdWJ0ZXN0IG9uIGhvc3Qgc2lkZS4KKyAgICBUaGlzIHRlc3Qgc2hv dWxkIGJlIHN1YnN0aXR1dGlvbiBuZXRwZXJmIHRlc3QgaW4ga3ZtLgorCisgICAgQHBhcmFtIHRl c3Q6IGt2bSB0ZXN0IG9iamVjdC4KKyAgICBAcGFyYW0gcGFyYW1zOiBEaWN0aW9uYXJ5IHdpdGgg dGVzdCBwYXJhbWV0ZXJzLgorICAgIEBwYXJhbSBlbnY6IERpY3Rpb25hcnkgd2l0aCB0aGUgdGVz dCBlbnZpcm9ubWVudC4KKyAgICAiIiIKKyAgICB2bSA9IGVudi5nZXRfdm0ocGFyYW1zWyJtYWlu X3ZtIl0pCisgICAgdm0udmVyaWZ5X2FsaXZlKCkKKyAgICB0aW1lb3V0ID0gaW50KHBhcmFtcy5n ZXQoImxvZ2luX3RpbWVvdXQiLCAzNjApKQorICAgIHNlc3Npb24gPSB2bS53YWl0X2Zvcl9sb2dp bih0aW1lb3V0PXRpbWVvdXQpCisKKyAgICAjIENvbGxlY3QgdGVzdCBwYXJhbWV0ZXJzCisgICAg dGltZW91dCA9IGludChwYXJhbXMuZ2V0KCJ0ZXN0X3RpbWVvdXQiLCAzMDApKQorICAgIGNvbnRy b2xfcGF0aCA9IG9zLnBhdGguam9pbih0ZXN0LmJpbmRpciwgImF1dG90ZXN0X2NvbnRyb2wiLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMuZ2V0KCJ0ZXN0X2NvbnRyb2xf ZmlsZSIpKQorICAgIGNvbnRyb2xfYXJncyA9IHBhcmFtcy5nZXQoInRlc3RfY29udHJvbF9hcmdz IikKKyAgICBvdXRwdXRkaXIgPSB0ZXN0Lm91dHB1dGRpcgorCisgICAgZ3Vlc3RfaXAgPSB2bS5n ZXRfYWRkcmVzcygpCisgICAgaG9zdF9pcCA9IG5ldF91dGlscy5uZXR3b3JrKCkuZ2V0X2NvcmVz cG9uZF9sb2NhbF9pcChndWVzdF9pcCkKKyAgICBpZiBub3QgaG9zdF9pcCBpcyBOb25lOgorICAg ICAgICBjb250cm9sX2FyZ3MgPSBob3N0X2lwICsgIiAiICsgZ3Vlc3RfaXAKKworICAgICAgICBn dWVzdCA9IHZpcnRfdXRpbHMuVGhyZWFkKHZpcnRfdGVzdF91dGlscy5ydW5fYXV0b3Rlc3QsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm0sIHNlc3Npb24sIGNvbnRyb2xfcGF0 aCwgY29udHJvbF9hcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVv dXQsIG91dHB1dGRpciwgcGFyYW1zKSkKKyAgICAgICAgZ3Vlc3Quc3RhcnQoKQorCisgICAgICAg IHRlc3QucnVuc3VidGVzdCgibmV0cGVyZjIiLCB0YWc9InNlcnZlciIsIHNlcnZlcl9pcD1ob3N0 X2lwLAorICAgICAgICAgICAgIGNsaWVudF9pcD1ndWVzdF9pcCwgcm9sZT0nc2VydmVyJykKKwor ICAgIGVsc2U6CisgICAgICAgIGxvZ2dpbmcuZXJyb3IoIkhvc3QgY2Fubm90IGNvbW11bmljYXRl IHdpdGggY2xpZW50IGJ5IgorICAgICAgICAgICAgICAgICAgICAgICIgbm9ybWFsIG5ldHdvcmsg Y29ubmVjdGlvbi4iKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2Ns aWVudC90ZXN0cy9rdm0vdGVzdHNfYmFzZS5jZmcuc2FtcGxlIGIvY2xpZW50L3Rlc3RzL2t2bS90 ZXN0c19iYXNlLmNmZy5zYW1wbGUKaW5kZXggODEwYTRiZC4uYzE2ZjJmOSAxMDA2NDQKLS0tIGEv Y2xpZW50L3Rlc3RzL2t2bS90ZXN0c19iYXNlLmNmZy5zYW1wbGUKKysrIGIvY2xpZW50L3Rlc3Rz L2t2bS90ZXN0c19iYXNlLmNmZy5zYW1wbGUKQEAgLTI2MSw2ICsyNjEsMTQgQEAgdmFyaWFudHM6 CiAgICAgICAgICAgICAtIHN5c3RlbXRhcDoKICAgICAgICAgICAgICAgICB0ZXN0X2NvbnRyb2xf ZmlsZSA9IHN5c3RlbXRhcC5jb250cm9sCiAKKyAgICAtIHN1YnRlc3Q6ICAgICBpbnN0YWxsIHNl dHVwIHVuYXR0ZW5kZWRfaW5zdGFsbC5jZHJvbQorICAgICAgICB0eXBlID0gc3VidGVzdAorICAg ICAgICB0ZXN0X3RpbWVvdXQgPSAxODAwCisgICAgICAgIHZhcmlhbnRzOgorICAgICAgICAgICAg LSBuZXRwZXJmMjoKKyAgICAgICAgICAgICAgICB0ZXN0X2NvbnRyb2xfZmlsZSA9IG5ldHBlcmYy LmNvbnRyb2wKKyAgICAgICAgICAgICAgICBuaWNfbW9kZSA9IHRhcAorCiAgICAgLSBsaW51eF9z MzogICAgIGluc3RhbGwgc2V0dXAgdW5hdHRlbmRlZF9pbnN0YWxsLmNkcm9tCiAgICAgICAgIG9u bHkgTGludXgKICAgICAgICAgdHlwZSA9IGxpbnV4X3MzCmRpZmYgLS1naXQgYS9jbGllbnQvdGVz dHMvbmV0cGVyZjIvbmV0cGVyZjIucHkgYi9jbGllbnQvdGVzdHMvbmV0cGVyZjIvbmV0cGVyZjIu cHkKaW5kZXggMWI2NTlkZC4uMjNkMjVjNSAxMDA2NDQKLS0tIGEvY2xpZW50L3Rlc3RzL25ldHBl cmYyL25ldHBlcmYyLnB5CisrKyBiL2NsaWVudC90ZXN0cy9uZXRwZXJmMi9uZXRwZXJmMi5weQpA QCAtMiw2ICsyLDcgQEAgaW1wb3J0IG9zLCB0aW1lLCByZSwgbG9nZ2luZwogZnJvbSBhdXRvdGVz dF9saWIuY2xpZW50LmJpbiBpbXBvcnQgdGVzdCwgdXRpbHMKIGZyb20gYXV0b3Rlc3RfbGliLmNs aWVudC5iaW4ubmV0IGltcG9ydCBuZXRfdXRpbHMKIGZyb20gYXV0b3Rlc3RfbGliLmNsaWVudC5j b21tb25fbGliIGltcG9ydCBlcnJvcgorZnJvbSBhdXRvdGVzdF9saWIuY2xpZW50LmNvbW1vbl9s aWIgaW1wb3J0IGJhcnJpZXIKIAogTVBTVEFUX0lYID0gMAogTkVUUEVSRl9JWCA9IDEKQEAgLTM2 LDcgKzM3LDcgQEAgY2xhc3MgbmV0cGVyZjIodGVzdC50ZXN0KToKIAogICAgIGRlZiBydW5fb25j ZShzZWxmLCBzZXJ2ZXJfaXAsIGNsaWVudF9pcCwgcm9sZSwgdGVzdCA9ICdUQ1BfU1RSRUFNJywK ICAgICAgICAgICAgICAgICAgdGVzdF90aW1lID0gMTUsIHN0cmVhbV9saXN0ID0gWzFdLCB0ZXN0 X3NwZWNpZmljX2FyZ3MgPSAnJywKLSAgICAgICAgICAgICAgICAgY3B1X2FmZmluaXR5ID0gJycs IGRldiA9ICcnLCBiaWRpID0gRmFsc2UsIHdhaXRfdGltZSA9IDUpOgorICAgICAgICAgICAgICAg ICBjcHVfYWZmaW5pdHkgPSAnJywgZGV2ID0gJycsIGJpZGkgPSBGYWxzZSwgd2FpdF90aW1lID0g Mik6CiAgICAgICAgICIiIgogICAgICAgICBzZXJ2ZXJfaXA6IElQIGFkZHJlc3Mgb2YgaG9zdCBy dW5uaW5nIG5ldHNlcnZlcgogICAgICAgICBjbGllbnRfaXA6IElQIGFkZHJlc3Mgb2YgaG9zdCBy dW5uaW5nIG5ldHBlcmYgY2xpZW50KHMpCmRpZmYgLS1naXQgYS9jbGllbnQvdG9vbHMvaHRtbF9y ZXBvcnQucHkgYi9jbGllbnQvdG9vbHMvaHRtbF9yZXBvcnQucHkKaW5kZXggN2IxN2E3NS4uNTYz YTdhOSAxMDA3NTUKLS0tIGEvY2xpZW50L3Rvb2xzL2h0bWxfcmVwb3J0LnB5CisrKyBiL2NsaWVu dC90b29scy9odG1sX3JlcG9ydC5weQpAQCAtMTM3Miw3ICsxMzcyLDcgQEAgZnVuY3Rpb24gcHJv Y2Vzc0xpc3QodWwpIHsKIH0KICIiIgogCi1zdGltZWxpc3QgPSBbXQorCiAKIAogZGVmIG1ha2Vf aHRtbF9maWxlKG1ldGFkYXRhLCByZXN1bHRzLCB0YWcsIGhvc3QsIG91dHB1dF9maWxlX25hbWUs IGRpcm5hbWUpOgpAQCAtMTQzMCwxMSArMTQzMCwxMiBAQCByZXR1cm4gdHJ1ZTsKICAgICB0b3Rh bF9mYWlsZWQgPSAwCiAgICAgdG90YWxfcGFzc2VkID0gMAogICAgIGZvciByZXMgaW4gcmVzdWx0 czoKLSAgICAgICAgdG90YWxfZXhlY3V0ZWQgKz0gMQotICAgICAgICBpZiByZXNbJ3N0YXR1cydd ID09ICdHT09EJzoKLSAgICAgICAgICAgIHRvdGFsX3Bhc3NlZCArPSAxCi0gICAgICAgIGVsc2U6 Ci0gICAgICAgICAgICB0b3RhbF9mYWlsZWQgKz0gMQorICAgICAgICBpZiByZXN1bHRzW3Jlc11b Ml0gIT0gTm9uZToKKyAgICAgICAgICAgIHRvdGFsX2V4ZWN1dGVkICs9IDEKKyAgICAgICAgICAg IGlmIHJlc3VsdHNbcmVzXVsyXVsnc3RhdHVzJ10gPT0gJ0dPT0QnOgorICAgICAgICAgICAgICAg IHRvdGFsX3Bhc3NlZCArPSAxCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHRv dGFsX2ZhaWxlZCArPSAxCiAgICAgc3RhdF9zdHIgPSAnTm8gdGVzdCBjYXNlcyBleGVjdXRlZCcK ICAgICBpZiB0b3RhbF9leGVjdXRlZCA+IDA6CiAgICAgICAgIGZhaWxlZF9wZXJjdCA9IGludChm bG9hdCh0b3RhbF9mYWlsZWQpL2Zsb2F0KHRvdGFsX2V4ZWN1dGVkKSoxMDApCkBAIC0xNDcxLDM5 ICsxNDcyLDQ2IEBAIGlkPSJ0MSIgY2xhc3M9InN0YXRzIHRhYmxlLWF1dG9zb3J0OjQgdGFibGUt YXV0b2ZpbHRlciB0YWJsZS1zdHJpcGVjbGFzczphbHRlcm5hCiA8dGJvZHk+CiAiIiIKICAgICBw cmludCA+PiBvdXRwdXQsIHJlc3VsdF90YWJsZV9wcmVmaXgKLSAgICBmb3IgcmVzIGluIHJlc3Vs dHM6Ci0gICAgICAgIHByaW50ID4+IG91dHB1dCwgJzx0cj4nCi0gICAgICAgIHByaW50ID4+IG91 dHB1dCwgJzx0ZCBhbGlnbj0ibGVmdCI+JXM8L3RkPicgJSByZXNbJ3RpbWUnXQotICAgICAgICBw cmludCA+PiBvdXRwdXQsICc8dGQgYWxpZ249ImxlZnQiPiVzPC90ZD4nICUgcmVzWyd0ZXN0Y2Fz ZSddCi0gICAgICAgIGlmIHJlc1snc3RhdHVzJ10gPT0gJ0dPT0QnOgotICAgICAgICAgICAgcHJp bnQgPj4gb3V0cHV0LCAnPHRkIGFsaWduPVwibGVmdFwiPjxiPjxmb250IGNvbG9yPSIjMDBDQzAw Ij5QQVNTPC9mb250PjwvYj48L3RkPicKLSAgICAgICAgZWxpZiByZXNbJ3N0YXR1cyddID09ICdG QUlMJzoKLSAgICAgICAgICAgIHByaW50ID4+IG91dHB1dCwgJzx0ZCBhbGlnbj1cImxlZnRcIj48 Yj48Zm9udCBjb2xvcj0icmVkIj5GQUlMPC9mb250PjwvYj48L3RkPicKLSAgICAgICAgZWxpZiBy ZXNbJ3N0YXR1cyddID09ICdFUlJPUic6Ci0gICAgICAgICAgICBwcmludCA+PiBvdXRwdXQsICc8 dGQgYWxpZ249XCJsZWZ0XCI+PGI+PGZvbnQgY29sb3I9InJlZCI+RVJST1IhPC9mb250PjwvYj48 L3RkPicKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHByaW50ID4+IG91dHB1dCwgJzx0ZCBh bGlnbj1cImxlZnRcIj4lczwvdGQ+JyAlIHJlc1snc3RhdHVzJ10KLSAgICAgICAgIyBwcmludCBl eGVjIHRpbWUgKHNlY29uZHMpCi0gICAgICAgIHByaW50ID4+IG91dHB1dCwgJzx0ZCBhbGlnbj0i bGVmdCI+JXM8L3RkPicgJSByZXNbJ2V4ZWNfdGltZV9zZWMnXQotICAgICAgICAjIHByaW50IGxv ZyBvbmx5IGlmIHRlc3QgZmFpbGVkLi4KLSAgICAgICAgaWYgcmVzWydsb2cnXToKLSAgICAgICAg ICAgICNjaG9wIGFsbCAnXG4nIGZyb20gbG9nIHRleHQgKHRvIHByZXZlbnQgaHRtbCBlcnJvcnMp Ci0gICAgICAgICAgICByeDEgPSByZS5jb21waWxlKCcoXHMrKScpCi0gICAgICAgICAgICBsb2df dGV4dCA9IHJ4MS5zdWIoJyAnLCByZXNbJ2xvZyddKQotCi0gICAgICAgICAgICAjIGFsbG93IG9u bHkgYS16QS1aMC05XyBpbiBodG1sIHRpdGxlIG5hbWUKLSAgICAgICAgICAgICMgKGR1ZSB0byBi dWcgaW4gTVMtZXhwbG9yZXIpCi0gICAgICAgICAgICByeDIgPSByZS5jb21waWxlKCcoW15hLXpB LVpfMC05XSknKQotICAgICAgICAgICAgdXBkYXRlZF90YWcgPSByeDIuc3ViKCdfJywgcmVzWyd0 aXRsZSddKQotCi0gICAgICAgICAgICBodG1sX2JvZHlfdGV4dCA9ICc8aHRtbD48aGVhZD48dGl0 bGU+JXM8L3RpdGxlPjwvaGVhZD48Ym9keT4lczwvYm9keT48L2h0bWw+JyAlIChzdHIodXBkYXRl ZF90YWcpLCBsb2dfdGV4dCkKLSAgICAgICAgICAgIHByaW50ID4+IG91dHB1dCwgJzx0ZCBhbGln bj1cImxlZnRcIj48QSBIUkVGPVwiI1wiIG9uQ2xpY2s9XCJwb3B1cChcJyVzXCcsXCclc1wnKVwi PkluZm88L0E+PC90ZD4nICUgKHN0cih1cGRhdGVkX3RhZyksIHN0cihodG1sX2JvZHlfdGV4dCkp Ci0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBwcmludCA+PiBvdXRwdXQsICc8dGQgYWxpZ249 XCJsZWZ0XCI+PC90ZD4nCi0gICAgICAgICMgcHJpbnQgZXhlY3V0aW9uIHRpbWUKLSAgICAgICAg cHJpbnQgPj4gb3V0cHV0LCAnPHRkIGFsaWduPSJsZWZ0Ij48QSBIUkVGPVwiJXNcIj5EZWJ1Zzwv QT48L3RkPicgJSBvcy5wYXRoLmpvaW4oZGlybmFtZSwgcmVzWyd0aXRsZSddLCAiZGVidWciKQor ICAgIGRlZiBwcmludF9yZXN1bHQocmVzdWx0LCBpbmRlbnQpOgorICAgICAgICB3aGlsZSByZXN1 bHQgIT0gW106CisgICAgICAgICAgICByID0gcmVzdWx0LnBvcCgwKQorICAgICAgICAgICAgcHJp bnQgcgorICAgICAgICAgICAgcmVzID0gcmVzdWx0c1tyXVsyXQorICAgICAgICAgICAgcHJpbnQg Pj4gb3V0cHV0LCAnPHRyPicKKyAgICAgICAgICAgIHByaW50ID4+IG91dHB1dCwgJzx0ZCBhbGln bj0ibGVmdCI+JXM8L3RkPicgJSByZXNbJ3RpbWUnXQorICAgICAgICAgICAgcHJpbnQgPj4gb3V0 cHV0LCAnPHRkIGFsaWduPSJsZWZ0IiBzdHlsZT0icGFkZGluZy1sZWZ0OiVkcHgiPiVzPC90ZD4n ICUgKGluZGVudCAqIDIwLCByZXNbJ3RpdGxlJ10pCisgICAgICAgICAgICBpZiByZXNbJ3N0YXR1 cyddID09ICdHT09EJzoKKyAgICAgICAgICAgICAgICBwcmludCA+PiBvdXRwdXQsICc8dGQgYWxp Z249XCJsZWZ0XCI+PGI+PGZvbnQgY29sb3I9IiMwMENDMDAiPlBBU1M8L2ZvbnQ+PC9iPjwvdGQ+ JworICAgICAgICAgICAgZWxpZiByZXNbJ3N0YXR1cyddID09ICdGQUlMJzoKKyAgICAgICAgICAg ICAgICBwcmludCA+PiBvdXRwdXQsICc8dGQgYWxpZ249XCJsZWZ0XCI+PGI+PGZvbnQgY29sb3I9 InJlZCI+RkFJTDwvZm9udD48L2I+PC90ZD4nCisgICAgICAgICAgICBlbGlmIHJlc1snc3RhdHVz J10gPT0gJ0VSUk9SJzoKKyAgICAgICAgICAgICAgICBwcmludCA+PiBvdXRwdXQsICc8dGQgYWxp Z249XCJsZWZ0XCI+PGI+PGZvbnQgY29sb3I9InJlZCI+RVJST1IhPC9mb250PjwvYj48L3RkPicK KyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcHJpbnQgPj4gb3V0cHV0LCAnPHRk IGFsaWduPVwibGVmdFwiPiVzPC90ZD4nICUgcmVzWydzdGF0dXMnXQorICAgICAgICAgICAgIyBw cmludCBleGVjIHRpbWUgKHNlY29uZHMpCisgICAgICAgICAgICBwcmludCA+PiBvdXRwdXQsICc8 dGQgYWxpZ249ImxlZnQiPiVzPC90ZD4nICUgcmVzWydleGVjX3RpbWVfc2VjJ10KKyAgICAgICAg ICAgICMgcHJpbnQgbG9nIG9ubHkgaWYgdGVzdCBmYWlsZWQuLgorICAgICAgICAgICAgaWYgcmVz Wydsb2cnXToKKyAgICAgICAgICAgICAgICAjY2hvcCBhbGwgJ1xuJyBmcm9tIGxvZyB0ZXh0ICh0 byBwcmV2ZW50IGh0bWwgZXJyb3JzKQorICAgICAgICAgICAgICAgIHJ4MSA9IHJlLmNvbXBpbGUo JyhccyspJykKKyAgICAgICAgICAgICAgICBsb2dfdGV4dCA9IHJ4MS5zdWIoJyAnLCByZXNbJ2xv ZyddKQorCisgICAgICAgICAgICAgICAgIyBhbGxvdyBvbmx5IGEtekEtWjAtOV8gaW4gaHRtbCB0 aXRsZSBuYW1lCisgICAgICAgICAgICAgICAgIyAoZHVlIHRvIGJ1ZyBpbiBNUy1leHBsb3JlcikK KyAgICAgICAgICAgICAgICByeDIgPSByZS5jb21waWxlKCcoW15hLXpBLVpfMC05XSknKQorICAg ICAgICAgICAgICAgIHVwZGF0ZWRfdGFnID0gcngyLnN1YignXycsIHJlc1sndGl0bGUnXSkKKwor ICAgICAgICAgICAgICAgIGh0bWxfYm9keV90ZXh0ID0gJzxodG1sPjxoZWFkPjx0aXRsZT4lczwv dGl0bGU+PC9oZWFkPjxib2R5PiVzPC9ib2R5PjwvaHRtbD4nICUgKHN0cih1cGRhdGVkX3RhZyks IGxvZ190ZXh0KQorICAgICAgICAgICAgICAgIHByaW50ID4+IG91dHB1dCwgJzx0ZCBhbGlnbj1c ImxlZnRcIj48QSBIUkVGPVwiI1wiIG9uQ2xpY2s9XCJwb3B1cChcJyVzXCcsXCclc1wnKVwiPklu Zm88L0E+PC90ZD4nICUgKHN0cih1cGRhdGVkX3RhZyksIHN0cihodG1sX2JvZHlfdGV4dCkpCisg ICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHByaW50ID4+IG91dHB1dCwgJzx0ZCBh bGlnbj1cImxlZnRcIj48L3RkPicKKyAgICAgICAgICAgICMgcHJpbnQgZXhlY3V0aW9uIHRpbWUK KyAgICAgICAgICAgIHByaW50ID4+IG91dHB1dCwgJzx0ZCBhbGlnbj0ibGVmdCI+PEEgSFJFRj1c IiVzXCI+RGVidWc8L0E+PC90ZD4nICUgb3MucGF0aC5qb2luKGRpcm5hbWUsIHJlc1snc3ViZGly J10sICJkZWJ1ZyIpCiAKLSAgICAgICAgcHJpbnQgPj4gb3V0cHV0LCAnPC90cj4nCisgICAgICAg ICAgICBwcmludCA+PiBvdXRwdXQsICc8L3RyPicKKyAgICAgICAgICAgIHByaW50X3Jlc3VsdChy ZXN1bHRzW3JdWzFdLCBpbmRlbnQgKyAxKQorCisgICAgcHJpbnRfcmVzdWx0KHJlc3VsdHNbIiJd WzFdLCAwKQogICAgIHByaW50ID4+IG91dHB1dCwgIjwvdGJvZHk+PC90YWJsZT4iCiAKIApAQCAt MTUzMSwyMSArMTUzOSwyNyBAQCBpZD0idDEiIGNsYXNzPSJzdGF0cyB0YWJsZS1hdXRvc29ydDo0 IHRhYmxlLWF1dG9maWx0ZXIgdGFibGUtc3RyaXBlY2xhc3M6YWx0ZXJuYQogICAgICAgICBvdXRw dXQuY2xvc2UoKQogCiAKLWRlZiBwYXJzZV9yZXN1bHQoZGlybmFtZSwgbGluZSk6CitkZWYgcGFy c2VfcmVzdWx0KGRpcm5hbWUsIGxpbmUsIHJlc3VsdHNfZGF0YSk6CiAgICAgIiIiCiAgICAgUGFy c2Ugam9iIHN0YXR1cyBsb2cgbGluZS4KIAogICAgIEBwYXJhbSBkaXJuYW1lOiBKb2IgcmVzdWx0 cyBkaXIKICAgICBAcGFyYW0gbGluZTogU3RhdHVzIGxvZyBsaW5lLgorICAgIEBwYXJhbSByZXN1 bHRzX2RhdGE6IERpY3Rpb25hcnkgd2l0aCBmb3IgcmVzdWx0cy4KICAgICAiIiIKICAgICBwYXJ0 cyA9IGxpbmUuc3BsaXQoKQogICAgIGlmIGxlbihwYXJ0cykgPCA0OgogICAgICAgICByZXR1cm4g Tm9uZQotICAgIGdsb2JhbCBzdGltZWxpc3QKKyAgICBnbG9iYWwgdGVzdHMKICAgICBpZiBwYXJ0 c1swXSA9PSAnU1RBUlQnOgogICAgICAgICBwYWlyID0gcGFydHNbM10uc3BsaXQoJz0nKQogICAg ICAgICBzdGltZSA9IGludChwYWlyWzFdKQotICAgICAgICBzdGltZWxpc3QuYXBwZW5kKHN0aW1l KQorICAgICAgICByZXN1bHRzX2RhdGFbcGFydHNbMV1dID0gW3N0aW1lLCBbXSwgTm9uZV0KKyAg ICAgICAgdHJ5OgorICAgICAgICAgICAgcGFyZW50X3Rlc3QgPSByZS5maW5kYWxsKHIiLiovIiwg cGFydHNbMV0pWzBdWzotMV0KKyAgICAgICAgICAgIHJlc3VsdHNfZGF0YVtwYXJlbnRfdGVzdF1b MV0uYXBwZW5kKHBhcnRzWzFdKQorICAgICAgICBleGNlcHQgSW5kZXhFcnJvcjoKKyAgICAgICAg ICAgIHJlc3VsdHNfZGF0YVsiIl1bMV0uYXBwZW5kKHBhcnRzWzFdKQogCiAgICAgZWxpZiAocGFy dHNbMF0gPT0gJ0VORCcpOgogICAgICAgICByZXN1bHQgPSB7fQpAQCAtMTU2MiwyMSArMTU3Niwy NSBAQCBkZWYgcGFyc2VfcmVzdWx0KGRpcm5hbWUsIGxpbmUpOgogICAgICAgICByZXN1bHRbJ2V4 ZWNfdGltZV9zZWMnXSA9ICduYScKICAgICAgICAgdGFnID0gcGFydHNbM10KIAorICAgICAgICBy ZXN1bHRbJ3N1YmRpciddID0gcGFydHNbMl0KICAgICAgICAgIyBhc3NpZ24gYWN0dWFsIHZhbHVl cwogICAgICAgICByeCA9IHJlLmNvbXBpbGUoJ14oXHcrKVwuKC4qKSQnKQogICAgICAgICBtMSA9 IHJ4LmZpbmRhbGwocGFydHNbM10pCi0gICAgICAgIHJlc3VsdFsndGVzdGNhc2UnXSA9IHN0cih0 YWcpCisgICAgICAgIGlmIGxlbihtMSk6CisgICAgICAgICAgICByZXN1bHRbJ3Rlc3RjYXNlJ10g PSBtMVswXVsxXQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmVzdWx0Wyd0ZXN0Y2FzZSdd ID0gcGFydHNbM10KICAgICAgICAgcmVzdWx0Wyd0aXRsZSddID0gc3RyKHRhZykKICAgICAgICAg cmVzdWx0WydzdGF0dXMnXSA9IHBhcnRzWzFdCiAgICAgICAgIGlmIHJlc3VsdFsnc3RhdHVzJ10g IT0gJ0dPT0QnOgogICAgICAgICAgICAgcmVzdWx0Wydsb2cnXSA9IGdldF9leGVjX2xvZyhkaXJu YW1lLCB0YWcpCi0gICAgICAgIGlmIGxlbihzdGltZWxpc3QpPjA6CisgICAgICAgIGlmIGxlbihy ZXN1bHRzX2RhdGEpPjA6CiAgICAgICAgICAgICBwYWlyID0gcGFydHNbNF0uc3BsaXQoJz0nKQog ICAgICAgICAgICAgZXRpbWUgPSBpbnQocGFpclsxXSkKLSAgICAgICAgICAgIHN0aW1lID0gc3Rp bWVsaXN0LnBvcCgpCisgICAgICAgICAgICBzdGltZSA9IHJlc3VsdHNfZGF0YVtwYXJ0c1syXV1b MF0KICAgICAgICAgICAgIHRvdGFsX2V4ZWNfdGltZV9zZWMgPSBldGltZSAtIHN0aW1lCiAgICAg ICAgICAgICByZXN1bHRbJ2V4ZWNfdGltZV9zZWMnXSA9IHRvdGFsX2V4ZWNfdGltZV9zZWMKLSAg ICAgICAgcmV0dXJuIHJlc3VsdAorICAgICAgICByZXN1bHRzX2RhdGFbcGFydHNbMl1dWzJdID0g cmVzdWx0CiAgICAgcmV0dXJuIE5vbmUKIAogCkBAIC0xNjk5LDE2ICsxNzE3LDE1IEBAIGRlZiBj cmVhdGVfcmVwb3J0KGRpcm5hbWUsIGh0bWxfcGF0aD0nJywgb3V0cHV0X2ZpbGVfbmFtZT1Ob25l KToKICAgICBob3N0ID0gZ2V0X2luZm9fZmlsZShvcy5wYXRoLmpvaW4oc3lzaW5mb19kaXIsICdo b3N0bmFtZScpKQogICAgIHJ4ID0gcmUuY29tcGlsZSgnXlxzK1tFTkR8U1RBUlRdLiokJykKICAg ICAjIGNyZWF0ZSB0aGUgcmVzdWx0cyBzZXQgZGljdAotICAgIHJlc3VsdHNfZGF0YSA9IFtdCisg ICAgcmVzdWx0c19kYXRhID0ge30KKyAgICByZXN1bHRzX2RhdGFbIiJdID0gWzAsIFtdLCBOb25l XQogICAgIGlmIG9zLnBhdGguZXhpc3RzKHN0YXR1c19maWxlX25hbWUpOgogICAgICAgICBmID0g b3BlbihzdGF0dXNfZmlsZV9uYW1lLCAiciIpCiAgICAgICAgIGxpbmVzID0gZi5yZWFkbGluZXMo KQogICAgICAgICBmLmNsb3NlKCkKICAgICAgICAgZm9yIGxpbmUgaW4gbGluZXM6CiAgICAgICAg ICAgICBpZiByeC5tYXRjaChsaW5lKToKLSAgICAgICAgICAgICAgICByZXN1bHRfZGljdCA9IHBh cnNlX3Jlc3VsdChkaXJuYW1lLCBsaW5lKQotICAgICAgICAgICAgICAgIGlmIHJlc3VsdF9kaWN0 OgotICAgICAgICAgICAgICAgICAgICByZXN1bHRzX2RhdGEuYXBwZW5kKHJlc3VsdF9kaWN0KQor ICAgICAgICAgICAgICAgIHBhcnNlX3Jlc3VsdChkaXJuYW1lLCBsaW5lLCByZXN1bHRzX2RhdGEp CiAgICAgIyBjcmVhdGUgdGhlIG1ldGEgaW5mbyBkaWN0CiAgICAgbWV0YWxpc3QgPSB7CiAgICAg ICAgICAgICAgICAgJ3VuYW1lJzogZ2V0X2luZm9fZmlsZShvcy5wYXRoLmpvaW4oc3lzaW5mb19k aXIsICd1bmFtZScpKSwKZGlmZiAtLWdpdCBhL2NsaWVudC92aXJ0L3ZpcnRfdGVzdF91dGlscy5w eSBiL2NsaWVudC92aXJ0L3ZpcnRfdGVzdF91dGlscy5weQppbmRleCBlM2ExOGQyLi41NTZkM2U1 IDEwMDY0NAotLS0gYS9jbGllbnQvdmlydC92aXJ0X3Rlc3RfdXRpbHMucHkKKysrIGIvY2xpZW50 L3ZpcnQvdmlydF90ZXN0X3V0aWxzLnB5CkBAIC00MzAsMTMgKzQzMCwxNSBAQCBkZWYgZ2V0X21l bW9yeV9pbmZvKGx2bXMpOgogICAgIHJldHVybiBtZW1pbmZvCiAKIAotZGVmIHJ1bl9hdXRvdGVz dCh2bSwgc2Vzc2lvbiwgY29udHJvbF9wYXRoLCB0aW1lb3V0LCBvdXRwdXRkaXIsIHBhcmFtcyk6 CitkZWYgcnVuX2F1dG90ZXN0KHZtLCBzZXNzaW9uLCBjb250cm9sX3BhdGgsIGNvbnRyb2xfYXJn cywgdGltZW91dCwgb3V0cHV0ZGlyLAorICAgICAgICAgICAgICAgICBwYXJhbXMpOgogICAgICIi IgogICAgIFJ1biBhbiBhdXRvdGVzdCBjb250cm9sIGZpbGUgaW5zaWRlIGEgZ3Vlc3QgKGxpbnV4 IG9ubHkgdXRpbGl0eSkuCiAKICAgICBAcGFyYW0gdm06IFZNIG9iamVjdC4KICAgICBAcGFyYW0g c2Vzc2lvbjogQSBzaGVsbCBzZXNzaW9uIG9uIHRoZSBWTSBwcm92aWRlZC4KICAgICBAcGFyYW0g Y29udHJvbF9wYXRoOiBBIHBhdGggdG8gYW4gYXV0b3Rlc3QgY29udHJvbCBmaWxlLgorICAgIEBw YXJhbSBjb250cm9sX2FyZ3M6IEFuIGFyZ3VtZXRzIGZvciBjb250cm9sIGZpbGUuCiAgICAgQHBh cmFtIHRpbWVvdXQ6IFRpbWVvdXQgdW5kZXIgd2hpY2ggdGhlIGF1dG90ZXN0IGNvbnRyb2wgZmls ZSBtdXN0IGNvbXBsZXRlLgogICAgIEBwYXJhbSBvdXRwdXRkaXI6IFBhdGggb24gaG9zdCB3aGVy ZSB3ZSBzaG91bGQgY29weSB0aGUgZ3Vlc3QgYXV0b3Rlc3QKICAgICAgICAgICAgIHJlc3VsdHMg dG8uCkBAIC01NjEsNiArNTYzLDEwIEBAIGRlZiBydW5fYXV0b3Rlc3Qodm0sIHNlc3Npb24sIGNv bnRyb2xfcGF0aCwgdGltZW91dCwgb3V0cHV0ZGlyLCBwYXJhbXMpOgogICAgICAgICBwYXNzCiAg ICAgdHJ5OgogICAgICAgICBiZyA9IE5vbmUKKyAgICAgICAgaWYgY29udHJvbF9hcmdzICE9IE5v bmU6CisgICAgICAgICAgICBjb250cm9sX2FyZ3MgPSAnIC1hICInICsgY29udHJvbF9hcmdzICsg JyInCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb250cm9sX2FyZ3MgPSAiIgogICAgICAg ICB0cnk6CiAgICAgICAgICAgICBsb2dnaW5nLmluZm8oIi0tLS0tLS0tLS0tLS0tLS0gVGVzdCBv dXRwdXQgLS0tLS0tLS0tLS0tLS0tLSIpCiAgICAgICAgICAgICBpZiBtaWdyYXRlX2JhY2tncm91 bmQ6CkBAIC01NjgsNyArNTc0LDggQEAgZGVmIHJ1bl9hdXRvdGVzdCh2bSwgc2Vzc2lvbiwgY29u dHJvbF9wYXRoLCB0aW1lb3V0LCBvdXRwdXRkaXIsIHBhcmFtcyk6CiAgICAgICAgICAgICAgICAg bWlnX3Byb3RvY29sID0gcGFyYW1zLmdldCgibWlncmF0aW9uX3Byb3RvY29sIiwgInRjcCIpCiAK ICAgICAgICAgICAgICAgICBiZyA9IHZpcnRfdXRpbHMuVGhyZWFkKHNlc3Npb24uY21kX291dHB1 dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dhcmdzPXsnY21kJzog ImJpbi9hdXRvdGVzdCBjb250cm9sIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAga3dhcmdzPXsnY21kJzogImJpbi9hdXRvdGVzdCBjb250cm9sIiArCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbF9hcmdzLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lb3V0JzogdGltZW91 dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJpbnRf ZnVuYyc6IGxvZ2dpbmcuaW5mb30pCiAKQEAgLTU3OSw4ICs1ODYsOCBAQCBkZWYgcnVuX2F1dG90 ZXN0KHZtLCBzZXNzaW9uLCBjb250cm9sX3BhdGgsIHRpbWVvdXQsIG91dHB1dGRpciwgcGFyYW1z KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtaWdyYXRpb24gLi4uIikKICAg ICAgICAgICAgICAgICAgICAgdm0ubWlncmF0ZSh0aW1lb3V0PW1pZ190aW1lb3V0LCBwcm90b2Nv bD1taWdfcHJvdG9jb2wpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlc3Np b24uY21kX291dHB1dCgiYmluL2F1dG90ZXN0IGNvbnRyb2wiLCB0aW1lb3V0PXRpbWVvdXQsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50X2Z1bmM9bG9nZ2luZy5pbmZv KQorICAgICAgICAgICAgICAgIHNlc3Npb24uY21kX291dHB1dCgiYmluL2F1dG90ZXN0IGNvbnRy b2wiICsgY29udHJvbF9hcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0 aW1lb3V0PXRpbWVvdXQsIHByaW50X2Z1bmM9bG9nZ2luZy5pbmZvKQogICAgICAgICBmaW5hbGx5 OgogICAgICAgICAgICAgbG9nZ2luZy5pbmZvKCItLS0tLS0tLS0tLS0tIEVuZCBvZiB0ZXN0IG91 dHB1dCAtLS0tLS0tLS0tLS0iKQogICAgICAgICAgICAgaWYgbWlncmF0ZV9iYWNrZ3JvdW5kIGFu ZCBiZzoKQEAgLTYyNCw4ICs2MzEsOCBAQCBkZWYgcnVuX2F1dG90ZXN0KHZtLCBzZXNzaW9uLCBj b250cm9sX3BhdGgsIHRpbWVvdXQsIG91dHB1dGRpciwgcGFyYW1zKToKIAogZGVmIGdldF9sb3Nz X3JhdGlvKG91dHB1dCk6CiAgICAgIiIiCi0gICAgR2V0IHRoZSBwYWNrZXQgbG9zcyByYXRpbyBm cm9tIHRoZSBvdXRwdXQgb2YgcGluZwotLgorICAgIEdldCB0aGUgcGFja2V0IGxvc3MgcmF0aW8g ZnJvbSB0aGUgb3V0cHV0IG9mIHBpbmcuCisKICAgICBAcGFyYW0gb3V0cHV0OiBQaW5nIG91dHB1 dC4KICAgICAiIiIKICAgICB0cnk6Ci0tIAoxLjcuNC40CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpBdXRvdGVzdCBtYWlsaW5nIGxpc3QKQXV0b3Rlc3RA dGVzdC5rZXJuZWwub3JnCmh0dHA6Ly90ZXN0Lmtlcm5lbC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xp c3RpbmZvL2F1dG90ZXN0Cg==