From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (qmail 19967 invoked from network); 4 Jul 2020 12:15:51 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 4 Jul 2020 12:15:51 -0000 Content-Type: multipart/mixed; boundary="===============2332765192468717456==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_gnome_3=2E36_updates?= To: ml@inbox.vuxu.org From: mnabid Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 04 Jul 2020 14:15:49 +0200 List-Id: Message-ID: <20200704121549.fNIKFcNTSlaeCts3JRuqYC5kJOZv9HmItgjbLS10EU0@z> GitHub notification mails are now in MIME to allow UTF8. --===============2332765192468717456== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgbW5hYmlkIGFnYWluc3QgbWFzdGVy IG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9tbmFi aWQvdm9pZC1wYWNrYWdlcyBnZWRpdApodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lk LXBhY2thZ2VzL3B1bGwvMjEzODIKCmdub21lIDMuMzYgdXBkYXRlcwo8ZGV0YWlscz4NCjxzdW1t YXJ5PjxpPkxpc3Qgb2YgdXBkYXRlcyA6IDwvaT48L3N1bW1hcnk+DQoNCiAqIGF0ayAtPiAyLjM2 LjANCiAqIGF0LXNwaTItYXRrIC0+IDIuMzQuMg0KICogYnVkZ2llLWRlc2t0b3AgLT4gKHJldmJ1 bXApDQogKiBjaGVlc2UgLT4gKHJldmJ1bXApDQogKiBkY29uZi1lZGl0b3IgLT4gMy4zNi4yDQog KiBkZXZoZWxwIC0+IDMuMzYuMg0KICogZW9nIC0+IDMuMzYuMg0KICogZXZpbmNlIC0+IDMuMzYu Mw0KICogZXZvbHV0aW9uIC0+IDMuMzYuMw0KICogZXZvbHV0aW9uLWRhdGEtc2VydmVyIC0+IDMu MzYuMw0KICogZXZvbHV0aW9uLWV3cyAtPiAzLjM2LjMNCiAqIGZpbGUtcm9sbGVyIC0+IDMuMzYu Mg0KICogZm9sa3MgLT4gMC4xNC4wDQogKiBnZG0gLT4gMy4zNi4yDQogKiBnZWRpdCAtPiAzLjM2 LjINCiAqIGdub21lLWJvb2tzIC0+IChyZXZidW1wKQ0KICogZ25vbWUtY2hhcmFjdGVycyAtPiAo cmV2YnVtcCkNCiAqIGdub21lLWNsb2NrcyAtPiAzLjM2LjINCiAqIGdub21lLWNvbnRhY3RzIC0+ IDMuMzYuMQ0KICogZ25vbWUtY29udHJvbC1jZW50ZXIgLT4gMy4zNi4zDQogKiBnbm9tZS1kZXNr dG9wIC0+IDMuMzYuMg0KICogZ25vbWUtZG9jdW1lbnRzIC0+IChyZXZidW1wKQ0KICogZ25vbWUt ZXB1Yi10aHVtYm5haWxlciAtPiAxLjYNCiAqIGdub21lLWZsYXNoYmFjayAtPiAzLjM2LjMNCiAq IGdub21lLWZvbnQtdmlld2VyIC0+IChyZXZidW1wKQ0KICogZ25vbWUtZ2V0dGluZy1zdGFydGVk LWRvY3MgLT4gMy4zNi4yDQogKiBnbm9tZS1pbml0aWFsLXNldHVwIC0+IDMuMzYuMw0KICogZ25v bWUtbWFwcyAtPiAzLjM2LjINCiAqIGdub21lLW1lbnVzIC0+IDMuMzYuMA0KICogZ25vbWUtbXVz aWMgLT4gMy4zNi4zDQogKiBnbm9tZS1wYW5lbCAtPiAzLjM2LjENCiAqIGdub21lLXBvZGNhc3Rz IC0+IDAuNC43DQogKiBnbm9tZS1zY3JlZW5zYXZlciAtPiAocmV2YnVtcCkNCiAqIGdub21lLXNl c3Npb24gLT4gMy4zNi4wDQogKiBnbm9tZS1zZXR0aW5ncy1kYWVtb24gLT4gMy4zNi4xDQogKiBn bm9tZS1zaGVsbCAtPiAzLjM2LjMNCiAqIGdub21lLXNoZWxsLWV4dGVuc2lvbnMgLT4gMy4zNi4y DQogKiBnbm9tZS10ZXJtaW5hbCAtPiAzLjM2LjINCiAqIGdub21lLXVzZXItZG9jcyAtPiAzLjM2 LjINCiAqIGdub21lLXdlYXRoZXIgLT4gKHJldmJ1bXApDQogKiBncmFwaGVuZSAtPiAxLjEwLjAN CiAqIGx1dHJpcyAtPiAocmV2YnVtcCkNCiAqIG1ldGFjaXR5IC0+IDMuMzYuMQ0KICogbXV0dGVy IC0+IDMuMzYuMw0KICogbmF1dGlsdXMgLT4gMy4zNi4zDQogKiBvcmNhIC0+IDMuMzYuMg0KICog cHl0aG9uLWF0c3BpIC0+IDIuMzYuMA0KICogcHl0aG9uMy1hdHNwaSAtPiAyLjM2LjANCiAqIHRv dGVtIC0+IChyZXZidW1wKQ0KICogdHJhY2tlciAtPiAyLjMuNA0KICogeGRnLWRlc2t0b3AtcG9y dGFsLWd0ayAtPiAocmV2YnVtcCkNCjwvZGV0YWlscz4NCg0KQnVpbHQgbmF0aXZlbHkgaW4gYHg4 Nl82NGAgYW5kIGNyb3NzYnVpbHQgZm9yIGBhcm12N2xgLgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0 cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzIxMzgyLnBhdGNo IGlzIGF0dGFjaGVk --===============2332765192468717456== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-gedit-21382.patch" RnJvbSAyNTQzMTY0NGVlYTRkMjY0MDkwOWVlOGE3YTUxZDVhZmY3MGM4NGRmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRlOiBU dWUsIDE2IEp1biAyMDIwIDE5OjQyOjUzICswNjAwClN1YmplY3Q6IFtQQVRDSCAwMS82Ml0gZ25v bWUtZGVza3RvcDogdXBkYXRlIHRvIDMuMzYuMi4KCkNsb3NlczogIzIxMzgyCi0tLQogY29tbW9u L3NobGlicyAgICAgICAgICAgICAgICAgIHwgMiArLQogc3JjcGtncy9nbm9tZS1kZXNrdG9wL3Rl bXBsYXRlIHwgOCArKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMK aW5kZXggODc4Y2E1YTVhYzYuLjQyNzdhOTgzY2VmIDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJz CisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTExODIsNyArMTE4Miw3IEBAIGxpYmdzdGJhc2VjYW1l cmFiaW5zcmMtMS4wLnNvLjAgZ3N0LXBsdWdpbnMtYmFkMS0xLjAuMF8xCiBsaWJnc3Rjb2RlY3Bh cnNlcnMtMS4wLnNvLjAgZ3N0LXBsdWdpbnMtYmFkMS0xLjAuMF8xCiBsaWJnc3RwbGF5ZXItMS4w LnNvLjAgZ3N0LXBsdWdpbnMtYmFkMS0xLjAuMF8xCiBsaWJnc3RnbC0xLjAuc28uMCBnc3QtcGx1 Z2lucy1iYXNlMS0xLjE0LjBfMQotbGliZ25vbWUtZGVza3RvcC0zLnNvLjE4IGdub21lLWRlc2t0 b3AtMy4zNC4wXzEKK2xpYmdub21lLWRlc2t0b3AtMy5zby4xOSBnbm9tZS1kZXNrdG9wLTMuMzYu Ml8xCiBsaWJzZWNyZXQtMS5zby4wIGxpYnNlY3JldC0wLjEwXzEKIGxpYmd3ZWF0aGVyLTMuc28u MTYgbGliZ3dlYXRoZXItMy4zNC4wXzEKIGxpYmdub21la2JkLnNvLjggbGliZ25vbWVrYmQtMy42 LjBfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbm9tZS1kZXNrdG9wL3RlbXBsYXRlIGIvc3JjcGtn cy9nbm9tZS1kZXNrdG9wL3RlbXBsYXRlCmluZGV4IDk5MmNiMWZmMTZhLi5jMWE3NDA4YzIwNyAx MDA2NDQKLS0tIGEvc3JjcGtncy9nbm9tZS1kZXNrdG9wL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv Z25vbWUtZGVza3RvcC90ZW1wbGF0ZQpAQCAtMSwxMSArMSwxMSBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnZ25vbWUtZGVza3RvcCcKIHBrZ25hbWU9Z25vbWUtZGVza3RvcAotdmVyc2lvbj0zLjM0 LjEKK3ZlcnNpb249My4zNi4yCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1tZXNvbgogYnVpbGRf aGVscGVyPSJnaXIiCi1jb25maWd1cmVfYXJncz0iLURnbm9tZS1kaXN0cmlidXRvcj1Wb2lkTGlu dXggLUR1ZGV2PWVuYWJsZWQKLSAtRGludHJvc3BlY3Rpb249JCh2b3B0X2lmIGdpciB0cnVlIGZh bHNlKSIKK2NvbmZpZ3VyZV9hcmdzPSItRGdub21lX2Rpc3RyaWJ1dG9yPVZvaWRMaW51eCAtRHVk ZXY9ZW5hYmxlZAorIC1Ec3lzdGVtZD1kaXNhYmxlZCAtRGludHJvc3BlY3Rpb249JCh2b3B0X2lm IGdpciB0cnVlIGZhbHNlKSIKIGhvc3RtYWtlZGVwZW5kcz0iZ2V0dGV4dCBpdHN0b29sIHBrZy1j b25maWcgZ2xpYi1kZXZlbCIKIG1ha2VkZXBlbmRzPSJldWRldi1saWJ1ZGV2LWRldmVsIGdzZXR0 aW5ncy1kZXNrdG9wLXNjaGVtYXMtZGV2ZWwgZ3RrKzMtZGV2ZWwKICBpc28tY29kZXMgbGliZ2xp Yi1kZXZlbCBsaWJzZWNjb21wLWRldmVsIGxpYlgxMS1kZXZlbCBsaWJYZXh0LWRldmVsCkBAIC0x Niw3ICsxNiw3IEBAIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9y Zz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBMR1BMLTIuMS1vci1sYXRlciIKIGhvbWVw YWdlPSJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtZGVza3RvcCIKIGRpc3Rm aWxlcz0iJHtHTk9NRV9TSVRFfS8ke3BrZ25hbWV9LyR7dmVyc2lvbiUuKn0vJHtwa2duYW1lfS0k e3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWMxZGJlYjU2NjZkYWQyNzE2NmM3NjllNDhlMmFi NDFkZDVlZDc0NzE4ZWEzNWViNTdjODQ4ODc5MDY2MmRjNWEKK2NoZWNrc3VtPTM4Zjk5NGRjYjFl MWFlMDkzZDFjOTI5YzdhY2M0Zjg4ZTM5MTExZTQzYjVmZGMxMzEyNWIwZjZlMjMxMWM3ODkKIAog YnVpbGRfb3B0aW9ucz0iZ2lyIgogYnVpbGRfb3B0aW9uc19kZWZhdWx0PSJnaXIiCgpGcm9tIDc0 ZDZmMmZhMzA0ZTlmMGI3YTFlYmEwNmFiODgyYTJlYTlhYjY3MzUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IE5hZmlzIDxtbmFiaWQuMjVAb3V0bG9vay5jb20+CkRhdGU6IFR1ZSwgMTYg SnVuIDIwMjAgMTk6NDM6MTggKzA2MDAKU3ViamVjdDogW1BBVENIIDAyLzYyXSBnbm9tZS1zZXNz aW9uOiB1cGRhdGUgdG8gMy4zNi4wLgoKLS0tCiBzcmNwa2dzL2dub21lLXNlc3Npb24vdGVtcGxh dGUgfCAxMCArKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ25vbWUtc2Vzc2lvbi90ZW1wbGF0ZSBi L3NyY3BrZ3MvZ25vbWUtc2Vzc2lvbi90ZW1wbGF0ZQppbmRleCA0NDQ0ZjE2MmJmMS4uODhkZWUy MGViNmUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ25vbWUtc2Vzc2lvbi90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL2dub21lLXNlc3Npb24vdGVtcGxhdGUKQEAgLTEsOSArMSw5IEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICdnbm9tZS1zZXNzaW9uJwogcGtnbmFtZT1nbm9tZS1zZXNzaW9uCi12ZXJzaW9u PTMuMzQuMQordmVyc2lvbj0zLjM2LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPW1lc29uCi1j b25maWd1cmVfYXJncz0iLURzeXN0ZW1kX2pvdXJuYWw9ZmFsc2UiCitjb25maWd1cmVfYXJncz0i LURzeXN0ZW1kX3Nlc3Npb249ZGlzYWJsZSAtRHN5c3RlbWRfam91cm5hbD1mYWxzZSIKIGhvc3Rt YWtlZGVwZW5kcz0iZ2xpYi1kZXZlbCBpbnRsdG9vbCBwa2ctY29uZmlnIHhtbHRvIgogbWFrZWRl cGVuZHM9ImVsb2dpbmQtZGV2ZWwgZ25vbWUtZGVza3RvcC1kZXZlbCBndGsrMy1kZXZlbCBqc29u LWdsaWItZGV2ZWwKICBsaWJnbGliLWRldmVsIGxpYklDRS1kZXZlbCBsaWJTTS1kZXZlbCBsaWJY dHN0LWRldmVsIHN0YXJ0dXAtbm90aWZpY2F0aW9uLWRldmVsCkBAIC0xNSw0ICsxNSw4IEBAIG1h aW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJH UEwtMi4wLW9yLWxhdGVyLCBMR1BMLTIuMS1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL2dp dGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2Vzc2lvbiIKIGRpc3RmaWxlcz0iJHtHTk9NRV9T SVRFfS8ke3BrZ25hbWV9LyR7dmVyc2lvbiUuKn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54 eiIKLWNoZWNrc3VtPWQ3ODAxZmUyZDVhNzUxYjE5Y2I1ODA4MTc3MTMxNmE3NmFhYmQ1YzU1MGNk NThkNGU0YzZhNWE0ZWQzNTY2NjAKK2NoZWNrc3VtPWQ1NGIzOGI4MThjODEyZjY0YjgyY2M2YTEy NzllM2NhNWE2ZTM5MWVlNjYyNzkzMzIyYTM4Y2FiNTY3MGJiN2EKKworcG9zdF9pbnN0YWxsKCkg eworCXJtIC1yZiAke0RFU1RESVJ9L3Vzci9saWIvc3lzdGVtZAorfQoKRnJvbSAzYzkyNGRlYzZh N2NlYTJiNTg2YjJlMjBkYWVkOTI4ZWNlNmQ1MmFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRlOiBUdWUsIDE2IEp1biAyMDIw IDE5OjQzOjI1ICswNjAwClN1YmplY3Q6IFtQQVRDSCAwMy82Ml0gbmF1dGlsdXM6IHVwZGF0ZSB0 byAzLjM2LjMuCgotLS0KIHNyY3BrZ3MvbmF1dGlsdXMvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBm aWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL25hdXRpbHVzL3RlbXBsYXRlIGIvc3JjcGtncy9uYXV0aWx1cy90ZW1wbGF0ZQpp bmRleCA1MzdhODUxOTczZi4uOTRjYjEwNDkyY2EgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbmF1dGls dXMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9uYXV0aWx1cy90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ25hdXRpbHVzJwogcGtnbmFtZT1uYXV0aWx1cwotdmVy c2lvbj0zLjM2LjEuMQordmVyc2lvbj0zLjM2LjMKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPW1l c29uCiBidWlsZF9oZWxwZXI9ImdpciIKQEAgLTE2LDggKzE2LDggQEAgc2hvcnRfZGVzYz0iR05P TUUgZmlsZSBtYW5hZ2VyIgogbWFpbnRhaW5lcj0iRW5ubyBCb2xhbmQgPGdvdHRveEB2b2lkbGlu dXgub3JnPiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIsIExHUEwtMi4xLW9yLWxhdGVyIgog aG9tZXBhZ2U9Imh0dHBzOi8vd2lraS5nbm9tZS5vcmcvTmF1dGlsdXMiCi1kaXN0ZmlsZXM9IiR7 R05PTUVfU0lURX0vJHtwa2duYW1lfS8ke3ZlcnNpb246OjR9LyR7cGtnbmFtZX0tJHt2ZXJzaW9u fS50YXIueHoiCi1jaGVja3N1bT1mOTI1MmY1MDgyMTFkOWYzNjhhNDlkYjY5Nzg5MGY4OTVkMDgw ZjA5NTkwYWVjYWYzMzgwM2E1MTlkZWY3YmRlCitkaXN0ZmlsZXM9IiR7R05PTUVfU0lURX0vJHtw a2duYW1lfS8ke3ZlcnNpb24lLip9LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoiCitjaGVj a3N1bT1iNmNhZmM3YWIxZTcwYTY0MzgzZGUzOTFiNjA5N2ZjY2NiZjM2YjIwOGY4NTAyZDhjNDY0 MjMyMjRmZDMwZWY4CiAKIGJ1aWxkX29wdGlvbnM9ImdpciIKIGJ1aWxkX29wdGlvbnNfZGVmYXVs dD0iZ2lyIgoKRnJvbSBkYjJhZjI3MDk4N2UyMWFmMDk4NmFiMTFmMDlmMDg0NWZhNTRmYTk0IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29t PgpEYXRlOiBUdWUsIDE2IEp1biAyMDIwIDE5OjQzOjMyICswNjAwClN1YmplY3Q6IFtQQVRDSCAw NC82Ml0gZ25vbWUtbXVzaWM6IHVwZGF0ZSB0byAzLjM2LjMuCgotLS0KIHNyY3BrZ3MvZ25vbWUt bXVzaWMvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbm9tZS1tdXNpYy90ZW1wbGF0 ZSBiL3NyY3BrZ3MvZ25vbWUtbXVzaWMvdGVtcGxhdGUKaW5kZXggMTI1MTE3MzY0MDcuLjIyNzNh YzFjYTE2IDEwMDY0NAotLS0gYS9zcmNwa2dzL2dub21lLW11c2ljL3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvZ25vbWUtbXVzaWMvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdnbm9tZS1tdXNpYycKIHBrZ25hbWU9Z25vbWUtbXVzaWMKLXZlcnNpb249My4zNi4x Cit2ZXJzaW9uPTMuMzYuMwogcmV2aXNpb249MQogYnVpbGRfaGVscGVyPSJnaXIiCiBidWlsZF9z dHlsZT1tZXNvbgpAQCAtMTUsNSArMTUsNSBAQCBtYWludGFpbmVyPSJFbm5vIEJvbGFuZCA8Z290 dG94QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdl PSJodHRwczovL3dpa2kuZ25vbWUub3JnL0FwcHMvTXVzaWMiCiBkaXN0ZmlsZXM9IiR7R05PTUVf U0lURX0vJHtwa2duYW1lfS8ke3ZlcnNpb24lLip9LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIu eHoiCi1jaGVja3N1bT03YjgwZjYzMGQxNTgzMzQ5MzVhODc2MDI5NjU1MGNjOTFiNTBkNjA0ZmE2 OGI0MDJmZTUxNjViMTUzMWVjMzMyCitjaGVja3N1bT01NGY4ZDI0MGY4OTk1ZjRjZmY0ZGNlNWUx Y2JkYzYwYmVmYzgxZDc5YmY3MmMxZTRmZDgwN2VkMDVjMTE0MjM3CiBsaWIzMmRpc2FibGVkPXll cwoKRnJvbSBiM2VjYTZkMDAxMzZhY2M4ODJmZDQwYjAyMjU0MmZiYzFmNjcxOGM2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRl OiBUdWUsIDE2IEp1biAyMDIwIDE5OjQzOjM4ICswNjAwClN1YmplY3Q6IFtQQVRDSCAwNS82Ml0g ZGV2aGVscDogdXBkYXRlIHRvIDMuMzYuMi4KCi0tLQogc3JjcGtncy9kZXZoZWxwL3RlbXBsYXRl IHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZGV2aGVscC90ZW1wbGF0ZSBiL3NyY3BrZ3MvZGV2aGVs cC90ZW1wbGF0ZQppbmRleCBhMWMyZGNiYjc2Mi4uYmE3NWRmZmRjZTcgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvZGV2aGVscC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2RldmhlbHAvdGVtcGxhdGUKQEAg LTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdkZXZoZWxwJwogcGtnbmFtZT1kZXZo ZWxwCi12ZXJzaW9uPTMuMzYuMQordmVyc2lvbj0zLjM2LjIKIHJldmlzaW9uPTEKIGJ1aWxkX2hl bHBlcj0iZ2lyIgogYnVpbGRfc3R5bGU9bWVzb24KQEAgLTExLDcgKzExLDcgQEAgbWFpbnRhaW5l cj0iRW5ubyBCb2xhbmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkdQTC0yLjAt b3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93aWtpLmdub21lLm9yZy9BcHBzL0RldmhlbHAi CiBkaXN0ZmlsZXM9IiR7R05PTUVfU0lURX0vJHtwa2duYW1lfS8ke3ZlcnNpb24lLip9LyR7cGtn bmFtZX0tJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT00Y2Y4ZWM5MzAyYmM0YTc5ZTAxYWM1 M2JkOWM4Yjk1YTU5NmY3MWYzNTM1MWY0OGI2MzI2MzIyN2YwOWE4YTNkCitjaGVja3N1bT04YjVh ODQzMTllZmJiMmVmMWJjNDAyMmVlM2VkMmQ2Njc4Nzk0ZWJhMmRmYTk5M2U1MGUwM2Q2ZTdiOTMw YzVlCiAKIGRldmhlbHAtZGV2ZWxfcGFja2FnZSgpIHsKIAlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxv cG1lbnQgZmlsZXMiCgpGcm9tIGQxZGRhN2M5NTE5MGQ2ZWJiOTg3MmNjZWM2YTg5NWZiY2VkNDRh NGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE5hZmlzIDxtbmFiaWQuMjVAb3V0bG9v ay5jb20+CkRhdGU6IFR1ZSwgMTYgSnVuIDIwMjAgMTk6NDM6NTEgKzA2MDAKU3ViamVjdDogW1BB VENIIDA2LzYyXSBlb2c6IHVwZGF0ZSB0byAzLjM2LjIuCgotLS0KIHNyY3BrZ3MvZW9nL3RlbXBs YXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZW9nL3RlbXBsYXRlIGIvc3JjcGtncy9lb2cvdGVt cGxhdGUKaW5kZXggZTRjYWNiNzA3OWUuLmNmYTFjZjU3NTk0IDEwMDY0NAotLS0gYS9zcmNwa2dz L2VvZy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2VvZy90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2VvZycKIHBrZ25hbWU9ZW9nCi12ZXJzaW9uPTMuMzYuMQor dmVyc2lvbj0zLjM2LjIKIHJldmlzaW9uPTEKIGJ1aWxkX2hlbHBlcj0iZ2lyIgogYnVpbGRfc3R5 bGU9bWVzb24KQEAgLTE0LDcgKzE0LDcgQEAgbWFpbnRhaW5lcj0iRW5ubyBCb2xhbmQgPGdvdHRv eEB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0i aHR0cHM6Ly93aWtpLmdub21lLm9yZy9BcHBzL0V5ZU9mR25vbWUiCiBkaXN0ZmlsZXM9IiR7R05P TUVfU0lURX0vZW9nLyR7dmVyc2lvbiUuKn0vZW9nLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tz dW09ZTQ1NGExYTdhYTVlM2EzMzIxZWFiMDExNjc3ODExMGU1YTdhN2I2M2JjZjIxNjc2ZWRhMWE3 YmUxODdjOWM5NQorY2hlY2tzdW09NWMwNTZiMDI5NWE4ZTA2ZDA5M2I4ZmM2MGIxMGUyYThjMTlh YmRiN2JlYWUxYzdlN2UwNTk1ZWNlMmUxYjc4Ywogc2hsaWJfcHJvdmlkZXM9ImxpYmVvZy5zbyIK IGxpYjMyZGlzYWJsZWQ9eWVzCiAKCkZyb20gNDRjZWIzOTI4NTU4ZDA2MzRlMjAwN2NkMTI2ZjM2 NWUzYmRmMjM5MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmFmaXMgPG1uYWJpZC4y NUBvdXRsb29rLmNvbT4KRGF0ZTogVHVlLCAxNiBKdW4gMjAyMCAxOTo0Mzo1OSArMDYwMApTdWJq ZWN0OiBbUEFUQ0ggMDcvNjJdIGV2aW5jZTogdXBkYXRlIHRvIDMuMzYuMy4KCi0tLQogc3JjcGtn cy9ldmluY2UvdGVtcGxhdGUgfCAxOSArKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMTAgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dz L2V2aW5jZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvZXZpbmNlL3RlbXBsYXRlCmluZGV4IGMzMzdhMjY2 Y2UwLi5jYTk2MWQwMDI2OSAxMDA2NDQKLS0tIGEvc3JjcGtncy9ldmluY2UvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9ldmluY2UvdGVtcGxhdGUKQEAgLTEsMTQgKzEsMTMgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ2V2aW5jZScKIHBrZ25hbWU9ZXZpbmNlCi12ZXJzaW9uPTMuMzYuMAordmVyc2lv bj0zLjM2LjMKIHJldmlzaW9uPTEKIGJ1aWxkX2hlbHBlcj0iZ2lyIgotYnVpbGRfc3R5bGU9Z251 LWNvbmZpZ3VyZQotY29uZmlndXJlX2FyZ3M9IiQodm9wdF9lbmFibGUgZ2lyIGludHJvc3BlY3Rp b24pIC0tZGlzYWJsZS1zY2hlbWFzLWNvbXBpbGUKLSAtLWVuYWJsZS1jb21pY3MgLS1kaXNhYmxl LXN0YXRpYyAtLWVuYWJsZS14cHMgLS1kaXNhYmxlLXQxbGliCi0gLS1kaXNhYmxlLWJyb3dzZXIt cGx1Z2luIC0tZW5hYmxlLXBzIgorYnVpbGRfc3R5bGU9bWVzb24KK2NvbmZpZ3VyZV9hcmdzPSIt RGNvbWljcz1lbmFibGVkIC1EeHBzPWVuYWJsZWQgLUR0MWxpYj1lbmFibGVkIC1EcHM9ZW5hYmxl ZCAtRGR2aT1kaXNhYmxlZAorIC1EaW50cm9zcGVjdGlvbj0kKHZvcHRfaWYgZ2lyIHRydWUgZmFs c2UpIC1EZ3RrX2RvYz0kKHZvcHRfaWYgZ3RrX2RvYyB0cnVlIGZhbHNlKSIKIGhvc3RtYWtlZGVw ZW5kcz0iYWR3YWl0YS1pY29uLXRoZW1lIGdldHRleHQgZ2xpYi1kZXZlbCBnbm9tZS1kb2MtdXRp bHMKLSBpdHN0b29sIHBrZy1jb25maWcgcGVybC1YTUwtUGFyc2VyIGFwcHN0cmVhbS1nbGliIgor IGl0c3Rvb2wgcGtnLWNvbmZpZyBwZXJsLVhNTC1QYXJzZXIgYXBwc3RyZWFtLWdsaWIgJCh2b3B0 X2lmIGd0a19kb2MgZ3RrLWRvYykiCiAjIFhYWCBtaXNzaW5nIHBhY2thZ2VzIGZvciBEVkkgYmFj a2VuZC4KIG1ha2VkZXBlbmRzPSJhZHdhaXRhLWljb24tdGhlbWUgZGp2dWxpYnJlLWRldmVsIGdu b21lLWRlc2t0b3AtZGV2ZWwgbGliU00tZGV2ZWwKICBsaWJneHBzLWRldmVsIGxpYnNlY3JldC1k ZXZlbCBsaWJzcGVjdHJlLWRldmVsIG5hdXRpbHVzLWRldmVsCkBAIC0xOSw5ICsxOCw5IEBAIG1h aW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJH UEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd2lraS5nbm9tZS5vcmcvQXBwcy9F dmluY2UiCiBkaXN0ZmlsZXM9IiR7R05PTUVfU0lURX0vJHtwa2duYW1lfS8ke3ZlcnNpb24lLip9 LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT04NTFkOWI1MjM0ZDQ3OWFi NGM4ZjdjNWNiYWNlYjBlOTFhZDc5Y2NiYTFhN2I3MzNjZGU3MmRhY2M5MjhmYmE4CitjaGVja3N1 bT1hZjJlYmRmN2Y3NGU2NTgwYzRmMWExMmJkZmUyNmI5ZmY5MDM3NGQ3YWNhZTA2MWRlMDY2NmQ2 NDAxMmE5ZGIyCiAKLWJ1aWxkX29wdGlvbnM9ImdpciIKK2J1aWxkX29wdGlvbnM9ImdpciBndGtf ZG9jIgogYnVpbGRfb3B0aW9uc19kZWZhdWx0PSJnaXIiCiAKIGxpYmV2aW5jZV9wYWNrYWdlKCkg ewpAQCAtNDEsNyArNDAsOSBAQCBldmluY2UtZGV2ZWxfcGFja2FnZSgpIHsKIAkJdm1vdmUgdXNy L2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgInVzci9saWIvKi5z byIKLQkJdm1vdmUgdXNyL3NoYXJlL2d0ay1kb2MKKwkJaWYgWyAiJGJ1aWxkX29wdGlvbl9ndGtf ZG9jIiBdOyB0aGVuCisJCQl2bW92ZSB1c3Ivc2hhcmUvZ3RrLWRvYworCQlmaQogCQlpZiBbICIk YnVpbGRfb3B0aW9uX2dpciIgXTsgdGhlbgogCQkJdm1vdmUgdXNyL3NoYXJlL2dpci0xLjAKIAkJ ZmkKCkZyb20gODlmY2IyNDE5Y2Q1MmViN2I1MjgzODU4ZDViNjljMmY5MDUxYWNkYSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmFmaXMgPG1uYWJpZC4yNUBvdXRsb29rLmNvbT4KRGF0 ZTogVHVlLCAxNiBKdW4gMjAyMCAxOTo0NDowNyArMDYwMApTdWJqZWN0OiBbUEFUQ0ggMDgvNjJd IGdub21lLW1hcHM6IHVwZGF0ZSB0byAzLjM2LjIuCgouLi4gYW5kIHVubWFyayBub2Nyb3NzLgot LS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAgICB8IDEgKwogc3JjcGtncy9nbm9tZS1tYXBz L3RlbXBsYXRlIHwgOCArKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyks IDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxp YnMKaW5kZXggNDI3N2E5ODNjZWYuLjdjNzFmYzRhYjlmIDEwMDY0NAotLS0gYS9jb21tb24vc2hs aWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTYyMiw2ICs2MjIsNyBAQCBsaWJjYW5iZXJyYS1n dGszLnNvLjAgbGliY2FuYmVycmEtZ3RrMy0wLjMwXzYKIGxpYmd0b3AtMi4wLnNvLjExIGxpYmd0 b3AtMi4zOC4wXzEKIGxpYnJhcmlhbi5zby4wIHJhcmlhbi0wLjguMV8xCiBsaWJtdXNpa2NvcmUu c28gbXVzaWtjdWJlLTAuNjAuMV8xCitsaWJnbm9tZS1tYXBzLnNvLjAgZ25vbWUtbWFwcy0zLjM2 LjJfMQogbGliZ25vbWUtbWVudS0zLnNvLjAgZ25vbWUtbWVudXMtMi45MS42XzEKIGxpYmFydF9s Z3BsXzIuc28uMiBsaWJhcnQtMi4zLjIwXzEKIGxpYmdub21lY2FudmFzLTIuc28uMCBsaWJnbm9t ZWNhbnZhcy0yLjMwLjFfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbm9tZS1tYXBzL3RlbXBsYXRl IGIvc3JjcGtncy9nbm9tZS1tYXBzL3RlbXBsYXRlCmluZGV4IDAzMDBiZTYwNTk5Li5hNjdkODRm NDM5NiAxMDA2NDQKLS0tIGEvc3JjcGtncy9nbm9tZS1tYXBzL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvZ25vbWUtbWFwcy90ZW1wbGF0ZQpAQCAtMSw5ICsxLDEwIEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICdnbm9tZS1tYXBzJwogcGtnbmFtZT1nbm9tZS1tYXBzCi12ZXJzaW9uPTMuMzYuMQordmVy c2lvbj0zLjM2LjIKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPW1lc29uCi1ob3N0bWFrZWRlcGVu ZHM9ImdsaWItZGV2ZWwgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGludGx0b29sIHBrZy1jb25maWcg QXBwU3RyZWFtIgorYnVpbGRfaGVscGVyPSJnaXIiCitob3N0bWFrZWRlcGVuZHM9ImdsaWItZGV2 ZWwgZ2pzLWRldmVsIGludGx0b29sIHBrZy1jb25maWcgQXBwU3RyZWFtIgogbWFrZWRlcGVuZHM9 ImZvbGtzLWRldmVsIGdlb2NsdWUyLWRldmVsIGdlb2NvZGUtZ2xpYi1kZXZlbCBnanMtZGV2ZWwK ICBnbm9tZS1kZXNrdG9wLWRldmVsIGxpYmNoYW1wbGFpbi1kZXZlbCByZXN0LWRldmVsIgogZGVw ZW5kcz0iZ2VvY2x1ZTIgZ2ZiZ3JhcGggZ2pzIgpAQCAtMTIsNSArMTMsNCBAQCBtYWludGFpbmVy PSJFbm5vIEJvbGFuZCA8Z290dG94QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1v ci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3dpa2kuZ25vbWUub3JnL0FwcHMvTWFwcyIKIGRp c3RmaWxlcz0iJHtHTk9NRV9TSVRFfS8ke3BrZ25hbWV9LyR7dmVyc2lvbiUuKn0vJHtwa2duYW1l fS0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTFhMzJlZmQ5NmFkODk4Zjc3YTYzNmQyZDA0 NjNkNzU3MDA5YjRiODEyMjU5Yzg5ZmZkY2I5MWQ2YWZjMDUyZjkKLW5vY3Jvc3M9ImV2b2x1dGlv bi1kYXRhc2VydmVyIGNyb3NzIGdpciBkb2Vzbid0IHdvcmsiCitjaGVja3N1bT01YmEyMTliOWRl OTg2NzhjZWZhNTg0OGY2NTM4ZGI4ZGJkMDdmNmM3NDdmZDQzYTk5MTY3YTI2Njg3OGE5Nzg0CgpG cm9tIGI0YTU1MjhiNmVlNTUxMjA1YTE3NzJkNDlhM2U0NzMzNjU4ZjdhOTMgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IE5hZmlzIDxtbmFiaWQuMjVAb3V0bG9vay5jb20+CkRhdGU6IFR1 ZSwgMTYgSnVuIDIwMjAgMTk6NDQ6MTQgKzA2MDAKU3ViamVjdDogW1BBVENIIDA5LzYyXSBnZWRp dDogdXBkYXRlIHRvIDMuMzYuMi4KCi0tLQogc3JjcGtncy9nZWRpdC90ZW1wbGF0ZSB8IDQgKyst LQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmNwa2dzL2dlZGl0L3RlbXBsYXRlIGIvc3JjcGtncy9nZWRpdC90ZW1wbGF0ZQpp bmRleCA0ZTI3M2FhZjE4Mi4uZTNlYmVhMDVlYTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ2VkaXQv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9nZWRpdC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ2dlZGl0JwogcGtnbmFtZT1nZWRpdAotdmVyc2lvbj0zLjM2LjEK K3ZlcnNpb249My4zNi4yCiByZXZpc2lvbj0xCiBidWlsZF9oZWxwZXI9ImdpciIKIGJ1aWxkX3N0 eWxlPW1lc29uCkBAIC0xNyw3ICsxNyw3IEBAIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0 b3hAdm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9 Imh0dHBzOi8vd2lraS5nbm9tZS5vcmcvQXBwcy9HZWRpdCIKIGRpc3RmaWxlcz0iJHtHTk9NRV9T SVRFfS8ke3BrZ25hbWV9LyR7dmVyc2lvbiUuKn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54 eiIKLWNoZWNrc3VtPTZkYzM4ZWRhMjI3ZDFjMzY4ZTAzOWU5YmZmNDg1ZDBiZWU5YTQ5ZDVmOTU2 MGMzODdlZTA4ZjU4MThhNGUzODcKK2NoZWNrc3VtPTY4ODc1NTQ2NDNjNWIxYjM4NjJhYzM2NGQ5 N2I3YjUwMjI0YmZmOTVlNjc1OGFlYWEwOGY0YTQ4MmI1NTQxOTcKIHNobGliX3Byb3ZpZGVzPSJs aWJnZWRpdC0zLjM2LnNvIgogcHl0aG9uX3ZlcnNpb249MwogCgpGcm9tIDY3NzgzN2UxN2E2NTFh NjAzMjFkYmY5MTVmZGM2ZmViOGFmMmQ2MjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IE5hZmlzIDxtbmFiaWQuMjVAb3V0bG9vay5jb20+CkRhdGU6IFR1ZSwgMTYgSnVuIDIwMjAgMTk6 NDQ6MjEgKzA2MDAKU3ViamVjdDogW1BBVENIIDEwLzYyXSBnbm9tZS1jb250YWN0czogdXBkYXRl IHRvIDMuMzYuMS4KCi0tLQogc3JjcGtncy9nbm9tZS1jb250YWN0cy90ZW1wbGF0ZSB8IDggKysr Ky0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9nbm9tZS1jb250YWN0cy90ZW1wbGF0ZSBiL3NyY3BrZ3MvZ25v bWUtY29udGFjdHMvdGVtcGxhdGUKaW5kZXggMmE4MjEzYTcyNDAuLjAxZmI4MmI3ODI2IDEwMDY0 NAotLS0gYS9zcmNwa2dzL2dub21lLWNvbnRhY3RzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ25v bWUtY29udGFjdHMvdGVtcGxhdGUKQEAgLTEsMTAgKzEsMTAgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ2dub21lLWNvbnRhY3RzJwogcGtnbmFtZT1nbm9tZS1jb250YWN0cwotdmVyc2lvbj0zLjM0 LjAKLXJldmlzaW9uPTIKK3ZlcnNpb249My4zNi4xCityZXZpc2lvbj0xCiB3cmtzcmM9Imdub21l LWNvbnRhY3RzLSR7dmVyc2lvbiUuKn0iCiBidWlsZF9zdHlsZT1tZXNvbgotaG9zdG1ha2VkZXBl bmRzPSJkb2Nib29rLXhzbCBnZXR0ZXh0IGdsaWItZGV2ZWwgbGlieHNsdCBwa2ctY29uZmlnIHZh bGEiCitob3N0bWFrZWRlcGVuZHM9ImRvY2Jvb2steHNsIGZvbGtzLWRldmVsIGdldHRleHQgZ2xp Yi1kZXZlbCBsaWJ4c2x0IHBrZy1jb25maWcgdmFsYSIKIG1ha2VkZXBlbmRzPSJjaGVlc2UtZGV2 ZWwgZm9sa3MtZGV2ZWwgZ2VvY29kZS1nbGliLWRldmVsIGdub21lLWRlc2t0b3AtZGV2ZWwKICBs aWJjaGFtcGxhaW4tZGV2ZWwgbGlibm90aWZ5LWRldmVsIHZhbGEtZGV2ZWwgbGliaGFuZHktZGV2 ZWwiCiBkZXBlbmRzPSJkZXNrdG9wLWZpbGUtdXRpbHMiCkBAIC0xMyw0ICsxMyw0IEBAIG1haW50 YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwt Mi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd2lraS5nbm9tZS5vcmcvQXBwcy9Db250 YWN0cyIKIGRpc3RmaWxlcz0iJHtHTk9NRV9TSVRFfS8ke3BrZ25hbWV9LyR7dmVyc2lvbiUuKn0v JHtwa2duYW1lfS0ke3ZlcnNpb24lLip9LnRhci54eiIKLWNoZWNrc3VtPTk5NjAyZWM4ZDY2MGMx ZjNjOTJjYWU2MzU2ZjY0ZjcyZmI2ZGI1OGU1NWJjZTI3YTU5OTMzMGJmN2I2MjJmMTIKK2NoZWNr c3VtPWVlY2JkMjIwOWQ5M2M4ZDMxZGY5MmY2Y2NmNzkxODNiNDU2YzZlMDdhMjhhZTAxNTVjYmRh MThhYWJkMzZmN2IKCkZyb20gMmQ4OTM3YmQ2NjNmMmQwZGFmZWJiODdjMzM1ODkyMmU0ZmZkMTM0 NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmFmaXMgPG1uYWJpZC4yNUBvdXRsb29r LmNvbT4KRGF0ZTogVHVlLCAxNiBKdW4gMjAyMCAxOTo0NDoyOSArMDYwMApTdWJqZWN0OiBbUEFU Q0ggMTEvNjJdIGdub21lLWNsb2NrczogdXBkYXRlIHRvIDMuMzYuMi4KCi0tLQogc3JjcGtncy9n bm9tZS1jbG9ja3MvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbm9tZS1jbG9ja3Mv dGVtcGxhdGUgYi9zcmNwa2dzL2dub21lLWNsb2Nrcy90ZW1wbGF0ZQppbmRleCAzZTA0OWI0MmZi MS4uMzRiMTU5YWU2YTYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ25vbWUtY2xvY2tzL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvZ25vbWUtY2xvY2tzL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAnZ25vbWUtY2xvY2tzJwogcGtnbmFtZT1nbm9tZS1jbG9ja3MKLXZl cnNpb249My4zNi4wCit2ZXJzaW9uPTMuMzYuMgogcmV2aXNpb249MQogYnVpbGRfaGVscGVyPSJn aXIiCiBidWlsZF9zdHlsZT1tZXNvbgpAQCAtMTUsNCArMTUsNCBAQCBtYWludGFpbmVyPSJFbm5v IEJvbGFuZCA8Z290dG94QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRl ciIKIGhvbWVwYWdlPSJodHRwczovL3dpa2kuZ25vbWUub3JnL0FwcHMvQ2xvY2tzIgogZGlzdGZp bGVzPSIke0dOT01FX1NJVEV9LyR7cGtnbmFtZX0vJHt2ZXJzaW9uJS4qfS8ke3BrZ25hbWV9LSR7 dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09NGM5NzhiMGM3ZjdiOWRhZWJkMjcyZDAxNzVmOGE1 NDQxNWUyMDc4ZjEzNGY0OGFkZDVjZjI0MzYyZWVmNDljNgorY2hlY2tzdW09ZjExYjFiMjJlYzFm Mjg1ZTUwOTg4MzY4NGMwYjFmNGE1MTQ5NmFlYTEwNTU5MTIzOWU1YjI2Zjg5ODY3NTFlNgoKRnJv bSA4N2VlM2M5OGMzODQxMzhiNTNlZWViOTRjYmI0YThhZGM5NTg3Mjg3IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRlOiBUdWUs IDE2IEp1biAyMDIwIDE5OjQ0OjM2ICswNjAwClN1YmplY3Q6IFtQQVRDSCAxMi82Ml0gZ25vbWUt ZXB1Yi10aHVtYm5haWxlcjogdXBkYXRlIHRvIDEuNi4KCi0tLQogc3JjcGtncy9nbm9tZS1lcHVi LXRodW1ibmFpbGVyL3RlbXBsYXRlIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2Vy dGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbm9tZS1lcHVi LXRodW1ibmFpbGVyL3RlbXBsYXRlIGIvc3JjcGtncy9nbm9tZS1lcHViLXRodW1ibmFpbGVyL3Rl bXBsYXRlCmluZGV4IGIxNmU3MDU0NzVmLi5kNjdiNzdmMWU0MyAxMDA2NDQKLS0tIGEvc3JjcGtn cy9nbm9tZS1lcHViLXRodW1ibmFpbGVyL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ25vbWUtZXB1 Yi10aHVtYm5haWxlci90ZW1wbGF0ZQpAQCAtMSwxMyArMSwxMyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnZ25vbWUtZXB1Yi10aHVtYm5haWxlcicKIHBrZ25hbWU9Z25vbWUtZXB1Yi10aHVtYm5h aWxlcgotdmVyc2lvbj0xLjUKK3ZlcnNpb249MS42CiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1n bnUtY29uZmlndXJlCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0i Z2RrLXBpeGJ1Zi1kZXZlbCBsaWJhcmNoaXZlLWRldmVsIGxpYnhtbDItZGV2ZWwiCiBzaG9ydF9k ZXNjPSJUaHVtYm5haWxlciBmb3IgRVB1YiBhbmQgTU9CSSBib29rcyIKIG1haW50YWluZXI9IkFs aWYgUmFjaG1hd2FkaSA8YXJjaEBzdWJvc2l0by5jb20+IgotbGljZW5zZT0iR1BMLTMiCitsaWNl bnNlPSJHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vZ2l0Lmdub21lLm9yZy9i cm93c2UvZ25vbWUtZXB1Yi10aHVtYm5haWxlciIKIGRpc3RmaWxlcz0iJHtHTk9NRV9TSVRFfS8k e3BrZ25hbWV9LyR7dmVyc2lvbn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNr c3VtPTMwODIxMGY1ODAwMjE5ZjY0Y2FlNDgyOGU1OWJiOGU2ZTRjNTNiODg4MDQ4Y2Y0ODcyMjFh ZWI0MzM3ZDc5MWEKK2NoZWNrc3VtPWI1MDI0MjBkOWIwMmVhMGIwZmM3OTg2ZWY1YTA5MWExMmIy Mjg2YmUxNGZlZDllNDc1OTRmZTlmYTBjNTg5OGUKCkZyb20gNmVkZDhiZWQwOTE4Y2UzMGY4ZDBj NmE3NmRiYjc2ZGZjMTNiNGJkMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmFmaXMg PG1uYWJpZC4yNUBvdXRsb29rLmNvbT4KRGF0ZTogVHVlLCAxNiBKdW4gMjAyMCAxOTo0NDo0NCAr MDYwMApTdWJqZWN0OiBbUEFUQ0ggMTMvNjJdIGdub21lLXRlcm1pbmFsOiB1cGRhdGUgdG8gMy4z Ni4yLgoKLS0tCiBzcmNwa2dzL2dub21lLXRlcm1pbmFsL3RlbXBsYXRlIHwgNiArKystLS0KIDEg ZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9nbm9tZS10ZXJtaW5hbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvZ25vbWUtdGVybWlu YWwvdGVtcGxhdGUKaW5kZXggYmYzZDViY2RkNDIuLjIyZGJjMTFiYWRhIDEwMDY0NAotLS0gYS9z cmNwa2dzL2dub21lLXRlcm1pbmFsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ25vbWUtdGVybWlu YWwvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnbm9tZS10 ZXJtaW5hbCcKIHBrZ25hbWU9Z25vbWUtdGVybWluYWwKLXZlcnNpb249My4zNi4xLjEKK3ZlcnNp b249My4zNi4yCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1 cmVfYXJncz0iLS1kaXNhYmxlLXN0YXRpYyAtLXdpdGgtbmF1dGlsdXMtZXh0ZW5zaW9uIgpAQCAt MTMsOCArMTMsOCBAQCBzaG9ydF9kZXNjPSJHTk9NRSB0ZXJtaW5hbCBlbXVsYXRvciBhcHBsaWNh dGlvbiIKIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCiBs aWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBHRkRMLTEuMy1vbmx5IgogaG9tZXBhZ2U9Imh0dHBz Oi8vd2lraS5nbm9tZS5vcmcvQXBwcy9UZXJtaW5hbCIKLWRpc3RmaWxlcz0iJHtHTk9NRV9TSVRF fS8ke3BrZ25hbWV9LyR7dmVyc2lvbjowOjR9LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoi Ci1jaGVja3N1bT1mM2Q3MDhhMWU3NmQ3N2MxYzg1YjEyNmY2ZTAwMzIyMGExNWQ0YTQ2YTUwZmQ4 MDcwZTFhM2FhYmU2NzhhMzc2CitkaXN0ZmlsZXM9IiR7R05PTUVfU0lURX0vJHtwa2duYW1lfS8k e3ZlcnNpb24lLip9LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoiCitjaGVja3N1bT00MWQx YjZhM2RjOTdjMDY2ZTI5NGFjZGI3ZjM2OTMxZTgxNjY4NjM4ZGNjOTJmZmEyNWJjYTNkZGViYWNk ZjQ2CiBsaWIzMmRpc2FibGVkPXllcwogCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KCkZy b20gYjYzMjgyZGNlNmMzMWUxNjZlN2MwYTQ3NzdjNGNiNzEwNGE1ZTYxYiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogTmFmaXMgPG1uYWJpZC4yNUBvdXRsb29rLmNvbT4KRGF0ZTogVHVl LCAxNiBKdW4gMjAyMCAxOTo0NDo1MiArMDYwMApTdWJqZWN0OiBbUEFUQ0ggMTQvNjJdIGdub21l LXBvZGNhc3RzOiB1cGRhdGUgdG8gMC40LjcuCgotLS0KIC4uLi9nbm9tZS1wb2RjYXN0cy9wYXRj aGVzL2ZpeC1idWlsZC5wYXRjaCAgICB8IDIxIC0tLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvZ25v bWUtcG9kY2FzdHMvdGVtcGxhdGUgICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKystLS0tLS0t LS0KIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9nbm9tZS1wb2RjYXN0cy9wYXRjaGVzL2ZpeC1idWls ZC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ25vbWUtcG9kY2FzdHMvcGF0Y2hlcy9maXgt YnVpbGQucGF0Y2ggYi9zcmNwa2dzL2dub21lLXBvZGNhc3RzL3BhdGNoZXMvZml4LWJ1aWxkLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZWI5NTgxYmQ3OS4uMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9nbm9tZS1wb2RjYXN0cy9wYXRjaGVzL2ZpeC1idWlsZC5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLS0tLSBwb2RjYXN0cy1ndGsvc3JjL3dpZGdl dHMvZXBpc29kZS5ycy5vcmlnCTIwMTktMDYtMDkgMTU6NTQ6NTkuNzkzNDUxMDQ3ICswMjAwCi0r KysgcG9kY2FzdHMtZ3RrL3NyYy93aWRnZXRzL2VwaXNvZGUucnMJMjAxOS0wNi0wOSAxNTo1NTox OS4xOTEzMTE1MTIgKzAyMDAKLUBAIC01NTksNyArNTU5LDcgQEAKLSAgICAgICAgICAgICAudG90 YWxfc2l6ZQotICAgICAgICAgICAgIC5nZXRfdGV4dCgpCi0gICAgICAgICAgICAgLmFzX3JlZigp Ci0tICAgICAgICAgICAgLm1hcCh8c3wgcy50cmltX3JpZ2h0X21hdGNoZXMoIiBNQiIpKQotKyAg ICAgICAgICAgIC5tYXAofHN8IHMudHJpbV9lbmRfbWF0Y2hlcygiIE1CIikpCi0gICAgICAgICAg ICAgLmFuZF90aGVuKHxzfCBzLnBhcnNlOjo8aTMyPigpLm9rKCkpCi0gICAgICAgICAgICAgLmlz X25vbmUoKQotICAgICAgICAgewotLS0tIHBvZGNhc3RzLWd0ay9zcmMvd2lkZ2V0cy9zaG93c192 aWV3LnJzLm9yaWcJMjAxOS0wNi0wOSAxNTo1NDowMC4zMjA4Nzg4NjcgKzAyMDAKLSsrKyBwb2Rj YXN0cy1ndGsvc3JjL3dpZGdldHMvc2hvd3Nfdmlldy5ycwkyMDE5LTA2LTA5IDE1OjU0OjEzLjE1 MTc4NjU2MyArMDIwMAotQEAgLTgwLDcgKzgwLDYgQEAKLSB9Ci0gCi0gZm4gb25fY2hpbGRfYWN0 aXZhdGUoY2hpbGQ6ICZndGs6OkZsb3dCb3hDaGlsZCwgc2VuZGVyOiAmU2VuZGVyPEFjdGlvbj4p IC0+IFJlc3VsdDwoKSwgRXJyb3I+IHsKLS0gICAgdXNlIGd0azo6V2lkZ2V0RXh0OwotIAotICAg ICAvLyBUaGlzIGlzIHN1Y2ggYW4gdWdseSBoYWNrLi4uCi0gICAgIGxldCBpZCA9IFdpZGdldEV4 dDo6Z2V0X25hbWUoY2hpbGQpCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dub21lLXBvZGNhc3RzL3Rl bXBsYXRlIGIvc3JjcGtncy9nbm9tZS1wb2RjYXN0cy90ZW1wbGF0ZQppbmRleCA3MmUyZGI2YjEw OS4uM2MyMzlkZjg0MjQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ25vbWUtcG9kY2FzdHMvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9nbm9tZS1wb2RjYXN0cy90ZW1wbGF0ZQpAQCAtMSwyNiArMSwyOCBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ25vbWUtcG9kY2FzdHMnCiBwa2duYW1lPWdub21lLXBv ZGNhc3RzCi12ZXJzaW9uPTAuNC42Ci1yZXZpc2lvbj0zCit2ZXJzaW9uPTAuNC43CityZXZpc2lv bj0xCiB3cmtzcmM9InBvZGNhc3RzLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1tZXNvbgotaG9z dG1ha2VkZXBlbmRzPSJjYXJnbyBnZXR0ZXh0LWRldmVsIGdsaWItZGV2ZWwgcGtnLWNvbmZpZyIK K2J1aWxkX2hlbHBlcj0icnVzdCIKK2hvc3RtYWtlZGVwZW5kcz0iY2FyZ28gZ2V0dGV4dCBnbGli LWRldmVsIHBrZy1jb25maWcgc3FsaXRlLWRldmVsIgogbWFrZWRlcGVuZHM9ImdzdHJlYW1lcjEt ZGV2ZWwgZ3N0LXBsdWdpbnMtYmFkMS1kZXZlbCBnc3QtcGx1Z2lucy1iYXNlMS1kZXZlbAotIGd0 ayszLWRldmVsIGxpYmhhbmR5LWRldmVsIGxpYnJlc3NsLWRldmVsIHNxbGl0ZS1kZXZlbCB0ZXhp bmZvIgorIGd0ayszLWRldmVsIGxpYmhhbmR5LWRldmVsIGxpYnJlc3NsLWRldmVsIHNxbGl0ZS1k ZXZlbCBydXN0LXN0ZCIKIHNob3J0X2Rlc2M9Ikxpc3RlbiB0byB5b3VyIGZhdm9yaXRlIHBvZGNh c3RzIgogbWFpbnRhaW5lcj0iRW5ubyBCb2xhbmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIKIGxp Y2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93aWtpLmdub21lLm9y Zy9BcHBzL1BvZGNhc3RzIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvV29y bGQvcG9kY2FzdHMvLS9hcmNoaXZlLyR7dmVyc2lvbn0vcG9kY2FzdHMtJHt2ZXJzaW9ufS50YXIu Z3oiCi1jaGVja3N1bT05NTNjNjNlODE4NGNhMWY3NDg0MThkOGE4MjYyZDQwZWFhNDEwNDdmODFl MmQyYzg3NGEzMDM1ZDlkOWQwZTRhCi1ub2Nyb3NzPSJydXN0YyBjYW50IGJlIGNyb3NzY29tcGls ZWQgYXMgb2Ygbm93IgotYnJva2VuPSJnZXR0ZXh0LXJzIGhhc2ggZG9lcyBub3QgZXhpc3RzLCBp ZiBmaXhlZCBidWlsZCBmYWlscyBpbiBnaW8gMC41LjAiCitjaGVja3N1bT1hOWExYjYyZGQzNTY3 ZTNjY2EzOGVlMjlkZjJmYWRkODJlMmZiNWU4MzdiMGEyYTI2ZWNhYzc0ZTkzMDUxNjFjCiAKIGV4 cG9ydCBHRVRURVhUX0JJTl9ESVI9L3Vzci9iaW4KIGV4cG9ydCBHRVRURVhUX0xJQl9ESVI9IiR7 WEJQU19DUk9TU19CQVNFfS91c3IvbGliL2dldHRleHQiCiBleHBvcnQgR0VUVEVYVF9JTkNMVURF X0RJUj0iJHtYQlBTX0NST1NTX0JBU0V9L3Vzci9pbmNsdWRlIgogCi1wcmVfYnVpbGQoKSB7Ci0J Y2FyZ28gdXBkYXRlIC0tcGFja2FnZSBvcGVuc3NsLXN5cyAtLXByZWNpc2UgMC45LjQ2Ci0JY2Fy Z28gdXBkYXRlIC0tcGFja2FnZSBvcGVuc3NsIC0tcHJlY2lzZSAwLjEwLjIyCi19CitpZiBbICIk Q1JPU1NfQlVJTEQiIF07IHRoZW4KKwlwb3N0X3BhdGNoKCkgeworCQl2c2VkIC1pIHNjcmlwdHMv Y2FyZ28uc2ggXAorCQkJLWUgJ3MlIiRDQVJHT19UQVJHRVRfRElSIi8lJiR7UlVTVF9UQVJHRVR9 LyUnIFwKKwkJCS1lICcvQ0FSR09fSE9NRS9kJworCX0KK2ZpCgpGcm9tIGY2ZGJjYzIyOGUwNDBk NjJkMzZhZjYyNDY4YjI4MTE2MzJkNmZjZGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IE5hZmlzIDxtbmFiaWQuMjVAb3V0bG9vay5jb20+CkRhdGU6IFR1ZSwgMTYgSnVuIDIwMjAgMTk6 NDU6MDEgKzA2MDAKU3ViamVjdDogW1BBVENIIDE1LzYyXSBnbm9tZS1jb250cm9sLWNlbnRlcjog dXBkYXRlIHRvIDMuMzYuMy4KCi0tLQogc3JjcGtncy9nbm9tZS1jb250cm9sLWNlbnRlci90ZW1w bGF0ZSB8IDIwICsrKysrKysrKysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0 aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dub21lLWNvbnRy b2wtY2VudGVyL3RlbXBsYXRlIGIvc3JjcGtncy9nbm9tZS1jb250cm9sLWNlbnRlci90ZW1wbGF0 ZQppbmRleCAwZTI3ODc4OThhZS4uNTNhNTU1NTI1YjQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ25v bWUtY29udHJvbC1jZW50ZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nbm9tZS1jb250cm9sLWNl bnRlci90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2dub21l LWNvbnRyb2wtY2VudGVyJwogcGtnbmFtZT1nbm9tZS1jb250cm9sLWNlbnRlcgotdmVyc2lvbj0z LjM0LjEKK3ZlcnNpb249My4zNi4zCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1tZXNvbgogYnVp bGRfaGVscGVyPSJnaXIiCkBAIC0xMCwyNCArMTAsMzYgQEAgaG9zdG1ha2VkZXBlbmRzPSJnbGli LWRldmVsIGdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMtZGV2ZWwgaW50bHRvb2wgcGtnLWNvbmZp ZwogbWFrZWRlcGVuZHM9Ik1vZGVtTWFuYWdlci1kZXZlbCBhY2NvdW50c3NlcnZpY2UtZGV2ZWwg YWxzYS1wbHVnaW5zCiAgY29sb3JkLWd0ay1kZXZlbCBnbm9tZS1ibHVldG9vdGgtZGV2ZWwgZ25v bWUtZGVza3RvcC1kZXZlbCBnbm9tZS1tZW51cy1kZXZlbAogIGdub21lLW9ubGluZS1hY2NvdW50 cy1kZXZlbCBnbm9tZS1zZXR0aW5ncy1kYWVtb24tZGV2ZWwgZ3JpbG8tZGV2ZWwgaWJ1cy1kZXZl bAotIGxpYlNNLWRldmVsIGxpYlh4Zjg2bWlzYy1kZXZlbCBsaWJnbm9tZWtiZC1kZXZlbCBsaWJn dG9wLWRldmVsCisgbGliU00tZGV2ZWwgbGliWHhmODZtaXNjLWRldmVsIGxpYmdub21la2JkLWRl dmVsIGxpYmd0b3AtZGV2ZWwgbGliaGFuZHktZGV2ZWwKICBsaWJwd3F1YWxpdHktZGV2ZWwgbWl0 LWtyYjUtZGV2ZWwgbmV0d29yay1tYW5hZ2VyLWFwcGxldC1kZXZlbCBwb2xraXQtZGV2ZWwKICBw dWxzZWF1ZGlvLWRldmVsIHNhbWJhLWRldmVsIHR6ZGF0YSB1cG93ZXItZGV2ZWwgdmFsYS1kZXZl bCBjbHV0dGVyLWd0ay1kZXZlbAogIGxpYnhtbDItZGV2ZWwgbGliWDExLWRldmVsIGd0ayszLWRl dmVsIGN1cHMtZGV2ZWwgbGliZ3VkZXYtZGV2ZWwgbGlid2Fjb20tZGV2ZWwKICBjbHV0dGVyLWRl dmVsIGxpYnNlY3JldC1kZXZlbCBsaWJjYW5iZXJyYS1kZXZlbCB1ZGlza3MyLWRldmVsIGdzb3Vu ZC1kZXZlbAogICQodm9wdF9pZiBjaGVlc2UgY2hlZXNlLWRldmVsKSIKLWRlcGVuZHM9ImFsc2Et cGx1Z2lucy1wdWxzZWF1ZGlvIGRlc2t0b3AtZmlsZS11dGlscworZGVwZW5kcz0iYWxzYS1wbHVn aW5zLXB1bHNlYXVkaW8gZGVza3RvcC1maWxlLXV0aWxzIHVwb3dlciBjb2xvcmQgY3Vwcy1way1o ZWxwZXIKICBnc2V0dGluZ3MtZGVza3RvcC1zY2hlbWFzIGhpY29sb3ItaWNvbi10aGVtZSBpc28t Y29kZXMgc291bmQtdGhlbWUtZnJlZWRlc2t0b3AKICBjcmFja2xpYiIKK2NoZWNrZGVwZW5kcz0i cHl0aG9uMy1kYnVzbW9jayB4b3JnLXNlcnZlci14dmZiIgogc2hvcnRfZGVzYz0iR05PTUUgY29u dHJvbCBjZW50ZXIiCiBtYWludGFpbmVyPSJFbm5vIEJvbGFuZCA8Z290dG94QHZvaWRsaW51eC5v cmc+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL2dpdGxh Yi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtY29udHJvbC1jZW50ZXIiCiBkaXN0ZmlsZXM9IiR7R05P TUVfU0lURX0vJHtwa2duYW1lfS8ke3ZlcnNpb24lLip9LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50 YXIueHoiCi1jaGVja3N1bT01ZjgyZWNkNTU1NDEzNmM0NjIyNDhlYzUzNjNiODJkOTUzNThiMzlk ZmQ2Nzg3MDA2ZDgzMDdiNDUwNGU1MTVlCitjaGVja3N1bT1iYzE3NGQ5NzBkYmVjYTNlZTE5YzI2 MDE5ZGUzMWU5ZWRmNzhkYzljNGFiZGUxNmU3NjM1NjZlZTM4YzM2OTFjCiAKIGJ1aWxkX29wdGlv bnM9ImNoZWVzZSIKIGRlc2Nfb3B0aW9uX2NoZWVzZT0iQWRkIHN1cHBvcnQgZm9yIGFkZGluZyB1 c2VyIGFjY291bnQgaW1hZ2VzIHdpdGggeW91ciB3ZWJjYW0iCisKK3ByZV9jaGVjaygpIHsKKwkj IHRlc3QtbmV0d29yay1wYW5lbCBuZWVkcyBpZCBnZW5lcmF0ZWQgYnkgZGJ1cy11dWlkZ2VuCisJ bWtkaXIgLXAgL3Zhci9saWIvZGJ1cworCWRidXMtdXVpZGdlbiAtLWVuc3VyZQorfQorCitwb3N0 X2NoZWNrKCkgeworCXJtIC1yZiAvdmFyL2xpYi9kYnVzCit9CisKIGlmIFsgLXogIiRDUk9TU19C VUlMRCIgXTsgdGhlbgogCWJ1aWxkX29wdGlvbnNfZGVmYXVsdCs9IiBjaGVlc2UiCiBmaQoKRnJv bSBmYjJlM2MyZDRiMTk1NDhmMzIzOTQ5MGJjNTNlOWJlMjFmZjczODVjIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRlOiBUdWUs IDE2IEp1biAyMDIwIDE5OjQ1OjA4ICswNjAwClN1YmplY3Q6IFtQQVRDSCAxNi82Ml0gZ25vbWUt c2V0dGluZ3MtZGFlbW9uOiB1cGRhdGUgdG8gMy4zNi4xLgoKQWRkZWQgYSBwYXRjaCB0byBmaXgg YnJpZ2h0bmVzcyBjb250cm9scyB3aXRoIGVsb2dpbmQuCi0tLQogLi4udC11c2UtbG9naW5kLWZv ci1icmlnaHRuZXNzLWNoYW5naW5nLnBhdGNoIHwgMTIxICsrKysrKysrKysrKysrKysrKwogc3Jj cGtncy9nbm9tZS1zZXR0aW5ncy1kYWVtb24vdGVtcGxhdGUgICAgICAgIHwgIDEwICstCiAyIGZp bGVzIGNoYW5nZWQsIDEyNiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvZ25vbWUtc2V0dGluZ3MtZGFlbW9uL3BhdGNoZXMvZG9udC11c2Ut bG9naW5kLWZvci1icmlnaHRuZXNzLWNoYW5naW5nLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9nbm9tZS1zZXR0aW5ncy1kYWVtb24vcGF0Y2hlcy9kb250LXVzZS1sb2dpbmQtZm9yLWJyaWdo dG5lc3MtY2hhbmdpbmcucGF0Y2ggYi9zcmNwa2dzL2dub21lLXNldHRpbmdzLWRhZW1vbi9wYXRj aGVzL2RvbnQtdXNlLWxvZ2luZC1mb3ItYnJpZ2h0bmVzcy1jaGFuZ2luZy5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYTNhODM0ZTNiNzQKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL2dub21lLXNldHRpbmdzLWRhZW1vbi9wYXRjaGVzL2RvbnQtdXNlLWxv Z2luZC1mb3ItYnJpZ2h0bmVzcy1jaGFuZ2luZy5wYXRjaApAQCAtMCwwICsxLDEyMSBAQAorVXBz dHJlYW0gaW50cm9kdWNlZCBicmlnaHRuZXNzIGxldmVsIGNoYW5naW5nIHdpdGgKK2h0dHBzOi8v Z2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zZXR0aW5ncy1kYWVtb24vLS9jb21taXQvY2Qw NTFlNmM3Y2NmYjdlN2IwZWM0NDA0MDljNTU5YjJlNTEyODRlOAorYnV0IGFwcGFyZW50bHkgdGhp cyBkb2Vzbid0IHdvcmsgd2l0aCBlbG9naW5kIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2Vsb2dp bmQvZWxvZ2luZC9pc3N1ZXMvMTU4KSwKK3NvIGxldCdzIHJldmVydCB0aGlzIGZvciBub3cgYW5k IGtlZXAgdXNpbmcgdGhlIG9sZCBtZWNoYW5pc20uCitkaWZmIC0tZ2l0IHBsdWdpbnMvcG93ZXIv Z3NkLWJhY2tsaWdodC5jIHBsdWdpbnMvcG93ZXIvZ3NkLWJhY2tsaWdodC5jCitpbmRleCA5ZjQw NmM5Li45Yzg3MmY4IDEwMDY0NAorLS0tIHBsdWdpbnMvcG93ZXIvZ3NkLWJhY2tsaWdodC5jCisr KysgcGx1Z2lucy9wb3dlci9nc2QtYmFja2xpZ2h0LmMKK0BAIC00MCw4ICs0MCw2IEBAIHN0cnVj dCBfR3NkQmFja2xpZ2h0CisgICAgICAgICBnaW50IGJyaWdodG5lc3Nfc3RlcDsKKyAKKyAjaWZk ZWYgX19saW51eF9fCistICAgICAgICBHREJ1c1Byb3h5ICpsb2dpbmRfcHJveHk7CistCisgICAg ICAgICBHVWRldkNsaWVudCAqdWRldjsKKyAgICAgICAgIEdVZGV2RGV2aWNlICp1ZGV2X2Rldmlj ZTsKKyAKK0BAIC02MSwxMCArNTksNiBAQCBlbnVtIHsKKyAgICAgICAgIFBST1BfTEFTVCwKKyB9 OworIAorLSNkZWZpbmUgU1lTVEVNRF9EQlVTX05BTUUgICAgICAgICAgICAgICAgICAgICAgICJv cmcuZnJlZWRlc2t0b3AubG9naW4xIgorLSNkZWZpbmUgU1lTVEVNRF9EQlVTX1BBVEggICAgICAg ICAgICAgICAgICAgICAgICIvb3JnL2ZyZWVkZXNrdG9wL2xvZ2luMS9zZXNzaW9uL2F1dG8iCist I2RlZmluZSBTWVNURU1EX0RCVVNfSU5URVJGQUNFICAgICAgICAgICAgICAgICAgIm9yZy5mcmVl ZGVza3RvcC5sb2dpbjEuU2Vzc2lvbiIKKy0KKyBzdGF0aWMgR1BhcmFtU3BlYyAqcHJvcHNbUFJP UF9MQVNUXTsKKyAKKyBzdGF0aWMgdm9pZCAgICAgZ3NkX2JhY2tsaWdodF9pbml0YWJsZV9pZmFj ZV9pbml0IChHSW5pdGFibGVJZmFjZSAgKmlmYWNlKTsKK0BAIC00ODEsMzEgKzQ3NSwxMyBAQCBn c2RfYmFja2xpZ2h0X3NldF9icmlnaHRuZXNzX3ZhbF9hc3luYyAoR3NkQmFja2xpZ2h0ICpiYWNr bGlnaHQsCisgI2lmZGVmIF9fbGludXhfXworICAgICAgICAgaWYgKGJhY2tsaWdodC0+dWRldl9k ZXZpY2UgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICBCYWNrbGlnaHRIZWxwZXJEYXRhICp0 YXNrX2RhdGE7CisrICAgICAgICAgICAgICAgICAgdGFza19kYXRhID0gZ19uZXcwIChCYWNrbGln aHRIZWxwZXJEYXRhLCAxKTsKKysgICAgICAgICAgICAgICAgICB0YXNrX2RhdGEtPnZhbHVlID0g YmFja2xpZ2h0LT5icmlnaHRuZXNzX3RhcmdldDsKKysgICAgICAgICAgICAgICAgICBnX3Rhc2tf c2V0X3Rhc2tfZGF0YSAodGFzaywgdGFza19kYXRhLCBiYWNrbGlnaHRfdGFza19kYXRhX2Rlc3Ry b3kpOworIAorLSAgICAgICAgICAgICAgICBpZiAoYmFja2xpZ2h0LT5sb2dpbmRfcHJveHkpIHsK Ky0gICAgICAgICAgICAgICAgICAgICAgICBnX2RidXNfcHJveHlfY2FsbCAoYmFja2xpZ2h0LT5s b2dpbmRfcHJveHksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJTZXRCcmlnaHRuZXNzIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ192YXJpYW50X25ldyAoIihzc3UpIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJhY2tsaWdodCIsCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfdWRldl9k ZXZpY2VfZ2V0X25hbWUgKGJhY2tsaWdodC0+dWRldl9kZXZpY2UpLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrbGlnaHQtPmJy aWdodG5lc3NfdGFyZ2V0KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgR19EQlVTX0NBTExfRkxBR1NfTk9ORSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLTEsIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworLQorLSAgICAgICAgICAgICAgICAgICAgICAg IHBlcmNlbnQgPSBBQlNfVE9fUEVSQ0VOVEFHRSAoYmFja2xpZ2h0LT5icmlnaHRuZXNzX21pbiwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJh Y2tsaWdodC0+YnJpZ2h0bmVzc19tYXgsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBiYWNrbGlnaHQtPmJyaWdodG5lc3NfdGFyZ2V0KTsKKy0g ICAgICAgICAgICAgICAgICAgICAgICBnX3Rhc2tfcmV0dXJuX2ludCAodGFzaywgcGVyY2VudCk7 CistICAgICAgICAgICAgICAgIH0gZWxzZSB7CistICAgICAgICAgICAgICAgICAgICAgICAgdGFz a19kYXRhID0gZ19uZXcwIChCYWNrbGlnaHRIZWxwZXJEYXRhLCAxKTsKKy0gICAgICAgICAgICAg ICAgICAgICAgICB0YXNrX2RhdGEtPnZhbHVlID0gYmFja2xpZ2h0LT5icmlnaHRuZXNzX3Rhcmdl dDsKKy0gICAgICAgICAgICAgICAgICAgICAgICBnX3Rhc2tfc2V0X3Rhc2tfZGF0YSAodGFzaywg dGFza19kYXRhLCBiYWNrbGlnaHRfdGFza19kYXRhX2Rlc3Ryb3kpOworLQorLSAgICAgICAgICAg ICAgICAgICAgICAgIC8qIFRhc2sgaXMgc2V0IHVwIG5vdy4gUXVldWUgaXQgYW5kIGVuc3VyZSB3 ZSBhcmUgd29ya2luZyBzb21ldGhpbmcuICovCistICAgICAgICAgICAgICAgICAgICAgICAgZ19x dWV1ZV9wdXNoX3RhaWwgKCZiYWNrbGlnaHQtPnRhc2tzLCB0YXNrKTsKKy0gICAgICAgICAgICAg ICAgICAgICAgICBnc2RfYmFja2xpZ2h0X3Byb2Nlc3NfdGFza3F1ZXVlIChiYWNrbGlnaHQpOwor LSAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgICAgLyogVGFzayBpcyBzZXQgdXAg bm93LiBRdWV1ZSBpdCBhbmQgZW5zdXJlIHdlIGFyZSB3b3JraW5nIHNvbWV0aGluZy4gKi8KKysg ICAgICAgICAgICAgICAgICBnX3F1ZXVlX3B1c2hfdGFpbCAoJmJhY2tsaWdodC0+dGFza3MsIHRh c2spOworKyAgICAgICAgICAgICAgICAgIGdzZF9iYWNrbGlnaHRfcHJvY2Vzc190YXNrcXVldWUg KGJhY2tsaWdodCk7CisgCisgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgIH0KK0BA IC04MjMsNyArNzk5LDYgQEAgZ3NkX2JhY2tsaWdodF9pbml0YWJsZV9pbml0IChHSW5pdGFibGUg ICAgICAgKmluaXRhYmxlLAorIHsKKyAgICAgICAgIEdzZEJhY2tsaWdodCAqYmFja2xpZ2h0ID0g R1NEX0JBQ0tMSUdIVCAoaW5pdGFibGUpOworICAgICAgICAgR25vbWVSUk91dHB1dCogb3V0cHV0 ID0gTlVMTDsKKy0gICAgICAgIEdFcnJvciAqbG9naW5kX2Vycm9yID0gTlVMTDsKKyAKKyAgICAg ICAgIGlmIChjYW5jZWxsYWJsZSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgIGdfc2V0X2Vy cm9yX2xpdGVyYWwgKGVycm9yLCBHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX05PVF9TVVBQT1JURUQs CitAQCAtODMyLDM4ICs4MDcsNiBAQCBnc2RfYmFja2xpZ2h0X2luaXRhYmxlX2luaXQgKEdJbml0 YWJsZSAgICAgICAqaW5pdGFibGUsCisgICAgICAgICB9CisgCisgI2lmZGVmIF9fbGludXhfXwor LSAgICAgICAgYmFja2xpZ2h0LT5sb2dpbmRfcHJveHkgPQorLSAgICAgICAgICAgICAgICBnX2Ri dXNfcHJveHlfbmV3X2Zvcl9idXNfc3luYyAoR19CVVNfVFlQRV9TWVNURU0sCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNZU1RFTURfREJVU19OQU1FLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1lTVEVNRF9EQlVTX1BB VEgsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTWVNU RU1EX0RCVVNfSU5URVJGQUNFLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTlVMTCwgJmxvZ2luZF9lcnJvcik7CistICAgICAgICBpZiAoYmFja2xpZ2h0 LT5sb2dpbmRfcHJveHkpIHsKKy0gICAgICAgICAgICAgICAgLyogQ2hlY2sgdGhhdCB0aGUgU2V0 QnJpZ2h0bmVzcyBtZXRob2QgZG9lcyBleGlzdCAqLworLSAgICAgICAgICAgICAgICBnX2RidXNf cHJveHlfY2FsbF9zeW5jIChiYWNrbGlnaHQtPmxvZ2luZF9wcm94eSwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNldEJyaWdodG5lc3MiLCBOVUxMLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0RCVVNfQ0FMTF9GTEFHU19OT05F LCAtMSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgJmxv Z2luZF9lcnJvcik7CistCistICAgICAgICAgICAgICAgIGlmIChnX2Vycm9yX21hdGNoZXMgKGxv Z2luZF9lcnJvciwgR19EQlVTX0VSUk9SLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHX0RCVVNfRVJST1JfSU5WQUxJRF9BUkdTKSkgeworLSAgICAgICAgICAgICAgICAg ICAgICAgIC8qIFdlIGFyZSBjYWxsaW5nIHRoZSBtZXRob2Qgd2l0aCBubyBhcmd1bWVudHMsIHNv CistICAgICAgICAgICAgICAgICAgICAgICAgICogdGhpcyBpcyBleHBlY3RlZC4KKy0gICAgICAg ICAgICAgICAgICAgICAgICAgKi8KKy0gICAgICAgICAgICAgICAgICAgICAgICBnX2NsZWFyX2Vy cm9yICgmbG9naW5kX2Vycm9yKTsKKy0gICAgICAgICAgICAgICAgfSBlbHNlIHsKKy0gICAgICAg ICAgICAgICAgICAgICAgICAvKiBGYWlsIG9uIGFueXRoaW5nIGVsc2UgKi8KKy0gICAgICAgICAg ICAgICAgICAgICAgICBnX2NsZWFyX29iamVjdCAoJmJhY2tsaWdodC0+bG9naW5kX3Byb3h5KTsK Ky0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgfQorLQorLSAgICAgICAgaWYgKGxvZ2luZF9l cnJvcikgeworLSAgICAgICAgICAgICAgICBnX3dhcm5pbmcgKCJObyBsb2dpbmQgZm91bmQ6ICVz IiwgbG9naW5kX2Vycm9yLT5tZXNzYWdlKTsKKy0gICAgICAgICAgICAgICAgZ19lcnJvcl9mcmVl IChsb2dpbmRfZXJyb3IpOworLSAgICAgICAgfQorLQorICAgICAgICAgLyogVHJ5IGZpbmRpbmcg YSB1ZGV2IGRldmljZS4gKi8KKyAgICAgICAgIGlmIChnc2RfYmFja2xpZ2h0X3VkZXZfaW5pdCAo YmFja2xpZ2h0KSkKKyAgICAgICAgICAgICAgICAgZ290byBmb3VuZDsKK0BAIC05MDUsNyArODQ4 LDYgQEAgZ3NkX2JhY2tsaWdodF9maW5hbGl6ZSAoR09iamVjdCAqb2JqZWN0KQorICNpZmRlZiBf X2xpbnV4X18KKyAgICAgICAgIGdfYXNzZXJ0IChiYWNrbGlnaHQtPmFjdGl2ZV90YXNrID09IE5V TEwpOworICAgICAgICAgZ19hc3NlcnQgKGdfcXVldWVfaXNfZW1wdHkgKCZiYWNrbGlnaHQtPnRh c2tzKSk7CistICAgICAgICBnX2NsZWFyX29iamVjdCAoJmJhY2tsaWdodC0+bG9naW5kX3Byb3h5 KTsKKyAgICAgICAgIGdfY2xlYXJfb2JqZWN0ICgmYmFja2xpZ2h0LT51ZGV2KTsKKyAgICAgICAg IGdfY2xlYXJfb2JqZWN0ICgmYmFja2xpZ2h0LT51ZGV2X2RldmljZSk7CisgICAgICAgICBpZiAo YmFja2xpZ2h0LT5pZGxlX3VwZGF0ZSkgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbm9tZS1zZXR0 aW5ncy1kYWVtb24vdGVtcGxhdGUgYi9zcmNwa2dzL2dub21lLXNldHRpbmdzLWRhZW1vbi90ZW1w bGF0ZQppbmRleCBhNzBlMjhiZTVmYS4uOWNlYjFkMTNkZTkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv Z25vbWUtc2V0dGluZ3MtZGFlbW9uL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ25vbWUtc2V0dGlu Z3MtZGFlbW9uL3RlbXBsYXRlCkBAIC0xLDEwICsxLDEwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdnbm9tZS1zZXR0aW5ncy1kYWVtb24nCiBwa2duYW1lPWdub21lLXNldHRpbmdzLWRhZW1vbgot dmVyc2lvbj0zLjM0LjEKLXJldmlzaW9uPTIKK3ZlcnNpb249My4zNi4xCityZXZpc2lvbj0xCiBi dWlsZF9zdHlsZT1tZXNvbgotY29uZmlndXJlX2FyZ3MrPSItRHN5c3RlbWQ9ZmFsc2UiCi1ob3N0 bWFrZWRlcGVuZHM9ImNtYWtlIGRvY2Jvb2steHNsIGdsaWItZGV2ZWwgbGliZ2xpYi1kZXZlbCBs aWJ4c2x0IHBlcmwgcGtnLWNvbmZpZyIKK2NvbmZpZ3VyZV9hcmdzPSItRHN5c3RlbWQ9ZmFsc2Ui Citob3N0bWFrZWRlcGVuZHM9ImNtYWtlIGRvY2Jvb2steHNsIGdldHRleHQgZ2xpYi1kZXZlbCBs aWJnbGliLWRldmVsIGxpYnhzbHQgcGVybCBwa2ctY29uZmlnIgogbWFrZWRlcGVuZHM9Ik5ldHdv cmtNYW5hZ2VyLWRldmVsIGFsc2EtbGliLWRldmVsIGNvbG9yZC1kZXZlbCBjdXBzLWRldmVsIGdj ci1kZXZlbAogIGdlb2NsdWUyLWRldmVsIGdub21lLWRlc2t0b3AtZGV2ZWwgaWJ1cy1kZXZlbCBs aWJjYW5iZXJyYS1kZXZlbCBsaWJnbm9tZWtiZC1kZXZlbAogIGxpYmd3ZWF0aGVyLWRldmVsIGxp Ym5vdGlmeS1kZXZlbCBsaWJyc3ZnLWRldmVsIGxpYndhY29tLWRldmVsIG5zcy1kZXZlbApAQCAt MTgsNyArMTgsNyBAQCBtYWludGFpbmVyPSJFbm5vIEJvbGFuZCA8Z290dG94QHZvaWRsaW51eC5v cmc+IgogbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL2dpdGxh Yi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2V0dGluZ3MtZGFlbW9uIgogZGlzdGZpbGVzPSIke0dO T01FX1NJVEV9LyR7cGtnbmFtZX0vJHt2ZXJzaW9uJS4qfS8ke3BrZ25hbWV9LSR7dmVyc2lvbn0u dGFyLnh6IgotY2hlY2tzdW09OTk4MWEyMGJhYmY4ZGE3NzQ0YjdmYmUxNzViOWUzNjA3OGJmMDhm M2JmNjVmZTVhZWRlYjgyY2ZlMjdhYzExZgorY2hlY2tzdW09M2UzM2RiZDMxOWI1NjJhNWFiNjAy ZGNhYjZkZTNjYTgxYjg1ZjgzNDY2NzJlOTBlYzYzMmIzNmJiZjE1ZWU0YgogCiBpZiBbICIkQ1JP U1NfQlVJTEQiIF07IHRoZW4KIAlob3N0bWFrZWRlcGVuZHMrPSIgcG9sa2l0IgoKRnJvbSA5N2Y3 ZWIxMWU3YmIyNDk3NDY2ZmZlZWZhYmU1NWMzZGNmMGM0ZThiIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRlOiBUdWUsIDE2IEp1 biAyMDIwIDE5OjQ1OjI3ICswNjAwClN1YmplY3Q6IFtQQVRDSCAxNy82Ml0gZ25vbWUtdXNlci1k b2NzOiB1cGRhdGUgdG8gMy4zNi4yLgoKLS0tCiBzcmNwa2dzL2dub21lLXVzZXItZG9jcy90ZW1w bGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbm9tZS11c2VyLWRvY3MvdGVtcGxhdGUg Yi9zcmNwa2dzL2dub21lLXVzZXItZG9jcy90ZW1wbGF0ZQppbmRleCA0Y2I1NTM5NmUzNy4uY2E5 OTMzNDZlM2EgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ25vbWUtdXNlci1kb2NzL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvZ25vbWUtdXNlci1kb2NzL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAnZ25vbWUtdXNlci1kb2NzJwogcGtnbmFtZT1nbm9tZS11c2VyLWRv Y3MKLXZlcnNpb249My4zNC4wCit2ZXJzaW9uPTMuMzYuMgogcmV2aXNpb249MQogYXJjaHM9bm9h cmNoCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCkBAIC0xMCw3ICsxMCw3IEBAIGRlcGVuZHM9 InllbHAiCiBzaG9ydF9kZXNjPSJVc2VyIGRvY3VtZW50YXRpb24gZm9yIEdOT01FIgogbWFpbnRh aW5lcj0iRW5ubyBCb2xhbmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkNDLUJZ LTMuMCIKLWhvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vR05PTUUvZ25vbWUtdXNlci1kb2Nz IgotI2NoYW5nZWxvZz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0dOT01FL2du b21lLXVzZXItZG9jcy9tYXN0ZXIvTkVXUyIKK2hvbWVwYWdlPSJodHRwczovL2dpdGxhYi5nbm9t ZS5vcmcvR05PTUUvZ25vbWUtdXNlci1kb2NzIgorY2hhbmdlbG9nPSJodHRwczovL2dpdGxhYi5n bm9tZS5vcmcvR05PTUUvZ25vbWUtdXNlci1kb2NzLy0vcmF3LzMuMzYuMi9ORVdTIgogZGlzdGZp bGVzPSIke0dOT01FX1NJVEV9LyR7cGtnbmFtZX0vJHt2ZXJzaW9uJS4qfS8ke3BrZ25hbWV9LSR7 dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09OGY5OTA3ZmYxNWZmZjk3ZGE3NWVjZTY0NWNjODY3 NjY3MDNhYzU0ZDcxNmQyNTU2M2JhNjdmZmVkMWFmMjRlZAorY2hlY2tzdW09MTk4ZmU0YzgzNjc3 NWE1ZGMyNTQzYTZhNTIwZGZiMGFjNWJmMjkyY2RjYjM1OGE1N2M4NmYzNWY3MDVlOTk1OAoKRnJv bSAwNWM1MGVjZWVjYTExYTBhNWUxNjlkNjIzZWZjM2U2MmMwMjYzNjc5IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRlOiBUdWUs IDE2IEp1biAyMDIwIDE5OjQ1OjM2ICswNjAwClN1YmplY3Q6IFtQQVRDSCAxOC82Ml0gZ25vbWUt aW5pdGlhbC1zZXR1cDogdXBkYXRlIHRvIDMuMzYuMy4KCi0tLQogc3JjcGtncy9nbm9tZS1pbml0 aWFsLXNldHVwL3RlbXBsYXRlIHwgMTAgKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5z ZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dub21lLWlu aXRpYWwtc2V0dXAvdGVtcGxhdGUgYi9zcmNwa2dzL2dub21lLWluaXRpYWwtc2V0dXAvdGVtcGxh dGUKaW5kZXggYWJhNWEwOTRjMjguLmNhYTMzYzI2OTVlIDEwMDY0NAotLS0gYS9zcmNwa2dzL2du b21lLWluaXRpYWwtc2V0dXAvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nbm9tZS1pbml0aWFsLXNl dHVwL3RlbXBsYXRlCkBAIC0xLDEwICsxLDEwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnbm9t ZS1pbml0aWFsLXNldHVwJwogcGtnbmFtZT1nbm9tZS1pbml0aWFsLXNldHVwCi12ZXJzaW9uPTMu MzQuMQotcmV2aXNpb249MgordmVyc2lvbj0zLjM2LjMKK3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxl PW1lc29uCi1jb25maWd1cmVfYXJncz0iLURzb2Z0d2FyZS1zb3VyY2VzPWRpc2FibGVkIC1Ec3lz dGVtZD1mYWxzZSIKLWhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBnbGliLWRldmVsIgorY29u ZmlndXJlX2FyZ3M9Ii1EcGFyZW50YWxfY29udHJvbHM9ZGlzYWJsZWQgLURzeXN0ZW1kPWZhbHNl IgoraG9zdG1ha2VkZXBlbmRzPSJnZXR0ZXh0IHBrZy1jb25maWcgZ2xpYi1kZXZlbCIKIG1ha2Vk ZXBlbmRzPSJOZXR3b3JrTWFuYWdlci1kZXZlbCBhY2NvdW50c3NlcnZpY2UtZGV2ZWwgbGliZ2xp Yi1kZXZlbAogIGdub21lLWRlc2t0b3AtZGV2ZWwgY2hlZXNlLWRldmVsIGxpYmd3ZWF0aGVyLWRl dmVsIHdlYmtpdDJndGstZGV2ZWwKICBnbm9tZS1vbmxpbmUtYWNjb3VudHMtZGV2ZWwgZ2RtLWRl dmVsIGxpYnB3cXVhbGl0eS1kZXZlbApAQCAtMTcsNCArMTcsNCBAQCBtYWludGFpbmVyPSJFbm5v IEJvbGFuZCA8Z290dG94QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRl ciIKIGhvbWVwYWdlPSJodHRwczovL3dpa2kuZ25vbWUub3JnL0Rlc2lnbi9PUy9Jbml0aWFsU2V0 dXAiCiBkaXN0ZmlsZXM9IiR7R05PTUVfU0lURX0vJHtwa2duYW1lfS8ke3ZlcnNpb24lLip9LyR7 cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1lNzFmMTBlZjZiNjMxY2Q5MmZm ZGU3NzRlNDEzMGIzMmIyNDk0YjRkZjVlZjI4ODM3NWQ4YjE5NTdlZWFiZmExCitjaGVja3N1bT1k OGE5MzNmOGM4MjJjYzI5M2NjMTBiNTMyNzc5Zjg1NjIzNDJhZTIyNzFiOTI5ODc5ZThmMTA4NDkx ZjRjMjg1CgpGcm9tIGZhNTY1OTU0NjdlYzgwOTkzNDUwZjFmOWYxZDllNDM4ZDkwMTlmZjUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE5hZmlzIDxtbmFiaWQuMjVAb3V0bG9vay5jb20+ CkRhdGU6IFR1ZSwgMTYgSnVuIDIwMjAgMTk6NDU6NDMgKzA2MDAKU3ViamVjdDogW1BBVENIIDE5 LzYyXSBldm9sdXRpb24tZGF0YS1zZXJ2ZXI6IHVwZGF0ZSB0byAzLjM2LjMuCgotLS0KIHNyY3Br Z3MvZXZvbHV0aW9uLWRhdGEtc2VydmVyL3RlbXBsYXRlIHwgNiArKystLS0KIDEgZmlsZSBjaGFu Z2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvdGVtcGxhdGUgYi9zcmNwa2dzL2V2b2x1dGlvbi1kYXRh LXNlcnZlci90ZW1wbGF0ZQppbmRleCA0YWU4MjBiZTA2OC4uZWJmODE0NWY4OGMgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvZXZvbHV0aW9uLWRhdGEtc2VydmVyL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv ZXZvbHV0aW9uLWRhdGEtc2VydmVyL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAnZXZvbHV0aW9uLWRhdGEtc2VydmVyJwogcGtnbmFtZT1ldm9sdXRpb24tZGF0 YS1zZXJ2ZXIKLXZlcnNpb249My4zNi4xCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTMuMzYuMworcmV2 aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj1naXIKIGNvbmZpZ3VyZV9h cmdzPSItREVOQUJMRV9VT0E9T0ZGCkBAIC0xNyw3ICsxNyw3IEBAIGxpY2Vuc2U9IkxHUEwtMi4x LW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly93aWtpLmdub21lLm9yZy9BcHBzL0V2b2x1dGlvbiIK IGNoYW5nZWxvZz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0dOT01FL2V2b2x1 dGlvbi1kYXRhLXNlcnZlci9nbm9tZS0zLTM2L05FV1MiCiBkaXN0ZmlsZXM9IiR7R05PTUVfU0lU RX0vJHtwa2duYW1lfS8ke3ZlcnNpb24lLip9LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoi Ci1jaGVja3N1bT0xMzEyMmIyZWRkZGI5ODMwNjIwN2QyYTM1ZDVjY2FlMjVhOTA3MDI3NjljYTBh MGI1MTY1M2I1OTg0OTg2Nzk2CitjaGVja3N1bT0xZjVmNDgxNzNkMGYyODgyMTlkNzNkNGYxOTNj YjkyMWFlNjMxOTMyYmE4NDAzMGYwNTc1MWM0MmJiMDAzZGIyCiAKIGJ1aWxkX29wdGlvbnM9Imdp ciIKIGlmIFsgLXogIiRDUk9TU19CVUlMRCIgXTsgdGhlbgoKRnJvbSBjYmZjNWFkNzAxYTAyZjYy Y2RkZjg2NzY2YzgxZmM1YjM3ZmExNmNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBO YWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRlOiBUdWUsIDE2IEp1biAyMDIwIDE5OjQ1 OjU2ICswNjAwClN1YmplY3Q6IFtQQVRDSCAyMC82Ml0gZXZvbHV0aW9uOiB1cGRhdGUgdG8gMy4z Ni4zLgoKLS0tCiBzcmNwa2dzL2V2b2x1dGlvbi90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNo YW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL2V2b2x1dGlvbi90ZW1wbGF0ZSBiL3NyY3BrZ3MvZXZvbHV0aW9uL3RlbXBsYXRlCmluZGV4 IDU2MGVkOTNkYTAyLi5kOTVjMDdlYjcyYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9ldm9sdXRpb24v dGVtcGxhdGUKKysrIGIvc3JjcGtncy9ldm9sdXRpb24vdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdldm9sdXRpb24nCiBwa2duYW1lPWV2b2x1dGlvbgotdmVy c2lvbj0zLjM2LjEKK3ZlcnNpb249My4zNi4zCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFr ZQogY29uZmlndXJlX2FyZ3M9Ii1ERU5BQkxFX0FVVE9BUj1PRkYgLURFTkFCTEVfTElCQ1JZUFRV ST1PRkYgLURFTkFCTEVfR1RLU1BFTEw9T0ZGCkBAIC0xOSw3ICsxOSw3IEBAIGxpY2Vuc2U9IkxH UEwtMi4xLW9yLWxhdGVyLCBMR1BMLTMuMC1vci1sYXRlciwgR1BMLTIuMC1vci1sYXRlciIKIGhv bWVwYWdlPSJodHRwczovL3dpa2kuZ25vbWUub3JnL0FwcHMvRXZvbHV0aW9uIgogY2hhbmdlbG9n PSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vR05PTUUvZXZvbHV0aW9uL2dub21l LTMtMzYvTkVXUyIKIGRpc3RmaWxlcz0iJHtHTk9NRV9TSVRFfS8ke3BrZ25hbWV9LyR7dmVyc2lv biUuKn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTg3M2FjZjFkYmVj MzhlNjdlMTY5MDY0NjQ1YWMzYTliOWE5NDRiZDJiNjMzMTYxZGY2ZTVmMDU3MDBlMzZjYjgKK2No ZWNrc3VtPTU0ZTE2Y2FhMjg2YzAyZDRmZTk0YjQzZTMzYWJmNWNkNmYzYTE1MDIxODFiYjhjZjU1 N2FhZGM4ODZiNWNhMDMKIHNobGliX3Byb3ZpZGVzPSJsaWJldm9sdXRpb24tY2FsZW5kYXIuc28g bGliZXZvbHV0aW9uLXV0aWwuc28gbGliZW1haWwtZW5naW5lLnNvCiAgbGliZXZvbHV0aW9uLW1h aWwuc28gbGliZXZvbHV0aW9uLXNoZWxsLnNvIgogCgpGcm9tIGQ5YmM3OTdkYjFjNTIxZmU0NmY0 NzMxMzc4ZDllYTYxZDYwZDY2YTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE5hZmlz IDxtbmFiaWQuMjVAb3V0bG9vay5jb20+CkRhdGU6IFR1ZSwgMTYgSnVuIDIwMjAgMTk6NDY6MDQg KzA2MDAKU3ViamVjdDogW1BBVENIIDIxLzYyXSBldm9sdXRpb24tZXdzOiB1cGRhdGUgdG8gMy4z Ni4zLgoKLS0tCiBzcmNwa2dzL2V2b2x1dGlvbi1ld3MvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmls ZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9ldm9sdXRpb24tZXdzL3RlbXBsYXRlIGIvc3JjcGtncy9ldm9sdXRpb24tZXdzL3Rl bXBsYXRlCmluZGV4IDRmZjgxMTY0NjZjLi4zOGZkNjJkMzllMSAxMDA2NDQKLS0tIGEvc3JjcGtn cy9ldm9sdXRpb24tZXdzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZXZvbHV0aW9uLWV3cy90ZW1w bGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2V2b2x1dGlvbi1ld3Mn CiBwa2duYW1lPWV2b2x1dGlvbi1ld3MKLXZlcnNpb249My4zNi4xCit2ZXJzaW9uPTMuMzYuMwog cmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRExJQkVYRUNf SU5TVEFMTF9ESVI9L3Vzci9saWIvZXZvbHV0aW9uIgpAQCAtMTIsNCArMTIsNCBAQCBsaWNlbnNl PSJMR1BMLTIuMS1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3dpa2kuZ25vbWUub3JnL0Fw cHMvRXZvbHV0aW9uIgogY2hhbmdlbG9nPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5j b20vR05PTUUvZXZvbHV0aW9uLWV3cy9nbm9tZS0zLTM2L05FV1MiCiBkaXN0ZmlsZXM9IiR7R05P TUVfU0lURX0vJHtwa2duYW1lfS8ke3ZlcnNpb24lLip9LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50 YXIueHoiCi1jaGVja3N1bT1kMDg4M2M3ZDIyNzgyN2NjNWM0NDY4YjdlMzFhM2VlMzcwYmNkN2Q0 MWE0ZGJiOTUwYWI1ZGIzNmM5NTUxYWMxCitjaGVja3N1bT03YTk3YTU5YjEwZjdhNDhhM2JjZjZk NDc2YzZhMmMwNjhlYzVjNDhjNTQ2YTQzMzgxMjY5MWI4MzAxNzUyZDA0CgpGcm9tIDk3ODkxMjhl ZDBjYTI2MzQyNjRlYmMzZTY4MmQ2ZmFmMDdhNGFmYmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IE5hZmlzIDxtbmFiaWQuMjVAb3V0bG9vay5jb20+CkRhdGU6IFR1ZSwgMTYgSnVuIDIw MjAgMTk6NDY6MTEgKzA2MDAKU3ViamVjdDogW1BBVENIIDIyLzYyXSBhdGs6IHVwZGF0ZSB0byAy LjM2LjAuCgotLS0KIHNyY3BrZ3MvYXRrL3RlbXBsYXRlIHwgNiArKystLS0KIDEgZmlsZSBjaGFu Z2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9hdGsvdGVtcGxhdGUgYi9zcmNwa2dzL2F0ay90ZW1wbGF0ZQppbmRleCA3YzE0YjExNjU5OC4u Y2EyMmQzNjYxOTggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYXRrL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvYXRrL3RlbXBsYXRlCkBAIC0xLDE4ICsxLDE4IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdh dGsnCiBwa2duYW1lPWF0awotdmVyc2lvbj0yLjM0LjEKK3ZlcnNpb249Mi4zNi4wCiByZXZpc2lv bj0xCiBidWlsZF9zdHlsZT1tZXNvbgogYnVpbGRfaGVscGVyPSJnaXIiCiBjb25maWd1cmVfYXJn cz0iLURpbnRyb3NwZWN0aW9uPSQodm9wdF9pZiBnaXIgdHJ1ZSBmYWxzZSkiCi1ob3N0bWFrZWRl cGVuZHM9InBrZy1jb25maWcgZ2xpYi1kZXZlbCIKK2hvc3RtYWtlZGVwZW5kcz0iZ2V0dGV4dCBw a2ctY29uZmlnIGdsaWItZGV2ZWwiCiBtYWtlZGVwZW5kcz0ibGliZ2xpYi1kZXZlbCIKIHNob3J0 X2Rlc2M9IlNldCBvZiBpbnRlcmZhY2VzIGZvciBhY2Nlc3NpYmlsaXR5IgogbWFpbnRhaW5lcj0i RW5ubyBCb2xhbmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkxHUEwtMi4xLW9y LWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9hdGsvIgogZGlz dGZpbGVzPSIke0dOT01FX1NJVEV9L2F0ay8ke3ZlcnNpb24lLip9L2F0ay0ke3ZlcnNpb259LnRh ci54eiIKLWNoZWNrc3VtPWQ0ZjBlM2IzZDIxMjY1ZmNmMmJjMzcxZTExN2RhNTFjNDJlZGUxYTcx ZjZkYjFjODM0ZTY5NzZiYjIwOTk3Y2IKK2NoZWNrc3VtPWZiNzYyNDdlMzY5NDAyYmUyM2YxZjVj NjVkMzhhOTYzOWMxMTY0ZDkzNGU0MGY2YTljZjNjOWU5NmI2NTI3ODgKIAogIyBQYWNrYWdlIGJ1 aWxkIG9wdGlvbnMKIGJ1aWxkX29wdGlvbnM9ImdpciIKCkZyb20gZmJjNzY0NTIzMDRhMjdhOTU2 Njc4ZWRhNGZhNjI3MTc4NGUwNWYyMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmFm aXMgPG1uYWJpZC4yNUBvdXRsb29rLmNvbT4KRGF0ZTogVHVlLCAxNiBKdW4gMjAyMCAxOTo0Njox OSArMDYwMApTdWJqZWN0OiBbUEFUQ0ggMjMvNjJdIGF0LXNwaTItY29yZTogdXBkYXRlIHRvIDIu MzYuMC4KCi0tLQogc3JjcGtncy9hdC1zcGkyLWNvcmUvdGVtcGxhdGUgfCA5ICsrKystLS0tLQog MSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9zcmNwa2dzL2F0LXNwaTItY29yZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvYXQtc3BpMi1jb3Jl L3RlbXBsYXRlCmluZGV4IGIzODNmZTk5YmVkLi5mYjc5OWFmN2U1MiAxMDA2NDQKLS0tIGEvc3Jj cGtncy9hdC1zcGkyLWNvcmUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9hdC1zcGkyLWNvcmUvdGVt cGxhdGUKQEAgLTEsMTggKzEsMTcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2F0LXNwaTItY29y ZScKIHBrZ25hbWU9YXQtc3BpMi1jb3JlCi12ZXJzaW9uPTIuMzQuMAordmVyc2lvbj0yLjM2LjAK IHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPW1lc29uCiBidWlsZF9oZWxwZXI9ImdpciIKLWhvc3Rt YWtlZGVwZW5kcz0icGtnLWNvbmZpZyBkYnVzIGdsaWItZGV2ZWwiCi1tYWtlZGVwZW5kcz0ibGli Z2xpYi1kZXZlbCBsaWJYZXh0LWRldmVsIGxpYlNNLWRldmVsIGxpYlh0c3QtZGV2ZWwKLSBsaWJY ZXZpZS1kZXZlbCBkYnVzLWRldmVsIgoraG9zdG1ha2VkZXBlbmRzPSJnZXR0ZXh0IHBrZy1jb25m aWcgZGJ1cyBnbGliLWRldmVsIgorbWFrZWRlcGVuZHM9ImxpYmdsaWItZGV2ZWwgbGliU00tZGV2 ZWwgbGliWHRzdC1kZXZlbCBkYnVzLWRldmVsIgogc2hvcnRfZGVzYz0iQXNzaXN0aXZlIFRlY2hu b2xvZ3kgU2VydmljZSBQcm92aWRlciBJbnRlcmZhY2UiCiBtYWludGFpbmVyPSJFbm5vIEJvbGFu ZCA8Z290dG94QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKIGhv bWVwYWdlPSJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvYXQtc3BpMi1jb3JlIgogZGlz dGZpbGVzPSIke0dOT01FX1NJVEV9LyR7cGtnbmFtZX0vJHt2ZXJzaW9uJS4qfS8ke3BrZ25hbWV9 LSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ZDYyOWNkYmQ2NzRlNTM5Zjg5MTIwMjg1MTJh ZjU4Mzk5MDkzOGM3YjQ5ZTI1MTg0YzEyNmIwMDEyMWVmMTFjNgorY2hlY2tzdW09ODhkYTU3ZGUw YTdlM2M2MGJjMzQxYTk3NGE4MGZkYmEwOTE2MTJkYjM1NDdjNDEwZDZkZWFiMDM5Y2E1YzA1YQog CiAjIFBhY2thZ2UgYnVpbGQgb3B0aW9ucwogYnVpbGRfb3B0aW9ucz0iZ2lyIgoKRnJvbSBhNWU1 NjVjYmYxMTBlZWNkNDJjZWZjZjI1NGNmYzllMTNiZmVmMDRiIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRlOiBUdWUsIDE2IEp1 biAyMDIwIDE5OjQ2OjI2ICswNjAwClN1YmplY3Q6IFtQQVRDSCAyNC82Ml0gYXQtc3BpMi1hdGs6 IHVwZGF0ZSB0byAyLjM0LjIuCgotLS0KIHNyY3BrZ3MvYXQtc3BpMi1hdGsvdGVtcGxhdGUgfCA0 ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9hdC1zcGkyLWF0ay90ZW1wbGF0ZSBiL3NyY3BrZ3MvYXQtc3Bp Mi1hdGsvdGVtcGxhdGUKaW5kZXggNDM1MWI3OTk2ZjMuLmFhN2I4ODM5YzlmIDEwMDY0NAotLS0g YS9zcmNwa2dzL2F0LXNwaTItYXRrL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYXQtc3BpMi1hdGsv dGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdhdC1zcGkyLWF0 aycKIHBrZ25hbWU9YXQtc3BpMi1hdGsKLXZlcnNpb249Mi4zNC4xCit2ZXJzaW9uPTIuMzQuMgog cmV2aXNpb249MQogYnVpbGRfc3R5bGU9bWVzb24KIGhvc3RtYWtlZGVwZW5kcz0ibGlidG9vbCBw a2ctY29uZmlnIGludGx0b29sIGdsaWItZGV2ZWwiCkBAIC0xMCw3ICsxMCw3IEBAIG1haW50YWlu ZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJMR1BMLTIu MC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwOi8vd3d3Lmdub21lLm9yZyIKIGRpc3RmaWxlcz0i JHtHTk9NRV9TSVRFfS8ke3BrZ25hbWV9LyR7dmVyc2lvbiUuKn0vJHtwa2duYW1lfS0ke3ZlcnNp b259LnRhci54eiIKLWNoZWNrc3VtPTc3NmRmOTMwNzQ4ZmRlNzFjMTI4YmU2YzM2NmE5ODdiOThi NmVlNjZkNTA4ZWQ5YzhkYjIzNTViZjRiOWNjMTYKK2NoZWNrc3VtPTkwMTMyM2NlZTBlZWYwNWMw MWVjNGRlZTA2YzcwMWFlZWNhODFhMzE0YTdkNjAyMTZmYTM2MzAwNWUyN2Y0ZjAKIAogYXQtc3Bp Mi1hdGstZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke21ha2VkZXBlbmRzfSAke3NvdXJj ZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCgpGcm9tIDcyMjBlNDk3YjI5MjZjMWU1Y2Yy NWQ2MmEzMmQyZWJkNDJiZTA2YTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE5hZmlz IDxtbmFiaWQuMjVAb3V0bG9vay5jb20+CkRhdGU6IFR1ZSwgMTYgSnVuIDIwMjAgMTk6NDY6NDEg KzA2MDAKU3ViamVjdDogW1BBVENIIDI1LzYyXSBweXRob24tYXRzcGk6IHVwZGF0ZSB0byAyLjM2 LjAuCgotLS0KIHNyY3BrZ3MvcHl0aG9uLWF0c3BpL3RlbXBsYXRlIHwgNiArKystLS0KIDEgZmls ZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9weXRob24tYXRzcGkvdGVtcGxhdGUgYi9zcmNwa2dzL3B5dGhvbi1hdHNwaS90ZW1w bGF0ZQppbmRleCAwMTQxZDk3Zjg1ZC4uNDg4MTA1NmFkNzYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv cHl0aG9uLWF0c3BpL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcHl0aG9uLWF0c3BpL3RlbXBsYXRl CkBAIC0xLDggKzEsOCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncHl0aG9uLWF0c3BpJwogIyBL ZWVwIHB5dGhvbjMtYXRzcGkgaW4gc3luYwogcGtnbmFtZT1weXRob24tYXRzcGkKLXZlcnNpb249 Mi4zMi4xCi1yZXZpc2lvbj00Cit2ZXJzaW9uPTIuMzYuMAorcmV2aXNpb249MQogYXJjaHM9bm9h cmNoCiB3cmtzcmM9InB5YXRzcGktJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1 cmUKQEAgLTE0LDQgKzE0LDQgQEAgbWFpbnRhaW5lcj0iRW5ubyBCb2xhbmQgPGdvdHRveEB2b2lk bGludXgub3JnPiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6 Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL3B5YXRzcGkyIgogZGlzdGZpbGVzPSIke0dOT01FX1NJ VEV9L3B5YXRzcGkvJHt2ZXJzaW9uJS4qfS9weWF0c3BpLSR7dmVyc2lvbn0udGFyLnh6IgotY2hl Y2tzdW09ODQ5NTRhNWJiZWFjYzgzNjQzZjA1Nzc4ZDhiZWFmY2FiODIwOGUxMWIzOWIyNDYzN2I0 YzRkZDFmODYyMDM4OQorY2hlY2tzdW09NTEzNmMxYmY5MTllMTAxZDRlYzkwMWEyNzZlODZlYTYw ZTU4ODFhOGZmNzc2M2UzNTZmMTk4NDBlNWZmZTFkZAoKRnJvbSBiMDYwZGEzN2NiMmI2YzIwYjc0 YzNmYTFhNDIwYmEyM2YyYzg0YWU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYWZp cyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRlOiBUdWUsIDE2IEp1biAyMDIwIDE5OjQ2OjQ4 ICswNjAwClN1YmplY3Q6IFtQQVRDSCAyNi82Ml0gcHl0aG9uMy1hdHNwaTogdXBkYXRlIHRvIDIu MzYuMC4KCi0tLQogc3JjcGtncy9weXRob24zLWF0c3BpL3RlbXBsYXRlIHwgNiArKystLS0KIDEg ZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9weXRob24zLWF0c3BpL3RlbXBsYXRlIGIvc3JjcGtncy9weXRob24zLWF0c3Bp L3RlbXBsYXRlCmluZGV4IGEzM2EzNzRmZTE4Li5iMjM2MDgyMmFjZiAxMDA2NDQKLS0tIGEvc3Jj cGtncy9weXRob24zLWF0c3BpL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcHl0aG9uMy1hdHNwaS90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3B5dGhvbjMtYXRz cGknCiBwa2duYW1lPXB5dGhvbjMtYXRzcGkKLXZlcnNpb249Mi4zMi4xCi1yZXZpc2lvbj00Cit2 ZXJzaW9uPTIuMzYuMAorcmV2aXNpb249MQogYXJjaHM9bm9hcmNoCiB3cmtzcmM9InB5YXRzcGkt JHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKQEAgLTEzLDQgKzEzLDQgQEAg bWFpbnRhaW5lcj0iRW5ubyBCb2xhbmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9 IkdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dO T01FL3B5YXRzcGkyIgogZGlzdGZpbGVzPSIke0dOT01FX1NJVEV9L3B5YXRzcGkvJHt2ZXJzaW9u JS4qfS9weWF0c3BpLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ODQ5NTRhNWJiZWFjYzgz NjQzZjA1Nzc4ZDhiZWFmY2FiODIwOGUxMWIzOWIyNDYzN2I0YzRkZDFmODYyMDM4OQorY2hlY2tz dW09NTEzNmMxYmY5MTllMTAxZDRlYzkwMWEyNzZlODZlYTYwZTU4ODFhOGZmNzc2M2UzNTZmMTk4 NDBlNWZmZTFkZAoKRnJvbSA0MjdiMTc2ZDJhNjU3MGVhYWIxYWE4NWZhODhmOWQ5NWNhNjgxNDI2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2su Y29tPgpEYXRlOiBUdWUsIDE2IEp1biAyMDIwIDE5OjQ2OjU2ICswNjAwClN1YmplY3Q6IFtQQVRD SCAyNy82Ml0gZm9sa3M6IHVwZGF0ZSB0byAwLjE0LjAuCgotLS0KIGNvbW1vbi9zaGxpYnMgICAg ICAgICAgfCAgNyArKysrLS0tCiBzcmNwa2dzL2ZvbGtzL3RlbXBsYXRlIHwgMTIgKysrKysrLS0t LS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggN2M3MWZjNGFi OWYuLjVmYzM0ZTJjMDMwIDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9z aGxpYnMKQEAgLTgzOSw5ICs4MzksMTAgQEAgbGliZG1yLnNvLjAuMSBkZWVwaW4tbW92aWUtcmVi b3JuLTMuMi41XzEKIGxpYmdqcy5zby4wIGdqcy0xLjY1LjJfMQogbGlidGVsZXBhdGh5LWdsaWIu c28uMCB0ZWxlcGF0aHktZ2xpYi0wLjE1LjVfMQogbGliYWNjb3VudHNzZXJ2aWNlLnNvLjAgYWNj b3VudHNzZXJ2aWNlLTAuNi40XzEKLWxpYmZvbGtzLnNvLjI1IGZvbGtzLTAuOS41XzEKLWxpYmZv bGtzLXRlbGVwYXRoeS5zby4yNSBmb2xrcy0wLjkuNV8xCi1saWJmb2xrcy1lZHMuc28uMjUgZm9s a3MtMC45LjVfMQorbGliZm9sa3Muc28uMjUgZm9sa3MtMC4xNC4wXzEKK2xpYmZvbGtzLWR1bW15 LnNvLjI1IGZvbGtzLTAuMTQuMF8xCitsaWJmb2xrcy10ZWxlcGF0aHkuc28uMjUgZm9sa3MtMC4x NC4wXzEKK2xpYmZvbGtzLWVkcy5zby4yNSBmb2xrcy0wLjE0LjBfMQogbGlibmljZS5zby4xMCBs aWJuaWNlLTAuMS4wXzEKIGxpYmd1cG5wLWlnZC0xLjAuc28uNCBndXBucC1pZ2QtMC4yLjBfMQog bGlidGVsZXBhdGh5LWxvZ2dlci5zby4zIHRlbGVwYXRoeS1sb2dnZXItMC42LjBfMQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9mb2xrcy90ZW1wbGF0ZSBiL3NyY3BrZ3MvZm9sa3MvdGVtcGxhdGUKaW5k ZXggMzMxMGM1NGZhZGQuLmUyMWNhOWMxMDc3IDEwMDY0NAotLS0gYS9zcmNwa2dzL2ZvbGtzL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvZm9sa3MvdGVtcGxhdGUKQEAgLTEsMTIgKzEsMTIgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ2ZvbGtzJwogcGtnbmFtZT1mb2xrcwotdmVyc2lvbj0wLjEzLjEK LXJldmlzaW9uPTIKK3ZlcnNpb249MC4xNC4wCityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1tZXNv bgogYnVpbGRfaGVscGVyPWdpcgotY29uZmlndXJlX2FyZ3M9Ii1EYl9sdG89ZmFsc2UgLURsaWJz b2NpYWx3ZWItYmFja2VuZD1mYWxzZSIKLWhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBpbnRs dG9vbCBnbGliLWRldmVsIHZhbGEgcHl0aG9uIGdvYmplY3QtaW50cm9zcGVjdGlvbgotIGV2b2x1 dGlvbi1kYXRhLXNlcnZlci1kZXZlbCIKK2NvbmZpZ3VyZV9hcmdzPSItRGJfbHRvPWZhbHNlIgor aG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGludGx0b29sIGdsaWItZGV2ZWwgdmFsYSBweXRo b24zIHB5dGhvbjMtZGJ1c21vY2sKKyBnb2JqZWN0LWludHJvc3BlY3Rpb24gZXZvbHV0aW9uLWRh dGEtc2VydmVyLWRldmVsIgogbWFrZWRlcGVuZHM9InJlYWRsaW5lLWRldmVsIHRlbGVwYXRoeS1n bGliLWRldmVsIHplaXRnZWlzdC1kZXZlbAogIGxpYmdlZTA4LWRldmVsIGV2b2x1dGlvbi1kYXRh LXNlcnZlci1kZXZlbCB0cmFja2VyLWRldmVsIgogZGVwZW5kcz0iemVpdGdlaXN0IgpAQCAtMTUs NyArMTUsNyBAQCBtYWludGFpbmVyPSJFbm5vIEJvbGFuZCA8Z290dG94QHZvaWRsaW51eC5vcmc+ IgogbGljZW5zZT0iTEdQTC0yLjEtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93aWtpLmdu b21lLm9yZy9Qcm9qZWN0cy9Gb2xrcyIKIGRpc3RmaWxlcz0iJHtHTk9NRV9TSVRFfS8ke3BrZ25h bWV9LyR7dmVyc2lvbiUuKn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3Vt PTNkZjFjNjYzYjgyZmUyMTFhZWFkMmIzMWNhZTFmYzQxZDEyNGU4NTQzNjM3NTc2MmY2NzQ1YzQ1 YmE0NmFhNWQKK2NoZWNrc3VtPWQ2ZTc3OGRhNjM3ZDNiMzNmZDlhNmI0NTExNWU4MTU3ZDg4Njgy MTFkYzA4Yjk0M2QxMDc1YjVlYjcyODJiYjkKIAogZm9sa3MtZGV2ZWxfcGFja2FnZSgpIHsKIAlk ZXBlbmRzPSIke21ha2VkZXBlbmRzfSAke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lv bn0iCgpGcm9tIDk1ZTI1ZThmY2M1MmQyZTcxYjQ2MzIzM2U5OTJmMWMzZjUyOTU3ZWMgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IE5hZmlzIDxtbmFiaWQuMjVAb3V0bG9vay5jb20+CkRh dGU6IFR1ZSwgMTYgSnVuIDIwMjAgMTk6NDc6MDMgKzA2MDAKU3ViamVjdDogW1BBVENIIDI4LzYy XSBmaWxlLXJvbGxlcjogdXBkYXRlIHRvIDMuMzYuMi4KCi0tLQogc3JjcGtncy9maWxlLXJvbGxl ci90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZpbGUtcm9sbGVyL3RlbXBsYXRlIGIv c3JjcGtncy9maWxlLXJvbGxlci90ZW1wbGF0ZQppbmRleCA1ZmI3NmQ5NzMwNy4uNmEwYzI4MGYw ZDUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZmlsZS1yb2xsZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9maWxlLXJvbGxlci90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ2ZpbGUtcm9sbGVyJwogcGtnbmFtZT1maWxlLXJvbGxlcgotdmVyc2lvbj0zLjM2LjAKK3Zl cnNpb249My4zNi4yCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1tZXNvbgogaG9zdG1ha2VkZXBl bmRzPSJnZXR0ZXh0IGdsaWItZGV2ZWwgaXRzdG9vbCBwa2ctY29uZmlnIgpAQCAtMTIsNCArMTIs NCBAQCBtYWludGFpbmVyPSJFbm5vIEJvbGFuZCA8Z290dG94QHZvaWRsaW51eC5vcmc+IgogbGlj ZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3dpa2kuZ25vbWUub3Jn L0FwcHMvRmlsZVJvbGxlciIKIGRpc3RmaWxlcz0iJHtHTk9NRV9TSVRFfS8ke3BrZ25hbWV9LyR7 dmVyc2lvbiUuKn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWI5MTQ0 ZGU4ZjUzNmY1ODNlYzI5ZDcwM2MyYzE3MGJmMmQwMGM2YzE2NmNkNWUzZjdlZmFiZGE1NTFmMTA0 NzgKK2NoZWNrc3VtPTI2OGY3ZmRhZDhkMmE3OGRmZWQ1ZTgyZWI4NzEwYmFkMzg5YzMxMWI3MjA2 NjZkNmYwN2EwNGVkNTEwNTZiZDIKCkZyb20gOGM3MGU0YzU2ZGI1Nzk2Y2JlNjZhYTg5ZTNjODk1 MmI1YTYyZjI5YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmFmaXMgPG1uYWJpZC4y NUBvdXRsb29rLmNvbT4KRGF0ZTogVHVlLCAxNiBKdW4gMjAyMCAxOTo0NzoxMCArMDYwMApTdWJq ZWN0OiBbUEFUQ0ggMjkvNjJdIGRjb25mLWVkaXRvcjogdXBkYXRlIHRvIDMuMzYuMi4KCi0tLQog c3JjcGtncy9kY29uZi1lZGl0b3IvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Rj b25mLWVkaXRvci90ZW1wbGF0ZSBiL3NyY3BrZ3MvZGNvbmYtZWRpdG9yL3RlbXBsYXRlCmluZGV4 IGRlMjUwYmJjOGE5Li4xMGFiOGQ3OTI2NCAxMDA2NDQKLS0tIGEvc3JjcGtncy9kY29uZi1lZGl0 b3IvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9kY29uZi1lZGl0b3IvdGVtcGxhdGUKQEAgLTEsMTMg KzEsMTMgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Rjb25mLWVkaXRvcicKIHBrZ25hbWU9ZGNv bmYtZWRpdG9yCi12ZXJzaW9uPTMuMzYuMAordmVyc2lvbj0zLjM2LjIKIHJldmlzaW9uPTEKIGJ1 aWxkX3N0eWxlPW1lc29uCi1ob3N0bWFrZWRlcGVuZHM9ImRvY2Jvb2steHNsIGdsaWItZGV2ZWwg bGlieHNsdCBwa2ctY29uZmlnIHZhbGEiCitob3N0bWFrZWRlcGVuZHM9ImdldHRleHQgZG9jYm9v ay14c2wgZ2xpYi1kZXZlbCBsaWJ4c2x0IHBrZy1jb25maWcgdmFsYSIKIG1ha2VkZXBlbmRzPSJk Y29uZi1kZXZlbCBndGsrMy1kZXZlbCIKIHNob3J0X2Rlc2M9Ikxvdy1sZXZlbCBjb25maWd1cmF0 aW9uIHN5c3RlbSAtIEdUSysgZWRpdG9yIgogbWFpbnRhaW5lcj0iRW5ubyBCb2xhbmQgPGdvdHRv eEB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0i aHR0cHM6Ly93aWtpLmdub21lLm9yZy9Qcm9qZWN0cy9kY29uZiIKIGRpc3RmaWxlcz0iJHtHTk9N RV9TSVRFfS8ke3BrZ25hbWV9LyR7dmVyc2lvbiUuKn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRh ci54eiIKLWNoZWNrc3VtPTcyZWVkMDU2NzA5MTdmOGU0MzIwMGU0MGNjYzZiZTYwMjExZjBhODdi MDE3NTM0ZWFjMWZkNmM3MTczYTA2OTMKK2NoZWNrc3VtPWVkY2VjODg2N2YwMTg1ODkxMjVmMTc3 NDA3NzYwYzY0MmJiYmI1MmZlNTEyMmRhYWM1OTA1MjIzZDZiM2UxYzcKCkZyb20gZTJmOWU1MTFk OTc0MjE3MGVjNmZmNjAyYmZjMjIzYTYwYTI1NTVlYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogTmFmaXMgPG1uYWJpZC4yNUBvdXRsb29rLmNvbT4KRGF0ZTogVHVlLCAxNiBKdW4gMjAy MCAxOTo0NzoxNiArMDYwMApTdWJqZWN0OiBbUEFUQ0ggMzAvNjJdIHRyYWNrZXI6IHVwZGF0ZSB0 byAyLjMuNC4KCi0tLQogc3JjcGtncy90cmFja2VyL3RlbXBsYXRlIHwgOCArKysrLS0tLQogMSBm aWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL3RyYWNrZXIvdGVtcGxhdGUgYi9zcmNwa2dzL3RyYWNrZXIvdGVtcGxhdGUKaW5k ZXggMzcwNzRjYjM0OGQuLmU4MTRmNzdjNzExIDEwMDY0NAotLS0gYS9zcmNwa2dzL3RyYWNrZXIv dGVtcGxhdGUKKysrIGIvc3JjcGtncy90cmFja2VyL3RlbXBsYXRlCkBAIC0xLDEzICsxLDEzIEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICd0cmFja2VyJwogcGtnbmFtZT10cmFja2VyCi12ZXJzaW9u PTIuMy4xCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTIuMy40CityZXZpc2lvbj0xCiBidWlsZF9zdHls ZT1tZXNvbgogYnVpbGRfaGVscGVyPSJnaXIiCiBjb25maWd1cmVfYXJncz0iLURkb2NzPWZhbHNl IC1EZnRzPXRydWUgLURmdW5jdGlvbmFsX3Rlc3RzPWZhbHNlCiAgLURqb3VybmFsPXRydWUgLURt YW49dHJ1ZSAtRG5ldHdvcmtfbWFuYWdlcj1lbmFibGVkIC1Ec3RlbW1lcj1kaXNhYmxlZAogIC1E c3lzdGVtZF91c2VyX3NlcnZpY2VzPW5vIgotaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGds aWItZGV2ZWwgdmFsYSIKK2hvc3RtYWtlZGVwZW5kcz0iZ2V0dGV4dCBwa2ctY29uZmlnIGdsaWIt ZGV2ZWwgdmFsYSIKIG1ha2VkZXBlbmRzPSJkYnVzLWRldmVsIGxpYmdsaWItZGV2ZWwgaWN1LWRl dmVsIGpzb24tZ2xpYi1kZXZlbAogIGxpYnNvdXAtZGV2ZWwgbGlieG1sMi1kZXZlbCBzcWxpdGUt ZGV2ZWwgTmV0d29ya01hbmFnZXItZGV2ZWwKICBiYXNoLWNvbXBsZXRpb24iCkBAIC0xNiw3ICsx Niw3IEBAIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNl bnNlPSJHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vbGl2ZS5nbm9tZS5vcmcv VHJhY2tlciIKIGRpc3RmaWxlcz0iJHtHTk9NRV9TSVRFfS90cmFja2VyLyR7dmVyc2lvbiUuKn0v dHJhY2tlci0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWI2NzQ4NzI2ZTQ2NWFkMmY0ZDk5 MTU2MDYzNGIxZmQwZGY4ODQxZjNkOTgxYjNiODM3YzQxNjJhYmVkZjA4YTEKK2NoZWNrc3VtPTU3 Nzk1MjI0NGFiOTc3Yzc4YjBiODhlMmY2M2M0MTk3ZWFiYTE2ZTRkNjZiZmY2OTJiN2Y1ODk5M2Uw NjUxNmQKIAogaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiAJaG9zdG1ha2VkZXBlbmRzKz0i IGRidXMiCgpGcm9tIGZkMTBlYzc1ZjM2ZDgxMDEzM2RjODUxMzJiMTg4ZDdhN2Y1NTBhZmUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE5hZmlzIDxtbmFiaWQuMjVAb3V0bG9vay5jb20+ CkRhdGU6IFR1ZSwgMTYgSnVuIDIwMjAgMTk6NDc6MjMgKzA2MDAKU3ViamVjdDogW1BBVENIIDMx LzYyXSBvcmNhOiB1cGRhdGUgdG8gMy4zNi4yLgoKLS0tCiBzcmNwa2dzL29yY2EvdGVtcGxhdGUg fCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcmNhL3RlbXBsYXRlIGIvc3JjcGtncy9vcmNhL3RlbXBs YXRlCmluZGV4IGY3MDIwMmU2ZDc2Li44YTcwYzg0OWY2ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9v cmNhL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvb3JjYS90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ29yY2EnCiBwa2duYW1lPW9yY2EKLXZlcnNpb249My4zNi4x Cit2ZXJzaW9uPTMuMzYuMgogcmV2aXNpb249MQogYXJjaHM9bm9hcmNoCiBidWlsZF9zdHlsZT1n bnUtY29uZmlndXJlCkBAIC0xMyw3ICsxMyw3IEBAIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxn b3R0b3hAdm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBh Z2U9Imh0dHBzOi8vd2lraS5nbm9tZS5vcmcvUHJvamVjdHMvT3JjYSIKIGRpc3RmaWxlcz0iJHtH Tk9NRV9TSVRFfS8ke3BrZ25hbWV9LyR7dmVyc2lvbiUuKn0vJHtwa2duYW1lfS0ke3ZlcnNpb259 LnRhci54eiIKLWNoZWNrc3VtPWMxYWM2NDhiNmJlMzE0ODhjMjZmZjk1OTExNDI4Nzg2OWRmOWNl M2NhMjE5OTllNDBkZWQ4Nzc0MWM5ODgzMWYKK2NoZWNrc3VtPWNmMDA1NWI3NmYyMTU5YzMzYzlk OWY3ZGViYjc2OTQzNWMyMDFiYmZhNmRjZjBmMDFmZGM1OGU5Mjk0N2JmNDMKIAogaWYgWyAiJENS T1NTX0JVSUxEIiBdOyB0aGVuCiAJaG9zdG1ha2VkZXBlbmRzKz0iIHB5dGhvbjMtZ29iamVjdC1k ZXZlbCIKCkZyb20gNGUwN2VlMTIxZTBhN2UwNWEzMzI0OGRlZWNmZWY2MTYzY2NkMzY1YyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmFmaXMgPG1uYWJpZC4yNUBvdXRsb29rLmNvbT4K RGF0ZTogVHVlLCAxNiBKdW4gMjAyMCAxOTo0NzozOSArMDYwMApTdWJqZWN0OiBbUEFUQ0ggMzIv NjJdIGdub21lLWdldHRpbmctc3RhcnRlZC1kb2NzOiB1cGRhdGUgdG8gMy4zNi4yLgoKLS0tCiBz cmNwa2dzL2dub21lLWdldHRpbmctc3RhcnRlZC1kb2NzL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZp bGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvZ25vbWUtZ2V0dGluZy1zdGFydGVkLWRvY3MvdGVtcGxhdGUgYi9zcmNwa2dzL2du b21lLWdldHRpbmctc3RhcnRlZC1kb2NzL3RlbXBsYXRlCmluZGV4IDViZWM5MzQ5MGJhLi5iZWQ5 YjY5NjE2MiAxMDA2NDQKLS0tIGEvc3JjcGtncy9nbm9tZS1nZXR0aW5nLXN0YXJ0ZWQtZG9jcy90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dub21lLWdldHRpbmctc3RhcnRlZC1kb2NzL3RlbXBsYXRl CkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ25vbWUtZ2V0dGluZy1zdGFy dGVkLWRvY3MnCiBwa2duYW1lPWdub21lLWdldHRpbmctc3RhcnRlZC1kb2NzCi12ZXJzaW9uPTMu MzQuMAordmVyc2lvbj0zLjM2LjIKIHJldmlzaW9uPTEKIGFyY2hzPW5vYXJjaAogYnVpbGRfc3R5 bGU9Z251LWNvbmZpZ3VyZQpAQCAtMTEsNCArMTEsNCBAQCBsaWNlbnNlPSJDQy1CWS1TQS0zLjAi CiBob21lcGFnZT0iaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLWdldHRpbmct c3RhcnRlZC1kb2NzIgogI2NoYW5nZWxvZz0iaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01F L2dub21lLWdldHRpbmctc3RhcnRlZC1kb2NzL3Jhdy9tYXN0ZXIvTkVXUyIKIGRpc3RmaWxlcz0i JHtHTk9NRV9TSVRFfS8ke3BrZ25hbWV9LyR7dmVyc2lvbiUuKn0vJHtwa2duYW1lfS0ke3ZlcnNp b259LnRhci54eiIKLWNoZWNrc3VtPWY3MGNlMmNhMjNhZDc4NjIxNWYzYzkyZWM4NTc4M2UzYWFi ZWQwN2U0Zjc4NzAwZmEyN2Y5YjJjZjc2ZTAzZGIKK2NoZWNrc3VtPTA0OTRiODkxM2E5NDZiNjQ1 MDUzNmUxMjBjMTU0YWJkMjkyMzhlYmJhMmY1MjczNDU5MmIxZjY0NWU1MjFkYzYKCkZyb20gMTdi NGZmMzBiNTA1MmJlN2ZmN2MzOGU5YzljZGI1ZmFlN2U3ZWNkMCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogTmFmaXMgPG1uYWJpZC4yNUBvdXRsb29rLmNvbT4KRGF0ZTogVHVlLCAxNiBK dW4gMjAyMCAxOTo0Nzo0NyArMDYwMApTdWJqZWN0OiBbUEFUQ0ggMzMvNjJdIGdub21lLXBhbmVs OiB1cGRhdGUgdG8gMy4zNi4xLgoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAgICAgIHwg MyArKy0KIHNyY3BrZ3MvZ25vbWUtcGFuZWwvdGVtcGxhdGUgfCA2ICsrKy0tLQogMiBmaWxlcyBj aGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29t bW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggNWZjMzRlMmMwMzAuLmNiZjNlYTE3NTMx IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTU3MCw3 ICs1NzAsOCBAQCBsaWJwYWNrYWdla2l0LWdsaWIyLnNvLjE4IFBhY2thZ2VLaXQtMS4xLjEyXzEK IGxpYnBzbC5zby41IGxpYnBzbC0wLjIwLjJfMQogbGlic291cC0yLjQuc28uMSBsaWJzb3VwLTIu MzQuMF8xCiBsaWJzb3VwLWdub21lLTIuNC5zby4xIGxpYnNvdXAtZ25vbWUtMi4zNC4wXzEKLWxp YnBhbmVsLWFwcGxldC5zby4zIGdub21lLXBhbmVsLTMuMzAuMF8xCitsaWJnbm9tZS1wYW5lbC5z by4wIGdub21lLXBhbmVsLTMuMzYuMV8xCitsaWJwYW5lbC1hcHBsZXQuc28uMyBnbm9tZS1wYW5l bC0zLjM2LjFfMQogbGlidW5pbnVtLnNvLjUgbGlidW5pbnVtLTIuN18xCiBsaWJ1bmlxdWUtMy4w LnNvLjAgbGlidW5pcXVlLTIuOTEuNF8xCiBsaWJ3ZWJraXQyZ3RrLTQuMC5zby4zNyB3ZWJraXQy Z3RrLTIuNi4yXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ25vbWUtcGFuZWwvdGVtcGxhdGUgYi9z cmNwa2dzL2dub21lLXBhbmVsL3RlbXBsYXRlCmluZGV4IDcwZjIzYjhiNTUxLi45YjAwYmZhYjY1 OCAxMDA2NDQKLS0tIGEvc3JjcGtncy9nbm9tZS1wYW5lbC90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L2dub21lLXBhbmVsL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnZ25vbWUtcGFuZWwnCiBwa2duYW1lPWdub21lLXBhbmVsCi12ZXJzaW9uPTMuMzQuMQotcmV2 aXNpb249MwordmVyc2lvbj0zLjM2LjEKK3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWdudS1jb25m aWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSJheF9jdl96b25laW5mb190emRpcj0vdXNyL3NoYXJlL3pv bmVpbmZvIgogaG9zdG1ha2VkZXBlbmRzPSJnZXR0ZXh0LWRldmVsIGdsaWItZGV2ZWwgaXRzdG9v bCBwa2ctY29uZmlnIHR6ZGF0YSBnZXR0ZXh0IgpAQCAtMTQsNyArMTQsNyBAQCBtYWludGFpbmVy PSJFbm5vIEJvbGFuZCA8Z290dG94QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1v ci1sYXRlciwgR0ZETC0xLjEtb3ItbGF0ZXIsIExHUEwtMi4xLW9yLWxhdGVyIgogaG9tZXBhZ2U9 Imh0dHBzOi8vd2lraS5nbm9tZS5vcmcvUHJvamVjdHMvR25vbWVQYW5lbCIKIGRpc3RmaWxlcz0i JHtHTk9NRV9TSVRFfS8ke3BrZ25hbWV9LyR7dmVyc2lvbiUuKn0vJHtwa2duYW1lfS0ke3ZlcnNp b259LnRhci54eiIKLWNoZWNrc3VtPWE2YmMwMjU1MjUyZWViNGI5NjRiY2JlNTVmZDc5MDhiNjlm OTE0YzA2MmM1ZWM4ZGZmNWFjMDI2MmQyOWI5MGQKK2NoZWNrc3VtPTFlMjFiNzI2ZGQzOTc1MjNh ZTc5ZDI5ZWI1MzhiY2FlMDllMzQyN2UyM2NjZDYzZjI4ZWIyNWVmMzU1MmFiZDMKIHBhdGNoX2Fy Z3M9Ii1OcDEiCiAKIGdub21lLXBhbmVsLWRldmVsX3BhY2thZ2UoKSB7CgpGcm9tIGIxYzlkZDVl ZTQ4ZTc2NzZhMmIxMTMzYTdlNDI5ZmJhNzhhYTA3YjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IE5hZmlzIDxtbmFiaWQuMjVAb3V0bG9vay5jb20+CkRhdGU6IFR1ZSwgMTYgSnVuIDIw MjAgMTk6NDc6NTQgKzA2MDAKU3ViamVjdDogW1BBVENIIDM0LzYyXSBtZXRhY2l0eTogdXBkYXRl IHRvIDMuMzYuMS4KCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDEgKwogLi4uL3BhdGNoZXMvY29tcG9zaXRvci12dWxrYW4tZml4LWJ1aWxkLnBh dGNoIHwgMjkgKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9tZXRhY2l0eS90ZW1wbGF0ZSAg ICAgICAgICAgICAgICAgICAgIHwgIDQgKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tZXRhY2l0 eS9wYXRjaGVzL2NvbXBvc2l0b3ItdnVsa2FuLWZpeC1idWlsZC5wYXRjaAoKZGlmZiAtLWdpdCBh L2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IGNiZjNlYTE3NTMxLi43NDA4NmIy Yjk4YiAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC01 NzIsNiArNTcyLDcgQEAgbGlic291cC0yLjQuc28uMSBsaWJzb3VwLTIuMzQuMF8xCiBsaWJzb3Vw LWdub21lLTIuNC5zby4xIGxpYnNvdXAtZ25vbWUtMi4zNC4wXzEKIGxpYmdub21lLXBhbmVsLnNv LjAgZ25vbWUtcGFuZWwtMy4zNi4xXzEKIGxpYnBhbmVsLWFwcGxldC5zby4zIGdub21lLXBhbmVs LTMuMzYuMV8xCitsaWJtZXRhY2l0eS5zby4xIG1ldGFjaXR5LTMuMzYuMV8xCiBsaWJ1bmludW0u c28uNSBsaWJ1bmludW0tMi43XzEKIGxpYnVuaXF1ZS0zLjAuc28uMCBsaWJ1bmlxdWUtMi45MS40 XzEKIGxpYndlYmtpdDJndGstNC4wLnNvLjM3IHdlYmtpdDJndGstMi42LjJfMQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9tZXRhY2l0eS9wYXRjaGVzL2NvbXBvc2l0b3ItdnVsa2FuLWZpeC1idWlsZC5w YXRjaCBiL3NyY3BrZ3MvbWV0YWNpdHkvcGF0Y2hlcy9jb21wb3NpdG9yLXZ1bGthbi1maXgtYnVp bGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjk2MDU4MmRl ZDdkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9tZXRhY2l0eS9wYXRjaGVzL2NvbXBvc2l0 b3ItdnVsa2FuLWZpeC1idWlsZC5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIDk5MzYxZjI4 Yzg3NjNlYTQ1NjliNWFlOTg3NjAyOGQ1M2FjOWEyMzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBBbGJlcnRzIE11a3R1cMSBdmVscyA8YWxiZXJ0cy5tdWt0dXBhdmVsc0BnbWFpbC5j b20+CitEYXRlOiBTdW4sIDI0IE1heSAyMDIwIDEzOjU4OjUxICswMzAwCitTdWJqZWN0OiBbUEFU Q0hdIGNvbXBvc2l0b3ItdnVsa2FuOiBmaXggYnVpbGQKKworVktfUEhZU0lDQUxfREVWSUNFX1RZ UEVfUkFOR0VfU0laRSBlbnVtIHdhcyByZW1vdmVkIGluIDEuMi4xNDAuCisKK2h0dHBzOi8vZ2l0 bGFiLmdub21lLm9yZy9HTk9NRS9tZXRhY2l0eS8tL2lzc3Vlcy8xMAorLS0tCisgc3JjL2NvbXBv c2l0b3IvbWV0YS1jb21wb3NpdG9yLXZ1bGthbi5jIHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBzcmMvY29tcG9zaXRvci9tZXRhLWNvbXBvc2l0 b3ItdnVsa2FuLmMgc3JjL2NvbXBvc2l0b3IvbWV0YS1jb21wb3NpdG9yLXZ1bGthbi5jCitpbmRl eCBiODdiNTE5NC4uNTNiN2IzZmYgMTAwNjQ0CistLS0gc3JjL2NvbXBvc2l0b3IvbWV0YS1jb21w b3NpdG9yLXZ1bGthbi5jCisrKysgc3JjL2NvbXBvc2l0b3IvbWV0YS1jb21wb3NpdG9yLXZ1bGth bi5jCitAQCAtODEwLDcgKzgxMCw5IEBAIGRldmljZV90eXBlX3RvX3N0cmluZyAoVmtQaHlzaWNh bERldmljZVR5cGUgdHlwZSkKKyAgICAgICAgIHJldHVybiAiY3B1IjsKKyAgICAgICAgIGJyZWFr OworIAorKyNpZiBWS19IRUFERVJfVkVSU0lPTiA8IDE0MAorICAgICAgIGNhc2UgVktfUEhZU0lD QUxfREVWSUNFX1RZUEVfUkFOR0VfU0laRToKKysjZW5kaWYKKyAgICAgICBjYXNlIFZLX1BIWVNJ Q0FMX0RFVklDRV9UWVBFX01BWF9FTlVNOgorICAgICAgIGRlZmF1bHQ6CisgICAgICAgICBicmVh azsKKy0tIAorR2l0TGFiCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbWV0YWNpdHkvdGVtcGxhdGUg Yi9zcmNwa2dzL21ldGFjaXR5L3RlbXBsYXRlCmluZGV4IDdmYjg2ZmQ5NjRjLi43ZTIyYWVhYjVj NyAxMDA2NDQKLS0tIGEvc3JjcGtncy9tZXRhY2l0eS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL21l dGFjaXR5L3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbWV0 YWNpdHknCiBwa2duYW1lPW1ldGFjaXR5Ci12ZXJzaW9uPTMuMzAuMQordmVyc2lvbj0zLjM2LjEK IHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGhvc3RtYWtlZGVwZW5kcz0i Z2V0dGV4dCBnZXR0ZXh0LWRldmVsIGdsaWItZGV2ZWwgaXRzdG9vbCBwa2ctY29uZmlnIHllbHAt dG9vbHMgemVuaXR5IgpAQCAtMTQsNCArMTQsNCBAQCBtYWludGFpbmVyPSJFbm5vIEJvbGFuZCA8 Z290dG94QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVw YWdlPSJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvbWV0YWNpdHkiCiBkaXN0ZmlsZXM9 IiR7R05PTUVfU0lURX0vJHtwa2duYW1lfS8ke3ZlcnNpb24lLip9LyR7cGtnbmFtZX0tJHt2ZXJz aW9ufS50YXIueHoiCi1jaGVja3N1bT0wZjEzMTFiN2FhMzhkZTcxYzY2MDgwYmQyYjc0NGRlMmNk OTU4MGFmY2FlZTljNjA5N2E3ZDNmNWM0MjE3OThhCitjaGVja3N1bT0xMWYwNzY5M2UyYjI2Njg0 MDc1OTA2M2E0YmM4MDczNDYwNzBlOGU3ZmVjOGY1M2NkMDc1N2Y2NjYyYzFiMzIzCgpGcm9tIGNl ZWIzYmIzNzlkYmNkYjdhNjJjMmFiODhmZjA1NGQ1NmEyMGVlZDAgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IE5hZmlzIDxtbmFiaWQuMjVAb3V0bG9vay5jb20+CkRhdGU6IFR1ZSwgMTYg SnVuIDIwMjAgMTk6NDg6MDEgKzA2MDAKU3ViamVjdDogW1BBVENIIDM1LzYyXSBnbm9tZS1tZW51 czogdXBkYXRlIHRvIDMuMzYuMC4KCi0tLQogc3JjcGtncy9nbm9tZS1tZW51cy90ZW1wbGF0ZSB8 IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ25vbWUtbWVudXMvdGVtcGxhdGUgYi9zcmNwa2dzL2du b21lLW1lbnVzL3RlbXBsYXRlCmluZGV4IDI5MTAyMTI5YzM4Li5lNzg3ZmI4ZGU2YiAxMDA2NDQK LS0tIGEvc3JjcGtncy9nbm9tZS1tZW51cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dub21lLW1l bnVzL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ25vbWUt bWVudXMnCiBwa2duYW1lPWdub21lLW1lbnVzCi12ZXJzaW9uPTMuMzIuMAotcmV2aXNpb249Mgor dmVyc2lvbj0zLjM2LjAKK3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGJ1 aWxkX2hlbHBlcj0iZ2lyIgogY29uZmlndXJlX2FyZ3M9Ii0tZGlzYWJsZS1zdGF0aWMiCkBAIC0x Miw3ICsxMiw3IEBAIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9y Zz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBMR1BMLTIuMC1vci1sYXRlciIKIGhvbWVw YWdlPSJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtbWVudXMiCiBkaXN0Zmls ZXM9IiR7R05PTUVfU0lURX0vJHtwa2duYW1lfS8ke3ZlcnNpb24lLip9LyR7cGtnbmFtZX0tJHt2 ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1jODUwYzY0YjIwNzQyNjVmZTU5ZTA5OWEzNDBiODY4 OWNmM2RkNDY1OGRjOWZlZGRkMmFiNWU5NWYxYTc0Yjc0CitjaGVja3N1bT1kOTM0OGYzOGJkZTk1 NmZjMzI3NTNiMjhjMWNkZTE5YzE3NWJmZGJmMWY0ZDViMDYwMDNiM2FhMDkxNTNiYjFmCiAKIGJ1 aWxkX29wdGlvbnM9ImdpciIKIGJ1aWxkX29wdGlvbnNfZGVmYXVsdD0iZ2lyIgoKRnJvbSAzZDM3 MTAzNDBiMjkyMTY1MTcwMmI1Y2I2YjZmMmMwMjZkYzc2OTgxIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRlOiBUdWUsIDE2IEp1 biAyMDIwIDE5OjQ4OjA5ICswNjAwClN1YmplY3Q6IFtQQVRDSCAzNi82Ml0gZ25vbWUtZmxhc2hi YWNrOiB1cGRhdGUgdG8gMy4zNi4zLgoKQWRkZWQgUEFNIGNvbmZpZyB0byBlbmFibGUgc2NyZWVu IGxvY2tpbmcuCi0tLQogLi4uL2dub21lLWZsYXNoYmFjay9maWxlcy9nbm9tZS1mbGFzaGJhY2su cGFtIHwgIDYgKysrKwogLi4uL2dub21lLWZsYXNoYmFjay9wYXRjaGVzL2NvbXBpei0wLjgucGF0 Y2ggIHwgMjggKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9nbm9tZS1mbGFzaGJhY2svdGVt cGxhdGUgICAgICAgICAgICAgIHwgMjcgKysrKysrKysrKysrLS0tLS0tCiAzIGZpbGVzIGNoYW5n ZWQsIDUyIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9nbm9tZS1mbGFzaGJhY2svZmlsZXMvZ25vbWUtZmxhc2hiYWNrLnBhbQogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZ25vbWUtZmxhc2hiYWNrL3BhdGNoZXMvY29tcGl6LTAuOC5w YXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ25vbWUtZmxhc2hiYWNrL2ZpbGVzL2dub21lLWZs YXNoYmFjay5wYW0gYi9zcmNwa2dzL2dub21lLWZsYXNoYmFjay9maWxlcy9nbm9tZS1mbGFzaGJh Y2sucGFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lYmJiNTFkZDBl OAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZ25vbWUtZmxhc2hiYWNrL2ZpbGVzL2dub21l LWZsYXNoYmFjay5wYW0KQEAgLTAsMCArMSw2IEBACisjJVBBTS0xLjAKK2F1dGggICAgICAgaW5j bHVkZQlzeXN0ZW0tYXV0aAorYXV0aCAgICAgICBvcHRpb25hbCAgICAgcGFtX2dub21lX2tleXJp bmcuc28KK2FjY291bnQgICAgaW5jbHVkZQlzeXN0ZW0tYXV0aAorcGFzc3dvcmQgICBpbmNsdWRl CXN5c3RlbS1hdXRoCitzZXNzaW9uICAgIGluY2x1ZGUJc3lzdGVtLWF1dGgKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvZ25vbWUtZmxhc2hiYWNrL3BhdGNoZXMvY29tcGl6LTAuOC5wYXRjaCBiL3NyY3Br Z3MvZ25vbWUtZmxhc2hiYWNrL3BhdGNoZXMvY29tcGl6LTAuOC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZThhMmE1Yzg3ZmQKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL2dub21lLWZsYXNoYmFjay9wYXRjaGVzL2NvbXBpei0wLjgucGF0Y2gKQEAgLTAs MCArMSwyOCBAQAorZGlmZiAtLWdpdCBjb25maWd1cmUgY29uZmlndXJlCitpbmRleCAyNmNlYTUx Li5kMjQ2M2NjIDEwMDc1NQorLS0tIGNvbmZpZ3VyZQorKysrIGNvbmZpZ3VyZQorQEAgLTIwODQy LDggKzIwODQyLDggQEAgZmkKKyBpZiB0ZXN0ICJ4JHdpdGhfY29tcGl6X3Nlc3Npb24iICE9ICJ4 bm8iOyB0aGVuIDoKKyAKKyAgIGlmIHRlc3QgLW4gIiRQS0dfQ09ORklHIiAmJiBcCistICAgIHsg eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcJFBLR19DT05GSUcgLS1l eGlzdHMgLS1wcmludC1lcnJvcnMgXCJsaWJjb21waXpjb25maWcgPj0gMC45LjE0LjBcIiI7IH0g PiY1CistICAoJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMgImxpYmNvbXBpemNv bmZpZyA+PSAwLjkuMTQuMCIpIDI+JjUKKysgICAgeyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s aW5lbm8tJExJTkVOT306IFwkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyBcImxp YmNvbXBpemNvbmZpZyA+PSAwLjguMTYuMFwiIjsgfSA+JjUKKysgICgkUEtHX0NPTkZJRyAtLWV4 aXN0cyAtLXByaW50LWVycm9ycyAibGliY29tcGl6Y29uZmlnID49IDAuOC4xNi4wIikgMj4mNQor ICAgYWNfc3RhdHVzPSQ/CisgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99 OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH07IHRoZW4K K2RpZmYgLS1naXQgY29uZmlndXJlLmFjIGNvbmZpZ3VyZS5hYworaW5kZXggYjZlMTQ3MC4uZDI4 YTcwYiAxMDA2NDQKKy0tLSBjb25maWd1cmUuYWMKKysrKyBjb25maWd1cmUuYWMKK0BAIC0zNDAs NyArMzQwLDcgQEAgQUNfQVJHX1dJVEgoW2NvbXBpei1zZXNzaW9uXSwKKyAgICAgICAgICAgICBb d2l0aF9jb21waXpfc2Vzc2lvbj0iJHdpdGh2YWwiXSwgW3dpdGhfY29tcGl6X3Nlc3Npb249ImF1 dG8iXSkKKyAKKyBBU19JRihbdGVzdCAieCR3aXRoX2NvbXBpel9zZXNzaW9uIiAhPSAieG5vIl0s IFsKKy0gIFBLR19DSEVDS19FWElTVFMoW2xpYmNvbXBpemNvbmZpZyA+PSAwLjkuMTQuMF0sCisr ICBQS0dfQ0hFQ0tfRVhJU1RTKFtsaWJjb21waXpjb25maWcgPj0gMC44LjE2LjBdLAorICAgICAg ICAgICAgICAgICAgICBbZm91bmRfY29tcGl6PSJ5ZXMiXSwgW2ZvdW5kX2NvbXBpej0ibm8iXSkK KyAKKyAgIEFTX0lGKFt0ZXN0ICJ4JGZvdW5kX2NvbXBpeiIgPSAieHllcyJdLCBbCmRpZmYgLS1n aXQgYS9zcmNwa2dzL2dub21lLWZsYXNoYmFjay90ZW1wbGF0ZSBiL3NyY3BrZ3MvZ25vbWUtZmxh c2hiYWNrL3RlbXBsYXRlCmluZGV4IGQzMjEyMGNhYjZmLi4wODU2NmRmNWZkNCAxMDA2NDQKLS0t IGEvc3JjcGtncy9nbm9tZS1mbGFzaGJhY2svdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nbm9tZS1m bGFzaGJhY2svdGVtcGxhdGUKQEAgLTEsMjAgKzEsMjkgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J2dub21lLWZsYXNoYmFjaycKIHBrZ25hbWU9Z25vbWUtZmxhc2hiYWNrCi12ZXJzaW9uPTMuMzQu MgordmVyc2lvbj0zLjM2LjMKIHJldmlzaW9uPTEKIGJ1aWxkX2hlbHBlcj1naXIKIGJ1aWxkX3N0 eWxlPWdudS1jb25maWd1cmUKLWNvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS1jb21waWxlLXdhcm5p bmdzPW1pbmltdW0iCi1ob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgYXV0b21ha2UgZ2xpYi1k ZXZlbCBnZXR0ZXh0IgotbWFrZWRlcGVuZHM9Imd0ayszLWRldmVsIGdzZXR0aW5ncy1kZXNrdG9w LXNjaGVtYXMtZGV2ZWwKLSBsaWJnbGliLWRldmVsIGdkay1waXhidWYtZGV2ZWwgdXBvd2VyLWRl dmVsIGlidXMtZGV2ZWwgcG9sa2l0LWRldmVsCi0gcHVsc2VhdWRpby1kZXZlbCBsaWJjYW5iZXJy YS1kZXZlbCBsaWJ4Y2ItZGV2ZWwgbGliWDExLWRldmVsIHBhbmdvLWRldmVsCi0gbGlieGtiZmls ZS1kZXZlbCBnbm9tZS1ibHVldG9vdGgtZGV2ZWwgZ25vbWUtZGVza3RvcC1kZXZlbCIKK2NvbmZp Z3VyZV9hcmdzPSItLXdpdGgtY29tcGl6LXNlc3Npb24gLS1lbmFibGUtY29tcGlsZS13YXJuaW5n cz1taW5pbXVtIgoraG9zdG1ha2VkZXBlbmRzPSJnZXR0ZXh0LWRldmVsIHBrZy1jb25maWcgYXV0 b21ha2UgZ2xpYi1kZXZlbCBnZXR0ZXh0IGxpYnRvb2wiCittYWtlZGVwZW5kcz0iZ3RrKzMtZGV2 ZWwgcGFtLWRldmVsIGdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMtZGV2ZWwgZWxvZ2luZC1kZXZl bAorIGdkbS1kZXZlbCBsaWJjb21waXpjb25maWctZGV2ZWwgbGliZ2xpYi1kZXZlbCBnZGstcGl4 YnVmLWRldmVsIHVwb3dlci1kZXZlbCBpYnVzLWRldmVsCisgcG9sa2l0LWRldmVsIHB1bHNlYXVk aW8tZGV2ZWwgbGliY2FuYmVycmEtZGV2ZWwgbGlieGNiLWRldmVsIGxpYlgxMS1kZXZlbCBwYW5n by1kZXZlbAorIGxpYnhrYmZpbGUtZGV2ZWwgZ25vbWUtYmx1ZXRvb3RoLWRldmVsIGdub21lLWRl c2t0b3AtZGV2ZWwgZ25vbWUtcGFuZWwtZGV2ZWwiCiBkZXBlbmRzPSJnbm9tZS1ibHVldG9vdGgg Z25vbWUtc2Vzc2lvbiBnbm9tZS1zZXR0aW5ncy1kYWVtb24KLSBnbm9tZS1wYW5lbCBnbm9tZS10 aGVtZXMtc3RhbmRhcmQgbWV0YWNpdHkiCisgZ25vbWUtcGFuZWwgZ25vbWUtdGhlbWVzLWV4dHJh IG1ldGFjaXR5Igogc2hvcnRfZGVzYz0iR05PTUUgMyBzZXNzaW9uIHdpdGggc2ltaWxhciB1c2Vy IGV4cGVyaWVuY2UgdG8gdGhlIEdOT01FIDIueCBzZXJpZXMiCiBtYWludGFpbmVyPSJzaGl6b25p YyA8cmVhbHRpYXpAZ21haWwuY29tPiIKIGxpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCiBob21l cGFnZT0iaHR0cHM6Ly93aWtpLmdub21lLm9yZy9Qcm9qZWN0cy9Hbm9tZUZsYXNoYmFjayIKIGRp c3RmaWxlcz0iJHtHTk9NRV9TSVRFfS8ke3BrZ25hbWV9LyR7dmVyc2lvbiUuKn0vJHtwa2duYW1l fS0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTNiZTY1Mzg4Y2QyYzhmMzk3NDFiY2MwNWRh ODdlZjQwMDM1MTgzYTlhMzk1MDJkNjc2OTYyNDJjMmFlYjQ2OWMKK2NoZWNrc3VtPTJkYmE5ZWE0 MGYyZGE4MWMyMjk1NGE4Y2NjMjlmOGYxZmE0Y2E4Mzk1YTZiYjU1MjUwNjYzNTgzMjc1MWMxYTcK KworcHJlX2NvbmZpZ3VyZSgpIHsKKwlhdXRvcmVjb25mIC12ZmkKK30KKworcG9zdF9pbnN0YWxs KCkgeworCXZpbnN0YWxsICR7RklMRVNESVJ9L2dub21lLWZsYXNoYmFjay5wYW0gNjQ0IC9ldGMv cGFtLmQgZ25vbWUtZmxhc2hiYWNrCisJdnNlZCAtaSAtZSAicy8gLS1zeXN0ZW1kLy9nIiAke0RF U1RESVJ9L3Vzci9saWJleGVjL2dub21lLWZsYXNoYmFjay17Y29tcGl6LG1ldGFjaXR5fQorfQoK RnJvbSBkYWUzNjRmZDhhMGUyOTgwYmMzNDI5YWE4Y2ZhMGI3OTRiM2RhNTUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRlOiBU dWUsIDE2IEp1biAyMDIwIDE5OjQ4OjI0ICswNjAwClN1YmplY3Q6IFtQQVRDSCAzNy82Ml0gZ3Jh cGhlbmU6IHVwZGF0ZSB0byAxLjEwLjAuCgotLS0KIHNyY3BrZ3MvZ3JhcGhlbmUvdGVtcGxhdGUg fCAxMCArKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ3JhcGhlbmUvdGVtcGxhdGUgYi9zcmNwa2dz L2dyYXBoZW5lL3RlbXBsYXRlCmluZGV4IGYyZmU4MWEzZjQ3Li5jYjczODVmZWRiNyAxMDA2NDQK LS0tIGEvc3JjcGtncy9ncmFwaGVuZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dyYXBoZW5lL3Rl bXBsYXRlCkBAIC0xLDEwICsxLDEwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdncmFwaGVuZScK IHBrZ25hbWU9Z3JhcGhlbmUKLXZlcnNpb249MS44LjIKLXJldmlzaW9uPTIKK3ZlcnNpb249MS4x MC4wCityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1tZXNvbgogYnVpbGRfaGVscGVyPSJnaXIiCi1j b25maWd1cmVfYXJncz0iLUR0ZXN0cz1mYWxzZSAtRGJlbmNobWFya3M9ZmFsc2UKK2NvbmZpZ3Vy ZV9hcmdzPSItRHRlc3RzPWZhbHNlIC1EYXJtX25lb249ZmFsc2UKICAtRGludHJvc3BlY3Rpb249 JCh2b3B0X2lmIGdpciB0cnVlIGZhbHNlKSIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIK IG1ha2VkZXBlbmRzPSJsaWJnbGliLWRldmVsIgpAQCAtMTMsMTMgKzEzLDEzIEBAIG1haW50YWlu ZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJNSVQiCiBo b21lcGFnZT0iaHR0cHM6Ly9naXRodWIuY29tL2ViYXNzaS9ncmFwaGVuZSIKIGRpc3RmaWxlcz0i JHtHTk9NRV9TSVRFfS9ncmFwaGVuZS8ke3ZlcnNpb24lLip9L2dyYXBoZW5lLSR7dmVyc2lvbn0u dGFyLnh6IgotY2hlY2tzdW09YjNmY2YyMDk5NmU1N2IxZjRkZjM5NDFjYWFjMTBmMTQzYmIyOTg5 MGE0MmY3YTY1NDA3Y2QxOTI3MWZjODlmNworY2hlY2tzdW09NDA2ZDk3ZjUxZGQ0Y2E2MWU5MWY4 NDY2NmEwMGMzZTk3NmQzZTY2N2NkMjQ4Yjc2ZDkyZmRiMzVjZTg3NjQ5OQogCiBidWlsZF9vcHRp b25zPSJnaXIiCiBidWlsZF9vcHRpb25zX2RlZmF1bHQ9ImdpciIKIAogcG9zdF9pbnN0YWxsKCkg ewotCXZsaWNlbnNlIExJQ0VOU0UKKwl2bGljZW5zZSBMSUNFTlNFLnR4dCBMSUNFTlNFCiB9CiAK IGdyYXBoZW5lLWRldmVsX3BhY2thZ2UoKSB7CgpGcm9tIGY2MWJmYTA4Mzg2ZjU5YjFlMzM3ZDU4 MDdkYzMwZmYzM2Q2YjQ4NmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE5hZmlzIDxt bmFiaWQuMjVAb3V0bG9vay5jb20+CkRhdGU6IFR1ZSwgMTYgSnVuIDIwMjAgMTk6NDg6MzAgKzA2 MDAKU3ViamVjdDogW1BBVENIIDM4LzYyXSBtdXR0ZXI6IHVwZGF0ZSB0byAzLjM2LjMuCgotLS0K IGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxOCArLQog Li4uL3BhdGNoZXMvZml4LWNvZ2wtZWdsLWluY2x1ZGVzLnBhdGNoICAgICAgIHwgIDExIC0KIHNy Y3BrZ3MvbXV0dGVyL3BhdGNoZXMvcGlwZXdpcmUtMC4zLnBhdGNoICAgICB8IDUyMSAtLS0tLS0t LS0tLS0tLS0tLS0KIHNyY3BrZ3MvbXV0dGVyL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAg ICB8ICAyNyArLQogNCBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCA1NTQgZGVsZXRp b25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXR0ZXIvcGF0Y2hlcy9maXgtY29n bC1lZ2wtaW5jbHVkZXMucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211dHRlci9w YXRjaGVzL3BpcGV3aXJlLTAuMy5wYXRjaAoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9j b21tb24vc2hsaWJzCmluZGV4IDc0MDg2YjJiOThiLi4yM2UwYzhmNjg1YSAxMDA2NDQKLS0tIGEv Y29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0zMDIyLDE1ICszMDIyLDE1IEBA IGxpYmRlY29yYXRpb24uc28uMCBjb21waXotY29yZS0wLjguMTRfMQogbGliY29tcGl6Y29uZmln LnNvLjAgbGliY29tcGl6Y29uZmlnLTAuOC4xNF8xCiBsaWJlbWVyYWxkZW5naW5lLnNvLjAgZW1l cmFsZC0wLjguMTRfMQogbGliaGFuZ3VsLnNvLjEgbGliaGFuZ3VsLTAuMS4wXzEKLWxpYm11dHRl ci01LnNvLjAgbXV0dGVyLTMuMzQuMV8xCi1saWJtdXR0ZXItY2x1dHRlci01LnNvIG11dHRlci0z LjM0LjFfMQotbGlibXV0dGVyLWNsdXR0ZXItNS5zby4wIG11dHRlci0zLjM0LjFfMQotbGlibXV0 dGVyLWNvZ2wtcGF0aC01LnNvIG11dHRlci0zLjM0LjFfMQotbGlibXV0dGVyLWNvZ2wtcGF0aC01 LnNvLjAgbXV0dGVyLTMuMzQuMV8xCi1saWJtdXR0ZXItY29nbC01LnNvIG11dHRlci0zLjM0LjFf MQotbGlibXV0dGVyLWNvZ2wtNS5zby4wIG11dHRlci0zLjM0LjFfMQotbGlibXV0dGVyLWNvZ2wt cGFuZ28tNS5zbyBtdXR0ZXItMy4zNC4xXzEKLWxpYm11dHRlci1jb2dsLXBhbmdvLTUuc28uMCBt dXR0ZXItMy4zNC4xXzEKK2xpYm11dHRlci02LnNvLjAgbXV0dGVyLTMuMzYuM18xCitsaWJtdXR0 ZXItY2x1dHRlci02LnNvIG11dHRlci0zLjM2LjNfMQorbGlibXV0dGVyLWNsdXR0ZXItNi5zby4w IG11dHRlci0zLjM2LjNfMQorbGlibXV0dGVyLWNvZ2wtcGF0aC02LnNvIG11dHRlci0zLjM2LjNf MQorbGlibXV0dGVyLWNvZ2wtcGF0aC02LnNvLjAgbXV0dGVyLTMuMzYuM18xCitsaWJtdXR0ZXIt Y29nbC02LnNvIG11dHRlci0zLjM2LjNfMQorbGlibXV0dGVyLWNvZ2wtNi5zby4wIG11dHRlci0z LjM2LjNfMQorbGlibXV0dGVyLWNvZ2wtcGFuZ28tNi5zbyBtdXR0ZXItMy4zNi4zXzEKK2xpYm11 dHRlci1jb2dsLXBhbmdvLTYuc28uMCBtdXR0ZXItMy4zNi4zXzEKIGxpYmdlb2NsdWUtMi5zby4w IGdlb2NsdWUyLTIuNC40XzEKIGxpYmdlcHViLnNvLjAgbGliZ2VwdWItMC40XzEKIGxpYnNsb3B5 LnNvLjcuNSBzbG9wLTcuNV8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL211dHRlci9wYXRjaGVzL2Zp eC1jb2dsLWVnbC1pbmNsdWRlcy5wYXRjaCBiL3NyY3BrZ3MvbXV0dGVyL3BhdGNoZXMvZml4LWNv Z2wtZWdsLWluY2x1ZGVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOTA5 ODg4ODdjMy4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tdXR0ZXIvcGF0Y2hlcy9maXgtY29n bC1lZ2wtaW5jbHVkZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0tLS0g Y29nbC9jb2dsL21lc29uLmJ1aWxkCTIwMTktMTAtMDggMTk6MTU6MTAuMDAwMDAwMDAwICswMjAw Ci0rKysgY29nbC9jb2dsL21lc29uLmJ1aWxkCTIwMTktMTItMTYgMTU6NDU6NDQuMDM3NjQwNTQ4 ICswMTAwCi1AQCAtNDgsNyArNDgsNyBAQAotIGJ1aWx0X2hlYWRlcnMgKz0gW2NvZ2xfZ2xfaGVh ZGVyX2hdCi0gCi0gaWYgaGF2ZV9lZ2wKLS0gIGNvZ2xfZWdsX2luY2x1ZGVzX3N0cmluZyA9ICcj aW5jbHVkZSA8RUdML2VnbC5oPlxuI2luY2x1ZGUgPEVHTC9lZ2xleHQuaD4nCi0rICBjb2dsX2Vn bF9pbmNsdWRlc19zdHJpbmcgPSAnI2luY2x1ZGUgPEVHTC9lZ2wuaD5cbiNpbmNsdWRlIDxFR0wv ZWdsZXh0Lmg+XG4jaW5jbHVkZSA8RUdML2VnbG1lc2FleHQuaD4nCi0gZWxzZQotICAgY29nbF9l Z2xfaW5jbHVkZXNfc3RyaW5nID0gJycKLSBlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXR0 ZXIvcGF0Y2hlcy9waXBld2lyZS0wLjMucGF0Y2ggYi9zcmNwa2dzL211dHRlci9wYXRjaGVzL3Bp cGV3aXJlLTAuMy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWJmZjY1ZmJh ODUuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbXV0dGVyL3BhdGNoZXMvcGlwZXdpcmUtMC4z LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTIxICswLDAgQEAKLUJ1aWxkIG11dHRlciBhZ2Fp bnN0IHBpcGV3aXJlLTAuMywgYmFzZWQgb24gYSBwYXRjaCBhdDoKLWh0dHBzOi8vZ2l0bGFiLmdu b21lLm9yZy9HTk9NRS9tdXR0ZXIvLS9tZXJnZV9yZXF1ZXN0cy8xMDYyCi0tLS0gbWVzb24uYnVp bGQKLSsrKyBtZXNvbi5idWlsZAotQEAgLTUwLDcgKzUwLDcgQEAgbGliaW5wdXRfcmVxID0gJz49 IDEuNycKLSBnYm1fcmVxID0gJz49IDEwLjMnCi0KLSAjIHNjcmVlbiBjYXN0IHZlcnNpb24gcmVx dWlyZW1lbnRzCi0tbGlicGlwZXdpcmVfcmVxID0gJz49IDAuMi41JwotK2xpYnBpcGV3aXJlX3Jl cSA9ICc+PSAwLjMuMCcKLQotIGdub21lID0gaW1wb3J0KCdnbm9tZScpCi0gcGtnID0gaW1wb3J0 KCdwa2djb25maWcnKQotQEAgLTI0MSw3ICsyNDEsNyBAQCBlbmRpZgotCi0gaGF2ZV9yZW1vdGVf ZGVza3RvcCA9IGdldF9vcHRpb24oJ3JlbW90ZV9kZXNrdG9wJykKLSBpZiBoYXZlX3JlbW90ZV9k ZXNrdG9wCi0tICBsaWJwaXBld2lyZV9kZXAgPSBkZXBlbmRlbmN5KCdsaWJwaXBld2lyZS0wLjIn LCB2ZXJzaW9uOiBsaWJwaXBld2lyZV9yZXEpCi0rICBsaWJwaXBld2lyZV9kZXAgPSBkZXBlbmRl bmN5KCdsaWJwaXBld2lyZS0wLjMnLCB2ZXJzaW9uOiBsaWJwaXBld2lyZV9yZXEpCi0gZW5kaWYK LQotIGhhdmVfaW50cm9zcGVjdGlvbiA9IGdldF9vcHRpb24oJ2ludHJvc3BlY3Rpb24nKQotZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kcy9tZXRhLXNjcmVlbi1jYXN0LXN0cmVhbS1zcmMuYyBiL3Ny Yy9iYWNrZW5kcy9tZXRhLXNjcmVlbi1jYXN0LXN0cmVhbS1zcmMuYwotaW5kZXggODJjNWNiYTQz Ni4uYmExY2U5NGE3ZSAxMDA2NDQKLS0tLSBzcmMvYmFja2VuZHMvbWV0YS1zY3JlZW4tY2FzdC1z dHJlYW0tc3JjLmMKLSsrKyBzcmMvYmFja2VuZHMvbWV0YS1zY3JlZW4tY2FzdC1zdHJlYW0tc3Jj LmMKLUBAIC0yOSw2ICsyOSw3IEBACi0gI2luY2x1ZGUgPHNwYS9wYXJhbS9wcm9wcy5oPgotICNp bmNsdWRlIDxzcGEvcGFyYW0vZm9ybWF0LXV0aWxzLmg+Ci0gI2luY2x1ZGUgPHNwYS9wYXJhbS92 aWRlby9mb3JtYXQtdXRpbHMuaD4KLSsjaW5jbHVkZSA8c3BhL3V0aWxzL3Jlc3VsdC5oPgotICNp bmNsdWRlIDxzdGRpbnQuaD4KLSAjaW5jbHVkZSA8c3lzL21tYW4uaD4KLQotQEAgLTYyLDE1ICs2 Myw2IEBAIGVudW0KLQotIHN0YXRpYyBndWludCBzaWduYWxzW05fU0lHTkFMU107Ci0KLS10eXBl ZGVmIHN0cnVjdCBfTWV0YVNwYVR5cGUKLS17Ci0tICBzdHJ1Y3Qgc3BhX3R5cGVfbWVkaWFfdHlw ZSBtZWRpYV90eXBlOwotLSAgc3RydWN0IHNwYV90eXBlX21lZGlhX3N1YnR5cGUgbWVkaWFfc3Vi dHlwZTsKLS0gIHN0cnVjdCBzcGFfdHlwZV9mb3JtYXRfdmlkZW8gZm9ybWF0X3ZpZGVvOwotLSAg c3RydWN0IHNwYV90eXBlX3ZpZGVvX2Zvcm1hdCB2aWRlb19mb3JtYXQ7Ci0tICB1aW50MzJfdCBt ZXRhX2N1cnNvcjsKLS19IE1ldGFTcGFUeXBlOwotLQotIHR5cGVkZWYgc3RydWN0IF9NZXRhUGlw ZVdpcmVTb3VyY2UKLSB7Ci0gICBHU291cmNlIGJhc2U7Ci1AQCAtODIsMTkgKzc0LDE5IEBAIHR5 cGVkZWYgc3RydWN0IF9NZXRhU2NyZWVuQ2FzdFN0cmVhbVNyY1ByaXZhdGUKLSB7Ci0gICBNZXRh U2NyZWVuQ2FzdFN0cmVhbSAqc3RyZWFtOwotCi0rICBzdHJ1Y3QgcHdfY29udGV4dCAqcGlwZXdp cmVfY29udGV4dDsKLSAgIHN0cnVjdCBwd19jb3JlICpwaXBld2lyZV9jb3JlOwotLSAgc3RydWN0 IHB3X3JlbW90ZSAqcGlwZXdpcmVfcmVtb3RlOwotLSAgc3RydWN0IHB3X3R5cGUgKnBpcGV3aXJl X3R5cGU7Ci0gICBNZXRhUGlwZVdpcmVTb3VyY2UgKnBpcGV3aXJlX3NvdXJjZTsKLS0gIHN0cnVj dCBzcGFfaG9vayBwaXBld2lyZV9yZW1vdGVfbGlzdGVuZXI7Ci0rICBzdHJ1Y3Qgc3BhX2hvb2sg cGlwZXdpcmVfY29yZV9saXN0ZW5lcjsKLQotICAgZ2Jvb2xlYW4gaXNfZW5hYmxlZDsKLQotICAg c3RydWN0IHB3X3N0cmVhbSAqcGlwZXdpcmVfc3RyZWFtOwotICAgc3RydWN0IHNwYV9ob29rIHBp cGV3aXJlX3N0cmVhbV9saXN0ZW5lcjsKLSsgIHVpbnQzMl90IG5vZGVfaWQ7Ci0KLS0gIE1ldGFT cGFUeXBlIHNwYV90eXBlOwotICAgc3RydWN0IHNwYV92aWRlb19pbmZvX3JhdyB2aWRlb19mb3Jt YXQ7Ci0rICBpbnQgdmlkZW9fc3RyaWRlOwotCi0gICB1aW50NjRfdCBsYXN0X2ZyYW1lX3RpbWVz dGFtcF91czsKLQotQEAgLTExMiw4ICsxMDQsNiBAQCBHX0RFRklORV9UWVBFX1dJVEhfQ09ERSAo TWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2luaXRfaW5pdGFi bGVfaWZhY2UpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQUREX1BSSVZBVEUgKE1ldGFT Y3JlZW5DYXN0U3RyZWFtU3JjKSkKLQotLSNkZWZpbmUgUFJPUF9SQU5HRShtaW4sIG1heCkgMiwg KG1pbiksIChtYXgpCi0tCi0gc3RhdGljIHZvaWQKLSBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9z cmNfZ2V0X3NwZWNzIChNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyYyAqc3JjLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAgICAgICAgICAgICAgICAgICAgICp3aWR0 aCwKLUBAIC0yODYsOSArMjc2LDYgQEAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX3NldF9l bXB0eV9jdXJzb3Jfc3ByaXRlX21ldGFkYXRhIChNZXRhU2NyZWVuQ2FzdFN0cmUKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCAgICAgICAgICAgICAgICAgICAgICB4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICAgICAgICAgICAgICAgICAgICAg IHkpCi0gewotLSAgTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmNQcml2YXRlICpwcml2ID0KLS0gICAg bWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2dldF9pbnN0YW5jZV9wcml2YXRlIChzcmMpOwot LSAgTWV0YVNwYVR5cGUgKnNwYV90eXBlID0gJnByaXYtPnNwYV90eXBlOwotICAgc3RydWN0IHNw YV9tZXRhX2JpdG1hcCAqc3BhX21ldGFfYml0bWFwOwotCi0gICBzcGFfbWV0YV9jdXJzb3ItPmlk ID0gMTsKLUBAIC0zMDAsNyArMjg3LDcgQEAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX3Nl dF9lbXB0eV9jdXJzb3Jfc3ByaXRlX21ldGFkYXRhIChNZXRhU2NyZWVuQ2FzdFN0cmUKLSAgIHNw YV9tZXRhX2JpdG1hcCA9IFNQQV9NRU1CRVIgKHNwYV9tZXRhX2N1cnNvciwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNwYV9tZXRhX2N1cnNvci0+Yml0bWFwX29mZnNldCwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzcGFfbWV0YV9iaXRtYXApOwot LSAgc3BhX21ldGFfYml0bWFwLT5mb3JtYXQgPSBzcGFfdHlwZS0+dmlkZW9fZm9ybWF0LlJHQkE7 Ci0rICBzcGFfbWV0YV9iaXRtYXAtPmZvcm1hdCA9IFNQQV9WSURFT19GT1JNQVRfUkdCQTsKLSAg IHNwYV9tZXRhX2JpdG1hcC0+b2Zmc2V0ID0gc2l6ZW9mIChzdHJ1Y3Qgc3BhX21ldGFfYml0bWFw KTsKLQotICAgc3BhX21ldGFfY3Vyc29yLT5ob3RzcG90LnggPSAwOwotQEAgLTMxNyw5ICszMDQs NiBAQCBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfc2V0X2N1cnNvcl9zcHJpdGVfbWV0YWRh dGEgKE1ldGFTY3JlZW5DYXN0U3RyZWFtU3JjCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgeSwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZsb2F0ICAgICAgICAgICAgICAgICAgICBzY2FsZSkKLSB7Ci0tICBNZXRhU2NyZWVuQ2FzdFN0 cmVhbVNyY1ByaXZhdGUgKnByaXYgPQotLSAgICBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNf Z2V0X2luc3RhbmNlX3ByaXZhdGUgKHNyYyk7Ci0tICBNZXRhU3BhVHlwZSAqc3BhX3R5cGUgPSAm cHJpdi0+c3BhX3R5cGU7Ci0gICBDb2dsVGV4dHVyZSAqY3Vyc29yX3RleHR1cmU7Ci0gICBzdHJ1 Y3Qgc3BhX21ldGFfYml0bWFwICpzcGFfbWV0YV9iaXRtYXA7Ci0gICBpbnQgaG90c3BvdF94LCBo b3RzcG90X3k7Ci1AQCAtMzQ2LDcgKzMzMCw3IEBAIG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFtX3Ny Y19zZXRfY3Vyc29yX3Nwcml0ZV9tZXRhZGF0YSAoTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMKLSAg IHNwYV9tZXRhX2JpdG1hcCA9IFNQQV9NRU1CRVIgKHNwYV9tZXRhX2N1cnNvciwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNwYV9tZXRhX2N1cnNvci0+Yml0bWFwX29mZnNldCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzcGFfbWV0YV9iaXRtYXAp OwotLSAgc3BhX21ldGFfYml0bWFwLT5mb3JtYXQgPSBzcGFfdHlwZS0+dmlkZW9fZm9ybWF0LlJH QkE7Ci0rICBzcGFfbWV0YV9iaXRtYXAtPmZvcm1hdCA9IFNQQV9WSURFT19GT1JNQVRfUkdCQTsK LSAgIHNwYV9tZXRhX2JpdG1hcC0+b2Zmc2V0ID0gc2l6ZW9mIChzdHJ1Y3Qgc3BhX21ldGFfYml0 bWFwKTsKLQotICAgbWV0YV9jdXJzb3Jfc3ByaXRlX2dldF9ob3RzcG90IChjdXJzb3Jfc3ByaXRl LCAmaG90c3BvdF94LCAmaG90c3BvdF95KTsKLUBAIC0zODIsMTIgKzM2NiwxMCBAQCBzdGF0aWMg dm9pZAotIGFkZF9jdXJzb3JfbWV0YWRhdGEgKE1ldGFTY3JlZW5DYXN0U3RyZWFtU3JjICpzcmMs Ci0gICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNwYV9idWZmZXIgICAgICAgKnNwYV9idWZm ZXIpCi0gewotLSAgTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmNQcml2YXRlICpwcml2ID0KLS0gICAg bWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2dldF9pbnN0YW5jZV9wcml2YXRlIChzcmMpOwot LSAgTWV0YVNwYVR5cGUgKnNwYV90eXBlID0gJnByaXYtPnNwYV90eXBlOwotICAgc3RydWN0IHNw YV9tZXRhX2N1cnNvciAqc3BhX21ldGFfY3Vyc29yOwotCi0tICBzcGFfbWV0YV9jdXJzb3IgPSBz cGFfYnVmZmVyX2ZpbmRfbWV0YSAoc3BhX2J1ZmZlciwgc3BhX3R5cGUtPm1ldGFfY3Vyc29yKTsK LSsgIHNwYV9tZXRhX2N1cnNvciA9IHNwYV9idWZmZXJfZmluZF9tZXRhX2RhdGEgKHNwYV9idWZm ZXIsIFNQQV9NRVRBX0N1cnNvciwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNpemVvZiAoKnNwYV9tZXRhX2N1cnNvcikpOwotICAgaWYgKHNwYV9tZXRh X2N1cnNvcikKLSAgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX3NldF9jdXJzb3JfbWV0 YWRhdGEgKHNyYywgc3BhX21ldGFfY3Vyc29yKTsKLSB9Ci1AQCAtNDQ3LDE0ICs0MjksMTQgQEAg bWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX21heWJlX3JlY29yZF9mcmFtZSAoTWV0YVNjcmVl bkNhc3RTdHJlYW1TcmMgKnNyYykKLSAgICAgewotICAgICAgIGRhdGEgPSBzcGFfYnVmZmVyLT5k YXRhc1swXS5kYXRhOwotICAgICB9Ci0tICBlbHNlIGlmIChzcGFfYnVmZmVyLT5kYXRhc1swXS50 eXBlID09IHByaXYtPnBpcGV3aXJlX3R5cGUtPmRhdGEuTWVtRmQpCi0rICBlbHNlIGlmIChzcGFf YnVmZmVyLT5kYXRhc1swXS50eXBlID09IFNQQV9EQVRBX01lbUZkKQotICAgICB7Ci0gICAgICAg bWFwID0gbW1hcCAoTlVMTCwgc3BhX2J1ZmZlci0+ZGF0YXNbMF0ubWF4c2l6ZSArIHNwYV9idWZm ZXItPmRhdGFzWzBdLm1hcG9mZnNldCwKLSAgICAgICAgICAgICAgICAgICBQUk9UX1JFQUQgfCBQ Uk9UX1dSSVRFLCBNQVBfU0hBUkVELAotICAgICAgICAgICAgICAgICAgIHNwYV9idWZmZXItPmRh dGFzWzBdLmZkLCAwKTsKLSAgICAgICBpZiAobWFwID09IE1BUF9GQUlMRUQpCi0gICAgICAgICB7 Ci0tICAgICAgICAgIGdfd2FybmluZyAoIkZhaWxlZCB0byBtbWFwIHBpcGV3aXJlIHN0cmVhbSBi dWZmZXI6ICVzXG4iLAotKyAgICAgICAgICBnX3dhcm5pbmcgKCJGYWlsZWQgdG8gbW1hcCBwaXBl d2lyZSBzdHJlYW0gYnVmZmVyOiAlcyIsCi0gICAgICAgICAgICAgICAgICAgICAgc3RyZXJyb3Ig KGVycm5vKSk7Ci0gICAgICAgICAgIHJldHVybjsKLSAgICAgICAgIH0KLUBAIC00NjksMjggKzQ1 MSwzMCBAQCBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfbWF5YmVfcmVjb3JkX2ZyYW1lIChN ZXRhU2NyZWVuQ2FzdFN0cmVhbVNyYyAqc3JjKQotCi0gICBpZiAobWV0YV9zY3JlZW5fY2FzdF9z dHJlYW1fc3JjX3JlY29yZF9mcmFtZSAoc3JjLCBkYXRhKSkKLSAgICAgewotLSAgICAgIHN0cnVj dCBzcGFfbWV0YV92aWRlb19jcm9wICpzcGFfbWV0YV92aWRlb19jcm9wOwotKyAgICAgIHN0cnVj dCBzcGFfbWV0YV9yZWdpb24gKnNwYV9tZXRhX3ZpZGVvX2Nyb3A7Ci0KLSAgICAgICBzcGFfYnVm ZmVyLT5kYXRhc1swXS5jaHVuay0+c2l6ZSA9IHNwYV9idWZmZXItPmRhdGFzWzBdLm1heHNpemU7 Ci0rICAgICAgc3BhX2J1ZmZlci0+ZGF0YXNbMF0uY2h1bmstPnN0cmlkZSA9IHByaXYtPnZpZGVv X3N0cmlkZTsKLQotICAgICAgIC8qIFVwZGF0ZSBWaWRlb0Nyb3AgaWYgbmVlZGVkICovCi0gICAg ICAgc3BhX21ldGFfdmlkZW9fY3JvcCA9Ci0tICAgICAgICBzcGFfYnVmZmVyX2ZpbmRfbWV0YSAo c3BhX2J1ZmZlciwgcHJpdi0+cGlwZXdpcmVfdHlwZS0+bWV0YS5WaWRlb0Nyb3ApOwotKyAgICAg ICAgc3BhX2J1ZmZlcl9maW5kX21ldGFfZGF0YSAoc3BhX2J1ZmZlciwgU1BBX01FVEFfVmlkZW9D cm9wLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mICgqc3BhX21l dGFfdmlkZW9fY3JvcCkpOwotICAgICAgIGlmIChzcGFfbWV0YV92aWRlb19jcm9wKQotICAgICAg ICAgewotICAgICAgICAgICBpZiAobWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2dldF92aWRl b2Nyb3AgKHNyYywgJmNyb3BfcmVjdCkpCi0gICAgICAgICAgICAgewotLSAgICAgICAgICAgICAg c3BhX21ldGFfdmlkZW9fY3JvcC0+eCA9IGNyb3BfcmVjdC54OwotLSAgICAgICAgICAgICAgc3Bh X21ldGFfdmlkZW9fY3JvcC0+eSA9IGNyb3BfcmVjdC55OwotLSAgICAgICAgICAgICAgc3BhX21l dGFfdmlkZW9fY3JvcC0+d2lkdGggPSBjcm9wX3JlY3Qud2lkdGg7Ci0tICAgICAgICAgICAgICBz cGFfbWV0YV92aWRlb19jcm9wLT5oZWlnaHQgPSBjcm9wX3JlY3QuaGVpZ2h0OwotKyAgICAgICAg ICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+cmVnaW9uLnBvc2l0aW9uLnggPSBjcm9wX3JlY3Qu eDsKLSsgICAgICAgICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPnJlZ2lvbi5wb3NpdGlvbi55 ID0gY3JvcF9yZWN0Lnk7Ci0rICAgICAgICAgICAgICBzcGFfbWV0YV92aWRlb19jcm9wLT5yZWdp b24uc2l6ZS53aWR0aCA9IGNyb3BfcmVjdC53aWR0aDsKLSsgICAgICAgICAgICAgIHNwYV9tZXRh X3ZpZGVvX2Nyb3AtPnJlZ2lvbi5zaXplLmhlaWdodCA9IGNyb3BfcmVjdC5oZWlnaHQ7Ci0gICAg ICAgICAgICAgfQotICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgewotLSAgICAgICAgICAg ICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+eCA9IDA7Ci0tICAgICAgICAgICAgICBzcGFfbWV0YV92 aWRlb19jcm9wLT55ID0gMDsKLS0gICAgICAgICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPndp ZHRoID0gcHJpdi0+c3RyZWFtX3dpZHRoOwotLSAgICAgICAgICAgICAgc3BhX21ldGFfdmlkZW9f Y3JvcC0+aGVpZ2h0ID0gcHJpdi0+c3RyZWFtX2hlaWdodDsKLSsgICAgICAgICAgICAgIHNwYV9t ZXRhX3ZpZGVvX2Nyb3AtPnJlZ2lvbi5wb3NpdGlvbi54ID0gMDsKLSsgICAgICAgICAgICAgIHNw YV9tZXRhX3ZpZGVvX2Nyb3AtPnJlZ2lvbi5wb3NpdGlvbi55ID0gMDsKLSsgICAgICAgICAgICAg IHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPnJlZ2lvbi5zaXplLndpZHRoID0gcHJpdi0+c3RyZWFtX3dp ZHRoOwotKyAgICAgICAgICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+cmVnaW9uLnNpemUuaGVp Z2h0ID0gcHJpdi0+c3RyZWFtX2hlaWdodDsKLSAgICAgICAgICAgICB9Ci0gICAgICAgICB9Ci0g ICAgIH0KLUBAIC01NTUsNyArNTM5LDYgQEAgb25fc3RyZWFtX3N0YXRlX2NoYW5nZWQgKHZvaWQg ICAgICAgICAgICAgICAgICpkYXRhLAotICAgTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMgKnNyYyA9 IGRhdGE7Ci0gICBNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyY1ByaXZhdGUgKnByaXYgPQotICAgICBt ZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfZ2V0X2luc3RhbmNlX3ByaXZhdGUgKHNyYyk7Ci0t ICB1aW50MzJfdCBub2RlX2lkOwotCi0gICBzd2l0Y2ggKHN0YXRlKQotICAgICB7Ci1AQCAtNTYz LDE0ICs1NDYsMTIgQEAgb25fc3RyZWFtX3N0YXRlX2NoYW5nZWQgKHZvaWQgICAgICAgICAgICAg ICAgICpkYXRhLAotICAgICAgIGdfd2FybmluZyAoInBpcGV3aXJlIHN0cmVhbSBlcnJvcjogJXMi LCBlcnJvcl9tZXNzYWdlKTsKLSAgICAgICBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfbm90 aWZ5X2Nsb3NlZCAoc3JjKTsKLSAgICAgICBicmVhazsKLS0gICAgY2FzZSBQV19TVFJFQU1fU1RB VEVfQ09ORklHVVJFOgotLSAgICAgIG5vZGVfaWQgPSBwd19zdHJlYW1fZ2V0X25vZGVfaWQgKHBy aXYtPnBpcGV3aXJlX3N0cmVhbSk7Ci0tICAgICAgZ19zaWduYWxfZW1pdCAoc3JjLCBzaWduYWxz W1JFQURZXSwgMCwgKHVuc2lnbmVkIGludCkgbm9kZV9pZCk7Ci0tICAgICAgYnJlYWs7Ci0tICAg IGNhc2UgUFdfU1RSRUFNX1NUQVRFX1VOQ09OTkVDVEVEOgotLSAgICBjYXNlIFBXX1NUUkVBTV9T VEFURV9DT05ORUNUSU5HOgotLSAgICBjYXNlIFBXX1NUUkVBTV9TVEFURV9SRUFEWToKLSAgICAg Y2FzZSBQV19TVFJFQU1fU1RBVEVfUEFVU0VEOgotKyAgICAgIGlmIChwcml2LT5ub2RlX2lkID09 IFNQQV9JRF9JTlZBTElEICYmIHByaXYtPnBpcGV3aXJlX3N0cmVhbSkKLSsgICAgICAgIHsKLSsg ICAgICAgICAgcHJpdi0+bm9kZV9pZCA9IHB3X3N0cmVhbV9nZXRfbm9kZV9pZCAocHJpdi0+cGlw ZXdpcmVfc3RyZWFtKTsKLSsgICAgICAgICAgZ19zaWduYWxfZW1pdCAoc3JjLCBzaWduYWxzW1JF QURZXSwgMCwgKHVuc2lnbmVkIGludCkgcHJpdi0+bm9kZV9pZCk7Ci0rICAgICAgICB9Ci0gICAg ICAgaWYgKG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFtX3NyY19pc19lbmFibGVkIChzcmMpKQotICAg ICAgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2Rpc2FibGUgKHNyYyk7Ci0gICAgICAg YnJlYWs7Ci1AQCAtNTc4LDY4ICs1NTksNjkgQEAgb25fc3RyZWFtX3N0YXRlX2NoYW5nZWQgKHZv aWQgICAgICAgICAgICAgICAgICpkYXRhLAotICAgICAgIGlmICghbWV0YV9zY3JlZW5fY2FzdF9z dHJlYW1fc3JjX2lzX2VuYWJsZWQgKHNyYykpCi0gICAgICAgICBtZXRhX3NjcmVlbl9jYXN0X3N0 cmVhbV9zcmNfZW5hYmxlIChzcmMpOwotICAgICAgIGJyZWFrOwotKyAgICBjYXNlIFBXX1NUUkVB TV9TVEFURV9VTkNPTk5FQ1RFRDoKLSsgICAgY2FzZSBQV19TVFJFQU1fU1RBVEVfQ09OTkVDVElO RzoKLSsgICAgICBicmVhazsKLSAgICAgfQotIH0KLQotIHN0YXRpYyB2b2lkCi0tb25fc3RyZWFt X2Zvcm1hdF9jaGFuZ2VkICh2b2lkICAgICAgICAgICAgICAgICAqZGF0YSwKLS0gICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzcGFfcG9kICpmb3JtYXQpCi0rb25fc3RyZWFt X3BhcmFtX2NoYW5nZWQgKHZvaWQgICAgICAgICAgICAgICAgICpkYXRhLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgaWQsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHN0cnVjdCBzcGFfcG9kICpmb3JtYXQpCi0gewotICAgTWV0YVNjcmVl bkNhc3RTdHJlYW1TcmMgKnNyYyA9IGRhdGE7Ci0gICBNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyY1By aXZhdGUgKnByaXYgPQotICAgICBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfZ2V0X2luc3Rh bmNlX3ByaXZhdGUgKHNyYyk7Ci0tICBzdHJ1Y3QgcHdfdHlwZSAqcGlwZXdpcmVfdHlwZSA9IHBy aXYtPnBpcGV3aXJlX3R5cGU7Ci0gICB1aW50OF90IHBhcmFtc19idWZmZXJbMTAyNF07Ci0gICBp bnQzMl90IHdpZHRoLCBoZWlnaHQsIHN0cmlkZSwgc2l6ZTsKLSAgIHN0cnVjdCBzcGFfcG9kX2J1 aWxkZXIgcG9kX2J1aWxkZXI7Ci0gICBjb25zdCBzdHJ1Y3Qgc3BhX3BvZCAqcGFyYW1zWzNdOwot ICAgY29uc3QgaW50IGJwcCA9IDQ7Ci0KLS0gIGlmICghZm9ybWF0KQotLSAgICB7Ci0tICAgICAg cHdfc3RyZWFtX2ZpbmlzaF9mb3JtYXQgKHByaXYtPnBpcGV3aXJlX3N0cmVhbSwgMCwgTlVMTCwg MCk7Ci0tICAgICAgcmV0dXJuOwotLSAgICB9Ci0rICBpZiAoIWZvcm1hdCB8fCBpZCAhPSBTUEFf UEFSQU1fRm9ybWF0KQotKyAgICByZXR1cm47Ci0KLSAgIHNwYV9mb3JtYXRfdmlkZW9fcmF3X3Bh cnNlIChmb3JtYXQsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnByaXYtPnZpZGVv X2Zvcm1hdCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcHJpdi0+c3BhX3R5cGUu Zm9ybWF0X3ZpZGVvKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcHJpdi0+dmlk ZW9fZm9ybWF0KTsKLQotICAgd2lkdGggPSBwcml2LT52aWRlb19mb3JtYXQuc2l6ZS53aWR0aDsK LSAgIGhlaWdodCA9IHByaXYtPnZpZGVvX2Zvcm1hdC5zaXplLmhlaWdodDsKLSAgIHN0cmlkZSA9 IFNQQV9ST1VORF9VUF9OICh3aWR0aCAqIGJwcCwgNCk7Ci0gICBzaXplID0gaGVpZ2h0ICogc3Ry aWRlOwotCi0rICBwcml2LT52aWRlb19zdHJpZGUgPSBzdHJpZGU7Ci0rCi0gICBwb2RfYnVpbGRl ciA9IFNQQV9QT0RfQlVJTERFUl9JTklUIChwYXJhbXNfYnVmZmVyLCBzaXplb2YgKHBhcmFtc19i dWZmZXIpKTsKLQotLSAgcGFyYW1zWzBdID0gc3BhX3BvZF9idWlsZGVyX29iamVjdCAoCi0rICBw YXJhbXNbMF0gPSBzcGFfcG9kX2J1aWxkZXJfYWRkX29iamVjdCAoCi0gICAgICZwb2RfYnVpbGRl ciwKLS0gICAgcGlwZXdpcmVfdHlwZS0+cGFyYW0uaWRCdWZmZXJzLCBwaXBld2lyZV90eXBlLT5w YXJhbV9idWZmZXJzLkJ1ZmZlcnMsCi0tICAgICI6IiwgcGlwZXdpcmVfdHlwZS0+cGFyYW1fYnVm ZmVycy5zaXplLCAiaSIsIHNpemUsCi0tICAgICI6IiwgcGlwZXdpcmVfdHlwZS0+cGFyYW1fYnVm ZmVycy5zdHJpZGUsICJpIiwgc3RyaWRlLAotLSAgICAiOiIsIHBpcGV3aXJlX3R5cGUtPnBhcmFt X2J1ZmZlcnMuYnVmZmVycywgImlydSIsIDE2LCBQUk9QX1JBTkdFICgyLCAxNiksCi0tICAgICI6 IiwgcGlwZXdpcmVfdHlwZS0+cGFyYW1fYnVmZmVycy5hbGlnbiwgImkiLCAxNik7Ci0tCi0tICBw YXJhbXNbMV0gPSBzcGFfcG9kX2J1aWxkZXJfb2JqZWN0ICgKLSsgICAgU1BBX1RZUEVfT0JKRUNU X1BhcmFtQnVmZmVycywgU1BBX1BBUkFNX0J1ZmZlcnMsCi0rICAgIFNQQV9QQVJBTV9CVUZGRVJT X2J1ZmZlcnMsIFNQQV9QT0RfQ0hPSUNFX1JBTkdFX0ludCAoMTYsIDIsIDE2KSwKLSsgICAgU1BB X1BBUkFNX0JVRkZFUlNfYmxvY2tzLCBTUEFfUE9EX0ludCAoMSksCi0rICAgIFNQQV9QQVJBTV9C VUZGRVJTX3NpemUsIFNQQV9QT0RfSW50IChzaXplKSwKLSsgICAgU1BBX1BBUkFNX0JVRkZFUlNf c3RyaWRlLCBTUEFfUE9EX0ludCAoc3RyaWRlKSwKLSsgICAgU1BBX1BBUkFNX0JVRkZFUlNfYWxp Z24sIFNQQV9QT0RfSW50ICgxNikpOwotKwotKyAgcGFyYW1zWzFdID0gc3BhX3BvZF9idWlsZGVy X2FkZF9vYmplY3QgKAotICAgICAmcG9kX2J1aWxkZXIsCi0tICAgIHBpcGV3aXJlX3R5cGUtPnBh cmFtLmlkTWV0YSwgcGlwZXdpcmVfdHlwZS0+cGFyYW1fbWV0YS5NZXRhLAotLSAgICAiOiIsIHBp cGV3aXJlX3R5cGUtPnBhcmFtX21ldGEudHlwZSwgIkkiLCBwaXBld2lyZV90eXBlLT5tZXRhLlZp ZGVvQ3JvcCwKLS0gICAgIjoiLCBwaXBld2lyZV90eXBlLT5wYXJhbV9tZXRhLnNpemUsICJpIiwg c2l6ZW9mIChzdHJ1Y3Qgc3BhX21ldGFfdmlkZW9fY3JvcCkpOwotKyAgICBTUEFfVFlQRV9PQkpF Q1RfUGFyYW1NZXRhLCBTUEFfUEFSQU1fTWV0YSwKLSsgICAgU1BBX1BBUkFNX01FVEFfdHlwZSwg U1BBX1BPRF9JZCAoU1BBX01FVEFfVmlkZW9Dcm9wKSwKLSsgICAgU1BBX1BBUkFNX01FVEFfc2l6 ZSwgU1BBX1BPRF9JbnQgKHNpemVvZiAoc3RydWN0IHNwYV9tZXRhX3JlZ2lvbikpKTsKLQotLSAg cGFyYW1zWzJdID0gc3BhX3BvZF9idWlsZGVyX29iamVjdCAoCi0rICBwYXJhbXNbMl0gPSBzcGFf cG9kX2J1aWxkZXJfYWRkX29iamVjdCAoCi0gICAgICZwb2RfYnVpbGRlciwKLS0gICAgcGlwZXdp cmVfdHlwZS0+cGFyYW0uaWRNZXRhLCBwaXBld2lyZV90eXBlLT5wYXJhbV9tZXRhLk1ldGEsCi0t ICAgICI6IiwgcGlwZXdpcmVfdHlwZS0+cGFyYW1fbWV0YS50eXBlLCAiSSIsIHByaXYtPnNwYV90 eXBlLm1ldGFfY3Vyc29yLAotLSAgICAiOiIsIHBpcGV3aXJlX3R5cGUtPnBhcmFtX21ldGEuc2l6 ZSwgImkiLCBDVVJTT1JfTUVUQV9TSVpFICg2NCwgNjQpKTsKLSsgICAgU1BBX1RZUEVfT0JKRUNU X1BhcmFtTWV0YSwgU1BBX1BBUkFNX01ldGEsCi0rICAgIFNQQV9QQVJBTV9NRVRBX3R5cGUsIFNQ QV9QT0RfSWQgKFNQQV9NRVRBX0N1cnNvciksCi0rICAgIFNQQV9QQVJBTV9NRVRBX3NpemUsIFNQ QV9QT0RfSW50IChDVVJTT1JfTUVUQV9TSVpFICg2NCwgNjQpKSk7Ci0KLS0gIHB3X3N0cmVhbV9m aW5pc2hfZm9ybWF0IChwcml2LT5waXBld2lyZV9zdHJlYW0sIDAsCi0tICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGFyYW1zLCBHX05fRUxFTUVOVFMgKHBhcmFtcykpOwotKyAgcHdfc3RyZWFt X3VwZGF0ZV9wYXJhbXMgKHByaXYtPnBpcGV3aXJlX3N0cmVhbSwgcGFyYW1zLCBHX05fRUxFTUVO VFMgKHBhcmFtcykpOwotIH0KLQotIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcHdfc3RyZWFtX2V2ZW50 cyBzdHJlYW1fZXZlbnRzID0gewotICAgUFdfVkVSU0lPTl9TVFJFQU1fRVZFTlRTLAotICAgLnN0 YXRlX2NoYW5nZWQgPSBvbl9zdHJlYW1fc3RhdGVfY2hhbmdlZCwKLS0gIC5mb3JtYXRfY2hhbmdl ZCA9IG9uX3N0cmVhbV9mb3JtYXRfY2hhbmdlZCwKLSsgIC5wYXJhbV9jaGFuZ2VkID0gb25fc3Ry ZWFtX3BhcmFtX2NoYW5nZWQsCi0gfTsKLQotIHN0YXRpYyBzdHJ1Y3QgcHdfc3RyZWFtICoKLUBA IC02NTIsOCArNjM0LDYgQEAgY3JlYXRlX3BpcGV3aXJlX3N0cmVhbSAoTWV0YVNjcmVlbkNhc3RT dHJlYW1TcmMgICpzcmMsCi0gICB1aW50OF90IGJ1ZmZlclsxMDI0XTsKLSAgIHN0cnVjdCBzcGFf cG9kX2J1aWxkZXIgcG9kX2J1aWxkZXIgPQotICAgICBTUEFfUE9EX0JVSUxERVJfSU5JVCAoYnVm ZmVyLCBzaXplb2YgKGJ1ZmZlcikpOwotLSAgTWV0YVNwYVR5cGUgKnNwYV90eXBlID0gJnByaXYt PnNwYV90eXBlOwotLSAgc3RydWN0IHB3X3R5cGUgKnBpcGV3aXJlX3R5cGUgPSBwcml2LT5waXBl d2lyZV90eXBlOwotICAgZmxvYXQgZnJhbWVfcmF0ZTsKLSAgIE1ldGFGcmFjdGlvbiBmcmFtZV9y YXRlX2ZyYWN0aW9uOwotICAgc3RydWN0IHNwYV9mcmFjdGlvbiBtYXhfZnJhbWVyYXRlOwotQEAg LTY2MSw3ICs2NDEsOSBAQCBjcmVhdGVfcGlwZXdpcmVfc3RyZWFtIChNZXRhU2NyZWVuQ2FzdFN0 cmVhbVNyYyAgKnNyYywKLSAgIGNvbnN0IHN0cnVjdCBzcGFfcG9kICpwYXJhbXNbMV07Ci0gICBp bnQgcmVzdWx0OwotCi0tICBwaXBld2lyZV9zdHJlYW0gPSBwd19zdHJlYW1fbmV3IChwcml2LT5w aXBld2lyZV9yZW1vdGUsCi0rICBwcml2LT5ub2RlX2lkID0gU1BBX0lEX0lOVkFMSUQ7Ci0rCi0r ICBwaXBld2lyZV9zdHJlYW0gPSBwd19zdHJlYW1fbmV3IChwcml2LT5waXBld2lyZV9jb3JlLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1ldGEtc2NyZWVuLWNhc3Qtc3Jj IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwotICAgaWYgKCFw aXBld2lyZV9zdHJlYW0pCi1AQCAtNjgyLDE3ICs2NjQsMTcgQEAgY3JlYXRlX3BpcGV3aXJlX3N0 cmVhbSAoTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMgICpzcmMsCi0gICBtYXhfZnJhbWVyYXRlID0g U1BBX0ZSQUNUSU9OIChmcmFtZV9yYXRlX2ZyYWN0aW9uLm51bSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGZyYW1lX3JhdGVfZnJhY3Rpb24uZGVub20pOwotCi0tICBwYXJhbXNb MF0gPSBzcGFfcG9kX2J1aWxkZXJfb2JqZWN0ICgKLSsgIHBhcmFtc1swXSA9IHNwYV9wb2RfYnVp bGRlcl9hZGRfb2JqZWN0ICgKLSAgICAgJnBvZF9idWlsZGVyLAotLSAgICBwaXBld2lyZV90eXBl LT5wYXJhbS5pZEVudW1Gb3JtYXQsIHBpcGV3aXJlX3R5cGUtPnNwYV9mb3JtYXQsCi0tICAgICJJ Iiwgc3BhX3R5cGUtPm1lZGlhX3R5cGUudmlkZW8sCi0tICAgICJJIiwgc3BhX3R5cGUtPm1lZGlh X3N1YnR5cGUucmF3LAotLSAgICAiOiIsIHNwYV90eXBlLT5mb3JtYXRfdmlkZW8uZm9ybWF0LCAi SSIsIHNwYV90eXBlLT52aWRlb19mb3JtYXQuQkdSeCwKLS0gICAgIjoiLCBzcGFfdHlwZS0+Zm9y bWF0X3ZpZGVvLnNpemUsICJSIiwgJlNQQV9SRUNUQU5HTEUgKHByaXYtPnN0cmVhbV93aWR0aCwK LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHByaXYtPnN0cmVhbV9oZWlnaHQpLAotLSAgICAiOiIsIHNwYV90eXBlLT5mb3JtYXRfdmlk ZW8uZnJhbWVyYXRlLCAiRiIsICZTUEFfRlJBQ1RJT04gKDAsIDEpLAotLSAgICAiOiIsIHNwYV90 eXBlLT5mb3JtYXRfdmlkZW8ubWF4X2ZyYW1lcmF0ZSwgIkZydSIsICZtYXhfZnJhbWVyYXRlLAot LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBS T1BfUkFOR0UgKCZtaW5fZnJhbWVyYXRlLAotKyAgICBTUEFfVFlQRV9PQkpFQ1RfRm9ybWF0LCBT UEFfUEFSQU1fRW51bUZvcm1hdCwKLSsgICAgU1BBX0ZPUk1BVF9tZWRpYVR5cGUsIFNQQV9QT0Rf SWQgKFNQQV9NRURJQV9UWVBFX3ZpZGVvKSwKLSsgICAgU1BBX0ZPUk1BVF9tZWRpYVN1YnR5cGUs IFNQQV9QT0RfSWQgKFNQQV9NRURJQV9TVUJUWVBFX3JhdyksCi0rICAgIFNQQV9GT1JNQVRfVklE RU9fZm9ybWF0LCBTUEFfUE9EX0lkIChTUEFfVklERU9fRk9STUFUX0JHUngpLAotKyAgICBTUEFf Rk9STUFUX1ZJREVPX3NpemUsIFNQQV9QT0RfUmVjdGFuZ2xlICgmU1BBX1JFQ1RBTkdMRSAocHJp di0+c3RyZWFtX3dpZHRoLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcHJpdi0+c3RyZWFtX2hlaWdodCkpLAotKyAgICBTUEFf Rk9STUFUX1ZJREVPX2ZyYW1lcmF0ZSwgU1BBX1BPRF9GcmFjdGlvbiAoJlNQQV9GUkFDVElPTiAo MCwgMSkpLAotKyAgICBTUEFfRk9STUFUX1ZJREVPX21heEZyYW1lcmF0ZSwgU1BBX1BPRF9DSE9J Q0VfUkFOR0VfRnJhY3Rpb24gKCZtYXhfZnJhbWVyYXRlLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtaW5fZnJhbWVy YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZtYXhfZnJhbWVyYXRlKSk7Ci0KLSAgIHB3X3N0cmVhbV9hZGRfbGlz dGVuZXIgKHBpcGV3aXJlX3N0cmVhbSwKLUBAIC03MDIsNyArNjg0LDcgQEAgY3JlYXRlX3BpcGV3 aXJlX3N0cmVhbSAoTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMgICpzcmMsCi0KLSAgIHJlc3VsdCA9 IHB3X3N0cmVhbV9jb25uZWN0IChwaXBld2lyZV9zdHJlYW0sCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUFdfRElSRUNUSU9OX09VVFBVVCwKLS0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQQV9JRF9JTlZB TElELAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQV19TVFJFQU1fRkxBR19EUklW RVIgfAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQV19TVFJFQU1fRkxBR19NQVBf QlVGRkVSUyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLCBHX05fRUxF TUVOVFMgKHBhcmFtcykpOwotQEAgLTcxNyw0MCArNjk5LDE4IEBAIGNyZWF0ZV9waXBld2lyZV9z dHJlYW0gKE1ldGFTY3JlZW5DYXN0U3RyZWFtU3JjICAqc3JjLAotIH0KLQotIHN0YXRpYyB2b2lk Ci0tb25fc3RhdGVfY2hhbmdlZCAodm9pZCAgICAgICAgICAgICAgICAgKmRhdGEsCi0tICAgICAg ICAgICAgICAgICAgZW51bSBwd19yZW1vdGVfc3RhdGUgIG9sZCwKLS0gICAgICAgICAgICAgICAg ICBlbnVtIHB3X3JlbW90ZV9zdGF0ZSAgc3RhdGUsCi0tICAgICAgICAgICAgICAgICAgY29uc3Qg Y2hhciAgICAgICAgICAgKmVycm9yX21lc3NhZ2UpCi0rb25fY29yZV9lcnJvciAodm9pZCAgICAg ICAqZGF0YSwKLSsgICAgICAgICAgICAgICB1aW50MzJfdCAgICBpZCwKLSsJICAgICAgIGludCAg ICAgICAgIHNlcSwKLSsJICAgICAgIGludCAgICAgICAgIHJlcywKLSsJICAgICAgIGNvbnN0IGNo YXIgKm1lc3NhZ2UpCi0gewotICAgTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMgKnNyYyA9IGRhdGE7 Ci0tICBNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyY1ByaXZhdGUgKnByaXYgPQotLSAgICBtZXRhX3Nj cmVlbl9jYXN0X3N0cmVhbV9zcmNfZ2V0X2luc3RhbmNlX3ByaXZhdGUgKHNyYyk7Ci0tICBzdHJ1 Y3QgcHdfc3RyZWFtICpwaXBld2lyZV9zdHJlYW07Ci0tICBHRXJyb3IgKmVycm9yID0gTlVMTDsK LQotLSAgc3dpdGNoIChzdGF0ZSkKLS0gICAgewotLSAgICBjYXNlIFBXX1JFTU9URV9TVEFURV9F UlJPUjoKLS0gICAgICBnX3dhcm5pbmcgKCJwaXBld2lyZSByZW1vdGUgZXJyb3I6ICVzXG4iLCBl cnJvcl9tZXNzYWdlKTsKLS0gICAgICBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfbm90aWZ5 X2Nsb3NlZCAoc3JjKTsKLS0gICAgICBicmVhazsKLS0gICAgY2FzZSBQV19SRU1PVEVfU1RBVEVf Q09OTkVDVEVEOgotLSAgICAgIHBpcGV3aXJlX3N0cmVhbSA9IGNyZWF0ZV9waXBld2lyZV9zdHJl YW0gKHNyYywgJmVycm9yKTsKLS0gICAgICBpZiAoIXBpcGV3aXJlX3N0cmVhbSkKLS0gICAgICAg IHsKLS0gICAgICAgICAgZ193YXJuaW5nICgiQ291bGQgbm90IGNyZWF0ZSBwaXBld2lyZSBzdHJl YW06ICVzIiwgZXJyb3ItPm1lc3NhZ2UpOwotLSAgICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9y KTsKLS0gICAgICAgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX25vdGlmeV9jbG9zZWQg KHNyYyk7Ci0tICAgICAgICB9Ci0tICAgICAgZWxzZQotLSAgICAgICAgewotLSAgICAgICAgICBw cml2LT5waXBld2lyZV9zdHJlYW0gPSBwaXBld2lyZV9zdHJlYW07Ci0tICAgICAgICB9Ci0tICAg ICAgYnJlYWs7Ci0tICAgIGNhc2UgUFdfUkVNT1RFX1NUQVRFX1VOQ09OTkVDVEVEOgotLSAgICBj YXNlIFBXX1JFTU9URV9TVEFURV9DT05ORUNUSU5HOgotLSAgICAgIGJyZWFrOwotLSAgICB9Ci0r ICBnX3dhcm5pbmcgKCJwaXBld2lyZSByZW1vdGUgZXJyb3I6IGlkOiV1ICVzIiwgaWQsIG1lc3Nh Z2UpOwotKwotKyAgaWYgKGlkID09IFBXX0lEX0NPUkUgJiYgcmVzID09IC1FUElQRSkKLSsgICAg bWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX25vdGlmeV9jbG9zZWQgKHNyYyk7Ci0gfQotCi0g c3RhdGljIGdib29sZWFuCi1AQCAtNzkzLDE3ICs3NTMsNiBAQCBzdGF0aWMgR1NvdXJjZUZ1bmNz IHBpcGV3aXJlX3NvdXJjZV9mdW5jcyA9Ci0gICBwaXBld2lyZV9sb29wX3NvdXJjZV9maW5hbGl6 ZQotIH07Ci0KLS1zdGF0aWMgdm9pZAotLWluaXRfc3BhX3R5cGUgKE1ldGFTcGFUeXBlICAgICAg ICAgKnR5cGUsCi0tICAgICAgICAgICAgICAgc3RydWN0IHNwYV90eXBlX21hcCAqbWFwKQotLXsK LS0gIHNwYV90eXBlX21lZGlhX3R5cGVfbWFwIChtYXAsICZ0eXBlLT5tZWRpYV90eXBlKTsKLS0g IHNwYV90eXBlX21lZGlhX3N1YnR5cGVfbWFwIChtYXAsICZ0eXBlLT5tZWRpYV9zdWJ0eXBlKTsK LS0gIHNwYV90eXBlX2Zvcm1hdF92aWRlb19tYXAgKG1hcCwgJnR5cGUtPmZvcm1hdF92aWRlbyk7 Ci0tICBzcGFfdHlwZV92aWRlb19mb3JtYXRfbWFwIChtYXAsICZ0eXBlLT52aWRlb19mb3JtYXQp OwotLSAgdHlwZS0+bWV0YV9jdXJzb3IgPSBzcGFfdHlwZV9tYXBfZ2V0X2lkKG1hcCwgU1BBX1RZ UEVfTUVUQV9fQ3Vyc29yKTsKLS19Ci0tCi0gc3RhdGljIE1ldGFQaXBlV2lyZVNvdXJjZSAqCi0g Y3JlYXRlX3BpcGV3aXJlX3NvdXJjZSAodm9pZCkKLSB7Ci1AQCAtODI5LDkgKzc3OCw5IEBAIGNy ZWF0ZV9waXBld2lyZV9zb3VyY2UgKHZvaWQpCi0gICByZXR1cm4gcGlwZXdpcmVfc291cmNlOwot IH0KLQotLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcHdfcmVtb3RlX2V2ZW50cyByZW1vdGVfZXZlbnRz ID0gewotLSAgUFdfVkVSU0lPTl9SRU1PVEVfRVZFTlRTLAotLSAgLnN0YXRlX2NoYW5nZWQgPSBv bl9zdGF0ZV9jaGFuZ2VkLAotK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcHdfY29yZV9ldmVudHMgY29y ZV9ldmVudHMgPSB7Ci0rICBQV19WRVJTSU9OX0NPUkVfRVZFTlRTLAotKyAgLmVycm9yID0gb25f Y29yZV9lcnJvciwKLSB9OwotCi0gc3RhdGljIGdib29sZWFuCi1AQCAtODUxLDM3ICs4MDAsMzEg QEAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2luaXRhYmxlX2luaXQgKEdJbml0YWJsZSAg ICAgKmluaXRhYmxlLAotICAgICAgIHJldHVybiBGQUxTRTsKLSAgICAgfQotCi0tICBwcml2LT5w aXBld2lyZV9jb3JlID0gcHdfY29yZV9uZXcgKHByaXYtPnBpcGV3aXJlX3NvdXJjZS0+cGlwZXdp cmVfbG9vcCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7Ci0t ICBpZiAoIXByaXYtPnBpcGV3aXJlX2NvcmUpCi0rICBwcml2LT5waXBld2lyZV9jb250ZXh0ID0g cHdfY29udGV4dF9uZXcgKHByaXYtPnBpcGV3aXJlX3NvdXJjZS0+cGlwZXdpcmVfbG9vcCwKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCk7Ci0rICBp ZiAoIXByaXYtPnBpcGV3aXJlX2NvbnRleHQpCi0gICAgIHsKLSAgICAgICBnX3NldF9lcnJvciAo ZXJyb3IsIEdfSU9fRVJST1IsIEdfSU9fRVJST1JfRkFJTEVELAotLSAgICAgICAgICAgICAgICAg ICAiRmFpbGVkIHRvIGNyZWF0ZSBwaXBld2lyZSBjb3JlIik7Ci0rICAgICAgICAgICAgICAgICAg ICJGYWlsZWQgdG8gY3JlYXRlIHBpcGV3aXJlIGNvbnRleHQiKTsKLSAgICAgICByZXR1cm4gRkFM U0U7Ci0gICAgIH0KLQotLSAgcHJpdi0+cGlwZXdpcmVfcmVtb3RlID0gcHdfcmVtb3RlX25ldyAo cHJpdi0+cGlwZXdpcmVfY29yZSwgTlVMTCwgMCk7Ci0tICBpZiAoIXByaXYtPnBpcGV3aXJlX3Jl bW90ZSkKLSsgIHByaXYtPnBpcGV3aXJlX2NvcmUgPSBwd19jb250ZXh0X2Nvbm5lY3QgKHByaXYt PnBpcGV3aXJlX2NvbnRleHQsIE5VTEwsIDApOwotKyAgaWYgKCFwcml2LT5waXBld2lyZV9jb3Jl KQotICAgICB7Ci0gICAgICAgZ19zZXRfZXJyb3IgKGVycm9yLCBHX0lPX0VSUk9SLCBHX0lPX0VS Uk9SX0ZBSUxFRCwKLS0gICAgICAgICAgICAgICAgICAgIkNvdWxkbid0IGNyZWF0IHBpcGV3aXJl IHJlbW90ZSIpOwotKyAgICAgICAgICAgICAgICAgICAiQ291bGRuJ3QgY29ubmVjdCBwaXBld2ly ZSBjb250ZXh0Iik7Ci0gICAgICAgcmV0dXJuIEZBTFNFOwotICAgICB9Ci0KLS0gIHB3X3JlbW90 ZV9hZGRfbGlzdGVuZXIgKHByaXYtPnBpcGV3aXJlX3JlbW90ZSwKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICZwcml2LT5waXBld2lyZV9yZW1vdGVfbGlzdGVuZXIsCi0tICAgICAgICAgICAg ICAgICAgICAgICAgICAmcmVtb3RlX2V2ZW50cywKLS0gICAgICAgICAgICAgICAgICAgICAgICAg IHNyYyk7Ci0rICBwd19jb3JlX2FkZF9saXN0ZW5lciAocHJpdi0+cGlwZXdpcmVfY29yZSwKLSsg ICAgICAgICAgICAgICAgICAgICAgICAmcHJpdi0+cGlwZXdpcmVfY29yZV9saXN0ZW5lciwKLSsg ICAgICAgICAgICAgICAgICAgICAgICAmY29yZV9ldmVudHMsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgc3JjKTsKLQotLSAgcHJpdi0+cGlwZXdpcmVfdHlwZSA9IHB3X2NvcmVfZ2V0X3R5cGUg KHByaXYtPnBpcGV3aXJlX2NvcmUpOwotLSAgaW5pdF9zcGFfdHlwZSAoJnByaXYtPnNwYV90eXBl LCBwcml2LT5waXBld2lyZV90eXBlLT5tYXApOwotLQotLSAgaWYgKHB3X3JlbW90ZV9jb25uZWN0 IChwcml2LT5waXBld2lyZV9yZW1vdGUpICE9IDApCi0tICAgIHsKLS0gICAgICBnX3NldF9lcnJv ciAoZXJyb3IsIEdfSU9fRVJST1IsIEdfSU9fRVJST1JfRkFJTEVELAotLSAgICAgICAgICAgICAg ICAgICAiQ291bGRuJ3QgY29ubmVjdCBwaXBld2lyZSByZW1vdGUiKTsKLS0gICAgICByZXR1cm4g RkFMU0U7Ci0tICAgIH0KLSsgIHByaXYtPnBpcGV3aXJlX3N0cmVhbSA9IGNyZWF0ZV9waXBld2ly ZV9zdHJlYW0gKHNyYywgZXJyb3IpOwotKyAgaWYgKCFwcml2LT5waXBld2lyZV9zdHJlYW0pCi0r ICAgIHJldHVybiBGQUxTRTsKLQotICAgcmV0dXJuIFRSVUU7Ci0gfQotQEAgLTkxMiw4ICs4NTUs OCBAQCBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfZmluYWxpemUgKEdPYmplY3QgKm9iamVj dCkKLSAgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2Rpc2FibGUgKHNyYyk7Ci0KLSAg IGdfY2xlYXJfcG9pbnRlciAoJnByaXYtPnBpcGV3aXJlX3N0cmVhbSwgcHdfc3RyZWFtX2Rlc3Ry b3kpOwotLSAgZ19jbGVhcl9wb2ludGVyICgmcHJpdi0+cGlwZXdpcmVfcmVtb3RlLCBwd19yZW1v dGVfZGVzdHJveSk7Ci0tICBnX2NsZWFyX3BvaW50ZXIgKCZwcml2LT5waXBld2lyZV9jb3JlLCBw d19jb3JlX2Rlc3Ryb3kpOwotKyAgZ19jbGVhcl9wb2ludGVyICgmcHJpdi0+cGlwZXdpcmVfY29y ZSwgcHdfY29yZV9kaXNjb25uZWN0KTsKLSsgIGdfY2xlYXJfcG9pbnRlciAoJnByaXYtPnBpcGV3 aXJlX2NvbnRleHQsIHB3X2NvbnRleHRfZGVzdHJveSk7Ci0gICBnX3NvdXJjZV9kZXN0cm95ICgm cHJpdi0+cGlwZXdpcmVfc291cmNlLT5iYXNlKTsKLQotICAgR19PQkpFQ1RfQ0xBU1MgKG1ldGFf c2NyZWVuX2Nhc3Rfc3RyZWFtX3NyY19wYXJlbnRfY2xhc3MpLT5maW5hbGl6ZSAob2JqZWN0KTsK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXV0dGVyL3RlbXBsYXRlIGIvc3JjcGtncy9tdXR0ZXIvdGVt cGxhdGUKaW5kZXggODA2YTNiZWY5ZjAuLjEzMmNkOWRkNjQ1IDEwMDY0NAotLS0gYS9zcmNwa2dz L211dHRlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL211dHRlci90ZW1wbGF0ZQpAQCAtMSwzNCAr MSwzNSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbXV0dGVyJwogcGtnbmFtZT1tdXR0ZXIKLXZl cnNpb249My4zNC4xCi1yZXZpc2lvbj0zCit2ZXJzaW9uPTMuMzYuMworcmV2aXNpb249MQogYnVp bGRfaGVscGVyPSJnaXIiCiBidWlsZF9zdHlsZT1tZXNvbgogY29uZmlndXJlX2FyZ3M9Ii1EZWds X2RldmljZT10cnVlIC1EdWRldj10cnVlIC1EbmF0aXZlX2JhY2tlbmQ9dHJ1ZQotIC1EcHJvZmls ZXI9ZmFsc2UgLURpbnRyb3NwZWN0aW9uPXRydWUgLUR4d2F5bGFuZF9wYXRoPS91c3IvYmluL1h3 YXlsYW5kIgorIC1EcHJvZmlsZXI9ZmFsc2UgLURpbnRyb3NwZWN0aW9uPXRydWUgLUR4d2F5bGFu ZF9wYXRoPS91c3IvYmluL1h3YXlsYW5kCisgLUR4d2F5bGFuZF9pbml0ZmQ9ZGlzYWJsZWQiCiBo b3N0bWFrZWRlcGVuZHM9ImdldHRleHQgZ2xpYi1kZXZlbCBwa2ctY29uZmlnIHplbml0eSB3YXls YW5kLWRldmVsIHhvcmctc2VydmVyIgotbWFrZWRlcGVuZHM9ImVsb2dpbmQtZGV2ZWwgZ2xpYi1k ZXZlbCBnbm9tZS1kZXNrdG9wLWRldmVsIGpzb24tZ2xpYi1kZXZlbAotIGxpYmdsaWItZGV2ZWwg bGliU00tZGV2ZWwgbGliWHRzdC1kZXZlbCBsaWJjYW5iZXJyYS1kZXZlbCBsaWJpbnB1dC1kZXZl bAotIE1lc2FMaWItZGV2ZWwgcGlwZXdpcmUtZGV2ZWwgc3RhcnR1cC1ub3RpZmljYXRpb24tZGV2 ZWwgd2F5bGFuZC1wcm90b2NvbHMKLSBnbm9tZS1zZXR0aW5ncy1kYWVtb24tZGV2ZWwiCittYWtl ZGVwZW5kcz0iZWxvZ2luZC1kZXZlbCBnbGliLWRldmVsIGdub21lLWRlc2t0b3AtZGV2ZWwgZ3Jh cGhlbmUtZGV2ZWwKKyBqc29uLWdsaWItZGV2ZWwgbGliZ2xpYi1kZXZlbCBsaWJTTS1kZXZlbCBs aWJYdHN0LWRldmVsIGxpYmNhbmJlcnJhLWRldmVsCisgbGliaW5wdXQtZGV2ZWwgTWVzYUxpYi1k ZXZlbCBwaXBld2lyZS1kZXZlbCBzdGFydHVwLW5vdGlmaWNhdGlvbi1kZXZlbAorIHdheWxhbmQt cHJvdG9jb2xzIGdub21lLXNldHRpbmdzLWRhZW1vbi1kZXZlbCIKIGRlcGVuZHM9ImRlc2t0b3At ZmlsZS11dGlscyB6ZW5pdHkiCiBzaG9ydF9kZXNjPSJMaWdodHdlaWdodCBHVEsrMyB3aW5kb3cg bWFuYWdlciIKIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4i CiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd2lraS5nbm9t ZS5vcmcvUHJvamVjdHMvTXV0dGVyLyIKIGRpc3RmaWxlcz0iJHtHTk9NRV9TSVRFfS8ke3BrZ25h bWV9LyR7dmVyc2lvbiUuKn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3Vt PWJhMTgyNmNmODhiZGI4MWU2Mzk0M2NhYzAxNGE4ZThiY2YzNWVjMTc4YzUzMjY0NDAxZjljNzJm ZGVhYjc1OGUKLXNobGliX3Byb3ZpZGVzPSJsaWJtdXR0ZXItY2x1dHRlci01LnNvIGxpYm11dHRl ci1jb2dsLTUuc28KLSBsaWJtdXR0ZXItY29nbC1wYW5nby01LnNvIGxpYm11dHRlci1jb2dsLXBh dGgtNS5zbyIKK2NoZWNrc3VtPTZhY2U3NDJlOGQ4ODkwODNkM2MzMmQ3OTU0M2Q5MDIyNDgzZjBi MDBiNjMwZWNlYWI1ZTM4MDRhYWQzYWVlZDIKK3NobGliX3Byb3ZpZGVzPSJsaWJtdXR0ZXItY2x1 dHRlci02LnNvIGxpYm11dHRlci1jb2dsLTYuc28KKyBsaWJtdXR0ZXItY29nbC1wYW5nby02LnNv IGxpYm11dHRlci1jb2dsLXBhdGgtNi5zbyIKIAogbXV0dGVyLWRldmVsX3BhY2thZ2UoKSB7Ci0J ZGVwZW5kcz0iZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyBndGsrMy1kZXZlbCBjbHV0dGVyLWRl dmVsIGxpYlgxMS1kZXZlbAotCSBsaWJYdHN0LWRldmVsIG11dHRlci0ke3ZlcnNpb259XyR7cmV2 aXNpb259IgorCWRlcGVuZHM9ImdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMgZ3JhcGhlbmUtZGV2 ZWwgZ3RrKzMtZGV2ZWwgY2x1dHRlci1kZXZlbAorCSBsaWJYMTEtZGV2ZWwgbGliWHRzdC1kZXZl bCBtdXR0ZXItJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKIAlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxv cG1lbnQgZmlsZXMiCiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZt b3ZlIHVzci9saWIvcGtnY29uZmlnCi0JCXZtb3ZlICJ1c3IvbGliL211dHRlci01LyouZ2lyIgor CQl2bW92ZSAidXNyL2xpYi9tdXR0ZXItNi8qLmdpciIKIAkJdm1vdmUgInVzci9saWIvKi5zbyIK IAl9CiB9CgpGcm9tIDNhODg3NmY0MzlkNzUwYzAwZTBmMDk5ZjExN2M5Y2IzOTE1NjM5M2UgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE5hZmlzIDxtbmFiaWQuMjVAb3V0bG9vay5jb20+ CkRhdGU6IFR1ZSwgMTYgSnVuIDIwMjAgMTk6NDg6MzggKzA2MDAKU3ViamVjdDogW1BBVENIIDM5 LzYyXSBnbm9tZS1zaGVsbDogdXBkYXRlIHRvIDMuMzYuMy4KCi0tLQogc3JjcGtncy9nbm9tZS1z aGVsbC90ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbm9tZS1zaGVsbC90ZW1w bGF0ZSBiL3NyY3BrZ3MvZ25vbWUtc2hlbGwvdGVtcGxhdGUKaW5kZXggOTZjNWI4MGExOTQuLmVl NGM2Mjg4ZjVmIDEwMDY0NAotLS0gYS9zcmNwa2dzL2dub21lLXNoZWxsL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvZ25vbWUtc2hlbGwvdGVtcGxhdGUKQEAgLTEsMTIgKzEsMTIgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ2dub21lLXNoZWxsJwogcGtnbmFtZT1nbm9tZS1zaGVsbAotdmVyc2lvbj0z LjM0LjEKK3ZlcnNpb249My4zNi4zCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1tZXNvbgogYnVp bGRfaGVscGVyPWdpcgogY29uZmlndXJlX2FyZ3M9Ii1Ec3lzdGVtZD1mYWxzZSIKLWhvc3RtYWtl ZGVwZW5kcz0iZ29iamVjdC1pbnRyb3NwZWN0aW9uIGd0ay1kb2MgbGlieHNsdCBwa2ctY29uZmln IHB5dGhvbjMgc2Fzc2MKLSBhc2NpaWRvYyBwZXJsIGdsaWItZGV2ZWwgbXV0dGVyLWRldmVsIgor aG9zdG1ha2VkZXBlbmRzPSJnZXR0ZXh0IGdvYmplY3QtaW50cm9zcGVjdGlvbiBndGstZG9jIGxp YnhzbHQgcGtnLWNvbmZpZyBweXRob24zIHNhc3NjCisgYXNjaWlkb2MgcGVybCBnanMtZGV2ZWwg Z2xpYi1kZXZlbCBtdXR0ZXItZGV2ZWwiCiBtYWtlZGVwZW5kcz0iYXQtc3BpMi1hdGsgY2FyaWJv dS1kZXZlbCBldm9sdXRpb24tZGF0YS1zZXJ2ZXItZGV2ZWwgZm9sa3MtZGV2ZWwKICBnY3ItZGV2 ZWwgZ2pzLWRldmVsIGdub21lLWJsdWV0b290aC1kZXZlbCBnbm9tZS1jb250cm9sLWNlbnRlci1k ZXZlbCBnbm9tZS1kZXNrdG9wLWRldmVsCiAgZ25vbWUtbWVudXMtZGV2ZWwgZ3NldHRpbmdzLWRl c2t0b3Atc2NoZW1hcy1kZXZlbCBnc3RyZWFtZXIxLWRldmVsIGd0ayszLWRldmVsCkBAIC0yMSw0 ICsyMSw0IEBAIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93 aWtpLmdub21lLm9yZy9Qcm9qZWN0cy9Hbm9tZVNoZWxsIgogY2hhbmdlbG9nPSJodHRwczovL3Jh dy5naXRodWJ1c2VyY29udGVudC5jb20vR05PTUUvZ25vbWUtc2hlbGwvZ25vbWUtMy0zMC9ORVdT IgogZGlzdGZpbGVzPSIke0dOT01FX1NJVEV9LyR7cGtnbmFtZX0vJHt2ZXJzaW9uJS4qfS8ke3Br Z25hbWV9LSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09Y2NkODY1NTliOWM4OTdjMjE5ZDJk MmViZmRiODQxM2VmYTRjMWJlZTg0NjQyN2M3NTBjYjhhMzAxYjNmNmQxZQorY2hlY2tzdW09ODZk OGFiZjcwZmFiODlkNWQ5MzlkZDdlMzhjNTk4NzI0OTJmNDQ0MjcyYTg1MjRkYjc5NDUwYTUxODBk NDViYgoKRnJvbSBmM2Q2ZDBkOWZmZGVmOTk2MDc4OTk4YWEzNmMzOWE0OGNmOTVjN2NjIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpE YXRlOiBUdWUsIDE2IEp1biAyMDIwIDE5OjQ4OjQ2ICswNjAwClN1YmplY3Q6IFtQQVRDSCA0MC82 Ml0gZ25vbWUtc2hlbGwtZXh0ZW5zaW9uczogdXBkYXRlIHRvIDMuMzYuMi4KCi0tLQogc3JjcGtn cy9nbm9tZS1zaGVsbC1leHRlbnNpb25zL3RlbXBsYXRlIHwgNiArKystLS0KIDEgZmlsZSBjaGFu Z2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9nbm9tZS1zaGVsbC1leHRlbnNpb25zL3RlbXBsYXRlIGIvc3JjcGtncy9nbm9tZS1zaGVsbC1l eHRlbnNpb25zL3RlbXBsYXRlCmluZGV4IDk3MTY4YjQwZjY2Li5lMWRkNDNiYjE1MiAxMDA2NDQK LS0tIGEvc3JjcGtncy9nbm9tZS1zaGVsbC1leHRlbnNpb25zL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy90ZW1wbGF0ZQpAQCAtMSwxNSArMSwxNSBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAnZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucycKIHBrZ25hbWU9Z25vbWUt c2hlbGwtZXh0ZW5zaW9ucwotdmVyc2lvbj0zLjM0LjEKK3ZlcnNpb249My4zNi4yCiByZXZpc2lv bj0xCiBhcmNocz1ub2FyY2gKIGJ1aWxkX3N0eWxlPW1lc29uCiBjb25maWd1cmVfYXJncz0iLURl eHRlbnNpb25fc2V0PWFsbCIKLWhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKK2hvc3RtYWtl ZGVwZW5kcz0iZ2V0dGV4dCBwa2ctY29uZmlnIgogZGVwZW5kcz0iZ25vbWUtc2hlbGw+PSR7dmVy c2lvbn0gbmF1dGlsdXMgdW56aXAiCiBzaG9ydF9kZXNjPSJFeHRlbnNpb25zIGZvciBHTk9NRSBz aGVsbCwgaW5jbHVkaW5nIGNsYXNzaWMgbW9kZSIKIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxn b3R0b3hAdm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBh Z2U9Imh0dHBzOi8vd2lraS5nbm9tZS5vcmcvUHJvamVjdHMvR25vbWVTaGVsbC9FeHRlbnNpb25z IgogZGlzdGZpbGVzPSIke0dOT01FX1NJVEV9LyR7cGtnbmFtZX0vJHt2ZXJzaW9uJS4qfS8ke3Br Z25hbWV9LSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09YjBhZDUxMTQzYjFiZjQwZGVmNGEx MGY4ZmQwYWIwZmZiNDcyMTgzMDQ4MDA3OTRlNjJjYWRkMjlkMGFjYzc1YgorY2hlY2tzdW09OTc4 MjAyZGU1MTVjZGIwM2E1ODg1ODU5YzUzODM2NmJjYThmZDc4NzYyY2U5OGIxNzJhYzJjMDEyNmY4 MDAzZgoKRnJvbSBiNDE0MzMxMzM0ZjA1MGVkZGZjZTA0ZmMzNmM1NTA4NjY2MjZmNTA0IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpE YXRlOiBUdWUsIDE2IEp1biAyMDIwIDE5OjQ4OjUzICswNjAwClN1YmplY3Q6IFtQQVRDSCA0MS82 Ml0gZ2RtOiB1cGRhdGUgdG8gMy4zNi4yLgoKLS0tCiBzcmNwa2dzL2dkbS90ZW1wbGF0ZSB8IDEw ICsrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nZG0vdGVtcGxhdGUgYi9zcmNwa2dzL2dkbS90ZW1w bGF0ZQppbmRleCBiYjViNDg2OTJkNC4uMTZiYzQzZmQwZTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv Z2RtL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ2RtL3RlbXBsYXRlCkBAIC0xLDExICsxLDExIEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnZG0nCiBwa2duYW1lPWdkbQotdmVyc2lvbj0zLjM0LjEK K3ZlcnNpb249My4zNi4yCiByZXZpc2lvbj0xCiBidWlsZF9oZWxwZXI9ImdpciIKIGJ1aWxkX3N0 eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSIkKHZvcHRfZW5hYmxlIGdpciBpbnRy b3NwZWN0aW9uKQotIC0tZGlzYWJsZS1zY2hlbWFzLWNvbXBpbGUgLS1kaXNhYmxlLXN0YXRpYyAt LXdpdGgtZGVmYXVsdC1wYW0tY29uZmlnPWFyY2gKKyAtLWRpc2FibGUtc3RhdGljIC0td2l0aC1k ZWZhdWx0LXBhbS1jb25maWc9YXJjaAogIC0td2l0aC1hdC1zcGktcmVnaXN0cnlkLWRpcmVjdG9y eT0vdXNyL2xpYmV4ZWMgLS13aXRob3V0LXRjcC13cmFwcGVycwogIC0td2l0aC1zY3JlZW5zaG90 LWRpcj0vdmFyL2xpYi9nZG0vZ3JlZXRlciAtLXNiaW5kaXI9L3Vzci9iaW4gLS13aXRob3V0LXBs eW1vdXRoCiAgLS13aXRoLXhhdXRoLWRpcj0vcnVuL2dkbSAtLXdpdGgtcGlkLWZpbGU9L3J1bi9n ZG0vZ2RtLnBpZApAQCAtMTMsMTUgKzEzLDE1IEBAIGNvbmZpZ3VyZV9hcmdzPSIkKHZvcHRfZW5h YmxlIGdpciBpbnRyb3NwZWN0aW9uKQogaG9zdG1ha2VkZXBlbmRzPSJkY29uZiBnZXR0ZXh0IGl0 c3Rvb2wgcGtnLWNvbmZpZyIKIG1ha2VkZXBlbmRzPSJhY2NvdW50c3NlcnZpY2UtZGV2ZWwgZWxv Z2luZC1kZXZlbCBnZXR0ZXh0LWRldmVsIGdsaWItZGV2ZWwKICBpc28tY29kZXMgbGliU00tZGV2 ZWwgbGliY2FuYmVycmEtZGV2ZWwgbnNzLWRldmVsIHBhbS1kZXZlbCB1cG93ZXItZGV2ZWwiCi1k ZXBlbmRzPSJnbm9tZS1zZXR0aW5ncy1kYWVtb24gZ25vbWUtc2hlbGwgeG9yZy1zZXJ2ZXIgeG9y Zy1zZXJ2ZXIteHdheWxhbmQKLSB4cmRiIgorZGVwZW5kcz0iZ25vbWUtc2V0dGluZ3MtZGFlbW9u IGdub21lLXNoZWxsIGdub21lLXNlc3Npb24gZ25vbWUtdGhlbWVzLWV4dHJhCisgZ3NldHRpbmdz LWRlc2t0b3Atc2NoZW1hcyB4b3JnLXNlcnZlciB4b3JnLXNlcnZlci14d2F5bGFuZCB4cmRiIgog Y2hlY2tkZXBlbmRzPSJjaGVjay1kZXZlbCIKIHNob3J0X2Rlc2M9IkdOT01FIERpc3BsYXkgTWFu YWdlciIKIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCiBs aWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd2lraS5nbm9tZS5v cmcvUHJvamVjdHMvR0RNIgogZGlzdGZpbGVzPSIke0dOT01FX1NJVEV9LyR7cGtnbmFtZX0vJHt2 ZXJzaW9uJS4qfS8ke3BrZ25hbWV9LSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ZTg1ZGY2 NTdhYThkOTM2MWFmNGZiMTIyMDE0ZDhmMTIzYTkzYmZlNDVhNzY2MmZiYTJiMzczZDgzOWRiZDhk MworY2hlY2tzdW09M2Y1NjFjMTBhZTJlNTk0MmIwMzAyNmYwMmMwYWE3ZDg3MTJlMzgyNzA4YjE3 YTA5NzA4NzRkZjgxNzViODNhOAogCiBjb25mX2ZpbGVzPSIKIAkvZXRjL2dkbS9jdXN0b20uY29u ZgoKRnJvbSBmNzMwMTUyNWZhZjg3YWI4ZmIwZGQ4MzE4NzkxZTZjOGNlNWM0NzNlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRl OiBUdWUsIDE2IEp1biAyMDIwIDE5OjQ5OjAwICswNjAwClN1YmplY3Q6IFtQQVRDSCA0Mi82Ml0g YnVkZ2llLWRlc2t0b3A6IHJlYnVpbGQgYWdhaW5zdAogbGliZ25vbWUtZGVza3RvcC0zLnNvLjE5 CgotLS0KIC4uLi9wYXRjaGVzL011dHRlci0zLjM1LjkwLXN1cHBvcnQtMTkxOC5wYXRjaCB8IDEy NzEzICsrKysrKysrKysrKysrKysKIHNyY3BrZ3MvYnVkZ2llLWRlc2t0b3AvdGVtcGxhdGUgICAg ICAgICAgICAgICB8ICAgICA5ICstCiAyIGZpbGVzIGNoYW5nZWQsIDEyNzE4IGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9idWRnaWUtZGVz a3RvcC9wYXRjaGVzL011dHRlci0zLjM1LjkwLXN1cHBvcnQtMTkxOC5wYXRjaAoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvYnVkZ2llLWRlc2t0b3AvcGF0Y2hlcy9NdXR0ZXItMy4zNS45MC1zdXBwb3J0 LTE5MTgucGF0Y2ggYi9zcmNwa2dzL2J1ZGdpZS1kZXNrdG9wL3BhdGNoZXMvTXV0dGVyLTMuMzUu OTAtc3VwcG9ydC0xOTE4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi5iZmYxYmFkMDM5ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvYnVkZ2llLWRlc2t0 b3AvcGF0Y2hlcy9NdXR0ZXItMy4zNS45MC1zdXBwb3J0LTE5MTgucGF0Y2gKQEAgLTAsMCArMSwx MjcxMyBAQAorRnJvbSA5ZDA5YTFiMTViYmY2Njc4MGNjODllZmYzYzRiODRlNjY2YjBiZmRhIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGF2aWQgTW9oYW1tZWQgPGZvc3NmcmVlZG9t QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFR1ZSwgMTggRmViIDIwMjAgMDY6NDA6 MTIgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gTXV0dGVyIDMuMzYgc3VwcG9ydCAoIzE5MTgpCisK KyogQWRkIG11dHRlciAzLjM1LjIgc3VwcG9ydAorCisqIE11dHRlciBjb21waWxlciBmbGFncyBu ZWVkcyB0byBiZSBzcGVjaWZpZWQgYmVmb3JlIGRlcGVuZGVuY3kgY2hlY2tzCisKKyogUmVnZW5l cmF0ZSB2YXBpIGZvciAzLjM1LjkwCisKK09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL3NvbHVz LXByb2plY3QvYnVkZ2llLWRlc2t0b3AvY29tbWl0cy85ZDA5YTFiMTViCistLS0KKyBzcmMvd20v bWVzb24uYnVpbGQgICAgICAgICAgICAgICAgfCAgIDEyICstCisgc3JjL3dtL3dtLnZhbGEgICAg ICAgICAgICAgICAgICAgIHwgICAxNiArLQorIHZhcGkvQ2x1dHRlci02Lm1ldGFkYXRhICAgICAg ICAgICB8ICAyMDQgKworIHZhcGkvQ29nbC02Lm1ldGFkYXRhICAgICAgICAgICAgICB8ICAgMjcg KworIHZhcGkvTWV0YS02Lm1ldGFkYXRhICAgICAgICAgICAgICB8ICAgODAgKworIHZhcGkvZ3Jh cGhlbmUtZ29iamVjdC0xLjAudmFwaSAgICB8ICA2OTEgKysrCisgdmFwaS9saWJtdXR0ZXItNi5k ZXBzICAgICAgICAgICAgIHwgICAgNiArCisgdmFwaS9saWJtdXR0ZXItNi52YXBpICAgICAgICAg ICAgIHwgMTQ3NSArKysrKworIHZhcGkvbXV0dGVyLWNsdXR0ZXItNi1jdXN0b20udmFsYSB8ICAx NDcgKworIHZhcGkvbXV0dGVyLWNsdXR0ZXItNi5kZXBzICAgICAgICB8ICAgIDQgKworIHZhcGkv bXV0dGVyLWNsdXR0ZXItNi52YXBpICAgICAgICB8IDg2ODcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKKyB2YXBpL211dHRlci1jb2dsLTYtY3VzdG9tLnZhbGEgICAgfCAgMTI1ICsKKyB2 YXBpL211dHRlci1jb2dsLTYuZGVwcyAgICAgICAgICAgfCAgICAxICsKKyB2YXBpL211dHRlci1j b2dsLTYudmFwaSAgICAgICAgICAgfCAxMDc3ICsrKysKKyAxNCBmaWxlcyBjaGFuZ2VkLCAxMjU0 OSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB2YXBp L0NsdXR0ZXItNi5tZXRhZGF0YQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB2YXBpL0NvZ2wtNi5tZXRh ZGF0YQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB2YXBpL01ldGEtNi5tZXRhZGF0YQorIGNyZWF0ZSBt b2RlIDEwMDY0NCB2YXBpL2dyYXBoZW5lLWdvYmplY3QtMS4wLnZhcGkKKyBjcmVhdGUgbW9kZSAx MDA2NDQgdmFwaS9saWJtdXR0ZXItNi5kZXBzCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHZhcGkvbGli bXV0dGVyLTYudmFwaQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB2YXBpL211dHRlci1jbHV0dGVyLTYt Y3VzdG9tLnZhbGEKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdmFwaS9tdXR0ZXItY2x1dHRlci02LmRl cHMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdmFwaS9tdXR0ZXItY2x1dHRlci02LnZhcGkKKyBjcmVh dGUgbW9kZSAxMDA2NDQgdmFwaS9tdXR0ZXItY29nbC02LWN1c3RvbS52YWxhCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IHZhcGkvbXV0dGVyLWNvZ2wtNi5kZXBzCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHZh cGkvbXV0dGVyLWNvZ2wtNi52YXBpCisKK2RpZmYgLS1naXQgYS9zcmMvd20vbWVzb24uYnVpbGQg Yi9zcmMvd20vbWVzb24uYnVpbGQKK2luZGV4IGUzOWI4Njc4Li40YmNjMGY5ZSAxMDA2NDQKKy0t LSBhL3NyYy93bS9tZXNvbi5idWlsZAorKysrIGIvc3JjL3dtL21lc29uLmJ1aWxkCitAQCAtMjUs MTEgKzI1LDE5IEBAIGlmIG5vdCBkZXBfbXV0dGVyLmZvdW5kKCkKKyAgICAgICAgIG1lc3NhZ2Uo J1VzaW5nIG5ldyBsaWJtdXR0ZXItNCBBQkkgZnJvbSBHTk9NRSAzLjMyJykKKyAgICAgICAgIHZh cGlfbXV0dGVyID0gJ2xpYm11dHRlci00JworICAgICBlbHNlCistICAgICAgICBkZXBfbXV0dGVy ID0gZGVwZW5kZW5jeSgnbGlibXV0dGVyLTUnLCB2ZXJzaW9uOiBnbm9tZV9taW5pbXVtX3ZlcnNp b24pCisrICAgICAgICBkZXBfbXV0dGVyID0gZGVwZW5kZW5jeSgnbGlibXV0dGVyLTUnLCB2ZXJz aW9uOiBnbm9tZV9taW5pbXVtX3ZlcnNpb24sIHJlcXVpcmVkOiBmYWxzZSkKKysgICAgICAgIGJ1 ZGdpZV93bV9zdGF0dXNfdmFsYV9hcmdzICs9IFsnLUQnLCAnSEFWRV9NVVRURVJfNSddCisgICAg ICAgICBpZiBkZXBfbXV0dGVyLmZvdW5kKCkKKyAgICAgICAgICAgICBtZXNzYWdlKCdVc2luZyBu ZXcgbGlibXV0dGVyLTUgQUJJIGZyb20gR05PTUUgMy4zNCcpCisgICAgICAgICAgICAgdmFwaV9t dXR0ZXIgPSAnbGlibXV0dGVyLTUnCistICAgICAgICAgICAgYnVkZ2llX3dtX3N0YXR1c192YWxh X2FyZ3MgKz0gWyctRCcsICdIQVZFX01VVFRFUl81J10KKysgICAgICAgIGVsc2UKKysgICAgICAg ICAgICBkZXBfbXV0dGVyID0gZGVwZW5kZW5jeSgnbGlibXV0dGVyLTYnLCB2ZXJzaW9uOiBnbm9t ZV9taW5pbXVtX3ZlcnNpb24pCisrICAgICAgICAgICAgYnVkZ2llX3dtX3N0YXR1c192YWxhX2Fy Z3MgKz0gWyctRCcsICdIQVZFX01VVFRFUl82J10KKysgICAgICAgICAgICBpZiBkZXBfbXV0dGVy LmZvdW5kKCkKKysgICAgICAgICAgICAgICAgZGVwX2dyYXBoZW5lID0gZGVwZW5kZW5jeSgnZ3Jh cGhlbmUtZ29iamVjdC0xLjAnLCB2ZXJzaW9uOiAnPj0gMS4xMCcpCisrICAgICAgICAgICAgICAg IG1lc3NhZ2UoJ1VzaW5nIG5ldyBsaWJtdXR0ZXItNiBBQkkgZnJvbSBHTk9NRSAzLjM2JykKKysg ICAgICAgICAgICAgICAgdmFwaV9tdXR0ZXIgPSAnbGlibXV0dGVyLTYnCisrICAgICAgICAgICAg ZW5kaWYKKyAgICAgICAgIGVuZGlmCisgICAgIGVuZGlmCisgZW5kaWYKK2RpZmYgLS1naXQgYS9z cmMvd20vd20udmFsYSBiL3NyYy93bS93bS52YWxhCitpbmRleCBmZWU4OTQ0My4uYmI0NmNkMDYg MTAwNjQ0CistLS0gYS9zcmMvd20vd20udmFsYQorKysrIGIvc3JjL3dtL3dtLnZhbGEKK0BAIC0x MzcsOCArMTM3LDEzIEBAIHB1YmxpYyBjbGFzcyBCdWRnaWVXTSA6IE1ldGEuUGx1Z2luCisgICAg IHB1YmxpYyBzdGF0aWMgc3RyaW5nW10/IG9sZF9hcmdzOworICAgICBwdWJsaWMgc3RhdGljIGJv b2wgd2F5bGFuZCA9IGZhbHNlOworIAorKyNpZiBIQVZFX01VVFRFUl82CisrICAgIHN0YXRpYyBH cmFwaGVuZS5Qb2ludCBQVl9DRU5URVI7CisrICAgIHN0YXRpYyBHcmFwaGVuZS5Qb2ludCBQVl9O T1JNOworKyNlbHNlCisgICAgIHN0YXRpYyBDbHV0dGVyLlBvaW50IFBWX0NFTlRFUjsKKyAgICAg c3RhdGljIENsdXR0ZXIuUG9pbnQgUFZfTk9STTsKKysjZW5kaWYKKyAKKyAgICAgcHJpdmF0ZSBN ZXRhLkJhY2tncm91bmRHcm91cD8gYmFja2dyb3VuZF9ncm91cDsKKyAKK0BAIC0xNzEsMTAgKzE3 NiwxNSBAQCBwdWJsaWMgY2xhc3MgQnVkZ2llV00gOiBNZXRhLlBsdWdpbgorICAgICAgICAgICAg IGxpY2Vuc2UgPSAiR1BMLTIuMCIsCisgICAgICAgICAgICAgZGVzY3JpcHRpb24gPSAiQnVkZ2ll IFdpbmRvdyBNYW5hZ2VyIgorICAgICAgICAgfTsKKysjaWYgSEFWRV9NVVRURVJfNgorKyAgICAg ICAgUFZfQ0VOVEVSID0gR3JhcGhlbmUuUG9pbnQoKTsKKysgICAgICAgIFBWX05PUk0gPSBHcmFw aGVuZS5Qb2ludCgpOworKyNlbHNlCisgICAgICAgICBQVl9DRU5URVIgPSBDbHV0dGVyLlBvaW50 LmFsbG9jKCk7CisrICAgICAgICBQVl9OT1JNID0gQ2x1dHRlci5Qb2ludC5hbGxvYygpOworKyNl bmRpZgorICAgICAgICAgUFZfQ0VOVEVSLnggPSAwLjVmOworICAgICAgICAgUFZfQ0VOVEVSLnkg PSAwLjVmOworLSAgICAgICAgUFZfTk9STSA9IENsdXR0ZXIuUG9pbnQuYWxsb2MoKTsKKyAgICAg ICAgIFBWX05PUk0ueCA9IDAuMGY7CisgICAgICAgICBQVl9OT1JNLnkgPSAwLjBmOworICAgICB9 CitAQCAtMTAwMSw3ICsxMDExLDExIEBAIHB1YmxpYyBjbGFzcyBCdWRnaWVXTSA6IE1ldGEuUGx1 Z2luCisgICAgICAgICB0aWxlX3ByZXZpZXcuc2V0KCJzY2FsZS14IiwgTk9USUZJQ0FUSU9OX01B UF9TQ0FMRV9YLCAic2NhbGUteSIsIE5PVElGSUNBVElPTl9NQVBfU0NBTEVfWSwKKyAgICAgICAg ICAgICAicGl2b3QtcG9pbnQiLCBQVl9DRU5URVIpOworIAorKyNpZiBIQVZFX01VVFRFUl82Cisr ICAgICAgICAvL3RpbGVfcHJldmlldy5sb3dlcih3aW5fYWN0b3IpOworKyNlbHNlCisgICAgICAg ICB0aWxlX3ByZXZpZXcubG93ZXIod2luX2FjdG9yKTsKKysjZW5kaWYKKyAgICAgICAgIHRpbGVf cHJldmlldy50aWxlX3JlY3QgPSB0aWxlX3JlY3Q7CisgCisgICAgICAgICB0aWxlX3ByZXZpZXcu c2hvdygpOworZGlmZiAtLWdpdCBhL3ZhcGkvQ2x1dHRlci02Lm1ldGFkYXRhIGIvdmFwaS9DbHV0 dGVyLTYubWV0YWRhdGEKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMC4uOGMy NmExMjIKKy0tLSAvZGV2L251bGwKKysrKyBiL3ZhcGkvQ2x1dHRlci02Lm1ldGFkYXRhCitAQCAt MCwwICsxLDIwNCBAQAorKy8vIE5vbiBtaW5pLW9iamVjdAorK0FjdG9yQm94IHN0cnVjdAorK0Nv bG9yIHN0cnVjdAorK0ZvZyBzdHJ1Y3QKKytHZW9tZXRyeSBzdHJ1Y3QKKytLbm90IHN0cnVjdAor K1BhdGhOb2RlIHN0cnVjdAorK1BlcnNwZWN0aXZlIHN0cnVjdAorK1VuaXRzIHN0cnVjdAorK1Zl cnRleCBzdHJ1Y3QKKysKKysqLnJlZiB1bm93bmVkCisrCisraW5pdC5hcmd2IHVub3duZWQKKytp bml0X3dpdGhfYXJncworKwkuYXJndiB1bm93bmVkCisrQWN0b3IKKysJLmFwcGx5X3RyYW5zZm9y bS5tYXRyaXggcmVmCisrCS5nZXRfYWJzX2FsbG9jYXRpb25fdmVydGljZXMudmVydHMgb3V0PWZh bHNlCisrCS5nZXRfYWxsb2NhdGlvbl92ZXJ0aWNlcy52ZXJ0cyBvdXQ9ZmFsc2UKKytDYW52YXMK KysJLm5ldyBzeW1ib2xfdHlwZT0iY29uc3RydWN0b3IiCisrRXZlbnQudHlwZSNtZXRob2QgbmFt ZT0iZ2V0X3R5cGUiCisrSW1hZ2UKKysJLm5ldyBzeW1ib2xfdHlwZT0iY29uc3RydWN0b3IiCisr CisrLy8gPz8/CisrQWN0b3IuaGFzX3BvaW50ZXIjbWV0aG9kIG5hbWU9ImdldF9oYXNfcG9pbnRl ciIKKytJbml0RXJyb3IgZXJyb3Jkb21haW49ZmFsc2UKKysKKysvLyBOb3QgYWxsIGJhY2tpbmcg c3ltYm9scyBhcmUgZGVwcmVjYXRlZAorK0FjdG9yLnBpY2sgZGVwcmVjYXRlZD1mYWxzZQorKwor Ky8vIE51bGxhYmxlIHJldHVybiB2YWx1ZXMKKytBY3RvcgorKwkuZ2V0X3BhcmVudCBudWxsYWJs ZQorK3ZhbHVlX2dldF9jb2xvciBudWxsYWJsZQorKworKy8vIG1ldGhvZC92aXJ0dWFsLW1ldGhv ZC9zaWduYWwgZG9uJ3QgbWF0Y2gKKytBY3RvcgorKwkuZXZlbnQjbWV0aG9kIG5hbWU9ImVtaXRf ZXZlbnQiCisrCS5nZXRfcGFpbnRfdm9sdW1lI21ldGhvZCBza2lwCisrCS5xdWV1ZV9yZWRyYXcj c2lnbmFsIHNraXAKKysJLnF1ZXVlX3JlZHJhdyN2aXJ0dWFsX21ldGhvZCBza2lwCisrQ29udGFp bmVyCisrCS5hZGRfYWN0b3Igc2tpcD1mYWxzZQorK1RleHQKKysJLmFjdGl2YXRlI21ldGhvZCBu YW1lPSJ0cnlfYWN0aXZhdGUiCisrCS5pbnNlcnRfdGV4dCNzaWduYWwgc2tpcAorK1RleHRCdWZm ZXIuZ2V0X3RleHQjdmlydHVhbF9tZXRob2QgbmFtZT0iZ2V0X3RleHRfd2l0aF9sZW5ndGgiCisr CisrLy8gdmlydHVhbC9hYnN0cmFjdCBkaXN0aW5jdGlvbgorK0NvbnRhaW5lcgorKwkubG93ZXIg dmlydHVhbAorKwkucmFpc2UgdmlydHVhbAorKwkuKl9jaGlsZF9tZXRhI3ZpcnR1YWxfbWV0aG9k IHZpcnR1YWwKKysJLmZvcmVhY2hfd2l0aF9pbnRlcm5hbHMjdmlydHVhbF9tZXRob2QgdmlydHVh bAorKworKy8vIERlZmF1bHQgdmFsdWVzCisrQ29udGFpbmVyCisrCS5sb3dlci5zaWJsaW5nIG51 bGxhYmxlIGRlZmF1bHQ9bnVsbAorKwkucmFpc2Uuc2libGluZyBudWxsYWJsZSBkZWZhdWx0PW51 bGwKKytTdGFnZS5yZWFkX3BpeGVscworKwkud2lkdGggZGVmYXVsdD0tMQorKwkuaGVpZ2h0IGRl ZmF1bHQ9LTEKKytUZXh0CisrCS5wb3NpdGlvbl90b19jb29yZHMubGluZV9oZWlnaHQgZGVmYXVs dD1udWxsCisrCisrLy8gUmVwYXJlbnRlZCBmdW5jcyBtZXRob2RzIGNhbid0IGJlIGluc3RhbmNl IG1ldGhvZHMKKytmZWF0dXJlX2F2YWlsYWJsZSBza2lwCisrZmVhdHVyZV9nZXRfYWxsIHNraXAK KysKKysvLyBTa2lwcGVkIGJ5IGctaSBmb3IgdW5rbm93biByZWFzb25zCisrTGF5b3V0TWFuYWdl cgorKwkuY3JlYXRlX2NoaWxkX21ldGEgc2tpcD1mYWxzZQorKworKy8vIFZhcmlhZGljIGFyZ3Vt ZW50cworK0FjdG9yCisrCS5hbmltYXRlIHNraXA9ZmFsc2UKKysJLmFuaW1hdGVfd2l0aF9hbHBo YSBza2lwPWZhbHNlCisrCS5hbmltYXRlX3dpdGhfdGltZWxpbmUgc2tpcD1mYWxzZQorK0JveAor KwkucGFjayBza2lwPWZhbHNlCisrCS5wYWNrX2FmdGVyIHNraXA9ZmFsc2UKKysJLnBhY2tfYXQg c2tpcD1mYWxzZQorKwkucGFja19iZWZvcmUgc2tpcD1mYWxzZQorK0NvbnRhaW5lcgorKwkuYWRk X3ZhbGlzdCBza2lwPWZhbHNlCisrCS5jaGlsZF9nZXQgc2tpcD1mYWxzZQorKwkuY2hpbGRfc2V0 IHNraXA9ZmFsc2UKKysJLnJlbW92ZSBza2lwPWZhbHNlCisrCS5yZW1vdmVfdmFsaXN0IHNraXA9 ZmFsc2UKKytJbnRlcnZhbAorKwkubmV3IHNraXA9ZmFsc2UKKysJLmdldF9pbnRlcnZhbCBza2lw PWZhbHNlCisrCS5zZXRfZmluYWwgc2tpcD1mYWxzZQorKwkuc2V0X2luaXRpYWwgc2tpcD1mYWxz ZQorKwkuc2V0X2ludGVydmFsIHNraXA9ZmFsc2UKKytMYXlvdXRNYW5hZ2VyCisrCS5jaGlsZF9n ZXQgc2tpcD1mYWxzZQorKwkuY2hpbGRfc2V0IHNraXA9ZmFsc2UKKytTY3JpcHQKKysJLmdldF9v YmplY3RzIHNraXA9ZmFsc2UKKysKKysvLyBDaGFuZ2luZyBlcnJvciBkb21haW5zCisrVGV4dHVy ZQorKwkubmV3X2Zyb21fZmlsZSB0aHJvd3M9IkNsdXR0ZXIuVGV4dHVyZUVycm9yIgorKworKy8v IFNraXBwZWQgdXBzdHJlYW0gZm9yIHVua25vd24gcmVhc29ucworK0FscGhhLnJlZ2lzdGVyX2Z1 bmMgc2tpcD1mYWxzZQorK0ludGVydmFsLnJlZ2lzdGVyX3Byb2dyZXNzX2Z1bmMgc2tpcD1mYWxz ZQorK2dldF9vcHRpb25fZ3JvdXAgc2tpcD1mYWxzZQorK2dldF9vcHRpb25fZ3JvdXBfd2l0aG91 dF9pbml0IHNraXA9ZmFsc2UKKyt0aHJlYWRzX2FkZF9pZGxlIHNraXA9ZmFsc2UKKyt0aHJlYWRz X2FkZF9pZGxlX2Z1bGwgc2tpcD1mYWxzZQorK3RocmVhZHNfYWRkX3RpbWVvdXQgc2tpcD1mYWxz ZQorK3RocmVhZHNfYWRkX3RpbWVvdXRfZnVsbCBza2lwPWZhbHNlCisrCisrLy8gc3RydWN0L2Ns YXNzIGNvbmZ1c2lvbgorK0FjdG9yQm94CisrCS5uZXcgc2tpcAorKwkuZnJvbV92ZXJ0aWNlcyBz a2lwCisrVW5pdHMuZnJvbV8qIHNraXAKKytDb2xvcgorKwkubmV3IHNraXAKKytWZXJ0ZXgubmV3 IHNraXAKKysKKysvLyBDbGFzcyBtZXRob2RzCisrY29udGFpbmVyX2NsYXNzX2ZpbmRfY2hpbGRf cHJvcGVydHkgc2tpcAorK2NvbnRhaW5lcl9jbGFzc19saXN0X2NoaWxkX3Byb3BlcnRpZXMgc2tp cAorKworKy8vIE1vdmUgc3ltYm9scworK2dldF9hY3Rvcl9ieV9naWQgcGFyZW50PSJDbHV0dGVy LkFjdG9yIiBuYW1lPSJnZXRfYnlfZ2lkIgorK3VuaXRzX2Zyb21fKiBza2lwCisrCisrLy8gQ2xh c3NlcyBtYXJrZWQgYXMgb3V0IGJ1dCBub3QgZG91YmxlIHB0cgorK0FjdG9yCisrCS5nZXRfbWFy Z2luLm1hcmdpbiBvdXQ9ZmFsc2UKKytEcmFnQWN0aW9uCisrCS5nZXRfZHJhZ19hcmVhLmRyYWdf YXJlYSBvdXQ9ZmFsc2UKKytJbnB1dERldmljZQorKwkuZ2V0X2Nvb3Jkcy5wb2ludCBvdXQ9ZmFs c2UKKytSZWN0CisrCS5nZXRfY2VudGVyLmNlbnRlciBvdXQ9ZmFsc2UKKysJLmludGVyc2VjdGlv bi5yZXMgb3V0PWZhbHNlCisrCS51bmlvbi5yZXMgb3V0PWZhbHNlCisrVGltZWxpbmUKKysJLmdl dF9jdWJpY19iZXppZXJfcHJvZ3Jlc3MuY18qIG91dD1mYWxzZQorK1pvb21BY3Rpb24KKysJLmdl dF9mb2NhbF9wb2ludC5wb2ludCBvdXQ9ZmFsc2UKKysJLmdldF90cmFuc2Zvcm1lZF9mb2NhbF9w b2ludC5wb2ludCBvdXQ9ZmFsc2UKKysKKysvLyBTdHJ1Y3QgcmV0dXJuIHZhbHVlcworK2NvbG9y X2dldF9zdGF0aWMgbnVsbGFibGUKKysKKysvLyBSZW1vdmUgZm9yIGNsdXR0ZXItMi4wCisrLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLworKworK1N0YWdlCisrIAkuZXZlbnQgbmFtZT0iZW1pdF9l dmVudCIKKysKKysvLyAqRXZlbnQgc2hvdWxkIGJlIGNvbXBhY3QgY2xhc3NlcyBkZXJpdmVkIGZy b20gQ2x1dHRlci5FdmVudAorK0V2ZW50LnR5cGUgc2tpcD1mYWxzZQorK0FueUV2ZW50IHN0cnVj dD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCisrQnV0dG9uRXZlbnQgc3RydWN0PWZh bHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVudCIKKytDcm9zc2luZ0V2ZW50IHN0cnVjdD1mYWxz ZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCisrS2V5RXZlbnQgc3RydWN0PWZhbHNlIGJhc2Vf dHlwZT0iQ2x1dHRlci5FdmVudCIKKytNb3Rpb25FdmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBl PSJDbHV0dGVyLkV2ZW50IgorK1Njcm9sbEV2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNs dXR0ZXIuRXZlbnQiCisrU3RhZ2VTdGF0ZUV2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNs dXR0ZXIuRXZlbnQiCisrVG91Y2hFdmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVy LkV2ZW50IgorK1RvdWNocGFkUGluY2hFdmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0 dGVyLkV2ZW50IgorK1RvdWNocGFkU3dpcGVFdmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJD bHV0dGVyLkV2ZW50IgorKworKy8vIEtleXN5bXMgdXNlZCB0byBiZSBDTFVUVEVSX1ggaW5zdGVh ZCBvZiBDTFVUVEVSX0tFWV9YCisrKiNjb25zdGFudCBza2lwCisrQ09HTCBza2lwPWZhbHNlCisr Q1VSUkVOVF9USU1FIHNraXA9ZmFsc2UKKytGTEFWT1VSIHNraXA9ZmFsc2UKKytQQVRIX1JFTEFU SVZFIHNraXA9ZmFsc2UKKytQUklPUklUWV9SRURSQVcgc2tpcD1mYWxzZQorKworKy8vIENsdXR0 ZXIgZGV2cyBkb24ndCBsaWtlIHVzIGNyZWF0aW5nIG5lc3RlZCBuYW1lc3BhY2VzCisrdmFsdWVf KiBuYW1lPSJ2YWx1ZV8oLispIiBwYXJlbnQ9IkNsdXR0ZXIuVmFsdWUiCisrdGhyZWFkc18qIG5h bWU9InRocmVhZHNfKC4rKSIgcGFyZW50PSJDbHV0dGVyLlRocmVhZHMiCisrdGhyZWFkc19hZGRf aWRsZSBuYW1lPSJhZGQiIHBhcmVudD0iQ2x1dHRlci5UaHJlYWRzLklkbGUiCisrdGhyZWFkc19h ZGRfaWRsZV9mdWxsIG5hbWU9ImFkZF9mdWxsIiBwYXJlbnQ9IkNsdXR0ZXIuVGhyZWFkcy5JZGxl IgorK3RocmVhZHNfYWRkX3RpbWVvdXQgbmFtZT0iYWRkIiBwYXJlbnQ9IkNsdXR0ZXIuVGhyZWFk cy5UaW1lb3V0IgorK3RocmVhZHNfYWRkX3RpbWVvdXRfZnVsbCBuYW1lPSJhZGRfZnVsbCIgcGFy ZW50PSJDbHV0dGVyLlRocmVhZHMuVGltZW91dCIKKysKKysvLyBCYWNrd2FyZHMgY29tcGF0aWJp bGl0eQorK0NvbG9yLmFsbG9jIHN5bWJvbF90eXBlPSJmdW5jdGlvbiIKKytQb2ludC5hbGxvYyBz eW1ib2xfdHlwZT0iZnVuY3Rpb24iCisrUmVjdC5hbGxvYyBzeW1ib2xfdHlwZT0iZnVuY3Rpb24i CisrU2l6ZS5hbGxvYyBzeW1ib2xfdHlwZT0iZnVuY3Rpb24iCisrVmVydGV4LmFsbG9jIHN5bWJv bF90eXBlPSJmdW5jdGlvbiIKKysKKytCaW5BbGlnbm1lbnQgZGVwcmVjYXRlZD1mYWxzZSBkZXBy ZWNhdGVkX3NpbmNlPW51bGwKKytCaW5BbGlnbm1lbnQuKiBkZXByZWNhdGVkCisrQmluQWxpZ25t ZW50LnN0YXJ0IGRlcHJlY2F0ZWQ9ZmFsc2UKKytCaW5MYXlvdXQubmV3LipfYWxpZ24gZGVmYXVs dD1DbHV0dGVyLkJpbkFsaWdubWVudC5TVEFSVAorKworKy8vIFBvc3NpYmx5IGtlZXAKKytLRVlf KiBza2lwPWZhbHNlIG5hbWU9IktFWV8oLispIiB0eXBlPSJ1aW50IiBwYXJlbnQ9IkNsdXR0ZXIu S2V5IgorZGlmZiAtLWdpdCBhL3ZhcGkvQ29nbC02Lm1ldGFkYXRhIGIvdmFwaS9Db2dsLTYubWV0 YWRhdGEKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMC4uMDkyYjVlMjkKKy0t LSAvZGV2L251bGwKKysrKyBiL3ZhcGkvQ29nbC02Lm1ldGFkYXRhCitAQCAtMCwwICsxLDI3IEBA CisrQ29nbCBjaGVhZGVyX2ZpbGVuYW1lPSJjb2dsL2NvZ2wuaCIKKysKKytDb2xvciBzdHJ1Y3QK KysgIC5uZXcgc2tpcAorKyAgLmZyZWUgc2tpcAorKworK2NyZWF0ZV9wcm9ncmFtIHNraXAKKytj cmVhdGVfc2hhZGVyIHNraXAKKysKKysKKytpc19iaXRtYXAgc2tpcAorK2lzX21hdGVyaWFsIHNr aXAKKytpc19vZmZzY3JlZW4gc2tpcAorK2lzX3Byb2dyYW0gc2tpcAorK2lzX3NoYWRlciBza2lw CisraXNfdGV4dHVyZSBza2lwCisraXNfdmVydGV4X2J1ZmZlciBza2lwCisrCisrTWF0cml4IHN0 cnVjdAorKyAgLmdldF9hcnJheSBhcnJheT10cnVlIGFycmF5X2xlbmd0aF9pZHg9LTEKKysgIC5n ZXRfaW52ZXJzZS5pbnZlcnNlIG91dD10cnVlCisrICAubXVsdGlwbHkgc2tpcAorKyAgLmluaXRf ZnJvbV9hcnJheSBza2lwCisrICAuaW5pdF9pZGVudGl0eSBza2lwCisrICAudHJhbnNmb3JtX3Bv aW50LiogcmVmPXRydWUKKysKKytwcm9ncmFtXyogc2tpcAorZGlmZiAtLWdpdCBhL3ZhcGkvTWV0 YS02Lm1ldGFkYXRhIGIvdmFwaS9NZXRhLTYubWV0YWRhdGEKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwMC4uMWQ5ODQ3NzgKKy0tLSAvZGV2L251bGwKKysrKyBiL3ZhcGkvTWV0 YS02Lm1ldGFkYXRhCitAQCAtMCwwICsxLDgwIEBACisrQmFja2VuZCBjaGVhZGVyX2ZpbGVuYW1l PSJtZXRhL21ldGEtYmFja2VuZC5oIgorK0JhY2tncm91bmQgY2hlYWRlcl9maWxlbmFtZT0ibWV0 YS9tZXRhLWJhY2tncm91bmQuaCIKKytCYWNrZ3JvdW5kQWN0b3IgY2hlYWRlcl9maWxlbmFtZT0i bWV0YS9tZXRhLWJhY2tncm91bmQtYWN0b3IuaCIKKytCYWNrZ3JvdW5kR3JvdXAgY2hlYWRlcl9m aWxlbmFtZT0ibWV0YS9tZXRhLWJhY2tncm91bmQtZ3JvdXAuaCIKKytCYWNrZ3JvdW5kSW1hZ2Ug Y2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLWJhY2tncm91bmQtaW1hZ2UuaCIKKytCYWNrZ3Jv dW5kSW1hZ2VDYWNoZSBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtYmFja2dyb3VuZC1pbWFn ZS5oIgorK0JhcnJpZXIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9iYXJyaWVyLmgiCisrQmFycmll ckV2ZW50IGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvYmFycmllci5oIgorK0Nsb3NlRGlhbG9nIGNo ZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1jbG9zZS1kaWFsb2cuaCIKKytDdXJzb3JUcmFja2Vy IGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1jdXJzb3ItdHJhY2tlci5oIgorK0Rpc3BsYXkg Y2hlYWRlcl9maWxlbmFtZT0ibWV0YS9kaXNwbGF5LmgiCisrRG5kIGNoZWFkZXJfZmlsZW5hbWU9 Im1ldGEvbWV0YS1kbmQuaCIKKytJZGxlTW9uaXRvciBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21l dGEtaWRsZS1tb25pdG9yLmgiCisrSW5oaWJpdFNob3J0Y3V0c0RpYWxvZyBjaGVhZGVyX2ZpbGVu YW1lPSJtZXRhL21ldGEtaW5oaWJpdC1zaG9ydGN1dHMtZGlhbG9nLmgiCisrTGF1bmNoQ29udGV4 dCBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtbGF1bmNoLWNvbnRleHQuaCIKKytNZXRhIGNo ZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWFpbi5oIgorK01vbml0b3JNYW5hZ2VyIGNoZWFkZXJfZmls ZW5hbWU9Im1ldGEvbWV0YS1tb25pdG9yLW1hbmFnZXIuaCIKKytQcmVmZXJlbmNlIGNoZWFkZXJf ZmlsZW5hbWU9Im1ldGEvcHJlZnMuaCIKKytSZW1vdGVBY2Nlc3NDb250cm9sbGVyIGNoZWFkZXJf ZmlsZW5hbWU9Im1ldGEvbWV0YS1yZW1vdGUtYWNjZXNzLWNvbnRyb2xsZXIuaCIKKytSZW1vdGVB Y2Nlc3NIYW5kbGUgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXJlbW90ZS1hY2Nlc3MtY29u dHJvbGxlci5oIgorK1NldHRpbmdzIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1zZXR0aW5n cy5oIgorK1NoYWRvd0ZhY3RvcnkgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXNoYWRvdy1m YWN0b3J5LmgiCisrU2hhcGVkVGV4dHVyZSBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtc2hh cGVkLXRleHR1cmUuaCIKKytTb3VuZFBsYXllciBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEt c291bmQtcGxheWVyLmgiCisrU3RhZ2UgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXN0YWdl LmgiCisrU3RhcnR1cE5vdGlmaWNhdGlvbiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtc3Rh cnR1cC1ub3RpZmljYXRpb24uaCIKKytUaGVtZSBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3RoZW1l LmgiCisrV2luZG93IGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvd2luZG93LmgiCisrV2luZG93QWN0 b3IgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXdpbmRvdy1hY3Rvci5oIgorK1dpbmRvd0dy b3VwIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS13aW5kb3ctZ3JvdXAuaCIKKytXaW5kb3dT aGFwZSBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtd2luZG93LXNoYXBlLmgiCisrV29ya3Nw YWNlIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvd29ya3NwYWNlLmgiCisrV29ya3NwYWNlTWFuYWdl ciBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtd29ya3NwYWNlLW1hbmFnZXIuaCIKKytYMTFE aXNwbGF5IGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS14MTEtZGlzcGxheS5oIgorK1JlY3Rh bmdsZSBzdHJ1Y3QKKytQbHVnaW4gY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXBsdWdpbi5o IgorK1BsdWdpbkluZm8gY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXBsdWdpbi5oIgorK3By ZWZzXyogY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9wcmVmcy5oIiBwYXJlbnQ9Ik1ldGEuUHJlZnMi CisrYWRkX3ZlcmJvc2VfdG9waWMgcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFkZXJfZmlsZW5hbWU9 Im1ldGEvdXRpbC5oIgorK3gxMV9lcnJvcl90cmFwX3BvcCBwYXJlbnQ9Ik1ldGEuVXRpbCIgY2hl YWRlcl9maWxlbmFtZT0ibWV0YS91dGlsLmgiCisreDExX2Vycm9yX3RyYXBfcHVzaCBwYXJlbnQ9 Ik1ldGEuVXRpbCIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS91dGlsLmgiCisreDExX2Vycm9yX3Ry YXBfcG9wX3dpdGhfcmV0dXJuIHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJt ZXRhL3V0aWwuaCIKKytleHRlcm5hbF9iaW5kaW5nX25hbWVfZm9yX2FjdGlvbiBwYXJlbnQ9Ik1l dGEuVXRpbCIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS91dGlsLmgiCisrZ2V0X2xvY2FsZV9kaXJl Y3Rpb24gcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvdXRpbC5oIgor K2dyYXZpdHlfdG9fc3RyaW5nIHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJt ZXRhL3V0aWwuaCIKKytpc19kZWJ1Z2dpbmcgcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFkZXJfZmls ZW5hbWU9Im1ldGEvdXRpbC5oIgorK2lzX3N5bmNpbmcgcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFk ZXJfZmlsZW5hbWU9Im1ldGEvdXRpbC5oIgorK2lzX3ZlcmJvc2UgcGFyZW50PSJNZXRhLlV0aWwi IGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvdXRpbC5oIgorK2lzX3dheWxhbmRfY29tcG9zaXRvciBw YXJlbnQ9Ik1ldGEuVXRpbCIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS91dGlsLmgiCisrbGF0ZXJf YWRkIHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3V0aWwuaCIKKyts YXRlcl9yZW1vdmUgcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvdXRp bC5oIgorK3BvcF9ub19tc2dfcHJlZml4IHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVu YW1lPSJtZXRhL3V0aWwuaCIKKytwdXNoX25vX21zZ19wcmVmaXggcGFyZW50PSJNZXRhLlV0aWwi IGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvdXRpbC5oIgorK3JlY3QgcGFyZW50PSJNZXRhLlV0aWwi IGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvdXRpbC5oIgorK3JlbW92ZV92ZXJib3NlX3RvcGljIHBh cmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3V0aWwuaCIKKyt1bnNpZ25l ZF9sb25nX2VxdWFsIHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3V0 aWwuaCIKKyt1bnNpZ25lZF9sb25nX2hhc2ggcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFkZXJfZmls ZW5hbWU9Im1ldGEvdXRpbC5oIgorK3Nob3dfZGlhbG9nIHBhcmVudD0iTWV0YS5VdGlsIiBjaGVh ZGVyX2ZpbGVuYW1lPSJtZXRhL3V0aWwuaCIKKytnZXRfc3RhZ2VfZm9yX2Rpc3BsYXkgcGFyZW50 PSJNZXRhLkNvbXBvc2l0b3IiIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvY29tcG9zaXRvci1tdXR0 ZXIuaCIKKytnZXRfd2luZG93X2FjdG9ycyBwYXJlbnQ9Ik1ldGEuQ29tcG9zaXRvciIgY2hlYWRl cl9maWxlbmFtZT0ibWV0YS9jb21wb3NpdG9yLW11dHRlci5oIgorK2dldF93aW5kb3dfZ3JvdXBf Zm9yX2Rpc3BsYXkgcGFyZW50PSJNZXRhLkNvbXBvc2l0b3IiIGNoZWFkZXJfZmlsZW5hbWU9Im1l dGEvY29tcG9zaXRvci1tdXR0ZXIuaCIKKytnZXRfdG9wX3dpbmRvd19ncm91cF9mb3JfZGlzcGxh eSBwYXJlbnQ9Ik1ldGEuQ29tcG9zaXRvciIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9jb21wb3Np dG9yLW11dHRlci5oIgorK2dldF9mZWVkYmFja19ncm91cF9mb3JfZGlzcGxheSBwYXJlbnQ9Ik1l dGEuQ29tcG9zaXRvciIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9jb21wb3NpdG9yLW11dHRlci5o IgorK2Rpc2FibGVfdW5yZWRpcmVjdF9mb3JfZGlzcGxheSBwYXJlbnQ9Ik1ldGEuQ29tcG9zaXRv ciIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9jb21wb3NpdG9yLW11dHRlci5oIgorK2VuYWJsZV91 bnJlZGlyZWN0X2Zvcl9kaXNwbGF5IHBhcmVudD0iTWV0YS5Db21wb3NpdG9yIiBjaGVhZGVyX2Zp bGVuYW1lPSJtZXRhL2NvbXBvc2l0b3ItbXV0dGVyLmgiCisrc2V0X3N0YWdlX2lucHV0X3JlZ2lv biBwYXJlbnQ9Ik1ldGEuQ29tcG9zaXRvciIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9jb21wb3Np dG9yLW11dHRlci5oIgorK2VtcHR5X3N0YWdlX2lucHV0X3JlZ2lvbiBwYXJlbnQ9Ik1ldGEuQ29t cG9zaXRvciIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9jb21wb3NpdG9yLW11dHRlci5oIgorK2Zv Y3VzX3N0YWdlX3dpbmRvdyBwYXJlbnQ9Ik1ldGEuQ29tcG9zaXRvciIgY2hlYWRlcl9maWxlbmFt ZT0ibWV0YS9jb21wb3NpdG9yLW11dHRlci5oIgorK2tleWJpbmRpbmdzX3NldF9jdXN0b21faGFu ZGxlciBwYXJlbnQ9Ik1ldGEuS2V5QmluZGluZyIgbmFtZT0ic2V0X2N1c3RvbV9oYW5kbGVyIgor K0tleUhhbmRsZXJGdW5jLmV2ZW50IHR5cGU9IkNsdXR0ZXIuS2V5RXZlbnQ/IgorK2dldF9iYWNr ZW5kIHBhcmVudD0iTWV0YS5CYWNrZW5kIgorK1dpbmRvdy5mb2N1cyNzaWduYWwgc2tpcD10cnVl CisrV2luZG93LmdldF94d2luZG93IHNraXA9ZmFsc2UKKytnZXRfb3B0aW9uX2NvbnRleHQgc2tp cD1mYWxzZQorK3NldF9nbm9tZV93bV9rZXliaW5kaW5ncyBza2lwPWZhbHNlCisrc2V0X3dtX25h bWUgc2tpcD1mYWxzZQorK2luaXQgc2tpcD1mYWxzZQorK3J1biBza2lwPWZhbHNlCisrc2hvd19k aWFsb2cgc2tpcD1mYWxzZQorK2dldF9iYWNrZW5kIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0 YS1iYWNrZW5kLmgiCitkaWZmIC0tZ2l0IGEvdmFwaS9ncmFwaGVuZS1nb2JqZWN0LTEuMC52YXBp IGIvdmFwaS9ncmFwaGVuZS1nb2JqZWN0LTEuMC52YXBpCituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMDAuLjY5ODAxNTM1CistLS0gL2Rldi9udWxsCisrKysgYi92YXBpL2dyYXBo ZW5lLWdvYmplY3QtMS4wLnZhcGkKK0BAIC0wLDAgKzEsNjkxIEBACisrLyogZ3JhcGhlbmUtZ29i amVjdC0xLjAudmFwaSBnZW5lcmF0ZWQgYnkgdmFwaWdlbiwgZG8gbm90IG1vZGlmeS4gKi8KKysK KytbQ0NvZGUgKGNwcmVmaXggPSAiR3JhcGhlbmUiLCBnaXJfbmFtZXNwYWNlID0gIkdyYXBoZW5l IiwgZ2lyX3ZlcnNpb24gPSAiMS4wIiwgbG93ZXJfY2FzZV9jcHJlZml4ID0gImdyYXBoZW5lXyIp XQorK25hbWVzcGFjZSBHcmFwaGVuZSB7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJn cmFwaGVuZS1nb2JqZWN0LmgiLCBjbmFtZSA9ICJncmFwaGVuZV9ib3hfdCIsIHR5cGVfaWQgPSAi Z3JhcGhlbmVfYm94X2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0K KysJcHVibGljIHN0cnVjdCBCb3ggeworKwkJcHVibGljIGJvb2wgY29udGFpbnNfYm94IChHcmFw aGVuZS5Cb3ggYik7CisrCQlwdWJsaWMgYm9vbCBjb250YWluc19wb2ludCAoR3JhcGhlbmUuUG9p bnQzRCBwb2ludCk7CisrCQlwdWJsaWMgc3RhdGljIHVub3duZWQgR3JhcGhlbmUuQm94PyBlbXB0 eSAoKTsKKysJCXB1YmxpYyBib29sIGVxdWFsIChHcmFwaGVuZS5Cb3ggYik7CisrCQlwdWJsaWMg R3JhcGhlbmUuQm94IGV4cGFuZCAoR3JhcGhlbmUuUG9pbnQzRCBwb2ludCk7CisrCQlwdWJsaWMg R3JhcGhlbmUuQm94IGV4cGFuZF9zY2FsYXIgKGZsb2F0IHNjYWxhcik7CisrCQlwdWJsaWMgR3Jh cGhlbmUuQm94IGV4cGFuZF92ZWMzIChHcmFwaGVuZS5WZWMzIHZlYyk7CisrCQlwdWJsaWMgR3Jh cGhlbmUuU3BoZXJlIGdldF9ib3VuZGluZ19zcGhlcmUgKCk7CisrCQlwdWJsaWMgR3JhcGhlbmUu UG9pbnQzRCBnZXRfY2VudGVyICgpOworKwkJcHVibGljIGZsb2F0IGdldF9kZXB0aCAoKTsKKysJ CXB1YmxpYyBmbG9hdCBnZXRfaGVpZ2h0ICgpOworKwkJcHVibGljIEdyYXBoZW5lLlBvaW50M0Qg Z2V0X21heCAoKTsKKysJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludDNEIGdldF9taW4gKCk7CisrCQlw dWJsaWMgR3JhcGhlbmUuVmVjMyBnZXRfc2l6ZSAoKTsKKysJCXB1YmxpYyB2b2lkIGdldF92ZXJ0 aWNlcyAoW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldIHJlZiBHcmFwaGVuZS5WZWMzIHZl cnRpY2VzWzhdKTsKKysJCXB1YmxpYyBmbG9hdCBnZXRfd2lkdGggKCk7CisrCQlwdWJsaWMgc3Rh dGljIHVub3duZWQgR3JhcGhlbmUuQm94PyBpbmZpbml0ZSAoKTsKKysJCXB1YmxpYyB1bm93bmVk IEdyYXBoZW5lLkJveD8gaW5pdCAoR3JhcGhlbmUuUG9pbnQzRD8gbWluLCBHcmFwaGVuZS5Qb2lu dDNEPyBtYXgpOworKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuQm94PyBpbml0X2Zyb21fYm94 IChHcmFwaGVuZS5Cb3ggc3JjKTsKKysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5lLkJveD8gaW5p dF9mcm9tX3BvaW50cyAoW0NDb2RlIChhcnJheV9sZW5ndGhfY25hbWUgPSAibl9wb2ludHMiLCBh cnJheV9sZW5ndGhfcG9zID0gMC41LCBhcnJheV9sZW5ndGhfdHlwZSA9ICJndWludCIpXSBHcmFw aGVuZS5Qb2ludDNEW10gcG9pbnRzKTsKKysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5lLkJveD8g aW5pdF9mcm9tX3ZlYzMgKEdyYXBoZW5lLlZlYzM/IG1pbiwgR3JhcGhlbmUuVmVjMz8gbWF4KTsK KysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5lLkJveD8gaW5pdF9mcm9tX3ZlY3RvcnMgKFtDQ29k ZSAoYXJyYXlfbGVuZ3RoX2NuYW1lID0gIm5fdmVjdG9ycyIsIGFycmF5X2xlbmd0aF9wb3MgPSAw LjUsIGFycmF5X2xlbmd0aF90eXBlID0gImd1aW50IildIEdyYXBoZW5lLlZlYzNbXSB2ZWN0b3Jz KTsKKysJCXB1YmxpYyBib29sIGludGVyc2VjdGlvbiAoR3JhcGhlbmUuQm94IGIsIG91dCBHcmFw aGVuZS5Cb3ggcmVzKTsKKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBHcmFwaGVuZS5Cb3g/IG1p bnVzX29uZSAoKTsKKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBHcmFwaGVuZS5Cb3g/IG9uZSAo KTsKKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBHcmFwaGVuZS5Cb3g/IG9uZV9taW51c19vbmUg KCk7CisrCQlwdWJsaWMgR3JhcGhlbmUuQm94IHVuaW9uIChHcmFwaGVuZS5Cb3ggYik7CisrCQlw dWJsaWMgc3RhdGljIHVub3duZWQgR3JhcGhlbmUuQm94PyB6ZXJvICgpOworKwl9CisrCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJncmFwaGVuZS1nb2JqZWN0LmgiLCBjbmFtZSA9ICJncmFw aGVuZV9ldWxlcl90IiwgdHlwZV9pZCA9ICJncmFwaGVuZV9ldWxlcl9nZXRfdHlwZSAoKSIpXQor KwlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCXB1YmxpYyBzdHJ1Y3QgRXVsZXIgeworKwkJ cHVibGljIGJvb2wgZXF1YWwgKEdyYXBoZW5lLkV1bGVyIGIpOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTAiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRfYWxwaGEgKCk7CisrCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIGZsb2F0IGdldF9iZXRhICgpOworKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRfZ2FtbWEgKCk7CisrCQlw dWJsaWMgR3JhcGhlbmUuRXVsZXJPcmRlciBnZXRfb3JkZXIgKCk7CisrCQlwdWJsaWMgZmxvYXQg Z2V0X3ggKCk7CisrCQlwdWJsaWMgZmxvYXQgZ2V0X3kgKCk7CisrCQlwdWJsaWMgZmxvYXQgZ2V0 X3ogKCk7CisrCQlwdWJsaWMgdW5vd25lZCBHcmFwaGVuZS5FdWxlcj8gaW5pdCAoZmxvYXQgeCwg ZmxvYXQgeSwgZmxvYXQgeik7CisrCQlwdWJsaWMgdW5vd25lZCBHcmFwaGVuZS5FdWxlcj8gaW5p dF9mcm9tX2V1bGVyIChHcmFwaGVuZS5FdWxlcj8gc3JjKTsKKysJCXB1YmxpYyB1bm93bmVkIEdy YXBoZW5lLkV1bGVyPyBpbml0X2Zyb21fbWF0cml4IChHcmFwaGVuZS5NYXRyaXg/IG0sIEdyYXBo ZW5lLkV1bGVyT3JkZXIgb3JkZXIpOworKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuRXVsZXI/ IGluaXRfZnJvbV9xdWF0ZXJuaW9uIChHcmFwaGVuZS5RdWF0ZXJuaW9uPyBxLCBHcmFwaGVuZS5F dWxlck9yZGVyIG9yZGVyKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJs aWMgdW5vd25lZCBHcmFwaGVuZS5FdWxlcj8gaW5pdF9mcm9tX3JhZGlhbnMgKGZsb2F0IHgsIGZs b2F0IHksIGZsb2F0IHosIEdyYXBoZW5lLkV1bGVyT3JkZXIgb3JkZXIpOworKwkJcHVibGljIHVu b3duZWQgR3JhcGhlbmUuRXVsZXI/IGluaXRfZnJvbV92ZWMzIChHcmFwaGVuZS5WZWMzPyB2LCBH cmFwaGVuZS5FdWxlck9yZGVyIG9yZGVyKTsKKysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5lLkV1 bGVyPyBpbml0X3dpdGhfb3JkZXIgKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHosIEdyYXBoZW5l LkV1bGVyT3JkZXIgb3JkZXIpOworKwkJcHVibGljIEdyYXBoZW5lLkV1bGVyIHJlb3JkZXIgKEdy YXBoZW5lLkV1bGVyT3JkZXIgb3JkZXIpOworKwkJcHVibGljIEdyYXBoZW5lLk1hdHJpeCB0b19t YXRyaXggKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIEdyYXBo ZW5lLlF1YXRlcm5pb24gdG9fcXVhdGVybmlvbiAoKTsKKysJCXB1YmxpYyBHcmFwaGVuZS5WZWMz IHRvX3ZlYzMgKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImdyYXBoZW5l LWdvYmplY3QuaCIsIGNuYW1lID0gImdyYXBoZW5lX2ZydXN0dW1fdCIsIHR5cGVfaWQgPSAiZ3Jh cGhlbmVfZnJ1c3R1bV9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIild CisrCXB1YmxpYyBzdHJ1Y3QgRnJ1c3R1bSB7CisrCQlwdWJsaWMgYm9vbCBjb250YWluc19wb2lu dCAoR3JhcGhlbmUuUG9pbnQzRCBwb2ludCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42Iild CisrCQlwdWJsaWMgYm9vbCBlcXVhbCAoR3JhcGhlbmUuRnJ1c3R1bSBiKTsKKysJCXB1YmxpYyB2 b2lkIGdldF9wbGFuZXMgKFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXSByZWYgR3JhcGhl bmUuUGxhbmUgcGxhbmVzWzZdKTsKKysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5lLkZydXN0dW0/ IGluaXQgKEdyYXBoZW5lLlBsYW5lIHAwLCBHcmFwaGVuZS5QbGFuZSBwMSwgR3JhcGhlbmUuUGxh bmUgcDIsIEdyYXBoZW5lLlBsYW5lIHAzLCBHcmFwaGVuZS5QbGFuZSBwNCwgR3JhcGhlbmUuUGxh bmUgcDUpOworKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuRnJ1c3R1bT8gaW5pdF9mcm9tX2Zy dXN0dW0gKEdyYXBoZW5lLkZydXN0dW0gc3JjKTsKKysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5l LkZydXN0dW0/IGluaXRfZnJvbV9tYXRyaXggKEdyYXBoZW5lLk1hdHJpeCBtYXRyaXgpOworKwkJ cHVibGljIGJvb2wgaW50ZXJzZWN0c19ib3ggKEdyYXBoZW5lLkJveCBib3gpOworKwkJcHVibGlj IGJvb2wgaW50ZXJzZWN0c19zcGhlcmUgKEdyYXBoZW5lLlNwaGVyZSBzcGhlcmUpOworKwl9Cisr CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJncmFwaGVuZS1nb2JqZWN0LmgiLCBjbmFtZSA9 ICJncmFwaGVuZV9tYXRyaXhfdCIsIHR5cGVfaWQgPSAiZ3JhcGhlbmVfbWF0cml4X2dldF90eXBl ICgpIildCisrCXB1YmxpYyBzdHJ1Y3QgTWF0cml4IHsKKysJCXB1YmxpYyBib29sIGRlY29tcG9z ZSAob3V0IEdyYXBoZW5lLlZlYzMgdHJhbnNsYXRlLCBvdXQgR3JhcGhlbmUuVmVjMyBzY2FsZSwg b3V0IEdyYXBoZW5lLlF1YXRlcm5pb24gcm90YXRlLCBvdXQgR3JhcGhlbmUuVmVjMyBzaGVhciwg b3V0IEdyYXBoZW5lLlZlYzQgcGVyc3BlY3RpdmUpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MCIpXQorKwkJcHVibGljIGZsb2F0IGRldGVybWluYW50ICgpOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTAiKV0KKysJCXB1YmxpYyBib29sIGVxdWFsIChHcmFwaGVuZS5NYXRyaXggYik7Cisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIGJvb2wgZXF1YWxfZmFzdCAo R3JhcGhlbmUuTWF0cml4IGIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVi bGljIEdyYXBoZW5lLlZlYzQgZ2V0X3JvdyAodWludCBpbmRleF8pOworKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMCIpXQorKwkJcHVibGljIGZsb2F0IGdldF92YWx1ZSAodWludCByb3csIHVpbnQg Y29sKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRf eF9zY2FsZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgZmxv YXQgZ2V0X3hfdHJhbnNsYXRpb24gKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisr CQlwdWJsaWMgZmxvYXQgZ2V0X3lfc2NhbGUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MCIpXQorKwkJcHVibGljIGZsb2F0IGdldF95X3RyYW5zbGF0aW9uICgpOworKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIGZsb2F0IGdldF96X3NjYWxlICgpOworKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRfel90cmFuc2xhdGlv biAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB1bm93bmVkIEdy YXBoZW5lLk1hdHJpeD8gaW5pdF9mcm9tXzJkIChkb3VibGUgeHgsIGRvdWJsZSB5eCwgZG91Ymxl IHh5LCBkb3VibGUgeXksIGRvdWJsZSB4XzAsIGRvdWJsZSB5XzApOworKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMCIpXQorKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuTWF0cml4PyBpbml0X2Zy b21fZmxvYXQgKFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXSBmbG9hdCB2WzE2XSk7Cisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgdW5vd25lZCBHcmFwaGVuZS5N YXRyaXg/IGluaXRfZnJvbV9tYXRyaXggKEdyYXBoZW5lLk1hdHJpeCBzcmMpOworKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuTWF0cml4PyBp bml0X2Zyb21fdmVjNCAoR3JhcGhlbmUuVmVjNCB2MCwgR3JhcGhlbmUuVmVjNCB2MSwgR3JhcGhl bmUuVmVjNCB2MiwgR3JhcGhlbmUuVmVjNCB2Myk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4y IildCisrCQlwdWJsaWMgdW5vd25lZCBHcmFwaGVuZS5NYXRyaXg/IGluaXRfZnJ1c3R1bSAoZmxv YXQgbGVmdCwgZmxvYXQgcmlnaHQsIGZsb2F0IGJvdHRvbSwgZmxvYXQgdG9wLCBmbG9hdCB6X25l YXIsIGZsb2F0IHpfZmFyKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1Ymxp YyB1bm93bmVkIEdyYXBoZW5lLk1hdHJpeD8gaW5pdF9pZGVudGl0eSAoKTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5lLk1hdHJpeD8gaW5p dF9sb29rX2F0IChHcmFwaGVuZS5WZWMzIGV5ZSwgR3JhcGhlbmUuVmVjMyBjZW50ZXIsIEdyYXBo ZW5lLlZlYzMgdXApOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHVu b3duZWQgR3JhcGhlbmUuTWF0cml4PyBpbml0X29ydGhvIChmbG9hdCBsZWZ0LCBmbG9hdCByaWdo dCwgZmxvYXQgdG9wLCBmbG9hdCBib3R0b20sIGZsb2F0IHpfbmVhciwgZmxvYXQgel9mYXIpOwor KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUu TWF0cml4PyBpbml0X3BlcnNwZWN0aXZlIChmbG9hdCBmb3Z5LCBmbG9hdCBhc3BlY3QsIGZsb2F0 IHpfbmVhciwgZmxvYXQgel9mYXIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJ cHVibGljIHVub3duZWQgR3JhcGhlbmUuTWF0cml4PyBpbml0X3JvdGF0ZSAoZmxvYXQgYW5nbGUs IEdyYXBoZW5lLlZlYzMgYXhpcyk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlw dWJsaWMgdW5vd25lZCBHcmFwaGVuZS5NYXRyaXg/IGluaXRfc2NhbGUgKGZsb2F0IHgsIGZsb2F0 IHksIGZsb2F0IHopOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHVu b3duZWQgR3JhcGhlbmUuTWF0cml4PyBpbml0X3NrZXcgKGZsb2F0IHhfc2tldywgZmxvYXQgeV9z a2V3KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB1bm93bmVkIEdy YXBoZW5lLk1hdHJpeD8gaW5pdF90cmFuc2xhdGUgKEdyYXBoZW5lLlBvaW50M0QgcCk7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgR3JhcGhlbmUuTWF0cml4IGludGVy cG9sYXRlIChHcmFwaGVuZS5NYXRyaXggYiwgZG91YmxlIGZhY3Rvcik7CisrCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgYm9vbCBpbnZlcnNlIChvdXQgR3JhcGhlbmUuTWF0 cml4IHJlcyk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgYm9vbCBp c18yZCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBib29sIGlz X2JhY2tmYWNlX3Zpc2libGUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlw dWJsaWMgYm9vbCBpc19pZGVudGl0eSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0K KysJCXB1YmxpYyBib29sIGlzX3Npbmd1bGFyICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MCIpXQorKwkJcHVibGljIEdyYXBoZW5lLk1hdHJpeCBtdWx0aXBseSAoR3JhcGhlbmUuTWF0cml4 IGIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBib29sIG5lYXIg KEdyYXBoZW5lLk1hdHJpeCBiLCBmbG9hdCBlcHNpbG9uKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjAiKV0KKysJCXB1YmxpYyBHcmFwaGVuZS5NYXRyaXggbm9ybWFsaXplICgpOworKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIEdyYXBoZW5lLk1hdHJpeCBwZXJzcGVj dGl2ZSAoZmxvYXQgZGVwdGgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVi bGljIHZvaWQgcHJpbnQgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJs aWMgR3JhcGhlbmUuUG9pbnQgcHJvamVjdF9wb2ludCAoR3JhcGhlbmUuUG9pbnQgcCk7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgR3JhcGhlbmUuUXVhZCBwcm9qZWN0 X3JlY3QgKEdyYXBoZW5lLlJlY3Qgcik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisr CQlwdWJsaWMgR3JhcGhlbmUuUmVjdCBwcm9qZWN0X3JlY3RfYm91bmRzIChHcmFwaGVuZS5SZWN0 IHIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHZvaWQgcm90YXRl IChmbG9hdCBhbmdsZSwgR3JhcGhlbmUuVmVjMyBheGlzKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjIiKV0KKysJCXB1YmxpYyB2b2lkIHJvdGF0ZV9ldWxlciAoR3JhcGhlbmUuRXVsZXIgZSk7 CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgdm9pZCByb3RhdGVfcXVh dGVybmlvbiAoR3JhcGhlbmUuUXVhdGVybmlvbiBxKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjAiKV0KKysJCXB1YmxpYyB2b2lkIHJvdGF0ZV94IChmbG9hdCBhbmdsZSk7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgdm9pZCByb3RhdGVfeSAoZmxvYXQgYW5nbGUp OworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHZvaWQgcm90YXRlX3og KGZsb2F0IGFuZ2xlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB2 b2lkIHNjYWxlIChmbG9hdCBmYWN0b3JfeCwgZmxvYXQgZmFjdG9yX3ksIGZsb2F0IGZhY3Rvcl96 KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB2b2lkIHNrZXdfeHkg KGZsb2F0IGZhY3Rvcik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMg dm9pZCBza2V3X3h6IChmbG9hdCBmYWN0b3IpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIp XQorKwkJcHVibGljIHZvaWQgc2tld195eiAoZmxvYXQgZmFjdG9yKTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBib29sIHRvXzJkIChvdXQgZG91YmxlIHh4LCBvdXQg ZG91YmxlIHl4LCBvdXQgZG91YmxlIHh5LCBvdXQgZG91YmxlIHl5LCBvdXQgZG91YmxlIHhfMCwg b3V0IGRvdWJsZSB5XzApOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGlj IHZvaWQgdG9fZmxvYXQgKFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXSByZWYgZmxvYXQg dlsxNl0pOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIEdyYXBoZW5l LlJlY3QgdHJhbnNmb3JtX2JvdW5kcyAoR3JhcGhlbmUuUmVjdCByKTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjIiKV0KKysJCXB1YmxpYyBHcmFwaGVuZS5Cb3ggdHJhbnNmb3JtX2JveCAoR3Jh cGhlbmUuQm94IGIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIEdy YXBoZW5lLlBvaW50IHRyYW5zZm9ybV9wb2ludCAoR3JhcGhlbmUuUG9pbnQgcCk7CisrCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQzRCB0cmFuc2Zv cm1fcG9pbnQzZCAoR3JhcGhlbmUuUG9pbnQzRCBwKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjQiKV0KKysJCXB1YmxpYyBHcmFwaGVuZS5SYXkgdHJhbnNmb3JtX3JheSAoR3JhcGhlbmUuUmF5 IHIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIEdyYXBoZW5lLlF1 YWQgdHJhbnNmb3JtX3JlY3QgKEdyYXBoZW5lLlJlY3Qgcik7CisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4yIildCisrCQlwdWJsaWMgR3JhcGhlbmUuU3BoZXJlIHRyYW5zZm9ybV9zcGhlcmUgKEdy YXBoZW5lLlNwaGVyZSBzKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1Ymxp YyBHcmFwaGVuZS5WZWMzIHRyYW5zZm9ybV92ZWMzIChHcmFwaGVuZS5WZWMzIHYpOworKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIEdyYXBoZW5lLlZlYzQgdHJhbnNmb3Jt X3ZlYzQgKEdyYXBoZW5lLlZlYzQgdik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisr CQlwdWJsaWMgdm9pZCB0cmFuc2xhdGUgKEdyYXBoZW5lLlBvaW50M0QgcG9zKTsKKysJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBHcmFwaGVuZS5NYXRyaXggdHJhbnNwb3Nl ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIEdyYXBoZW5lLlBv aW50M0QgdW5wcm9qZWN0X3BvaW50M2QgKEdyYXBoZW5lLk1hdHJpeCBtb2RlbHZpZXcsIEdyYXBo ZW5lLlBvaW50M0QgcG9pbnQpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVi bGljIEdyYXBoZW5lLlJlY3QgdW50cmFuc2Zvcm1fYm91bmRzIChHcmFwaGVuZS5SZWN0IHIsIEdy YXBoZW5lLlJlY3QgYm91bmRzKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1 YmxpYyBib29sIHVudHJhbnNmb3JtX3BvaW50IChHcmFwaGVuZS5Qb2ludCBwLCBHcmFwaGVuZS5S ZWN0IGJvdW5kcywgb3V0IEdyYXBoZW5lLlBvaW50IHJlcyk7CisrCX0KKysJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImdyYXBoZW5lLWdvYmplY3QuaCIsIGNuYW1lID0gImdyYXBoZW5lX3Bs YW5lX3QiLCB0eXBlX2lkID0gImdyYXBoZW5lX3BsYW5lX2dldF90eXBlICgpIildCisrCVtWZXJz aW9uIChzaW5jZSA9ICIxLjIiKV0KKysJcHVibGljIHN0cnVjdCBQbGFuZSB7CisrCQlwdWJsaWMg ZmxvYXQgZGlzdGFuY2UgKEdyYXBoZW5lLlBvaW50M0QgcG9pbnQpOworKwkJcHVibGljIGJvb2wg ZXF1YWwgKEdyYXBoZW5lLlBsYW5lIGIpOworKwkJcHVibGljIGZsb2F0IGdldF9jb25zdGFudCAo KTsKKysJCXB1YmxpYyBHcmFwaGVuZS5WZWMzIGdldF9ub3JtYWwgKCk7CisrCQlwdWJsaWMgdW5v d25lZCBHcmFwaGVuZS5QbGFuZT8gaW5pdCAoR3JhcGhlbmUuVmVjMz8gbm9ybWFsLCBmbG9hdCBj b25zdGFudCk7CisrCQlwdWJsaWMgdW5vd25lZCBHcmFwaGVuZS5QbGFuZT8gaW5pdF9mcm9tX3Bs YW5lIChHcmFwaGVuZS5QbGFuZSBzcmMpOworKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuUGxh bmU/IGluaXRfZnJvbV9wb2ludCAoR3JhcGhlbmUuVmVjMyBub3JtYWwsIEdyYXBoZW5lLlBvaW50 M0QgcG9pbnQpOworKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuUGxhbmU/IGluaXRfZnJvbV9w b2ludHMgKEdyYXBoZW5lLlBvaW50M0QgYSwgR3JhcGhlbmUuUG9pbnQzRCBiLCBHcmFwaGVuZS5Q b2ludDNEIGMpOworKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuUGxhbmU/IGluaXRfZnJvbV92 ZWM0IChHcmFwaGVuZS5WZWM0IHNyYyk7CisrCQlwdWJsaWMgR3JhcGhlbmUuUGxhbmUgbmVnYXRl ICgpOworKwkJcHVibGljIEdyYXBoZW5lLlBsYW5lIG5vcm1hbGl6ZSAoKTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgR3JhcGhlbmUuUGxhbmUgdHJhbnNmb3JtIChH cmFwaGVuZS5NYXRyaXggbWF0cml4LCBHcmFwaGVuZS5NYXRyaXg/IG5vcm1hbF9tYXRyaXgpOwor Kwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJncmFwaGVuZS1nb2JqZWN0LmgiLCBj bmFtZSA9ICJncmFwaGVuZV9wb2ludF90IiwgdHlwZV9pZCA9ICJncmFwaGVuZV9wb2ludF9nZXRf dHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCXB1YmxpYyBzdHJ1Y3Qg UG9pbnQgeworKwkJcHVibGljIGZsb2F0IHg7CisrCQlwdWJsaWMgZmxvYXQgeTsKKysJCXB1Ymxp YyBmbG9hdCBkaXN0YW5jZSAoR3JhcGhlbmUuUG9pbnQgYiwgb3V0IGZsb2F0IGRfeCwgb3V0IGZs b2F0IGRfeSk7CisrCQlwdWJsaWMgYm9vbCBlcXVhbCAoR3JhcGhlbmUuUG9pbnQgYik7CisrCQlw dWJsaWMgdW5vd25lZCBHcmFwaGVuZS5Qb2ludD8gaW5pdCAoZmxvYXQgeCwgZmxvYXQgeSk7Cisr CQlwdWJsaWMgdW5vd25lZCBHcmFwaGVuZS5Qb2ludD8gaW5pdF9mcm9tX3BvaW50IChHcmFwaGVu ZS5Qb2ludCBzcmMpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGljIHVu b3duZWQgR3JhcGhlbmUuUG9pbnQ/IGluaXRfZnJvbV92ZWMyIChHcmFwaGVuZS5WZWMyIHNyYyk7 CisrCQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQgaW50ZXJwb2xhdGUgKEdyYXBoZW5lLlBvaW50IGIs IGRvdWJsZSBmYWN0b3IpOworKwkJcHVibGljIGJvb2wgbmVhciAoR3JhcGhlbmUuUG9pbnQgYiwg ZmxvYXQgZXBzaWxvbik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMg R3JhcGhlbmUuVmVjMiB0b192ZWMyICgpOworKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIEdyYXBo ZW5lLlBvaW50PyB6ZXJvICgpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJn cmFwaGVuZS1nb2JqZWN0LmgiLCBjbmFtZSA9ICJncmFwaGVuZV9wb2ludDNkX3QiLCBsb3dlcl9j YXNlX2NzdWZmaXggPSAicG9pbnQzZCIsIHR5cGVfaWQgPSAiZ3JhcGhlbmVfcG9pbnQzZF9nZXRf dHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCXB1YmxpYyBzdHJ1Y3Qg UG9pbnQzRCB7CisrCQlwdWJsaWMgZmxvYXQgeDsKKysJCXB1YmxpYyBmbG9hdCB5OworKwkJcHVi bGljIGZsb2F0IHo7CisrCQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQzRCBjcm9zcyAoR3JhcGhlbmUu UG9pbnQzRCBiKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyBmbG9h dCBkaXN0YW5jZSAoR3JhcGhlbmUuUG9pbnQzRCBiLCBvdXQgR3JhcGhlbmUuVmVjMyBkZWx0YSk7 CisrCQlwdWJsaWMgZmxvYXQgZG90IChHcmFwaGVuZS5Qb2ludDNEIGIpOworKwkJcHVibGljIGJv b2wgZXF1YWwgKEdyYXBoZW5lLlBvaW50M0QgYik7CisrCQlwdWJsaWMgdW5vd25lZCBHcmFwaGVu ZS5Qb2ludDNEPyBpbml0IChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB6KTsKKysJCXB1YmxpYyB1 bm93bmVkIEdyYXBoZW5lLlBvaW50M0Q/IGluaXRfZnJvbV9wb2ludCAoR3JhcGhlbmUuUG9pbnQz RCBzcmMpOworKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuUG9pbnQzRD8gaW5pdF9mcm9tX3Zl YzMgKEdyYXBoZW5lLlZlYzMgdik7CisrCQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQzRCBpbnRlcnBv bGF0ZSAoR3JhcGhlbmUuUG9pbnQzRCBiLCBkb3VibGUgZmFjdG9yKTsKKysJCXB1YmxpYyBmbG9h dCBsZW5ndGggKCk7CisrCQlwdWJsaWMgYm9vbCBuZWFyIChHcmFwaGVuZS5Qb2ludDNEIGIsIGZs b2F0IGVwc2lsb24pOworKwkJcHVibGljIEdyYXBoZW5lLlBvaW50M0Qgbm9ybWFsaXplICgpOwor KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGljIEdyYXBoZW5lLlBvaW50M0Qg bm9ybWFsaXplX3ZpZXdwb3J0IChHcmFwaGVuZS5SZWN0IHZpZXdwb3J0LCBmbG9hdCB6X25lYXIs IGZsb2F0IHpfZmFyKTsKKysJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludDNEIHNjYWxlIChmbG9hdCBm YWN0b3IpOworKwkJcHVibGljIEdyYXBoZW5lLlZlYzMgdG9fdmVjMyAoKTsKKysJCXB1YmxpYyBz dGF0aWMgdW5vd25lZCBHcmFwaGVuZS5Qb2ludDNEPyB6ZXJvICgpOworKwl9CisrCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJncmFwaGVuZS1nb2JqZWN0LmgiLCBjbmFtZSA9ICJncmFwaGVu ZV9xdWFkX3QiLCB0eXBlX2lkID0gImdyYXBoZW5lX3F1YWRfZ2V0X3R5cGUgKCkiKV0KKysJW1Zl cnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwlwdWJsaWMgc3RydWN0IFF1YWQgeworKwkJcHVibGlj IEdyYXBoZW5lLlJlY3QgYm91bmRzICgpOworKwkJcHVibGljIGJvb2wgY29udGFpbnMgKEdyYXBo ZW5lLlBvaW50IHApOworKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuUG9pbnQ/IGdldF9wb2lu dCAodWludCBpbmRleF8pOworKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuUXVhZD8gaW5pdCAo R3JhcGhlbmUuUG9pbnQgcDEsIEdyYXBoZW5lLlBvaW50IHAyLCBHcmFwaGVuZS5Qb2ludCBwMywg R3JhcGhlbmUuUG9pbnQgcDQpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQorKwkJcHVi bGljIHVub3duZWQgR3JhcGhlbmUuUXVhZD8gaW5pdF9mcm9tX3BvaW50cyAoW0NDb2RlIChhcnJh eV9sZW5ndGggPSBmYWxzZSldIEdyYXBoZW5lLlBvaW50IHBvaW50c1s0XSk7CisrCQlwdWJsaWMg dW5vd25lZCBHcmFwaGVuZS5RdWFkPyBpbml0X2Zyb21fcmVjdCAoR3JhcGhlbmUuUmVjdCByKTsK KysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiZ3JhcGhlbmUtZ29iamVjdC5oIiwg Y25hbWUgPSAiZ3JhcGhlbmVfcXVhdGVybmlvbl90IiwgdHlwZV9pZCA9ICJncmFwaGVuZV9xdWF0 ZXJuaW9uX2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJcHVi bGljIHN0cnVjdCBRdWF0ZXJuaW9uIHsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisr CQlwdWJsaWMgR3JhcGhlbmUuUXVhdGVybmlvbiBhZGQgKEdyYXBoZW5lLlF1YXRlcm5pb24gYik7 CisrCQlwdWJsaWMgZmxvYXQgZG90IChHcmFwaGVuZS5RdWF0ZXJuaW9uIGIpOworKwkJcHVibGlj IGJvb2wgZXF1YWwgKEdyYXBoZW5lLlF1YXRlcm5pb24gYik7CisrCQlwdWJsaWMgdW5vd25lZCBH cmFwaGVuZS5RdWF0ZXJuaW9uPyBpbml0IChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB6LCBmbG9h dCB3KTsKKysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5lLlF1YXRlcm5pb24/IGluaXRfZnJvbV9h bmdsZV92ZWMzIChmbG9hdCBhbmdsZSwgR3JhcGhlbmUuVmVjMyBheGlzKTsKKysJCXB1YmxpYyB1 bm93bmVkIEdyYXBoZW5lLlF1YXRlcm5pb24/IGluaXRfZnJvbV9hbmdsZXMgKGZsb2F0IGRlZ194 LCBmbG9hdCBkZWdfeSwgZmxvYXQgZGVnX3opOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIp XQorKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuUXVhdGVybmlvbj8gaW5pdF9mcm9tX2V1bGVy IChHcmFwaGVuZS5FdWxlciBlKTsKKysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5lLlF1YXRlcm5p b24/IGluaXRfZnJvbV9tYXRyaXggKEdyYXBoZW5lLk1hdHJpeCBtKTsKKysJCXB1YmxpYyB1bm93 bmVkIEdyYXBoZW5lLlF1YXRlcm5pb24/IGluaXRfZnJvbV9xdWF0ZXJuaW9uIChHcmFwaGVuZS5R dWF0ZXJuaW9uIHNyYyk7CisrCQlwdWJsaWMgdW5vd25lZCBHcmFwaGVuZS5RdWF0ZXJuaW9uPyBp bml0X2Zyb21fcmFkaWFucyAoZmxvYXQgcmFkX3gsIGZsb2F0IHJhZF95LCBmbG9hdCByYWRfeik7 CisrCQlwdWJsaWMgdW5vd25lZCBHcmFwaGVuZS5RdWF0ZXJuaW9uPyBpbml0X2Zyb21fdmVjNCAo R3JhcGhlbmUuVmVjNCBzcmMpOworKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuUXVhdGVybmlv bj8gaW5pdF9pZGVudGl0eSAoKTsKKysJCXB1YmxpYyBHcmFwaGVuZS5RdWF0ZXJuaW9uIGludmVy dCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgR3JhcGhlbmUu UXVhdGVybmlvbiBtdWx0aXBseSAoR3JhcGhlbmUuUXVhdGVybmlvbiBiKTsKKysJCXB1YmxpYyBH cmFwaGVuZS5RdWF0ZXJuaW9uIG5vcm1hbGl6ZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEwIildCisrCQlwdWJsaWMgR3JhcGhlbmUuUXVhdGVybmlvbiBzY2FsZSAoZmxvYXQgZmFjdG9y KTsKKysJCXB1YmxpYyBHcmFwaGVuZS5RdWF0ZXJuaW9uIHNsZXJwIChHcmFwaGVuZS5RdWF0ZXJu aW9uIGIsIGZsb2F0IGZhY3Rvcik7CisrCQlwdWJsaWMgdm9pZCB0b19hbmdsZV92ZWMzIChvdXQg ZmxvYXQgYW5nbGUsIG91dCBHcmFwaGVuZS5WZWMzIGF4aXMpOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMiIpXQorKwkJcHVibGljIHZvaWQgdG9fYW5nbGVzIChvdXQgZmxvYXQgZGVnX3gsIG91 dCBmbG9hdCBkZWdfeSwgb3V0IGZsb2F0IGRlZ196KTsKKysJCXB1YmxpYyBHcmFwaGVuZS5NYXRy aXggdG9fbWF0cml4ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGlj IHZvaWQgdG9fcmFkaWFucyAob3V0IGZsb2F0IHJhZF94LCBvdXQgZmxvYXQgcmFkX3ksIG91dCBm bG9hdCByYWRfeik7CisrCQlwdWJsaWMgR3JhcGhlbmUuVmVjNCB0b192ZWM0ICgpOworKwl9Cisr CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJncmFwaGVuZS1nb2JqZWN0LmgiLCBjbmFtZSA9 ICJncmFwaGVuZV9yYXlfdCIsIHR5cGVfaWQgPSAiZ3JhcGhlbmVfcmF5X2dldF90eXBlICgpIild CisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJcHVibGljIHN0cnVjdCBSYXkgeworKwkJ cHVibGljIGJvb2wgZXF1YWwgKEdyYXBoZW5lLlJheSBiKTsKKysJCXB1YmxpYyBHcmFwaGVuZS5Q b2ludDNEIGdldF9jbG9zZXN0X3BvaW50X3RvX3BvaW50IChHcmFwaGVuZS5Qb2ludDNEIHApOwor KwkJcHVibGljIEdyYXBoZW5lLlZlYzMgZ2V0X2RpcmVjdGlvbiAoKTsKKysJCXB1YmxpYyBmbG9h dCBnZXRfZGlzdGFuY2VfdG9fcGxhbmUgKEdyYXBoZW5lLlBsYW5lIHApOworKwkJcHVibGljIGZs b2F0IGdldF9kaXN0YW5jZV90b19wb2ludCAoR3JhcGhlbmUuUG9pbnQzRCBwKTsKKysJCXB1Ymxp YyBHcmFwaGVuZS5Qb2ludDNEIGdldF9vcmlnaW4gKCk7CisrCQlwdWJsaWMgR3JhcGhlbmUuUG9p bnQzRCBnZXRfcG9zaXRpb25fYXQgKGZsb2F0IHQpOworKwkJcHVibGljIHVub3duZWQgR3JhcGhl bmUuUmF5PyBpbml0IChHcmFwaGVuZS5Qb2ludDNEPyBvcmlnaW4sIEdyYXBoZW5lLlZlYzM/IGRp cmVjdGlvbik7CisrCQlwdWJsaWMgdW5vd25lZCBHcmFwaGVuZS5SYXk/IGluaXRfZnJvbV9yYXkg KEdyYXBoZW5lLlJheSBzcmMpOworKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuUmF5PyBpbml0 X2Zyb21fdmVjMyAoR3JhcGhlbmUuVmVjMz8gb3JpZ2luLCBHcmFwaGVuZS5WZWMzPyBkaXJlY3Rp b24pOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBHcmFwaGVuZS5S YXlJbnRlcnNlY3Rpb25LaW5kIGludGVyc2VjdF9ib3ggKEdyYXBoZW5lLkJveCBiLCBvdXQgZmxv YXQgdF9vdXQpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBHcmFw aGVuZS5SYXlJbnRlcnNlY3Rpb25LaW5kIGludGVyc2VjdF9zcGhlcmUgKEdyYXBoZW5lLlNwaGVy ZSBzLCBvdXQgZmxvYXQgdF9vdXQpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJ CXB1YmxpYyBHcmFwaGVuZS5SYXlJbnRlcnNlY3Rpb25LaW5kIGludGVyc2VjdF90cmlhbmdsZSAo R3JhcGhlbmUuVHJpYW5nbGUgdCwgb3V0IGZsb2F0IHRfb3V0KTsKKysJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEwIildCisrCQlwdWJsaWMgYm9vbCBpbnRlcnNlY3RzX2JveCAoR3JhcGhlbmUuQm94 IGIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBib29sIGludGVy c2VjdHNfc3BoZXJlIChHcmFwaGVuZS5TcGhlcmUgcyk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQorKwkJcHVibGljIGJvb2wgaW50ZXJzZWN0c190cmlhbmdsZSAoR3JhcGhlbmUuVHJp YW5nbGUgdCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImdyYXBoZW5lLWdv YmplY3QuaCIsIGNuYW1lID0gImdyYXBoZW5lX3JlY3RfdCIsIHR5cGVfaWQgPSAiZ3JhcGhlbmVf cmVjdF9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCXB1Ymxp YyBzdHJ1Y3QgUmVjdCB7CisrCQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQgb3JpZ2luOworKwkJcHVi bGljIEdyYXBoZW5lLlNpemUgc2l6ZTsKKysJCXB1YmxpYyBzdGF0aWMgR3JhcGhlbmUuUmVjdD8g YWxsb2MgKCk7CisrCQlwdWJsaWMgYm9vbCBjb250YWluc19wb2ludCAoR3JhcGhlbmUuUG9pbnQg cCk7CisrCQlwdWJsaWMgYm9vbCBjb250YWluc19yZWN0IChHcmFwaGVuZS5SZWN0IGIpOworKwkJ cHVibGljIGJvb2wgZXF1YWwgKEdyYXBoZW5lLlJlY3QgYik7CisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS40IildCisrCQlwdWJsaWMgR3JhcGhlbmUuUmVjdCBleHBhbmQgKEdyYXBoZW5lLlBvaW50 IHApOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRf YXJlYSAoKTsKKysJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludCBnZXRfYm90dG9tX2xlZnQgKCk7Cisr CQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQgZ2V0X2JvdHRvbV9yaWdodCAoKTsKKysJCXB1YmxpYyBH cmFwaGVuZS5Qb2ludCBnZXRfY2VudGVyICgpOworKwkJcHVibGljIGZsb2F0IGdldF9oZWlnaHQg KCk7CisrCQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQgZ2V0X3RvcF9sZWZ0ICgpOworKwkJcHVibGlj IEdyYXBoZW5lLlBvaW50IGdldF90b3BfcmlnaHQgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS40IildCisrCQlwdWJsaWMgdm9pZCBnZXRfdmVydGljZXMgKFtDQ29kZSAoYXJyYXlfbGVuZ3Ro ID0gZmFsc2UpXSByZWYgR3JhcGhlbmUuVmVjMiB2ZXJ0aWNlc1s0XSk7CisrCQlwdWJsaWMgZmxv YXQgZ2V0X3dpZHRoICgpOworKwkJcHVibGljIGZsb2F0IGdldF94ICgpOworKwkJcHVibGljIGZs b2F0IGdldF95ICgpOworKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuUmVjdD8gaW5pdCAoZmxv YXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCk7CisrCQlwdWJsaWMgdW5v d25lZCBHcmFwaGVuZS5SZWN0PyBpbml0X2Zyb21fcmVjdCAoR3JhcGhlbmUuUmVjdCBzcmMpOwor KwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuUmVjdD8gaW5zZXQgKGZsb2F0IGRfeCwgZmxvYXQg ZF95KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyBHcmFwaGVuZS5S ZWN0IGluc2V0X3IgKGZsb2F0IGRfeCwgZmxvYXQgZF95KTsKKysJCXB1YmxpYyBHcmFwaGVuZS5S ZWN0IGludGVycG9sYXRlIChHcmFwaGVuZS5SZWN0IGIsIGRvdWJsZSBmYWN0b3IpOworKwkJcHVi bGljIGJvb2wgaW50ZXJzZWN0aW9uIChHcmFwaGVuZS5SZWN0IGIsIG91dCBHcmFwaGVuZS5SZWN0 IHJlcyk7CisrCQlwdWJsaWMgdW5vd25lZCBHcmFwaGVuZS5SZWN0PyBub3JtYWxpemUgKCk7Cisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgR3JhcGhlbmUuUmVjdCBub3Jt YWxpemVfciAoKTsKKysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5lLlJlY3Q/IG9mZnNldCAoZmxv YXQgZF94LCBmbG9hdCBkX3kpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwkJcHVi bGljIEdyYXBoZW5lLlJlY3Qgb2Zmc2V0X3IgKGZsb2F0IGRfeCwgZmxvYXQgZF95KTsKKysJCVtW ZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEwIiwgc2lu Y2UgPSAiMS40IildCisrCQlwdWJsaWMgR3JhcGhlbmUuUmVjdCByb3VuZCAoKTsKKysJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgR3JhcGhlbmUuUmVjdCByb3VuZF9leHRl bnRzICgpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNl ID0gIjEuNCIsIHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuUmVj dD8gcm91bmRfdG9fcGl4ZWwgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJ cHVibGljIEdyYXBoZW5lLlJlY3Qgc2NhbGUgKGZsb2F0IHNfaCwgZmxvYXQgc192KTsKKysJCXB1 YmxpYyBHcmFwaGVuZS5SZWN0IHVuaW9uIChHcmFwaGVuZS5SZWN0IGIpOworKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIEdyYXBoZW5lLlJlY3Q/ IHplcm8gKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImdyYXBoZW5lLWdv YmplY3QuaCIsIGNuYW1lID0gImdyYXBoZW5lX3NpbWQ0Zl90IiwgaGFzX3R5cGVfaWQgPSBmYWxz ZSldCisrCXB1YmxpYyBzdHJ1Y3QgU2ltZDRGIHsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiZ3JhcGhlbmUtZ29iamVjdC5oIiwgY25hbWUgPSAiZ3JhcGhlbmVfc2ltZDR4NGZf dCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQorKwlwdWJsaWMgc3RydWN0IFNpbWQ0WDRGIHsKKysJ fQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiZ3JhcGhlbmUtZ29iamVjdC5oIiwgY25h bWUgPSAiZ3JhcGhlbmVfc2l6ZV90IiwgdHlwZV9pZCA9ICJncmFwaGVuZV9zaXplX2dldF90eXBl ICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJcHVibGljIHN0cnVjdCBTaXpl IHsKKysJCXB1YmxpYyBmbG9hdCB3aWR0aDsKKysJCXB1YmxpYyBmbG9hdCBoZWlnaHQ7CisrCQlw dWJsaWMgYm9vbCBlcXVhbCAoR3JhcGhlbmUuU2l6ZSBiKTsKKysJCXB1YmxpYyB1bm93bmVkIEdy YXBoZW5lLlNpemU/IGluaXQgKGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQpOworKwkJcHVibGlj IHVub3duZWQgR3JhcGhlbmUuU2l6ZT8gaW5pdF9mcm9tX3NpemUgKEdyYXBoZW5lLlNpemUgc3Jj KTsKKysJCXB1YmxpYyBHcmFwaGVuZS5TaXplIGludGVycG9sYXRlIChHcmFwaGVuZS5TaXplIGIs IGRvdWJsZSBmYWN0b3IpOworKwkJcHVibGljIEdyYXBoZW5lLlNpemUgc2NhbGUgKGZsb2F0IGZh Y3Rvcik7CisrCQlwdWJsaWMgc3RhdGljIHVub3duZWQgR3JhcGhlbmUuU2l6ZT8gemVybyAoKTsK KysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiZ3JhcGhlbmUtZ29iamVjdC5oIiwg Y25hbWUgPSAiZ3JhcGhlbmVfc3BoZXJlX3QiLCB0eXBlX2lkID0gImdyYXBoZW5lX3NwaGVyZV9n ZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCXB1YmxpYyBzdHJ1 Y3QgU3BoZXJlIHsKKysJCXB1YmxpYyBib29sIGNvbnRhaW5zX3BvaW50IChHcmFwaGVuZS5Qb2lu dDNEIHBvaW50KTsKKysJCXB1YmxpYyBmbG9hdCBkaXN0YW5jZSAoR3JhcGhlbmUuUG9pbnQzRCBw b2ludCk7CisrCQlwdWJsaWMgYm9vbCBlcXVhbCAoR3JhcGhlbmUuU3BoZXJlIGIpOworKwkJcHVi bGljIEdyYXBoZW5lLkJveCBnZXRfYm91bmRpbmdfYm94ICgpOworKwkJcHVibGljIEdyYXBoZW5l LlBvaW50M0QgZ2V0X2NlbnRlciAoKTsKKysJCXB1YmxpYyBmbG9hdCBnZXRfcmFkaXVzICgpOwor KwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuU3BoZXJlPyBpbml0IChHcmFwaGVuZS5Qb2ludDNE PyBjZW50ZXIsIGZsb2F0IHJhZGl1cyk7CisrCQlwdWJsaWMgdW5vd25lZCBHcmFwaGVuZS5TcGhl cmU/IGluaXRfZnJvbV9wb2ludHMgKFtDQ29kZSAoYXJyYXlfbGVuZ3RoX2NuYW1lID0gIm5fcG9p bnRzIiwgYXJyYXlfbGVuZ3RoX3BvcyA9IDAuNSwgYXJyYXlfbGVuZ3RoX3R5cGUgPSAiZ3VpbnQi KV0gR3JhcGhlbmUuUG9pbnQzRFtdIHBvaW50cywgR3JhcGhlbmUuUG9pbnQzRD8gY2VudGVyKTsK KysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5lLlNwaGVyZT8gaW5pdF9mcm9tX3ZlY3RvcnMgKFtD Q29kZSAoYXJyYXlfbGVuZ3RoX2NuYW1lID0gIm5fdmVjdG9ycyIsIGFycmF5X2xlbmd0aF9wb3Mg PSAwLjUsIGFycmF5X2xlbmd0aF90eXBlID0gImd1aW50IildIEdyYXBoZW5lLlZlYzNbXSB2ZWN0 b3JzLCBHcmFwaGVuZS5Qb2ludDNEPyBjZW50ZXIpOworKwkJcHVibGljIGJvb2wgaXNfZW1wdHkg KCk7CisrCQlwdWJsaWMgR3JhcGhlbmUuU3BoZXJlIHRyYW5zbGF0ZSAoR3JhcGhlbmUuUG9pbnQz RCBwb2ludCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImdyYXBoZW5lLWdv YmplY3QuaCIsIGNuYW1lID0gImdyYXBoZW5lX3RyaWFuZ2xlX3QiLCB0eXBlX2lkID0gImdyYXBo ZW5lX3RyaWFuZ2xlX2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0K KysJcHVibGljIHN0cnVjdCBUcmlhbmdsZSB7CisrCQlwdWJsaWMgYm9vbCBjb250YWluc19wb2lu dCAoR3JhcGhlbmUuUG9pbnQzRCBwKTsKKysJCXB1YmxpYyBib29sIGVxdWFsIChHcmFwaGVuZS5U cmlhbmdsZSBiKTsKKysJCXB1YmxpYyBmbG9hdCBnZXRfYXJlYSAoKTsKKysJCXB1YmxpYyBib29s IGdldF9iYXJ5Y29vcmRzIChHcmFwaGVuZS5Qb2ludDNEPyBwLCBvdXQgR3JhcGhlbmUuVmVjMiBy ZXMpOworKwkJcHVibGljIEdyYXBoZW5lLkJveCBnZXRfYm91bmRpbmdfYm94ICgpOworKwkJcHVi bGljIEdyYXBoZW5lLlBvaW50M0QgZ2V0X21pZHBvaW50ICgpOworKwkJcHVibGljIEdyYXBoZW5l LlZlYzMgZ2V0X25vcm1hbCAoKTsKKysJCXB1YmxpYyBHcmFwaGVuZS5QbGFuZSBnZXRfcGxhbmUg KCk7CisrCQlwdWJsaWMgdm9pZCBnZXRfcG9pbnRzIChvdXQgR3JhcGhlbmUuUG9pbnQzRCBhLCBv dXQgR3JhcGhlbmUuUG9pbnQzRCBiLCBvdXQgR3JhcGhlbmUuUG9pbnQzRCBjKTsKKysJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgYm9vbCBnZXRfdXYgKEdyYXBoZW5lLlBv aW50M0Q/IHAsIEdyYXBoZW5lLlZlYzIgdXZfYSwgR3JhcGhlbmUuVmVjMiB1dl9iLCBHcmFwaGVu ZS5WZWMyIHV2X2MsIG91dCBHcmFwaGVuZS5WZWMyIHJlcyk7CisrCQlwdWJsaWMgdm9pZCBnZXRf dmVydGljZXMgKG91dCBHcmFwaGVuZS5WZWMzIGEsIG91dCBHcmFwaGVuZS5WZWMzIGIsIG91dCBH cmFwaGVuZS5WZWMzIGMpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1Ymxp YyB1bm93bmVkIEdyYXBoZW5lLlRyaWFuZ2xlPyBpbml0X2Zyb21fZmxvYXQgKFtDQ29kZSAoYXJy YXlfbGVuZ3RoID0gZmFsc2UpXSBmbG9hdCBhWzNdLCBbQ0NvZGUgKGFycmF5X2xlbmd0aCA9IGZh bHNlKV0gZmxvYXQgYlszXSwgW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldIGZsb2F0IGNb M10pOworKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuVHJpYW5nbGU/IGluaXRfZnJvbV9wb2lu dDNkIChHcmFwaGVuZS5Qb2ludDNEPyBhLCBHcmFwaGVuZS5Qb2ludDNEPyBiLCBHcmFwaGVuZS5Q b2ludDNEPyBjKTsKKysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5lLlRyaWFuZ2xlPyBpbml0X2Zy b21fdmVjMyAoR3JhcGhlbmUuVmVjMz8gYSwgR3JhcGhlbmUuVmVjMz8gYiwgR3JhcGhlbmUuVmVj Mz8gYyk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImdyYXBoZW5lLWdvYmpl Y3QuaCIsIGNuYW1lID0gImdyYXBoZW5lX3ZlYzJfdCIsIHR5cGVfaWQgPSAiZ3JhcGhlbmVfdmVj Ml9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgc3RydWN0IFZlYzIgeworKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMCIpXQorKwkJcHVibGljIEdyYXBoZW5lLlZlYzIgYWRkIChHcmFwaGVuZS5WZWMy IGIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIEdyYXBoZW5lLlZl YzIgZGl2aWRlIChHcmFwaGVuZS5WZWMyIGIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIp XQorKwkJcHVibGljIGZsb2F0IGRvdCAoR3JhcGhlbmUuVmVjMiBiKTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjIiKV0KKysJCXB1YmxpYyBib29sIGVxdWFsIChHcmFwaGVuZS5WZWMyIHYyKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRfeCAoKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRfeSAoKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5l LlZlYzI/IGluaXQgKGZsb2F0IHgsIGZsb2F0IHkpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MCIpXQorKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuVmVjMj8gaW5pdF9mcm9tX2Zsb2F0IChb Q0NvZGUgKGFycmF5X2xlbmd0aCA9IGZhbHNlKV0gZmxvYXQgc3JjWzJdKTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5lLlZlYzI/IGluaXRf ZnJvbV92ZWMyIChHcmFwaGVuZS5WZWMyIHNyYyk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MCIpXQorKwkJcHVibGljIEdyYXBoZW5lLlZlYzIgaW50ZXJwb2xhdGUgKEdyYXBoZW5lLlZlYzIg djIsIGRvdWJsZSBmYWN0b3IpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVi bGljIGZsb2F0IGxlbmd0aCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1 YmxpYyBHcmFwaGVuZS5WZWMyIG1heCAoR3JhcGhlbmUuVmVjMiBiKTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBHcmFwaGVuZS5WZWMyIG1pbiAoR3JhcGhlbmUuVmVj MiBiKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBHcmFwaGVuZS5W ZWMyIG11bHRpcGx5IChHcmFwaGVuZS5WZWMyIGIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MiIpXQorKwkJcHVibGljIGJvb2wgbmVhciAoR3JhcGhlbmUuVmVjMiB2MiwgZmxvYXQgZXBzaWxv bik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgR3JhcGhlbmUuVmVj MiBuZWdhdGUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgR3Jh cGhlbmUuVmVjMiBub3JtYWxpemUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisr CQlwdWJsaWMgc3RhdGljIHVub3duZWQgR3JhcGhlbmUuVmVjMj8gb25lICgpOworKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIEdyYXBoZW5lLlZlYzIgc2NhbGUgKGZsb2F0 IGZhY3Rvcik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgR3JhcGhl bmUuVmVjMiBzdWJ0cmFjdCAoR3JhcGhlbmUuVmVjMiBiKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjAiKV0KKysJCXB1YmxpYyB2b2lkIHRvX2Zsb2F0IChbQ0NvZGUgKGFycmF5X2xlbmd0aCA9 IGZhbHNlKV0gcmVmIGZsb2F0IGRlc3RbMl0pOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIp XQorKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIEdyYXBoZW5lLlZlYzI/IHhfYXhpcyAoKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBHcmFw aGVuZS5WZWMyPyB5X2F4aXMgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlw dWJsaWMgc3RhdGljIHVub3duZWQgR3JhcGhlbmUuVmVjMj8gemVybyAoKTsKKysJfQorKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiZ3JhcGhlbmUtZ29iamVjdC5oIiwgY25hbWUgPSAiZ3Jh cGhlbmVfdmVjM190IiwgdHlwZV9pZCA9ICJncmFwaGVuZV92ZWMzX2dldF90eXBlICgpIildCisr CXB1YmxpYyBzdHJ1Y3QgVmVjMyB7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlw dWJsaWMgR3JhcGhlbmUuVmVjMyBhZGQgKEdyYXBoZW5lLlZlYzMgYik7CisrCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgR3JhcGhlbmUuVmVjMyBjcm9zcyAoR3JhcGhlbmUu VmVjMyBiKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBHcmFwaGVu ZS5WZWMzIGRpdmlkZSAoR3JhcGhlbmUuVmVjMyBiKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjAiKV0KKysJCXB1YmxpYyBmbG9hdCBkb3QgKEdyYXBoZW5lLlZlYzMgYik7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgYm9vbCBlcXVhbCAoR3JhcGhlbmUuVmVjMyB2 Mik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgZmxvYXQgZ2V0X3gg KCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgR3JhcGhlbmUuVmVj MiBnZXRfeHkgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgR3Jh cGhlbmUuVmVjMyBnZXRfeHkwICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJ cHVibGljIEdyYXBoZW5lLlZlYzQgZ2V0X3h5ejAgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4wIildCisrCQlwdWJsaWMgR3JhcGhlbmUuVmVjNCBnZXRfeHl6MSAoKTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBHcmFwaGVuZS5WZWM0IGdldF94eXp3IChmbG9h dCB3KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRf eSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRf eiAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB1bm93bmVkIEdy YXBoZW5lLlZlYzM/IGluaXQgKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHopOworKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuVmVjMz8gaW5p dF9mcm9tX2Zsb2F0IChbQ0NvZGUgKGFycmF5X2xlbmd0aCA9IGZhbHNlKV0gZmxvYXQgc3JjWzNd KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB1bm93bmVkIEdyYXBo ZW5lLlZlYzM/IGluaXRfZnJvbV92ZWMzIChHcmFwaGVuZS5WZWMzIHNyYyk7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIEdyYXBoZW5lLlZlYzMgaW50ZXJwb2xhdGUg KEdyYXBoZW5lLlZlYzMgdjIsIGRvdWJsZSBmYWN0b3IpOworKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMCIpXQorKwkJcHVibGljIGZsb2F0IGxlbmd0aCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjAiKV0KKysJCXB1YmxpYyBHcmFwaGVuZS5WZWMzIG1heCAoR3JhcGhlbmUuVmVjMyBiKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBHcmFwaGVuZS5WZWMzIG1p biAoR3JhcGhlbmUuVmVjMyBiKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1 YmxpYyBHcmFwaGVuZS5WZWMzIG11bHRpcGx5IChHcmFwaGVuZS5WZWMzIGIpOworKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIGJvb2wgbmVhciAoR3JhcGhlbmUuVmVjMyB2 MiwgZmxvYXQgZXBzaWxvbik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJs aWMgR3JhcGhlbmUuVmVjMyBuZWdhdGUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIild CisrCQlwdWJsaWMgR3JhcGhlbmUuVmVjMyBub3JtYWxpemUgKCk7CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4wIildCisrCQlwdWJsaWMgc3RhdGljIHVub3duZWQgR3JhcGhlbmUuVmVjMz8gb25l ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIEdyYXBoZW5lLlZl YzMgc2NhbGUgKGZsb2F0IGZhY3Rvcik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisr CQlwdWJsaWMgR3JhcGhlbmUuVmVjMyBzdWJ0cmFjdCAoR3JhcGhlbmUuVmVjMyBiKTsKKysJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB2b2lkIHRvX2Zsb2F0IChbQ0NvZGUg KGFycmF5X2xlbmd0aCA9IGZhbHNlKV0gcmVmIGZsb2F0IGRlc3RbM10pOworKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIEdyYXBoZW5lLlZlYzM/ IHhfYXhpcyAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBzdGF0 aWMgdW5vd25lZCBHcmFwaGVuZS5WZWMzPyB5X2F4aXMgKCk7CisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4wIildCisrCQlwdWJsaWMgc3RhdGljIHVub3duZWQgR3JhcGhlbmUuVmVjMz8gel9heGlz ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHN0YXRpYyB1bm93 bmVkIEdyYXBoZW5lLlZlYzM/IHplcm8gKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImdyYXBoZW5lLWdvYmplY3QuaCIsIGNuYW1lID0gImdyYXBoZW5lX3ZlYzRfdCIsIHR5 cGVfaWQgPSAiZ3JhcGhlbmVfdmVjNF9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgc3RydWN0IFZl YzQgeworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIEdyYXBoZW5lLlZl YzQgYWRkIChHcmFwaGVuZS5WZWM0IGIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQor KwkJcHVibGljIEdyYXBoZW5lLlZlYzQgZGl2aWRlIChHcmFwaGVuZS5WZWM0IGIpOworKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIGZsb2F0IGRvdCAoR3JhcGhlbmUuVmVj NCBiKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KKysJCXB1YmxpYyBib29sIGVxdWFs IChHcmFwaGVuZS5WZWM0IHYyKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1 YmxpYyBmbG9hdCBnZXRfdyAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1 YmxpYyBmbG9hdCBnZXRfeCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1 YmxpYyBHcmFwaGVuZS5WZWMyIGdldF94eSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAi KV0KKysJCXB1YmxpYyBHcmFwaGVuZS5WZWMzIGdldF94eXogKCk7CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4wIildCisrCQlwdWJsaWMgZmxvYXQgZ2V0X3kgKCk7CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4wIildCisrCQlwdWJsaWMgZmxvYXQgZ2V0X3ogKCk7CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4wIildCisrCQlwdWJsaWMgdW5vd25lZCBHcmFwaGVuZS5WZWM0PyBpbml0IChmbG9h dCB4LCBmbG9hdCB5LCBmbG9hdCB6LCBmbG9hdCB3KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjAiKV0KKysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5lLlZlYzQ/IGluaXRfZnJvbV9mbG9hdCAo W0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldIGZsb2F0IHNyY1s0XSk7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgdW5vd25lZCBHcmFwaGVuZS5WZWM0PyBpbml0 X2Zyb21fdmVjMiAoR3JhcGhlbmUuVmVjMiBzcmMsIGZsb2F0IHosIGZsb2F0IHcpOworKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHVub3duZWQgR3JhcGhlbmUuVmVjND8g aW5pdF9mcm9tX3ZlYzMgKEdyYXBoZW5lLlZlYzMgc3JjLCBmbG9hdCB3KTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB1bm93bmVkIEdyYXBoZW5lLlZlYzQ/IGluaXRf ZnJvbV92ZWM0IChHcmFwaGVuZS5WZWM0IHNyYyk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MCIpXQorKwkJcHVibGljIEdyYXBoZW5lLlZlYzQgaW50ZXJwb2xhdGUgKEdyYXBoZW5lLlZlYzQg djIsIGRvdWJsZSBmYWN0b3IpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVi bGljIGZsb2F0IGxlbmd0aCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1 YmxpYyBHcmFwaGVuZS5WZWM0IG1heCAoR3JhcGhlbmUuVmVjNCBiKTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBHcmFwaGVuZS5WZWM0IG1pbiAoR3JhcGhlbmUuVmVj NCBiKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBHcmFwaGVuZS5W ZWM0IG11bHRpcGx5IChHcmFwaGVuZS5WZWM0IGIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MiIpXQorKwkJcHVibGljIGJvb2wgbmVhciAoR3JhcGhlbmUuVmVjNCB2MiwgZmxvYXQgZXBzaWxv bik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgR3JhcGhlbmUuVmVj NCBuZWdhdGUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgR3Jh cGhlbmUuVmVjNCBub3JtYWxpemUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisr CQlwdWJsaWMgc3RhdGljIHVub3duZWQgR3JhcGhlbmUuVmVjND8gb25lICgpOworKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIEdyYXBoZW5lLlZlYzQgc2NhbGUgKGZsb2F0 IGZhY3Rvcik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgR3JhcGhl bmUuVmVjNCBzdWJ0cmFjdCAoR3JhcGhlbmUuVmVjNCBiKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjAiKV0KKysJCXB1YmxpYyB2b2lkIHRvX2Zsb2F0IChbQ0NvZGUgKGFycmF5X2xlbmd0aCA9 IGZhbHNlKV0gcmVmIGZsb2F0IGRlc3RbNF0pOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIp XQorKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIEdyYXBoZW5lLlZlYzQ/IHdfYXhpcyAoKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBHcmFw aGVuZS5WZWM0PyB4X2F4aXMgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlw dWJsaWMgc3RhdGljIHVub3duZWQgR3JhcGhlbmUuVmVjND8geV9heGlzICgpOworKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIEdyYXBoZW5lLlZl YzQ/IHpfYXhpcyAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBz dGF0aWMgdW5vd25lZCBHcmFwaGVuZS5WZWM0PyB6ZXJvICgpOworKwl9CisrCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJncmFwaGVuZS1nb2JqZWN0LmgiLCBjbmFtZSA9ICJncmFwaGVuZV9l dWxlcl9vcmRlcl90IiwgY3ByZWZpeCA9ICJHUkFQSEVORV9FVUxFUl9PUkRFUl8iLCBoYXNfdHlw ZV9pZCA9IGZhbHNlKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQorKwlwdWJsaWMgZW51 bSBFdWxlck9yZGVyIHsKKysJCURFRkFVTFQsCisrCQlYWVosCisrCQlZWlgsCisrCQlaWFksCisr CQlYWlksCisrCQlZWFosCisrCQlaWVgsCisrCQlTWFlaLAorKwkJU1hZWCwKKysJCVNYWlksCisr CQlTWFpYLAorKwkJU1laWCwKKysJCVNZWlksCisrCQlTWVhaLAorKwkJU1lYWSwKKysJCVNaWFks CisrCQlTWlhaLAorKwkJU1pZWCwKKysJCVNaWVosCisrCQlSWllYLAorKwkJUlhZWCwKKysJCVJZ WlgsCisrCQlSWFpYLAorKwkJUlhaWSwKKysJCVJZWlksCisrCQlSWlhZLAorKwkJUllYWSwKKysJ CVJZWFosCisrCQlSWlhaLAorKwkJUlhZWiwKKysJCVJaWVoKKysJfQorKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiZ3JhcGhlbmUtZ29iamVjdC5oIiwgY25hbWUgPSAiZ3JhcGhlbmVfcmF5 X2ludGVyc2VjdGlvbl9raW5kX3QiLCBjcHJlZml4ID0gIkdSQVBIRU5FX1JBWV9JTlRFUlNFQ1RJ T05fS0lORF8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTAiKV0KKysJcHVibGljIGVudW0gUmF5SW50ZXJzZWN0aW9uS2luZCB7CisrCQlOT05FLAorKwkJ RU5URVIsCisrCQlMRUFWRQorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJncmFw aGVuZS1nb2JqZWN0LmgiLCBjbmFtZSA9ICJHUkFQSEVORV9IQVNfR0NDIildCisrCXB1YmxpYyBj b25zdCBpbnQgSEFTX0dDQzsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImdyYXBoZW5l LWdvYmplY3QuaCIsIGNuYW1lID0gIkdSQVBIRU5FX0hBU19TQ0FMQVIiKV0KKysJcHVibGljIGNv bnN0IGludCBIQVNfU0NBTEFSOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiZ3JhcGhl bmUtZ29iamVjdC5oIiwgY25hbWUgPSAiR1JBUEhFTkVfSEFTX1NTRSIpXQorKwlwdWJsaWMgY29u c3QgaW50IEhBU19TU0U7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJncmFwaGVuZS1n b2JqZWN0LmgiLCBjbmFtZSA9ICJHUkFQSEVORV9QSSIpXQorKwlwdWJsaWMgY29uc3QgZG91Ymxl IFBJOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiZ3JhcGhlbmUtZ29iamVjdC5oIiwg Y25hbWUgPSAiR1JBUEhFTkVfUElfMiIpXQorKwlwdWJsaWMgY29uc3QgZG91YmxlIFBJXzI7Cisr CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJncmFwaGVuZS1nb2JqZWN0LmgiLCBjbmFtZSA9 ICJHUkFQSEVORV9TSU1EX1MiKV0KKysJcHVibGljIGNvbnN0IHN0cmluZyBTSU1EX1M7CisrCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJncmFwaGVuZS1nb2JqZWN0LmgiLCBjbmFtZSA9ICJH UkFQSEVORV9WRUMyX0xFTiIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCXB1Ymxp YyBjb25zdCBpbnQgVkVDMl9MRU47CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJncmFw aGVuZS1nb2JqZWN0LmgiLCBjbmFtZSA9ICJHUkFQSEVORV9WRUMzX0xFTiIpXQorKwlbVmVyc2lv biAoc2luY2UgPSAiMS4wIildCisrCXB1YmxpYyBjb25zdCBpbnQgVkVDM19MRU47CisrCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJncmFwaGVuZS1nb2JqZWN0LmgiLCBjbmFtZSA9ICJHUkFQ SEVORV9WRUM0X0xFTiIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCXB1YmxpYyBj b25zdCBpbnQgVkVDNF9MRU47CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJncmFwaGVu ZS1nb2JqZWN0LmgiLCBjbmFtZSA9ICJmYWxzZSIpXQorKwlwdWJsaWMgY29uc3QgaW50IEBmYWxz ZTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImdyYXBoZW5lLWdvYmplY3QuaCIsIGNu YW1lID0gInRydWUiKV0KKysJcHVibGljIGNvbnN0IGludCBAdHJ1ZTsKKyt9CitkaWZmIC0tZ2l0 IGEvdmFwaS9saWJtdXR0ZXItNi5kZXBzIGIvdmFwaS9saWJtdXR0ZXItNi5kZXBzCituZXcgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAuLjIyMzUyNWU0CistLS0gL2Rldi9udWxsCisr KysgYi92YXBpL2xpYm11dHRlci02LmRlcHMKK0BAIC0wLDAgKzEsNiBAQAorK2d0aystMy4wCisr anNvbi1nbGliLTEuMAorK211dHRlci1jbHV0dGVyLTYKKyt4MTEKKyt4Zml4ZXMtNC4wCisrZ3Jh cGhlbmUtZ29iamVjdC0xLjAKK2RpZmYgLS1naXQgYS92YXBpL2xpYm11dHRlci02LnZhcGkgYi92 YXBpL2xpYm11dHRlci02LnZhcGkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MC4uMzFmNDgwMWMKKy0tLSAvZGV2L251bGwKKysrKyBiL3ZhcGkvbGlibXV0dGVyLTYudmFwaQor QEAgLTAsMCArMSwxNDc1IEBACisrLyogbGlibXV0dGVyLTYudmFwaSBnZW5lcmF0ZWQgYnkgdmFw aWdlbiwgZG8gbm90IG1vZGlmeS4gKi8KKysKKytbQ0NvZGUgKGNwcmVmaXggPSAiTWV0YSIsIGdp cl9uYW1lc3BhY2UgPSAiTWV0YSIsIGdpcl92ZXJzaW9uID0gIjYiLCBsb3dlcl9jYXNlX2NwcmVm aXggPSAibWV0YV8iKV0KKytuYW1lc3BhY2UgTWV0YSB7CisrCW5hbWVzcGFjZSBDb21wb3NpdG9y IHsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL2NvbXBvc2l0b3ItbXV0dGVy LmgiLCBjbmFtZSA9ICJtZXRhX2Rpc2FibGVfdW5yZWRpcmVjdF9mb3JfZGlzcGxheSIpXQorKwkJ cHVibGljIHN0YXRpYyB2b2lkIGRpc2FibGVfdW5yZWRpcmVjdF9mb3JfZGlzcGxheSAoTWV0YS5E aXNwbGF5IGRpc3BsYXkpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvY29t cG9zaXRvci1tdXR0ZXIuaCIsIGNuYW1lID0gIm1ldGFfZW5hYmxlX3VucmVkaXJlY3RfZm9yX2Rp c3BsYXkiKV0KKysJCXB1YmxpYyBzdGF0aWMgdm9pZCBlbmFibGVfdW5yZWRpcmVjdF9mb3JfZGlz cGxheSAoTWV0YS5EaXNwbGF5IGRpc3BsYXkpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gIm1ldGEvY29tcG9zaXRvci1tdXR0ZXIuaCIsIGNuYW1lID0gIm1ldGFfZm9jdXNfc3RhZ2Vf d2luZG93IildCisrCQlwdWJsaWMgc3RhdGljIHZvaWQgZm9jdXNfc3RhZ2Vfd2luZG93IChNZXRh LkRpc3BsYXkgZGlzcGxheSwgdWludDMyIHRpbWVzdGFtcCk7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9jb21wb3NpdG9yLW11dHRlci5oIiwgY25hbWUgPSAibWV0YV9nZXRf ZmVlZGJhY2tfZ3JvdXBfZm9yX2Rpc3BsYXkiKV0KKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBD bHV0dGVyLkFjdG9yIGdldF9mZWVkYmFja19ncm91cF9mb3JfZGlzcGxheSAoTWV0YS5EaXNwbGF5 IGRpc3BsYXkpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvY29tcG9zaXRv ci1tdXR0ZXIuaCIsIGNuYW1lID0gIm1ldGFfZ2V0X3N0YWdlX2Zvcl9kaXNwbGF5IildCisrCQlw dWJsaWMgc3RhdGljIHVub3duZWQgQ2x1dHRlci5BY3RvciBnZXRfc3RhZ2VfZm9yX2Rpc3BsYXkg KE1ldGEuRGlzcGxheSBkaXNwbGF5KTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJt ZXRhL2NvbXBvc2l0b3ItbXV0dGVyLmgiLCBjbmFtZSA9ICJtZXRhX2dldF90b3Bfd2luZG93X2dy b3VwX2Zvcl9kaXNwbGF5IildCisrCQlwdWJsaWMgc3RhdGljIHVub3duZWQgQ2x1dHRlci5BY3Rv ciBnZXRfdG9wX3dpbmRvd19ncm91cF9mb3JfZGlzcGxheSAoTWV0YS5EaXNwbGF5IGRpc3BsYXkp OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvY29tcG9zaXRvci1tdXR0ZXIu aCIsIGNuYW1lID0gIm1ldGFfZ2V0X3dpbmRvd19hY3RvcnMiKV0KKysJCXB1YmxpYyBzdGF0aWMg dW5vd25lZCBHTGliLkxpc3Q8Q2x1dHRlci5BY3Rvcj4gZ2V0X3dpbmRvd19hY3RvcnMgKE1ldGEu RGlzcGxheSBkaXNwbGF5KTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL2Nv bXBvc2l0b3ItbXV0dGVyLmgiLCBjbmFtZSA9ICJtZXRhX2dldF93aW5kb3dfZ3JvdXBfZm9yX2Rp c3BsYXkiKV0KKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF93aW5k b3dfZ3JvdXBfZm9yX2Rpc3BsYXkgKE1ldGEuRGlzcGxheSBkaXNwbGF5KTsKKysJfQorKwluYW1l c3BhY2UgUHJlZnMgeworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMu aCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfYmVsbF9pc19hdWRpYmxlIildCisrCQlwdWJsaWMgc3Rh dGljIGJvb2wgcHJlZnNfYmVsbF9pc19hdWRpYmxlICgpOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfY2hhbmdlX3dvcmtz cGFjZV9uYW1lIildCisrCQlwdWJsaWMgc3RhdGljIHZvaWQgcHJlZnNfY2hhbmdlX3dvcmtzcGFj ZV9uYW1lIChpbnQgaSwgc3RyaW5nIG5hbWUpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X2FjdGlvbl9kb3VibGVf Y2xpY2tfdGl0bGViYXIiKV0KKysJCXB1YmxpYyBzdGF0aWMgR0Rlc2t0b3AuVGl0bGViYXJBY3Rp b24gcHJlZnNfZ2V0X2FjdGlvbl9kb3VibGVfY2xpY2tfdGl0bGViYXIgKCk7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19n ZXRfYWN0aW9uX21pZGRsZV9jbGlja190aXRsZWJhciIpXQorKwkJcHVibGljIHN0YXRpYyBHRGVz a3RvcC5UaXRsZWJhckFjdGlvbiBwcmVmc19nZXRfYWN0aW9uX21pZGRsZV9jbGlja190aXRsZWJh ciAoKTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFt ZSA9ICJtZXRhX3ByZWZzX2dldF9hY3Rpb25fcmlnaHRfY2xpY2tfdGl0bGViYXIiKV0KKysJCXB1 YmxpYyBzdGF0aWMgR0Rlc2t0b3AuVGl0bGViYXJBY3Rpb24gcHJlZnNfZ2V0X2FjdGlvbl9yaWdo dF9jbGlja190aXRsZWJhciAoKTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRh L3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9hdHRhY2hfbW9kYWxfZGlhbG9ncyIp XQorKwkJcHVibGljIHN0YXRpYyBib29sIHByZWZzX2dldF9hdHRhY2hfbW9kYWxfZGlhbG9ncyAo KTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9 ICJtZXRhX3ByZWZzX2dldF9hdXRvX21heGltaXplIildCisrCQlwdWJsaWMgc3RhdGljIGJvb2wg cHJlZnNfZ2V0X2F1dG9fbWF4aW1pemUgKCk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfYXV0b19yYWlzZSIpXQor KwkJcHVibGljIHN0YXRpYyBib29sIHByZWZzX2dldF9hdXRvX3JhaXNlICgpOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNf Z2V0X2F1dG9fcmFpc2VfZGVsYXkiKV0KKysJCXB1YmxpYyBzdGF0aWMgaW50IHByZWZzX2dldF9h dXRvX3JhaXNlX2RlbGF5ICgpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEv cHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X2J1dHRvbl9sYXlvdXQiKV0KKysJCXB1 YmxpYyBzdGF0aWMgTWV0YS5CdXR0b25MYXlvdXQgcHJlZnNfZ2V0X2J1dHRvbl9sYXlvdXQgKCk7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAi bWV0YV9wcmVmc19nZXRfY2VudGVyX25ld193aW5kb3dzIildCisrCQlwdWJsaWMgc3RhdGljIGJv b2wgcHJlZnNfZ2V0X2NlbnRlcl9uZXdfd2luZG93cyAoKTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9jb21wb3Np dGluZ19tYW5hZ2VyIildCisrCQlwdWJsaWMgc3RhdGljIGJvb2wgcHJlZnNfZ2V0X2NvbXBvc2l0 aW5nX21hbmFnZXIgKCk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVm cy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfY3Vyc29yX3NpemUiKV0KKysJCXB1YmxpYyBz dGF0aWMgaW50IHByZWZzX2dldF9jdXJzb3Jfc2l6ZSAoKTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9jdXJzb3Jf dGhlbWUiKV0KKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBzdHJpbmcgcHJlZnNfZ2V0X2N1cnNv cl90aGVtZSAoKTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgi LCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9kaXNhYmxlX3dvcmthcm91bmRzIildCisrCQlwdWJs aWMgc3RhdGljIGJvb2wgcHJlZnNfZ2V0X2Rpc2FibGVfd29ya2Fyb3VuZHMgKCk7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVm c19nZXRfZHJhZ190aHJlc2hvbGQiKV0KKysJCXB1YmxpYyBzdGF0aWMgaW50IHByZWZzX2dldF9k cmFnX3RocmVzaG9sZCAoKTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3By ZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9kcmFnZ2FibGVfYm9yZGVyX3dpZHRoIild CisrCQlwdWJsaWMgc3RhdGljIGludCBwcmVmc19nZXRfZHJhZ2dhYmxlX2JvcmRlcl93aWR0aCAo KTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9 ICJtZXRhX3ByZWZzX2dldF9keW5hbWljX3dvcmtzcGFjZXMiKV0KKysJCXB1YmxpYyBzdGF0aWMg Ym9vbCBwcmVmc19nZXRfZHluYW1pY193b3Jrc3BhY2VzICgpOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X2VkZ2Vf dGlsaW5nIildCisrCQlwdWJsaWMgc3RhdGljIGJvb2wgcHJlZnNfZ2V0X2VkZ2VfdGlsaW5nICgp OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0g Im1ldGFfcHJlZnNfZ2V0X2ZvY3VzX2NoYW5nZV9vbl9wb2ludGVyX3Jlc3QiKV0KKysJCXB1Ymxp YyBzdGF0aWMgYm9vbCBwcmVmc19nZXRfZm9jdXNfY2hhbmdlX29uX3BvaW50ZXJfcmVzdCAoKTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJt ZXRhX3ByZWZzX2dldF9mb2N1c19tb2RlIildCisrCQlwdWJsaWMgc3RhdGljIEdEZXNrdG9wLkZv Y3VzTW9kZSBwcmVmc19nZXRfZm9jdXNfbW9kZSAoKTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9mb2N1c19uZXdf d2luZG93cyIpXQorKwkJcHVibGljIHN0YXRpYyBHRGVza3RvcC5Gb2N1c05ld1dpbmRvd3MgcHJl ZnNfZ2V0X2ZvY3VzX25ld193aW5kb3dzICgpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X2ZvcmNlX2Z1bGxzY3Jl ZW4iKV0KKysJCXB1YmxpYyBzdGF0aWMgYm9vbCBwcmVmc19nZXRfZm9yY2VfZnVsbHNjcmVlbiAo KTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9 ICJtZXRhX3ByZWZzX2dldF9nbm9tZV9hY2Nlc3NpYmlsaXR5IildCisrCQlwdWJsaWMgc3RhdGlj IGJvb2wgcHJlZnNfZ2V0X2dub21lX2FjY2Vzc2liaWxpdHkgKCk7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfZ25v bWVfYW5pbWF0aW9ucyIpXQorKwkJcHVibGljIHN0YXRpYyBib29sIHByZWZzX2dldF9nbm9tZV9h bmltYXRpb25zICgpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMu aCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X2tleWJpbmRpbmdfYWN0aW9uIildCisrCQlwdWJs aWMgc3RhdGljIE1ldGEuS2V5QmluZGluZ0FjdGlvbiBwcmVmc19nZXRfa2V5YmluZGluZ19hY3Rp b24gKHN0cmluZyBuYW1lKTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3By ZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9tb3VzZV9idXR0b25fbWVudSIpXQorKwkJ cHVibGljIHN0YXRpYyBpbnQgcHJlZnNfZ2V0X21vdXNlX2J1dHRvbl9tZW51ICgpOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJl ZnNfZ2V0X21vdXNlX2J1dHRvbl9tb2RzIildCisrCQlwdWJsaWMgc3RhdGljIE1ldGEuVmlydHVh bE1vZGlmaWVyIHByZWZzX2dldF9tb3VzZV9idXR0b25fbW9kcyAoKTsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9t b3VzZV9idXR0b25fcmVzaXplIildCisrCQlwdWJsaWMgc3RhdGljIGludCBwcmVmc19nZXRfbW91 c2VfYnV0dG9uX3Jlc2l6ZSAoKTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRh L3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9udW1fd29ya3NwYWNlcyIpXQorKwkJ cHVibGljIHN0YXRpYyBpbnQgcHJlZnNfZ2V0X251bV93b3Jrc3BhY2VzICgpOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNf Z2V0X3JhaXNlX29uX2NsaWNrIildCisrCQlwdWJsaWMgc3RhdGljIGJvb2wgcHJlZnNfZ2V0X3Jh aXNlX29uX2NsaWNrICgpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJl ZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X3Nob3dfZmFsbGJhY2tfYXBwX21lbnUiKV0K KysJCXB1YmxpYyBzdGF0aWMgYm9vbCBwcmVmc19nZXRfc2hvd19mYWxsYmFja19hcHBfbWVudSAo KTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9 ICJtZXRhX3ByZWZzX2dldF90aXRsZWJhcl9mb250IildCisrCQlwdWJsaWMgc3RhdGljIHVub3du ZWQgUGFuZ28uRm9udERlc2NyaXB0aW9uIHByZWZzX2dldF90aXRsZWJhcl9mb250ICgpOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFf cHJlZnNfZ2V0X3Zpc3VhbF9iZWxsIildCisrCQlwdWJsaWMgc3RhdGljIGJvb2wgcHJlZnNfZ2V0 X3Zpc3VhbF9iZWxsICgpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJl ZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X3Zpc3VhbF9iZWxsX3R5cGUiKV0KKysJCXB1 YmxpYyBzdGF0aWMgR0Rlc2t0b3AuVmlzdWFsQmVsbFR5cGUgcHJlZnNfZ2V0X3Zpc3VhbF9iZWxs X3R5cGUgKCk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwg Y25hbWUgPSAibWV0YV9wcmVmc19nZXRfd29ya3NwYWNlX25hbWUiKV0KKysJCXB1YmxpYyBzdGF0 aWMgdW5vd25lZCBzdHJpbmcgcHJlZnNfZ2V0X3dvcmtzcGFjZV9uYW1lIChpbnQgaSk7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9w cmVmc19nZXRfd29ya3NwYWNlc19vbmx5X29uX3ByaW1hcnkiKV0KKysJCXB1YmxpYyBzdGF0aWMg Ym9vbCBwcmVmc19nZXRfd29ya3NwYWNlc19vbmx5X29uX3ByaW1hcnkgKCk7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19p bml0IildCisrCQlwdWJsaWMgc3RhdGljIHZvaWQgcHJlZnNfaW5pdCAoKTsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX3Nl dF9mb3JjZV9mdWxsc2NyZWVuIildCisrCQlwdWJsaWMgc3RhdGljIHZvaWQgcHJlZnNfc2V0X2Zv cmNlX2Z1bGxzY3JlZW4gKGJvb2wgd2hldGhlcik7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19zZXRfbnVtX3dvcmtzcGFj ZXMiKV0KKysJCXB1YmxpYyBzdGF0aWMgdm9pZCBwcmVmc19zZXRfbnVtX3dvcmtzcGFjZXMgKGlu dCBuX3dvcmtzcGFjZXMpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJl ZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfc2V0X3Nob3dfZmFsbGJhY2tfYXBwX21lbnUiKV0K KysJCXB1YmxpYyBzdGF0aWMgdm9pZCBwcmVmc19zZXRfc2hvd19mYWxsYmFja19hcHBfbWVudSAo Ym9vbCB3aGV0aGVyKTsKKysJfQorKwluYW1lc3BhY2UgVXRpbCB7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9ICJtZXRhX2FkZF92ZXJib3NlX3Rv cGljIildCisrCQlwdWJsaWMgc3RhdGljIHZvaWQgYWRkX3ZlcmJvc2VfdG9waWMgKE1ldGEuRGVi dWdUb3BpYyB0b3BpYyk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS91dGls LmgiLCBjbmFtZSA9ICJtZXRhX2V4dGVybmFsX2JpbmRpbmdfbmFtZV9mb3JfYWN0aW9uIildCisr CQlwdWJsaWMgc3RhdGljIHN0cmluZyBleHRlcm5hbF9iaW5kaW5nX25hbWVfZm9yX2FjdGlvbiAo dWludCBrZXliaW5kaW5nX2FjdGlvbik7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi bWV0YS91dGlsLmgiLCBjbmFtZSA9ICJtZXRhX2dldF9sb2NhbGVfZGlyZWN0aW9uIildCisrCQlw dWJsaWMgc3RhdGljIE1ldGEuTG9jYWxlRGlyZWN0aW9uIGdldF9sb2NhbGVfZGlyZWN0aW9uICgp OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAi bWV0YV9ncmF2aXR5X3RvX3N0cmluZyIpXQorKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIHN0cmlu ZyBncmF2aXR5X3RvX3N0cmluZyAoaW50IGdyYXZpdHkpOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV9pc19kZWJ1Z2dpbmciKV0KKysJ CXB1YmxpYyBzdGF0aWMgYm9vbCBpc19kZWJ1Z2dpbmcgKCk7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9ICJtZXRhX2lzX3N5bmNpbmciKV0KKysJ CXB1YmxpYyBzdGF0aWMgYm9vbCBpc19zeW5jaW5nICgpOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV9pc192ZXJib3NlIildCisrCQlw dWJsaWMgc3RhdGljIGJvb2wgaXNfdmVyYm9zZSAoKTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL3V0aWwuaCIsIGNuYW1lID0gIm1ldGFfaXNfd2F5bGFuZF9jb21wb3NpdG9y IildCisrCQlwdWJsaWMgc3RhdGljIGJvb2wgaXNfd2F5bGFuZF9jb21wb3NpdG9yICgpOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV9s YXRlcl9hZGQiKV0KKysJCXB1YmxpYyBzdGF0aWMgdWludCBsYXRlcl9hZGQgKE1ldGEuTGF0ZXJU eXBlIHdoZW4sIG93bmVkIEdMaWIuU291cmNlRnVuYyBmdW5jKTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL3V0aWwuaCIsIGNuYW1lID0gIm1ldGFfbGF0ZXJfcmVtb3ZlIild CisrCQlwdWJsaWMgc3RhdGljIHZvaWQgbGF0ZXJfcmVtb3ZlICh1aW50IGxhdGVyX2lkKTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3V0aWwuaCIsIGNuYW1lID0gIm1ldGFf cG9wX25vX21zZ19wcmVmaXgiKV0KKysJCXB1YmxpYyBzdGF0aWMgdm9pZCBwb3Bfbm9fbXNnX3By ZWZpeCAoKTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3V0aWwuaCIsIGNu YW1lID0gIm1ldGFfcHVzaF9ub19tc2dfcHJlZml4IildCisrCQlwdWJsaWMgc3RhdGljIHZvaWQg cHVzaF9ub19tc2dfcHJlZml4ICgpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1l dGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV9yZWN0IildCisrCQlwdWJsaWMgc3RhdGljIE1ldGEu UmVjdGFuZ2xlPyByZWN0IChpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCk7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9ICJtZXRh X3JlbW92ZV92ZXJib3NlX3RvcGljIildCisrCQlwdWJsaWMgc3RhdGljIHZvaWQgcmVtb3ZlX3Zl cmJvc2VfdG9waWMgKE1ldGEuRGVidWdUb3BpYyB0b3BpYyk7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9ICJtZXRhX3Nob3dfZGlhbG9nIildCisr CQlwdWJsaWMgc3RhdGljIEdMaWIuUGlkIHNob3dfZGlhbG9nIChzdHJpbmcgdHlwZSwgc3RyaW5n IG1lc3NhZ2UsIHN0cmluZyB0aW1lb3V0LCBzdHJpbmcgZGlzcGxheSwgc3RyaW5nIG9rX3RleHQs IHN0cmluZyBjYW5jZWxfdGV4dCwgc3RyaW5nIGljb25fbmFtZSwgaW50IHRyYW5zaWVudF9mb3Is IEdMaWIuU0xpc3Q8dm9pZCo+IGNvbHVtbnMsIEdMaWIuU0xpc3Q8dm9pZCo+IGVudHJpZXMpOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0 YV91bnNpZ25lZF9sb25nX2VxdWFsIildCisrCQlwdWJsaWMgc3RhdGljIGludCB1bnNpZ25lZF9s b25nX2VxdWFsICh2b2lkKiB2MSwgdm9pZCogdjIpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV91bnNpZ25lZF9sb25nX2hhc2giKV0K KysJCXB1YmxpYyBzdGF0aWMgdWludCB1bnNpZ25lZF9sb25nX2hhc2ggKHZvaWQqIHYpOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV94 MTFfZXJyb3JfdHJhcF9wb3AiKV0KKysJCXB1YmxpYyBzdGF0aWMgdm9pZCB4MTFfZXJyb3JfdHJh cF9wb3AgKE1ldGEuWDExRGlzcGxheSB4MTFfZGlzcGxheSk7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9ICJtZXRhX3gxMV9lcnJvcl90cmFwX3Bv cF93aXRoX3JldHVybiIpXQorKwkJcHVibGljIHN0YXRpYyBpbnQgeDExX2Vycm9yX3RyYXBfcG9w X3dpdGhfcmV0dXJuIChNZXRhLlgxMURpc3BsYXkgeDExX2Rpc3BsYXkpOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV94MTFfZXJyb3Jf dHJhcF9wdXNoIildCisrCQlwdWJsaWMgc3RhdGljIHZvaWQgeDExX2Vycm9yX3RyYXBfcHVzaCAo TWV0YS5YMTFEaXNwbGF5IHgxMV9kaXNwbGF5KTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9tZXRhLWJhY2tlbmQuaCIsIHR5cGVfaWQgPSAibWV0YV9iYWNrZW5kX2dl dF90eXBlICgpIildCisrCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBCYWNrZW5kIDogR0xpYi5PYmpl Y3QsIEdMaWIuSW5pdGFibGUgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0g ZmFsc2UpXQorKwkJcHJvdGVjdGVkIEJhY2tlbmQgKCk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9tZXRhLWJhY2tlbmQuaCIsIGNuYW1lID0gIm1ldGFfZ2V0X2JhY2tlbmQi KV0KKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBNZXRhLkJhY2tlbmQgZ2V0X2JhY2tlbmQgKCk7 CisrCQlwdWJsaWMgdW5vd25lZCBNZXRhLkRuZCBnZXRfZG5kICgpOworKwkJcHVibGljIHVub3du ZWQgTWV0YS5SZW1vdGVBY2Nlc3NDb250cm9sbGVyIGdldF9yZW1vdGVfYWNjZXNzX2NvbnRyb2xs ZXIgKCk7CisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9zdGFnZSAoKTsKKysJ CXB1YmxpYyB2b2lkIGxvY2tfbGF5b3V0X2dyb3VwICh1aW50IGlkeCk7CisrCQlwdWJsaWMgdm9p ZCBzZXRfa2V5bWFwIChzdHJpbmcgbGF5b3V0cywgc3RyaW5nIHZhcmlhbnRzLCBzdHJpbmcgb3B0 aW9ucyk7CisrCQlwdWJsaWMgdm9pZCBzZXRfbnVtbG9jayAoYm9vbCBudW1sb2NrX3N0YXRlKTsK KysJCXB1YmxpYyBzaWduYWwgdm9pZCBrZXltYXBfY2hhbmdlZCAoKTsKKysJCXB1YmxpYyBzaWdu YWwgdm9pZCBrZXltYXBfbGF5b3V0X2dyb3VwX2NoYW5nZWQgKHVpbnQgb2JqZWN0KTsKKysJCXB1 YmxpYyBzaWduYWwgdm9pZCBsYXN0X2RldmljZV9jaGFuZ2VkIChDbHV0dGVyLklucHV0RGV2aWNl IG9iamVjdCk7CisrCQlwdWJsaWMgc2lnbmFsIHZvaWQgbGlkX2lzX2Nsb3NlZF9jaGFuZ2VkIChi b29sIG9iamVjdCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0 YS1iYWNrZ3JvdW5kLmgiLCB0eXBlX2lkID0gIm1ldGFfYmFja2dyb3VuZF9nZXRfdHlwZSAoKSIp XQorKwlwdWJsaWMgY2xhc3MgQmFja2dyb3VuZCA6IEdMaWIuT2JqZWN0IHsKKysJCVtDQ29kZSAo aGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KKysJCXB1YmxpYyBCYWNrZ3JvdW5kIChN ZXRhLkRpc3BsYXkgZGlzcGxheSk7CisrCQlwdWJsaWMgc3RhdGljIHZvaWQgcmVmcmVzaF9hbGwg KCk7CisrCQlwdWJsaWMgdm9pZCBzZXRfYmxlbmQgKEdMaWIuRmlsZSBmaWxlMSwgR0xpYi5GaWxl IGZpbGUyLCBkb3VibGUgYmxlbmRfZmFjdG9yLCBHRGVza3RvcC5CYWNrZ3JvdW5kU3R5bGUgc3R5 bGUpOworKwkJcHVibGljIHZvaWQgc2V0X2NvbG9yIChDbHV0dGVyLkNvbG9yIGNvbG9yKTsKKysJ CXB1YmxpYyB2b2lkIHNldF9maWxlIChHTGliLkZpbGU/IGZpbGUsIEdEZXNrdG9wLkJhY2tncm91 bmRTdHlsZSBzdHlsZSk7CisrCQlwdWJsaWMgdm9pZCBzZXRfZ3JhZGllbnQgKEdEZXNrdG9wLkJh Y2tncm91bmRTaGFkaW5nIHNoYWRpbmdfZGlyZWN0aW9uLCBDbHV0dGVyLkNvbG9yIGNvbG9yLCBD bHV0dGVyLkNvbG9yIHNlY29uZF9jb2xvcik7CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1 YmxpYyBNZXRhLkRpc3BsYXkgbWV0YV9kaXNwbGF5IHsgb3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0K KysJCXB1YmxpYyBzaWduYWwgdm9pZCBjaGFuZ2VkICgpOworKwl9CisrCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL21ldGEtYmFja2dyb3VuZC1hY3Rvci5oIiwgdHlwZV9pZCA9ICJt ZXRhX2JhY2tncm91bmRfYWN0b3JfZ2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGNsYXNzIEJhY2tn cm91bmRBY3RvciA6IENsdXR0ZXIuQWN0b3IsIEF0ay5JbXBsZW1lbnRvciwgQ2x1dHRlci5Bbmlt YXRhYmxlLCBDbHV0dGVyLkNvbnRhaW5lciwgQ2x1dHRlci5TY3JpcHRhYmxlIHsKKysJCVtDQ29k ZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJBY3Rvcioi KV0KKysJCXB1YmxpYyBCYWNrZ3JvdW5kQWN0b3IgKE1ldGEuRGlzcGxheSBkaXNwbGF5LCBpbnQg bW9uaXRvcik7CisrCQlwdWJsaWMgdm9pZCBzZXRfYmFja2dyb3VuZCAoTWV0YS5CYWNrZ3JvdW5k IGJhY2tncm91bmQpOworKwkJcHVibGljIHZvaWQgc2V0X2dyYWRpZW50IChib29sIGVuYWJsZWQs IGludCBoZWlnaHQsIGRvdWJsZSB0b25lX3N0YXJ0KTsKKysJCXB1YmxpYyB2b2lkIHNldF9tb25p dG9yIChpbnQgbW9uaXRvcik7CisrCQlwdWJsaWMgdm9pZCBzZXRfdmlnbmV0dGUgKGJvb2wgZW5h YmxlZCwgZG91YmxlIGJyaWdodG5lc3MsIGRvdWJsZSBzaGFycG5lc3MpOworKwkJW05vQWNjZXNz b3JNZXRob2RdCisrCQlwdWJsaWMgTWV0YS5CYWNrZ3JvdW5kIGJhY2tncm91bmQgeyBvd25lZCBn ZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgZG91YmxlIGJyaWdo dG5lc3MgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgYm9v bCBncmFkaWVudCB7IGdldDsgc2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1Ymxp YyBpbnQgZ3JhZGllbnRfaGVpZ2h0IHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9k XQorKwkJcHVibGljIGRvdWJsZSBncmFkaWVudF9tYXhfZGFya25lc3MgeyBnZXQ7IHNldDsgfQor KwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgTWV0YS5EaXNwbGF5IG1ldGFfZGlzcGxh eSB7IG93bmVkIGdldDsgY29uc3RydWN0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1 YmxpYyBpbnQgbW9uaXRvciB7IGdldDsgY29uc3RydWN0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhv ZF0KKysJCXB1YmxpYyBib29sIHZpZ25ldHRlIHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29y TWV0aG9kXQorKwkJcHVibGljIGRvdWJsZSB2aWduZXR0ZV9zaGFycG5lc3MgeyBnZXQ7IHNldDsg fQorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtYmFja2dyb3Vu ZC1ncm91cC5oIiwgdHlwZV9pZCA9ICJtZXRhX2JhY2tncm91bmRfZ3JvdXBfZ2V0X3R5cGUgKCki KV0KKysJcHVibGljIGNsYXNzIEJhY2tncm91bmRHcm91cCA6IENsdXR0ZXIuQWN0b3IsIEF0ay5J bXBsZW1lbnRvciwgQ2x1dHRlci5BbmltYXRhYmxlLCBDbHV0dGVyLkNvbnRhaW5lciwgQ2x1dHRl ci5TY3JpcHRhYmxlIHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNl LCB0eXBlID0gIkNsdXR0ZXJBY3RvcioiKV0KKysJCXB1YmxpYyBCYWNrZ3JvdW5kR3JvdXAgKCk7 CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0YS1iYWNrZ3JvdW5k LWltYWdlLmgiLCB0eXBlX2lkID0gIm1ldGFfYmFja2dyb3VuZF9pbWFnZV9nZXRfdHlwZSAoKSIp XQorKwlwdWJsaWMgY2xhc3MgQmFja2dyb3VuZEltYWdlIDogR0xpYi5PYmplY3QgeworKwkJW0ND b2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJcHJvdGVjdGVkIEJhY2tn cm91bmRJbWFnZSAoKTsKKysJCXB1YmxpYyBib29sIGdldF9zdWNjZXNzICgpOworKwkJcHVibGlj IHVub3duZWQgQ29nbC5UZXh0dXJlIGdldF90ZXh0dXJlICgpOworKwkJcHVibGljIGJvb2wgaXNf bG9hZGVkICgpOworKwkJcHVibGljIHNpZ25hbCB2b2lkIGxvYWRlZCAoKTsKKysJfQorKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLWJhY2tncm91bmQtaW1hZ2UuaCIsIHR5 cGVfaWQgPSAibWV0YV9iYWNrZ3JvdW5kX2ltYWdlX2NhY2hlX2dldF90eXBlICgpIildCisrCXB1 YmxpYyBjbGFzcyBCYWNrZ3JvdW5kSW1hZ2VDYWNoZSA6IEdMaWIuT2JqZWN0IHsKKysJCVtDQ29k ZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KKysJCXByb3RlY3RlZCBCYWNrZ3Jv dW5kSW1hZ2VDYWNoZSAoKTsKKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBNZXRhLkJhY2tncm91 bmRJbWFnZUNhY2hlIGdldF9kZWZhdWx0ICgpOworKwkJcHVibGljIE1ldGEuQmFja2dyb3VuZElt YWdlIGxvYWQgKEdMaWIuRmlsZSBmaWxlKTsKKysJCXB1YmxpYyB2b2lkIHB1cmdlIChHTGliLkZp bGUgZmlsZSk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvYmFycmll ci5oIiwgdHlwZV9pZCA9ICJtZXRhX2JhcnJpZXJfZ2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGNs YXNzIEJhcnJpZXIgOiBHTGliLk9iamVjdCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVu Y3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgQmFycmllciAoKTsKKysJCXB1YmxpYyB2b2lk IGRlc3Ryb3kgKCk7CisrCQlwdWJsaWMgYm9vbCBpc19hY3RpdmUgKCk7CisrCQlwdWJsaWMgdm9p ZCByZWxlYXNlIChNZXRhLkJhcnJpZXJFdmVudCBldmVudCk7CisrCQlbTm9BY2Nlc3Nvck1ldGhv ZF0KKysJCXB1YmxpYyBNZXRhLkJhcnJpZXJEaXJlY3Rpb24gZGlyZWN0aW9ucyB7IGdldDsgY29u c3RydWN0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyBNZXRhLkRpc3BsYXkg ZGlzcGxheSB7IG93bmVkIGdldDsgY29uc3RydWN0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0K KysJCXB1YmxpYyBpbnQgeDEgeyBnZXQ7IGNvbnN0cnVjdDsgfQorKwkJW05vQWNjZXNzb3JNZXRo b2RdCisrCQlwdWJsaWMgaW50IHgyIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KKysJCVtOb0FjY2Vzc29y TWV0aG9kXQorKwkJcHVibGljIGludCB5MSB7IGdldDsgY29uc3RydWN0OyB9CisrCQlbTm9BY2Nl c3Nvck1ldGhvZF0KKysJCXB1YmxpYyBpbnQgeTIgeyBnZXQ7IGNvbnN0cnVjdDsgfQorKwkJcHVi bGljIHNpZ25hbCB2b2lkIGhpdCAoTWV0YS5CYXJyaWVyRXZlbnQgZXZlbnQpOworKwkJcHVibGlj IHNpZ25hbCB2b2lkIGxlZnQgKE1ldGEuQmFycmllckV2ZW50IGV2ZW50KTsKKysJfQorKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9iYXJyaWVyLmgiLCBjb3B5X2Z1bmN0aW9uID0g ImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9pZCA9 ICJtZXRhX2JhcnJpZXJfZXZlbnRfZ2V0X3R5cGUgKCkiKV0KKysJW0NvbXBhY3RdCisrCXB1Ymxp YyBjbGFzcyBCYXJyaWVyRXZlbnQgeworKwkJcHVibGljIGludCBkdDsKKysJCXB1YmxpYyBkb3Vi bGUgZHg7CisrCQlwdWJsaWMgZG91YmxlIGR5OworKwkJcHVibGljIGludCBldmVudF9pZDsKKysJ CXB1YmxpYyBib29sIGdyYWJiZWQ7CisrCQlwdWJsaWMgYm9vbCByZWxlYXNlZDsKKysJCXB1Ymxp YyB1aW50MzIgdGltZTsKKysJCXB1YmxpYyBkb3VibGUgeDsKKysJCXB1YmxpYyBkb3VibGUgeTsK KysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLWN1cnNvci10cmFj a2VyLmgiLCB0eXBlX2lkID0gIm1ldGFfY3Vyc29yX3RyYWNrZXJfZ2V0X3R5cGUgKCkiKV0KKysJ cHVibGljIGNsYXNzIEN1cnNvclRyYWNrZXIgOiBHTGliLk9iamVjdCB7CisrCQlbQ0NvZGUgKGhh c19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgQ3Vyc29yVHJhY2tl ciAoKTsKKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBNZXRhLkN1cnNvclRyYWNrZXIgZ2V0X2Zv cl9kaXNwbGF5IChNZXRhLkRpc3BsYXkgZGlzcGxheSk7CisrCQlwdWJsaWMgdm9pZCBnZXRfaG90 IChvdXQgaW50IHgsIG91dCBpbnQgeSk7CisrCQlwdWJsaWMgdm9pZCBnZXRfcG9pbnRlciAoaW50 IHgsIGludCB5LCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBtb2RzKTsKKysJCXB1YmxpYyBib29sIGdl dF9wb2ludGVyX3Zpc2libGUgKCk7CisrCQlwdWJsaWMgdW5vd25lZCBDb2dsLlRleHR1cmUgZ2V0 X3Nwcml0ZSAoKTsKKysJCXB1YmxpYyB2b2lkIHNldF9wb2ludGVyX3Zpc2libGUgKGJvb2wgdmlz aWJsZSk7CisrCQlwdWJsaWMgc2lnbmFsIHZvaWQgY3Vyc29yX2NoYW5nZWQgKCk7CisrCQlwdWJs aWMgc2lnbmFsIHZvaWQgY3Vyc29yX21vdmVkIChmbG9hdCB4LCBmbG9hdCB5KTsKKysJCXB1Ymxp YyBzaWduYWwgdm9pZCB2aXNpYmlsaXR5X2NoYW5nZWQgKCk7CisrCX0KKysJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gIm1ldGEvZGlzcGxheS5oIiwgdHlwZV9pZCA9ICJtZXRhX2Rpc3BsYXlf Z2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGNsYXNzIERpc3BsYXkgOiBHTGliLk9iamVjdCB7Cisr CQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQg RGlzcGxheSAoKTsKKysJCXB1YmxpYyB2b2lkIGFkZF9pZ25vcmVkX2Nyb3NzaW5nX3NlcmlhbCAo dWxvbmcgc2VyaWFsKTsKKysJCXB1YmxpYyB1aW50IGFkZF9rZXliaW5kaW5nIChzdHJpbmcgbmFt ZSwgR0xpYi5TZXR0aW5ncyBzZXR0aW5ncywgTWV0YS5LZXlCaW5kaW5nRmxhZ3MgZmxhZ3MsIG93 bmVkIE1ldGEuS2V5SGFuZGxlckZ1bmMgaGFuZGxlcik7CisrCQlwdWJsaWMgYm9vbCBiZWdpbl9n cmFiX29wIChNZXRhLldpbmRvdyB3aW5kb3csIE1ldGEuR3JhYk9wIG9wLCBib29sIHBvaW50ZXJf YWxyZWFkeV9ncmFiYmVkLCBib29sIGZyYW1lX2FjdGlvbiwgaW50IGJ1dHRvbiwgdWxvbmcgbW9k bWFzaywgdWludDMyIHRpbWVzdGFtcCwgaW50IHJvb3RfeCwgaW50IHJvb3RfeSk7CisrCQlwdWJs aWMgdm9pZCBjbGVhcl9tb3VzZV9tb2RlICgpOworKwkJcHVibGljIHZvaWQgY2xvc2UgKHVpbnQz MiB0aW1lc3RhbXApOworKwkJcHVibGljIHZvaWQgZW5kX2dyYWJfb3AgKHVpbnQzMiB0aW1lc3Rh bXApOworKwkJcHVibGljIHZvaWQgZm9jdXNfZGVmYXVsdF93aW5kb3cgKHVpbnQzMiB0aW1lc3Rh bXApOworKwkJcHVibGljIHZvaWQgZnJlZXplX2tleWJvYXJkICh1aW50MzIgdGltZXN0YW1wKTsK KysJCXB1YmxpYyBpbnQgZ2V0X2N1cnJlbnRfbW9uaXRvciAoKTsKKysJCXB1YmxpYyB1aW50MzIg Z2V0X2N1cnJlbnRfdGltZSAoKTsKKysJCXB1YmxpYyB1aW50MzIgZ2V0X2N1cnJlbnRfdGltZV9y b3VuZHRyaXAgKCk7CisrCQlwdWJsaWMgdW5vd25lZCBNZXRhLldpbmRvdyBnZXRfZm9jdXNfd2lu ZG93ICgpOworKwkJcHVibGljIE1ldGEuR3JhYk9wIGdldF9ncmFiX29wICgpOworKwkJcHVibGlj IHVpbnQgZ2V0X2tleWJpbmRpbmdfYWN0aW9uICh1aW50IGtleWNvZGUsIHVsb25nIG1hc2spOwor KwkJcHVibGljIHVpbnQzMiBnZXRfbGFzdF91c2VyX3RpbWUgKCk7CisrCQlwdWJsaWMgTWV0YS5S ZWN0YW5nbGUgZ2V0X21vbml0b3JfZ2VvbWV0cnkgKGludCBtb25pdG9yKTsKKysJCXB1YmxpYyBi b29sIGdldF9tb25pdG9yX2luX2Z1bGxzY3JlZW4gKGludCBtb25pdG9yKTsKKysJCXB1YmxpYyBp bnQgZ2V0X21vbml0b3JfaW5kZXhfZm9yX3JlY3QgKE1ldGEuUmVjdGFuZ2xlIHJlY3QpOworKwkJ cHVibGljIGludCBnZXRfbW9uaXRvcl9uZWlnaGJvcl9pbmRleCAoaW50IHdoaWNoX21vbml0b3Is IE1ldGEuRGlzcGxheURpcmVjdGlvbiBkaXIpOworKwkJcHVibGljIGZsb2F0IGdldF9tb25pdG9y X3NjYWxlIChpbnQgbW9uaXRvcik7CisrCQlwdWJsaWMgaW50IGdldF9uX21vbml0b3JzICgpOwor KwkJcHVibGljIHN0cmluZyBnZXRfcGFkX2FjdGlvbl9sYWJlbCAoQ2x1dHRlci5JbnB1dERldmlj ZSBwYWQsIE1ldGEuUGFkQWN0aW9uVHlwZSBhY3Rpb25fdHlwZSwgdWludCBhY3Rpb25fbnVtYmVy KTsKKysJCXB1YmxpYyBpbnQgZ2V0X3ByaW1hcnlfbW9uaXRvciAoKTsKKysJCXB1YmxpYyB1bm93 bmVkIE1ldGEuU2VsZWN0aW9uIGdldF9zZWxlY3Rpb24gKCk7CisrCQlwdWJsaWMgdm9pZCBnZXRf c2l6ZSAob3V0IGludCB3aWR0aCwgb3V0IGludCBoZWlnaHQpOworKwkJcHVibGljIHVub3duZWQg TWV0YS5Tb3VuZFBsYXllciBnZXRfc291bmRfcGxheWVyICgpOworKwkJcHVibGljIHVub3duZWQg TWV0YS5XaW5kb3cgZ2V0X3RhYl9jdXJyZW50IChNZXRhLlRhYkxpc3QgdHlwZSwgTWV0YS5Xb3Jr c3BhY2Ugd29ya3NwYWNlKTsKKysJCXB1YmxpYyBHTGliLkxpc3Q8d2VhayBNZXRhLldpbmRvdz4g Z2V0X3RhYl9saXN0IChNZXRhLlRhYkxpc3QgdHlwZSwgTWV0YS5Xb3Jrc3BhY2U/IHdvcmtzcGFj ZSk7CisrCQlwdWJsaWMgdW5vd25lZCBNZXRhLldpbmRvdyBnZXRfdGFiX25leHQgKE1ldGEuVGFi TGlzdCB0eXBlLCBNZXRhLldvcmtzcGFjZSB3b3Jrc3BhY2UsIE1ldGEuV2luZG93PyB3aW5kb3cs IGJvb2wgYmFja3dhcmQpOworKwkJcHVibGljIHVub3duZWQgTWV0YS5Xb3Jrc3BhY2VNYW5hZ2Vy IGdldF93b3Jrc3BhY2VfbWFuYWdlciAoKTsKKysJCXB1YmxpYyB1aW50IGdyYWJfYWNjZWxlcmF0 b3IgKHN0cmluZyBhY2NlbGVyYXRvciwgTWV0YS5LZXlCaW5kaW5nRmxhZ3MgZmxhZ3MpOworKwkJ cHVibGljIGJvb2wgaXNfcG9pbnRlcl9lbXVsYXRpbmdfc2VxdWVuY2UgKENsdXR0ZXIuRXZlbnRT ZXF1ZW5jZT8gc2VxdWVuY2UpOworKwkJcHVibGljIGJvb2wgcmVtb3ZlX2tleWJpbmRpbmcgKHN0 cmluZyBuYW1lKTsKKysJCXB1YmxpYyB2b2lkIHJlcXVlc3RfcGFkX29zZCAoQ2x1dHRlci5JbnB1 dERldmljZSBwYWQsIGJvb2wgZWRpdGlvbl9tb2RlKTsKKysJCXB1YmxpYyB2b2lkIHNldF9jdXJz b3IgKE1ldGEuQ3Vyc29yIGN1cnNvcik7CisrCQlwdWJsaWMgdm9pZCBzZXRfaW5wdXRfZm9jdXMg KE1ldGEuV2luZG93IHdpbmRvdywgYm9vbCBmb2N1c19mcmFtZSwgdWludDMyIHRpbWVzdGFtcCk7 CisrCQlwdWJsaWMgR0xpYi5TTGlzdDx3ZWFrIE1ldGEuV2luZG93PiBzb3J0X3dpbmRvd3NfYnlf c3RhY2tpbmcgKEdMaWIuU0xpc3Q8TWV0YS5XaW5kb3c+IHdpbmRvd3MpOworKwkJcHVibGljIGJv b2wgc3VwcG9ydHNfZXh0ZW5kZWRfYmFycmllcnMgKCk7CisrCQlwdWJsaWMgdm9pZCB1bmZyZWV6 ZV9rZXlib2FyZCAodWludDMyIHRpbWVzdGFtcCk7CisrCQlwdWJsaWMgYm9vbCB1bmdyYWJfYWNj ZWxlcmF0b3IgKHVpbnQgYWN0aW9uX2lkKTsKKysJCXB1YmxpYyB2b2lkIHVuZ3JhYl9rZXlib2Fy ZCAodWludDMyIHRpbWVzdGFtcCk7CisrCQlwdWJsaWMgdm9pZCB1bnNldF9pbnB1dF9mb2N1cyAo dWludDMyIHRpbWVzdGFtcCk7CisrCQlwdWJsaWMgYm9vbCB4c2VydmVyX3RpbWVfaXNfYmVmb3Jl ICh1aW50MzIgdGltZTEsIHVpbnQzMiB0aW1lMik7CisrCQlwdWJsaWMgTWV0YS5XaW5kb3cgZm9j dXNfd2luZG93IHsgZ2V0OyB9CisrCQlwdWJsaWMgc2lnbmFsIHZvaWQgYWNjZWxlcmF0b3JfYWN0 aXZhdGVkICh1aW50IG9iamVjdCwgQ2x1dHRlci5JbnB1dERldmljZSBwMCwgdWludCBwMSk7Cisr CQlwdWJsaWMgc2lnbmFsIHZvaWQgY2xvc2luZyAoKTsKKysJCXB1YmxpYyBzaWduYWwgdm9pZCBj dXJzb3JfdXBkYXRlZCAoKTsKKysJCXB1YmxpYyBzaWduYWwgdm9pZCBnbF92aWRlb19tZW1vcnlf cHVyZ2VkICgpOworKwkJcHVibGljIHNpZ25hbCB2b2lkIGdyYWJfb3BfYmVnaW4gKE1ldGEuRGlz cGxheSBvYmplY3QsIE1ldGEuV2luZG93IHAwLCBNZXRhLkdyYWJPcCBwMSk7CisrCQlwdWJsaWMg c2lnbmFsIHZvaWQgZ3JhYl9vcF9lbmQgKE1ldGEuRGlzcGxheSBvYmplY3QsIE1ldGEuV2luZG93 IHAwLCBNZXRhLkdyYWJPcCBwMSk7CisrCQlwdWJsaWMgc2lnbmFsIHZvaWQgaW5fZnVsbHNjcmVl bl9jaGFuZ2VkICgpOworKwkJcHVibGljIHNpZ25hbCBib29sIG1vZGlmaWVyc19hY2NlbGVyYXRv cl9hY3RpdmF0ZWQgKCk7CisrCQlwdWJsaWMgc2lnbmFsIHZvaWQgb3ZlcmxheV9rZXkgKCk7Cisr CQlwdWJsaWMgc2lnbmFsIHZvaWQgcGFkX21vZGVfc3dpdGNoIChDbHV0dGVyLklucHV0RGV2aWNl IG9iamVjdCwgdWludCBwMCwgdWludCBwMSk7CisrCQlwdWJsaWMgc2lnbmFsIHZvaWQgcmVzdGFj a2VkICgpOworKwkJcHVibGljIHNpZ25hbCBib29sIHJlc3RhcnQgKCk7CisrCQlwdWJsaWMgc2ln bmFsIHZvaWQgc2hvd19vc2QgKGludCBvYmplY3QsIHN0cmluZyBwMCwgc3RyaW5nIHAxKTsKKysJ CXB1YmxpYyBzaWduYWwgdW5vd25lZCBDbHV0dGVyLkFjdG9yPyBzaG93X3BhZF9vc2QgKENsdXR0 ZXIuSW5wdXREZXZpY2UgcGFkLCBHTGliLlNldHRpbmdzIHNldHRpbmdzLCBzdHJpbmcgbGF5b3V0 X3BhdGgsIGJvb2wgZWRpdGlvbl9tb2RlLCBpbnQgbW9uaXRvcl9pZHgpOworKwkJcHVibGljIHNp Z25hbCBib29sIHNob3dfcmVzaXplX3BvcHVwIChib29sIG9iamVjdCwgTWV0YS5SZWN0YW5nbGUg cDAsIGludCBwMSwgaW50IHAyKTsKKysJCXB1YmxpYyBzaWduYWwgYm9vbCBzaG93X3Jlc3RhcnRf bWVzc2FnZSAoc3RyaW5nPyBtZXNzYWdlKTsKKysJCXB1YmxpYyBzaWduYWwgdm9pZCBzaG93aW5n X2Rlc2t0b3BfY2hhbmdlZCAoKTsKKysJCXB1YmxpYyBzaWduYWwgdm9pZCB3aW5kb3dfY3JlYXRl ZCAoTWV0YS5XaW5kb3cgb2JqZWN0KTsKKysJCXB1YmxpYyBzaWduYWwgdm9pZCB3aW5kb3dfZGVt YW5kc19hdHRlbnRpb24gKE1ldGEuV2luZG93IG9iamVjdCk7CisrCQlwdWJsaWMgc2lnbmFsIHZv aWQgd2luZG93X2VudGVyZWRfbW9uaXRvciAoaW50IG9iamVjdCwgTWV0YS5XaW5kb3cgcDApOwor KwkJcHVibGljIHNpZ25hbCB2b2lkIHdpbmRvd19sZWZ0X21vbml0b3IgKGludCBvYmplY3QsIE1l dGEuV2luZG93IHAwKTsKKysJCXB1YmxpYyBzaWduYWwgdm9pZCB3aW5kb3dfbWFya2VkX3VyZ2Vu dCAoTWV0YS5XaW5kb3cgb2JqZWN0KTsKKysJCXB1YmxpYyBzaWduYWwgdm9pZCB3b3JrYXJlYXNf Y2hhbmdlZCAoKTsKKysJCXB1YmxpYyBzaWduYWwgdm9pZCB4MTFfZGlzcGxheV9jbG9zaW5nICgp OworKwkJcHVibGljIHNpZ25hbCB2b2lkIHgxMV9kaXNwbGF5X29wZW5lZCAoKTsKKysJCXB1Ymxp YyBzaWduYWwgdm9pZCB4MTFfZGlzcGxheV9zZXR1cCAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLWRuZC5oIiwgdHlwZV9pZCA9ICJtZXRhX2RuZF9nZXRf dHlwZSAoKSIpXQorKwlwdWJsaWMgY2xhc3MgRG5kIDogR0xpYi5PYmplY3QgeworKwkJW0NDb2Rl IChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJcHJvdGVjdGVkIERuZCAoKTsK KysJCXB1YmxpYyBzaWduYWwgdm9pZCBkbmRfZW50ZXIgKCk7CisrCQlwdWJsaWMgc2lnbmFsIHZv aWQgZG5kX2xlYXZlICgpOworKwkJcHVibGljIHNpZ25hbCB2b2lkIGRuZF9wb3NpdGlvbl9jaGFu Z2UgKGludCBvYmplY3QsIGludCBwMCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gIm1ldGEvbWFpbi5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisrCVtDb21wYWN0XQorKwlw dWJsaWMgY2xhc3MgRnJhbWUgeworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJt ZXRhL21ldGEtaWRsZS1tb25pdG9yLmgiLCB0eXBlX2lkID0gIm1ldGFfaWRsZV9tb25pdG9yX2dl dF90eXBlICgpIildCisrCXB1YmxpYyBjbGFzcyBJZGxlTW9uaXRvciA6IEdMaWIuT2JqZWN0IHsK KysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KKysJCXByb3RlY3Rl ZCBJZGxlTW9uaXRvciAoKTsKKysJCXB1YmxpYyB1aW50IGFkZF9pZGxlX3dhdGNoICh1aW50NjQg aW50ZXJ2YWxfbXNlYywgb3duZWQgTWV0YS5JZGxlTW9uaXRvcldhdGNoRnVuYz8gY2FsbGJhY2sp OworKwkJcHVibGljIHVpbnQgYWRkX3VzZXJfYWN0aXZlX3dhdGNoIChvd25lZCBNZXRhLklkbGVN b25pdG9yV2F0Y2hGdW5jPyBjYWxsYmFjayk7CisrCQlwdWJsaWMgc3RhdGljIHVub3duZWQgTWV0 YS5JZGxlTW9uaXRvciBnZXRfY29yZSAoKTsKKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBNZXRh LklkbGVNb25pdG9yIGdldF9mb3JfZGV2aWNlIChDbHV0dGVyLklucHV0RGV2aWNlIGRldmljZSk7 CisrCQlwdWJsaWMgaW50NjQgZ2V0X2lkbGV0aW1lICgpOworKwkJcHVibGljIHZvaWQgcmVtb3Zl X3dhdGNoICh1aW50IGlkKTsKKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJcHVibGljIENsdXR0 ZXIuSW5wdXREZXZpY2UgZGV2aWNlIHsgb3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0KKysJfQorKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjb3B5X2Z1bmN0aW9uID0g ImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9pZCA9 ICJtZXRhX2tleV9iaW5kaW5nX2dldF90eXBlICgpIildCisrCVtDb21wYWN0XQorKwlwdWJsaWMg Y2xhc3MgS2V5QmluZGluZyB7CisrCQlwdWJsaWMgdWludCBnZXRfbWFzayAoKTsKKysJCXB1Ymxp YyBNZXRhLlZpcnR1YWxNb2RpZmllciBnZXRfbW9kaWZpZXJzICgpOworKwkJcHVibGljIHVub3du ZWQgc3RyaW5nIGdldF9uYW1lICgpOworKwkJcHVibGljIGJvb2wgaXNfYnVpbHRpbiAoKTsKKysJ CXB1YmxpYyBib29sIGlzX3JldmVyc2VkICgpOworKwkJW0NDb2RlIChjbmFtZSA9ICJtZXRhX2tl eWJpbmRpbmdzX3NldF9jdXN0b21faGFuZGxlciIpXQorKwkJcHVibGljIHN0YXRpYyBib29sIHNl dF9jdXN0b21faGFuZGxlciAoc3RyaW5nIG5hbWUsIG93bmVkIE1ldGEuS2V5SGFuZGxlckZ1bmM/ IGhhbmRsZXIpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEt bGF1bmNoLWNvbnRleHQuaCIsIHR5cGVfaWQgPSAibWV0YV9sYXVuY2hfY29udGV4dF9nZXRfdHlw ZSAoKSIpXQorKwlwdWJsaWMgY2xhc3MgTGF1bmNoQ29udGV4dCA6IEdMaWIuQXBwTGF1bmNoQ29u dGV4dCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlw cm90ZWN0ZWQgTGF1bmNoQ29udGV4dCAoKTsKKysJCXB1YmxpYyB2b2lkIHNldF90aW1lc3RhbXAg KHVpbnQzMiB0aW1lc3RhbXApOworKwkJcHVibGljIHZvaWQgc2V0X3dvcmtzcGFjZSAoTWV0YS5X b3Jrc3BhY2Ugd29ya3NwYWNlKTsKKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJcHVibGljIE1l dGEuRGlzcGxheSBkaXNwbGF5IHsgb3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0KKysJCVtOb0FjY2Vz c29yTWV0aG9kXQorKwkJcHVibGljIHVpbnQgdGltZXN0YW1wIHsgZ2V0OyBzZXQ7IH0KKysJCVtO b0FjY2Vzc29yTWV0aG9kXQorKwkJcHVibGljIE1ldGEuV29ya3NwYWNlIHdvcmtzcGFjZSB7IG93 bmVkIGdldDsgc2V0OyB9CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEv bWV0YS1tb25pdG9yLW1hbmFnZXIuaCIsIHR5cGVfaWQgPSAibWV0YV9tb25pdG9yX21hbmFnZXJf Z2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGNsYXNzIE1vbml0b3JNYW5hZ2VyIDogR0xpYi5PYmpl Y3QgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJcHJv dGVjdGVkIE1vbml0b3JNYW5hZ2VyICgpOworKwkJcHVibGljIGJvb2wgY2FuX3N3aXRjaF9jb25m aWcgKCk7CisrCQlwdWJsaWMgc3RhdGljIHVub3duZWQgTWV0YS5Nb25pdG9yTWFuYWdlciBAZ2V0 ICgpOworKwkJcHVibGljIHN0YXRpYyBpbnQgZ2V0X2Rpc3BsYXlfY29uZmlndXJhdGlvbl90aW1l b3V0ICgpOworKwkJcHVibGljIGJvb2wgZ2V0X2lzX2J1aWx0aW5fZGlzcGxheV9vbiAoKTsKKysJ CXB1YmxpYyBpbnQgZ2V0X21vbml0b3JfZm9yX2Nvbm5lY3RvciAoc3RyaW5nIGNvbm5lY3Rvcik7 CisrCQlwdWJsaWMgTWV0YS5Nb25pdG9yU3dpdGNoQ29uZmlnVHlwZSBnZXRfc3dpdGNoX2NvbmZp ZyAoKTsKKysJCXB1YmxpYyB2b2lkIHN3aXRjaF9jb25maWcgKE1ldGEuTW9uaXRvclN3aXRjaENv bmZpZ1R5cGUgY29uZmlnX3R5cGUpOworKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMg TWV0YS5CYWNrZW5kIGJhY2tlbmQgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQorKwkJcHVibGlj IHNpZ25hbCB2b2lkIGNvbmZpcm1fZGlzcGxheV9jaGFuZ2UgKCk7CisrCQlwdWJsaWMgc2lnbmFs IHZvaWQgbW9uaXRvcnNfY2hhbmdlZCAoKTsKKysJCXB1YmxpYyBzaWduYWwgdm9pZCBtb25pdG9y c19jaGFuZ2VkX2ludGVybmFsICgpOworKwkJcHVibGljIHNpZ25hbCB2b2lkIHBvd2VyX3NhdmVf bW9kZV9jaGFuZ2VkICgpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRh L21ldGEtcGx1Z2luLmgiLCB0eXBlX2lkID0gIm1ldGFfcGx1Z2luX2dldF90eXBlICgpIildCisr CXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBQbHVnaW4gOiBHTGliLk9iamVjdCB7CisrCQlbQ0NvZGUg KGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgUGx1Z2luICgp OworKwkJcHVibGljIGJvb2wgYmVnaW5fbW9kYWwgKE1ldGEuTW9kYWxPcHRpb25zIG9wdGlvbnMs IHVpbnQzMiB0aW1lc3RhbXApOworKwkJcHVibGljIHZvaWQgY29tcGxldGVfZGlzcGxheV9jaGFu Z2UgKGJvb2wgb2spOworKwkJW05vV3JhcHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgY29u ZmlybV9kaXNwbGF5X2NoYW5nZSAoKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVh bCB2b2lkIGRlc3Ryb3kgKE1ldGEuV2luZG93QWN0b3IgYWN0b3IpOworKwkJcHVibGljIHZvaWQg ZGVzdHJveV9jb21wbGV0ZWQgKE1ldGEuV2luZG93QWN0b3IgYWN0b3IpOworKwkJcHVibGljIHZv aWQgZW5kX21vZGFsICh1aW50MzIgdGltZXN0YW1wKTsKKysJCXB1YmxpYyB1bm93bmVkIE1ldGEu RGlzcGxheSBnZXRfZGlzcGxheSAoKTsKKysJCXB1YmxpYyB1bm93bmVkIE1ldGEuUGx1Z2luSW5m bz8gZ2V0X2luZm8gKCk7CisrCQlbTm9XcmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwgdm9pZCBo aWRlX3RpbGVfcHJldmlldyAoKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCBi b29sIGtleWJpbmRpbmdfZmlsdGVyIChNZXRhLktleUJpbmRpbmcgYmluZGluZyk7CisrCQlbTm9X cmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwgdm9pZCBraWxsX3N3aXRjaF93b3Jrc3BhY2UgKCk7 CisrCQlbTm9XcmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwgdm9pZCBraWxsX3dpbmRvd19lZmZl Y3RzIChNZXRhLldpbmRvd0FjdG9yIGFjdG9yKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMg dmlydHVhbCB2b2lkIGxvY2F0ZV9wb2ludGVyICgpOworKwkJcHVibGljIHN0YXRpYyB2b2lkIG1h bmFnZXJfc2V0X3BsdWdpbl90eXBlIChHTGliLlR5cGUgZ3R5cGUpOworKwkJW05vV3JhcHBlcl0K KysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgbWFwIChNZXRhLldpbmRvd0FjdG9yIGFjdG9yKTsKKysJ CXB1YmxpYyB2b2lkIG1hcF9jb21wbGV0ZWQgKE1ldGEuV2luZG93QWN0b3IgYWN0b3IpOworKwkJ W05vV3JhcHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgbWluaW1pemUgKE1ldGEuV2luZG93 QWN0b3IgYWN0b3IpOworKwkJcHVibGljIHZvaWQgbWluaW1pemVfY29tcGxldGVkIChNZXRhLldp bmRvd0FjdG9yIGFjdG9yKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCB1bm93 bmVkIE1ldGEuUGx1Z2luSW5mbz8gcGx1Z2luX2luZm8gKCk7CisrCQlbTm9XcmFwcGVyXQorKwkJ cHVibGljIHZpcnR1YWwgdm9pZCBzaG93X3RpbGVfcHJldmlldyAoTWV0YS5XaW5kb3cgd2luZG93 LCBNZXRhLlJlY3RhbmdsZSB0aWxlX3JlY3QsIGludCB0aWxlX21vbml0b3JfbnVtYmVyKTsKKysJ CVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIHNob3dfd2luZG93X21lbnUgKE1l dGEuV2luZG93IHdpbmRvdywgTWV0YS5XaW5kb3dNZW51VHlwZSBtZW51LCBpbnQgeCwgaW50IHkp OworKwkJW05vV3JhcHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgc2hvd193aW5kb3dfbWVu dV9mb3JfcmVjdCAoTWV0YS5XaW5kb3cgd2luZG93LCBNZXRhLldpbmRvd01lbnVUeXBlIG1lbnUs IE1ldGEuUmVjdGFuZ2xlIHJlY3QpOworKwkJW05vV3JhcHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFs IHZvaWQgc2l6ZV9jaGFuZ2UgKE1ldGEuV2luZG93QWN0b3IgYWN0b3IsIE1ldGEuU2l6ZUNoYW5n ZSB3aGljaF9jaGFuZ2UsIE1ldGEuUmVjdGFuZ2xlIG9sZF9mcmFtZV9yZWN0LCBNZXRhLlJlY3Rh bmdsZSBvbGRfYnVmZmVyX3JlY3QpOworKwkJcHVibGljIHZvaWQgc2l6ZV9jaGFuZ2VfY29tcGxl dGVkIChNZXRhLldpbmRvd0FjdG9yIGFjdG9yKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMg dmlydHVhbCB2b2lkIHNpemVfY2hhbmdlZCAoTWV0YS5XaW5kb3dBY3RvciBhY3Rvcik7CisrCQlb Tm9XcmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwgdm9pZCBzdGFydCAoKTsKKysJCVtOb1dyYXBw ZXJdCisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIHN3aXRjaF93b3Jrc3BhY2UgKGludCBmcm9tLCBp bnQgdG8sIE1ldGEuTW90aW9uRGlyZWN0aW9uIGRpcmVjdGlvbik7CisrCQlwdWJsaWMgdm9pZCBz d2l0Y2hfd29ya3NwYWNlX2NvbXBsZXRlZCAoKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMg dmlydHVhbCB2b2lkIHVubWluaW1pemUgKE1ldGEuV2luZG93QWN0b3IgYWN0b3IpOworKwkJcHVi bGljIHZvaWQgdW5taW5pbWl6ZV9jb21wbGV0ZWQgKE1ldGEuV2luZG93QWN0b3IgYWN0b3IpOwor KwkJW05vV3JhcHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFsIGJvb2wgeGV2ZW50X2ZpbHRlciAoWC5F dmVudCBldmVudCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0 YS1yZW1vdGUtYWNjZXNzLWNvbnRyb2xsZXIuaCIsIHR5cGVfaWQgPSAibWV0YV9yZW1vdGVfYWNj ZXNzX2NvbnRyb2xsZXJfZ2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGNsYXNzIFJlbW90ZUFjY2Vz c0NvbnRyb2xsZXIgOiBHTGliLk9iamVjdCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVu Y3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgUmVtb3RlQWNjZXNzQ29udHJvbGxlciAoKTsK KysJCXB1YmxpYyBzaWduYWwgdm9pZCBuZXdfaGFuZGxlIChNZXRhLlJlbW90ZUFjY2Vzc0hhbmRs ZSBvYmplY3QpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEt cmVtb3RlLWFjY2Vzcy1jb250cm9sbGVyLmgiLCB0eXBlX2lkID0gIm1ldGFfcmVtb3RlX2FjY2Vz c19oYW5kbGVfZ2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGNsYXNzIFJlbW90ZUFjY2Vzc0hhbmRs ZSA6IEdMaWIuT2JqZWN0IHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZh bHNlKV0KKysJCXByb3RlY3RlZCBSZW1vdGVBY2Nlc3NIYW5kbGUgKCk7CisrCQlwdWJsaWMgdmly dHVhbCB2b2lkIHN0b3AgKCk7CisrCQlwdWJsaWMgc2lnbmFsIHZvaWQgc3RvcHBlZCAoKTsKKysJ fQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCB0eXBlX2lkID0g Im1ldGFfc2VsZWN0aW9uX2dldF90eXBlICgpIildCisrCXB1YmxpYyBjbGFzcyBTZWxlY3Rpb24g OiBHTGliLk9iamVjdCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxz ZSldCisrCQlwdWJsaWMgU2VsZWN0aW9uIChNZXRhLkRpc3BsYXkgZGlzcGxheSk7CisrCQlwdWJs aWMgR0xpYi5MaXN0PHN0cmluZz4gZ2V0X21pbWV0eXBlcyAoTWV0YS5TZWxlY3Rpb25UeXBlIHNl bGVjdGlvbl90eXBlKTsKKysJCXB1YmxpYyB2b2lkIHNldF9vd25lciAoTWV0YS5TZWxlY3Rpb25U eXBlIHNlbGVjdGlvbl90eXBlLCBNZXRhLlNlbGVjdGlvblNvdXJjZSBvd25lcik7CisrCQlwdWJs aWMgYXN5bmMgYm9vbCB0cmFuc2Zlcl9hc3luYyAoTWV0YS5TZWxlY3Rpb25UeXBlIHNlbGVjdGlv bl90eXBlLCBzdHJpbmcgbWltZXR5cGUsIHNzaXplX3Qgc2l6ZSwgR0xpYi5PdXRwdXRTdHJlYW0g b3V0cHV0LCBHTGliLkNhbmNlbGxhYmxlPyBjYW5jZWxsYWJsZSkgdGhyb3dzIEdMaWIuRXJyb3I7 CisrCQlwdWJsaWMgdm9pZCB1bnNldF9vd25lciAoTWV0YS5TZWxlY3Rpb25UeXBlIHNlbGVjdGlv bl90eXBlLCBNZXRhLlNlbGVjdGlvblNvdXJjZSBvd25lcik7CisrCQlwdWJsaWMgc2lnbmFsIHZv aWQgb3duZXJfY2hhbmdlZCAodWludCBvYmplY3QsIE1ldGEuU2VsZWN0aW9uU291cmNlIHAwKTsK KysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCB0eXBlX2lk ID0gIm1ldGFfc2VsZWN0aW9uX3NvdXJjZV9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgY2xhc3Mg U2VsZWN0aW9uU291cmNlIDogR0xpYi5PYmplY3QgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJcHJvdGVjdGVkIFNlbGVjdGlvblNvdXJjZSAoKTsKKysJ CXB1YmxpYyB2aXJ0dWFsIEdMaWIuTGlzdDxzdHJpbmc+IGdldF9taW1ldHlwZXMgKCk7CisrCQlw dWJsaWMgYm9vbCBpc19hY3RpdmUgKCk7CisrCQlwdWJsaWMgdmlydHVhbCBhc3luYyBHTGliLklu cHV0U3RyZWFtIHJlYWRfYXN5bmMgKHN0cmluZyBtaW1ldHlwZSwgR0xpYi5DYW5jZWxsYWJsZT8g Y2FuY2VsbGFibGUpIHRocm93cyBHTGliLkVycm9yOworKwkJcHVibGljIHZpcnR1YWwgc2lnbmFs IHZvaWQgYWN0aXZhdGVkICgpOworKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgZGVhY3Rp dmF0ZWQgKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5o IiwgdHlwZV9pZCA9ICJtZXRhX3NlbGVjdGlvbl9zb3VyY2VfbWVtb3J5X2dldF90eXBlICgpIild CisrCXB1YmxpYyBjbGFzcyBTZWxlY3Rpb25Tb3VyY2VNZW1vcnkgOiBNZXRhLlNlbGVjdGlvblNv dXJjZSB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9 ICJNZXRhU2VsZWN0aW9uU291cmNlKiIpXQorKwkJcHVibGljIFNlbGVjdGlvblNvdXJjZU1lbW9y eSAoc3RyaW5nIG1pbWV0eXBlLCBHTGliLkJ5dGVzIGNvbnRlbnQpOworKwl9CisrCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtc2V0dGluZ3MuaCIsIGhhc190eXBlX2lkID0g ZmFsc2UpXQorKwlbQ29tcGFjdF0KKysJcHVibGljIGNsYXNzIFNldHRpbmdzIHsKKysJCXB1Ymxp YyBpbnQgZ2V0X2ZvbnRfZHBpICgpOworKwkJcHVibGljIGludCBnZXRfdWlfc2NhbGluZ19mYWN0 b3IgKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwg cmVmX2Z1bmN0aW9uID0gIm1ldGFfc2hhZG93X3JlZiIsIHR5cGVfaWQgPSAibWV0YV9zaGFkb3df Z2V0X3R5cGUgKCkiLCB1bnJlZl9mdW5jdGlvbiA9ICJtZXRhX3NoYWRvd191bnJlZiIpXQorKwlb Q29tcGFjdF0KKysJcHVibGljIGNsYXNzIFNoYWRvdyB7CisrCQlwdWJsaWMgdm9pZCBnZXRfYm91 bmRzIChpbnQgd2luZG93X3gsIGludCB3aW5kb3dfeSwgaW50IHdpbmRvd193aWR0aCwgaW50IHdp bmRvd19oZWlnaHQsIENhaXJvLlJlY3RhbmdsZUludCBib3VuZHMpOworKwkJcHVibGljIHZvaWQg cGFpbnQgKENvZ2wuRnJhbWVidWZmZXIgZnJhbWVidWZmZXIsIGludCB3aW5kb3dfeCwgaW50IHdp bmRvd195LCBpbnQgd2luZG93X3dpZHRoLCBpbnQgd2luZG93X2hlaWdodCwgdWludDggb3BhY2l0 eSwgQ2Fpcm8uUmVnaW9uPyBjbGlwLCBib29sIGNsaXBfc3RyaWN0bHkpOworKwkJcHVibGljIE1l dGEuU2hhZG93IEByZWYgKCk7CisrCQlwdWJsaWMgdm9pZCB1bnJlZiAoKTsKKysJfQorKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXNoYWRvdy1mYWN0b3J5LmgiLCB0eXBl X2lkID0gIm1ldGFfc2hhZG93X2ZhY3RvcnlfZ2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGNsYXNz IFNoYWRvd0ZhY3RvcnkgOiBHTGliLk9iamVjdCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3Rf ZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwdWJsaWMgU2hhZG93RmFjdG9yeSAoKTsKKysJCXB1Ymxp YyBzdGF0aWMgdW5vd25lZCBNZXRhLlNoYWRvd0ZhY3RvcnkgZ2V0X2RlZmF1bHQgKCk7CisrCQlw dWJsaWMgTWV0YS5TaGFkb3dQYXJhbXMgZ2V0X3BhcmFtcyAoc3RyaW5nIGNsYXNzX25hbWUsIGJv b2wgZm9jdXNlZCk7CisrCQlwdWJsaWMgTWV0YS5TaGFkb3cgZ2V0X3NoYWRvdyAoTWV0YS5XaW5k b3dTaGFwZSBzaGFwZSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBzdHJpbmcgY2xhc3NfbmFtZSwg Ym9vbCBmb2N1c2VkKTsKKysJCXB1YmxpYyB2b2lkIHNldF9wYXJhbXMgKHN0cmluZyBjbGFzc19u YW1lLCBib29sIGZvY3VzZWQsIE1ldGEuU2hhZG93UGFyYW1zIEBwYXJhbXMpOworKwkJcHVibGlj IHNpZ25hbCB2b2lkIGNoYW5nZWQgKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gIm1ldGEvbWV0YS1zaGFwZWQtdGV4dHVyZS5oIiwgdHlwZV9pZCA9ICJtZXRhX3NoYXBlZF90 ZXh0dXJlX2dldF90eXBlICgpIildCisrCXB1YmxpYyBjbGFzcyBTaGFwZWRUZXh0dXJlIDogR0xp Yi5PYmplY3QsIENsdXR0ZXIuQ29udGVudCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVu Y3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgU2hhcGVkVGV4dHVyZSAoKTsKKysJCXB1Ymxp YyBDYWlyby5TdXJmYWNlPyBnZXRfaW1hZ2UgKENhaXJvLlJlY3RhbmdsZUludD8gY2xpcCk7Cisr CQlwdWJsaWMgdW5vd25lZCBDb2dsLlRleHR1cmUgZ2V0X3RleHR1cmUgKCk7CisrCQlwdWJsaWMg dm9pZCBzZXRfY3JlYXRlX21pcG1hcHMgKGJvb2wgY3JlYXRlX21pcG1hcHMpOworKwkJcHVibGlj IHZvaWQgc2V0X21hc2tfdGV4dHVyZSAoQ29nbC5UZXh0dXJlIG1hc2tfdGV4dHVyZSk7CisrCQlw dWJsaWMgdm9pZCBzZXRfb3BhcXVlX3JlZ2lvbiAob3duZWQgQ2Fpcm8uUmVnaW9uIG9wYXF1ZV9y ZWdpb24pOworKwkJcHVibGljIHNpZ25hbCB2b2lkIHNpemVfY2hhbmdlZCAoKTsKKysJfQorKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXNvdW5kLXBsYXllci5oIiwgdHlw ZV9pZCA9ICJtZXRhX3NvdW5kX3BsYXllcl9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgY2xhc3Mg U291bmRQbGF5ZXIgOiBHTGliLk9iamVjdCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVu Y3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgU291bmRQbGF5ZXIgKCk7CisrCQlwdWJsaWMg dm9pZCBwbGF5X2Zyb21fZmlsZSAoR0xpYi5GaWxlIGZpbGUsIHN0cmluZyBkZXNjcmlwdGlvbiwg R0xpYi5DYW5jZWxsYWJsZT8gY2FuY2VsbGFibGUgPSBudWxsKTsKKysJCXB1YmxpYyB2b2lkIHBs YXlfZnJvbV90aGVtZSAoc3RyaW5nIG5hbWUsIHN0cmluZyBkZXNjcmlwdGlvbiwgR0xpYi5DYW5j ZWxsYWJsZT8gY2FuY2VsbGFibGUgPSBudWxsKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9tZXRhLXN0YWdlLmgiLCB0eXBlX2lkID0gIm1ldGFfc3RhZ2VfZ2V0X3R5 cGUgKCkiKV0KKysJcHVibGljIGNsYXNzIFN0YWdlIDogQ2x1dHRlci5TdGFnZSwgQXRrLkltcGxl bWVudG9yLCBDbHV0dGVyLkFuaW1hdGFibGUsIENsdXR0ZXIuQ29udGFpbmVyLCBDbHV0dGVyLlNj cmlwdGFibGUgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQor KwkJcHJvdGVjdGVkIFN0YWdlICgpOworKwkJcHVibGljIHN0YXRpYyBib29sIGlzX2ZvY3VzZWQg KE1ldGEuRGlzcGxheSBkaXNwbGF5KTsKKysJCXB1YmxpYyBzaWduYWwgdm9pZCBhY3RvcnNfcGFp bnRlZCAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXN0 YXJ0dXAtbm90aWZpY2F0aW9uLmgiLCB0eXBlX2lkID0gIm1ldGFfc3RhcnR1cF9ub3RpZmljYXRp b25fZ2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGNsYXNzIFN0YXJ0dXBOb3RpZmljYXRpb24gOiBH TGliLk9iamVjdCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSld CisrCQlwcm90ZWN0ZWQgU3RhcnR1cE5vdGlmaWNhdGlvbiAoKTsKKysJCXB1YmxpYyBNZXRhLkxh dW5jaENvbnRleHQgY3JlYXRlX2xhdW5jaGVyICgpOworKwkJW05vQWNjZXNzb3JNZXRob2RdCisr CQlwdWJsaWMgTWV0YS5EaXNwbGF5IGRpc3BsYXkgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQor KwkJcHVibGljIHNpZ25hbCB2b2lkIGNoYW5nZWQgKHZvaWQqIG9iamVjdCk7CisrCX0KKysJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgdHlwZV9pZCA9ICJtZXRhX3N0 YXJ0dXBfc2VxdWVuY2VfZ2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGNsYXNzIFN0YXJ0dXBTZXF1 ZW5jZSA6IEdMaWIuT2JqZWN0IHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9 IGZhbHNlKV0KKysJCXByb3RlY3RlZCBTdGFydHVwU2VxdWVuY2UgKCk7CisrCQlwdWJsaWMgdW5v d25lZCBzdHJpbmcgZ2V0X2FwcGxpY2F0aW9uX2lkICgpOworKwkJcHVibGljIGJvb2wgZ2V0X2Nv bXBsZXRlZCAoKTsKKysJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfaWNvbl9uYW1lICgpOwor KwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9pZCAoKTsKKysJCXB1YmxpYyB1bm93bmVkIHN0 cmluZyBnZXRfbmFtZSAoKTsKKysJCXB1YmxpYyB1aW50NjQgZ2V0X3RpbWVzdGFtcCAoKTsKKysJ CXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfd21jbGFzcyAoKTsKKysJCXB1YmxpYyBpbnQgZ2V0 X3dvcmtzcGFjZSAoKTsKKysJCXB1YmxpYyBzdHJpbmcgYXBwbGljYXRpb25faWQgeyBnZXQ7IGNv bnN0cnVjdDsgfQorKwkJcHVibGljIHN0cmluZyBpY29uX25hbWUgeyBnZXQ7IGNvbnN0cnVjdDsg fQorKwkJcHVibGljIHN0cmluZyBpZCB7IGdldDsgY29uc3RydWN0OyB9CisrCQlwdWJsaWMgc3Ry aW5nIG5hbWUgeyBnZXQ7IGNvbnN0cnVjdDsgfQorKwkJcHVibGljIHVpbnQ2NCB0aW1lc3RhbXAg eyBnZXQ7IGNvbnN0cnVjdDsgfQorKwkJcHVibGljIHN0cmluZyB3bWNsYXNzIHsgZ2V0OyBjb25z dHJ1Y3Q7IH0KKysJCXB1YmxpYyBpbnQgd29ya3NwYWNlIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KKysJ CVtIYXNFbWl0dGVyXQorKwkJcHVibGljIHNpZ25hbCB2b2lkIGNvbXBsZXRlICgpOworKwl9Cisr CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3RoZW1lLmgiLCBoYXNfdHlwZV9pZCA9 IGZhbHNlKV0KKysJW0NvbXBhY3RdCisrCXB1YmxpYyBjbGFzcyBUaGVtZSB7CisrCQlwdWJsaWMg dm9pZCBmcmVlICgpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3dp bmRvdy5oIiwgdHlwZV9pZCA9ICJtZXRhX3dpbmRvd19nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMg YWJzdHJhY3QgY2xhc3MgV2luZG93IDogR0xpYi5PYmplY3QgeworKwkJW0NDb2RlIChoYXNfY29u c3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJcHJvdGVjdGVkIFdpbmRvdyAoKTsKKysJCXB1 YmxpYyB2b2lkIGFjdGl2YXRlICh1aW50MzIgY3VycmVudF90aW1lKTsKKysJCXB1YmxpYyB2b2lk IGFjdGl2YXRlX3dpdGhfd29ya3NwYWNlICh1aW50MzIgY3VycmVudF90aW1lLCBNZXRhLldvcmtz cGFjZSB3b3Jrc3BhY2UpOworKwkJcHVibGljIGJvb2wgYWxsb3dzX21vdmUgKCk7CisrCQlwdWJs aWMgYm9vbCBhbGxvd3NfcmVzaXplICgpOworKwkJcHVibGljIHZvaWQgYmVnaW5fZ3JhYl9vcCAo TWV0YS5HcmFiT3Agb3AsIGJvb2wgZnJhbWVfYWN0aW9uLCB1aW50MzIgdGltZXN0YW1wKTsKKysJ CXB1YmxpYyBib29sIGNhbl9jbG9zZSAoKTsKKysJCXB1YmxpYyBib29sIGNhbl9tYXhpbWl6ZSAo KTsKKysJCXB1YmxpYyBib29sIGNhbl9taW5pbWl6ZSAoKTsKKysJCXB1YmxpYyBib29sIGNhbl9z aGFkZSAoKTsKKysJCXB1YmxpYyB2b2lkIGNoYW5nZV93b3Jrc3BhY2UgKE1ldGEuV29ya3NwYWNl IHdvcmtzcGFjZSk7CisrCQlwdWJsaWMgdm9pZCBjaGFuZ2Vfd29ya3NwYWNlX2J5X2luZGV4IChp bnQgc3BhY2VfaW5kZXgsIGJvb2wgYXBwZW5kKTsKKysJCXB1YmxpYyB2b2lkIGNoZWNrX2FsaXZl ICh1aW50MzIgdGltZXN0YW1wKTsKKysJCXB1YmxpYyBNZXRhLlJlY3RhbmdsZSBjbGllbnRfcmVj dF90b19mcmFtZV9yZWN0IChNZXRhLlJlY3RhbmdsZSBjbGllbnRfcmVjdCk7CisrCQlwdWJsaWMg dm9pZCBjb21wdXRlX2dyb3VwICgpOworKwkJcHVibGljIHZvaWQgQGRlbGV0ZSAodWludDMyIHRp bWVzdGFtcCk7CisrCQlwdWJsaWMgdW5vd25lZCBNZXRhLldpbmRvdyBmaW5kX3Jvb3RfYW5jZXN0 b3IgKCk7CisrCQlwdWJsaWMgdm9pZCBmb2N1cyAodWludDMyIHRpbWVzdGFtcCk7CisrCQlwdWJs aWMgdm9pZCBmb3JlYWNoX2FuY2VzdG9yIChNZXRhLldpbmRvd0ZvcmVhY2hGdW5jIGZ1bmMpOwor KwkJcHVibGljIHZvaWQgZm9yZWFjaF90cmFuc2llbnQgKE1ldGEuV2luZG93Rm9yZWFjaEZ1bmMg ZnVuYyk7CisrCQlwdWJsaWMgTWV0YS5SZWN0YW5nbGUgZnJhbWVfcmVjdF90b19jbGllbnRfcmVj dCAoTWV0YS5SZWN0YW5nbGUgZnJhbWVfcmVjdCk7CisrCQlwdWJsaWMgTWV0YS5SZWN0YW5nbGUg Z2V0X2J1ZmZlcl9yZWN0ICgpOworKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9jbGllbnRf bWFjaGluZSAoKTsKKysJCXB1YmxpYyBNZXRhLldpbmRvd0NsaWVudFR5cGUgZ2V0X2NsaWVudF90 eXBlICgpOworKwkJcHVibGljIHVub3duZWQgR0xpYi5PYmplY3QgZ2V0X2NvbXBvc2l0b3JfcHJp dmF0ZSAoKTsKKysJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfZGVzY3JpcHRpb24gKCk7Cisr CQlwdWJsaWMgdW5vd25lZCBNZXRhLkRpc3BsYXkgZ2V0X2Rpc3BsYXkgKCk7CisrCQlwdWJsaWMg dW5vd25lZCBDYWlyby5SZWdpb24/IGdldF9mcmFtZV9ib3VuZHMgKCk7CisrCQlwdWJsaWMgTWV0 YS5SZWN0YW5nbGUgZ2V0X2ZyYW1lX3JlY3QgKCk7CisrCQlwdWJsaWMgTWV0YS5GcmFtZVR5cGUg Z2V0X2ZyYW1lX3R5cGUgKCk7CisrCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X2d0a19hcHBf bWVudV9vYmplY3RfcGF0aCAoKTsKKysJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfZ3RrX2Fw cGxpY2F0aW9uX2lkICgpOworKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9ndGtfYXBwbGlj YXRpb25fb2JqZWN0X3BhdGggKCk7CisrCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X2d0a19t ZW51YmFyX29iamVjdF9wYXRoICgpOworKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9ndGtf dGhlbWVfdmFyaWFudCAoKTsKKysJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfZ3RrX3VuaXF1 ZV9idXNfbmFtZSAoKTsKKysJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfZ3RrX3dpbmRvd19v YmplY3RfcGF0aCAoKTsKKysJCXB1YmxpYyBib29sIGdldF9pY29uX2dlb21ldHJ5IChvdXQgTWV0 YS5SZWN0YW5nbGUgcmVjdCk7CisrCQlwdWJsaWMgdWludDY0IGdldF9pZCAoKTsKKysJCXB1Ymxp YyBNZXRhLlN0YWNrTGF5ZXIgZ2V0X2xheWVyICgpOworKwkJcHVibGljIE1ldGEuTWF4aW1pemVG bGFncyBnZXRfbWF4aW1pemVkICgpOworKwkJcHVibGljIGludCBnZXRfbW9uaXRvciAoKTsKKysJ CXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfbXV0dGVyX2hpbnRzICgpOworKwkJcHVibGljIGlu dCBnZXRfcGlkICgpOworKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9yb2xlICgpOworKwkJ cHVibGljIHVub3duZWQgc3RyaW5nIGdldF9zYW5kYm94ZWRfYXBwX2lkICgpOworKwkJcHVibGlj IHVpbnQgZ2V0X3N0YWJsZV9zZXF1ZW5jZSAoKTsKKysJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBn ZXRfc3RhcnR1cF9pZCAoKTsKKysJCXB1YmxpYyB1bm93bmVkIE1ldGEuV2luZG93PyBnZXRfdGls ZV9tYXRjaCAoKTsKKysJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfdGl0bGUgKCk7CisrCQlw dWJsaWMgdW5vd25lZCBNZXRhLldpbmRvdyBnZXRfdHJhbnNpZW50X2ZvciAoKTsKKysJCXB1Ymxp YyB1aW50MzIgZ2V0X3VzZXJfdGltZSAoKTsKKysJCXB1YmxpYyBNZXRhLldpbmRvd1R5cGUgZ2V0 X3dpbmRvd190eXBlICgpOworKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF93bV9jbGFzcyAo KTsKKysJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfd21fY2xhc3NfaW5zdGFuY2UgKCk7Cisr CQlwdWJsaWMgTWV0YS5SZWN0YW5nbGUgZ2V0X3dvcmtfYXJlYV9hbGxfbW9uaXRvcnMgKCk7Cisr CQlwdWJsaWMgTWV0YS5SZWN0YW5nbGUgZ2V0X3dvcmtfYXJlYV9jdXJyZW50X21vbml0b3IgKCk7 CisrCQlwdWJsaWMgTWV0YS5SZWN0YW5nbGUgZ2V0X3dvcmtfYXJlYV9mb3JfbW9uaXRvciAoaW50 IHdoaWNoX21vbml0b3IpOworKwkJcHVibGljIHVub3duZWQgTWV0YS5Xb3Jrc3BhY2UgZ2V0X3dv cmtzcGFjZSAoKTsKKysJCXB1YmxpYyBYLldpbmRvdyBnZXRfeHdpbmRvdyAoKTsKKysJCXB1Ymxp YyB2b2lkIGdyb3VwX2xlYWRlcl9jaGFuZ2VkICgpOworKwkJcHVibGljIGJvb2wgaGFzX2ZvY3Vz ICgpOworKwkJcHVibGljIGJvb2wgaXNfYWJvdmUgKCk7CisrCQlwdWJsaWMgYm9vbCBpc19hbHdh eXNfb25fYWxsX3dvcmtzcGFjZXMgKCk7CisrCQlwdWJsaWMgYm9vbCBpc19hbmNlc3Rvcl9vZl90 cmFuc2llbnQgKE1ldGEuV2luZG93IHRyYW5zaWVudCk7CisrCQlwdWJsaWMgYm9vbCBpc19hdHRh Y2hlZF9kaWFsb2cgKCk7CisrCQlwdWJsaWMgYm9vbCBpc19jbGllbnRfZGVjb3JhdGVkICgpOwor KwkJcHVibGljIGJvb2wgaXNfZnVsbHNjcmVlbiAoKTsKKysJCXB1YmxpYyBib29sIGlzX2hpZGRl biAoKTsKKysJCXB1YmxpYyBib29sIGlzX21vbml0b3Jfc2l6ZWQgKCk7CisrCQlwdWJsaWMgYm9v bCBpc19vbl9hbGxfd29ya3NwYWNlcyAoKTsKKysJCXB1YmxpYyBib29sIGlzX29uX3ByaW1hcnlf bW9uaXRvciAoKTsKKysJCXB1YmxpYyBib29sIGlzX292ZXJyaWRlX3JlZGlyZWN0ICgpOworKwkJ cHVibGljIGJvb2wgaXNfcmVtb3RlICgpOworKwkJcHVibGljIGJvb2wgaXNfc2NyZWVuX3NpemVk ICgpOworKwkJcHVibGljIGJvb2wgaXNfc2hhZGVkICgpOworKwkJcHVibGljIGJvb2wgaXNfc2tp cF90YXNrYmFyICgpOworKwkJcHVibGljIHZvaWQga2lsbCAoKTsKKysJCXB1YmxpYyBib29sIGxv Y2F0ZWRfb25fd29ya3NwYWNlIChNZXRhLldvcmtzcGFjZSB3b3Jrc3BhY2UpOworKwkJcHVibGlj IHZvaWQgbG93ZXIgKCk7CisrCQlwdWJsaWMgdm9pZCBtYWtlX2Fib3ZlICgpOworKwkJcHVibGlj IHZvaWQgbWFrZV9mdWxsc2NyZWVuICgpOworKwkJcHVibGljIHZvaWQgbWF4aW1pemUgKE1ldGEu TWF4aW1pemVGbGFncyBkaXJlY3Rpb25zKTsKKysJCXB1YmxpYyB2b2lkIG1pbmltaXplICgpOwor KwkJcHVibGljIHZvaWQgbW92ZV9mcmFtZSAoYm9vbCB1c2VyX29wLCBpbnQgcm9vdF94X253LCBp bnQgcm9vdF95X253KTsKKysJCXB1YmxpYyB2b2lkIG1vdmVfcmVzaXplX2ZyYW1lIChib29sIHVz ZXJfb3AsIGludCByb290X3hfbncsIGludCByb290X3lfbncsIGludCB3LCBpbnQgaCk7CisrCQlw dWJsaWMgdm9pZCBtb3ZlX3RvX21vbml0b3IgKGludCBtb25pdG9yKTsKKysJCXB1YmxpYyB2b2lk IHJhaXNlICgpOworKwkJcHVibGljIGJvb2wgcmVxdWVzdGVkX2J5cGFzc19jb21wb3NpdG9yICgp OworKwkJcHVibGljIGJvb2wgcmVxdWVzdGVkX2RvbnRfYnlwYXNzX2NvbXBvc2l0b3IgKCk7Cisr CQlwdWJsaWMgdm9pZCBzZXRfY29tcG9zaXRvcl9wcml2YXRlIChHTGliLk9iamVjdCBwcml2KTsK KysJCXB1YmxpYyB2b2lkIHNldF9kZW1hbmRzX2F0dGVudGlvbiAoKTsKKysJCXB1YmxpYyB2b2lk IHNldF9pY29uX2dlb21ldHJ5IChNZXRhLlJlY3RhbmdsZT8gcmVjdCk7CisrCQlwdWJsaWMgdm9p ZCBzaGFkZSAodWludDMyIHRpbWVzdGFtcCk7CisrCQlwdWJsaWMgdm9pZCBzaG92ZV90aXRsZWJh cl9vbnNjcmVlbiAoKTsKKysJCXB1YmxpYyBib29sIHNob3dpbmdfb25faXRzX3dvcmtzcGFjZSAo KTsKKysJCXB1YmxpYyB2b2lkIHNodXRkb3duX2dyb3VwICgpOworKwkJcHVibGljIHZvaWQgc3Rp Y2sgKCk7CisrCQlwdWJsaWMgYm9vbCB0aXRsZWJhcl9pc19vbnNjcmVlbiAoKTsKKysJCXB1Ymxp YyB2b2lkIHVubWFrZV9hYm92ZSAoKTsKKysJCXB1YmxpYyB2b2lkIHVubWFrZV9mdWxsc2NyZWVu ICgpOworKwkJcHVibGljIHZvaWQgdW5tYXhpbWl6ZSAoTWV0YS5NYXhpbWl6ZUZsYWdzIGRpcmVj dGlvbnMpOworKwkJcHVibGljIHZvaWQgdW5taW5pbWl6ZSAoKTsKKysJCXB1YmxpYyB2b2lkIHVu c2V0X2RlbWFuZHNfYXR0ZW50aW9uICgpOworKwkJcHVibGljIHZvaWQgdW5zaGFkZSAodWludDMy IHRpbWVzdGFtcCk7CisrCQlwdWJsaWMgdm9pZCB1bnN0aWNrICgpOworKwkJW05vQWNjZXNzb3JN ZXRob2RdCisrCQlwdWJsaWMgYm9vbCBhYm92ZSB7IGdldDsgfQorKwkJW05vQWNjZXNzb3JNZXRo b2RdCisrCQlwdWJsaWMgYm9vbCBhcHBlYXJzX2ZvY3VzZWQgeyBnZXQ7IH0KKysJCVtOb0FjY2Vz c29yTWV0aG9kXQorKwkJcHVibGljIGJvb2wgZGVjb3JhdGVkIHsgZ2V0OyB9CisrCQlbTm9BY2Nl c3Nvck1ldGhvZF0KKysJCXB1YmxpYyBib29sIGRlbWFuZHNfYXR0ZW50aW9uIHsgZ2V0OyB9Cisr CQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyBib29sIGZ1bGxzY3JlZW4geyBnZXQ7IH0K KysJCXB1YmxpYyBzdHJpbmcgZ3RrX2FwcF9tZW51X29iamVjdF9wYXRoIHsgZ2V0OyB9CisrCQlw dWJsaWMgc3RyaW5nIGd0a19hcHBsaWNhdGlvbl9pZCB7IGdldDsgfQorKwkJcHVibGljIHN0cmlu ZyBndGtfYXBwbGljYXRpb25fb2JqZWN0X3BhdGggeyBnZXQ7IH0KKysJCXB1YmxpYyBzdHJpbmcg Z3RrX21lbnViYXJfb2JqZWN0X3BhdGggeyBnZXQ7IH0KKysJCXB1YmxpYyBzdHJpbmcgZ3RrX3Vu aXF1ZV9idXNfbmFtZSB7IGdldDsgfQorKwkJcHVibGljIHN0cmluZyBndGtfd2luZG93X29iamVj dF9wYXRoIHsgZ2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyB2b2lkKiBp Y29uIHsgZ2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyBib29sIG1heGlt aXplZF9ob3Jpem9udGFsbHkgeyBnZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJcHVi bGljIGJvb2wgbWF4aW1pemVkX3ZlcnRpY2FsbHkgeyBnZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0 aG9kXQorKwkJcHVibGljIHZvaWQqIG1pbmlfaWNvbiB7IGdldDsgfQorKwkJW05vQWNjZXNzb3JN ZXRob2RdCisrCQlwdWJsaWMgYm9vbCBtaW5pbWl6ZWQgeyBnZXQ7IH0KKysJCXB1YmxpYyBzdHJp bmcgbXV0dGVyX2hpbnRzIHsgZ2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1Ymxp YyBib29sIG9uX2FsbF93b3Jrc3BhY2VzIHsgZ2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0K KysJCXB1YmxpYyBib29sIHJlc2l6ZWFibGUgeyBnZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9k XQorKwkJcHVibGljIGJvb2wgc2tpcF90YXNrYmFyIHsgZ2V0OyB9CisrCQlwdWJsaWMgc3RyaW5n IHRpdGxlIHsgZ2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyBib29sIHVy Z2VudCB7IGdldDsgfQorKwkJcHVibGljIHVpbnQgdXNlcl90aW1lIHsgZ2V0OyB9CisrCQlwdWJs aWMgTWV0YS5XaW5kb3dUeXBlIHdpbmRvd190eXBlIHsgZ2V0OyB9CisrCQlwdWJsaWMgc3RyaW5n IHdtX2NsYXNzIHsgZ2V0OyB9CisrCQlwdWJsaWMgc2lnbmFsIHZvaWQgcG9zaXRpb25fY2hhbmdl ZCAoKTsKKysJCXB1YmxpYyBzaWduYWwgdm9pZCByYWlzZWQgKCk7CisrCQlwdWJsaWMgc2lnbmFs IHZvaWQgc2hvd24gKCk7CisrCQlwdWJsaWMgc2lnbmFsIHZvaWQgc2l6ZV9jaGFuZ2VkICgpOwor KwkJcHVibGljIHNpZ25hbCB2b2lkIHVubWFuYWdlZCAoKTsKKysJCXB1YmxpYyBzaWduYWwgdm9p ZCB3b3Jrc3BhY2VfY2hhbmdlZCAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9tZXRhLXdpbmRvdy1hY3Rvci5oIiwgdHlwZV9pZCA9ICJtZXRhX3dpbmRvd19hY3Rv cl9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgV2luZG93QWN0b3IgOiBD bHV0dGVyLkFjdG9yLCBBdGsuSW1wbGVtZW50b3IsIENsdXR0ZXIuQW5pbWF0YWJsZSwgQ2x1dHRl ci5Db250YWluZXIsIENsdXR0ZXIuU2NyaXB0YWJsZSB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1 Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgV2luZG93QWN0b3IgKCk7CisrCQlw dWJsaWMgQ2Fpcm8uU3VyZmFjZT8gZ2V0X2ltYWdlIChDYWlyby5SZWN0YW5nbGVJbnQ/IGNsaXAp OworKwkJcHVibGljIHVub3duZWQgTWV0YS5XaW5kb3cgZ2V0X21ldGFfd2luZG93ICgpOworKwkJ cHVibGljIHVub3duZWQgTWV0YS5TaGFwZWRUZXh0dXJlIGdldF90ZXh0dXJlICgpOworKwkJcHVi bGljIGJvb2wgaXNfZGVzdHJveWVkICgpOworKwkJcHVibGljIHZvaWQgc3luY192aXNpYmlsaXR5 ICgpOworKwkJcHVibGljIE1ldGEuV2luZG93IG1ldGFfd2luZG93IHsgZ2V0OyBjb25zdHJ1Y3Q7 IH0KKysJCXB1YmxpYyBzaWduYWwgdm9pZCBkYW1hZ2VkICgpOworKwkJcHVibGljIHNpZ25hbCB2 b2lkIGVmZmVjdHNfY29tcGxldGVkICgpOworKwkJcHVibGljIHNpZ25hbCB2b2lkIGZpcnN0X2Zy YW1lICgpOworKwkJcHVibGljIHNpZ25hbCB2b2lkIHRoYXdlZCAoKTsKKysJfQorKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXdpbmRvdy1ncm91cC5oIiwgdHlwZV9pZCA9 ICJtZXRhX3dpbmRvd19ncm91cF9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgY2xhc3MgV2luZG93 R3JvdXAgOiBDbHV0dGVyLkFjdG9yLCBBdGsuSW1wbGVtZW50b3IsIENsdXR0ZXIuQW5pbWF0YWJs ZSwgQ2x1dHRlci5Db250YWluZXIsIENsdXR0ZXIuU2NyaXB0YWJsZSB7CisrCQlbQ0NvZGUgKGhh c19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgV2luZG93R3JvdXAg KCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0YS13aW5kb3ct c2hhcGUuaCIsIHJlZl9mdW5jdGlvbiA9ICJtZXRhX3dpbmRvd19zaGFwZV9yZWYiLCB0eXBlX2lk ID0gIm1ldGFfd2luZG93X3NoYXBlX2dldF90eXBlICgpIiwgdW5yZWZfZnVuY3Rpb24gPSAibWV0 YV93aW5kb3dfc2hhcGVfdW5yZWYiKV0KKysJW0NvbXBhY3RdCisrCXB1YmxpYyBjbGFzcyBXaW5k b3dTaGFwZSB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisr CQlwdWJsaWMgV2luZG93U2hhcGUgKENhaXJvLlJlZ2lvbiByZWdpb24pOworKwkJcHVibGljIGJv b2wgZXF1YWwgKE1ldGEuV2luZG93U2hhcGUgc2hhcGVfYik7CisrCQlwdWJsaWMgdm9pZCBnZXRf Ym9yZGVycyAoaW50IGJvcmRlcl90b3AsIGludCBib3JkZXJfcmlnaHQsIGludCBib3JkZXJfYm90 dG9tLCBpbnQgYm9yZGVyX2xlZnQpOworKwkJcHVibGljIHVpbnQgaGFzaCAoKTsKKysJCXB1Ymxp YyBNZXRhLldpbmRvd1NoYXBlIEByZWYgKCk7CisrCQlwdWJsaWMgQ2Fpcm8uUmVnaW9uIHRvX3Jl Z2lvbiAoaW50IGNlbnRlcl93aWR0aCwgaW50IGNlbnRlcl9oZWlnaHQpOworKwkJcHVibGljIHZv aWQgdW5yZWYgKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvd29y a3NwYWNlLmgiLCB0eXBlX2lkID0gIm1ldGFfd29ya3NwYWNlX2dldF90eXBlICgpIildCisrCXB1 YmxpYyBjbGFzcyBXb3Jrc3BhY2UgOiBHTGliLk9iamVjdCB7CisrCQlbQ0NvZGUgKGhhc19jb25z dHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgV29ya3NwYWNlICgpOworKwkJ cHVibGljIHZvaWQgYWN0aXZhdGUgKHVpbnQzMiB0aW1lc3RhbXApOworKwkJcHVibGljIHZvaWQg YWN0aXZhdGVfd2l0aF9mb2N1cyAoTWV0YS5XaW5kb3cgZm9jdXNfdGhpcywgdWludDMyIHRpbWVz dGFtcCk7CisrCQlwdWJsaWMgdW5vd25lZCBNZXRhLkRpc3BsYXkgZ2V0X2Rpc3BsYXkgKCk7Cisr CQlwdWJsaWMgdW5vd25lZCBNZXRhLldvcmtzcGFjZSBnZXRfbmVpZ2hib3IgKE1ldGEuTW90aW9u RGlyZWN0aW9uIGRpcmVjdGlvbik7CisrCQlwdWJsaWMgTWV0YS5SZWN0YW5nbGUgZ2V0X3dvcmtf YXJlYV9hbGxfbW9uaXRvcnMgKCk7CisrCQlwdWJsaWMgTWV0YS5SZWN0YW5nbGUgZ2V0X3dvcmtf YXJlYV9mb3JfbW9uaXRvciAoaW50IHdoaWNoX21vbml0b3IpOworKwkJcHVibGljIGludCBpbmRl eCAoKTsKKysJCXB1YmxpYyBHTGliLkxpc3Q8d2VhayBNZXRhLldpbmRvdz4gbGlzdF93aW5kb3dz ICgpOworKwkJcHVibGljIHZvaWQgc2V0X2J1aWx0aW5fc3RydXRzIChHTGliLlNMaXN0PE1ldGEu U3RydXQ/PiBzdHJ1dHMpOworKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgdWludCBu X3dpbmRvd3MgeyBnZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJcHVibGljIHVpbnQg d29ya3NwYWNlX2luZGV4IHsgZ2V0OyB9CisrCQlwdWJsaWMgc2lnbmFsIHZvaWQgd2luZG93X2Fk ZGVkIChNZXRhLldpbmRvdyBvYmplY3QpOworKwkJcHVibGljIHNpZ25hbCB2b2lkIHdpbmRvd19y ZW1vdmVkIChNZXRhLldpbmRvdyBvYmplY3QpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL21ldGEtd29ya3NwYWNlLW1hbmFnZXIuaCIsIHR5cGVfaWQgPSAibWV0YV93 b3Jrc3BhY2VfbWFuYWdlcl9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgY2xhc3MgV29ya3NwYWNl TWFuYWdlciA6IEdMaWIuT2JqZWN0IHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlv biA9IGZhbHNlKV0KKysJCXByb3RlY3RlZCBXb3Jrc3BhY2VNYW5hZ2VyICgpOworKwkJcHVibGlj IHVub3duZWQgTWV0YS5Xb3Jrc3BhY2UgYXBwZW5kX25ld193b3Jrc3BhY2UgKGJvb2wgYWN0aXZh dGUsIHVpbnQzMiB0aW1lc3RhbXApOworKwkJcHVibGljIHVub3duZWQgTWV0YS5Xb3Jrc3BhY2Ug Z2V0X2FjdGl2ZV93b3Jrc3BhY2UgKCk7CisrCQlwdWJsaWMgaW50IGdldF9hY3RpdmVfd29ya3Nw YWNlX2luZGV4ICgpOworKwkJcHVibGljIGludCBnZXRfbl93b3Jrc3BhY2VzICgpOworKwkJcHVi bGljIHVub3duZWQgTWV0YS5Xb3Jrc3BhY2U/IGdldF93b3Jrc3BhY2VfYnlfaW5kZXggKGludCBp bmRleCk7CisrCQlwdWJsaWMgdm9pZCBvdmVycmlkZV93b3Jrc3BhY2VfbGF5b3V0IChNZXRhLkRp c3BsYXlDb3JuZXIgc3RhcnRpbmdfY29ybmVyLCBib29sIHZlcnRpY2FsX2xheW91dCwgaW50IG5f cm93cywgaW50IG5fY29sdW1ucyk7CisrCQlwdWJsaWMgdm9pZCByZW1vdmVfd29ya3NwYWNlIChN ZXRhLldvcmtzcGFjZSB3b3Jrc3BhY2UsIHVpbnQzMiB0aW1lc3RhbXApOworKwkJcHVibGljIHZv aWQgcmVvcmRlcl93b3Jrc3BhY2UgKE1ldGEuV29ya3NwYWNlIHdvcmtzcGFjZSwgaW50IG5ld19p bmRleCk7CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyBpbnQgbGF5b3V0X2NvbHVt bnMgeyBnZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJcHVibGljIGludCBsYXlvdXRf cm93cyB7IGdldDsgfQorKwkJcHVibGljIGludCBuX3dvcmtzcGFjZXMgeyBnZXQ7IH0KKysJCXB1 YmxpYyBzaWduYWwgdm9pZCBhY3RpdmVfd29ya3NwYWNlX2NoYW5nZWQgKCk7CisrCQlwdWJsaWMg c2lnbmFsIHZvaWQgc2hvd2luZ19kZXNrdG9wX2NoYW5nZWQgKCk7CisrCQlwdWJsaWMgc2lnbmFs IHZvaWQgd29ya3NwYWNlX2FkZGVkIChpbnQgb2JqZWN0KTsKKysJCXB1YmxpYyBzaWduYWwgdm9p ZCB3b3Jrc3BhY2VfcmVtb3ZlZCAoaW50IG9iamVjdCk7CisrCQlwdWJsaWMgc2lnbmFsIHZvaWQg d29ya3NwYWNlX3N3aXRjaGVkIChpbnQgb2JqZWN0LCBpbnQgcDAsIE1ldGEuTW90aW9uRGlyZWN0 aW9uIHAxKTsKKysJCXB1YmxpYyBzaWduYWwgdm9pZCB3b3Jrc3BhY2VzX3Jlb3JkZXJlZCAoKTsK KysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXgxMS1kaXNwbGF5 LmgiLCB0eXBlX2lkID0gIm1ldGFfeDExX2Rpc3BsYXlfZ2V0X3R5cGUgKCkiKV0KKysJcHVibGlj IGNsYXNzIFgxMURpc3BsYXkgOiBHTGliLk9iamVjdCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1 Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgWDExRGlzcGxheSAoKTsKKysJCXB1 YmxpYyB2b2lkIGNsZWFyX3N0YWdlX2lucHV0X3JlZ2lvbiAoKTsKKysJCXB1YmxpYyBpbnQgZ2V0 X2RhbWFnZV9ldmVudF9iYXNlICgpOworKwkJcHVibGljIGludCBnZXRfc2NyZWVuX251bWJlciAo KTsKKysJCXB1YmxpYyBpbnQgZ2V0X3NoYXBlX2V2ZW50X2Jhc2UgKCk7CisrCQlwdWJsaWMgYm9v bCBoYXNfc2hhcGUgKCk7CisrCQlwdWJsaWMgdm9pZCBzZXRfY21fc2VsZWN0aW9uICgpOworKwkJ cHVibGljIHZvaWQgc2V0X3N0YWdlX2lucHV0X3JlZ2lvbiAoWC5Yc2VydmVyUmVnaW9uIHJlZ2lv bik7CisrCQlwdWJsaWMgYm9vbCB4d2luZG93X2lzX2Ffbm9fZm9jdXNfd2luZG93IChYLldpbmRv dyB4d2luZG93KTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRh LWNsb3NlLWRpYWxvZy5oIiwgdHlwZV9jbmFtZSA9ICJNZXRhQ2xvc2VEaWFsb2dJbnRlcmZhY2Ui LCB0eXBlX2lkID0gIm1ldGFfY2xvc2VfZGlhbG9nX2dldF90eXBlICgpIildCisrCXB1YmxpYyBp bnRlcmZhY2UgQ2xvc2VEaWFsb2cgOiBHTGliLk9iamVjdCB7CisrCQlwdWJsaWMgYWJzdHJhY3Qg dm9pZCBmb2N1cyAoKTsKKysJCXB1YmxpYyBhYnN0cmFjdCB2b2lkIGhpZGUgKCk7CisrCQlwdWJs aWMgYm9vbCBpc192aXNpYmxlICgpOworKwkJcHVibGljIGFic3RyYWN0IHZvaWQgc2hvdyAoKTsK KysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJcHVibGljIGFic3RyYWN0IE1ldGEuV2luZG93IHdp bmRvdyB7IG93bmVkIGdldDsgY29uc3RydWN0OyB9CisrCQlbSGFzRW1pdHRlcl0KKysJCXB1Ymxp YyBzaWduYWwgdm9pZCByZXNwb25zZSAoTWV0YS5DbG9zZURpYWxvZ1Jlc3BvbnNlIHJlc3BvbnNl KTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLWluaGliaXQt c2hvcnRjdXRzLWRpYWxvZy5oIiwgdHlwZV9jbmFtZSA9ICJNZXRhSW5oaWJpdFNob3J0Y3V0c0Rp YWxvZ0ludGVyZmFjZSIsIHR5cGVfaWQgPSAibWV0YV9pbmhpYml0X3Nob3J0Y3V0c19kaWFsb2df Z2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGludGVyZmFjZSBJbmhpYml0U2hvcnRjdXRzRGlhbG9n IDogR0xpYi5PYmplY3QgeworKwkJcHVibGljIGFic3RyYWN0IHZvaWQgaGlkZSAoKTsKKysJCXB1 YmxpYyBhYnN0cmFjdCB2b2lkIHNob3cgKCk7CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1 YmxpYyBhYnN0cmFjdCBNZXRhLldpbmRvdyB3aW5kb3cgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsg fQorKwkJW0hhc0VtaXR0ZXJdCisrCQlwdWJsaWMgc2lnbmFsIHZvaWQgcmVzcG9uc2UgKE1ldGEu SW5oaWJpdFNob3J0Y3V0c0RpYWxvZ1Jlc3BvbnNlIHJlc3BvbnNlKTsKKysJfQorKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0K KysJcHVibGljIHN0cnVjdCBCdXR0b25MYXlvdXQgeworKwkJW0NDb2RlIChhcnJheV9sZW5ndGgg PSBmYWxzZSldCisrCQlwdWJsaWMgd2VhayBNZXRhLkJ1dHRvbkZ1bmN0aW9uIGxlZnRfYnV0dG9u c1s0XTsKKysJCVtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXQorKwkJcHVibGljIHdlYWsg Ym9vbCBsZWZ0X2J1dHRvbnNfaGFzX3NwYWNlcls0XTsKKysJCVtDQ29kZSAoYXJyYXlfbGVuZ3Ro ID0gZmFsc2UpXQorKwkJcHVibGljIHdlYWsgTWV0YS5CdXR0b25GdW5jdGlvbiByaWdodF9idXR0 b25zWzRdOworKwkJW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldCisrCQlwdWJsaWMgd2Vh ayBib29sIHJpZ2h0X2J1dHRvbnNfaGFzX3NwYWNlcls0XTsKKysJfQorKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJcHVi bGljIHN0cnVjdCBFZGdlIHsKKysJCXB1YmxpYyBNZXRhLlJlY3RhbmdsZSByZWN0OworKwkJcHVi bGljIE1ldGEuU2lkZSBzaWRlX3R5cGU7CisrCQlwdWJsaWMgTWV0YS5FZGdlVHlwZSBlZGdlX3R5 cGU7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgaGFz X3R5cGVfaWQgPSBmYWxzZSldCisrCXB1YmxpYyBzdHJ1Y3QgRnJhbWVCb3JkZXJzIHsKKysJCXB1 YmxpYyBHdGsuQm9yZGVyIHZpc2libGU7CisrCQlwdWJsaWMgR3RrLkJvcmRlciBpbnZpc2libGU7 CisrCQlwdWJsaWMgR3RrLkJvcmRlciB0b3RhbDsKKysJCXB1YmxpYyB2b2lkIGNsZWFyICgpOwor Kwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtcGx1Z2luLmgiLCBo YXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJcHVibGljIHN0cnVjdCBQbHVnaW5JbmZvIHsKKysJCXB1 YmxpYyB3ZWFrIHN0cmluZyBuYW1lOworKwkJcHVibGljIHdlYWsgc3RyaW5nIHZlcnNpb247Cisr CQlwdWJsaWMgd2VhayBzdHJpbmcgYXV0aG9yOworKwkJcHVibGljIHdlYWsgc3RyaW5nIGxpY2Vu c2U7CisrCQlwdWJsaWMgd2VhayBzdHJpbmcgZGVzY3JpcHRpb247CisrCX0KKysJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisr CXB1YmxpYyBzdHJ1Y3QgUGx1Z2luVmVyc2lvbiB7CisrCQlwdWJsaWMgdWludCB2ZXJzaW9uX21h am9yOworKwkJcHVibGljIHVpbnQgdmVyc2lvbl9taW5vcjsKKysJCXB1YmxpYyB1aW50IHZlcnNp b25fbWljcm87CisrCQlwdWJsaWMgdWludCB2ZXJzaW9uX2FwaTsKKysJfQorKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRf Y29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9pZCA9ICJtZXRhX3Jl Y3RhbmdsZV9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgc3RydWN0IFJlY3RhbmdsZSB7CisrCQlw dWJsaWMgaW50IHg7CisrCQlwdWJsaWMgaW50IHk7CisrCQlwdWJsaWMgaW50IHdpZHRoOworKwkJ cHVibGljIGludCBoZWlnaHQ7CisrCQlwdWJsaWMgaW50IGFyZWEgKCk7CisrCQlwdWJsaWMgYm9v bCBjb250YWluc19yZWN0IChNZXRhLlJlY3RhbmdsZSBpbm5lcl9yZWN0KTsKKysJCXB1YmxpYyBN ZXRhLlJlY3RhbmdsZT8gY29weSAoKTsKKysJCXB1YmxpYyBib29sIGNvdWxkX2ZpdF9yZWN0IChN ZXRhLlJlY3RhbmdsZSBpbm5lcl9yZWN0KTsKKysJCXB1YmxpYyBib29sIGVxdWFsIChNZXRhLlJl Y3RhbmdsZSBzcmMyKTsKKysJCXB1YmxpYyB2b2lkIGZyZWUgKCk7CisrCQlwdWJsaWMgYm9vbCBo b3Jpel9vdmVybGFwIChNZXRhLlJlY3RhbmdsZSByZWN0Mik7CisrCQlwdWJsaWMgYm9vbCBpbnRl cnNlY3QgKE1ldGEuUmVjdGFuZ2xlIHNyYzIsIG91dCBNZXRhLlJlY3RhbmdsZSBkZXN0KTsKKysJ CXB1YmxpYyBib29sIG92ZXJsYXAgKE1ldGEuUmVjdGFuZ2xlIHJlY3QyKTsKKysJCXB1YmxpYyBN ZXRhLlJlY3RhbmdsZSB1bmlvbiAoTWV0YS5SZWN0YW5nbGUgcmVjdDIpOworKwkJcHVibGljIGJv b2wgdmVydF9vdmVybGFwIChNZXRhLlJlY3RhbmdsZSByZWN0Mik7CisrCX0KKysJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisr CXB1YmxpYyBzdHJ1Y3QgU2hhZG93UGFyYW1zIHsKKysJCXB1YmxpYyBpbnQgcmFkaXVzOworKwkJ cHVibGljIGludCB0b3BfZmFkZTsKKysJCXB1YmxpYyBpbnQgeF9vZmZzZXQ7CisrCQlwdWJsaWMg aW50IHlfb2Zmc2V0OworKwkJcHVibGljIHVpbnQ4IG9wYWNpdHk7CisrCX0KKysJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisr CXB1YmxpYyBzdHJ1Y3QgU3RydXQgeworKwkJcHVibGljIE1ldGEuUmVjdGFuZ2xlIHJlY3Q7Cisr CQlwdWJsaWMgTWV0YS5TaWRlIHNpZGU7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0JBUlJJRVJfRElSRUNUSU9OXyIsIHR5 cGVfaWQgPSAibWV0YV9iYXJyaWVyX2RpcmVjdGlvbl9nZXRfdHlwZSAoKSIpXQorKwlbRmxhZ3Nd CisrCXB1YmxpYyBlbnVtIEJhcnJpZXJEaXJlY3Rpb24geworKwkJUE9TSVRJVkVfWCwKKysJCVBP U0lUSVZFX1ksCisrCQlORUdBVElWRV9YLAorKwkJTkVHQVRJVkVfWQorKwl9CisrCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9CVVRUT05f RlVOQ1RJT05fIiwgdHlwZV9pZCA9ICJtZXRhX2J1dHRvbl9mdW5jdGlvbl9nZXRfdHlwZSAoKSIp XQorKwlwdWJsaWMgZW51bSBCdXR0b25GdW5jdGlvbiB7CisrCQlNRU5VLAorKwkJTUlOSU1JWkUs CisrCQlNQVhJTUlaRSwKKysJCUNMT1NFLAorKwkJTEFTVAorKwl9CisrCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9DTE9TRV9ESUFMT0df UkVTUE9OU0VfIiwgdHlwZV9pZCA9ICJtZXRhX2Nsb3NlX2RpYWxvZ19yZXNwb25zZV9nZXRfdHlw ZSAoKSIpXQorKwlwdWJsaWMgZW51bSBDbG9zZURpYWxvZ1Jlc3BvbnNlIHsKKysJCVdBSVQsCisr CQlGT1JDRV9DTE9TRQorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21h aW4uaCIsIGNwcmVmaXggPSAiTUVUQV9DT01QX0VGRkVDVF8iLCB0eXBlX2lkID0gIm1ldGFfY29t cF9lZmZlY3RfZ2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGVudW0gQ29tcEVmZmVjdCB7CisrCQlD UkVBVEUsCisrCQlVTk1JTklNSVpFLAorKwkJREVTVFJPWSwKKysJCU1JTklNSVpFLAorKwkJTk9O RQorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVm aXggPSAiTUVUQV9DVVJTT1JfIiwgdHlwZV9pZCA9ICJtZXRhX2N1cnNvcl9nZXRfdHlwZSAoKSIp XQorKwlwdWJsaWMgZW51bSBDdXJzb3IgeworKwkJTk9ORSwKKysJCURFRkFVTFQsCisrCQlOT1JU SF9SRVNJWkUsCisrCQlTT1VUSF9SRVNJWkUsCisrCQlXRVNUX1JFU0laRSwKKysJCUVBU1RfUkVT SVpFLAorKwkJU0VfUkVTSVpFLAorKwkJU1dfUkVTSVpFLAorKwkJTkVfUkVTSVpFLAorKwkJTldf UkVTSVpFLAorKwkJTU9WRV9PUl9SRVNJWkVfV0lORE9XLAorKwkJQlVTWSwKKysJCURORF9JTl9E UkFHLAorKwkJRE5EX01PVkUsCisrCQlETkRfQ09QWSwKKysJCURORF9VTlNVUFBPUlRFRF9UQVJH RVQsCisrCQlQT0lOVElOR19IQU5ELAorKwkJQ1JPU1NIQUlSLAorKwkJSUJFQU0sCisrCQlMQVNU CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZp eCA9ICJNRVRBX0RFQlVHXyIsIHR5cGVfaWQgPSAibWV0YV9kZWJ1Z190b3BpY19nZXRfdHlwZSAo KSIpXQorKwlbRmxhZ3NdCisrCXB1YmxpYyBlbnVtIERlYnVnVG9waWMgeworKwkJVkVSQk9TRSwK KysJCUZPQ1VTLAorKwkJV09SS0FSRUEsCisrCQlTVEFDSywKKysJCVRIRU1FUywKKysJCVNNLAor KwkJRVZFTlRTLAorKwkJV0lORE9XX1NUQVRFLAorKwkJV0lORE9XX09QUywKKysJCUdFT01FVFJZ LAorKwkJUExBQ0VNRU5ULAorKwkJUElORywKKysJCVhJTkVSQU1BLAorKwkJS0VZQklORElOR1Ms CisrCQlTWU5DLAorKwkJRVJST1JTLAorKwkJU1RBUlRVUCwKKysJCVBSRUZTLAorKwkJR1JPVVBT LAorKwkJUkVTSVpJTkcsCisrCQlTSEFQRVMsCisrCQlDT01QT1NJVE9SLAorKwkJRURHRV9SRVNJ U1RBTkNFLAorKwkJREJVUworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRh L21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9ESVJFQ1RJT05fIiwgdHlwZV9pZCA9ICJtZXRhX2Rp cmVjdGlvbl9nZXRfdHlwZSAoKSIpXQorKwlbRmxhZ3NdCisrCXB1YmxpYyBlbnVtIERpcmVjdGlv biB7CisrCQlMRUZULAorKwkJUklHSFQsCisrCQlUT1AsCisrCQlCT1RUT00sCisrCQlVUCwKKysJ CURPV04sCisrCQlIT1JJWk9OVEFMLAorKwkJVkVSVElDQUwKKysJfQorKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfRElTUExBWV8iLCB0 eXBlX2lkID0gIm1ldGFfZGlzcGxheV9jb3JuZXJfZ2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGVu dW0gRGlzcGxheUNvcm5lciB7CisrCQlUT1BMRUZULAorKwkJVE9QUklHSFQsCisrCQlCT1RUT01M RUZULAorKwkJQk9UVE9NUklHSFQKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi bWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfRElTUExBWV8iLCB0eXBlX2lkID0gIm1ldGFf ZGlzcGxheV9kaXJlY3Rpb25fZ2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGVudW0gRGlzcGxheURp cmVjdGlvbiB7CisrCQlVUCwKKysJCURPV04sCisrCQlMRUZULAorKwkJUklHSFQKKysJfQorKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFf RURHRV8iLCB0eXBlX2lkID0gIm1ldGFfZWRnZV90eXBlX2dldF90eXBlICgpIildCisrCXB1Ymxp YyBlbnVtIEVkZ2VUeXBlIHsKKysJCVdJTkRPVywKKysJCU1PTklUT1IsCisrCQlTQ1JFRU4KKysJ fQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0g Ik1FVEFfRVhJVF8iLCB0eXBlX2lkID0gIm1ldGFfZXhpdF9jb2RlX2dldF90eXBlICgpIildCisr CXB1YmxpYyBlbnVtIEV4aXRDb2RlIHsKKysJCVNVQ0NFU1MsCisrCQlFUlJPUgorKwl9CisrCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9G UkFNRV8iLCB0eXBlX2lkID0gIm1ldGFfZnJhbWVfZmxhZ3NfZ2V0X3R5cGUgKCkiKV0KKysJW0Zs YWdzXQorKwlwdWJsaWMgZW51bSBGcmFtZUZsYWdzIHsKKysJCUFMTE9XU19ERUxFVEUsCisrCQlB TExPV1NfTUVOVSwKKysJCUFMTE9XU19NSU5JTUlaRSwKKysJCUFMTE9XU19NQVhJTUlaRSwKKysJ CUFMTE9XU19WRVJUSUNBTF9SRVNJWkUsCisrCQlBTExPV1NfSE9SSVpPTlRBTF9SRVNJWkUsCisr CQlIQVNfRk9DVVMsCisrCQlTSEFERUQsCisrCQlTVFVDSywKKysJCU1BWElNSVpFRCwKKysJCUFM TE9XU19TSEFERSwKKysJCUFMTE9XU19NT1ZFLAorKwkJRlVMTFNDUkVFTiwKKysJCUFCT1ZFLAor KwkJVElMRURfTEVGVCwKKysJCVRJTEVEX1JJR0hUCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0ZSQU1FX1RZUEVfIiwgdHlw ZV9pZCA9ICJtZXRhX2ZyYW1lX3R5cGVfZ2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGVudW0gRnJh bWVUeXBlIHsKKysJCU5PUk1BTCwKKysJCURJQUxPRywKKysJCU1PREFMX0RJQUxPRywKKysJCVVU SUxJVFksCisrCQlNRU5VLAorKwkJQk9SREVSLAorKwkJQVRUQUNIRUQsCisrCQlMQVNUOworKwkJ cHVibGljIHVub3duZWQgc3RyaW5nIHRvX3N0cmluZyAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfR1JBQl9PUF8iLCB0 eXBlX2lkID0gIm1ldGFfZ3JhYl9vcF9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgZW51bSBHcmFi T3AgeworKwkJTk9ORSwKKysJCVdJTkRPV19CQVNFLAorKwkJQ09NUE9TSVRPUiwKKysJCVdBWUxB TkRfUE9QVVAsCisrCQlGUkFNRV9CVVRUT04sCisrCQlNT1ZJTkcsCisrCQlSRVNJWklOR19OVywK KysJCVJFU0laSU5HX04sCisrCQlSRVNJWklOR19ORSwKKysJCVJFU0laSU5HX0UsCisrCQlSRVNJ WklOR19TVywKKysJCVJFU0laSU5HX1MsCisrCQlSRVNJWklOR19TRSwKKysJCVJFU0laSU5HX1cs CisrCQlLRVlCT0FSRF9NT1ZJTkcsCisrCQlLRVlCT0FSRF9SRVNJWklOR19VTktOT1dOLAorKwkJ S0VZQk9BUkRfUkVTSVpJTkdfTlcsCisrCQlLRVlCT0FSRF9SRVNJWklOR19OLAorKwkJS0VZQk9B UkRfUkVTSVpJTkdfTkUsCisrCQlLRVlCT0FSRF9SRVNJWklOR19FLAorKwkJS0VZQk9BUkRfUkVT SVpJTkdfU1csCisrCQlLRVlCT0FSRF9SRVNJWklOR19TLAorKwkJS0VZQk9BUkRfUkVTSVpJTkdf U0UsCisrCQlLRVlCT0FSRF9SRVNJWklOR19XCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0lOSElCSVRfU0hPUlRDVVRTX0RJ QUxPR19SRVNQT05TRV8iLCB0eXBlX2lkID0gIm1ldGFfaW5oaWJpdF9zaG9ydGN1dHNfZGlhbG9n X3Jlc3BvbnNlX2dldF90eXBlICgpIildCisrCXB1YmxpYyBlbnVtIEluaGliaXRTaG9ydGN1dHNE aWFsb2dSZXNwb25zZSB7CisrCQlBTExPVywKKysJCURFTlkKKysJfQorKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfS0VZQklORElOR19B Q1RJT05fIiwgdHlwZV9pZCA9ICJtZXRhX2tleV9iaW5kaW5nX2FjdGlvbl9nZXRfdHlwZSAoKSIp XQorKwlwdWJsaWMgZW51bSBLZXlCaW5kaW5nQWN0aW9uIHsKKysJCU5PTkUsCisrCQlXT1JLU1BB Q0VfMSwKKysJCVdPUktTUEFDRV8yLAorKwkJV09SS1NQQUNFXzMsCisrCQlXT1JLU1BBQ0VfNCwK KysJCVdPUktTUEFDRV81LAorKwkJV09SS1NQQUNFXzYsCisrCQlXT1JLU1BBQ0VfNywKKysJCVdP UktTUEFDRV84LAorKwkJV09SS1NQQUNFXzksCisrCQlXT1JLU1BBQ0VfMTAsCisrCQlXT1JLU1BB Q0VfMTEsCisrCQlXT1JLU1BBQ0VfMTIsCisrCQlXT1JLU1BBQ0VfTEVGVCwKKysJCVdPUktTUEFD RV9SSUdIVCwKKysJCVdPUktTUEFDRV9VUCwKKysJCVdPUktTUEFDRV9ET1dOLAorKwkJV09SS1NQ QUNFX0xBU1QsCisrCQlTV0lUQ0hfQVBQTElDQVRJT05TLAorKwkJU1dJVENIX0FQUExJQ0FUSU9O U19CQUNLV0FSRCwKKysJCVNXSVRDSF9HUk9VUCwKKysJCVNXSVRDSF9HUk9VUF9CQUNLV0FSRCwK KysJCVNXSVRDSF9XSU5ET1dTLAorKwkJU1dJVENIX1dJTkRPV1NfQkFDS1dBUkQsCisrCQlTV0lU Q0hfUEFORUxTLAorKwkJU1dJVENIX1BBTkVMU19CQUNLV0FSRCwKKysJCUNZQ0xFX0dST1VQLAor KwkJQ1lDTEVfR1JPVVBfQkFDS1dBUkQsCisrCQlDWUNMRV9XSU5ET1dTLAorKwkJQ1lDTEVfV0lO RE9XU19CQUNLV0FSRCwKKysJCUNZQ0xFX1BBTkVMUywKKysJCUNZQ0xFX1BBTkVMU19CQUNLV0FS RCwKKysJCVNIT1dfREVTS1RPUCwKKysJCVBBTkVMX01BSU5fTUVOVSwKKysJCVBBTkVMX1JVTl9E SUFMT0csCisrCQlUT0dHTEVfUkVDT1JESU5HLAorKwkJU0VUX1NQRVdfTUFSSywKKysJCUFDVElW QVRFX1dJTkRPV19NRU5VLAorKwkJVE9HR0xFX0ZVTExTQ1JFRU4sCisrCQlUT0dHTEVfTUFYSU1J WkVELAorKwkJVE9HR0xFX1RJTEVEX0xFRlQsCisrCQlUT0dHTEVfVElMRURfUklHSFQsCisrCQlU T0dHTEVfQUJPVkUsCisrCQlNQVhJTUlaRSwKKysJCVVOTUFYSU1JWkUsCisrCQlUT0dHTEVfU0hB REVELAorKwkJTUlOSU1JWkUsCisrCQlDTE9TRSwKKysJCUJFR0lOX01PVkUsCisrCQlCRUdJTl9S RVNJWkUsCisrCQlUT0dHTEVfT05fQUxMX1dPUktTUEFDRVMsCisrCQlNT1ZFX1RPX1dPUktTUEFD RV8xLAorKwkJTU9WRV9UT19XT1JLU1BBQ0VfMiwKKysJCU1PVkVfVE9fV09SS1NQQUNFXzMsCisr CQlNT1ZFX1RPX1dPUktTUEFDRV80LAorKwkJTU9WRV9UT19XT1JLU1BBQ0VfNSwKKysJCU1PVkVf VE9fV09SS1NQQUNFXzYsCisrCQlNT1ZFX1RPX1dPUktTUEFDRV83LAorKwkJTU9WRV9UT19XT1JL U1BBQ0VfOCwKKysJCU1PVkVfVE9fV09SS1NQQUNFXzksCisrCQlNT1ZFX1RPX1dPUktTUEFDRV8x MCwKKysJCU1PVkVfVE9fV09SS1NQQUNFXzExLAorKwkJTU9WRV9UT19XT1JLU1BBQ0VfMTIsCisr CQlNT1ZFX1RPX1dPUktTUEFDRV9MRUZULAorKwkJTU9WRV9UT19XT1JLU1BBQ0VfUklHSFQsCisr CQlNT1ZFX1RPX1dPUktTUEFDRV9VUCwKKysJCU1PVkVfVE9fV09SS1NQQUNFX0RPV04sCisrCQlN T1ZFX1RPX1dPUktTUEFDRV9MQVNULAorKwkJTU9WRV9UT19NT05JVE9SX0xFRlQsCisrCQlNT1ZF X1RPX01PTklUT1JfUklHSFQsCisrCQlNT1ZFX1RPX01PTklUT1JfVVAsCisrCQlNT1ZFX1RPX01P TklUT1JfRE9XTiwKKysJCVJBSVNFX09SX0xPV0VSLAorKwkJUkFJU0UsCisrCQlMT1dFUiwKKysJ CU1BWElNSVpFX1ZFUlRJQ0FMTFksCisrCQlNQVhJTUlaRV9IT1JJWk9OVEFMTFksCisrCQlNT1ZF X1RPX0NPUk5FUl9OVywKKysJCU1PVkVfVE9fQ09STkVSX05FLAorKwkJTU9WRV9UT19DT1JORVJf U1csCisrCQlNT1ZFX1RPX0NPUk5FUl9TRSwKKysJCU1PVkVfVE9fU0lERV9OLAorKwkJTU9WRV9U T19TSURFX1MsCisrCQlNT1ZFX1RPX1NJREVfRSwKKysJCU1PVkVfVE9fU0lERV9XLAorKwkJTU9W RV9UT19DRU5URVIsCisrCQlPVkVSTEFZX0tFWSwKKysJCUxPQ0FURV9QT0lOVEVSX0tFWSwKKysJ CUlTT19ORVhUX0dST1VQLAorKwkJQUxXQVlTX09OX1RPUCwKKysJCVNXSVRDSF9NT05JVE9SLAor KwkJUk9UQVRFX01PTklUT1IsCisrCQlMQVNUCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0tFWV9CSU5ESU5HXyIsIHR5cGVf aWQgPSAibWV0YV9rZXlfYmluZGluZ19mbGFnc19nZXRfdHlwZSAoKSIpXQorKwlbRmxhZ3NdCisr CXB1YmxpYyBlbnVtIEtleUJpbmRpbmdGbGFncyB7CisrCQlOT05FLAorKwkJUEVSX1dJTkRPVywK KysJCUJVSUxUSU4sCisrCQlJU19SRVZFUlNFRCwKKysJCU5PTl9NQVNLQUJMRSwKKysJCUlHTk9S RV9BVVRPUkVQRUFULAorKwkJTk9fQVVUT19HUkFCCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0xBVEVSXyIsIHR5cGVfaWQg PSAibWV0YV9sYXRlcl90eXBlX2dldF90eXBlICgpIildCisrCXB1YmxpYyBlbnVtIExhdGVyVHlw ZSB7CisrCQlSRVNJWkUsCisrCQlDQUxDX1NIT1dJTkcsCisrCQlDSEVDS19GVUxMU0NSRUVOLAor KwkJU1lOQ19TVEFDSywKKysJCUJFRk9SRV9SRURSQVcsCisrCQlJRExFCisrCX0KKysJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0xPQ0FM RV9ESVJFQ1RJT05fIiwgdHlwZV9pZCA9ICJtZXRhX2xvY2FsZV9kaXJlY3Rpb25fZ2V0X3R5cGUg KCkiKV0KKysJcHVibGljIGVudW0gTG9jYWxlRGlyZWN0aW9uIHsKKysJCUxUUiwKKysJCVJUTAor Kwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXgg PSAiTUVUQV9NQVhJTUlaRV8iLCB0eXBlX2lkID0gIm1ldGFfbWF4aW1pemVfZmxhZ3NfZ2V0X3R5 cGUgKCkiKV0KKysJW0ZsYWdzXQorKwlwdWJsaWMgZW51bSBNYXhpbWl6ZUZsYWdzIHsKKysJCUhP UklaT05UQUwsCisrCQlWRVJUSUNBTCwKKysJCUJPVEgKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfTU9EQUxfIiwgdHlwZV9p ZCA9ICJtZXRhX21vZGFsX29wdGlvbnNfZ2V0X3R5cGUgKCkiKV0KKysJW0ZsYWdzXQorKwlwdWJs aWMgZW51bSBNb2RhbE9wdGlvbnMgeworKwkJUE9JTlRFUl9BTFJFQURZX0dSQUJCRUQsCisrCQlL RVlCT0FSRF9BTFJFQURZX0dSQUJCRUQKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfTU9OSVRPUl9TV0lUQ0hfQ09ORklHXyIs IHR5cGVfaWQgPSAibWV0YV9tb25pdG9yX3N3aXRjaF9jb25maWdfdHlwZV9nZXRfdHlwZSAoKSIp XQorKwlwdWJsaWMgZW51bSBNb25pdG9yU3dpdGNoQ29uZmlnVHlwZSB7CisrCQlBTExfTUlSUk9S LAorKwkJQUxMX0xJTkVBUiwKKysJCUVYVEVSTkFMLAorKwkJQlVJTFRJTiwKKysJCVVOS05PV04K KysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4 ID0gIk1FVEFfTU9USU9OXyIsIHR5cGVfaWQgPSAibWV0YV9tb3Rpb25fZGlyZWN0aW9uX2dldF90 eXBlICgpIildCisrCXB1YmxpYyBlbnVtIE1vdGlvbkRpcmVjdGlvbiB7CisrCQlVUCwKKysJCURP V04sCisrCQlMRUZULAorKwkJUklHSFQsCisrCQlVUF9MRUZULAorKwkJVVBfUklHSFQsCisrCQlE T1dOX0xFRlQsCisrCQlET1dOX1JJR0hUCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX1BBRF9BQ1RJT05fIiwgdHlwZV9pZCA9 ICJtZXRhX3BhZF9hY3Rpb25fdHlwZV9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgZW51bSBQYWRB Y3Rpb25UeXBlIHsKKysJCUJVVFRPTiwKKysJCVJJTkcsCisrCQlTVFJJUAorKwl9CisrCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjcHJlZml4ID0gIk1FVEFfUFJF Rl8iLCB0eXBlX2lkID0gIm1ldGFfcHJlZmVyZW5jZV9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMg ZW51bSBQcmVmZXJlbmNlIHsKKysJCU1PVVNFX0JVVFRPTl9NT0RTLAorKwkJRk9DVVNfTU9ERSwK KysJCUZPQ1VTX05FV19XSU5ET1dTLAorKwkJQVRUQUNIX01PREFMX0RJQUxPR1MsCisrCQlSQUlT RV9PTl9DTElDSywKKysJCUFDVElPTl9ET1VCTEVfQ0xJQ0tfVElUTEVCQVIsCisrCQlBQ1RJT05f TUlERExFX0NMSUNLX1RJVExFQkFSLAorKwkJQUNUSU9OX1JJR0hUX0NMSUNLX1RJVExFQkFSLAor KwkJQVVUT19SQUlTRSwKKysJCUFVVE9fUkFJU0VfREVMQVksCisrCQlGT0NVU19DSEFOR0VfT05f UE9JTlRFUl9SRVNULAorKwkJVElUTEVCQVJfRk9OVCwKKysJCU5VTV9XT1JLU1BBQ0VTLAorKwkJ RFlOQU1JQ19XT1JLU1BBQ0VTLAorKwkJS0VZQklORElOR1MsCisrCQlESVNBQkxFX1dPUktBUk9V TkRTLAorKwkJQlVUVE9OX0xBWU9VVCwKKysJCVdPUktTUEFDRV9OQU1FUywKKysJCVZJU1VBTF9C RUxMLAorKwkJQVVESUJMRV9CRUxMLAorKwkJVklTVUFMX0JFTExfVFlQRSwKKysJCUdOT01FX0FD Q0VTU0lCSUxJVFksCisrCQlHTk9NRV9BTklNQVRJT05TLAorKwkJQ1VSU09SX1RIRU1FLAorKwkJ Q1VSU09SX1NJWkUsCisrCQlSRVNJWkVfV0lUSF9SSUdIVF9CVVRUT04sCisrCQlFREdFX1RJTElO RywKKysJCUZPUkNFX0ZVTExTQ1JFRU4sCisrCQlXT1JLU1BBQ0VTX09OTFlfT05fUFJJTUFSWSwK KysJCURSQUdHQUJMRV9CT1JERVJfV0lEVEgsCisrCQlBVVRPX01BWElNSVpFLAorKwkJQ0VOVEVS X05FV19XSU5ET1dTLAorKwkJRFJBR19USFJFU0hPTEQsCisrCQlMT0NBVEVfUE9JTlRFUjsKKysJ CXB1YmxpYyB1bm93bmVkIHN0cmluZyB0b19zdHJpbmcgKCk7CisrCX0KKysJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBXyIsIHR5cGVfaWQg PSAibWV0YV9zZWxlY3Rpb25fdHlwZV9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgZW51bSBTZWxl Y3Rpb25UeXBlIHsKKysJCVNFTEVDVElPTl9QUklNQVJZLAorKwkJU0VMRUNUSU9OX0NMSVBCT0FS RCwKKysJCVNFTEVDVElPTl9ETkQsCisrCQlOX1NFTEVDVElPTl9UWVBFUworKwl9CisrCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9TSEFE T1dfTU9ERV8iLCB0eXBlX2lkID0gIm1ldGFfc2hhZG93X21vZGVfZ2V0X3R5cGUgKCkiKV0KKysJ cHVibGljIGVudW0gU2hhZG93TW9kZSB7CisrCQlBVVRPLAorKwkJRk9SQ0VEX09GRiwKKysJCUZP UkNFRF9PTgorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIs IGNwcmVmaXggPSAiTUVUQV9TSURFXyIsIHR5cGVfaWQgPSAibWV0YV9zaWRlX2dldF90eXBlICgp IildCisrCXB1YmxpYyBlbnVtIFNpZGUgeworKwkJTEVGVCwKKysJCVJJR0hULAorKwkJVE9QLAor KwkJQk9UVE9NCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5o IiwgY3ByZWZpeCA9ICJNRVRBX1NJWkVfQ0hBTkdFXyIsIHR5cGVfaWQgPSAibWV0YV9zaXplX2No YW5nZV9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgZW51bSBTaXplQ2hhbmdlIHsKKysJCU1BWElN SVpFLAorKwkJVU5NQVhJTUlaRSwKKysJCUZVTExTQ1JFRU4sCisrCQlVTkZVTExTQ1JFRU4KKysJ fQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0g Ik1FVEFfTEFZRVJfIiwgdHlwZV9pZCA9ICJtZXRhX3N0YWNrX2xheWVyX2dldF90eXBlICgpIild CisrCXB1YmxpYyBlbnVtIFN0YWNrTGF5ZXIgeworKwkJREVTS1RPUCwKKysJCUJPVFRPTSwKKysJ CU5PUk1BTCwKKysJCVRPUCwKKysJCURPQ0ssCisrCQlPVkVSUklERV9SRURJUkVDVCwKKysJCUxB U1QKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJl Zml4ID0gIk1FVEFfVEFCX0xJU1RfIiwgdHlwZV9pZCA9ICJtZXRhX3RhYl9saXN0X2dldF90eXBl ICgpIildCisrCXB1YmxpYyBlbnVtIFRhYkxpc3QgeworKwkJTk9STUFMLAorKwkJRE9DS1MsCisr CQlHUk9VUCwKKysJCU5PUk1BTF9BTEwKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfVEFCX1NIT1dfIiwgdHlwZV9pZCA9ICJt ZXRhX3RhYl9zaG93X3R5cGVfZ2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGVudW0gVGFiU2hvd1R5 cGUgeworKwkJSUNPTiwKKysJCUlOU1RBTlRMWQorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9WSVJUVUFMXyIsIHR5cGVfaWQg PSAibWV0YV92aXJ0dWFsX21vZGlmaWVyX2dldF90eXBlICgpIildCisrCVtGbGFnc10KKysJcHVi bGljIGVudW0gVmlydHVhbE1vZGlmaWVyIHsKKysJCVNISUZUX01BU0ssCisrCQlDT05UUk9MX01B U0ssCisrCQlBTFRfTUFTSywKKysJCU1FVEFfTUFTSywKKysJCVNVUEVSX01BU0ssCisrCQlIWVBF Ul9NQVNLLAorKwkJTU9EMl9NQVNLLAorKwkJTU9EM19NQVNLLAorKwkJTU9ENF9NQVNLLAorKwkJ TU9ENV9NQVNLCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5o IiwgY3ByZWZpeCA9ICJNRVRBX1dJTkRPV19DTElFTlRfVFlQRV8iLCB0eXBlX2lkID0gIm1ldGFf d2luZG93X2NsaWVudF90eXBlX2dldF90eXBlICgpIildCisrCXB1YmxpYyBlbnVtIFdpbmRvd0Ns aWVudFR5cGUgeworKwkJV0FZTEFORCwKKysJCVgxMQorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9XSU5ET1dfTUVOVV8iLCB0 eXBlX2lkID0gIm1ldGFfd2luZG93X21lbnVfdHlwZV9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMg ZW51bSBXaW5kb3dNZW51VHlwZSB7CisrCQlXTSwKKysJCUFQUAorKwl9CisrCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9XSU5ET1dfIiwg dHlwZV9pZCA9ICJtZXRhX3dpbmRvd190eXBlX2dldF90eXBlICgpIildCisrCXB1YmxpYyBlbnVt IFdpbmRvd1R5cGUgeworKwkJTk9STUFMLAorKwkJREVTS1RPUCwKKysJCURPQ0ssCisrCQlESUFM T0csCisrCQlNT0RBTF9ESUFMT0csCisrCQlUT09MQkFSLAorKwkJTUVOVSwKKysJCVVUSUxJVFks CisrCQlTUExBU0hTQ1JFRU4sCisrCQlEUk9QRE9XTl9NRU5VLAorKwkJUE9QVVBfTUVOVSwKKysJ CVRPT0xUSVAsCisrCQlOT1RJRklDQVRJT04sCisrCQlDT01CTywKKysJCURORCwKKysJCU9WRVJS SURFX09USEVSCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5o IiwgaW5zdGFuY2VfcG9zID0gMi45KV0KKysJcHVibGljIGRlbGVnYXRlIHZvaWQgSWRsZU1vbml0 b3JXYXRjaEZ1bmMgKE1ldGEuSWRsZU1vbml0b3IgbW9uaXRvciwgdWludCB3YXRjaF9pZCk7Cisr CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGluc3RhbmNlX3BvcyA9 IDQuOSldCisrCXB1YmxpYyBkZWxlZ2F0ZSB2b2lkIEtleUhhbmRsZXJGdW5jIChNZXRhLkRpc3Bs YXkgZGlzcGxheSwgTWV0YS5XaW5kb3cgd2luZG93LCBbQ0NvZGUgKHR5cGUgPSAiQ2x1dHRlcktl eUV2ZW50KiIpXSBDbHV0dGVyLktleUV2ZW50PyBldmVudCwgTWV0YS5LZXlCaW5kaW5nIGJpbmRp bmcpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBpbnN0YW5j ZV9wb3MgPSAxLjkpXQorKwlwdWJsaWMgZGVsZWdhdGUgdm9pZCBQcmVmc0NoYW5nZWRGdW5jIChN ZXRhLlByZWZlcmVuY2UgcHJlZik7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRh L21haW4uaCIsIGluc3RhbmNlX3BvcyA9IDEuOSldCisrCXB1YmxpYyBkZWxlZ2F0ZSBib29sIFdp bmRvd0ZvcmVhY2hGdW5jIChNZXRhLldpbmRvdyB3aW5kb3cpOworKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjbmFtZSA9ICJNRVRBX0NVUlJFTlRfVElNRSIpXQor KwlwdWJsaWMgY29uc3QgaW50IENVUlJFTlRfVElNRTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvbWFpbi5oIiwgY25hbWUgPSAiTUVUQV9ERUZBVUxUX0lDT05fTkFNRSIpXQor KwlwdWJsaWMgY29uc3Qgc3RyaW5nIERFRkFVTFRfSUNPTl9OQU1FOworKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjbmFtZSA9ICJNRVRBX0lDT05fSEVJR0hUIild CisrCXB1YmxpYyBjb25zdCBpbnQgSUNPTl9IRUlHSFQ7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL21haW4uaCIsIGNuYW1lID0gIk1FVEFfSUNPTl9XSURUSCIpXQorKwlwdWJs aWMgY29uc3QgaW50IElDT05fV0lEVEg7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJt ZXRhL21haW4uaCIsIGNuYW1lID0gIk1FVEFfTUFKT1JfVkVSU0lPTiIpXQorKwlwdWJsaWMgY29u c3QgaW50IE1BSk9SX1ZFUlNJT047CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRh L21haW4uaCIsIGNuYW1lID0gIk1FVEFfTUlDUk9fVkVSU0lPTiIpXQorKwlwdWJsaWMgY29uc3Qg aW50IE1JQ1JPX1ZFUlNJT047CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21h aW4uaCIsIGNuYW1lID0gIk1FVEFfTUlOSV9JQ09OX0hFSUdIVCIpXQorKwlwdWJsaWMgY29uc3Qg aW50IE1JTklfSUNPTl9IRUlHSFQ7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRh L21haW4uaCIsIGNuYW1lID0gIk1FVEFfTUlOSV9JQ09OX1dJRFRIIildCisrCXB1YmxpYyBjb25z dCBpbnQgTUlOSV9JQ09OX1dJRFRIOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0 YS9tYWluLmgiLCBjbmFtZSA9ICJNRVRBX01JTk9SX1ZFUlNJT04iKV0KKysJcHVibGljIGNvbnN0 IGludCBNSU5PUl9WRVJTSU9OOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9t YWluLmgiLCBjbmFtZSA9ICJNRVRBX1BMVUdJTl9BUElfVkVSU0lPTiIpXQorKwlwdWJsaWMgY29u c3QgaW50IFBMVUdJTl9BUElfVkVSU0lPTjsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g Im1ldGEvbWFpbi5oIiwgY25hbWUgPSAiTUVUQV9QUklPUklUWV9CRUZPUkVfUkVEUkFXIildCisr CXB1YmxpYyBjb25zdCBpbnQgUFJJT1JJVFlfQkVGT1JFX1JFRFJBVzsKKysJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY25hbWUgPSAiTUVUQV9QUklPUklUWV9QUkVG U19OT1RJRlkiKV0KKysJcHVibGljIGNvbnN0IGludCBQUklPUklUWV9QUkVGU19OT1RJRlk7Cisr CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNuYW1lID0gIk1FVEFf UFJJT1JJVFlfUkVEUkFXIildCisrCXB1YmxpYyBjb25zdCBpbnQgUFJJT1JJVFlfUkVEUkFXOwor KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjbmFtZSA9ICJNRVRB X1BSSU9SSVRZX1JFU0laRSIpXQorKwlwdWJsaWMgY29uc3QgaW50IFBSSU9SSVRZX1JFU0laRTsK KysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY25hbWUgPSAiTUVU QV9WSVJUVUFMX0NPUkVfS0VZQk9BUkRfSUQiKV0KKysJcHVibGljIGNvbnN0IGludCBWSVJUVUFM X0NPUkVfS0VZQk9BUkRfSUQ7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21h aW4uaCIsIGNuYW1lID0gIk1FVEFfVklSVFVBTF9DT1JFX1BPSU5URVJfSUQiKV0KKysJcHVibGlj IGNvbnN0IGludCBWSVJUVUFMX0NPUkVfUE9JTlRFUl9JRDsKKysJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gIm1ldGEvbWFpbi5oIildCisrCXB1YmxpYyBzdGF0aWMgYm9vbCBhY3RpdmF0ZV9z ZXNzaW9uICgpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0K KysJcHVibGljIHN0YXRpYyB2b2lkIGFkZF9jbHV0dGVyX2RlYnVnX2ZsYWdzIChDbHV0dGVyLkRl YnVnRmxhZyBkZWJ1Z19mbGFncywgQ2x1dHRlci5EcmF3RGVidWdGbGFnIGRyYXdfZmxhZ3MsIENs dXR0ZXIuUGlja0RlYnVnRmxhZyBwaWNrX2ZsYWdzKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvbWFpbi5oIildCisrCXB1YmxpYyBzdGF0aWMgdm9pZCBleGl0IChNZXRhLkV4 aXRDb2RlIGNvZGUpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgi KV0KKysJcHVibGljIHN0YXRpYyBzdHJpbmcgZ191dGY4X3N0cm5kdXAgKHN0cmluZyBzcmMsIHNp emVfdCBuKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIildCisr CXB1YmxpYyBzdGF0aWMgdW5vd25lZCBHTGliLk9wdGlvbkNvbnRleHQgZ2V0X29wdGlvbl9jb250 ZXh0ICgpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KKysJ cHVibGljIHN0YXRpYyBib29sIGdldF9yZXBsYWNlX2N1cnJlbnRfd20gKCk7CisrCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQorKwlwdWJsaWMgc3RhdGljIHZvaWQg aW5pdCAoKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIildCisr CXB1YmxpYyBzdGF0aWMgYm9vbCBpc19yZXN0YXJ0ICgpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KKysJcHVibGljIHN0YXRpYyB2b2lkIHF1aXQgKE1ldGEu RXhpdENvZGUgY29kZSk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4u aCIpXQorKwlwdWJsaWMgc3RhdGljIHZvaWQgcmVnaXN0ZXJfd2l0aF9zZXNzaW9uICgpOworKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KKysJcHVibGljIHN0YXRp YyB2b2lkIHJlbW92ZV9jbHV0dGVyX2RlYnVnX2ZsYWdzIChDbHV0dGVyLkRlYnVnRmxhZyBkZWJ1 Z19mbGFncywgQ2x1dHRlci5EcmF3RGVidWdGbGFnIGRyYXdfZmxhZ3MsIENsdXR0ZXIuUGlja0Rl YnVnRmxhZyBwaWNrX2ZsYWdzKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEv bWFpbi5oIildCisrCXB1YmxpYyBzdGF0aWMgdm9pZCByZXN0YXJ0IChzdHJpbmc/IG1lc3NhZ2Up OworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KKysJcHVibGlj IHN0YXRpYyBpbnQgcnVuICgpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9t YWluLmgiKV0KKysJcHVibGljIHN0YXRpYyB2b2lkIHNldF9nbm9tZV93bV9rZXliaW5kaW5ncyAo c3RyaW5nIHdtX2tleWJpbmRpbmdzKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1l dGEvbWFpbi5oIildCisrCXB1YmxpYyBzdGF0aWMgdm9pZCBzZXRfd21fbmFtZSAoc3RyaW5nIHdt X25hbWUpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KKysJ cHVibGljIHN0YXRpYyB2b2lkIHRlc3RfaW5pdCAoKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvbWFpbi5oIildCisrCXB1YmxpYyBzdGF0aWMgYm9vbCB4MTFfaW5pdF9nZGtf ZGlzcGxheSAoKSB0aHJvd3MgR0xpYi5FcnJvcjsKKyt9CitkaWZmIC0tZ2l0IGEvdmFwaS9tdXR0 ZXItY2x1dHRlci02LWN1c3RvbS52YWxhIGIvdmFwaS9tdXR0ZXItY2x1dHRlci02LWN1c3RvbS52 YWxhCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAuLjg5MjI0YmU2CistLS0g L2Rldi9udWxsCisrKysgYi92YXBpL211dHRlci1jbHV0dGVyLTYtY3VzdG9tLnZhbGEKK0BAIC0w LDAgKzEsMTQ3IEBACisrbmFtZXNwYWNlIENsdXR0ZXIgeworKworKyAgcHVibGljIHN0cnVjdCBN YXRyaXggOiBDb2dsLk1hdHJpeCB7CisrICB9CisrCisrICBwdWJsaWMgY2xhc3MgQmFja2VuZCA6 IEdMaWIuT2JqZWN0IHsKKysgICAgW05vV3JhcHBlcl0KKysgICAgcHVibGljIHZpcnR1YWwgdm9p ZCBhZGRfb3B0aW9ucyAoR0xpYi5PcHRpb25Hcm91cCBncm91cCk7CisrICAgIFtOb1dyYXBwZXJd CisrICAgIHB1YmxpYyB2aXJ0dWFsIGJvb2wgY3JlYXRlX2NvbnRleHQgKCkgdGhyb3dzIEdMaWIu RXJyb3I7CisrICAgIFtOb1dyYXBwZXJdCisrICAgIHB1YmxpYyB2aXJ0dWFsIHVub3duZWQgQ2x1 dHRlci5TdGFnZVdpbmRvdyBjcmVhdGVfc3RhZ2UgKENsdXR0ZXIuU3RhZ2Ugd3JhcHBlcikgdGhy b3dzIEdMaWIuRXJyb3I7CisrICAgIFtOb1dyYXBwZXJdCisrICAgIHB1YmxpYyB2aXJ0dWFsIHZv aWQgZW5zdXJlX2NvbnRleHQgKENsdXR0ZXIuU3RhZ2Ugc3RhZ2UpOworKyAgICBbTm9XcmFwcGVy XQorKyAgICBwdWJsaWMgdmlydHVhbCBDbHV0dGVyLkZlYXR1cmVGbGFncyBnZXRfZmVhdHVyZXMg KCk7CisrICAgIFtOb1dyYXBwZXJdCisrICAgIHB1YmxpYyB2aXJ0dWFsIHZvaWQgaW5pdF9ldmVu dHMgKCk7CisrICAgIFtOb1dyYXBwZXJdCisrICAgIHB1YmxpYyB2aXJ0dWFsIHZvaWQgaW5pdF9m ZWF0dXJlcyAoKTsKKysgICAgW05vV3JhcHBlcl0KKysgICAgcHVibGljIHZpcnR1YWwgYm9vbCBw b3N0X3BhcnNlICgpIHRocm93cyBHTGliLkVycm9yOworKyAgICBbTm9XcmFwcGVyXQorKyAgICBw dWJsaWMgdmlydHVhbCBib29sIHByZV9wYXJzZSAoKSB0aHJvd3MgR0xpYi5FcnJvcjsKKysgICAg W05vV3JhcHBlcl0KKysgICAgcHVibGljIHZpcnR1YWwgdm9pZCByZWRyYXcgKENsdXR0ZXIuU3Rh Z2Ugc3RhZ2UpOworKyAgfQorKworKyAgW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2JveF9nZXRfdHlwZSAoKSIpXQorKyAg cHVibGljIGNsYXNzIEJveCA6IENsdXR0ZXIuQWN0b3IgeworKyAgICBwdWJsaWMgQ2x1dHRlci5M YXlvdXRNYW5hZ2VyIGxheW91dF9tYW5hZ2VyIHsgZ2V0OyBzZXQ7IH0KKysgIH0KKysKKysgIFtD Q29kZSAodHlwZV9pZCA9ICJDTFVUVEVSX1RZUEVfQ09MT1IiLCBjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIildCisrICBwdWJsaWMgc3RydWN0IENvbG9yIHsKKysgICAgW0ND b2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbG9yX2Zyb21faGxzIildCisrICAgIHB1YmxpYyBDb2xv ci5mcm9tX2hscyAoZmxvYXQgaHVlLCBmbG9hdCBsdW1pbmFuY2UsIGZsb2F0IHNhdHVyYXRpb24p OworKyAgICBbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfY29sb3JfZnJvbV9waXhlbCIpXQorKyAg ICBwdWJsaWMgQ29sb3IuZnJvbV9waXhlbCAodWludDMyIHBpeGVsKTsKKysgICAgW0NDb2RlIChj bmFtZSA9ICJjbHV0dGVyX2NvbG9yX2Zyb21fc3RyaW5nIildCisrICAgIHB1YmxpYyBDb2xvci5m cm9tX3N0cmluZyAoc3RyaW5nIHN0cik7CisrICAgIFtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl9j b2xvcl9mcm9tX3N0cmluZyIpXQorKyAgICBwdWJsaWMgYm9vbCBwYXJzZV9zdHJpbmcgKHN0cmlu ZyBzdHIpOworKyAgICBwdWJsaWMgc3RhdGljIHVub3duZWQgQ2x1dHRlci5Db2xvcj8gZ2V0X3N0 YXRpYyAoQ2x1dHRlci5TdGF0aWNDb2xvciBjb2xvcik7CisrICB9CisrCisrICBbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJf Y29udGFpbmVyX2dldF90eXBlICgpIildCisrICBwdWJsaWMgaW50ZXJmYWNlIENvbnRhaW5lciA6 IEdMaWIuT2JqZWN0IHsKKysgICAgcHVibGljIHZvaWQgYWRkIChwYXJhbXMgQ2x1dHRlci5BY3Rv cltdIGFjdG9ycyk7CisrICAgIFtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl9jb250YWluZXJfY2xh c3NfZmluZF9jaGlsZF9wcm9wZXJ0eSIpXQorKyAgICBwdWJsaWMgY2xhc3MgdW5vd25lZCBHTGli LlBhcmFtU3BlYyBmaW5kX2NoaWxkX3Byb3BlcnR5IChzdHJpbmcgcHJvcGVydHlfbmFtZSk7Cisr ICAgIFtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl9jb250YWluZXJfY2xhc3NfbGlzdF9jaGlsZF9w cm9wZXJ0aWVzIildCisrICAgIHB1YmxpYyBjbGFzcyB1bm93bmVkIEdMaWIuUGFyYW1TcGVjW10g bGlzdF9jaGlsZF9wcm9wZXJ0aWVzICgpOworKyAgfQorKworKyAgW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2Nv cHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAiY2x1dHRlcl9l dmVudF9nZXRfdHlwZSAoKSIpXQorKyAgW0NvbXBhY3RdCisrICBwdWJsaWMgY2xhc3MgRXZlbnQg eworKyAgICBwdWJsaWMgQ2x1dHRlci5BbnlFdmVudCBhbnkgeyBbQ0NvZGUgKGNuYW1lID0gIihD bHV0dGVyQW55RXZlbnQgKikiKV0gZ2V0OyB9CisrICAgIHB1YmxpYyBDbHV0dGVyLkJ1dHRvbkV2 ZW50IGJ1dHRvbiB7IFtDQ29kZSAoY25hbWUgPSAiKENsdXR0ZXJCdXR0b25FdmVudCAqKSIpXSBn ZXQ7IH0KKysgICAgcHVibGljIENsdXR0ZXIuQ3Jvc3NpbmdFdmVudCBjcm9zc2luZyB7IFtDQ29k ZSAoY25hbWUgPSAiKENsdXR0ZXJDcm9zc2luZ0V2ZW50ICopIildIGdldDsgfQorKyAgICBwdWJs aWMgQ2x1dHRlci5LZXlFdmVudCBrZXkgeyBbQ0NvZGUgKGNuYW1lID0gIihDbHV0dGVyS2V5RXZl bnQgKikiKV0gZ2V0OyB9CisrICAgIHB1YmxpYyBDbHV0dGVyLk1vdGlvbkV2ZW50IG1vdGlvbiB7 IFtDQ29kZSAoY25hbWUgPSAiKENsdXR0ZXJNb3Rpb25FdmVudCAqKSIpXSBnZXQ7IH0KKysgICAg cHVibGljIENsdXR0ZXIuU2Nyb2xsRXZlbnQgc2Nyb2xsIHsgW0NDb2RlIChjbmFtZSA9ICIoQ2x1 dHRlclNjcm9sbEV2ZW50ICopIildIGdldDsgfQorKyAgICBwdWJsaWMgQ2x1dHRlci5TdGFnZVN0 YXRlRXZlbnQgc3RhZ2Vfc3RhdGUgeyBbQ0NvZGUgKGNuYW1lID0gIihDbHV0dGVyU3RhZ2VTdGF0 ZUV2ZW50ICopIildIGdldDsgfQorKyAgICBwdWJsaWMgQ2x1dHRlci5Ub3VjaEV2ZW50IHRvdWNo IHsgW0NDb2RlIChjbmFtZSA9ICIoQ2x1dHRlclRvdWNoRXZlbnQgKikiKV0gZ2V0OyB9CisrICAg IHB1YmxpYyBDbHV0dGVyLlRvdWNocGFkUGluY2hFdmVudCB0b3VjaHBhZF9waW5jaCB7IFtDQ29k ZSAoY25hbWUgPSAiKENsdXR0ZXJUb3VjaHBhZFBpbmNoRXZlbnQgKikiKV0gZ2V0OyB9CisrICAg IHB1YmxpYyBDbHV0dGVyLlRvdWNocGFkU3dpcGVFdmVudCB0b3VjaHBhZF9zd2lwZSB7IFtDQ29k ZSAoY25hbWUgPSAiKENsdXR0ZXJUb3VjaHBhZFN3aXBlRXZlbnQgKikiKV0gZ2V0OyB9CisrICB9 CisrCisrICBbQ0NvZGUgKHR5cGVfaWQgPSAiY2x1dHRlcl9zdGFnZV9nZXRfdHlwZSAoKSIsIGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KKysgIHB1YmxpYyBjbGFzcyBT dGFnZSA6IENsdXR0ZXIuR3JvdXAgeworKyAgICBbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfcmVk cmF3IildCisrICAgIHB1YmxpYyB2b2lkIHJlZHJhdyAoKTsKKysgIH0KKysKKysgIFtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKyAgcHVibGljIGludGVy ZmFjZSBTdGFnZVdpbmRvdyA6IEdMaWIuT2JqZWN0IHsKKysgICAgW05vV3JhcHBlcl0KKysgICAg cHVibGljIGFic3RyYWN0IGludCBnZXRfcGVuZGluZ19zd2FwcyAoKTsKKysgICAgW05vV3JhcHBl cl0KKysgICAgcHVibGljIGFic3RyYWN0IHVub3duZWQgQ2x1dHRlci5BY3RvciBnZXRfd3JhcHBl ciAoKTsKKysgICAgW05vV3JhcHBlcl0KKysgICAgcHVibGljIGFic3RyYWN0IGJvb2wgaGFzX3Jl ZHJhd19jbGlwcyAoKTsKKysgICAgW05vV3JhcHBlcl0KKysgICAgcHVibGljIGFic3RyYWN0IHZv aWQgaGlkZSAoKTsKKysgICAgW05vV3JhcHBlcl0KKysgICAgcHVibGljIGFic3RyYWN0IGJvb2wg aWdub3JpbmdfcmVkcmF3X2NsaXBzICgpOworKyAgICBbTm9XcmFwcGVyXQorKyAgICBwdWJsaWMg YWJzdHJhY3QgYm9vbCByZWFsaXplICgpOworKyAgICBbTm9XcmFwcGVyXQorKyAgICBwdWJsaWMg YWJzdHJhY3Qgdm9pZCByZXNpemUgKGludCB3aWR0aCwgaW50IGhlaWdodCk7CisrICAgIFtOb1dy YXBwZXJdCisrICAgIHB1YmxpYyBhYnN0cmFjdCB2b2lkIHNldF9jdXJzb3JfdmlzaWJsZSAoYm9v bCBjdXJzb3JfdmlzaWJsZSk7CisrICAgIFtOb1dyYXBwZXJdCisrICAgIHB1YmxpYyBhYnN0cmFj dCB2b2lkIHNldF9mdWxsc2NyZWVuIChib29sIGlzX2Z1bGxzY3JlZW4pOworKyAgICBbTm9XcmFw cGVyXQorKyAgICBwdWJsaWMgYWJzdHJhY3Qgdm9pZCBzZXRfdGl0bGUgKHN0cmluZyB0aXRsZSk7 CisrICAgIFtOb1dyYXBwZXJdCisrICAgIHB1YmxpYyBhYnN0cmFjdCB2b2lkIHNldF91c2VyX3Jl c2l6YWJsZSAoYm9vbCBpc19yZXNpemFibGUpOworKyAgICBbTm9XcmFwcGVyXQorKyAgICBwdWJs aWMgYWJzdHJhY3Qgdm9pZCBzaG93IChib29sIGRvX3JhaXNlKTsKKysgICAgW05vV3JhcHBlcl0K KysgICAgcHVibGljIGFic3RyYWN0IHZvaWQgdW5yZWFsaXplICgpOworKyAgfQorKworKyAgW0ND b2RlICh0eXBlX2lkID0gImNsdXR0ZXJfdGV4dHVyZV9nZXRfdHlwZSAoKSIsIGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KKysgIHB1YmxpYyBjbGFzcyBUZXh0dXJlIDog Q2x1dHRlci5BY3RvciB7CisrICAgIHB1YmxpYyBDb2dsLk1hdGVyaWFsIGNvZ2xfbWF0ZXJpYWwg eyBnZXQ7IHNldDsgfQorKyAgICBwdWJsaWMgQ29nbC5UZXh0dXJlIGNvZ2xfdGV4dHVyZSB7IGdl dDsgc2V0OyB9CisrICB9CisrCisrICBbQ29tcGFjdF0KKysgIFtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKyAgcHVibGljIGNsYXNzIFRpbWVvdXRQb29s IHsKKysgICAgW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQorKyAgICBw dWJsaWMgVGltZW91dFBvb2wgKGludCBwcmlvcml0eSk7CisrICB9CisrCisrICBbQ0NvZGUgKGNw cmVmaXggPSAiQ0xVVFRFUl9GRUFUVVJFXyIsIGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiKV0KKysgIFtGbGFnc10KKysgIHB1YmxpYyBlbnVtIEZlYXR1cmVGbGFncyB7Cisr ICAgIFRFWFRVUkVfTlBPVDsKKysgICAgW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2ZlYXR1cmVf YXZhaWxhYmxlIildCisrICAgIHB1YmxpYyBib29sIGlzX2F2YWlsYWJsZSAoKTsKKysgICAgW0ND b2RlIChjbmFtZSA9ICJjbHV0dGVyX2ZlYXR1cmVfZ2V0X2FsbCIpXQorKyAgICBwdWJsaWMgc3Rh dGljIENsdXR0ZXIuRmVhdHVyZUZsYWdzIEBnZXQgKCk7CisrICB9CisrCisrICBbQ0NvZGUgKHR5 cGVfaWQgPSAiQ0xVVFRFUl9UWVBFX1VOSVRTIiwgY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIpXQorKyAgcHVibGljIHN0cnVjdCBVbml0cyB7CisrICAgIFtDQ29kZSAoY25h bWUgPSAiY2x1dHRlcl91bml0c19mcm9tX2NtIildCisrICAgIHB1YmxpYyBVbml0cy5mcm9tX2Nt IChmbG9hdCBjbSk7CisrICAgIFtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91bml0c19mcm9tX2Vt IildCisrICAgIHB1YmxpYyBVbml0cy5mcm9tX2VtIChmbG9hdCBlbSk7CisrICAgIFtDQ29kZSAo Y25hbWUgPSAiY2x1dHRlcl91bml0c19mcm9tX2VtX2Zvcl9mb250IildCisrICAgIHB1YmxpYyBV bml0cy5mcm9tX2VtX2Zvcl9mb250IChzdHJpbmcgZm9udF9uYW1lLCBmbG9hdCBlbSk7CisrICAg IFtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91bml0c19mcm9tX21tIildCisrICAgIHB1YmxpYyBV bml0cy5mcm9tX21tIChmbG9hdCBtbSk7CisrICAgIFtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91 bml0c19mcm9tX3BpeGVscyIpXQorKyAgICBwdWJsaWMgVW5pdHMuZnJvbV9waXhlbHMgKGludCBw eCk7CisrICAgIFtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91bml0c19mcm9tX3B0IildCisrICAg IHB1YmxpYyBVbml0cy5mcm9tX3B0IChmbG9hdCBwdCk7CisrICAgIFtDQ29kZSAoY25hbWUgPSAi Y2x1dHRlcl91bml0c19mcm9tX3N0cmluZyIpXQorKyAgICBwdWJsaWMgVW5pdHMuZnJvbV9zdHJp bmcgKHN0cmluZyBzdHIpOworKyAgfQorK30KK2RpZmYgLS1naXQgYS92YXBpL211dHRlci1jbHV0 dGVyLTYuZGVwcyBiL3ZhcGkvbXV0dGVyLWNsdXR0ZXItNi5kZXBzCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMDAuLjdhNzBkNmRmCistLS0gL2Rldi9udWxsCisrKysgYi92YXBp L211dHRlci1jbHV0dGVyLTYuZGVwcworQEAgLTAsMCArMSw0IEBACisrYXRrCisrY2Fpcm8KKytq c29uLWdsaWItMS4wCisrbXV0dGVyLWNvZ2wtNgorZGlmZiAtLWdpdCBhL3ZhcGkvbXV0dGVyLWNs dXR0ZXItNi52YXBpIGIvdmFwaS9tdXR0ZXItY2x1dHRlci02LnZhcGkKK25ldyBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMDAwMDAwMC4uZDY2ZjlhYzgKKy0tLSAvZGV2L251bGwKKysrKyBiL3Zh cGkvbXV0dGVyLWNsdXR0ZXItNi52YXBpCitAQCAtMCwwICsxLDg2ODcgQEAKKysvKiBtdXR0ZXIt Y2x1dHRlci02LnZhcGkgZ2VuZXJhdGVkIGJ5IHZhcGlnZW4sIGRvIG5vdCBtb2RpZnkuICovCisr CisrW0NDb2RlIChjcHJlZml4ID0gIkNsdXR0ZXIiLCBnaXJfbmFtZXNwYWNlID0gIkNsdXR0ZXIi LCBnaXJfdmVyc2lvbiA9ICI2IiwgbG93ZXJfY2FzZV9jcHJlZml4ID0gImNsdXR0ZXJfIildCisr bmFtZXNwYWNlIENsdXR0ZXIgeworKwluYW1lc3BhY2UgS2V5IHsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzAi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEAwOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMSIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgQDE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8yIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBAMjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEAzOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfMzI3MF9BbHRDdXJzb3IiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEAz MjcwX0FsdEN1cnNvcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfQXR0biIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgQDMyNzBfQXR0bjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfQmFja1RhYiIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgQDMyNzBfQmFja1RhYjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfQ2hh bmdlU2NyZWVuIildCisrCQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9DaGFuZ2VTY3JlZW47Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV8zMjcwX0NvcHkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX0Nv cHk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV8zMjcwX0N1cnNvckJsaW5rIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBAMzI3MF9DdXJzb3JCbGluazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfQ3Vyc29yU2VsZWN0 IildCisrCQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9DdXJzb3JTZWxlY3Q7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV8zMjcwX0RlbGV0ZVdvcmQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX0RlbGV0 ZVdvcmQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8zMjcwX0R1cGxpY2F0ZSIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgQDMyNzBfRHVwbGljYXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9FbnRlciIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgQDMyNzBfRW50ZXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8zMjcwX0VyYXNl RU9GIildCisrCQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9FcmFzZUVPRjsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZXzMyNzBfRXJhc2VJbnB1dCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQDMyNzBfRXJhc2VJ bnB1dDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfRXhTZWxlY3QiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IEAzMjcwX0V4U2VsZWN0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9GaWVsZE1hcmsiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX0ZpZWxkTWFyazsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBf SWRlbnQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX0lkZW50OworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfMzI3MF9KdW1wIildCisrCQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9KdW1wOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfMzI3MF9LZXlDbGljayIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQDMyNzBfS2V5 Q2xpY2s7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8zMjcwX0xlZnQyIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBAMzI3MF9MZWZ0MjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfUEExIildCisrCQlwdWJsaWMgY29u c3QgdWludCBAMzI3MF9QQTE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8zMjcwX1BBMiIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgQDMyNzBfUEEyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9QQTMiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IEAzMjcwX1BBMzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfUGxheSIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgQDMyNzBfUGxheTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfUHJp bnRTY3JlZW4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX1ByaW50U2NyZWVuOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfMzI3MF9RdWl0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9RdWl0 OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9SZWNvcmQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEAz MjcwX1JlY29yZDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfUmVzZXQiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IEAzMjcwX1Jlc2V0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9SaWdodDIiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IEAzMjcwX1JpZ2h0MjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfUnVsZSIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgQDMyNzBfUnVsZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBf U2V0dXAiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX1NldHVwOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfMzI3MF9UZXN0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9UZXN0OworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfNCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQDQ7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV81 IildCisrCQlwdWJsaWMgY29uc3QgdWludCBANTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzYiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IEA2OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfNyIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgQDc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV84IildCisrCQlwdWJsaWMgY29uc3QgdWludCBAODsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZXzkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEA5OworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FFIild CisrCQlwdWJsaWMgY29uc3QgdWludCBBRTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FhY3V0ZSIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgQWFjdXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQWJlbG93ZG90IildCisr CQlwdWJsaWMgY29uc3QgdWludCBBYmVsb3dkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BYnJldmUiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IEFicmV2ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FicmV2ZWFjdXRl IildCisrCQlwdWJsaWMgY29uc3QgdWludCBBYnJldmVhY3V0ZTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Fi cmV2ZWJlbG93ZG90IildCisrCQlwdWJsaWMgY29uc3QgdWludCBBYnJldmViZWxvd2RvdDsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FicmV2ZWdyYXZlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBYnJldmVn cmF2ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0FicmV2ZWhvb2siKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEFicmV2ZWhvb2s7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BYnJldmV0aWxkZSIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgQWJyZXZldGlsZGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BY2Nlc3NYX0VuYWJsZSIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgQWNjZXNzWF9FbmFibGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BY2Nl c3NYX0ZlZWRiYWNrX0VuYWJsZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQWNjZXNzWF9GZWVk YmFja19FbmFibGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BY2lyY3VtZmxleCIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgQWNpcmN1bWZsZXg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BY2lyY3VtZmxleGFjdXRlIild CisrCQlwdWJsaWMgY29uc3QgdWludCBBY2lyY3VtZmxleGFjdXRlOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf QWNpcmN1bWZsZXhiZWxvd2RvdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQWNpcmN1bWZsZXhi ZWxvd2RvdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FjaXJjdW1mbGV4Z3JhdmUiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEFjaXJjdW1mbGV4Z3JhdmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BY2lyY3VtZmxleGhv b2siKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFjaXJjdW1mbGV4aG9vazsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FjaXJjdW1mbGV4dGlsZGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFjaXJjdW1mbGV4 dGlsZGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BZGRGYXZvcml0ZSIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgQWRkRmF2b3JpdGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BZGlhZXJlc2lzIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBBZGlhZXJlc2lzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQWdyYXZlIildCisrCQlwdWJs aWMgY29uc3QgdWludCBBZ3JhdmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BaG9vayIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgQWhvb2s7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BbHRfTCIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgQWx0X0w7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BbHRfUiIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgQWx0X1I7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BbWFjcm9uIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBBbWFjcm9uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQW9nb25layIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgQW9nb25lazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FwcGxpY2F0aW9uTGVmdCIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgQXBwbGljYXRpb25MZWZ0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXBwbGljYXRp b25SaWdodCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXBwbGljYXRpb25SaWdodDsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0FyYWJpY18wIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfMDsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FyYWJpY18xIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfMTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0FyYWJpY18yIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNf MjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY18zIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFi aWNfMzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY180IildCisrCQlwdWJsaWMgY29uc3QgdWludCBB cmFiaWNfNDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY181IildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBBcmFiaWNfNTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY182IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBBcmFiaWNfNjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY183IildCisrCQlwdWJsaWMgY29u c3QgdWludCBBcmFiaWNfNzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY184IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBBcmFiaWNfODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY185IildCisrCQlwdWJs aWMgY29uc3QgdWludCBBcmFiaWNfOTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19haW4iKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19haW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfYWxl ZiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2FsZWY7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cmFiaWNfYWxlZm1ha3N1cmEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19hbGVmbWFr c3VyYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19iZWgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEFyYWJpY19iZWg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfY29tbWEiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEFyYWJpY19jb21tYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19kYWQiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19kYWQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfZGFs IildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfZGFsOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJh YmljX2RhbW1hIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfZGFtbWE7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9BcmFiaWNfZGFtbWF0YW4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19k YW1tYXRhbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19kZGFsIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBBcmFiaWNfZGRhbDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19mYXJzaV95ZWgiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19mYXJzaV95ZWg7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFi aWNfZmF0aGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19mYXRoYTsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0FyYWJpY19mYXRoYXRhbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2Zh dGhhdGFuOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2ZlaCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgQXJhYmljX2ZlaDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19mdWxsc3RvcCIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgQXJhYmljX2Z1bGxzdG9wOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2dh ZiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2dhZjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Fy YWJpY19naGFpbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2doYWluOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQXJhYmljX2hhIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfaGE7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9BcmFiaWNfaGFoIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNf aGFoOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2hhbXphIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBBcmFiaWNfaGFtemE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfaGFtemFfYWJvdmUiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19oYW16YV9hYm92ZTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Fy YWJpY19oYW16YV9iZWxvdyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2hhbXphX2Jl bG93OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2hhbXphb25hbGVmIildCisrCQlwdWJsaWMgY29u c3QgdWludCBBcmFiaWNfaGFtemFvbmFsZWY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfaGFtemFv bndhdyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2hhbXphb253YXc7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9BcmFiaWNfaGFtemFvbnllaCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmlj X2hhbXphb255ZWg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfaGFtemF1bmRlcmFsZWYiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19oYW16YXVuZGVyYWxlZjsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0FyYWJpY19oZWgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19oZWg7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9BcmFiaWNfaGVoX2RvYWNoYXNobWVlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBB cmFiaWNfaGVoX2RvYWNoYXNobWVlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2hlaF9nb2FsIild CisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfaGVoX2dvYWw7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cmFiaWNfamVlbSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2plZW07CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9BcmFiaWNfamVoIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfamVoOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQXJhYmljX2thZiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmlj X2thZjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19rYXNyYSIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgQXJhYmljX2thc3JhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2thc3JhdGFuIildCisrCQlw dWJsaWMgY29uc3QgdWludCBBcmFiaWNfa2FzcmF0YW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNf a2VoZWgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19rZWhlaDsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FyYWJpY19raGFoIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfa2hhaDsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FyYWJpY19sYW0iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19s YW07CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfbWFkZGFfYWJvdmUiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IEFyYWJpY19tYWRkYV9hYm92ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19tYWRkYW9u YWxlZiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX21hZGRhb25hbGVmOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQXJhYmljX21lZW0iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19tZWVt OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX25vb24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFy YWJpY19ub29uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX25vb25fZ2h1bm5hIildCisrCQlwdWJs aWMgY29uc3QgdWludCBBcmFiaWNfbm9vbl9naHVubmE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNf cGVoIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfcGVoOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf QXJhYmljX3BlcmNlbnQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19wZXJjZW50Owor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQXJhYmljX3FhZiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmlj X3FhZjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19xdWVzdGlvbl9tYXJrIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBBcmFiaWNfcXVlc3Rpb25fbWFyazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19y YSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3JhOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJh YmljX3JyZWgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19ycmVoOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQXJhYmljX3NhZCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3NhZDsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FyYWJpY19zZWVuIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNf c2VlbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19zZW1pY29sb24iKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IEFyYWJpY19zZW1pY29sb247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfc2hhZGRhIild CisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfc2hhZGRhOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJh YmljX3NoZWVuIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfc2hlZW47CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9BcmFiaWNfc3VrdW4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19zdWt1 bjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19zdXBlcnNjcmlwdF9hbGVmIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBBcmFiaWNfc3VwZXJzY3JpcHRfYWxlZjsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJp Y19zd2l0Y2giKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19zd2l0Y2g7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9BcmFiaWNfdGFoIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfdGFoOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQXJhYmljX3RhdHdlZWwiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFy YWJpY190YXR3ZWVsOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3RjaGVoIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBBcmFiaWNfdGNoZWg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfdGVoIildCisr CQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfdGVoOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3Rl aG1hcmJ1dGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY190ZWhtYXJidXRhOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQXJhYmljX3RoYWwiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY190 aGFsOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3RoZWgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEFyYWJpY190aGVoOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3R0ZWgiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEFyYWJpY190dGVoOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3ZlaCIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3ZlaDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY193YXci KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY193YXc7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFi aWNfeWVoIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfeWVoOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfQXJhYmljX3llaF9iYXJlZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3llaF9i YXJlZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY196YWgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEFyYWJpY196YWg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfemFpbiIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgQXJhYmljX3phaW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmluZyIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgQXJpbmc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9BVCIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fQVQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9BWUIi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX0FZQjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Fy bWVuaWFuX0JFTiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fQkVOOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQXJtZW5pYW5fQ0hBIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9D SEE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9EQSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg QXJtZW5pYW5fREE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9EWkEiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEFybWVuaWFuX0RaQTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX0UiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX0U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9G RSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fRkU7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cm1lbmlhbl9HSEFUIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9HSEFUOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQXJtZW5pYW5fR0lNIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlh bl9HSU07CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9ISSIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgQXJtZW5pYW5fSEk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9ITyIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgQXJtZW5pYW5fSE87CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9JTkkiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX0lOSTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVu aWFuX0pFIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9KRTsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FybWVuaWFuX0tFIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9LRTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FybWVuaWFuX0tFTiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5p YW5fS0VOOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fS0hFIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBBcm1lbmlhbl9LSEU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9MWVVOIildCisrCQlw dWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9MWVVOOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5f TUVOIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9NRU47CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9Bcm1lbmlhbl9OVSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fTlU7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9Bcm1lbmlhbl9PIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9P OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fUEUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFy bWVuaWFuX1BFOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fUFlVUiIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgQXJtZW5pYW5fUFlVUjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX1JBIildCisr CQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9SQTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFu X1JFIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9SRTsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0FybWVuaWFuX1NFIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9TRTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0FybWVuaWFuX1NIQSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5f U0hBOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fVENIRSIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgQXJtZW5pYW5fVENIRTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX1RPIildCisrCQlwdWJs aWMgY29uc3QgdWludCBBcm1lbmlhbl9UTzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX1RTQSIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fVFNBOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJt ZW5pYW5fVFNPIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9UU087CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9Bcm1lbmlhbl9UWVVOIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9U WVVOOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fVkVWIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBBcm1lbmlhbl9WRVY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9WTyIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgQXJtZW5pYW5fVk87CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9WWVVOIild CisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9WWVVOOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJt ZW5pYW5fWUVDSCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fWUVDSDsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0FybWVuaWFuX1pBIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9a QTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX1pIRSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg QXJtZW5pYW5fWkhFOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fYWNjZW50IildCisrCQlwdWJs aWMgY29uc3QgdWludCBBcm1lbmlhbl9hY2NlbnQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9h bWFuYWsiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2FtYW5hazsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0FybWVuaWFuX2Fwb3N0cm9waGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVu aWFuX2Fwb3N0cm9waGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9hdCIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgQXJtZW5pYW5fYXQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9heWIiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2F5YjsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVu aWFuX2JlbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fYmVuOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQXJtZW5pYW5fYnV0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9idXQ7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9jaGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFy bWVuaWFuX2NoYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2RhIildCisrCQlwdWJsaWMgY29u c3QgdWludCBBcm1lbmlhbl9kYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2R6YSIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fZHphOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5f ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fZTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Fy bWVuaWFuX2V4Y2xhbSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fZXhjbGFtOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fZmUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVu aWFuX2ZlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fZnVsbF9zdG9wIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBBcm1lbmlhbl9mdWxsX3N0b3A7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9n aGF0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9naGF0OworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfQXJtZW5pYW5fZ2ltIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9naW07Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9oaSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5p YW5faGk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9obyIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgQXJtZW5pYW5faG87CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9oeXBoZW4iKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2h5cGhlbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFu X2luaSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5faW5pOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfQXJtZW5pYW5famUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2plOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQXJtZW5pYW5fa2UiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFu X2tlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fa2VuIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBBcm1lbmlhbl9rZW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9raGUiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IEFybWVuaWFuX2toZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2xpZ2F0 dXJlX2V3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9saWdhdHVyZV9ldzsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FybWVuaWFuX2x5dW4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVu aWFuX2x5dW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9tZW4iKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IEFybWVuaWFuX21lbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX251IildCisrCQlw dWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9udTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX28i KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX287CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1l bmlhbl9wYXJ1eWsiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3BhcnV5azsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FybWVuaWFuX3BlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlh bl9wZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX3B5dXIiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IEFybWVuaWFuX3B5dXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9xdWVzdGlvbiIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fcXVlc3Rpb247CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cm1lbmlhbl9yYSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fcmE7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9Bcm1lbmlhbl9yZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fcmU7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9zZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJt ZW5pYW5fc2U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9zZXBhcmF0aW9uX21hcmsiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3NlcGFyYXRpb25fbWFyazsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FybWVuaWFuX3NoYSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fc2hhOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fc2hlc2h0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBB cm1lbmlhbl9zaGVzaHQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl90Y2hlIildCisrCQlwdWJs aWMgY29uc3QgdWludCBBcm1lbmlhbl90Y2hlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fdG8i KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3RvOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJt ZW5pYW5fdHNhIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl90c2E7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9Bcm1lbmlhbl90c28iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3Rz bzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX3R5dW4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEFybWVuaWFuX3R5dW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl92ZXJqYWtldCIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fdmVyamFrZXQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1l bmlhbl92ZXYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3ZldjsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0FybWVuaWFuX3ZvIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl92bzsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX3Z5dW4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFy bWVuaWFuX3Z5dW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl95ZWNoIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBBcm1lbmlhbl95ZWNoOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5feWVudGFt bmEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3llbnRhbW5hOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQXJtZW5pYW5femEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3phOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5femhlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBcm1l bmlhbl96aGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BdGlsZGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEF0aWxkZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0F1ZGlibGVCZWxsX0VuYWJsZSIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgQXVkaWJsZUJlbGxfRW5hYmxlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXVkaW9DeWNs ZVRyYWNrIildCisrCQlwdWJsaWMgY29uc3QgdWludCBBdWRpb0N5Y2xlVHJhY2s7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9BdWRpb0ZvcndhcmQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEF1ZGlvRm9yd2Fy ZDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0F1ZGlvTG93ZXJWb2x1bWUiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IEF1ZGlvTG93ZXJWb2x1bWU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BdWRpb01lZGlhIildCisrCQlw dWJsaWMgY29uc3QgdWludCBBdWRpb01lZGlhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXVkaW9NaWNNdXRl IildCisrCQlwdWJsaWMgY29uc3QgdWludCBBdWRpb01pY011dGU7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B dWRpb011dGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEF1ZGlvTXV0ZTsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0F1ZGlvTmV4dCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXVkaW9OZXh0OworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQXVkaW9QYXVzZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXVkaW9QYXVzZTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0F1ZGlvUGxheSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXVkaW9Q bGF5OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQXVkaW9QcmV2IildCisrCQlwdWJsaWMgY29uc3QgdWludCBB dWRpb1ByZXY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BdWRpb1JhaXNlVm9sdW1lIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBBdWRpb1JhaXNlVm9sdW1lOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXVkaW9SYW5kb21Q bGF5IildCisrCQlwdWJsaWMgY29uc3QgdWludCBBdWRpb1JhbmRvbVBsYXk7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9BdWRpb1JlY29yZCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXVkaW9SZWNvcmQ7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9BdWRpb1JlcGVhdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQXVkaW9S ZXBlYXQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BdWRpb1Jld2luZCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgQXVkaW9SZXdpbmQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BdWRpb1N0b3AiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEF1ZGlvU3RvcDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0F3YXkiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEF3YXk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9CIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBCOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQmFib3ZlZG90IildCisrCQlwdWJsaWMgY29uc3QgdWludCBC YWJvdmVkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9CYWNrIildCisrCQlwdWJsaWMgY29uc3QgdWludCBC YWNrOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQmFja0ZvcndhcmQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEJhY2tGb3J3YXJkOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQmFja1NwYWNlIildCisrCQlwdWJsaWMgY29u c3QgdWludCBCYWNrU3BhY2U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9CYXR0ZXJ5IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBCYXR0ZXJ5OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQmVnaW4iKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEJlZ2luOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQmx1ZSIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgQmx1ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0JsdWV0b290aCIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgQmx1ZXRvb3RoOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQm9vayIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgQm9vazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0JvdW5jZUtleXNfRW5hYmxlIildCisrCQlwdWJs aWMgY29uc3QgdWludCBCb3VuY2VLZXlzX0VuYWJsZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0JyZWFrIild CisrCQlwdWJsaWMgY29uc3QgdWludCBCcmVhazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0JyaWdodG5lc3NB ZGp1c3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEJyaWdodG5lc3NBZGp1c3Q7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9CeWVsb3J1c3NpYW5fU0hPUlRVIildCisrCQlwdWJsaWMgY29uc3QgdWludCBCeWVs b3J1c3NpYW5fU0hPUlRVOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQnllbG9ydXNzaWFuX3Nob3J0dSIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgQnllbG9ydXNzaWFuX3Nob3J0dTsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0MiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEM7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DRCIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgQ0Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DSCIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgQ0g7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DX0giKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IENfSDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0NfaCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ19oOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQ2Fib3ZlZG90IildCisrCQlwdWJsaWMgY29uc3QgdWludCBDYWJvdmVk b3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9DYWN1dGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IENhY3V0 ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0NhbGN1bGF0b3IiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IENh bGN1bGF0b3I7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DYWxlbmRhciIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgQ2FsZW5kYXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DYW5jZWwiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IENhbmNlbDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NhcHNfTG9jayIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgQ2Fwc19Mb2NrOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ2Nhcm9uIildCisrCQlwdWJsaWMgY29u c3QgdWludCBDY2Fyb247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DY2VkaWxsYSIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgQ2NlZGlsbGE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DY2lyY3VtZmxleCIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgQ2NpcmN1bWZsZXg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DaCIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgQ2g7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DbGVhciIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgQ2xlYXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DbGVhckdyYWIiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IENsZWFyR3JhYjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Nsb3NlIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBDbG9zZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NvZGVpbnB1dCIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgQ29kZWlucHV0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ29sb25TaWduIildCisrCQlw dWJsaWMgY29uc3QgdWludCBDb2xvblNpZ247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Db21tdW5pdHkiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IENvbW11bml0eTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NvbnRyYXN0 QWRqdXN0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBDb250cmFzdEFkanVzdDsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0NvbnRyb2xfTCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ29udHJvbF9MOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQ29udHJvbF9SIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDb250cm9sX1I7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9Db3B5IildCisrCQlwdWJsaWMgY29uc3QgdWludCBDb3B5OworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQ3J1emVpcm9TaWduIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDcnV6ZWly b1NpZ247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DdXQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN1dDsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0N5Y2xlQW5nbGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5Y2xl QW5nbGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19BIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBDeXJpbGxpY19BOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfQkUiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEN5cmlsbGljX0JFOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfQ0hFIildCisr CQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19DSEU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxp Y19DSEVfZGVzY2VuZGVyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19DSEVfZGVz Y2VuZGVyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfQ0hFX3ZlcnRzdHJva2UiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX0NIRV92ZXJ0c3Ryb2tlOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf Q3lyaWxsaWNfREUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX0RFOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQ3lyaWxsaWNfRFpIRSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNf RFpIRTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0UiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEN5cmlsbGljX0U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19FRiIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgQ3lyaWxsaWNfRUY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19FTCIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfRUw7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19F TSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfRU07CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9D eXJpbGxpY19FTiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfRU47CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9DeXJpbGxpY19FTl9kZXNjZW5kZXIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5 cmlsbGljX0VOX2Rlc2NlbmRlcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0VSIildCisrCQlw dWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19FUjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0VT IildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19FUzsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5 cmlsbGljX0dIRSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfR0hFOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQ3lyaWxsaWNfR0hFX2JhciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxs aWNfR0hFX2JhcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0hBIildCisrCQlwdWJsaWMgY29u c3QgdWludCBDeXJpbGxpY19IQTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0hBUkRTSUdOIild CisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19IQVJEU0lHTjsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0N5cmlsbGljX0hBX2Rlc2NlbmRlciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNf SEFfZGVzY2VuZGVyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfSSIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgQ3lyaWxsaWNfSTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0lFIildCisrCQlw dWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19JRTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0lP IildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19JTzsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5 cmlsbGljX0lfbWFjcm9uIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19JX21hY3Jv bjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0pFIildCisrCQlwdWJsaWMgY29uc3QgdWludCBD eXJpbGxpY19KRTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0tBIildCisrCQlwdWJsaWMgY29u c3QgdWludCBDeXJpbGxpY19LQTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0tBX2Rlc2NlbmRl ciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfS0FfZGVzY2VuZGVyOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQ3lyaWxsaWNfS0FfdmVydHN0cm9rZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg Q3lyaWxsaWNfS0FfdmVydHN0cm9rZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0xKRSIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfTEpFOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxs aWNfTkpFIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19OSkU7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9DeXJpbGxpY19PIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19POworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQ3lyaWxsaWNfT19iYXIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmls bGljX09fYmFyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfUEUiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IEN5cmlsbGljX1BFOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfU0NIV0EiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX1NDSFdBOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxs aWNfU0hBIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19TSEE7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9DeXJpbGxpY19TSENIQSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfU0hD SEE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19TSEhBIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBDeXJpbGxpY19TSEhBOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfU0hPUlRJIildCisrCQlw dWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19TSE9SVEk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxp Y19TT0ZUU0lHTiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfU09GVFNJR047Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19URSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxs aWNfVEU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19UU0UiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IEN5cmlsbGljX1RTRTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX1UiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IEN5cmlsbGljX1U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19VX21hY3Jv biIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfVV9tYWNyb247CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9DeXJpbGxpY19VX3N0cmFpZ2h0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxp Y19VX3N0cmFpZ2h0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfVV9zdHJhaWdodF9iYXIiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX1Vfc3RyYWlnaHRfYmFyOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQ3lyaWxsaWNfVkUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX1ZFOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfWUEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmls bGljX1lBOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfWUVSVSIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgQ3lyaWxsaWNfWUVSVTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX1lVIildCisrCQlw dWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19ZVTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX1pF IildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19aRTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5 cmlsbGljX1pIRSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfWkhFOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQ3lyaWxsaWNfWkhFX2Rlc2NlbmRlciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg Q3lyaWxsaWNfWkhFX2Rlc2NlbmRlcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2EiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2E7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19i ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfYmU7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9D eXJpbGxpY19jaGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2NoZTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0N5cmlsbGljX2NoZV9kZXNjZW5kZXIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEN5cmlsbGljX2NoZV9kZXNjZW5kZXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19jaGVfdmVy dHN0cm9rZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfY2hlX3ZlcnRzdHJva2U7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19kZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3ly aWxsaWNfZGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19kemhlIildCisrCQlwdWJsaWMgY29u c3QgdWludCBDeXJpbGxpY19kemhlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfZSIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2Vm IildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19lZjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5 cmlsbGljX2VsIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19lbDsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0N5cmlsbGljX2VtIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19lbTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2VuIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJp bGxpY19lbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2VuX2Rlc2NlbmRlciIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfZW5fZGVzY2VuZGVyOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3ly aWxsaWNfZXIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2VyOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQ3lyaWxsaWNfZXMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2VzOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfZ2hlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJp bGxpY19naGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19naGVfYmFyIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBDeXJpbGxpY19naGVfYmFyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfaGEi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2hhOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3ly aWxsaWNfaGFfZGVzY2VuZGVyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19oYV9k ZXNjZW5kZXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19oYXJkc2lnbiIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgQ3lyaWxsaWNfaGFyZHNpZ247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19p IildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19pOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3ly aWxsaWNfaV9tYWNyb24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2lfbWFjcm9u OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfaWUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5 cmlsbGljX2llOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfaW8iKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IEN5cmlsbGljX2lvOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfamUiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2plOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfa2Ei KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2thOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3ly aWxsaWNfa2FfZGVzY2VuZGVyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19rYV9k ZXNjZW5kZXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19rYV92ZXJ0c3Ryb2tlIildCisrCQlw dWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19rYV92ZXJ0c3Ryb2tlOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf Q3lyaWxsaWNfbGplIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19samU7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9DeXJpbGxpY19uamUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGlj X25qZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX28iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEN5cmlsbGljX287CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19vX2JhciIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgQ3lyaWxsaWNfb19iYXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19wZSIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfcGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJp bGxpY19zY2h3YSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfc2Nod2E7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9DeXJpbGxpY19zaGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGlj X3NoYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3NoY2hhIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBDeXJpbGxpY19zaGNoYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3NoaGEiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX3NoaGE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxp Y19zaG9ydGkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX3Nob3J0aTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0N5cmlsbGljX3NvZnRzaWduIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJp bGxpY19zb2Z0c2lnbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3RlIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBDeXJpbGxpY190ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3RzZSIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfdHNlOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxs aWNfdSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfdTsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0N5cmlsbGljX3VfbWFjcm9uIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY191X21h Y3JvbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3Vfc3RyYWlnaHQiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEN5cmlsbGljX3Vfc3RyYWlnaHQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY191 X3N0cmFpZ2h0X2JhciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfdV9zdHJhaWdo dF9iYXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY192ZSIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgQ3lyaWxsaWNfdmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY195YSIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgQ3lyaWxsaWNfeWE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY195ZXJ1Iild CisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY195ZXJ1OworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3ly aWxsaWNfeXUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX3l1OworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQ3lyaWxsaWNfemUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX3plOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfemhlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBDeXJp bGxpY196aGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY196aGVfZGVzY2VuZGVyIildCisrCQlw dWJsaWMgY29uc3QgdWludCBDeXJpbGxpY196aGVfZGVzY2VuZGVyOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf RCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0RPUyIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgRE9TOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRGFib3ZlZG90IildCisrCQlw dWJsaWMgY29uc3QgdWludCBEYWJvdmVkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9EY2Fyb24iKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IERjYXJvbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0RlbGV0ZSIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgRGVsZXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRGlzcGxheSIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgRGlzcGxheTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0RvY3VtZW50cyIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgRG9jdW1lbnRzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRG9uZ1NpZ24i KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IERvbmdTaWduOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRG93biIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgRG93bjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0RzdHJva2UiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IERzdHJva2U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9FIildCisrCQlw dWJsaWMgY29uc3QgdWludCBFOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRU5HIildCisrCQlwdWJsaWMgY29u c3QgdWludCBFTkc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9FVEgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEVUSDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0VaSCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRVpIOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfRWFib3ZlZG90IildCisrCQlwdWJsaWMgY29uc3QgdWludCBFYWJvdmVk b3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9FYWN1dGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEVhY3V0 ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0ViZWxvd2RvdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRWJl bG93ZG90OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRWNhcm9uIildCisrCQlwdWJsaWMgY29uc3QgdWludCBF Y2Fyb247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9FY2lyY3VtZmxleCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgRWNpcmN1bWZsZXg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9FY2lyY3VtZmxleGFjdXRlIildCisrCQlw dWJsaWMgY29uc3QgdWludCBFY2lyY3VtZmxleGFjdXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRWNpcmN1 bWZsZXhiZWxvd2RvdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRWNpcmN1bWZsZXhiZWxvd2Rv dDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0VjaXJjdW1mbGV4Z3JhdmUiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IEVjaXJjdW1mbGV4Z3JhdmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9FY2lyY3VtZmxleGhvb2siKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IEVjaXJjdW1mbGV4aG9vazsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Vj aXJjdW1mbGV4dGlsZGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEVjaXJjdW1mbGV4dGlsZGU7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9FY3VTaWduIildCisrCQlwdWJsaWMgY29uc3QgdWludCBFY3VTaWdu OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfRWRpYWVyZXNpcyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRWRp YWVyZXNpczsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0VncmF2ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg RWdyYXZlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRWhvb2siKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEVo b29rOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfRWlzdV9TaGlmdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg RWlzdV9TaGlmdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Vpc3VfdG9nZ2xlIildCisrCQlwdWJsaWMgY29u c3QgdWludCBFaXN1X3RvZ2dsZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0VqZWN0IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBFamVjdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0VtYWNyb24iKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEVtYWNyb247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9FbmQiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IEVuZDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0VvZ29uZWsiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IEVvZ29uZWs7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Fc2NhcGUiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IEVzY2FwZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0V0aCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg RXRoOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfRXRpbGRlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBFdGls ZGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9FdXJvU2lnbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRXVy b1NpZ247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9FeGNlbCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRXhj ZWw7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9FeGVjdXRlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBFeGVj dXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfRXhwbG9yZXIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEV4 cGxvcmVyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRjsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0YxIildCisrCQlwdWJsaWMgY29uc3QgdWludCBGMTsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0YxMCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRjEwOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjEx IildCisrCQlwdWJsaWMgY29uc3QgdWludCBGMTE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMTIiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEYxMjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0YxMyIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgRjEzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjE0IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBGMTQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMTUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEYx NTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0YxNiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRjE2OworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfRjE3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBGMTc7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9GMTgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEYxODsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Yx OSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRjE5OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjIiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEYyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjIwIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBGMjA7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMjEiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IEYyMTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0YyMiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRjIy OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfRjIzIildCisrCQlwdWJsaWMgY29uc3QgdWludCBGMjM7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9GMjQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEYyNDsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0YyNSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRjI1OworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjI2 IildCisrCQlwdWJsaWMgY29uc3QgdWludCBGMjY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMjciKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEYyNzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0YyOCIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgRjI4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjI5IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBGMjk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRjM7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9GMzAiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEYzMDsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0YzMSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRjMxOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfRjMyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBGMzI7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMzMi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEYzMzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0YzNCIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgRjM0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjM1IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBGMzU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GNCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgRjQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GNSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRjU7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9GNiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRjY7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9GNyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRjc7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GOCIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgRjg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GOSIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgRjk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GRnJhbmNTaWduIildCisrCQlwdWJs aWMgY29uc3QgdWludCBGRnJhbmNTaWduOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRmFib3ZlZG90IildCisr CQlwdWJsaWMgY29uc3QgdWludCBGYWJvdmVkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GYXJzaV8wIild CisrCQlwdWJsaWMgY29uc3QgdWludCBGYXJzaV8wOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRmFyc2lfMSIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgRmFyc2lfMTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0ZhcnNpXzIi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEZhcnNpXzI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GYXJzaV8z IildCisrCQlwdWJsaWMgY29uc3QgdWludCBGYXJzaV8zOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRmFyc2lf NCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRmFyc2lfNDsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0ZhcnNp XzUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEZhcnNpXzU7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GYXJz aV82IildCisrCQlwdWJsaWMgY29uc3QgdWludCBGYXJzaV82OworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRmFy c2lfNyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgRmFyc2lfNzsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Zh cnNpXzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEZhcnNpXzg7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9G YXJzaV85IildCisrCQlwdWJsaWMgY29uc3QgdWludCBGYXJzaV85OworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf RmFyc2lfeWVoIildCisrCQlwdWJsaWMgY29uc3QgdWludCBGYXJzaV95ZWg7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9GYXZvcml0ZXMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEZhdm9yaXRlczsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0ZpbmFuY2UiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEZpbmFuY2U7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9GaW5kIildCisrCQlwdWJsaWMgY29uc3QgdWludCBGaW5kOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfRmlyc3RfVmlydHVhbF9TY3JlZW4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEZpcnN0 X1ZpcnR1YWxfU2NyZWVuOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRm9yd2FyZCIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgRm9yd2FyZDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0ZyYW1lQmFjayIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgRnJhbWVCYWNrOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRnJhbWVGb3J3YXJkIildCisr CQlwdWJsaWMgY29uc3QgdWludCBGcmFtZUZvcndhcmQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HIildCisr CQlwdWJsaWMgY29uc3QgdWludCBHOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2Fib3ZlZG90IildCisrCQlw dWJsaWMgY29uc3QgdWludCBHYWJvdmVkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HYW1lIildCisrCQlw dWJsaWMgY29uc3QgdWludCBHYW1lOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2JyZXZlIildCisrCQlwdWJs aWMgY29uc3QgdWludCBHYnJldmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HY2Fyb24iKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IEdjYXJvbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0djZWRpbGxhIildCisrCQlwdWJs aWMgY29uc3QgdWludCBHY2VkaWxsYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0djaXJjdW1mbGV4IildCisr CQlwdWJsaWMgY29uc3QgdWludCBHY2lyY3VtZmxleDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFu X2FuIildCisrCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9hbjsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0dlb3JnaWFuX2JhbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fYmFuOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfR2VvcmdpYW5fY2FuIildCisrCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lh bl9jYW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9jaGFyIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBHZW9yZ2lhbl9jaGFyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fY2hpbiIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fY2hpbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFu X2NpbCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fY2lsOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfR2VvcmdpYW5fZG9uIildCisrCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9kb247Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9lbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR2Vvcmdp YW5fZW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9maSIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgR2VvcmdpYW5fZmk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9nYW4iKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IEdlb3JnaWFuX2dhbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX2doYW4i KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX2doYW47CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9H ZW9yZ2lhbl9oYWUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX2hhZTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0dlb3JnaWFuX2hhciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5f aGFyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5faGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEdlb3JnaWFuX2hlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5faGllIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBHZW9yZ2lhbl9oaWU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9ob2UiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX2hvZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3Jn aWFuX2luIildCisrCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9pbjsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0dlb3JnaWFuX2poYW4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX2poYW47 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9qaWwiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdl b3JnaWFuX2ppbDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX2thbiIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgR2VvcmdpYW5fa2FuOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fa2hhciIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fa2hhcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3Jn aWFuX2xhcyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fbGFzOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfR2VvcmdpYW5fbWFuIildCisrCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9tYW47 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9uYXIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdl b3JnaWFuX25hcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX29uIildCisrCQlwdWJsaWMgY29u c3QgdWludCBHZW9yZ2lhbl9vbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX3BhciIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fcGFyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5f cGhhciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fcGhhcjsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0dlb3JnaWFuX3FhciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fcWFyOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fcmFlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBHZW9y Z2lhbl9yYWU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9zYW4iKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IEdlb3JnaWFuX3NhbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX3NoaW4iKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX3NoaW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lh bl90YW4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX3RhbjsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0dlb3JnaWFuX3RhciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fdGFyOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fdW4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdlb3Jn aWFuX3VuOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fdmluIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBHZW9yZ2lhbl92aW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl93ZSIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fd2U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl94YW4i KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX3hhbjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dl b3JnaWFuX3plbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5femVuOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfR2VvcmdpYW5femhhciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5f emhhcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0dvIildCisrCQlwdWJsaWMgY29uc3QgdWludCBHbzsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0dyZWVrX0FMUEhBIildCisrCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19B TFBIQTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX0FMUEhBYWNjZW50IildCisrCQlwdWJsaWMgY29u c3QgdWludCBHcmVla19BTFBIQWFjY2VudDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX0JFVEEiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX0JFVEE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19D SEkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX0NISTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dy ZWVrX0RFTFRBIildCisrCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19ERUxUQTsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0dyZWVrX0VQU0lMT04iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX0VQU0lM T047CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19FUFNJTE9OYWNjZW50IildCisrCQlwdWJsaWMgY29u c3QgdWludCBHcmVla19FUFNJTE9OYWNjZW50OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfRVRBIild CisrCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19FVEE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19F VEFhY2NlbnQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX0VUQWFjY2VudDsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0dyZWVrX0dBTU1BIildCisrCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19HQU1N QTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX0lPVEEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdy ZWVrX0lPVEE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19JT1RBYWNjZW50IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBHcmVla19JT1RBYWNjZW50OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfSU9UQWRp YWVyZXNpcyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfSU9UQWRpYWVyZXNpczsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0dyZWVrX0lPVEFkaWVyZXNpcyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg R3JlZWtfSU9UQWRpZXJlc2lzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfS0FQUEEiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IEdyZWVrX0tBUFBBOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfTEFNQkRB IildCisrCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19MQU1CREE7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9H cmVla19MQU1EQSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfTEFNREE7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9HcmVla19NVSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfTVU7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9HcmVla19OVSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfTlU7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9HcmVla19PTUVHQSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtf T01FR0E7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19PTUVHQWFjY2VudCIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgR3JlZWtfT01FR0FhY2NlbnQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19PTUlDUk9O IildCisrCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19PTUlDUk9OOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf R3JlZWtfT01JQ1JPTmFjY2VudCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfT01JQ1JP TmFjY2VudDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX1BISSIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgR3JlZWtfUEhJOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfUEkiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IEdyZWVrX1BJOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfUFNJIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBHcmVla19QU0k7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19SSE8iKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IEdyZWVrX1JITzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX1NJR01BIild CisrCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19TSUdNQTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVr X1RBVSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfVEFVOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf R3JlZWtfVEhFVEEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX1RIRVRBOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfR3JlZWtfVVBTSUxPTiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfVVBT SUxPTjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX1VQU0lMT05hY2NlbnQiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEdyZWVrX1VQU0lMT05hY2NlbnQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19VUFNJ TE9OZGllcmVzaXMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX1VQU0lMT05kaWVyZXNp czsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX1hJIildCisrCQlwdWJsaWMgY29uc3QgdWludCBHcmVl a19YSTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX1pFVEEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEdyZWVrX1pFVEE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19hY2NlbnRkaWVyZXNpcyIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgR3JlZWtfYWNjZW50ZGllcmVzaXM7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9H cmVla19hbHBoYSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfYWxwaGE7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9HcmVla19hbHBoYWFjY2VudCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtf YWxwaGFhY2NlbnQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19iZXRhIildCisrCQlwdWJsaWMgY29u c3QgdWludCBHcmVla19iZXRhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfY2hpIildCisrCQlwdWJs aWMgY29uc3QgdWludCBHcmVla19jaGk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19kZWx0YSIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfZGVsdGE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19l cHNpbG9uIildCisrCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19lcHNpbG9uOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfR3JlZWtfZXBzaWxvbmFjY2VudCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtf ZXBzaWxvbmFjY2VudDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2V0YSIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgR3JlZWtfZXRhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfZXRhYWNjZW50IildCisr CQlwdWJsaWMgY29uc3QgdWludCBHcmVla19ldGFhY2NlbnQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVl a19maW5hbHNtYWxsc2lnbWEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX2ZpbmFsc21h bGxzaWdtYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2dhbW1hIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBHcmVla19nYW1tYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2hvcml6YmFyIildCisrCQlw dWJsaWMgY29uc3QgdWludCBHcmVla19ob3JpemJhcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2lv dGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX2lvdGE7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9H cmVla19pb3RhYWNjZW50IildCisrCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19pb3RhYWNjZW50 OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfaW90YWFjY2VudGRpZXJlc2lzIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBHcmVla19pb3RhYWNjZW50ZGllcmVzaXM7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVl a19pb3RhZGllcmVzaXMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX2lvdGFkaWVyZXNp czsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2thcHBhIildCisrCQlwdWJsaWMgY29uc3QgdWludCBH cmVla19rYXBwYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2xhbWJkYSIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgR3JlZWtfbGFtYmRhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfbGFtZGEiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX2xhbWRhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfbXUi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX211OworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtf bnUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX251OworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3Jl ZWtfb21lZ2EiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX29tZWdhOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfR3JlZWtfb21lZ2FhY2NlbnQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX29t ZWdhYWNjZW50OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfb21pY3JvbiIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgR3JlZWtfb21pY3JvbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX29taWNyb25hY2Nl bnQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX29taWNyb25hY2NlbnQ7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9HcmVla19waGkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX3BoaTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0dyZWVrX3BpIildCisrCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19waTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0dyZWVrX3BzaSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtf cHNpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfcmhvIildCisrCQlwdWJsaWMgY29uc3QgdWludCBH cmVla19yaG87CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19zaWdtYSIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgR3JlZWtfc2lnbWE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19zd2l0Y2giKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IEdyZWVrX3N3aXRjaDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX3RhdSIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfdGF1OworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtf dGhldGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX3RoZXRhOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfR3JlZWtfdXBzaWxvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfdXBzaWxvbjsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0dyZWVrX3Vwc2lsb25hY2NlbnQiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IEdyZWVrX3Vwc2lsb25hY2NlbnQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla191cHNpbG9uYWNj ZW50ZGllcmVzaXMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX3Vwc2lsb25hY2NlbnRk aWVyZXNpczsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX3Vwc2lsb25kaWVyZXNpcyIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgR3JlZWtfdXBzaWxvbmRpZXJlc2lzOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3Jl ZWtfeGkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX3hpOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf R3JlZWtfemV0YSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfemV0YTsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0dyZWVuIildCisrCQlwdWJsaWMgY29uc3QgdWludCBHcmVlbjsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0giKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWwi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9B IildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfQTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1 bF9BRSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0FFOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf SGFuZ3VsX0FyYWVBIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfQXJhZUE7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9IYW5ndWxfQXJhZUFFIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxf QXJhZUFFOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0JhbmphIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBIYW5ndWxfQmFuamE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfQ2lldWMiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IEhhbmd1bF9DaWV1YzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9Db2Rl aW5wdXQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9Db2RlaW5wdXQ7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9IYW5ndWxfRGlrZXVkIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfRGlr ZXVkOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0UiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhh bmd1bF9FOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0VPIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBIYW5ndWxfRU87CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfRVUiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IEhhbmd1bF9FVTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9FbmQiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IEhhbmd1bF9FbmQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSGFuamEiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9IYW5qYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1 bF9IaWV1aCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0hpZXVoOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfSGFuZ3VsX0kiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9JOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfSGFuZ3VsX0lldW5nIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSWV1 bmc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9DaWV1YyIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgSGFuZ3VsX0pfQ2lldWM7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9EaWtldWQiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX0Rpa2V1ZDsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1 bF9KX0hpZXVoIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9IaWV1aDsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0hhbmd1bF9KX0lldW5nIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxf Sl9JZXVuZzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX0ppZXVqIildCisrCQlwdWJsaWMgY29u c3QgdWludCBIYW5ndWxfSl9KaWV1ajsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX0toaWV1cSIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfS2hpZXVxOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf SGFuZ3VsX0pfS2l5ZW9nIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9LaXllb2c7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9LaXllb2dTaW9zIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBIYW5ndWxfSl9LaXllb2dTaW9zOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfS2tvZ2pp RGFscmluSWV1bmciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX0trb2dqaURhbHJp bklldW5nOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfTWlldW0iKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IEhhbmd1bF9KX01pZXVtOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfTmlldW4iKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX05pZXVuOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFu Z3VsX0pfTmlldW5IaWV1aCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfTmlldW5I aWV1aDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX05pZXVuSmlldWoiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEhhbmd1bF9KX05pZXVuSmlldWo7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9Q YW5TaW9zIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9QYW5TaW9zOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfSGFuZ3VsX0pfUGhpZXVmIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxf Sl9QaGlldWY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9QaWV1YiIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgSGFuZ3VsX0pfUGlldWI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9QaWV1YlNp b3MiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX1BpZXViU2lvczsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0hhbmd1bF9KX1JpZXVsIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9S aWV1bDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX1JpZXVsSGlldWgiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEhhbmd1bF9KX1JpZXVsSGlldWg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9S aWV1bEtpeWVvZyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfUmlldWxLaXllb2c7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9SaWV1bE1pZXVtIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBIYW5ndWxfSl9SaWV1bE1pZXVtOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfUmlldWxQ aGlldWYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX1JpZXVsUGhpZXVmOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfSGFuZ3VsX0pfUmlldWxQaWV1YiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg SGFuZ3VsX0pfUmlldWxQaWV1YjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX1JpZXVsU2lvcyIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfUmlldWxTaW9zOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfSGFuZ3VsX0pfUmlldWxUaWV1dCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pf UmlldWxUaWV1dDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX1Npb3MiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEhhbmd1bF9KX1Npb3M7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9Tc2FuZ0tp eWVvZyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfU3NhbmdLaXllb2c7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9IYW5ndWxfSl9Tc2FuZ1Npb3MiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhh bmd1bF9KX1NzYW5nU2lvczsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX1RpZXV0IildCisrCQlw dWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9UaWV1dDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9K X1llb3JpbkhpZXVoIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9ZZW9yaW5IaWV1 aDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KYW1vIildCisrCQlwdWJsaWMgY29uc3QgdWludCBI YW5ndWxfSmFtbzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KZW9uamEiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEhhbmd1bF9KZW9uamE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSmlldWoiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KaWV1ajsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1 bF9LaGlldXEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9LaGlldXE7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9IYW5ndWxfS2l5ZW9nIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfS2l5 ZW9nOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0tpeWVvZ1Npb3MiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IEhhbmd1bF9LaXllb2dTaW9zOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0trb2dqaURh bHJpbklldW5nIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfS2tvZ2ppRGFscmluSWV1 bmc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfTWlldW0iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEhhbmd1bF9NaWV1bTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9NdWx0aXBsZUNhbmRpZGF0ZSIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX011bHRpcGxlQ2FuZGlkYXRlOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfSGFuZ3VsX05pZXVuIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfTmll dW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfTmlldW5IaWV1aCIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgSGFuZ3VsX05pZXVuSGlldWg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfTmlldW5KaWV1 aiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX05pZXVuSmlldWo7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9IYW5ndWxfTyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX087CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9IYW5ndWxfT0UiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9PRTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0hhbmd1bF9QYW5TaW9zIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5n dWxfUGFuU2lvczsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9QaGlldWYiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IEhhbmd1bF9QaGlldWY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfUGlldWIiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9QaWV1YjsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1 bF9QaWV1YlNpb3MiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9QaWV1YlNpb3M7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9IYW5ndWxfUG9zdEhhbmphIildCisrCQlwdWJsaWMgY29uc3QgdWludCBI YW5ndWxfUG9zdEhhbmphOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1ByZUhhbmphIildCisrCQlw dWJsaWMgY29uc3QgdWludCBIYW5ndWxfUHJlSGFuamE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxf UHJldmlvdXNDYW5kaWRhdGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9QcmV2aW91 c0NhbmRpZGF0ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9SaWV1bCIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgSGFuZ3VsX1JpZXVsOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1JpZXVsSGlldWgi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9SaWV1bEhpZXVoOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfSGFuZ3VsX1JpZXVsS2l5ZW9nIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfUmll dWxLaXllb2c7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfUmlldWxNaWV1bSIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgSGFuZ3VsX1JpZXVsTWlldW07CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfUmll dWxQaGlldWYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9SaWV1bFBoaWV1ZjsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0hhbmd1bF9SaWV1bFBpZXViIildCisrCQlwdWJsaWMgY29uc3QgdWludCBI YW5ndWxfUmlldWxQaWV1YjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9SaWV1bFNpb3MiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9SaWV1bFNpb3M7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5n dWxfUmlldWxUaWV1dCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1JpZXVsVGlldXQ7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfUmlldWxZZW9yaW5IaWV1aCIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgSGFuZ3VsX1JpZXVsWWVvcmluSGlldWg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxf Um9tYWphIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfUm9tYWphOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfSGFuZ3VsX1NpbmdsZUNhbmRpZGF0ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFu Z3VsX1NpbmdsZUNhbmRpZGF0ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9TaW9zIildCisrCQlw dWJsaWMgY29uc3QgdWludCBIYW5ndWxfU2lvczsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9TcGVj aWFsIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfU3BlY2lhbDsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0hhbmd1bF9Tc2FuZ0Rpa2V1ZCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1Nz YW5nRGlrZXVkOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1NzYW5nSmlldWoiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IEhhbmd1bF9Tc2FuZ0ppZXVqOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1Nz YW5nS2l5ZW9nIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfU3NhbmdLaXllb2c7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9IYW5ndWxfU3NhbmdQaWV1YiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg SGFuZ3VsX1NzYW5nUGlldWI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfU3NhbmdTaW9zIildCisr CQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfU3NhbmdTaW9zOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFu Z3VsX1N0YXJ0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfU3RhcnQ7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9IYW5ndWxfU3Vua3llb25nZXVtTWlldW0iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEhhbmd1bF9TdW5reWVvbmdldW1NaWV1bTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9TdW5reWVv bmdldW1QaGlldWYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9TdW5reWVvbmdldW1Q aGlldWY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfU3Vua3llb25nZXVtUGlldWIiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IEhhbmd1bF9TdW5reWVvbmdldW1QaWV1YjsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0hhbmd1bF9UaWV1dCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1RpZXV0OworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfSGFuZ3VsX1UiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9VOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1dBIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxf V0E7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfV0FFIildCisrCQlwdWJsaWMgY29uc3QgdWludCBI YW5ndWxfV0FFOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1dFIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBIYW5ndWxfV0U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfV0VPIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBIYW5ndWxfV0VPOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1dJIildCisrCQlw dWJsaWMgY29uc3QgdWludCBIYW5ndWxfV0k7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfWUEiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9ZQTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9Z QUUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9ZQUU7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9I YW5ndWxfWUUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9ZRTsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0hhbmd1bF9ZRU8iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9ZRU87CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9IYW5ndWxfWUkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9ZSTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0hhbmd1bF9ZTyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3Vs X1lPOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1lVIildCisrCQlwdWJsaWMgY29uc3QgdWludCBI YW5ndWxfWVU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfWWVvcmluSGlldWgiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IEhhbmd1bF9ZZW9yaW5IaWV1aDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9z d2l0Y2giKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9zd2l0Y2g7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9IYW5rYWt1IildCisrCQlwdWJsaWMgY29uc3QgdWludCBIYW5rYWt1OworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfSGNpcmN1bWZsZXgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhjaXJjdW1mbGV4Owor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfSGVicmV3X3N3aXRjaCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGVi cmV3X3N3aXRjaDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hlbHAiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEhlbHA7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IZW5rYW4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhl bmthbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0hlbmthbl9Nb2RlIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBIZW5rYW5fTW9kZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hpYmVybmF0ZSIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgSGliZXJuYXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGlyYWdhbmEiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IEhpcmFnYW5hOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGlyYWdhbmFfS2F0YWthbmEi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhpcmFnYW5hX0thdGFrYW5hOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfSGlzdG9yeSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSGlzdG9yeTsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0hvbWUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEhvbWU7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9I b21lUGFnZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSG9tZVBhZ2U7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9Ib3RMaW5rcyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSG90TGlua3M7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9Ic3Ryb2tlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBIc3Ryb2tlOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfSHlwZXJfTCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSHlwZXJfTDsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0h5cGVyX1IiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEh5cGVyX1I7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9JIildCisrCQlwdWJsaWMgY29uc3QgdWludCBJOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNP X0NlbnRlcl9PYmplY3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IElTT19DZW50ZXJfT2JqZWN0 OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfSVNPX0NvbnRpbnVvdXNfVW5kZXJsaW5lIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBJU09fQ29udGludW91c19VbmRlcmxpbmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09f RGlzY29udGludW91c19VbmRlcmxpbmUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IElTT19EaXNj b250aW51b3VzX1VuZGVybGluZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19FbXBoYXNpemUiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IElTT19FbXBoYXNpemU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fRW50 ZXIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IElTT19FbnRlcjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lT T19GYXN0X0N1cnNvcl9Eb3duIildCisrCQlwdWJsaWMgY29uc3QgdWludCBJU09fRmFzdF9DdXJz b3JfRG93bjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19GYXN0X0N1cnNvcl9MZWZ0IildCisrCQlwdWJs aWMgY29uc3QgdWludCBJU09fRmFzdF9DdXJzb3JfTGVmdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19G YXN0X0N1cnNvcl9SaWdodCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX0Zhc3RfQ3Vyc29y X1JpZ2h0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX0Zhc3RfQ3Vyc29yX1VwIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBJU09fRmFzdF9DdXJzb3JfVXA7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fRmlyc3Rf R3JvdXAiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IElTT19GaXJzdF9Hcm91cDsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0lTT19GaXJzdF9Hcm91cF9Mb2NrIildCisrCQlwdWJsaWMgY29uc3QgdWludCBJU09f Rmlyc3RfR3JvdXBfTG9jazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19Hcm91cF9MYXRjaCIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgSVNPX0dyb3VwX0xhdGNoOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX0dy b3VwX0xvY2siKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IElTT19Hcm91cF9Mb2NrOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfSVNPX0dyb3VwX1NoaWZ0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBJU09fR3Jv dXBfU2hpZnQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fTGFzdF9Hcm91cCIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgSVNPX0xhc3RfR3JvdXA7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fTGFzdF9Hcm91cF9M b2NrIildCisrCQlwdWJsaWMgY29uc3QgdWludCBJU09fTGFzdF9Hcm91cF9Mb2NrOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfSVNPX0xlZnRfVGFiIildCisrCQlwdWJsaWMgY29uc3QgdWludCBJU09fTGVmdF9U YWI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fTGV2ZWwyX0xhdGNoIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBJU09fTGV2ZWwyX0xhdGNoOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX0xldmVsM19MYXRjaCIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX0xldmVsM19MYXRjaDsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0lTT19MZXZlbDNfTG9jayIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX0xldmVsM19Mb2Nr OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfSVNPX0xldmVsM19TaGlmdCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgSVNPX0xldmVsM19TaGlmdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19MZXZlbDVfTGF0Y2giKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IElTT19MZXZlbDVfTGF0Y2g7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9J U09fTGV2ZWw1X0xvY2siKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IElTT19MZXZlbDVfTG9jazsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0lTT19MZXZlbDVfU2hpZnQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IElTT19MZXZlbDVfU2hpZnQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fTG9jayIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgSVNPX0xvY2s7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fTW92ZV9MaW5lX0Rvd24i KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IElTT19Nb3ZlX0xpbmVfRG93bjsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0lTT19Nb3ZlX0xpbmVfVXAiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IElTT19Nb3ZlX0xp bmVfVXA7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fTmV4dF9Hcm91cCIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgSVNPX05leHRfR3JvdXA7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fTmV4dF9Hcm91cF9Mb2Nr IildCisrCQlwdWJsaWMgY29uc3QgdWludCBJU09fTmV4dF9Hcm91cF9Mb2NrOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfSVNPX1BhcnRpYWxfTGluZV9Eb3duIildCisrCQlwdWJsaWMgY29uc3QgdWludCBJU09f UGFydGlhbF9MaW5lX0Rvd247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fUGFydGlhbF9MaW5lX1VwIild CisrCQlwdWJsaWMgY29uc3QgdWludCBJU09fUGFydGlhbF9MaW5lX1VwOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfSVNPX1BhcnRpYWxfU3BhY2VfTGVmdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX1Bh cnRpYWxfU3BhY2VfTGVmdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19QYXJ0aWFsX1NwYWNlX1JpZ2h0 IildCisrCQlwdWJsaWMgY29uc3QgdWludCBJU09fUGFydGlhbF9TcGFjZV9SaWdodDsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0lTT19QcmV2X0dyb3VwIildCisrCQlwdWJsaWMgY29uc3QgdWludCBJU09fUHJl dl9Hcm91cDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19QcmV2X0dyb3VwX0xvY2siKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IElTT19QcmV2X0dyb3VwX0xvY2s7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fUmVs ZWFzZV9Cb3RoX01hcmdpbnMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IElTT19SZWxlYXNlX0Jv dGhfTWFyZ2luczsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19SZWxlYXNlX01hcmdpbl9MZWZ0IildCisr CQlwdWJsaWMgY29uc3QgdWludCBJU09fUmVsZWFzZV9NYXJnaW5fTGVmdDsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0lTT19SZWxlYXNlX01hcmdpbl9SaWdodCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSVNP X1JlbGVhc2VfTWFyZ2luX1JpZ2h0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX1NldF9NYXJnaW5fTGVm dCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX1NldF9NYXJnaW5fTGVmdDsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0lTT19TZXRfTWFyZ2luX1JpZ2h0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBJU09f U2V0X01hcmdpbl9SaWdodDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lhYm92ZWRvdCIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgSWFib3ZlZG90OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSWFjdXRlIildCisrCQlwdWJs aWMgY29uc3QgdWludCBJYWN1dGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JYmVsb3dkb3QiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IEliZWxvd2RvdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0licmV2ZSIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgSWJyZXZlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSWNpcmN1bWZsZXgiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IEljaXJjdW1mbGV4OworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSWRpYWVy ZXNpcyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSWRpYWVyZXNpczsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0lncmF2ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSWdyYXZlOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf SWhvb2siKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IElob29rOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSW1h Y3JvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSW1hY3JvbjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lu c2VydCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSW5zZXJ0OworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSW9n b25layIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSW9nb25lazsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0l0 aWxkZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgSXRpbGRlOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSiIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgSjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0pjaXJjdW1mbGV4Iild CisrCQlwdWJsaWMgY29uc3QgdWludCBKY2lyY3VtZmxleDsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0siKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IEs7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF8wIildCisrCQlwdWJs aWMgY29uc3QgdWludCBLUF8wOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS1BfMSIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgS1BfMTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0tQXzIiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IEtQXzI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF8zIildCisrCQlwdWJsaWMgY29uc3QgdWludCBL UF8zOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfS1BfNCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfNDsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0tQXzUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEtQXzU7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9LUF82IildCisrCQlwdWJsaWMgY29uc3QgdWludCBLUF82OworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfS1BfNyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfNzsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0tQXzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEtQXzg7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF85 IildCisrCQlwdWJsaWMgY29uc3QgdWludCBLUF85OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS1BfQWRkIild CisrCQlwdWJsaWMgY29uc3QgdWludCBLUF9BZGQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9CZWdpbiIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfQmVnaW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9EZWNp bWFsIildCisrCQlwdWJsaWMgY29uc3QgdWludCBLUF9EZWNpbWFsOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf S1BfRGVsZXRlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBLUF9EZWxldGU7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9LUF9EaXZpZGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEtQX0RpdmlkZTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0tQX0Rvd24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEtQX0Rvd247CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9LUF9FbmQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEtQX0VuZDsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0tQX0VudGVyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBLUF9FbnRlcjsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0tQX0VxdWFsIildCisrCQlwdWJsaWMgY29uc3QgdWludCBLUF9FcXVhbDsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0tQX0YxIildCisrCQlwdWJsaWMgY29uc3QgdWludCBLUF9GMTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0tQX0YyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBLUF9GMjsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0tQX0YzIildCisrCQlwdWJsaWMgY29uc3QgdWludCBLUF9GMzsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0tQX0Y0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBLUF9GNDsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0tQX0hvbWUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEtQX0hvbWU7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9LUF9JbnNlcnQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEtQX0luc2VydDsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0tQX0xlZnQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEtQX0xlZnQ7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9LUF9NdWx0aXBseSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfTXVsdGlw bHk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9OZXh0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBLUF9O ZXh0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfS1BfUGFnZV9Eb3duIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBLUF9QYWdlX0Rvd247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9QYWdlX1VwIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBLUF9QYWdlX1VwOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS1BfUHJpb3IiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IEtQX1ByaW9yOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS1BfUmlnaHQiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IEtQX1JpZ2h0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS1BfU2VwYXJhdG9y IildCisrCQlwdWJsaWMgY29uc3QgdWludCBLUF9TZXBhcmF0b3I7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9L UF9TcGFjZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfU3BhY2U7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9LUF9TdWJ0cmFjdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfU3VidHJhY3Q7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9LUF9UYWIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEtQX1RhYjsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0tQX1VwIildCisrCQlwdWJsaWMgY29uc3QgdWludCBLUF9VcDsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0thbmFfTG9jayIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgS2FuYV9Mb2NrOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfS2FuYV9TaGlmdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgS2FuYV9TaGlm dDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0thbmppIildCisrCQlwdWJsaWMgY29uc3QgdWludCBLYW5qaTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0thbmppX0JhbmdvdSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgS2Fu amlfQmFuZ291OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS2F0YWthbmEiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IEthdGFrYW5hOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS2JkQnJpZ2h0bmVzc0Rvd24iKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IEtiZEJyaWdodG5lc3NEb3duOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS2JkQnJp Z2h0bmVzc1VwIildCisrCQlwdWJsaWMgY29uc3QgdWludCBLYmRCcmlnaHRuZXNzVXA7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9LYmRMaWdodE9uT2ZmIildCisrCQlwdWJsaWMgY29uc3QgdWludCBLYmRMaWdo dE9uT2ZmOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS2NlZGlsbGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IEtjZWRpbGxhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS29yZWFuX1dvbiIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgS29yZWFuX1dvbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0wiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IEw7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9MMSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgTDE7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9MMTAiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IEwxMDsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0wyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBMMjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0wz IildCisrCQlwdWJsaWMgY29uc3QgdWludCBMMzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0w0IildCisrCQlw dWJsaWMgY29uc3QgdWludCBMNDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0w1IildCisrCQlwdWJsaWMgY29u c3QgdWludCBMNTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0w2IildCisrCQlwdWJsaWMgY29uc3QgdWludCBM NjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0w3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBMNzsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0w4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBMODsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0w5IildCisrCQlwdWJsaWMgY29uc3QgdWludCBMOTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0xhY3V0ZSIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgTGFjdXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGFzdF9WaXJ0 dWFsX1NjcmVlbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgTGFzdF9WaXJ0dWFsX1NjcmVlbjsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0xhdW5jaDAiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IExhdW5jaDA7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9MYXVuY2gxIildCisrCQlwdWJsaWMgY29uc3QgdWludCBMYXVuY2gx OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfTGF1bmNoMiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgTGF1bmNo MjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0xhdW5jaDMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IExhdW5j aDM7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9MYXVuY2g0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBMYXVu Y2g0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfTGF1bmNoNSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgTGF1 bmNoNTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0xhdW5jaDYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IExh dW5jaDY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9MYXVuY2g3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBM YXVuY2g3OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGF1bmNoOCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg TGF1bmNoODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0xhdW5jaDkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IExhdW5jaDk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9MYXVuY2hBIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBMYXVuY2hBOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGF1bmNoQiIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgTGF1bmNoQjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0xhdW5jaEMiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IExhdW5jaEM7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9MYXVuY2hEIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBMYXVuY2hEOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGF1bmNoRSIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgTGF1bmNoRTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0xhdW5jaEYiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IExhdW5jaEY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9MYmVsb3dkb3QiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IExiZWxvd2RvdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0xjYXJvbiIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgTGNhcm9uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGNlZGlsbGEiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IExjZWRpbGxhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGVmdCIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgTGVmdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0xpZ2h0QnVsYiIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgTGlnaHRCdWxiOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGluZWZlZWQiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IExpbmVmZWVkOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGlyYVNpZ24iKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IExpcmFTaWduOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTG9nR3JhYkluZm8i KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IExvZ0dyYWJJbmZvOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTG9n T2ZmIildCisrCQlwdWJsaWMgY29uc3QgdWludCBMb2dPZmY7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Mb2dX aW5kb3dUcmVlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBMb2dXaW5kb3dUcmVlOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfTHN0cm9rZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgTHN0cm9rZTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX00iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE07CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9N YWJvdmVkb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE1hYm92ZWRvdDsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX01hY2Vkb25pYV9EU0UiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE1hY2Vkb25pYV9EU0U7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9NYWNlZG9uaWFfR0pFIildCisrCQlwdWJsaWMgY29uc3QgdWludCBN YWNlZG9uaWFfR0pFOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTWFjZWRvbmlhX0tKRSIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgTWFjZWRvbmlhX0tKRTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01hY2Vkb25pYV9kc2Ui KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE1hY2Vkb25pYV9kc2U7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9N YWNlZG9uaWFfZ2plIildCisrCQlwdWJsaWMgY29uc3QgdWludCBNYWNlZG9uaWFfZ2plOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfTWFjZWRvbmlhX2tqZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgTWFjZWRv bmlhX2tqZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01hZV9Lb2hvIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBNYWVfS29obzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01haWwiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IE1haWw7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9NYWlsRm9yd2FyZCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgTWFpbEZvcndhcmQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9NYXJrZXQiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IE1hcmtldDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01hc3N5byIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgTWFzc3lvOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTWVldGluZyIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgTWVldGluZzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01lbW8iKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IE1lbW87CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9NZW51IildCisrCQlwdWJsaWMgY29uc3QgdWludCBN ZW51OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfTWVudUtCIildCisrCQlwdWJsaWMgY29uc3QgdWludCBNZW51 S0I7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9NZW51UEIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE1lbnVQ QjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX01lc3NlbmdlciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgTWVz c2VuZ2VyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTWV0YV9MIildCisrCQlwdWJsaWMgY29uc3QgdWludCBN ZXRhX0w7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9NZXRhX1IiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE1l dGFfUjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX01pbGxTaWduIildCisrCQlwdWJsaWMgY29uc3QgdWludCBN aWxsU2lnbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01vZGVMb2NrIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBNb2RlTG9jazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01vZGVfc3dpdGNoIildCisrCQlwdWJsaWMgY29u c3QgdWludCBNb2RlX3N3aXRjaDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01vbkJyaWdodG5lc3NEb3duIild CisrCQlwdWJsaWMgY29uc3QgdWludCBNb25CcmlnaHRuZXNzRG93bjsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X01vbkJyaWdodG5lc3NVcCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgTW9uQnJpZ2h0bmVzc1Vw OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfTW91c2VLZXlzX0FjY2VsX0VuYWJsZSIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgTW91c2VLZXlzX0FjY2VsX0VuYWJsZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01vdXNlS2V5 c19FbmFibGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE1vdXNlS2V5c19FbmFibGU7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9NdWhlbmthbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgTXVoZW5rYW47Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9NdWx0aV9rZXkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE11bHRpX2tl eTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX011bHRpcGxlQ2FuZGlkYXRlIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBNdWx0aXBsZUNhbmRpZGF0ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX011c2ljIildCisrCQlwdWJs aWMgY29uc3QgdWludCBNdXNpYzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX015Q29tcHV0ZXIiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IE15Q29tcHV0ZXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9NeVNpdGVzIildCisr CQlwdWJsaWMgY29uc3QgdWludCBNeVNpdGVzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTiIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgTjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX05hY3V0ZSIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgTmFjdXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTmFpcmFTaWduIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBOYWlyYVNpZ247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9OY2Fyb24iKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IE5jYXJvbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX05jZWRpbGxhIildCisrCQlwdWJs aWMgY29uc3QgdWludCBOY2VkaWxsYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX05ldyIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgTmV3OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTmV3U2hlcWVsU2lnbiIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgTmV3U2hlcWVsU2lnbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX05ld3MiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IE5ld3M7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9OZXh0IildCisrCQlwdWJs aWMgY29uc3QgdWludCBOZXh0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTmV4dF9WTW9kZSIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgTmV4dF9WTW9kZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX05leHRfVmlydHVhbF9T Y3JlZW4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE5leHRfVmlydHVhbF9TY3JlZW47CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9OdGlsZGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE50aWxkZTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX051bV9Mb2NrIildCisrCQlwdWJsaWMgY29uc3QgdWludCBOdW1fTG9jazsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX08iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE87CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9PRSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgT0U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PYWN1dGUi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE9hY3V0ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09iYXJyZWQi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE9iYXJyZWQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PYmVsb3dk b3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE9iZWxvd2RvdDsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09j YXJvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgT2Nhcm9uOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT2Np cmN1bWZsZXgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE9jaXJjdW1mbGV4OworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfT2NpcmN1bWZsZXhhY3V0ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgT2NpcmN1bWZs ZXhhY3V0ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09jaXJjdW1mbGV4YmVsb3dkb3QiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IE9jaXJjdW1mbGV4YmVsb3dkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PY2lyY3Vt ZmxleGdyYXZlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBPY2lyY3VtZmxleGdyYXZlOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfT2NpcmN1bWZsZXhob29rIildCisrCQlwdWJsaWMgY29uc3QgdWludCBPY2ly Y3VtZmxleGhvb2s7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PY2lyY3VtZmxleHRpbGRlIildCisrCQlwdWJs aWMgY29uc3QgdWludCBPY2lyY3VtZmxleHRpbGRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT2RpYWVyZXNp cyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgT2RpYWVyZXNpczsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09k b3VibGVhY3V0ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgT2RvdWJsZWFjdXRlOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfT2ZmaWNlSG9tZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgT2ZmaWNlSG9tZTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX09ncmF2ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgT2dyYXZlOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfT2hvb2siKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE9ob29rOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfT2hvcm4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE9ob3JuOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfT2hvcm5hY3V0ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgT2hvcm5hY3V0ZTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX09ob3JuYmVsb3dkb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE9o b3JuYmVsb3dkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PaG9ybmdyYXZlIildCisrCQlwdWJsaWMgY29u c3QgdWludCBPaG9ybmdyYXZlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT2hvcm5ob29rIildCisrCQlwdWJs aWMgY29uc3QgdWludCBPaG9ybmhvb2s7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PaG9ybnRpbGRlIildCisr CQlwdWJsaWMgY29uc3QgdWludCBPaG9ybnRpbGRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT21hY3JvbiIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgT21hY3JvbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09vYmxpcXVl IildCisrCQlwdWJsaWMgY29uc3QgdWludCBPb2JsaXF1ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09wZW4i KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE9wZW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PcGVuVVJMIild CisrCQlwdWJsaWMgY29uc3QgdWludCBPcGVuVVJMOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT3B0aW9uIild CisrCQlwdWJsaWMgY29uc3QgdWludCBPcHRpb247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Pc2xhc2giKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IE9zbGFzaDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX090aWxkZSIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgT3RpbGRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT3ZlcmxheTFfRW5h YmxlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBPdmVybGF5MV9FbmFibGU7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9PdmVybGF5Ml9FbmFibGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IE92ZXJsYXkyX0Vu YWJsZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1AiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFA7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9QYWJvdmVkb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFBhYm92ZWRvdDsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1BhZ2VfRG93biIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUGFnZV9E b3duOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfUGFnZV9VcCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUGFn ZV9VcDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1Bhc3RlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBQYXN0 ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1BhdXNlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBQYXVzZTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1Blc2V0YVNpZ24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFBlc2V0 YVNpZ247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9QaG9uZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUGhv bmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9QaWN0dXJlcyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUGlj dHVyZXM7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0FjY2VsZXJhdGUiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IFBvaW50ZXJfQWNjZWxlcmF0ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfQnV0 dG9uMSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9CdXR0b24xOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfUG9pbnRlcl9CdXR0b24yIildCisrCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX0J1 dHRvbjI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0J1dHRvbjMiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IFBvaW50ZXJfQnV0dG9uMzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfQnV0dG9uNCIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9CdXR0b240OworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf UG9pbnRlcl9CdXR0b241IildCisrCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX0J1dHRvbjU7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0J1dHRvbl9EZmx0IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBQb2ludGVyX0J1dHRvbl9EZmx0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9EYmxDbGlj azEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfRGJsQ2xpY2sxOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfUG9pbnRlcl9EYmxDbGljazIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJf RGJsQ2xpY2syOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9EYmxDbGljazMiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IFBvaW50ZXJfRGJsQ2xpY2szOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9E YmxDbGljazQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfRGJsQ2xpY2s0OworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfUG9pbnRlcl9EYmxDbGljazUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFBv aW50ZXJfRGJsQ2xpY2s1OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9EYmxDbGlja19EZmx0Iild CisrCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX0RibENsaWNrX0RmbHQ7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9Qb2ludGVyX0RmbHRCdG5OZXh0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVy X0RmbHRCdG5OZXh0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9EZmx0QnRuUHJldiIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9EZmx0QnRuUHJldjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Bv aW50ZXJfRG93biIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9Eb3duOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfUG9pbnRlcl9Eb3duTGVmdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRl cl9Eb3duTGVmdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfRG93blJpZ2h0IildCisrCQlwdWJs aWMgY29uc3QgdWludCBQb2ludGVyX0Rvd25SaWdodDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJf RHJhZzEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfRHJhZzE7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9Qb2ludGVyX0RyYWcyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX0RyYWcy OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9EcmFnMyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg UG9pbnRlcl9EcmFnMzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfRHJhZzQiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IFBvaW50ZXJfRHJhZzQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0RyYWc1 IildCisrCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX0RyYWc1OworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf UG9pbnRlcl9EcmFnX0RmbHQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfRHJhZ19E Zmx0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9FbmFibGVLZXlzIildCisrCQlwdWJsaWMgY29u c3QgdWludCBQb2ludGVyX0VuYWJsZUtleXM7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0xlZnQi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfTGVmdDsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Bv aW50ZXJfUmlnaHQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfUmlnaHQ7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9Qb2ludGVyX1VwIildCisrCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX1Vw OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9VcExlZnQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IFBvaW50ZXJfVXBMZWZ0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9VcFJpZ2h0IildCisrCQlw dWJsaWMgY29uc3QgdWludCBQb2ludGVyX1VwUmlnaHQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb3dlckRv d24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFBvd2VyRG93bjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Bv d2VyT2ZmIildCisrCQlwdWJsaWMgY29uc3QgdWludCBQb3dlck9mZjsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1ByZXZfVk1vZGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFByZXZfVk1vZGU7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9QcmV2X1ZpcnR1YWxfU2NyZWVuIildCisrCQlwdWJsaWMgY29uc3QgdWludCBQcmV2 X1ZpcnR1YWxfU2NyZWVuOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUHJldmlvdXNDYW5kaWRhdGUiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IFByZXZpb3VzQ2FuZGlkYXRlOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUHJp bnQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFByaW50OworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUHJpb3Ii KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFByaW9yOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUSIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgUTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1IiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IFI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SMSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUjE7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9SMTAiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFIxMDsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1IxMSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUjExOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfUjEyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBSMTI7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SMTMi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFIxMzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1IxNCIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgUjE0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUjE1IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBSMTU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SMiIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgUjI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SMyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUjM7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9SNCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUjQ7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9SNSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUjU7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SNiIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgUjY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SNyIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgUjc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SOCIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgUjg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SOSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUjk7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9SYWN1dGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFJhY3V0ZTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1JjYXJvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUmNhcm9uOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfUmNlZGlsbGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFJjZWRpbGxh OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfUmVkIildCisrCQlwdWJsaWMgY29uc3QgdWludCBSZWQ7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9SZWRvIildCisrCQlwdWJsaWMgY29uc3QgdWludCBSZWRvOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfUmVmcmVzaCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUmVmcmVzaDsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1JlbG9hZCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUmVsb2FkOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfUmVwZWF0S2V5c19FbmFibGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFJlcGVhdEtl eXNfRW5hYmxlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUmVwbHkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IFJlcGx5OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUmV0dXJuIildCisrCQlwdWJsaWMgY29uc3QgdWludCBS ZXR1cm47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SaWdodCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUmln aHQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9Sb2NrZXJEb3duIildCisrCQlwdWJsaWMgY29uc3QgdWludCBS b2NrZXJEb3duOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUm9ja2VyRW50ZXIiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IFJvY2tlckVudGVyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUm9ja2VyVXAiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IFJvY2tlclVwOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUm9tYWppIildCisrCQlwdWJs aWMgY29uc3QgdWludCBSb21hamk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Sb3RhdGVXaW5kb3dzIildCisr CQlwdWJsaWMgY29uc3QgdWludCBSb3RhdGVXaW5kb3dzOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUm90YXRp b25LQiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgUm90YXRpb25LQjsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1JvdGF0aW9uUEIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFJvdGF0aW9uUEI7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9SdXBlZVNpZ24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFJ1cGVlU2lnbjsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1MiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFM7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9TQ0hXQSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU0NIV0E7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9T YWJvdmVkb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNhYm92ZWRvdDsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1NhY3V0ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2FjdXRlOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfU2F2ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2F2ZTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Nj YXJvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2Nhcm9uOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2Nl ZGlsbGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNjZWRpbGxhOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf U2NpcmN1bWZsZXgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNjaXJjdW1mbGV4OworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfU2NyZWVuU2F2ZXIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNjcmVlblNhdmVy OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfU2Nyb2xsQ2xpY2siKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNj cm9sbENsaWNrOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2Nyb2xsRG93biIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgU2Nyb2xsRG93bjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Njcm9sbFVwIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBTY3JvbGxVcDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Njcm9sbF9Mb2NrIildCisrCQlw dWJsaWMgY29uc3QgdWludCBTY3JvbGxfTG9jazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NlYXJjaCIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgU2VhcmNoOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2VsZWN0IildCisr CQlwdWJsaWMgY29uc3QgdWludCBTZWxlY3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TZWxlY3RCdXR0b24i KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNlbGVjdEJ1dHRvbjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Nl bmQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNlbmQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TZXJiaWFu X0RKRSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2VyYmlhbl9ESkU7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9TZXJiaWFuX0RaRSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2VyYmlhbl9EWkU7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9TZXJiaWFuX0pFIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTZXJiaWFuX0pF OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfU2VyYmlhbl9MSkUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNl cmJpYW5fTEpFOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2VyYmlhbl9OSkUiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IFNlcmJpYW5fTkpFOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2VyYmlhbl9UU0hFIildCisrCQlw dWJsaWMgY29uc3QgdWludCBTZXJiaWFuX1RTSEU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TZXJiaWFuX2Rq ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2VyYmlhbl9kamU7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9T ZXJiaWFuX2R6ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2VyYmlhbl9kemU7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9TZXJiaWFuX2plIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTZXJiaWFuX2plOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfU2VyYmlhbl9samUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNlcmJp YW5fbGplOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2VyYmlhbl9uamUiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IFNlcmJpYW5fbmplOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2VyYmlhbl90c2hlIildCisrCQlwdWJs aWMgY29uc3QgdWludCBTZXJiaWFuX3RzaGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaGlmdF9MIildCisr CQlwdWJsaWMgY29uc3QgdWludCBTaGlmdF9MOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2hpZnRfTG9jayIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2hpZnRfTG9jazsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NoaWZ0 X1IiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNoaWZ0X1I7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaG9w IildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaG9wOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luZ2xlQ2Fu ZGlkYXRlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaW5nbGVDYW5kaWRhdGU7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9TaW5oX2EiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfYTsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1NpbmhfYWEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfYWE7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9TaW5oX2FhMiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9hYTI7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9TaW5oX2FlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2FlOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfU2luaF9hZTIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfYWUyOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfU2luaF9hZWUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfYWVl OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9hZWUyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaW5o X2FlZTI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2FpIildCisrCQlwdWJsaWMgY29uc3QgdWludCBT aW5oX2FpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9haTIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IFNpbmhfYWkyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9hbCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgU2luaF9hbDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfYXUiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IFNpbmhfYXU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2F1MiIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgU2luaF9hdTI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2JhIildCisrCQlwdWJsaWMgY29u c3QgdWludCBTaW5oX2JhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9iaGEiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IFNpbmhfYmhhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9jYSIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgU2luaF9jYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfY2hhIildCisrCQlwdWJs aWMgY29uc3QgdWludCBTaW5oX2NoYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfZGRhIildCisrCQlw dWJsaWMgY29uc3QgdWludCBTaW5oX2RkYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfZGRoYSIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9kZGhhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9kaGEi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfZGhhOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9k aGhhIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2RoaGE7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9T aW5oX2UiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfZTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Np bmhfZTIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfZTI7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9T aW5oX2VlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2VlOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf U2luaF9lZTIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfZWUyOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfU2luaF9mYSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9mYTsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1NpbmhfZ2EiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfZ2E7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9TaW5oX2doYSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9naGE7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9TaW5oX2gyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2gyOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfU2luaF9oYSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9oYTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1NpbmhfaSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9pOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfU2luaF9pMiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9pMjsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1NpbmhfaWkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfaWk7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9TaW5oX2lpMiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9paTI7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9TaW5oX2phIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2phOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfU2luaF9qaGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfamhh OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9qbnlhIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaW5o X2pueWE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2thIildCisrCQlwdWJsaWMgY29uc3QgdWludCBT aW5oX2thOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9raGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IFNpbmhfa2hhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9rdW5kZGFsaXlhIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBTaW5oX2t1bmRkYWxpeWE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2xhIildCisr CQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2xhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9sbGEiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfbGxhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9sdSIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9sdTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfbHUy IildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2x1MjsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Npbmhf bHV1IildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2x1dTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Np bmhfbHV1MiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9sdXUyOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfU2luaF9tYSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9tYTsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1NpbmhfbWJhIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX21iYTsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1NpbmhfbmEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfbmE7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9TaW5oX25kZGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfbmRkYTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1NpbmhfbmRoYSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9uZGhh OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9uZyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9u ZzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1NpbmhfbmcyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaW5o X25nMjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfbmdhIildCisrCQlwdWJsaWMgY29uc3QgdWludCBT aW5oX25nYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfbmphIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBTaW5oX25qYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Npbmhfbm5hIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBTaW5oX25uYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfbnlhIildCisrCQlwdWJsaWMgY29u c3QgdWludCBTaW5oX255YTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfbyIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgU2luaF9vOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9vMiIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgU2luaF9vMjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Npbmhfb28iKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IFNpbmhfb287CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX29vMiIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgU2luaF9vbzI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3BhIildCisrCQlwdWJs aWMgY29uc3QgdWludCBTaW5oX3BhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9waGEiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IFNpbmhfcGhhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9yYSIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgU2luaF9yYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfcmkiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IFNpbmhfcmk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3JpaSIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9yaWk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3J1MiIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9ydTI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3J1 dTIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfcnV1MjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Np bmhfc2EiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfc2E7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9T aW5oX3NoYSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9zaGE7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9TaW5oX3NzaGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfc3NoYTsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1NpbmhfdGhhIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX3RoYTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1NpbmhfdGhoYSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF90aGhhOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfU2luaF90dGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfdHRh OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfU2luaF90dGhhIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTaW5o X3R0aGE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3UiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNp bmhfdTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfdTIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFNp bmhfdTI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3V1IildCisrCQlwdWJsaWMgY29uc3QgdWludCBT aW5oX3V1OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF91dTIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IFNpbmhfdXUyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF92YSIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgU2luaF92YTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfeWEiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IFNpbmhfeWE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TbGVlcCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgU2xlZXA7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TbG93S2V5c19FbmFibGUiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IFNsb3dLZXlzX0VuYWJsZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NwZWxsIildCisrCQlw dWJsaWMgY29uc3QgdWludCBTcGVsbDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NwbGl0U2NyZWVuIildCisr CQlwdWJsaWMgY29uc3QgdWludCBTcGxpdFNjcmVlbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N0YW5kYnki KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFN0YW5kYnk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TdGFydCIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgU3RhcnQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TdGlja3lLZXlz X0VuYWJsZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU3RpY2t5S2V5c19FbmFibGU7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9TdG9wIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTdG9wOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfU3VidGl0bGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFN1YnRpdGxlOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfU3VwZXJfTCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU3VwZXJfTDsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1N1cGVyX1IiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFN1cGVyX1I7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9TdXBwb3J0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBTdXBwb3J0OworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfU3VzcGVuZCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgU3VzcGVuZDsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1N3aXRjaF9WVF8xIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTd2l0Y2hf VlRfMTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1N3aXRjaF9WVF8xMCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgU3dpdGNoX1ZUXzEwOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU3dpdGNoX1ZUXzExIildCisrCQlwdWJs aWMgY29uc3QgdWludCBTd2l0Y2hfVlRfMTE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Td2l0Y2hfVlRfMTIi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFN3aXRjaF9WVF8xMjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N3 aXRjaF9WVF8yIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTd2l0Y2hfVlRfMjsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1N3aXRjaF9WVF8zIildCisrCQlwdWJsaWMgY29uc3QgdWludCBTd2l0Y2hfVlRfMzsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1N3aXRjaF9WVF80IildCisrCQlwdWJsaWMgY29uc3QgdWludCBTd2l0 Y2hfVlRfNDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N3aXRjaF9WVF81IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBTd2l0Y2hfVlRfNTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N3aXRjaF9WVF82IildCisrCQlwdWJs aWMgY29uc3QgdWludCBTd2l0Y2hfVlRfNjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N3aXRjaF9WVF83Iild CisrCQlwdWJsaWMgY29uc3QgdWludCBTd2l0Y2hfVlRfNzsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N3aXRj aF9WVF84IildCisrCQlwdWJsaWMgY29uc3QgdWludCBTd2l0Y2hfVlRfODsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1N3aXRjaF9WVF85IildCisrCQlwdWJsaWMgY29uc3QgdWludCBTd2l0Y2hfVlRfOTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1N5c19SZXEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFN5c19SZXE7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9UIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfVEhPUk4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRIT1JOOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf VGFiIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUYWI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UYWJvdmVk b3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRhYm92ZWRvdDsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Rh c2tQYW5lIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUYXNrUGFuZTsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1RjYXJvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGNhcm9uOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf VGNlZGlsbGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRjZWRpbGxhOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfVGVybWluYWwiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRlcm1pbmFsOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfVGVybWluYXRlX1NlcnZlciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGVybWluYXRl X1NlcnZlcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfYmFodCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgVGhhaV9iYWh0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9ib2JhaW1haSIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgVGhhaV9ib2JhaW1haTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfY2hvY2hhbiIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9jaG9jaGFuOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhh aV9jaG9jaGFuZyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9jaG9jaGFuZzsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1RoYWlfY2hvY2hpbmciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfY2hv Y2hpbmc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2Nob2Nob2UiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IFRoYWlfY2hvY2hvZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfZG9jaGFkYSIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgVGhhaV9kb2NoYWRhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9kb2RlayIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9kb2RlazsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlf Zm9mYSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9mb2ZhOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf VGhhaV9mb2ZhbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9mb2ZhbjsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1RoYWlfaG9oaXAiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfaG9oaXA7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9UaGFpX2hvbm9raHVrIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFp X2hvbm9raHVrOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9raG9raGFpIildCisrCQlwdWJsaWMgY29u c3QgdWludCBUaGFpX2tob2toYWk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2tob2tob24iKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IFRoYWlfa2hva2hvbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfa2hv a2h1YXQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfa2hva2h1YXQ7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9UaGFpX2tob2tod2FpIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2tob2tod2Fp OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9raG9yYWtoYW5nIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBUaGFpX2tob3Jha2hhbmc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2tva2FpIildCisrCQlwdWJs aWMgY29uc3QgdWludCBUaGFpX2tva2FpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9sYWtraGFuZ3lh byIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9sYWtraGFuZ3lhbzsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1RoYWlfbGVrY2hldCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9sZWtjaGV0Owor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfVGhhaV9sZWtoYSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9s ZWtoYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbGVraG9rIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBUaGFpX2xla2hvazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbGVra2FvIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBUaGFpX2xla2thbzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbGVrbnVuZyIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9sZWtudW5nOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9s ZWtwYWV0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2xla3BhZXQ7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9UaGFpX2xla3NhbSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9sZWtzYW07Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9UaGFpX2xla3NpIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2xl a3NpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9sZWtzb25nIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBUaGFpX2xla3Nvbmc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2xla3N1biIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgVGhhaV9sZWtzdW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2xvY2h1bGEiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfbG9jaHVsYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlf bG9saW5nIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2xvbGluZzsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1RoYWlfbHUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfbHU7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9UaGFpX21haWNoYXR0YXdhIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX21haWNo YXR0YXdhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9tYWllayIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgVGhhaV9tYWllazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbWFpaGFuYWthdCIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgVGhhaV9tYWloYW5ha2F0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9tYWlo YW5ha2F0X21haXRobyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9tYWloYW5ha2F0X21h aXRobzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbWFpdGFpa2h1IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBUaGFpX21haXRhaWtodTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbWFpdGhvIildCisrCQlw dWJsaWMgY29uc3QgdWludCBUaGFpX21haXRobzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbWFpdHJp IildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX21haXRyaTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Ro YWlfbWFpeWFtb2siKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfbWFpeWFtb2s7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9UaGFpX21vbWEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfbW9tYTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1RoYWlfbmdvbmd1IildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFp X25nb25ndTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbmlraGFoaXQiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IFRoYWlfbmlraGFoaXQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX25vbmVuIildCisrCQlw dWJsaWMgY29uc3QgdWludCBUaGFpX25vbmVuOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9ub251Iild CisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX25vbnU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX29h bmciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfb2FuZzsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Ro YWlfcGFpeWFubm9pIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3BhaXlhbm5vaTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1RoYWlfcGhpbnRodSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9w aGludGh1OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9waG9waGFuIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBUaGFpX3Bob3BoYW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3Bob3BodW5nIildCisrCQlw dWJsaWMgY29uc3QgdWludCBUaGFpX3Bob3BodW5nOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9waG9z YW1waGFvIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3Bob3NhbXBoYW87CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9UaGFpX3BvcGxhIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3BvcGxhOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfVGhhaV9yb3J1YSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9y b3J1YTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfcnUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRo YWlfcnU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3NhcmFhIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBUaGFpX3NhcmFhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJhYWEiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IFRoYWlfc2FyYWFhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJhYWUiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IFRoYWlfc2FyYWFlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJh YWltYWltYWxhaSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9zYXJhYWltYWltYWxhaTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1RoYWlfc2FyYWFpbWFpbXVhbiIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgVGhhaV9zYXJhYWltYWltdWFuOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJhYW0iKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IFRoYWlfc2FyYWFtOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJh ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9zYXJhZTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Ro YWlfc2FyYWkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfc2FyYWk7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9UaGFpX3NhcmFpaSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9zYXJhaWk7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9UaGFpX3NhcmFvIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3Nh cmFvOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJhdSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg VGhhaV9zYXJhdTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfc2FyYXVlIildCisrCQlwdWJsaWMgY29u c3QgdWludCBUaGFpX3NhcmF1ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfc2FyYXVlZSIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgVGhhaV9zYXJhdWVlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJh dXUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfc2FyYXV1OworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf VGhhaV9zb3J1c2kiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfc29ydXNpOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfVGhhaV9zb3NhbGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfc29zYWxh OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zb3NvIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFp X3Nvc287CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3Nvc3VhIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBUaGFpX3Nvc3VhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV90aGFudGhha2hhdCIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgVGhhaV90aGFudGhha2hhdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfdGhv bmFuZ21vbnRobyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV90aG9uYW5nbW9udGhvOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfVGhhaV90aG9waHV0aGFvIildCisrCQlwdWJsaWMgY29uc3QgdWludCBU aGFpX3Rob3BodXRoYW87CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3Rob3RoYWhhbiIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgVGhhaV90aG90aGFoYW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3Rob3Ro YW4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfdGhvdGhhbjsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1RoYWlfdGhvdGhvbmciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfdGhvdGhvbmc7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9UaGFpX3Rob3RodW5nIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFp X3Rob3RodW5nOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV90b3BhdGFrIildCisrCQlwdWJsaWMgY29u c3QgdWludCBUaGFpX3RvcGF0YWs7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3RvdGFvIildCisrCQlw dWJsaWMgY29uc3QgdWludCBUaGFpX3RvdGFvOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV93b3dhZW4i KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfd293YWVuOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhh aV95b3lhayIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV95b3lhazsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1RoYWlfeW95aW5nIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3lveWluZzsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1Rob3JuIildCisrCQlwdWJsaWMgY29uc3QgdWludCBUaG9ybjsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1RpbWUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRpbWU7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9Ub0RvTGlzdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVG9Eb0xpc3Q7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9Ub29scyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVG9vbHM7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9Ub3BNZW51IildCisrCQlwdWJsaWMgY29uc3QgdWludCBUb3BNZW51OworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfVG91Y2hwYWRPZmYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFRvdWNocGFkT2ZmOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfVG91Y2hwYWRPbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVG91Y2hw YWRPbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1RvdWNocGFkVG9nZ2xlIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBUb3VjaHBhZFRvZ2dsZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RvdXJva3UiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IFRvdXJva3U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UcmF2ZWwiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IFRyYXZlbDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RzbGFzaCIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgVHNsYXNoOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVSIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgVTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VXQiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVVdC OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfVWFjdXRlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBVYWN1dGU7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9VYmVsb3dkb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFViZWxv d2RvdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1VicmV2ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVWJy ZXZlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfVWNpcmN1bWZsZXgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IFVjaXJjdW1mbGV4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVWRpYWVyZXNpcyIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgVWRpYWVyZXNpczsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Vkb3VibGVhY3V0ZSIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgVWRvdWJsZWFjdXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVWdyYXZlIild CisrCQlwdWJsaWMgY29uc3QgdWludCBVZ3JhdmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9VaG9vayIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgVWhvb2s7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9VaG9ybiIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgVWhvcm47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9VaG9ybmFjdXRlIildCisr CQlwdWJsaWMgY29uc3QgdWludCBVaG9ybmFjdXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVWhvcm5iZWxv d2RvdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVWhvcm5iZWxvd2RvdDsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1Vob3JuZ3JhdmUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFVob3JuZ3JhdmU7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9VaG9ybmhvb2siKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFVob3JuaG9vazsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1Vob3JudGlsZGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFVob3Ju dGlsZGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Va3JhaW5pYW5fR0hFX1dJVEhfVVBUVVJOIildCisrCQlw dWJsaWMgY29uc3QgdWludCBVa3JhaW5pYW5fR0hFX1dJVEhfVVBUVVJOOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfVWtyYWluaWFuX0kiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFVrcmFpbmlhbl9JOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfVWtyYWluaWFuX0lFIildCisrCQlwdWJsaWMgY29uc3QgdWludCBVa3JhaW5p YW5fSUU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Va3JhaW5pYW5fWUkiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IFVrcmFpbmlhbl9ZSTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VrcmFpbmlhbl9naGVfd2l0aF91cHR1 cm4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFVrcmFpbmlhbl9naGVfd2l0aF91cHR1cm47Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9Va3JhaW5pYW5faSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVWtyYWlu aWFuX2k7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Va3JhaW5pYW5faWUiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IFVrcmFpbmlhbl9pZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VrcmFpbmlhbl95aSIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgVWtyYWluaWFuX3lpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVWtyYW5pYW5fSSIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgVWtyYW5pYW5fSTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VrcmFu aWFuX0pFIildCisrCQlwdWJsaWMgY29uc3QgdWludCBVa3Jhbmlhbl9KRTsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1VrcmFuaWFuX1lJIildCisrCQlwdWJsaWMgY29uc3QgdWludCBVa3Jhbmlhbl9ZSTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1VrcmFuaWFuX2kiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFVrcmFuaWFu X2k7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9Va3Jhbmlhbl9qZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg VWtyYW5pYW5famU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Va3Jhbmlhbl95aSIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgVWtyYW5pYW5feWk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9VbWFjcm9uIildCisrCQlwdWJs aWMgY29uc3QgdWludCBVbWFjcm9uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVW5kbyIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgVW5kbzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VuZ3JhYiIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgVW5ncmFiOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVW9nb25layIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgVW9nb25lazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VwIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBVcDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VyaW5nIildCisrCQlwdWJsaWMgY29uc3QgdWludCBV cmluZzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1VzZXIxS0IiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFVz ZXIxS0I7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Vc2VyMktCIildCisrCQlwdWJsaWMgY29uc3QgdWludCBV c2VyMktCOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVXNlclBCIildCisrCQlwdWJsaWMgY29uc3QgdWludCBV c2VyUEI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9VdGlsZGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFV0 aWxkZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1YiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFY7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9WZW5kb3JIb21lIildCisrCQlwdWJsaWMgY29uc3QgdWludCBWZW5kb3JIb21l OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfVmlkZW8iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFZpZGVvOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfVmlldyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgVmlldzsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1ZvaWRTeW1ib2wiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFZvaWRTeW1ib2w7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9XIildCisrCQlwdWJsaWMgY29uc3QgdWludCBXOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfV0xBTiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgV0xBTjsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1dXVyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgV1dXOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfV2FjdXRl IildCisrCQlwdWJsaWMgY29uc3QgdWludCBXYWN1dGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9XYWtlVXAi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFdha2VVcDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1djaXJjdW1m bGV4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBXY2lyY3VtZmxleDsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1dkaWFlcmVzaXMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFdkaWFlcmVzaXM7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9XZWJDYW0iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFdlYkNhbTsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1dncmF2ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgV2dyYXZlOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfV2hlZWxCdXR0b24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFdoZWVsQnV0dG9uOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfV2luZG93Q2xlYXIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFdpbmRv d0NsZWFyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfV29uU2lnbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg V29uU2lnbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1dvcmQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFdv cmQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9YIildCisrCQlwdWJsaWMgY29uc3QgdWludCBYOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfWGFib3ZlZG90IildCisrCQlwdWJsaWMgY29uc3QgdWludCBYYWJvdmVkb3Q7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9YZmVyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBYZmVyOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfWSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgWTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1lh Y3V0ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgWWFjdXRlOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfWWJl bG93ZG90IildCisrCQlwdWJsaWMgY29uc3QgdWludCBZYmVsb3dkb3Q7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9ZY2lyY3VtZmxleCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgWWNpcmN1bWZsZXg7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9ZZGlhZXJlc2lzIildCisrCQlwdWJsaWMgY29uc3QgdWludCBZZGlhZXJlc2lz OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfWWVsbG93IildCisrCQlwdWJsaWMgY29uc3QgdWludCBZZWxsb3c7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9ZZ3JhdmUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFlncmF2ZTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1lob29rIildCisrCQlwdWJsaWMgY29uc3QgdWludCBZaG9vazsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1l0aWxkZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgWXRpbGRlOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfWiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgWjsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1phYm92ZWRvdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgWmFib3ZlZG90OworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfWmFjdXRlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBaYWN1dGU7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9aY2Fyb24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFpjYXJvbjsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1plbl9Lb2hvIildCisrCQlwdWJsaWMgY29uc3QgdWludCBaZW5fS29obzsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1plbmtha3UiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFplbmtha3U7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9aZW5rYWt1X0hhbmtha3UiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IFplbmtha3Vf SGFua2FrdTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1pvb21JbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg Wm9vbUluOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfWm9vbU91dCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg Wm9vbU91dDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1pzdHJva2UiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IFpzdHJva2U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9hIildCisrCQlwdWJsaWMgY29uc3QgdWludCBhOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYWFjdXRlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBhYWN1dGU7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9hYmVsb3dkb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGFiZWxvd2Rv dDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2Fib3ZlZG90IildCisrCQlwdWJsaWMgY29uc3QgdWludCBhYm92 ZWRvdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2FicmV2ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYWJy ZXZlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYWJyZXZlYWN1dGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IGFicmV2ZWFjdXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYWJyZXZlYmVsb3dkb3QiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IGFicmV2ZWJlbG93ZG90OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYWJyZXZlZ3JhdmUi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGFicmV2ZWdyYXZlOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYWJy ZXZlaG9vayIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYWJyZXZlaG9vazsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2FicmV2ZXRpbGRlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBhYnJldmV0aWxkZTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2FjaXJjdW1mbGV4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBhY2lyY3Vt ZmxleDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2FjaXJjdW1mbGV4YWN1dGUiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IGFjaXJjdW1mbGV4YWN1dGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9hY2lyY3VtZmxleGJlbG93 ZG90IildCisrCQlwdWJsaWMgY29uc3QgdWludCBhY2lyY3VtZmxleGJlbG93ZG90OworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYWNpcmN1bWZsZXhncmF2ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYWNpcmN1 bWZsZXhncmF2ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2FjaXJjdW1mbGV4aG9vayIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgYWNpcmN1bWZsZXhob29rOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYWNpcmN1bWZsZXh0 aWxkZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYWNpcmN1bWZsZXh0aWxkZTsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2FjdXRlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBhY3V0ZTsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2FkaWFlcmVzaXMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGFkaWFlcmVzaXM7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9hZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYWU7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9hZ3JhdmUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGFncmF2ZTsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2Fob29rIildCisrCQlwdWJsaWMgY29uc3QgdWludCBhaG9vazsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Ft YWNyb24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGFtYWNyb247CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9h bXBlcnNhbmQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGFtcGVyc2FuZDsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2FvZ29uZWsiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGFvZ29uZWs7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9hcG9zdHJvcGhlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBhcG9zdHJvcGhlOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYXBwcm94ZXEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGFwcHJveGVxOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYXBwcm94aW1hdGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGFwcHJv eGltYXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYXJpbmciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGFy aW5nOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYXNjaWljaXJjdW0iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IGFzY2lpY2lyY3VtOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYXNjaWl0aWxkZSIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgYXNjaWl0aWxkZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2FzdGVyaXNrIildCisrCQlwdWJs aWMgY29uc3QgdWludCBhc3RlcmlzazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2F0IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBhdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2F0aWxkZSIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgYXRpbGRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg YjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JhYm92ZWRvdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYmFi b3ZlZG90OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYmFja3NsYXNoIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBiYWNrc2xhc2g7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9iYWxsb3Rjcm9zcyIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgYmFsbG90Y3Jvc3M7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9iYXIiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IGJhcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JlY2F1c2UiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IGJlY2F1c2U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ibGFuayIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgYmxhbms7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ib3RpbnRlZ3JhbCIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgYm90aW50ZWdyYWw7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ib3RsZWZ0cGFyZW5zIildCisr CQlwdWJsaWMgY29uc3QgdWludCBib3RsZWZ0cGFyZW5zOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYm90bGVm dHNxYnJhY2tldCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYm90bGVmdHNxYnJhY2tldDsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2JvdGxlZnRzdW1tYXRpb24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJv dGxlZnRzdW1tYXRpb247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ib3RyaWdodHBhcmVucyIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgYm90cmlnaHRwYXJlbnM7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ib3RyaWdodHNx YnJhY2tldCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYm90cmlnaHRzcWJyYWNrZXQ7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9ib3RyaWdodHN1bW1hdGlvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYm90 cmlnaHRzdW1tYXRpb247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ib3R0IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBib3R0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYm90dmVydHN1bW1hdGlvbmNvbm5lY3RvciIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgYm90dmVydHN1bW1hdGlvbmNvbm5lY3RvcjsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWNlbGVmdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhY2VsZWZ0OworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhY2VyaWdodCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhY2VyaWdo dDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWNrZXRsZWZ0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBi cmFja2V0bGVmdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWNrZXRyaWdodCIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgYnJhY2tldHJpZ2h0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9ibGFuayIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9ibGFuazsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90XzEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90XzE7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdF8xMCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RfMTA7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdF8yIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdF8yOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RfMyIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RfMzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVf ZG90XzQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90XzQ7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9icmFpbGxlX2RvdF81IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdF81 OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RfNiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RfNjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90XzciKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IGJyYWlsbGVfZG90Xzc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdF84 IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdF84OworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YnJhaWxsZV9kb3RfOSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RfOTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xIildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfMTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMiIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3Rz XzEyMyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWlsbGVfZG90c18xMjM0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMTIzNDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM0NSIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzQ1OworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzEyMzQ1NiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzQ1 NjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM0NTY3IildCisrCQlwdWJsaWMgY29u c3QgdWludCBicmFpbGxlX2RvdHNfMTIzNDU2NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18xMjM0NTY3OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzQ1Njc4 OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyMzQ1NjgiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c18xMjM0NTY4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3Rz XzEyMzQ1NyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzQ1NzsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM0NTc4IildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfMTIzNDU3ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM0 NTgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM0NTg7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNDYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c18xMjM0NjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM0NjciKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM0Njc7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfMTIzNDY3OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3Rz XzEyMzQ2Nzg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNDY4IildCisrCQlwdWJs aWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNDY4OworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzEyMzQ3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNDc7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNDc4IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMTIzNDc4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEy MzQ4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNDg7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxs ZV9kb3RzXzEyMzU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNTYiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM1NjsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90c18xMjM1NjciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM1 Njc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNTY3OCIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzU2Nzg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2Rv dHNfMTIzNTY4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNTY4Owor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyMzU3IildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfMTIzNTc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNTc4 IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNTc4OworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzEyMzU4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMTIzNTg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNiIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxl X2RvdHNfMTIzNjciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM2NzsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM2NzgiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c18xMjM2Nzg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIz NjgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM2ODsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWlsbGVfZG90c18xMjM3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMTIzNzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM3OCIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzc4OworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzEyMzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM4Owor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyNCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzEyNDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjQ1IildCisr CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI0NTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c18xMjQ1NiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEy NDU2OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyNDU2NyIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyNDU2NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18xMjQ1Njc4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI0NTY3ODsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjQ1NjgiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c18xMjQ1Njg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI0 NTciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjQ1NzsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWlsbGVfZG90c18xMjQ1NzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c18xMjQ1Nzg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI0NTgiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjQ1ODsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c18xMjQ2IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI0 NjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjQ2NyIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgYnJhaWxsZV9kb3RzXzEyNDY3OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEy NDY3OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyNDY3ODsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjQ2OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJh aWxsZV9kb3RzXzEyNDY4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyNDciKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjQ3OworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJh aWxsZV9kb3RzXzEyNDc4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI0 Nzg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI0OCIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgYnJhaWxsZV9kb3RzXzEyNDg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI1 IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI1OworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfYnJhaWxsZV9kb3RzXzEyNTYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c18xMjU2OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyNTY3IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI1Njc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2Rv dHNfMTI1Njc4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI1Njc4Owor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyNTY4IildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfMTI1Njg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI1NyIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyNTc7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfMTI1NzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c18xMjU3ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjU4IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI1ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18xMjYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjY7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfMTI2NyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxs ZV9kb3RzXzEyNjc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI2NzgiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjY3ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90c18xMjY4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI2ODsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IGJyYWlsbGVfZG90c18xMjc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI3OCIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyNzg7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfMTI4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI4 OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfMTM7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM0IildCisr CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM0OworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJh aWxsZV9kb3RzXzEzNDUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzQ1 OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNDU2IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMTM0NTY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM0 NTY3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM0NTY3OworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNDU2NzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJy YWlsbGVfZG90c18xMzQ1Njc4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNDU2OCIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNDU2ODsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c18xMzQ1NyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzEzNDU3OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNDU3OCIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNDU3ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90c18xMzQ1OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNDU4 OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNDYiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c18xMzQ2OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNDY3 IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM0Njc7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9icmFpbGxlX2RvdHNfMTM0Njc4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMTM0Njc4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNDY4IildCisrCQlw dWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM0Njg7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFp bGxlX2RvdHNfMTM0NyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNDc7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM0NzgiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c18xMzQ3ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzQ4 IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM0ODsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c18xMzUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c18xMzU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM1NiIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNTY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNf MTM1NjciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzU2NzsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzU2NzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJy YWlsbGVfZG90c18xMzU2Nzg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM1NjgiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzU2ODsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2JyYWlsbGVfZG90c18xMzU3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNf MTM1NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzU3OCIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNTc4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3Rz XzEzNTgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzU4OworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxs ZV9kb3RzXzEzNjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzY3IildCisrCQlwdWJs aWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM2NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVf ZG90c18xMzY3OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNjc4Owor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNjgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IGJyYWlsbGVfZG90c18xMzY4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNyIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNzsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c18xMzc4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM3 ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzgiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c18xMzg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTQiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNDsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c18xNDUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNDU7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTQ1NiIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgYnJhaWxsZV9kb3RzXzE0NTY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTQ1Njci KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNDU2NzsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c18xNDU2NzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVf ZG90c18xNDU2Nzg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTQ1NjgiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNDU2ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90c18xNDU3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTQ1NzsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNDU3OCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgYnJhaWxsZV9kb3RzXzE0NTc4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE0NTgi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNDU4OworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfYnJhaWxsZV9kb3RzXzE0NiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3Rz XzE0NjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNDY3IildCisrCQlwdWJsaWMgY29u c3QgdWludCBicmFpbGxlX2RvdHNfMTQ2NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18x NDY3OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE0Njc4OworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE0NjgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c18xNDY4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE0NyIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE0NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVf ZG90c18xNDc4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTQ3ODsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNDgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJy YWlsbGVfZG90c18xNDg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTUiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVf ZG90c18xNTYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNTY7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTU2NyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJh aWxsZV9kb3RzXzE1Njc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTU2NzgiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNTY3ODsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c18xNTY4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTU2 ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNTciKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c18xNTc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTU3OCIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE1Nzg7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfMTU4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNf MTU4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE2IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMTY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTY3Iild CisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTY3OworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YnJhaWxsZV9kb3RzXzE2NzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18x Njc4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE2OCIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgYnJhaWxsZV9kb3RzXzE2ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNyIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE3OworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YnJhaWxsZV9kb3RzXzE3OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE3 ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xOCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgYnJhaWxsZV9kb3RzXzE4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzIzIildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfMjM0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNDUiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzQ1OworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzIzNDU2IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM0NTY7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM0NTY3IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMjM0NTY3OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIz NDU2NzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzQ1Njc4OworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNDU2OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzIzNDU2ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzQ1NyIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNDU3OworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfYnJhaWxsZV9kb3RzXzIzNDU3OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzIzNDU3ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzQ1OCIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNDU4OworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzIzNDYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzQ2Owor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNDY3IildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfMjM0Njc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM0Njc4 IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM0Njc4OworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzIzNDY4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMjM0Njg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM0NyIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNDc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxl X2RvdHNfMjM0NzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzQ3ODsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzQ4IildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfMjM0ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzUiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzU7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfMjM1NiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIz NTY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM1NjciKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c18yMzU2NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18y MzU2NzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzU2Nzg7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM1NjgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJy YWlsbGVfZG90c18yMzU2ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzU3IildCisr CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM1NzsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c18yMzU3OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIz NTc4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNTgiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c18yMzU4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIz NiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNjsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c18yMzY3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2Rv dHNfMjM2NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzY3OCIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNjc4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzIzNjgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzY4OworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJh aWxsZV9kb3RzXzIzNzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzc4IildCisrCQlw dWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM3ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90c18yMzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzg7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJy YWlsbGVfZG90c18yNDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNDUiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNDU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxl X2RvdHNfMjQ1NiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI0NTY7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjQ1NjciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IGJyYWlsbGVfZG90c18yNDU2NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNDU2Nzgi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNDU2Nzg7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9icmFpbGxlX2RvdHNfMjQ1NjgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVf ZG90c18yNDU2ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNDU3IildCisrCQlwdWJs aWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjQ1NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVf ZG90c18yNDU3OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI0NTc4Owor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI0NTgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IGJyYWlsbGVfZG90c18yNDU4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI0NiIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI0NjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c18yNDY3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjQ2 NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNDY3OCIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgYnJhaWxsZV9kb3RzXzI0Njc4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI0 NjgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNDY4OworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzI0NyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzI0NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNDc4IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMjQ3ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18yNDgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNDg7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfMjUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVf ZG90c18yNTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNTYiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IGJyYWlsbGVfZG90c18yNTY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNf MjU2NyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI1Njc7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfMjU2NzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c18yNTY3ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNTY4IildCisrCQlw dWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjU2ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90c18yNTciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNTc7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjU3OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzI1Nzg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjU4IildCisr CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjU4OworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJh aWxsZV9kb3RzXzI2IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjY7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjY3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBi cmFpbGxlX2RvdHNfMjY3OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI2NzgiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNjc4OworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJh aWxsZV9kb3RzXzI2OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI2ODsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzI3OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI3OCIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI3ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90c18yOCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI4OworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c18zOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM0IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMzQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNf MzQ1IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzQ1OworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzM0NTYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVf ZG90c18zNDU2OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM0NTY3IildCisrCQlwdWJs aWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzQ1Njc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxl X2RvdHNfMzQ1Njc4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzQ1Njc4 OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM0NTY4IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMzQ1Njg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzQ1 NyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM0NTc7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9icmFpbGxlX2RvdHNfMzQ1NzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVf ZG90c18zNDU3ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18zNDU4IildCisrCQlwdWJs aWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzQ1ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVf ZG90c18zNDYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNDY7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzQ2NyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJh aWxsZV9kb3RzXzM0Njc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzQ2NzgiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNDY3ODsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c18zNDY4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzQ2 ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18zNDciKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c18zNDc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzQ3OCIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM0Nzg7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfMzQ4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNf MzQ4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM1IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMzU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzU2Iild CisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzU2OworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YnJhaWxsZV9kb3RzXzM1NjciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18z NTY3OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM1Njc4IildCisrCQlwdWJsaWMgY29u c3QgdWludCBicmFpbGxlX2RvdHNfMzU2Nzg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNf MzU2OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM1Njg7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfMzU3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMzU3OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM1NzgiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNTc4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzM1OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM1ODsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18zNiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxs ZV9kb3RzXzM2OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM2NyIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM2NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18zNjc4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzY3ODsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18zNjgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c18zNjg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzciKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18zNzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNzg7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfMzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVf ZG90c18zODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c180IildCisrCQlwdWJsaWMgY29u c3QgdWludCBicmFpbGxlX2RvdHNfNDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c180NSIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzQ1OworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YnJhaWxsZV9kb3RzXzQ1NiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzQ1 NjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c180NTY3IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfNDU2NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c180NTY3 OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzQ1Njc4OworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzQ1NjgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVf ZG90c180NTY4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzQ1NyIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzQ1NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c180NTc4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNDU3ODsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c180NTgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c180NTg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNDYiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IGJyYWlsbGVfZG90c180NjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c180NjciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c180Njc7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfNDY3OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxs ZV9kb3RzXzQ2Nzg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNDY4IildCisrCQlwdWJs aWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNDY4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzQ3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNDc7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfNDc4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfNDc4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzQ4IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfNDg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNf NSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzU7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfNTYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c181 NjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c181NjciKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c181Njc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNTY3OCIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzU2Nzg7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfNTY4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNf NTY4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzU3IildCisrCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfNTc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNTc4Iild CisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNTc4OworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YnJhaWxsZV9kb3RzXzU4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNTg7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNjciKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c182NzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVf ZG90c182NzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c182Nzg7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNjgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c182ODsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c183IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfNzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c183 OCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzc4OworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfYnJhaWxsZV9kb3RzXzgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c184 OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJldmUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGJyZXZlOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJva2VuYmFyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBicm9rZW5i YXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9jIildCisrCQlwdWJsaWMgY29uc3QgdWludCBjOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfY19oIildCisrCQlwdWJsaWMgY29uc3QgdWludCBjX2g7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9jYWJvdmVkb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGNhYm92ZWRvdDsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2NhY3V0ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgY2FjdXRlOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfY2FyZW9mIildCisrCQlwdWJsaWMgY29uc3QgdWludCBjYXJlb2Y7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9jYXJldCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgY2FyZXQ7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9jYXJvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgY2Fyb247CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9j Y2Fyb24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGNjYXJvbjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Nj ZWRpbGxhIildCisrCQlwdWJsaWMgY29uc3QgdWludCBjY2VkaWxsYTsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2NjaXJjdW1mbGV4IildCisrCQlwdWJsaWMgY29uc3QgdWludCBjY2lyY3VtZmxleDsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2NlZGlsbGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGNlZGlsbGE7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9jZW50IildCisrCQlwdWJsaWMgY29uc3QgdWludCBjZW50OworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfY2giKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGNoOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfY2hl Y2tlcmJvYXJkIildCisrCQlwdWJsaWMgY29uc3QgdWludCBjaGVja2VyYm9hcmQ7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9jaGVja21hcmsiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGNoZWNrbWFyazsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2NpcmNsZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgY2lyY2xlOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfY2x1YiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgY2x1YjsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2NvbG9uIildCisrCQlwdWJsaWMgY29uc3QgdWludCBjb2xvbjsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2NvbW1hIildCisrCQlwdWJsaWMgY29uc3QgdWludCBjb21tYTsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2NvbnRhaW5zYXMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGNvbnRhaW5zYXM7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9jb3B5cmlnaHQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGNvcHlyaWdodDsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2NyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBjcjsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2Nyb3NzaW5nbGluZXMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGNyb3NzaW5nbGluZXM7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9jdWJlcm9vdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgY3ViZXJv b3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9jdXJyZW5jeSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgY3Vy cmVuY3k7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9jdXJzb3IiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGN1 cnNvcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGQ7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9kYWJvdmVkb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRhYm92ZWRvdDsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2RhZ2dlciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZGFnZ2VyOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfZGNhcm9uIildCisrCQlwdWJsaWMgY29uc3QgdWludCBkY2Fyb247Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9kZWFkX0EiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfQTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2RlYWRfRSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9FOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfZGVhZF9JIildCisrCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX0k7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9kZWFkX08iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfTzsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2RlYWRfVSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9VOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfZGVhZF9hIildCisrCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2E7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9kZWFkX2Fib3ZlY29tbWEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfYWJv dmVjb21tYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfYWJvdmVkb3QiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IGRlYWRfYWJvdmVkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2Fib3ZlcmV2ZXJzZWRj b21tYSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9hYm92ZXJldmVyc2VkY29tbWE7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9kZWFkX2Fib3ZlcmluZyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZGVh ZF9hYm92ZXJpbmc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2Fib3ZldmVydGljYWxsaW5lIildCisr CQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2Fib3ZldmVydGljYWxsaW5lOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfZGVhZF9hY3V0ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9hY3V0ZTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2RlYWRfYmVsb3dicmV2ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9i ZWxvd2JyZXZlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9iZWxvd2NpcmN1bWZsZXgiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IGRlYWRfYmVsb3djaXJjdW1mbGV4OworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVh ZF9iZWxvd2NvbW1hIildCisrCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2JlbG93Y29tbWE7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9kZWFkX2JlbG93ZGlhZXJlc2lzIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBkZWFkX2JlbG93ZGlhZXJlc2lzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9iZWxvd2RvdCIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9iZWxvd2RvdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRf YmVsb3dtYWNyb24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfYmVsb3dtYWNyb247Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9kZWFkX2JlbG93cmluZyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZGVh ZF9iZWxvd3Jpbmc7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2JlbG93dGlsZGUiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IGRlYWRfYmVsb3d0aWxkZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfYmVsb3d2 ZXJ0aWNhbGxpbmUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfYmVsb3d2ZXJ0aWNhbGxp bmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2JyZXZlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBk ZWFkX2JyZXZlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9jYXBpdGFsX3NjaHdhIildCisrCQlwdWJs aWMgY29uc3QgdWludCBkZWFkX2NhcGl0YWxfc2Nod2E7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2Nh cm9uIildCisrCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2Nhcm9uOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf ZGVhZF9jZWRpbGxhIildCisrCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2NlZGlsbGE7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9kZWFkX2NpcmN1bWZsZXgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRf Y2lyY3VtZmxleDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfY3VycmVuY3kiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IGRlYWRfY3VycmVuY3k7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2Rhc2lhIildCisr CQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2Rhc2lhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9kaWFl cmVzaXMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfZGlhZXJlc2lzOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfZGVhZF9kb3VibGVhY3V0ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9kb3Vi bGVhY3V0ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfZG91YmxlZ3JhdmUiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IGRlYWRfZG91YmxlZ3JhdmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2UiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IGRlYWRfZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfZ3JhdmUiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfZ3JhdmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2dy ZWVrIildCisrCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2dyZWVrOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf ZGVhZF9ob29rIildCisrCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2hvb2s7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9kZWFkX2hvcm4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfaG9ybjsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2RlYWRfaSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9pOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfZGVhZF9pbnZlcnRlZGJyZXZlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBkZWFk X2ludmVydGVkYnJldmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2lvdGEiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IGRlYWRfaW90YTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfbG9uZ3NvbGlkdXNvdmVy bGF5IildCisrCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2xvbmdzb2xpZHVzb3ZlcmxheTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2RlYWRfbG93bGluZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9s b3dsaW5lOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9tYWNyb24iKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IGRlYWRfbWFjcm9uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9vIildCisrCQlwdWJsaWMgY29u c3QgdWludCBkZWFkX287CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX29nb25layIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgZGVhZF9vZ29uZWs7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX3BlcmlzcG9tZW5p IildCisrCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX3BlcmlzcG9tZW5pOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfZGVhZF9wc2lsaSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9wc2lsaTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2RlYWRfc2VtaXZvaWNlZF9zb3VuZCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg ZGVhZF9zZW1pdm9pY2VkX3NvdW5kOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9zbWFsbF9zY2h3YSIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9zbWFsbF9zY2h3YTsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2RlYWRfc3Ryb2tlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX3N0cm9rZTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2RlYWRfdGlsZGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfdGlsZGU7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9kZWFkX3UiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfdTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2RlYWRfdm9pY2VkX3NvdW5kIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBkZWFkX3ZvaWNlZF9zb3VuZDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlY2ltYWxwb2ludCIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgZGVjaW1hbHBvaW50OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVncmVlIild CisrCQlwdWJsaWMgY29uc3QgdWludCBkZWdyZWU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kaWFlcmVzaXMi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRpYWVyZXNpczsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RpYW1v bmQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRpYW1vbmQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kaWdp dHNwYWNlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBkaWdpdHNwYWNlOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfZGludGVncmFsIildCisrCQlwdWJsaWMgY29uc3QgdWludCBkaW50ZWdyYWw7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9kaXZpc2lvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZGl2aXNpb247CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9kb2xsYXIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRvbGxhcjsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2RvdWJiYXNlbGluZWRvdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZG91YmJh c2VsaW5lZG90OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZG91YmxlYWN1dGUiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IGRvdWJsZWFjdXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZG91YmxlZGFnZ2VyIildCisrCQlw dWJsaWMgY29uc3QgdWludCBkb3VibGVkYWdnZXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kb3VibGVsb3dx dW90ZW1hcmsiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGRvdWJsZWxvd3F1b3RlbWFyazsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2Rvd25hcnJvdyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZG93bmFycm93 OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfZG93bmNhcmV0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBkb3du Y2FyZXQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kb3duc2hvZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg ZG93bnNob2U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kb3duc3RpbGUiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IGRvd25zdGlsZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Rvd250YWNrIildCisrCQlwdWJsaWMgY29u c3QgdWludCBkb3dudGFjazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RzdHJva2UiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IGRzdHJva2U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZWFib3ZlZG90IildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBlYWJvdmVkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lYWN1dGUiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IGVhY3V0ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2ViZWxvd2RvdCIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgZWJlbG93ZG90OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZWNhcm9uIildCisrCQlwdWJsaWMgY29u c3QgdWludCBlY2Fyb247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lY2lyY3VtZmxleCIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgZWNpcmN1bWZsZXg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lY2lyY3VtZmxleGFjdXRl IildCisrCQlwdWJsaWMgY29uc3QgdWludCBlY2lyY3VtZmxleGFjdXRlOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfZWNpcmN1bWZsZXhiZWxvd2RvdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZWNpcmN1bWZs ZXhiZWxvd2RvdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2VjaXJjdW1mbGV4Z3JhdmUiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IGVjaXJjdW1mbGV4Z3JhdmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lY2lyY3VtZmxl eGhvb2siKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGVjaXJjdW1mbGV4aG9vazsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2VjaXJjdW1mbGV4dGlsZGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGVjaXJjdW1m bGV4dGlsZGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lZGlhZXJlc2lzIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBlZGlhZXJlc2lzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZWdyYXZlIildCisrCQlwdWJsaWMgY29u c3QgdWludCBlZ3JhdmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9laG9vayIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgZWhvb2s7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9laWdodHN1YnNjcmlwdCIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgZWlnaHRzdWJzY3JpcHQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9laWdodHN1cGVyaW9y IildCisrCQlwdWJsaWMgY29uc3QgdWludCBlaWdodHN1cGVyaW9yOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf ZWxlbWVudG9mIildCisrCQlwdWJsaWMgY29uc3QgdWludCBlbGVtZW50b2Y7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9lbGxpcHNpcyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZWxsaXBzaXM7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9lbTNzcGFjZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZW0zc3BhY2U7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9lbTRzcGFjZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZW00c3BhY2U7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9lbWFjcm9uIildCisrCQlwdWJsaWMgY29uc3QgdWludCBlbWFjcm9uOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfZW1kYXNoIildCisrCQlwdWJsaWMgY29uc3QgdWludCBlbWRhc2g7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9lbWZpbGxlZGNpcmNsZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZW1m aWxsZWRjaXJjbGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lbWZpbGxlZHJlY3QiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IGVtZmlsbGVkcmVjdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Vtb3BlbmNpcmNsZSIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgZW1vcGVuY2lyY2xlOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZW1vcGVu cmVjdGFuZ2xlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBlbW9wZW5yZWN0YW5nbGU7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9lbXB0eXNldCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZW1wdHlzZXQ7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9lbXNwYWNlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBlbXNwYWNlOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfZW5kYXNoIildCisrCQlwdWJsaWMgY29uc3QgdWludCBlbmRhc2g7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9lbmZpbGxlZGNpcmNidWxsZXQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IGVuZmlsbGVkY2lyY2J1bGxldDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2VuZmlsbGVkc3FidWxsZXQiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IGVuZmlsbGVkc3FidWxsZXQ7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9l bmciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGVuZzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Vub3BlbmNp cmNidWxsZXQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGVub3BlbmNpcmNidWxsZXQ7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9lbm9wZW5zcXVhcmVidWxsZXQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGVu b3BlbnNxdWFyZWJ1bGxldDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Vuc3BhY2UiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IGVuc3BhY2U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lb2dvbmVrIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBlb2dvbmVrOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZXF1YWwiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IGVxdWFsOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZXRoIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBldGg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ldGlsZGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IGV0aWxkZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2V4Y2xhbSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg ZXhjbGFtOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZXhjbGFtZG93biIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgZXhjbGFtZG93bjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2V6aCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgZXpoOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZjsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2ZhYm92ZWRvdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZmFib3ZlZG90 OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfZmVtYWxlc3ltYm9sIildCisrCQlwdWJsaWMgY29uc3QgdWludCBm ZW1hbGVzeW1ib2w7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9mZiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg ZmY7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9maWdkYXNoIildCisrCQlwdWJsaWMgY29uc3QgdWludCBmaWdk YXNoOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfZmlsbGVkbGVmdHRyaWJ1bGxldCIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgZmlsbGVkbGVmdHRyaWJ1bGxldDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2ZpbGxlZHJlY3Ri dWxsZXQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGZpbGxlZHJlY3RidWxsZXQ7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9maWxsZWRyaWdodHRyaWJ1bGxldCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZmls bGVkcmlnaHR0cmlidWxsZXQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9maWxsZWR0cmlidWxsZXRkb3duIild CisrCQlwdWJsaWMgY29uc3QgdWludCBmaWxsZWR0cmlidWxsZXRkb3duOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfZmlsbGVkdHJpYnVsbGV0dXAiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGZpbGxlZHRyaWJ1 bGxldHVwOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZml2ZWVpZ2h0aHMiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IGZpdmVlaWdodGhzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZml2ZXNpeHRocyIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgZml2ZXNpeHRoczsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2ZpdmVzdWJzY3JpcHQiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IGZpdmVzdWJzY3JpcHQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9maXZl c3VwZXJpb3IiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGZpdmVzdXBlcmlvcjsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2ZvdXJmaWZ0aHMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGZvdXJmaWZ0aHM7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9mb3Vyc3Vic2NyaXB0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBmb3Vy c3Vic2NyaXB0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZm91cnN1cGVyaW9yIildCisrCQlwdWJsaWMgY29u c3QgdWludCBmb3Vyc3VwZXJpb3I7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9mb3VydGhyb290IildCisrCQlw dWJsaWMgY29uc3QgdWludCBmb3VydGhyb290OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZnVuY3Rpb24iKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IGZ1bmN0aW9uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZyIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgZzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2dhYm92ZWRvdCIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgZ2Fib3ZlZG90OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZ2JyZXZlIildCisrCQlw dWJsaWMgY29uc3QgdWludCBnYnJldmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9nY2Fyb24iKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IGdjYXJvbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2djZWRpbGxhIildCisrCQlw dWJsaWMgY29uc3QgdWludCBnY2VkaWxsYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2djaXJjdW1mbGV4Iild CisrCQlwdWJsaWMgY29uc3QgdWludCBnY2lyY3VtZmxleDsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2dyYXZl IildCisrCQlwdWJsaWMgY29uc3QgdWludCBncmF2ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2dyZWF0ZXIi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGdyZWF0ZXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ncmVhdGVy dGhhbmVxdWFsIildCisrCQlwdWJsaWMgY29uc3QgdWludCBncmVhdGVydGhhbmVxdWFsOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfZ3VpbGxlbW90bGVmdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgZ3VpbGxl bW90bGVmdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2d1aWxsZW1vdHJpZ2h0IildCisrCQlwdWJsaWMgY29u c3QgdWludCBndWlsbGVtb3RyaWdodDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2giKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IGg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oYWlyc3BhY2UiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IGhhaXJzcGFjZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hjaXJjdW1mbGV4IildCisrCQlwdWJs aWMgY29uc3QgdWludCBoY2lyY3VtZmxleDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYXJ0IildCisrCQlw dWJsaWMgY29uc3QgdWludCBoZWFydDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19hbGVwaCIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X2FsZXBoOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3 X2F5aW4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19heWluOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfaGVicmV3X2JldCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X2JldDsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2hlYnJld19iZXRoIildCisrCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfYmV0 aDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19jaGV0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBo ZWJyZXdfY2hldDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19kYWxldCIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgaGVicmV3X2RhbGV0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X2RhbGV0aCIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X2RhbGV0aDsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJl d19kb3VibGVsb3dsaW5lIildCisrCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfZG91YmxlbG93 bGluZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19maW5hbGthcGgiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IGhlYnJld19maW5hbGthcGg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfZmluYWxtZW0i KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19maW5hbG1lbTsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2hlYnJld19maW5hbG51biIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X2ZpbmFsbnVu OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X2ZpbmFscGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IGhlYnJld19maW5hbHBlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X2ZpbmFsemFkZSIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgaGVicmV3X2ZpbmFsemFkZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJl d19maW5hbHphZGkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19maW5hbHphZGk7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9oZWJyZXdfZ2ltZWwiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJl d19naW1lbDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19naW1tZWwiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IGhlYnJld19naW1tZWw7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfaGUiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IGhlYnJld19oZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19oZXQiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19oZXQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdf a2FwaCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X2thcGg7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9oZWJyZXdfa3VmIildCisrCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfa3VmOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfaGVicmV3X2xhbWVkIildCisrCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfbGFt ZWQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfbWVtIildCisrCQlwdWJsaWMgY29uc3QgdWludCBo ZWJyZXdfbWVtOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X251biIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgaGVicmV3X251bjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19wZSIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgaGVicmV3X3BlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X3FvcGgiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19xb3BoOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X3Jl c2giKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19yZXNoOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf aGVicmV3X3NhbWVjaCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X3NhbWVjaDsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2hlYnJld19zYW1la2giKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJl d19zYW1la2g7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfc2hpbiIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgaGVicmV3X3NoaW47CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfdGFmIildCisrCQlwdWJs aWMgY29uc3QgdWludCBoZWJyZXdfdGFmOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X3RhdyIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X3RhdzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld190 ZXQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld190ZXQ7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9o ZWJyZXdfdGV0aCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X3RldGg7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9oZWJyZXdfd2F3IildCisrCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfd2F3Owor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfaGVicmV3X3lvZCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3 X3lvZDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld196YWRlIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBoZWJyZXdfemFkZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld196YWRpIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBoZWJyZXdfemFkaTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld196YWluIildCisr CQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfemFpbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld196 YXlpbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X3pheWluOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfaGV4YWdyYW0iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGhleGFncmFtOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfaG9yaXpjb25uZWN0b3IiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGhvcml6Y29ubmVj dG9yOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfaG9yaXpsaW5lc2NhbjEiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IGhvcml6bGluZXNjYW4xOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaG9yaXpsaW5lc2NhbjMiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IGhvcml6bGluZXNjYW4zOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaG9yaXps aW5lc2NhbjUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGhvcml6bGluZXNjYW41OworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfaG9yaXpsaW5lc2NhbjciKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGhvcml6bGlu ZXNjYW43OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaG9yaXpsaW5lc2NhbjkiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IGhvcml6bGluZXNjYW45OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaHN0cm9rZSIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgaHN0cm9rZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2h0IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBodDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2h5cGhlbiIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgaHlwaGVuOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg aTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2lUb3VjaCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgaVRvdWNo OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfaWFjdXRlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBpYWN1dGU7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9pYmVsb3dkb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGliZWxv d2RvdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2licmV2ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgaWJy ZXZlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfaWNpcmN1bWZsZXgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IGljaXJjdW1mbGV4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaWRlbnRpY2FsIildCisrCQlwdWJsaWMgY29u c3QgdWludCBpZGVudGljYWw7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pZGlhZXJlc2lzIildCisrCQlwdWJs aWMgY29uc3QgdWludCBpZGlhZXJlc2lzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaWRvdGxlc3MiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IGlkb3RsZXNzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaWZvbmx5aWYiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IGlmb25seWlmOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaWdyYXZlIild CisrCQlwdWJsaWMgY29uc3QgdWludCBpZ3JhdmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9paG9vayIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgaWhvb2s7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pbWFjcm9uIildCisr CQlwdWJsaWMgY29uc3QgdWludCBpbWFjcm9uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaW1wbGllcyIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgaW1wbGllczsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2luY2x1ZGVkaW4i KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGluY2x1ZGVkaW47CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pbmNs dWRlcyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgaW5jbHVkZXM7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9p bmZpbml0eSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgaW5maW5pdHk7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9pbnRlZ3JhbCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgaW50ZWdyYWw7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9pbnRlcnNlY3Rpb24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGludGVyc2VjdGlvbjsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2lvZ29uZWsiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGlvZ29uZWs7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9pdGlsZGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGl0aWxkZTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2oiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGo7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9qY2lyY3VtZmxleCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgamNpcmN1bWZsZXg7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9qb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGpvdDsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2siKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGs7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5h X0EiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfQTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFf Q0hJIildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0NISTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2th bmFfRSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9FOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2Fu YV9GVSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9GVTsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2th bmFfSEEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfSEE7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9r YW5hX0hFIildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0hFOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf a2FuYV9ISSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9ISTsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2thbmFfSE8iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfSE87CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9rYW5hX0hVIildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0hVOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfa2FuYV9JIildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0k7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9rYW5hX0tBIildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0tBOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfa2FuYV9LRSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9LRTsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2thbmFfS0kiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfS0k7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9rYW5hX0tPIildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0tPOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfa2FuYV9LVSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9LVTsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2thbmFfTUEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfTUE7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9rYW5hX01FIildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX01FOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfa2FuYV9NSSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9NSTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2thbmFfTU8iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfTU87CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9rYW5hX01VIildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX01VOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfa2FuYV9OIildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX047CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9rYW5hX05BIildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX05BOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfa2FuYV9ORSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9ORTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2thbmFfTkkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfTkk7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9rYW5hX05PIildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX05POwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfa2FuYV9OVSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9OVTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2thbmFfTyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9POwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfa2FuYV9SQSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9SQTsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2thbmFfUkUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfUkU7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1JJIildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX1JJ OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9STyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9S TzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2thbmFfUlUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGthbmFf UlU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1NBIildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5h X1NBOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9TRSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2Fu YV9TRTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfU0hJIildCisrCQlwdWJsaWMgY29uc3QgdWludCBr YW5hX1NISTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfU08iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IGthbmFfU087CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1NVIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBrYW5hX1NVOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9UQSIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQga2FuYV9UQTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfVEUiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IGthbmFfVEU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1RJIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBrYW5hX1RJOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9UTyIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQga2FuYV9UTzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfVFNVIildCisrCQlwdWJsaWMgY29u c3QgdWludCBrYW5hX1RTVTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfVFUiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IGthbmFfVFU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1UiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IGthbmFfVTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfV0EiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IGthbmFfV0E7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1dPIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBrYW5hX1dPOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9ZQSIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQga2FuYV9ZQTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfWU8iKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IGthbmFfWU87CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1lVIildCisrCQlwdWJs aWMgY29uc3QgdWludCBrYW5hX1lVOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9hIildCisrCQlwdWJs aWMgY29uc3QgdWludCBrYW5hX2E7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX2Nsb3NpbmdicmFja2V0 IildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX2Nsb3NpbmdicmFja2V0OworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfa2FuYV9jb21tYSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9jb21tYTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2thbmFfY29uanVuY3RpdmUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGth bmFfY29uanVuY3RpdmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX2UiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IGthbmFfZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfZnVsbHN0b3AiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IGthbmFfZnVsbHN0b3A7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX2kiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IGthbmFfaTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfbWlkZGxlZG90 IildCisrCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX21pZGRsZWRvdDsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2thbmFfbyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9vOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf a2FuYV9vcGVuaW5nYnJhY2tldCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9vcGVuaW5n YnJhY2tldDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfc3dpdGNoIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBrYW5hX3N3aXRjaDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfdHN1IildCisrCQlwdWJsaWMg Y29uc3QgdWludCBrYW5hX3RzdTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfdHUiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IGthbmFfdHU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX3UiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IGthbmFfdTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfeWEiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IGthbmFfeWE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX3lvIildCisrCQlwdWJs aWMgY29uc3QgdWludCBrYW5hX3lvOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV95dSIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQga2FuYV95dTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thcHBhIildCisrCQlwdWJs aWMgY29uc3QgdWludCBrYXBwYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2tjZWRpbGxhIildCisrCQlwdWJs aWMgY29uc3QgdWludCBrY2VkaWxsYTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2tyYSIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQga3JhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgbDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2xhY3V0ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgbGFj dXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfbGF0aW5jcm9zcyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg bGF0aW5jcm9zczsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2xiZWxvd2RvdCIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgbGJlbG93ZG90OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbGNhcm9uIildCisrCQlwdWJsaWMgY29u c3QgdWludCBsY2Fyb247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sY2VkaWxsYSIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgbGNlZGlsbGE7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sZWZ0YW5nbGVicmFja2V0IildCisr CQlwdWJsaWMgY29uc3QgdWludCBsZWZ0YW5nbGVicmFja2V0OworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbGVm dGFycm93IildCisrCQlwdWJsaWMgY29uc3QgdWludCBsZWZ0YXJyb3c7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9sZWZ0Y2FyZXQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGxlZnRjYXJldDsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2xlZnRkb3VibGVxdW90ZW1hcmsiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGxlZnRk b3VibGVxdW90ZW1hcms7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sZWZ0bWlkZGxlY3VybHlicmFjZSIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgbGVmdG1pZGRsZWN1cmx5YnJhY2U7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9sZWZ0b3BlbnRyaWFuZ2xlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBsZWZ0b3BlbnRyaWFu Z2xlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfbGVmdHBvaW50ZXIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IGxlZnRwb2ludGVyOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbGVmdHJhZGljYWwiKV0KKysJCXB1YmxpYyBj b25zdCB1aW50IGxlZnRyYWRpY2FsOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbGVmdHNob2UiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IGxlZnRzaG9lOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbGVmdHNpbmdsZXF1b3Rl bWFyayIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgbGVmdHNpbmdsZXF1b3RlbWFyazsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2xlZnR0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBsZWZ0dDsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2xlZnR0YWNrIildCisrCQlwdWJsaWMgY29uc3QgdWludCBsZWZ0dGFjazsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2xlc3MiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGxlc3M7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9sZXNzdGhhbmVxdWFsIildCisrCQlwdWJsaWMgY29uc3QgdWludCBsZXNzdGhhbmVxdWFs OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfbGYiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGxmOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfbG9naWNhbGFuZCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgbG9naWNhbGFuZDsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2xvZ2ljYWxvciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgbG9naWNh bG9yOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfbG93bGVmdGNvcm5lciIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgbG93bGVmdGNvcm5lcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2xvd3JpZ2h0Y29ybmVyIildCisrCQlw dWJsaWMgY29uc3QgdWludCBsb3dyaWdodGNvcm5lcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2xzdHJva2Ui KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IGxzdHJva2U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9tIildCisr CQlwdWJsaWMgY29uc3QgdWludCBtOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbWFib3ZlZG90IildCisrCQlw dWJsaWMgY29uc3QgdWludCBtYWJvdmVkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9tYWNyb24iKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IG1hY3JvbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX21hbGVzeW1ib2wiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IG1hbGVzeW1ib2w7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9tYWx0ZXNl Y3Jvc3MiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG1hbHRlc2Vjcm9zczsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX21hcmtlciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgbWFya2VyOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfbWFzY3VsaW5lIildCisrCQlwdWJsaWMgY29uc3QgdWludCBtYXNjdWxpbmU7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9taW51cyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgbWludXM7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9taW51dGVzIildCisrCQlwdWJsaWMgY29uc3QgdWludCBtaW51dGVzOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfbXUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG11OworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbXVs dGlwbHkiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG11bHRpcGx5OworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf bXVzaWNhbGZsYXQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG11c2ljYWxmbGF0OworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfbXVzaWNhbHNoYXJwIildCisrCQlwdWJsaWMgY29uc3QgdWludCBtdXNpY2Fsc2hh cnA7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9uIildCisrCQlwdWJsaWMgY29uc3QgdWludCBuOworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfbmFibGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG5hYmxhOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfbmFjdXRlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBuYWN1dGU7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9uY2Fyb24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG5jYXJvbjsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX25jZWRpbGxhIildCisrCQlwdWJsaWMgY29uc3QgdWludCBuY2VkaWxsYTsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX25pbmVzdWJzY3JpcHQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG5pbmVzdWJzY3Jp cHQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9uaW5lc3VwZXJpb3IiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IG5pbmVzdXBlcmlvcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX25sIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBubDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX25vYnJlYWtzcGFjZSIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgbm9icmVha3NwYWNlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbm90YXBwcm94ZXEiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IG5vdGFwcHJveGVxOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbm90ZWxlbWVudG9mIild CisrCQlwdWJsaWMgY29uc3QgdWludCBub3RlbGVtZW50b2Y7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ub3Rl cXVhbCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgbm90ZXF1YWw7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9u b3RpZGVudGljYWwiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG5vdGlkZW50aWNhbDsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX25vdHNpZ24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG5vdHNpZ247CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9udGlsZGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG50aWxkZTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX251bWJlcnNpZ24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG51bWJlcnNpZ247 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9udW1lcm9zaWduIildCisrCQlwdWJsaWMgY29uc3QgdWludCBudW1l cm9zaWduOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgbzsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX29hY3V0ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgb2FjdXRlOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfb2JhcnJlZCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgb2JhcnJlZDsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX29iZWxvd2RvdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgb2JlbG93ZG90 OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfb2Nhcm9uIildCisrCQlwdWJsaWMgY29uc3QgdWludCBvY2Fyb247 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9vY2lyY3VtZmxleCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgb2Np cmN1bWZsZXg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vY2lyY3VtZmxleGFjdXRlIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBvY2lyY3VtZmxleGFjdXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb2NpcmN1bWZsZXhi ZWxvd2RvdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgb2NpcmN1bWZsZXhiZWxvd2RvdDsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX29jaXJjdW1mbGV4Z3JhdmUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG9j aXJjdW1mbGV4Z3JhdmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vY2lyY3VtZmxleGhvb2siKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IG9jaXJjdW1mbGV4aG9vazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29jaXJjdW1m bGV4dGlsZGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG9jaXJjdW1mbGV4dGlsZGU7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9vZGlhZXJlc2lzIildCisrCQlwdWJsaWMgY29uc3QgdWludCBvZGlhZXJlc2lz OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfb2RvdWJsZWFjdXRlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBv ZG91YmxlYWN1dGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg b2U7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9vZ29uZWsiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG9nb25l azsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX29ncmF2ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgb2dyYXZl OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfb2hvb2siKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG9ob29rOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfb2hvcm4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG9ob3JuOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfb2hvcm5hY3V0ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgb2hvcm5hY3V0 ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX29ob3JuYmVsb3dkb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IG9ob3JuYmVsb3dkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vaG9ybmdyYXZlIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBvaG9ybmdyYXZlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb2hvcm5ob29rIildCisrCQlw dWJsaWMgY29uc3QgdWludCBvaG9ybmhvb2s7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vaG9ybnRpbGRlIild CisrCQlwdWJsaWMgY29uc3QgdWludCBvaG9ybnRpbGRlOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb21hY3Jv biIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgb21hY3JvbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29uZWVp Z2h0aCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgb25lZWlnaHRoOworKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf b25lZmlmdGgiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG9uZWZpZnRoOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfb25laGFsZiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgb25laGFsZjsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX29uZXF1YXJ0ZXIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG9uZXF1YXJ0ZXI7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9vbmVzaXh0aCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgb25lc2l4dGg7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9vbmVzdWJzY3JpcHQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IG9uZXN1 YnNjcmlwdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29uZXN1cGVyaW9yIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBvbmVzdXBlcmlvcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29uZXRoaXJkIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBvbmV0aGlyZDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29vYmxpcXVlIildCisrCQlwdWJs aWMgY29uc3QgdWludCBvb2JsaXF1ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29wZW5yZWN0YnVsbGV0Iild CisrCQlwdWJsaWMgY29uc3QgdWludCBvcGVucmVjdGJ1bGxldDsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29w ZW5zdGFyIildCisrCQlwdWJsaWMgY29uc3QgdWludCBvcGVuc3RhcjsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X29wZW50cmlidWxsZXRkb3duIildCisrCQlwdWJsaWMgY29uc3QgdWludCBvcGVudHJpYnVsbGV0 ZG93bjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX29wZW50cmlidWxsZXR1cCIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgb3BlbnRyaWJ1bGxldHVwOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb3JkZmVtaW5pbmUiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IG9yZGZlbWluaW5lOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb3NsYXNoIild CisrCQlwdWJsaWMgY29uc3QgdWludCBvc2xhc2g7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vdGlsZGUiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IG90aWxkZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX292ZXJiYXIiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IG92ZXJiYXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vdmVybGluZSIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgb3ZlcmxpbmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wIildCisr CQlwdWJsaWMgY29uc3QgdWludCBwOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcGFib3ZlZG90IildCisrCQlw dWJsaWMgY29uc3QgdWludCBwYWJvdmVkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wYXJhZ3JhcGgiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IHBhcmFncmFwaDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3BhcmVubGVm dCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgcGFyZW5sZWZ0OworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcGFy ZW5yaWdodCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgcGFyZW5yaWdodDsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX3BhcnRkaWZmZXJlbnRpYWwiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHBhcnRkaWZmZXJl bnRpYWw7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wYXJ0aWFsZGVyaXZhdGl2ZSIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgcGFydGlhbGRlcml2YXRpdmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wZXJjZW50IildCisr CQlwdWJsaWMgY29uc3QgdWludCBwZXJjZW50OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcGVyaW9kIildCisr CQlwdWJsaWMgY29uc3QgdWludCBwZXJpb2Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wZXJpb2RjZW50ZXJl ZCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgcGVyaW9kY2VudGVyZWQ7CisrCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9wZXJtaWxsZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgcGVybWlsbGU7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9waG9ub2dyYXBoY29weXJpZ2h0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBwaG9ub2dy YXBoY29weXJpZ2h0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcGx1cyIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgcGx1czsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3BsdXNtaW51cyIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgcGx1c21pbnVzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcHJlc2NyaXB0aW9uIildCisrCQlwdWJsaWMg Y29uc3QgdWludCBwcmVzY3JpcHRpb247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wcm9sb25nZWRzb3VuZCIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgcHJvbG9uZ2Vkc291bmQ7CisrCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9w dW5jdHNwYWNlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBwdW5jdHNwYWNlOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfcSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgcTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3F1YWQi KV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHF1YWQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9xdWVzdGlvbiIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgcXVlc3Rpb247CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9xdWVzdGlv bmRvd24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHF1ZXN0aW9uZG93bjsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX3F1b3RlZGJsIildCisrCQlwdWJsaWMgY29uc3QgdWludCBxdW90ZWRibDsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX3F1b3RlbGVmdCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgcXVvdGVsZWZ0OworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfcXVvdGVyaWdodCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgcXVvdGVyaWdo dDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX3IiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHI7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9yYWN1dGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHJhY3V0ZTsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX3JhZGljYWwiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHJhZGljYWw7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9yY2Fyb24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHJjYXJvbjsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX3JjZWRpbGxhIildCisrCQlwdWJsaWMgY29uc3QgdWludCByY2VkaWxsYTsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX3JlZ2lzdGVyZWQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHJlZ2lzdGVyZWQ7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9yaWdodGFuZ2xlYnJhY2tldCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgcmlnaHRhbmdsZWJyYWNrZXQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9yaWdodGFycm93IildCisrCQlw dWJsaWMgY29uc3QgdWludCByaWdodGFycm93OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcmlnaHRjYXJldCIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgcmlnaHRjYXJldDsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3JpZ2h0 ZG91YmxlcXVvdGVtYXJrIildCisrCQlwdWJsaWMgY29uc3QgdWludCByaWdodGRvdWJsZXF1b3Rl bWFyazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX3JpZ2h0bWlkZGxlY3VybHlicmFjZSIpXQorKwkJcHVibGlj IGNvbnN0IHVpbnQgcmlnaHRtaWRkbGVjdXJseWJyYWNlOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcmlnaHRt aWRkbGVzdW1tYXRpb24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHJpZ2h0bWlkZGxlc3VtbWF0 aW9uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfcmlnaHRvcGVudHJpYW5nbGUiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IHJpZ2h0b3BlbnRyaWFuZ2xlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcmlnaHRwb2ludGVyIild CisrCQlwdWJsaWMgY29uc3QgdWludCByaWdodHBvaW50ZXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9yaWdo dHNob2UiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHJpZ2h0c2hvZTsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X3JpZ2h0c2luZ2xlcXVvdGVtYXJrIildCisrCQlwdWJsaWMgY29uc3QgdWludCByaWdodHNpbmds ZXF1b3RlbWFyazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3JpZ2h0dCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgcmlnaHR0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcmlnaHR0YWNrIildCisrCQlwdWJsaWMgY29uc3Qg dWludCByaWdodHRhY2s7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9zIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfc2Fib3ZlZG90IildCisrCQlwdWJsaWMgY29uc3QgdWludCBz YWJvdmVkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9zYWN1dGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IHNhY3V0ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3NjYXJvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg c2Nhcm9uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2NlZGlsbGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IHNjZWRpbGxhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2Nod2EiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IHNjaHdhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2NpcmN1bWZsZXgiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IHNjaXJjdW1mbGV4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2NyaXB0X3N3aXRjaCIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgc2NyaXB0X3N3aXRjaDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3NlY29uZHMiKV0K KysJCXB1YmxpYyBjb25zdCB1aW50IHNlY29uZHM7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9zZWN0aW9uIild CisrCQlwdWJsaWMgY29uc3QgdWludCBzZWN0aW9uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2VtaWNvbG9u IildCisrCQlwdWJsaWMgY29uc3QgdWludCBzZW1pY29sb247CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9zZW1p dm9pY2Vkc291bmQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHNlbWl2b2ljZWRzb3VuZDsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX3NldmVuZWlnaHRocyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgc2V2ZW5l aWdodGhzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2V2ZW5zdWJzY3JpcHQiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IHNldmVuc3Vic2NyaXB0OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2V2ZW5zdXBlcmlvciIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgc2V2ZW5zdXBlcmlvcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3NpZ25h dHVyZW1hcmsiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHNpZ25hdHVyZW1hcms7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9zaWduaWZibGFuayIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgc2lnbmlmYmxhbms7 CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9zaW1pbGFyZXF1YWwiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHNp bWlsYXJlcXVhbDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3NpbmdsZWxvd3F1b3RlbWFyayIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgc2luZ2xlbG93cXVvdGVtYXJrOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2l4c3Vi c2NyaXB0IildCisrCQlwdWJsaWMgY29uc3QgdWludCBzaXhzdWJzY3JpcHQ7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9zaXhzdXBlcmlvciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgc2l4c3VwZXJpb3I7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9zbGFzaCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgc2xhc2g7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9zb2xpZGRpYW1vbmQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHNvbGlkZGlh bW9uZDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX3NwYWNlIildCisrCQlwdWJsaWMgY29uc3QgdWludCBzcGFj ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX3NxdWFyZXJvb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHNx dWFyZXJvb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9zc2hhcnAiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IHNzaGFycDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3N0ZXJsaW5nIildCisrCQlwdWJsaWMgY29uc3QgdWlu dCBzdGVybGluZzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3N0cmljdGVxIildCisrCQlwdWJsaWMgY29uc3Qg dWludCBzdHJpY3RlcTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IHQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV90YWJvdmVkb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHRh Ym92ZWRvdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3RjYXJvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQg dGNhcm9uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdGNlZGlsbGEiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IHRjZWRpbGxhOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdGVsZXBob25lIildCisrCQlwdWJsaWMgY29uc3Qg dWludCB0ZWxlcGhvbmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90ZWxlcGhvbmVyZWNvcmRlciIpXQorKwkJ cHVibGljIGNvbnN0IHVpbnQgdGVsZXBob25lcmVjb3JkZXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90aGVy ZWZvcmUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHRoZXJlZm9yZTsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X3RoaW5zcGFjZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgdGhpbnNwYWNlOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfdGhvcm4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHRob3JuOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfdGhyZWVlaWdodGhzIildCisrCQlwdWJsaWMgY29uc3QgdWludCB0aHJlZWVpZ2h0aHM7Cisr CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV90aHJlZWZpZnRocyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgdGhyZWVm aWZ0aHM7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90aHJlZXF1YXJ0ZXJzIildCisrCQlwdWJsaWMgY29uc3Qg dWludCB0aHJlZXF1YXJ0ZXJzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdGhyZWVzdWJzY3JpcHQiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IHRocmVlc3Vic2NyaXB0OworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdGhyZWVz dXBlcmlvciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgdGhyZWVzdXBlcmlvcjsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX3RpbnRlZ3JhbCIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgdGludGVncmFsOworKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfdG9waW50ZWdyYWwiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHRvcGludGVn cmFsOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfdG9wbGVmdHBhcmVucyIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgdG9wbGVmdHBhcmVuczsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3RvcGxlZnRyYWRpY2FsIildCisrCQlw dWJsaWMgY29uc3QgdWludCB0b3BsZWZ0cmFkaWNhbDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3RvcGxlZnRz cWJyYWNrZXQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHRvcGxlZnRzcWJyYWNrZXQ7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV90b3BsZWZ0c3VtbWF0aW9uIildCisrCQlwdWJsaWMgY29uc3QgdWludCB0b3Bs ZWZ0c3VtbWF0aW9uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdG9wcmlnaHRwYXJlbnMiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IHRvcHJpZ2h0cGFyZW5zOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdG9wcmlnaHRzcWJy YWNrZXQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHRvcHJpZ2h0c3FicmFja2V0OworKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfdG9wcmlnaHRzdW1tYXRpb24iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHRvcHJp Z2h0c3VtbWF0aW9uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdG9wdCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgdG9wdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3RvcHZlcnRzdW1tYXRpb25jb25uZWN0b3IiKV0KKysJ CXB1YmxpYyBjb25zdCB1aW50IHRvcHZlcnRzdW1tYXRpb25jb25uZWN0b3I7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV90cmFkZW1hcmsiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHRyYWRlbWFyazsKKysJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX3RyYWRlbWFya2luY2lyY2xlIildCisrCQlwdWJsaWMgY29uc3QgdWludCB0cmFk ZW1hcmtpbmNpcmNsZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3RzbGFzaCIpXQorKwkJcHVibGljIGNvbnN0 IHVpbnQgdHNsYXNoOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdHdvZmlmdGhzIildCisrCQlwdWJsaWMgY29u c3QgdWludCB0d29maWZ0aHM7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90d29zdWJzY3JpcHQiKV0KKysJCXB1 YmxpYyBjb25zdCB1aW50IHR3b3N1YnNjcmlwdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3R3b3N1cGVyaW9y IildCisrCQlwdWJsaWMgY29uc3QgdWludCB0d29zdXBlcmlvcjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3R3 b3RoaXJkcyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgdHdvdGhpcmRzOworKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfdSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgdTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3VhY3V0ZSIp XQorKwkJcHVibGljIGNvbnN0IHVpbnQgdWFjdXRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdWJlbG93ZG90 IildCisrCQlwdWJsaWMgY29uc3QgdWludCB1YmVsb3dkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91YnJl dmUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHVicmV2ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3VjaXJj dW1mbGV4IildCisrCQlwdWJsaWMgY29uc3QgdWludCB1Y2lyY3VtZmxleDsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX3VkaWFlcmVzaXMiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHVkaWFlcmVzaXM7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV91ZG91YmxlYWN1dGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHVkb3VibGVh Y3V0ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX3VncmF2ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgdWdy YXZlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfdWhvb2siKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHVob29r OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfdWhvcm4iKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHVob3JuOwor KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfdWhvcm5hY3V0ZSIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgdWhvcm5h Y3V0ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX3Vob3JuYmVsb3dkb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IHVob3JuYmVsb3dkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91aG9ybmdyYXZlIildCisrCQlwdWJs aWMgY29uc3QgdWludCB1aG9ybmdyYXZlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdWhvcm5ob29rIildCisr CQlwdWJsaWMgY29uc3QgdWludCB1aG9ybmhvb2s7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91aG9ybnRpbGRl IildCisrCQlwdWJsaWMgY29uc3QgdWludCB1aG9ybnRpbGRlOworKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdW1h Y3JvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgdW1hY3JvbjsKKysJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3Vu ZGVyYmFyIildCisrCQlwdWJsaWMgY29uc3QgdWludCB1bmRlcmJhcjsKKysJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X3VuZGVyc2NvcmUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHVuZGVyc2NvcmU7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV91bmlvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgdW5pb247CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV91b2dvbmVrIildCisrCQlwdWJsaWMgY29uc3QgdWludCB1b2dvbmVrOworKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfdXBhcnJvdyIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgdXBhcnJvdzsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX3VwY2FyZXQiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHVwY2FyZXQ7CisrCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV91cGxlZnRjb3JuZXIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHVwbGVmdGNvcm5l cjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX3VwcmlnaHRjb3JuZXIiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50 IHVwcmlnaHRjb3JuZXI7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91cHNob2UiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IHVwc2hvZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3Vwc3RpbGUiKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IHVwc3RpbGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91cHRhY2siKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IHVwdGFjazsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3VyaW5nIildCisrCQlwdWJsaWMgY29uc3Qg dWludCB1cmluZzsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3V0aWxkZSIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgdXRpbGRlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgdjsK KysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX3ZhcmlhdGlvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgdmFyaWF0 aW9uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfdmVydGJhciIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgdmVy dGJhcjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX3ZlcnRjb25uZWN0b3IiKV0KKysJCXB1YmxpYyBjb25zdCB1 aW50IHZlcnRjb25uZWN0b3I7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV92b2ljZWRzb3VuZCIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgdm9pY2Vkc291bmQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV92dCIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgdnQ7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV93IildCisrCQlwdWJsaWMgY29uc3Qg dWludCB3OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfd2FjdXRlIildCisrCQlwdWJsaWMgY29uc3QgdWludCB3 YWN1dGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV93Y2lyY3VtZmxleCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgd2NpcmN1bWZsZXg7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV93ZGlhZXJlc2lzIildCisrCQlwdWJsaWMg Y29uc3QgdWludCB3ZGlhZXJlc2lzOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfd2dyYXZlIildCisrCQlwdWJs aWMgY29uc3QgdWludCB3Z3JhdmU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV94IildCisrCQlwdWJsaWMgY29u c3QgdWludCB4OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfeGFib3ZlZG90IildCisrCQlwdWJsaWMgY29uc3Qg dWludCB4YWJvdmVkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV95IildCisrCQlwdWJsaWMgY29uc3QgdWlu dCB5OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfeWFjdXRlIildCisrCQlwdWJsaWMgY29uc3QgdWludCB5YWN1 dGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV95YmVsb3dkb3QiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHli ZWxvd2RvdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3ljaXJjdW1mbGV4IildCisrCQlwdWJsaWMgY29uc3Qg dWludCB5Y2lyY3VtZmxleDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3lkaWFlcmVzaXMiKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IHlkaWFlcmVzaXM7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV95ZW4iKV0KKysJCXB1Ymxp YyBjb25zdCB1aW50IHllbjsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3lncmF2ZSIpXQorKwkJcHVibGljIGNv bnN0IHVpbnQgeWdyYXZlOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfeWhvb2siKV0KKysJCXB1YmxpYyBjb25z dCB1aW50IHlob29rOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfeXRpbGRlIildCisrCQlwdWJsaWMgY29uc3Qg dWludCB5dGlsZGU7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV96IildCisrCQlwdWJsaWMgY29uc3QgdWludCB6 OworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfemFib3ZlZG90IildCisrCQlwdWJsaWMgY29uc3QgdWludCB6YWJv dmVkb3Q7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV96YWN1dGUiKV0KKysJCXB1YmxpYyBjb25zdCB1aW50IHph Y3V0ZTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX3pjYXJvbiIpXQorKwkJcHVibGljIGNvbnN0IHVpbnQgemNh cm9uOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfemVyb3N1YnNjcmlwdCIpXQorKwkJcHVibGljIGNvbnN0IHVp bnQgemVyb3N1YnNjcmlwdDsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3plcm9zdXBlcmlvciIpXQorKwkJcHVi bGljIGNvbnN0IHVpbnQgemVyb3N1cGVyaW9yOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfenN0cm9rZSIpXQor KwkJcHVibGljIGNvbnN0IHVpbnQgenN0cm9rZTsKKysJfQorKwluYW1lc3BhY2UgVGhyZWFkcyB7 CisrCQluYW1lc3BhY2UgSWRsZSB7CisrCQkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiY2x1dHRlcl90aHJlYWRzX2FkZF9pZGxlIildCisr CQkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQorKwkJCXB1YmxpYyBzdGF0aWMgdWludCBhZGQg KEdMaWIuU291cmNlRnVuYyBmdW5jKTsKKysJCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJjbHV0dGVyX3RocmVhZHNfYWRkX2lkbGVfZnVs bCIpXQorKwkJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KKysJCQlwdWJsaWMgc3RhdGljIHVp bnQgYWRkX2Z1bGwgKGludCBwcmlvcml0eSwgb3duZWQgR0xpYi5Tb3VyY2VGdW5jIGZ1bmMpOwor KwkJfQorKwkJbmFtZXNwYWNlIFRpbWVvdXQgeworKwkJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gImNsdXR0ZXJfdGhyZWFkc19hZGRfdGlt ZW91dCIpXQorKwkJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KKysJCQlwdWJsaWMgc3RhdGlj IHVpbnQgYWRkICh1aW50IGludGVydmFsLCBHTGliLlNvdXJjZUZ1bmMgZnVuYyk7CisrCQkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiY2x1 dHRlcl90aHJlYWRzX2FkZF90aW1lb3V0X2Z1bGwiKV0KKysJCQlbVmVyc2lvbiAoc2luY2UgPSAi MC40IildCisrCQkJcHVibGljIHN0YXRpYyB1aW50IGFkZF9mdWxsIChpbnQgcHJpb3JpdHksIHVp bnQgaW50ZXJ2YWwsIG93bmVkIEdMaWIuU291cmNlRnVuYyBmdW5jKTsKKysJCX0KKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHN0YXRpYyB1aW50IGFkZF9yZXBhaW50X2Z1bmMg KG93bmVkIEdMaWIuU291cmNlRnVuYyBmdW5jKTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0K KysJCXB1YmxpYyBzdGF0aWMgdWludCBhZGRfcmVwYWludF9mdW5jX2Z1bGwgKENsdXR0ZXIuUmVw YWludEZsYWdzIGZsYWdzLCBvd25lZCBHTGliLlNvdXJjZUZ1bmMgZnVuYyk7CisrCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KKysJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBzdGF0aWMgdm9pZCByZW1vdmVfcmVwYWludF9mdW5j ICh1aW50IGhhbmRsZV9pZCk7CisrCX0KKysJbmFtZXNwYWNlIFZhbHVlIHsKKysJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBzdGF0aWMgQ2x1dHRlci5QYWludE5vZGUgZHVwX3Bh aW50X25vZGUgKEdMaWIuVmFsdWUgdmFsdWUpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIildCisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCisr CQlwdWJsaWMgc3RhdGljIHVub3duZWQgQ2x1dHRlci5Db2xvcj8gZ2V0X2NvbG9yIChHTGliLlZh bHVlIHZhbHVlKTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIpXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBzdGF0aWMg dW5vd25lZCBDbHV0dGVyLlBhaW50Tm9kZSBnZXRfcGFpbnRfbm9kZSAoR0xpYi5WYWx1ZSB2YWx1 ZSk7CisrCQlbQ0NvZGUgKGFycmF5X2xlbmd0aF9wb3MgPSAxLjEsIGFycmF5X2xlbmd0aF90eXBl ID0gImdzaXplIiwgY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQorKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIGZsb2F0 W10gZ2V0X3NoYWRlcl9mbG9hdCAoR0xpYi5WYWx1ZSB2YWx1ZSk7CisrCQlbQ0NvZGUgKGFycmF5 X2xlbmd0aF9wb3MgPSAxLjEsIGFycmF5X2xlbmd0aF90eXBlID0gImdzaXplIiwgY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAu OCIpXQorKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIGludFtdIGdldF9zaGFkZXJfaW50IChHTGli LlZhbHVlIHZhbHVlKTsKKysJCVtDQ29kZSAoYXJyYXlfbGVuZ3RoX3BvcyA9IDEuMSwgYXJyYXlf bGVuZ3RoX3R5cGUgPSAiZ3NpemUiLCBjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIildCisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCisrCQlwdWJsaWMgc3RhdGljIHVu b3duZWQgZmxvYXRbXSBnZXRfc2hhZGVyX21hdHJpeCAoR0xpYi5WYWx1ZSB2YWx1ZSk7CisrCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KKysJCVtWZXJz aW9uIChzaW5jZSA9ICIwLjgiKV0KKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLlVu aXRzPyBnZXRfdW5pdHMgKEdMaWIuVmFsdWUgdmFsdWUpOworKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44 IildCisrCQlwdWJsaWMgc3RhdGljIHZvaWQgc2V0X2NvbG9yIChHTGliLlZhbHVlIHZhbHVlLCBD bHV0dGVyLkNvbG9yIGNvbG9yKTsKKysJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIpXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1Ymxp YyBzdGF0aWMgdm9pZCBzZXRfcGFpbnRfbm9kZSAoR0xpYi5WYWx1ZSB2YWx1ZSwgQ2x1dHRlci5Q YWludE5vZGU/IG5vZGUpOworKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIildCisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCisrCQlwdWJsaWMgc3Rh dGljIHZvaWQgc2V0X3NoYWRlcl9mbG9hdCAoR0xpYi5WYWx1ZSB2YWx1ZSwgW0NDb2RlIChhcnJh eV9sZW5ndGhfY25hbWUgPSAic2l6ZSIsIGFycmF5X2xlbmd0aF9wb3MgPSAxLjUpXSBmbG9hdFtd IGZsb2F0cyk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiKV0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KKysJCXB1YmxpYyBzdGF0aWMgdm9p ZCBzZXRfc2hhZGVyX2ludCAoR0xpYi5WYWx1ZSB2YWx1ZSwgW0NDb2RlIChhcnJheV9sZW5ndGhf Y25hbWUgPSAic2l6ZSIsIGFycmF5X2xlbmd0aF9wb3MgPSAxLjUpXSBpbnRbXSBpbnRzKTsKKysJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKwkJW1Zl cnNpb24gKHNpbmNlID0gIjAuOCIpXQorKwkJcHVibGljIHN0YXRpYyB2b2lkIHNldF9zaGFkZXJf bWF0cml4IChHTGliLlZhbHVlIHZhbHVlLCBbQ0NvZGUgKGFycmF5X2xlbmd0aF9jbmFtZSA9ICJz aXplIiwgYXJyYXlfbGVuZ3RoX3BvcyA9IDEuNSldIGZsb2F0W10gbWF0cml4KTsKKysJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKwkJW1ZlcnNpb24g KHNpbmNlID0gIjAuOCIpXQorKwkJcHVibGljIHN0YXRpYyB2b2lkIHNldF91bml0cyAoR0xpYi5W YWx1ZSB2YWx1ZSwgQ2x1dHRlci5Vbml0cyB1bml0cyk7CisrCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEw IildCisrCQlwdWJsaWMgc3RhdGljIHZvaWQgdGFrZV9wYWludF9ub2RlIChHTGliLlZhbHVlIHZh bHVlLCBDbHV0dGVyLlBhaW50Tm9kZT8gbm9kZSk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2FjdGlvbl9n ZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCisrCXB1YmxpYyBhYnN0 cmFjdCBjbGFzcyBBY3Rpb24gOiBDbHV0dGVyLkFjdG9yTWV0YSB7CisrCQlbQ0NvZGUgKGhhc19j b25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgQWN0aW9uICgpOworKwl9 CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVf aWQgPSAiY2x1dHRlcl9hY3Rvcl9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgY2xhc3MgQWN0b3Ig OiBHTGliLkluaXRpYWxseVVub3duZWQsIEF0ay5JbXBsZW1lbnRvciwgQ2x1dHRlci5BbmltYXRh YmxlLCBDbHV0dGVyLkNvbnRhaW5lciwgQ2x1dHRlci5TY3JpcHRhYmxlIHsKKysJCXB1YmxpYyB1 aW50MzIgZmxhZ3M7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSld CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIEFjdG9yICgpOworKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGljIHZvaWQgYWRkX2FjdGlvbiAoQ2x1 dHRlci5BY3Rpb24gYWN0aW9uKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1 YmxpYyB2b2lkIGFkZF9hY3Rpb25fd2l0aF9uYW1lIChzdHJpbmcgbmFtZSwgQ2x1dHRlci5BY3Rp b24gYWN0aW9uKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9p ZCBhZGRfY2hpbGQgKENsdXR0ZXIuQWN0b3IgY2hpbGQpOworKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuNCIpXQorKwkJcHVibGljIHZvaWQgYWRkX2NvbnN0cmFpbnQgKENsdXR0ZXIuQ29uc3RyYWlu dCBjb25zdHJhaW50KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyB2 b2lkIGFkZF9jb25zdHJhaW50X3dpdGhfbmFtZSAoc3RyaW5nIG5hbWUsIENsdXR0ZXIuQ29uc3Ry YWludCBjb25zdHJhaW50KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1Ymxp YyB2b2lkIGFkZF9lZmZlY3QgKENsdXR0ZXIuRWZmZWN0IGVmZmVjdCk7CisrCQlbVmVyc2lvbiAo c2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgdm9pZCBhZGRfZWZmZWN0X3dpdGhfbmFtZSAoc3Ry aW5nIG5hbWUsIENsdXR0ZXIuRWZmZWN0IGVmZmVjdCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQorKwkJcHVibGljIHZvaWQgYWRkX3RyYW5zaXRpb24gKHN0cmluZyBuYW1lLCBDbHV0 dGVyLlRyYW5zaXRpb24gdHJhbnNpdGlvbik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44Iild CisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIGFsbG9jYXRlIChDbHV0dGVyLkFjdG9yQm94IGJveCwg Q2x1dHRlci5BbGxvY2F0aW9uRmxhZ3MgZmxhZ3MpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu NCIpXQorKwkJcHVibGljIHZvaWQgYWxsb2NhdGVfYWxpZ25fZmlsbCAoQ2x1dHRlci5BY3RvckJv eCBib3gsIGRvdWJsZSB4X2FsaWduLCBkb3VibGUgeV9hbGlnbiwgYm9vbCB4X2ZpbGwsIGJvb2wg eV9maWxsLCBDbHV0dGVyLkFsbG9jYXRpb25GbGFncyBmbGFncyk7CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4wIildCisrCQlwdWJsaWMgdm9pZCBhbGxvY2F0ZV9hdmFpbGFibGVfc2l6ZSAoZmxv YXQgeCwgZmxvYXQgeSwgZmxvYXQgYXZhaWxhYmxlX3dpZHRoLCBmbG9hdCBhdmFpbGFibGVfaGVp Z2h0LCBDbHV0dGVyLkFsbG9jYXRpb25GbGFncyBmbGFncyk7CisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC44IildCisrCQlwdWJsaWMgdm9pZCBhbGxvY2F0ZV9wcmVmZXJyZWRfc2l6ZSAoQ2x1dHRl ci5BbGxvY2F0aW9uRmxhZ3MgZmxhZ3MpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVl LCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB1 bm93bmVkIENsdXR0ZXIuQW5pbWF0aW9uIGFuaW1hdGUgKHVsb25nIG1vZGUsIHVpbnQgZHVyYXRp b24sIC4uLik7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2lu Y2UgPSAiMS4xMiIsIHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5B bmltYXRpb24gYW5pbWF0ZV93aXRoX3RpbWVsaW5lICh1bG9uZyBtb2RlLCBDbHV0dGVyLlRpbWVs aW5lIHRpbWVsaW5lLCAuLi4pOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQorKwkJcHVi bGljIHZvaWQgYXBwbHlfcmVsYXRpdmVfdHJhbnNmb3JtX3RvX3BvaW50IChDbHV0dGVyLkFjdG9y PyBhbmNlc3RvciwgR3JhcGhlbmUuUG9pbnQzRCBwb2ludCwgb3V0IHVub3duZWQgR3JhcGhlbmUu UG9pbnQzRCB2ZXJ0ZXgpOworKwkJW05vV3JhcHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQg YXBwbHlfdHJhbnNmb3JtIChyZWYgQ2x1dHRlci5NYXRyaXggbWF0cml4KTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIwLjQiKV0KKysJCXB1YmxpYyB2b2lkIGFwcGx5X3RyYW5zZm9ybV90b19wb2lu dCAoR3JhcGhlbmUuUG9pbnQzRCBwb2ludCwgb3V0IHVub3duZWQgR3JhcGhlbmUuUG9pbnQzRCB2 ZXJ0ZXgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjQiKV0KKysJCXB1YmxpYyB2b2lkIGJp bmRfbW9kZWwgKEdMaWIuTGlzdE1vZGVsPyBtb2RlbCwgb3duZWQgQ2x1dHRlci5BY3RvckNyZWF0 ZUNoaWxkRnVuYyBjcmVhdGVfY2hpbGRfZnVuYyk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40 IildCisrCQlwdWJsaWMgdm9pZCBjbGVhcl9hY3Rpb25zICgpOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuNCIpXQorKwkJcHVibGljIHZvaWQgY2xlYXJfY29uc3RyYWludHMgKCk7CisrCQlbVmVy c2lvbiAoc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgdm9pZCBjbGVhcl9lZmZlY3RzICgpOwor KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGljIGJvb2wgY29udGFpbnMgKENs dXR0ZXIuQWN0b3IgZGVzY2VuZGFudCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCisr CQlwdWJsaWMgdm9pZCBjb250aW51ZV9wYWludCAoQ2x1dHRlci5QYWludENvbnRleHQgcGFpbnRf Y29udGV4dCk7CisrCQlwdWJsaWMgdm9pZCBjb250aW51ZV9waWNrIChDbHV0dGVyLlBpY2tDb250 ZXh0IHBpY2tfY29udGV4dCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJs aWMgUGFuZ28uQ29udGV4dCBjcmVhdGVfcGFuZ29fY29udGV4dCAoKTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBQYW5nby5MYXlvdXQgY3JlYXRlX3BhbmdvX2xheW91 dCAoc3RyaW5nPyB0ZXh0KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJs aWMgdm9pZCBkZXN0cm95X2FsbF9jaGlsZHJlbiAoKTsKKysJCVtDQ29kZSAoY25hbWUgPSAiY2x1 dHRlcl9hY3Rvcl9ldmVudCIpXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQorKwkJcHVi bGljIGJvb2wgZW1pdF9ldmVudCAoQ2x1dHRlci5FdmVudCBldmVudCwgYm9vbCBjYXB0dXJlKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KKysJCXB1YmxpYyB2b2lkIGdldF9hYnNfYWxs b2NhdGlvbl92ZXJ0aWNlcyAoW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldIEdyYXBoZW5l LlBvaW50M0QgdmVydHNbNF0pOworKwkJcHVibGljIHZpcnR1YWwgdW5vd25lZCBBdGsuT2JqZWN0 IGdldF9hY2Nlc3NpYmxlICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwkJcHVi bGljIHVub3duZWQgQ2x1dHRlci5BY3Rpb24gZ2V0X2FjdGlvbiAoc3RyaW5nIG5hbWUpOworKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGljIEdMaWIuTGlzdDx3ZWFrIENsdXR0 ZXIuQWN0aW9uPiBnZXRfYWN0aW9ucyAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0K KysJCXB1YmxpYyBDbHV0dGVyLkFjdG9yQm94IGdldF9hbGxvY2F0aW9uX2JveCAoKTsKKysJCVtW ZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KKysJCXB1YmxpYyB2b2lkIGdldF9hbGxvY2F0aW9uX3Zl cnRpY2VzIChDbHV0dGVyLkFjdG9yPyBhbmNlc3RvciwgW0NDb2RlIChhcnJheV9sZW5ndGggPSBm YWxzZSldIEdyYXBoZW5lLlBvaW50M0QgdmVydHNbNF0pOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0 ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjAiKV0KKysJ CXB1YmxpYyBDbHV0dGVyLkdyYXZpdHkgZ2V0X2FuY2hvcl9wb2ludF9ncmF2aXR5ICgpOworKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIGdldF9i YWNrZ3JvdW5kX2NvbG9yICgpOworKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2dldF9hY3Rv cl9ieV9naWQiKV0KKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9z aW5jZSA9ICIxLjgiLCBzaW5jZSA9ICIwLjYiKV0KKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBD bHV0dGVyLkFjdG9yIGdldF9ieV9naWQgKHVpbnQzMiBpZF8pOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTAiKV0KKysJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X2NoaWxkX2F0 X2luZGV4IChpbnQgaW5kZXhfKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlw dWJsaWMgQ2x1dHRlci5NYXRyaXggZ2V0X2NoaWxkX3RyYW5zZm9ybSAoKTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgR0xpYi5MaXN0PHdlYWsgQ2x1dHRlci5BY3Rv cj4gZ2V0X2NoaWxkcmVuICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQorKwkJcHVi bGljIHZvaWQgZ2V0X2NsaXAgKG91dCBmbG9hdCB4b2ZmLCBvdXQgZmxvYXQgeW9mZiwgb3V0IGZs b2F0IHdpZHRoLCBvdXQgZmxvYXQgaGVpZ2h0KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQi KV0KKysJCXB1YmxpYyBib29sIGdldF9jbGlwX3RvX2FsbG9jYXRpb24gKCk7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkNvbnN0cmFpbnQg Z2V0X2NvbnN0cmFpbnQgKHN0cmluZyBuYW1lKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQi KV0KKysJCXB1YmxpYyBHTGliLkxpc3Q8d2VhayBDbHV0dGVyLkNvbnN0cmFpbnQ+IGdldF9jb25z dHJhaW50cyAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdW5v d25lZCBDbHV0dGVyLkNvbnRlbnQgZ2V0X2NvbnRlbnQgKCk7CisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xMCIpXQorKwkJcHVibGljIENsdXR0ZXIuQWN0b3JCb3ggZ2V0X2NvbnRlbnRfYm94ICgp OworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBDbHV0dGVyLkNvbnRl bnRHcmF2aXR5IGdldF9jb250ZW50X2dyYXZpdHkgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMiIpXQorKwkJcHVibGljIENsdXR0ZXIuQ29udGVudFJlcGVhdCBnZXRfY29udGVudF9yZXBl YXQgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgZ2V0 X2NvbnRlbnRfc2NhbGluZ19maWx0ZXJzIChvdXQgQ2x1dHRlci5TY2FsaW5nRmlsdGVyIG1pbl9m aWx0ZXIsIG91dCBDbHV0dGVyLlNjYWxpbmdGaWx0ZXIgbWFnX2ZpbHRlcik7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5QYWludFZvbHVt ZSBnZXRfZGVmYXVsdF9wYWludF92b2x1bWUgKCk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9 IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIGZsb2F0IGdldF9k ZXB0aCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdWludCBn ZXRfZWFzaW5nX2RlbGF5ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1 YmxpYyB1aW50IGdldF9lYXNpbmdfZHVyYXRpb24gKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQorKwkJcHVibGljIENsdXR0ZXIuQW5pbWF0aW9uTW9kZSBnZXRfZWFzaW5nX21vZGUg KCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgdW5vd25lZCBDbHV0 dGVyLkVmZmVjdCBnZXRfZWZmZWN0IChzdHJpbmcgbmFtZSk7CisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS40IildCisrCQlwdWJsaWMgR0xpYi5MaXN0PHdlYWsgQ2x1dHRlci5FZmZlY3Q+IGdldF9l ZmZlY3RzICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyB1bm93 bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X2ZpcnN0X2NoaWxkICgpOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjAuOCIpXQorKwkJcHVibGljIGJvb2wgZ2V0X2ZpeGVkX3Bvc2l0aW9uX3NldCAoKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBDbHV0dGVyLkFjdG9yRmxhZ3Mg Z2V0X2ZsYWdzICgpOworKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2FjdG9yX2hhc19wb2lu dGVyIildCisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgYm9vbCBnZXRf aGFzX3BvaW50ZXIgKCk7CisrCQlwdWJsaWMgZmxvYXQgZ2V0X2hlaWdodCAoKTsKKysJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdl dF9sYXN0X2NoaWxkICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1Ymxp YyB1bm93bmVkIENsdXR0ZXIuTGF5b3V0TWFuYWdlciBnZXRfbGF5b3V0X21hbmFnZXIgKCk7Cisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgZ2V0X21hcmdpbiAo Q2x1dHRlci5NYXJnaW4gbWFyZ2luKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisr CQlwdWJsaWMgZmxvYXQgZ2V0X21hcmdpbl9ib3R0b20gKCk7CisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xMCIpXQorKwkJcHVibGljIGZsb2F0IGdldF9tYXJnaW5fbGVmdCAoKTsKKysJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgZmxvYXQgZ2V0X21hcmdpbl9yaWdodCAo KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgZmxvYXQgZ2V0X21h cmdpbl90b3AgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIGlu dCBnZXRfbl9jaGlsZHJlbiAoKTsKKysJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfbmFtZSAo KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdW5vd25lZCBDbHV0 dGVyLkFjdG9yIGdldF9uZXh0X3NpYmxpbmcgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44 IildCisrCQlwdWJsaWMgQ2x1dHRlci5PZmZzY3JlZW5SZWRpcmVjdCBnZXRfb2Zmc2NyZWVuX3Jl ZGlyZWN0ICgpOworKwkJcHVibGljIHVpbnQ4IGdldF9vcGFjaXR5ICgpOworKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMjIiKV0KKysJCXB1YmxpYyBpbnQgZ2V0X29wYWNpdHlfb3ZlcnJpZGUgKCk7 CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCisrCQlwdWJsaWMgYm9vbCBnZXRfcGFpbnRf Ym94IChvdXQgQ2x1dHRlci5BY3RvckJveCBib3gpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAu OCIpXQorKwkJcHVibGljIHVpbnQ4IGdldF9wYWludF9vcGFjaXR5ICgpOworKwkJW1ZlcnNpb24g KHNpbmNlID0gIjAuOCIpXQorKwkJcHVibGljIGJvb2wgZ2V0X3BhaW50X3Zpc2liaWxpdHkgKCk7 CisrCQlbTm9XcmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwgYm9vbCBnZXRfcGFpbnRfdm9sdW1l IChDbHV0dGVyLlBhaW50Vm9sdW1lIHZvbHVtZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4w IildCisrCQlwdWJsaWMgdW5vd25lZCBQYW5nby5Db250ZXh0IGdldF9wYW5nb19jb250ZXh0ICgp OworKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5BY3Rvcj8gZ2V0X3BhcmVudCAoKTsKKysJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlwdWJsaWMgdm9pZCBnZXRfcGl2b3RfcG9pbnQg KG91dCBmbG9hdCBwaXZvdF94LCBvdXQgZmxvYXQgcGl2b3RfeSk7CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMiIpXQorKwkJcHVibGljIGZsb2F0IGdldF9waXZvdF9wb2ludF96ICgpOworKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGljIHZvaWQgZ2V0X3Bvc2l0aW9uIChv dXQgZmxvYXQgeCwgb3V0IGZsb2F0IHkpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQor KwkJcHVibGljIHZpcnR1YWwgdm9pZCBnZXRfcHJlZmVycmVkX2hlaWdodCAoZmxvYXQgZm9yX3dp ZHRoLCBvdXQgZmxvYXQgbWluX2hlaWdodF9wLCBvdXQgZmxvYXQgbmF0dXJhbF9oZWlnaHRfcCk7 CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCisrCQlwdWJsaWMgdm9pZCBnZXRfcHJlZmVy cmVkX3NpemUgKG91dCBmbG9hdCBtaW5fd2lkdGhfcCwgb3V0IGZsb2F0IG1pbl9oZWlnaHRfcCwg b3V0IGZsb2F0IG5hdHVyYWxfd2lkdGhfcCwgb3V0IGZsb2F0IG5hdHVyYWxfaGVpZ2h0X3ApOwor KwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQorKwkJcHVibGljIHZpcnR1YWwgdm9pZCBnZXRf cHJlZmVycmVkX3dpZHRoIChmbG9hdCBmb3JfaGVpZ2h0LCBvdXQgZmxvYXQgbWluX3dpZHRoX3As IG91dCBmbG9hdCBuYXR1cmFsX3dpZHRoX3ApOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KKysJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X3ByZXZpb3VzX3NpYmxpbmcg KCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCisrCQlwdWJsaWMgYm9vbCBnZXRfcmVh Y3RpdmUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgQ2x1dHRl ci5SZXF1ZXN0TW9kZSBnZXRfcmVxdWVzdF9tb2RlICgpOworKwkJcHVibGljIGJvb2wgZ2V0X3Jl c291cmNlX3NjYWxlIChvdXQgZmxvYXQgcmVzb3VyY2Vfc2NhbGUpOworKwkJW1ZlcnNpb24gKGRl cHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIwLjgi KV0KKysJCXB1YmxpYyBkb3VibGUgZ2V0X3JvdGF0aW9uIChDbHV0dGVyLlJvdGF0ZUF4aXMgYXhp cywgb3V0IGZsb2F0IHgsIG91dCBmbG9hdCB5LCBvdXQgZmxvYXQgeik7CisrCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIGRvdWJsZSBnZXRfcm90YXRpb25fYW5nbGUgKENs dXR0ZXIuUm90YXRlQXhpcyBheGlzKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KKysJ CXB1YmxpYyB2b2lkIGdldF9zY2FsZSAob3V0IGRvdWJsZSBzY2FsZV94LCBvdXQgZG91YmxlIHNj YWxlX3kpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNl ID0gIjEuMTIiLCBzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB2b2lkIGdldF9zY2FsZV9jZW50 ZXIgKG91dCBmbG9hdCBjZW50ZXJfeCwgb3V0IGZsb2F0IGNlbnRlcl95KTsKKysJCVtWZXJzaW9u IChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwgc2luY2UgPSAi MS4wIildCisrCQlwdWJsaWMgQ2x1dHRlci5HcmF2aXR5IGdldF9zY2FsZV9ncmF2aXR5ICgpOwor KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyBkb3VibGUgZ2V0X3NjYWxl X3ogKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCisrCQlwdWJsaWMgdm9pZCBnZXRf c2l6ZSAob3V0IGZsb2F0IHdpZHRoLCBvdXQgZmxvYXQgaGVpZ2h0KTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIwLjgiKV0KKysJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuU3RhZ2UgZ2V0X3N0YWdl ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIENsdXR0ZXIuVGV4 dERpcmVjdGlvbiBnZXRfdGV4dF9kaXJlY3Rpb24gKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMiIpXQorKwkJcHVibGljIENsdXR0ZXIuTWF0cml4IGdldF90cmFuc2Zvcm0gKCk7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS42IildCisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLlBhaW50 Vm9sdW1lIGdldF90cmFuc2Zvcm1lZF9wYWludF92b2x1bWUgKENsdXR0ZXIuQWN0b3IgcmVsYXRp dmVfdG9fYW5jZXN0b3IpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQorKwkJcHVibGlj IHZvaWQgZ2V0X3RyYW5zZm9ybWVkX3Bvc2l0aW9uIChvdXQgZmxvYXQgeCwgb3V0IGZsb2F0IHkp OworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQorKwkJcHVibGljIHZvaWQgZ2V0X3RyYW5z Zm9ybWVkX3NpemUgKG91dCBmbG9hdCB3aWR0aCwgb3V0IGZsb2F0IGhlaWdodCk7CisrCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5UcmFuc2l0 aW9uIGdldF90cmFuc2l0aW9uIChzdHJpbmcgbmFtZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMiIpXQorKwkJcHVibGljIHZvaWQgZ2V0X3RyYW5zbGF0aW9uIChvdXQgZmxvYXQgdHJhbnNs YXRlX3gsIG91dCBmbG9hdCB0cmFuc2xhdGVfeSwgb3V0IGZsb2F0IHRyYW5zbGF0ZV96KTsKKysJ CXB1YmxpYyBmbG9hdCBnZXRfd2lkdGggKCk7CisrCQlwdWJsaWMgZmxvYXQgZ2V0X3ggKCk7Cisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIENsdXR0ZXIuQWN0b3JBbGln biBnZXRfeF9hbGlnbiAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlwdWJs aWMgYm9vbCBnZXRfeF9leHBhbmQgKCk7CisrCQlwdWJsaWMgZmxvYXQgZ2V0X3kgKCk7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIENsdXR0ZXIuQWN0b3JBbGlnbiBn ZXRfeV9hbGlnbiAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlwdWJsaWMg Ym9vbCBnZXRfeV9leHBhbmQgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJ cHVibGljIGZsb2F0IGdldF96X3Bvc2l0aW9uICgpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQg PSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjAiKV0KKysJCXB1 YmxpYyBDbHV0dGVyLkdyYXZpdHkgZ2V0X3pfcm90YXRpb25fZ3Jhdml0eSAoKTsKKysJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB2b2lkIGdyYWJfa2V5X2ZvY3VzICgpOwor KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBib29sIGhhc19hY3Rpb25z ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGljIGJvb2wgaGFzX2Fs bG9jYXRpb24gKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIGJv b2wgaGFzX2NvbnN0cmFpbnRzICgpOworKwkJcHVibGljIGJvb2wgaGFzX2RhbWFnZSAoKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgYm9vbCBoYXNfZWZmZWN0cyAo KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyBib29sIGhhc19rZXlf Zm9jdXMgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNiIpXQorKwkJcHVibGljIGJvb2wg aGFzX21hcHBlZF9jbG9uZXMgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCisrCQlw dWJsaWMgdmlydHVhbCBib29sIGhhc19vdmVybGFwcyAoKTsKKysJCVtOb1dyYXBwZXJdCisrCQlw dWJsaWMgdmlydHVhbCB2b2lkIGhpZGVfYWxsICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTAiKV0KKysJCXB1YmxpYyB2b2lkIGluc2VydF9jaGlsZF9hYm92ZSAoQ2x1dHRlci5BY3RvciBj aGlsZCwgQ2x1dHRlci5BY3Rvcj8gc2libGluZyk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MCIpXQorKwkJcHVibGljIHZvaWQgaW5zZXJ0X2NoaWxkX2F0X2luZGV4IChDbHV0dGVyLkFjdG9y IGNoaWxkLCBpbnQgaW5kZXhfKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlw dWJsaWMgdm9pZCBpbnNlcnRfY2hpbGRfYmVsb3cgKENsdXR0ZXIuQWN0b3IgY2hpbGQsIENsdXR0 ZXIuQWN0b3I/IHNpYmxpbmcpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVi bGljIGJvb2wgaXNfaW5fY2xvbmVfcGFpbnQgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4y NCIpXQorKwkJcHVibGljIGJvb2wgaXNfbWFwcGVkICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMjQiKV0KKysJCXB1YmxpYyBib29sIGlzX3JlYWxpemVkICgpOworKwkJW1ZlcnNpb24gKHNp bmNlID0gIjAuNiIpXQorKwkJcHVibGljIGJvb2wgaXNfcm90YXRlZCAoKTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIwLjYiKV0KKysJCXB1YmxpYyBib29sIGlzX3NjYWxlZCAoKTsKKysJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjI0IildCisrCQlwdWJsaWMgYm9vbCBpc192aXNpYmxlICgpOworKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHZpcnR1YWwgdm9pZCBtYXAgKCk7 CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4x MiIsIHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGljIHZvaWQgbW92ZV9hbmNob3JfcG9pbnQgKGZs b2F0IGFuY2hvcl94LCBmbG9hdCBhbmNob3JfeSk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9 IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjAuNiIpXQorKwkJcHVi bGljIHZvaWQgbW92ZV9hbmNob3JfcG9pbnRfZnJvbV9ncmF2aXR5IChDbHV0dGVyLkdyYXZpdHkg Z3Jhdml0eSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCisrCQlwdWJsaWMgdm9pZCBt b3ZlX2J5IChmbG9hdCBkeCwgZmxvYXQgZHkpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIi KV0KKysJCXB1YmxpYyBib29sIG5lZWRzX2V4cGFuZCAoQ2x1dHRlci5PcmllbnRhdGlvbiBvcmll bnRhdGlvbik7CisrCQlbTm9XcmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwgdm9pZCBwYWludF9u b2RlIChDbHV0dGVyLlBhaW50Tm9kZSByb290KTsKKysJCXB1YmxpYyB2b2lkIHBpY2tfYm94IChD bHV0dGVyLlBpY2tDb250ZXh0IHBpY2tfY29udGV4dCwgQ2x1dHRlci5BY3RvckJveCBib3gpOwor KwkJcHVibGljIHZvaWQgcG9wX2ludGVybmFsICgpOworKwkJcHVibGljIHZvaWQgcHVzaF9pbnRl cm5hbCAoKTsKKysJCXB1YmxpYyB2b2lkIHF1ZXVlX3JlZHJhdyAoKTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBxdWV1ZV9yZWRyYXdfd2l0aF9jbGlwIChD YWlyby5SZWN0YW5nbGVJbnQ/IGNsaXApOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQor KwkJcHVibGljIHZvaWQgcmVtb3ZlX2FjdGlvbiAoQ2x1dHRlci5BY3Rpb24gYWN0aW9uKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyB2b2lkIHJlbW92ZV9hY3Rpb25f YnlfbmFtZSAoc3RyaW5nIG5hbWUpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJ CXB1YmxpYyB2b2lkIHJlbW92ZV9hbGxfY2hpbGRyZW4gKCk7CisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgcmVtb3ZlX2FsbF90cmFuc2l0aW9ucyAoKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCByZW1vdmVfY2hpbGQg KENsdXR0ZXIuQWN0b3IgY2hpbGQpOworKwkJcHVibGljIHZvaWQgcmVtb3ZlX2NsaXAgKCk7Cisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgdm9pZCByZW1vdmVfY29uc3Ry YWludCAoQ2x1dHRlci5Db25zdHJhaW50IGNvbnN0cmFpbnQpOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuNCIpXQorKwkJcHVibGljIHZvaWQgcmVtb3ZlX2NvbnN0cmFpbnRfYnlfbmFtZSAoc3Ry aW5nIG5hbWUpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGljIHZvaWQg cmVtb3ZlX2VmZmVjdCAoQ2x1dHRlci5FZmZlY3QgZWZmZWN0KTsKKysJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjQiKV0KKysJCXB1YmxpYyB2b2lkIHJlbW92ZV9lZmZlY3RfYnlfbmFtZSAoc3RyaW5n IG5hbWUpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyB2b2lkIHJl bW92ZV90cmFuc2l0aW9uIChzdHJpbmcgbmFtZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MCIpXQorKwkJcHVibGljIHZvaWQgcmVwbGFjZV9jaGlsZCAoQ2x1dHRlci5BY3RvciBvbGRfY2hp bGQsIENsdXR0ZXIuQWN0b3IgbmV3X2NoaWxkKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEw IildCisrCQlwdWJsaWMgdm9pZCByZXN0b3JlX2Vhc2luZ19zdGF0ZSAoKTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBzYXZlX2Vhc2luZ19zdGF0ZSAoKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBzZXRfYWxsb2Nh dGlvbiAoQ2x1dHRlci5BY3RvckJveCBib3gsIENsdXR0ZXIuQWxsb2NhdGlvbkZsYWdzIGZsYWdz KTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIx LjEyIiwgc2luY2UgPSAiMC42IildCisrCQlwdWJsaWMgdm9pZCBzZXRfYW5jaG9yX3BvaW50IChm bG9hdCBhbmNob3JfeCwgZmxvYXQgYW5jaG9yX3kpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQg PSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIwLjYiKV0KKysJCXB1 YmxpYyB2b2lkIHNldF9hbmNob3JfcG9pbnRfZnJvbV9ncmF2aXR5IChDbHV0dGVyLkdyYXZpdHkg Z3Jhdml0eSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQg c2V0X2JhY2tncm91bmRfY29sb3IgKENsdXR0ZXIuQ29sb3I/IGNvbG9yKTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBzZXRfY2hpbGRfYWJvdmVfc2libGlu ZyAoQ2x1dHRlci5BY3RvciBjaGlsZCwgQ2x1dHRlci5BY3Rvcj8gc2libGluZyk7CisrCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgc2V0X2NoaWxkX2F0X2luZGV4 IChDbHV0dGVyLkFjdG9yIGNoaWxkLCBpbnQgaW5kZXhfKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBzZXRfY2hpbGRfYmVsb3dfc2libGluZyAoQ2x1dHRl ci5BY3RvciBjaGlsZCwgQ2x1dHRlci5BY3Rvcj8gc2libGluZyk7CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMiIpXQorKwkJcHVibGljIHZvaWQgc2V0X2NoaWxkX3RyYW5zZm9ybSAoQ2x1dHRl ci5NYXRyaXg/IHRyYW5zZm9ybSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCisrCQlw dWJsaWMgdm9pZCBzZXRfY2xpcCAoZmxvYXQgeG9mZiwgZmxvYXQgeW9mZiwgZmxvYXQgd2lkdGgs IGZsb2F0IGhlaWdodCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMg dm9pZCBzZXRfY2xpcF90b19hbGxvY2F0aW9uIChib29sIGNsaXBfc2V0KTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBzZXRfY29udGVudCAoQ2x1dHRlci5D b250ZW50PyBjb250ZW50KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJs aWMgdm9pZCBzZXRfY29udGVudF9ncmF2aXR5IChDbHV0dGVyLkNvbnRlbnRHcmF2aXR5IGdyYXZp dHkpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9j b250ZW50X3JlcGVhdCAoQ2x1dHRlci5Db250ZW50UmVwZWF0IHJlcGVhdCk7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgc2V0X2NvbnRlbnRfc2NhbGluZ19m aWx0ZXJzIChDbHV0dGVyLlNjYWxpbmdGaWx0ZXIgbWluX2ZpbHRlciwgQ2x1dHRlci5TY2FsaW5n RmlsdGVyIG1hZ19maWx0ZXIpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXBy ZWNhdGVkX3NpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9kZXB0aCAoZmxvYXQg ZGVwdGgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyB2b2lkIHNl dF9lYXNpbmdfZGVsYXkgKHVpbnQgbXNlY3MpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KKysJCXB1YmxpYyB2b2lkIHNldF9lYXNpbmdfZHVyYXRpb24gKHVpbnQgbXNlY3MpOworKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9lYXNpbmdfbW9k ZSAoQ2x1dHRlci5BbmltYXRpb25Nb2RlIG1vZGUpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAu OCIpXQorKwkJcHVibGljIHZvaWQgc2V0X2ZpeGVkX3Bvc2l0aW9uX3NldCAoYm9vbCBpc19zZXQp OworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHZvaWQgc2V0X2ZsYWdz IChDbHV0dGVyLkFjdG9yRmxhZ3MgZmxhZ3MpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIp XQorKwkJcHVibGljIHZvaWQgc2V0X2hlaWdodCAoZmxvYXQgaGVpZ2h0KTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBzZXRfbGF5b3V0X21hbmFnZXIgKENs dXR0ZXIuTGF5b3V0TWFuYWdlcj8gbWFuYWdlcik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MCIpXQorKwkJcHVibGljIHZvaWQgc2V0X21hcmdpbiAoQ2x1dHRlci5NYXJnaW4gbWFyZ2luKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBzZXRfbWFyZ2lu X2JvdHRvbSAoZmxvYXQgbWFyZ2luKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisr CQlwdWJsaWMgdm9pZCBzZXRfbWFyZ2luX2xlZnQgKGZsb2F0IG1hcmdpbik7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgc2V0X21hcmdpbl9yaWdodCAoZmxv YXQgbWFyZ2luKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9p ZCBzZXRfbWFyZ2luX3RvcCAoZmxvYXQgbWFyZ2luKTsKKysJCXB1YmxpYyB2b2lkIHNldF9uYW1l IChzdHJpbmcgbmFtZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCisrCQlwdWJsaWMg dm9pZCBzZXRfb2Zmc2NyZWVuX3JlZGlyZWN0IChDbHV0dGVyLk9mZnNjcmVlblJlZGlyZWN0IHJl ZGlyZWN0KTsKKysJCXB1YmxpYyB2b2lkIHNldF9vcGFjaXR5ICh1aW50OCBvcGFjaXR5KTsKKysJ CXB1YmxpYyB2b2lkIHNldF9vcGFjaXR5X292ZXJyaWRlIChpbnQgb3BhY2l0eSk7CisrCQlbVmVy c2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIpXQorKwkJ cHVibGljIHZvaWQgc2V0X3BhcmVudCAoQ2x1dHRlci5BY3RvciBwYXJlbnQpOworKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9waXZvdF9wb2ludCAoZmxv YXQgcGl2b3RfeCwgZmxvYXQgcGl2b3RfeSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIp XQorKwkJcHVibGljIHZvaWQgc2V0X3Bpdm90X3BvaW50X3ogKGZsb2F0IHBpdm90X3opOworKwkJ cHVibGljIHZvaWQgc2V0X3Bvc2l0aW9uIChmbG9hdCB4LCBmbG9hdCB5KTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIwLjYiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9yZWFjdGl2ZSAoYm9vbCByZWFj dGl2ZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgdm9pZCBzZXRf cmVxdWVzdF9tb2RlIChDbHV0dGVyLlJlcXVlc3RNb2RlIG1vZGUpOworKwkJW1ZlcnNpb24gKGRl cHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIwLjgi KV0KKysJCXB1YmxpYyB2b2lkIHNldF9yb3RhdGlvbiAoQ2x1dHRlci5Sb3RhdGVBeGlzIGF4aXMs IGRvdWJsZSBhbmdsZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeik7CisrCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIHZvaWQgc2V0X3JvdGF0aW9uX2FuZ2xlIChDbHV0 dGVyLlJvdGF0ZUF4aXMgYXhpcywgZG91YmxlIGFuZ2xlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIwLjIiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9zY2FsZSAoZG91YmxlIHNjYWxlX3gsIGRvdWJs ZSBzY2FsZV95KTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9z aW5jZSA9ICIxLjEyIiwgc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgdm9pZCBzZXRfc2NhbGVf ZnVsbCAoZG91YmxlIHNjYWxlX3gsIGRvdWJsZSBzY2FsZV95LCBmbG9hdCBjZW50ZXJfeCwgZmxv YXQgY2VudGVyX3kpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyB2 b2lkIHNldF9zY2FsZV96IChkb3VibGUgc2NhbGVfeik7CisrCQlwdWJsaWMgdm9pZCBzZXRfc2l6 ZSAoZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4y IildCisrCQlwdWJsaWMgdm9pZCBzZXRfdGV4dF9kaXJlY3Rpb24gKENsdXR0ZXIuVGV4dERpcmVj dGlvbiB0ZXh0X2Rpcik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGlj IHZvaWQgc2V0X3RyYW5zZm9ybSAoQ2x1dHRlci5NYXRyaXg/IHRyYW5zZm9ybSk7CisrCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIHZvaWQgc2V0X3RyYW5zbGF0aW9uIChm bG9hdCB0cmFuc2xhdGVfeCwgZmxvYXQgdHJhbnNsYXRlX3ksIGZsb2F0IHRyYW5zbGF0ZV96KTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KKysJCXB1YmxpYyB2b2lkIHNldF93aWR0aCAo ZmxvYXQgd2lkdGgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGljIHZv aWQgc2V0X3ggKGZsb2F0IHgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1 YmxpYyB2b2lkIHNldF94X2FsaWduIChDbHV0dGVyLkFjdG9yQWxpZ24geF9hbGlnbik7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIHZvaWQgc2V0X3hfZXhwYW5kIChi b29sIGV4cGFuZCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCisrCQlwdWJsaWMgdm9p ZCBzZXRfeSAoZmxvYXQgeSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVi bGljIHZvaWQgc2V0X3lfYWxpZ24gKENsdXR0ZXIuQWN0b3JBbGlnbiB5X2FsaWduKTsKKysJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlwdWJsaWMgdm9pZCBzZXRfeV9leHBhbmQgKGJv b2wgZXhwYW5kKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlwdWJsaWMgdm9p ZCBzZXRfel9wb3NpdGlvbiAoZmxvYXQgel9wb3NpdGlvbik7CisrCQlbVmVyc2lvbiAoZGVwcmVj YXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjEuMCIpXQor KwkJcHVibGljIHZvaWQgc2V0X3pfcm90YXRpb25fZnJvbV9ncmF2aXR5IChkb3VibGUgYW5nbGUs IENsdXR0ZXIuR3Jhdml0eSBncmF2aXR5KTsKKysJCXB1YmxpYyBib29sIHNob3VsZF9waWNrX3Bh aW50ICgpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNl ID0gIjEuMTAiLCBzaW5jZSA9ICIwLjIiKV0KKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgc2hvd19h bGwgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCisrCQlwdWJsaWMgYm9vbCB0cmFu c2Zvcm1fc3RhZ2VfcG9pbnQgKGZsb2F0IHgsIGZsb2F0IHksIG91dCBmbG9hdCB4X291dCwgb3V0 IGZsb2F0IHlfb3V0KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB2 aXJ0dWFsIHZvaWQgdW5tYXAgKCk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRl cHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIsIHNpbmNlID0gIjAuMiIpXQorKwkJcHVibGljIHZvaWQg dW5wYXJlbnQgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgdm9p ZCB1bnNldF9mbGFncyAoQ2x1dHRlci5BY3RvckZsYWdzIGZsYWdzKTsKKysJCVtOb0FjY2Vzc29y TWV0aG9kXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGljIENsdXR0ZXIu QWN0aW9uIGFjdGlvbnMgeyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNp b24gKHNpbmNlID0gIjAuOCIpXQorKwkJcHVibGljIENsdXR0ZXIuQWN0b3JCb3ggYWxsb2NhdGlv biB7IG93bmVkIGdldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlbVmVyc2lvbiAoZGVw cmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjEuMCIp XQorKwkJcHVibGljIENsdXR0ZXIuR3Jhdml0eSBhbmNob3JfZ3Jhdml0eSB7IGdldDsgc2V0OyB9 CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwg ZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwgc2luY2UgPSAiMC44IildCisrCQlwdWJsaWMgZmxv YXQgYW5jaG9yX3ggeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlbVmVy c2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNl ID0gIjAuOCIpXQorKwkJcHVibGljIGZsb2F0IGFuY2hvcl95IHsgZ2V0OyBzZXQ7IH0KKysJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgQ2x1dHRlci5Db2xvciBiYWNrZ3Jv dW5kX2NvbG9yIHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBib29sIGJhY2tncm91bmRfY29sb3Jfc2V0 IHsgZ2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEyIildCisrCQlwdWJsaWMgYm9vbCBjaGlsZF90cmFuc2Zvcm1fc2V0IHsgZ2V0OyB9CisrCQlb Tm9BY2Nlc3Nvck1ldGhvZF0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlwdWJs aWMgR3JhcGhlbmUuUmVjdCBjbGlwX3JlY3QgeyBvd25lZCBnZXQ7IHNldDsgfQorKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIGJvb2wgY2xpcF90b19hbGxvY2F0aW9uIHsg Z2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuNCIpXQorKwkJcHVibGljIENsdXR0ZXIuQ29uc3RyYWludCBjb25zdHJhaW50cyB7IHNldDsg fQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBDbHV0dGVyLkNvbnRl bnQgY29udGVudCB7IGdldDsgc2V0OyB9CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQor KwkJcHVibGljIENsdXR0ZXIuQWN0b3JCb3ggY29udGVudF9ib3ggeyBnZXQ7IH0KKysJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgQ2x1dHRlci5Db250ZW50R3Jhdml0eSBj b250ZW50X2dyYXZpdHkgeyBnZXQ7IHNldDsgfQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIi KV0KKysJCXB1YmxpYyBDbHV0dGVyLkNvbnRlbnRSZXBlYXQgY29udGVudF9yZXBlYXQgeyBnZXQ7 IHNldDsgfQorKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNl ID0gIjEuMTIiLCBzaW5jZSA9ICIwLjYiKV0KKysJCXB1YmxpYyBmbG9hdCBkZXB0aCB7IGdldDsg c2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQi KV0KKysJCXB1YmxpYyBDbHV0dGVyLkVmZmVjdCBlZmZlY3QgeyBzZXQ7IH0KKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgQ2x1dHRlci5BY3RvciBmaXJzdF9jaGlsZCB7 IGdldDsgfQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQorKwkJcHVibGljIGJvb2wgZml4 ZWRfcG9zaXRpb25fc2V0IHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQorKwkJcHVibGljIGZsb2F0IGZpeGVkX3ggeyBnZXQ7 IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44 IildCisrCQlwdWJsaWMgZmxvYXQgZml4ZWRfeSB7IGdldDsgc2V0OyB9CisrCQlbTm9BY2Nlc3Nv ck1ldGhvZF0KKysJCXB1YmxpYyBib29sIGhhc19jbGlwIHsgZ2V0OyB9CisrCQlbTm9BY2Nlc3Nv ck1ldGhvZF0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KKysJCXB1YmxpYyBib29sIGhh c19wb2ludGVyIHsgZ2V0OyB9CisrCQlwdWJsaWMgZmxvYXQgaGVpZ2h0IHsgZ2V0OyBzZXQ7IH0K KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgQ2x1dHRlci5BY3RvciBs YXN0X2NoaWxkIHsgZ2V0OyB9CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVi bGljIENsdXR0ZXIuTGF5b3V0TWFuYWdlciBsYXlvdXRfbWFuYWdlciB7IGdldDsgc2V0OyB9Cisr CQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyBDbHV0dGVyLlNjYWxpbmdGaWx0ZXIgbWFn bmlmaWNhdGlvbl9maWx0ZXIgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgYm9vbCBtYXBwZWQgeyBnZXQ7 IH0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgZmxvYXQgbWFyZ2lu X2JvdHRvbSB7IGdldDsgc2V0OyB9CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJ cHVibGljIGZsb2F0IG1hcmdpbl9sZWZ0IHsgZ2V0OyBzZXQ7IH0KKysJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEwIildCisrCQlwdWJsaWMgZmxvYXQgbWFyZ2luX3JpZ2h0IHsgZ2V0OyBzZXQ7IH0K KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgZmxvYXQgbWFyZ2luX3Rv cCB7IGdldDsgc2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjgiKV0KKysJCXB1YmxpYyBmbG9hdCBtaW5faGVpZ2h0IHsgZ2V0OyBzZXQ7IH0KKysJ CVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQorKwkJcHVi bGljIGJvb2wgbWluX2hlaWdodF9zZXQgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRo b2RdCisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCisrCQlwdWJsaWMgZmxvYXQgbWluX3dp ZHRoIHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKHNp bmNlID0gIjAuOCIpXQorKwkJcHVibGljIGJvb2wgbWluX3dpZHRoX3NldCB7IGdldDsgc2V0OyB9 CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyBDbHV0dGVyLlNjYWxpbmdGaWx0ZXIg bWluaWZpY2F0aW9uX2ZpbHRlciB7IGdldDsgc2V0OyB9CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MC4yIildCisrCQlwdWJsaWMgc3RyaW5nIG5hbWUgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNz b3JNZXRob2RdCisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCisrCQlwdWJsaWMgZmxvYXQg bmF0dXJhbF9oZWlnaHQgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMC44IildCisrCQlwdWJsaWMgYm9vbCBuYXR1cmFsX2hlaWdodF9z ZXQgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMC44IildCisrCQlwdWJsaWMgZmxvYXQgbmF0dXJhbF93aWR0aCB7IGdldDsgc2V0OyB9 CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KKysJ CXB1YmxpYyBib29sIG5hdHVyYWxfd2lkdGhfc2V0IHsgZ2V0OyBzZXQ7IH0KKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyBDbHV0dGVyLk9mZnNjcmVlblJlZGlyZWN0IG9m ZnNjcmVlbl9yZWRpcmVjdCB7IGdldDsgc2V0OyB9CisrCQlwdWJsaWMgdWludCBvcGFjaXR5IHsg Z2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMTIiKV0KKysJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludCBwaXZvdF9wb2ludCB7IG93bmVkIGdl dDsgc2V0OyB9CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIGZsb2F0 IHBpdm90X3BvaW50X3ogeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIEdyYXBoZW5lLlBvaW50IHBvc2l0 aW9uIHsgb3duZWQgZ2V0OyBzZXQ7IH0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KKysJ CXB1YmxpYyBib29sIHJlYWN0aXZlIHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9k XQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIGJvb2wgcmVhbGl6ZWQg eyBnZXQ7IH0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KKysJCXB1YmxpYyBDbHV0dGVy LlJlcXVlc3RNb2RlIHJlcXVlc3RfbW9kZSB7IGdldDsgc2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1l dGhvZF0KKysJCXB1YmxpYyBmbG9hdCByZXNvdXJjZV9zY2FsZSB7IGdldDsgfQorKwkJW05vQWNj ZXNzb3JNZXRob2RdCisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCisrCQlwdWJsaWMgZG91 YmxlIHJvdGF0aW9uX2FuZ2xlX3ggeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2Rd CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCisrCQlwdWJsaWMgZG91YmxlIHJvdGF0aW9u X2FuZ2xlX3kgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlbVmVyc2lv biAoc2luY2UgPSAiMC42IildCisrCQlwdWJsaWMgZG91YmxlIHJvdGF0aW9uX2FuZ2xlX3ogeyBn ZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlbVmVyc2lvbiAoZGVwcmVjYXRl ZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjAuNiIpXQorKwkJ cHVibGljIEdyYXBoZW5lLlBvaW50M0Qgcm90YXRpb25fY2VudGVyX3ggeyBvd25lZCBnZXQ7IHNl dDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRy dWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGlj IEdyYXBoZW5lLlBvaW50M0Qgcm90YXRpb25fY2VudGVyX3kgeyBvd25lZCBnZXQ7IHNldDsgfQor KwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRl cHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGljIEdyYXBo ZW5lLlBvaW50M0Qgcm90YXRpb25fY2VudGVyX3ogeyBvd25lZCBnZXQ7IHNldDsgfQorKwkJW05v QWNjZXNzb3JNZXRob2RdCisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0 ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIENsdXR0ZXIuR3Jh dml0eSByb3RhdGlvbl9jZW50ZXJfel9ncmF2aXR5IHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vz c29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3Np bmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBmbG9hdCBzY2FsZV9jZW50 ZXJfeCB7IGdldDsgc2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCVtWZXJzaW9uIChk ZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwgc2luY2UgPSAiMS4w IildCisrCQlwdWJsaWMgZmxvYXQgc2NhbGVfY2VudGVyX3kgeyBnZXQ7IHNldDsgfQorKwkJW05v QWNjZXNzb3JNZXRob2RdCisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0 ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIENsdXR0ZXIuR3Jh dml0eSBzY2FsZV9ncmF2aXR5IHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQor KwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGljIGRvdWJsZSBzY2FsZV94IHsg Z2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKHNpbmNlID0g IjAuNiIpXQorKwkJcHVibGljIGRvdWJsZSBzY2FsZV95IHsgZ2V0OyBzZXQ7IH0KKysJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlwdWJsaWMgZG91YmxlIHNjYWxlX3ogeyBnZXQ7IHNl dDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44Iild CisrCQlwdWJsaWMgYm9vbCBzaG93X29uX3NldF9wYXJlbnQgeyBnZXQ7IHNldDsgfQorKwkJW05v QWNjZXNzb3JNZXRob2RdCisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGlj IEdyYXBoZW5lLlNpemUgc2l6ZSB7IG93bmVkIGdldDsgc2V0OyB9CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4wIildCisrCQlwdWJsaWMgQ2x1dHRlci5UZXh0RGlyZWN0aW9uIHRleHRfZGlyZWN0 aW9uIHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyBib29sIHRyYW5zZm9ybV9zZXQgeyBnZXQ7IH0KKysJ CVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1 YmxpYyBmbG9hdCB0cmFuc2xhdGlvbl94IHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0 aG9kXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyBmbG9hdCB0cmFu c2xhdGlvbl95IHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyBmbG9hdCB0cmFuc2xhdGlvbl96IHsgZ2V0 OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJcHVibGljIGJvb2wgdmlzaWJsZSB7 IGdldDsgc2V0OyB9CisrCQlwdWJsaWMgZmxvYXQgd2lkdGggeyBnZXQ7IHNldDsgfQorKwkJcHVi bGljIGZsb2F0IHggeyBnZXQ7IHNldDsgfQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0K KysJCXB1YmxpYyBDbHV0dGVyLkFjdG9yQWxpZ24geF9hbGlnbiB7IGdldDsgc2V0OyB9CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIGJvb2wgeF9leHBhbmQgeyBnZXQ7 IHNldDsgfQorKwkJcHVibGljIGZsb2F0IHkgeyBnZXQ7IHNldDsgfQorKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBDbHV0dGVyLkFjdG9yQWxpZ24geV9hbGlnbiB7IGdl dDsgc2V0OyB9CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIGJvb2wg eV9leHBhbmQgeyBnZXQ7IHNldDsgfQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJ CXB1YmxpYyBmbG9hdCB6X3Bvc2l0aW9uIHsgZ2V0OyBzZXQ7IH0KKysJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBzaWduYWwgdm9pZCBhbGxvY2F0aW9uX2NoYW5nZWQgKENs dXR0ZXIuQWN0b3JCb3ggYm94LCBDbHV0dGVyLkFsbG9jYXRpb25GbGFncyBmbGFncyk7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMC42IildCisrCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgYm9vbCBi dXR0b25fcHJlc3NfZXZlbnQgKENsdXR0ZXIuQnV0dG9uRXZlbnQgZXZlbnQpOworKwkJW1ZlcnNp b24gKHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgYnV0dG9u X3JlbGVhc2VfZXZlbnQgKENsdXR0ZXIuQnV0dG9uRXZlbnQgZXZlbnQpOworKwkJW1ZlcnNpb24g KHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgY2FwdHVyZWRf ZXZlbnQgKENsdXR0ZXIuRXZlbnQgZXZlbnQpOworKwkJW0hhc0VtaXR0ZXJdCisrCQlbVmVyc2lv biAoc2luY2UgPSAiMC4yIildCisrCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBkZXN0cm95 ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGljIHZpcnR1YWwgc2ln bmFsIGJvb2wgZW50ZXJfZXZlbnQgKENsdXR0ZXIuQ3Jvc3NpbmdFdmVudCBldmVudCk7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMC42IildCisrCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgYm9vbCBl dmVudCAoQ2x1dHRlci5FdmVudCBldmVudCk7CisrCQlbSGFzRW1pdHRlcl0KKysJCVtWZXJzaW9u IChzaW5jZSA9ICIwLjIiKV0KKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGhpZGUgKCk7 CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCisrCQlwdWJsaWMgdmlydHVhbCBzaWduYWwg dm9pZCBrZXlfZm9jdXNfaW4gKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCisrCQlw dWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBrZXlfZm9jdXNfb3V0ICgpOworKwkJW1ZlcnNpb24g KHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wga2V5X3ByZXNz X2V2ZW50IChDbHV0dGVyLktleUV2ZW50IGV2ZW50KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIw LjYiKV0KKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCBib29sIGtleV9yZWxlYXNlX2V2ZW50IChD bHV0dGVyLktleUV2ZW50IGV2ZW50KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KKysJ CXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCBib29sIGxlYXZlX2V2ZW50IChDbHV0dGVyLkNyb3NzaW5n RXZlbnQgZXZlbnQpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGljIHZp cnR1YWwgc2lnbmFsIGJvb2wgbW90aW9uX2V2ZW50IChDbHV0dGVyLk1vdGlvbkV2ZW50IGV2ZW50 KTsKKysJCVtIYXNFbWl0dGVyXQorKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXBy ZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIwLjgiKV0KKysJCXB1YmxpYyB2aXJ0dWFs IHNpZ25hbCB2b2lkIHBhaW50IChDbHV0dGVyLlBhaW50Q29udGV4dCBwYWludF9jb250ZXh0KTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2 b2lkIHBhcmVudF9zZXQgKENsdXR0ZXIuQWN0b3I/IG9sZF9wYXJlbnQpOworKwkJW0hhc0VtaXR0 ZXJdCisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgdmlydHVhbCBzaWdu YWwgdm9pZCBwaWNrIChDbHV0dGVyLlBpY2tDb250ZXh0IHBpY2tfY29udGV4dCk7CisrCQlbSGFz RW1pdHRlcl0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KKysJCXB1YmxpYyB2aXJ0dWFs IHNpZ25hbCB2b2lkIHF1ZXVlX3JlbGF5b3V0ICgpOworKwkJW0hhc0VtaXR0ZXJdCisrCQlbVmVy c2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIsIHNpbmNl ID0gIjAuOCIpXQorKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgcmVhbGl6ZSAoKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCBib29s IHNjcm9sbF9ldmVudCAoQ2x1dHRlci5TY3JvbGxFdmVudCBldmVudCk7CisrCQlbSGFzRW1pdHRl cl0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25h bCB2b2lkIHNob3cgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGlj IHZpcnR1YWwgc2lnbmFsIGJvb2wgdG91Y2hfZXZlbnQgKENsdXR0ZXIuRXZlbnQgZXZlbnQpOwor KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyBzaWduYWwgdm9pZCB0cmFu c2l0aW9uX3N0b3BwZWQgKHN0cmluZyBuYW1lLCBib29sIGlzX2ZpbmlzaGVkKTsKKysJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgc2lnbmFsIHZvaWQgdHJhbnNpdGlvbnNf Y29tcGxldGVkICgpOworKwkJW0hhc0VtaXR0ZXJdCisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9 IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIsIHNpbmNlID0gIjAuOCIpXQorKwkJcHVi bGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgdW5yZWFsaXplICgpOworKwl9CisrCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9h Y3Rvcl9tZXRhX2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJ cHVibGljIGFic3RyYWN0IGNsYXNzIEFjdG9yTWV0YSA6IEdMaWIuSW5pdGlhbGx5VW5vd25lZCB7 CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0 ZWQgQWN0b3JNZXRhICgpOworKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5BY3RvciBnZXRfYWN0 b3IgKCk7CisrCQlwdWJsaWMgYm9vbCBnZXRfZW5hYmxlZCAoKTsKKysJCXB1YmxpYyB1bm93bmVk IHN0cmluZyBnZXRfbmFtZSAoKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCB2 b2lkIHNldF9hY3RvciAoQ2x1dHRlci5BY3Rvcj8gYWN0b3IpOworKwkJcHVibGljIHZvaWQgc2V0 X2VuYWJsZWQgKGJvb2wgaXNfZW5hYmxlZCk7CisrCQlwdWJsaWMgdm9pZCBzZXRfbmFtZSAoc3Ry aW5nIG5hbWUpOworKwkJcHVibGljIENsdXR0ZXIuQWN0b3IgYWN0b3IgeyBnZXQ7IH0KKysJCXB1 YmxpYyBib29sIGVuYWJsZWQgeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIHN0cmluZyBuYW1lIHsg Z2V0OyBzZXQ7IH0KKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfYWN0b3Jfbm9kZV9nZXRfdHlwZSAoKSIpXQor KwlwdWJsaWMgY2xhc3MgQWN0b3JOb2RlIDogQ2x1dHRlci5QYWludE5vZGUgeworKwkJW0NDb2Rl IChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlclBhaW50Tm9k ZSoiKV0KKysJCXB1YmxpYyBBY3Rvck5vZGUgKENsdXR0ZXIuQWN0b3IgYWN0b3IpOworKwl9Cisr CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQg PSAiY2x1dHRlcl9hbGlnbl9jb25zdHJhaW50X2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChz aW5jZSA9ICIxLjQiKV0KKysJcHVibGljIGNsYXNzIEFsaWduQ29uc3RyYWludCA6IENsdXR0ZXIu Q29uc3RyYWludCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwg dHlwZSA9ICJDbHV0dGVyQ29uc3RyYWludCoiKV0KKysJCXB1YmxpYyBBbGlnbkNvbnN0cmFpbnQg KENsdXR0ZXIuQWN0b3I/IHNvdXJjZSwgQ2x1dHRlci5BbGlnbkF4aXMgYXhpcywgZmxvYXQgZmFj dG9yKTsKKysJCXB1YmxpYyBDbHV0dGVyLkFsaWduQXhpcyBnZXRfYWxpZ25fYXhpcyAoKTsKKysJ CXB1YmxpYyBmbG9hdCBnZXRfZmFjdG9yICgpOworKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5B Y3RvciBnZXRfc291cmNlICgpOworKwkJcHVibGljIHZvaWQgc2V0X2FsaWduX2F4aXMgKENsdXR0 ZXIuQWxpZ25BeGlzIGF4aXMpOworKwkJcHVibGljIHZvaWQgc2V0X2ZhY3RvciAoZmxvYXQgZmFj dG9yKTsKKysJCXB1YmxpYyB2b2lkIHNldF9zb3VyY2UgKENsdXR0ZXIuQWN0b3I/IHNvdXJjZSk7 CisrCQlwdWJsaWMgQ2x1dHRlci5BbGlnbkF4aXMgYWxpZ25fYXhpcyB7IGdldDsgc2V0IGNvbnN0 cnVjdDsgfQorKwkJcHVibGljIGZsb2F0IGZhY3RvciB7IGdldDsgc2V0IGNvbnN0cnVjdDsgfQor KwkJcHVibGljIENsdXR0ZXIuQWN0b3Igc291cmNlIHsgZ2V0OyBzZXQgY29uc3RydWN0OyB9Cisr CX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlw ZV9pZCA9ICJjbHV0dGVyX2FscGhhX2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChkZXByZWNh dGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwgc2luY2UgPSAiMC4yIildCisr CXB1YmxpYyBjbGFzcyBBbHBoYSA6IEdMaWIuSW5pdGlhbGx5VW5vd25lZCwgQ2x1dHRlci5TY3Jp cHRhYmxlIHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KKysJ CXB1YmxpYyBBbHBoYSAoKTsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZh bHNlKV0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBBbHBoYS5mdWxs IChDbHV0dGVyLlRpbWVsaW5lIHRpbWVsaW5lLCB1bG9uZyBtb2RlKTsKKysJCXB1YmxpYyBkb3Vi bGUgZ2V0X2FscGhhICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGlj IHVsb25nIGdldF9tb2RlICgpOworKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5UaW1lbGluZSBn ZXRfdGltZWxpbmUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCisrCQlwdWJsaWMg dm9pZCBzZXRfY2xvc3VyZSAoR0xpYi5DbG9zdXJlIGNsb3N1cmUpOworKwkJcHVibGljIHZvaWQg c2V0X2Z1bmMgKG93bmVkIENsdXR0ZXIuQWxwaGFGdW5jIGZ1bmMpOworKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMCIpXQorKwkJcHVibGljIHZvaWQgc2V0X21vZGUgKHVsb25nIG1vZGUpOworKwkJ cHVibGljIHZvaWQgc2V0X3RpbWVsaW5lIChDbHV0dGVyLlRpbWVsaW5lIHRpbWVsaW5lKTsKKysJ CXB1YmxpYyBkb3VibGUgYWxwaGEgeyBnZXQ7IH0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAi KV0KKysJCXB1YmxpYyB1bG9uZyBtb2RlIHsgZ2V0OyBzZXQgY29uc3RydWN0OyB9CisrCQlwdWJs aWMgQ2x1dHRlci5UaW1lbGluZSB0aW1lbGluZSB7IGdldDsgc2V0OyB9CisrCX0KKysJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0 dGVyX2FuaW1hdGlvbl9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRy dWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjEuMCIpXQorKwlwdWJsaWMg Y2xhc3MgQW5pbWF0aW9uIDogR0xpYi5PYmplY3QsIENsdXR0ZXIuU2NyaXB0YWJsZSB7CisrCQlb Q0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwdWJsaWMgQW5pbWF0 aW9uICgpOworKwkJcHVibGljIHVpbnQgZ2V0X2R1cmF0aW9uICgpOworKwkJcHVibGljIHVub3du ZWQgQ2x1dHRlci5JbnRlcnZhbCBnZXRfaW50ZXJ2YWwgKHN0cmluZyBwcm9wZXJ0eV9uYW1lKTsK KysJCXB1YmxpYyBib29sIGdldF9sb29wICgpOworKwkJcHVibGljIHVsb25nIGdldF9tb2RlICgp OworKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5UaW1lbGluZSBnZXRfdGltZWxpbmUgKCk7Cisr CQlwdWJsaWMgYm9vbCBoYXNfcHJvcGVydHkgKHN0cmluZyBwcm9wZXJ0eV9uYW1lKTsKKysJCXB1 YmxpYyB2b2lkIHNldF9kdXJhdGlvbiAodWludCBtc2Vjcyk7CisrCQlwdWJsaWMgdm9pZCBzZXRf bG9vcCAoYm9vbCBsb29wKTsKKysJCXB1YmxpYyB2b2lkIHNldF9tb2RlICh1bG9uZyBtb2RlKTsK KysJCXB1YmxpYyB2b2lkIHNldF9vYmplY3QgKEdMaWIuT2JqZWN0IG9iamVjdCk7CisrCQlwdWJs aWMgdm9pZCBzZXRfdGltZWxpbmUgKENsdXR0ZXIuVGltZWxpbmU/IHRpbWVsaW5lKTsKKysJCVtO b0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNh dGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBDbHV0dGVyLkFs cGhhIGFscGhhIHsgb3duZWQgZ2V0OyBzZXQ7IH0KKysJCXB1YmxpYyB1aW50IGR1cmF0aW9uIHsg Z2V0OyBzZXQ7IH0KKysJCXB1YmxpYyBib29sIGxvb3AgeyBnZXQ7IHNldDsgfQorKwkJcHVibGlj IHVsb25nIG1vZGUgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJs aWMgR0xpYi5PYmplY3Qgb2JqZWN0IHsgb3duZWQgZ2V0OyBzZXQ7IH0KKysJCXB1YmxpYyBDbHV0 dGVyLlRpbWVsaW5lIHRpbWVsaW5lIHsgZ2V0OyBzZXQ7IH0KKysJCXB1YmxpYyB2aXJ0dWFsIHNp Z25hbCB2b2lkIGNvbXBsZXRlZCAoKTsKKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIHN0 YXJ0ZWQgKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisrCVtDb21wYWN0XQorKwlbVmVyc2lvbiAo c2luY2UgPSAiMC4yIildCisrCXB1YmxpYyBjbGFzcyBBbnlFdmVudCA6IENsdXR0ZXIuRXZlbnQg eworKwkJcHVibGljIENsdXR0ZXIuRXZlbnRGbGFncyBmbGFnczsKKysJCXB1YmxpYyB3ZWFrIENs dXR0ZXIuQWN0b3Igc291cmNlOworKwkJcHVibGljIHdlYWsgQ2x1dHRlci5TdGFnZSBzdGFnZTsK KysJCXB1YmxpYyB1aW50MzIgdGltZTsKKysJCXB1YmxpYyBDbHV0dGVyLkV2ZW50VHlwZSB0eXBl OworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IHR5cGVfaWQgPSAiY2x1dHRlcl9iYWNrZW5kX2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChz aW5jZSA9ICIwLjQiKV0KKysJcHVibGljIGNsYXNzIEJhY2tlbmQgOiBHTGliLk9iamVjdCB7Cisr CQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQg QmFja2VuZCAoKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIGFkZF9v cHRpb25zIChHTGliLk9wdGlvbkdyb3VwIGdyb3VwKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJs aWMgdmlydHVhbCBib29sIGNyZWF0ZV9jb250ZXh0ICgpIHRocm93cyBHTGliLkVycm9yOworKwkJ W05vV3JhcHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFsIHVub3duZWQgQ2x1dHRlci5TdGFnZVdpbmRv dyBjcmVhdGVfc3RhZ2UgKENsdXR0ZXIuU3RhZ2Ugd3JhcHBlcikgdGhyb3dzIEdMaWIuRXJyb3I7 CisrCQlbTm9XcmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwgdm9pZCBlbnN1cmVfY29udGV4dCAo Q2x1dHRlci5TdGFnZSBzdGFnZSk7CisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLlNlYXQgZ2V0 X2RlZmF1bHRfc2VhdCAoKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCBDbHV0 dGVyLkZlYXR1cmVGbGFncyBnZXRfZmVhdHVyZXMgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MC44IildCisrCQlwdWJsaWMgdW5vd25lZCBDYWlyby5Gb250T3B0aW9ucyBnZXRfZm9udF9vcHRp b25zICgpOworKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5JbnB1dE1ldGhvZCBnZXRfaW5wdXRf bWV0aG9kICgpOworKwkJcHVibGljIGRvdWJsZSBnZXRfcmVzb2x1dGlvbiAoKTsKKysJCVtOb1dy YXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIGluaXRfZXZlbnRzICgpOworKwkJW05vV3Jh cHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgaW5pdF9mZWF0dXJlcyAoKTsKKysJCVtOb1dy YXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCBib29sIHBvc3RfcGFyc2UgKCkgdGhyb3dzIEdMaWIu RXJyb3I7CisrCQlbTm9XcmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwgYm9vbCBwcmVfcGFyc2Ug KCkgdGhyb3dzIEdMaWIuRXJyb3I7CisrCQlbTm9XcmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwg dm9pZCByZWRyYXcgKENsdXR0ZXIuU3RhZ2Ugc3RhZ2UpOworKwkJW1ZlcnNpb24gKHNpbmNlID0g IjAuOCIpXQorKwkJcHVibGljIHZvaWQgc2V0X2ZvbnRfb3B0aW9ucyAoQ2Fpcm8uRm9udE9wdGlv bnMgb3B0aW9ucyk7CisrCQlwdWJsaWMgdm9pZCBzZXRfaW5wdXRfbWV0aG9kIChDbHV0dGVyLklu cHV0TWV0aG9kIG1ldGhvZCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJs aWMgc2lnbmFsIHZvaWQgZm9udF9jaGFuZ2VkICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MCIpXQorKwkJcHVibGljIHNpZ25hbCB2b2lkIHJlc29sdXRpb25fY2hhbmdlZCAoKTsKKysJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyBzaWduYWwgdm9pZCBzZXR0aW5nc19j aGFuZ2VkICgpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9iaW5fbGF5b3V0X2dldF90eXBlICgpIildCisr CVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KKysJcHVibGljIGNsYXNzIEJpbkxheW91dCA6IENs dXR0ZXIuTGF5b3V0TWFuYWdlciB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24g PSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyTGF5b3V0TWFuYWdlcioiKV0KKysJCXB1YmxpYyBCaW5M YXlvdXQgKENsdXR0ZXIuQmluQWxpZ25tZW50IHhfYWxpZ24gPSBDbHV0dGVyLkJpbkFsaWdubWVu dC5TVEFSVCwgQ2x1dHRlci5CaW5BbGlnbm1lbnQgeV9hbGlnbiA9IENsdXR0ZXIuQmluQWxpZ25t ZW50LlNUQVJUKTsKKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKGRlcHJlY2F0 ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjIiKV0KKysJ CXB1YmxpYyBDbHV0dGVyLkJpbkFsaWdubWVudCB4X2FsaWduIHsgZ2V0OyBzZXQ7IH0KKysJCVtO b0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNh dGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjIiKV0KKysJCXB1YmxpYyBDbHV0dGVyLkJp bkFsaWdubWVudCB5X2FsaWduIHsgZ2V0OyBzZXQ7IH0KKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfYmluZF9j b25zdHJhaW50X2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJ cHVibGljIGNsYXNzIEJpbmRDb25zdHJhaW50IDogQ2x1dHRlci5Db25zdHJhaW50IHsKKysJCVtD Q29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJDb25z dHJhaW50KiIpXQorKwkJcHVibGljIEJpbmRDb25zdHJhaW50IChDbHV0dGVyLkFjdG9yPyBzb3Vy Y2UsIENsdXR0ZXIuQmluZENvb3JkaW5hdGUgY29vcmRpbmF0ZSwgZmxvYXQgb2Zmc2V0KTsKKysJ CXB1YmxpYyBDbHV0dGVyLkJpbmRDb29yZGluYXRlIGdldF9jb29yZGluYXRlICgpOworKwkJcHVi bGljIGZsb2F0IGdldF9vZmZzZXQgKCk7CisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9y IGdldF9zb3VyY2UgKCk7CisrCQlwdWJsaWMgdm9pZCBzZXRfY29vcmRpbmF0ZSAoQ2x1dHRlci5C aW5kQ29vcmRpbmF0ZSBjb29yZGluYXRlKTsKKysJCXB1YmxpYyB2b2lkIHNldF9vZmZzZXQgKGZs b2F0IG9mZnNldCk7CisrCQlwdWJsaWMgdm9pZCBzZXRfc291cmNlIChDbHV0dGVyLkFjdG9yPyBz b3VyY2UpOworKwkJcHVibGljIENsdXR0ZXIuQmluZENvb3JkaW5hdGUgY29vcmRpbmF0ZSB7IGdl dDsgc2V0IGNvbnN0cnVjdDsgfQorKwkJcHVibGljIGZsb2F0IG9mZnNldCB7IGdldDsgc2V0IGNv bnN0cnVjdDsgfQorKwkJcHVibGljIENsdXR0ZXIuQWN0b3Igc291cmNlIHsgZ2V0OyBzZXQgY29u c3RydWN0OyB9CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2JpbmRpbmdfcG9vbF9nZXRfdHlwZSAoKSIpXQor KwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCXB1YmxpYyBjbGFzcyBCaW5kaW5nUG9vbCA6 IEdMaWIuT2JqZWN0IHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNl KV0KKysJCXB1YmxpYyBCaW5kaW5nUG9vbCAoc3RyaW5nIG5hbWUpOworKwkJcHVibGljIGJvb2wg YWN0aXZhdGUgKHVpbnQga2V5X3ZhbCwgQ2x1dHRlci5Nb2RpZmllclR5cGUgbW9kaWZpZXJzLCBH TGliLk9iamVjdCBnb2JqZWN0KTsKKysJCXB1YmxpYyB2b2lkIGJsb2NrX2FjdGlvbiAoc3RyaW5n IGFjdGlvbl9uYW1lKTsKKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLkJpbmRpbmdQ b29sIGZpbmQgKHN0cmluZyBuYW1lKTsKKysJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBmaW5kX2Fj dGlvbiAodWludCBrZXlfdmFsLCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBtb2RpZmllcnMpOworKwkJ cHVibGljIHN0YXRpYyB1bm93bmVkIENsdXR0ZXIuQmluZGluZ1Bvb2wgZ2V0X2Zvcl9jbGFzcyAo dm9pZCoga2xhc3MpOworKwkJcHVibGljIHZvaWQgaW5zdGFsbF9hY3Rpb24gKHN0cmluZyBhY3Rp b25fbmFtZSwgdWludCBrZXlfdmFsLCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBtb2RpZmllcnMsIG93 bmVkIENsdXR0ZXIuQmluZGluZ0FjdGlvbkZ1bmMgY2FsbGJhY2spOworKwkJcHVibGljIHZvaWQg aW5zdGFsbF9jbG9zdXJlIChzdHJpbmcgYWN0aW9uX25hbWUsIHVpbnQga2V5X3ZhbCwgQ2x1dHRl ci5Nb2RpZmllclR5cGUgbW9kaWZpZXJzLCBHTGliLkNsb3N1cmUgY2xvc3VyZSk7CisrCQlwdWJs aWMgdm9pZCBvdmVycmlkZV9hY3Rpb24gKHVpbnQga2V5X3ZhbCwgQ2x1dHRlci5Nb2RpZmllclR5 cGUgbW9kaWZpZXJzLCBvd25lZCBHTGliLkNhbGxiYWNrIGNhbGxiYWNrKTsKKysJCXB1YmxpYyB2 b2lkIG92ZXJyaWRlX2Nsb3N1cmUgKHVpbnQga2V5X3ZhbCwgQ2x1dHRlci5Nb2RpZmllclR5cGUg bW9kaWZpZXJzLCBHTGliLkNsb3N1cmUgY2xvc3VyZSk7CisrCQlwdWJsaWMgdm9pZCByZW1vdmVf YWN0aW9uICh1aW50IGtleV92YWwsIENsdXR0ZXIuTW9kaWZpZXJUeXBlIG1vZGlmaWVycyk7Cisr CQlwdWJsaWMgdm9pZCB1bmJsb2NrX2FjdGlvbiAoc3RyaW5nIGFjdGlvbl9uYW1lKTsKKysJCVtO b0FjY2Vzc29yTWV0aG9kXQorKwkJcHVibGljIHN0cmluZyBuYW1lIHsgb3duZWQgZ2V0OyBjb25z dHJ1Y3Q7IH0KKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfYmx1cl9lZmZlY3RfZ2V0X3R5cGUgKCkiKV0KKysJ W1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwlwdWJsaWMgY2xhc3MgQmx1ckVmZmVjdCA6IENs dXR0ZXIuT2Zmc2NyZWVuRWZmZWN0IHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlv biA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJFZmZlY3QqIildCisrCQlwdWJsaWMgQmx1ckVmZmVj dCAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfYm94X2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChz aW5jZSA9ICIxLjIiKV0KKysJcHVibGljIGNsYXNzIEJveCA6IENsdXR0ZXIuQWN0b3IsIEF0ay5J bXBsZW1lbnRvciwgQ2x1dHRlci5BbmltYXRhYmxlLCBDbHV0dGVyLkNvbnRhaW5lciwgQ2x1dHRl ci5TY3JpcHRhYmxlIHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNl LCB0eXBlID0gIkNsdXR0ZXJBY3RvcioiKV0KKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1 ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEwIiwgc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMg Qm94IChDbHV0dGVyLkxheW91dE1hbmFnZXIgbWFuYWdlcik7CisrCQlbVmVyc2lvbiAoZGVwcmVj YXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIsIHNpbmNlID0gIjEuMiIpXQor KwkJcHVibGljIENsdXR0ZXIuQ29sb3IgZ2V0X2NvbG9yICgpOworKwkJW1ZlcnNpb24gKGRlcHJl Y2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIxLjIiKV0K KysJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuTGF5b3V0TWFuYWdlciBnZXRfbGF5b3V0X21hbmFn ZXIgKCk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2Ug PSAiMS4xMCIsIHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIHZvaWQgcGFjayAoQ2x1dHRlci5B Y3RvciBhY3RvciwgLi4uKTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVj YXRlZF9zaW5jZSA9ICIxLjEwIiwgc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgdm9pZCBwYWNr X2FmdGVyIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBDbHV0dGVyLkFjdG9yPyBzaWJsaW5nLCAuLi4p OworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEu MTAiLCBzaW5jZSA9ICIxLjIiKV0KKysJCXB1YmxpYyB2b2lkIHBhY2tfYXQgKENsdXR0ZXIuQWN0 b3IgYWN0b3IsIGludCBwb3NpdGlvbiwgLi4uKTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0g dHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEwIiwgc2luY2UgPSAiMS4yIildCisrCQlwdWJs aWMgdm9pZCBwYWNrX2JlZm9yZSAoQ2x1dHRlci5BY3RvciBhY3RvciwgQ2x1dHRlci5BY3Rvcj8g c2libGluZywgLi4uKTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRl ZF9zaW5jZSA9ICIxLjEwIiwgc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgdm9pZCBwYWNrdiAo Q2x1dHRlci5BY3RvciBhY3RvciwgW0NDb2RlIChhcnJheV9sZW5ndGhfY25hbWUgPSAibl9wcm9w ZXJ0aWVzIiwgYXJyYXlfbGVuZ3RoX3BvcyA9IDEuNSwgYXJyYXlfbGVuZ3RoX3R5cGUgPSAiZ3Vp bnQiKV0gc3RyaW5nW10gcHJvcGVydGllcywgW0NDb2RlIChhcnJheV9sZW5ndGhfY25hbWUgPSAi bl9wcm9wZXJ0aWVzIiwgYXJyYXlfbGVuZ3RoX3BvcyA9IDEuNSwgYXJyYXlfbGVuZ3RoX3R5cGUg PSAiZ3VpbnQiKV0gR0xpYi5WYWx1ZVtdIHZhbHVlcyk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRl ZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIsIHNpbmNlID0gIjEuMiIpXQorKwkJ cHVibGljIHZvaWQgc2V0X2NvbG9yIChDbHV0dGVyLkNvbG9yPyBjb2xvcik7CisrCQlbVmVyc2lv biAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIsIHNpbmNlID0g IjEuMiIpXQorKwkJcHVibGljIHZvaWQgc2V0X2xheW91dF9tYW5hZ2VyIChDbHV0dGVyLkxheW91 dE1hbmFnZXIgbWFuYWdlcik7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJl Y2F0ZWRfc2luY2UgPSAiMS4xMCIsIHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIENsdXR0ZXIu Q29sb3IgY29sb3IgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlbVmVy c2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIsIHNpbmNl ID0gIjEuMiIpXQorKwkJcHVibGljIGJvb2wgY29sb3Jfc2V0IHsgZ2V0OyBzZXQ7IH0KKysJCXB1 YmxpYyBDbHV0dGVyLkxheW91dE1hbmFnZXIgbGF5b3V0X21hbmFnZXIgeyBnZXQ7IHNldDsgfQor Kwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5 cGVfaWQgPSAiY2x1dHRlcl9ib3hfbGF5b3V0X2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChz aW5jZSA9ICIxLjIiKV0KKysJcHVibGljIGNsYXNzIEJveExheW91dCA6IENsdXR0ZXIuTGF5b3V0 TWFuYWdlciB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlw ZSA9ICJDbHV0dGVyTGF5b3V0TWFuYWdlcioiKV0KKysJCXB1YmxpYyBCb3hMYXlvdXQgKCk7Cisr CQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIs IHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIHZvaWQgZ2V0X2FsaWdubWVudCAoQ2x1dHRlci5B Y3RvciBhY3Rvciwgb3V0IENsdXR0ZXIuQm94QWxpZ25tZW50IHhfYWxpZ24sIG91dCBDbHV0dGVy LkJveEFsaWdubWVudCB5X2FsaWduKTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwg ZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwgc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgdWlu dCBnZXRfZWFzaW5nX2R1cmF0aW9uICgpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVl LCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjIiKV0KKysJCXB1YmxpYyB1 bG9uZyBnZXRfZWFzaW5nX21vZGUgKCk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUs IGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIGJv b2wgZ2V0X2V4cGFuZCAoQ2x1dHRlci5BY3RvciBhY3Rvcik7CisrCQlbVmVyc2lvbiAoZGVwcmVj YXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjEuMiIpXQor KwkJcHVibGljIHZvaWQgZ2V0X2ZpbGwgKENsdXR0ZXIuQWN0b3IgYWN0b3IsIG91dCBib29sIHhf ZmlsbCwgb3V0IGJvb2wgeV9maWxsKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJ CXB1YmxpYyBib29sIGdldF9ob21vZ2VuZW91cyAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEyIildCisrCQlwdWJsaWMgQ2x1dHRlci5PcmllbnRhdGlvbiBnZXRfb3JpZW50YXRpb24gKCk7 CisrCQlwdWJsaWMgYm9vbCBnZXRfcGFja19zdGFydCAoKTsKKysJCXB1YmxpYyB1aW50IGdldF9z cGFjaW5nICgpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3Np bmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjIiKV0KKysJCXB1YmxpYyBib29sIGdldF91c2VfYW5p bWF0aW9ucyAoKTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9z aW5jZSA9ICIxLjEyIiwgc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgYm9vbCBnZXRfdmVydGlj YWwgKCk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2Ug PSAiMS4xMiIsIHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIHZvaWQgcGFjayAoQ2x1dHRlci5B Y3RvciBhY3RvciwgYm9vbCBleHBhbmQsIGJvb2wgeF9maWxsLCBib29sIHlfZmlsbCwgQ2x1dHRl ci5Cb3hBbGlnbm1lbnQgeF9hbGlnbiwgQ2x1dHRlci5Cb3hBbGlnbm1lbnQgeV9hbGlnbik7Cisr CQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIs IHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIHZvaWQgc2V0X2FsaWdubWVudCAoQ2x1dHRlci5B Y3RvciBhY3RvciwgQ2x1dHRlci5Cb3hBbGlnbm1lbnQgeF9hbGlnbiwgQ2x1dHRlci5Cb3hBbGln bm1lbnQgeV9hbGlnbik7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0 ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIHZvaWQgc2V0X2Vh c2luZ19kdXJhdGlvbiAodWludCBtc2Vjcyk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRy dWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGlj IHZvaWQgc2V0X2Vhc2luZ19tb2RlICh1bG9uZyBtb2RlKTsKKysJCVtWZXJzaW9uIChkZXByZWNh dGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwgc2luY2UgPSAiMS4yIildCisr CQlwdWJsaWMgdm9pZCBzZXRfZXhwYW5kIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBib29sIGV4cGFu ZCk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAi MS4xMiIsIHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIHZvaWQgc2V0X2ZpbGwgKENsdXR0ZXIu QWN0b3IgYWN0b3IsIGJvb2wgeF9maWxsLCBib29sIHlfZmlsbCk7CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS40IildCisrCQlwdWJsaWMgdm9pZCBzZXRfaG9tb2dlbmVvdXMgKGJvb2wgaG9tb2dl bmVvdXMpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyB2b2lkIHNl dF9vcmllbnRhdGlvbiAoQ2x1dHRlci5PcmllbnRhdGlvbiBvcmllbnRhdGlvbik7CisrCQlwdWJs aWMgdm9pZCBzZXRfcGFja19zdGFydCAoYm9vbCBwYWNrX3N0YXJ0KTsKKysJCXB1YmxpYyB2b2lk IHNldF9zcGFjaW5nICh1aW50IHNwYWNpbmcpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0 cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjIiKV0KKysJCXB1Ymxp YyB2b2lkIHNldF91c2VfYW5pbWF0aW9ucyAoYm9vbCBhbmltYXRlKTsKKysJCVtWZXJzaW9uIChk ZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwgc2luY2UgPSAiMS4y IildCisrCQlwdWJsaWMgdm9pZCBzZXRfdmVydGljYWwgKGJvb2wgdmVydGljYWwpOworKwkJW1Zl cnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5j ZSA9ICIxLjIiKV0KKysJCXB1YmxpYyB1aW50IGVhc2luZ19kdXJhdGlvbiB7IGdldDsgc2V0OyB9 CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4x MiIsIHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIHVsb25nIGVhc2luZ19tb2RlIHsgZ2V0OyBz ZXQ7IH0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyBib29sIGhvbW9n ZW5lb3VzIHsgZ2V0OyBzZXQ7IH0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlw dWJsaWMgQ2x1dHRlci5PcmllbnRhdGlvbiBvcmllbnRhdGlvbiB7IGdldDsgc2V0OyB9CisrCQlw dWJsaWMgYm9vbCBwYWNrX3N0YXJ0IHsgZ2V0OyBzZXQ7IH0KKysJCXB1YmxpYyB1aW50IHNwYWNp bmcgeyBnZXQ7IHNldDsgfQorKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNh dGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjIiKV0KKysJCXB1YmxpYyBib29sIHVzZV9h bmltYXRpb25zIHsgZ2V0OyBzZXQ7IH0KKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwg ZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwgc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgYm9v bCB2ZXJ0aWNhbCB7IGdldDsgc2V0OyB9CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2JyaWdodG5lc3NfY29u dHJhc3RfZWZmZWN0X2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIild CisrCXB1YmxpYyBjbGFzcyBCcmlnaHRuZXNzQ29udHJhc3RFZmZlY3QgOiBDbHV0dGVyLk9mZnNj cmVlbkVmZmVjdCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwg dHlwZSA9ICJDbHV0dGVyRWZmZWN0KiIpXQorKwkJcHVibGljIEJyaWdodG5lc3NDb250cmFzdEVm ZmVjdCAoKTsKKysJCXB1YmxpYyB2b2lkIGdldF9icmlnaHRuZXNzIChvdXQgZmxvYXQgcmVkLCBv dXQgZmxvYXQgZ3JlZW4sIG91dCBmbG9hdCBibHVlKTsKKysJCXB1YmxpYyB2b2lkIGdldF9jb250 cmFzdCAob3V0IGZsb2F0IHJlZCwgb3V0IGZsb2F0IGdyZWVuLCBvdXQgZmxvYXQgYmx1ZSk7Cisr CQlwdWJsaWMgdm9pZCBzZXRfYnJpZ2h0bmVzcyAoZmxvYXQgYnJpZ2h0bmVzcyk7CisrCQlwdWJs aWMgdm9pZCBzZXRfYnJpZ2h0bmVzc19mdWxsIChmbG9hdCByZWQsIGZsb2F0IGdyZWVuLCBmbG9h dCBibHVlKTsKKysJCXB1YmxpYyB2b2lkIHNldF9jb250cmFzdCAoZmxvYXQgY29udHJhc3QpOwor KwkJcHVibGljIHZvaWQgc2V0X2NvbnRyYXN0X2Z1bGwgKGZsb2F0IHJlZCwgZmxvYXQgZ3JlZW4s IGZsb2F0IGJsdWUpOworKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgQ2x1dHRlci5D b2xvciBicmlnaHRuZXNzIHsgb3duZWQgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9k XQorKwkJcHVibGljIENsdXR0ZXIuQ29sb3IgY29udHJhc3QgeyBvd25lZCBnZXQ7IHNldDsgfQor Kwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhh c190eXBlX2lkID0gZmFsc2UpXQorKwlbQ29tcGFjdF0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjAu MiIpXQorKwlwdWJsaWMgY2xhc3MgQnV0dG9uRXZlbnQgOiBDbHV0dGVyLkV2ZW50IHsKKysJCXB1 YmxpYyBkb3VibGUgYXhlczsKKysJCXB1YmxpYyB1aW50MzIgYnV0dG9uOworKwkJcHVibGljIHVp bnQgY2xpY2tfY291bnQ7CisrCQlwdWJsaWMgd2VhayBDbHV0dGVyLklucHV0RGV2aWNlIGRldmlj ZTsKKysJCXB1YmxpYyBDbHV0dGVyLkV2ZW50RmxhZ3MgZmxhZ3M7CisrCQlwdWJsaWMgQ2x1dHRl ci5Nb2RpZmllclR5cGUgbW9kaWZpZXJfc3RhdGU7CisrCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFj dG9yIHNvdXJjZTsKKysJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7CisrCQlwdWJs aWMgdWludDMyIHRpbWU7CisrCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKKysJCXB1 YmxpYyBmbG9hdCB4OworKwkJcHVibGljIGZsb2F0IHk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2NhbnZh c19nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwlwdWJsaWMg Y2xhc3MgQ2FudmFzIDogR0xpYi5PYmplY3QsIENsdXR0ZXIuQ29udGVudCB7CisrCQlbQ0NvZGUg KGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQ29udGVudCoi KV0KKysJCXB1YmxpYyBDYW52YXMgKCk7CisrCQlwdWJsaWMgZmxvYXQgZ2V0X3NjYWxlX2ZhY3Rv ciAoKTsKKysJCXB1YmxpYyB2b2lkIHNldF9zY2FsZV9mYWN0b3IgKGZsb2F0IHNjYWxlKTsKKysJ CXB1YmxpYyBib29sIHNldF9zaXplIChpbnQgd2lkdGgsIGludCBoZWlnaHQpOworKwkJW05vQWNj ZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgaW50IGhlaWdodCB7IGdldDsgc2V0OyB9CisrCQlwdWJs aWMgZmxvYXQgc2NhbGVfZmFjdG9yIHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9k XQorKwkJcHVibGljIGludCB3aWR0aCB7IGdldDsgc2V0OyB9CisrCQlwdWJsaWMgdmlydHVhbCBz aWduYWwgYm9vbCBkcmF3IChDYWlyby5Db250ZXh0IGNyLCBpbnQgd2lkdGgsIGludCBoZWlnaHQp OworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IHR5cGVfaWQgPSAiY2x1dHRlcl9jaGlsZF9tZXRhX2dldF90eXBlICgpIildCisrCVtWZXJzaW9u IChzaW5jZSA9ICIwLjgiKV0KKysJcHVibGljIGFic3RyYWN0IGNsYXNzIENoaWxkTWV0YSA6IEdM aWIuT2JqZWN0IHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0K KysJCXByb3RlY3RlZCBDaGlsZE1ldGEgKCk7CisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFj dG9yIGdldF9hY3RvciAoKTsKKysJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQ29udGFpbmVyIGdl dF9jb250YWluZXIgKCk7CisrCQlwdWJsaWMgQ2x1dHRlci5BY3RvciBhY3RvciB7IGdldDsgY29u c3RydWN0OyB9CisrCQlwdWJsaWMgQ2x1dHRlci5Db250YWluZXIgY29udGFpbmVyIHsgZ2V0OyBj b25zdHJ1Y3Q7IH0KKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfY2xpY2tfYWN0aW9uX2dldF90eXBlICgpIild CisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJcHVibGljIGNsYXNzIENsaWNrQWN0aW9u IDogQ2x1dHRlci5BY3Rpb24geworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0g ZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckFjdGlvbioiKV0KKysJCXB1YmxpYyBDbGlja0FjdGlvbiAo KTsKKysJCXB1YmxpYyB1aW50IGdldF9idXR0b24gKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS44IildCisrCQlwdWJsaWMgdm9pZCBnZXRfY29vcmRzIChvdXQgZmxvYXQgcHJlc3NfeCwgb3V0 IGZsb2F0IHByZXNzX3kpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQorKwkJcHVibGlj IENsdXR0ZXIuTW9kaWZpZXJUeXBlIGdldF9zdGF0ZSAoKTsKKysJCXB1YmxpYyB2b2lkIHJlbGVh c2UgKCk7CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyBib29sIGhlbGQgeyBnZXQ7 IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQor KwkJcHVibGljIGludCBsb25nX3ByZXNzX2R1cmF0aW9uIHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0Fj Y2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQorKwkJcHVibGljIGlu dCBsb25nX3ByZXNzX3RocmVzaG9sZCB7IGdldDsgc2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhv ZF0KKysJCXB1YmxpYyBib29sIHByZXNzZWQgeyBnZXQ7IH0KKysJCXB1YmxpYyB2aXJ0dWFsIHNp Z25hbCB2b2lkIGNsaWNrZWQgKENsdXR0ZXIuQWN0b3IgYWN0b3IpOworKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuOCIpXQorKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgbG9uZ19wcmVzcyAo Q2x1dHRlci5BY3RvciBhY3RvciwgQ2x1dHRlci5Mb25nUHJlc3NTdGF0ZSBzdGF0ZSk7CisrCX0K KysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9p ZCA9ICJjbHV0dGVyX2NsaXBfbm9kZV9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xMCIpXQorKwlwdWJsaWMgY2xhc3MgQ2xpcE5vZGUgOiBDbHV0dGVyLlBhaW50Tm9kZSB7 CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0 dGVyUGFpbnROb2RlKiIpXQorKwkJcHVibGljIENsaXBOb2RlICgpOworKwl9CisrCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRl cl9jbG9uZV9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCXB1 YmxpYyBjbGFzcyBDbG9uZSA6IENsdXR0ZXIuQWN0b3IsIEF0ay5JbXBsZW1lbnRvciwgQ2x1dHRl ci5BbmltYXRhYmxlLCBDbHV0dGVyLkNvbnRhaW5lciwgQ2x1dHRlci5TY3JpcHRhYmxlIHsKKysJ CVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJB Y3RvcioiKV0KKysJCXB1YmxpYyBDbG9uZSAoQ2x1dHRlci5BY3RvciBzb3VyY2UpOworKwkJcHVi bGljIHVub3duZWQgQ2x1dHRlci5BY3RvciBnZXRfc291cmNlICgpOworKwkJcHVibGljIHZvaWQg c2V0X3NvdXJjZSAoQ2x1dHRlci5BY3Rvcj8gc291cmNlKTsKKysJCXB1YmxpYyBDbHV0dGVyLkFj dG9yIHNvdXJjZSB7IGdldDsgc2V0IGNvbnN0cnVjdDsgfQorKwl9CisrCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9jb2xv cl9ub2RlX2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCXB1 YmxpYyBjbGFzcyBDb2xvck5vZGUgOiBDbHV0dGVyLlBpcGVsaW5lTm9kZSB7CisrCQlbQ0NvZGUg KGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyUGFpbnROb2Rl KiIpXQorKwkJcHVibGljIENvbG9yTm9kZSAoQ2x1dHRlci5Db2xvcj8gY29sb3IpOworKwl9Cisr CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQg PSAiY2x1dHRlcl9jb2xvcml6ZV9lZmZlY3RfZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNp bmNlID0gIjEuNCIpXQorKwlwdWJsaWMgY2xhc3MgQ29sb3JpemVFZmZlY3QgOiBDbHV0dGVyLk9m ZnNjcmVlbkVmZmVjdCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxz ZSwgdHlwZSA9ICJDbHV0dGVyRWZmZWN0KiIpXQorKwkJcHVibGljIENvbG9yaXplRWZmZWN0IChD bHV0dGVyLkNvbG9yIHRpbnQpOworKwkJcHVibGljIENsdXR0ZXIuQ29sb3IgZ2V0X3RpbnQgKCk7 CisrCQlwdWJsaWMgdm9pZCBzZXRfdGludCAoQ2x1dHRlci5Db2xvciB0aW50KTsKKysJCXB1Ymxp YyBDbHV0dGVyLkNvbG9yIHRpbnQgeyBnZXQ7IHNldDsgfQorKwl9CisrCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9jb25z dHJhaW50X2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJcHVi bGljIGFic3RyYWN0IGNsYXNzIENvbnN0cmFpbnQgOiBDbHV0dGVyLkFjdG9yTWV0YSB7CisrCQlb Q0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgQ29u c3RyYWludCAoKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIHVwZGF0 ZV9hbGxvY2F0aW9uIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBDbHV0dGVyLkFjdG9yQm94IGFsbG9j YXRpb24pOworKwkJW05vV3JhcHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgdXBkYXRlX3By ZWZlcnJlZF9zaXplIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBDbHV0dGVyLk9yaWVudGF0aW9uIGRp cmVjdGlvbiwgZmxvYXQgZm9yX3NpemUsIGZsb2F0IG1pbmltdW1fc2l6ZSwgZmxvYXQgbmF0dXJh bF9zaXplKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJW0NvbXBhY3RdCisrCVtWZXJzaW9uIChz aW5jZSA9ICIwLjIiKV0KKysJcHVibGljIGNsYXNzIENyb3NzaW5nRXZlbnQgOiBDbHV0dGVyLkV2 ZW50IHsKKysJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlOworKwkJcHVi bGljIENsdXR0ZXIuRXZlbnRGbGFncyBmbGFnczsKKysJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuQWN0 b3IgcmVsYXRlZDsKKysJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuRXZlbnRTZXF1ZW5jZSBzZXF1ZW5j ZTsKKysJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuQWN0b3Igc291cmNlOworKwkJcHVibGljIHdlYWsg Q2x1dHRlci5TdGFnZSBzdGFnZTsKKysJCXB1YmxpYyB1aW50MzIgdGltZTsKKysJCXB1YmxpYyBD bHV0dGVyLkV2ZW50VHlwZSB0eXBlOworKwkJcHVibGljIGZsb2F0IHg7CisrCQlwdWJsaWMgZmxv YXQgeTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfZGVmb3JtX2VmZmVjdF9nZXRfdHlwZSAoKSIpXQorKwlb VmVyc2lvbiAoc2luY2UgPSAiMS40IildCisrCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBEZWZvcm1F ZmZlY3QgOiBDbHV0dGVyLk9mZnNjcmVlbkVmZmVjdCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1 Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgRGVmb3JtRWZmZWN0ICgpOworKwkJ W05vV3JhcHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZGVmb3JtX3ZlcnRleCAoZmxvYXQg d2lkdGgsIGZsb2F0IGhlaWdodCwgQ29nbC5UZXh0dXJlVmVydGV4IHZlcnRleCk7CisrCQlwdWJs aWMgdW5vd25lZCBDb2dsLkhhbmRsZSBnZXRfYmFja19tYXRlcmlhbCAoKTsKKysJCXB1YmxpYyB2 b2lkIGdldF9uX3RpbGVzIChvdXQgdWludCB4X3RpbGVzLCBvdXQgdWludCB5X3RpbGVzKTsKKysJ CXB1YmxpYyB2b2lkIGludmFsaWRhdGUgKCk7CisrCQlwdWJsaWMgdm9pZCBzZXRfYmFja19tYXRl cmlhbCAoQ29nbC5IYW5kbGU/IG1hdGVyaWFsKTsKKysJCXB1YmxpYyB2b2lkIHNldF9uX3RpbGVz ICh1aW50IHhfdGlsZXMsIHVpbnQgeV90aWxlcyk7CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJ CXB1YmxpYyB1aW50IHhfdGlsZXMgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2Rd CisrCQlwdWJsaWMgdWludCB5X3RpbGVzIHsgZ2V0OyBzZXQ7IH0KKysJfQorKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJf ZGVzYXR1cmF0ZV9lZmZlY3RfZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEu NCIpXQorKwlwdWJsaWMgY2xhc3MgRGVzYXR1cmF0ZUVmZmVjdCA6IENsdXR0ZXIuT2Zmc2NyZWVu RWZmZWN0IHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBl ID0gIkNsdXR0ZXJFZmZlY3QqIildCisrCQlwdWJsaWMgRGVzYXR1cmF0ZUVmZmVjdCAoZG91Ymxl IGZhY3Rvcik7CisrCQlwdWJsaWMgZG91YmxlIGdldF9mYWN0b3IgKCk7CisrCQlwdWJsaWMgdm9p ZCBzZXRfZmFjdG9yIChkb3VibGUgZmFjdG9yKTsKKysJCXB1YmxpYyBkb3VibGUgZmFjdG9yIHsg Z2V0OyBzZXQ7IH0KKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfZHJhZ19hY3Rpb25fZ2V0X3R5cGUgKCkiKV0K KysJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwlwdWJsaWMgY2xhc3MgRHJhZ0FjdGlvbiA6 IENsdXR0ZXIuQWN0aW9uIHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZh bHNlLCB0eXBlID0gIkNsdXR0ZXJBY3Rpb24qIildCisrCQlwdWJsaWMgRHJhZ0FjdGlvbiAoKTsK KysJCXB1YmxpYyBib29sIGdldF9kcmFnX2FyZWEgKEdyYXBoZW5lLlJlY3QgZHJhZ19hcmVhKTsK KysJCXB1YmxpYyBDbHV0dGVyLkRyYWdBeGlzIGdldF9kcmFnX2F4aXMgKCk7CisrCQlwdWJsaWMg dW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9kcmFnX2hhbmRsZSAoKTsKKysJCXB1YmxpYyB2b2lk IGdldF9kcmFnX3RocmVzaG9sZCAob3V0IHVpbnQgeF90aHJlc2hvbGQsIG91dCB1aW50IHlfdGhy ZXNob2xkKTsKKysJCXB1YmxpYyB2b2lkIGdldF9tb3Rpb25fY29vcmRzIChvdXQgZmxvYXQgbW90 aW9uX3gsIG91dCBmbG9hdCBtb3Rpb25feSk7CisrCQlwdWJsaWMgdm9pZCBnZXRfcHJlc3NfY29v cmRzIChvdXQgZmxvYXQgcHJlc3NfeCwgb3V0IGZsb2F0IHByZXNzX3kpOworKwkJcHVibGljIHZv aWQgc2V0X2RyYWdfYXJlYSAoR3JhcGhlbmUuUmVjdD8gZHJhZ19hcmVhKTsKKysJCXB1YmxpYyB2 b2lkIHNldF9kcmFnX2F4aXMgKENsdXR0ZXIuRHJhZ0F4aXMgYXhpcyk7CisrCQlwdWJsaWMgdm9p ZCBzZXRfZHJhZ19oYW5kbGUgKENsdXR0ZXIuQWN0b3I/IGhhbmRsZSk7CisrCQlwdWJsaWMgdm9p ZCBzZXRfZHJhZ190aHJlc2hvbGQgKGludCB4X3RocmVzaG9sZCwgaW50IHlfdGhyZXNob2xkKTsK KysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJ CXB1YmxpYyBHcmFwaGVuZS5SZWN0IGRyYWdfYXJlYSB7IG93bmVkIGdldDsgc2V0OyB9CisrCQlb Tm9BY2Nlc3Nvck1ldGhvZF0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlwdWJs aWMgYm9vbCBkcmFnX2FyZWFfc2V0IHsgZ2V0OyB9CisrCQlwdWJsaWMgQ2x1dHRlci5EcmFnQXhp cyBkcmFnX2F4aXMgeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIENsdXR0ZXIuQWN0b3IgZHJhZ19o YW5kbGUgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgaW50 IHhfZHJhZ190aHJlc2hvbGQgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisr CQlwdWJsaWMgaW50IHlfZHJhZ190aHJlc2hvbGQgeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIHZp cnR1YWwgc2lnbmFsIHZvaWQgZHJhZ19iZWdpbiAoQ2x1dHRlci5BY3RvciBhY3RvciwgZmxvYXQg ZXZlbnRfeCwgZmxvYXQgZXZlbnRfeSwgQ2x1dHRlci5Nb2RpZmllclR5cGUgbW9kaWZpZXJzKTsK KysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGRyYWdfZW5kIChDbHV0dGVyLkFjdG9yIGFj dG9yLCBmbG9hdCBldmVudF94LCBmbG9hdCBldmVudF95LCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBt b2RpZmllcnMpOworKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgZHJhZ19tb3Rpb24gKENs dXR0ZXIuQWN0b3IgYWN0b3IsIGZsb2F0IGRlbHRhX3gsIGZsb2F0IGRlbHRhX3kpOworKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCBib29sIGRy YWdfcHJvZ3Jlc3MgKENsdXR0ZXIuQWN0b3IgYWN0b3IsIGZsb2F0IGRlbHRhX3gsIGZsb2F0IGRl bHRhX3kpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9kcm9wX2FjdGlvbl9nZXRfdHlwZSAoKSIpXQorKwlb VmVyc2lvbiAoc2luY2UgPSAiMS44IildCisrCXB1YmxpYyBjbGFzcyBEcm9wQWN0aW9uIDogQ2x1 dHRlci5BY3Rpb24geworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2Us IHR5cGUgPSAiQ2x1dHRlckFjdGlvbioiKV0KKysJCXB1YmxpYyBEcm9wQWN0aW9uICgpOworKwkJ cHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgY2FuX2Ryb3AgKENsdXR0ZXIuQWN0b3IgYWN0b3Is IGZsb2F0IGV2ZW50X3gsIGZsb2F0IGV2ZW50X3kpOworKwkJcHVibGljIHZpcnR1YWwgc2lnbmFs IHZvaWQgZHJvcCAoQ2x1dHRlci5BY3RvciBhY3RvciwgZmxvYXQgZXZlbnRfeCwgZmxvYXQgZXZl bnRfeSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIHNpZ25hbCB2 b2lkIGRyb3BfY2FuY2VsIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBmbG9hdCBldmVudF94LCBmbG9h dCBldmVudF95KTsKKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIG92ZXJfaW4gKENsdXR0 ZXIuQWN0b3IgYWN0b3IpOworKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgb3Zlcl9vdXQg KENsdXR0ZXIuQWN0b3IgYWN0b3IpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9lZmZlY3RfZ2V0X3R5cGUg KCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwlwdWJsaWMgYWJzdHJhY3QgY2xh c3MgRWZmZWN0IDogQ2x1dHRlci5BY3Rvck1ldGEgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJcHJvdGVjdGVkIEVmZmVjdCAoKTsKKysJCVtOb1dyYXBw ZXJdCisrCQlwdWJsaWMgdmlydHVhbCBib29sIG1vZGlmeV9wYWludF92b2x1bWUgKENsdXR0ZXIu UGFpbnRWb2x1bWUgdm9sdW1lKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCB2 b2lkIHBhaW50IChDbHV0dGVyLlBhaW50Q29udGV4dCBwYWludF9jb250ZXh0LCBDbHV0dGVyLkVm ZmVjdFBhaW50RmxhZ3MgZmxhZ3MpOworKwkJW05vV3JhcHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFs IHZvaWQgcGljayAoQ2x1dHRlci5QaWNrQ29udGV4dCBwaWNrX2NvbnRleHQpOworKwkJW05vV3Jh cHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgcG9zdF9wYWludCAoQ2x1dHRlci5QYWludENv bnRleHQgcGFpbnRfY29udGV4dCk7CisrCQlbTm9XcmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwg Ym9vbCBwcmVfcGFpbnQgKENsdXR0ZXIuUGFpbnRDb250ZXh0IHBhaW50X2NvbnRleHQpOworKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQorKwkJcHVibGljIHZvaWQgcXVldWVfcmVwYWludCAo KTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hl ZF9mcmVlIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2V2ZW50X2dldF90eXBlICgpIildCisrCVtDb21w YWN0XQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCisrCXB1YmxpYyBjbGFzcyBFdmVudCB7 CisrCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKKysJCVtDQ29kZSAoaGFzX2NvbnN0 cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KKysJCXB1YmxpYyBFdmVudCAoQ2x1dHRlci5FdmVudFR5 cGUgdHlwZSk7CisrCQlwdWJsaWMgQ2x1dHRlci5FdmVudCBjb3B5ICgpOworKwkJcHVibGljIHZv aWQgZnJlZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlwdWJsaWMgZG91 YmxlIGdldF9hbmdsZSAoQ2x1dHRlci5FdmVudCB0YXJnZXQpOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuNiIpXQorKwkJcHVibGljIGRvdWJsZSBnZXRfYXhlcyAob3V0IHVpbnQgbl9heGVzKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB1aW50MzIgZ2V0X2J1dHRv biAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB1aW50IGdldF9j bGlja19jb3VudCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KKysJCXB1YmxpYyB2 b2lkIGdldF9jb29yZHMgKG91dCBmbG9hdCB4LCBvdXQgZmxvYXQgeSk7CisrCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLklucHV0RGV2aWNlIGdl dF9kZXZpY2UgKCk7CisrCQlwdWJsaWMgaW50IGdldF9kZXZpY2VfaWQgKCk7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMS4yOCIpXQorKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5JbnB1dERldmlj ZVRvb2wgZ2V0X2RldmljZV90b29sICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQor KwkJcHVibGljIENsdXR0ZXIuSW5wdXREZXZpY2VUeXBlIGdldF9kZXZpY2VfdHlwZSAoKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlwdWJsaWMgZmxvYXQgZ2V0X2Rpc3RhbmNl IChDbHV0dGVyLkV2ZW50IHRhcmdldCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQor KwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5FdmVudFNlcXVlbmNlIGdldF9ldmVudF9zZXF1ZW5j ZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBDbHV0dGVyLkV2 ZW50RmxhZ3MgZ2V0X2ZsYWdzICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjQiKV0KKysJ CXB1YmxpYyB2b2lkIGdldF9nZXN0dXJlX21vdGlvbl9kZWx0YSAob3V0IGRvdWJsZSBkeCwgb3V0 IGRvdWJsZSBkeSk7CisrCQlwdWJsaWMgQ2x1dHRlci5Ub3VjaHBhZEdlc3R1cmVQaGFzZSBnZXRf Z2VzdHVyZV9waGFzZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjI0IildCisrCQlwdWJs aWMgZG91YmxlIGdldF9nZXN0dXJlX3BpbmNoX2FuZ2xlX2RlbHRhICgpOworKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMjQiKV0KKysJCXB1YmxpYyBkb3VibGUgZ2V0X2dlc3R1cmVfcGluY2hfc2Nh bGUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgdWludDE2IGdl dF9rZXlfY29kZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB1 aW50IGdldF9rZXlfc3ltYm9sICgpOworKwkJcHVibGljIHVuaWNoYXIgZ2V0X2tleV91bmljb2Rl ICgpOworKwkJcHVibGljIHVpbnQgZ2V0X21vZGVfZ3JvdXAgKCk7CisrCQlwdWJsaWMgYm9vbCBn ZXRfcGFkX2V2ZW50X2RldGFpbHMgKG91dCB1aW50IG51bWJlciwgb3V0IHVpbnQgbW9kZSwgb3V0 IGRvdWJsZSB2YWx1ZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGlj IHZvaWQgZ2V0X3Bvc2l0aW9uIChHcmFwaGVuZS5Qb2ludCBwb3NpdGlvbik7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9y ZWxhdGVkICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyB2b2lk IGdldF9zY3JvbGxfZGVsdGEgKG91dCBkb3VibGUgZHgsIG91dCBkb3VibGUgZHkpOworKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIENsdXR0ZXIuU2Nyb2xsRGlyZWN0aW9u IGdldF9zY3JvbGxfZGlyZWN0aW9uICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjYiKV0K KysJCXB1YmxpYyBDbHV0dGVyLlNjcm9sbEZpbmlzaEZsYWdzIGdldF9zY3JvbGxfZmluaXNoX2Zs YWdzICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjYiKV0KKysJCXB1YmxpYyBDbHV0dGVy LlNjcm9sbFNvdXJjZSBnZXRfc2Nyb2xsX3NvdXJjZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIwLjYiKV0KKysJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X3NvdXJjZSAoKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KKysJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIu SW5wdXREZXZpY2UgZ2V0X3NvdXJjZV9kZXZpY2UgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MC44IildCisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLlN0YWdlIGdldF9zdGFnZSAoKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KKysJCXB1YmxpYyBDbHV0dGVyLk1vZGlmaWVyVHlw ZSBnZXRfc3RhdGUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNiIpXQorKwkJcHVibGlj IHZvaWQgZ2V0X3N0YXRlX2Z1bGwgKG91dCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBidXR0b25fc3Rh dGUsIG91dCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBiYXNlX3N0YXRlLCBvdXQgQ2x1dHRlci5Nb2Rp ZmllclR5cGUgbGF0Y2hlZF9zdGF0ZSwgb3V0IENsdXR0ZXIuTW9kaWZpZXJUeXBlIGxvY2tlZF9z dGF0ZSwgb3V0IENsdXR0ZXIuTW9kaWZpZXJUeXBlIGVmZmVjdGl2ZV9zdGF0ZSk7CisrCQlbVmVy c2lvbiAoc2luY2UgPSAiMC40IildCisrCQlwdWJsaWMgdWludDMyIGdldF90aW1lICgpOworKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMjQiKV0KKysJCXB1YmxpYyB1aW50IGdldF90b3VjaHBhZF9n ZXN0dXJlX2Zpbmdlcl9jb3VudCAoKTsKKysJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl9ldmVu dF90eXBlIildCisrCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgZ2V0X3R5cGUgKCk7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIGJvb2wgaGFzX2NvbnRyb2xfbW9k aWZpZXIgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIGJvb2wg aGFzX3NoaWZ0X21vZGlmaWVyICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJ CXB1YmxpYyBib29sIGlzX3BvaW50ZXJfZW11bGF0ZWQgKCk7CisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC42IildCisrCQlwdWJsaWMgdm9pZCBwdXQgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS44IildCisrCQlwdWJsaWMgdm9pZCBzZXRfYnV0dG9uICh1aW50MzIgYnV0dG9uKTsKKysJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9jb29yZHMgKGZsb2F0 IHgsIGZsb2F0IHkpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQorKwkJcHVibGljIHZv aWQgc2V0X2RldmljZSAoQ2x1dHRlci5JbnB1dERldmljZT8gZGV2aWNlKTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjI4IildCisrCQlwdWJsaWMgdm9pZCBzZXRfZGV2aWNlX3Rvb2wgKENsdXR0 ZXIuSW5wdXREZXZpY2VUb29sPyB0b29sKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0K KysJCXB1YmxpYyB2b2lkIHNldF9mbGFncyAoQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdzKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9rZXlfY29kZSAo dWludDE2IGtleV9jb2RlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KKysJCXB1Ymxp YyB2b2lkIHNldF9rZXlfc3ltYm9sICh1aW50IGtleV9zeW0pOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuOCIpXQorKwkJcHVibGljIHZvaWQgc2V0X2tleV91bmljb2RlICh1bmljaGFyIGtleV91 bmljb2RlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyB2b2lkIHNl dF9yZWxhdGVkIChDbHV0dGVyLkFjdG9yPyBhY3Rvcik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQorKwkJcHVibGljIHZvaWQgc2V0X3Njcm9sbF9kZWx0YSAoZG91YmxlIGR4LCBkb3Vi bGUgZHkpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQorKwkJcHVibGljIHZvaWQgc2V0 X3Njcm9sbF9kaXJlY3Rpb24gKENsdXR0ZXIuU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbik7Cisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCisrCQlwdWJsaWMgdm9pZCBzZXRfc291cmNlIChD bHV0dGVyLkFjdG9yPyBhY3Rvcik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCisrCQlw dWJsaWMgdm9pZCBzZXRfc291cmNlX2RldmljZSAoQ2x1dHRlci5JbnB1dERldmljZT8gZGV2aWNl KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9zdGFn ZSAoQ2x1dHRlci5TdGFnZT8gc3RhZ2UpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQor KwkJcHVibGljIHZvaWQgc2V0X3N0YXRlIChDbHV0dGVyLk1vZGlmaWVyVHlwZSBzdGF0ZSk7Cisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCisrCQlwdWJsaWMgdm9pZCBzZXRfdGltZSAodWlu dDMyIHRpbWVfKTsKKysJCXB1YmxpYyBDbHV0dGVyLkFueUV2ZW50IGFueSB7W0NDb2RlIChjbmFt ZSA9ICIoQ2x1dHRlckFueUV2ZW50ICopIildICBnZXQ7IH0KKysJCXB1YmxpYyBDbHV0dGVyLkJ1 dHRvbkV2ZW50IGJ1dHRvbiB7W0NDb2RlIChjbmFtZSA9ICIoQ2x1dHRlckJ1dHRvbkV2ZW50ICop IildICBnZXQ7IH0KKysJCXB1YmxpYyBDbHV0dGVyLkNyb3NzaW5nRXZlbnQgY3Jvc3Npbmcge1tD Q29kZSAoY25hbWUgPSAiKENsdXR0ZXJDcm9zc2luZ0V2ZW50ICopIildICBnZXQ7IH0KKysJCXB1 YmxpYyBDbHV0dGVyLktleUV2ZW50IGtleSB7W0NDb2RlIChjbmFtZSA9ICIoQ2x1dHRlcktleUV2 ZW50ICopIildICBnZXQ7IH0KKysJCXB1YmxpYyBDbHV0dGVyLk1vdGlvbkV2ZW50IG1vdGlvbiB7 W0NDb2RlIChjbmFtZSA9ICIoQ2x1dHRlck1vdGlvbkV2ZW50ICopIildICBnZXQ7IH0KKysJCXB1 YmxpYyBDbHV0dGVyLlNjcm9sbEV2ZW50IHNjcm9sbCB7W0NDb2RlIChjbmFtZSA9ICIoQ2x1dHRl clNjcm9sbEV2ZW50ICopIildICBnZXQ7IH0KKysJCXB1YmxpYyBDbHV0dGVyLlN0YWdlU3RhdGVF dmVudCBzdGFnZV9zdGF0ZSB7W0NDb2RlIChjbmFtZSA9ICIoQ2x1dHRlclN0YWdlU3RhdGVFdmVu dCAqKSIpXSAgZ2V0OyB9CisrCQlwdWJsaWMgQ2x1dHRlci5Ub3VjaEV2ZW50IHRvdWNoIHtbQ0Nv ZGUgKGNuYW1lID0gIihDbHV0dGVyVG91Y2hFdmVudCAqKSIpXSAgZ2V0OyB9CisrCQlwdWJsaWMg Q2x1dHRlci5Ub3VjaHBhZFBpbmNoRXZlbnQgdG91Y2hwYWRfcGluY2gge1tDQ29kZSAoY25hbWUg PSAiKENsdXR0ZXJUb3VjaHBhZFBpbmNoRXZlbnQgKikiKV0gIGdldDsgfQorKwkJcHVibGljIENs dXR0ZXIuVG91Y2hwYWRTd2lwZUV2ZW50IHRvdWNocGFkX3N3aXBlIHtbQ0NvZGUgKGNuYW1lID0g IihDbHV0dGVyVG91Y2hwYWRTd2lwZUV2ZW50ICopIildICBnZXQ7IH0KKysJfQorKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjb3B5X2Z1bmN0aW9uID0g ImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9pZCA9 ICJjbHV0dGVyX2V2ZW50X3NlcXVlbmNlX2dldF90eXBlICgpIildCisrCVtDb21wYWN0XQorKwlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwlwdWJsaWMgY2xhc3MgRXZlbnRTZXF1ZW5jZSB7 CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg dHlwZV9pZCA9ICJjbHV0dGVyX2ZpeGVkX2xheW91dF9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lv biAoc2luY2UgPSAiMS4yIildCisrCXB1YmxpYyBjbGFzcyBGaXhlZExheW91dCA6IENsdXR0ZXIu TGF5b3V0TWFuYWdlciB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxz ZSwgdHlwZSA9ICJDbHV0dGVyTGF5b3V0TWFuYWdlcioiKV0KKysJCXB1YmxpYyBGaXhlZExheW91 dCAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfZmxvd19sYXlvdXRfZ2V0X3R5cGUgKCkiKV0KKysJW1Zl cnNpb24gKHNpbmNlID0gIjEuMiIpXQorKwlwdWJsaWMgY2xhc3MgRmxvd0xheW91dCA6IENsdXR0 ZXIuTGF5b3V0TWFuYWdlciB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBm YWxzZSwgdHlwZSA9ICJDbHV0dGVyTGF5b3V0TWFuYWdlcioiKV0KKysJCXB1YmxpYyBGbG93TGF5 b3V0IChDbHV0dGVyLkZsb3dPcmllbnRhdGlvbiBvcmllbnRhdGlvbik7CisrCQlwdWJsaWMgZmxv YXQgZ2V0X2NvbHVtbl9zcGFjaW5nICgpOworKwkJcHVibGljIHZvaWQgZ2V0X2NvbHVtbl93aWR0 aCAob3V0IGZsb2F0IG1pbl93aWR0aCwgb3V0IGZsb2F0IG1heF93aWR0aCk7CisrCQlwdWJsaWMg Ym9vbCBnZXRfaG9tb2dlbmVvdXMgKCk7CisrCQlwdWJsaWMgQ2x1dHRlci5GbG93T3JpZW50YXRp b24gZ2V0X29yaWVudGF0aW9uICgpOworKwkJcHVibGljIHZvaWQgZ2V0X3Jvd19oZWlnaHQgKG91 dCBmbG9hdCBtaW5faGVpZ2h0LCBvdXQgZmxvYXQgbWF4X2hlaWdodCk7CisrCQlwdWJsaWMgZmxv YXQgZ2V0X3Jvd19zcGFjaW5nICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTYiKV0KKysJ CXB1YmxpYyBib29sIGdldF9zbmFwX3RvX2dyaWQgKCk7CisrCQlwdWJsaWMgdm9pZCBzZXRfY29s dW1uX3NwYWNpbmcgKGZsb2F0IHNwYWNpbmcpOworKwkJcHVibGljIHZvaWQgc2V0X2NvbHVtbl93 aWR0aCAoZmxvYXQgbWluX3dpZHRoLCBmbG9hdCBtYXhfd2lkdGgpOworKwkJcHVibGljIHZvaWQg c2V0X2hvbW9nZW5lb3VzIChib29sIGhvbW9nZW5lb3VzKTsKKysJCXB1YmxpYyB2b2lkIHNldF9v cmllbnRhdGlvbiAoQ2x1dHRlci5GbG93T3JpZW50YXRpb24gb3JpZW50YXRpb24pOworKwkJcHVi bGljIHZvaWQgc2V0X3Jvd19oZWlnaHQgKGZsb2F0IG1pbl9oZWlnaHQsIGZsb2F0IG1heF9oZWln aHQpOworKwkJcHVibGljIHZvaWQgc2V0X3Jvd19zcGFjaW5nIChmbG9hdCBzcGFjaW5nKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjE2IildCisrCQlwdWJsaWMgdm9pZCBzZXRfc25hcF90b19n cmlkIChib29sIHNuYXBfdG9fZ3JpZCk7CisrCQlwdWJsaWMgZmxvYXQgY29sdW1uX3NwYWNpbmcg eyBnZXQ7IHNldDsgfQorKwkJcHVibGljIGJvb2wgaG9tb2dlbmVvdXMgeyBnZXQ7IHNldDsgfQor KwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgZmxvYXQgbWF4X2NvbHVtbl93aWR0aCB7 IGdldDsgc2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyBmbG9hdCBtYXhf cm93X2hlaWdodCB7IGdldDsgc2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1Ymxp YyBmbG9hdCBtaW5fY29sdW1uX3dpZHRoIHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0 aG9kXQorKwkJcHVibGljIGZsb2F0IG1pbl9yb3dfaGVpZ2h0IHsgZ2V0OyBzZXQ7IH0KKysJCXB1 YmxpYyBDbHV0dGVyLkZsb3dPcmllbnRhdGlvbiBvcmllbnRhdGlvbiB7IGdldDsgc2V0IGNvbnN0 cnVjdDsgfQorKwkJcHVibGljIGZsb2F0IHJvd19zcGFjaW5nIHsgZ2V0OyBzZXQ7IH0KKysJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjE2IildCisrCQlwdWJsaWMgYm9vbCBzbmFwX3RvX2dyaWQgeyBn ZXQ7IHNldDsgfQorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9nZXN0dXJlX2FjdGlvbl9nZXRfdHlwZSAoKSIp XQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCisrCXB1YmxpYyBjbGFzcyBHZXN0dXJlQWN0 aW9uIDogQ2x1dHRlci5BY3Rpb24geworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9u ID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckFjdGlvbioiKV0KKysJCXB1YmxpYyBHZXN0dXJlQWN0 aW9uICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyB2b2lkIGNh bmNlbCAoKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCBib29sIGdlc3R1cmVf cHJlcGFyZSAoQ2x1dHRlci5BY3RvciBhY3Rvcik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MiIpXQorKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5JbnB1dERldmljZSBnZXRfZGV2aWNlICh1 aW50IHBvaW50KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE0IildCisrCQlwdWJsaWMgdW5v d25lZCBDbHV0dGVyLkV2ZW50IGdldF9sYXN0X2V2ZW50ICh1aW50IHBvaW50KTsKKysJCXB1Ymxp YyB2b2lkIGdldF9tb3Rpb25fY29vcmRzICh1aW50IHBvaW50LCBvdXQgZmxvYXQgbW90aW9uX3gs IG91dCBmbG9hdCBtb3Rpb25feSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJ cHVibGljIGZsb2F0IGdldF9tb3Rpb25fZGVsdGEgKHVpbnQgcG9pbnQsIG91dCBmbG9hdCBkZWx0 YV94LCBvdXQgZmxvYXQgZGVsdGFfeSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQor KwkJcHVibGljIHVpbnQgZ2V0X25fY3VycmVudF9wb2ludHMgKCk7CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMiIpXQorKwkJcHVibGljIGludCBnZXRfbl90b3VjaF9wb2ludHMgKCk7CisrCQlw dWJsaWMgdm9pZCBnZXRfcHJlc3NfY29vcmRzICh1aW50IHBvaW50LCBvdXQgZmxvYXQgcHJlc3Nf eCwgb3V0IGZsb2F0IHByZXNzX3kpOworKwkJcHVibGljIHZvaWQgZ2V0X3JlbGVhc2VfY29vcmRz ICh1aW50IHBvaW50LCBvdXQgZmxvYXQgcmVsZWFzZV94LCBvdXQgZmxvYXQgcmVsZWFzZV95KTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVy LkV2ZW50U2VxdWVuY2UgZ2V0X3NlcXVlbmNlICh1aW50IHBvaW50KTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjE4IildCisrCQlwdWJsaWMgdm9pZCBnZXRfdGhyZXNob2xkX3RyaWdnZXJfZGlz dGFuY2UgKG91dCBmbG9hdCB4LCBvdXQgZmxvYXQgeSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4yMCIpXQorKwkJcHVibGljIENsdXR0ZXIuR2VzdHVyZVRyaWdnZXJFZGdlIGdldF90aHJlc2hv bGRfdHJpZ2dlcl9lZGdlICgpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXBy ZWNhdGVkX3NpbmNlID0gIjEuMjAiLCBzaW5jZSA9ICIxLjE4IildCisrCQlwdWJsaWMgQ2x1dHRl ci5HZXN0dXJlVHJpZ2dlckVkZ2UgZ2V0X3RocmVzaG9sZF90cmlnZ2VyX2VnZGUgKCk7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIGZsb2F0IGdldF92ZWxvY2l0eSAo dWludCBwb2ludCwgb3V0IGZsb2F0IHZlbG9jaXR5X3gsIG91dCBmbG9hdCB2ZWxvY2l0eV95KTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlwdWJsaWMgdm9pZCBzZXRfbl90b3Vj aF9wb2ludHMgKGludCBuYl9wb2ludHMpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTgiKV0K KysJCXB1YmxpYyB2b2lkIHNldF90aHJlc2hvbGRfdHJpZ2dlcl9kaXN0YW5jZSAoZmxvYXQgeCwg ZmxvYXQgeSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xOCIpXQorKwkJcHVibGljIHZvaWQg c2V0X3RocmVzaG9sZF90cmlnZ2VyX2VkZ2UgKENsdXR0ZXIuR2VzdHVyZVRyaWdnZXJFZGdlIGVk Z2UpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTYiKV0KKysJCXB1YmxpYyBpbnQgbl90b3Vj aF9wb2ludHMgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xOCIpXQorKwkJcHVibGljIGZsb2F0IHRocmVzaG9sZF90cmlnZ2VyX2Rp c3RhbmNlX3ggeyBnZXQ7IGNvbnN0cnVjdDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xOCIpXQorKwkJcHVibGljIGZsb2F0IHRocmVzaG9sZF90cmln Z2VyX2Rpc3RhbmNlX3kgeyBnZXQ7IGNvbnN0cnVjdDsgfQorKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMTgiKV0KKysJCXB1YmxpYyBDbHV0dGVyLkdlc3R1cmVUcmlnZ2VyRWRnZSB0aHJlc2hvbGRf dHJpZ2dlcl9lZGdlIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25h bCBib29sIGdlc3R1cmVfYmVnaW4gKENsdXR0ZXIuQWN0b3IgYWN0b3IpOworKwkJcHVibGljIHZp cnR1YWwgc2lnbmFsIHZvaWQgZ2VzdHVyZV9jYW5jZWwgKENsdXR0ZXIuQWN0b3IgYWN0b3IpOwor KwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgZ2VzdHVyZV9lbmQgKENsdXR0ZXIuQWN0b3Ig YWN0b3IpOworKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgZ2VzdHVyZV9wcm9ncmVzcyAo Q2x1dHRlci5BY3RvciBhY3Rvcik7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2dyaWRfbGF5b3V0X2dldF90 eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCXB1YmxpYyBjbGFzcyBH cmlkTGF5b3V0IDogQ2x1dHRlci5MYXlvdXRNYW5hZ2VyIHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0 cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJMYXlvdXRNYW5hZ2VyKiIpXQor KwkJcHVibGljIEdyaWRMYXlvdXQgKCk7CisrCQlwdWJsaWMgdm9pZCBhdHRhY2ggKENsdXR0ZXIu QWN0b3IgY2hpbGQsIGludCBsZWZ0LCBpbnQgdG9wLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwor KwkJcHVibGljIHZvaWQgYXR0YWNoX25leHRfdG8gKENsdXR0ZXIuQWN0b3IgY2hpbGQsIENsdXR0 ZXIuQWN0b3I/IHNpYmxpbmcsIENsdXR0ZXIuR3JpZFBvc2l0aW9uIHNpZGUsIGludCB3aWR0aCwg aW50IGhlaWdodCk7CisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9jaGlsZF9h dCAoaW50IGxlZnQsIGludCB0b3ApOworKwkJcHVibGljIGJvb2wgZ2V0X2NvbHVtbl9ob21vZ2Vu ZW91cyAoKTsKKysJCXB1YmxpYyB1aW50IGdldF9jb2x1bW5fc3BhY2luZyAoKTsKKysJCXB1Ymxp YyBDbHV0dGVyLk9yaWVudGF0aW9uIGdldF9vcmllbnRhdGlvbiAoKTsKKysJCXB1YmxpYyBib29s IGdldF9yb3dfaG9tb2dlbmVvdXMgKCk7CisrCQlwdWJsaWMgdWludCBnZXRfcm93X3NwYWNpbmcg KCk7CisrCQlwdWJsaWMgdm9pZCBpbnNlcnRfY29sdW1uIChpbnQgcG9zaXRpb24pOworKwkJcHVi bGljIHZvaWQgaW5zZXJ0X25leHRfdG8gKENsdXR0ZXIuQWN0b3Igc2libGluZywgQ2x1dHRlci5H cmlkUG9zaXRpb24gc2lkZSk7CisrCQlwdWJsaWMgdm9pZCBpbnNlcnRfcm93IChpbnQgcG9zaXRp b24pOworKwkJcHVibGljIHZvaWQgc2V0X2NvbHVtbl9ob21vZ2VuZW91cyAoYm9vbCBob21vZ2Vu ZW91cyk7CisrCQlwdWJsaWMgdm9pZCBzZXRfY29sdW1uX3NwYWNpbmcgKHVpbnQgc3BhY2luZyk7 CisrCQlwdWJsaWMgdm9pZCBzZXRfb3JpZW50YXRpb24gKENsdXR0ZXIuT3JpZW50YXRpb24gb3Jp ZW50YXRpb24pOworKwkJcHVibGljIHZvaWQgc2V0X3Jvd19ob21vZ2VuZW91cyAoYm9vbCBob21v Z2VuZW91cyk7CisrCQlwdWJsaWMgdm9pZCBzZXRfcm93X3NwYWNpbmcgKHVpbnQgc3BhY2luZyk7 CisrCQlwdWJsaWMgYm9vbCBjb2x1bW5faG9tb2dlbmVvdXMgeyBnZXQ7IHNldDsgfQorKwkJcHVi bGljIHVpbnQgY29sdW1uX3NwYWNpbmcgeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIENsdXR0ZXIu T3JpZW50YXRpb24gb3JpZW50YXRpb24geyBnZXQ7IHNldDsgfQorKwkJcHVibGljIGJvb2wgcm93 X2hvbW9nZW5lb3VzIHsgZ2V0OyBzZXQ7IH0KKysJCXB1YmxpYyB1aW50IHJvd19zcGFjaW5nIHsg Z2V0OyBzZXQ7IH0KKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfZ3JvdXBfZ2V0X3R5cGUgKCkiKV0KKysJW1Zl cnNpb24gKHNpbmNlID0gIjAuMiIpXQorKwlwdWJsaWMgY2xhc3MgR3JvdXAgOiBDbHV0dGVyLkFj dG9yLCBBdGsuSW1wbGVtZW50b3IsIENsdXR0ZXIuQW5pbWF0YWJsZSwgQ2x1dHRlci5Db250YWlu ZXIsIENsdXR0ZXIuU2NyaXB0YWJsZSB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rp b24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQWN0b3IqIildCisrCQlbVmVyc2lvbiAoZGVwcmVj YXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIEdyb3Vw ICgpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0g IjEuMTAiLCBzaW5jZSA9ICIwLjIiKV0KKysJCXB1YmxpYyBpbnQgZ2V0X25fY2hpbGRyZW4gKCk7 CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4x MCIsIHNpbmNlID0gIjAuMiIpXQorKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5BY3RvciBnZXRf bnRoX2NoaWxkIChpbnQgaW5kZXhfKTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwg ZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCByZW1vdmVfYWxsICgp OworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IHR5cGVfaWQgPSAiY2x1dHRlcl9pbWFnZV9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMCIpXQorKwlwdWJsaWMgY2xhc3MgSW1hZ2UgOiBHTGliLk9iamVjdCwgQ2x1dHRl ci5Db250ZW50IHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0 eXBlID0gIkNsdXR0ZXJDb250ZW50KiIpXQorKwkJcHVibGljIEltYWdlICgpOworKwkJcHVibGlj IHVub3duZWQgQ29nbC5UZXh0dXJlIGdldF90ZXh0dXJlICgpOworKwkJcHVibGljIGJvb2wgc2V0 X2FyZWEgKFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXSB1aW50OFtdIGRhdGEsIENvZ2wu UGl4ZWxGb3JtYXQgcGl4ZWxfZm9ybWF0LCBDYWlyby5SZWN0YW5nbGVJbnQgcmVjdCwgdWludCBy b3dfc3RyaWRlKSB0aHJvd3MgR0xpYi5FcnJvcjsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEy IildCisrCQlwdWJsaWMgYm9vbCBzZXRfYnl0ZXMgKEdMaWIuQnl0ZXMgZGF0YSwgQ29nbC5QaXhl bEZvcm1hdCBwaXhlbF9mb3JtYXQsIHVpbnQgd2lkdGgsIHVpbnQgaGVpZ2h0LCB1aW50IHJvd19z dHJpZGUpIHRocm93cyBHTGliLkVycm9yOworKwkJcHVibGljIGJvb2wgc2V0X2RhdGEgKFtDQ29k ZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXSB1aW50OFtdIGRhdGEsIENvZ2wuUGl4ZWxGb3JtYXQg cGl4ZWxfZm9ybWF0LCB1aW50IHdpZHRoLCB1aW50IGhlaWdodCwgdWludCByb3dfc3RyaWRlKSB0 aHJvd3MgR0xpYi5FcnJvcjsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfaW5wdXRfZGV2aWNlX2dldF90eXBl ICgpIildCisrCXB1YmxpYyBjbGFzcyBJbnB1dERldmljZSA6IEdMaWIuT2JqZWN0IHsKKysJCVtD Q29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KKysJCXByb3RlY3RlZCBJbnB1 dERldmljZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KKysJCXB1YmxpYyB1bm93 bmVkIENsdXR0ZXIuSW5wdXREZXZpY2UgZ2V0X2Fzc29jaWF0ZWRfZGV2aWNlICgpOworKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuNiIpXQorKwkJcHVibGljIENsdXR0ZXIuSW5wdXRBeGlzIGdldF9h eGlzICh1aW50IGluZGV4Xyk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCisrCQlwdWJs aWMgYm9vbCBnZXRfYXhpc192YWx1ZSAoW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldIGRv dWJsZVtdIGF4ZXMsIENsdXR0ZXIuSW5wdXRBeGlzIGF4aXMsIG91dCBkb3VibGUgdmFsdWUpOwor KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyBib29sIGdldF9jb29yZHMg KENsdXR0ZXIuRXZlbnRTZXF1ZW5jZT8gc2VxdWVuY2UsIEdyYXBoZW5lLlBvaW50IHBvaW50KTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBpbnQgZ2V0X2RldmljZV9p ZCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KKysJCXB1YmxpYyBDbHV0dGVyLklu cHV0TW9kZSBnZXRfZGV2aWNlX21vZGUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIild CisrCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X2RldmljZV9uYW1lICgpOworKwkJcHVibGlj IHVub3duZWQgc3RyaW5nIGdldF9kZXZpY2Vfbm9kZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjAiKV0KKysJCXB1YmxpYyBDbHV0dGVyLklucHV0RGV2aWNlVHlwZSBnZXRfZGV2aWNlX3R5 cGUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCisrCQlwdWJsaWMgYm9vbCBnZXRf ZW5hYmxlZCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdW5v d25lZCBDbHV0dGVyLkFjdG9yIGdldF9ncmFiYmVkX2FjdG9yICgpOworKwkJcHVibGljIHZpcnR1 YWwgaW50IGdldF9ncm91cF9uX21vZGVzIChpbnQgZ3JvdXApOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuNiIpXQorKwkJcHVibGljIGJvb2wgZ2V0X2hhc19jdXJzb3IgKCk7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMS42IildCisrCQlwdWJsaWMgYm9vbCBnZXRfa2V5ICh1aW50IGluZGV4Xywg b3V0IHVpbnQga2V5dmFsLCBvdXQgQ2x1dHRlci5Nb2RpZmllclR5cGUgbW9kaWZpZXJzKTsKKysJ CXB1YmxpYyBDbHV0dGVyLklucHV0RGV2aWNlTWFwcGluZyBnZXRfbWFwcGluZ19tb2RlICgpOwor KwkJcHVibGljIGludCBnZXRfbW9kZV9zd2l0Y2hfYnV0dG9uX2dyb3VwICh1aW50IGJ1dHRvbik7 CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNiIpXQorKwkJcHVibGljIENsdXR0ZXIuTW9kaWZp ZXJUeXBlIGdldF9tb2RpZmllcl9zdGF0ZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYi KV0KKysJCXB1YmxpYyB1aW50IGdldF9uX2F4ZXMgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS42IildCisrCQlwdWJsaWMgdWludCBnZXRfbl9rZXlzICgpOworKwkJcHVibGljIGludCBnZXRf bl9tb2RlX2dyb3VwcyAoKTsKKysJCXB1YmxpYyBpbnQgZ2V0X25fcmluZ3MgKCk7CisrCQlwdWJs aWMgaW50IGdldF9uX3N0cmlwcyAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KKysJ CXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X3BvaW50ZXJfYWN0b3IgKCk7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLlN0YWdl IGdldF9wb2ludGVyX3N0YWdlICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjIiKV0KKysJ CXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfcHJvZHVjdF9pZCAoKTsKKysJCXB1YmxpYyB1bm93 bmVkIENsdXR0ZXIuU2VhdCBnZXRfc2VhdCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYi KV0KKysJCXB1YmxpYyBHTGliLkxpc3Q8d2VhayBDbHV0dGVyLklucHV0RGV2aWNlPiBnZXRfc2xh dmVfZGV2aWNlcyAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIyIildCisrCQlwdWJsaWMg dW5vd25lZCBzdHJpbmcgZ2V0X3ZlbmRvcl9pZCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEwIildCisrCQlwdWJsaWMgdm9pZCBncmFiIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsKKysJCXB1 YmxpYyB2aXJ0dWFsIGJvb2wgaXNfZ3JvdXBlZCAoQ2x1dHRlci5JbnB1dERldmljZSBvdGhlcl9k ZXZpY2UpOworKwkJcHVibGljIHZpcnR1YWwgYm9vbCBpc19tb2RlX3N3aXRjaF9idXR0b24gKHVp bnQgZ3JvdXAsIHVpbnQgYnV0dG9uKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisr CQlwdWJsaWMgdmlydHVhbCBib29sIGtleWNvZGVfdG9fZXZkZXYgKHVpbnQgaGFyZHdhcmVfa2V5 Y29kZSwgdWludCBldmRldl9rZXljb2RlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIild CisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIHNlcXVlbmNlX2dldF9ncmFiYmVkX2Fj dG9yIChDbHV0dGVyLkV2ZW50U2VxdWVuY2Ugc2VxdWVuY2UpOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTIiKV0KKysJCXB1YmxpYyB2b2lkIHNlcXVlbmNlX2dyYWIgKENsdXR0ZXIuRXZlbnRT ZXF1ZW5jZSBzZXF1ZW5jZSwgQ2x1dHRlci5BY3RvciBhY3Rvcik7CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMiIpXQorKwkJcHVibGljIHZvaWQgc2VxdWVuY2VfdW5ncmFiIChDbHV0dGVyLkV2 ZW50U2VxdWVuY2Ugc2VxdWVuY2UpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQorKwkJ cHVibGljIHZvaWQgc2V0X2VuYWJsZWQgKGJvb2wgZW5hYmxlZCk7CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS42IildCisrCQlwdWJsaWMgdm9pZCBzZXRfa2V5ICh1aW50IGluZGV4XywgdWludCBr ZXl2YWwsIENsdXR0ZXIuTW9kaWZpZXJUeXBlIG1vZGlmaWVycyk7CisrCQlwdWJsaWMgdm9pZCBz ZXRfbWFwcGluZ19tb2RlIChDbHV0dGVyLklucHV0RGV2aWNlTWFwcGluZyBtYXBwaW5nKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCB1bmdyYWIgKCk7Cisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgdm9pZCB1cGRhdGVfZnJvbV9l dmVudCAoQ2x1dHRlci5FdmVudCBldmVudCwgYm9vbCB1cGRhdGVfc3RhZ2UpOworKwkJW05vV3Jh cHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgdXBkYXRlX2Zyb21fdG9vbCAoQ2x1dHRlci5J bnB1dERldmljZVRvb2wgdG9vbCk7CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjYiKV0KKysJCXB1YmxpYyBDbHV0dGVyLkJhY2tlbmQgYmFja2VuZCB7IG93 bmVkIGdldDsgY29uc3RydWN0OyB9CisrCQlwdWJsaWMgQ2x1dHRlci5JbnB1dE1vZGUgZGV2aWNl X21vZGUgeyBnZXQ7IGNvbnN0cnVjdDsgfQorKwkJcHVibGljIHN0cmluZyBkZXZpY2Vfbm9kZSB7 IGdldDsgY29uc3RydWN0OyB9CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJs aWMgQ2x1dHRlci5JbnB1dERldmljZVR5cGUgZGV2aWNlX3R5cGUgeyBnZXQ7IGNvbnN0cnVjdDsg fQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQorKwkJcHVibGljIGJvb2wgZW5hYmxlZCB7 IGdldDsgc2V0OyB9CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCisrCQlwdWJsaWMgYm9v bCBoYXNfY3Vyc29yIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQor KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIGludCBpZCB7IGdldDsgY29u c3RydWN0OyB9CisrCQlwdWJsaWMgQ2x1dHRlci5JbnB1dERldmljZU1hcHBpbmcgbWFwcGluZ19t b2RlIHsgZ2V0OyBzZXQ7IH0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KKysJCXB1Ymxp YyB1aW50IG5fYXhlcyB7IGdldDsgfQorKwkJcHVibGljIGludCBuX21vZGVfZ3JvdXBzIHsgZ2V0 OyBjb25zdHJ1Y3Q7IH0KKysJCXB1YmxpYyBpbnQgbl9yaW5ncyB7IGdldDsgY29uc3RydWN0OyB9 CisrCQlwdWJsaWMgaW50IG5fc3RyaXBzIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KKysJCVtOb0FjY2Vz c29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGljIHN0cmlu ZyBuYW1lIHsgb3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjIyIildCisrCQlwdWJsaWMgc3RyaW5nIHByb2R1Y3RfaWQgeyBnZXQ7IGNvbnN0cnVjdDsgfQor KwkJcHVibGljIENsdXR0ZXIuU2VhdCBzZWF0IHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KKysJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjIyIildCisrCQlwdWJsaWMgc3RyaW5nIHZlbmRvcl9pZCB7IGdldDsg Y29uc3RydWN0OyB9CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2lucHV0X2RldmljZV90b29sX2dldF90eXBl ICgpIildCisrCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBJbnB1dERldmljZVRvb2wgOiBHTGliLk9i amVjdCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlw cm90ZWN0ZWQgSW5wdXREZXZpY2VUb29sICgpOworKwkJcHVibGljIHVpbnQ2NCBnZXRfaWQgKCk7 CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yOCIpXQorKwkJcHVibGljIHVpbnQ2NCBnZXRfc2Vy aWFsICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjgiKV0KKysJCXB1YmxpYyBDbHV0dGVy LklucHV0RGV2aWNlVG9vbFR5cGUgZ2V0X3Rvb2xfdHlwZSAoKTsKKysJCXB1YmxpYyB1aW50NjQg aWQgeyBnZXQ7IGNvbnN0cnVjdDsgfQorKwkJcHVibGljIHVpbnQ2NCBzZXJpYWwgeyBnZXQ7IGNv bnN0cnVjdDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgQ2x1dHRlci5JbnB1 dERldmljZVRvb2xUeXBlIHR5cGUgeyBnZXQ7IGNvbnN0cnVjdDsgfQorKwl9CisrCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRl cl9pbnB1dF9mb2N1c19nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgSW5w dXRGb2N1cyA6IEdMaWIuT2JqZWN0IHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlv biA9IGZhbHNlKV0KKysJCXByb3RlY3RlZCBJbnB1dEZvY3VzICgpOworKwkJW05vV3JhcHBlcl0K KysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgY29tbWl0X3RleHQgKHN0cmluZyB0ZXh0KTsKKysJCVtO b1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIGRlbGV0ZV9zdXJyb3VuZGluZyAodWlu dCBvZmZzZXQsIHVpbnQgbGVuKTsKKysJCXB1YmxpYyBib29sIGZpbHRlcl9rZXlfZXZlbnQgKENs dXR0ZXIuS2V5RXZlbnQga2V5KTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCB2 b2lkIGZvY3VzX2luIChDbHV0dGVyLklucHV0TWV0aG9kIGlucHV0X21ldGhvZCk7CisrCQlbTm9X cmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwgdm9pZCBmb2N1c19vdXQgKCk7CisrCQlwdWJsaWMg Ym9vbCBpc19mb2N1c2VkICgpOworKwkJW05vV3JhcHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFsIHZv aWQgcmVxdWVzdF9zdXJyb3VuZGluZyAoKTsKKysJCXB1YmxpYyB2b2lkIHJlc2V0ICgpOworKwkJ cHVibGljIHZvaWQgc2V0X2Nhbl9zaG93X3ByZWVkaXQgKGJvb2wgY2FuX3Nob3dfcHJlZWRpdCk7 CisrCQlwdWJsaWMgdm9pZCBzZXRfY29udGVudF9oaW50cyAoQ2x1dHRlci5JbnB1dENvbnRlbnRI aW50RmxhZ3MgaGludCk7CisrCQlwdWJsaWMgdm9pZCBzZXRfY29udGVudF9wdXJwb3NlIChDbHV0 dGVyLklucHV0Q29udGVudFB1cnBvc2UgcHVycG9zZSk7CisrCQlwdWJsaWMgdm9pZCBzZXRfY3Vy c29yX2xvY2F0aW9uIChHcmFwaGVuZS5SZWN0IHJlY3QpOworKwkJcHVibGljIHZvaWQgc2V0X2lu cHV0X3BhbmVsX3N0YXRlIChDbHV0dGVyLklucHV0UGFuZWxTdGF0ZSBzdGF0ZSk7CisrCQlbTm9X cmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwgdm9pZCBzZXRfcHJlZWRpdF90ZXh0IChzdHJpbmcg cHJlZWRpdCwgdWludCBjdXJzb3IpOworKwkJcHVibGljIHZvaWQgc2V0X3N1cnJvdW5kaW5nIChz dHJpbmcgdGV4dCwgdWludCBjdXJzb3IsIHVpbnQgYW5jaG9yKTsKKysJfQorKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJf aW5wdXRfbWV0aG9kX2dldF90eXBlICgpIildCisrCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBJbnB1 dE1ldGhvZCA6IEdMaWIuT2JqZWN0IHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlv biA9IGZhbHNlKV0KKysJCXByb3RlY3RlZCBJbnB1dE1ldGhvZCAoKTsKKysJCVtOb1dyYXBwZXJd CisrCQlwdWJsaWMgdmlydHVhbCBib29sIGZpbHRlcl9rZXlfZXZlbnQgKENsdXR0ZXIuRXZlbnQg a2V5KTsKKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZm9jdXNfaW4gKENsdXR0ZXIuSW5wdXRGb2N1 cyBhY3Rvcik7CisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIGZvY3VzX291dCAoKTsKKysJCXB1Ymxp YyB2b2lkIGZvcndhcmRfa2V5ICh1aW50MzIga2V5dmFsLCB1aW50MzIga2V5Y29kZSwgdWludDMy IHN0YXRlLCB1aW50NjQgdGltZV8sIGJvb2wgcHJlc3MpOworKwkJcHVibGljIHZvaWQgbm90aWZ5 X2tleV9ldmVudCAoQ2x1dHRlci5FdmVudCBldmVudCwgYm9vbCBmaWx0ZXJlZCk7CisrCQlbTm9X cmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwgdm9pZCByZXNldCAoKTsKKysJCVtOb1dyYXBwZXJd CisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIHNldF9jdXJzb3JfbG9jYXRpb24gKEdyYXBoZW5lLlJl Y3QgcmVjdCk7CisrCQlwdWJsaWMgdm9pZCBzZXRfaW5wdXRfcGFuZWxfc3RhdGUgKENsdXR0ZXIu SW5wdXRQYW5lbFN0YXRlIHN0YXRlKTsKKysJCXB1YmxpYyB2b2lkIHNldF9wcmVlZGl0X3RleHQg KHN0cmluZz8gcHJlZWRpdCwgdWludCBjdXJzb3IpOworKwkJW05vV3JhcHBlcl0KKysJCXB1Ymxp YyB2aXJ0dWFsIHZvaWQgc2V0X3N1cnJvdW5kaW5nIChzdHJpbmcgdGV4dCwgdWludCBjdXJzb3Is IHVpbnQgYW5jaG9yKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIHVw ZGF0ZV9jb250ZW50X2hpbnRzIChDbHV0dGVyLklucHV0Q29udGVudEhpbnRGbGFncyBoaW50KTsK KysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIHVwZGF0ZV9jb250ZW50X3B1 cnBvc2UgKENsdXR0ZXIuSW5wdXRDb250ZW50UHVycG9zZSBwdXJwb3NlKTsKKysJCVtOb0FjY2Vz c29yTWV0aG9kXQorKwkJcHVibGljIGJvb2wgY2FuX3Nob3dfcHJlZWRpdCB7IGdldDsgc2V0OyB9 CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyBDbHV0dGVyLklucHV0Q29udGVudEhp bnRGbGFncyBjb250ZW50X2hpbnRzIHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9k XQorKwkJcHVibGljIENsdXR0ZXIuSW5wdXRDb250ZW50UHVycG9zZSBjb250ZW50X3B1cnBvc2Ug eyBnZXQ7IHNldDsgfQorKwkJW0hhc0VtaXR0ZXJdCisrCQlwdWJsaWMgc2lnbmFsIHZvaWQgY29t bWl0IChzdHJpbmcgdGV4dCk7CisrCQlwdWJsaWMgc2lnbmFsIHZvaWQgY3Vyc29yX2xvY2F0aW9u X2NoYW5nZWQgKEdyYXBoZW5lLlJlY3Qgb2JqZWN0KTsKKysJCVtIYXNFbWl0dGVyXQorKwkJcHVi bGljIHNpZ25hbCB2b2lkIGRlbGV0ZV9zdXJyb3VuZGluZyAodWludCBvZmZzZXQsIHVpbnQgbGVu KTsKKysJCXB1YmxpYyBzaWduYWwgdm9pZCBpbnB1dF9wYW5lbF9zdGF0ZSAoQ2x1dHRlci5JbnB1 dFBhbmVsU3RhdGUgb2JqZWN0KTsKKysJCVtIYXNFbWl0dGVyXQorKwkJcHVibGljIHNpZ25hbCB2 b2lkIHJlcXVlc3Rfc3Vycm91bmRpbmcgKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2ludGVydmFsX2dl dF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJcHVibGljIGNsYXNz IEludGVydmFsIDogR0xpYi5Jbml0aWFsbHlVbm93bmVkLCBDbHV0dGVyLlNjcmlwdGFibGUgewor KwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJcHVibGljIElu dGVydmFsIChHTGliLlR5cGUgZ3R5cGUsIC4uLik7CisrCQlwdWJsaWMgQ2x1dHRlci5JbnRlcnZh bCBjbG9uZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyB1bm93 bmVkIEdMaWIuVmFsdWU/IGNvbXB1dGUgKGRvdWJsZSBmYWN0b3IpOworKwkJcHVibGljIHZpcnR1 YWwgYm9vbCBjb21wdXRlX3ZhbHVlIChkb3VibGUgZmFjdG9yLCBvdXQgR0xpYi5WYWx1ZSB2YWx1 ZSk7CisrCQlwdWJsaWMgR0xpYi5WYWx1ZSBnZXRfZmluYWxfdmFsdWUgKCk7CisrCQlwdWJsaWMg R0xpYi5WYWx1ZSBnZXRfaW5pdGlhbF92YWx1ZSAoKTsKKysJCXB1YmxpYyB2b2lkIGdldF9pbnRl cnZhbCAoLi4uKTsKKysJCXB1YmxpYyBHTGliLlR5cGUgZ2V0X3ZhbHVlX3R5cGUgKCk7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIGJvb2wgaXNfdmFsaWQgKCk7Cisr CQlwdWJsaWMgdW5vd25lZCBHTGliLlZhbHVlPyBwZWVrX2ZpbmFsX3ZhbHVlICgpOworKwkJcHVi bGljIHVub3duZWQgR0xpYi5WYWx1ZT8gcGVla19pbml0aWFsX3ZhbHVlICgpOworKwkJcHVibGlj IHN0YXRpYyB2b2lkIHJlZ2lzdGVyX3Byb2dyZXNzX2Z1bmMgKEdMaWIuVHlwZSB2YWx1ZV90eXBl LCBDbHV0dGVyLlByb2dyZXNzRnVuYyBmdW5jKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEw IildCisrCQlwdWJsaWMgdm9pZCBzZXRfZmluYWwgKC4uLik7CisrCQlwdWJsaWMgdm9pZCBzZXRf ZmluYWxfdmFsdWUgKEdMaWIuVmFsdWUgdmFsdWUpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTAiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9pbml0aWFsICguLi4pOworKwkJcHVibGljIHZvaWQg c2V0X2luaXRpYWxfdmFsdWUgKEdMaWIuVmFsdWUgdmFsdWUpOworKwkJcHVibGljIHZvaWQgc2V0 X2ludGVydmFsICguLi4pOworKwkJcHVibGljIHZpcnR1YWwgYm9vbCB2YWxpZGF0ZSAoR0xpYi5Q YXJhbVNwZWMgcHNwZWMpOworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFs c2UpXQorKwkJcHVibGljIEludGVydmFsLndpdGhfdmFsdWVzIChHTGliLlR5cGUgZ3R5cGUsIEdM aWIuVmFsdWU/IGluaXRpYWwsIEdMaWIuVmFsdWU/IGZpbmFsKTsKKysJCVtOb0FjY2Vzc29yTWV0 aG9kXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyBHTGliLlZhbHVl IGZpbmFsIHsgb3duZWQgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyBHTGliLlZhbHVlIGluaXRpYWwgeyBv d25lZCBnZXQ7IHNldDsgfQorKwkJcHVibGljIEdMaWIuVHlwZSB2YWx1ZV90eXBlIHsgZ2V0OyBj b25zdHJ1Y3Q7IH0KKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJW0NvbXBhY3RdCisrCVtWZXJzaW9u IChzaW5jZSA9ICIwLjIiKV0KKysJcHVibGljIGNsYXNzIEtleUV2ZW50IDogQ2x1dHRlci5FdmVu dCB7CisrCQlwdWJsaWMgd2VhayBDbHV0dGVyLklucHV0RGV2aWNlIGRldmljZTsKKysJCXB1Ymxp YyBDbHV0dGVyLkV2ZW50RmxhZ3MgZmxhZ3M7CisrCQlwdWJsaWMgdWludDE2IGhhcmR3YXJlX2tl eWNvZGU7CisrCQlwdWJsaWMgdWludCBrZXl2YWw7CisrCQlwdWJsaWMgQ2x1dHRlci5Nb2RpZmll clR5cGUgbW9kaWZpZXJfc3RhdGU7CisrCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJj ZTsKKysJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7CisrCQlwdWJsaWMgdWludDMy IHRpbWU7CisrCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKKysJCXB1YmxpYyB1bmlj aGFyIHVuaWNvZGVfdmFsdWU7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2tleWZyYW1lX3RyYW5zaXRpb25f Z2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJcHVibGljIGNs YXNzIEtleWZyYW1lVHJhbnNpdGlvbiA6IENsdXR0ZXIuUHJvcGVydHlUcmFuc2l0aW9uLCBDbHV0 dGVyLlNjcmlwdGFibGUgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFs c2UsIHR5cGUgPSAiQ2x1dHRlclRyYW5zaXRpb24qIildCisrCQlwdWJsaWMgS2V5ZnJhbWVUcmFu c2l0aW9uIChzdHJpbmcgcHJvcGVydHlfbmFtZSk7CisrCQlwdWJsaWMgdm9pZCBjbGVhciAoKTsK KysJCXB1YmxpYyB2b2lkIGdldF9rZXlfZnJhbWUgKHVpbnQgaW5kZXhfLCBvdXQgZG91YmxlIGtl eSwgb3V0IENsdXR0ZXIuQW5pbWF0aW9uTW9kZSBtb2RlLCBvdXQgR0xpYi5WYWx1ZSB2YWx1ZSk7 CisrCQlwdWJsaWMgdWludCBnZXRfbl9rZXlfZnJhbWVzICgpOworKwkJcHVibGljIHZvaWQgc2V0 X2tleV9mcmFtZSAodWludCBpbmRleF8sIGRvdWJsZSBrZXksIENsdXR0ZXIuQW5pbWF0aW9uTW9k ZSBtb2RlLCBHTGliLlZhbHVlIHZhbHVlKTsKKysJCXB1YmxpYyB2b2lkIHNldF9rZXlfZnJhbWVz IChbQ0NvZGUgKGFycmF5X2xlbmd0aF9jbmFtZSA9ICJuX2tleV9mcmFtZXMiLCBhcnJheV9sZW5n dGhfcG9zID0gMC41LCBhcnJheV9sZW5ndGhfdHlwZSA9ICJndWludCIpXSBkb3VibGVbXSBrZXlf ZnJhbWVzKTsKKysJCXB1YmxpYyB2b2lkIHNldF9tb2RlcyAoW0NDb2RlIChhcnJheV9sZW5ndGhf Y25hbWUgPSAibl9tb2RlcyIsIGFycmF5X2xlbmd0aF9wb3MgPSAwLjUsIGFycmF5X2xlbmd0aF90 eXBlID0gImd1aW50IildIENsdXR0ZXIuQW5pbWF0aW9uTW9kZVtdIG1vZGVzKTsKKysJCXB1Ymxp YyB2b2lkIHNldF92YWx1ZXMgKFtDQ29kZSAoYXJyYXlfbGVuZ3RoX2NuYW1lID0gIm5fdmFsdWVz IiwgYXJyYXlfbGVuZ3RoX3BvcyA9IDAuNSwgYXJyYXlfbGVuZ3RoX3R5cGUgPSAiZ3VpbnQiKV0g R0xpYi5WYWx1ZVtdIHZhbHVlcyk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2tleW1hcF9nZXRfdHlwZSAo KSIpXQorKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgS2V5bWFwIDogR0xpYi5PYmplY3QgeworKwkJ W0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJcHJvdGVjdGVkIEtl eW1hcCAoKTsKKysJCXB1YmxpYyB2aXJ0dWFsIGJvb2wgZ2V0X2NhcHNfbG9ja19zdGF0ZSAoKTsK KysJCXB1YmxpYyB2aXJ0dWFsIFBhbmdvLkRpcmVjdGlvbiBnZXRfZGlyZWN0aW9uICgpOworKwkJ cHVibGljIHZpcnR1YWwgYm9vbCBnZXRfbnVtX2xvY2tfc3RhdGUgKCk7CisrCQlwdWJsaWMgc2ln bmFsIHZvaWQgc3RhdGVfY2hhbmdlZCAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfbGF5ZXJfbm9kZV9n ZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgY2xhc3MgTGF5ZXJOb2RlIDogQ2x1dHRlci5QYWludE5v ZGUgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAi Q2x1dHRlclBhaW50Tm9kZSoiKV0KKysJCXB1YmxpYyBMYXllck5vZGUgKENvZ2wuTWF0cml4IHBy b2plY3Rpb24sIENhaXJvLlJlY3RhbmdsZSB2aWV3cG9ydCwgZmxvYXQgd2lkdGgsIGZsb2F0IGhl aWdodCwgdWludDggb3BhY2l0eSk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2xheW91dF9tYW5hZ2VyX2dl dF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KKysJcHVibGljIGFic3Ry YWN0IGNsYXNzIExheW91dE1hbmFnZXIgOiBHTGliLkluaXRpYWxseVVub3duZWQgeworKwkJW0ND b2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJcHJvdGVjdGVkIExheW91 dE1hbmFnZXIgKCk7CisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIGFsbG9jYXRlIChDbHV0dGVyLkNv bnRhaW5lciBjb250YWluZXIsIENsdXR0ZXIuQWN0b3JCb3ggYWxsb2NhdGlvbiwgQ2x1dHRlci5B bGxvY2F0aW9uRmxhZ3MgZmxhZ3MpOworKwkJcHVibGljIHZvaWQgY2hpbGRfZ2V0IChDbHV0dGVy LkNvbnRhaW5lciBjb250YWluZXIsIENsdXR0ZXIuQWN0b3IgYWN0b3IsIC4uLik7CisrCQlwdWJs aWMgdm9pZCBjaGlsZF9nZXRfcHJvcGVydHkgKENsdXR0ZXIuQ29udGFpbmVyIGNvbnRhaW5lciwg Q2x1dHRlci5BY3RvciBhY3Rvciwgc3RyaW5nIHByb3BlcnR5X25hbWUsIEdMaWIuVmFsdWUgdmFs dWUpOworKwkJcHVibGljIHZvaWQgY2hpbGRfc2V0IChDbHV0dGVyLkNvbnRhaW5lciBjb250YWlu ZXIsIENsdXR0ZXIuQWN0b3IgYWN0b3IsIC4uLik7CisrCQlwdWJsaWMgdm9pZCBjaGlsZF9zZXRf cHJvcGVydHkgKENsdXR0ZXIuQ29udGFpbmVyIGNvbnRhaW5lciwgQ2x1dHRlci5BY3RvciBhY3Rv ciwgc3RyaW5nIHByb3BlcnR5X25hbWUsIEdMaWIuVmFsdWUgdmFsdWUpOworKwkJW05vV3JhcHBl cl0KKysJCXB1YmxpYyB2aXJ0dWFsIHVub3duZWQgQ2x1dHRlci5MYXlvdXRNZXRhIGNyZWF0ZV9j aGlsZF9tZXRhIChDbHV0dGVyLkNvbnRhaW5lciBjb250YWluZXIsIENsdXR0ZXIuQWN0b3IgYWN0 b3IpOworKwkJW05vV3JhcHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZW5kX2FuaW1hdGlv biAoKTsKKysJCXB1YmxpYyB1bm93bmVkIEdMaWIuUGFyYW1TcGVjIGZpbmRfY2hpbGRfcHJvcGVy dHkgKHN0cmluZyBuYW1lKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCBkb3Vi bGUgZ2V0X2FuaW1hdGlvbl9wcm9ncmVzcyAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAi KV0KKysJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuTGF5b3V0TWV0YSBnZXRfY2hpbGRfbWV0YSAo Q2x1dHRlci5Db250YWluZXIgY29udGFpbmVyLCBDbHV0dGVyLkFjdG9yIGFjdG9yKTsKKysJCVtO b1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCBHTGliLlR5cGUgZ2V0X2NoaWxkX21ldGFfdHlw ZSAoKTsKKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZ2V0X3ByZWZlcnJlZF9oZWlnaHQgKENsdXR0 ZXIuQ29udGFpbmVyIGNvbnRhaW5lciwgZmxvYXQgZm9yX3dpZHRoLCBvdXQgZmxvYXQgbWluX2hl aWdodF9wLCBvdXQgZmxvYXQgbmF0X2hlaWdodF9wKTsKKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQg Z2V0X3ByZWZlcnJlZF93aWR0aCAoQ2x1dHRlci5Db250YWluZXIgY29udGFpbmVyLCBmbG9hdCBm b3JfaGVpZ2h0LCBvdXQgZmxvYXQgbWluX3dpZHRoX3AsIG91dCBmbG9hdCBuYXRfd2lkdGhfcCk7 CisrCQlbQ0NvZGUgKGFycmF5X2xlbmd0aF9wb3MgPSAwLjEsIGFycmF5X2xlbmd0aF90eXBlID0g Imd1aW50IildCisrCQlwdWJsaWMgR0xpYi5QYXJhbVNwZWNbXSBsaXN0X2NoaWxkX3Byb3BlcnRp ZXMgKCk7CisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIHNldF9jb250YWluZXIgKENsdXR0ZXIuQ29u dGFpbmVyPyBjb250YWluZXIpOworKwkJW0hhc0VtaXR0ZXJdCisrCQlwdWJsaWMgdmlydHVhbCBz aWduYWwgdm9pZCBsYXlvdXRfY2hhbmdlZCAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfbGF5b3V0X21l dGFfZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQorKwlwdWJsaWMg YWJzdHJhY3QgY2xhc3MgTGF5b3V0TWV0YSA6IENsdXR0ZXIuQ2hpbGRNZXRhIHsKKysJCVtDQ29k ZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KKysJCXByb3RlY3RlZCBMYXlvdXRN ZXRhICgpOworKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5MYXlvdXRNYW5hZ2VyIGdldF9tYW5h Z2VyICgpOworKwkJcHVibGljIENsdXR0ZXIuTGF5b3V0TWFuYWdlciBtYW5hZ2VyIHsgZ2V0OyBj b25zdHJ1Y3Q7IH0KKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24g PSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9pZCA9ICJjbHV0dGVyX21hcmdpbl9nZXRfdHlwZSAoKSIp XQorKwlbQ29tcGFjdF0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJcHVibGljIGNs YXNzIE1hcmdpbiB7CisrCQlwdWJsaWMgZmxvYXQgYm90dG9tOworKwkJcHVibGljIGZsb2F0IGxl ZnQ7CisrCQlwdWJsaWMgZmxvYXQgcmlnaHQ7CisrCQlwdWJsaWMgZmxvYXQgdG9wOworKwkJW0ND b2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJcHVibGljIE1hcmdpbiAo KTsKKysJCXB1YmxpYyBDbHV0dGVyLk1hcmdpbiBjb3B5ICgpOworKwkJcHVibGljIHZvaWQgZnJl ZSAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJW0NvbXBhY3RdCisrCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjIiKV0KKysJcHVibGljIGNsYXNzIE1vdGlvbkV2ZW50IDogQ2x1dHRlci5FdmVudCB7 CisrCQlwdWJsaWMgZG91YmxlIGF4ZXM7CisrCQlwdWJsaWMgd2VhayBDbHV0dGVyLklucHV0RGV2 aWNlIGRldmljZTsKKysJCXB1YmxpYyBDbHV0dGVyLkV2ZW50RmxhZ3MgZmxhZ3M7CisrCQlwdWJs aWMgQ2x1dHRlci5Nb2RpZmllclR5cGUgbW9kaWZpZXJfc3RhdGU7CisrCQlwdWJsaWMgd2VhayBD bHV0dGVyLkFjdG9yIHNvdXJjZTsKKysJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7 CisrCQlwdWJsaWMgdWludDMyIHRpbWU7CisrCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlw ZTsKKysJCXB1YmxpYyBmbG9hdCB4OworKwkJcHVibGljIGZsb2F0IHk7CisrCX0KKysJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0 dGVyX29mZnNjcmVlbl9lZmZlY3RfZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0g IjEuNCIpXQorKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgT2Zmc2NyZWVuRWZmZWN0IDogQ2x1dHRl ci5FZmZlY3QgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQor KwkJcHJvdGVjdGVkIE9mZnNjcmVlbkVmZmVjdCAoKTsKKysJCXB1YmxpYyB2aXJ0dWFsIENvZ2wu SGFuZGxlIGNyZWF0ZV90ZXh0dXJlIChmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KTsKKysJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjE0IildCisrCQlwdWJsaWMgYm9vbCBnZXRfdGFyZ2V0X3JlY3Qg KG91dCB1bm93bmVkIEdyYXBoZW5lLlJlY3QgcmVjdCk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRl ZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNCIsIHNpbmNlID0gIjEuOCIpXQorKwkJ cHVibGljIGJvb2wgZ2V0X3RhcmdldF9zaXplIChvdXQgZmxvYXQgd2lkdGgsIG91dCBmbG9hdCBo ZWlnaHQpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyB1bm93bmVk IENvZ2wuSGFuZGxlIGdldF90ZXh0dXJlICgpOworKwkJcHVibGljIHZpcnR1YWwgdm9pZCBwYWlu dF90YXJnZXQgKENsdXR0ZXIuUGFpbnRDb250ZXh0IHBhaW50X2NvbnRleHQpOworKwl9CisrCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAi Y2x1dHRlcl9wYWdlX3R1cm5fZWZmZWN0X2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjQiKV0KKysJcHVibGljIGNsYXNzIFBhZ2VUdXJuRWZmZWN0IDogQ2x1dHRlci5EZWZv cm1FZmZlY3QgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5 cGUgPSAiQ2x1dHRlckVmZmVjdCoiKV0KKysJCXB1YmxpYyBQYWdlVHVybkVmZmVjdCAoZG91Ymxl IHBlcmlvZCwgZG91YmxlIGFuZ2xlLCBmbG9hdCByYWRpdXMpOworKwkJcHVibGljIGRvdWJsZSBn ZXRfYW5nbGUgKCk7CisrCQlwdWJsaWMgZG91YmxlIGdldF9wZXJpb2QgKCk7CisrCQlwdWJsaWMg ZmxvYXQgZ2V0X3JhZGl1cyAoKTsKKysJCXB1YmxpYyB2b2lkIHNldF9hbmdsZSAoZG91YmxlIGFu Z2xlKTsKKysJCXB1YmxpYyB2b2lkIHNldF9wZXJpb2QgKGRvdWJsZSBwZXJpb2QpOworKwkJcHVi bGljIHZvaWQgc2V0X3JhZGl1cyAoZmxvYXQgcmFkaXVzKTsKKysJCXB1YmxpYyBkb3VibGUgYW5n bGUgeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIGRvdWJsZSBwZXJpb2QgeyBnZXQ7IHNldDsgfQor KwkJcHVibGljIGZsb2F0IHJhZGl1cyB7IGdldDsgc2V0OyB9CisrCX0KKysJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgcmVmX2Z1bmN0aW9uID0gImNsdXR0 ZXJfcGFpbnRfY29udGV4dF9yZWYiLCB0eXBlX2lkID0gImNsdXR0ZXJfcGFpbnRfY29udGV4dF9n ZXRfdHlwZSAoKSIsIHVucmVmX2Z1bmN0aW9uID0gImNsdXR0ZXJfcGFpbnRfY29udGV4dF91bnJl ZiIpXQorKwlbQ29tcGFjdF0KKysJcHVibGljIGNsYXNzIFBhaW50Q29udGV4dCB7CisrCQlwdWJs aWMgdm9pZCBkZXN0cm95ICgpOworKwkJcHVibGljIHVub3duZWQgQ29nbC5GcmFtZWJ1ZmZlciBn ZXRfZnJhbWVidWZmZXIgKCk7CisrCQlwdWJsaWMgdm9pZCBwb3BfZnJhbWVidWZmZXIgKCk7Cisr CQlwdWJsaWMgdm9pZCBwdXNoX2ZyYW1lYnVmZmVyIChDb2dsLkZyYW1lYnVmZmVyIGZyYW1lYnVm ZmVyKTsKKysJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuUGFpbnRDb250ZXh0IEByZWYgKCk7Cisr CQlwdWJsaWMgdm9pZCB1bnJlZiAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfcGFpbnRfbm9kZV9nZXRf dHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwlwdWJsaWMgYWJzdHJh Y3QgY2xhc3MgUGFpbnROb2RlIHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9 IGZhbHNlKV0KKysJCXByb3RlY3RlZCBQYWludE5vZGUgKCk7CisrCQlwdWJsaWMgdm9pZCBhZGRf Y2hpbGQgKENsdXR0ZXIuUGFpbnROb2RlIGNoaWxkKTsKKysJCXB1YmxpYyB2b2lkIGFkZF9tdWx0 aXRleHR1cmVfcmVjdGFuZ2xlIChDbHV0dGVyLkFjdG9yQm94IHJlY3QsIGZsb2F0IHRleHRfY29v cmRzLCB1aW50IHRleHRfY29vcmRzX2xlbik7CisrCQlwdWJsaWMgdm9pZCBhZGRfcmVjdGFuZ2xl IChDbHV0dGVyLkFjdG9yQm94IHJlY3QpOworKwkJcHVibGljIHZvaWQgYWRkX3RleHR1cmVfcmVj dGFuZ2xlIChDbHV0dGVyLkFjdG9yQm94IHJlY3QsIGZsb2F0IHhfMSwgZmxvYXQgeV8xLCBmbG9h dCB4XzIsIGZsb2F0IHlfMik7CisrCQlwdWJsaWMgdW5vd25lZCBDb2dsLkZyYW1lYnVmZmVyIGdl dF9mcmFtZWJ1ZmZlciAoKTsKKysJCXB1YmxpYyB2b2lkIHBhaW50IChDbHV0dGVyLlBhaW50Q29u dGV4dCBwYWludF9jb250ZXh0KTsKKysJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuUGFpbnROb2Rl IEByZWYgKCk7CisrCQlwdWJsaWMgdm9pZCBzZXRfbmFtZSAoc3RyaW5nIG5hbWUpOworKwkJcHVi bGljIHZvaWQgdW5yZWYgKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1 bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wYWludF92b2x1bWVf Z2V0X3R5cGUgKCkiKV0KKysJW0NvbXBhY3RdCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0K KysJcHVibGljIGNsYXNzIFBhaW50Vm9sdW1lIHsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYi KV0KKysJCXB1YmxpYyBDbHV0dGVyLlBhaW50Vm9sdW1lIGNvcHkgKCk7CisrCQlbVmVyc2lvbiAo c2luY2UgPSAiMS42IildCisrCQlwdWJsaWMgdm9pZCBmcmVlICgpOworKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuNiIpXQorKwkJcHVibGljIGZsb2F0IGdldF9kZXB0aCAoKTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjYiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRfaGVpZ2h0ICgpOworKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuNiIpXQorKwkJcHVibGljIHZvaWQgZ2V0X29yaWdpbiAob3V0IHVu b3duZWQgR3JhcGhlbmUuUG9pbnQzRCB2ZXJ0ZXgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu NiIpXQorKwkJcHVibGljIGZsb2F0IGdldF93aWR0aCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjYiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9kZXB0aCAoZmxvYXQgZGVwdGgpOworKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuNiIpXQorKwkJcHVibGljIGJvb2wgc2V0X2Zyb21fYWxsb2NhdGlv biAoQ2x1dHRlci5BY3RvciBhY3Rvcik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCisr CQlwdWJsaWMgdm9pZCBzZXRfaGVpZ2h0IChmbG9hdCBoZWlnaHQpOworKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuNiIpXQorKwkJcHVibGljIHZvaWQgc2V0X29yaWdpbiAoR3JhcGhlbmUuUG9pbnQz RCBvcmlnaW4pOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQorKwkJcHVibGljIHZvaWQg c2V0X3dpZHRoIChmbG9hdCB3aWR0aCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCisr CQlwdWJsaWMgdm9pZCB1bmlvbiAoQ2x1dHRlci5QYWludFZvbHVtZSBhbm90aGVyX3B2KTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCB1bmlvbl9ib3ggKENs dXR0ZXIuQWN0b3JCb3ggYm94KTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfcGFuX2FjdGlvbl9nZXRfdHlw ZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwlwdWJsaWMgY2xhc3MgUGFu QWN0aW9uIDogQ2x1dHRlci5HZXN0dXJlQWN0aW9uIHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVj dF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJBY3Rpb24qIildCisrCQlwdWJsaWMg UGFuQWN0aW9uICgpOworKwkJcHVibGljIGRvdWJsZSBnZXRfYWNjZWxlcmF0aW9uX2ZhY3RvciAo KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjI0IildCisrCQlwdWJsaWMgZmxvYXQgZ2V0X2Nv bnN0cmFpbmVkX21vdGlvbl9kZWx0YSAodWludCBwb2ludCwgb3V0IGZsb2F0IGRlbHRhX3gsIG91 dCBmbG9hdCBkZWx0YV95KTsKKysJCXB1YmxpYyBkb3VibGUgZ2V0X2RlY2VsZXJhdGlvbiAoKTsK KysJCXB1YmxpYyBib29sIGdldF9pbnRlcnBvbGF0ZSAoKTsKKysJCXB1YmxpYyB2b2lkIGdldF9p bnRlcnBvbGF0ZWRfY29vcmRzIChvdXQgZmxvYXQgaW50ZXJwb2xhdGVkX3gsIG91dCBmbG9hdCBp bnRlcnBvbGF0ZWRfeSk7CisrCQlwdWJsaWMgZmxvYXQgZ2V0X2ludGVycG9sYXRlZF9kZWx0YSAo b3V0IGZsb2F0IGRlbHRhX3gsIG91dCBmbG9hdCBkZWx0YV95KTsKKysJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjE0IildCisrCQlwdWJsaWMgdm9pZCBnZXRfbW90aW9uX2Nvb3JkcyAodWludCBwb2lu dCwgb3V0IGZsb2F0IG1vdGlvbl94LCBvdXQgZmxvYXQgbW90aW9uX3kpOworKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTQiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRfbW90aW9uX2RlbHRhICh1aW50 IHBvaW50LCBvdXQgZmxvYXQgZGVsdGFfeCwgb3V0IGZsb2F0IGRlbHRhX3kpOworKwkJcHVibGlj IENsdXR0ZXIuUGFuQXhpcyBnZXRfcGFuX2F4aXMgKCk7CisrCQlwdWJsaWMgdm9pZCBzZXRfYWNj ZWxlcmF0aW9uX2ZhY3RvciAoZG91YmxlIGZhY3Rvcik7CisrCQlwdWJsaWMgdm9pZCBzZXRfZGVj ZWxlcmF0aW9uIChkb3VibGUgcmF0ZSk7CisrCQlwdWJsaWMgdm9pZCBzZXRfaW50ZXJwb2xhdGUg KGJvb2wgc2hvdWxkX2ludGVycG9sYXRlKTsKKysJCXB1YmxpYyB2b2lkIHNldF9wYW5fYXhpcyAo Q2x1dHRlci5QYW5BeGlzIGF4aXMpOworKwkJcHVibGljIGRvdWJsZSBhY2NlbGVyYXRpb25fZmFj dG9yIHsgZ2V0OyBzZXQ7IH0KKysJCXB1YmxpYyBkb3VibGUgZGVjZWxlcmF0aW9uIHsgZ2V0OyBz ZXQ7IH0KKysJCXB1YmxpYyBib29sIGludGVycG9sYXRlIHsgZ2V0OyBzZXQ7IH0KKysJCXB1Ymxp YyBDbHV0dGVyLlBhbkF4aXMgcGFuX2F4aXMgeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIHZpcnR1 YWwgc2lnbmFsIGJvb2wgcGFuIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBib29sIGlzX2ludGVycG9s YXRlZCk7CisrCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBwYW5fc3RvcHBlZCAoQ2x1dHRl ci5BY3RvciBhY3Rvcik7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgbG93ZXJfY2FzZV9jc3VmZml4ID0gInBhcmFtX3VuaXRzIiwgdHlwZV9p ZCA9ICJjbHV0dGVyX3BhcmFtX3VuaXRzX2dldF90eXBlICgpIildCisrCXB1YmxpYyBjbGFzcyBQ YXJhbVNwZWNVbml0IDogR0xpYi5QYXJhbVNwZWMgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJcHJvdGVjdGVkIFBhcmFtU3BlY1VuaXQgKCk7CisrCX0K KysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9p ZCA9ICJjbHV0dGVyX3BhdGhfZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEu MCIpXQorKwlwdWJsaWMgY2xhc3MgUGF0aCA6IEdMaWIuSW5pdGlhbGx5VW5vd25lZCB7CisrCQlb Q0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwdWJsaWMgUGF0aCAo KTsKKysJCXB1YmxpYyB2b2lkIGFkZF9jYWlyb19wYXRoIChDYWlyby5QYXRoIGNwYXRoKTsKKysJ CXB1YmxpYyB2b2lkIGFkZF9jbG9zZSAoKTsKKysJCXB1YmxpYyB2b2lkIGFkZF9jdXJ2ZV90byAo aW50IHhfMSwgaW50IHlfMSwgaW50IHhfMiwgaW50IHlfMiwgaW50IHhfMywgaW50IHlfMyk7Cisr CQlwdWJsaWMgdm9pZCBhZGRfbGluZV90byAoaW50IHgsIGludCB5KTsKKysJCXB1YmxpYyB2b2lk IGFkZF9tb3ZlX3RvIChpbnQgeCwgaW50IHkpOworKwkJcHVibGljIHZvaWQgYWRkX25vZGUgKENs dXR0ZXIuUGF0aE5vZGUgbm9kZSk7CisrCQlwdWJsaWMgdm9pZCBhZGRfcmVsX2N1cnZlX3RvIChp bnQgeF8xLCBpbnQgeV8xLCBpbnQgeF8yLCBpbnQgeV8yLCBpbnQgeF8zLCBpbnQgeV8zKTsKKysJ CXB1YmxpYyB2b2lkIGFkZF9yZWxfbGluZV90byAoaW50IHgsIGludCB5KTsKKysJCXB1YmxpYyB2 b2lkIGFkZF9yZWxfbW92ZV90byAoaW50IHgsIGludCB5KTsKKysJCXB1YmxpYyBib29sIGFkZF9z dHJpbmcgKHN0cmluZyBzdHIpOworKwkJcHVibGljIHZvaWQgY2xlYXIgKCk7CisrCQlwdWJsaWMg dm9pZCBAZm9yZWFjaCAoQ2x1dHRlci5QYXRoQ2FsbGJhY2sgY2FsbGJhY2spOworKwkJcHVibGlj IHN0cmluZyBnZXRfZGVzY3JpcHRpb24gKCk7CisrCQlwdWJsaWMgdWludCBnZXRfbGVuZ3RoICgp OworKwkJcHVibGljIHVpbnQgZ2V0X25fbm9kZXMgKCk7CisrCQlwdWJsaWMgQ2x1dHRlci5QYXRo Tm9kZSBnZXRfbm9kZSAodWludCBpbmRleF8pOworKwkJcHVibGljIEdMaWIuU0xpc3Q8d2VhayBD bHV0dGVyLlBhdGhOb2RlPz4gZ2V0X25vZGVzICgpOworKwkJcHVibGljIHVpbnQgZ2V0X3Bvc2l0 aW9uIChkb3VibGUgcHJvZ3Jlc3MsIG91dCBDbHV0dGVyLktub3QgcG9zaXRpb24pOworKwkJcHVi bGljIHZvaWQgaW5zZXJ0X25vZGUgKGludCBpbmRleF8sIENsdXR0ZXIuUGF0aE5vZGUgbm9kZSk7 CisrCQlwdWJsaWMgdm9pZCByZW1vdmVfbm9kZSAodWludCBpbmRleF8pOworKwkJcHVibGljIHZv aWQgcmVwbGFjZV9ub2RlICh1aW50IGluZGV4XywgQ2x1dHRlci5QYXRoTm9kZSBub2RlKTsKKysJ CXB1YmxpYyBib29sIHNldF9kZXNjcmlwdGlvbiAoc3RyaW5nIHN0cik7CisrCQlwdWJsaWMgdm9p ZCB0b19jYWlyb19wYXRoIChDYWlyby5Db250ZXh0IGNyKTsKKysJCVtDQ29kZSAoaGFzX2NvbnN0 cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KKysJCXB1YmxpYyBQYXRoLndpdGhfZGVzY3JpcHRpb24g KHN0cmluZyBkZXNjKTsKKysJCXB1YmxpYyBzdHJpbmcgZGVzY3JpcHRpb24geyBvd25lZCBnZXQ7 IHNldDsgfQorKwkJcHVibGljIHVpbnQgbGVuZ3RoIHsgZ2V0OyB9CisrCX0KKysJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVy X3BhdGhfY29uc3RyYWludF9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS42 IildCisrCXB1YmxpYyBjbGFzcyBQYXRoQ29uc3RyYWludCA6IENsdXR0ZXIuQ29uc3RyYWludCB7 CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0 dGVyQ29uc3RyYWludCoiKV0KKysJCXB1YmxpYyBQYXRoQ29uc3RyYWludCAoQ2x1dHRlci5QYXRo PyBwYXRoLCBmbG9hdCBvZmZzZXQpOworKwkJcHVibGljIGZsb2F0IGdldF9vZmZzZXQgKCk7Cisr CQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLlBhdGggZ2V0X3BhdGggKCk7CisrCQlwdWJsaWMgdm9p ZCBzZXRfb2Zmc2V0IChmbG9hdCBvZmZzZXQpOworKwkJcHVibGljIHZvaWQgc2V0X3BhdGggKENs dXR0ZXIuUGF0aD8gcGF0aCk7CisrCQlwdWJsaWMgZmxvYXQgb2Zmc2V0IHsgZ2V0OyBzZXQ7IH0K KysJCXB1YmxpYyBDbHV0dGVyLlBhdGggcGF0aCB7IGdldDsgc2V0OyB9CisrCQlwdWJsaWMgc2ln bmFsIHZvaWQgbm9kZV9yZWFjaGVkIChDbHV0dGVyLkFjdG9yIGFjdG9yLCB1aW50IGluZGV4KTsK KysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBy ZWZfZnVuY3Rpb24gPSAiY2x1dHRlcl9waWNrX2NvbnRleHRfcmVmIiwgdHlwZV9pZCA9ICJjbHV0 dGVyX3BpY2tfY29udGV4dF9nZXRfdHlwZSAoKSIsIHVucmVmX2Z1bmN0aW9uID0gImNsdXR0ZXJf cGlja19jb250ZXh0X3VucmVmIildCisrCVtDb21wYWN0XQorKwlwdWJsaWMgY2xhc3MgUGlja0Nv bnRleHQgeworKwkJcHVibGljIHZvaWQgZGVzdHJveSAoKTsKKysJCXB1YmxpYyB1bm93bmVkIENs dXR0ZXIuUGlja0NvbnRleHQgQHJlZiAoKTsKKysJCXB1YmxpYyB2b2lkIHVucmVmICgpOworKwl9 CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVf aWQgPSAiY2x1dHRlcl9waXBlbGluZV9ub2RlX2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChz aW5jZSA9ICIxLjEwIildCisrCXB1YmxpYyBjbGFzcyBQaXBlbGluZU5vZGUgOiBDbHV0dGVyLlBh aW50Tm9kZSB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisr CQlwcm90ZWN0ZWQgUGlwZWxpbmVOb2RlICgpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wcm9wZXJ0eV90 cmFuc2l0aW9uX2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisr CXB1YmxpYyBjbGFzcyBQcm9wZXJ0eVRyYW5zaXRpb24gOiBDbHV0dGVyLlRyYW5zaXRpb24sIENs dXR0ZXIuU2NyaXB0YWJsZSB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBm YWxzZSwgdHlwZSA9ICJDbHV0dGVyVHJhbnNpdGlvbioiKV0KKysJCXB1YmxpYyBQcm9wZXJ0eVRy YW5zaXRpb24gKHN0cmluZz8gcHJvcGVydHlfbmFtZSk7CisrCQlwdWJsaWMgdW5vd25lZCBzdHJp bmcgZ2V0X3Byb3BlcnR5X25hbWUgKCk7CisrCQlwdWJsaWMgdm9pZCBzZXRfcHJvcGVydHlfbmFt ZSAoc3RyaW5nPyBwcm9wZXJ0eV9uYW1lKTsKKysJCXB1YmxpYyBzdHJpbmcgcHJvcGVydHlfbmFt ZSB7IGdldDsgc2V0OyB9CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3JlY3RhbmdsZV9nZXRfdHlwZSAoKSIp XQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCisrCXB1YmxpYyBjbGFzcyBSZWN0YW5nbGUg OiBDbHV0dGVyLkFjdG9yLCBBdGsuSW1wbGVtZW50b3IsIENsdXR0ZXIuQW5pbWF0YWJsZSwgQ2x1 dHRlci5Db250YWluZXIsIENsdXR0ZXIuU2NyaXB0YWJsZSB7CisrCQlbQ0NvZGUgKGhhc19jb25z dHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQWN0b3IqIildCisrCQlbVmVy c2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIpXQorKwkJ cHVibGljIFJlY3RhbmdsZSAoKTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVw cmVjYXRlZF9zaW5jZSA9ICIxLjEwIiwgc2luY2UgPSAiMC4yIildCisrCQlwdWJsaWMgQ2x1dHRl ci5Db2xvciBnZXRfYm9yZGVyX2NvbG9yICgpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0 cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIwLjIiKV0KKysJCXB1Ymxp YyB1aW50IGdldF9ib3JkZXJfd2lkdGggKCk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRy dWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIENsdXR0ZXIuQ29sb3Ig Z2V0X2NvbG9yICgpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVk X3NpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9ib3JkZXJfY29sb3IgKENsdXR0 ZXIuQ29sb3IgY29sb3IpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNh dGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIwLjIiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9i b3JkZXJfd2lkdGggKHVpbnQgd2lkdGgpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVl LCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9jb2xvciAo Q2x1dHRlci5Db2xvciBjb2xvcik7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24g PSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQWN0b3IqIildCisrCQlbVmVyc2lvbiAoZGVwcmVjYXRl ZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIFJlY3Rhbmds ZS53aXRoX2NvbG9yIChDbHV0dGVyLkNvbG9yIGNvbG9yKTsKKysJCXB1YmxpYyBDbHV0dGVyLkNv bG9yIGJvcmRlcl9jb2xvciB7IGdldDsgc2V0OyB9CisrCQlwdWJsaWMgdWludCBib3JkZXJfd2lk dGggeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIENsdXR0ZXIuQ29sb3IgY29sb3IgeyBnZXQ7IHNl dDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgYm9vbCBoYXNfYm9yZGVyIHsg Z2V0OyBzZXQ7IH0KKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfcm9vdF9ub2RlX2dldF90eXBlICgpIildCisr CXB1YmxpYyBjbGFzcyBSb290Tm9kZSA6IENsdXR0ZXIuUGFpbnROb2RlIHsKKysJCVtDQ29kZSAo aGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJQYWludE5vZGUq IildCisrCQlwdWJsaWMgUm9vdE5vZGUgKENvZ2wuRnJhbWVidWZmZXIgZnJhbWVidWZmZXIsIENs dXR0ZXIuQ29sb3IgY2xlYXJfY29sb3IsIENvZ2wuQnVmZmVyQml0IGNsZWFyX2ZsYWdzKTsKKysJ fQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBl X2lkID0gImNsdXR0ZXJfcm90YXRlX2FjdGlvbl9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMiIpXQorKwlwdWJsaWMgY2xhc3MgUm90YXRlQWN0aW9uIDogQ2x1dHRlci5H ZXN0dXJlQWN0aW9uIHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNl LCB0eXBlID0gIkNsdXR0ZXJBY3Rpb24qIildCisrCQlwdWJsaWMgUm90YXRlQWN0aW9uICgpOwor KwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgcm90YXRlIChDbHV0dGVyLkFjdG9yIGFjdG9y LCBkb3VibGUgYW5nbGUpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zY3JpcHRfZ2V0X3R5cGUgKCkiKV0K KysJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQorKwlwdWJsaWMgY2xhc3MgU2NyaXB0IDogR0xp Yi5PYmplY3QgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQor KwkJcHVibGljIFNjcmlwdCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KKysJCXB1 YmxpYyB2b2lkIGFkZF9zZWFyY2hfcGF0aHMgKFtDQ29kZSAoYXJyYXlfbGVuZ3RoX2NuYW1lID0g Im5fcGF0aHMiLCBhcnJheV9sZW5ndGhfcG9zID0gMS4xLCBhcnJheV9sZW5ndGhfdHlwZSA9ICJn c2l6ZSIpXSBzdHJpbmdbXSBwYXRocyk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUs IGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjEuOCIpXQorKwkJcHVibGljIHZv aWQgYWRkX3N0YXRlcyAoc3RyaW5nPyBuYW1lLCBDbHV0dGVyLlN0YXRlIHN0YXRlKTsKKysJCXB1 YmxpYyB2b2lkIGNvbm5lY3Rfc2lnbmFscyAodm9pZCogdXNlcl9kYXRhKTsKKysJCXB1YmxpYyB2 b2lkIGNvbm5lY3Rfc2lnbmFsc19mdWxsIChDbHV0dGVyLlNjcmlwdENvbm5lY3RGdW5jIGZ1bmMp OworKwkJcHVibGljIHZvaWQgZW5zdXJlX29iamVjdHMgKCk7CisrCQlwdWJsaWMgdW5vd25lZCBH TGliLk9iamVjdCBnZXRfb2JqZWN0IChzdHJpbmcgbmFtZSk7CisrCQlwdWJsaWMgaW50IGdldF9v YmplY3RzICguLi4pOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVk X3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyB1bm93bmVkIENsdXR0 ZXIuU3RhdGUgZ2V0X3N0YXRlcyAoc3RyaW5nPyBuYW1lKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEwIildCisrCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X3RyYW5zbGF0aW9uX2RvbWFp biAoKTsKKysJCXB1YmxpYyB2aXJ0dWFsIEdMaWIuVHlwZSBnZXRfdHlwZV9mcm9tX25hbWUgKHN0 cmluZyB0eXBlX25hbWUpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQorKwkJcHVibGlj IEdMaWIuTGlzdDx3ZWFrIEdMaWIuT2JqZWN0PiBsaXN0X29iamVjdHMgKCk7CisrCQlwdWJsaWMg dWludCBsb2FkX2Zyb21fZGF0YSAoc3RyaW5nIGRhdGEsIHNzaXplX3QgbGVuZ3RoKSB0aHJvd3Mg R0xpYi5FcnJvcjsKKysJCXB1YmxpYyB1aW50IGxvYWRfZnJvbV9maWxlIChzdHJpbmcgZmlsZW5h bWUpIHRocm93cyBHTGliLkVycm9yOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJ CXB1YmxpYyB1aW50IGxvYWRfZnJvbV9yZXNvdXJjZSAoc3RyaW5nIHJlc291cmNlX3BhdGgpIHRo cm93cyBHTGliLkVycm9yOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQorKwkJcHVibGlj IHN0cmluZyBsb29rdXBfZmlsZW5hbWUgKHN0cmluZyBmaWxlbmFtZSk7CisrCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgc2V0X3RyYW5zbGF0aW9uX2RvbWFpbiAo c3RyaW5nPyBkb21haW4pOworKwkJcHVibGljIHZvaWQgdW5tZXJnZV9vYmplY3RzICh1aW50IG1l cmdlX2lkKTsKKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJcHVibGljIHN0cmluZyBmaWxlbmFt ZSB7IG93bmVkIGdldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgYm9vbCBm aWxlbmFtZV9zZXQgeyBnZXQ7IH0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlw dWJsaWMgc3RyaW5nIHRyYW5zbGF0aW9uX2RvbWFpbiB7IGdldDsgc2V0OyB9CisrCX0KKysJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJj bHV0dGVyX3Njcm9sbF9hY3Rvcl9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMiIpXQorKwlwdWJsaWMgY2xhc3MgU2Nyb2xsQWN0b3IgOiBDbHV0dGVyLkFjdG9yLCBBdGsu SW1wbGVtZW50b3IsIENsdXR0ZXIuQW5pbWF0YWJsZSwgQ2x1dHRlci5Db250YWluZXIsIENsdXR0 ZXIuU2NyaXB0YWJsZSB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxz ZSwgdHlwZSA9ICJDbHV0dGVyQWN0b3IqIildCisrCQlwdWJsaWMgU2Nyb2xsQWN0b3IgKCk7Cisr CQlwdWJsaWMgQ2x1dHRlci5TY3JvbGxNb2RlIGdldF9zY3JvbGxfbW9kZSAoKTsKKysJCXB1Ymxp YyB2b2lkIHNjcm9sbF90b19wb2ludCAoR3JhcGhlbmUuUG9pbnQgcG9pbnQpOworKwkJcHVibGlj IHZvaWQgc2Nyb2xsX3RvX3JlY3QgKEdyYXBoZW5lLlJlY3QgcmVjdCk7CisrCQlwdWJsaWMgdm9p ZCBzZXRfc2Nyb2xsX21vZGUgKENsdXR0ZXIuU2Nyb2xsTW9kZSBtb2RlKTsKKysJCXB1YmxpYyBD bHV0dGVyLlNjcm9sbE1vZGUgc2Nyb2xsX21vZGUgeyBnZXQ7IHNldDsgfQorKwl9CisrCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0g ZmFsc2UpXQorKwlbQ29tcGFjdF0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIpXQorKwlwdWJs aWMgY2xhc3MgU2Nyb2xsRXZlbnQgOiBDbHV0dGVyLkV2ZW50IHsKKysJCXB1YmxpYyBkb3VibGUg YXhlczsKKysJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlOworKwkJcHVi bGljIENsdXR0ZXIuU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbjsKKysJCXB1YmxpYyBDbHV0dGVy LlNjcm9sbEZpbmlzaEZsYWdzIGZpbmlzaF9mbGFnczsKKysJCXB1YmxpYyBDbHV0dGVyLkV2ZW50 RmxhZ3MgZmxhZ3M7CisrCQlwdWJsaWMgQ2x1dHRlci5Nb2RpZmllclR5cGUgbW9kaWZpZXJfc3Rh dGU7CisrCQlwdWJsaWMgQ2x1dHRlci5TY3JvbGxTb3VyY2Ugc2Nyb2xsX3NvdXJjZTsKKysJCXB1 YmxpYyB3ZWFrIENsdXR0ZXIuQWN0b3Igc291cmNlOworKwkJcHVibGljIHdlYWsgQ2x1dHRlci5T dGFnZSBzdGFnZTsKKysJCXB1YmxpYyB1aW50MzIgdGltZTsKKysJCXB1YmxpYyBDbHV0dGVyLkV2 ZW50VHlwZSB0eXBlOworKwkJcHVibGljIGZsb2F0IHg7CisrCQlwdWJsaWMgZmxvYXQgeTsKKysJ fQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBl X2lkID0gImNsdXR0ZXJfc2VhdF9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgYWJzdHJhY3QgY2xh c3MgU2VhdCA6IEdMaWIuT2JqZWN0IHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlv biA9IGZhbHNlKV0KKysJCXByb3RlY3RlZCBTZWF0ICgpOworKwkJW05vV3JhcHBlcl0KKysJCXB1 YmxpYyB2aXJ0dWFsIHZvaWQgYXBwbHlfa2JkX2ExMXlfc2V0dGluZ3MgKENsdXR0ZXIuS2JkQTEx eVNldHRpbmdzIHNldHRpbmdzKTsKKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgYmVsbF9ub3RpZnkg KCk7CisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIGNvbXByZXNzX21vdGlvbiAoQ2x1dHRlci5FdmVu dCBldmVudCwgQ2x1dHRlci5FdmVudCB0b19kaXNjYXJkKTsKKysJCVtOb1dyYXBwZXJdCisrCQlw dWJsaWMgdmlydHVhbCB2b2lkIGNvcHlfZXZlbnRfZGF0YSAoQ2x1dHRlci5FdmVudCBzcmMsIENs dXR0ZXIuRXZlbnQgZGVzdCk7CisrCQlwdWJsaWMgdmlydHVhbCBDbHV0dGVyLlZpcnR1YWxJbnB1 dERldmljZSBjcmVhdGVfdmlydHVhbF9kZXZpY2UgKENsdXR0ZXIuSW5wdXREZXZpY2VUeXBlIGRl dmljZV90eXBlKTsKKysJCXB1YmxpYyB2b2lkIGVuc3VyZV9hMTF5X3N0YXRlICgpOworKwkJW05v V3JhcHBlcl0KKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZnJlZV9ldmVudF9kYXRhIChDbHV0dGVy LkV2ZW50IGV2ZW50KTsKKysJCXB1YmxpYyB2b2lkIGdldF9rYmRfYTExeV9zZXR0aW5ncyAoQ2x1 dHRlci5LYmRBMTF5U2V0dGluZ3Mgc2V0dGluZ3MpOworKwkJcHVibGljIHZpcnR1YWwgdW5vd25l ZCBDbHV0dGVyLklucHV0RGV2aWNlIGdldF9rZXlib2FyZCAoKTsKKysJCXB1YmxpYyB2aXJ0dWFs IHVub3duZWQgQ2x1dHRlci5LZXltYXAgZ2V0X2tleW1hcCAoKTsKKysJCXB1YmxpYyB2aXJ0dWFs IHVub3duZWQgQ2x1dHRlci5JbnB1dERldmljZSBnZXRfcG9pbnRlciAoKTsKKysJCXB1YmxpYyB2 b2lkIGdldF9wb2ludGVyX2ExMXlfc2V0dGluZ3MgKENsdXR0ZXIuUG9pbnRlckExMXlTZXR0aW5n cyBzZXR0aW5ncyk7CisrCQlwdWJsaWMgdmlydHVhbCBDbHV0dGVyLlZpcnR1YWxEZXZpY2VUeXBl IGdldF9zdXBwb3J0ZWRfdmlydHVhbF9kZXZpY2VfdHlwZXMgKCk7CisrCQlwdWJsaWMgdmlydHVh bCBHTGliLkxpc3Q8d2VhayBDbHV0dGVyLklucHV0RGV2aWNlPiBsaXN0X2RldmljZXMgKCk7Cisr CQlwdWJsaWMgdm9pZCBzZXRfa2JkX2ExMXlfc2V0dGluZ3MgKENsdXR0ZXIuS2JkQTExeVNldHRp bmdzIHNldHRpbmdzKTsKKysJCXB1YmxpYyB2b2lkIHNldF9wb2ludGVyX2ExMXlfZHdlbGxfY2xp Y2tfdHlwZSAoQ2x1dHRlci5Qb2ludGVyQTExeUR3ZWxsQ2xpY2tUeXBlIGNsaWNrX3R5cGUpOwor KwkJcHVibGljIHZvaWQgc2V0X3BvaW50ZXJfYTExeV9zZXR0aW5ncyAoQ2x1dHRlci5Qb2ludGVy QTExeVNldHRpbmdzIHNldHRpbmdzKTsKKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgd2FycF9wb2lu dGVyIChpbnQgeCwgaW50IHkpOworKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgQ2x1 dHRlci5CYWNrZW5kIGJhY2tlbmQgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQorKwkJcHVibGlj IHNpZ25hbCB2b2lkIGRldmljZV9hZGRlZCAoQ2x1dHRlci5JbnB1dERldmljZSBvYmplY3QpOwor KwkJcHVibGljIHNpZ25hbCB2b2lkIGRldmljZV9yZW1vdmVkIChDbHV0dGVyLklucHV0RGV2aWNl IG9iamVjdCk7CisrCQlwdWJsaWMgc2lnbmFsIHZvaWQga2JkX2ExMXlfZmxhZ3NfY2hhbmdlZCAo dWludCBzZXR0aW5nc19mbGFncywgdWludCBjaGFuZ2VkX21hc2spOworKwkJcHVibGljIHNpZ25h bCB2b2lkIGtiZF9hMTF5X21vZHNfc3RhdGVfY2hhbmdlZCAodWludCBsYXRjaGVkX21hc2ssIHVp bnQgbG9ja2VkX21hc2spOworKwkJcHVibGljIHNpZ25hbCB2b2lkIHB0cl9hMTF5X2R3ZWxsX2Ns aWNrX3R5cGVfY2hhbmdlZCAoQ2x1dHRlci5Qb2ludGVyQTExeUR3ZWxsQ2xpY2tUeXBlIGNsaWNr X3R5cGUpOworKwkJcHVibGljIHNpZ25hbCB2b2lkIHB0cl9hMTF5X3RpbWVvdXRfc3RhcnRlZCAo Q2x1dHRlci5JbnB1dERldmljZSBkZXZpY2UsIENsdXR0ZXIuUG9pbnRlckExMXlUaW1lb3V0VHlw ZSB0aW1lb3V0X3R5cGUsIHVpbnQgZGVsYXkpOworKwkJcHVibGljIHNpZ25hbCB2b2lkIHB0cl9h MTF5X3RpbWVvdXRfc3RvcHBlZCAoQ2x1dHRlci5JbnB1dERldmljZSBkZXZpY2UsIENsdXR0ZXIu UG9pbnRlckExMXlUaW1lb3V0VHlwZSB0aW1lb3V0X3R5cGUsIGJvb2wgY2xpY2tlZCk7CisrCQlw dWJsaWMgc2lnbmFsIHZvaWQgdG9vbF9jaGFuZ2VkIChDbHV0dGVyLklucHV0RGV2aWNlIG9iamVj dCwgQ2x1dHRlci5JbnB1dERldmljZVRvb2wgcDApOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zZXR0aW5n c19nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCisrCXB1YmxpYyBj bGFzcyBTZXR0aW5ncyA6IEdMaWIuT2JqZWN0IHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9m dW5jdGlvbiA9IGZhbHNlKV0KKysJCXByb3RlY3RlZCBTZXR0aW5ncyAoKTsKKysJCXB1YmxpYyBz dGF0aWMgdW5vd25lZCBDbHV0dGVyLlNldHRpbmdzIGdldF9kZWZhdWx0ICgpOworKwkJW05vQWNj ZXNzb3JNZXRob2RdCisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRf c2luY2UgPSAiMS4xMCIsIHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGljIENsdXR0ZXIuQmFja2Vu ZCBiYWNrZW5kIHsgY29uc3RydWN0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyBpbnQgZG5kX2RyYWdfdGhyZXNob2xkIHsg Z2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJcHVibGljIGludCBkb3VibGVf Y2xpY2tfZGlzdGFuY2UgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlw dWJsaWMgaW50IGRvdWJsZV9jbGlja190aW1lIHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29y TWV0aG9kXQorKwkJcHVibGljIGludCBmb250X2FudGlhbGlhcyB7IGdldDsgc2V0OyB9CisrCQlb Tm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyBpbnQgZm9udF9kcGkgeyBnZXQ7IHNldDsgfQor KwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgc3RyaW5nIGZvbnRfaGludF9zdHlsZSB7 IG93bmVkIGdldDsgc2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyBpbnQg Zm9udF9oaW50aW5nIHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJcHVi bGljIHN0cmluZyBmb250X25hbWUgeyBvd25lZCBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JN ZXRob2RdCisrCQlwdWJsaWMgc3RyaW5nIGZvbnRfc3VicGl4ZWxfb3JkZXIgeyBvd25lZCBnZXQ7 IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgdWludCBmb250Y29uZmln X3RpbWVzdGFtcCB7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlbVmVyc2lvbiAo c2luY2UgPSAiMS44IildCisrCQlwdWJsaWMgaW50IGxvbmdfcHJlc3NfZHVyYXRpb24geyBnZXQ7 IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgdWludCBwYXNzd29yZF9o aW50X3RpbWUgeyBnZXQ7IHNldDsgfQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMg aW50IHVuc2NhbGVkX2ZvbnRfZHBpIHsgc2V0OyB9CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisrCVtD b21wYWN0XQorKwlwdWJsaWMgY2xhc3MgU2hhZGVyIHsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfc2hhZGVy X2VmZmVjdF9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCisrCXB1 YmxpYyBjbGFzcyBTaGFkZXJFZmZlY3QgOiBDbHV0dGVyLk9mZnNjcmVlbkVmZmVjdCB7CisrCQlb Q0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyRWZm ZWN0KiIpXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQorKwkJcHVibGljIFNoYWRlckVm ZmVjdCAoQ2x1dHRlci5TaGFkZXJUeXBlIHNoYWRlcl90eXBlKTsKKysJCXB1YmxpYyB1bm93bmVk IENvZ2wuSGFuZGxlIGdldF9wcm9ncmFtICgpOworKwkJcHVibGljIHVub3duZWQgQ29nbC5IYW5k bGUgZ2V0X3NoYWRlciAoKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVhbCBzdHJp bmcgZ2V0X3N0YXRpY19zaGFkZXJfc291cmNlICgpOworKwkJcHVibGljIGJvb2wgc2V0X3NoYWRl cl9zb3VyY2UgKHN0cmluZyBzb3VyY2UpOworKwkJcHVibGljIHZvaWQgc2V0X3VuaWZvcm1fdmFs dWUgKHN0cmluZyBuYW1lLCBHTGliLlZhbHVlIHZhbHVlKTsKKysJCVtOb0FjY2Vzc29yTWV0aG9k XQorKwkJcHVibGljIENsdXR0ZXIuU2hhZGVyVHlwZSBzaGFkZXJfdHlwZSB7IGNvbnN0cnVjdDsg fQorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IHR5cGVfaWQgPSAiY2x1dHRlcl9zaGFkZXJfZmxvYXRfZ2V0X3R5cGUgKCkiKV0KKysJcHVibGlj IGNsYXNzIFNoYWRlckZsb2F0IHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9 IGZhbHNlKV0KKysJCXByb3RlY3RlZCBTaGFkZXJGbG9hdCAoKTsKKysJfQorKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJf c2hhZGVyX2ludF9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgY2xhc3MgU2hhZGVySW50IHsKKysJ CVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KKysJCXByb3RlY3RlZCBT aGFkZXJJbnQgKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3NoYWRlcl9tYXRyaXhfZ2V0X3R5cGUgKCki KV0KKysJcHVibGljIGNsYXNzIFNoYWRlck1hdHJpeCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1 Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgU2hhZGVyTWF0cml4ICgpOworKwl9 CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVf aWQgPSAiY2x1dHRlcl9zbmFwX2NvbnN0cmFpbnRfZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24g KHNpbmNlID0gIjEuNiIpXQorKwlwdWJsaWMgY2xhc3MgU25hcENvbnN0cmFpbnQgOiBDbHV0dGVy LkNvbnN0cmFpbnQgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2Us IHR5cGUgPSAiQ2x1dHRlckNvbnN0cmFpbnQqIildCisrCQlwdWJsaWMgU25hcENvbnN0cmFpbnQg KENsdXR0ZXIuQWN0b3I/IHNvdXJjZSwgQ2x1dHRlci5TbmFwRWRnZSBmcm9tX2VkZ2UsIENsdXR0 ZXIuU25hcEVkZ2UgdG9fZWRnZSwgZmxvYXQgb2Zmc2V0KTsKKysJCXB1YmxpYyB2b2lkIGdldF9l ZGdlcyAob3V0IENsdXR0ZXIuU25hcEVkZ2UgZnJvbV9lZGdlLCBvdXQgQ2x1dHRlci5TbmFwRWRn ZSB0b19lZGdlKTsKKysJCXB1YmxpYyBmbG9hdCBnZXRfb2Zmc2V0ICgpOworKwkJcHVibGljIHVu b3duZWQgQ2x1dHRlci5BY3RvciBnZXRfc291cmNlICgpOworKwkJcHVibGljIHZvaWQgc2V0X2Vk Z2VzIChDbHV0dGVyLlNuYXBFZGdlIGZyb21fZWRnZSwgQ2x1dHRlci5TbmFwRWRnZSB0b19lZGdl KTsKKysJCXB1YmxpYyB2b2lkIHNldF9vZmZzZXQgKGZsb2F0IG9mZnNldCk7CisrCQlwdWJsaWMg dm9pZCBzZXRfc291cmNlIChDbHV0dGVyLkFjdG9yPyBzb3VyY2UpOworKwkJW05vQWNjZXNzb3JN ZXRob2RdCisrCQlwdWJsaWMgQ2x1dHRlci5TbmFwRWRnZSBmcm9tX2VkZ2UgeyBnZXQ7IHNldCBj b25zdHJ1Y3Q7IH0KKysJCXB1YmxpYyBmbG9hdCBvZmZzZXQgeyBnZXQ7IHNldCBjb25zdHJ1Y3Q7 IH0KKysJCXB1YmxpYyBDbHV0dGVyLkFjdG9yIHNvdXJjZSB7IGdldDsgc2V0IGNvbnN0cnVjdDsg fQorKwkJW05vQWNjZXNzb3JNZXRob2RdCisrCQlwdWJsaWMgQ2x1dHRlci5TbmFwRWRnZSB0b19l ZGdlIHsgZ2V0OyBzZXQgY29uc3RydWN0OyB9CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3N0YWdlX2dldF90 eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KKysJcHVibGljIGNsYXNzIFN0 YWdlIDogQ2x1dHRlci5Hcm91cCwgQXRrLkltcGxlbWVudG9yLCBDbHV0dGVyLkFuaW1hdGFibGUs IENsdXR0ZXIuQ29udGFpbmVyLCBDbHV0dGVyLlNjcmlwdGFibGUgeworKwkJW0NDb2RlIChoYXNf Y29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckFjdG9yKiIpXQorKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQorKwkJcHVibGljIFN0YWdlICgpOworKwkJcHVibGlj IGJvb2wgY2FwdHVyZSAoYm9vbCBwYWludCwgQ2Fpcm8uUmVjdGFuZ2xlSW50IHJlY3QsIENsdXR0 ZXIuQ2FwdHVyZSBjYXB0dXJlcywgaW50IG5fY2FwdHVyZXMpOworKwkJcHVibGljIHZvaWQgY2Fw dHVyZV9pbnRvIChib29sIHBhaW50LCBDYWlyby5SZWN0YW5nbGVJbnQgcmVjdCwgdWludDggZGF0 YSk7CisrCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfc3RhZ2VfZXZlbnQiKV0KKysJCVtWZXJz aW9uIChzaW5jZSA9ICIwLjQiKV0KKysJCXB1YmxpYyBib29sIGVtaXRfZXZlbnQgKENsdXR0ZXIu RXZlbnQgZXZlbnQpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBzaW5jZSA9ICIw LjgiKV0KKysJCXB1YmxpYyB2b2lkIGVuc3VyZV9jdXJyZW50ICgpOworKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMCIpXQorKwkJcHVibGljIHZvaWQgZW5zdXJlX3JlZHJhdyAoKTsKKysJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB2b2lkIGVuc3VyZV92aWV3cG9ydCAoKTsK KysJCXB1YmxpYyB2b2lkIGZyZWV6ZV91cGRhdGVzICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuNiIpXQorKwkJcHVibGljIGJvb2wgZ2V0X2FjY2VwdF9mb2N1cyAoKTsKKysJCXB1YmxpYyB1 bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X2FjdG9yX2F0X3BvcyAoQ2x1dHRlci5QaWNrTW9kZSBw aWNrX21vZGUsIGZsb2F0IHgsIGZsb2F0IHkpOworKwkJcHVibGljIGJvb2wgZ2V0X2NhcHR1cmVf ZmluYWxfc2l6ZSAoQ2Fpcm8uUmVjdGFuZ2xlSW50IHJlY3QsIGludCB3aWR0aCwgaW50IGhlaWdo dCwgZmxvYXQgc2NhbGUpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNh dGVkX3NpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIGdldF9jb2xvciAo KTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIx LjEwIildCisrCQlwdWJsaWMgc3RhdGljIHVub3duZWQgQ2x1dHRlci5TdGFnZSBnZXRfZGVmYXVs dCAoKTsKKysJCXB1YmxpYyBpbnQ2NCBnZXRfZnJhbWVfY291bnRlciAoKTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIwLjYiKV0KKysJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X2tl eV9mb2N1cyAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KKysJCXB1YmxpYyB2b2lk IGdldF9taW5pbXVtX3NpemUgKG91dCB1aW50IHdpZHRoLCBvdXQgdWludCBoZWlnaHQpOworKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQorKwkJcHVibGljIGJvb2wgZ2V0X21vdGlvbl9ldmVu dHNfZW5hYmxlZCAoKTsKKysJCXB1YmxpYyBDbHV0dGVyLlBlcnNwZWN0aXZlIGdldF9wZXJzcGVj dGl2ZSAoKTsKKysJCXB1YmxpYyBDYWlyby5SZWdpb24gZ2V0X3JlZHJhd19jbGlwICgpOworKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIGJvb2wgZ2V0X3Rocm90dGxlX21v dGlvbl9ldmVudHMgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCisrCQlwdWJsaWMg dW5vd25lZCBzdHJpbmcgZ2V0X3RpdGxlICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIp XQorKwkJcHVibGljIGJvb2wgZ2V0X3VzZV9hbHBoYSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIwLjQiKV0KKysJCXB1YmxpYyB2b2lkIGhpZGVfY3Vyc29yICgpOworKwkJW1ZlcnNpb24gKGRl cHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIwLjgi KV0KKysJCXB1YmxpYyBib29sIGlzX2RlZmF1bHQgKCk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRl ZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIsIHNpbmNlID0gIjAuOCIpXQorKwkJ cHVibGljIHZvaWQgcXVldWVfcmVkcmF3ICgpOworKwkJW0NDb2RlIChhcnJheV9sZW5ndGggPSBm YWxzZSldCisrCQlwdWJsaWMgdWludDhbXSByZWFkX3BpeGVscyAoaW50IHgsIGludCB5LCBpbnQg d2lkdGggPSAtMSwgaW50IGhlaWdodCA9IC0xKTsKKysJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRl cl9yZWRyYXciKV0KKysJCXB1YmxpYyB2b2lkIHJlZHJhdyAoKTsKKysJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjYiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9hY2NlcHRfZm9jdXMgKGJvb2wgYWNjZXB0 X2ZvY3VzKTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5j ZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBzZXRfY29sb3IgKENsdXR0ZXIuQ29sb3IgY29s b3IpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGljIHZvaWQgc2V0X2tl eV9mb2N1cyAoQ2x1dHRlci5BY3Rvcj8gYWN0b3IpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MiIpXQorKwkJcHVibGljIHZvaWQgc2V0X21pbmltdW1fc2l6ZSAodWludCB3aWR0aCwgdWludCBo ZWlnaHQpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQorKwkJcHVibGljIHZvaWQgc2V0 X21vdGlvbl9ldmVudHNfZW5hYmxlZCAoYm9vbCBlbmFibGVkKTsKKysJCXB1YmxpYyB2b2lkIHNl dF9wZXJzcGVjdGl2ZSAoQ2x1dHRlci5QZXJzcGVjdGl2ZSBwZXJzcGVjdGl2ZSk7CisrCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgdm9pZCBzZXRfdGhyb3R0bGVfbW90aW9u X2V2ZW50cyAoYm9vbCB0aHJvdHRsZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCisr CQlwdWJsaWMgdm9pZCBzZXRfdGl0bGUgKHN0cmluZyB0aXRsZSk7CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4yIildCisrCQlwdWJsaWMgdm9pZCBzZXRfdXNlX2FscGhhIChib29sIHVzZV9hbHBo YSk7CisrCQlwdWJsaWMgdm9pZCBzaG93X2N1cnNvciAoKTsKKysJCXB1YmxpYyB2b2lkIHRoYXdf dXBkYXRlcyAoKTsKKysJCXB1YmxpYyB2b2lkIHVwZGF0ZV9yZXNvdXJjZV9zY2FsZXMgKCk7Cisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCisrCQlwdWJsaWMgYm9vbCBhY2NlcHRfZm9jdXMg eyBnZXQ7IHNldDsgfQorKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVk X3NpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIGNvbG9yIHsgZ2V0OyBz ZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJcHVibGljIGJvb2wgY3Vyc29yX3Zpc2li bGUgeyBnZXQ7IHNldDsgfQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQorKwkJcHVibGlj IENsdXR0ZXIuQWN0b3Iga2V5X2ZvY3VzIHsgZ2V0OyBzZXQ7IH0KKysJCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjgiKV0KKysJCXB1YmxpYyBDbHV0dGVyLlBlcnNwZWN0aXZlIHBlcnNwZWN0aXZlIHsg Z2V0OyBzZXQ7IH0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KKysJCXB1YmxpYyBzdHJp bmcgdGl0bGUgeyBnZXQ7IHNldDsgfQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQorKwkJ cHVibGljIGJvb2wgdXNlX2FscGhhIHsgZ2V0OyBzZXQ7IH0KKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIwLjYiKV0KKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGFjdGl2YXRlICgpOworKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMjAiKV0KKysJCXB1YmxpYyBzaWduYWwgdm9pZCBhZnRlcl9w YWludCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KKysJCXB1YmxpYyB2aXJ0dWFs IHNpZ25hbCB2b2lkIGRlYWN0aXZhdGUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIild CisrCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgYm9vbCBkZWxldGVfZXZlbnQgKENsdXR0ZXIuRXZl bnQgZXZlbnQpOworKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgcGFpbnRfdmlldyAoQ2x1 dHRlci5TdGFnZVZpZXcgdmlldyk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3N0YWdlX21hbmFnZXJfZ2V0 X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwlwdWJsaWMgY2xhc3Mg U3RhZ2VNYW5hZ2VyIDogR0xpYi5PYmplY3QgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1 bmN0aW9uID0gZmFsc2UpXQorKwkJcHJvdGVjdGVkIFN0YWdlTWFuYWdlciAoKTsKKysJCVtWZXJz aW9uIChzaW5jZSA9ICIwLjgiKV0KKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLlN0 YWdlTWFuYWdlciBnZXRfZGVmYXVsdCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0K KysJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuU3RhZ2UgZ2V0X2RlZmF1bHRfc3RhZ2UgKCk7Cisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCisrCQlwdWJsaWMgR0xpYi5TTGlzdDx3ZWFrIENs dXR0ZXIuU3RhZ2U+IGxpc3Rfc3RhZ2VzICgpOworKwkJcHVibGljIHVub3duZWQgR0xpYi5TTGlz dDxDbHV0dGVyLlN0YWdlPiBwZWVrX3N0YWdlcyAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIw LjgiKV0KKysJCXB1YmxpYyBDbHV0dGVyLlN0YWdlIGRlZmF1bHRfc3RhZ2UgeyBnZXQ7IH0KKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lk IHN0YWdlX2FkZGVkIChDbHV0dGVyLlN0YWdlIHN0YWdlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIwLjgiKV0KKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIHN0YWdlX3JlbW92ZWQgKENs dXR0ZXIuU3RhZ2Ugc3RhZ2UpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQorKwlbQ29tcGFjdF0KKysJ W1ZlcnNpb24gKHNpbmNlID0gIjAuMiIpXQorKwlwdWJsaWMgY2xhc3MgU3RhZ2VTdGF0ZUV2ZW50 IDogQ2x1dHRlci5FdmVudCB7CisrCQlwdWJsaWMgQ2x1dHRlci5TdGFnZVN0YXRlIGNoYW5nZWRf bWFzazsKKysJCXB1YmxpYyBDbHV0dGVyLkV2ZW50RmxhZ3MgZmxhZ3M7CisrCQlwdWJsaWMgQ2x1 dHRlci5TdGFnZVN0YXRlIG5ld19zdGF0ZTsKKysJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuQWN0b3Ig c291cmNlOworKwkJcHVibGljIHdlYWsgQ2x1dHRlci5TdGFnZSBzdGFnZTsKKysJCXB1YmxpYyB1 aW50MzIgdGltZTsKKysJCXB1YmxpYyBDbHV0dGVyLkV2ZW50VHlwZSB0eXBlOworKwl9CisrCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAi Y2x1dHRlcl9zdGFnZV92aWV3X2dldF90eXBlICgpIildCisrCXB1YmxpYyBjbGFzcyBTdGFnZVZp ZXcgOiBHTGliLk9iamVjdCB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBm YWxzZSldCisrCQlwcm90ZWN0ZWQgU3RhZ2VWaWV3ICgpOworKwkJcHVibGljIHVub3duZWQgQ29n bC5GcmFtZWJ1ZmZlciBnZXRfZnJhbWVidWZmZXIgKCk7CisrCQlwdWJsaWMgdm9pZCBnZXRfbGF5 b3V0IChDYWlyby5SZWN0YW5nbGVJbnQgcmVjdCk7CisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIGdl dF9vZmZzY3JlZW5fdHJhbnNmb3JtYXRpb25fbWF0cml4IChDb2dsLk1hdHJpeCBtYXRyaXgpOwor KwkJcHVibGljIHVub3duZWQgQ29nbC5GcmFtZWJ1ZmZlciBnZXRfb25zY3JlZW4gKCk7CisrCQlw dWJsaWMgZmxvYXQgZ2V0X3NjYWxlICgpOworKwkJcHVibGljIHZvaWQgaW52YWxpZGF0ZV9vZmZz Y3JlZW5fYmxpdF9waXBlbGluZSAoKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmlydHVh bCB2b2lkIHNldHVwX29mZnNjcmVlbl9ibGl0X3BpcGVsaW5lIChDb2dsLlBpcGVsaW5lIHBpcGVs aW5lKTsKKysJCXB1YmxpYyB2b2lkIHRyYW5zZm9ybV90b19vbnNjcmVlbiAoZmxvYXQgeCwgZmxv YXQgeSk7CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyBDYWlyby5SZWN0YW5nbGVJ bnQgbGF5b3V0IHsgb3duZWQgZ2V0OyBzZXQgY29uc3RydWN0OyB9CisrCQlbTm9BY2Nlc3Nvck1l dGhvZF0KKysJCXB1YmxpYyBmbG9hdCBzY2FsZSB7IGdldDsgc2V0IGNvbnN0cnVjdDsgfQorKwl9 CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVf aWQgPSAiY2x1dHRlcl9zdGF0ZV9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAi MS40IildCisrCXB1YmxpYyBjbGFzcyBTdGF0ZSA6IEdMaWIuT2JqZWN0LCBDbHV0dGVyLlNjcmlw dGFibGUgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJ W1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBz aW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyBTdGF0ZSAoKTsKKysJCVtWZXJzaW9uIChkZXByZWNh dGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwgc2luY2UgPSAiMS40IildCisr CQlwdWJsaWMgdWludCBnZXRfZHVyYXRpb24gKHN0cmluZz8gc291cmNlX3N0YXRlX25hbWUsIHN0 cmluZz8gdGFyZ2V0X3N0YXRlX25hbWUpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVl LCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyB1 bm93bmVkIHN0cmluZyBnZXRfc3RhdGUgKCk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRy dWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGlj IEdMaWIuTGlzdDx3ZWFrIHN0cmluZz4gZ2V0X3N0YXRlcyAoKTsKKysJCVtWZXJzaW9uIChkZXBy ZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwgc2luY2UgPSAiMS40Iild CisrCQlwdWJsaWMgdm9pZCBzZXRfZHVyYXRpb24gKHN0cmluZz8gc291cmNlX3N0YXRlX25hbWUs IHN0cmluZz8gdGFyZ2V0X3N0YXRlX25hbWUsIHVpbnQgZHVyYXRpb24pOworKwkJW1ZlcnNpb24g KGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIx LjQiKV0KKysJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuU3RhdGUgc2V0X2tleSAoc3RyaW5nPyBz b3VyY2Vfc3RhdGVfbmFtZSwgc3RyaW5nIHRhcmdldF9zdGF0ZV9uYW1lLCBHTGliLk9iamVjdCBv YmplY3QsIHN0cmluZyBwcm9wZXJ0eV9uYW1lLCB1aW50IG1vZGUsIEdMaWIuVmFsdWUgdmFsdWUs IGRvdWJsZSBwcmVfZGVsYXksIGRvdWJsZSBwb3N0X2RlbGF5KTsKKysJCVtWZXJzaW9uIChkZXBy ZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwgc2luY2UgPSAiMS40Iild CisrCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLlRpbWVsaW5lIHNldF9zdGF0ZSAoc3RyaW5nIHRh cmdldF9zdGF0ZV9uYW1lKTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVj YXRlZF9zaW5jZSA9ICIxLjEyIiwgc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgdW5vd25lZCBD bHV0dGVyLlRpbWVsaW5lIHdhcnBfdG9fc3RhdGUgKHN0cmluZyB0YXJnZXRfc3RhdGVfbmFtZSk7 CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwg ZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwgc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgdWlu dCBkdXJhdGlvbiB7IGdldDsgc2V0OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCVtWZXJz aW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwgc2luY2Ug PSAiMS40IildCisrCQlwdWJsaWMgc3RyaW5nIHN0YXRlIHsgb3duZWQgZ2V0OyBzZXQ7IH0KKysJ CVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwg c2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBjb21wbGV0ZWQg KCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94 ZWRfZnJlZSIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zdGF0ZV9rZXlfZ2V0X3R5cGUgKCkiKV0KKysJ W0NvbXBhY3RdCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJcHVibGljIGNsYXNzIFN0 YXRlS2V5IHsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5j ZSA9ICIxLjEyIiwgc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgR0xpYi5UeXBlIGdldF9wcm9w ZXJ0eV90eXBlICgpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zd2lwZV9hY3Rpb25fZ2V0X3R5cGUgKCki KV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQorKwlwdWJsaWMgY2xhc3MgU3dpcGVBY3Rp b24gOiBDbHV0dGVyLkdlc3R1cmVBY3Rpb24geworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1 bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckFjdGlvbioiKV0KKysJCXB1YmxpYyBTd2lw ZUFjdGlvbiAoKTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9z aW5jZSA9ICIxLjE0Iiwgc2luY2UgPSAiMS44IildCisrCQlwdWJsaWMgdmlydHVhbCBzaWduYWwg dm9pZCBzd2VwdCAoQ2x1dHRlci5BY3RvciBhY3RvciwgQ2x1dHRlci5Td2lwZURpcmVjdGlvbiBk aXJlY3Rpb24pOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTQiKV0KKysJCXB1YmxpYyB2aXJ0 dWFsIHNpZ25hbCBib29sIHN3aXBlIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBDbHV0dGVyLlN3aXBl RGlyZWN0aW9uIGRpcmVjdGlvbik7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3RhcF9hY3Rpb25fZ2V0X3R5 cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTQiKV0KKysJcHVibGljIGNsYXNzIFRh cEFjdGlvbiA6IENsdXR0ZXIuR2VzdHVyZUFjdGlvbiB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1 Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQWN0aW9uKiIpXQorKwkJcHVibGlj IFRhcEFjdGlvbiAoKTsKKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIHRhcCAoQ2x1dHRl ci5BY3RvciBhY3Rvcik7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3RleHRfZ2V0X3R5cGUgKCkiKV0KKysJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwlwdWJsaWMgY2xhc3MgVGV4dCA6IENsdXR0ZXIu QWN0b3IsIEF0ay5JbXBsZW1lbnRvciwgQ2x1dHRlci5BbmltYXRhYmxlLCBDbHV0dGVyLkNvbnRh aW5lciwgQ2x1dHRlci5TY3JpcHRhYmxlIHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5j dGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJBY3RvcioiKV0KKysJCXB1YmxpYyBUZXh0ICgp OworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBpbnQgY29vcmRzX3Rv X3Bvc2l0aW9uIChmbG9hdCB4LCBmbG9hdCB5KTsKKysJCXB1YmxpYyB2b2lkIGRlbGV0ZV9jaGFy cyAodWludCBuX2NoYXJzKTsKKysJCXB1YmxpYyBib29sIGRlbGV0ZV9zZWxlY3Rpb24gKCk7Cisr CQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVy QWN0b3IqIildCisrCQlwdWJsaWMgVGV4dC5mdWxsIChzdHJpbmcgZm9udF9uYW1lLCBzdHJpbmcg dGV4dCwgQ2x1dHRlci5Db2xvciBjb2xvcik7CisrCQlwdWJsaWMgYm9vbCBnZXRfYWN0aXZhdGFi bGUgKCk7CisrCQlwdWJsaWMgdW5vd25lZCBQYW5nby5BdHRyTGlzdCBnZXRfYXR0cmlidXRlcyAo KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdW5vd25lZCBDbHV0 dGVyLlRleHRCdWZmZXIgZ2V0X2J1ZmZlciAoKTsKKysJCXB1YmxpYyBzdHJpbmcgZ2V0X2NoYXJz IChzc2l6ZV90IHN0YXJ0X3Bvcywgc3NpemVfdCBlbmRfcG9zKTsKKysJCXB1YmxpYyBDbHV0dGVy LkNvbG9yIGdldF9jb2xvciAoKTsKKysJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIGdldF9jdXJzb3Jf Y29sb3IgKCk7CisrCQlwdWJsaWMgaW50IGdldF9jdXJzb3JfcG9zaXRpb24gKCk7CisrCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4xNiIpXQorKwkJcHVibGljIHZvaWQgZ2V0X2N1cnNvcl9yZWN0IChv dXQgdW5vd25lZCBHcmFwaGVuZS5SZWN0IHJlY3QpOworKwkJcHVibGljIHVpbnQgZ2V0X2N1cnNv cl9zaXplICgpOworKwkJcHVibGljIGJvb2wgZ2V0X2N1cnNvcl92aXNpYmxlICgpOworKwkJcHVi bGljIGJvb2wgZ2V0X2VkaXRhYmxlICgpOworKwkJcHVibGljIFBhbmdvLkVsbGlwc2l6ZU1vZGUg Z2V0X2VsbGlwc2l6ZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KKysJCXB1Ymxp YyBQYW5nby5Gb250RGVzY3JpcHRpb24gZ2V0X2ZvbnRfZGVzY3JpcHRpb24gKCk7CisrCQlwdWJs aWMgdW5vd25lZCBzdHJpbmcgZ2V0X2ZvbnRfbmFtZSAoKTsKKysJCXB1YmxpYyBDbHV0dGVyLklu cHV0Q29udGVudEhpbnRGbGFncyBnZXRfaW5wdXRfaGludHMgKCk7CisrCQlwdWJsaWMgQ2x1dHRl ci5JbnB1dENvbnRlbnRQdXJwb3NlIGdldF9pbnB1dF9wdXJwb3NlICgpOworKwkJW1ZlcnNpb24g KHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGljIGJvb2wgZ2V0X2p1c3RpZnkgKCk7CisrCQlwdWJs aWMgdW5vd25lZCBQYW5nby5MYXlvdXQgZ2V0X2xheW91dCAoKTsKKysJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjgiKV0KKysJCXB1YmxpYyB2b2lkIGdldF9sYXlvdXRfb2Zmc2V0cyAob3V0IGludCB4 LCBvdXQgaW50IHkpOworKwkJcHVibGljIFBhbmdvLkFsaWdubWVudCBnZXRfbGluZV9hbGlnbm1l bnQgKCk7CisrCQlwdWJsaWMgYm9vbCBnZXRfbGluZV93cmFwICgpOworKwkJcHVibGljIFBhbmdv LldyYXBNb2RlIGdldF9saW5lX3dyYXBfbW9kZSAoKTsKKysJCXB1YmxpYyBpbnQgZ2V0X21heF9s ZW5ndGggKCk7CisrCQlwdWJsaWMgdW5pY2hhciBnZXRfcGFzc3dvcmRfY2hhciAoKTsKKysJCXB1 YmxpYyBib29sIGdldF9zZWxlY3RhYmxlICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIp XQorKwkJcHVibGljIENsdXR0ZXIuQ29sb3IgZ2V0X3NlbGVjdGVkX3RleHRfY29sb3IgKCk7Cisr CQlwdWJsaWMgc3RyaW5nIGdldF9zZWxlY3Rpb24gKCk7CisrCQlwdWJsaWMgaW50IGdldF9zZWxl Y3Rpb25fYm91bmQgKCk7CisrCQlwdWJsaWMgQ2x1dHRlci5Db2xvciBnZXRfc2VsZWN0aW9uX2Nv bG9yICgpOworKwkJcHVibGljIGJvb2wgZ2V0X3NpbmdsZV9saW5lX21vZGUgKCk7CisrCQlwdWJs aWMgdW5vd25lZCBzdHJpbmcgZ2V0X3RleHQgKCk7CisrCQlwdWJsaWMgYm9vbCBnZXRfdXNlX21h cmt1cCAoKTsKKysJCXB1YmxpYyBib29sIGhhc19wcmVlZGl0ICgpOworKwkJcHVibGljIHZvaWQg aW5zZXJ0X3RleHQgKHN0cmluZyB0ZXh0LCBzc2l6ZV90IHBvc2l0aW9uKTsKKysJCXB1YmxpYyB2 b2lkIGluc2VydF91bmljaGFyICh1bmljaGFyIHdjKTsKKysJCXB1YmxpYyBib29sIHBvc2l0aW9u X3RvX2Nvb3JkcyAoaW50IHBvc2l0aW9uLCBvdXQgZmxvYXQgeCwgb3V0IGZsb2F0IHksIG91dCBm bG9hdCBsaW5lX2hlaWdodCA9IG51bGwpOworKwkJcHVibGljIHZvaWQgc2V0X2FjdGl2YXRhYmxl IChib29sIGFjdGl2YXRhYmxlKTsKKysJCXB1YmxpYyB2b2lkIHNldF9hdHRyaWJ1dGVzIChQYW5n by5BdHRyTGlzdD8gYXR0cnMpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1 YmxpYyB2b2lkIHNldF9idWZmZXIgKENsdXR0ZXIuVGV4dEJ1ZmZlciBidWZmZXIpOworKwkJcHVi bGljIHZvaWQgc2V0X2NvbG9yIChDbHV0dGVyLkNvbG9yIGNvbG9yKTsKKysJCXB1YmxpYyB2b2lk IHNldF9jdXJzb3JfY29sb3IgKENsdXR0ZXIuQ29sb3I/IGNvbG9yKTsKKysJCXB1YmxpYyB2b2lk IHNldF9jdXJzb3JfcG9zaXRpb24gKGludCBwb3NpdGlvbik7CisrCQlwdWJsaWMgdm9pZCBzZXRf Y3Vyc29yX3NpemUgKGludCBzaXplKTsKKysJCXB1YmxpYyB2b2lkIHNldF9jdXJzb3JfdmlzaWJs ZSAoYm9vbCBjdXJzb3JfdmlzaWJsZSk7CisrCQlwdWJsaWMgdm9pZCBzZXRfZWRpdGFibGUgKGJv b2wgZWRpdGFibGUpOworKwkJcHVibGljIHZvaWQgc2V0X2VsbGlwc2l6ZSAoUGFuZ28uRWxsaXBz aXplTW9kZSBtb2RlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KKysJCXB1YmxpYyB2 b2lkIHNldF9mb250X2Rlc2NyaXB0aW9uIChQYW5nby5Gb250RGVzY3JpcHRpb24gZm9udF9kZXNj KTsKKysJCXB1YmxpYyB2b2lkIHNldF9mb250X25hbWUgKHN0cmluZz8gZm9udF9uYW1lKTsKKysJ CXB1YmxpYyB2b2lkIHNldF9pbnB1dF9oaW50cyAoQ2x1dHRlci5JbnB1dENvbnRlbnRIaW50Rmxh Z3MgaGludHMpOworKwkJcHVibGljIHZvaWQgc2V0X2lucHV0X3B1cnBvc2UgKENsdXR0ZXIuSW5w dXRDb250ZW50UHVycG9zZSBwdXJwb3NlKTsKKysJCXB1YmxpYyB2b2lkIHNldF9qdXN0aWZ5IChi b29sIGp1c3RpZnkpOworKwkJcHVibGljIHZvaWQgc2V0X2xpbmVfYWxpZ25tZW50IChQYW5nby5B bGlnbm1lbnQgYWxpZ25tZW50KTsKKysJCXB1YmxpYyB2b2lkIHNldF9saW5lX3dyYXAgKGJvb2wg bGluZV93cmFwKTsKKysJCXB1YmxpYyB2b2lkIHNldF9saW5lX3dyYXBfbW9kZSAoUGFuZ28uV3Jh cE1vZGUgd3JhcF9tb2RlKTsKKysJCXB1YmxpYyB2b2lkIHNldF9tYXJrdXAgKHN0cmluZz8gbWFy a3VwKTsKKysJCXB1YmxpYyB2b2lkIHNldF9tYXhfbGVuZ3RoIChpbnQgbWF4KTsKKysJCXB1Ymxp YyB2b2lkIHNldF9wYXNzd29yZF9jaGFyICh1bmljaGFyIHdjKTsKKysJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjIiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9wcmVlZGl0X3N0cmluZyAoc3RyaW5nPyBw cmVlZGl0X3N0ciwgUGFuZ28uQXR0ckxpc3Q/IHByZWVkaXRfYXR0cnMsIHVpbnQgY3Vyc29yX3Bv cyk7CisrCQlwdWJsaWMgdm9pZCBzZXRfc2VsZWN0YWJsZSAoYm9vbCBzZWxlY3RhYmxlKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9zZWxlY3RlZF90 ZXh0X2NvbG9yIChDbHV0dGVyLkNvbG9yPyBjb2xvcik7CisrCQlwdWJsaWMgdm9pZCBzZXRfc2Vs ZWN0aW9uIChzc2l6ZV90IHN0YXJ0X3Bvcywgc3NpemVfdCBlbmRfcG9zKTsKKysJCXB1YmxpYyB2 b2lkIHNldF9zZWxlY3Rpb25fYm91bmQgKGludCBzZWxlY3Rpb25fYm91bmQpOworKwkJcHVibGlj IHZvaWQgc2V0X3NlbGVjdGlvbl9jb2xvciAoQ2x1dHRlci5Db2xvcj8gY29sb3IpOworKwkJcHVi bGljIHZvaWQgc2V0X3NpbmdsZV9saW5lX21vZGUgKGJvb2wgc2luZ2xlX2xpbmUpOworKwkJcHVi bGljIHZvaWQgc2V0X3RleHQgKHN0cmluZz8gdGV4dCk7CisrCQlwdWJsaWMgdm9pZCBzZXRfdXNl X21hcmt1cCAoYm9vbCBzZXR0aW5nKTsKKysJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl90ZXh0 X2FjdGl2YXRlIildCisrCQlwdWJsaWMgYm9vbCB0cnlfYWN0aXZhdGUgKCk7CisrCQlbQ0NvZGUg KGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQWN0b3IqIild CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIFRleHQud2l0aF9idWZm ZXIgKENsdXR0ZXIuVGV4dEJ1ZmZlciBidWZmZXIpOworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckFjdG9yKiIpXQorKwkJcHVibGljIFRl eHQud2l0aF90ZXh0IChzdHJpbmc/IGZvbnRfbmFtZSwgc3RyaW5nIHRleHQpOworKwkJcHVibGlj IGJvb2wgYWN0aXZhdGFibGUgeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIFBhbmdvLkF0dHJMaXN0 IGF0dHJpYnV0ZXMgeyBnZXQ7IHNldDsgfQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQor KwkJcHVibGljIENsdXR0ZXIuVGV4dEJ1ZmZlciBidWZmZXIgeyBnZXQ7IHNldDsgfQorKwkJcHVi bGljIENsdXR0ZXIuQ29sb3IgY29sb3IgeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIENsdXR0ZXIu Q29sb3IgY3Vyc29yX2NvbG9yIHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQor KwkJcHVibGljIGJvb2wgY3Vyc29yX2NvbG9yX3NldCB7IGdldDsgfQorKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyBpbnQgY3Vyc29yX3Bvc2l0aW9uIHsgZ2V0OyBzZXQ7 IH0KKysJCXB1YmxpYyBpbnQgY3Vyc29yX3NpemUgeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIGJv b2wgY3Vyc29yX3Zpc2libGUgeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIGJvb2wgZWRpdGFibGUg eyBnZXQ7IHNldDsgfQorKwkJcHVibGljIFBhbmdvLkVsbGlwc2l6ZU1vZGUgZWxsaXBzaXplIHsg Z2V0OyBzZXQ7IH0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KKysJCXB1YmxpYyBQYW5n by5Gb250RGVzY3JpcHRpb24gZm9udF9kZXNjcmlwdGlvbiB7IG93bmVkIGdldDsgc2V0OyB9Cisr CQlwdWJsaWMgc3RyaW5nIGZvbnRfbmFtZSB7IGdldDsgc2V0OyB9CisrCQlwdWJsaWMgQ2x1dHRl ci5JbnB1dENvbnRlbnRIaW50RmxhZ3MgaW5wdXRfaGludHMgeyBnZXQ7IHNldDsgfQorKwkJcHVi bGljIENsdXR0ZXIuSW5wdXRDb250ZW50UHVycG9zZSBpbnB1dF9wdXJwb3NlIHsgZ2V0OyBzZXQ7 IH0KKysJCXB1YmxpYyBib29sIGp1c3RpZnkgeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIFBhbmdv LkFsaWdubWVudCBsaW5lX2FsaWdubWVudCB7IGdldDsgc2V0OyB9CisrCQlwdWJsaWMgYm9vbCBs aW5lX3dyYXAgeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIFBhbmdvLldyYXBNb2RlIGxpbmVfd3Jh cF9tb2RlIHsgZ2V0OyBzZXQ7IH0KKysJCXB1YmxpYyBpbnQgbWF4X2xlbmd0aCB7IGdldDsgc2V0 OyB9CisrCQlwdWJsaWMgdWludCBwYXNzd29yZF9jaGFyIHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0Fj Y2Vzc29yTWV0aG9kXQorKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVk X3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBpbnQgcG9zaXRpb24g eyBnZXQ7IHNldDsgfQorKwkJcHVibGljIGJvb2wgc2VsZWN0YWJsZSB7IGdldDsgc2V0OyB9Cisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCisrCQlwdWJsaWMgQ2x1dHRlci5Db2xvciBzZWxl Y3RlZF90ZXh0X2NvbG9yIHsgZ2V0OyBzZXQ7IH0KKysJCVtOb0FjY2Vzc29yTWV0aG9kXQorKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQorKwkJcHVibGljIGJvb2wgc2VsZWN0ZWRfdGV4dF9j b2xvcl9zZXQgeyBnZXQ7IH0KKysJCXB1YmxpYyBpbnQgc2VsZWN0aW9uX2JvdW5kIHsgZ2V0OyBz ZXQ7IH0KKysJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIHNlbGVjdGlvbl9jb2xvciB7IGdldDsgc2V0 OyB9CisrCQlbTm9BY2Nlc3Nvck1ldGhvZF0KKysJCXB1YmxpYyBib29sIHNlbGVjdGlvbl9jb2xv cl9zZXQgeyBnZXQ7IH0KKysJCXB1YmxpYyBib29sIHNpbmdsZV9saW5lX21vZGUgeyBnZXQ7IHNl dDsgfQorKwkJcHVibGljIHN0cmluZyB0ZXh0IHsgZ2V0OyBzZXQ7IH0KKysJCXB1YmxpYyBib29s IHVzZV9tYXJrdXAgeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQg YWN0aXZhdGUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNiIpXQorKwkJcHVibGljIHZp cnR1YWwgc2lnbmFsIHZvaWQgY3Vyc29yX2NoYW5nZWQgKCk7CisrCQlbVmVyc2lvbiAoZGVwcmVj YXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIsIHNpbmNlID0gIjEuMCIpXQor KwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgY3Vyc29yX2V2ZW50IChHcmFwaGVuZS5SZWN0 IHJlY3QpOworKwkJW0hhc0VtaXR0ZXJdCisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisr CQlwdWJsaWMgc2lnbmFsIHZvaWQgZGVsZXRlX3RleHQgKGludCBzdGFydF9wb3MsIGludCBlbmRf cG9zKTsKKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIHRleHRfY2hhbmdlZCAoKTsKKysJ fQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBl X2lkID0gImNsdXR0ZXJfdGV4dF9idWZmZXJfZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTAiKV0KKysJcHVibGljIGNsYXNzIFRleHRCdWZmZXIgOiBHTGliLk9iamVjdCB7 CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwdWJsaWMg VGV4dEJ1ZmZlciAoKTsKKysJCXB1YmxpYyB2aXJ0dWFsIHVpbnQgZGVsZXRlX3RleHQgKHVpbnQg cG9zaXRpb24sIHVpbnQgbl9jaGFycyk7CisrCQlwdWJsaWMgdm9pZCBlbWl0X2RlbGV0ZWRfdGV4 dCAodWludCBwb3NpdGlvbiwgdWludCBuX2NoYXJzKTsKKysJCXB1YmxpYyB2b2lkIGVtaXRfaW5z ZXJ0ZWRfdGV4dCAodWludCBwb3NpdGlvbiwgc3RyaW5nIGNoYXJzLCB1aW50IG5fY2hhcnMpOwor KwkJcHVibGljIHNpemVfdCBnZXRfYnl0ZXMgKCk7CisrCQlwdWJsaWMgdmlydHVhbCB1aW50IGdl dF9sZW5ndGggKCk7CisrCQlwdWJsaWMgaW50IGdldF9tYXhfbGVuZ3RoICgpOworKwkJcHVibGlj IHVub3duZWQgc3RyaW5nIGdldF90ZXh0ICgpOworKwkJW0NDb2RlICh2ZnVuY19uYW1lID0gImdl dF90ZXh0IildCisrCQlbTm9XcmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwgdW5vd25lZCBzdHJp bmcgZ2V0X3RleHRfd2l0aF9sZW5ndGggKHNpemVfdCBuX2J5dGVzKTsKKysJCXB1YmxpYyB2aXJ0 dWFsIHVpbnQgaW5zZXJ0X3RleHQgKHVpbnQgcG9zaXRpb24sIHN0cmluZyBjaGFycywgdWludCBu X2NoYXJzKTsKKysJCXB1YmxpYyB2b2lkIHNldF9tYXhfbGVuZ3RoIChpbnQgbWF4X2xlbmd0aCk7 CisrCQlwdWJsaWMgdm9pZCBzZXRfdGV4dCAoc3RyaW5nIGNoYXJzLCBpbnQgbl9jaGFycyk7Cisr CQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwdWJsaWMgVGV4 dEJ1ZmZlci53aXRoX3RleHQgKHN0cmluZz8gdGV4dCwgc3NpemVfdCB0ZXh0X2xlbik7CisrCQlw dWJsaWMgdWludCBsZW5ndGggeyBnZXQ7IH0KKysJCXB1YmxpYyBpbnQgbWF4X2xlbmd0aCB7IGdl dDsgc2V0OyB9CisrCQlwdWJsaWMgc3RyaW5nIHRleHQgeyBnZXQ7IH0KKysJCXB1YmxpYyB2aXJ0 dWFsIHNpZ25hbCB2b2lkIGRlbGV0ZWRfdGV4dCAodWludCBwb3NpdGlvbiwgdWludCBuX2NoYXJz KTsKKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGluc2VydGVkX3RleHQgKHVpbnQgcG9z aXRpb24sIHN0cmluZyBjaGFycywgdWludCBuX2NoYXJzKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfdGV4 dF9ub2RlX2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCXB1 YmxpYyBjbGFzcyBUZXh0Tm9kZSA6IENsdXR0ZXIuUGFpbnROb2RlIHsKKysJCVtDQ29kZSAoaGFz X2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJQYWludE5vZGUqIild CisrCQlwdWJsaWMgVGV4dE5vZGUgKFBhbmdvLkxheW91dD8gbGF5b3V0LCBDbHV0dGVyLkNvbG9y PyBjb2xvcik7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3RleHR1cmVfZ2V0X3R5cGUgKCkiKV0KKysJcHVi bGljIGNsYXNzIFRleHR1cmUgOiBDbHV0dGVyLkFjdG9yIHsKKysJCXB1YmxpYyBDb2dsLk1hdGVy aWFsIGNvZ2xfbWF0ZXJpYWwgeyBnZXQ7IHNldDsgfQorKwkJcHVibGljIENvZ2wuVGV4dHVyZSBj b2dsX3RleHR1cmUgeyBnZXQ7IHNldDsgfQorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl90ZXh0dXJlX25vZGVf Z2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJcHVibGljIGNs YXNzIFRleHR1cmVOb2RlIDogQ2x1dHRlci5QaXBlbGluZU5vZGUgeworKwkJW0NDb2RlIChoYXNf Y29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlclBhaW50Tm9kZSoiKV0K KysJCXB1YmxpYyBUZXh0dXJlTm9kZSAoQ29nbC5UZXh0dXJlIHRleHR1cmUsIENsdXR0ZXIuQ29s b3I/IGNvbG9yLCBDbHV0dGVyLlNjYWxpbmdGaWx0ZXIgbWluX2ZpbHRlciwgQ2x1dHRlci5TY2Fs aW5nRmlsdGVyIG1hZ19maWx0ZXIpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl90aW1lbGluZV9nZXRfdHlw ZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCisrCXB1YmxpYyBjbGFzcyBUaW1l bGluZSA6IEdMaWIuT2JqZWN0LCBDbHV0dGVyLlNjcmlwdGFibGUgeworKwkJW0NDb2RlIChoYXNf Y29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIp XQorKwkJcHVibGljIFRpbWVsaW5lICh1aW50IG1zZWNzKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjE0IildCisrCQlwdWJsaWMgdm9pZCBhZGRfbWFya2VyIChzdHJpbmcgbWFya2VyX25hbWUs IGRvdWJsZSBwcm9ncmVzcyk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCisrCQlwdWJs aWMgdm9pZCBhZGRfbWFya2VyX2F0X3RpbWUgKHN0cmluZyBtYXJrZXJfbmFtZSwgdWludCBtc2Vj cyk7CisrCQlwdWJsaWMgdm9pZCBhZHZhbmNlICh1aW50IG1zZWNzKTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIwLjgiKV0KKysJCXB1YmxpYyB2b2lkIGFkdmFuY2VfdG9fbWFya2VyIChzdHJpbmcg bWFya2VyX25hbWUpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVk X3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIwLjQiKV0KKysJCXB1YmxpYyBDbHV0dGVyLlRpbWVs aW5lIGNsb25lICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQorKwkJcHVibGljIGJv b2wgZ2V0X2F1dG9fcmV2ZXJzZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisr CQlwdWJsaWMgYm9vbCBnZXRfY3ViaWNfYmV6aWVyX3Byb2dyZXNzIChHcmFwaGVuZS5Qb2ludCBj XzEsIEdyYXBoZW5lLlBvaW50IGNfMik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQor KwkJcHVibGljIGludCBnZXRfY3VycmVudF9yZXBlYXQgKCk7CisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC40IildCisrCQlwdWJsaWMgdWludCBnZXRfZGVsYXkgKCk7CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMC42IildCisrCQlwdWJsaWMgdWludCBnZXRfZGVsdGEgKCk7CisrCQlbVmVyc2lvbiAo c2luY2UgPSAiMC42IildCisrCQlwdWJsaWMgQ2x1dHRlci5UaW1lbGluZURpcmVjdGlvbiBnZXRf ZGlyZWN0aW9uICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGljIHVp bnQgZ2V0X2R1cmF0aW9uICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1 YmxpYyBpbnQ2NCBnZXRfZHVyYXRpb25faGludCAoKTsKKysJCXB1YmxpYyB1aW50IGdldF9lbGFw c2VkX3RpbWUgKCk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRf c2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIGJvb2wgZ2V0X2xvb3AgKCk7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMC42IildCisrCQlwdWJsaWMgZG91YmxlIGdldF9wcm9ncmVzcyAoKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgQ2x1dHRlci5BbmltYXRpb25N b2RlIGdldF9wcm9ncmVzc19tb2RlICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0K KysJCXB1YmxpYyBpbnQgZ2V0X3JlcGVhdF9jb3VudCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEyIildCisrCQlwdWJsaWMgYm9vbCBnZXRfc3RlcF9wcm9ncmVzcyAob3V0IGludCBuX3N0 ZXBzLCBvdXQgQ2x1dHRlci5TdGVwTW9kZSBzdGVwX21vZGUpOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjAuOCIpXQorKwkJcHVibGljIGJvb2wgaGFzX21hcmtlciAoc3RyaW5nIG1hcmtlcl9uYW1l KTsKKysJCXB1YmxpYyBib29sIGlzX3BsYXlpbmcgKCk7CisrCQlbQ0NvZGUgKGFycmF5X2xlbmd0 aCA9IHRydWUsIGFycmF5X2xlbmd0aF9wb3MgPSAxLjEsIGFycmF5X2xlbmd0aF90eXBlID0gImdz aXplIiwgYXJyYXlfbnVsbF90ZXJtaW5hdGVkID0gdHJ1ZSldCisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC44IildCisrCQlwdWJsaWMgc3RyaW5nW10gbGlzdF9tYXJrZXJzIChpbnQgbXNlY3MpOwor KwkJcHVibGljIHZvaWQgcGF1c2UgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCisr CQlwdWJsaWMgdm9pZCByZW1vdmVfbWFya2VyIChzdHJpbmcgbWFya2VyX25hbWUpOworKwkJcHVi bGljIHZvaWQgcmV3aW5kICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQorKwkJcHVi bGljIHZvaWQgc2V0X2F1dG9fcmV2ZXJzZSAoYm9vbCByZXZlcnNlKTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjEyIildCisrCQlwdWJsaWMgdm9pZCBzZXRfY3ViaWNfYmV6aWVyX3Byb2dyZXNz IChHcmFwaGVuZS5Qb2ludCBjXzEsIEdyYXBoZW5lLlBvaW50IGNfMik7CisrCQlbVmVyc2lvbiAo c2luY2UgPSAiMC40IildCisrCQlwdWJsaWMgdm9pZCBzZXRfZGVsYXkgKHVpbnQgbXNlY3MpOwor KwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQorKwkJcHVibGljIHZvaWQgc2V0X2RpcmVjdGlv biAoQ2x1dHRlci5UaW1lbGluZURpcmVjdGlvbiBkaXJlY3Rpb24pOworKwkJW1ZlcnNpb24gKHNp bmNlID0gIjAuNiIpXQorKwkJcHVibGljIHZvaWQgc2V0X2R1cmF0aW9uICh1aW50IG1zZWNzKTsK KysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEw IildCisrCQlwdWJsaWMgdm9pZCBzZXRfbG9vcCAoYm9vbCBsb29wKTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBzZXRfcHJvZ3Jlc3NfZnVuYyAob3duZWQg Q2x1dHRlci5UaW1lbGluZVByb2dyZXNzRnVuYz8gZnVuYyk7CisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgc2V0X3Byb2dyZXNzX21vZGUgKENsdXR0ZXIuQW5p bWF0aW9uTW9kZSBtb2RlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJs aWMgdm9pZCBzZXRfcmVwZWF0X2NvdW50IChpbnQgY291bnQpOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTIiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9zdGVwX3Byb2dyZXNzIChpbnQgbl9zdGVw cywgQ2x1dHRlci5TdGVwTW9kZSBzdGVwX21vZGUpOworKwkJcHVibGljIHZvaWQgc2tpcCAodWlu dCBtc2Vjcyk7CisrCQlwdWJsaWMgdm9pZCBzdGFydCAoKTsKKysJCXB1YmxpYyB2b2lkIHN0b3Ag KCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCisrCQlwdWJsaWMgYm9vbCBhdXRvX3Jl dmVyc2UgeyBnZXQ7IHNldDsgfQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQorKwkJcHVi bGljIHVpbnQgZGVsYXkgeyBnZXQ7IHNldDsgfQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIp XQorKwkJcHVibGljIENsdXR0ZXIuVGltZWxpbmVEaXJlY3Rpb24gZGlyZWN0aW9uIHsgZ2V0OyBz ZXQ7IH0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KKysJCXB1YmxpYyB1aW50IGR1cmF0 aW9uIHsgZ2V0OyBzZXQ7IH0KKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVj YXRlZF9zaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgYm9vbCBsb29wIHsgZ2V0OyBzZXQ7IH0K KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgQ2x1dHRlci5BbmltYXRp b25Nb2RlIHByb2dyZXNzX21vZGUgeyBnZXQ7IHNldDsgfQorKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMTAiKV0KKysJCXB1YmxpYyBpbnQgcmVwZWF0X2NvdW50IHsgZ2V0OyBzZXQ7IH0KKysJCXB1 YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGNvbXBsZXRlZCAoKTsKKysJCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjgiKV0KKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIG1hcmtlcl9yZWFjaGVk IChzdHJpbmcgbWFya2VyX25hbWUsIGludCBtc2Vjcyk7CisrCQlwdWJsaWMgdmlydHVhbCBzaWdu YWwgdm9pZCBuZXdfZnJhbWUgKGludCBtc2Vjcyk7CisrCQlwdWJsaWMgdmlydHVhbCBzaWduYWwg dm9pZCBwYXVzZWQgKCk7CisrCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBzdGFydGVkICgp OworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25h bCB2b2lkIHN0b3BwZWQgKGJvb2wgaXNfZmluaXNoZWQpOworKwl9CisrCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKwlbQ29tcGFjdF0KKysJcHVibGlj IGNsYXNzIFRpbWVvdXRQb29sIHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9 IGZhbHNlKV0KKysJCXB1YmxpYyBUaW1lb3V0UG9vbCAoaW50IHByaW9yaXR5KTsKKysJfQorKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9p ZCA9IGZhbHNlKV0KKysJW0NvbXBhY3RdCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisr CXB1YmxpYyBjbGFzcyBUb3VjaEV2ZW50IDogQ2x1dHRlci5FdmVudCB7CisrCQlwdWJsaWMgZG91 YmxlIGF4ZXM7CisrCQlwdWJsaWMgd2VhayBDbHV0dGVyLklucHV0RGV2aWNlIGRldmljZTsKKysJ CXB1YmxpYyBDbHV0dGVyLkV2ZW50RmxhZ3MgZmxhZ3M7CisrCQlwdWJsaWMgQ2x1dHRlci5Nb2Rp ZmllclR5cGUgbW9kaWZpZXJfc3RhdGU7CisrCQlwdWJsaWMgd2VhayBDbHV0dGVyLkV2ZW50U2Vx dWVuY2Ugc2VxdWVuY2U7CisrCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKKysJ CXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7CisrCQlwdWJsaWMgdWludDMyIHRpbWU7 CisrCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKKysJCXB1YmxpYyBmbG9hdCB4Owor KwkJcHVibGljIGZsb2F0IHk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisrCVtDb21wYWN0XQorKwlb VmVyc2lvbiAoc2luY2UgPSAiMS4yNCIpXQorKwlwdWJsaWMgY2xhc3MgVG91Y2hwYWRQaW5jaEV2 ZW50IDogQ2x1dHRlci5FdmVudCB7CisrCQlwdWJsaWMgZmxvYXQgYW5nbGVfZGVsdGE7CisrCQlw dWJsaWMgZmxvYXQgZHg7CisrCQlwdWJsaWMgZmxvYXQgZHk7CisrCQlwdWJsaWMgQ2x1dHRlci5F dmVudEZsYWdzIGZsYWdzOworKwkJcHVibGljIHVpbnQgbl9maW5nZXJzOworKwkJcHVibGljIENs dXR0ZXIuVG91Y2hwYWRHZXN0dXJlUGhhc2UgcGhhc2U7CisrCQlwdWJsaWMgZmxvYXQgc2NhbGU7 CisrCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKKysJCXB1YmxpYyB3ZWFrIENs dXR0ZXIuU3RhZ2Ugc3RhZ2U7CisrCQlwdWJsaWMgdWludDMyIHRpbWU7CisrCQlwdWJsaWMgQ2x1 dHRlci5FdmVudFR5cGUgdHlwZTsKKysJCXB1YmxpYyBmbG9hdCB4OworKwkJcHVibGljIGZsb2F0 IHk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisrCVtDb21wYWN0XQorKwlbVmVyc2lvbiAoc2luY2Ug PSAiMS4yNCIpXQorKwlwdWJsaWMgY2xhc3MgVG91Y2hwYWRTd2lwZUV2ZW50IDogQ2x1dHRlci5F dmVudCB7CisrCQlwdWJsaWMgZmxvYXQgZHg7CisrCQlwdWJsaWMgZmxvYXQgZHk7CisrCQlwdWJs aWMgQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOworKwkJcHVibGljIHVpbnQgbl9maW5nZXJzOwor KwkJcHVibGljIENsdXR0ZXIuVG91Y2hwYWRHZXN0dXJlUGhhc2UgcGhhc2U7CisrCQlwdWJsaWMg d2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKKysJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ug c3RhZ2U7CisrCQlwdWJsaWMgdWludDMyIHRpbWU7CisrCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5 cGUgdHlwZTsKKysJCXB1YmxpYyBmbG9hdCB4OworKwkJcHVibGljIGZsb2F0IHk7CisrCX0KKysJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9 ICJjbHV0dGVyX3RyYW5zZm9ybV9ub2RlX2dldF90eXBlICgpIildCisrCXB1YmxpYyBjbGFzcyBU cmFuc2Zvcm1Ob2RlIDogQ2x1dHRlci5QYWludE5vZGUgeworKwkJW0NDb2RlIChoYXNfY29uc3Ry dWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlclBhaW50Tm9kZSoiKV0KKysJCXB1 YmxpYyBUcmFuc2Zvcm1Ob2RlIChDb2dsLk1hdHJpeCBwcm9qZWN0aW9uKTsKKysJfQorKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNs dXR0ZXJfdHJhbnNpdGlvbl9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MCIpXQorKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgVHJhbnNpdGlvbiA6IENsdXR0ZXIuVGltZWxp bmUsIENsdXR0ZXIuU2NyaXB0YWJsZSB7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rp b24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgVHJhbnNpdGlvbiAoKTsKKysJCVtOb1dyYXBwZXJd CisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIGF0dGFjaGVkIChDbHV0dGVyLkFuaW1hdGFibGUgYW5p bWF0YWJsZSk7CisrCQlbTm9XcmFwcGVyXQorKwkJcHVibGljIHZpcnR1YWwgdm9pZCBjb21wdXRl X3ZhbHVlIChDbHV0dGVyLkFuaW1hdGFibGUgYW5pbWF0YWJsZSwgQ2x1dHRlci5JbnRlcnZhbCBp bnRlcnZhbCwgZG91YmxlIHByb2dyZXNzKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgdmly dHVhbCB2b2lkIGRldGFjaGVkIChDbHV0dGVyLkFuaW1hdGFibGUgYW5pbWF0YWJsZSk7CisrCQlw dWJsaWMgdW5vd25lZCBDbHV0dGVyLkFuaW1hdGFibGUgZ2V0X2FuaW1hdGFibGUgKCk7CisrCQlw dWJsaWMgdW5vd25lZCBDbHV0dGVyLkludGVydmFsIGdldF9pbnRlcnZhbCAoKTsKKysJCXB1Ymxp YyBib29sIGdldF9yZW1vdmVfb25fY29tcGxldGUgKCk7CisrCQlwdWJsaWMgdm9pZCBzZXRfYW5p bWF0YWJsZSAoQ2x1dHRlci5BbmltYXRhYmxlPyBhbmltYXRhYmxlKTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjEyIildCisrCQlwdWJsaWMgdm9pZCBzZXRfZnJvbV92YWx1ZSAoR0xpYi5WYWx1 ZSB2YWx1ZSk7CisrCQlwdWJsaWMgdm9pZCBzZXRfaW50ZXJ2YWwgKENsdXR0ZXIuSW50ZXJ2YWw/ IGludGVydmFsKTsKKysJCXB1YmxpYyB2b2lkIHNldF9yZW1vdmVfb25fY29tcGxldGUgKGJvb2wg cmVtb3ZlX2NvbXBsZXRlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlwdWJs aWMgdm9pZCBzZXRfdG9fdmFsdWUgKEdMaWIuVmFsdWUgdmFsdWUpOworKwkJcHVibGljIENsdXR0 ZXIuQW5pbWF0YWJsZSBhbmltYXRhYmxlIHsgZ2V0OyBzZXQ7IH0KKysJCXB1YmxpYyBDbHV0dGVy LkludGVydmFsIGludGVydmFsIHsgZ2V0OyBzZXQ7IH0KKysJCXB1YmxpYyBib29sIHJlbW92ZV9v bl9jb21wbGV0ZSB7IGdldDsgc2V0OyB9CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3RyYW5zaXRpb25fZ3Jv dXBfZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJcHVibGlj IGNsYXNzIFRyYW5zaXRpb25Hcm91cCA6IENsdXR0ZXIuVHJhbnNpdGlvbiwgQ2x1dHRlci5TY3Jp cHRhYmxlIHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBl ID0gIkNsdXR0ZXJUcmFuc2l0aW9uKiIpXQorKwkJcHVibGljIFRyYW5zaXRpb25Hcm91cCAoKTsK KysJCXB1YmxpYyB2b2lkIGFkZF90cmFuc2l0aW9uIChDbHV0dGVyLlRyYW5zaXRpb24gdHJhbnNp dGlvbik7CisrCQlwdWJsaWMgdm9pZCByZW1vdmVfYWxsICgpOworKwkJcHVibGljIHZvaWQgcmVt b3ZlX3RyYW5zaXRpb24gKENsdXR0ZXIuVHJhbnNpdGlvbiB0cmFuc2l0aW9uKTsKKysJfQorKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0g ImNsdXR0ZXJfdmlydHVhbF9pbnB1dF9kZXZpY2VfZ2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGNs YXNzIFZpcnR1YWxJbnB1dERldmljZSA6IEdMaWIuT2JqZWN0IHsKKysJCVtDQ29kZSAoaGFzX2Nv bnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KKysJCXByb3RlY3RlZCBWaXJ0dWFsSW5wdXREZXZp Y2UgKCk7CisrCQlwdWJsaWMgaW50IGdldF9kZXZpY2VfdHlwZSAoKTsKKysJCXB1YmxpYyB2aXJ0 dWFsIHZvaWQgbm90aWZ5X2Fic29sdXRlX21vdGlvbiAodWludDY0IHRpbWVfdXMsIGRvdWJsZSB4 LCBkb3VibGUgeSk7CisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIG5vdGlmeV9idXR0b24gKHVpbnQ2 NCB0aW1lX3VzLCB1aW50MzIgYnV0dG9uLCBDbHV0dGVyLkJ1dHRvblN0YXRlIGJ1dHRvbl9zdGF0 ZSk7CisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIG5vdGlmeV9kaXNjcmV0ZV9zY3JvbGwgKHVpbnQ2 NCB0aW1lX3VzLCBDbHV0dGVyLlNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIENsdXR0ZXIuU2Ny b2xsU291cmNlIHNjcm9sbF9zb3VyY2UpOworKwkJcHVibGljIHZpcnR1YWwgdm9pZCBub3RpZnlf a2V5ICh1aW50NjQgdGltZV91cywgdWludDMyIGtleSwgQ2x1dHRlci5LZXlTdGF0ZSBrZXlfc3Rh dGUpOworKwkJcHVibGljIHZpcnR1YWwgdm9pZCBub3RpZnlfa2V5dmFsICh1aW50NjQgdGltZV91 cywgdWludDMyIGtleXZhbCwgQ2x1dHRlci5LZXlTdGF0ZSBrZXlfc3RhdGUpOworKwkJcHVibGlj IHZpcnR1YWwgdm9pZCBub3RpZnlfcmVsYXRpdmVfbW90aW9uICh1aW50NjQgdGltZV91cywgZG91 YmxlIGR4LCBkb3VibGUgZHkpOworKwkJcHVibGljIHZpcnR1YWwgdm9pZCBub3RpZnlfc2Nyb2xs X2NvbnRpbnVvdXMgKHVpbnQ2NCB0aW1lX3VzLCBkb3VibGUgZHgsIGRvdWJsZSBkeSwgQ2x1dHRl ci5TY3JvbGxTb3VyY2Ugc2Nyb2xsX3NvdXJjZSwgQ2x1dHRlci5TY3JvbGxGaW5pc2hGbGFncyBm aW5pc2hfZmxhZ3MpOworKwkJcHVibGljIHZpcnR1YWwgdm9pZCBub3RpZnlfdG91Y2hfZG93biAo dWludDY0IHRpbWVfdXMsIGludCBzbG90LCBkb3VibGUgeCwgZG91YmxlIHkpOworKwkJcHVibGlj IHZpcnR1YWwgdm9pZCBub3RpZnlfdG91Y2hfbW90aW9uICh1aW50NjQgdGltZV91cywgaW50IHNs b3QsIGRvdWJsZSB4LCBkb3VibGUgeSk7CisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIG5vdGlmeV90 b3VjaF91cCAodWludDY0IHRpbWVfdXMsIGludCBzbG90KTsKKysJCXB1YmxpYyBDbHV0dGVyLklu cHV0RGV2aWNlVHlwZSBkZXZpY2VfdHlwZSB7IGdldDsgY29uc3RydWN0OyB9CisrCQlbTm9BY2Nl c3Nvck1ldGhvZF0KKysJCXB1YmxpYyBDbHV0dGVyLlNlYXQgc2VhdCB7IG93bmVkIGdldDsgY29u c3RydWN0OyB9CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3pvb21fYWN0aW9uX2dldF90eXBlICgpIildCisr CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCXB1YmxpYyBjbGFzcyBab29tQWN0aW9uIDog Q2x1dHRlci5HZXN0dXJlQWN0aW9uIHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlv biA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJBY3Rpb24qIildCisrCQlwdWJsaWMgWm9vbUFjdGlv biAoKTsKKysJCXB1YmxpYyB2b2lkIGdldF9mb2NhbF9wb2ludCAoR3JhcGhlbmUuUG9pbnQgcG9p bnQpOworKwkJcHVibGljIHZvaWQgZ2V0X3RyYW5zZm9ybWVkX2ZvY2FsX3BvaW50IChHcmFwaGVu ZS5Qb2ludCBwb2ludCk7CisrCQlwdWJsaWMgQ2x1dHRlci5ab29tQXhpcyBnZXRfem9vbV9heGlz ICgpOworKwkJcHVibGljIHZvaWQgc2V0X3pvb21fYXhpcyAoQ2x1dHRlci5ab29tQXhpcyBheGlz KTsKKysJCXB1YmxpYyBDbHV0dGVyLlpvb21BeGlzIHpvb21fYXhpcyB7IGdldDsgc2V0OyB9Cisr CQlwdWJsaWMgdmlydHVhbCBzaWduYWwgYm9vbCB6b29tIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBH cmFwaGVuZS5Qb2ludCBmb2NhbF9wb2ludCwgZG91YmxlIGZhY3Rvcik7CisrCX0KKysJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9jbmFtZSA9ICJD bHV0dGVyQW5pbWF0YWJsZUludGVyZmFjZSIsIHR5cGVfaWQgPSAiY2x1dHRlcl9hbmltYXRhYmxl X2dldF90eXBlICgpIildCisrCXB1YmxpYyBpbnRlcmZhY2UgQW5pbWF0YWJsZSA6IEdMaWIuT2Jq ZWN0IHsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgYWJzdHJhY3QgYm9vbCBhbmltYXRlX3By b3BlcnR5IChDbHV0dGVyLkFuaW1hdGlvbiBhbmltYXRpb24sIHN0cmluZyBwcm9wZXJ0eV9uYW1l LCBHTGliLlZhbHVlIGluaXRpYWxfdmFsdWUsIEdMaWIuVmFsdWUgZmluYWxfdmFsdWUsIGRvdWJs ZSBwcm9ncmVzcywgR0xpYi5WYWx1ZSB2YWx1ZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40 IildCisrCQlwdWJsaWMgYWJzdHJhY3QgdW5vd25lZCBHTGliLlBhcmFtU3BlYyBmaW5kX3Byb3Bl cnR5IChzdHJpbmcgcHJvcGVydHlfbmFtZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40Iild CisrCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCBnZXRfaW5pdGlhbF9zdGF0ZSAoc3RyaW5nIHByb3Bl cnR5X25hbWUsIEdMaWIuVmFsdWUgdmFsdWUpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIp XQorKwkJcHVibGljIGFic3RyYWN0IGJvb2wgaW50ZXJwb2xhdGVfdmFsdWUgKHN0cmluZyBwcm9w ZXJ0eV9uYW1lLCBDbHV0dGVyLkludGVydmFsIGludGVydmFsLCBkb3VibGUgcHJvZ3Jlc3MsIG91 dCBHTGliLlZhbHVlIHZhbHVlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1 YmxpYyBhYnN0cmFjdCB2b2lkIHNldF9maW5hbF9zdGF0ZSAoc3RyaW5nIHByb3BlcnR5X25hbWUs IEdMaWIuVmFsdWUgdmFsdWUpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9jb250YWluZXJfZ2V0X3R5cGUg KCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQorKwlwdWJsaWMgaW50ZXJmYWNlIENv bnRhaW5lciA6IEdMaWIuT2JqZWN0IHsKKysJCXB1YmxpYyB2b2lkIGFkZCAocGFyYW1zIENsdXR0 ZXIuQWN0b3JbXSBhY3RvcnMpOworKwkJW0NDb2RlICh2ZnVuY19uYW1lID0gImFkZCIpXQorKwkJ W1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTAiLCBz aW5jZSA9ICIwLjQiKV0KKysJCXB1YmxpYyBhYnN0cmFjdCB2b2lkIGFkZF9hY3RvciAoQ2x1dHRl ci5BY3RvciBhY3Rvcik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCisrCQlwdWJsaWMg dm9pZCBjaGlsZF9nZXQgKENsdXR0ZXIuQWN0b3IgYWN0b3IsIC4uLik7CisrCQlbVmVyc2lvbiAo c2luY2UgPSAiMC44IildCisrCQlwdWJsaWMgdm9pZCBjaGlsZF9nZXRfcHJvcGVydHkgKENsdXR0 ZXIuQWN0b3IgY2hpbGQsIHN0cmluZyBwcm9wZXJ0eSwgR0xpYi5WYWx1ZSB2YWx1ZSk7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMC44IildCisrCQlwdWJsaWMgdm9pZCBjaGlsZF9zZXQgKENsdXR0 ZXIuQWN0b3IgYWN0b3IsIC4uLik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCisrCQlw dWJsaWMgdm9pZCBjaGlsZF9zZXRfcHJvcGVydHkgKENsdXR0ZXIuQWN0b3IgY2hpbGQsIHN0cmlu ZyBwcm9wZXJ0eSwgR0xpYi5WYWx1ZSB2YWx1ZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44 IildCisrCQlwdWJsaWMgc3RhdGljIHVub3duZWQgR0xpYi5QYXJhbVNwZWMgY2xhc3NfZmluZF9j aGlsZF9wcm9wZXJ0eSAoR0xpYi5PYmplY3RDbGFzcyBrbGFzcywgc3RyaW5nIHByb3BlcnR5X25h bWUpOworKwkJW0NDb2RlIChhcnJheV9sZW5ndGhfcG9zID0gMS4xLCBhcnJheV9sZW5ndGhfdHlw ZSA9ICJndWludCIpXQorKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQorKwkJcHVibGljIHN0 YXRpYyBHTGliLlBhcmFtU3BlY1tdIGNsYXNzX2xpc3RfY2hpbGRfcHJvcGVydGllcyAoR0xpYi5P YmplY3RDbGFzcyBrbGFzcyk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJs aWMgdmlydHVhbCB2b2lkIGNyZWF0ZV9jaGlsZF9tZXRhIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KKysJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZGVz dHJveV9jaGlsZF9tZXRhIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsKKysJCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjYiKV0KKysJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZmluZF9jaGlsZF9i eV9uYW1lIChzdHJpbmcgY2hpbGRfbmFtZSk7CisrCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJf Y29udGFpbmVyX2NsYXNzX2ZpbmRfY2hpbGRfcHJvcGVydHkiKV0KKysJCXB1YmxpYyBjbGFzcyB1 bm93bmVkIEdMaWIuUGFyYW1TcGVjIGZpbmRfY2hpbGRfcHJvcGVydHkgKHN0cmluZyBwcm9wZXJ0 eV9uYW1lKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KKysJCXB1YmxpYyB2aXJ0dWFs IHVub3duZWQgQ2x1dHRlci5DaGlsZE1ldGEgZ2V0X2NoaWxkX21ldGEgKENsdXR0ZXIuQWN0b3Ig YWN0b3IpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNl ID0gIjEuMTAiLCBzaW5jZSA9ICIwLjQiKV0KKysJCXB1YmxpYyBHTGliLkxpc3Q8d2VhayBDbHV0 dGVyLkFjdG9yPiBnZXRfY2hpbGRyZW4gKCk7CisrCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJf Y29udGFpbmVyX2NsYXNzX2xpc3RfY2hpbGRfcHJvcGVydGllcyIpXQorKwkJcHVibGljIGNsYXNz IHVub3duZWQgR0xpYi5QYXJhbVNwZWNbXSBsaXN0X2NoaWxkX3Byb3BlcnRpZXMgKCk7CisrCQlb Q0NvZGUgKHZmdW5jX25hbWUgPSAibG93ZXIiKV0KKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0g dHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEwIiwgc2luY2UgPSAiMC42IildCisrCQlwdWJs aWMgdmlydHVhbCB2b2lkIGxvd2VyX2NoaWxkIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBDbHV0dGVy LkFjdG9yPyBzaWJsaW5nID0gbnVsbCk7CisrCQlbQ0NvZGUgKHZmdW5jX25hbWUgPSAicmFpc2Ui KV0KKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIx LjEwIiwgc2luY2UgPSAiMC42IildCisrCQlwdWJsaWMgdmlydHVhbCB2b2lkIHJhaXNlX2NoaWxk IChDbHV0dGVyLkFjdG9yIGFjdG9yLCBDbHV0dGVyLkFjdG9yPyBzaWJsaW5nID0gbnVsbCk7Cisr CQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIs IHNpbmNlID0gIjAuNCIpXQorKwkJcHVibGljIHZvaWQgcmVtb3ZlICguLi4pOworKwkJW0NDb2Rl ICh2ZnVuY19uYW1lID0gInJlbW92ZSIpXQorKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVl LCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIwLjQiKV0KKysJCXB1YmxpYyBh YnN0cmFjdCB2b2lkIHJlbW92ZV9hY3RvciAoQ2x1dHRlci5BY3RvciBhY3Rvcik7CisrCQlbVmVy c2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIsIHNpbmNl ID0gIjAuNiIpXQorKwkJcHVibGljIGFic3RyYWN0IHZvaWQgc29ydF9kZXB0aF9vcmRlciAoKTsK KysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGFjdG9yX2FkZGVkIChDbHV0dGVyLkFjdG9y IGFjdG9yKTsKKysJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGFjdG9yX3JlbW92ZWQgKENs dXR0ZXIuQWN0b3IgYWN0b3IpOworKwkJW0hhc0VtaXR0ZXJdCisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC44IildCisrCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBjaGlsZF9ub3RpZnkgKENs dXR0ZXIuQWN0b3IgY2hpbGQsIEdMaWIuUGFyYW1TcGVjIHBzcGVjKTsKKysJfQorKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2NuYW1lID0gIkNs dXR0ZXJDb250ZW50SW50ZXJmYWNlIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2NvbnRlbnRfZ2V0X3R5 cGUgKCkiKV0KKysJcHVibGljIGludGVyZmFjZSBDb250ZW50IDogR0xpYi5PYmplY3QgeworKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBhYnN0cmFjdCBib29sIGdldF9w cmVmZXJyZWRfc2l6ZSAob3V0IGZsb2F0IHdpZHRoLCBvdXQgZmxvYXQgaGVpZ2h0KTsKKysJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCBpbnZhbGlk YXRlICgpOworKwkJcHVibGljIGFic3RyYWN0IHZvaWQgaW52YWxpZGF0ZV9zaXplICgpOworKwkJ W05vV3JhcHBlcl0KKysJCXB1YmxpYyBhYnN0cmFjdCB2b2lkIHBhaW50X2NvbnRlbnQgKENsdXR0 ZXIuQWN0b3IgYWN0b3IsIENsdXR0ZXIuUGFpbnROb2RlIG5vZGUsIENsdXR0ZXIuUGFpbnRDb250 ZXh0IHBhaW50X2NvbnRleHQpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1 YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGF0dGFjaGVkIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdmlydHVhbCBzaWduYWwg dm9pZCBkZXRhY2hlZCAoQ2x1dHRlci5BY3RvciBhY3Rvcik7CisrCX0KKysJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3Nj cmlwdGFibGVfZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQorKwlw dWJsaWMgaW50ZXJmYWNlIFNjcmlwdGFibGUgOiBHTGliLk9iamVjdCB7CisrCQlwdWJsaWMgYWJz dHJhY3QgdW5vd25lZCBzdHJpbmcgZ2V0X2lkICgpOworKwkJcHVibGljIGFic3RyYWN0IGJvb2wg cGFyc2VfY3VzdG9tX25vZGUgKENsdXR0ZXIuU2NyaXB0IHNjcmlwdCwgR0xpYi5WYWx1ZSB2YWx1 ZSwgc3RyaW5nIG5hbWUsIEpzb24uTm9kZSBub2RlKTsKKysJCXB1YmxpYyBhYnN0cmFjdCB2b2lk IHNldF9jdXN0b21fcHJvcGVydHkgKENsdXR0ZXIuU2NyaXB0IHNjcmlwdCwgc3RyaW5nIG5hbWUs IEdMaWIuVmFsdWUgdmFsdWUpOworKwkJcHVibGljIGFic3RyYWN0IHZvaWQgc2V0X2lkIChzdHJp bmcgaWRfKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiKV0KKysJcHVibGljIGludGVyZmFjZSBTdGFnZVdpbmRvdyA6IEdMaWIuT2JqZWN0IHsK KysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgYWJzdHJhY3QgaW50IGdldF9wZW5kaW5nX3N3YXBz ICgpOworKwkJW05vV3JhcHBlcl0KKysJCXB1YmxpYyBhYnN0cmFjdCB1bm93bmVkIENsdXR0ZXIu QWN0b3IgZ2V0X3dyYXBwZXIgKCk7CisrCQlbTm9XcmFwcGVyXQorKwkJcHVibGljIGFic3RyYWN0 IGJvb2wgaGFzX3JlZHJhd19jbGlwcyAoKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgYWJz dHJhY3Qgdm9pZCBoaWRlICgpOworKwkJW05vV3JhcHBlcl0KKysJCXB1YmxpYyBhYnN0cmFjdCBi b29sIGlnbm9yaW5nX3JlZHJhd19jbGlwcyAoKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMg YWJzdHJhY3QgYm9vbCByZWFsaXplICgpOworKwkJW05vV3JhcHBlcl0KKysJCXB1YmxpYyBhYnN0 cmFjdCB2b2lkIHJlc2l6ZSAoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKKysJCVtOb1dyYXBwZXJd CisrCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCBzZXRfY3Vyc29yX3Zpc2libGUgKGJvb2wgY3Vyc29y X3Zpc2libGUpOworKwkJW05vV3JhcHBlcl0KKysJCXB1YmxpYyBhYnN0cmFjdCB2b2lkIHNldF9m dWxsc2NyZWVuIChib29sIGlzX2Z1bGxzY3JlZW4pOworKwkJW05vV3JhcHBlcl0KKysJCXB1Ymxp YyBhYnN0cmFjdCB2b2lkIHNldF90aXRsZSAoc3RyaW5nIHRpdGxlKTsKKysJCVtOb1dyYXBwZXJd CisrCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCBzZXRfdXNlcl9yZXNpemFibGUgKGJvb2wgaXNfcmVz aXphYmxlKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCBzaG93IChi b29sIGRvX3JhaXNlKTsKKysJCVtOb1dyYXBwZXJdCisrCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCB1 bnJlYWxpemUgKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9u ID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAiY2x1dHRlcl9hY3Rvcl9ib3hfZ2V0X3R5cGUg KCkiKV0KKysJcHVibGljIHN0cnVjdCBBY3RvckJveCB7CisrCQlwdWJsaWMgZmxvYXQgeDE7Cisr CQlwdWJsaWMgZmxvYXQgeTE7CisrCQlwdWJsaWMgZmxvYXQgeDI7CisrCQlwdWJsaWMgZmxvYXQg eTI7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQorKwkJcHVibGljIHN0YXRpYyBDbHV0 dGVyLkFjdG9yQm94PyBhbGxvYyAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KKysJ CXB1YmxpYyBzdGF0aWMgdm9pZCBjbGFtcF90b19waXhlbCAocmVmIENsdXR0ZXIuQWN0b3JCb3gg Ym94KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBib29sIGNvbnRh aW5zIChmbG9hdCB4LCBmbG9hdCB5KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJ CXB1YmxpYyBDbHV0dGVyLkFjdG9yQm94PyBjb3B5ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMCIpXQorKwkJcHVibGljIGJvb2wgZXF1YWwgKENsdXR0ZXIuQWN0b3JCb3ggYm94X2IpOwor KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHZvaWQgZnJlZSAoKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRfYXJlYSAoKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRfaGVpZ2h0 ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIHZvaWQgZ2V0X29y aWdpbiAob3V0IGZsb2F0IHgsIG91dCBmbG9hdCB5KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjAiKV0KKysJCXB1YmxpYyB2b2lkIGdldF9zaXplIChvdXQgZmxvYXQgd2lkdGgsIG91dCBmbG9h dCBoZWlnaHQpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGljIGZsb2F0 IGdldF93aWR0aCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBm bG9hdCBnZXRfeCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBm bG9hdCBnZXRfeSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMg dW5vd25lZCBDbHV0dGVyLkFjdG9yQm94PyBpbml0IChmbG9hdCB4XzEsIGZsb2F0IHlfMSwgZmxv YXQgeF8yLCBmbG9hdCB5XzIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1 YmxpYyB2b2lkIGluaXRfcmVjdCAoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0 IGhlaWdodCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgQ2x1dHRl ci5BY3RvckJveCBpbnRlcnBvbGF0ZSAoQ2x1dHRlci5BY3RvckJveCBmaW5hbCwgZG91YmxlIHBy b2dyZXNzKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KKysJCXB1YmxpYyB2b2lkIHNj YWxlIChmbG9hdCBzY2FsZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCisrCQlwdWJs aWMgdm9pZCBzZXRfb3JpZ2luIChmbG9hdCB4LCBmbG9hdCB5KTsKKysJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjYiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9zaXplIChmbG9hdCB3aWR0aCwgZmxvYXQg aGVpZ2h0KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyBDbHV0dGVy LkFjdG9yQm94IHVuaW9uIChDbHV0dGVyLkFjdG9yQm94IGIpOworKwl9CisrCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2Up XQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwlwdWJsaWMgc3RydWN0IEFjdG9ySXRl ciB7CisrCQlwdWJsaWMgdm9pZCBkZXN0cm95ICgpOworKwkJcHVibGljIHZvaWQgaW5pdCAoQ2x1 dHRlci5BY3RvciByb290KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCisrCQlwdWJs aWMgYm9vbCBpc192YWxpZCAoKTsKKysJCXB1YmxpYyBib29sIG5leHQgKG91dCB1bm93bmVkIENs dXR0ZXIuQWN0b3IgY2hpbGQpOworKwkJcHVibGljIGJvb2wgcHJldiAob3V0IHVub3duZWQgQ2x1 dHRlci5BY3RvciBjaGlsZCk7CisrCQlwdWJsaWMgdm9pZCByZW1vdmUgKCk7CisrCX0KKysJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQg PSBmYWxzZSldCisrCXB1YmxpYyBzdHJ1Y3QgQ2FwdHVyZSB7CisrCQlwdWJsaWMgd2VhayBDYWly by5TdXJmYWNlIGltYWdlOworKwkJcHVibGljIENhaXJvLlJlY3RhbmdsZUludCByZWN0OworKwl9 CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNvcHlf ZnVuY3Rpb24gPSAiZ19ib3hlZF9jb3B5IiwgZnJlZV9mdW5jdGlvbiA9ICJnX2JveGVkX2ZyZWUi LCB0eXBlX2lkID0gIkNMVVRURVJfVFlQRV9DT0xPUiIpXQorKwlwdWJsaWMgc3RydWN0IENvbG9y IHsKKysJCXB1YmxpYyB1aW50OCByZWQ7CisrCQlwdWJsaWMgdWludDggZ3JlZW47CisrCQlwdWJs aWMgdWludDggYmx1ZTsKKysJCXB1YmxpYyB1aW50OCBhbHBoYTsKKysJCXB1YmxpYyBDbHV0dGVy LkNvbG9yIGFkZCAoQ2x1dHRlci5Db2xvciBiKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEy IildCisrCQlwdWJsaWMgc3RhdGljIENsdXR0ZXIuQ29sb3I/IGFsbG9jICgpOworKwkJW1ZlcnNp b24gKHNpbmNlID0gIjAuMiIpXQorKwkJcHVibGljIENsdXR0ZXIuQ29sb3I/IGNvcHkgKCk7Cisr CQlwdWJsaWMgQ2x1dHRlci5Db2xvciBkYXJrZW4gKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MC4yIildCisrCQlwdWJsaWMgYm9vbCBlcXVhbCAoQ2x1dHRlci5Db2xvciB2Mik7CisrCQlbVmVy c2lvbiAoc2luY2UgPSAiMC4yIildCisrCQlwdWJsaWMgdm9pZCBmcmVlICgpOworKwkJW0NDb2Rl IChjbmFtZSA9ICJjbHV0dGVyX2NvbG9yX2Zyb21faGxzIildCisrCQlwdWJsaWMgQ29sb3IuZnJv bV9obHMgKGZsb2F0IGh1ZSwgZmxvYXQgbHVtaW5hbmNlLCBmbG9hdCBzYXR1cmF0aW9uKTsKKysJ CVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl9jb2xvcl9mcm9tX3BpeGVsIildCisrCQlwdWJsaWMg Q29sb3IuZnJvbV9waXhlbCAodWludDMyIHBpeGVsKTsKKysJCVtDQ29kZSAoY25hbWUgPSAiY2x1 dHRlcl9jb2xvcl9mcm9tX3N0cmluZyIpXQorKwkJcHVibGljIENvbG9yLmZyb21fc3RyaW5nIChz dHJpbmcgc3RyKTsKKysJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLkNvbG9yPyBnZXRf c3RhdGljIChDbHV0dGVyLlN0YXRpY0NvbG9yIGNvbG9yKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjAiKV0KKysJCXB1YmxpYyB1aW50IGhhc2ggKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMiIpXQorKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5Db2xvcj8gaW5pdCAodWludDggcmVk LCB1aW50OCBncmVlbiwgdWludDggYmx1ZSwgdWludDggYWxwaGEpOworKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuNiIpXQorKwkJcHVibGljIENsdXR0ZXIuQ29sb3IgaW50ZXJwb2xhdGUgKENsdXR0 ZXIuQ29sb3IgZmluYWwsIGRvdWJsZSBwcm9ncmVzcyk7CisrCQlwdWJsaWMgQ2x1dHRlci5Db2xv ciBsaWdodGVuICgpOworKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbG9yX2Zyb21fc3Ry aW5nIildCisrCQlwdWJsaWMgYm9vbCBwYXJzZV9zdHJpbmcgKHN0cmluZyBzdHIpOworKwkJcHVi bGljIENsdXR0ZXIuQ29sb3Igc2hhZGUgKGRvdWJsZSBmYWN0b3IpOworKwkJcHVibGljIENsdXR0 ZXIuQ29sb3Igc3VidHJhY3QgKENsdXR0ZXIuQ29sb3IgYik7CisrCQlwdWJsaWMgdm9pZCB0b19o bHMgKG91dCBmbG9hdCBodWUsIG91dCBmbG9hdCBsdW1pbmFuY2UsIG91dCBmbG9hdCBzYXR1cmF0 aW9uKTsKKysJCXB1YmxpYyB1aW50MzIgdG9fcGl4ZWwgKCk7CisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC4yIildCisrCQlwdWJsaWMgc3RyaW5nIHRvX3N0cmluZyAoKTsKKysJfQorKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZh bHNlKV0KKysJcHVibGljIHN0cnVjdCBLYmRBMTF5U2V0dGluZ3MgeworKwkJcHVibGljIENsdXR0 ZXIuS2V5Ym9hcmRBMTF5RmxhZ3MgY29udHJvbHM7CisrCQlwdWJsaWMgaW50IHNsb3drZXlzX2Rl bGF5OworKwkJcHVibGljIGludCBkZWJvdW5jZV9kZWxheTsKKysJCXB1YmxpYyBpbnQgdGltZW91 dF9kZWxheTsKKysJCXB1YmxpYyBpbnQgbW91c2VrZXlzX2luaXRfZGVsYXk7CisrCQlwdWJsaWMg aW50IG1vdXNla2V5c19tYXhfc3BlZWQ7CisrCQlwdWJsaWMgaW50IG1vdXNla2V5c19hY2NlbF90 aW1lOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNvcHlfZnVuY3Rpb24gPSAiZ19ib3hlZF9jb3B5IiwgZnJlZV9mdW5jdGlvbiA9ICJnX2Jv eGVkX2ZyZWUiLCB0eXBlX2lkID0gImNsdXR0ZXJfa25vdF9nZXRfdHlwZSAoKSIpXQorKwlbVmVy c2lvbiAoc2luY2UgPSAiMC4yIildCisrCXB1YmxpYyBzdHJ1Y3QgS25vdCB7CisrCQlwdWJsaWMg aW50IHg7CisrCQlwdWJsaWMgaW50IHk7CisrCQlwdWJsaWMgQ2x1dHRlci5Lbm90PyBjb3B5ICgp OworKwkJcHVibGljIGJvb2wgZXF1YWwgKENsdXR0ZXIuS25vdCBrbm90X2IpOworKwkJcHVibGlj IHZvaWQgZnJlZSAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiKV0KKysJcHVibGljIHN0cnVjdCBNYXRyaXggOiBDb2dsLk1hdHJpeCB7Cisr CX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFz X3R5cGVfaWQgPSBmYWxzZSldCisrCXB1YmxpYyBzdHJ1Y3QgUGFkQnV0dG9uRXZlbnQgeworKwkJ cHVibGljIENsdXR0ZXIuRXZlbnRUeXBlIHR5cGU7CisrCQlwdWJsaWMgdWludDMyIHRpbWU7Cisr CQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOworKwkJcHVibGljIHdlYWsgQ2x1dHRl ci5TdGFnZSBzdGFnZTsKKysJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuQWN0b3Igc291cmNlOworKwkJ cHVibGljIHVpbnQzMiBidXR0b247CisrCQlwdWJsaWMgdWludDMyIGdyb3VwOworKwkJcHVibGlj IHdlYWsgQ2x1dHRlci5JbnB1dERldmljZSBkZXZpY2U7CisrCQlwdWJsaWMgdWludDMyIG1vZGU7 CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg aGFzX3R5cGVfaWQgPSBmYWxzZSldCisrCXB1YmxpYyBzdHJ1Y3QgUGFkUmluZ0V2ZW50IHsKKysJ CXB1YmxpYyBDbHV0dGVyLkV2ZW50VHlwZSB0eXBlOworKwkJcHVibGljIHVpbnQzMiB0aW1lOwor KwkJcHVibGljIENsdXR0ZXIuRXZlbnRGbGFncyBmbGFnczsKKysJCXB1YmxpYyB3ZWFrIENsdXR0 ZXIuU3RhZ2Ugc3RhZ2U7CisrCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKKysJ CXB1YmxpYyB3ZWFrIENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlOworKwkJcHVibGljIENsdXR0 ZXIuSW5wdXREZXZpY2VQYWRTb3VyY2UgcmluZ19zb3VyY2U7CisrCQlwdWJsaWMgdWludDMyIHJp bmdfbnVtYmVyOworKwkJcHVibGljIHVpbnQzMiBncm91cDsKKysJCXB1YmxpYyBkb3VibGUgYW5n bGU7CisrCQlwdWJsaWMgdWludDMyIG1vZGU7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisrCXB1Ymxp YyBzdHJ1Y3QgUGFkU3RyaXBFdmVudCB7CisrCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlw ZTsKKysJCXB1YmxpYyB1aW50MzIgdGltZTsKKysJCXB1YmxpYyBDbHV0dGVyLkV2ZW50RmxhZ3Mg ZmxhZ3M7CisrCQlwdWJsaWMgd2VhayBDbHV0dGVyLlN0YWdlIHN0YWdlOworKwkJcHVibGljIHdl YWsgQ2x1dHRlci5BY3RvciBzb3VyY2U7CisrCQlwdWJsaWMgd2VhayBDbHV0dGVyLklucHV0RGV2 aWNlIGRldmljZTsKKysJCXB1YmxpYyBDbHV0dGVyLklucHV0RGV2aWNlUGFkU291cmNlIHN0cmlw X3NvdXJjZTsKKysJCXB1YmxpYyB1aW50MzIgc3RyaXBfbnVtYmVyOworKwkJcHVibGljIHVpbnQz MiBncm91cDsKKysJCXB1YmxpYyBkb3VibGUgdmFsdWU7CisrCQlwdWJsaWMgdWludDMyIG1vZGU7 CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRf ZnJlZSIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wYXRoX25vZGVfZ2V0X3R5cGUgKCkiKV0KKysJW1Zl cnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwlwdWJsaWMgc3RydWN0IFBhdGhOb2RlIHsKKysJCXB1 YmxpYyBDbHV0dGVyLlBhdGhOb2RlVHlwZSB0eXBlOworKwkJW0NDb2RlIChhcnJheV9sZW5ndGgg PSBmYWxzZSldCisrCQlwdWJsaWMgd2VhayBDbHV0dGVyLktub3QgcG9pbnRzWzNdOworKwkJcHVi bGljIENsdXR0ZXIuUGF0aE5vZGU/IGNvcHkgKCk7CisrCQlwdWJsaWMgYm9vbCBlcXVhbCAoQ2x1 dHRlci5QYXRoTm9kZSBub2RlX2IpOworKwkJcHVibGljIHZvaWQgZnJlZSAoKTsKKysJfQorKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjb3B5X2Z1bmN0 aW9uID0gImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlw ZV9pZCA9ICJjbHV0dGVyX3BlcnNwZWN0aXZlX2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChz aW5jZSA9ICIwLjQiKV0KKysJcHVibGljIHN0cnVjdCBQZXJzcGVjdGl2ZSB7CisrCQlwdWJsaWMg ZmxvYXQgZm92eTsKKysJCXB1YmxpYyBmbG9hdCBhc3BlY3Q7CisrCQlwdWJsaWMgZmxvYXQgel9u ZWFyOworKwkJcHVibGljIGZsb2F0IHpfZmFyOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQorKwlwdWJs aWMgc3RydWN0IFBvaW50ZXJBMTF5U2V0dGluZ3MgeworKwkJcHVibGljIENsdXR0ZXIuUG9pbnRl ckExMXlGbGFncyBjb250cm9sczsKKysJCXB1YmxpYyBDbHV0dGVyLlBvaW50ZXJBMTF5RHdlbGxD bGlja1R5cGUgZHdlbGxfY2xpY2tfdHlwZTsKKysJCXB1YmxpYyBDbHV0dGVyLlBvaW50ZXJBMTF5 RHdlbGxNb2RlIGR3ZWxsX21vZGU7CisrCQlwdWJsaWMgQ2x1dHRlci5Qb2ludGVyQTExeUR3ZWxs RGlyZWN0aW9uIGR3ZWxsX2dlc3R1cmVfc2luZ2xlOworKwkJcHVibGljIENsdXR0ZXIuUG9pbnRl ckExMXlEd2VsbERpcmVjdGlvbiBkd2VsbF9nZXN0dXJlX2RvdWJsZTsKKysJCXB1YmxpYyBDbHV0 dGVyLlBvaW50ZXJBMTF5RHdlbGxEaXJlY3Rpb24gZHdlbGxfZ2VzdHVyZV9kcmFnOworKwkJcHVi bGljIENsdXR0ZXIuUG9pbnRlckExMXlEd2VsbERpcmVjdGlvbiBkd2VsbF9nZXN0dXJlX3NlY29u ZGFyeTsKKysJCXB1YmxpYyBpbnQgc2Vjb25kYXJ5X2NsaWNrX2RlbGF5OworKwkJcHVibGljIGlu dCBkd2VsbF9kZWxheTsKKysJCXB1YmxpYyBpbnQgZHdlbGxfdGhyZXNob2xkOworKwl9CisrCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lk ID0gZmFsc2UpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4yOCIpXQorKwlwdWJsaWMgc3RydWN0 IFByb3hpbWl0eUV2ZW50IHsKKysJCXB1YmxpYyBDbHV0dGVyLkV2ZW50VHlwZSB0eXBlOworKwkJ cHVibGljIHVpbnQzMiB0aW1lOworKwkJcHVibGljIENsdXR0ZXIuRXZlbnRGbGFncyBmbGFnczsK KysJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7CisrCQlwdWJsaWMgd2VhayBDbHV0 dGVyLkFjdG9yIHNvdXJjZTsKKysJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2 aWNlOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNvcHlfZnVuY3Rpb24gPSAiZ19ib3hlZF9jb3B5IiwgZnJlZV9mdW5jdGlvbiA9ICJnX2Jv eGVkX2ZyZWUiLCB0eXBlX2lkID0gIkNMVVRURVJfVFlQRV9VTklUUyIpXQorKwlbVmVyc2lvbiAo c2luY2UgPSAiMS4wIildCisrCXB1YmxpYyBzdHJ1Y3QgVW5pdHMgeworKwkJcHVibGljIENsdXR0 ZXIuVW5pdHM/IGNvcHkgKCk7CisrCQlwdWJsaWMgdm9pZCBmcmVlICgpOworKwkJW0NDb2RlIChj bmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fY20iKV0KKysJCXB1YmxpYyBVbml0cy5mcm9tX2Nt IChmbG9hdCBjbSk7CisrCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9lbSIp XQorKwkJcHVibGljIFVuaXRzLmZyb21fZW0gKGZsb2F0IGVtKTsKKysJCVtDQ29kZSAoY25hbWUg PSAiY2x1dHRlcl91bml0c19mcm9tX2VtX2Zvcl9mb250IildCisrCQlwdWJsaWMgVW5pdHMuZnJv bV9lbV9mb3JfZm9udCAoc3RyaW5nIGZvbnRfbmFtZSwgZmxvYXQgZW0pOworKwkJW0NDb2RlIChj bmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fbW0iKV0KKysJCXB1YmxpYyBVbml0cy5mcm9tX21t IChmbG9hdCBtbSk7CisrCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9waXhl bHMiKV0KKysJCXB1YmxpYyBVbml0cy5mcm9tX3BpeGVscyAoaW50IHB4KTsKKysJCVtDQ29kZSAo Y25hbWUgPSAiY2x1dHRlcl91bml0c19mcm9tX3B0IildCisrCQlwdWJsaWMgVW5pdHMuZnJvbV9w dCAoZmxvYXQgcHQpOworKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fc3Ry aW5nIildCisrCQlwdWJsaWMgVW5pdHMuZnJvbV9zdHJpbmcgKHN0cmluZyBzdHIpOworKwkJcHVi bGljIENsdXR0ZXIuVW5pdFR5cGUgZ2V0X3VuaXRfdHlwZSAoKTsKKysJCXB1YmxpYyBmbG9hdCBn ZXRfdW5pdF92YWx1ZSAoKTsKKysJCXB1YmxpYyBmbG9hdCB0b19waXhlbHMgKCk7CisrCQlwdWJs aWMgc3RyaW5nIHRvX3N0cmluZyAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfQUNUT1JfQUxJR05fIiwg dHlwZV9pZCA9ICJjbHV0dGVyX2FjdG9yX2FsaWduX2dldF90eXBlICgpIildCisrCVtWZXJzaW9u IChzaW5jZSA9ICIxLjEwIildCisrCXB1YmxpYyBlbnVtIEFjdG9yQWxpZ24geworKwkJRklMTCwK KysJCVNUQVJULAorKwkJQ0VOVEVSLAorKwkJRU5ECisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0FDVE9SXyIs IHR5cGVfaWQgPSAiY2x1dHRlcl9hY3Rvcl9mbGFnc19nZXRfdHlwZSAoKSIpXQorKwlbRmxhZ3Nd CisrCXB1YmxpYyBlbnVtIEFjdG9yRmxhZ3MgeworKwkJTUFQUEVELAorKwkJUkVBTElaRUQsCisr CQlSRUFDVElWRSwKKysJCVZJU0lCTEUsCisrCQlOT19MQVlPVVQKKysJfQorKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJf QUxJR05fIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2FsaWduX2F4aXNfZ2V0X3R5cGUgKCkiKV0KKysJ W1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwlwdWJsaWMgZW51bSBBbGlnbkF4aXMgeworKwkJ WF9BWElTLAorKwkJWV9BWElTLAorKwkJQk9USAorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl8iLCB0eXBlX2lk ID0gImNsdXR0ZXJfYWxsb2NhdGlvbl9mbGFnc19nZXRfdHlwZSAoKSIpXQorKwlbRmxhZ3NdCisr CVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJcHVibGljIGVudW0gQWxsb2NhdGlvbkZsYWdz IHsKKysJCUFMTE9DQVRJT05fTk9ORSwKKysJCUFCU09MVVRFX09SSUdJTl9DSEFOR0VELAorKwkJ REVMRUdBVEVfTEFZT1VUCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9h bmltYXRpb25fbW9kZV9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIild CisrCXB1YmxpYyBlbnVtIEFuaW1hdGlvbk1vZGUgeworKwkJQ1VTVE9NX01PREUsCisrCQlMSU5F QVIsCisrCQlFQVNFX0lOX1FVQUQsCisrCQlFQVNFX09VVF9RVUFELAorKwkJRUFTRV9JTl9PVVRf UVVBRCwKKysJCUVBU0VfSU5fQ1VCSUMsCisrCQlFQVNFX09VVF9DVUJJQywKKysJCUVBU0VfSU5f T1VUX0NVQklDLAorKwkJRUFTRV9JTl9RVUFSVCwKKysJCUVBU0VfT1VUX1FVQVJULAorKwkJRUFT RV9JTl9PVVRfUVVBUlQsCisrCQlFQVNFX0lOX1FVSU5ULAorKwkJRUFTRV9PVVRfUVVJTlQsCisr CQlFQVNFX0lOX09VVF9RVUlOVCwKKysJCUVBU0VfSU5fU0lORSwKKysJCUVBU0VfT1VUX1NJTkUs CisrCQlFQVNFX0lOX09VVF9TSU5FLAorKwkJRUFTRV9JTl9FWFBPLAorKwkJRUFTRV9PVVRfRVhQ TywKKysJCUVBU0VfSU5fT1VUX0VYUE8sCisrCQlFQVNFX0lOX0NJUkMsCisrCQlFQVNFX09VVF9D SVJDLAorKwkJRUFTRV9JTl9PVVRfQ0lSQywKKysJCUVBU0VfSU5fRUxBU1RJQywKKysJCUVBU0Vf T1VUX0VMQVNUSUMsCisrCQlFQVNFX0lOX09VVF9FTEFTVElDLAorKwkJRUFTRV9JTl9CQUNLLAor KwkJRUFTRV9PVVRfQkFDSywKKysJCUVBU0VfSU5fT1VUX0JBQ0ssCisrCQlFQVNFX0lOX0JPVU5D RSwKKysJCUVBU0VfT1VUX0JPVU5DRSwKKysJCUVBU0VfSU5fT1VUX0JPVU5DRSwKKysJCVNURVBT LAorKwkJU1RFUF9TVEFSVCwKKysJCVNURVBfRU5ELAorKwkJQ1VCSUNfQkVaSUVSLAorKwkJRUFT RSwKKysJCUVBU0VfSU4sCisrCQlFQVNFX09VVCwKKysJCUVBU0VfSU5fT1VULAorKwkJQU5JTUFU SU9OX0xBU1QKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfQklOX0FMSUdOTUVOVF8iLCB0eXBlX2lkID0gImNs dXR0ZXJfYmluX2FsaWdubWVudF9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAi MS4yIildCisrCXB1YmxpYyBlbnVtIEJpbkFsaWdubWVudCB7CisrCQlbVmVyc2lvbiAoZGVwcmVj YXRlZCA9IHRydWUpXQorKwkJRklYRUQsCisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUp XQorKwkJRklMTCwKKysJCVNUQVJULAorKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlKV0K KysJCUVORCwKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSldCisrCQlDRU5URVIKKysJ fQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJl Zml4ID0gIkNMVVRURVJfQklORF8iLCB0eXBlX2lkID0gImNsdXR0ZXJfYmluZF9jb29yZGluYXRl X2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJcHVibGljIGVu dW0gQmluZENvb3JkaW5hdGUgeworKwkJWCwKKysJCVksCisrCQlXSURUSCwKKysJCUhFSUdIVCwK KysJCVBPU0lUSU9OLAorKwkJU0laRSwKKysJCUFMTAorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9CT1hfQUxJ R05NRU5UXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9ib3hfYWxpZ25tZW50X2dldF90eXBlICgpIild CisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KKysJcHVibGljIGVudW0gQm94QWxpZ25tZW50 IHsKKysJCVNUQVJULAorKwkJRU5ELAorKwkJQ0VOVEVSCisrCX0KKysJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0JVVFRP Tl9TVEFURV8iLCB0eXBlX2lkID0gImNsdXR0ZXJfYnV0dG9uX3N0YXRlX2dldF90eXBlICgpIild CisrCXB1YmxpYyBlbnVtIEJ1dHRvblN0YXRlIHsKKysJCVJFTEVBU0VELAorKwkJUFJFU1NFRAor Kwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNw cmVmaXggPSAiQ0xVVFRFUl9DT05URU5UX0dSQVZJVFlfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2Nv bnRlbnRfZ3Jhdml0eV9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIp XQorKwlwdWJsaWMgZW51bSBDb250ZW50R3Jhdml0eSB7CisrCQlUT1BfTEVGVCwKKysJCVRPUCwK KysJCVRPUF9SSUdIVCwKKysJCUxFRlQsCisrCQlDRU5URVIsCisrCQlSSUdIVCwKKysJCUJPVFRP TV9MRUZULAorKwkJQk9UVE9NLAorKwkJQk9UVE9NX1JJR0hULAorKwkJUkVTSVpFX0ZJTEwsCisr CQlSRVNJWkVfQVNQRUNUCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1JFUEVBVF8iLCB0eXBlX2lkID0gImNs dXR0ZXJfY29udGVudF9yZXBlYXRfZ2V0X3R5cGUgKCkiKV0KKysJW0ZsYWdzXQorKwlbVmVyc2lv biAoc2luY2UgPSAiMS4xMiIpXQorKwlwdWJsaWMgZW51bSBDb250ZW50UmVwZWF0IHsKKysJCU5P TkUsCisrCQlYX0FYSVMsCisrCQlZX0FYSVMsCisrCQlCT1RICisrCX0KKysJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0RF QlVHXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9kZWJ1Z19mbGFnX2dldF90eXBlICgpIildCisrCVtG bGFnc10KKysJcHVibGljIGVudW0gRGVidWdGbGFnIHsKKysJCU1JU0MsCisrCQlBQ1RPUiwKKysJ CVRFWFRVUkUsCisrCQlFVkVOVCwKKysJCVBBSU5ULAorKwkJUEFOR08sCisrCQlCQUNLRU5ELAor KwkJU0NIRURVTEVSLAorKwkJU0NSSVBULAorKwkJU0hBREVSLAorKwkJTVVMVElTVEFHRSwKKysJ CUFOSU1BVElPTiwKKysJCUxBWU9VVCwKKysJCVBJQ0ssCisrCQlFVkVOVExPT1AsCisrCQlDTElQ UElORywKKysJCU9PQl9UUkFOU0ZPUk1TCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0RSQUdfIiwgdHlwZV9p ZCA9ICJjbHV0dGVyX2RyYWdfYXhpc19nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2Ug PSAiMS40IildCisrCXB1YmxpYyBlbnVtIERyYWdBeGlzIHsKKysJCUFYSVNfTk9ORSwKKysJCVhf QVhJUywKKysJCVlfQVhJUworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9ERUJVR18iLCB0eXBlX2lkID0gImNs dXR0ZXJfZHJhd19kZWJ1Z19mbGFnX2dldF90eXBlICgpIildCisrCVtGbGFnc10KKysJcHVibGlj IGVudW0gRHJhd0RlYnVnRmxhZyB7CisrCQlESVNBQkxFX1NXQVBfRVZFTlRTLAorKwkJRElTQUJM RV9DTElQUEVEX1JFRFJBV1MsCisrCQlSRURSQVdTLAorKwkJUEFJTlRfVk9MVU1FUywKKysJCURJ U0FCTEVfQ1VMTElORywKKysJCURJU0FCTEVfT0ZGU0NSRUVOX1JFRElSRUNULAorKwkJQ09OVElO VU9VU19SRURSQVcsCisrCQlQQUlOVF9ERUZPUk1fVElMRVMsCisrCQlQQUlOVF9EQU1BR0VfUkVH SU9OCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY3ByZWZpeCA9ICJDTFVUVEVSX0VGRkVDVF9QQUlOVF9BQ1RPUl8iLCB0eXBlX2lkID0gImNs dXR0ZXJfZWZmZWN0X3BhaW50X2ZsYWdzX2dldF90eXBlICgpIildCisrCVtGbGFnc10KKysJcHVi bGljIGVudW0gRWZmZWN0UGFpbnRGbGFncyB7CisrCQlbQ0NvZGUgKGNuYW1lID0gIkNMVVRURVJf RUZGRUNUX1BBSU5UX0FDVE9SX0RJUlRZIildCisrCQlBQ1RPUl9ESVJUWQorKwl9CisrCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xV VFRFUl9FVkVOVF8iLCB0eXBlX2lkID0gImNsdXR0ZXJfZXZlbnRfZmxhZ3NfZ2V0X3R5cGUgKCki KV0KKysJW0ZsYWdzXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCisrCXB1YmxpYyBlbnVt IEV2ZW50RmxhZ3MgeworKwkJTk9ORSwKKysJCUZMQUdfU1lOVEhFVElDLAorKwkJRkxBR19JTlBV VF9NRVRIT0QsCisrCQlGTEFHX1JFUEVBVEVECisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSXyIsIHR5cGVfaWQg PSAiY2x1dHRlcl9ldmVudF90eXBlX2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9 ICIwLjQiKV0KKysJcHVibGljIGVudW0gRXZlbnRUeXBlIHsKKysJCU5PVEhJTkcsCisrCQlLRVlf UFJFU1MsCisrCQlLRVlfUkVMRUFTRSwKKysJCU1PVElPTiwKKysJCUVOVEVSLAorKwkJTEVBVkUs CisrCQlCVVRUT05fUFJFU1MsCisrCQlCVVRUT05fUkVMRUFTRSwKKysJCVNDUk9MTCwKKysJCVNU QUdFX1NUQVRFLAorKwkJREVTVFJPWV9OT1RJRlksCisrCQlDTElFTlRfTUVTU0FHRSwKKysJCURF TEVURSwKKysJCVRPVUNIX0JFR0lOLAorKwkJVE9VQ0hfVVBEQVRFLAorKwkJVE9VQ0hfRU5ELAor KwkJVE9VQ0hfQ0FOQ0VMLAorKwkJVE9VQ0hQQURfUElOQ0gsCisrCQlUT1VDSFBBRF9TV0lQRSwK KysJCVBST1hJTUlUWV9JTiwKKysJCVBST1hJTUlUWV9PVVQsCisrCQlQQURfQlVUVE9OX1BSRVNT LAorKwkJUEFEX0JVVFRPTl9SRUxFQVNFLAorKwkJUEFEX1NUUklQLAorKwkJUEFEX1JJTkcsCisr CQlFVkVOVF9MQVNUCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0ZFQVRVUkVfIiwgdHlwZV9pZCA9ICJjbHV0 dGVyX2ZlYXR1cmVfZmxhZ3NfZ2V0X3R5cGUgKCkiKV0KKysJW0ZsYWdzXQorKwlbVmVyc2lvbiAo c2luY2UgPSAiMC40IildCisrCXB1YmxpYyBlbnVtIEZlYXR1cmVGbGFncyB7CisrCQlURVhUVVJF X05QT1QsCisrCQlTV0FQX1RIUk9UVExFLAorKwkJU1RBR0VfU1RBVElDLAorKwkJU1RBR0VfQ1VS U09SLAorKwkJU0hBREVSU19HTFNMLAorKwkJT0ZGU0NSRUVOLAorKwkJU1RBR0VfTVVMVElQTEUs CisrCQlTV0FQX0VWRU5UUzsKKysJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl9mZWF0dXJlX2F2 YWlsYWJsZSIpXQorKwkJcHVibGljIGJvb2wgaXNfYXZhaWxhYmxlICgpOworKwkJW0NDb2RlIChj bmFtZSA9ICJjbHV0dGVyX2ZlYXR1cmVfZ2V0X2FsbCIpXQorKwkJcHVibGljIHN0YXRpYyBDbHV0 dGVyLkZlYXR1cmVGbGFncyBAZ2V0ICgpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9GTE9XXyIsIHR5cGVf aWQgPSAiY2x1dHRlcl9mbG93X29yaWVudGF0aW9uX2dldF90eXBlICgpIildCisrCVtWZXJzaW9u IChzaW5jZSA9ICIxLjIiKV0KKysJcHVibGljIGVudW0gRmxvd09yaWVudGF0aW9uIHsKKysJCUhP UklaT05UQUwsCisrCQlWRVJUSUNBTAorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9HRVNUVVJFX1RSSUdHRVJf RURHRV8iLCB0eXBlX2lkID0gImNsdXR0ZXJfZ2VzdHVyZV90cmlnZ2VyX2VkZ2VfZ2V0X3R5cGUg KCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTgiKV0KKysJcHVibGljIGVudW0gR2VzdHVy ZVRyaWdnZXJFZGdlIHsKKysJCU5PTkUsCisrCQlBRlRFUiwKKysJCUJFRk9SRQorKwl9CisrCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAi Q0xVVFRFUl9HUkFWSVRZXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9ncmF2aXR5X2dldF90eXBlICgp IildCisrCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIx LjIyIiwgc2luY2UgPSAiMC4yIildCisrCXB1YmxpYyBlbnVtIEdyYXZpdHkgeworKwkJTk9ORSwK KysJCU5PUlRILAorKwkJTk9SVEhfRUFTVCwKKysJCUVBU1QsCisrCQlTT1VUSF9FQVNULAorKwkJ U09VVEgsCisrCQlTT1VUSF9XRVNULAorKwkJV0VTVCwKKysJCU5PUlRIX1dFU1QsCisrCQlDRU5U RVIKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjcHJlZml4ID0gIkNMVVRURVJfR1JJRF9QT1NJVElPTl8iLCB0eXBlX2lkID0gImNsdXR0ZXJf Z3JpZF9wb3NpdGlvbl9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIp XQorKwlwdWJsaWMgZW51bSBHcmlkUG9zaXRpb24geworKwkJTEVGVCwKKysJCVJJR0hULAorKwkJ VE9QLAorKwkJQk9UVE9NCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0lOSVRfIiwgdHlwZV9pZCA9ICJjbHV0 dGVyX2luaXRfZXJyb3JfZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIp XQorKwlwdWJsaWMgZW51bSBJbml0RXJyb3IgeworKwkJU1VDQ0VTUywKKysJCUVSUk9SX1VOS05P V04sCisrCQlFUlJPUl9USFJFQURTLAorKwkJRVJST1JfQkFDS0VORCwKKysJCUVSUk9SX0lOVEVS TkFMOworKwkJcHVibGljIHN0YXRpYyBHTGliLlF1YXJrIHF1YXJrICgpOworKwl9CisrCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xV VFRFUl9JTlBVVF9BWElTXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9pbnB1dF9heGlzX2dldF90eXBl ICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KKysJcHVibGljIGVudW0gSW5wdXRB eGlzIHsKKysJCUlHTk9SRSwKKysJCVgsCisrCQlZLAorKwkJUFJFU1NVUkUsCisrCQlYVElMVCwK KysJCVlUSUxULAorKwkJV0hFRUwsCisrCQlESVNUQU5DRSwKKysJCVJPVEFUSU9OLAorKwkJU0xJ REVSLAorKwkJTEFTVAorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9JTlBVVF9DT05URU5UX0hJTlRfIiwgdHlw ZV9pZCA9ICJjbHV0dGVyX2lucHV0X2NvbnRlbnRfaGludF9mbGFnc19nZXRfdHlwZSAoKSIpXQor KwlbRmxhZ3NdCisrCXB1YmxpYyBlbnVtIElucHV0Q29udGVudEhpbnRGbGFncyB7CisrCQlDT01Q TEVUSU9OLAorKwkJU1BFTExDSEVDSywKKysJCUFVVE9fQ0FQSVRBTElaQVRJT04sCisrCQlMT1dF UkNBU0UsCisrCQlVUFBFUkNBU0UsCisrCQlUSVRMRUNBU0UsCisrCQlISURERU5fVEVYVCwKKysJ CVNFTlNJVElWRV9EQVRBLAorKwkJTEFUSU4sCisrCQlNVUxUSUxJTkUKKysJfQorKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRU RVJfSU5QVVRfQ09OVEVOVF9QVVJQT1NFXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9pbnB1dF9jb250 ZW50X3B1cnBvc2VfZ2V0X3R5cGUgKCkiKV0KKysJcHVibGljIGVudW0gSW5wdXRDb250ZW50UHVy cG9zZSB7CisrCQlOT1JNQUwsCisrCQlBTFBIQSwKKysJCURJR0lUUywKKysJCU5VTUJFUiwKKysJ CVBIT05FLAorKwkJVVJMLAorKwkJRU1BSUwsCisrCQlOQU1FLAorKwkJUEFTU1dPUkQsCisrCQlE QVRFLAorKwkJVElNRSwKKysJCURBVEVUSU1FLAorKwkJVEVSTUlOQUwKKysJfQorKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRU RVJfSU5QVVRfREVWSUNFX01BUFBJTkdfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2lucHV0X2Rldmlj ZV9tYXBwaW5nX2dldF90eXBlICgpIildCisrCXB1YmxpYyBlbnVtIElucHV0RGV2aWNlTWFwcGlu ZyB7CisrCQlBQlNPTFVURSwKKysJCVJFTEFUSVZFCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0lOUFVUX0RF VklDRV9QQURfU09VUkNFXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9pbnB1dF9kZXZpY2VfcGFkX3Nv dXJjZV9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgZW51bSBJbnB1dERldmljZVBhZFNvdXJjZSB7 CisrCQlVTktOT1dOLAorKwkJRklOR0VSCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0lOUFVUX0RFVklDRV9U T09MXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9pbnB1dF9kZXZpY2VfdG9vbF90eXBlX2dldF90eXBl ICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjI4IildCisrCXB1YmxpYyBlbnVtIElucHV0 RGV2aWNlVG9vbFR5cGUgeworKwkJTk9ORSwKKysJCVBFTiwKKysJCUVSQVNFUiwKKysJCUJSVVNI LAorKwkJUEVOQ0lMLAorKwkJQUlSQlJVU0gsCisrCQlNT1VTRSwKKysJCUxFTlMKKysJfQorKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0g IkNMVVRURVJfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2lucHV0X2RldmljZV90eXBlX2dldF90eXBl ICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJcHVibGljIGVudW0gSW5wdXRE ZXZpY2VUeXBlIHsKKysJCVBPSU5URVJfREVWSUNFLAorKwkJS0VZQk9BUkRfREVWSUNFLAorKwkJ RVhURU5TSU9OX0RFVklDRSwKKysJCUpPWVNUSUNLX0RFVklDRSwKKysJCVRBQkxFVF9ERVZJQ0Us CisrCQlUT1VDSFBBRF9ERVZJQ0UsCisrCQlUT1VDSFNDUkVFTl9ERVZJQ0UsCisrCQlQRU5fREVW SUNFLAorKwkJRVJBU0VSX0RFVklDRSwKKysJCUNVUlNPUl9ERVZJQ0UsCisrCQlQQURfREVWSUNF LAorKwkJTl9ERVZJQ0VfVFlQRVMKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfSU5QVVRfTU9ERV8iLCB0eXBl X2lkID0gImNsdXR0ZXJfaW5wdXRfbW9kZV9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2lu Y2UgPSAiMS42IildCisrCXB1YmxpYyBlbnVtIElucHV0TW9kZSB7CisrCQlNQVNURVIsCisrCQlT TEFWRSwKKysJCUZMT0FUSU5HCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0lOUFVUX1BBTkVMX1NUQVRFXyIs IHR5cGVfaWQgPSAiY2x1dHRlcl9pbnB1dF9wYW5lbF9zdGF0ZV9nZXRfdHlwZSAoKSIpXQorKwlw dWJsaWMgZW51bSBJbnB1dFBhbmVsU3RhdGUgeworKwkJT0ZGLAorKwkJT04sCisrCQlUT0dHTEUK KysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj cHJlZml4ID0gIkNMVVRURVJfSU5URVJQT0xBVElPTl8iLCB0eXBlX2lkID0gImNsdXR0ZXJfaW50 ZXJwb2xhdGlvbl9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUs IGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4yMiIsIHNpbmNlID0gIjEuMiIpXQorKwlwdWJsaWMgZW51 bSBJbnRlcnBvbGF0aW9uIHsKKysJCUxJTkVBUiwKKysJCUNVQklDCisrCX0KKysJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVS X0tFWV9TVEFURV8iLCB0eXBlX2lkID0gImNsdXR0ZXJfa2V5X3N0YXRlX2dldF90eXBlICgpIild CisrCXB1YmxpYyBlbnVtIEtleVN0YXRlIHsKKysJCVJFTEVBU0VELAorKwkJUFJFU1NFRAorKwl9 CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVm aXggPSAiQ0xVVFRFUl9BMTFZXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9rZXlib2FyZF9hMTF5X2Zs YWdzX2dldF90eXBlICgpIildCisrCVtGbGFnc10KKysJcHVibGljIGVudW0gS2V5Ym9hcmRBMTF5 RmxhZ3MgeworKwkJS0VZQk9BUkRfRU5BQkxFRCwKKysJCVRJTUVPVVRfRU5BQkxFRCwKKysJCU1P VVNFX0tFWVNfRU5BQkxFRCwKKysJCVNMT1dfS0VZU19FTkFCTEVELAorKwkJU0xPV19LRVlTX0JF RVBfUFJFU1MsCisrCQlTTE9XX0tFWVNfQkVFUF9BQ0NFUFQsCisrCQlTTE9XX0tFWVNfQkVFUF9S RUpFQ1QsCisrCQlCT1VOQ0VfS0VZU19FTkFCTEVELAorKwkJQk9VTkNFX0tFWVNfQkVFUF9SRUpF Q1QsCisrCQlUT0dHTEVfS0VZU19FTkFCTEVELAorKwkJU1RJQ0tZX0tFWVNfRU5BQkxFRCwKKysJ CVNUSUNLWV9LRVlTX1RXT19LRVlfT0ZGLAorKwkJU1RJQ0tZX0tFWVNfQkVFUCwKKysJCUZFQVRV UkVfU1RBVEVfQ0hBTkdFX0JFRVAKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfTE9OR19QUkVTU18iLCB0eXBl X2lkID0gImNsdXR0ZXJfbG9uZ19wcmVzc19zdGF0ZV9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lv biAoc2luY2UgPSAiMS44IildCisrCXB1YmxpYyBlbnVtIExvbmdQcmVzc1N0YXRlIHsKKysJCVFV RVJZLAorKwkJQUNUSVZBVEUsCisrCQlDQU5DRUwKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfIiwgdHlwZV9p ZCA9ICJjbHV0dGVyX21vZGlmaWVyX3R5cGVfZ2V0X3R5cGUgKCkiKV0KKysJW0ZsYWdzXQorKwlb VmVyc2lvbiAoc2luY2UgPSAiMC40IildCisrCXB1YmxpYyBlbnVtIE1vZGlmaWVyVHlwZSB7Cisr CQlTSElGVF9NQVNLLAorKwkJTE9DS19NQVNLLAorKwkJQ09OVFJPTF9NQVNLLAorKwkJTU9EMV9N QVNLLAorKwkJTU9EMl9NQVNLLAorKwkJTU9EM19NQVNLLAorKwkJTU9ENF9NQVNLLAorKwkJTU9E NV9NQVNLLAorKwkJQlVUVE9OMV9NQVNLLAorKwkJQlVUVE9OMl9NQVNLLAorKwkJQlVUVE9OM19N QVNLLAorKwkJQlVUVE9ONF9NQVNLLAorKwkJQlVUVE9ONV9NQVNLLAorKwkJTU9ESUZJRVJfUkVT RVJWRURfMTNfTUFTSywKKysJCU1PRElGSUVSX1JFU0VSVkVEXzE0X01BU0ssCisrCQlNT0RJRklF Ul9SRVNFUlZFRF8xNV9NQVNLLAorKwkJTU9ESUZJRVJfUkVTRVJWRURfMTZfTUFTSywKKysJCU1P RElGSUVSX1JFU0VSVkVEXzE3X01BU0ssCisrCQlNT0RJRklFUl9SRVNFUlZFRF8xOF9NQVNLLAor KwkJTU9ESUZJRVJfUkVTRVJWRURfMTlfTUFTSywKKysJCU1PRElGSUVSX1JFU0VSVkVEXzIwX01B U0ssCisrCQlNT0RJRklFUl9SRVNFUlZFRF8yMV9NQVNLLAorKwkJTU9ESUZJRVJfUkVTRVJWRURf MjJfTUFTSywKKysJCU1PRElGSUVSX1JFU0VSVkVEXzIzX01BU0ssCisrCQlNT0RJRklFUl9SRVNF UlZFRF8yNF9NQVNLLAorKwkJTU9ESUZJRVJfUkVTRVJWRURfMjVfTUFTSywKKysJCVNVUEVSX01B U0ssCisrCQlIWVBFUl9NQVNLLAorKwkJTUVUQV9NQVNLLAorKwkJTU9ESUZJRVJfUkVTRVJWRURf MjlfTUFTSywKKysJCVJFTEVBU0VfTUFTSywKKysJCU1PRElGSUVSX01BU0sKKysJfQorKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNM VVRURVJfT0ZGU0NSRUVOX1JFRElSRUNUXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9vZmZzY3JlZW5f cmVkaXJlY3RfZ2V0X3R5cGUgKCkiKV0KKysJW0ZsYWdzXQorKwlbVmVyc2lvbiAoc2luY2UgPSAi MS44IildCisrCXB1YmxpYyBlbnVtIE9mZnNjcmVlblJlZGlyZWN0IHsKKysJCUFVVE9NQVRJQ19G T1JfT1BBQ0lUWSwKKysJCUFMV0FZUworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9PUklFTlRBVElPTl8iLCB0 eXBlX2lkID0gImNsdXR0ZXJfb3JpZW50YXRpb25fZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTIiKV0KKysJcHVibGljIGVudW0gT3JpZW50YXRpb24geworKwkJSE9SSVpP TlRBTCwKKysJCVZFUlRJQ0FMCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1BBTl8iLCB0eXBlX2lkID0gImNs dXR0ZXJfcGFuX2F4aXNfZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIi KV0KKysJcHVibGljIGVudW0gUGFuQXhpcyB7CisrCQlBWElTX05PTkUsCisrCQlYX0FYSVMsCisr CQlZX0FYSVMsCisrCQlBWElTX0FVVE8KKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfUEFUSF8iLCB0eXBlX2lk ID0gImNsdXR0ZXJfcGF0aF9ub2RlX3R5cGVfZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNp bmNlID0gIjEuMCIpXQorKwlwdWJsaWMgZW51bSBQYXRoTm9kZVR5cGUgeworKwkJTU9WRV9UTywK KysJCUxJTkVfVE8sCisrCQlDVVJWRV9UTywKKysJCUNMT1NFLAorKwkJUkVMX01PVkVfVE8sCisr CQlSRUxfTElORV9UTywKKysJCVJFTF9DVVJWRV9UTworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9ERUJVR19O T1BfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3BpY2tfZGVidWdfZmxhZ19nZXRfdHlwZSAoKSIpXQor KwlbRmxhZ3NdCisrCXB1YmxpYyBlbnVtIFBpY2tEZWJ1Z0ZsYWcgeworKwkJUElDS0lORworKwl9 CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVm aXggPSAiQ0xVVFRFUl9QSUNLXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9waWNrX21vZGVfZ2V0X3R5 cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwlwdWJsaWMgZW51bSBQaWNr TW9kZSB7CisrCQlOT05FLAorKwkJUkVBQ1RJVkUsCisrCQlBTEwKKysJfQorKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJf QTExWV9EV0VMTF9DTElDS19UWVBFXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wb2ludGVyX2ExMXlf ZHdlbGxfY2xpY2tfdHlwZV9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgZW51bSBQb2ludGVyQTEx eUR3ZWxsQ2xpY2tUeXBlIHsKKysJCU5PTkUsCisrCQlQUklNQVJZLAorKwkJU0VDT05EQVJZLAor KwkJTUlERExFLAorKwkJRE9VQkxFLAorKwkJRFJBRworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9BMTFZX0RX RUxMX0RJUkVDVElPTl8iLCB0eXBlX2lkID0gImNsdXR0ZXJfcG9pbnRlcl9hMTF5X2R3ZWxsX2Rp cmVjdGlvbl9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgZW51bSBQb2ludGVyQTExeUR3ZWxsRGly ZWN0aW9uIHsKKysJCU5PTkUsCisrCQlMRUZULAorKwkJUklHSFQsCisrCQlVUCwKKysJCURPV04K KysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj cHJlZml4ID0gIkNMVVRURVJfQTExWV9EV0VMTF9NT0RFXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9w b2ludGVyX2ExMXlfZHdlbGxfbW9kZV9nZXRfdHlwZSAoKSIpXQorKwlwdWJsaWMgZW51bSBQb2lu dGVyQTExeUR3ZWxsTW9kZSB7CisrCQlXSU5ET1csCisrCQlHRVNUVVJFCisrCX0KKysJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVU VEVSX0ExMVlfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3BvaW50ZXJfYTExeV9mbGFnc19nZXRfdHlw ZSAoKSIpXQorKwlbRmxhZ3NdCisrCXB1YmxpYyBlbnVtIFBvaW50ZXJBMTF5RmxhZ3MgeworKwkJ U0VDT05EQVJZX0NMSUNLX0VOQUJMRUQsCisrCQlEV0VMTF9FTkFCTEVECisrCX0KKysJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVU VEVSX0ExMVlfVElNRU9VVF9UWVBFXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wb2ludGVyX2ExMXlf dGltZW91dF90eXBlX2dldF90eXBlICgpIildCisrCXB1YmxpYyBlbnVtIFBvaW50ZXJBMTF5VGlt ZW91dFR5cGUgeworKwkJU0VDT05EQVJZX0NMSUNLLAorKwkJRFdFTEwsCisrCQlHRVNUVVJFCisr CX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3By ZWZpeCA9ICJDTFVUVEVSX1JFUEFJTlRfRkxBR1NfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3JlcGFp bnRfZmxhZ3NfZ2V0X3R5cGUgKCkiKV0KKysJW0ZsYWdzXQorKwlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQorKwlwdWJsaWMgZW51bSBSZXBhaW50RmxhZ3MgeworKwkJUFJFX1BBSU5ULAorKwkJ UE9TVF9QQUlOVCwKKysJCVFVRVVFX1JFRFJBV19PTl9BREQKKysJfQorKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfUkVR VUVTVF8iLCB0eXBlX2lkID0gImNsdXR0ZXJfcmVxdWVzdF9tb2RlX2dldF90eXBlICgpIildCisr CVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KKysJcHVibGljIGVudW0gUmVxdWVzdE1vZGUgewor KwkJSEVJR0hUX0ZPUl9XSURUSCwKKysJCVdJRFRIX0ZPUl9IRUlHSFQsCisrCQlDT05URU5UX1NJ WkUKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjcHJlZml4ID0gIkNMVVRURVJfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3JvdGF0ZV9heGlzX2dl dF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KKysJcHVibGljIGVudW0g Um90YXRlQXhpcyB7CisrCQlYX0FYSVMsCisrCQlZX0FYSVMsCisrCQlaX0FYSVMKKysJfQorKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0g IkNMVVRURVJfUk9UQVRFXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9yb3RhdGVfZGlyZWN0aW9uX2dl dF90eXBlICgpIildCisrCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9z aW5jZSA9ICIxLjIyIiwgc2luY2UgPSAiMC40IildCisrCXB1YmxpYyBlbnVtIFJvdGF0ZURpcmVj dGlvbiB7CisrCQlDVywKKysJCUNDVworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9TQ0FMSU5HX0ZJTFRFUl8i LCB0eXBlX2lkID0gImNsdXR0ZXJfc2NhbGluZ19maWx0ZXJfZ2V0X3R5cGUgKCkiKV0KKysJW1Zl cnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJcHVibGljIGVudW0gU2NhbGluZ0ZpbHRlciB7Cisr CQlMSU5FQVIsCisrCQlORUFSRVNULAorKwkJVFJJTElORUFSCisrCX0KKysJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1ND Uk9MTF8iLCB0eXBlX2lkID0gImNsdXR0ZXJfc2Nyb2xsX2RpcmVjdGlvbl9nZXRfdHlwZSAoKSIp XQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCisrCXB1YmxpYyBlbnVtIFNjcm9sbERpcmVj dGlvbiB7CisrCQlVUCwKKysJCURPV04sCisrCQlMRUZULAorKwkJUklHSFQsCisrCQlTTU9PVEgK KysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj cHJlZml4ID0gIkNMVVRURVJfU0NST0xMX0ZJTklTSEVEXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9z Y3JvbGxfZmluaXNoX2ZsYWdzX2dldF90eXBlICgpIildCisrCVtGbGFnc10KKysJW1ZlcnNpb24g KHNpbmNlID0gIjEuMjYiKV0KKysJcHVibGljIGVudW0gU2Nyb2xsRmluaXNoRmxhZ3MgeworKwkJ Tk9ORSwKKysJCUhPUklaT05UQUwsCisrCQlWRVJUSUNBTAorKwl9CisrCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9TQ1JP TExfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3Njcm9sbF9tb2RlX2dldF90eXBlICgpIildCisrCVtG bGFnc10KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJcHVibGljIGVudW0gU2Nyb2xs TW9kZSB7CisrCQlOT05FLAorKwkJSE9SSVpPTlRBTExZLAorKwkJVkVSVElDQUxMWSwKKysJCUJP VEgKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjcHJlZml4ID0gIkNMVVRURVJfU0NST0xMX1NPVVJDRV8iLCB0eXBlX2lkID0gImNsdXR0ZXJf c2Nyb2xsX3NvdXJjZV9nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4yNiIp XQorKwlwdWJsaWMgZW51bSBTY3JvbGxTb3VyY2UgeworKwkJVU5LTk9XTiwKKysJCVdIRUVMLAor KwkJRklOR0VSLAorKwkJQ09OVElOVU9VUworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl8iLCB0eXBlX2lkID0g ImNsdXR0ZXJfc2hhZGVyX3R5cGVfZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0g IjEuNCIpXQorKwlwdWJsaWMgZW51bSBTaGFkZXJUeXBlIHsKKysJCVZFUlRFWF9TSEFERVIsCisr CQlGUkFHTUVOVF9TSEFERVIKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfU05BUF9FREdFXyIsIHR5cGVfaWQg PSAiY2x1dHRlcl9zbmFwX2VkZ2VfZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0g IjEuNiIpXQorKwlwdWJsaWMgZW51bSBTbmFwRWRnZSB7CisrCQlUT1AsCisrCQlSSUdIVCwKKysJ CUJPVFRPTSwKKysJCUxFRlQKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfU1RBR0VfU1RBVEVfIiwgdHlwZV9p ZCA9ICJjbHV0dGVyX3N0YWdlX3N0YXRlX2dldF90eXBlICgpIildCisrCVtGbGFnc10KKysJW1Zl cnNpb24gKHNpbmNlID0gIjAuNCIpXQorKwlwdWJsaWMgZW51bSBTdGFnZVN0YXRlIHsKKysJCUFD VElWQVRFRAorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9DT0xPUl8iLCB0eXBlX2lkID0gImNsdXR0ZXJfc3Rh dGljX2NvbG9yX2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KKysJ cHVibGljIGVudW0gU3RhdGljQ29sb3IgeworKwkJV0hJVEUsCisrCQlCTEFDSywKKysJCVJFRCwK KysJCURBUktfUkVELAorKwkJR1JFRU4sCisrCQlEQVJLX0dSRUVOLAorKwkJQkxVRSwKKysJCURB UktfQkxVRSwKKysJCUNZQU4sCisrCQlEQVJLX0NZQU4sCisrCQlNQUdFTlRBLAorKwkJREFSS19N QUdFTlRBLAorKwkJWUVMTE9XLAorKwkJREFSS19ZRUxMT1csCisrCQlHUkFZLAorKwkJREFSS19H UkFZLAorKwkJTElHSFRfR1JBWSwKKysJCUJVVFRFUiwKKysJCUJVVFRFUl9MSUdIVCwKKysJCUJV VFRFUl9EQVJLLAorKwkJT1JBTkdFLAorKwkJT1JBTkdFX0xJR0hULAorKwkJT1JBTkdFX0RBUkss CisrCQlDSE9DT0xBVEUsCisrCQlDSE9DT0xBVEVfTElHSFQsCisrCQlDSE9DT0xBVEVfREFSSywK KysJCUNIQU1FTEVPTiwKKysJCUNIQU1FTEVPTl9MSUdIVCwKKysJCUNIQU1FTEVPTl9EQVJLLAor KwkJU0tZX0JMVUUsCisrCQlTS1lfQkxVRV9MSUdIVCwKKysJCVNLWV9CTFVFX0RBUkssCisrCQlQ TFVNLAorKwkJUExVTV9MSUdIVCwKKysJCVBMVU1fREFSSywKKysJCVNDQVJMRVRfUkVELAorKwkJ U0NBUkxFVF9SRURfTElHSFQsCisrCQlTQ0FSTEVUX1JFRF9EQVJLLAorKwkJQUxVTUlOSVVNXzEs CisrCQlBTFVNSU5JVU1fMiwKKysJCUFMVU1JTklVTV8zLAorKwkJQUxVTUlOSVVNXzQsCisrCQlB TFVNSU5JVU1fNSwKKysJCUFMVU1JTklVTV82LAorKwkJVFJBTlNQQVJFTlQKKysJfQorKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNM VVRURVJfU1RFUF9NT0RFXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zdGVwX21vZGVfZ2V0X3R5cGUg KCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KKysJcHVibGljIGVudW0gU3RlcE1v ZGUgeworKwkJU1RBUlQsCisrCQlFTkQKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfU1dJUEVfRElSRUNUSU9O XyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zd2lwZV9kaXJlY3Rpb25fZ2V0X3R5cGUgKCkiKV0KKysJ W0ZsYWdzXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCisrCXB1YmxpYyBlbnVtIFN3aXBl RGlyZWN0aW9uIHsKKysJCVVQLAorKwkJRE9XTiwKKysJCUxFRlQsCisrCQlSSUdIVAorKwl9Cisr CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXgg PSAiQ0xVVFRFUl9URVhUX0RJUkVDVElPTl8iLCB0eXBlX2lkID0gImNsdXR0ZXJfdGV4dF9kaXJl Y3Rpb25fZ2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQorKwlwdWJs aWMgZW51bSBUZXh0RGlyZWN0aW9uIHsKKysJCURFRkFVTFQsCisrCQlMVFIsCisrCQlSVEwKKysJ fQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJl Zml4ID0gIkNMVVRURVJfVEVYVFVSRV8iLCB0eXBlX2lkID0gImNsdXR0ZXJfdGV4dHVyZV9mbGFn c19nZXRfdHlwZSAoKSIpXQorKwlbRmxhZ3NdCisrCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1 ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjIyIiwgc2luY2UgPSAiMC40IildCisrCXB1YmxpYyBl bnVtIFRleHR1cmVGbGFncyB7CisrCQlOT05FLAorKwkJUkdCX0ZMQUdfQkdSLAorKwkJUkdCX0ZM QUdfUFJFTVVMVCwKKysJCVlVVl9GTEFHX1lVVjIKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfVEVYVFVSRV9R VUFMSVRZXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl90ZXh0dXJlX3F1YWxpdHlfZ2V0X3R5cGUgKCki KV0KKysJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEu MjIiLCBzaW5jZSA9ICIwLjgiKV0KKysJcHVibGljIGVudW0gVGV4dHVyZVF1YWxpdHkgeworKwkJ TE9XLAorKwkJTUVESVVNLAorKwkJSElHSAorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9USU1FTElORV8iLCB0 eXBlX2lkID0gImNsdXR0ZXJfdGltZWxpbmVfZGlyZWN0aW9uX2dldF90eXBlICgpIildCisrCVtW ZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KKysJcHVibGljIGVudW0gVGltZWxpbmVEaXJlY3Rpb24g eworKwkJRk9SV0FSRCwKKysJCUJBQ0tXQVJECisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1RPVUNIUEFEX0dF U1RVUkVfUEhBU0VfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3RvdWNocGFkX2dlc3R1cmVfcGhhc2Vf Z2V0X3R5cGUgKCkiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjQiKV0KKysJcHVibGljIGVu dW0gVG91Y2hwYWRHZXN0dXJlUGhhc2UgeworKwkJQkVHSU4sCisrCQlVUERBVEUsCisrCQlFTkQs CisrCQlDQU5DRUwKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfVU5JVF8iLCB0eXBlX2lkID0gImNsdXR0ZXJf dW5pdF90eXBlX2dldF90eXBlICgpIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJ cHVibGljIGVudW0gVW5pdFR5cGUgeworKwkJUElYRUwsCisrCQlFTSwKKysJCU1NLAorKwkJUE9J TlQsCisrCQlDTQorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9WSVJUVUFMX0RFVklDRV9UWVBFXyIsIHR5cGVf aWQgPSAiY2x1dHRlcl92aXJ0dWFsX2RldmljZV90eXBlX2dldF90eXBlICgpIildCisrCVtGbGFn c10KKysJcHVibGljIGVudW0gVmlydHVhbERldmljZVR5cGUgeworKwkJTk9ORSwKKysJCUtFWUJP QVJELAorKwkJUE9JTlRFUiwKKysJCVRPVUNIU0NSRUVOCisrCX0KKysJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1pPT01f IiwgdHlwZV9pZCA9ICJjbHV0dGVyX3pvb21fYXhpc19nZXRfdHlwZSAoKSIpXQorKwlbVmVyc2lv biAoc2luY2UgPSAiMS4xMiIpXQorKwlwdWJsaWMgZW51bSBab29tQXhpcyB7CisrCQlYX0FYSVMs CisrCQlZX0FYSVMsCisrCQlCT1RICisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0lNQUdFX0VSUk9SX0lOVkFM SURfIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCXB1YmxpYyBlcnJvcmRvbWFp biBJbWFnZUVycm9yIHsKKysJCURBVEE7CisrCQlwdWJsaWMgc3RhdGljIEdMaWIuUXVhcmsgcXVh cmsgKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1NDUklQVF9FUlJPUl9JTlZBTElEXyIpXQorKwlbVmVy c2lvbiAoc2luY2UgPSAiMC42IildCisrCXB1YmxpYyBlcnJvcmRvbWFpbiBTY3JpcHRFcnJvciB7 CisrCQlUWVBFX0ZVTkNUSU9OLAorKwkJUFJPUEVSVFksCisrCQlWQUxVRTsKKysJCXB1YmxpYyBz dGF0aWMgR0xpYi5RdWFyayBxdWFyayAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBpbnN0YW5jZV9wb3MgPSAxLjkpXQorKwlbVmVyc2lv biAoc2luY2UgPSAiMS4yNCIpXQorKwlwdWJsaWMgZGVsZWdhdGUgQ2x1dHRlci5BY3RvciBBY3Rv ckNyZWF0ZUNoaWxkRnVuYyAoR0xpYi5PYmplY3QgaXRlbSk7CisrCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGluc3RhbmNlX3BvcyA9IDEuOSldCisrCVtW ZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEyIiwgc2lu Y2UgPSAiMC4yIildCisrCXB1YmxpYyBkZWxlZ2F0ZSBkb3VibGUgQWxwaGFGdW5jIChDbHV0dGVy LkFscGhhIGFscGhhKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgaW5zdGFuY2VfcG9zID0gNC45KV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIp XQorKwlwdWJsaWMgZGVsZWdhdGUgYm9vbCBCaW5kaW5nQWN0aW9uRnVuYyAoR0xpYi5PYmplY3Qg Z29iamVjdCwgc3RyaW5nIGFjdGlvbl9uYW1lLCB1aW50IGtleV92YWwsIENsdXR0ZXIuTW9kaWZp ZXJUeXBlIG1vZGlmaWVycyk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGluc3RhbmNlX3BvcyA9IDEuOSldCisrCXB1YmxpYyBkZWxlZ2F0ZSB2b2lk IENhbGxiYWNrIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3RhcmdldCA9IGZhbHNlKV0KKysJcHVibGlj IGRlbGVnYXRlIHZvaWQgRW1pdElucHV0RGV2aWNlRXZlbnQgKENsdXR0ZXIuRXZlbnQgZXZlbnQs IENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaW5zdGFuY2VfcG9zID0gMS45KV0KKysJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTgiKV0KKysJcHVibGljIGRlbGVnYXRlIGJvb2wgRXZlbnRGaWx0ZXJGdW5j IChDbHV0dGVyLkV2ZW50IGV2ZW50KTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgaW5zdGFuY2VfcG9zID0gMS45KV0KKysJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMCIpXQorKwlwdWJsaWMgZGVsZWdhdGUgdm9pZCBQYXRoQ2FsbGJhY2sgKENsdXR0ZXIu UGF0aE5vZGUgbm9kZSk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGhhc190YXJnZXQgPSBmYWxzZSldCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAi KV0KKysJcHVibGljIGRlbGVnYXRlIGJvb2wgUHJvZ3Jlc3NGdW5jIChHTGliLlZhbHVlIGEsIEdM aWIuVmFsdWUgYiwgZG91YmxlIHByb2dyZXNzLCBHTGliLlZhbHVlIHJldHZhbCk7CisrCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGluc3RhbmNlX3BvcyA9 IDYuOSldCisrCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KKysJcHVibGljIGRlbGVnYXRlIHZv aWQgU2NyaXB0Q29ubmVjdEZ1bmMgKENsdXR0ZXIuU2NyaXB0IHNjcmlwdCwgR0xpYi5PYmplY3Qg b2JqZWN0LCBzdHJpbmcgc2lnbmFsX25hbWUsIHN0cmluZyBoYW5kbGVyX25hbWUsIEdMaWIuT2Jq ZWN0IGNvbm5lY3Rfb2JqZWN0LCBHTGliLkNvbm5lY3RGbGFncyBmbGFncyk7CisrCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGluc3RhbmNlX3BvcyA9IDMu OSldCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCXB1YmxpYyBkZWxlZ2F0ZSBkb3Vi bGUgVGltZWxpbmVQcm9ncmVzc0Z1bmMgKENsdXR0ZXIuVGltZWxpbmUgdGltZWxpbmUsIGRvdWJs ZSBlbGFwc2VkLCBkb3VibGUgdG90YWwpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0NPR0wiKV0KKysJW1ZlcnNpb24g KGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIw LjQiKV0KKysJcHVibGljIGNvbnN0IHN0cmluZyBDT0dMOworKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0NVUlJFTlRfVElN RSIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCisrCXB1YmxpYyBjb25zdCBpbnQgQ1VS UkVOVF9USU1FOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0ZMQVZPVVIiKV0KKysJW1ZlcnNpb24gKGRlcHJlY2F0ZWQg PSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIwLjQiKV0KKysJcHVi bGljIGNvbnN0IHN0cmluZyBGTEFWT1VSOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX1BBVEhfUkVMQVRJVkUiKV0KKysJ cHVibGljIGNvbnN0IGludCBQQVRIX1JFTEFUSVZFOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX1BSSU9SSVRZX1JFRFJB VyIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCisrCXB1YmxpYyBjb25zdCBpbnQgUFJJ T1JJVFlfUkVEUkFXOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiKV0KKysJcHVibGljIHN0YXRpYyB2b2lkIGJhc2VfaW5pdCAoKTsKKysJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCisrCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEyIildCisrCXB1YmxpYyBzdGF0aWMgdm9pZCBjYWlyb19jbGVhciAoQ2Fpcm8uQ29u dGV4dCBjcik7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCXB1YmxpYyBzdGF0aWMgdm9pZCBj YWlyb19zZXRfc291cmNlX2NvbG9yIChDYWlyby5Db250ZXh0IGNyLCBDbHV0dGVyLkNvbG9yIGNv bG9yKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIild CisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCXB1YmxpYyBzdGF0aWMgYm9vbCBjaGVj a193aW5kb3dpbmdfYmFja2VuZCAoc3RyaW5nIGJhY2tlbmRfdHlwZSk7CisrCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKwlwdWJsaWMgc3RhdGljIHZv aWQgY29sb3JfZnJvbV9obHMgKG91dCBDbHV0dGVyLkNvbG9yIGNvbG9yLCBmbG9hdCBodWUsIGZs b2F0IGx1bWluYW5jZSwgZmxvYXQgc2F0dXJhdGlvbik7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKwlwdWJsaWMgc3RhdGljIHZvaWQgY29sb3Jf ZnJvbV9waXhlbCAob3V0IENsdXR0ZXIuQ29sb3IgY29sb3IsIHVpbnQzMiBwaXhlbCk7CisrCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKwlbVmVyc2lv biAoc2luY2UgPSAiMS4wIildCisrCXB1YmxpYyBzdGF0aWMgYm9vbCBjb2xvcl9mcm9tX3N0cmlu ZyAob3V0IENsdXR0ZXIuQ29sb3IgY29sb3IsIHN0cmluZyBzdHIpOworKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0g IjEuNiIpXQorKwlwdWJsaWMgc3RhdGljIHVub3duZWQgQ2x1dHRlci5Db2xvcj8gY29sb3JfZ2V0 X3N0YXRpYyAoQ2x1dHRlci5TdGF0aWNDb2xvciBjb2xvcik7CisrCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4x NCIpXQorKwlwdWJsaWMgc3RhdGljIHZvaWQgZGlzYWJsZV9hY2Nlc3NpYmlsaXR5ICgpOworKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KKysJW1ZlcnNp b24gKHNpbmNlID0gIjAuNCIpXQorKwlwdWJsaWMgc3RhdGljIHZvaWQgZG9fZXZlbnQgKENsdXR0 ZXIuRXZlbnQgZXZlbnQpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTgiKV0KKysJcHVibGljIHN0YXRp YyB1aW50IGV2ZW50X2FkZF9maWx0ZXIgKENsdXR0ZXIuU3RhZ2U/IHN0YWdlLCBbQ0NvZGUgKGRl bGVnYXRlX3RhcmdldF9wb3MgPSAyLjIsIGRlc3Ryb3lfbm90aWZ5X3BvcyA9IDIuMSldIG93bmVk IENsdXR0ZXIuRXZlbnRGaWx0ZXJGdW5jIGZ1bmMpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQor KwlwdWJsaWMgc3RhdGljIENsdXR0ZXIuRXZlbnQgZXZlbnRfZ2V0ICgpOworKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KKysJW1ZlcnNpb24gKHNpbmNl ID0gIjAuNCIpXQorKwlwdWJsaWMgc3RhdGljIHVub3duZWQgQ2x1dHRlci5FdmVudCBldmVudF9w ZWVrICgpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi KV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTgiKV0KKysJcHVibGljIHN0YXRpYyB2b2lkIGV2 ZW50X3JlbW92ZV9maWx0ZXIgKHVpbnQgaWQpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQorKwlw dWJsaWMgc3RhdGljIGJvb2wgZXZlbnRzX3BlbmRpbmcgKCk7CisrCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS40 IildCisrCXB1YmxpYyBzdGF0aWMgYm9vbCBnZXRfYWNjZXNzaWJpbGl0eV9lbmFibGVkICgpOwor KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KKysJW1Zl cnNpb24gKHNpbmNlID0gIjEuMiIpXQorKwlwdWJsaWMgc3RhdGljIHVub3duZWQgQ2x1dHRlci5F dmVudCBnZXRfY3VycmVudF9ldmVudCAoKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJcHVi bGljIHN0YXRpYyB1aW50MzIgZ2V0X2N1cnJlbnRfZXZlbnRfdGltZSAoKTsKKysJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCisrCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjQiKV0KKysJcHVibGljIHN0YXRpYyB1bm93bmVkIENsdXR0ZXIuQmFja2VuZCBnZXRf ZGVmYXVsdF9iYWNrZW5kICgpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQorKwlwdWJsaWMgc3Rh dGljIHVpbnQgZ2V0X2RlZmF1bHRfZnJhbWVfcmF0ZSAoKTsKKysJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIi KV0KKysJcHVibGljIHN0YXRpYyBDbHV0dGVyLlRleHREaXJlY3Rpb24gZ2V0X2RlZmF1bHRfdGV4 dF9kaXJlY3Rpb24gKCk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCisrCXB1YmxpYyBzdGF0aWMg dW5vd25lZCBQYW5nby5Gb250TWFwIGdldF9mb250X21hcCAoKTsKKysJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIw LjIiKV0KKysJcHVibGljIHN0YXRpYyBHTGliLk9wdGlvbkdyb3VwIGdldF9vcHRpb25fZ3JvdXAg KCk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQor KwlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCisrCXB1YmxpYyBzdGF0aWMgR0xpYi5PcHRpb25H cm91cCBnZXRfb3B0aW9uX2dyb3VwX3dpdGhvdXRfaW5pdCAoKTsKKysJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIw LjYiKV0KKysJcHVibGljIHN0YXRpYyB1bm93bmVkIHN0cmluZyBnZXRfc2NyaXB0X2lkIChHTGli Lk9iamVjdCBnb2JqZWN0KTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIildCisrCXB1YmxpYyBzdGF0aWMgQ2x1dHRlci5Jbml0RXJyb3IgaW5pdCAoW0ND b2RlIChhcnJheV9sZW5ndGhfY25hbWUgPSAiYXJnYyIsIGFycmF5X2xlbmd0aF9wb3MgPSAwLjUp XSByZWYgdW5vd25lZCBzdHJpbmdbXT8gYXJndik7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCisr CXB1YmxpYyBzdGF0aWMgQ2x1dHRlci5Jbml0RXJyb3IgaW5pdF93aXRoX2FyZ3MgKFtDQ29kZSAo YXJyYXlfbGVuZ3RoX2NuYW1lID0gImFyZ2MiLCBhcnJheV9sZW5ndGhfcG9zID0gMC41KV0gcmVm IHVub3duZWQgc3RyaW5nW10/IGFyZ3YsIHN0cmluZz8gcGFyYW1ldGVyX3N0cmluZywgW0NDb2Rl IChhcnJheV9sZW5ndGggPSBmYWxzZSldIEdMaWIuT3B0aW9uRW50cnlbXT8gZW50cmllcywgc3Ry aW5nPyB0cmFuc2xhdGlvbl9kb21haW4pIHRocm93cyBHTGliLkVycm9yOworKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KKysJcHVibGljIHN0YXRpYyB1 aW50MzIga2V5c3ltX3RvX3VuaWNvZGUgKHVpbnQga2V5dmFsKTsKKysJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCisrCXB1YmxpYyBzdGF0aWMgdm9pZCBt YWluICgpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi KV0KKysJcHVibGljIHN0YXRpYyBpbnQgbWFpbl9sZXZlbCAoKTsKKysJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCisrCXB1YmxpYyBzdGF0aWMgdm9pZCBt YWluX3F1aXQgKCk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIpXQorKwlwdWJsaWMgc3RhdGljIHZvaWQgc2V0X2N1c3RvbV9iYWNrZW5kX2Z1bmMgKHZv aWQqIGZ1bmMpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJcHVibGljIHN0YXRpYyB1aW50 IHVuaWNvZGVfdG9fa2V5c3ltICh1aW50MzIgd2MpOworK30KK2RpZmYgLS1naXQgYS92YXBpL211 dHRlci1jb2dsLTYtY3VzdG9tLnZhbGEgYi92YXBpL211dHRlci1jb2dsLTYtY3VzdG9tLnZhbGEK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMC4uYTJjMTA2NDUKKy0tLSAvZGV2 L251bGwKKysrKyBiL3ZhcGkvbXV0dGVyLWNvZ2wtNi1jdXN0b20udmFsYQorQEAgLTAsMCArMSwx MjUgQEAKKytuYW1lc3BhY2UgQ29nbCB7CisrCVtDb21wYWN0XQorKwlbQ0NvZGUgKGNuYW1lID0g IkNvZ2xIYW5kbGUiKV0KKysJcHVibGljIGNsYXNzIEJpdG1hcDogSGFuZGxlIHsKKysJCXB1Ymxp YyBzdGF0aWMgQml0bWFwIG5ld19mcm9tX2ZpbGUgKHN0cmluZyBmaWxlbmFtZSkgdGhyb3dzIEdM aWIuRXJyb3I7CisrCX0KKysKKysJW0NvbXBhY3RdCisrCVtDQ29kZSAoY25hbWUgPSAiQ29nbEhh bmRsZSIpXQorKwlwdWJsaWMgY2xhc3MgQnVmZmVyOiBIYW5kbGUgeworKwkJcHVibGljIHVpbnQg Z2V0X3NpemUgKCk7CisrCQlwdWJsaWMgYm9vbCBzZXRfZGF0YSAoc2l6ZV90IG9mZnNldCwgW0ND b2RlIChhcnJheV9sZW5ndGhfdHlwZSA9ICJzaXplX3QiKV0gdWludDhbXSBkYXRhKTsKKysJCXB1 YmxpYyB2b2lkIHVubWFwICgpOworKwl9CisrCisrCVtDQ29kZSAoaGFzX3R5cGVfaWQgPSBmYWxz ZSldCisrCXB1YmxpYyBzdHJ1Y3QgQ29sb3IgeworKwkJcHVibGljIENvbG9yLmZyb21fNGYgKGZs b2F0IHJlZCwgZmxvYXQgZ3JlZW4sIGZsb2F0IGJsdWUsIGZsb2F0IGFscGhhKTsKKysJCXB1Ymxp YyBDb2xvci5mcm9tXzR1YiAodWludDggcmVkLCB1aW50OCBncmVlbiwgdWludDggYmx1ZSwgdWlu dDggYWxwaGEpOworKwl9CisrCisrCVtDb21wYWN0XQorKwlbQ0NvZGUgKHJlZl9mdW5jdGlvbiA9 ICJjb2dsX2hhbmRsZV9yZWYiLCB1bnJlZl9mdW5jdGlvbiA9ICJjb2dsX2hhbmRsZV91bnJlZiIp XQorKwlwdWJsaWMgY2xhc3MgSGFuZGxlIHsKKysJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9pc19i aXRtYXAiKV0KKysJCXB1YmxpYyBib29sIGlzX2JpdG1hcCAoKTsKKysJCVtDQ29kZSAoY25hbWUg PSAiY29nbF9pc19idWZmZXIiKV0KKysJCXB1YmxpYyBib29sIGlzX2J1ZmZlciAoKTsKKysJCVtD Q29kZSAoY25hbWUgPSAiY29nbF9pc19tYXRlcmlhbCIpXQorKwkJcHVibGljIGJvb2wgaXNfbWF0 ZXJpYWwgKCk7CisrCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfaXNfb2Zmc2NyZWVuIildCisrCQlw dWJsaWMgYm9vbCBpc19vZmZzY3JlZW4gKCk7CisrCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfaXNf cGl4ZWxfYnVmZmVyIildCisrCQlwdWJsaWMgYm9vbCBpc19waXhlbF9idWZmZXIgKCk7CisrCQlb Q0NvZGUgKGNuYW1lID0gImNvZ2xfaXNfcHJvZ3JhbSIpXQorKwkJcHVibGljIGJvb2wgaXNfcHJv Z3JhbSAoKTsKKysJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9pc19zaGFkZXIiKV0KKysJCXB1Ymxp YyBib29sIGlzX3NoYWRlciAoKTsKKysJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9pc190ZXh0dXJl IildCisrCQlwdWJsaWMgYm9vbCBpc190ZXh0dXJlICgpOworKwkJW0NDb2RlIChjbmFtZSA9ICJj b2dsX2lzX3ZlcnRleF9idWZmZXIiKV0KKysJCXB1YmxpYyBib29sIGlzX3ZlcnRleF9idWZmZXIg KCk7CisrCX0KKysKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwg Y29weV9mdW5jdGlvbiA9ICJjb2dsX3BhdGhfY29weSIpXQorKwlbQ29tcGFjdF0KKysJcHVibGlj IGNsYXNzIFBhdGggeworKwkJcHVibGljIHN0YXRpYyB2b2lkIEBuZXcgKCk7CisrCX0KKysKKysJ W0NvbXBhY3RdCisrCXB1YmxpYyBjbGFzcyBQaXhlbEJ1ZmZlcjogSGFuZGxlIHsKKysJCXB1Ymxp YyBQaXhlbEJ1ZmZlciAodWludCBzaXplKTsKKysJCXB1YmxpYyBQaXhlbEJ1ZmZlci5mb3Jfc2l6 ZSAodWludCB3aWR0aCwgdWludCBoZWlnaHQsIENvZ2wuUGl4ZWxGb3JtYXQgZm9ybWF0LCB1aW50 IHN0cmlkZSk7CisrCX0KKysKKysJW0NvbXBhY3RdCisrCVtDQ29kZSAoY25hbWUgPSAiQ29nbEhh bmRsZSIsIHJlZl9mdW5jdGlvbiA9ICJjb2dsX3Byb2dyYW1fcmVmIiwgdW5yZWZfZnVuY3Rpb24g PSAiY29nbF9wcm9ncmFtX3VucmVmIildCisrCXB1YmxpYyBjbGFzcyBQcm9ncmFtOiBIYW5kbGUg eworKwkJW0NDb2RlIChjbmFtZSA9ICJjb2dsX2NyZWF0ZV9wcm9ncmFtIiwgdHlwZSA9ICJDb2ds SGFuZGxlKiIsIGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwdWJsaWMgUHJv Z3JhbSAoKTsKKysJCXB1YmxpYyB2b2lkIGF0dGFjaF9zaGFkZXIgKENvZ2wuU2hhZGVyIHNoYWRl cl9oYW5kbGUpOworKwkJcHVibGljIGludCBnZXRfdW5pZm9ybV9sb2NhdGlvbiAoc3RyaW5nIHVu aWZvcm1fbmFtZSk7CisrCQlwdWJsaWMgdm9pZCBsaW5rICgpOworKwkJcHVibGljIHN0YXRpYyB2 b2lkIHVuaWZvcm1fMWYgKGludCB1bmlmb3JtX25vLCBmbG9hdCB2YWx1ZSk7CisrCQlwdWJsaWMg c3RhdGljIHZvaWQgdW5pZm9ybV8xaSAoaW50IHVuaWZvcm1fbm8sIGludCB2YWx1ZSk7CisrCQlw dWJsaWMgc3RhdGljIHZvaWQgdW5pZm9ybV9mbG9hdCAoaW50IHVuaWZvcm1fbm8sIGludCBzaXpl LCBbQ0NvZGUgKGFycmF5X2xlbmd0aF9wb3MgPSAyLjkpXSBmbG9hdFtdIHZhbHVlKTsKKysJCXB1 YmxpYyBzdGF0aWMgdm9pZCB1bmlmb3JtX2ludCAoaW50IHVuaWZvcm1fbm8sIGludCBzaXplLCBb Q0NvZGUgKGFycmF5X2xlbmd0aF9wb3MgPSAyLjkpXSBpbnRbXSB2YWx1ZSk7CisrCQlwdWJsaWMg c3RhdGljIHZvaWQgdW5pZm9ybV9tYXRyaXggKGludCB1bmlmb3JtX25vLCBpbnQgc2l6ZSwgYm9v bCB0cmFuc3Bvc2UsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoX3BvcyA9IDIuOSldIGZsb2F0W10gdmFs dWUpOworKwkJcHVibGljIHZvaWQgdXNlICgpOworKwl9CisrCisrCVtDb21wYWN0XQorKwlbQ0Nv ZGUgKGNuYW1lID0gIkNvZ2xIYW5kbGUiLCByZWZfZnVuY3Rpb24gPSAiY29nbF9zaGFkZXJfcmVm IiwgdW5yZWZfZnVuY3Rpb24gPSAiY29nbF9zaGFkZXJfdW5yZWYiKV0KKysJcHVibGljIGNsYXNz IFNoYWRlcjogSGFuZGxlIHsKKysJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9jcmVhdGVfc2hhZGVy IiwgdHlwZSA9ICJDb2dsSGFuZGxlKiIsIGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSld CisrCQlwdWJsaWMgU2hhZGVyIChDb2dsLlNoYWRlclR5cGUgc2hhZGVyX3R5cGUpOworKwkJcHVi bGljIHZvaWQgY29tcGlsZSAoKTsKKysJCXB1YmxpYyBzdHJpbmcgZ2V0X2luZm9fbG9nICgpOwor KwkJcHVibGljIENvZ2wuU2hhZGVyVHlwZSBnZXRfdHlwZSAoKTsKKysJCXB1YmxpYyBib29sIGlz X2NvbXBpbGVkICgpOworKwkJcHVibGljIHZvaWQgc291cmNlIChzdHJpbmcgc291cmNlKTsKKysJ fQorKworKwlbQ29tcGFjdF0KKysJW0NDb2RlIChjbmFtZSA9ICJDb2dsSGFuZGxlIiwgcmVmX2Z1 bmN0aW9uID0gImNvZ2xfdmVydGV4X2J1ZmZlcl9yZWYiLCB1bnJlZl9mdW5jdGlvbiA9ICJjb2ds X3ZlcnRleF9idWZmZXJfdW5yZWYiKV0KKysJcHVibGljIGNsYXNzIFZlcnRleEJ1ZmZlcjogSGFu ZGxlIHsKKysJCVtDQ29kZSAodHlwZSA9ICJDb2dsSGFuZGxlKiIsIGhhc19jb25zdHJ1Y3RfZnVu Y3Rpb24gPSBmYWxzZSldCisrCQlwdWJsaWMgVmVydGV4QnVmZmVyICh1aW50IG5fdmVydGljZXMp OworKwkJcHVibGljIHZvaWQgYWRkIChzdHJpbmcgYXR0cmlidXRlX25hbWUsIHVjaGFyIG5fY29t cG9uZW50cywgQ29nbC5BdHRyaWJ1dGVUeXBlIHR5cGUsIGJvb2wgbm9ybWFsaXplZCwgdWludDE2 IHN0cmlkZSwgdm9pZCogcG9pbnRlcik7CisrCQlwdWJsaWMgdm9pZCBkZWxldGUgKHN0cmluZyBh dHRyaWJ1dGVfbmFtZSk7CisrCQlwdWJsaWMgdm9pZCBkaXNhYmxlIChzdHJpbmcgYXR0cmlidXRl X25hbWUpOworKwkJcHVibGljIHZvaWQgZHJhdyAoQ29nbC5WZXJ0aWNlc01vZGUgbW9kZSwgaW50 IGZpcnN0LCBpbnQgY291bnQpOworKwkJcHVibGljIHZvaWQgZHJhd19lbGVtZW50cyAoQ29nbC5W ZXJ0aWNlc01vZGUgbW9kZSwgVmVydGV4QnVmZmVySW5kaWNlcyBpbmRpY2VzLCBpbnQgbWluX2lu ZGV4LCBpbnQgbWF4X2luZGV4LCBpbnQgaW5kaWNlc19vZmZzZXQsIGludCBjb3VudCk7CisrCQlw dWJsaWMgdm9pZCBlbmFibGUgKHN0cmluZyBhdHRyaWJ1dGVfbmFtZSk7CisrCQlwdWJsaWMgdWlu dCBnZXRfbl92ZXJ0aWNlcyAoKTsKKysJCXB1YmxpYyB2b2lkIHN1Ym1pdCAoKTsKKysJfQorKwor KwlbQ29tcGFjdF0KKysJW0NDb2RlIChjbmFtZSA9ICJDb2dsSGFuZGxlIildCisrCXB1YmxpYyBj bGFzcyBWZXJ0ZXhCdWZmZXJJbmRpY2VzOiBIYW5kbGUgeworKwkJcHVibGljIFZlcnRleEJ1ZmZl ckluZGljZXMgKENvZ2wuSW5kaWNlc1R5cGUgaW5kaWNlc190eXBlLCB2b2lkKiBpbmRpY2VzX2Fy cmF5LCBpbnQgaW5kaWNlc19sZW4pOworKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIENvZ2wuVmVy dGV4QnVmZmVySW5kaWNlcyBnZXRfZm9yX3F1YWRzICh1aW50IG5faW5kaWNlcyk7CisrCQlwdWJs aWMgQ29nbC5JbmRpY2VzVHlwZSBnZXRfdHlwZSAoKTsKKysJfQorKworKwlbQ0NvZGUgKHR5cGVf aWQgPSAiQ09HTF9UWVBFX01BVFJJWCIsIGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgi KV0KKysJcHVibGljIHN0cnVjdCBNYXRyaXggeworKwkJW0NDb2RlIChjbmFtZSA9ICJjb2dsX21h dHJpeF9pbml0X2Zyb21fYXJyYXkiLCBhcnJheV9sZW5ndGggPSBmYWxzZSwgYXJyYXlfbnVsbF90 ZXJtaW5hdGVkID0gZmFsc2UpXQorKwkJcHVibGljIE1hdHJpeC5mcm9tX2FycmF5IChbQ0NvZGUg KGFycmF5X2xlbmd0aCA9IGZhbHNlKV0gZmxvYXRbXSBhcnJheSk7CisrCQlbQ0NvZGUgKGNuYW1l ID0gImNvZ2xfbWF0cml4X2luaXRfaWRlbnRpdHkiKV0KKysJCXB1YmxpYyBNYXRyaXguaWRlbnRp dHkgKCk7CisrCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfbWF0cml4X211bHRpcGx5IildCisrCQlw dWJsaWMgTWF0cml4Lm11bHRpcGx5IChDb2dsLk1hdHJpeCBhLCBDb2dsLk1hdHJpeCBiKTsKKysJ fQorKworKwlbU2ltcGxlVHlwZV0KKysJW0dJUiAobmFtZSA9ICJCb29sIildCisrCVtCb29sZWFu VHlwZV0KKysJcHVibGljIHN0cnVjdCBCb29sIDogYm9vbCB7CisrCX0KKysKKysJcHVibGljIHN0 YXRpYyBHTGliLkNhbGxiYWNrIGdldF9wcm9jX2FkZHJlc3Moc3RyaW5nIHMpOworK30KK2RpZmYg LS1naXQgYS92YXBpL211dHRlci1jb2dsLTYuZGVwcyBiL3ZhcGkvbXV0dGVyLWNvZ2wtNi5kZXBz CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAuLjk4Y2NhYzViCistLS0gL2Rl di9udWxsCisrKysgYi92YXBpL211dHRlci1jb2dsLTYuZGVwcworQEAgLTAsMCArMSBAQAorK3Bh bmdvCitkaWZmIC0tZ2l0IGEvdmFwaS9tdXR0ZXItY29nbC02LnZhcGkgYi92YXBpL211dHRlci1j b2dsLTYudmFwaQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwLi5jOWFiNWQ1 NworLS0tIC9kZXYvbnVsbAorKysrIGIvdmFwaS9tdXR0ZXItY29nbC02LnZhcGkKK0BAIC0wLDAg KzEsMTA3NyBAQAorKy8qIG11dHRlci1jb2dsLTYudmFwaSBnZW5lcmF0ZWQgYnkgdmFwaWdlbiwg ZG8gbm90IG1vZGlmeS4gKi8KKysKKytbQ0NvZGUgKGNwcmVmaXggPSAiQ29nbCIsIGdpcl9uYW1l c3BhY2UgPSAiQ29nbCIsIGdpcl92ZXJzaW9uID0gIjYiLCBsb3dlcl9jYXNlX2NwcmVmaXggPSAi Y29nbF8iKV0KKytuYW1lc3BhY2UgQ29nbCB7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjb2dsL2NvZ2wuaCIsIGNuYW1lID0gIkNvZ2xIYW5kbGUiLCB0eXBlX2lkID0gImNvZ2xfYml0 bWFwX2dldF9ndHlwZSAoKSIpXQorKwlbQ29tcGFjdF0KKysJcHVibGljIGNsYXNzIEJpdG1hcCA6 IENvZ2wuSGFuZGxlIHsKKysJCXB1YmxpYyBzdGF0aWMgdWludDMyIGVycm9yX3F1YXJrICgpOwor KwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ29nbEJp dG1hcCoiKV0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyBCaXRtYXAu ZnJvbV9maWxlIChzdHJpbmcgZmlsZW5hbWUpIHRocm93cyBHTGliLkVycm9yOworKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBDb2dsLlBpeGVsRm9ybWF0IGdldF9mb3Jt YXQgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIGludCBnZXRf aGVpZ2h0ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyBpbnQg Z2V0X3Jvd3N0cmlkZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJCXB1Ymxp YyBzdGF0aWMgYm9vbCBnZXRfc2l6ZV9mcm9tX2ZpbGUgKHN0cmluZyBmaWxlbmFtZSwgb3V0IGlu dCB3aWR0aCwgb3V0IGludCBoZWlnaHQpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0K KysJCXB1YmxpYyBpbnQgZ2V0X3dpZHRoICgpOworKwkJcHVibGljIHN0YXRpYyBDb2dsLkJpdG1h cCBuZXdfZnJvbV9maWxlIChzdHJpbmcgZmlsZW5hbWUpIHRocm93cyBHTGliLkVycm9yOworKwl9 CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNuYW1lID0gIkNv Z2xIYW5kbGUiKV0KKysJW0NvbXBhY3RdCisrCXB1YmxpYyBjbGFzcyBCdWZmZXIgOiBDb2dsLkhh bmRsZSB7CisrCQlwdWJsaWMgdWludCBnZXRfc2l6ZSAoKTsKKysJCXB1YmxpYyBib29sIHNldF9k YXRhIChzaXplX3Qgb2Zmc2V0LCBbQ0NvZGUgKGFycmF5X2xlbmd0aF90eXBlID0gInNpemVfdCIp XSB1aW50OFtdIGRhdGEpOworKwkJcHVibGljIHZvaWQgdW5tYXAgKCk7CisrCX0KKysJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgdHlwZV9pZCA9ICJjb2dsX2NvbnRl eHRfZ2V0X2d0eXBlICgpIildCisrCXB1YmxpYyBjbGFzcyBDb250ZXh0IDogQ29nbC5PYmplY3Qg eworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJcHJvdGVj dGVkIENvbnRleHQgKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wv Y29nbC5oIiwgY29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0g ImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAiY29nbF9mcmFtZV9jbG9zdXJlX2dldF9ndHlwZSAo KSIpXQorKwlbQ29tcGFjdF0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTQiKV0KKysJcHVibGlj IGNsYXNzIEZyYW1lQ2xvc3VyZSB7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNvZ2wvY29nbC5oIiwgcmVmX2Z1bmN0aW9uID0gImNvZ2xfaGFuZGxlX3JlZiIsIHVucmVmX2Z1 bmN0aW9uID0gImNvZ2xfaGFuZGxlX3VucmVmIildCisrCVtDb21wYWN0XQorKwlwdWJsaWMgY2xh c3MgSGFuZGxlIHsKKysJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9pc19iaXRtYXAiKV0KKysJCXB1 YmxpYyBib29sIGlzX2JpdG1hcCAoKTsKKysJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9pc19idWZm ZXIiKV0KKysJCXB1YmxpYyBib29sIGlzX2J1ZmZlciAoKTsKKysJCVtDQ29kZSAoY25hbWUgPSAi Y29nbF9pc19tYXRlcmlhbCIpXQorKwkJcHVibGljIGJvb2wgaXNfbWF0ZXJpYWwgKCk7CisrCQlb Q0NvZGUgKGNuYW1lID0gImNvZ2xfaXNfb2Zmc2NyZWVuIildCisrCQlwdWJsaWMgYm9vbCBpc19v ZmZzY3JlZW4gKCk7CisrCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfaXNfcGl4ZWxfYnVmZmVyIild CisrCQlwdWJsaWMgYm9vbCBpc19waXhlbF9idWZmZXIgKCk7CisrCQlbQ0NvZGUgKGNuYW1lID0g ImNvZ2xfaXNfcHJvZ3JhbSIpXQorKwkJcHVibGljIGJvb2wgaXNfcHJvZ3JhbSAoKTsKKysJCVtD Q29kZSAoY25hbWUgPSAiY29nbF9pc19zaGFkZXIiKV0KKysJCXB1YmxpYyBib29sIGlzX3NoYWRl ciAoKTsKKysJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9pc190ZXh0dXJlIildCisrCQlwdWJsaWMg Ym9vbCBpc190ZXh0dXJlICgpOworKwkJW0NDb2RlIChjbmFtZSA9ICJjb2dsX2lzX3ZlcnRleF9i dWZmZXIiKV0KKysJCXB1YmxpYyBib29sIGlzX3ZlcnRleF9idWZmZXIgKCk7CisrCX0KKysJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY29weV9mdW5jdGlvbiA9ICJn X2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAi Y29nbF9tYXRlcmlhbF9nZXRfdHlwZSAoKSIpXQorKwlbQ29tcGFjdF0KKysJcHVibGljIGNsYXNz IE1hdGVyaWFsIHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0K KysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2 IildCisrCQlwdWJsaWMgTWF0ZXJpYWwgKCk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRy dWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIsIHNpbmNlID0gIjEuMCIpXQorKwkJcHVibGlj IHZvaWQgc2V0X2FscGhhX3Rlc3RfZnVuY3Rpb24gKENvZ2wuTWF0ZXJpYWxBbHBoYUZ1bmMgYWxw aGFfZnVuYywgZmxvYXQgYWxwaGFfcmVmZXJlbmNlKTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVk ID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2Iiwgc2luY2UgPSAiMS4wIildCisrCQlw dWJsaWMgYm9vbCBzZXRfYmxlbmQgKHN0cmluZyBibGVuZF9zdHJpbmcpIHRocm93cyBHTGliLkVy cm9yOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0g IjEuMTYiLCBzaW5jZSA9ICIxLjAiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9ibGVuZF9jb25zdGFu dCAoQ29nbC5Db2xvciBjb25zdGFudF9jb2xvcik7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9 IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIsIHNpbmNlID0gIjEuMCIpXQorKwkJcHVi bGljIHZvaWQgc2V0X2NvbG9yIChDb2dsLkNvbG9yIGNvbG9yKTsKKysJCVtWZXJzaW9uIChkZXBy ZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2Iiwgc2luY2UgPSAiMS4wIild CisrCQlwdWJsaWMgdm9pZCBzZXRfY29sb3I0dWIgKHVpbnQ4IHJlZCwgdWludDggZ3JlZW4sIHVp bnQ4IGJsdWUsIHVpbnQ4IGFscGhhKTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwg ZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2Iiwgc2luY2UgPSAiMS4wIildCisrCQlwdWJsaWMgdm9p ZCBzZXRfbGF5ZXIgKGludCBsYXllcl9pbmRleCwgQ29nbC5IYW5kbGUgdGV4dHVyZSk7CisrCQlb VmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIsIHNp bmNlID0gIjEuMCIpXQorKwkJcHVibGljIGJvb2wgc2V0X2xheWVyX2NvbWJpbmUgKGludCBsYXll cl9pbmRleCwgc3RyaW5nIGJsZW5kX3N0cmluZykgdGhyb3dzIEdMaWIuRXJyb3I7CisrCQlbVmVy c2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIsIHNpbmNl ID0gIjEuMCIpXQorKwkJcHVibGljIHZvaWQgc2V0X2xheWVyX2NvbWJpbmVfY29uc3RhbnQgKGlu dCBsYXllcl9pbmRleCwgQ29nbC5Db2xvciBjb25zdGFudCk7CisrCQlbVmVyc2lvbiAoZGVwcmVj YXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIpXQorKwkJcHVibGljIHZvaWQg c2V0X2xheWVyX2ZpbHRlcnMgKGludCBsYXllcl9pbmRleCwgQ29nbC5NYXRlcmlhbEZpbHRlciBt aW5fZmlsdGVyLCBDb2dsLk1hdGVyaWFsRmlsdGVyIG1hZ19maWx0ZXIpOworKwkJW1ZlcnNpb24g KGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiKV0KKysJCXB1Ymxp YyB2b2lkIHNldF9sYXllcl9tYXRyaXggKGludCBsYXllcl9pbmRleCwgQ29nbC5NYXRyaXggbWF0 cml4KTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9 ICIxLjE2Iiwgc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgYm9vbCBzZXRfbGF5ZXJfcG9pbnRf c3ByaXRlX2Nvb3Jkc19lbmFibGVkIChpbnQgbGF5ZXJfaW5kZXgsIGJvb2wgZW5hYmxlKSB0aHJv d3MgR0xpYi5FcnJvcjsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRl ZF9zaW5jZSA9ICIxLjE2Iiwgc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgdm9pZCBzZXRfcG9p bnRfc2l6ZSAoZmxvYXQgcG9pbnRfc2l6ZSk7CisrCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRy dWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIsIHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGlj IHZvaWQgc2V0X3VzZXJfcHJvZ3JhbSAoQ29nbC5IYW5kbGUgcHJvZ3JhbSk7CisrCX0KKysJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgaGFzX3R5cGVfaWQgPSBmYWxz ZSldCisrCVtDb21wYWN0XQorKwlwdWJsaWMgY2xhc3MgTWF0ZXJpYWxMYXllciB7CisrCX0KKysJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgdHlwZV9pZCA9ICJjb2ds X29iamVjdF9nZXRfZ3R5cGUgKCkiKV0KKysJcHVibGljIGFic3RyYWN0IGNsYXNzIE9iamVjdCB7 CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0 ZWQgT2JqZWN0ICgpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2Nv Z2wuaCIsIHR5cGVfaWQgPSAiY29nbF9vZmZzY3JlZW5fZ2V0X2d0eXBlICgpIildCisrCXB1Ymxp YyBjbGFzcyBPZmZzY3JlZW4gOiBDb2dsLk9iamVjdCwgQ29nbC5GcmFtZWJ1ZmZlciB7CisrCQlb Q0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlwcm90ZWN0ZWQgT2Zm c2NyZWVuICgpOworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQor KwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYi KV0KKysJCXB1YmxpYyBPZmZzY3JlZW4udG9fdGV4dHVyZSAoQ29nbC5UZXh0dXJlIHRleHR1cmUp OworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJcHVibGlj IE9mZnNjcmVlbi53aXRoX3RleHR1cmUgKENvZ2wuVGV4dHVyZSB0ZXh0dXJlKTsKKysJfQorKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCB0eXBlX2lkID0gImNvZ2xf b25zY3JlZW5fZ2V0X2d0eXBlICgpIildCisrCXB1YmxpYyBjbGFzcyBPbnNjcmVlbiA6IENvZ2wu T2JqZWN0LCBDb2dsLkZyYW1lYnVmZmVyIHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5j dGlvbiA9IGZhbHNlKV0KKysJCXByb3RlY3RlZCBPbnNjcmVlbiAoKTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjE2IildCisrCQlwdWJsaWMgQ29nbC5PbnNjcmVlbkRpcnR5Q2xvc3VyZSBhZGRf ZGlydHlfY2FsbGJhY2sgKFtDQ29kZSAoZGVsZWdhdGVfdGFyZ2V0X3BvcyA9IDEuNSldIENvZ2wu T25zY3JlZW5EaXJ0eUNhbGxiYWNrIGNhbGxiYWNrLCBDb2dsLlVzZXJEYXRhRGVzdHJveUNhbGxi YWNrPyBkZXN0cm95KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KKysJCXB1YmxpYyBD b2dsLk9uc2NyZWVuUmVzaXplQ2xvc3VyZSBhZGRfcmVzaXplX2NhbGxiYWNrIChbQ0NvZGUgKGRl bGVnYXRlX3RhcmdldF9wb3MgPSAxLjUpXSBDb2dsLk9uc2NyZWVuUmVzaXplQ2FsbGJhY2sgY2Fs bGJhY2ssIENvZ2wuVXNlckRhdGFEZXN0cm95Q2FsbGJhY2s/IGRlc3Ryb3kpOworKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTQiKV0KKysJCXB1YmxpYyBpbnQgZ2V0X2J1ZmZlcl9hZ2UgKCk7Cisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQorKwkJcHVibGljIGludDY0IGdldF9mcmFtZV9j b3VudGVyICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQorKwkJcHVibGljIGJvb2wg Z2V0X3Jlc2l6YWJsZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KKysJCXB1Ymxp YyB2b2lkIGhpZGUgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNiIpXQorKwkJcHVibGlj IHZvaWQgcmVtb3ZlX2RpcnR5X2NhbGxiYWNrIChDb2dsLk9uc2NyZWVuRGlydHlDbG9zdXJlIGNs b3N1cmUpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTQiKV0KKysJCXB1YmxpYyB2b2lkIHJl bW92ZV9mcmFtZV9jYWxsYmFjayAoQ29nbC5GcmFtZUNsb3N1cmUgY2xvc3VyZSk7CisrCQlbVmVy c2lvbiAoc2luY2UgPSAiMi4wIildCisrCQlwdWJsaWMgdm9pZCByZW1vdmVfcmVzaXplX2NhbGxi YWNrIChDb2dsLk9uc2NyZWVuUmVzaXplQ2xvc3VyZSBjbG9zdXJlKTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIyLjAiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9yZXNpemFibGUgKGJvb2wgcmVzaXph YmxlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KKysJCXB1YmxpYyB2b2lkIHNob3cg KCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgc3dhcF9i dWZmZXJzICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTYiKV0KKysJCXB1YmxpYyB2b2lk IHN3YXBfYnVmZmVyc193aXRoX2RhbWFnZSAoaW50IHJlY3RhbmdsZXMsIGludCBuX3JlY3Rhbmds ZXMpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyB2b2lkIHN3YXBf cmVnaW9uIChpbnQgcmVjdGFuZ2xlcywgaW50IG5fcmVjdGFuZ2xlcyk7CisrCX0KKysJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY29weV9mdW5jdGlvbiA9ICJnX2Jv eGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAiY29n bF9vbnNjcmVlbl9kaXJ0eV9jbG9zdXJlX2dldF9ndHlwZSAoKSIpXQorKwlbQ29tcGFjdF0KKysJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTYiKV0KKysJcHVibGljIGNsYXNzIE9uc2NyZWVuRGlydHlD bG9zdXJlIHsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgi LCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hl ZF9mcmVlIiwgdHlwZV9pZCA9ICJjb2dsX29uc2NyZWVuX3Jlc2l6ZV9jbG9zdXJlX2dldF9ndHlw ZSAoKSIpXQorKwlbQ29tcGFjdF0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQorKwlwdWJs aWMgY2xhc3MgT25zY3JlZW5SZXNpemVDbG9zdXJlIHsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjb3B5X2Z1bmN0aW9uID0gImNvZ2xfcGF0aF9jb3B5 IildCisrCVtDb21wYWN0XQorKwlwdWJsaWMgY2xhc3MgUGF0aCB7CisrCQlwdWJsaWMgc3RhdGlj IHZvaWQgQG5ldyAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9j b2dsLmgiLCB0eXBlX2lkID0gImNvZ2xfcGlwZWxpbmVfZ2V0X2d0eXBlICgpIildCisrCXB1Ymxp YyBjbGFzcyBQaXBlbGluZSA6IENvZ2wuT2JqZWN0IHsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVj dF9mdW5jdGlvbiA9IGZhbHNlKV0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KKysJCXB1 YmxpYyBQaXBlbGluZSAoQ29nbC5Db250ZXh0IGNvbnRleHQpOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjIuMCIpXQorKwkJcHVibGljIENvZ2wuUGlwZWxpbmUgY29weSAoKTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIyLjAiKV0KKysJCXB1YmxpYyB2b2lkIGZvcmVhY2hfbGF5ZXIgKENvZ2wuUGlw ZWxpbmVMYXllckNhbGxiYWNrIGNhbGxiYWNrKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAi KV0KKysJCXB1YmxpYyBDb2dsLlBpcGVsaW5lQWxwaGFGdW5jIGdldF9hbHBoYV90ZXN0X2Z1bmN0 aW9uICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQorKwkJcHVibGljIGZsb2F0IGdl dF9hbHBoYV90ZXN0X3JlZmVyZW5jZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0K KysJCXB1YmxpYyBDb2dsLkNvbG9yIGdldF9jb2xvciAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIyLjAiKV0KKysJCXB1YmxpYyBDb2dsLlBpcGVsaW5lQ3VsbEZhY2VNb2RlIGdldF9jdWxsX2Zh Y2VfbW9kZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KKysJCXB1YmxpYyBDb2ds LldpbmRpbmcgZ2V0X2Zyb250X2ZhY2Vfd2luZGluZyAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEwIildCisrCQlwdWJsaWMgQ29nbC5QaXBlbGluZUZpbHRlciBnZXRfbGF5ZXJfbWFnX2Zp bHRlciAoaW50IGxheWVyX2luZGV4KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisr CQlwdWJsaWMgQ29nbC5QaXBlbGluZUZpbHRlciBnZXRfbGF5ZXJfbWluX2ZpbHRlciAoaW50IGxh eWVyX2luZGV4KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KKysJCXB1YmxpYyBib29s IGdldF9sYXllcl9wb2ludF9zcHJpdGVfY29vcmRzX2VuYWJsZWQgKGludCBsYXllcl9pbmRleCk7 CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHVub3duZWQgQ29nbC5U ZXh0dXJlIGdldF9sYXllcl90ZXh0dXJlIChpbnQgbGF5ZXJfaW5kZXgpOworKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuNiIpXQorKwkJcHVibGljIENvZ2wuUGlwZWxpbmVXcmFwTW9kZSBnZXRfbGF5 ZXJfd3JhcF9tb2RlX3MgKGludCBsYXllcl9pbmRleCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS42IildCisrCQlwdWJsaWMgQ29nbC5QaXBlbGluZVdyYXBNb2RlIGdldF9sYXllcl93cmFwX21v ZGVfdCAoaW50IGxheWVyX2luZGV4KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KKysJ CXB1YmxpYyBpbnQgZ2V0X25fbGF5ZXJzICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIp XQorKwkJcHVibGljIGJvb2wgZ2V0X3Blcl92ZXJ0ZXhfcG9pbnRfc2l6ZSAoKTsKKysJCVtWZXJz aW9uIChzaW5jZSA9ICIyLjAiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRfcG9pbnRfc2l6ZSAoKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KKysJCXB1YmxpYyBpbnQgZ2V0X3VuaWZvcm1f bG9jYXRpb24gKHN0cmluZyB1bmlmb3JtX25hbWUpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIu MCIpXQorKwkJcHVibGljIHVub3duZWQgQ29nbC5IYW5kbGUgZ2V0X3VzZXJfcHJvZ3JhbSAoKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCByZW1vdmVfbGF5 ZXIgKGludCBsYXllcl9pbmRleCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCisrCQlw dWJsaWMgdm9pZCBzZXRfYWxwaGFfdGVzdF9mdW5jdGlvbiAoQ29nbC5QaXBlbGluZUFscGhhRnVu YyBhbHBoYV9mdW5jLCBmbG9hdCBhbHBoYV9yZWZlcmVuY2UpOworKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjIuMCIpXQorKwkJcHVibGljIGJvb2wgc2V0X2JsZW5kIChzdHJpbmcgYmxlbmRfc3RyaW5n KSB0aHJvd3MgR0xpYi5FcnJvcjsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KKysJCXB1 YmxpYyB2b2lkIHNldF9ibGVuZF9jb25zdGFudCAoQ29nbC5Db2xvciBjb25zdGFudF9jb2xvcik7 CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCisrCQlwdWJsaWMgdm9pZCBzZXRfY29sb3Ig KENvZ2wuQ29sb3IgY29sb3IpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQorKwkJcHVi bGljIHZvaWQgc2V0X2NvbG9yNGYgKGZsb2F0IHJlZCwgZmxvYXQgZ3JlZW4sIGZsb2F0IGJsdWUs IGZsb2F0IGFscGhhKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KKysJCXB1YmxpYyB2 b2lkIHNldF9jb2xvcjR1YiAodWludDggcmVkLCB1aW50OCBncmVlbiwgdWludDggYmx1ZSwgdWlu dDggYWxwaGEpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQorKwkJcHVibGljIHZvaWQg c2V0X2N1bGxfZmFjZV9tb2RlIChDb2dsLlBpcGVsaW5lQ3VsbEZhY2VNb2RlIGN1bGxfZmFjZV9t b2RlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9m cm9udF9mYWNlX3dpbmRpbmcgKENvZ2wuV2luZGluZyBmcm9udF93aW5kaW5nKTsKKysJCVtWZXJz aW9uIChzaW5jZSA9ICIyLjAiKV0KKysJCXB1YmxpYyBib29sIHNldF9sYXllcl9jb21iaW5lIChp bnQgbGF5ZXJfaW5kZXgsIHN0cmluZyBibGVuZF9zdHJpbmcpIHRocm93cyBHTGliLkVycm9yOwor KwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQorKwkJcHVibGljIHZvaWQgc2V0X2xheWVyX2Nv bWJpbmVfY29uc3RhbnQgKGludCBsYXllcl9pbmRleCwgQ29nbC5Db2xvciBjb25zdGFudCk7Cisr CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgc2V0X2xheWVyX2Zp bHRlcnMgKGludCBsYXllcl9pbmRleCwgQ29nbC5QaXBlbGluZUZpbHRlciBtaW5fZmlsdGVyLCBD b2dsLlBpcGVsaW5lRmlsdGVyIG1hZ19maWx0ZXIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTAiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9sYXllcl9tYXRyaXggKGludCBsYXllcl9pbmRleCwg Q29nbC5NYXRyaXggbWF0cml4KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlw dWJsaWMgdm9pZCBzZXRfbGF5ZXJfbnVsbF90ZXh0dXJlIChpbnQgbGF5ZXJfaW5kZXgpOworKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQorKwkJcHVibGljIGJvb2wgc2V0X2xheWVyX3BvaW50 X3Nwcml0ZV9jb29yZHNfZW5hYmxlZCAoaW50IGxheWVyX2luZGV4LCBib29sIGVuYWJsZSkgdGhy b3dzIEdMaWIuRXJyb3I7CisrCQlwdWJsaWMgdm9pZCBzZXRfbGF5ZXJfdGV4dHVyZSAoaW50IGxh eWVyX2luZGV4LCBDb2dsLlRleHR1cmUgdGV4dHVyZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi Mi4wIildCisrCQlwdWJsaWMgdm9pZCBzZXRfbGF5ZXJfd3JhcF9tb2RlIChpbnQgbGF5ZXJfaW5k ZXgsIENvZ2wuUGlwZWxpbmVXcmFwTW9kZSBtb2RlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIy LjAiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9sYXllcl93cmFwX21vZGVfcyAoaW50IGxheWVyX2lu ZGV4LCBDb2dsLlBpcGVsaW5lV3JhcE1vZGUgbW9kZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi Mi4wIildCisrCQlwdWJsaWMgdm9pZCBzZXRfbGF5ZXJfd3JhcF9tb2RlX3QgKGludCBsYXllcl9p bmRleCwgQ29nbC5QaXBlbGluZVdyYXBNb2RlIG1vZGUpOworKwkJW1ZlcnNpb24gKHNpbmNlID0g IjIuMCIpXQorKwkJcHVibGljIGJvb2wgc2V0X3Blcl92ZXJ0ZXhfcG9pbnRfc2l6ZSAoYm9vbCBl bmFibGUpIHRocm93cyBHTGliLkVycm9yOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQor KwkJcHVibGljIHZvaWQgc2V0X3BvaW50X3NpemUgKGZsb2F0IHBvaW50X3NpemUpOworKwkJW1Zl cnNpb24gKHNpbmNlID0gIjIuMCIpXQorKwkJcHVibGljIHZvaWQgc2V0X3VuaWZvcm1fMWYgKGlu dCB1bmlmb3JtX2xvY2F0aW9uLCBmbG9hdCB2YWx1ZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi Mi4wIildCisrCQlwdWJsaWMgdm9pZCBzZXRfdW5pZm9ybV8xaSAoaW50IHVuaWZvcm1fbG9jYXRp b24sIGludCB2YWx1ZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCisrCQlwdWJsaWMg dm9pZCBzZXRfdW5pZm9ybV9mbG9hdCAoaW50IHVuaWZvcm1fbG9jYXRpb24sIGludCBuX2NvbXBv bmVudHMsIGludCBjb3VudCwgZmxvYXQgdmFsdWUpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIu MCIpXQorKwkJcHVibGljIHZvaWQgc2V0X3VuaWZvcm1faW50IChpbnQgdW5pZm9ybV9sb2NhdGlv biwgaW50IG5fY29tcG9uZW50cywgaW50IGNvdW50LCBpbnQgdmFsdWUpOworKwkJW1ZlcnNpb24g KHNpbmNlID0gIjIuMCIpXQorKwkJcHVibGljIHZvaWQgc2V0X3VuaWZvcm1fbWF0cml4IChpbnQg dW5pZm9ybV9sb2NhdGlvbiwgaW50IGRpbWVuc2lvbnMsIGludCBjb3VudCwgYm9vbCB0cmFuc3Bv c2UsIGZsb2F0IHZhbHVlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KKysJCXB1Ymxp YyB2b2lkIHNldF91c2VyX3Byb2dyYW0gKENvZ2wuSGFuZGxlIHByb2dyYW0pOworKwl9CisrCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQorKwlbQ29tcGFjdF0KKysJ cHVibGljIGNsYXNzIFBpeGVsQnVmZmVyIDogQ29nbC5IYW5kbGUgeworKwkJcHVibGljIFBpeGVs QnVmZmVyICh1aW50IHNpemUpOworKwkJcHVibGljIFBpeGVsQnVmZmVyLmZvcl9zaXplICh1aW50 IHdpZHRoLCB1aW50IGhlaWdodCwgQ29nbC5QaXhlbEZvcm1hdCBmb3JtYXQsIHVpbnQgc3RyaWRl KTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjbmFt ZSA9ICJDb2dsSGFuZGxlIiwgcmVmX2Z1bmN0aW9uID0gImNvZ2xfcHJvZ3JhbV9yZWYiLCB1bnJl Zl9mdW5jdGlvbiA9ICJjb2dsX3Byb2dyYW1fdW5yZWYiKV0KKysJW0NvbXBhY3RdCisrCXB1Ymxp YyBjbGFzcyBQcm9ncmFtIDogQ29nbC5IYW5kbGUgeworKwkJW0NDb2RlIChjbmFtZSA9ICJjb2ds X2NyZWF0ZV9wcm9ncmFtIiwgaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0g IkNvZ2xIYW5kbGUqIildCisrCQlwdWJsaWMgUHJvZ3JhbSAoKTsKKysJCXB1YmxpYyB2b2lkIGF0 dGFjaF9zaGFkZXIgKENvZ2wuU2hhZGVyIHNoYWRlcl9oYW5kbGUpOworKwkJcHVibGljIGludCBn ZXRfdW5pZm9ybV9sb2NhdGlvbiAoc3RyaW5nIHVuaWZvcm1fbmFtZSk7CisrCQlwdWJsaWMgdm9p ZCBsaW5rICgpOworKwkJcHVibGljIHN0YXRpYyB2b2lkIHVuaWZvcm1fMWYgKGludCB1bmlmb3Jt X25vLCBmbG9hdCB2YWx1ZSk7CisrCQlwdWJsaWMgc3RhdGljIHZvaWQgdW5pZm9ybV8xaSAoaW50 IHVuaWZvcm1fbm8sIGludCB2YWx1ZSk7CisrCQlwdWJsaWMgc3RhdGljIHZvaWQgdW5pZm9ybV9m bG9hdCAoaW50IHVuaWZvcm1fbm8sIGludCBzaXplLCBbQ0NvZGUgKGFycmF5X2xlbmd0aF9wb3Mg PSAyLjkpXSBmbG9hdFtdIHZhbHVlKTsKKysJCXB1YmxpYyBzdGF0aWMgdm9pZCB1bmlmb3JtX2lu dCAoaW50IHVuaWZvcm1fbm8sIGludCBzaXplLCBbQ0NvZGUgKGFycmF5X2xlbmd0aF9wb3MgPSAy LjkpXSBpbnRbXSB2YWx1ZSk7CisrCQlwdWJsaWMgc3RhdGljIHZvaWQgdW5pZm9ybV9tYXRyaXgg KGludCB1bmlmb3JtX25vLCBpbnQgc2l6ZSwgYm9vbCB0cmFuc3Bvc2UsIFtDQ29kZSAoYXJyYXlf bGVuZ3RoX3BvcyA9IDIuOSldIGZsb2F0W10gdmFsdWUpOworKwkJcHVibGljIHZvaWQgdXNlICgp OworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNuYW1l ID0gIkNvZ2xIYW5kbGUiLCByZWZfZnVuY3Rpb24gPSAiY29nbF9zaGFkZXJfcmVmIiwgdW5yZWZf ZnVuY3Rpb24gPSAiY29nbF9zaGFkZXJfdW5yZWYiKV0KKysJW0NvbXBhY3RdCisrCXB1YmxpYyBj bGFzcyBTaGFkZXIgOiBDb2dsLkhhbmRsZSB7CisrCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfY3Jl YXRlX3NoYWRlciIsIGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDb2ds SGFuZGxlKiIpXQorKwkJcHVibGljIFNoYWRlciAoQ29nbC5TaGFkZXJUeXBlIHNoYWRlcl90eXBl KTsKKysJCXB1YmxpYyB2b2lkIGNvbXBpbGUgKCk7CisrCQlwdWJsaWMgc3RyaW5nIGdldF9pbmZv X2xvZyAoKTsKKysJCXB1YmxpYyBDb2dsLlNoYWRlclR5cGUgZ2V0X3R5cGUgKCk7CisrCQlwdWJs aWMgYm9vbCBpc19jb21waWxlZCAoKTsKKysJCXB1YmxpYyB2b2lkIHNvdXJjZSAoc3RyaW5nIHNv dXJjZSk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwg bG93ZXJfY2FzZV9jc3VmZml4ID0gInRleHR1cmVfMmQiLCB0eXBlX2lkID0gImNvZ2xfdGV4dHVy ZV8yZF9nZXRfZ3R5cGUgKCkiKV0KKysJcHVibGljIGNsYXNzIFRleHR1cmUyRCA6IENvZ2wuT2Jq ZWN0LCBDb2dsLlRleHR1cmUgeworKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0g ZmFsc2UpXQorKwkJcHJvdGVjdGVkIFRleHR1cmUyRCAoKTsKKysJCXB1YmxpYyB2b2lkIGVnbF9p bWFnZV9leHRlcm5hbF9hbGxvY19maW5pc2ggKHZvaWQqIHVzZXJfZGF0YSwgR0xpYi5EZXN0cm95 Tm90aWZ5IGRlc3Ryb3kpOworKwkJcHVibGljIHZvaWQgZWdsX2ltYWdlX2V4dGVybmFsX2JpbmQg KCk7CisrCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCisrCQlbVmVy c2lvbiAoc2luY2UgPSAiMi4wIildCisrCQlwdWJsaWMgVGV4dHVyZTJELmZyb21fYml0bWFwIChD b2dsLkJpdG1hcCBiaXRtYXApOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj b2dsL2NvZ2wuaCIsIGxvd2VyX2Nhc2VfY3N1ZmZpeCA9ICJ0ZXh0dXJlXzJkX3NsaWNlZCIsIHR5 cGVfaWQgPSAiY29nbF90ZXh0dXJlXzJkX3NsaWNlZF9nZXRfZ3R5cGUgKCkiKV0KKysJcHVibGlj IGNsYXNzIFRleHR1cmUyRFNsaWNlZCA6IENvZ2wuT2JqZWN0LCBDb2dsLlRleHR1cmUgeworKwkJ W0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQorKwkJcHJvdGVjdGVkIFRl eHR1cmUyRFNsaWNlZCAoKTsKKysJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZh bHNlKV0KKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE2IildCisrCQlwdWJsaWMgVGV4dHVyZTJE U2xpY2VkLmZyb21fYml0bWFwIChDb2dsLkJpdG1hcCBibXAsIGludCBtYXhfd2FzdGUpOworKwl9 CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNuYW1lID0gIkNv Z2xIYW5kbGUiLCByZWZfZnVuY3Rpb24gPSAiY29nbF92ZXJ0ZXhfYnVmZmVyX3JlZiIsIHVucmVm X2Z1bmN0aW9uID0gImNvZ2xfdmVydGV4X2J1ZmZlcl91bnJlZiIpXQorKwlbQ29tcGFjdF0KKysJ cHVibGljIGNsYXNzIFZlcnRleEJ1ZmZlciA6IENvZ2wuSGFuZGxlIHsKKysJCVtDQ29kZSAoaGFz X2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNvZ2xIYW5kbGUqIildCisrCQlw dWJsaWMgVmVydGV4QnVmZmVyICh1aW50IG5fdmVydGljZXMpOworKwkJcHVibGljIHZvaWQgYWRk IChzdHJpbmcgYXR0cmlidXRlX25hbWUsIHVjaGFyIG5fY29tcG9uZW50cywgQ29nbC5BdHRyaWJ1 dGVUeXBlIHR5cGUsIGJvb2wgbm9ybWFsaXplZCwgdWludDE2IHN0cmlkZSwgdm9pZCogcG9pbnRl cik7CisrCQlwdWJsaWMgdm9pZCBAZGVsZXRlIChzdHJpbmcgYXR0cmlidXRlX25hbWUpOworKwkJ cHVibGljIHZvaWQgZGlzYWJsZSAoc3RyaW5nIGF0dHJpYnV0ZV9uYW1lKTsKKysJCXB1YmxpYyB2 b2lkIGRyYXcgKENvZ2wuVmVydGljZXNNb2RlIG1vZGUsIGludCBmaXJzdCwgaW50IGNvdW50KTsK KysJCXB1YmxpYyB2b2lkIGRyYXdfZWxlbWVudHMgKENvZ2wuVmVydGljZXNNb2RlIG1vZGUsIENv Z2wuVmVydGV4QnVmZmVySW5kaWNlcyBpbmRpY2VzLCBpbnQgbWluX2luZGV4LCBpbnQgbWF4X2lu ZGV4LCBpbnQgaW5kaWNlc19vZmZzZXQsIGludCBjb3VudCk7CisrCQlwdWJsaWMgdm9pZCBlbmFi bGUgKHN0cmluZyBhdHRyaWJ1dGVfbmFtZSk7CisrCQlwdWJsaWMgdWludCBnZXRfbl92ZXJ0aWNl cyAoKTsKKysJCXB1YmxpYyB2b2lkIHN1Ym1pdCAoKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjbmFtZSA9ICJDb2dsSGFuZGxlIildCisrCVtDb21w YWN0XQorKwlwdWJsaWMgY2xhc3MgVmVydGV4QnVmZmVySW5kaWNlcyA6IENvZ2wuSGFuZGxlIHsK KysJCXB1YmxpYyBWZXJ0ZXhCdWZmZXJJbmRpY2VzIChDb2dsLkluZGljZXNUeXBlIGluZGljZXNf dHlwZSwgdm9pZCogaW5kaWNlc19hcnJheSwgaW50IGluZGljZXNfbGVuKTsKKysJCXB1YmxpYyBz dGF0aWMgdW5vd25lZCBDb2dsLlZlcnRleEJ1ZmZlckluZGljZXMgZ2V0X2Zvcl9xdWFkcyAodWlu dCBuX2luZGljZXMpOworKwkJcHVibGljIENvZ2wuSW5kaWNlc1R5cGUgZ2V0X3R5cGUgKCk7Cisr CX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgdHlwZV9pZCA9 ICJjb2dsX2ZyYW1lYnVmZmVyX2dldF9ndHlwZSAoKSIpXQorKwlwdWJsaWMgaW50ZXJmYWNlIEZy YW1lYnVmZmVyIDogQ29nbC5PYmplY3QgeworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQor KwkJcHVibGljIGJvb2wgYWxsb2NhdGUgKCkgdGhyb3dzIEdMaWIuRXJyb3I7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMS44IildCisrCQlwdWJsaWMgdm9pZCBjbGVhciAodWxvbmcgYnVmZmVycywg Q29nbC5Db2xvciBjb2xvcik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCisrCQlwdWJs aWMgdm9pZCBjbGVhcjRmICh1bG9uZyBidWZmZXJzLCBmbG9hdCByZWQsIGZsb2F0IGdyZWVuLCBm bG9hdCBibHVlLCBmbG9hdCBhbHBoYSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCisr CQlwdWJsaWMgdm9pZCBkaXNjYXJkX2J1ZmZlcnMgKHVsb25nIGJ1ZmZlcnMpOworKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyB2b2lkIGRyYXdfbXVsdGl0ZXh0dXJlZF9y ZWN0YW5nbGUgKENvZ2wuUGlwZWxpbmUgcGlwZWxpbmUsIGZsb2F0IHhfMSwgZmxvYXQgeV8xLCBm bG9hdCB4XzIsIGZsb2F0IHlfMiwgW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldIGZsb2F0 W10gdGV4X2Nvb3JkcywgaW50IHRleF9jb29yZHNfbGVuKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBkcmF3X3JlY3RhbmdsZSAoQ29nbC5QaXBlbGluZSBw aXBlbGluZSwgZmxvYXQgeF8xLCBmbG9hdCB5XzEsIGZsb2F0IHhfMiwgZmxvYXQgeV8yKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBkcmF3X3JlY3Rhbmds ZXMgKENvZ2wuUGlwZWxpbmUgcGlwZWxpbmUsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2Up XSBmbG9hdFtdIGNvb3JkaW5hdGVzLCB1aW50IG5fcmVjdGFuZ2xlcyk7CisrCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgZHJhd190ZXh0dXJlZF9yZWN0YW5nbGUg KENvZ2wuUGlwZWxpbmUgcGlwZWxpbmUsIGZsb2F0IHhfMSwgZmxvYXQgeV8xLCBmbG9hdCB4XzIs IGZsb2F0IHlfMiwgZmxvYXQgc18xLCBmbG9hdCB0XzEsIGZsb2F0IHNfMiwgZmxvYXQgdF8yKTsK KysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBkcmF3X3RleHR1 cmVkX3JlY3RhbmdsZXMgKENvZ2wuUGlwZWxpbmUgcGlwZWxpbmUsIFtDQ29kZSAoYXJyYXlfbGVu Z3RoID0gZmFsc2UpXSBmbG9hdFtdIGNvb3JkaW5hdGVzLCB1aW50IG5fcmVjdGFuZ2xlcyk7Cisr CQlwdWJsaWMgc3RhdGljIHVpbnQzMiBlcnJvcl9xdWFyayAoKTsKKysJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBmaW5pc2ggKCk7CisrCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgZnJ1c3R1bSAoZmxvYXQgbGVmdCwgZmxvYXQg cmlnaHQsIGZsb2F0IGJvdHRvbSwgZmxvYXQgdG9wLCBmbG9hdCB6X25lYXIsIGZsb2F0IHpfZmFy KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyBpbnQgZ2V0X2FscGhh X2JpdHMgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCisrCQlwdWJsaWMgaW50IGdl dF9ibHVlX2JpdHMgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCisrCQlwdWJsaWMg dW5vd25lZCBDb2dsLkNvbnRleHQgZ2V0X2NvbnRleHQgKCk7CisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMi4wIildCisrCQlwdWJsaWMgaW50IGdldF9kZXB0aF9iaXRzICgpOworKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTgiKV0KKysJCXB1YmxpYyBib29sIGdldF9kZXB0aF93cml0ZV9lbmFibGVk ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQorKwkJcHVibGljIGJvb2wgZ2V0X2Rp dGhlcl9lbmFibGVkICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQorKwkJcHVibGlj IGludCBnZXRfZ3JlZW5fYml0cyAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KKysJ CXB1YmxpYyBpbnQgZ2V0X2hlaWdodCAoKTsKKysJCXB1YmxpYyBib29sIGdldF9pc19zdGVyZW8g KCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIENvZ2wuTWF0cml4 IGdldF9tb2RlbHZpZXdfbWF0cml4ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0K KysJCXB1YmxpYyBDb2dsLk1hdHJpeCBnZXRfcHJvamVjdGlvbl9tYXRyaXggKCk7CisrCQlbVmVy c2lvbiAoc2luY2UgPSAiMS44IildCisrCQlwdWJsaWMgaW50IGdldF9yZWRfYml0cyAoKTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgaW50IGdldF9zYW1wbGVzX3Bl cl9waXhlbCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIwIildCisrCQlwdWJsaWMgQ29n bC5TdGVyZW9Nb2RlIGdldF9zdGVyZW9fbW9kZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjgiKV0KKysJCXB1YmxpYyB2b2lkIGdldF92aWV3cG9ydDRmdiAoW0NDb2RlIChhcnJheV9sZW5n dGggPSBmYWxzZSldIG91dCB1bm93bmVkIGZsb2F0IHZpZXdwb3J0WzRdKTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyBmbG9hdCBnZXRfdmlld3BvcnRfaGVpZ2h0ICgp OworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQorKwkJcHVibGljIGZsb2F0IGdldF92aWV3 cG9ydF93aWR0aCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyBm bG9hdCBnZXRfdmlld3BvcnRfeCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KKysJ CXB1YmxpYyBmbG9hdCBnZXRfdmlld3BvcnRfeSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjgiKV0KKysJCXB1YmxpYyBpbnQgZ2V0X3dpZHRoICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMTAiKV0KKysJCXB1YmxpYyB2b2lkIGlkZW50aXR5X21hdHJpeCAoKTsKKysJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBvcnRob2dyYXBoaWMgKGZsb2F0IHhf MSwgZmxvYXQgeV8xLCBmbG9hdCB4XzIsIGZsb2F0IHlfMiwgZmxvYXQgbmVhciwgZmxvYXQgZmFy KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCBwZXJzcGVj dGl2ZSAoZmxvYXQgZm92X3ksIGZsb2F0IGFzcGVjdCwgZmxvYXQgel9uZWFyLCBmbG9hdCB6X2Zh cik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgcG9wX2Ns aXAgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgcG9w X21hdHJpeCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9p ZCBwdXNoX21hdHJpeCAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJs aWMgdm9pZCBwdXNoX3JlY3RhbmdsZV9jbGlwIChmbG9hdCB4XzEsIGZsb2F0IHlfMSwgZmxvYXQg eF8yLCBmbG9hdCB5XzIpOworKwkJcHVibGljIHZvaWQgcHVzaF9yZWdpb25fY2xpcCAoQ2Fpcm8u UmVnaW9uIHJlZ2lvbik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGlj IHZvaWQgcHVzaF9zY2lzc29yX2NsaXAgKGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVp Z2h0KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgYm9vbCByZWFk X3BpeGVscyAoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIENvZ2wuUGl4ZWxG b3JtYXQgZm9ybWF0LCB1aW50OCBwaXhlbHMpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KKysJCXB1YmxpYyBib29sIHJlYWRfcGl4ZWxzX2ludG9fYml0bWFwIChpbnQgeCwgaW50IHks IENvZ2wuUmVhZFBpeGVsc0ZsYWdzIHNvdXJjZSwgQ29nbC5CaXRtYXAgYml0bWFwKTsKKysJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyB2b2lkIHJlc29sdmVfc2FtcGxlcyAo KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyB2b2lkIHJlc29sdmVf c2FtcGxlc19yZWdpb24gKGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKKysJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJsaWMgdm9pZCByb3RhdGUgKGZsb2F0 IGFuZ2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB6KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9 ICIyLjAiKV0KKysJCXB1YmxpYyB2b2lkIHJvdGF0ZV9ldWxlciAoR3JhcGhlbmUuRXVsZXIgZXVs ZXIpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJCXB1YmxpYyB2b2lkIHNjYWxl IChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB6KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE4 IildCisrCQlwdWJsaWMgdm9pZCBzZXRfZGVwdGhfd3JpdGVfZW5hYmxlZCAoYm9vbCBkZXB0aF93 cml0ZV9lbmFibGVkKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyB2 b2lkIHNldF9kaXRoZXJfZW5hYmxlZCAoYm9vbCBkaXRoZXJfZW5hYmxlZCk7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgc2V0X21vZGVsdmlld19tYXRyaXgg KENvZ2wuTWF0cml4IG1hdHJpeCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJ cHVibGljIHZvaWQgc2V0X3Byb2plY3Rpb25fbWF0cml4IChDb2dsLk1hdHJpeCBtYXRyaXgpOwor KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQorKwkJcHVibGljIHZvaWQgc2V0X3NhbXBsZXNf cGVyX3BpeGVsIChpbnQgc2FtcGxlc19wZXJfcGl4ZWwpOworKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMjAiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9zdGVyZW9fbW9kZSAoQ29nbC5TdGVyZW9Nb2Rl IHN0ZXJlb19tb2RlKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KKysJCXB1YmxpYyB2 b2lkIHNldF92aWV3cG9ydCAoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhl aWdodCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwkJcHVibGljIHZvaWQgdHJh bnNmb3JtIChDb2dsLk1hdHJpeCBtYXRyaXgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KKysJCXB1YmxpYyB2b2lkIHRyYW5zbGF0ZSAoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeik7 CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgdHlwZV9p ZCA9ICJjb2dsX3RleHR1cmVfZ2V0X2d0eXBlICgpIildCisrCXB1YmxpYyBpbnRlcmZhY2UgVGV4 dHVyZSA6IENvZ2wuT2JqZWN0IHsKKysJCXB1YmxpYyBib29sIGFsbG9jYXRlICgpIHRocm93cyBH TGliLkVycm9yOworKwkJcHVibGljIHN0YXRpYyB1aW50MzIgZXJyb3JfcXVhcmsgKCk7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xOCIpXQorKwkJcHVibGljIENvZ2wuVGV4dHVyZUNvbXBvbmVu dHMgZ2V0X2NvbXBvbmVudHMgKCk7CisrCQlwdWJsaWMgaW50IGdldF9kYXRhIChDb2dsLlBpeGVs Rm9ybWF0IGZvcm1hdCwgdWludCByb3dzdHJpZGUsIHVpbnQ4IGRhdGEpOworKwkJcHVibGljIGJv b2wgZ2V0X2dsX3RleHR1cmUgKG91dCB1aW50IG91dF9nbF9oYW5kbGUsIG91dCB1aW50IG91dF9n bF90YXJnZXQpOworKwkJcHVibGljIHVpbnQgZ2V0X2hlaWdodCAoKTsKKysJCXB1YmxpYyBpbnQg Z2V0X21heF93YXN0ZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE4IildCisrCQlwdWJs aWMgYm9vbCBnZXRfcHJlbXVsdGlwbGllZCAoKTsKKysJCXB1YmxpYyB1aW50IGdldF93aWR0aCAo KTsKKysJCXB1YmxpYyBib29sIGlzX3NsaWNlZCAoKTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVk ID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE4Iiwgc2luY2UgPSAiMS4wIildCisrCQlw dWJsaWMgc3RhdGljIENvZ2wuVGV4dHVyZSBuZXdfZnJvbV9iaXRtYXAgKENvZ2wuQml0bWFwIGJp dG1hcCwgQ29nbC5UZXh0dXJlRmxhZ3MgZmxhZ3MsIENvZ2wuUGl4ZWxGb3JtYXQgaW50ZXJuYWxf Zm9ybWF0KTsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5j ZSA9ICIxLjE4Iiwgc2luY2UgPSAiMC44IildCisrCQlwdWJsaWMgc3RhdGljIENvZ2wuVGV4dHVy ZSBuZXdfZnJvbV9kYXRhIChpbnQgd2lkdGgsIGludCBoZWlnaHQsIENvZ2wuVGV4dHVyZUZsYWdz IGZsYWdzLCBDb2dsLlBpeGVsRm9ybWF0IGZvcm1hdCwgQ29nbC5QaXhlbEZvcm1hdCBpbnRlcm5h bF9mb3JtYXQsIGludCByb3dzdHJpZGUsIHVpbnQ4IGRhdGEpOworKwkJW1ZlcnNpb24gKGRlcHJl Y2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTgiLCBzaW5jZSA9ICIwLjgiKV0K KysJCXB1YmxpYyBzdGF0aWMgQ29nbC5UZXh0dXJlIG5ld19mcm9tX2ZpbGUgKHN0cmluZyBmaWxl bmFtZSwgQ29nbC5UZXh0dXJlRmxhZ3MgZmxhZ3MsIENvZ2wuUGl4ZWxGb3JtYXQgaW50ZXJuYWxf Zm9ybWF0KSB0aHJvd3MgR0xpYi5FcnJvcjsKKysJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1 ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE4Iiwgc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMg Q29nbC5UZXh0dXJlIG5ld19mcm9tX3N1Yl90ZXh0dXJlIChpbnQgc3ViX3gsIGludCBzdWJfeSwg aW50IHN1Yl93aWR0aCwgaW50IHN1Yl9oZWlnaHQpOworKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQg PSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTgiLCBzaW5jZSA9ICIwLjgiKV0KKysJCXB1 YmxpYyBzdGF0aWMgQ29nbC5UZXh0dXJlIG5ld193aXRoX3NpemUgKHVpbnQgd2lkdGgsIHVpbnQg aGVpZ2h0LCBDb2dsLlRleHR1cmVGbGFncyBmbGFncywgQ29nbC5QaXhlbEZvcm1hdCBpbnRlcm5h bF9mb3JtYXQpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTgiKV0KKysJCXB1YmxpYyB2b2lk IHNldF9jb21wb25lbnRzIChDb2dsLlRleHR1cmVDb21wb25lbnRzIGNvbXBvbmVudHMpOworKwkJ cHVibGljIGJvb2wgc2V0X2RhdGEgKENvZ2wuUGl4ZWxGb3JtYXQgZm9ybWF0LCBpbnQgcm93c3Ry aWRlLCB1aW50OCBkYXRhLCBpbnQgbGV2ZWwpIHRocm93cyBHTGliLkVycm9yOworKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTgiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9wcmVtdWx0aXBsaWVkIChi b29sIHByZW11bHRpcGxpZWQpOworKwkJcHVibGljIGJvb2wgc2V0X3JlZ2lvbiAoaW50IHNyY194 LCBpbnQgc3JjX3ksIGludCBkc3RfeCwgaW50IGRzdF95LCB1aW50IGRzdF93aWR0aCwgdWludCBk c3RfaGVpZ2h0LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIENvZ2wuUGl4ZWxGb3JtYXQgZm9ybWF0 LCB1aW50IHJvd3N0cmlkZSwgdWludDggZGF0YSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44 IildCisrCQlwdWJsaWMgYm9vbCBzZXRfcmVnaW9uX2Zyb21fYml0bWFwIChpbnQgc3JjX3gsIGlu dCBzcmNfeSwgaW50IGRzdF94LCBpbnQgZHN0X3ksIHVpbnQgZHN0X3dpZHRoLCB1aW50IGRzdF9o ZWlnaHQsIENvZ2wuQml0bWFwIGJpdG1hcCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNvZ2wvY29nbC5oIildCisrCVtTaW1wbGVUeXBlXQorKwlwdWJsaWMgc3RydWN0IEFu Z2xlIDogaW50MzIgeworKwl9CisrCVtCb29sZWFuVHlwZV0KKysJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNvZ2wvY29nbC5oIildCisrCVtHSVIgKG5hbWUgPSAiQm9vbCIpXQorKwlbU2lt cGxlVHlwZV0KKysJcHVibGljIHN0cnVjdCBCb29sIDogYm9vbCB7CisrCX0KKysJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisr CVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KKysJcHVibGljIHN0cnVjdCBDb2xvciB7CisrCQlw dWJsaWMgQ29nbC5Db2xvcj8gY29weSAoKTsKKysJCXB1YmxpYyBDb2xvci5mcm9tXzRmIChmbG9h dCByZWQsIGZsb2F0IGdyZWVuLCBmbG9hdCBibHVlLCBmbG9hdCBhbHBoYSk7CisrCQlwdWJsaWMg Q29sb3IuZnJvbV80dWIgKHVpbnQ4IHJlZCwgdWludDggZ3JlZW4sIHVpbnQ4IGJsdWUsIHVpbnQ4 IGFscGhhKTsKKysJCXB1YmxpYyBmbG9hdCBnZXRfYWxwaGEgKCk7CisrCQlwdWJsaWMgdWludDgg Z2V0X2FscGhhX2J5dGUgKCk7CisrCQlwdWJsaWMgZmxvYXQgZ2V0X2FscGhhX2Zsb2F0ICgpOwor KwkJcHVibGljIGZsb2F0IGdldF9ibHVlICgpOworKwkJcHVibGljIHVpbnQ4IGdldF9ibHVlX2J5 dGUgKCk7CisrCQlwdWJsaWMgZmxvYXQgZ2V0X2JsdWVfZmxvYXQgKCk7CisrCQlwdWJsaWMgZmxv YXQgZ2V0X2dyZWVuICgpOworKwkJcHVibGljIHVpbnQ4IGdldF9ncmVlbl9ieXRlICgpOworKwkJ cHVibGljIGZsb2F0IGdldF9ncmVlbl9mbG9hdCAoKTsKKysJCXB1YmxpYyBmbG9hdCBnZXRfcmVk ICgpOworKwkJcHVibGljIHVpbnQ4IGdldF9yZWRfYnl0ZSAoKTsKKysJCXB1YmxpYyBmbG9hdCBn ZXRfcmVkX2Zsb2F0ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGlj IHZvaWQgaW5pdF9mcm9tXzRmIChmbG9hdCByZWQsIGZsb2F0IGdyZWVuLCBmbG9hdCBibHVlLCBm bG9hdCBhbHBoYSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgdm9p ZCBpbml0X2Zyb21fNGZ2IChmbG9hdCBjb2xvcl9hcnJheSk7CisrCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS40IildCisrCQlwdWJsaWMgdm9pZCBpbml0X2Zyb21fNHViICh1aW50OCByZWQsIHVpbnQ4 IGdyZWVuLCB1aW50OCBibHVlLCB1aW50OCBhbHBoYSk7CisrCQlwdWJsaWMgdm9pZCBwcmVtdWx0 aXBseSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyB2b2lkIHNl dF9hbHBoYSAoZmxvYXQgYWxwaGEpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwkJ cHVibGljIHZvaWQgc2V0X2FscGhhX2J5dGUgKHVpbnQ4IGFscGhhKTsKKysJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9hbHBoYV9mbG9hdCAoZmxvYXQgYWxw aGEpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGljIHZvaWQgc2V0X2Js dWUgKGZsb2F0IGJsdWUpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwkJcHVibGlj IHZvaWQgc2V0X2JsdWVfYnl0ZSAodWludDggYmx1ZSk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi MS40IildCisrCQlwdWJsaWMgdm9pZCBzZXRfYmx1ZV9mbG9hdCAoZmxvYXQgYmx1ZSk7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgdm9pZCBzZXRfZ3JlZW4gKGZsb2F0 IGdyZWVuKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyB2b2lkIHNl dF9ncmVlbl9ieXRlICh1aW50OCBncmVlbik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40Iild CisrCQlwdWJsaWMgdm9pZCBzZXRfZ3JlZW5fZmxvYXQgKGZsb2F0IGdyZWVuKTsKKysJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjQiKV0KKysJCXB1YmxpYyB2b2lkIHNldF9yZWQgKGZsb2F0IHJlZCk7 CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMgdm9pZCBzZXRfcmVkX2J5 dGUgKHVpbnQ4IHJlZCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCisrCQlwdWJsaWMg dm9pZCBzZXRfcmVkX2Zsb2F0IChmbG9hdCByZWQpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTYiKV0KKysJCXB1YmxpYyB2b2lkIHRvX2hzbCAob3V0IGZsb2F0IGh1ZSwgb3V0IGZsb2F0IHNh dHVyYXRpb24sIG91dCBmbG9hdCBsdW1pbmFuY2UpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu NCIpXQorKwkJcHVibGljIHZvaWQgdW5wcmVtdWx0aXBseSAoKTsKKysJfQorKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJ W1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQorKwlwdWJsaWMgc3RydWN0IERlYnVnT2JqZWN0VHlw ZUluZm8geworKwkJcHVibGljIHdlYWsgc3RyaW5nIG5hbWU7CisrCQlwdWJsaWMgdWxvbmcgaW5z dGFuY2VfY291bnQ7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29n bC5oIiwgY29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdf Ym94ZWRfZnJlZSIsIHR5cGVfaWQgPSAiQ09HTF9UWVBFX01BVFJJWCIpXQorKwlwdWJsaWMgc3Ry dWN0IE1hdHJpeCB7CisrCQlwdWJsaWMgZmxvYXQgeHg7CisrCQlwdWJsaWMgZmxvYXQgeXg7Cisr CQlwdWJsaWMgZmxvYXQgeng7CisrCQlwdWJsaWMgZmxvYXQgd3g7CisrCQlwdWJsaWMgZmxvYXQg eHk7CisrCQlwdWJsaWMgZmxvYXQgeXk7CisrCQlwdWJsaWMgZmxvYXQgenk7CisrCQlwdWJsaWMg ZmxvYXQgd3k7CisrCQlwdWJsaWMgZmxvYXQgeHo7CisrCQlwdWJsaWMgZmxvYXQgeXo7CisrCQlw dWJsaWMgZmxvYXQgeno7CisrCQlwdWJsaWMgZmxvYXQgd3o7CisrCQlwdWJsaWMgZmxvYXQgeHc7 CisrCQlwdWJsaWMgZmxvYXQgeXc7CisrCQlwdWJsaWMgZmxvYXQgenc7CisrCQlwdWJsaWMgZmxv YXQgd3c7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCisrCQlwdWJsaWMgQ29nbC5NYXRy aXg/IGNvcHkgKCk7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCisrCQlwdWJsaWMgdm9p ZCBmcmVlICgpOworKwkJW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSwgYXJyYXlfbnVsbF90 ZXJtaW5hdGVkID0gZmFsc2UsIGNuYW1lID0gImNvZ2xfbWF0cml4X2luaXRfZnJvbV9hcnJheSIp XQorKwkJcHVibGljIE1hdHJpeC5mcm9tX2FycmF5IChbQ0NvZGUgKGFycmF5X2xlbmd0aCA9IGZh bHNlKV0gZmxvYXRbXSBhcnJheSk7CisrCQlwdWJsaWMgdm9pZCBmcnVzdHVtIChmbG9hdCBsZWZ0 LCBmbG9hdCByaWdodCwgZmxvYXQgYm90dG9tLCBmbG9hdCB0b3AsIGZsb2F0IHpfbmVhciwgZmxv YXQgel9mYXIpOworKwkJcHVibGljIHVub3duZWQgZmxvYXRbXSBnZXRfYXJyYXkgKCk7CisrCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4yIildCisrCQlwdWJsaWMgYm9vbCBnZXRfaW52ZXJzZSAob3V0 IENvZ2wuTWF0cml4IGludmVyc2UpOworKwkJW0NDb2RlIChjbmFtZSA9ICJjb2dsX21hdHJpeF9p bml0X2lkZW50aXR5IildCisrCQlwdWJsaWMgTWF0cml4LmlkZW50aXR5ICgpOworKwkJcHVibGlj IHZvaWQgaW5pdF9mcm9tX2V1bGVyIChHcmFwaGVuZS5FdWxlciBldWxlcik7CisrCQlbVmVyc2lv biAoc2luY2UgPSAiMi4wIildCisrCQlwdWJsaWMgdm9pZCBpbml0X3RyYW5zbGF0aW9uIChmbG9h dCB0eCwgZmxvYXQgdHksIGZsb2F0IHR6KTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0K KysJCXB1YmxpYyBib29sIGlzX2lkZW50aXR5ICgpOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu OCIpXQorKwkJcHVibGljIHZvaWQgbG9va19hdCAoZmxvYXQgZXllX3Bvc2l0aW9uX3gsIGZsb2F0 IGV5ZV9wb3NpdGlvbl95LCBmbG9hdCBleWVfcG9zaXRpb25feiwgZmxvYXQgb2JqZWN0X3gsIGZs b2F0IG9iamVjdF95LCBmbG9hdCBvYmplY3RfeiwgZmxvYXQgd29ybGRfdXBfeCwgZmxvYXQgd29y bGRfdXBfeSwgZmxvYXQgd29ybGRfdXBfeik7CisrCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfbWF0 cml4X211bHRpcGx5IildCisrCQlwdWJsaWMgTWF0cml4Lm11bHRpcGx5IChDb2dsLk1hdHJpeCBh LCBDb2dsLk1hdHJpeCBiKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCQlwdWJs aWMgdm9pZCBvcnRob2dyYXBoaWMgKGZsb2F0IHhfMSwgZmxvYXQgeV8xLCBmbG9hdCB4XzIsIGZs b2F0IHlfMiwgZmxvYXQgbmVhciwgZmxvYXQgZmFyKTsKKysJCXB1YmxpYyB2b2lkIHBlcnNwZWN0 aXZlIChmbG9hdCBmb3ZfeSwgZmxvYXQgYXNwZWN0LCBmbG9hdCB6X25lYXIsIGZsb2F0IHpfZmFy KTsKKysJCXB1YmxpYyB2b2lkIHByb2plY3RfcG9pbnRzIChpbnQgbl9jb21wb25lbnRzLCBzaXpl X3Qgc3RyaWRlX2luLCB2b2lkKiBwb2ludHNfaW4sIHNpemVfdCBzdHJpZGVfb3V0LCB2b2lkKiBw b2ludHNfb3V0LCBpbnQgbl9wb2ludHMpOworKwkJcHVibGljIHZvaWQgcm90YXRlIChmbG9hdCBh bmdsZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeik7CisrCQlbVmVyc2lvbiAoc2luY2UgPSAi Mi4wIildCisrCQlwdWJsaWMgdm9pZCByb3RhdGVfZXVsZXIgKEdyYXBoZW5lLkV1bGVyIGV1bGVy KTsKKysJCXB1YmxpYyB2b2lkIHNjYWxlIChmbG9hdCBzeCwgZmxvYXQgc3ksIGZsb2F0IHN6KTsK KysJCXB1YmxpYyBzdGF0aWMgdm9pZCB0cmFuc2Zvcm1fcG9pbnQgKHJlZiBDb2dsLk1hdHJpeCBt YXRyaXgsIHJlZiBmbG9hdCB4LCByZWYgZmxvYXQgeSwgcmVmIGZsb2F0IHosIHJlZiBmbG9hdCB3 KTsKKysJCXB1YmxpYyB2b2lkIHRyYW5zZm9ybV9wb2ludHMgKGludCBuX2NvbXBvbmVudHMsIHNp emVfdCBzdHJpZGVfaW4sIHZvaWQqIHBvaW50c19pbiwgc2l6ZV90IHN0cmlkZV9vdXQsIHZvaWQq IHBvaW50c19vdXQsIGludCBuX3BvaW50cyk7CisrCQlwdWJsaWMgdm9pZCB0cmFuc2xhdGUgKGZs b2F0IHgsIGZsb2F0IHksIGZsb2F0IHopOworKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0K KysJCXB1YmxpYyB2b2lkIHRyYW5zcG9zZSAoKTsKKysJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgi KV0KKysJCXB1YmxpYyB2b2lkIHZpZXdfMmRfaW5fZnJ1c3R1bSAoZmxvYXQgbGVmdCwgZmxvYXQg cmlnaHQsIGZsb2F0IGJvdHRvbSwgZmxvYXQgdG9wLCBmbG9hdCB6X25lYXIsIGZsb2F0IHpfMmQs IGZsb2F0IHdpZHRoXzJkLCBmbG9hdCBoZWlnaHRfMmQpOworKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuOCIpXQorKwkJcHVibGljIHZvaWQgdmlld18yZF9pbl9wZXJzcGVjdGl2ZSAoZmxvYXQgZm92 X3ksIGZsb2F0IGFzcGVjdCwgZmxvYXQgel9uZWFyLCBmbG9hdCB6XzJkLCBmbG9hdCB3aWR0aF8y ZCwgZmxvYXQgaGVpZ2h0XzJkKTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y29nbC9jb2dsLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJW1ZlcnNpb24gKHNpbmNlID0g IjEuMTYiKV0KKysJcHVibGljIHN0cnVjdCBPbnNjcmVlbkRpcnR5SW5mbyB7CisrCQlwdWJsaWMg aW50IHg7CisrCQlwdWJsaWMgaW50IHk7CisrCQlwdWJsaWMgaW50IHdpZHRoOworKwkJcHVibGlj IGludCBoZWlnaHQ7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29n bC5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisrCXB1YmxpYyBzdHJ1Y3QgVGV4dHVyZVZlcnRl eCB7CisrCQlwdWJsaWMgZmxvYXQgeDsKKysJCXB1YmxpYyBmbG9hdCB5OworKwkJcHVibGljIGZs b2F0IHo7CisrCQlwdWJsaWMgZmxvYXQgdHg7CisrCQlwdWJsaWMgZmxvYXQgdHk7CisrCQlwdWJs aWMgQ29nbC5Db2xvciBjb2xvcjsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y29nbC9jb2dsLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJW1ZlcnNpb24gKHNpbmNlID0g IjEuNCIpXQorKwlwdWJsaWMgc3RydWN0IFVzZXJEYXRhS2V5IHsKKysJCXB1YmxpYyBpbnQgdW51 c2VkOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNu YW1lID0gIl9Db2dsQ29sb3JTaXplQ2hlY2siLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJcHVi bGljIHN0cnVjdCBfQ29sb3JTaXplQ2hlY2sgeworKwkJW0NDb2RlIChhcnJheV9sZW5ndGggPSBm YWxzZSldCisrCQlwdWJsaWMgd2VhayBjaGFyW10gY29tcGlsZV90aW1lX2Fzc2VydF9Db2dsQ29s b3Jfc2l6ZTsKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgi LCBjbmFtZSA9ICJfQ29nbE1hdHJpeFNpemVDaGVjayIsIGhhc190eXBlX2lkID0gZmFsc2UpXQor KwlwdWJsaWMgc3RydWN0IF9NYXRyaXhTaXplQ2hlY2sgeworKwkJW0NDb2RlIChhcnJheV9sZW5n dGggPSBmYWxzZSldCisrCQlwdWJsaWMgd2VhayBjaGFyW10gY29tcGlsZV90aW1lX2Fzc2VydF9D b2dsTWF0cml4X3NpemU7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wv Y29nbC5oIiwgY25hbWUgPSAiX0NvZ2xUZXh0dXJlVmVydGV4U2l6ZUNoZWNrIiwgaGFzX3R5cGVf aWQgPSBmYWxzZSldCisrCXB1YmxpYyBzdHJ1Y3QgX1RleHR1cmVWZXJ0ZXhTaXplQ2hlY2sgewor KwkJW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldCisrCQlwdWJsaWMgd2VhayBjaGFyW10g Y29tcGlsZV90aW1lX2Fzc2VydF9Db2dsVGV4dHVyZVZlcnRleF9zaXplOworKwl9CisrCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9BVFRS SUJVVEVfVFlQRV8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJW1ZlcnNpb24gKHNpbmNlID0g IjEuMCIpXQorKwlwdWJsaWMgZW51bSBBdHRyaWJ1dGVUeXBlIHsKKysJCUJZVEUsCisrCQlVTlNJ R05FRF9CWVRFLAorKwkJU0hPUlQsCisrCQlVTlNJR05FRF9TSE9SVCwKKysJCUZMT0FUCisrCX0K KysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJD T0dMX0JJVE1BUF9FUlJPUl8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJW1ZlcnNpb24gKHNp bmNlID0gIjEuNCIpXQorKwlwdWJsaWMgZW51bSBCaXRtYXBFcnJvciB7CisrCQlGQUlMRUQsCisr CQlVTktOT1dOX1RZUEUsCisrCQlDT1JSVVBUX0lNQUdFCisrCX0KKysJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX0JMRU5EX1NUUklOR19F UlJPUl8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIp XQorKwlwdWJsaWMgZW51bSBCbGVuZFN0cmluZ0Vycm9yIHsKKysJCVBBUlNFX0VSUk9SLAorKwkJ QVJHVU1FTlRfUEFSU0VfRVJST1IsCisrCQlJTlZBTElEX0VSUk9SLAorKwkJR1BVX1VOU1VQUE9S VEVEX0VSUk9SOworKwkJcHVibGljIHN0YXRpYyB1aW50MzIgcXVhcmsgKCk7CisrCX0KKysJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX0JV RkZFUl9CSVRfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisrCVtGbGFnc10KKysJW1ZlcnNpb24g KHNpbmNlID0gIjEuMCIpXQorKwlwdWJsaWMgZW51bSBCdWZmZXJCaXQgeworKwkJQ09MT1IsCisr CQlERVBUSCwKKysJCVNURU5DSUwKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisr CVtGbGFnc10KKysJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQorKwlwdWJsaWMgZW51bSBCdWZm ZXJUYXJnZXQgeworKwkJV0lORE9XX0JVRkZFUiwKKysJCU9GRlNDUkVFTl9CVUZGRVIKKysJfQor KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNP R0xfREVQVEhfVEVTVF9GVU5DVElPTl8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJcHVibGlj IGVudW0gRGVwdGhUZXN0RnVuY3Rpb24geworKwkJTkVWRVIsCisrCQlMRVNTLAorKwkJRVFVQUws CisrCQlMRVFVQUwsCisrCQlHUkVBVEVSLAorKwkJTk9URVFVQUwsCisrCQlHRVFVQUwsCisrCQlB TFdBWVMKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBj cHJlZml4ID0gIkNPR0xfRUdMX0lNQUdFX0ZMQUdfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisr CVtGbGFnc10KKysJcHVibGljIGVudW0gRWdsSW1hZ2VGbGFncyB7CisrCQlOT05FLAorKwkJTk9f R0VUX0RBVEEKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgi LCBjcHJlZml4ID0gIkNPR0xfRkVBVFVSRV9JRF8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJcHVibGljIGVudW0gRmVhdHVyZUlEIHsKKysJ CVtDQ29kZSAoY25hbWUgPSAiQ09HTF9GRUFUVVJFX0lEX1VOU0lHTkVEX0lOVF9JTkRJQ0VTIild CisrCQlPR0xfRkVBVFVSRV9JRF9VTlNJR05FRF9JTlRfSU5ESUNFUywKKysJCVtDQ29kZSAoY25h bWUgPSAiQ09HTF9GRUFUVVJFX0lEX01BUF9CVUZGRVJfRk9SX1JFQUQiKV0KKysJCU9HTF9GRUFU VVJFX0lEX01BUF9CVUZGRVJfRk9SX1JFQUQsCisrCQlbQ0NvZGUgKGNuYW1lID0gIkNPR0xfRkVB VFVSRV9JRF9NQVBfQlVGRkVSX0ZPUl9XUklURSIpXQorKwkJT0dMX0ZFQVRVUkVfSURfTUFQX0JV RkZFUl9GT1JfV1JJVEUsCisrCQlbQ0NvZGUgKGNuYW1lID0gIkNPR0xfRkVBVFVSRV9JRF9TV0FQ X0JVRkZFUlNfRVZFTlQiKV0KKysJCU9HTF9GRUFUVVJFX0lEX1NXQVBfQlVGRkVSU19FVkVOVCwK KysJCVtDQ29kZSAoY25hbWUgPSAiQ09HTF9GRUFUVVJFX0lEX1BSRVNFTlRBVElPTl9USU1FIild CisrCQlPR0xfRkVBVFVSRV9JRF9QUkVTRU5UQVRJT05fVElNRSwKKysJCVtDQ29kZSAoY25hbWUg PSAiQ09HTF9GRUFUVVJFX0lEX0ZFTkNFIildCisrCQlPR0xfRkVBVFVSRV9JRF9GRU5DRSwKKysJ CVtDQ29kZSAoY25hbWUgPSAiQ09HTF9GRUFUVVJFX0lEX1RFWFRVUkVfUkciKV0KKysJCU9HTF9G RUFUVVJFX0lEX1RFWFRVUkVfUkcsCisrCQlbQ0NvZGUgKGNuYW1lID0gIkNPR0xfRkVBVFVSRV9J RF9CVUZGRVJfQUdFIildCisrCQlPR0xfRkVBVFVSRV9JRF9CVUZGRVJfQUdFLAorKwkJW0NDb2Rl IChjbmFtZSA9ICJDT0dMX0ZFQVRVUkVfSURfVEVYVFVSRV9FR0xfSU1BR0VfRVhURVJOQUwiKV0K KysJCU9HTF9GRUFUVVJFX0lEX1RFWFRVUkVfRUdMX0lNQUdFX0VYVEVSTkFMCisrCX0KKysJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX0ZJ TFRFUl8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJcHVibGljIGVudW0gRmlsdGVyUmV0dXJu IHsKKysJCUNPTlRJTlVFLAorKwkJUkVNT1ZFCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX0ZSQU1FX0VWRU5UXyIsIGhhc190 eXBlX2lkID0gZmFsc2UpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQorKwlwdWJsaWMg ZW51bSBGcmFtZUV2ZW50IHsKKysJCVNZTkMsCisrCQlDT01QTEVURQorKwl9CisrCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9GUkFNRUJV RkZFUl9FUlJPUl8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJcHVibGljIGVudW0gRnJhbWVi dWZmZXJFcnJvciB7CisrCQlbQ0NvZGUgKGNuYW1lID0gIkNPR0xfRlJBTUVCVUZGRVJfRVJST1Jf QUxMT0NBVEUiKV0KKysJCUZSQU1FQlVGRkVSX0VSUk9SX0FMTE9DQVRFOworKwkJcHVibGljIHN0 YXRpYyB1aW50MzIgcXVhcmsgKCk7CisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX0dSQVBISUNTX1JFU0VUX1NUQVRVU18iLCBo YXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJcHVibGljIGVudW0gR3JhcGhpY3NSZXNldFN0YXR1cyB7 CisrCQlOT19FUlJPUiwKKysJCUdVSUxUWV9DT05URVhUX1JFU0VULAorKwkJSU5OT0NFTlRfQ09O VEVYVF9SRVNFVCwKKysJCVVOS05PV05fQ09OVEVYVF9SRVNFVCwKKysJCVBVUkdFRF9DT05URVhU X1JFU0VUCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwg Y3ByZWZpeCA9ICJDT0dMX0lORElDRVNfVFlQRV9VTlNJR05FRF8iLCBoYXNfdHlwZV9pZCA9IGZh bHNlKV0KKysJcHVibGljIGVudW0gSW5kaWNlc1R5cGUgeworKwkJQllURSwKKysJCVNIT1JULAor KwkJSU5UCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwg Y3ByZWZpeCA9ICJDT0dMX01BVEVSSUFMX0FMUEhBX0ZVTkNfIiwgaGFzX3R5cGVfaWQgPSBmYWxz ZSldCisrCXB1YmxpYyBlbnVtIE1hdGVyaWFsQWxwaGFGdW5jIHsKKysJCU5FVkVSLAorKwkJTEVT UywKKysJCUVRVUFMLAorKwkJTEVRVUFMLAorKwkJR1JFQVRFUiwKKysJCU5PVEVRVUFMLAorKwkJ R0VRVUFMLAorKwkJQUxXQVlTCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNv Z2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX01BVEVSSUFMX0ZJTFRFUl8iLCBoYXNfdHlwZV9p ZCA9IGZhbHNlKV0KKysJcHVibGljIGVudW0gTWF0ZXJpYWxGaWx0ZXIgeworKwkJTkVBUkVTVCwK KysJCUxJTkVBUiwKKysJCU5FQVJFU1RfTUlQTUFQX05FQVJFU1QsCisrCQlMSU5FQVJfTUlQTUFQ X05FQVJFU1QsCisrCQlORUFSRVNUX01JUE1BUF9MSU5FQVIsCisrCQlMSU5FQVJfTUlQTUFQX0xJ TkVBUgorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNw cmVmaXggPSAiQ09HTF9NQVRFUklBTF9XUkFQX01PREVfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSld CisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KKysJcHVibGljIGVudW0gTWF0ZXJpYWxXcmFw TW9kZSB7CisrCQlSRVBFQVQsCisrCQlDTEFNUF9UT19FREdFLAorKwkJQVVUT01BVElDCisrCX0K KysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJD T0dMX1BJUEVMSU5FX0FMUEhBX0ZVTkNfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisrCXB1Ymxp YyBlbnVtIFBpcGVsaW5lQWxwaGFGdW5jIHsKKysJCU5FVkVSLAorKwkJTEVTUywKKysJCUVRVUFM LAorKwkJTEVRVUFMLAorKwkJR1JFQVRFUiwKKysJCU5PVEVRVUFMLAorKwkJR0VRVUFMLAorKwkJ QUxXQVlTCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwg Y3ByZWZpeCA9ICJDT0dMX1BJUEVMSU5FX0NVTExfRkFDRV9NT0RFXyIsIGhhc190eXBlX2lkID0g ZmFsc2UpXQorKwlwdWJsaWMgZW51bSBQaXBlbGluZUN1bGxGYWNlTW9kZSB7CisrCQlOT05FLAor KwkJRlJPTlQsCisrCQlCQUNLLAorKwkJQk9USAorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9QSVBFTElORV9GSUxURVJfIiwg aGFzX3R5cGVfaWQgPSBmYWxzZSldCisrCXB1YmxpYyBlbnVtIFBpcGVsaW5lRmlsdGVyIHsKKysJ CU5FQVJFU1QsCisrCQlMSU5FQVIsCisrCQlORUFSRVNUX01JUE1BUF9ORUFSRVNULAorKwkJTElO RUFSX01JUE1BUF9ORUFSRVNULAorKwkJTkVBUkVTVF9NSVBNQVBfTElORUFSLAorKwkJTElORUFS X01JUE1BUF9MSU5FQVIKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9j b2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfUElQRUxJTkVfV1JBUF9NT0RFXyIsIGhhc190eXBlX2lk ID0gZmFsc2UpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCisrCXB1YmxpYyBlbnVtIFBp cGVsaW5lV3JhcE1vZGUgeworKwkJUkVQRUFULAorKwkJTUlSUk9SRURfUkVQRUFULAorKwkJQ0xB TVBfVE9fRURHRSwKKysJCUFVVE9NQVRJQworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9QSVhFTF9GT1JNQVRfIiwgaGFzX3R5 cGVfaWQgPSBmYWxzZSldCisrCVtGbGFnc10KKysJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQor KwlwdWJsaWMgZW51bSBQaXhlbEZvcm1hdCB7CisrCQlBTlksCisrCQlBXzgsCisrCQlSR0JfNTY1 LAorKwkJUkdCQV80NDQ0LAorKwkJUkdCQV81NTUxLAorKwkJWVVWLAorKwkJR184LAorKwkJUkdf ODgsCisrCQlSR0JfODg4LAorKwkJQkdSXzg4OCwKKysJCVJHQkFfODg4OCwKKysJCUJHUkFfODg4 OCwKKysJCUFSR0JfODg4OCwKKysJCUFCR1JfODg4OCwKKysJCVJHQkFfMTAxMDEwMiwKKysJCUJH UkFfMTAxMDEwMiwKKysJCUFSR0JfMjEwMTAxMCwKKysJCUFCR1JfMjEwMTAxMCwKKysJCVJHQkFf ODg4OF9QUkUsCisrCQlCR1JBXzg4ODhfUFJFLAorKwkJQVJHQl84ODg4X1BSRSwKKysJCUFCR1Jf ODg4OF9QUkUsCisrCQlSR0JBXzQ0NDRfUFJFLAorKwkJUkdCQV81NTUxX1BSRSwKKysJCVJHQkFf MTAxMDEwMl9QUkUsCisrCQlCR1JBXzEwMTAxMDJfUFJFLAorKwkJQVJHQl8yMTAxMDEwX1BSRSwK KysJCUFCR1JfMjEwMTAxMF9QUkUsCisrCQlERVBUSF8xNiwKKysJCURFUFRIXzMyLAorKwkJREVQ VEhfMjRfU1RFTkNJTF84OworKwkJcHVibGljIGludCBnZXRfYnl0ZXNfcGVyX3BpeGVsIChpbnQg cGxhbmUpOworKwkJcHVibGljIGludCBnZXRfbl9wbGFuZXMgKCk7CisrCQlwdWJsaWMgdW5vd25l ZCBzdHJpbmcgdG9fc3RyaW5nICgpOworKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9SRUFEX1BJWEVMU19DT0xPUl8iLCBoYXNf dHlwZV9pZCA9IGZhbHNlKV0KKysJW0ZsYWdzXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIild CisrCXB1YmxpYyBlbnVtIFJlYWRQaXhlbHNGbGFncyB7CisrCQlbQ0NvZGUgKGNuYW1lID0gIkNP R0xfUkVBRF9QSVhFTFNfQ09MT1JfQlVGRkVSIildCisrCQlSRUFEX1BJWEVMU19DT0xPUl9CVUZG RVIKKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJl Zml4ID0gIkNPR0xfUkVOREVSRVJfRVJST1JfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisrCXB1 YmxpYyBlbnVtIFJlbmRlcmVyRXJyb3IgeworKwkJWExJQl9ESVNQTEFZX09QRU4sCisrCQlCQURf Q09OU1RSQUlOVAorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wu aCIsIGNwcmVmaXggPSAiQ09HTF9TSEFERVJfVFlQRV8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0K KysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwlwdWJsaWMgZW51bSBTaGFkZXJUeXBlIHsK KysJCVZFUlRFWCwKKysJCUZSQUdNRU5UCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX1NURVJFT18iLCBoYXNfdHlwZV9pZCA9 IGZhbHNlKV0KKysJcHVibGljIGVudW0gU3RlcmVvTW9kZSB7CisrCQlCT1RILAorKwkJTEVGVCwK KysJCVJJR0hUCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5o IiwgY3ByZWZpeCA9ICJDT0dMX1NZU1RFTV9FUlJPUl8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0K KysJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQorKwlwdWJsaWMgZW51bSBTeXN0ZW1FcnJvciB7 CisrCQlVTlNVUFBPUlRFRCwKKysJCU5PX01FTU9SWQorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9URVhUVVJFX0NPTVBPTkVO VFNfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE4Iild CisrCXB1YmxpYyBlbnVtIFRleHR1cmVDb21wb25lbnRzIHsKKysJCUEsCisrCQlSRywKKysJCVJH QiwKKysJCVJHQkEsCisrCQlERVBUSAorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9URVhUVVJFX0VSUk9SXyIsIGhhc190eXBl X2lkID0gZmFsc2UpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCisrCXB1YmxpYyBlbnVt IFRleHR1cmVFcnJvciB7CisrCQlTSVpFLAorKwkJRk9STUFULAorKwkJQkFEX1BBUkFNRVRFUiwK KysJCVRZUEU7CisrCQlwdWJsaWMgc3RhdGljIHVpbnQzMiBxdWFyayAoKTsKKysJfQorKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfVEVY VFVSRV8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJW0ZsYWdzXQorKwlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4wIildCisrCXB1YmxpYyBlbnVtIFRleHR1cmVGbGFncyB7CisrCQlOT05FLAorKwkJ Tk9fQVVUT19NSVBNQVAsCisrCQlOT19TTElDSU5HLAorKwkJTk9fQVRMQVMKKysJfQorKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfVkVS VElDRVNfTU9ERV8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KKysJW1ZlcnNpb24gKHNpbmNlID0g IjEuMCIpXQorKwlwdWJsaWMgZW51bSBWZXJ0aWNlc01vZGUgeworKwkJUE9JTlRTLAorKwkJTElO RVMsCisrCQlMSU5FX0xPT1AsCisrCQlMSU5FX1NUUklQLAorKwkJVFJJQU5HTEVTLAorKwkJVFJJ QU5HTEVfU1RSSVAsCisrCQlUUklBTkdMRV9GQU4KKysJfQorKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfV0lORElOR18iLCBoYXNfdHlw ZV9pZCA9IGZhbHNlKV0KKysJcHVibGljIGVudW0gV2luZGluZyB7CisrCQlDTE9DS1dJU0UsCisr CQlDT1VOVEVSX0NMT0NLV0lTRQorKwl9CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj b2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9XSU5TWVNfRkVBVFVSRV8iLCBoYXNfdHlwZV9p ZCA9IGZhbHNlKV0KKysJcHVibGljIGVudW0gV2luc3lzRmVhdHVyZSB7CisrCQlNVUxUSVBMRV9P TlNDUkVFTiwKKysJCVNXQVBfVEhST1RUTEUsCisrCQlWQkxBTktfQ09VTlRFUiwKKysJCVZCTEFO S19XQUlULAorKwkJVEVYVFVSRV9GUk9NX1BJWE1BUCwKKysJCVNXQVBfQlVGRkVSU19FVkVOVCwK KysJCVNXQVBfUkVHSU9OLAorKwkJU1dBUF9SRUdJT05fVEhST1RUTEUsCisrCQlTV0FQX1JFR0lP Tl9TWU5DSFJPTklaRUQsCisrCQlCVUZGRVJfQUdFLAorKwkJU1lOQ19BTkRfQ09NUExFVEVfRVZF TlQsCisrCQlOX0ZFQVRVUkVTCisrCX0KKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNv Z2wvY29nbC5oIiwgaW5zdGFuY2VfcG9zID0gMS45KV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEu OCIpXQorKwlwdWJsaWMgZGVsZWdhdGUgdm9pZCBEZWJ1Z09iamVjdEZvcmVhY2hUeXBlQ2FsbGJh Y2sgKENvZ2wuRGVidWdPYmplY3RUeXBlSW5mbyBpbmZvKTsKKysJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNvZ2wvY29nbC5oIiwgaW5zdGFuY2VfcG9zID0gMS45KV0KKysJW1ZlcnNpb24g KHNpbmNlID0gIjAuMTAiKV0KKysJcHVibGljIGRlbGVnYXRlIHZvaWQgRmVhdHVyZUNhbGxiYWNr IChDb2dsLkZlYXR1cmVJRCBmZWF0dXJlKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNvZ2wvY29nbC5oIiwgaW5zdGFuY2VfcG9zID0gMi45KV0KKysJW1ZlcnNpb24gKHNpbmNlID0g IjEuMTYiKV0KKysJcHVibGljIGRlbGVnYXRlIHZvaWQgT25zY3JlZW5EaXJ0eUNhbGxiYWNrIChD b2dsLk9uc2NyZWVuIG9uc2NyZWVuLCBDb2dsLk9uc2NyZWVuRGlydHlJbmZvIGluZm8pOworKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBpbnN0YW5jZV9wb3MgPSAz LjkpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCisrCXB1YmxpYyBkZWxlZ2F0ZSB2b2lk IE9uc2NyZWVuUmVzaXplQ2FsbGJhY2sgKENvZ2wuT25zY3JlZW4gb25zY3JlZW4sIGludCB3aWR0 aCwgaW50IGhlaWdodCk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wu aCIsIGluc3RhbmNlX3BvcyA9IDIuOSldCisrCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KKysJ cHVibGljIGRlbGVnYXRlIGJvb2wgUGlwZWxpbmVMYXllckNhbGxiYWNrIChDb2dsLlBpcGVsaW5l IHBpcGVsaW5lLCBpbnQgbGF5ZXJfaW5kZXgpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY29nbC9jb2dsLmgiLCBpbnN0YW5jZV9wb3MgPSAxLjkpXQorKwlwdWJsaWMgZGVsZWdhdGUg Ym9vbCBUZXh0dXJlMkRFR0xJbWFnZUV4dGVybmFsQWxsb2MgKENvZ2wuVGV4dHVyZTJEIHRleF8y ZCkgdGhyb3dzIEdMaWIuRXJyb3I7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2ds L2NvZ2wuaCIsIGhhc190YXJnZXQgPSBmYWxzZSldCisrCXB1YmxpYyBkZWxlZ2F0ZSB2b2lkIFVz ZXJEYXRhRGVzdHJveUNhbGxiYWNrICh2b2lkKiBkYXRhKTsKKysJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY25hbWUgPSAiQ09HTF9BRklSU1RfQklUIildCisrCXB1 YmxpYyBjb25zdCBpbnQgQUZJUlNUX0JJVDsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNvZ2wvY29nbC5oIiwgY25hbWUgPSAiQ09HTF9BX0JJVCIpXQorKwlwdWJsaWMgY29uc3QgaW50 IEFfQklUOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjbmFt ZSA9ICJDT0dMX0JHUl9CSVQiKV0KKysJcHVibGljIGNvbnN0IGludCBCR1JfQklUOworKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjbmFtZSA9ICJDT0dMX0RFUFRI X0JJVCIpXQorKwlwdWJsaWMgY29uc3QgaW50IERFUFRIX0JJVDsKKysJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY25hbWUgPSAiQ09HTF9QSVhFTF9GT1JNQVRfTUFY X1BMQU5FUyIpXQorKwlwdWJsaWMgY29uc3QgaW50IFBJWEVMX0ZPUk1BVF9NQVhfUExBTkVTOwor KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjbmFtZSA9ICJDT0dM X1BSRU1VTFRfQklUIildCisrCXB1YmxpYyBjb25zdCBpbnQgUFJFTVVMVF9CSVQ7CisrCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNuYW1lID0gIkNPR0xfU1RFTkNJ TF9CSVQiKV0KKysJcHVibGljIGNvbnN0IGludCBTVEVOQ0lMX0JJVDsKKysJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY25hbWUgPSAiQ09HTF9URVhUVVJFX01BWF9X QVNURSIpXQorKwlwdWJsaWMgY29uc3QgaW50IFRFWFRVUkVfTUFYX1dBU1RFOworKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KKysJcHVibGljIHN0YXRpYyBib29s IGJsaXRfZnJhbWVidWZmZXIgKENvZ2wuRnJhbWVidWZmZXIgc3JjLCBDb2dsLkZyYW1lYnVmZmVy IGRlc3QsIGludCBzcmNfeCwgaW50IHNyY195LCBpbnQgZHN0X3gsIGludCBkc3RfeSwgaW50IHdp ZHRoLCBpbnQgaGVpZ2h0KSB0aHJvd3MgR0xpYi5FcnJvcjsKKysJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNvZ2wvY29nbC5oIildCisrCXB1YmxpYyBzdGF0aWMgYm9vbCBjbHV0dGVyX3dp bnN5c19oYXNfZmVhdHVyZV9DTFVUVEVSIChDb2dsLldpbnN5c0ZlYXR1cmUgZmVhdHVyZSk7Cisr CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQorKwlbVmVyc2lvbiAo c2luY2UgPSAiMS4wIildCisrCXB1YmxpYyBzdGF0aWMgYm9vbCBjb2xvcl9lcXVhbCAodm9pZCog djEsIHZvaWQqIHYyKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5o IildCisrCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE2IildCisrCXB1YmxpYyBzdGF0aWMgdm9pZCBj b2xvcl9pbml0X2Zyb21faHNsIChvdXQgQ29nbC5Db2xvciBjb2xvciwgZmxvYXQgaHVlLCBmbG9h dCBzYXR1cmF0aW9uLCBmbG9hdCBsdW1pbmFuY2UpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY29nbC9jb2dsLmgiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQorKwlwdWJs aWMgc3RhdGljIHZvaWQgZGVidWdfbWF0cml4X3ByaW50IChDb2dsLk1hdHJpeCBtYXRyaXgpOwor KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KKysJW1ZlcnNpb24g KHNpbmNlID0gIjEuOCIpXQorKwlwdWJsaWMgc3RhdGljIHZvaWQgZGVidWdfb2JqZWN0X2ZvcmVh Y2hfdHlwZSAoQ29nbC5EZWJ1Z09iamVjdEZvcmVhY2hUeXBlQ2FsbGJhY2sgZnVuYyk7CisrCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQorKwlbVmVyc2lvbiAoc2lu Y2UgPSAiMS44IildCisrCXB1YmxpYyBzdGF0aWMgdm9pZCBkZWJ1Z19vYmplY3RfcHJpbnRfaW5z dGFuY2VzICgpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0K KysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQorKwlwdWJsaWMgc3RhdGljIHZvaWQgZmx1c2gg KCk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQorKwlbVmVy c2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwlwdWJsaWMgc3RhdGljIHZvaWQgZm9yZWFjaF9mZWF0 dXJlIChDb2dsLkNvbnRleHQgY29udGV4dCwgQ29nbC5GZWF0dXJlQ2FsbGJhY2sgY2FsbGJhY2sp OworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KKysJW1ZlcnNp b24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiKV0KKysJcHVi bGljIHN0YXRpYyBib29sIGdldF9iYWNrZmFjZV9jdWxsaW5nX2VuYWJsZWQgKCk7CisrCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQorKwlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xNCIpXQorKwlwdWJsaWMgc3RhdGljIGludDY0IGdldF9jbG9ja190aW1lIChDb2dsLkNv bnRleHQgY29udGV4dCk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wu aCIpXQorKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAi MS4xNiIpXQorKwlwdWJsaWMgc3RhdGljIGJvb2wgZ2V0X2RlcHRoX3Rlc3RfZW5hYmxlZCAoKTsK KysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCisrCXB1YmxpYyBz dGF0aWMgQ29nbC5HcmFwaGljc1Jlc2V0U3RhdHVzIGdldF9ncmFwaGljc19yZXNldF9zdGF0dXMg KENvZ2wuQ29udGV4dCBjb250ZXh0KTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNv Z2wvY29nbC5oIildCisrCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9z aW5jZSA9ICIxLjE2Iiwgc2luY2UgPSAiMS4wIildCisrCXB1YmxpYyBzdGF0aWMgR0xpYi5PcHRp b25Hcm91cCBnZXRfb3B0aW9uX2dyb3VwICgpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY29nbC9jb2dsLmgiKV0KKysJcHVibGljIHN0YXRpYyBHTGliLkNhbGxiYWNrIGdldF9wcm9j X2FkZHJlc3MgKHN0cmluZyBzKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wv Y29nbC5oIildCisrCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5j ZSA9ICIxLjE4IildCisrCXB1YmxpYyBzdGF0aWMgR0xpYi5UeXBlIGd0eXBlX21hdHJpeF9nZXRf dHlwZSAoKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCisr CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCisrCXB1YmxpYyBzdGF0aWMgYm9vbCBoYXNfZmVh dHVyZSAoQ29nbC5Db250ZXh0IGNvbnRleHQsIENvZ2wuRmVhdHVyZUlEIGZlYXR1cmUpOworKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KKysJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTAiKV0KKysJcHVibGljIHN0YXRpYyBib29sIGlzX2NvbnRleHQgKHZvaWQqIG9i amVjdCk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQorKwlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwlwdWJsaWMgc3RhdGljIGJvb2wgaXNfZnJhbWVi dWZmZXIgKHZvaWQqIG9iamVjdCk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2ds L2NvZ2wuaCIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQorKwlwdWJsaWMgc3RhdGlj IGJvb2wgaXNfb25zY3JlZW4gKHZvaWQqIG9iamVjdCk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQorKwlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCisrCXB1 YmxpYyBzdGF0aWMgYm9vbCBpc19waXBlbGluZSAodm9pZCogb2JqZWN0KTsKKysJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCisrCXB1YmxpYyBzdGF0aWMgYm9vbCBp c190ZXh0dXJlXzJkICh2b2lkKiBvYmplY3QpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY29nbC9jb2dsLmgiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJcHVibGlj IHN0YXRpYyBib29sIGlzX3RleHR1cmVfMmRfc2xpY2VkICh2b2lkKiBvYmplY3QpOworKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KKysJW1ZlcnNpb24gKHNpbmNl ID0gIjEuNCIpXQorKwlwdWJsaWMgc3RhdGljIGJvb2wgbWF0cml4X2VxdWFsICh2b2lkKiB2MSwg dm9pZCogdjIpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0K KysJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYi KV0KKysJcHVibGljIHN0YXRpYyB2b2lkIHNldF9iYWNrZmFjZV9jdWxsaW5nX2VuYWJsZWQgKGJv b2wgc2V0dGluZyk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIp XQorKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4x NiIpXQorKwlwdWJsaWMgc3RhdGljIHZvaWQgc2V0X2RlcHRoX3Rlc3RfZW5hYmxlZCAoYm9vbCBz ZXR0aW5nKTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCisr CVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2Iild CisrCXB1YmxpYyBzdGF0aWMgdm9pZCBzaGFkZXJfY29tcGlsZSAoQ29nbC5IYW5kbGUgaGFuZGxl KTsKKysJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCisrCVtWZXJz aW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2IildCisrCXB1 YmxpYyBzdGF0aWMgc3RyaW5nIHNoYWRlcl9nZXRfaW5mb19sb2cgKENvZ2wuSGFuZGxlIGhhbmRs ZSk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQorKwlbVmVy c2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIpXQorKwlw dWJsaWMgc3RhdGljIENvZ2wuU2hhZGVyVHlwZSBzaGFkZXJfZ2V0X3R5cGUgKENvZ2wuSGFuZGxl IGhhbmRsZSk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQor KwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIp XQorKwlwdWJsaWMgc3RhdGljIGJvb2wgc2hhZGVyX2lzX2NvbXBpbGVkIChDb2dsLkhhbmRsZSBo YW5kbGUpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KKysJ W1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiKV0K KysJcHVibGljIHN0YXRpYyB2b2lkIHNoYWRlcl9zb3VyY2UgKENvZ2wuSGFuZGxlIHNoYWRlciwg c3RyaW5nIHNvdXJjZSk7CisrCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wu aCIpXQorKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAi MS4xOCIsIHNpbmNlID0gIjEuMCIpXQorKwlwdWJsaWMgc3RhdGljIENvZ2wuVGV4dHVyZSB0ZXh0 dXJlX25ld19mcm9tX2JpdG1hcCAoQ29nbC5CaXRtYXAgYml0bWFwLCBDb2dsLlRleHR1cmVGbGFn cyBmbGFncywgQ29nbC5QaXhlbEZvcm1hdCBpbnRlcm5hbF9mb3JtYXQpOworKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KKysJW1ZlcnNpb24gKGRlcHJlY2F0ZWQg PSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTgiLCBzaW5jZSA9ICIwLjgiKV0KKysJcHVi bGljIHN0YXRpYyBDb2dsLlRleHR1cmUgdGV4dHVyZV9uZXdfZnJvbV9kYXRhIChpbnQgd2lkdGgs IGludCBoZWlnaHQsIENvZ2wuVGV4dHVyZUZsYWdzIGZsYWdzLCBDb2dsLlBpeGVsRm9ybWF0IGZv cm1hdCwgQ29nbC5QaXhlbEZvcm1hdCBpbnRlcm5hbF9mb3JtYXQsIGludCByb3dzdHJpZGUsIHVp bnQ4IGRhdGEpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0K KysJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTgi LCBzaW5jZSA9ICIwLjgiKV0KKysJcHVibGljIHN0YXRpYyBDb2dsLlRleHR1cmUgdGV4dHVyZV9u ZXdfZnJvbV9maWxlIChzdHJpbmcgZmlsZW5hbWUsIENvZ2wuVGV4dHVyZUZsYWdzIGZsYWdzLCBD b2dsLlBpeGVsRm9ybWF0IGludGVybmFsX2Zvcm1hdCkgdGhyb3dzIEdMaWIuRXJyb3I7CisrCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQorKwlbVmVyc2lvbiAoZGVw cmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xOCIsIHNpbmNlID0gIjAuOCIp XQorKwlwdWJsaWMgc3RhdGljIENvZ2wuVGV4dHVyZSB0ZXh0dXJlX25ld193aXRoX3NpemUgKHVp bnQgd2lkdGgsIHVpbnQgaGVpZ2h0LCBDb2dsLlRleHR1cmVGbGFncyBmbGFncywgQ29nbC5QaXhl bEZvcm1hdCBpbnRlcm5hbF9mb3JtYXQpOworKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y29nbC9jb2dsLmgiKV0KKysJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KKysJcHVibGljIHN0 YXRpYyB1aW50MzIgeDExX29uc2NyZWVuX2dldF93aW5kb3dfeGlkIChDb2dsLk9uc2NyZWVuIG9u c2NyZWVuKTsKKyt9CistLSAKKzIuMjUuMAorCmRpZmYgLS1naXQgYS9zcmNwa2dzL2J1ZGdpZS1k ZXNrdG9wL3RlbXBsYXRlIGIvc3JjcGtncy9idWRnaWUtZGVza3RvcC90ZW1wbGF0ZQppbmRleCBi MzJlNzczNGQzYi4uMTgwY2RjMDJmMWYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYnVkZ2llLWRlc2t0 b3AvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9idWRnaWUtZGVza3RvcC90ZW1wbGF0ZQpAQCAtMSwy MSArMSwyMiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnYnVkZ2llLWRlc2t0b3AnCiBwa2duYW1l PWJ1ZGdpZS1kZXNrdG9wCiB2ZXJzaW9uPTEwLjUuMQotcmV2aXNpb249MworcmV2aXNpb249NAog YnVpbGRfc3R5bGU9bWVzb24KIGJ1aWxkX2hlbHBlcj1naXIKIGNvbmZpZ3VyZV9hcmdzPSItRHdp dGgtZ3RrLWRvYz1mYWxzZSAtRHdpdGgtZGVza3RvcC1pY29ucz1ub25lIgogaG9zdG1ha2VkZXBl bmRzPSJwa2ctY29uZmlnIGludGx0b29sIHZhbGEgZ2xpYi1kZXZlbCBnb2JqZWN0LWludHJvc3Bl Y3Rpb24gc2Fzc2MiCiBtYWtlZGVwZW5kcz0iYWxzYS1saWItZGV2ZWwgbGlibm90aWZ5LWRldmVs IGFjY291bnRzc2VydmljZS1kZXZlbCBsaWJwZWFzLWRldmVsIGxpYnduY2stZGV2ZWwKLW11dHRl ci1kZXZlbCBpYnVzLWRldmVsIGdub21lLWRlc2t0b3AtZGV2ZWwgcHVsc2VhdWRpby1kZXZlbCB1 cG93ZXItZGV2ZWwgZ3RrKzMtZGV2ZWwgcG9sa2l0LWRldmVsCi1nbm9tZS1ibHVldG9vdGgtZGV2 ZWwgZ25vbWUtbWVudXMtZGV2ZWwgZ25vbWUtc2V0dGluZ3MtZGFlbW9uLWRldmVsIHZhbGEgbGli dXVpZC1kZXZlbCBsaWJ1cG93ZXItZ2xpYjMiCi1kZXBlbmRzPSJnbm9tZS1zZXNzaW9uIGdub21l LXNldHRpbmdzLWRhZW1vbiBnbm9tZS1jb250cm9sLWNlbnRlciBlbG9naW5kIgorIG11dHRlci1k ZXZlbCBpYnVzLWRldmVsIGdub21lLWRlc2t0b3AtZGV2ZWwgcHVsc2VhdWRpby1kZXZlbCB1cG93 ZXItZGV2ZWwgZ3RrKzMtZGV2ZWwgcG9sa2l0LWRldmVsCisgZ25vbWUtYmx1ZXRvb3RoLWRldmVs IGdub21lLW1lbnVzLWRldmVsIGdub21lLXNldHRpbmdzLWRhZW1vbi1kZXZlbCB2YWxhIGxpYnV1 aWQtZGV2ZWwgbGlidXBvd2VyLWdsaWIzIgorZGVwZW5kcz0iZ25vbWUtc2Vzc2lvbiBnbm9tZS1z ZXR0aW5ncy1kYWVtb24gZ25vbWUtY29udHJvbC1jZW50ZXIgZ25vbWUtdGhlbWVzLWV4dHJhIGVs b2dpbmQiCiBzaG9ydF9kZXNjPSJNb2Rlcm4gZGVza3RvcCBlbnZpcm9ubWVudCBmcm9tIHRoZSBT b2x1cyBQcm9qZWN0IgogbWFpbnRhaW5lcj0iTG9yZW0gPG5vdGxvcmVtaXBzdW1AcHJvdG9ubWFp bC5jb20+IgogbGljZW5zZT0iR1BMLTIuMC1vbmx5LCBMR1BMLTIuMS1vbmx5IgogaG9tZXBhZ2U9 Imh0dHBzOi8vZ2l0aHViLmNvbS9zb2x1cy1wcm9qZWN0L2J1ZGdpZS1kZXNrdG9wIgogZGlzdGZp bGVzPSJodHRwczovL2dpdGh1Yi5jb20vc29sdXMtcHJvamVjdC9idWRnaWUtZGVza3RvcC9yZWxl YXNlcy9kb3dubG9hZC92JHt2ZXJzaW9ufS9idWRnaWUtZGVza3RvcC0ke3ZlcnNpb259LnRhci54 eiIKIGNoZWNrc3VtPWQwMzVlYzc2NGUwMDkzNzIyYTgzMjQxMWFlYjZhYmEyOTZjMDk5NWQ5Mjdl YTA2OWIyMDViMTljODVhYWU1NjUKK3BhdGNoX2FyZ3M9Ii1OcDEiCiAKIHByZV9jb25maWd1cmUo KSB7CiAJdnNlZCAtaSAncy9leGVjIGdub21lLXNlc3Npb24vZXhlYyBnbm9tZS1zZXNzaW9uIC0t YnVpbHRpbi8nIHNyYy9zZXNzaW9uL2J1ZGdpZS1kZXNrdG9wLmluCgpGcm9tIDViYzljZmYzYWQ2 NmJjYjUyMDFiNDg2ZmIwODljODFhYzc4MTUwN2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IE5hZmlzIDxtbmFiaWQuMjVAb3V0bG9vay5jb20+CkRhdGU6IFR1ZSwgMTYgSnVuIDIwMjAg MTk6NDk6MDcgKzA2MDAKU3ViamVjdDogW1BBVENIIDQzLzYyXSB4ZGctZGVza3RvcC1wb3J0YWwt Z3RrOiByZWJ1aWxkIGFnYWluc3QKIGxpYmdub21lLWRlc2t0b3AtMy5zby4xOQoKLS0tCiBzcmNw a2dzL3hkZy1kZXNrdG9wLXBvcnRhbC1ndGsvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3hk Zy1kZXNrdG9wLXBvcnRhbC1ndGsvdGVtcGxhdGUgYi9zcmNwa2dzL3hkZy1kZXNrdG9wLXBvcnRh bC1ndGsvdGVtcGxhdGUKaW5kZXggZGVlMGU0NjMzODYuLjU1OGM3NWY1MzlkIDEwMDY0NAotLS0g YS9zcmNwa2dzL3hkZy1kZXNrdG9wLXBvcnRhbC1ndGsvdGVtcGxhdGUKKysrIGIvc3JjcGtncy94 ZGctZGVza3RvcC1wb3J0YWwtZ3RrL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAneGRnLWRlc2t0b3AtcG9ydGFsLWd0aycKIHBrZ25hbWU9eGRnLWRlc2t0b3At cG9ydGFsLWd0awogdmVyc2lvbj0xLjYuMAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRf c3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGxpYnhzbHQg Z2xpYi1kZXZlbCB4ZGctZGVza3RvcC1wb3J0YWwgZ2V0dGV4dCIKIG1ha2VkZXBlbmRzPSJmbGF0 cGFrLWRldmVsIGd0ayszLWRldmVsIGxpYnhzbHQtZGV2ZWwgbGliZ2xpYi1kZXZlbAoKRnJvbSAy NjQ2NGFjYTc5YjVkNGZiOGQxZGVjYWRlNGI0ZTIyZDBjZjIyMmFhIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBOYWZpcyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRlOiBUdWUsIDE2 IEp1biAyMDIwIDE5OjQ5OjE0ICswNjAwClN1YmplY3Q6IFtQQVRDSCA0NC82Ml0gY2hlZXNlOiBy ZWJ1aWxkIGFnYWluc3QgbGliZ25vbWUtZGVza3RvcC0zLnNvLjE5CgotLS0KIHNyY3BrZ3MvY2hl ZXNlL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaGVlc2UvdGVtcGxhdGUgYi9zcmNwa2dz L2NoZWVzZS90ZW1wbGF0ZQppbmRleCA3YTU2YmEwMzlmYi4uMDM3Y2RhNDljOTggMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvY2hlZXNlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY2hlZXNlL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY2hlZXNlJwogcGtnbmFtZT1j aGVlc2UKIHZlcnNpb249My4zNC4wCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHls ZT1tZXNvbgogYnVpbGRfaGVscGVyPSJnaXIiCiBjb25maWd1cmVfYXJncz0iLURndGtfZG9jPSQo dm9wdF9pZiBndGtfZG9jICd0cnVlJyAnZmFsc2UnKQoKRnJvbSBiNjQyNzVlZGZkMjIwMWNhMjRk ZjZmYzRmNDc0YWIwMGRhNjE3M2YyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYWZp cyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRlOiBUdWUsIDE2IEp1biAyMDIwIDE5OjQ5OjIx ICswNjAwClN1YmplY3Q6IFtQQVRDSCA0NS82Ml0gZ25vbWUtYm9va3M6IHJlYnVpbGQgYWdhaW5z dCBsaWJnbm9tZS1kZXNrdG9wLTMuc28uMTkKCi0tLQogc3JjcGtncy9nbm9tZS1ib29rcy90ZW1w bGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ25vbWUtYm9va3MvdGVtcGxhdGUgYi9zcmNwa2dzL2du b21lLWJvb2tzL3RlbXBsYXRlCmluZGV4IDExNGI5ZTAzNGMyLi4xZDQ5NzRmZTE4MyAxMDA2NDQK LS0tIGEvc3JjcGtncy9nbm9tZS1ib29rcy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dub21lLWJv b2tzL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ25vbWUt Ym9va3MnCiBwa2duYW1lPWdub21lLWJvb2tzCiB2ZXJzaW9uPTMuMzQuMAotcmV2aXNpb249MQor cmV2aXNpb249MgogYnVpbGRfaGVscGVyPSJnaXIiCiBidWlsZF9zdHlsZT1tZXNvbgogaG9zdG1h a2VkZXBlbmRzPSJwa2ctY29uZmlnIHZhbGEgZ2xpYi1kZXZlbCBsaWJyc3ZnIGRvY2Jvb2steHNs IGxpYnhzbHQKCkZyb20gYzYwYjM3Yjc0Y2I1M2FlODMwMWZjNmUzODZlMDAzMmU1YTU1OGY2MSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmFmaXMgPG1uYWJpZC4yNUBvdXRsb29rLmNv bT4KRGF0ZTogVHVlLCAxNiBKdW4gMjAyMCAxOTo0OToyOCArMDYwMApTdWJqZWN0OiBbUEFUQ0gg NDYvNjJdIGdub21lLWNoYXJhY3RlcnM6IHJlYnVpbGQgYWdhaW5zdAogbGliZ25vbWUtZGVza3Rv cC0zLnNvLjE5CgotLS0KIHNyY3BrZ3MvZ25vbWUtY2hhcmFjdGVycy90ZW1wbGF0ZSB8IDIgKy0K IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvZ25vbWUtY2hhcmFjdGVycy90ZW1wbGF0ZSBiL3NyY3BrZ3MvZ25vbWUtY2hh cmFjdGVycy90ZW1wbGF0ZQppbmRleCA4OTg2OGY0YmMwNC4uYWMyNjRlNTFhNmEgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvZ25vbWUtY2hhcmFjdGVycy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dub21l LWNoYXJhY3RlcnMvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdnbm9tZS1jaGFyYWN0ZXJzJwogcGtnbmFtZT1nbm9tZS1jaGFyYWN0ZXJzCiB2ZXJzaW9uPTMu MzQuMAotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9bWVzb24KIGJ1aWxkX2hl bHBlcj0iZ2lyIgogaG9zdG1ha2VkZXBlbmRzPSJnZXR0ZXh0IGdqcyBnbGliLWRldmVsIGl0c3Rv b2wgcGtnLWNvbmZpZyIKCkZyb20gN2FmNTUxZTJhYjI0MmU2OGRlODVlODYzMTc4NGE5NGMyMjBj MDcxNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmFmaXMgPG1uYWJpZC4yNUBvdXRs b29rLmNvbT4KRGF0ZTogVHVlLCAxNiBKdW4gMjAyMCAxOTo0OTozNiArMDYwMApTdWJqZWN0OiBb UEFUQ0ggNDcvNjJdIGdub21lLWRvY3VtZW50czogcmVidWlsZCBhZ2FpbnN0CiBsaWJnbm9tZS1k ZXNrdG9wLTMuc28uMTkKCi0tLQogc3JjcGtncy9nbm9tZS1kb2N1bWVudHMvdGVtcGxhdGUgfCAy ICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9zcmNwa2dzL2dub21lLWRvY3VtZW50cy90ZW1wbGF0ZSBiL3NyY3BrZ3MvZ25vbWUt ZG9jdW1lbnRzL3RlbXBsYXRlCmluZGV4IDk3YjUzZDYzNWQ3Li43ZTQ1YjgyNWU3MSAxMDA2NDQK LS0tIGEvc3JjcGtncy9nbm9tZS1kb2N1bWVudHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nbm9t ZS1kb2N1bWVudHMvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdnbm9tZS1kb2N1bWVudHMnCiBwa2duYW1lPWdub21lLWRvY3VtZW50cwogdmVyc2lvbj0zLjM0 LjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX2hlbHBlcj0iZ2lyIgogYnVpbGRfc3R5 bGU9bWVzb24KIGhvc3RtYWtlZGVwZW5kcz0iZG9jYm9vay14c2wgZ2V0dGV4dCBpdHN0b29sIHBr Zy1jb25maWcgZ2xpYi1kZXZlbCBsaWJ4c2x0IGdkay1waXhidWYKCkZyb20gNzA1NTFiM2U3ZGQx ODk3ZjVhMzk5ZjNlMzlkMmU5MDJmMjA3ZGYxZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogTmFmaXMgPG1uYWJpZC4yNUBvdXRsb29rLmNvbT4KRGF0ZTogVHVlLCAxNiBKdW4gMjAyMCAx OTo0OTo0NiArMDYwMApTdWJqZWN0OiBbUEFUQ0ggNDgvNjJdIGdub21lLWZvbnQtdmlld2VyOiBy ZWJ1aWxkIGFnYWluc3QKIGxpYmdub21lLWRlc2t0b3AtMy5zby4xOQoKLS0tCiBzcmNwa2dzL2du b21lLWZvbnQtdmlld2VyL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbm9tZS1mb250LXZp ZXdlci90ZW1wbGF0ZSBiL3NyY3BrZ3MvZ25vbWUtZm9udC12aWV3ZXIvdGVtcGxhdGUKaW5kZXgg NmQwMzUzNjZkNDQuLmY3NGZjYmNiMDAwIDEwMDY0NAotLS0gYS9zcmNwa2dzL2dub21lLWZvbnQt dmlld2VyL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ25vbWUtZm9udC12aWV3ZXIvdGVtcGxhdGUK QEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnbm9tZS1mb250LXZpZXdlcicK IHBrZ25hbWU9Z25vbWUtZm9udC12aWV3ZXIKIHZlcnNpb249My4zNC4wCi1yZXZpc2lvbj0xCity ZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1tZXNvbgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmln IGdsaWItZGV2ZWwiCiBtYWtlZGVwZW5kcz0iZm9udGNvbmZpZy1kZXZlbCBmcmVldHlwZS1kZXZl bCBnbGliLWRldmVsIGd0ayszLWRldmVsCgpGcm9tIDM0OTQ2NWY1YmZhYTNkNzgyOWE2YjNhZjQ3 NDFjNWU4NmFjM2Q1YjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE5hZmlzIDxtbmFi aWQuMjVAb3V0bG9vay5jb20+CkRhdGU6IFR1ZSwgMTYgSnVuIDIwMjAgMTk6NDk6NTQgKzA2MDAK U3ViamVjdDogW1BBVENIIDQ5LzYyXSBnbm9tZS1zY3JlZW5zYXZlcjogcmVidWlsZCBhZ2FpbnN0 CiBsaWJnbm9tZS1kZXNrdG9wLTMuc28uMTkKCi0tLQogLi4uL3BhdGNoZXMvZ25vbWUtZGVza3Rv cC0zLjM2LnBhdGNoICAgICAgICAgICAgICAgIHwgMTMgKysrKysrKysrKysrKwogc3JjcGtncy9n bm9tZS1zY3JlZW5zYXZlci90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgIHwgIDUgKysrLS0KIDIg ZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2dub21lLXNjcmVlbnNhdmVyL3BhdGNoZXMvZ25vbWUtZGVza3Rv cC0zLjM2LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbm9tZS1zY3JlZW5zYXZlci9wYXRj aGVzL2dub21lLWRlc2t0b3AtMy4zNi5wYXRjaCBiL3NyY3BrZ3MvZ25vbWUtc2NyZWVuc2F2ZXIv cGF0Y2hlcy9nbm9tZS1kZXNrdG9wLTMuMzYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAuLjU4ZDkyZTQ2M2EzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9n bm9tZS1zY3JlZW5zYXZlci9wYXRjaGVzL2dub21lLWRlc2t0b3AtMy4zNi5wYXRjaApAQCAtMCww ICsxLDEzIEBACitkaWZmIC1OYXVyIGdub21lLXNjcmVlbnNhdmVyLTMuNi4xLm9yaWcvc3JjL2dz LW1hbmFnZXIuYyBnbm9tZS1zY3JlZW5zYXZlci0zLjYuMS9zcmMvZ3MtbWFuYWdlci5jCistLS0g Z25vbWUtc2NyZWVuc2F2ZXItMy42LjEub3JpZy9zcmMvZ3MtbWFuYWdlci5jCTIwMjAtMDMtMDgg MDg6NTM6NDYuNDA4NDMxNTc4ICswMDAwCisrKysgZ25vbWUtc2NyZWVuc2F2ZXItMy42LjEvc3Jj L2dzLW1hbmFnZXIuYwkyMDIwLTAzLTA4IDA4OjU0OjMxLjg3NTczODczMiArMDAwMAorQEAgLTc4 OCw4ICs3ODgsNyBAQAorICAgICAgICAgc3VyZmFjZSA9IGdub21lX2JnX2NyZWF0ZV9zdXJmYWNl IChtYW5hZ2VyLT5wcml2LT5iZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ2RrX3dpbmRvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgd2lkdGgsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGhlaWdodCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RkFMU0UpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWln aHQpOworICAgICAgICAgZ3Nfd2luZG93X3NldF9iYWNrZ3JvdW5kX3N1cmZhY2UgKHdpbmRvdywg c3VyZmFjZSk7CisgICAgICAgICBjYWlyb19zdXJmYWNlX2Rlc3Ryb3kgKHN1cmZhY2UpOworIH0K ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ25vbWUtc2NyZWVuc2F2ZXIvdGVtcGxhdGUgYi9zcmNwa2dz L2dub21lLXNjcmVlbnNhdmVyL3RlbXBsYXRlCmluZGV4IDM2M2ZjZjEyZTEwLi41NGE5YTM1ZWNj YiAxMDA2NDQKLS0tIGEvc3JjcGtncy9nbm9tZS1zY3JlZW5zYXZlci90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL2dub21lLXNjcmVlbnNhdmVyL3RlbXBsYXRlCkBAIC0xLDE1ICsxLDE2IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdnbm9tZS1zY3JlZW5zYXZlcicKIHBrZ25hbWU9Z25vbWUtc2NyZWVu c2F2ZXIKIHZlcnNpb249My42LjEKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxl PWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS1jb21waWxlLXdhcm5pbmdz PW1pbmltdW0iCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgYXV0b21ha2UgaW50bHRvb2wg Z2xpYi1kZXZlbCIKIG1ha2VkZXBlbmRzPSJnbm9tZS1kZXNrdG9wLWRldmVsIGRidXMtZ2xpYi1k ZXZlbCBwYW0tZGV2ZWwiCiBkZXBlbmRzPSJnbm9tZS1kZXNrdG9wIGxpYmdub21la2JkIGRidXMi Ci1zaG9ydF9kZXNjPSJBIG5ldyBzY3JlZW5zYXZlciB0aGF0IGNhbiByZXBsYWNlIHhzY3JlZW5z YXZlciIKK3Nob3J0X2Rlc2M9Ik5ldyBzY3JlZW5zYXZlciB0aGF0IGNhbiByZXBsYWNlIHhzY3Jl ZW5zYXZlciIKIG1haW50YWluZXI9InNoaXpvbmljIDxyZWFsdGlhekBnbWFpbC5jb20+IgogbGlj ZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3dpa2kuZ25vbWUub3Jn L1Byb2plY3RzL0dub21lU2NyZWVuc2F2ZXIiCiBkaXN0ZmlsZXM9IiR7R05PTUVfU0lURX0vJHtw a2duYW1lfS8ke3ZlcnNpb24lLip9LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoiCiBjaGVj a3N1bT1mMzliNzhkNGY3ZmVkNzQ4YzdmMGEzMWQ2OTQxMTJmYjkwN2M2ZDNjNGU2M2RiMjJlYjg1 OGRmMDdlOTYyY2QwCitwYXRjaF9hcmdzPSItTnAxIgoKRnJvbSA1NTM2ZWNiM2E0M2JkZWM0YmNh ODE1NzMxNmQwYzhiYjZhYWM3ZGFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYWZp cyA8bW5hYmlkLjI1QG91dGxvb2suY29tPgpEYXRlOiBUdWUsIDE2IEp1biAyMDIwIDE5OjUwOjAx ICswNjAwClN1YmplY3Q6IFtQQVRDSCA1MC82Ml0gZ25vbWUtd2VhdGhlcjogcmVidWlsZCBhZ2Fp bnN0IGxpYmdub21lLWRlc2t0b3AtMy5zby4xOQoKLS0tCiBzcmNwa2dzL2dub21lLXdlYXRoZXIv dGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dub21lLXdlYXRoZXIvdGVtcGxhdGUgYi9zcmNw a2dzL2dub21lLXdlYXRoZXIvdGVtcGxhdGUKaW5kZXggZDMwYmU5YmYxOTIuLmMwMjhlNDZiYTY1 IDEwMDY0NAotLS0gYS9zcmNwa2dzL2dub21lLXdlYXRoZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9nbm9tZS13ZWF0aGVyL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnZ25vbWUtd2VhdGhlcicKIHBrZ25hbWU9Z25vbWUtd2VhdGhlcgogdmVyc2lvbj0zLjM2 LjEKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX2hlbHBlcj0iZ2lyIgogYnVpbGRfc3R5 bGU9bWVzb24KIGhvc3RtYWtlZGVwZW5kcz0iZ2V0dGV4dCBwa2ctY29uZmlnIGl0c3Rvb2wgZ2xp Yi1kZXZlbCBnanMiCgpGcm9tIGI4NGNlMzcxOGE5YmUyNTVlOTdlOTkzZTcxYjY0Y2JkNGFiOGI3 YWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE5hZmlzIDxtbmFiaWQuMjVAb3V0bG9v ay5jb20+CkRhdGU6IFR1ZSwgMTYgSnVuIDIwMjAgMTk6NTA6MDkgKzA2MDAKU3ViamVjdDogW1BB VENIIDUxLzYyXSB0b3RlbTogcmVidWlsZCBhZ2FpbnN0IGxpYmdub21lLWRlc2t0b3AtMy5zby4x OQoKLS0tCiBzcmNwa2dzL3RvdGVtL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy90b3RlbS90 ZW1wbGF0ZSBiL3NyY3BrZ3MvdG90ZW0vdGVtcGxhdGUKaW5kZXggODE1MjJiMzE0ODguLmU0MTg2 NjMyMTUzIDEwMDY0NAotLS0gYS9zcmNwa2dzL3RvdGVtL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv dG90ZW0vdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd0b3Rl bScKIHBrZ25hbWU9dG90ZW0KIHZlcnNpb249My4zNC4xCi1yZXZpc2lvbj0xCityZXZpc2lvbj0y CiBidWlsZF9zdHlsZT1tZXNvbgogYnVpbGRfaGVscGVyPSJnaXIiCiBjb25maWd1cmVfYXJncz0i LURlbmFibGUtcHl0aG9uPW5vIC1EZW5hYmxlLW5hdXRpbHVzPXllcwoKRnJvbSAwNWEyMDc4NDJk NTUyMDE0OWNmMGFjM2E2YmY2YmE3Mjg1NGE4ZjQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9 MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxNiBKdW4gMjAyMCAy Mjo1Njo1MyArMDcwMApTdWJqZWN0OiBbUEFUQ0ggNTIvNjJdIGdub21lLWRlc2t0b3A6IGFkZCBk b19jaGVjawoKLS0tCiBzcmNwa2dzL2dub21lLWRlc2t0b3AvdGVtcGxhdGUgfCAxNyArKysrKysr KysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9zcmNwa2dzL2dub21lLWRlc2t0b3AvdGVtcGxhdGUgYi9zcmNwa2dzL2dub21lLWRlc2t0b3Av dGVtcGxhdGUKaW5kZXggYzFhNzQwOGMyMDcuLmNjZDdjNTY1NjlhIDEwMDY0NAotLS0gYS9zcmNw a2dzL2dub21lLWRlc2t0b3AvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nbm9tZS1kZXNrdG9wL3Rl bXBsYXRlCkBAIC0xMSw2ICsxMSw3IEBAIG1ha2VkZXBlbmRzPSJldWRldi1saWJ1ZGV2LWRldmVs IGdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMtZGV2ZWwgZ3RrKzMtZGV2ZWwKICBpc28tY29kZXMg bGliZ2xpYi1kZXZlbCBsaWJzZWNjb21wLWRldmVsIGxpYlgxMS1kZXZlbCBsaWJYZXh0LWRldmVs CiAgbGlieGtiZmlsZS1kZXZlbCBsaWJYcmFuZHItZGV2ZWwgZ2RrLXBpeGJ1Zi1kZXZlbCIKIGRl cGVuZHM9ImJ1YmJsZXdyYXAgZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyBpc28tY29kZXMgeGtl eWJvYXJkLWNvbmZpZyIKK2NoZWNrZGVwZW5kcz0iJGRlcGVuZHMgeG9yZy1zZXJ2ZXIteHZmYiIK IHNob3J0X2Rlc2M9IkdOT01FIGRlc2t0b3AgbWFuYWdlbWVudCB1dGlsaXRpZXMiCiBtYWludGFp bmVyPSJFbm5vIEJvbGFuZCA8Z290dG94QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIu MC1vci1sYXRlciwgTEdQTC0yLjEtb3ItbGF0ZXIiCkBAIC0yMSw2ICsyMiwyMiBAQCBjaGVja3N1 bT0zOGY5OTRkY2IxZTFhZTA5M2QxYzkyOWM3YWNjNGY4OGUzOTExMWU0M2I1ZmRjMTMxMjViMGY2 ZTIzMTFjNzg5CiBidWlsZF9vcHRpb25zPSJnaXIiCiBidWlsZF9vcHRpb25zX2RlZmF1bHQ9Imdp ciIKIAorZG9fY2hlY2soKSB7CisJIyB0aGVyZSBpcyBzdGlsbCAxIHRlc3QgZmFpbCBmb3IgaGVf SUwgbG9jYWxlIGluIG11c2wKKwlpZiB0ZXN0ICIkWEJQU19UQVJHRVRfTElCQyIgIT0gbXVzbDsg dGhlbgorCQlsb2NhbCBfcGlkCisJCVh2ZmIgOjEgLXNjcmVlbiAwIDEzNjZ4NzY4eDI0ICYKKwkJ X3BpZD0kIQorCQl0cmFwICJraWxsICRfcGlkIiBFWElUCisJCXRyYXAgJ2V4aXQgMScgSU5UIEhV UCBURVJNCisJCWV4cG9ydCBESVNQTEFZPToxCisJCW5pbmphIC1DIGJ1aWxkIHRlc3QKKwkJdHJh cCAtIEVYSVQgSU5UIEhVUCBURVJNCisJCWtpbGwgJF9waWQKKwlmaQorfQorCisKIGdub21lLWRl c2t0b3AtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSJndGsrMy1kZXZlbCBnc2V0dGluZ3Mt ZGVza3RvcC1zY2hlbWFzLWRldmVsPj0zLjEyCiAJIGdkay1waXhidWYtZGV2ZWwgaXNvLWNvZGVz IGxpYlgxMS1kZXZlbCBsaWJnbGliLWRldmVsIGxpYnNlY2NvbXAtZGV2ZWwKCkZyb20gMGU4NzZh MmUxMmE3ZTA1MGUxY2JkZWNiMzViOTk1NzI0ZGM5NWZkNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1C NG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IFNhdCwgMjAgSnVuIDIw MjAgMDY6MjU6NTUgKzA3MDAKU3ViamVjdDogW1BBVENIIDUzLzYyXSBnbm9tZS1zZXR0aW5ncy1k YWVtb246IGZpeCBjaGVja2RlcGVuZHMKCi0tLQogc3JjcGtncy9nbm9tZS1zZXR0aW5ncy1kYWVt b24vdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dub21lLXNldHRpbmdzLWRhZW1vbi90ZW1w bGF0ZSBiL3NyY3BrZ3MvZ25vbWUtc2V0dGluZ3MtZGFlbW9uL3RlbXBsYXRlCmluZGV4IDljZWIx ZDEzZGU5Li5mNDUzOWE3MmQ0MyAxMDA2NDQKLS0tIGEvc3JjcGtncy9nbm9tZS1zZXR0aW5ncy1k YWVtb24vdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nbm9tZS1zZXR0aW5ncy1kYWVtb24vdGVtcGxh dGUKQEAgLTEyLDcgKzEyLDcgQEAgbWFrZWRlcGVuZHM9Ik5ldHdvcmtNYW5hZ2VyLWRldmVsIGFs c2EtbGliLWRldmVsIGNvbG9yZC1kZXZlbCBjdXBzLWRldmVsIGdjci1kZXYKICB4Zjg2LWlucHV0 LXdhY29tLWRldmVsIgogZGVwZW5kcz0iaGljb2xvci1pY29uLXRoZW1lIHB1bHNlYXVkaW8iCiBj aGVja2RlcGVuZHM9ImVsb2dpbmQgbGlibm90aWZ5IHB5dGhvbjMtZGJ1c21vY2sgcHl0aG9uMy1n b2JqZWN0Ci0gcHl0aG9uMy1weWNvZGVzdHlsZSIKKyBweXRob24zLXB5Y29kZXN0eWxlIHdoaWNo IGh3aWRzIGV1ZGV2Igogc2hvcnRfZGVzYz0iR05PTUUgc2V0dGluZ3MgZGFlbW9uIgogbWFpbnRh aW5lcj0iRW5ubyBCb2xhbmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkdQTC0z LjAtb3ItbGF0ZXIiCgpGcm9tIDUwNjUxOTlmNTBkOGJiZjZhNWI2YTk3ZjQ5ODk0Nzc1Zjk0OGQ2 YmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEw bj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwu Y29tPgpEYXRlOiBTYXQsIDIwIEp1biAyMDIwIDA3OjQ0OjEyICswNzAwClN1YmplY3Q6IFtQQVRD SCA1NC82Ml0gbXV0dGVyOiBza2lwIGRvX2NoZWNrCgotLS0KIHNyY3BrZ3MvbXV0dGVyL3RlbXBs YXRlIHwgNCArKysrCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9tdXR0ZXIvdGVtcGxhdGUgYi9zcmNwa2dzL211dHRlci90ZW1wbGF0ZQppbmRl eCAxMzJjZDlkZDY0NS4uMTE3YjU5YTI5YTkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbXV0dGVyL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvbXV0dGVyL3RlbXBsYXRlCkBAIC0yMiw2ICsyMiwxMCBAQCBj aGVja3N1bT02YWNlNzQyZThkODg5MDgzZDNjMzJkNzk1NDNkOTAyMjQ4M2YwYjAwYjYzMGVjZWFi NWUzODA0YWFkM2FlZWQyCiBzaGxpYl9wcm92aWRlcz0ibGlibXV0dGVyLWNsdXR0ZXItNi5zbyBs aWJtdXR0ZXItY29nbC02LnNvCiAgbGlibXV0dGVyLWNvZ2wtcGFuZ28tNi5zbyBsaWJtdXR0ZXIt Y29nbC1wYXRoLTYuc28iCiAKK2RvX2NoZWNrKCkgeworCW1zZ193YXJuICJ4dmZiIGRvZXMgbm90 IHdvcmtcbiIKK30KKwogbXV0dGVyLWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iZ3NldHRp bmdzLWRlc2t0b3Atc2NoZW1hcyBncmFwaGVuZS1kZXZlbCBndGsrMy1kZXZlbCBjbHV0dGVyLWRl dmVsCiAJIGxpYlgxMS1kZXZlbCBsaWJYdHN0LWRldmVsIG11dHRlci0ke3ZlcnNpb259XyR7cmV2 aXNpb259IgoKRnJvbSA1MzZiZjU0YzA1ZThkMTQxOTJkN2EyOTU0YzZiNWJmMWU0ODliZmY4IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBU cj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4K RGF0ZTogU3VuLCAyMSBKdW4gMjAyMCAyMjo1MzowMyArMDcwMApTdWJqZWN0OiBbUEFUQ0ggNTUv NjJdIGV2b2x1dGlvbi1kYXRhLXNlcnZlcjogc3BsaXQgdmFsYSBidWlsZCBvcHRpb24gZnJvbSBn aXIKCi0tLQogc3JjcGtncy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvdGVtcGxhdGUgfCA1NCArKysr KysrKysrKystLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyks IDI5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZXZvbHV0aW9uLWRhdGEtc2Vy dmVyL3RlbXBsYXRlIGIvc3JjcGtncy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvdGVtcGxhdGUKaW5k ZXggZWJmODE0NWY4OGMuLjgyMmQ1OWU2OTIyIDEwMDY0NAotLS0gYS9zcmNwa2dzL2V2b2x1dGlv bi1kYXRhLXNlcnZlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2V2b2x1dGlvbi1kYXRhLXNlcnZl ci90ZW1wbGF0ZQpAQCAtMiw0NSArMiwzOCBAQAogcGtnbmFtZT1ldm9sdXRpb24tZGF0YS1zZXJ2 ZXIKIHZlcnNpb249My4zNi4zCiByZXZpc2lvbj0xCitfYmFzZXZlcj0ke3ZlcnNpb24lLip9CiBi dWlsZF9zdHlsZT1jbWFrZQotYnVpbGRfaGVscGVyPWdpcgorYnVpbGRfaGVscGVyPSJnaXIgcWVt dSIKIGNvbmZpZ3VyZV9hcmdzPSItREVOQUJMRV9VT0E9T0ZGCi0gJCh2b3B0X2lmIGdpciAnLURF TkFCTEVfSU5UUk9TUEVDVElPTj1PTiAtREVOQUJMRV9WQUxBX0JJTkRJTkdTPU9OJyAnLURFTkFC TEVfV0VBVEhFUj1PRkYnKSIKKyAkKHZvcHRfaWYgZ2lyIC1ERU5BQkxFX0lOVFJPU1BFQ1RJT049 T04pCisgJCh2b3B0X2lmIHZhbGEgLURFTkFCTEVfVkFMQV9CSU5ESU5HUz1PTikiCiBob3N0bWFr ZWRlcGVuZHM9ImZsZXggZ2xpYi1kZXZlbCBncGVyZiBpbnRsdG9vbCBwa2ctY29uZmlnIGxpYmds aWItZGV2ZWwKLSAkKHZvcHRfaWYgZ2lyICdnb2JqZWN0LWludHJvc3BlY3Rpb24nKSIKLW1ha2Vk ZXBlbmRzPSJib29zdC1kZXZlbCBsaWJjYW5iZXJyYS1kZXZlbCBsaWJnZGF0YS1kZXZlbCAkKHZv cHRfaWYgZ2lyIGxpYmd3ZWF0aGVyLWRldmVsKQotIGxpYmljYWwtZGV2ZWwgbGlic2VjcmV0LWRl dmVsIG1pdC1rcmI1LWRldmVsICQodm9wdF9pZiBnaXIgJ3ZhbGEtZGV2ZWwnKSB3ZWJraXQyZ3Rr LWRldmVsIgotZGVwZW5kcz0iJCh2b3B0X2lmIGdpciBsaWJnd2VhdGhlcikgbGlic291cC1nbm9t ZSIKKyAkKHZvcHRfaWYgdmFsYSB2YWxhKSIKK21ha2VkZXBlbmRzPSJib29zdC1kZXZlbCBsaWJj YW5iZXJyYS1kZXZlbCBsaWJnZGF0YS1kZXZlbCBsaWJpY2FsLWRldmVsCisgbGlic2VjcmV0LWRl dmVsIG1pdC1rcmI1LWRldmVsIHdlYmtpdDJndGstZGV2ZWwgbGliZ3dlYXRoZXItZGV2ZWwKKyAk KHZvcHRfaWYgdmFsYSB2YWxhLWRldmVsKSIKK2RlcGVuZHM9ImxpYmd3ZWF0aGVyIGxpYnNvdXAt Z25vbWUgZGJ1cyB0emRhdGEiCitjaGVja2RlcGVuZHM9IiRkZXBlbmRzIgogc2hvcnRfZGVzYz0i Q2VudHJhbGl6ZWQgYWNjZXNzIHRvIGFwcG9pbnRtZW50cyBhbmQgY29udGFjdHMiCiBtYWludGFp bmVyPSJFbm5vIEJvbGFuZCA8Z290dG94QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iTEdQTC0y LjEtb25seSIKIGhvbWVwYWdlPSJodHRwczovL3dpa2kuZ25vbWUub3JnL0FwcHMvRXZvbHV0aW9u IgotY2hhbmdlbG9nPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vR05PTUUvZXZv bHV0aW9uLWRhdGEtc2VydmVyL2dub21lLTMtMzYvTkVXUyIKLWRpc3RmaWxlcz0iJHtHTk9NRV9T SVRFfS8ke3BrZ25hbWV9LyR7dmVyc2lvbiUuKn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54 eiIKK2NoYW5nZWxvZz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0dOT01FLyRw a2duYW1lL2dub21lLSR7X2Jhc2V2ZXIvLi8tfS9ORVdTIgorZGlzdGZpbGVzPSIke0dOT01FX1NJ VEV9LyR7cGtnbmFtZX0vJHtfYmFzZXZlcn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54eiIK IGNoZWNrc3VtPTFmNWY0ODE3M2QwZjI4ODIxOWQ3M2Q0ZjE5M2NiOTIxYWU2MzE5MzJiYTg0MDMw ZjA1NzUxYzQyYmIwMDNkYjIKIAotYnVpbGRfb3B0aW9ucz0iZ2lyIgotaWYgWyAteiAiJENST1NT X0JVSUxEIiBdOyB0aGVuCi0JYnVpbGRfb3B0aW9uc19kZWZhdWx0PSJnaXIiCi1maQorYnVpbGRf b3B0aW9ucz0iZ2lyIHZhbGEiCitidWlsZF9vcHRpb25zX2RlZmF1bHQ9ImdpciB2YWxhIgogCi0j IGNtYWtlIHBlcmZvbXJtcyAyIGNoZWNrcyB1c2luZyBiaW5hcnkgcnVudGltZSwgYWJvdXQgaWNv bnYgYW5kIHNmcnRpbWUuCi0jIG11c2wgKDEuMS4xNikgZG9lcyBub3Qgc3VwcG9ydCAiSVNPLTIw MjItSlAiIGVuY29kaW5nIChzZWUgaXRzIHJvYWRtYXApLAotIyBhbHRob3VnaCBldm9sdXRpb24t ZGF0YS1zZXJ2ZXIgaXMgZmluZSB3aXRoIG11c2wuCi0jIElmIGNyb3NzYnVpbGQsIGNtYWtlIGxl dCBkaXNhYmxpbmcgcnVudGltZSBjaGVja3MgdmlhIHNwZWNpZmljIGRpcmVjdGl2ZXMuCi0jIHRl c3QgaWNvbnYtZGV0ZWN0LmMgYWxzbyBnZW5lcmF0ZXMgaWNvbnYtZGV0ZWN0LmggdGhhdCBpcyBy ZXF1aXJlZCBmb3IgYnVpbGQuCi0jIFNvIGNvbXBsZXRseSBkaXNhYmxlIHRlc3QgZnJvbSBpY29u di1kZXRlY3QuYyAoY21ha2UucGF0Y2ggZmlsZSkgYW5kCi0jIHVzZSBhIGNtYWtlIGNhY2hlIGZp bGUgb24gY3Jvc3NidWlsZCB0byBkaXNhYmxlIHNmcnRpbWUgcnVubmluZyB0ZXN0LgotaWYgWyAi JENST1NTX0JVSUxEIiBdOyB0aGVuCi0JY29uZmlndXJlX2FyZ3MrPSIgLUMgZGlzYWJsZVJ1bnRp bWVUZXN0cy5jbWFrZSIKLWZpCi0KLXByZV9jb25maWd1cmUoKSB7Ci0JbWtkaXIgLXAgYnVpbGQK LQljcCAke0ZJTEVTRElSfS9pY29udi1kZXRlY3QuaCAke3dya3NyY30vYnVpbGQvLgotCWlmIFsg IiRDUk9TU19CVUlMRCIgXTsgdGhlbgotCQljcCAke0ZJTEVTRElSfS9kaXNhYmxlUnVudGltZVRl c3RzLmNtYWtlICR7d3Jrc3JjfS9idWlsZC8uCi0JZmkKK2RvX2NoZWNrKCkgeworCWNkIGJ1aWxk CisJIyBUT0RPIFRoaXMgdGVzdCBpcyBwcm9ibGVtYXRpYywgZmlyc3QgcnVuIHVzdWFsbHkgZmFp bAorCSMgU2lnbmlmeSBzb21ldGhpbmcgd3Jvbmcgd2l0aCBldm9sdXRpb24tZGF0YS1zZXJ2ZXIg b24gZmlyc3QgcnVuCisJY3Rlc3QgLVIgdGVzdC1ib29rLWNsaWVudC1jdXN0b20tc3VtbWFyeSB8 fCB0cnVlCisJIyBtYWtlIHRlc3QgcnVuIGN0ZXN0IC0tZm9yY2UtbmV3LWN0ZXN0LXByb2Nlc3Mg d2hpY2ggaXMgcHJvYmxlbWF0aWMKKwkjIG5vb25lIHNob3VsZCBydW4gbXVsdGlwbGUgaW5zdGFu Y2Ugb2YgZXZvbHV0aW9uLWRhdGEtc2VydmVyIGlybC4KKwljdGVzdAogfQogCiBwb3N0X2luc3Rh bGwoKSB7CkBAIC00OSw2ICs0Miw3IEBAIHBvc3RfaW5zdGFsbCgpIHsKIAogZXZvbHV0aW9uLWRh dGEtc2VydmVyLWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0ic3FsaXRlLWRldmVsIG1pdC1r cmI1LWRldmVsIG5zcy1kZXZlbCBuc3ByLWRldmVsIGxpYmljYWwtZGV2ZWwKKwogCQlsaWJsZGFw LWRldmVsIGxpYmdkYXRhLWRldmVsPj0wLjE1IGxpYnNlY3JldC1kZXZlbCBsaWJnbGliLWRldmVs CiAJCWxpYnNvdXAtZGV2ZWwgZ3RrKzMtZGV2ZWwgbGlieG1sMi1kZXZlbCBnbm9tZS1kZXNrdG9w LWRldmVsCiAJCSR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKQEAgLTU5LDYg KzUzLDggQEAgZXZvbHV0aW9uLWRhdGEtc2VydmVyLWRldmVsX3BhY2thZ2UoKSB7CiAJCXZtb3Zl ICJ1c3IvbGliLyouc28iCiAJCWlmIFsgIiRidWlsZF9vcHRpb25fZ2lyIiBdOyB0aGVuCiAJCQl2 bW92ZSB1c3Ivc2hhcmUvZ2lyLTEuMAorCQlmaQorCQlpZiBbICIkYnVpbGRfb3B0aW9uX3ZhbGEi IF07IHRoZW4KIAkJCXZtb3ZlIHVzci9zaGFyZS92YWxhCiAJCWZpCiAJfQoKRnJvbSA3YzhjMDVk NGIzZmZiM2Y1OWQ4NWM3ZmE3M2U1OGJkNTEzZDJiYjEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0 bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyMyBKdW4gMjAy MCAyMjo1MTozMSArMDcwMApTdWJqZWN0OiBbUEFUQ0ggNTYvNjJdIGZvbGtzOiBhZGQgYnVpbGQg b3B0aW9uIGdpciBhbmQgdmFsYQoKRGlzYWJsZSBnaXIgYW5kIHZhbGEgaW4gZXZvbHV0aW9uLWRh dGEtc2VydmVyIHdpbGwgbWFrZSBmb2xrcyBmYWlsZWQgdG8KYmUgYnVpbHQuCgpFaXRoZXIgZW5h YmxlIGJvdGggb2YgdGhlbSwgb3IgZGlzYWJsZSBib3RoIG9mIHRoZW0uCi0tLQogc3JjcGtncy9m b2xrcy90ZW1wbGF0ZSB8IDE4ICsrKysrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEz IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mb2xr cy90ZW1wbGF0ZSBiL3NyY3BrZ3MvZm9sa3MvdGVtcGxhdGUKaW5kZXggZTIxY2E5YzEwNzcuLjZk YWJlYWRhZmFmIDEwMDY0NAotLS0gYS9zcmNwa2dzL2ZvbGtzL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvZm9sa3MvdGVtcGxhdGUKQEAgLTUsMTAgKzUsMTEgQEAgcmV2aXNpb249MQogYnVpbGRfc3R5 bGU9bWVzb24KIGJ1aWxkX2hlbHBlcj1naXIKIGNvbmZpZ3VyZV9hcmdzPSItRGJfbHRvPWZhbHNl IgotaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGludGx0b29sIGdsaWItZGV2ZWwgdmFsYSBw eXRob24zIHB5dGhvbjMtZGJ1c21vY2sKLSBnb2JqZWN0LWludHJvc3BlY3Rpb24gZXZvbHV0aW9u LWRhdGEtc2VydmVyLWRldmVsIgoraG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGludGx0b29s IGdsaWItZGV2ZWwgcHl0aG9uMyBweXRob24zLWRidXNtb2NrCisgZXZvbHV0aW9uLWRhdGEtc2Vy dmVyLWRldmVsICQodm9wdF9pZiB2YWxhIHZhbGEpIgogbWFrZWRlcGVuZHM9InJlYWRsaW5lLWRl dmVsIHRlbGVwYXRoeS1nbGliLWRldmVsIHplaXRnZWlzdC1kZXZlbAotIGxpYmdlZTA4LWRldmVs IGV2b2x1dGlvbi1kYXRhLXNlcnZlci1kZXZlbCB0cmFja2VyLWRldmVsIgorIGxpYmdlZTA4LWRl dmVsIGV2b2x1dGlvbi1kYXRhLXNlcnZlci1kZXZlbCB0cmFja2VyLWRldmVsCisgJCh2b3B0X2lm IHZhbGEgdmFsYS1kZXZlbCkiCiBkZXBlbmRzPSJ6ZWl0Z2Vpc3QiCiBzaG9ydF9kZXNjPSJHT2Jq ZWN0IExpYnJhcnkgdG8gYWdncmVnYXRlIHBlb3BsZSBpbnRvIG1ldGFjb250YWN0cyIKIG1haW50 YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCkBAIC0xNyw2ICsxOCw5 IEBAIGhvbWVwYWdlPSJodHRwczovL3dpa2kuZ25vbWUub3JnL1Byb2plY3RzL0ZvbGtzIgogZGlz dGZpbGVzPSIke0dOT01FX1NJVEV9LyR7cGtnbmFtZX0vJHt2ZXJzaW9uJS4qfS8ke3BrZ25hbWV9 LSR7dmVyc2lvbn0udGFyLnh6IgogY2hlY2tzdW09ZDZlNzc4ZGE2MzdkM2IzM2ZkOWE2YjQ1MTE1 ZTgxNTdkODg2ODIxMWRjMDhiOTQzZDEwNzViNWViNzI4MmJiOQogCitidWlsZF9vcHRpb25zPSJn aXIgdmFsYSIKK2J1aWxkX29wdGlvbnNfZGVmYXVsdD0iZ2lyIHZhbGEiCisKIGZvbGtzLWRldmVs X3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHttYWtlZGVwZW5kc30gJHtzb3VyY2Vwa2d9Pj0ke3Zl cnNpb259XyR7cmV2aXNpb259IgogCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIK QEAgLTI0LDcgKzI4LDExIEBAIGZvbGtzLWRldmVsX3BhY2thZ2UoKSB7CiAJCXZtb3ZlIHVzci9p bmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlICJ1c3IvbGliLyouc28i Ci0JCXZtb3ZlIHVzci9zaGFyZS92YWxhCi0JCXZtb3ZlIHVzci9zaGFyZS9naXItMS4wCisJCWlm IFsgIiRidWlsZF9vcHRpb25fZ2lyIiBdOyB0aGVuCisJCQl2bW92ZSB1c3Ivc2hhcmUvZ2lyLTEu MAorCQlmaQorCQlpZiBbICIkYnVpbGRfb3B0aW9uX3ZhbGEiIF07IHRoZW4KKwkJCXZtb3ZlIHVz ci9zaGFyZS92YWxhCisJCWZpCiAJfQogfQoKRnJvbSBjYmZhYTJiZDdiNWFhNmNlNTJjNTZjOGY0 ZTg2NjI2Njk3MmMzNjg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/ PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25n ZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyMyBKdW4gMjAyMCAyMjo1Mjo1MCArMDcwMApT dWJqZWN0OiBbUEFUQ0ggNTcvNjJdIG5hdXRpbHVzOiBjb3JyZWN0IGNoZWNrZGVwZW5kcwoKLS0t CiBzcmNwa2dzL25hdXRpbHVzL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9uYXV0aWx1cy90 ZW1wbGF0ZSBiL3NyY3BrZ3MvbmF1dGlsdXMvdGVtcGxhdGUKaW5kZXggOTRjYjEwNDkyY2EuLmM2 ZmFmN2JmM2Q3IDEwMDY0NAotLS0gYS9zcmNwa2dzL25hdXRpbHVzL3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvbmF1dGlsdXMvdGVtcGxhdGUKQEAgLTExLDcgKzExLDcgQEAgbWFrZWRlcGVuZHM9ImV4 ZW1waS1kZXZlbCBnbm9tZS1hdXRvYXItZGV2ZWwgZ25vbWUtZGVza3RvcC1kZXZlbCBndGsrMy1k ZXZlbAogIGxpYlgxMS1kZXZlbCBsaWJ4bWwyLWRldmVsIHRyYWNrZXItZGV2ZWwgZ3N0LXBsdWdp bnMtYmFzZTEtZGV2ZWwiCiBkZXBlbmRzPSJkZXNrdG9wLWZpbGUtdXRpbHMgZ3NldHRpbmdzLWRl c2t0b3Atc2NoZW1hcyBoaWNvbG9yLWljb24tdGhlbWUKICB0cmFja2VyLW1pbmVycyB0cmFja2Vy IgotY2hlY2tkZXBlbmRzPSJ0cmFja2VyIgorY2hlY2tkZXBlbmRzPSJ0cmFja2VyIHRyYWNrZXIt bWluZXJzIgogc2hvcnRfZGVzYz0iR05PTUUgZmlsZSBtYW5hZ2VyIgogbWFpbnRhaW5lcj0iRW5u byBCb2xhbmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0 ZXIsIExHUEwtMi4xLW9yLWxhdGVyIgoKRnJvbSA3OGY2YzhkZTQ0ZGM5MGY2YTJjNDRhYWY5YjM3 ZDdlZDI4YjY3ZTE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0 PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFu aHF4QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyMyBKdW4gMjAyMCAyMjo1MzoxNCArMDcwMApTdWJq ZWN0OiBbUEFUQ0ggNTgvNjJdIHRyYWNrZXI6IGFkZCB0YXIgdG8gY2hlY2tkZXBlbmRzCgotLS0K IHNyY3BrZ3MvdHJhY2tlci90ZW1wbGF0ZSB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy90cmFja2VyL3RlbXBsYXRlIGIvc3JjcGtncy90 cmFja2VyL3RlbXBsYXRlCmluZGV4IGU4MTRmNzdjNzExLi4xOTMzOGRiNDVlMSAxMDA2NDQKLS0t IGEvc3JjcGtncy90cmFja2VyL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvdHJhY2tlci90ZW1wbGF0 ZQpAQCAtMTEsNiArMTEsNyBAQCBob3N0bWFrZWRlcGVuZHM9ImdldHRleHQgcGtnLWNvbmZpZyBn bGliLWRldmVsIHZhbGEiCiBtYWtlZGVwZW5kcz0iZGJ1cy1kZXZlbCBsaWJnbGliLWRldmVsIGlj dS1kZXZlbCBqc29uLWdsaWItZGV2ZWwKICBsaWJzb3VwLWRldmVsIGxpYnhtbDItZGV2ZWwgc3Fs aXRlLWRldmVsIE5ldHdvcmtNYW5hZ2VyLWRldmVsCiAgYmFzaC1jb21wbGV0aW9uIgorY2hlY2tk ZXBlbmRzPSJ0YXIiCiBzaG9ydF9kZXNjPSJQZXJzb25hbCBzZWFyY2ggdG9vbCBhbmQgc3RvcmFn ZSBzeXN0ZW0iCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+Igog bGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKCkZyb20gY2JiZGQ5M2NmYTYwZmI4MDBlYzBhMzc0 NGVhZmE3YTM4NjFlMTE0NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9x Pz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29u Z2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMjMgSnVuIDIwMjAgMjI6NTM6NTUgKzA3MDAK U3ViamVjdDogW1BBVENIIDU5LzYyXSB0cmFja2VyLW1pbmVyczogc2ltcGxpZnkgdGVtcGxhdGUK Ci0tLQogc3JjcGtncy90cmFja2VyLW1pbmVycy90ZW1wbGF0ZSB8IDcgKystLS0tLQogMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmNwa2dzL3RyYWNrZXItbWluZXJzL3RlbXBsYXRlIGIvc3JjcGtncy90cmFja2VyLW1pbmVycy90 ZW1wbGF0ZQppbmRleCAwMjBjMTI0ZjMyMi4uYTVhZDY1ZDc0NDEgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvdHJhY2tlci1taW5lcnMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy90cmFja2VyLW1pbmVycy90 ZW1wbGF0ZQpAQCAtMyw2ICszLDcgQEAgcGtnbmFtZT10cmFja2VyLW1pbmVycwogdmVyc2lvbj0y LjMuMQogcmV2aXNpb249MwogYnVpbGRfc3R5bGU9bWVzb24KKyMgTWlzc2luZyBsaWJncnNzCiBj b25maWd1cmVfYXJncz0iLUR0cmFja2VyX2NvcmU9c3lzdGVtIC1EZG9jcz1mYWxzZSAtRGV4dHJh Y3Q9dHJ1ZQogIC1EZnVuY3Rpb25hbF90ZXN0cz1mYWxzZSAtRGN1ZT1lbmFibGVkIC1EZXhpZj1l bmFibGVkIC1EZmxhYz1lbmFibGVkCiAgLURnaWY9ZW5hYmxlZCAtRGdzZj1lbmFibGVkIC1EaXB0 Yz1lbmFibGVkIC1EaXNvPWVuYWJsZWQgLURqcGVnPWVuYWJsZWQKQEAgLTE3LDE0ICsxOCwxMCBA QCBtYWtlZGVwZW5kcz0idHJhY2tlci1kZXZlbCBmZm1wZWctZGV2ZWwgZGJ1cy1kZXZlbCBleGVt cGktZGV2ZWwgbGliZmxhYy1kZXZlbAogIGxpYmV4aWYtZGV2ZWwgbGliZ3NmLWRldmVsIGxpYmd4 cHMtZGV2ZWwgbGliaXB0Y2RhdGEtZGV2ZWwgbGlianBlZy10dXJiby1kZXZlbAogIGxpYm9zaW5m by1kZXZlbCBsaWJwbmctZGV2ZWwgbGlic2VjY29tcC1kZXZlbCB0aWZmLWRldmVsIGxpYnhtbDIt ZGV2ZWwKICBsaWJ2b3JiaXMtZGV2ZWwgcG9wcGxlci1nbGliLWRldmVsIHRhZ2xpYi1kZXZlbCB0 b3RlbS1wbC1wYXJzZXItZGV2ZWwKLSB1cG93ZXItZGV2ZWwgemxpYi1kZXZlbCBnc3QtcGx1Z2lu cy1iYXNlMS1kZXZlbCBnaWZsaWItZGV2ZWwiCisgdXBvd2VyLWRldmVsIHpsaWItZGV2ZWwgZ3N0 LXBsdWdpbnMtYmFzZTEtZGV2ZWwgZ2lmbGliLWRldmVsIGxpYmhhcmZidXp6Igogc2hvcnRfZGVz Yz0iRGF0YSBtaW5lcnMgZm9yIHRyYWNrZXIiCiBtYWludGFpbmVyPSJFbm5vIEJvbGFuZCA8Z290 dG94QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdl PSJodHRwczovL2RldmVsb3Blci5nbm9tZS5vcmcvbGlidHJhY2tlci1taW5lci9zdGFibGUiCiBk aXN0ZmlsZXM9IiR7R05PTUVfU0lURX0vdHJhY2tlci1taW5lcnMvJHt2ZXJzaW9uJS4qfS90cmFj a2VyLW1pbmVycy0ke3ZlcnNpb259LnRhci54eiIKIGNoZWNrc3VtPTdiMWRlMDZhN2E3OWVhMWM3 ODEzYzhhMjFmOGNkMWM1NWYyYjk1Zjc5OWNmOWY0N2YwMjA0ZjNiZThhNTkwZTAKLQotIyBNaXNz aW5nIGxpYmdyc3MKLWNvbmZpZ3VyZV9hcmdzKz0iIC1EbWluZXJfcnNzPWZhbHNlIgotbWFrZWRl cGVuZHMrPSIgbGliaGFyZmJ1enoiCgpGcm9tIGRiMTVlYjQyNDM0ZDA1MmE5MWZlODgzMjEzZDkx OWYyNjUwZTYyNzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9 OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5o cXhAZ21haWwuY29tPgpEYXRlOiBXZWQsIDI0IEp1biAyMDIwIDIzOjE4OjQwICswNzAwClN1Ympl Y3Q6IFtQQVRDSCA2MC82Ml0gZ25vbWUtc2hlbGw6IGFkZCBkb19jaGVjawoKLS0tCiBzcmNwa2dz L2dub21lLXNoZWxsL3RlbXBsYXRlIHwgMTcgKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFu Z2VkLCAxNyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbm9tZS1zaGVsbC90 ZW1wbGF0ZSBiL3NyY3BrZ3MvZ25vbWUtc2hlbGwvdGVtcGxhdGUKaW5kZXggZWU0YzYyODhmNWYu LmRlYjkyMmEwOWFkIDEwMDY0NAotLS0gYS9zcmNwa2dzL2dub21lLXNoZWxsL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvZ25vbWUtc2hlbGwvdGVtcGxhdGUKQEAgLTE1LDYgKzE1LDcgQEAgbWFrZWRl cGVuZHM9ImF0LXNwaTItYXRrIGNhcmlib3UtZGV2ZWwgZXZvbHV0aW9uLWRhdGEtc2VydmVyLWRl dmVsIGZvbGtzLWRldmVsCiAgbmV0d29yay1tYW5hZ2VyLWFwcGxldC1kZXZlbCBwb2xraXQtZGV2 ZWwgcHVsc2VhdWRpby1kZXZlbAogIHN0YXJ0dXAtbm90aWZpY2F0aW9uLWRldmVsIHRlbGVwYXRo eS1sb2dnZXItZGV2ZWwgZ25vbWUtYXV0b2FyLWRldmVsIgogZGVwZW5kcz0iY2FyaWJvdSBlbG9n aW5kIGdseGluZm8gZ25vbWUtY29udHJvbC1jZW50ZXIgZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1h cyB1cG93ZXIiCitjaGVja2RlcGVuZHM9IiRkZXBlbmRzIGFjY291bnRzc2VydmljZSBnZG0geG9y Zy1zZXJ2ZXIteHZmYiBwaXBld2lyZSBtZXNhLWRyaSBkYnVzLXgxMSIKIHNob3J0X2Rlc2M9IkdO T01FIGNvcmUgdXNlciBpbnRlcmZhY2UiCiBtYWludGFpbmVyPSJFbm5vIEJvbGFuZCA8Z290dG94 QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKQEAgLTIyLDMgKzIz LDE5IEBAIGhvbWVwYWdlPSJodHRwczovL3dpa2kuZ25vbWUub3JnL1Byb2plY3RzL0dub21lU2hl bGwiCiBjaGFuZ2Vsb2c9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9HTk9NRS9n bm9tZS1zaGVsbC9nbm9tZS0zLTMwL05FV1MiCiBkaXN0ZmlsZXM9IiR7R05PTUVfU0lURX0vJHtw a2duYW1lfS8ke3ZlcnNpb24lLip9LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoiCiBjaGVj a3N1bT04NmQ4YWJmNzBmYWI4OWQ1ZDkzOWRkN2UzOGM1OTg3MjQ5MmY0NDQyNzJhODUyNGRiNzk0 NTBhNTE4MGQ0NWJiCisKK2RvX2NoZWNrKCkgeworCWxvY2FsIF9waWQKKwlleHBvcnQgRElTUExB WT06MQorCWV4cG9ydCBYREdfUlVOVElNRV9ESVI9L3RtcAorCVh2ZmIgOjEgLXNjcmVlbiAwIDEz NjZ4NzY4eDI0ICYKKwlfcGlkPSQhCisJdHJhcCAia2lsbCAkX3BpZCIgRVhJVAorCXRyYXAgJ2V4 aXQgMScgSU5UIEhVUCBURVJNCisJZXZhbCAkKGRidXMtbGF1bmNoKQorCWV4cG9ydCBEQlVTX1NF U1NJT05fQlVTX0FERFJFU1MKKwluaW5qYSB0ZXN0IC1DIGJ1aWxkCisJIyB0cmFwIGlzIGhhbmdp bmcgb24gbm9ybWFsIGV4aXQsIGRidXM/CisJdHJhcCAtIEVYSVQgSU5UIEhVUCBURVJNCisJa2ls bCAkX3BpZCB8fCB0cnVlCit9CgpGcm9tIDUwODM4NDA2ZGJhMjMzYjdiNTExNGUwNTExODRkMzc1 NGQ3Zjk2ZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBv PUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhA Z21haWwuY29tPgpEYXRlOiBTdW4sIDIxIEp1biAyMDIwIDE1OjU0OjQ2ICswNzAwClN1YmplY3Q6 IFtQQVRDSCA2MS82Ml0gY29tbW9uL3NobGliczogZml4IGZvciBsaWJoaWRyZF9pdGVtLnNvLjAK Ci0tLQogY29tbW9uL3NobGlicyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hs aWJzCmluZGV4IDIzZTBjOGY2ODVhLi43OTQ3OTcwMzczZiAxMDA2NDQKLS0tIGEvY29tbW9uL3No bGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0zOTcyLDcgKzM5NzIsNyBAQCBsaWJqcGVneHIu c28uMCBqeHJsaWItMC4yLjJfMQogbGlianhyZ2x1ZS5zby4wIGp4cmxpYi0wLjIuMl8xCiBsaWJo aWRyZF91dGlsLnNvLjAgaGlkcmQtMC4yLjBfMQogbGliaGlkcmRfdXNhZ2Uuc28uMCBoaWRyZC0w LjIuMF8xCi1saWJoaWRyZF9pdGVtLnNvLjAKK2xpYmhpZHJkX2l0ZW0uc28uMCBoaWRyZC0wLjIu MF8xCiBsaWJoaWRyZF9vcHQuc28uMCBoaWRyZC0wLjIuMF8xCiBsaWJoaWRyZF9zdHJtLnNvLjAg aGlkcmQtMC4yLjBfMQogbGliaGlkcmRfZm10LnNvLjAgaGlkcmQtMC4yLjBfMQoKRnJvbSBlNjA2 YmYwNzgwNTc3MzM1YzQyYjdlOTUxNjllOTJmOTdjYWYzZWI0IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMz PUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAyIEp1bCAy MDIwIDA5OjE3OjMxICswNzAwClN1YmplY3Q6IFtQQVRDSCA2Mi82Ml0gZml4dXAhIGV2b2x1dGlv bi1kYXRhLXNlcnZlcjogc3BsaXQgdmFsYSBidWlsZCBvcHRpb24KIGZyb20gZ2lyCgpbY2kgc2tp cF0KLS0tCiBzcmNwa2dzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci90ZW1wbGF0ZSB8IDQyICsrKysr KysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZXZvbHV0aW9uLWRhdGEtc2VydmVy L3RlbXBsYXRlIGIvc3JjcGtncy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvdGVtcGxhdGUKaW5kZXgg ODIyZDU5ZTY5MjIuLjcwNWNlMDkzMTE1IDEwMDY0NAotLS0gYS9zcmNwa2dzL2V2b2x1dGlvbi1k YXRhLXNlcnZlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci90 ZW1wbGF0ZQpAQCAtMjYsNiArMjYsNDcgQEAgY2hlY2tzdW09MWY1ZjQ4MTczZDBmMjg4MjE5ZDcz ZDRmMTkzY2I5MjFhZTYzMTkzMmJhODQwMzBmMDU3NTFjNDJiYjAwM2RiMgogYnVpbGRfb3B0aW9u cz0iZ2lyIHZhbGEiCiBidWlsZF9vcHRpb25zX2RlZmF1bHQ9ImdpciB2YWxhIgogCitwcmVfYnVp bGQoKSB7CisJWyAteiAiJENST1NTX0JVSUxEIiBdICYmIHJldHVybiAwCisJbG9jYWwgX2Rpcj0K Kwlmb3IgX2RpciBpbiBsaWJlYmFja2VuZCBsaWJlZGF0YXNlcnZlciBsaWJlZGF0YXNlcnZlcnVp IFwKKwkJYWRkcmVzc2Jvb2svbGliZWJvb2stY29udGFjdHMgXAorCQlhZGRyZXNzYm9vay9saWJl ZGF0YS1ib29rIFwKKwkJYWRkcmVzc2Jvb2svbGliZWJvb2sgXAorCQljYWxlbmRhci9saWJlY2Fs IFwKKwkJY2FsZW5kYXIvbGliZWRhdGEtY2FsCisJZG8KKwkJbG4gLXJzZiAkd3Jrc3JjL2J1aWxk L3NyYy9wcml2YXRlL2xpYmVkYnVzLXByaXZhdGUuc28gYnVpbGQvc3JjLyRfZGlyCisJZG9uZQor CisJZm9yIF9kaXIgaW4gYWRkcmVzc2Jvb2svbGliZWJvb2stY29udGFjdHMgXAorCQljYWxlbmRh ci9saWJlY2FsIGNhbGVuZGFyL2xpYmVkYXRhLWNhbAorCWRvCisJCWxuIC1zZiAuLi8uLi9jYW1l bC9saWJjYW1lbC0xLjIuc28uNjIgYnVpbGQvc3JjLyRfZGlyCisJZG9uZQorCisJZm9yIF9kaXIg aW4gYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vayBhZGRyZXNzYm9vay9saWJlYm9vayBcCisJCWNh bGVuZGFyL2xpYmVkYXRhLWNhbAorCWRvCisJCWxuIC1zZiAuLi8uLi9saWJlYmFja2VuZC9saWJl YmFja2VuZC0xLjIuc28uMTAgYnVpbGQvc3JjLyRfZGlyCisJZG9uZQorCisJbG4gLXNmIC4uLy4u L2xpYmVkYXRhc2VydmVyL2xpYmVkYXRhc2VydmVyLTEuMi5zby4yNCBidWlsZC9zcmMvY2FsZW5k YXIvbGliZWNhbAorCXJldHVybgorCSMgaWRlYWxseSBxZW11IHNob3VsZCBwaWNrIGJlbG93IExE X0xJQkFSWV9QQVRICisJIyBpbnN0ZWFkIG9mIGFib3ZlIHNoZW5hbmlnYW5zCisJIyBCdXQgaXQg ZG9lc24ndCB3b3JrIGZvciBub3csIGxlZnQgaXQgaGVyZSBhcyBmdXR1cmUgcmVmZXJlbmNlLgor CSMgVE9ETyBmaWd1cmUgYSBiZXR0ZXIgbWV0aG9kcworCV9idWlsZGRpcj0kd3Jrc3JjL2J1aWxk CisJX2xkX2xpYnJhcnlfcGF0aD0kX2J1aWxkZGlyOiRfYnVpbGRkaXIvc3JjCisJZm9yIF9kaXIg aW4gbGliZWRhdGFzZXJ2ZXIgcHJpdmF0ZSBjYW1lbAorCWRvCisJCV9sZF9saWJyYXJ5X3BhdGgr PSI6JF9idWlsZGRpci9zcmMvJF9kaXIiCisJZG9uZQorCV9sZF9saWJyYXJ5X3BhdGgrPSI6JFhC UFNfQ1JPU1NfQkFTRS91c3IvbGliIgorCWV4cG9ydCBRRU1VX1NFVF9FTlY9TERfTElCQVJZX1BB VEg9JF9sZF9saWJyYXJ5X3BhdGgKK30KKwogZG9fY2hlY2soKSB7CiAJY2QgYnVpbGQKIAkjIFRP RE8gVGhpcyB0ZXN0IGlzIHByb2JsZW1hdGljLCBmaXJzdCBydW4gdXN1YWxseSBmYWlsCkBAIC00 Miw3ICs4Myw2IEBAIHBvc3RfaW5zdGFsbCgpIHsKIAogZXZvbHV0aW9uLWRhdGEtc2VydmVyLWRl dmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0ic3FsaXRlLWRldmVsIG1pdC1rcmI1LWRldmVsIG5z cy1kZXZlbCBuc3ByLWRldmVsIGxpYmljYWwtZGV2ZWwKLQogCQlsaWJsZGFwLWRldmVsIGxpYmdk YXRhLWRldmVsPj0wLjE1IGxpYnNlY3JldC1kZXZlbCBsaWJnbGliLWRldmVsCiAJCWxpYnNvdXAt ZGV2ZWwgZ3RrKzMtZGV2ZWwgbGlieG1sMi1kZXZlbCBnbm9tZS1kZXNrdG9wLWRldmVsCiAJCSR7 c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIK --===============2332765192468717456==--