From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [OSSTEST PATCH 04/26] rumprun: Rename all `rumpuserxen' to `rumprun' Date: Mon, 5 Sep 2016 15:02:12 +0100 Message-ID: <1473084154-396-5-git-send-email-ian.jackson@eu.citrix.com> References: <1473084154-396-1-git-send-email-ian.jackson@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bguUC-0004zi-Ut for xen-devel@lists.xenproject.org; Mon, 05 Sep 2016 14:02:57 +0000 In-Reply-To: <1473084154-396-1-git-send-email-ian.jackson@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Ian Jackson List-Id: xen-devel@lists.xenproject.org VGhlIG5hbWVzIGhhdmUgY2hhbmdlZCB1cHN0cmVhbS4KClNpbmNlIHVwc3RyZWFtIGlzIG5vIGxv bmdlciBjb21wYXRpYmxlIGFuZCB0aGVzZSB0ZXN0cyBoYXZlIGJlZW4KZmFpbGluZyBzaW5jZSB0 aGVuLCB3ZSBhcmUgZ29pbmcgdG8gdHJlYXQgdGhpcyBhcyBhbiBlbnRpcmVseSBuZXcgdGVzdApz ZXJpZXMuCgpJbiB0aGlzIHBhdGNoIHdlIHJlbmFtZSBldmVyeXRoaW5nIG1lY2hhbmljYWxseS4g IE1vcmUgaW50ZXJlc3RpbmcKY2hhbmdlcyB3aWxsIGNvbWUgbGF0ZXIuCgpnaXQtbXYgLWYgdHMt cnVtcHVzZXJ4ZW4tYnVpbGQgdHMtcnVtcHJ1bi1idWlsZApnaXQtbXYgLWYgdHMtcnVtcHVzZXJ4 ZW4tZGVtby1zZXR1cCB0cy1ydW1wcnVuLWRlbW8tc2V0dXAKZ2l0LW12IC1mIHRzLXJ1bXB1c2Vy eGVuLWRlbW8teGVuc3RvcmVscyB0cy1ydW1wcnVuLWRlbW8teGVuc3RvcmVscwoKZ2l0LWxzLWZp bGVzIHwgeGFyZ3MgcGVybCAtaX4gLXBlICdzL3J1bXB1c2VyeGVuL3J1bXBydW4vZycKZ2l0LWxz LWZpbGVzIHwgeGFyZ3MgcGVybCAtaX4gLXBlICdzLyhffFxiKXJ1bXB1c2VyeGVuKF98XGIpLyQx cnVtcHJ1biQyL2cnCgpTaWduZWQtb2ZmLWJ5OiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUu Y2l0cml4LmNvbT4KLS0tCiBhbGxvdy5hbGwgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0K IGFsbG93LnJ1bXB1c2VyeGVuICAgICAgICAgICAgICB8ICAgMiArLQogYXAtY29tbW9uICAgICAg ICAgICAgICAgICAgICAgIHwgIDE2ICsrKy0tLQogYXAtZmV0Y2gtdmVyc2lvbiAgICAgICAgICAg ICAgIHwgICA2ICstCiBhcC1mZXRjaC12ZXJzaW9uLW9sZCAgICAgICAgICAgfCAgIDggKy0tCiBh cC1wcmludC11cmwgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KIGFwLXB1c2ggICAgICAgICAg ICAgICAgICAgICAgICB8ICAgOCArLS0KIGNyLWRhaWx5LWJyYW5jaCAgICAgICAgICAgICAgICB8 ICAxMiArKy0tCiBjcmktY29tbW9uICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIGNyb250 YWIgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogbWFrZS1mbGlnaHQgICAgICAgICAg ICAgICAgICAgIHwgIDE0ICsrLS0tCiBtZmktY29tbW9uICAgICAgICAgICAgICAgICAgICAgfCAg MTYgKysrLS0tCiBzZy1ydW4tam9iICAgICAgICAgICAgICAgICAgICAgfCAgMTggKysrLS0tCiB0 cy1ydW1wcnVuLWJ1aWxkICAgICAgICAgICAgICAgfCAxMjYgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIHRzLXJ1bXBydW4tZGVtby1zZXR1cCAgICAgICAgICB8ICA5 MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHRzLXJ1bXBydW4tZGVtby14ZW5zdG9y ZWxzICAgICB8IDEyNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB0 cy1ydW1wdXNlcnhlbi1idWlsZCAgICAgICAgICAgfCAxMjYgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KIHRzLXJ1bXB1c2VyeGVuLWRlbW8tc2V0dXAgICAgICB8ICA5 MiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHRzLXJ1bXB1c2VyeGVuLWRlbW8teGVu c3RvcmVscyB8IDEyNCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAx OSBmaWxlcyBjaGFuZ2VkLCAzOTkgaW5zZXJ0aW9ucygrKSwgMzk5IGRlbGV0aW9ucygtKQogY3Jl YXRlIG1vZGUgMTAwNzU1IHRzLXJ1bXBydW4tYnVpbGQKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0cy1y dW1wcnVuLWRlbW8tc2V0dXAKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0cy1ydW1wcnVuLWRlbW8teGVu c3RvcmVscwogZGVsZXRlIG1vZGUgMTAwNzU1IHRzLXJ1bXB1c2VyeGVuLWJ1aWxkCiBkZWxldGUg bW9kZSAxMDA3NTUgdHMtcnVtcHVzZXJ4ZW4tZGVtby1zZXR1cAogZGVsZXRlIG1vZGUgMTAwNzU1 IHRzLXJ1bXB1c2VyeGVuLWRlbW8teGVuc3RvcmVscwoKZGlmZiAtLWdpdCBhL2FsbG93LmFsbCBi L2FsbG93LmFsbAppbmRleCA3ODVkMGIyLi5jNGEyODU0IDEwMDY0NAotLS0gYS9hbGxvdy5hbGwK KysrIGIvYWxsb3cuYWxsCkBAIC0yLDYgKzIsNiBAQCB0ZXN0LUBALXJ0ZHNAQAogYnVpbGQtQEAg ICAgICAgICAgICAgICAgICAgICAgICBsb2dzLWNhcHR1cmVAQAogdGVzdC1AQC1wY2lwdEBACiB0 ZXN0LUBALXFlbXV1LUBACQlndWVzdC1sb2NhbG1pZ3JhdGUKLXRlc3QtQEAtcnVtcHVzZXJ4ZW5A QAkJcnVtcHVzZXJ4ZW4tZGVtby14ZW5zdG9yZWxzL3hlbnN0b3JlbHMKK3Rlc3QtQEAtcnVtcHJ1 bkBACQlydW1wcnVuLWRlbW8teGVuc3RvcmVscy94ZW5zdG9yZWxzCiB0ZXN0LUBALXdpbjctQEAJ CQlndWVzdC1zdG9wCi10ZXN0LUBALXJ1bXB1c2VyeGVuLUBACQlydW1wdXNlcnhlbi1kZW1vLXhl bnN0b3JlbHMveGVuc3RvcmVscy5yZXBlYXQKK3Rlc3QtQEAtcnVtcHJ1bi1AQAkJcnVtcHJ1bi1k ZW1vLXhlbnN0b3JlbHMveGVuc3RvcmVscy5yZXBlYXQKZGlmZiAtLWdpdCBhL2FsbG93LnJ1bXB1 c2VyeGVuIGIvYWxsb3cucnVtcHVzZXJ4ZW4KaW5kZXggZDkwMzRhMi4uNDM2NDE3YiAxMDA2NDQK LS0tIGEvYWxsb3cucnVtcHVzZXJ4ZW4KKysrIGIvYWxsb3cucnVtcHVzZXJ4ZW4KQEAgLTEgKzEg QEAKLSF0ZXN0LUBALXJ1bXB1c2VyeGVuLUBACQlydW1wdXNlcnhlbi1kZW1vLXhlbnN0b3JlbHMv eGVuc3RvcmVscy5yZXBlYXQKKyF0ZXN0LUBALXJ1bXBydW4tQEAJCXJ1bXBydW4tZGVtby14ZW5z dG9yZWxzL3hlbnN0b3JlbHMucmVwZWF0CmRpZmYgLS1naXQgYS9hcC1jb21tb24gYi9hcC1jb21t b24KaW5kZXggMTljNzU4MC4uNmZlM2I3OCAxMDA2NDQKLS0tIGEvYXAtY29tbW9uCisrKyBiL2Fw LWNvbW1vbgpAQCAtMzcsMTUgKzM3LDE1IEBACiA6ICR7UFVTSF9UUkVFX0xJQlZJUlQ6PSRYRU5C SVRTOi9ob21lL3hlbi9naXQvbGlidmlydC5naXR9CiA6ICR7QkFTRV9UUkVFX0xJQlZJUlQ6PWdp dDovL3hlbmJpdHMueGVuLm9yZy9saWJ2aXJ0LmdpdH0KIAotOiAke1RSRUVfUlVNUFVTRVJYRU46 PWh0dHBzOi8vZ2l0aHViLmNvbS9ydW1wa2VybmVsL3J1bXBydW4teGVufQotOiAke1RSRUVWQ1Nf UlVNUFVTRVJYRU46PWdpdH0KLTogJHtCQVNFX1RSRUVfUlVNUFVTRVJYRU46PWdpdDovL3hlbmJp dHMueGVuLm9yZy9ydW1wdXNlci14ZW4uZ2l0fQotOiAke1BVU0hfVFJFRV9SVU1QVVNFUlhFTjo9 JFhFTkJJVFM6L2hvbWUveGVuL2dpdC9ydW1wdXNlci14ZW4uZ2l0fQorOiAke1RSRUVfUlVNUFJV Tjo9aHR0cHM6Ly9naXRodWIuY29tL3J1bXBrZXJuZWwvcnVtcHJ1bi14ZW59Cis6ICR7VFJFRVZD U19SVU1QUlVOOj1naXR9Cis6ICR7QkFTRV9UUkVFX1JVTVBSVU46PWdpdDovL3hlbmJpdHMueGVu Lm9yZy9ydW1wdXNlci14ZW4uZ2l0fQorOiAke1BVU0hfVFJFRV9SVU1QUlVOOj0kWEVOQklUUzov aG9tZS94ZW4vZ2l0L3J1bXB1c2VyLXhlbi5naXR9CiAKLTogJHtUUkVFX1JVTVBVU0VSWEVOX1JV TVBTUkM6PSQoYmVzdGVmZm9ydF9yZXBvIGh0dHBzOi8vZ2l0aHViLmNvbS9ydW1wa2VybmVsL3J1 bXBrZXJuZWwtbmV0YnNkLXNyYyl9Ci06ICR7VFJFRVZDU19SVU1QVVNFUlhFTl9SVU1QU1JDOj1n aXR9Cis6ICR7VFJFRV9SVU1QUlVOX1JVTVBTUkM6PSQoYmVzdGVmZm9ydF9yZXBvIGh0dHBzOi8v Z2l0aHViLmNvbS9ydW1wa2VybmVsL3J1bXBrZXJuZWwtbmV0YnNkLXNyYyl9Cis6ICR7VFJFRVZD U19SVU1QUlVOX1JVTVBTUkM6PWdpdH0KICMgcnVtcHNyYy1yZWxhdGVkIHJ1bnZhcnMgbmVlZGVk IG9ubHkgZm9yIG9sZCBydW1wdXNlci14ZW4KLSMgKGllIG9uZXMgd2hpY2ggbmVlZCAkYm9kZ2Vz PTEgaW4gdHMtcnVtcHVzZXJ4ZW4tYnVpbGQpCisjIChpZSBvbmVzIHdoaWNoIG5lZWQgJGJvZGdl cz0xIGluIHRzLXJ1bXBydW4tYnVpbGQpCiAKIDogJHtUUkVFX1NFQUJJT1NfVVBTVFJFQU06PWdp dDovL2dpdC5zZWFiaW9zLm9yZy9zZWFiaW9zLmdpdH0KIDogJHtQVVNIX1RSRUVfU0VBQklPUzo9 JFhFTkJJVFM6L2hvbWUveGVuL2dpdC9vc3N0ZXN0L3NlYWJpb3MuZ2l0fQpAQCAtNzksNyArNzks NyBAQCBmaQogOiAke0xPQ0FMUkVWX1hFTjo9ZGFpbHktY3Jvbi4kYnJhbmNofQogOiAke0xPQ0FM UkVWX0xJTlVYOj1kYWlseS1jcm9uLiRicmFuY2h9CiA6ICR7TE9DQUxSRVZfTElCVklSVDo9ZGFp bHktY3Jvbi4kYnJhbmNofQotOiAke0xPQ0FMUkVWX1JVTVBVU0VSWEVOOj1kYWlseS1jcm9uLiRi cmFuY2h9Cis6ICR7TE9DQUxSRVZfUlVNUFJVTjo9ZGFpbHktY3Jvbi4kYnJhbmNofQogOiAke0xP Q0FMUkVWX1NFQUJJT1M6PWRhaWx5LWNyb24uJGJyYW5jaH0KIDogJHtMT0NBTFJFVl9PVk1GOj1k YWlseS1jcm9uLiRicmFuY2h9CiAKZGlmZiAtLWdpdCBhL2FwLWZldGNoLXZlcnNpb24gYi9hcC1m ZXRjaC12ZXJzaW9uCmluZGV4IGYyNmQ2MGEuLjg1NjIxNTkgMTAwNzU1Ci0tLSBhL2FwLWZldGNo LXZlcnNpb24KKysrIGIvYXAtZmV0Y2gtdmVyc2lvbgpAQCAtOTAsOSArOTAsOSBAQCBsaWJ2aXJ0 KQogCXJlcG9fdHJlZV9yZXZfZmV0Y2hfZ2l0IGxpYnZpcnQgXAogCQkkVFJFRV9MSUJWSVJUIG1h c3RlciAkTE9DQUxSRVZfTElCVklSVAogCTs7Ci1ydW1wdXNlcnhlbikKLQlyZXBvX3RyZWVfcmV2 X2ZldGNoX2dpdCBydW1wdXNlcnhlbiBcCi0JCSRUUkVFX1JVTVBVU0VSWEVOIG1hc3RlciAkTE9D QUxSRVZfUlVNUFVTRVJYRU4KK3J1bXBydW4pCisJcmVwb190cmVlX3Jldl9mZXRjaF9naXQgcnVt cHJ1biBcCisJCSRUUkVFX1JVTVBSVU4gbWFzdGVyICRMT0NBTFJFVl9SVU1QUlVOCiAJOzsKIHNl YWJpb3MpCiAJcmVwb190cmVlX3Jldl9mZXRjaF9naXQgc2VhYmlvcyBcCmRpZmYgLS1naXQgYS9h cC1mZXRjaC12ZXJzaW9uLW9sZCBiL2FwLWZldGNoLXZlcnNpb24tb2xkCmluZGV4IDdjYzMxYTMu LjVkNDRhZGQgMTAwNzU1Ci0tLSBhL2FwLWZldGNoLXZlcnNpb24tb2xkCisrKyBiL2FwLWZldGNo LXZlcnNpb24tb2xkCkBAIC0zMCw3ICszMCw3IEBAIGNoZWNrX2FwX2ZldGNoX3BsYWNlaG9sZGVy cwogOiAke0JBU0VfVEFHX0xJTlVYMjYzOTo9dGVzdGVkLzIuNi4zOS54fQogOiAke0JBU0VfTE9D QUxSRVZfTElOVVg6PWRhaWx5LWNyb24uJGJyYW5jaC5vbGR9CiA6ICR7QkFTRV9MT0NBTFJFVl9M SUJWSVJUOj1kYWlseS1jcm9uLiRicmFuY2gub2xkfQotOiAke0JBU0VfTE9DQUxSRVZfUlVNUFVT RVJYRU46PWRhaWx5LWNyb24uJGJyYW5jaC5vbGR9Cis6ICR7QkFTRV9MT0NBTFJFVl9SVU1QUlVO Oj1kYWlseS1jcm9uLiRicmFuY2gub2xkfQogOiAke0JBU0VfTE9DQUxSRVZfU0VBQklPUzo9ZGFp bHktY3Jvbi4kYnJhbmNoLm9sZH0KIDogJHtCQVNFX0xPQ0FMUkVWX09WTUY6PWRhaWx5LWNyb24u JGJyYW5jaC5vbGR9CiA6ICR7QkFTRV9UQUdfTElCVklSVDo9eGVuLXRlc3RlZC1tYXN0ZXJ9CkBA IC05Nyw5ICs5Nyw5IEBAIGxpYnZpcnQpCiAJcmVwb190cmVlX3Jldl9mZXRjaF9naXQgbGlidmly dCBcCiAJCSRCQVNFX1RSRUVfTElCVklSVCAkQkFTRV9UQUdfTElCVklSVCAkQkFTRV9MT0NBTFJF Vl9MSUJWSVJUCiAJOzsKLXJ1bXB1c2VyeGVuKQotCXJlcG9fdHJlZV9yZXZfZmV0Y2hfZ2l0IHJ1 bXB1c2VyeGVuIFwKLQkJJEJBU0VfVFJFRV9SVU1QVVNFUlhFTiB4ZW4tdGVzdGVkLW1hc3RlciAk QkFTRV9MT0NBTFJFVl9SVU1QVVNFUlhFTgorcnVtcHJ1bikKKwlyZXBvX3RyZWVfcmV2X2ZldGNo X2dpdCBydW1wcnVuIFwKKwkJJEJBU0VfVFJFRV9SVU1QUlVOIHhlbi10ZXN0ZWQtbWFzdGVyICRC QVNFX0xPQ0FMUkVWX1JVTVBSVU4KIAk7Owogc2VhYmlvcykKIAlyZXBvX3RyZWVfcmV2X2ZldGNo X2dpdCBzZWFiaW9zIFwKZGlmZiAtLWdpdCBhL2FwLXByaW50LXVybCBiL2FwLXByaW50LXVybApp bmRleCA0MDg4ODUyLi44YTQxZTcwIDEwMDc1NQotLS0gYS9hcC1wcmludC11cmwKKysrIGIvYXAt cHJpbnQtdXJsCkBAIC01Miw4ICs1Miw4IEBAIGxpbnV4ZmlybXdhcmUpCiBsaWJ2aXJ0KQogCWVj aG8gJFRSRUVfTElCVklSVAogCTs7Ci1ydW1wdXNlcnhlbikKLQllY2hvICRUUkVFX1JVTVBVU0VS WEVOCitydW1wcnVuKQorCWVjaG8gJFRSRUVfUlVNUFJVTgogCTs7CiBzZWFiaW9zKQogCWVjaG8g JFRSRUVfU0VBQklPU19VUFNUUkVBTQpkaWZmIC0tZ2l0IGEvYXAtcHVzaCBiL2FwLXB1c2gKaW5k ZXggZTMzYTgwMy4uN2QzZDQ3MyAxMDA3NTUKLS0tIGEvYXAtcHVzaAorKysgYi9hcC1wdXNoCkBA IC0zNyw3ICszNyw3IEBAIFRSRUVfTElOVVg9JFBVU0hfVFJFRV9MSU5VWAogVFJFRV9RRU1VX1VQ U1RSRUFNPSRQVVNIX1RSRUVfUUVNVV9VUFNUUkVBTQogVFJFRV9YRU49JFBVU0hfVFJFRV9YRU4K IFRSRUVfTElCVklSVD0kUFVTSF9UUkVFX0xJQlZJUlQKLVRSRUVfUlVNUFVTRVJYRU49JFBVU0hf VFJFRV9SVU1QVVNFUlhFTgorVFJFRV9SVU1QUlVOPSRQVVNIX1RSRUVfUlVNUFJVTgogVFJFRV9T RUFCSU9TPSRQVVNIX1RSRUVfU0VBQklPUwogVFJFRV9PVk1GPSRQVVNIX1RSRUVfT1ZNRgogCkBA IC0xMTIsOSArMTEyLDkgQEAgbGlidmlydCkKIAljZCAkcmVwb3MvbGlidmlydAogCWdpdCBwdXNo ICRUUkVFX0xJQlZJUlQgJHJldmlzaW9uOnJlZnMvaGVhZHMveGVuLXRlc3RlZC1tYXN0ZXIKIAk7 OwotcnVtcHVzZXJ4ZW4pCi0JY2QgJHJlcG9zL3J1bXB1c2VyeGVuCi0JZ2l0IHB1c2ggJFRSRUVf UlVNUFVTRVJYRU4gJHJldmlzaW9uOnJlZnMvaGVhZHMveGVuLXRlc3RlZC1tYXN0ZXIKK3J1bXBy dW4pCisJY2QgJHJlcG9zL3J1bXBydW4KKwlnaXQgcHVzaCAkVFJFRV9SVU1QUlVOICRyZXZpc2lv bjpyZWZzL2hlYWRzL3hlbi10ZXN0ZWQtbWFzdGVyCiAJOzsKIHNlYWJpb3MpCiAJY2QgJHJlcG9z L3NlYWJpb3MKZGlmZiAtLWdpdCBhL2NyLWRhaWx5LWJyYW5jaCBiL2NyLWRhaWx5LWJyYW5jaApp bmRleCAyMTc4MGI4Li43ZDQ5NDM5IDEwMDc1NQotLS0gYS9jci1kYWlseS1icmFuY2gKKysrIGIv Y3ItZGFpbHktYnJhbmNoCkBAIC0xOTUsOSArMTk1LDkgQEAgaWYgWyAieCRSRVZJU0lPTl9MSUJW SVJUIiA9IHggXTsgdGhlbgogCWRldGVybWluZV92ZXJzaW9uIFJFVklTSU9OX0xJQlZJUlQgbGli dmlydCBMSUJWSVJUCiAJZXhwb3J0IFJFVklTSU9OX0xJQlZJUlQKIGZpCi1pZiBbICJ4JFJFVklT SU9OX1JVTVBVU0VSWEVOIiA9IHggXTsgdGhlbgotCWRldGVybWluZV92ZXJzaW9uIFJFVklTSU9O X1JVTVBVU0VSWEVOIHJ1bXB1c2VyeGVuIFJVTVBVU0VSWEVOCi0JZXhwb3J0IFJFVklTSU9OX1JV TVBVU0VSWEVOCitpZiBbICJ4JFJFVklTSU9OX1JVTVBSVU4iID0geCBdOyB0aGVuCisJZGV0ZXJt aW5lX3ZlcnNpb24gUkVWSVNJT05fUlVNUFJVTiBydW1wcnVuIFJVTVBSVU4KKwlleHBvcnQgUkVW SVNJT05fUlVNUFJVTgogZmkKIGlmIFsgIngkUkVWSVNJT05fTElOVVhGSVJNV0FSRSIgPSB4IF07 IHRoZW4KIAlkZXRlcm1pbmVfdmVyc2lvbiBSRVZJU0lPTl9MSU5VWEZJUk1XQVJFIGxpbnV4Zmly bXdhcmUgTElOVVhGSVJNV0FSRQpAQCAtMjM4LDkgKzIzOCw5IEBAIGxpYnZpcnQpCiAJcmVhbHRy ZWU9bGlidmlydAogCU5FV19SRVZJU0lPTj0kUkVWSVNJT05fTElCVklSVAogCTs7Ci1ydW1wdXNl cnhlbikKLQlyZWFsdHJlZT1ydW1wdXNlcnhlbgotCU5FV19SRVZJU0lPTj0kUkVWSVNJT05fUlVN UFVTRVJYRU4KK3J1bXBydW4pCisJcmVhbHRyZWU9cnVtcHJ1bgorCU5FV19SRVZJU0lPTj0kUkVW SVNJT05fUlVNUFJVTgogCWV4cG9ydCBSRVZJU0lPTl9MSU5VWF9PTEQ9ZGlzYWJsZQogCWV4cG9y dCBSRVZJU0lPTl9MSUJWSVJUPWRpc2FibGUKIAk7OwpkaWZmIC0tZ2l0IGEvY3JpLWNvbW1vbiBi L2NyaS1jb21tb24KaW5kZXggY2RlZTQ4ZC4uNmU1NTVhNiAxMDA2NDQKLS0tIGEvY3JpLWNvbW1v bgorKysgYi9jcmktY29tbW9uCkBAIC03Niw3ICs3Niw3IEBAIHNlbGVjdF94ZW5icmFuY2ggKCkg ewogCWxpbnV4LSopCQl0cmVlPWxpbnV4Owl4ZW5icmFuY2g9eGVuLXVuc3RhYmxlIDs7CiAJbGlu dXhmaXJtd2FyZSkJICAgIHRyZWU9bGludXhmaXJtd2FyZTsJeGVuYnJhbmNoPXhlbi11bnN0YWJs ZSA7OwogCWxpYnZpcnQpCQl0cmVlPWxpYnZpcnQ7CXhlbmJyYW5jaD14ZW4tdW5zdGFibGUgOzsK LQlydW1wdXNlcnhlbikJICAgICAgdHJlZT1ydW1wdXNlcnhlbjsgeGVuYnJhbmNoPXhlbi11bnN0 YWJsZSA7OworCXJ1bXBydW4pCSAgICAgIHRyZWU9cnVtcHJ1bjsgeGVuYnJhbmNoPXhlbi11bnN0 YWJsZSA7OwogCXNlYWJpb3MpCQl0cmVlPXNlYWJpb3M7CXhlbmJyYW5jaD14ZW4tdW5zdGFibGUg OzsKIAlvdm1mKQkJCXRyZWU9b3ZtZjsJeGVuYnJhbmNoPXhlbi11bnN0YWJsZSA7OwogCWRpc3Ry b3MtKikJCXRyZWU9bm9uZTsJeGVuYnJhbmNoPXhlbi11bnN0YWJsZSA7OwpkaWZmIC0tZ2l0IGEv Y3JvbnRhYiBiL2Nyb250YWIKaW5kZXggNmRkYzJiOC4uZjFiYTJlNSAxMDA3NTUKLS0tIGEvY3Jv bnRhYgorKysgYi9jcm9udGFiCkBAIC04LDggKzgsOCBAQCBNQUlMVE89aWFuLmphY2tzb25AY2l0 cml4LmNvbSxpYW4uY2FtcGJlbGxAZXUuY2l0cml4LmNvbQogMAkJKgkqICogKgkJY2QgdGVzdGlu Zy5naXQgJiYgQlJBTkNIRVM9eGVuLXVuc3RhYmxlLXNtb2tlCS4vY3ItZm9yLWJyYW5jaGVzIGJy YW5jaGVzIC1xICIuL2NyLWRhaWx5LWJyYW5jaCAtLXJlYWwiCiA0LTU5LzMwCQkqCSogKiAqCQlj ZCB0ZXN0aW5nLmdpdCAmJgkJCQkuL2NyLWZvci1icmFuY2hlcyBicmFuY2hlcyAtcSAiLi9jci1k YWlseS1icmFuY2ggLS1yZWFsIgogMTgJCTkJKiAqIDMsNwkJY2QgdGVzdGluZy5naXQgJiYgQlJB TkNIRVM9eGVuLXVuc3RhYmxlLWNvdmVyaXR5IC4vY3ItZm9yLWJyYW5jaGVzIGJyYW5jaGVzIC13 ICIuL2NyLWRhaWx5LWJyYW5jaCAtLXJlYWwiCi0xOAkJNAkqICogKgkJY2QgdGVzdGluZy5naXQg JiYgQlJBTkNIRVM9J2xpbnV4LTMuMCBsaWJ2aXJ0IHJ1bXB1c2VyeGVuJyAuL2NyLWZvci1icmFu Y2hlcyBicmFuY2hlcyAtdyAiLi9jci1kYWlseS1icmFuY2ggLS1yZWFsIgotNi01OS8xNSAgIAkq CSogKiAqCQljZCB0ZXN0aW5nLmdpdCAmJiBFWFRSQV9CUkFOQ0hFUz0nbGludXgtMy4wIHJ1bXB1 c2VyeGVuIGxpYnZpcnQnIC4vY3ItZm9yLWJyYW5jaGVzIGJpc2VjdHMgLXcgIi4vY3ItdHJ5LWJp c2VjdCAtLXJlYWwiCisxOAkJNAkqICogKgkJY2QgdGVzdGluZy5naXQgJiYgQlJBTkNIRVM9J2xp bnV4LTMuMCBsaWJ2aXJ0IHJ1bXBydW4nIC4vY3ItZm9yLWJyYW5jaGVzIGJyYW5jaGVzIC13ICIu L2NyLWRhaWx5LWJyYW5jaCAtLXJlYWwiCis2LTU5LzE1ICAgCSoJKiAqICoJCWNkIHRlc3Rpbmcu Z2l0ICYmIEVYVFJBX0JSQU5DSEVTPSdsaW51eC0zLjAgcnVtcHJ1biBsaWJ2aXJ0JyAuL2NyLWZv ci1icmFuY2hlcyBiaXNlY3RzIC13ICIuL2NyLXRyeS1iaXNlY3QgLS1yZWFsIgogIzgtNTkvNQkJ KgkqICogKgkJY2QgYmlzZWN0cy9hZGhvYy5naXQgJiYJd2l0aC1sb2NrLWV4IC1xIGRhdGEtdHJl ZS1sb2NrIGJhc2ggLWMgIi4vY3ItdHJ5LWJpc2VjdC1hZGhvYzsgZXhpdCAkPyIKIDIyCQk4CSog KiAqCQljZCB0ZXN0aW5nLmdpdCAmJiBCUkFOQ0hFUz1tYWludGpvYnMJCS4vY3ItZm9yLWJyYW5j aGVzIC4gLXcgLi9jci1hbGwtYnJhbmNoLXN0YXR1c2VzICcnCiAzCQk0CSogKiAqCQlzYXZlbG9n IC1jMjggdGVzdGluZy5naXQvdG1wL2NyLWZvci1icmFuY2hlcy5sb2cgPi9kZXYvbnVsbApkaWZm IC0tZ2l0IGEvbWFrZS1mbGlnaHQgYi9tYWtlLWZsaWdodAppbmRleCAxOGU1YmMzLi45MDZiZjJi IDEwMDc1NQotLS0gYS9tYWtlLWZsaWdodAorKysgYi9tYWtlLWZsaWdodApAQCAtMTA3LDkgKzEw Nyw5IEBAIGpvYl9jcmVhdGVfdGVzdF9maWx0ZXJfY2FsbGJhY2sgKCkgewogICAgIGxpYnZpcnQp CiAgICAgICBpZiBbIHgkdG9vbHN0YWNrICE9IHhsaWJ2aXJ0IF0gOyB0aGVuIHJldHVybiAxOyBm aQogICAgICAgOzsKLSAgICBydW1wdXNlcnhlbikKKyAgICBydW1wcnVuKQogICAgICAgY2FzZSAi JGpvYiIgaW4KLSAgICAgICotcnVtcHVzZXJ4ZW4tKikKKyAgICAgICotcnVtcHJ1bi0qKQogICAg ICAgICAgIDs7CiAgICAgICAqKQogICAgICAgICAgIDogInN1cHByZXNzZWQgJGpvYiIKQEAgLTE2 OSw3ICsxNjksNyBAQCBhcmNoX2JyYW5jaF9maWx0ZXJfY2FsbGJhY2sgKCkgewogICAgICAgICBx ZW11LXVwc3RyZWFtLTQuMi10ZXN0aW5nKSByZXR1cm4gMTs7CiAgICAgICAgIHFlbXUtdXBzdHJl YW0tNC4zLXRlc3RpbmcpIHJldHVybiAxOzsKICAgICAgICAgcWVtdS11cHN0cmVhbS00LjQtdGVz dGluZykgcmV0dXJuIDE7OwotICAgICAgICBydW1wdXNlcnhlbikgcmV0dXJuIDE7OworICAgICAg ICBydW1wcnVuKSByZXR1cm4gMTs7CiAgICAgICAgIHNlYWJpb3MpIHJldHVybiAxOzsKICAgICAg ICAgb3ZtZikgcmV0dXJuIDE7OwogICAgICAgICBlc2FjCkBAIC0xOTcsMTEgKzE5NywxMSBAQCBk b19ydW1wa2VybmVsX3Rlc3RzICgpIHsKICAgYnJhbmNoX3dhbnRzX3J1bXBrZXJuZWxfdGVzdHMg fHwgcmV0dXJuIDAKIAogICBydW1wYXJjaD0kZG9tMGFyY2gKLSAgam9iX2NyZWF0ZV90ZXN0IHRl c3QtJHhlbmFyY2gka2Vybi0kZG9tMGFyY2gtcnVtcHVzZXJ4ZW4tJHJ1bXBhcmNoIFwKLSAgICAg ICAgICAgICAgICAgICAgICB0ZXN0LXJ1bXB1c2VyeGVuIHhsIFwKKyAgam9iX2NyZWF0ZV90ZXN0 IHRlc3QtJHhlbmFyY2gka2Vybi0kZG9tMGFyY2gtcnVtcHJ1bi0kcnVtcGFyY2ggXAorICAgICAg ICAgICAgICAgICAgICAgIHRlc3QtcnVtcHJ1biB4bCBcCiAgICAgICAgICAgICAkeGVuYXJjaCAk ZG9tMGFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg ICAgICBndWVzdHNfcnVtcHVzZXJ4ZW5idWlsZGpvYj1idWlsZC0kcnVtcGFyY2gtcnVtcHVzZXJ4 ZW4gICBcCi0gICAgIHJ1bXBfYnVpbHRpbWFnZT1ydW1wdXNlcnhlbjovdXNyL2xvY2FsL2xpYi94 ZW4vcnVtcC1rZXJuZWwvcnVtcC1rZXJuZWwgXAorICAgICAgICAgICAgZ3Vlc3RzX3J1bXBydW5i dWlsZGpvYj1idWlsZC0kcnVtcGFyY2gtcnVtcHJ1biAgIFwKKyAgICAgcnVtcF9idWlsdGltYWdl PXJ1bXBydW46L3Vzci9sb2NhbC9saWIveGVuL3J1bXAta2VybmVsL3J1bXAta2VybmVsIFwKICAg ICAgICAgICAgIHJ1bXBfY21kbGluZT0zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKICAgICAgICAgICAgIHhlbnN0b3JlbHNfYnVpbHRpbWFnZT06L3Vzci9sb2Nh bC9iaW4veGVuc3RvcmUgICAgICAgICAgIFwKICAgICAgICAgICAgIHhlbnN0b3JlbHNfY21kbGlu ZT0nbHMgLWZwIGRldmljZScgICAgICAgICAgICAgICAgICAgICAgIFwKZGlmZiAtLWdpdCBhL21m aS1jb21tb24gYi9tZmktY29tbW9uCmluZGV4IDk3MWRlZDMuLjhmMjc5MjMgMTAwNjQ0Ci0tLSBh L21maS1jb21tb24KKysrIGIvbWZpLWNvbW1vbgpAQCAtMjY5LDI0ICsyNjksMjQgQEAgY3JlYXRl X2J1aWxkX2pvYnMgKCkgewogCiAgICAgY2FzZSAkYXJjaCBpbgogICAgIGkzODZ8YW1kNjQpCi0g ICAgam9iX2NyZWF0ZV9idWlsZCBidWlsZC0kYXJjaC1ydW1wdXNlcnhlbiBidWlsZC1ydW1wdXNl cnhlbiAgICAgICAgICAgICAgIFwKKyAgICBqb2JfY3JlYXRlX2J1aWxkIGJ1aWxkLSRhcmNoLXJ1 bXBydW4gYnVpbGQtcnVtcHJ1biAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICBhcmNo PSRhcmNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAogICAgICAgICB0cmVlX3hlbj0kVFJFRV9YRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJFJVTlZBUlMgJEJVSUxE X1JVTlZBUlMgJEJVSUxEX1JVTVBVU0VSWEVOX1JVTlZBUlMgJGFyY2hfcnVudmFycyBcCisgICAg ICAgICAgICAgICAgJFJVTlZBUlMgJEJVSUxEX1JVTlZBUlMgJEJVSUxEX1JVTVBSVU5fUlVOVkFS UyAkYXJjaF9ydW52YXJzIFwKICAgICAgICAgICAgICAgICAkaG9zdG9zX3J1bnZhcnMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAg IGhvc3RfaG9zdGZsYWdzPSRidWlsZF9ob3N0ZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCiAgICAgICAgICAgICAgICAgYnVpbGRqb2I9JHtiZml9YnVpbGQtJGFyY2ggICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICB0cmVlX3J1bXB1 c2VyeGVuPSRUUkVFX1JVTVBVU0VSWEVOCQkJXAotICAgICAgICAgICR7VFJFRVZDU19SVU1QVVNF UlhFTjordHJlZXZjc19ydW1wdXNlcnhlbj19JHtUUkVFVkNTX1JVTVBVU0VSWEVOfSBcCi0gICAg ICAgICAgICAgICAgcmV2aXNpb25fcnVtcHVzZXJ4ZW49JFJFVklTSU9OX1JVTVBVU0VSWEVOCQlc CisgICAgICAgICAgICAgICAgdHJlZV9ydW1wcnVuPSRUUkVFX1JVTVBSVU4JCQlcCisgICAgICAg ICAgJHtUUkVFVkNTX1JVTVBSVU46K3RyZWV2Y3NfcnVtcHJ1bj19JHtUUkVFVkNTX1JVTVBSVU59 IFwKKyAgICAgICAgICAgICAgICByZXZpc2lvbl9ydW1wcnVuPSRSRVZJU0lPTl9SVU1QUlVOCQlc CiAgICAgICAgICAgICAgICAgdHJlZV94ZW49JFRSRUVfWEVOICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICB0cmVlX3FlbXV1PSRUUkVF X1FFTVVfVVBTVFJFQU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAg ICAgICAgIHJldmlzaW9uX3hlbj0kUkVWSVNJT05fWEVOICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgcmV2aXNpb25fcWVtdXU9JFJFVklTSU9OX1FF TVVfVVBTVFJFQU0gICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICB0cmVl X3J1bXB1c2VyeGVuX3J1bXBzcmM9JFRSRUVfUlVNUFVTRVJYRU5fUlVNUFNSQwlcCi0gICAgICAg ICAgICAgICAgJHtUUkVFVkNTX1JVTVBVU0VSWEVOX1JVTVBTUkM6K3RyZWV2Y3NfcnVtcHVzZXJ4 ZW5fcnVtcHNyYz19JHtUUkVFVkNTX1JVTVBVU0VSWEVOX1JVTVBTUkN9CisgICAgICAgICAgICAg ICAgdHJlZV9ydW1wcnVuX3J1bXBzcmM9JFRSRUVfUlVNUFJVTl9SVU1QU1JDCVwKKyAgICAgICAg ICAgICAgICAke1RSRUVWQ1NfUlVNUFJVTl9SVU1QU1JDOit0cmVldmNzX3J1bXBydW5fcnVtcHNy Yz19JHtUUkVFVkNTX1JVTVBSVU5fUlVNUFNSQ30KICAgICAgICAgICAgICAgICAjIHJ1bXBzcmMt cmVsYXRlZCBydW52YXJzIG5lZWRlZCBvbmx5IGZvciBvbGQgcnVtcHVzZXIteGVuCi0gICAgICAg ICAgICAgICAgIyAoaWUgb25lcyB3aGljaCBuZWVkICRib2RnZXM9MSBpbiB0cy1ydW1wdXNlcnhl bi1idWlsZCkKKyAgICAgICAgICAgICAgICAjIChpZSBvbmVzIHdoaWNoIG5lZWQgJGJvZGdlcz0x IGluIHRzLXJ1bXBydW4tYnVpbGQpCiAJCTs7CiAgICAgZXNhYwogCmRpZmYgLS1naXQgYS9zZy1y dW4tam9iIGIvc2ctcnVuLWpvYgppbmRleCBjNDlmYjVmLi4zMWE1NTg5IDEwMDc1NQotLS0gYS9z Zy1ydW4tam9iCisrKyBiL3NnLXJ1bi1qb2IKQEAgLTQ0MSwxOCArNDQxLDE4IEBAIHByb2MgdGVz dC1ndWVzdC1ub21pZ3Ige2d9IHsKICAgICBydW4tdHMgLiA9ICAgdHMtZ3Vlc3QtZGVzdHJveSAr IGhvc3QgJGcKIH0KIAotcHJvYyBuZWVkLWhvc3RzL3Rlc3QtcnVtcHVzZXJ4ZW4ge30geyByZXR1 cm4gaG9zdCB9Ci1wcm9jIHJ1bi1qb2IvdGVzdC1ydW1wdXNlcnhlbiB7fSB7Citwcm9jIG5lZWQt aG9zdHMvdGVzdC1ydW1wcnVuIHt9IHsgcmV0dXJuIGhvc3QgfQorcHJvYyBydW4tam9iL3Rlc3Qt cnVtcHJ1biB7fSB7CiAgICAgc2V0IGcgcnVtcAotICAgIHJ1bi10cyAuID0gICB0cy1ydW1wdXNl cnhlbi1kZW1vLXNldHVwICsgaG9zdCAkZworICAgIHJ1bi10cyAuID0gICB0cy1ydW1wcnVuLWRl bW8tc2V0dXAgKyBob3N0ICRnCiAgICAgcnVuLXRzIC4gPSAgIHRzLWd1ZXN0LXN0YXJ0ICAgICAg ICAgICAgKyBob3N0ICRnCiAgICAgcnVuLXRzIC4gPSAgIHRzLWd1ZXN0LWRlc3Ryb3kgICAgICAg ICAgKyBob3N0ICRnCiAgICAgc2V0IGcgeGVuc3RvcmVscwotICAgIHJ1bi10cyAuID0gICB0cy1y dW1wdXNlcnhlbi1kZW1vLXNldHVwICAgICAgKyBob3N0ICsgJGcKLSAgICBydW4tdHMgLiA9ICAg dHMtcnVtcHVzZXJ4ZW4tZGVtby14ZW5zdG9yZWxzICsgaG9zdCArICRnCisgICAgcnVuLXRzIC4g PSAgIHRzLXJ1bXBydW4tZGVtby1zZXR1cCAgICAgICsgaG9zdCArICRnCisgICAgcnVuLXRzIC4g PSAgIHRzLXJ1bXBydW4tZGVtby14ZW5zdG9yZWxzICsgaG9zdCArICRnCiAgICAgcnVuLXRzIC4g PSAgIHRzLWd1ZXN0LWRlc3Ryb3ktaGFyZCAgICAgICAgICArIGhvc3QgKyAkZwogICAgIHJlcGVh dC10cyAxNTAgPS5yZXBlYXQgXAotICAgICAgICAgICAgICAgICB0cy1ydW1wdXNlcnhlbi1kZW1v LXhlbnN0b3JlbHMgKyBob3N0ICsgJGcgICArIFw7IFwKKyAgICAgICAgICAgICAgICAgdHMtcnVt cHJ1bi1kZW1vLXhlbnN0b3JlbHMgKyBob3N0ICsgJGcgICArIFw7IFwKICAgICAgICAgICAgICAg ICAgdHMtZ3Vlc3QtZGVzdHJveS1oYXJkICAgICAgICAgICAgaG9zdCAgICRnICAgKwogfQogCkBA IC00NjUsNyArNDY1LDcgQEAgaWYge1tmaWxlIGV4aXN0cyBzZy1ydW4tam9iLWFkaG9jXX0gewog cHJvYyBuZWVkLWhvc3RzL2J1aWxkIHt9IHsgcmV0dXJuIEJVSUxEIH0KIHByb2MgbmVlZC1ob3N0 cy9idWlsZC1rZXJuIHt9IHsgcmV0dXJuIEJVSUxEIH0KIHByb2MgbmVlZC1ob3N0cy9idWlsZC1s aWJ2aXJ0IHt9IHsgcmV0dXJuIEJVSUxEIH0KLXByb2MgbmVlZC1ob3N0cy9idWlsZC1ydW1wdXNl cnhlbiB7fSB7IHJldHVybiBCVUlMRCB9Citwcm9jIG5lZWQtaG9zdHMvYnVpbGQtcnVtcHJ1biB7 fSB7IHJldHVybiBCVUlMRCB9CiAKIHByb2MgcnVuLWpvYi9idWlsZCB7fSB7CiAgICAgcnVuLXRz IC4gPSB0cy14ZW4tYnVpbGQKQEAgLTQ3OSw4ICs0NzksOCBAQCBwcm9jIHJ1bi1qb2IvYnVpbGQt bGlidmlydCB7fSB7CiAgICAgcnVuLXRzIC4gPSB0cy1saWJ2aXJ0LWJ1aWxkCiB9CiAKLXByb2Mg cnVuLWpvYi9idWlsZC1ydW1wdXNlcnhlbiB7fSB7Ci0gICAgcnVuLXRzIC4gPSB0cy1ydW1wdXNl cnhlbi1idWlsZAorcHJvYyBydW4tam9iL2J1aWxkLXJ1bXBydW4ge30geworICAgIHJ1bi10cyAu ID0gdHMtcnVtcHJ1bi1idWlsZAogICAgIHJ1bi10cyAuID0gdHMteGVuLWJ1aWxkICsgaG9zdCB0 b29scwogfQogCmRpZmYgLS1naXQgYS90cy1ydW1wcnVuLWJ1aWxkIGIvdHMtcnVtcHJ1bi1idWls ZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NzQ3ODFmCi0tLSAvZGV2L251 bGwKKysrIGIvdHMtcnVtcHJ1bi1idWlsZApAQCAtMCwwICsxLDEyNiBAQAorIyEvdXNyL2Jpbi9w ZXJsCisjIFRoaXMgaXMgcGFydCBvZiAib3NzdGVzdCIsIGFuIGF1dG9tYXRlZCB0ZXN0aW5nIGZy YW1ld29yayBmb3IgWGVuLgorIyBDb3B5cmlnaHQgKEMpIDIwMDktMjAxNCBDaXRyaXggSW5jLgor IworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8g R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisj IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKKyMgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZl cm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKwordXNlIHN0cmljdCBx dyh2YXJzKTsKK3VzZSBEQkk7Cit1c2UgT3NzdGVzdDsKK3VzZSBPc3N0ZXN0OjpUZXN0U3VwcG9y dDsKK3VzZSBPc3N0ZXN0OjpCdWlsZFN1cHBvcnQ7CisKK3RzcmVhZGNvbmZpZygpOworc2VsZWN0 YnVpbGRob3N0KFxAQVJHVik7CitidWlsZGRpcnNwcm9wcygpOworCitvdXIgJXN1Ym1vZG1hcCA9 IHF3KG5ibGlicyBuYmxpYnMKKyAgICAgICAgICAgICAgICAgICAgYnVpbGRydW1wLnNoIGJ1aWxk cnVtcHNoCisgICAgICAgICAgICAgICAgICAgIHJ1bXBzcmMgbmV0YnNkc3JjKTsKKworb3VyICgk cnV4LCAkYm9kZ2VzKTsKKworc3ViIGNoZWNrb3V0ICgpIHsKKyAgICBwcmVwYnVpbGRkaXJzKCk7 CisgICAgeGVuZGlzdCgpOworCisgICAgYnVpbGRfY2xvbmUoJGhvLCAncnVtcHJ1bicsICRidWls ZGRpciwgJ3J1bXBydW4nKTsKKyAgICBteSAkc3VibW9kdWxlcyA9CisJc3VibW9kdWxlZml4dXAo JGhvLCAncnVtcHJ1bicsICdydW1wcnVuJywgXCVzdWJtb2RtYXApOworICAgICRydXggPSAiJGJ1 aWxkZGlyL3J1bXBydW4iOworCisgICAgJGJvZGdlcyA9IHN1Ym1vZHVsZV9oYXZlKCRzdWJtb2R1 bGVzLCduYmxpYnMnKQorCSAgJiYgIXN1Ym1vZHVsZV9oYXZlKCRzdWJtb2R1bGVzLCduZXRic2Rz cmMnKTsKKworICAgIGlmICgkYm9kZ2VzKSB7CisJbXkgJHJ1bXBzcmNnaXRyZXZyID0gIiRydXgv YnVpbGRydW1wLnNoLy5zcmNnaXRyZXYiOworCW15ICRydW1wc3JjZ2l0cmV2bCA9ICJidWlsZHJ1 bXAtc3JjZ2l0cmV2IjsKKwlteSAkcmV2ID0gJHJ7cmV2aXNpb25fcnVtcHJ1bl9ydW1wc3JjfTsK KwlpZiAobGVuZ3RoICRyZXYpIHsKKwkgICAgdGFyZ2V0X3B1dGZpbGVjb250ZW50c19zdGFzaCgk aG8sMzAsCisJCQkJCSAiJHJ7cmV2aXNpb25fcnVtcHJ1bl9ydW1wc3JjfVxuIiwKKwkJCQkJICRy dW1wc3JjZ2l0cmV2ciwgJHJ1bXBzcmNnaXRyZXZsKTsKKwl9IGVsc2UgeworCSAgICB0YXJnZXRf Z2V0ZmlsZSgkaG8sMzAsJHJ1bXBzcmNnaXRyZXZyLCIkc3Rhc2gvJHJ1bXBzcmNnaXRyZXZsIik7 CisJICAgICRyZXYgPSBnZXRfZmlsZWNvbnRlbnRzKCIkc3Rhc2gvJHJ1bXBzcmNnaXRyZXZsIik7 CisJICAgIGNob21wICRyZXYgb3IgZGllOworCSAgICAkcmV2ID1+IG0vXlswLTlhLWZdKyQvIG9y IGRpZTsKKwkgICAgc3RvcmVfcnVudmFyKCdyZXZpc2lvbl9ydW1wcnVuX3J1bXBzcmMnLCAkcmV2 KTsKKwl9CisKKwlidWlsZF9jbG9uZSgkaG8sICJydW1wcnVuX3J1bXBzcmMiLCAkYnVpbGRkaXIs CisJCSAgICAicnVtcHJ1bi9ydW1wc3JjIik7CisJc3RvcmVfdmNzX3JldmlzaW9uKCdydW1wcnVu X3J1bXBzcmMnLCAkcmV2LCAnZ2l0Jyk7CisgICAgfQorfQorCitzdWIgbWFzc2FnZSgpIHsKKyAg ICByZXR1cm4gdW5sZXNzICRib2RnZXM7CisKKyAgICAjIFZlcnkgcG9vcgorICAgIHRhcmdldF9l ZGl0ZmlsZSgkaG8sICIkcnV4L2J1aWxkeGVuLnNoIiwgdW5kZWYsCisJCSAgICAiJHJ1eC9ncmll dm91cy1ib2RnZS1uYmxpYnMiLCBzdWIgeworICAgICAgICB3aGlsZSAoPEVJPikgeworCSAgICBu ZXh0IHVubGVzcyBtL15cUWlmIFsgISAtZCBydW1wc3JjIF07IHRoZW5cRS8uLm0vXmZpLzsKKwkg ICAgbmV4dCB1bmxlc3MgbS9jcCAtUnAgbmJsaWJzLzsKKwkgICAgcHJpbnQgRU8gb3IgZGllICQh OworCX0KKyAgICB9KTsKKyAgICB0YXJnZXRfY21kX2J1aWxkKCRobywgMjAwMCwgJHJ1eCwgImJh c2ggLXggZ3JpZXZvdXMtYm9kZ2UtbmJsaWJzIik7CisKKyAgICAjIFJhdGhlciBwb29yCisgICAg dGFyZ2V0X2VkaXRmaWxlKCRobywgIiRydXgvQ29uZmlnLm1rIiwgc3ViIHsKKyAgICAgICAgd2hp bGUgKDxFST4pIHsKKwkgICAgcy9eWEVOX0hFQURFUlM9L1hFTl9IRUFERVJTPz0vOworCSAgICBw cmludCBFTyBvciBkaWUgJCE7CisJfQorICAgIH0pOworfQorCitzdWIgYnVpbGQoKSB7CisgICAg dGFyZ2V0X2NtZF9idWlsZCgkaG8sIDcyMDAsICRydXgsIDw8RU5EKTsKKyAgICAgICAgZXhwb3J0 IFhFTl9IRUFERVJTPSR4ZW5kaXN0L3Vzci9sb2NhbC9pbmNsdWRlL3hlbgorICAgICAgICAoLi9i dWlsZHhlbi5zaCAmJiB0b3VjaCAuLi9idWlsZC1vay1zdGFtcCkgfHRlZSAuLi9sb2cKKyAgICAg ICAgdGVzdCAtZiAuLi9idWlsZC1vay1zdGFtcCAjLworICAgICAgICBlY2hvIG9rLgorRU5ECit9 CisKK3N1YiByZWNvcmR0b29scygpIHsKKyAgICBmb3JlYWNoIG15ICRzdGVtIChxdyhydW1wcnVu LXhlbiBydW1weGVuLWFwcCkpIHsKKwlteSAkYXBwdG9vbCA9ICIkcnV4L2FwcC10b29scy8kc3Rl bSI7CisJbmV4dCB1bmxlc3MgdGFyZ2V0X2ZpbGVfZXhpc3RzKCRobywgIiRhcHB0b29sLWNvbmZp Z3VyZSIpOworCXN0b3JlX3J1bnZhcignY21kcHJlZml4X2NvbmZpZ3VyZScsICIkYXBwdG9vbC1j b25maWd1cmUiKTsKKwlzdG9yZV9ydW52YXIoJ2NtZHByZWZpeF9tYWtlJywgICAgICAiJGFwcHRv b2wtbWFrZSIpOworCXJldHVybjsKKyAgICB9CisgICAgZGllICJhcHAtdG9vbHMgbm90IGZvdW5k ICgkcnV4KSI7Cit9CisKK3N1YiBpbnN0YWxsKCkgeworICAgIG15ICRkZXN0ZGlyPSJkaXN0L3Vz ci9sb2NhbC9saWIveGVuL3J1bXAta2VybmVsIjsKKyAgICB0YXJnZXRfY21kX2J1aWxkKCRobywg MzAwLCAkYnVpbGRkaXIsIDw8RU5EKTsKKyAgICAgICAgbWtkaXIgLXAgJGRlc3RkaXIKKyAgICAg ICAgY3AgcnVtcHJ1bi9ydW1wLWtlcm5lbCogJGRlc3RkaXIKKyAgICAgICAgY3AgLXIgcnVtcHJ1 bi9pbWcgJGRlc3RkaXIvCisgICAgICAgIGNwIHJ1bXBydW4vZG9tYWluX2NvbmZpZyAkZGVzdGRp cgorRU5ECit9CisKK2NoZWNrb3V0KCk7CittYXNzYWdlKCk7CitidWlsZCgpOworcmVjb3JkdG9v bHMoKTsKK2luc3RhbGwoKTsKK2J1aWx0X3N0YXNoKCRobywgJGJ1aWxkZGlyLCAnZGlzdCcsICdy dW1wcnVuZGlzdCcpOwpkaWZmIC0tZ2l0IGEvdHMtcnVtcHJ1bi1kZW1vLXNldHVwIGIvdHMtcnVt cHJ1bi1kZW1vLXNldHVwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY1NTMy OGYKLS0tIC9kZXYvbnVsbAorKysgYi90cy1ydW1wcnVuLWRlbW8tc2V0dXAKQEAgLTAsMCArMSw5 MiBAQAorIyEvdXNyL2Jpbi9wZXJsIC13CisjIFRoaXMgaXMgcGFydCBvZiAib3NzdGVzdCIsIGFu IGF1dG9tYXRlZCB0ZXN0aW5nIGZyYW1ld29yayBmb3IgWGVuLgorIyBDb3B5cmlnaHQgKEMpIDIw MDktMjAxMyBDaXRyaXggSW5jLgorIyAKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg dGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisj IAorIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMgCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4KKwordXNlIHN0cmljdCBxdyh2YXJzKTsKK3VzZSBEQkk7Cit1c2UgT3NzdGVzdDsK K3VzZSBPc3N0ZXN0OjpUZXN0U3VwcG9ydDsKKwordHNyZWFkY29uZmlnKCk7CisKK291ciAoJHdo aG9zdCwkZ24pID0gQEFSR1Y7Ciskd2hob3N0IHx8PSAnaG9zdCc7CiskZ24gfHw9ICdydW1wJzsK Kworb3VyICRobz0gc2VsZWN0aG9zdCgkd2hob3N0KTsKKworb3VyICRnaG87CisKK291ciAkcmtk aXN0OworCitzdWIgcHJlcCAoKSB7CisgICAgJGdobyA9IHByZXBhcmVndWVzdCgkaG8sICRnbiwg JGduLCA0MDk2LCB1bmRlZiwgMzApOworCisgICAgbXkgJGNmZ19ya2Rpc3QgPSB0YXJnZXRfZXh0 cmFjdF9qb2JkaXN0cGF0aF9zdWJkaXIKKwkoJGhvLCAncnVtcHJ1bi0tYmFzZScsICdydW1wcnVu JywKKwkgJHJ7Z3Vlc3RzX3J1bXBydW5idWlsZGpvYn0pOworICAgICRjZmdfcmtkaXN0IC49ICcv dXNyL2xvY2FsL2xpYi94ZW4vcnVtcC1rZXJuZWwnOworCisgICAgbXkgJGJ1aWxkam9iID0gZ3Vl c3RfdmFyKCRnaG8sICdydW1wcnVuYnVpbGRqb2InLCB1bmRlZik7CisgICAgbXkgJGJ1aWx0aW1h Z2UgPSBndWVzdF92YXIoJGdobywgJ2J1aWx0aW1hZ2UnLCB1bmRlZik7CisgICAgJGJ1aWx0aW1h Z2UgPX4gbS9cOi8gb3IgZGllICIkYnVpbHRpbWFnZSA/IjsKKyAgICBteSAkYnVpbHRpbWFnZV9w YXJ0ID0gJGA7CisgICAgbXkgJGJ1aWx0aW1hZ2Vfc3VicGF0aCA9ICQnOyAjJzsKKyAgICAkcmtk aXN0ID0gdGFyZ2V0X2V4dHJhY3Rfam9iZGlzdHBhdGhfc3ViZGlyCisJKCRobywgInJ1bXBydW4t JGduIiwgJGJ1aWx0aW1hZ2VfcGFydCwgJGJ1aWxkam9iKTsKKyAgICBteSAkaW1hZ2VmaWxlID0g JHJrZGlzdC4kYnVpbHRpbWFnZV9zdWJwYXRoOworICAgIG15ICRjbWRsaW5lID0gZ3Vlc3RfdmFy KCRnaG8sICdjbWRsaW5lJywgdW5kZWYpOworCisgICAgbXkgQGltYWdlczsKKworICAgIG15ICRm c2ltYWdlc2RpciA9IHRhcmdldF9qb2JkaXIoJGhvKS4iLyRnbi1pbWFnZXMiOworCisgICAgbXkg JGNmZ2ZpbGUgPSAiJGduLmNmZyI7CisgICAgbXkgJGNmZ3BhdGggPSAiL2V0Yy94ZW4vJGNmZ2Zp bGUiOworICAgIHRhcmdldF9lZGl0ZmlsZV9yb290KCRobywgIiRjZmdfcmtkaXN0L2RvbWFpbl9j b25maWciLCAkY2ZnZmlsZSwgJGNmZ3BhdGgsCisJCQkgc3ViIHsKKwl3aGlsZSAoPEVJPikgewor CSAgICBuZXh0IGlmIG0vXlxzKlwjLzsKKwkgICAgbmV4dCB1bmxlc3MgbS9cUy87CisKKwkgICAg bXkgJGluID0gJCYgaWYgbS9eXHdcUyovOworCisJICAgIHMjID0gLiogICAgICAgICAgICAgICMg IiA9ICckZ24nIiAgICAgICAgICAjeGUgIGlmICRpbiBlcSAnbmFtZSc7CisJICAgIHMjID0gLiog ICAgICAgICAgICAgICMgIiA9ICckaW1hZ2VmaWxlJyIgICAjeGUgIGlmICRpbiBlcSAna2VybmVs JzsKKwkgICAgcyNcYiBtYWM9WzAtOWEtZjpdKyAgIyAibWFjPSRnaG8tPntFdGhlcn0iICN4ZSAg aWYgJGluIGVxICd2aWYnOworCSAgICBzIyA9IC4qICAgICAgICAgICAgICAjICIgPSAnJGNtZGxp bmUnIiAgICAgI3hlICBpZiAkaW4gZXEgJ2V4dHJhJzsKKworCSAgICBpZiAoJGluIGVxICdkaXNr JykgeworCQlze1xiIGltZy8oXHcrLmZmcykgXGJ9eworICAgICAgICAgICAgICAgICAgICBwdXNo IEBpbWFnZXMsICQxOworICAgICAgICAgICAgICAgICAgICAiJGZzaW1hZ2VzZGlyLyQxIjsKKyAg ICAgICAgICAgICAgICB9eGVnOworCSAgICB9CisKKwkgICAgcHJpbnQgRU8gb3IgZGllICQhOwor CX0KKyAgICB9KTsKKworICAgIHN0b3JlX3J1bnZhcigiJGdoby0+e0d1ZXN0fV9jZmdwYXRoIiwg JGNmZ3BhdGgpOworCisgICAgdGFyZ2V0X2NtZCgkaG8sIDw8RU5ELihqb2luICJcbiIsIG1hcCB7 IDw8RU5EOyB9IEBpbWFnZXMpLCAyMDApOworICAgICAgICAgICAgICAgICAgIG1rZGlyIC1wICRm c2ltYWdlc2RpcgorRU5ECisgICAgICAgICAgICAgICAgICAgY3AgJGNmZ19ya2Rpc3QvaW1nLyRf ICRmc2ltYWdlc2Rpci8kXworRU5ECit9CisKK3ByZXAoKTsKZGlmZiAtLWdpdCBhL3RzLXJ1bXBy dW4tZGVtby14ZW5zdG9yZWxzIGIvdHMtcnVtcHJ1bi1kZW1vLXhlbnN0b3JlbHMKbmV3IGZpbGUg bW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTU0ZmJmNAotLS0gL2Rldi9udWxsCisrKyBiL3Rz LXJ1bXBydW4tZGVtby14ZW5zdG9yZWxzCkBAIC0wLDAgKzEsMTI0IEBACisjIS91c3IvYmluL3Bl cmwgLXcKKyMgVGhpcyBpcyBwYXJ0IG9mICJvc3N0ZXN0IiwgYW4gYXV0b21hdGVkIHRlc3Rpbmcg ZnJhbWV3b3JrIGZvciBYZW4uCisjIENvcHlyaWdodCAoQykgMjAxNCBDaXRyaXggSW5jLgorIyAK KyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjIAorIyBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQorIyBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KKyMgCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZl cm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKwordXNlIHN0cmljdCBx dyh2YXJzKTsKK3VzZSBEQkk7Cit1c2UgT3NzdGVzdDsKK3VzZSBPc3N0ZXN0OjpUZXN0U3VwcG9y dDsKK3VzZSBEYXRhOjpEdW1wZXI7CisKK3RzcmVhZGNvbmZpZygpOworCitvdXIgKCRobywkZ2hv KSA9IHRzX2dldF9ob3N0X2d1ZXN0KEBBUkdWKTsKKworb3VyICRkb21pZDsKKworb3VyICRnbiA9 ICRnaG8tPntHdWVzdH07CisKK3N1YiBhcnJhbmdlcHJlc2VydmUgKCkgeworICAgIHRhcmdldF9l ZGl0ZmlsZV9yb290KCRobywkcnsiJGdoby0+e0d1ZXN0fV9jZmdwYXRoIn0sIHN1YiB7CisJd2hp bGUgKDxFST4pIHsKKwkgICAgaWYgKG0vXlxzKm9uX3Bvd2Vyb2ZmXHMqPS8pIHsKKwkJdGFyZ2V0 X2VkaXRmaWxlX2NhbmNlbCgiYWxyZWFkeSBjb25maWd1cmVkIHRvIHByZXNlcnZlIikKKwkJICAg IGlmIG0vXGJwcmVzZXJ2ZVxiLzsKKwkJbmV4dDsKKwkgICAgfQorCSAgICBwcmludCBFTyBvciBk aWUgJCE7CisJfQorCXByaW50IEVPICJcbiIsIm9uX3Bvd2Vyb2ZmPSdwcmVzZXJ2ZSdcbiIgb3Ig ZGllICQhOworICAgIH0pOworfQorCitzdWIgc3RhcnQgKCkgeworICAgIGd1ZXN0X2NyZWF0ZSgk Z2hvKTsKKworICAgICRkb21pZCA9IGd1ZXN0X2ZpbmRfZG9taWQoJGhvLCAkZ2hvKTsKK30KKwor c3ViIGF3YWl0X2VuZCAoKSB7CisgICAgcG9sbF9sb29wKDMwLDMsICJhd2FpdCBlbmRpbmcgb2Yg JGdoby0+e0d1ZXN0fSIsIHN1YiB7CisgICAgICAgIG15ICRzdD0gZ3Vlc3RfZ2V0X3N0YXRlKCRo bywkZ2hvKTsKKwlyZXR1cm4gdW5kZWYgaWYgJHN0ID1+IG0vcy87CisgICAgICAgIHJldHVybiAi Z3Vlc3Qgc3RhdGUgaXMgJHN0IjsKKyAgICB9KTsKK30KKworb3VyICglZmlsZSk7CitvdXIgKCVv dXRwdXQpOworCitzdWIgc3Rhc2ggKCQkKSB7CisgICAgbXkgKCRkYXRhLCAkd2hhdCkgPSBAXzsK KyAgICBteSAkbGVhZiA9ICJ4ZW5zdG9yZS1scy1kZXZpY2UtLSRnbi0tJHdoYXQiOworICAgIG15 ICRzdGFzaGggPSBvcGVuX3VuaXF1ZV9zdGFzaGZpbGUoXCRsZWFmKTsKKyAgICBwcmludCAkc3Rh c2hoICRkYXRhIG9yIGRpZSAkITsKKyAgICBjbG9zZSAkc3Rhc2hoIG9yIGRpZSAkITsKKyAgICAk ZmlsZXskd2hhdH0gPSAiJHN0YXNoLyRsZWFmIjsKK30KKworc3ViIHNvbWVfeGVuc3RvcmVscyAo JCQkKSB7CisgICAgbXkgKCR3aGF0LCAkbWFzc2FnZSwgJGNtZCkgPSBAXzsKKyAgICAkb3V0cHV0 eyR3aGF0fSA9IHRhcmdldF9jbWRfb3V0cHV0X3Jvb3QoJGhvLCRjbWQpOworICAgIHN0YXNoKCRv dXRwdXR7JHdoYXR9LCAiJHdoYXQtcmF3Iik7CisgICAgJG1hc3NhZ2UtPigpOworICAgICRvdXRw dXR7JHdoYXR9ID0gam9pbiAiXG4iLCBzb3J0IHNwbGl0IC9cbi8sICRvdXRwdXR7JHdoYXR9Owor ICAgICRvdXRwdXR7JHdoYXR9IC49ICJcbiI7CisgICAgc3Rhc2goJG91dHB1dHskd2hhdH0sICIk d2hhdC1tYXNzYWdlZCIpOworfQorCitzdWIgb3VyX3hlbnN0b3JlbHMgKCkgeworICAgIHNvbWVf eGVuc3RvcmVscygnb3VycycsIHN1YiB7CisJJG91dHB1dHtvdXJzfSA9fiBze14vbG9jYWwvZG9t YWluLyRkb21pZC99e31nbTsKKyAgICB9LCA8PEVORCk7CisgICAgICAgIHhlbnN0b3JlLWxzIC1m cCAvbG9jYWwvZG9tYWluLyRkb21pZC9kZXZpY2UKK0VORAorfQorCitzdWIgdGhlaXJfeGVuc3Rv cmVscyAoKSB7CisgICAgc29tZV94ZW5zdG9yZWxzKCd0aGVpcnMnLCBzdWIgeworCSRvdXRwdXR7 dGhlaXJzfSA9fiBze1xyXG59e1xufWc7CisJd2hpbGUgKCRvdXRwdXR7dGhlaXJzfSA9fiBte1xu PT09IGNhbGxpbmcgbWFpblwoXCkgPT09XG5cbn0pIHsKKwkgICAgJG91dHB1dHt0aGVpcnN9ID0g JCc7ICMnOworCX0KKwkkb3V0cHV0e3RoZWlyc30gPX4gbXtcbj09PSBtYWluXChcKSByZXR1cm5l ZCAoXGQrKSA9PT1cbn0gb3IgZGllOworCSRvdXRwdXR7dGhlaXJzfSA9ICRgOworCWRpZSAiJDEg PyIgaWYgJDEgbmUgJzAnOworCSRvdXRwdXR7dGhlaXJzfSA9fiBze15TVFVCIFxgXGBcdysnJyBj YWxsZWRcbn17fW1nOworICAgIH0sIDw8RU5EKTsKKyAgICAgICAgY2F0IC92YXIvbG9nL3hlbi9j b25zb2xlL2d1ZXN0LSRnbi5sb2cKK0VORAorfQorCitzdWIgY2hlY2tfb3V0cHV0ICgpIHsKKyAg ICBldmFsIHsKKwlvdXJfeGVuc3RvcmVscygpOworCXRoZWlyX3hlbnN0b3JlbHMoKTsKKwkxOwor ICAgIH07CisgICAgaWYgKCRAKSB7CisJZGllIER1bXBlcihcJW91dHB1dCkuIiRAIjsKKyAgICB9 CisgICAgaWYgKCRvdXRwdXR7b3Vyc30gbmUgJG91dHB1dHt0aGVpcnN9KSB7CisJc3lzdGVtIHF3 KGRpZmYgLXUpLCBtYXAgeyAkZmlsZXsiJF8tbWFzc2FnZWQifSB9IHF3KG91cnMgdGhlaXJzKTsK KwlkaWUgIiQ/IENPTVBBUklTT04gRkFJTEVEIjsKKyAgICB9Cit9CisKK2FycmFuZ2VwcmVzZXJ2 ZSgpOworc3RhcnQoKTsKK2F3YWl0X2VuZCgpOworY2hlY2tfb3V0cHV0KCk7Citsb2dtKCJhbGwg Z29vZC4iKTsKZGlmZiAtLWdpdCBhL3RzLXJ1bXB1c2VyeGVuLWJ1aWxkIGIvdHMtcnVtcHVzZXJ4 ZW4tYnVpbGQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDllNjU4MGEuLjAwMDAwMDAK LS0tIGEvdHMtcnVtcHVzZXJ4ZW4tYnVpbGQKKysrIC9kZXYvbnVsbApAQCAtMSwxMjYgKzAsMCBA QAotIyEvdXNyL2Jpbi9wZXJsCi0jIFRoaXMgaXMgcGFydCBvZiAib3NzdGVzdCIsIGFuIGF1dG9t YXRlZCB0ZXN0aW5nIGZyYW1ld29yayBmb3IgWGVuLgotIyBDb3B5cmlnaHQgKEMpIDIwMDktMjAx NCBDaXRyaXggSW5jLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotIyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSMg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj ZW5zZSwgb3IKLSMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKLSMgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4K LQotdXNlIHN0cmljdCBxdyh2YXJzKTsKLXVzZSBEQkk7Ci11c2UgT3NzdGVzdDsKLXVzZSBPc3N0 ZXN0OjpUZXN0U3VwcG9ydDsKLXVzZSBPc3N0ZXN0OjpCdWlsZFN1cHBvcnQ7Ci0KLXRzcmVhZGNv bmZpZygpOwotc2VsZWN0YnVpbGRob3N0KFxAQVJHVik7Ci1idWlsZGRpcnNwcm9wcygpOwotCi1v dXIgJXN1Ym1vZG1hcCA9IHF3KG5ibGlicyBuYmxpYnMKLSAgICAgICAgICAgICAgICAgICAgYnVp bGRydW1wLnNoIGJ1aWxkcnVtcHNoCi0gICAgICAgICAgICAgICAgICAgIHJ1bXBzcmMgbmV0YnNk c3JjKTsKLQotb3VyICgkcnV4LCAkYm9kZ2VzKTsKLQotc3ViIGNoZWNrb3V0ICgpIHsKLSAgICBw cmVwYnVpbGRkaXJzKCk7Ci0gICAgeGVuZGlzdCgpOwotCi0gICAgYnVpbGRfY2xvbmUoJGhvLCAn cnVtcHVzZXJ4ZW4nLCAkYnVpbGRkaXIsICdydW1wdXNlcnhlbicpOwotICAgIG15ICRzdWJtb2R1 bGVzID0KLQlzdWJtb2R1bGVmaXh1cCgkaG8sICdydW1wdXNlcnhlbicsICdydW1wdXNlcnhlbics IFwlc3VibW9kbWFwKTsKLSAgICAkcnV4ID0gIiRidWlsZGRpci9ydW1wdXNlcnhlbiI7Ci0KLSAg ICAkYm9kZ2VzID0gc3VibW9kdWxlX2hhdmUoJHN1Ym1vZHVsZXMsJ25ibGlicycpCi0JICAmJiAh c3VibW9kdWxlX2hhdmUoJHN1Ym1vZHVsZXMsJ25ldGJzZHNyYycpOwotCi0gICAgaWYgKCRib2Rn ZXMpIHsKLQlteSAkcnVtcHNyY2dpdHJldnIgPSAiJHJ1eC9idWlsZHJ1bXAuc2gvLnNyY2dpdHJl diI7Ci0JbXkgJHJ1bXBzcmNnaXRyZXZsID0gImJ1aWxkcnVtcC1zcmNnaXRyZXYiOwotCW15ICRy ZXYgPSAkcntyZXZpc2lvbl9ydW1wdXNlcnhlbl9ydW1wc3JjfTsKLQlpZiAobGVuZ3RoICRyZXYp IHsKLQkgICAgdGFyZ2V0X3B1dGZpbGVjb250ZW50c19zdGFzaCgkaG8sMzAsCi0JCQkJCSAiJHJ7 cmV2aXNpb25fcnVtcHVzZXJ4ZW5fcnVtcHNyY31cbiIsCi0JCQkJCSAkcnVtcHNyY2dpdHJldnIs ICRydW1wc3JjZ2l0cmV2bCk7Ci0JfSBlbHNlIHsKLQkgICAgdGFyZ2V0X2dldGZpbGUoJGhvLDMw LCRydW1wc3JjZ2l0cmV2ciwiJHN0YXNoLyRydW1wc3JjZ2l0cmV2bCIpOwotCSAgICAkcmV2ID0g Z2V0X2ZpbGVjb250ZW50cygiJHN0YXNoLyRydW1wc3JjZ2l0cmV2bCIpOwotCSAgICBjaG9tcCAk cmV2IG9yIGRpZTsKLQkgICAgJHJldiA9fiBtL15bMC05YS1mXSskLyBvciBkaWU7Ci0JICAgIHN0 b3JlX3J1bnZhcigncmV2aXNpb25fcnVtcHVzZXJ4ZW5fcnVtcHNyYycsICRyZXYpOwotCX0KLQot CWJ1aWxkX2Nsb25lKCRobywgInJ1bXB1c2VyeGVuX3J1bXBzcmMiLCAkYnVpbGRkaXIsCi0JCSAg ICAicnVtcHVzZXJ4ZW4vcnVtcHNyYyIpOwotCXN0b3JlX3Zjc19yZXZpc2lvbigncnVtcHVzZXJ4 ZW5fcnVtcHNyYycsICRyZXYsICdnaXQnKTsKLSAgICB9Ci19Ci0KLXN1YiBtYXNzYWdlKCkgewot ICAgIHJldHVybiB1bmxlc3MgJGJvZGdlczsKLQotICAgICMgVmVyeSBwb29yCi0gICAgdGFyZ2V0 X2VkaXRmaWxlKCRobywgIiRydXgvYnVpbGR4ZW4uc2giLCB1bmRlZiwKLQkJICAgICIkcnV4L2dy aWV2b3VzLWJvZGdlLW5ibGlicyIsIHN1YiB7Ci0gICAgICAgIHdoaWxlICg8RUk+KSB7Ci0JICAg IG5leHQgdW5sZXNzIG0vXlxRaWYgWyAhIC1kIHJ1bXBzcmMgXTsgdGhlblxFLy4ubS9eZmkvOwot CSAgICBuZXh0IHVubGVzcyBtL2NwIC1ScCBuYmxpYnMvOwotCSAgICBwcmludCBFTyBvciBkaWUg JCE7Ci0JfQotICAgIH0pOwotICAgIHRhcmdldF9jbWRfYnVpbGQoJGhvLCAyMDAwLCAkcnV4LCAi YmFzaCAteCBncmlldm91cy1ib2RnZS1uYmxpYnMiKTsKLQotICAgICMgUmF0aGVyIHBvb3IKLSAg ICB0YXJnZXRfZWRpdGZpbGUoJGhvLCAiJHJ1eC9Db25maWcubWsiLCBzdWIgewotICAgICAgICB3 aGlsZSAoPEVJPikgewotCSAgICBzL15YRU5fSEVBREVSUz0vWEVOX0hFQURFUlM/PS87Ci0JICAg IHByaW50IEVPIG9yIGRpZSAkITsKLQl9Ci0gICAgfSk7Ci19Ci0KLXN1YiBidWlsZCgpIHsKLSAg ICB0YXJnZXRfY21kX2J1aWxkKCRobywgNzIwMCwgJHJ1eCwgPDxFTkQpOwotICAgICAgICBleHBv cnQgWEVOX0hFQURFUlM9JHhlbmRpc3QvdXNyL2xvY2FsL2luY2x1ZGUveGVuCi0gICAgICAgICgu L2J1aWxkeGVuLnNoICYmIHRvdWNoIC4uL2J1aWxkLW9rLXN0YW1wKSB8dGVlIC4uL2xvZwotICAg ICAgICB0ZXN0IC1mIC4uL2J1aWxkLW9rLXN0YW1wICMvCi0gICAgICAgIGVjaG8gb2suCi1FTkQK LX0KLQotc3ViIHJlY29yZHRvb2xzKCkgewotICAgIGZvcmVhY2ggbXkgJHN0ZW0gKHF3KHJ1bXBy dW4teGVuIHJ1bXB4ZW4tYXBwKSkgewotCW15ICRhcHB0b29sID0gIiRydXgvYXBwLXRvb2xzLyRz dGVtIjsKLQluZXh0IHVubGVzcyB0YXJnZXRfZmlsZV9leGlzdHMoJGhvLCAiJGFwcHRvb2wtY29u ZmlndXJlIik7Ci0Jc3RvcmVfcnVudmFyKCdjbWRwcmVmaXhfY29uZmlndXJlJywgIiRhcHB0b29s LWNvbmZpZ3VyZSIpOwotCXN0b3JlX3J1bnZhcignY21kcHJlZml4X21ha2UnLCAgICAgICIkYXBw dG9vbC1tYWtlIik7Ci0JcmV0dXJuOwotICAgIH0KLSAgICBkaWUgImFwcC10b29scyBub3QgZm91 bmQgKCRydXgpIjsKLX0KLQotc3ViIGluc3RhbGwoKSB7Ci0gICAgbXkgJGRlc3RkaXI9ImRpc3Qv dXNyL2xvY2FsL2xpYi94ZW4vcnVtcC1rZXJuZWwiOwotICAgIHRhcmdldF9jbWRfYnVpbGQoJGhv LCAzMDAsICRidWlsZGRpciwgPDxFTkQpOwotICAgICAgICBta2RpciAtcCAkZGVzdGRpcgotICAg ICAgICBjcCBydW1wdXNlcnhlbi9ydW1wLWtlcm5lbCogJGRlc3RkaXIKLSAgICAgICAgY3AgLXIg cnVtcHVzZXJ4ZW4vaW1nICRkZXN0ZGlyLwotICAgICAgICBjcCBydW1wdXNlcnhlbi9kb21haW5f Y29uZmlnICRkZXN0ZGlyCi1FTkQKLX0KLQotY2hlY2tvdXQoKTsKLW1hc3NhZ2UoKTsKLWJ1aWxk KCk7Ci1yZWNvcmR0b29scygpOwotaW5zdGFsbCgpOwotYnVpbHRfc3Rhc2goJGhvLCAkYnVpbGRk aXIsICdkaXN0JywgJ3J1bXB1c2VyeGVuZGlzdCcpOwpkaWZmIC0tZ2l0IGEvdHMtcnVtcHVzZXJ4 ZW4tZGVtby1zZXR1cCBiL3RzLXJ1bXB1c2VyeGVuLWRlbW8tc2V0dXAKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNzU1CmluZGV4IDA0ZWQwYjkuLjAwMDAwMDAKLS0tIGEvdHMtcnVtcHVzZXJ4ZW4tZGVt by1zZXR1cAorKysgL2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLSMhL3Vzci9iaW4vcGVybCAt dwotIyBUaGlzIGlzIHBhcnQgb2YgIm9zc3Rlc3QiLCBhbiBhdXRvbWF0ZWQgdGVzdGluZyBmcmFt ZXdvcmsgZm9yIFhlbi4KLSMgQ29weXJpZ2h0IChDKSAyMDA5LTIwMTMgQ2l0cml4IEluYy4KLSMg Ci0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5Ci0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotIyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotIyAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIyAKLSMgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0j IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKLSMgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCi0jIAotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZm ZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJ ZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0KLXVzZSBzdHJpY3Qg cXcodmFycyk7Ci11c2UgREJJOwotdXNlIE9zc3Rlc3Q7Ci11c2UgT3NzdGVzdDo6VGVzdFN1cHBv cnQ7Ci0KLXRzcmVhZGNvbmZpZygpOwotCi1vdXIgKCR3aGhvc3QsJGduKSA9IEBBUkdWOwotJHdo aG9zdCB8fD0gJ2hvc3QnOwotJGduIHx8PSAncnVtcCc7Ci0KLW91ciAkaG89IHNlbGVjdGhvc3Qo JHdoaG9zdCk7Ci0KLW91ciAkZ2hvOwotCi1vdXIgJHJrZGlzdDsKLQotc3ViIHByZXAgKCkgewot ICAgICRnaG8gPSBwcmVwYXJlZ3Vlc3QoJGhvLCAkZ24sICRnbiwgNDA5NiwgdW5kZWYsIDMwKTsK LQotICAgIG15ICRjZmdfcmtkaXN0ID0gdGFyZ2V0X2V4dHJhY3Rfam9iZGlzdHBhdGhfc3ViZGly Ci0JKCRobywgJ3J1bXB1c2VyeGVuLS1iYXNlJywgJ3J1bXB1c2VyeGVuJywKLQkgJHJ7Z3Vlc3Rz X3J1bXB1c2VyeGVuYnVpbGRqb2J9KTsKLSAgICAkY2ZnX3JrZGlzdCAuPSAnL3Vzci9sb2NhbC9s aWIveGVuL3J1bXAta2VybmVsJzsKLQotICAgIG15ICRidWlsZGpvYiA9IGd1ZXN0X3ZhcigkZ2hv LCAncnVtcHVzZXJ4ZW5idWlsZGpvYicsIHVuZGVmKTsKLSAgICBteSAkYnVpbHRpbWFnZSA9IGd1 ZXN0X3ZhcigkZ2hvLCAnYnVpbHRpbWFnZScsIHVuZGVmKTsKLSAgICAkYnVpbHRpbWFnZSA9fiBt L1w6LyBvciBkaWUgIiRidWlsdGltYWdlID8iOwotICAgIG15ICRidWlsdGltYWdlX3BhcnQgPSAk YDsKLSAgICBteSAkYnVpbHRpbWFnZV9zdWJwYXRoID0gJCc7ICMnOwotICAgICRya2Rpc3QgPSB0 YXJnZXRfZXh0cmFjdF9qb2JkaXN0cGF0aF9zdWJkaXIKLQkoJGhvLCAicnVtcHVzZXJ4ZW4tJGdu IiwgJGJ1aWx0aW1hZ2VfcGFydCwgJGJ1aWxkam9iKTsKLSAgICBteSAkaW1hZ2VmaWxlID0gJHJr ZGlzdC4kYnVpbHRpbWFnZV9zdWJwYXRoOwotICAgIG15ICRjbWRsaW5lID0gZ3Vlc3RfdmFyKCRn aG8sICdjbWRsaW5lJywgdW5kZWYpOwotCi0gICAgbXkgQGltYWdlczsKLQotICAgIG15ICRmc2lt YWdlc2RpciA9IHRhcmdldF9qb2JkaXIoJGhvKS4iLyRnbi1pbWFnZXMiOwotCi0gICAgbXkgJGNm Z2ZpbGUgPSAiJGduLmNmZyI7Ci0gICAgbXkgJGNmZ3BhdGggPSAiL2V0Yy94ZW4vJGNmZ2ZpbGUi OwotICAgIHRhcmdldF9lZGl0ZmlsZV9yb290KCRobywgIiRjZmdfcmtkaXN0L2RvbWFpbl9jb25m aWciLCAkY2ZnZmlsZSwgJGNmZ3BhdGgsCi0JCQkgc3ViIHsKLQl3aGlsZSAoPEVJPikgewotCSAg ICBuZXh0IGlmIG0vXlxzKlwjLzsKLQkgICAgbmV4dCB1bmxlc3MgbS9cUy87Ci0KLQkgICAgbXkg JGluID0gJCYgaWYgbS9eXHdcUyovOwotCi0JICAgIHMjID0gLiogICAgICAgICAgICAgICMgIiA9 ICckZ24nIiAgICAgICAgICAjeGUgIGlmICRpbiBlcSAnbmFtZSc7Ci0JICAgIHMjID0gLiogICAg ICAgICAgICAgICMgIiA9ICckaW1hZ2VmaWxlJyIgICAjeGUgIGlmICRpbiBlcSAna2VybmVsJzsK LQkgICAgcyNcYiBtYWM9WzAtOWEtZjpdKyAgIyAibWFjPSRnaG8tPntFdGhlcn0iICN4ZSAgaWYg JGluIGVxICd2aWYnOwotCSAgICBzIyA9IC4qICAgICAgICAgICAgICAjICIgPSAnJGNtZGxpbmUn IiAgICAgI3hlICBpZiAkaW4gZXEgJ2V4dHJhJzsKLQotCSAgICBpZiAoJGluIGVxICdkaXNrJykg ewotCQlze1xiIGltZy8oXHcrLmZmcykgXGJ9ewotICAgICAgICAgICAgICAgICAgICBwdXNoIEBp bWFnZXMsICQxOwotICAgICAgICAgICAgICAgICAgICAiJGZzaW1hZ2VzZGlyLyQxIjsKLSAgICAg ICAgICAgICAgICB9eGVnOwotCSAgICB9Ci0KLQkgICAgcHJpbnQgRU8gb3IgZGllICQhOwotCX0K LSAgICB9KTsKLQotICAgIHN0b3JlX3J1bnZhcigiJGdoby0+e0d1ZXN0fV9jZmdwYXRoIiwgJGNm Z3BhdGgpOwotCi0gICAgdGFyZ2V0X2NtZCgkaG8sIDw8RU5ELihqb2luICJcbiIsIG1hcCB7IDw8 RU5EOyB9IEBpbWFnZXMpLCAyMDApOwotICAgICAgICAgICAgICAgICAgIG1rZGlyIC1wICRmc2lt YWdlc2RpcgotRU5ECi0gICAgICAgICAgICAgICAgICAgY3AgJGNmZ19ya2Rpc3QvaW1nLyRfICRm c2ltYWdlc2Rpci8kXwotRU5ECi19Ci0KLXByZXAoKTsKZGlmZiAtLWdpdCBhL3RzLXJ1bXB1c2Vy eGVuLWRlbW8teGVuc3RvcmVscyBiL3RzLXJ1bXB1c2VyeGVuLWRlbW8teGVuc3RvcmVscwpkZWxl dGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggYTU0ZmJmNC4uMDAwMDAwMAotLS0gYS90cy1ydW1w dXNlcnhlbi1kZW1vLXhlbnN0b3JlbHMKKysrIC9kZXYvbnVsbApAQCAtMSwxMjQgKzAsMCBAQAot IyEvdXNyL2Jpbi9wZXJsIC13Ci0jIFRoaXMgaXMgcGFydCBvZiAib3NzdGVzdCIsIGFuIGF1dG9t YXRlZCB0ZXN0aW5nIGZyYW1ld29yayBmb3IgWGVuLgotIyBDb3B5cmlnaHQgKEMpIDIwMTQgQ2l0 cml4IEluYy4KLSMgCi0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgotIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIyAKLSMgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Ci0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKLSMgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCi0jIAotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcgd2l0aCB0aGlz IHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0K LXVzZSBzdHJpY3QgcXcodmFycyk7Ci11c2UgREJJOwotdXNlIE9zc3Rlc3Q7Ci11c2UgT3NzdGVz dDo6VGVzdFN1cHBvcnQ7Ci11c2UgRGF0YTo6RHVtcGVyOwotCi10c3JlYWRjb25maWcoKTsKLQot b3VyICgkaG8sJGdobykgPSB0c19nZXRfaG9zdF9ndWVzdChAQVJHVik7Ci0KLW91ciAkZG9taWQ7 Ci0KLW91ciAkZ24gPSAkZ2hvLT57R3Vlc3R9OwotCi1zdWIgYXJyYW5nZXByZXNlcnZlICgpIHsK LSAgICB0YXJnZXRfZWRpdGZpbGVfcm9vdCgkaG8sJHJ7IiRnaG8tPntHdWVzdH1fY2ZncGF0aCJ9 LCBzdWIgewotCXdoaWxlICg8RUk+KSB7Ci0JICAgIGlmIChtL15ccypvbl9wb3dlcm9mZlxzKj0v KSB7Ci0JCXRhcmdldF9lZGl0ZmlsZV9jYW5jZWwoImFscmVhZHkgY29uZmlndXJlZCB0byBwcmVz ZXJ2ZSIpCi0JCSAgICBpZiBtL1xicHJlc2VydmVcYi87Ci0JCW5leHQ7Ci0JICAgIH0KLQkgICAg cHJpbnQgRU8gb3IgZGllICQhOwotCX0KLQlwcmludCBFTyAiXG4iLCJvbl9wb3dlcm9mZj0ncHJl c2VydmUnXG4iIG9yIGRpZSAkITsKLSAgICB9KTsKLX0KLQotc3ViIHN0YXJ0ICgpIHsKLSAgICBn dWVzdF9jcmVhdGUoJGdobyk7Ci0KLSAgICAkZG9taWQgPSBndWVzdF9maW5kX2RvbWlkKCRobywg JGdobyk7Ci19Ci0KLXN1YiBhd2FpdF9lbmQgKCkgewotICAgIHBvbGxfbG9vcCgzMCwzLCAiYXdh aXQgZW5kaW5nIG9mICRnaG8tPntHdWVzdH0iLCBzdWIgewotICAgICAgICBteSAkc3Q9IGd1ZXN0 X2dldF9zdGF0ZSgkaG8sJGdobyk7Ci0JcmV0dXJuIHVuZGVmIGlmICRzdCA9fiBtL3MvOwotICAg ICAgICByZXR1cm4gImd1ZXN0IHN0YXRlIGlzICRzdCI7Ci0gICAgfSk7Ci19Ci0KLW91ciAoJWZp bGUpOwotb3VyICglb3V0cHV0KTsKLQotc3ViIHN0YXNoICgkJCkgewotICAgIG15ICgkZGF0YSwg JHdoYXQpID0gQF87Ci0gICAgbXkgJGxlYWYgPSAieGVuc3RvcmUtbHMtZGV2aWNlLS0kZ24tLSR3 aGF0IjsKLSAgICBteSAkc3Rhc2hoID0gb3Blbl91bmlxdWVfc3Rhc2hmaWxlKFwkbGVhZik7Ci0g ICAgcHJpbnQgJHN0YXNoaCAkZGF0YSBvciBkaWUgJCE7Ci0gICAgY2xvc2UgJHN0YXNoaCBvciBk aWUgJCE7Ci0gICAgJGZpbGV7JHdoYXR9ID0gIiRzdGFzaC8kbGVhZiI7Ci19Ci0KLXN1YiBzb21l X3hlbnN0b3JlbHMgKCQkJCkgewotICAgIG15ICgkd2hhdCwgJG1hc3NhZ2UsICRjbWQpID0gQF87 Ci0gICAgJG91dHB1dHskd2hhdH0gPSB0YXJnZXRfY21kX291dHB1dF9yb290KCRobywkY21kKTsK LSAgICBzdGFzaCgkb3V0cHV0eyR3aGF0fSwgIiR3aGF0LXJhdyIpOwotICAgICRtYXNzYWdlLT4o KTsKLSAgICAkb3V0cHV0eyR3aGF0fSA9IGpvaW4gIlxuIiwgc29ydCBzcGxpdCAvXG4vLCAkb3V0 cHV0eyR3aGF0fTsKLSAgICAkb3V0cHV0eyR3aGF0fSAuPSAiXG4iOwotICAgIHN0YXNoKCRvdXRw dXR7JHdoYXR9LCAiJHdoYXQtbWFzc2FnZWQiKTsKLX0KLQotc3ViIG91cl94ZW5zdG9yZWxzICgp IHsKLSAgICBzb21lX3hlbnN0b3JlbHMoJ291cnMnLCBzdWIgewotCSRvdXRwdXR7b3Vyc30gPX4g c3teL2xvY2FsL2RvbWFpbi8kZG9taWQvfXt9Z207Ci0gICAgfSwgPDxFTkQpOwotICAgICAgICB4 ZW5zdG9yZS1scyAtZnAgL2xvY2FsL2RvbWFpbi8kZG9taWQvZGV2aWNlCi1FTkQKLX0KLQotc3Vi IHRoZWlyX3hlbnN0b3JlbHMgKCkgewotICAgIHNvbWVfeGVuc3RvcmVscygndGhlaXJzJywgc3Vi IHsKLQkkb3V0cHV0e3RoZWlyc30gPX4gc3tcclxufXtcbn1nOwotCXdoaWxlICgkb3V0cHV0e3Ro ZWlyc30gPX4gbXtcbj09PSBjYWxsaW5nIG1haW5cKFwpID09PVxuXG59KSB7Ci0JICAgICRvdXRw dXR7dGhlaXJzfSA9ICQnOyAjJzsKLQl9Ci0JJG91dHB1dHt0aGVpcnN9ID1+IG17XG49PT0gbWFp blwoXCkgcmV0dXJuZWQgKFxkKykgPT09XG59IG9yIGRpZTsKLQkkb3V0cHV0e3RoZWlyc30gPSAk YDsKLQlkaWUgIiQxID8iIGlmICQxIG5lICcwJzsKLQkkb3V0cHV0e3RoZWlyc30gPX4gc3teU1RV QiBcYFxgXHcrJycgY2FsbGVkXG59e31tZzsKLSAgICB9LCA8PEVORCk7Ci0gICAgICAgIGNhdCAv dmFyL2xvZy94ZW4vY29uc29sZS9ndWVzdC0kZ24ubG9nCi1FTkQKLX0KLQotc3ViIGNoZWNrX291 dHB1dCAoKSB7Ci0gICAgZXZhbCB7Ci0Jb3VyX3hlbnN0b3JlbHMoKTsKLQl0aGVpcl94ZW5zdG9y ZWxzKCk7Ci0JMTsKLSAgICB9OwotICAgIGlmICgkQCkgewotCWRpZSBEdW1wZXIoXCVvdXRwdXQp LiIkQCI7Ci0gICAgfQotICAgIGlmICgkb3V0cHV0e291cnN9IG5lICRvdXRwdXR7dGhlaXJzfSkg ewotCXN5c3RlbSBxdyhkaWZmIC11KSwgbWFwIHsgJGZpbGV7IiRfLW1hc3NhZ2VkIn0gfSBxdyhv dXJzIHRoZWlycyk7Ci0JZGllICIkPyBDT01QQVJJU09OIEZBSUxFRCI7Ci0gICAgfQotfQotCi1h cnJhbmdlcHJlc2VydmUoKTsKLXN0YXJ0KCk7Ci1hd2FpdF9lbmQoKTsKLWNoZWNrX291dHB1dCgp OwotbG9nbSgiYWxsIGdvb2QuIik7Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=