Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bSNpR-0004Ka-2a for pgadmin-hackers@arkaria.postgresql.org; Wed, 27 Jul 2016 12:20:49 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bSNpQ-00042M-Kd for pgadmin-hackers@arkaria.postgresql.org; Wed, 27 Jul 2016 12:20:48 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bSNpA-0003oR-EE for pgadmin-hackers@postgresql.org; Wed, 27 Jul 2016 12:20:32 +0000 Received: from mail-qk0-f175.google.com ([209.85.220.175]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1bSNp2-0006cF-Fa for pgadmin-hackers@postgresql.org; Wed, 27 Jul 2016 12:20:31 +0000 Received: by mail-qk0-f175.google.com with SMTP id o67so32061145qke.1 for ; Wed, 27 Jul 2016 05:20:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=fQM+Hvr0tfL7OafLrw3Zs8LnppfevpueTQSl/+2Jdds=; b=dnslnmc756iT/PI2Aa9nIf5/eA0XXuxZ8IlLaw2doRz8YvkEuwoByR8SQ57SsO/aQa BooYDb5s3x11ENcwmtWDmz4fUMGnvOfFgyIqyE6YPnVMUtjsNGKWkb401/tbdeJsLocz 6B96R4ghebWydlMc5FTJexr4N4u8Un7qWCekQlT40d3Q0ho/D8JEzfOK9PAHhtzECDCq Rdf9lB6YkLq2qYYU7zx6mzg6k7iKBYMlFXwNoJbaTS6H2uqRaHOW0wcyXOFQj9bOUEof A6eDiuwtkA1g0ZOSEJZLCLGOKaaEmwHbMv6dMgdGI+S6cH/D5rK9WgatE0UAQi1kcPet 6RQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=fQM+Hvr0tfL7OafLrw3Zs8LnppfevpueTQSl/+2Jdds=; b=TYuw8QDbg6VirbRJK+YqUR3QUqJN5RG5XWzbTlCh3+IiS9d8JNGvPAy8Ykh87+mtav 75C/wHZ1fmy323sP76cbtvycJRhTsGK56ZQZVpTol2rjzEZRWOSOdQMvcx5UfdRDEGp3 eUzT2v1NZ9ecKV5q254S9MMvG+xr8/XERN7BrGQLU7aNYKJaCYfU+XYWRlCLZwCBHxl3 RIKPmOLxemlE3d4EVRqCtTqHvnSdB9uS6WC/RgXrLOF7qr8X13SmLIFTxy4EIelFuada Gxcmzh8E9k/2rsWL5VrnOd63jvi4kT4HdmZWaIH9tXn2bW4257ksgPbdUg0ZjmBRdlXx pIqw== X-Gm-Message-State: AEkoouvAMfva34Jbfpa9boV0Ztlj8L5Ib4KMioC/PnYdnL2s9Chz+A9TJP2wX5pcdzq5krwDLIwDtoEzbuwvRGso X-Received: by 10.55.217.89 with SMTP id u86mr36554627qki.114.1469621961668; Wed, 27 Jul 2016 05:19:21 -0700 (PDT) MIME-Version: 1.0 Received: by 10.200.41.90 with HTTP; Wed, 27 Jul 2016 05:19:20 -0700 (PDT) In-Reply-To: References: From: Navnath Gadakh Date: Wed, 27 Jul 2016 17:49:20 +0530 Message-ID: Subject: Re: pgAdmin IV : Unittest modular patch To: Dave Page Cc: pgadmin-hackers , Kanchan Mohitey Content-Type: multipart/mixed; boundary=001a1149cd50fb51ca05389d0641 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a1149cd50fb51ca05389d0641 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Dave, We have reproduced the issue you mentioned in the previous email. We need to skip the login related test cases when SERVER_MODE =3D False in the web/config_local.py. Please find the revised patch for the same. Thanks! On Fri, Jul 22, 2016 at 9:48 PM, Dave Page wro= te: > Hi > > On Fri, Jul 22, 2016 at 2:22 PM, Navnath Gadakh > wrote: >> Hi Dave, >> >> Please find the attached patch for pgAdmin4 unittest(Support of API >> testing with different servers i.e. PG and PPAS). >> >> This patch includes- >> >> Test framework support API testing with multiple server for this we need= to >> modify test_config.json(for user it=E2=80=99s test_config.json.in) and >> test_advanced_config.json(for user it=E2=80=99s test_advanced_config.jso= n.in). >> Server details of PG and PPAS are included in both .in files. >> >> Removed the logic of logging in the test client on each test scenario(As >> per Khushboo's comment in previous email). We need this logic in test c= ases >> under =E2=80=98browser/tests/=E2=80=99 as for test scenarios like change= password and >> invalid login test cases as test client should be logged out first. So, = as >> per this the code is slightly modified in =E2=80=98browser/tests/=E2=80= =99. > > OK in principle, but it doesn't seem to work: > > This function will add the server under default server group. (Default > Server Node url) ... ok > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > FAIL: runTest (pgadmin.browser.tests.test_reset_password.ResetPasswordTes= tCase) > This function checks reset password functionality. (TestCase for > Validating Empty Email) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/tests/test_reset_pa= ssword.py", > line 44, in runTest > 'utf-8')) > AssertionError: 'Recover pgAdmin 4 Password' not found in u' HTML PUBLIC "-//W3C//DTD HTML 3.2 > Final//EN">\nRedirecting...\n

Redirecting...

\n

Y= ou > should be redirected automatically to target URL: /. > If not click the link.' > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > FAIL: runTest (pgadmin.browser.tests.test_reset_password.ResetPasswordTes= tCase) > This function checks reset password functionality. (TestCase for > Validating Invalid_Email) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/tests/test_reset_pa= ssword.py", > line 44, in runTest > 'utf-8')) > AssertionError: 'Recover pgAdmin 4 Password' not found in u' HTML PUBLIC "-//W3C//DTD HTML 3.2 > Final//EN">\nRedirecting...\n

Redirecting...

\n

Y= ou > should be redirected automatically to target URL: /. > If not click the link.' > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > FAIL: runTest (pgadmin.browser.tests.test_reset_password.ResetPasswordTes= tCase) > This function checks reset password functionality. (TestCase for > Validating Valid_Email) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/tests/test_reset_pa= ssword.py", > line 44, in runTest > 'utf-8')) > AssertionError: 'Recover pgAdmin 4 Password' not found in u' HTML PUBLIC "-//W3C//DTD HTML 3.2 > Final//EN">\nRedirecting...\n

Redirecting...

\n

Y= ou > should be redirected automatically to target URL: /. > If not click the link.' > > ---------------------------------------------------------------------- > Ran 26 tests in 30.109s > > FAILED (failures=3D3) > > It's very far from obvious what's wrong here (/reset looks just fine > to me). How can we get more useful info out of the framework? > > -- > Dave Page > VP, Chief Architect, Tools & Installers > EnterpriseDB: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake --=20 Thanks, Navnath Gadakh Software Engineer EnterpriseDB Corporation Mobile: +91 9975389878 --001a1149cd50fb51ca05389d0641 Content-Type: application/octet-stream; name="pgadmin_unittest_multiple_server.patch" Content-Disposition: attachment; filename="pgadmin_unittest_multiple_server.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ir4uy7760 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZXN0cy90ZXN0X2RiX2FkZC5weSBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy90ZXN0cy90ZXN0X2RiX2FkZC5weQppbmRleCBjMGUxNDMwLi44NWRj YzZjIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVzdHMvdGVzdF9kYl9hZGQucHkK KysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3Rlc3RzL3Rlc3RfZGJfYWRkLnB5CkBAIC04LDExICs4 LDkgQEAKICMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKIGltcG9ydCBqc29u Ci1pbXBvcnQgdXVpZAogCiBmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1w b3J0IEJhc2VUZXN0R2VuZXJhdG9yCiBmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0 IHRlc3RfdXRpbHMgYXMgdXRpbHMKLWZyb20gcmVncmVzc2lvbi50ZXN0X3Nl dHVwIGltcG9ydCBhZHZhbmNlZF9jb25maWdfZGF0YQogCiAKIGNsYXNzIERh dGFiYXNlQWRkVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgpAQCAtMjgs MTQgKzI2LDExIEBAIGNsYXNzIERhdGFiYXNlQWRkVGVzdENhc2UoQmFzZVRl c3RHZW5lcmF0b3IpOgogCiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAg ICAiIiIKLSAgICAgICAgVGhpcyBmdW5jdGlvbiBwZXJmb3JtIHRoZSB0d28g dGFza3MKLSAgICAgICAgIDEuIExvZ2luIHRvIHRlc3QgY2xpZW50Ci0gICAg ICAgICAyLiBBZGQgdGhlIHRlc3Qgc2VydmVyCisgICAgICAgIFRoaXMgZnVu Y3Rpb24gdXNlZCB0byBhZGQgdGhlIHNldmVyCiAKICAgICAgICAgOnJldHVy bjogTm9uZQogICAgICAgICAiIiIKIAotICAgICAgICB1dGlscy5sb2dpbl90 ZXN0ZXJfYWNjb3VudChzZWxmLnRlc3RlcikKICAgICAgICAgIyBBZGQgdGhl IHNlcnZlcgogICAgICAgICB1dGlscy5hZGRfc2VydmVyKHNlbGYudGVzdGVy KQogCkBAIC00NSw4ICs0MCw2IEBAIGNsYXNzIERhdGFiYXNlQWRkVGVzdENh c2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICBzZXJ2ZXJfY29ubmVj dF9yZXNwb25zZSwgc2VydmVyX2dyb3VwLCBzZXJ2ZXJfaWRzID0gXAogICAg ICAgICAgICAgdXRpbHMuY29ubmVjdF9zZXJ2ZXIoc2VsZi50ZXN0ZXIpCiAK LSAgICAgICAgIyBTdG9yZSBkYiBpZC4gV2hpY2ggaXMgdXNlIHRvIGRlbGV0 ZSBpbiB0ZWFyRG93bigpCi0gICAgICAgIHNlbGYuZGJfaWQgPSAnJwogICAg ICAgICBmb3Igc2VydmVyX2Nvbm5lY3QsIHNlcnZlcl9pZCBpbiB6aXAoc2Vy dmVyX2Nvbm5lY3RfcmVzcG9uc2UsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaWRzKToKICAgICAgICAg ICAgIGlmIHNlcnZlcl9jb25uZWN0WydkYXRhJ11bJ2Nvbm5lY3RlZCddOgpA QCAtNTgsMTcgKzUxLDE1IEBAIGNsYXNzIERhdGFiYXNlQWRkVGVzdENhc2Uo QmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICAgICAgICAgIHNlbGYuYXNz ZXJ0VHJ1ZShkYl9yZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQogICAgICAg ICAgICAgICAgIHJlc3BvbnNlX2RhdGEgPSBqc29uLmxvYWRzKGRiX3Jlc3Bv bnNlLmRhdGEuZGVjb2RlKCd1dGYtOCcpKQogICAgICAgICAgICAgICAgIHV0 aWxzLndyaXRlX2RiX3BhcmVudF9pZChyZXNwb25zZV9kYXRhKQotICAgICAg ICAgICAgICAgIHNlbGYuZGJfaWQgPSByZXNwb25zZV9kYXRhWydub2RlJ11b J19pZCddCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgICIi IgotICAgICAgICBUaGlzIGZ1bmN0aW9uIGRlbGV0ZXMgdGhlICdwYXJlbnRf aWQucGtsJyBmaWxlIHdoaWNoIGlzIGNyZWF0ZWQgaW4KLSAgICAgICAgc2V0 dXAoKSBmdW5jdGlvbi4gQWxzbyB0aGlzIGZ1bmN0aW9uIGxvZ291dCB0aGUg dGVzdCBjbGllbnQKKyAgICAgICAgVGhpcyBmdW5jdGlvbiBkZWxldGVzIHRo ZSBhZGRlZCBkYXRhYmFzZSwgYWRkZWQgc2VydmVyIGFuZCB0aGUKKyAgICAg ICAgJ3BhcmVudF9pZC5wa2wnIGZpbGUgd2hpY2ggaXMgY3JlYXRlZCBpbiBz ZXR1cCgpCiAKICAgICAgICAgOnJldHVybjogTm9uZQogICAgICAgICAiIiIK IAotICAgICAgICB1dGlscy5kZWxldGVfZGF0YWJhc2Uoc2VsZi50ZXN0ZXIs IHNlbGYuZGJfaWQpCisgICAgICAgIHV0aWxzLmRlbGV0ZV9kYXRhYmFzZShz ZWxmLnRlc3RlcikKICAgICAgICAgdXRpbHMuZGVsZXRlX3NlcnZlcihzZWxm LnRlc3RlcikKICAgICAgICAgdXRpbHMuZGVsZXRlX3BhcmVudF9pZF9maWxl KCkKLSAgICAgICAgdXRpbHMubG9nb3V0X3Rlc3Rlcl9hY2NvdW50KHNlbGYu dGVzdGVyKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3Rlc3RfZGJfZGVs ZXRlLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3Rlc3RfZGJfZGVsZXRlLnB5CmluZGV4 IDVmMTYwZjkuLjY4MzBiNWEgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZXN0cy90 ZXN0X2RiX2RlbGV0ZS5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVzdHMvdGVzdF9kYl9k ZWxldGUucHkKQEAgLTEyLDcgKzEyLDcgQEAgaW1wb3J0IGpzb24KIGZyb20g cGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IK IGZyb20gcmVncmVzc2lvbiBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscwog ZnJvbSByZWdyZXNzaW9uLnRlc3Rfc2V0dXAgaW1wb3J0IGNvbmZpZ19kYXRh Ci1mcm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcywg dGVzdF9nZXRub2RlcworZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1w b3J0IGdldF9pZHMKIAogCiBjbGFzcyBEYXRhYmFzZURlbGV0ZVRlc3RDYXNl KEJhc2VUZXN0R2VuZXJhdG9yKToKQEAgLTI2LDE0ICsyNiwxMiBAQCBjbGFz cyBEYXRhYmFzZURlbGV0ZVRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToK ICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgICIiIgogICAgICAgICBU aGlzIGZ1bmN0aW9uIHBlcmZvcm0gdGhlIHRocmVlIHRhc2tzCi0gICAgICAg ICAxLiBMb2dpbiB0byB0ZXN0IGNsaWVudAotICAgICAgICAgMi4gQWRkIHRo ZSB0ZXN0IHNlcnZlcgotICAgICAgICAgMy4gQ29ubmVjdCB0byBzZXJ2ZXIK KyAgICAgICAgIDEuIEFkZCB0aGUgdGVzdCBzZXJ2ZXIKKyAgICAgICAgIDIu IENvbm5lY3QgdG8gc2VydmVyCiAKICAgICAgICAgOnJldHVybjogTm9uZQog ICAgICAgICAiIiIKIAotICAgICAgICB1dGlscy5sb2dpbl90ZXN0ZXJfYWNj b3VudChzZWxmLnRlc3RlcikKICAgICAgICAgIyBGaXJzdGx5LCBhZGQgdGhl IHNlcnZlcgogICAgICAgICB1dGlscy5hZGRfc2VydmVyKHNlbGYudGVzdGVy KQogICAgICAgICAjIFNlY29uZGx5LCBjb25uZWN0IHRvIHNlcnZlci9kYXRh YmFzZQpAQCAtNDUsMTQgKzQzLDE1IEBAIGNsYXNzIERhdGFiYXNlRGVsZXRl VGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICBzcnZfZ3Jw ID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KICAgICAgICAg YWxsX2lkID0gZ2V0X2lkcygpCiAgICAgICAgIHNlcnZlcl9pZHMgPSBhbGxf aWRbInNpZCJdCisgICAgICAgIGRiX2lkc19kaWN0ID0gYWxsX2lkWyJkaWQi XVswXQogCi0gICAgICAgICMgVE9ETzogTmVlZCB0byBtb2RpZnkgdGhlIGNv ZGUgLCB0byBkZWxldGUgdGhlIGRhdGFiYXNlcyBmb3IgYWxsCi0gICAgICAg ICMgVE9ETzogc2VydmVycy4gQ3VycmVudGx5IGl0IGRlbGV0ZSBvbmx5IG9u ZSBkYXRhYmFzZS4KLSAgICAgICAgZGJfaWQgPSBhbGxfaWRbImRpZCJdWzBd Ci0gICAgICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9kZXMoc2VsZi50ZXN0ZXIp Ci0gICAgICAgIGlmIGxlbihkYl9jb24pID09IDA6Ci0gICAgICAgICAgICBy YWlzZSBFeGNlcHRpb24oIk5vIGRhdGFiYXNlKHMpIHRvIGRlbGV0ZSEhISIp CiAgICAgICAgIGZvciBzZXJ2ZXJfaWQgaW4gc2VydmVyX2lkczoKKyAgICAg ICAgICAgIGRiX2lkID0gZGJfaWRzX2RpY3RbaW50KHNlcnZlcl9pZCldCisg ICAgICAgICAgICBkYl9jb24gPSB1dGlscy52ZXJpZnlfZGF0YWJhc2Uoc2Vs Zi50ZXN0ZXIsIHNydl9ncnAsIHNlcnZlcl9pZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYl9pZCkKKyAgICAgICAg ICAgIGlmIGxlbihkYl9jb24pID09IDA6CisgICAgICAgICAgICAgICAgcmFp c2UgRXhjZXB0aW9uKCJObyBkYXRhYmFzZShzKSB0byBkZWxldGUgZm9yIHNl cnZlciBpZCAlcyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JSBzZXJ2ZXJfaWQpCiAgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYudGVz dGVyLmRlbGV0ZShzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIo c2VydmVyX2lkKSArICcvJyArIHN0cihkYl9pZCksCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3Rz PVRydWUpCkBAIC02MiwxMiArNjEsMTEgQEAgY2xhc3MgRGF0YWJhc2VEZWxl dGVUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAKICAgICBkZWYgdGVh ckRvd24oc2VsZik6CiAgICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1bmN0 aW9uIGRlbGV0ZXMgdGhlICdwYXJlbnRfaWQucGtsJyBmaWxlIHdoaWNoIGlz IGNyZWF0ZWQgaW4KLSAgICAgICAgc2V0dXAoKSBmdW5jdGlvbi4gQWxzbyB0 aGlzIGZ1bmN0aW9uIGxvZ291dCB0aGUgdGVzdCBjbGllbnQKKyAgICAgICAg VGhpcyBmdW5jdGlvbiBkZWxldGVzIHRoZSBhZGRlZCBzZXJ2ZXIgYW5kIHRo ZSAncGFyZW50X2lkLnBrbCcgZmlsZQorICAgICAgICB3aGljaCBpcyBjcmVh dGVkIGluIHNldHVwKCkgZnVuY3Rpb24uCiAKICAgICAgICAgOnJldHVybjog Tm9uZQogICAgICAgICAiIiIKIAogICAgICAgICB1dGlscy5kZWxldGVfc2Vy dmVyKHNlbGYudGVzdGVyKQogICAgICAgICB1dGlscy5kZWxldGVfcGFyZW50 X2lkX2ZpbGUoKQotICAgICAgICB1dGlscy5sb2dvdXRfdGVzdGVyX2FjY291 bnQoc2VsZi50ZXN0ZXIpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVzdHMvdGVz dF9kYl9nZXQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvdGVzdHMvdGVzdF9kYl9nZXQucHkKaW5k ZXggYTQyZTBjMS4uNzM1MGY3MiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Rlc3Rz L3Rlc3RfZGJfZ2V0LnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZXN0cy90ZXN0X2RiX2dl dC5weQpAQCAtMTAsNyArMTAsNyBAQAogZnJvbSBwZ2FkbWluLnV0aWxzLnJv dXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgogZnJvbSByZWdyZXNzaW9u IGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxzCiBmcm9tIHJlZ3Jlc3Npb24u dGVzdF9zZXR1cCBpbXBvcnQgY29uZmlnX2RhdGEKLWZyb20gcmVncmVzc2lv bi50ZXN0X3V0aWxzIGltcG9ydCBnZXRfaWRzLCB0ZXN0X2dldG5vZGVzCitm cm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcwogCiAK IGNsYXNzIERhdGFiYXNlc0dldFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9y KToKQEAgLTI2LDE0ICsyNiwxMiBAQCBjbGFzcyBEYXRhYmFzZXNHZXRUZXN0 Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgZGVmIHNldFVwKHNlbGYp OgogICAgICAgICAiIiIKICAgICAgICAgVGhpcyBmdW5jdGlvbiBwZXJmb3Jt IHRoZSB0aHJlZSB0YXNrcwotICAgICAgICAgMS4gTG9naW4gdG8gdGVzdCBj bGllbnQKLSAgICAgICAgIDIuIEFkZCB0aGUgdGVzdCBzZXJ2ZXIKLSAgICAg ICAgIDMuIENvbm5lY3QgdG8gc2VydmVyCisgICAgICAgICAxLiBBZGQgdGhl IHRlc3Qgc2VydmVyCisgICAgICAgICAyLiBDb25uZWN0IHRvIHNlcnZlcgog CiAgICAgICAgIDpyZXR1cm46IE5vbmUKICAgICAgICAgIiIiCiAKLSAgICAg ICAgdXRpbHMubG9naW5fdGVzdGVyX2FjY291bnQoc2VsZi50ZXN0ZXIpCiAg ICAgICAgICMgRmlyc3RseSwgYWRkIHRoZSBzZXJ2ZXIKICAgICAgICAgdXRp bHMuYWRkX3NlcnZlcihzZWxmLnRlc3RlcikKICAgICAgICAgIyBTZWNvbmRs eSwgY29ubmVjdCB0byBzZXJ2ZXIvZGF0YWJhc2UKQEAgLTQ1LDI4ICs0Mywy NyBAQCBjbGFzcyBEYXRhYmFzZXNHZXRUZXN0Q2FzZShCYXNlVGVzdEdlbmVy YXRvcik6CiAgICAgICAgIGFsbF9pZCA9IGdldF9pZHMoKQogICAgICAgICBz ZXJ2ZXJfaWRzID0gYWxsX2lkWyJzaWQiXQogCi0gICAgICAgICMgVE9ETzog Q29kZSBpcyByZW1haW5pbmcgdG8gZ2V0IGFsbCBkYXRhYmFzZXMgb2YgYWxs IHNlcnZlcnMKLSAgICAgICAgc2VsZi5kYl9pZCA9IGFsbF9pZFsiZGlkIl1b MF0KKyAgICAgICAgZGJfaWRzX2RpY3QgPSBhbGxfaWRbImRpZCJdWzBdCiAg ICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3Jv dXAnXQogCiAgICAgICAgIGZvciBzZXJ2ZXJfaWQgaW4gc2VydmVyX2lkczoK LSAgICAgICAgICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9kZXMoc2VsZi50ZXN0 ZXIpCisgICAgICAgICAgICBkYl9pZCA9IGRiX2lkc19kaWN0W2ludChzZXJ2 ZXJfaWQpXQorICAgICAgICAgICAgZGJfY29uID0gdXRpbHMudmVyaWZ5X2Rh dGFiYXNlKHNlbGYudGVzdGVyLCBzcnZfZ3JwLCBzZXJ2ZXJfaWQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGJfaWQp CiAgICAgICAgICAgICBpZiBkYl9jb25bImluZm8iXSA9PSAiRGF0YWJhc2Ug Y29ubmVjdGVkLiI6Ci0gICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxm LnRlc3Rlci5nZXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKwot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cihzZXJ2ZXJfaWQpICsgJy8nICsgc3RyKAotICAgICAgICAgICAgICAgICAg ICBzZWxmLmRiX2lkKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCisgICAgICAg ICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoCisgICAgICAg ICAgICAgICAgICAgIHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgJy8nICsg c3RyKHNlcnZlcl9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICBz dHIoZGJfaWQpLCBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCiAgICAgICAgICAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUs IDIwMCkKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgIiIi Ci0gICAgICAgIFRoaXMgZnVuY3Rpb24gZGVsZXRlcyB0aGUgJ3BhcmVudF9p ZC5wa2wnIGZpbGUgd2hpY2ggaXMgY3JlYXRlZCBpbgotICAgICAgICBzZXR1 cCgpIGZ1bmN0aW9uLiBBbHNvIHRoaXMgZnVuY3Rpb24gbG9nb3V0IHRoZSB0 ZXN0IGNsaWVudAorICAgICAgICBUaGlzIGZ1bmN0aW9uIGRlbGV0ZXMgdGhl IGFkZGVkIGRhdGFiYXNlLCBhZGRlZCBzZXJ2ZXIKKyAgICAgICAgYW5kIHRo ZSAncGFyZW50X2lkLnBrbCcgZmlsZSB3aGljaCBpcyBjcmVhdGVkIGluIHNl dHVwKCkgZnVuY3Rpb24uCiAKICAgICAgICAgOnJldHVybjogTm9uZQogICAg ICAgICAiIiIKIAotICAgICAgICB1dGlscy5kZWxldGVfZGF0YWJhc2Uoc2Vs Zi50ZXN0ZXIsIHNlbGYuZGJfaWQpCisgICAgICAgIHV0aWxzLmRlbGV0ZV9k YXRhYmFzZShzZWxmLnRlc3RlcikKICAgICAgICAgdXRpbHMuZGVsZXRlX3Nl cnZlcihzZWxmLnRlc3RlcikKICAgICAgICAgdXRpbHMuZGVsZXRlX3BhcmVu dF9pZF9maWxlKCkKLSAgICAgICAgdXRpbHMubG9nb3V0X3Rlc3Rlcl9hY2Nv dW50KHNlbGYudGVzdGVyKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3Rl c3RfZGJfcHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3Rlc3RfZGJfcHV0LnB5Cmlu ZGV4IGM1ZjkyY2MuLjQ2MTVkMzQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZXN0 cy90ZXN0X2RiX3B1dC5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVzdHMvdGVzdF9kYl9w dXQucHkKQEAgLTEyLDcgKzEyLDcgQEAgaW1wb3J0IGpzb24KIGZyb20gcGdh ZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKIGZy b20gcmVncmVzc2lvbiBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscwogZnJv bSByZWdyZXNzaW9uLnRlc3Rfc2V0dXAgaW1wb3J0IGNvbmZpZ19kYXRhLCBh ZHZhbmNlZF9jb25maWdfZGF0YQotZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRp bHMgaW1wb3J0IGdldF9pZHMsIHRlc3RfZ2V0bm9kZXMKK2Zyb20gcmVncmVz c2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRfaWRzCiAKIAogY2xhc3MgRGF0 YWJhc2VzVXBkYXRlVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgpAQCAt MjgsMTQgKzI4LDEyIEBAIGNsYXNzIERhdGFiYXNlc1VwZGF0ZVRlc3RDYXNl KEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICBkZWYgc2V0VXAoc2VsZik6CiAg ICAgICAgICIiIgogICAgICAgICBUaGlzIGZ1bmN0aW9uIHBlcmZvcm0gdGhl IHRocmVlIHRhc2tzCi0gICAgICAgICAxLiBMb2dpbiB0byB0ZXN0IGNsaWVu dAotICAgICAgICAgMi4gQWRkIHRoZSB0ZXN0IHNlcnZlcgotICAgICAgICAg My4gQ29ubmVjdCB0byBzZXJ2ZXIKKyAgICAgICAgIDEuIEFkZCB0aGUgdGVz dCBzZXJ2ZXIKKyAgICAgICAgIDIuIENvbm5lY3QgdG8gc2VydmVyCiAKICAg ICAgICAgOnJldHVybjogTm9uZQogICAgICAgICAiIiIKIAotICAgICAgICB1 dGlscy5sb2dpbl90ZXN0ZXJfYWNjb3VudChzZWxmLnRlc3RlcikKICAgICAg ICAgIyBGaXJzdGx5LCBhZGQgdGhlIHNlcnZlcgogICAgICAgICB1dGlscy5h ZGRfc2VydmVyKHNlbGYudGVzdGVyKQogICAgICAgICAjIFNlY29uZGx5LCBj b25uZWN0IHRvIHNlcnZlci9kYXRhYmFzZQpAQCAtNDcsMzMgKzQ1LDMwIEBA IGNsYXNzIERhdGFiYXNlc1VwZGF0ZVRlc3RDYXNlKEJhc2VUZXN0R2VuZXJh dG9yKToKICAgICAgICAgc3J2X2dycCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3Nl cnZlcl9ncm91cCddCiAgICAgICAgIGFsbF9pZCA9IGdldF9pZHMoKQogICAg ICAgICBzZXJ2ZXJfaWRzID0gYWxsX2lkWyJzaWQiXQotCi0gICAgICAgICMg VE9ETzogTmVlZCB0byBtb2RpZnkgdGhlIGNvZGUgLCB0byBkZWxldGUgdGhl IGRhdGFiYXNlcyBmb3IgYWxsCi0gICAgICAgICMgVE9ETzogc2VydmVycy4g Q3VycmVudGx5IGl0IGRlbGV0ZSBvbmx5IG9uZSBkYXRhYmFzZS4KLSAgICAg ICAgZGJfaWQgPSBhbGxfaWRbImRpZCJdWzBdCi0gICAgICAgIHRlc3RfZ2V0 bm9kZXMoc2VsZi50ZXN0ZXIpCi0KLSAgICAgICAgZGF0YSA9IHsKLSAgICAg ICAgICAgICJjb21tZW50cyI6IGFkdmFuY2VkX2NvbmZpZ19kYXRhWyJ0ZXN0 X2RiX3VwZGF0ZV9kYXRhIl1bMF0KLSAgICAgICAgICAgIFsidGVzdF9jb21t ZW50Il0sCi0gICAgICAgICAgICAiaWQiOiBkYl9pZAotICAgICAgICB9Cisg ICAgICAgIGRiX2lkc19kaWN0ID0gYWxsX2lkWyJkaWQiXVswXQogCiAgICAg ICAgIGZvciBzZXJ2ZXJfaWQgaW4gc2VydmVyX2lkczoKLSAgICAgICAgICAg IHB1dF9yZXNwb25zZSA9IHNlbGYudGVzdGVyLnB1dChzZWxmLnVybCArIHN0 cihzcnZfZ3JwKSArICcvJyArCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkgKyAnLycgKyBzdHIo ZGJfaWQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3Rz PVRydWUpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwdXRfcmVz cG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKyAgICAgICAgICAgIGRiX2lkID0g ZGJfaWRzX2RpY3RbaW50KHNlcnZlcl9pZCldCisgICAgICAgICAgICBkYl9j b24gPSB1dGlscy52ZXJpZnlfZGF0YWJhc2Uoc2VsZi50ZXN0ZXIsIHNydl9n cnAsIHNlcnZlcl9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkYl9pZCkKKyAgICAgICAgICAgIGlmIGRiX2Nvblsi aW5mbyJdID09ICJEYXRhYmFzZSBjb25uZWN0ZWQuIjoKKyAgICAgICAgICAg ICAgICBkYXRhID0geworICAgICAgICAgICAgICAgICAgICAiY29tbWVudHMi OiBhZHZhbmNlZF9jb25maWdfZGF0YVsidGVzdF9kYl91cGRhdGVfZGF0YSJd WzBdCisgICAgICAgICAgICAgICAgICAgIFsidGVzdF9jb21tZW50Il0sCisg ICAgICAgICAgICAgICAgICAgICJpZCI6IGRiX2lkCisgICAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgICAgIHB1dF9yZXNwb25zZSA9IHNlbGYudGVz dGVyLnB1dCgKKyAgICAgICAgICAgICAgICAgICAgc2VsZi51cmwgKyBzdHIo c3J2X2dycCkgKyAnLycgKyBzdHIoc2VydmVyX2lkKSArICcvJyArCisgICAg ICAgICAgICAgICAgICAgIHN0cihkYl9pZCksIGRhdGE9anNvbi5kdW1wcyhk YXRhKSwgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQorICAgICAgICAgICAgICAg IHNlbGYuYXNzZXJ0RXF1YWxzKHB1dF9yZXNwb25zZS5zdGF0dXNfY29kZSwg MjAwKQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICAiIiIK LSAgICAgICAgVGhpcyBmdW5jdGlvbiBkZWxldGVzIHRoZSAncGFyZW50X2lk LnBrbCcgZmlsZSB3aGljaCBpcyBjcmVhdGVkIGluCi0gICAgICAgIHNldHVw KCkgZnVuY3Rpb24uIEFsc28gdGhpcyBmdW5jdGlvbiBsb2dvdXQgdGhlIHRl c3QgY2xpZW50CisgICAgICAgIFRoaXMgZnVuY3Rpb24gZGVsZXRlcyB0aGUg YWRkZWQgc2VydmVyIGFuZCAncGFyZW50X2lkLnBrbCcgZmlsZQorICAgICAg ICB3aGljaCBpcyBjcmVhdGVkIGluIHNldHVwKCkgZnVuY3Rpb24uCiAKICAg ICAgICAgOnJldHVybjogTm9uZQogICAgICAgICAiIiIKIAogICAgICAgICB1 dGlscy5kZWxldGVfc2VydmVyKHNlbGYudGVzdGVyKQogICAgICAgICB1dGls cy5kZWxldGVfcGFyZW50X2lkX2ZpbGUoKQotICAgICAgICB1dGlscy5sb2dv dXRfdGVzdGVyX2FjY291bnQoc2VsZi50ZXN0ZXIpCmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0 cy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL3Rlc3RzL19faW5pdF9fLnB5CmluZGV4IDU1YTNhMTcu LjRmZDIwNjYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL19faW5pdF9fLnB5CisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3Rz L19faW5pdF9fLnB5CkBAIC0xMiw0ICsxMiw0IEBAIGZyb20gcGdhZG1pbi51 dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKIAogY2xhc3Mg U2VydmVyR2VuZXJhdGVUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAg ICAgZGVmIHJ1blRlc3Qoc2VsZik6Ci0gICAgICAgIHJldHVybgpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKKyAgICAgICAgcmV0dXJuCmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy90ZXN0cy90ZXN0X3NlcnZlcl9hZGQucHkgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZlcl9h ZGQucHkKaW5kZXggMGYwN2QyMS4uMmIxZWI0NSAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMv dGVzdF9zZXJ2ZXJfYWRkLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3Rfc2VydmVyX2FkZC5w eQpAQCAtMTEsOCArMTEsNiBAQCBpbXBvcnQganNvbgogCiBmcm9tIHBnYWRt aW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCiBmcm9t IHJlZ3Jlc3Npb24gaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKLWZyb20g cmVncmVzc2lvbi50ZXN0X3NldHVwIGltcG9ydCBjb25maWdfZGF0YQotZnJv bSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKIAogCiBj bGFzcyBTZXJ2ZXJzQWRkVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgpA QCAtMjQsMTIgKzIyLDcgQEAgY2xhc3MgU2VydmVyc0FkZFRlc3RDYXNlKEJh c2VUZXN0R2VuZXJhdG9yKToKICAgICBdCiAKICAgICBkZWYgc2V0VXAoc2Vs Zik6Ci0gICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1bmN0aW9uIGxvZ2lu IHRoZSB0ZXN0IGFjY291bnQgYmVmb3JlIHJ1bm5pbmcgdGhlIGxvZ291dAot ICAgICAgICB0ZXN0IGNhc2UKLSAgICAgICAgIiIiCi0KLSAgICAgICAgdXRp bHMubG9naW5fdGVzdGVyX2FjY291bnQoc2VsZi50ZXN0ZXIpCisgICAgICAg IHBhc3MKIAogICAgIGRlZiBydW5UZXN0KHNlbGYpOgogICAgICAgICAiIiIg VGhpcyBmdW5jdGlvbiB3aWxsIGFkZCB0aGUgc2VydmVyIHVuZGVyIGRlZmF1 bHQgc2VydmVyIGdyb3VwLiIiIgpAQCAtNDcsMTIgKzQwLDExIEBAIGNsYXNz IFNlcnZlcnNBZGRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAKICAg ICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgICIiIgotICAgICAgICBU aGlzIGZ1bmN0aW9uIGRlbGV0ZXMgdGhlICdwYXJlbnRfaWQucGtsJyBmaWxl IHdoaWNoIGlzIGNyZWF0ZWQgaW4KLSAgICAgICAgc2V0dXAoKSBmdW5jdGlv bi4gQWxzbyB0aGlzIGZ1bmN0aW9uIGxvZ291dCB0aGUgdGVzdCBjbGllbnQK KyAgICAgICAgVGhpcyBmdW5jdGlvbiBkZWxldGVzIHRoZSBhZGRlZCBzZXJ2 ZXIgYW5kIHRoZSAncGFyZW50X2lkLnBrbCcgZmlsZQorICAgICAgICB3aGlj aCBpcyBjcmVhdGVkIGluIHNldHVwKCkgZnVuY3Rpb24uCiAKICAgICAgICAg OnJldHVybjogTm9uZQogICAgICAgICAiIiIKIAogICAgICAgICB1dGlscy5k ZWxldGVfc2VydmVyKHNlbGYudGVzdGVyKQogICAgICAgICB1dGlscy5kZWxl dGVfcGFyZW50X2lkX2ZpbGUoKQotICAgICAgICB1dGlscy5sb2dvdXRfdGVz dGVyX2FjY291bnQoc2VsZi50ZXN0ZXIpCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0 X3NlcnZlcl9kZWxldGUucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZlcl9kZWxldGUucHkK aW5kZXggNzY1YTM3MS4uNGZkMjA3YiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9z ZXJ2ZXJfZGVsZXRlLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3Rfc2VydmVyX2RlbGV0ZS5w eQpAQCAtMjUsMTQgKzI1LDExIEBAIGNsYXNzIFNlcnZlckRlbGV0ZVRlc3RD YXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKIAogICAgIGRlZiBzZXRVcChzZWxm KToKICAgICAgICAgIiIiCi0gICAgICAgIFRoaXMgZnVuY3Rpb24gcGVyZm9y bSB0aGUgdHdvIHRhc2tzCi0gICAgICAgICAxLiBMb2dpbiB0byB0ZXN0IGNs aWVudAotICAgICAgICAgMi4gQWRkIHRoZSB0ZXN0IHNlcnZlcgorICAgICAg ICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gYWRkIHRoZSBzZXJ2ZXIKIAog ICAgICAgICA6cmV0dXJuOiBOb25lCiAgICAgICAgICIiIgogCi0gICAgICAg IHV0aWxzLmxvZ2luX3Rlc3Rlcl9hY2NvdW50KHNlbGYudGVzdGVyKQogICAg ICAgICAjIEZpcnN0bHksIGFkZCB0aGUgc2VydmVyCiAgICAgICAgIHV0aWxz LmFkZF9zZXJ2ZXIoc2VsZi50ZXN0ZXIpCiAKQEAgLTU4LDEwICs1NSw5IEBA IGNsYXNzIFNlcnZlckRlbGV0ZVRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9y KToKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgICIiIgogICAg ICAgICBUaGlzIGZ1bmN0aW9uIGRlbGV0ZXMgdGhlICdwYXJlbnRfaWQucGts JyBmaWxlIHdoaWNoIGlzIGNyZWF0ZWQgaW4KLSAgICAgICAgc2V0dXAoKSBm dW5jdGlvbi4gQWxzbyB0aGlzIGZ1bmN0aW9uIGxvZ291dCB0aGUgdGVzdCBj bGllbnQKKyAgICAgICAgc2V0dXAoKSBmdW5jdGlvbi4KIAogICAgICAgICA6 cmV0dXJuOiBOb25lCiAgICAgICAgICIiIgogCiAgICAgICAgIHV0aWxzLmRl bGV0ZV9wYXJlbnRfaWRfZmlsZSgpCi0gICAgICAgIHV0aWxzLmxvZ291dF90 ZXN0ZXJfYWNjb3VudChzZWxmLnRlc3RlcikKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rl c3Rfc2VydmVyX2dldC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3Rfc2VydmVyX2dldC5weQppbmRl eCA2ZmY4ZTE2Li5lYTNjNjNmIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZl cl9nZXQucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJfZ2V0LnB5CkBAIC0yNiwx NCArMjYsMTEgQEAgY2xhc3MgU2VydmVyc0dldFRlc3RDYXNlKEJhc2VUZXN0 R2VuZXJhdG9yKToKIAogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAg IiIiCi0gICAgICAgIFRoaXMgZnVuY3Rpb24gcGVyZm9ybSB0aGUgdHdvIHRh c2tzCi0gICAgICAgICAxLiBMb2dpbiB0byB0ZXN0IGNsaWVudAotICAgICAg ICAgMi4gQWRkIHRoZSB0ZXN0IHNlcnZlcgorICAgICAgICBUaGlzIGZ1bmN0 aW9uIGlzIHVzZWQgdG8gYWRkIHRoZSBzZXJ2ZXIKIAogICAgICAgICA6cmV0 dXJuOiBOb25lCiAgICAgICAgICIiIgogCi0gICAgICAgIHV0aWxzLmxvZ2lu X3Rlc3Rlcl9hY2NvdW50KHNlbGYudGVzdGVyKQogICAgICAgICB1dGlscy5h ZGRfc2VydmVyKHNlbGYudGVzdGVyKQogCiAgICAgZGVmIHJ1blRlc3Qoc2Vs Zik6CkBAIC01MCwxMiArNDcsMTEgQEAgY2xhc3MgU2VydmVyc0dldFRlc3RD YXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKIAogICAgIGRlZiB0ZWFyRG93bihz ZWxmKToKICAgICAgICAgIiIiCi0gICAgICAgIFRoaXMgZnVuY3Rpb24gZGVs ZXRlcyB0aGUgJ3BhcmVudF9pZC5wa2wnIGZpbGUgd2hpY2ggaXMgY3JlYXRl ZCBpbgotICAgICAgICBzZXR1cCgpIGZ1bmN0aW9uLiBBbHNvIHRoaXMgZnVu Y3Rpb24gbG9nb3V0IHRoZSB0ZXN0IGNsaWVudAorICAgICAgICBUaGlzIGZ1 bmN0aW9uIGRlbGV0ZXMgdGhlIGFkZGVkIHNlcnZlciBhbmQgdGhlICdwYXJl bnRfaWQucGtsJyBmaWxlCisgICAgICAgIHdoaWNoIGlzIGNyZWF0ZWQgaW4g c2V0dXAoKSBmdW5jdGlvbi4KIAogICAgICAgICA6cmV0dXJuOiBOb25lCiAg ICAgICAgICIiIgogCiAgICAgICAgIHV0aWxzLmRlbGV0ZV9zZXJ2ZXIoc2Vs Zi50ZXN0ZXIpCiAgICAgICAgIHV0aWxzLmRlbGV0ZV9wYXJlbnRfaWRfZmls ZSgpCi0gICAgICAgIHV0aWxzLmxvZ291dF90ZXN0ZXJfYWNjb3VudChzZWxm LnRlc3RlcikKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3Rfc2VydmVyX3B1dC5weSBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rl c3RzL3Rlc3Rfc2VydmVyX3B1dC5weQppbmRleCA2NTllNjc0Li41ZTgxMGJh IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZlcl9wdXQucHkKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMv dGVzdF9zZXJ2ZXJfcHV0LnB5CkBAIC0yNSwxNSArMjUsMTMgQEAgY2xhc3Mg U2VydmVyVXBkYXRlVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAg IGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgIiIiCiAgICAgICAgIFRoaXMg ZnVuY3Rpb24gcGVyZm9ybSB0aGUgZm91ciB0YXNrcwotICAgICAgICAgMS4g TG9naW4gdG8gdGVzdCBjbGllbnQKLSAgICAgICAgIDIuIEFkZCB0aGUgdGVz dCBzZXJ2ZXIKLSAgICAgICAgIDMuIEdldCB0aGUgc2VydmVyCi0gICAgICAg ICA0LiBDb25uZWN0IHRvIHNlcnZlcgorICAgICAgICAgMS4gQWRkIHRoZSB0 ZXN0IHNlcnZlcgorICAgICAgICAgMi4gR2V0IHRoZSBzZXJ2ZXIKKyAgICAg ICAgIDMuIENvbm5lY3QgdG8gc2VydmVyCiAKICAgICAgICAgOnJldHVybjog Tm9uZQogICAgICAgICAiIiIKIAotICAgICAgICB1dGlscy5sb2dpbl90ZXN0 ZXJfYWNjb3VudChzZWxmLnRlc3RlcikKICAgICAgICAgIyBGaXJzdGx5LCBh ZGQgdGhlIHNlcnZlcgogICAgICAgICB1dGlscy5hZGRfc2VydmVyKHNlbGYu dGVzdGVyKQogICAgICAgICAjIEdldCB0aGUgc2VydmVyCkBAIC02NCwxMiAr NjIsMTEgQEAgY2xhc3MgU2VydmVyVXBkYXRlVGVzdENhc2UoQmFzZVRlc3RH ZW5lcmF0b3IpOgogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAg ICAiIiIKLSAgICAgICAgVGhpcyBmdW5jdGlvbiBkZWxldGVzIHRoZSAncGFy ZW50X2lkLnBrbCcgZmlsZSB3aGljaCBpcyBjcmVhdGVkIGluCi0gICAgICAg IHNldHVwKCkgZnVuY3Rpb24uIEFsc28gdGhpcyBmdW5jdGlvbiBsb2dvdXQg dGhlIHRlc3QgY2xpZW50CisgICAgICAgIFRoaXMgZnVuY3Rpb24gZGVsZXRl cyB0aGUgYWRkZWQgc2VydmVyIGFuZCB0aGUgJ3BhcmVudF9pZC5wa2wnIGZp bGUKKyAgICAgICAgd2hpY2ggaXMgY3JlYXRlZCBpbiBzZXR1cCgpIGZ1bmN0 aW9uLgogCiAgICAgICAgIDpyZXR1cm46IE5vbmUKICAgICAgICAgIiIiCiAK ICAgICAgICAgdXRpbHMuZGVsZXRlX3NlcnZlcihzZWxmLnRlc3RlcikKICAg ICAgICAgdXRpbHMuZGVsZXRlX3BhcmVudF9pZF9maWxlKCkKLSAgICAgICAg dXRpbHMubG9nb3V0X3Rlc3Rlcl9hY2NvdW50KHNlbGYudGVzdGVyKQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Rl c3RzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3Rlc3RzL19faW5pdF9fLnB5CmluZGV4IDdmZGQ1YzcuLjk0MjE4 ZGUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy90ZXN0cy9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvdGVzdHMvX19pbml0X18ucHkKQEAgLTEyLDQg KzEyLDQgQEAgZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNl VGVzdEdlbmVyYXRvcgogCiBjbGFzcyBTR0dlbmVyYXRlVGVzdENhc2UoQmFz ZVRlc3RHZW5lcmF0b3IpOgogICAgIGRlZiBydW5UZXN0KHNlbGYpOgotICAg ICAgICByZXR1cm4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisgICAg ICAgIHJldHVybgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3Rlc3RzL3Rlc3Rfc2dfZ2V0LnB5IGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Rlc3RzL3Rlc3Rfc2dfZ2V0LnB5 CmluZGV4IGFkY2IyOGEuLjZjMTY0YmUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy90ZXN0cy90ZXN0X3NnX2dldC5w eQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvdGVz dHMvdGVzdF9zZ19nZXQucHkKQEAgLTEwLDcgKzEwLDYgQEAKIGltcG9ydCBq c29uCiAKIGZyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRl c3RHZW5lcmF0b3IKLWZyb20gcmVncmVzc2lvbiBpbXBvcnQgdGVzdF91dGls cyBhcyB1dGlscwogZnJvbSByZWdyZXNzaW9uLnRlc3Rfc2V0dXAgaW1wb3J0 IGNvbmZpZ19kYXRhCiAKIApAQCAtMjQsMTQgKzIzLDYgQEAgY2xhc3MgU2dO b2RlVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICAoJ0No ZWNrIFNlcnZlciBHcm91cCBOb2RlJywgZGljdCh1cmw9Jy9icm93c2VyL3Nl cnZlci1ncm91cC9vYmovJykpCiAgICAgXQogCi0gICAgZGVmIHNldFVwKHNl bGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGhpcyBmdW5jdGlvbiBsb2dp biB0aGUgdGVzdCBhY2NvdW50IGJlZm9yZSBydW5uaW5nIHRoZSBsb2dvdXQK LSAgICAgICAgdGVzdCBjYXNlCi0gICAgICAgICIiIgotCi0gICAgICAgIHV0 aWxzLmxvZ2luX3Rlc3Rlcl9hY2NvdW50KHNlbGYudGVzdGVyKQotCiAgICAg ZGVmIHJ1blRlc3Qoc2VsZik6CiAgICAgICAgICIiIlRoaXMgZnVuY3Rpb24g d2lsbCBjaGVjayBhdmFpbGFibGUgc2VydmVyIGdyb3Vwcy4iIiIKIApAQCAt NDEsOCArMzIsMyBAQCBjbGFzcyBTZ05vZGVUZXN0Q2FzZShCYXNlVGVzdEdl bmVyYXRvcik6CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNwb25zZS5z dGF0dXNfY29kZSwgMjAwKQogICAgICAgICByZXNwb25zZV9kYXRhID0ganNv bi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgndXRmOCcpKQogICAgICAg ICBzZWxmLmFzc2VydFRydWUocmVzcG9uc2VfZGF0YVsnaWQnXSwgc2VydmVy X2dyb3VwX2lkKQotCi0gICAgZGVmIHRlYXJEb3duKHNlbGYpOgotICAgICAg ICAiIiJUaGlzIGZ1bmN0aW9uIGxvZ291dCB0aGUgdGVzdCBhY2NvdW50ICIi IgotCi0gICAgICAgIHV0aWxzLmxvZ291dF90ZXN0ZXJfYWNjb3VudChzZWxm LnRlc3RlcikKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvdGVz dHMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Rlc3RzL19f aW5pdF9fLnB5CmluZGV4IDNmYWI2ZmUuLjdjY2UzMzIgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvdGVzdHMvX19pbml0X18ucHkKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci90ZXN0cy9fX2luaXRfXy5weQpAQCAtMTIs NCArMTIsNCBAQCBmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJh c2VUZXN0R2VuZXJhdG9yCiAKIGNsYXNzIEJyb3dzZXJHZW5lcmF0ZVRlc3RD YXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICBkZWYgcnVuVGVzdChzZWxm KToKLSAgICAgICAgcmV0dXJuClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQorICAgICAgICByZXR1cm4KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvdGVzdHMvdGVzdF9jaGFuZ2VfcGFzc3dvcmQucHkgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3Rlc3RzL3Rlc3RfY2hhbmdlX3Bhc3N3b3JkLnB5Cmlu ZGV4IDRiNzdhMDcuLjJmNzE0YTcgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvdGVzdHMvdGVzdF9jaGFuZ2VfcGFzc3dvcmQucHkKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci90ZXN0cy90ZXN0X2NoYW5nZV9wYXNzd29y ZC5weQpAQCAtMTEsNyArMTEsNiBAQCBpbXBvcnQgdXVpZAogCiBmcm9tIHBn YWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCiBm cm9tIHJlZ3Jlc3Npb24udGVzdF9zZXR1cCBpbXBvcnQgY29uZmlnX2RhdGEK LWZyb20gcmVncmVzc2lvbiBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscwog CiAKIGNsYXNzIENoYW5nZVBhc3N3b3JkVGVzdENhc2UoQmFzZVRlc3RHZW5l cmF0b3IpOgpAQCAtODAsMTQgKzc5LDYgQEAgY2xhc3MgQ2hhbmdlUGFzc3dv cmRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAKICAgICBdCiAKLSAg ICBkZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUaGlz IGZ1bmN0aW9uIGxvZ2luIHRoZSB0ZXN0IGFjY291bnQgYmVmb3JlIHJ1bm5p bmcgdGhlIGxvZ291dAotICAgICAgICB0ZXN0IGNhc2UKLSAgICAgICAgIiIi Ci0KLSAgICAgICAgdXRpbHMubG9naW5fdGVzdGVyX2FjY291bnQoc2VsZi50 ZXN0ZXIpCi0KICAgICBkZWYgcnVuVGVzdChzZWxmKToKICAgICAgICAgIiIi VGhpcyBmdW5jdGlvbiB3aWxsIGNoZWNrIGNoYW5nZSBwYXNzd29yZCBmdW5j dGlvbmFsaXR5LiIiIgogCkBAIC0xMDQsNyArOTUsOCBAQCBjbGFzcyBDaGFu Z2VQYXNzd29yZFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAg ICAgICAgICAgICBlbWFpbD1lbWFpbCwgcGFzc3dvcmQ9cGFzc3dvcmQpLCBm b2xsb3dfcmVkaXJlY3RzPVRydWUpCiAKICAgICAgICAgcmVzcG9uc2UgPSBz ZWxmLnRlc3Rlci5nZXQoJy9jaGFuZ2UnLCBmb2xsb3dfcmVkaXJlY3RzPVRy dWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3BnQWRtaW4gNCBQYXNzd29y ZCBDaGFuZ2UnLCByZXNwb25zZS5kYXRhLmRlY29kZSgpKQorICAgICAgICBz ZWxmLmFzc2VydEluKCdwZ0FkbWluIDQgUGFzc3dvcmQgQ2hhbmdlJywgcmVz cG9uc2UuZGF0YS5kZWNvZGUoCisgICAgICAgICAgICAndXRmLTgnKSkKIAog ICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3QoJy9jaGFuZ2Un LCBkYXRhPWRpY3QoCiAgICAgICAgICAgICBwYXNzd29yZD1zZWxmLnBhc3N3 b3JkLApAQCAtMTEyLDEyICsxMDQsMyBAQCBjbGFzcyBDaGFuZ2VQYXNzd29y ZFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAgICAgICAgIG5l d19wYXNzd29yZF9jb25maXJtPXNlbGYubmV3X3Bhc3N3b3JkX2NvbmZpcm0p LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93 X3JlZGlyZWN0cz1UcnVlKQogICAgICAgICBzZWxmLmFzc2VydEluKHNlbGYu cmVzcGRhdGEsIHJlc3BvbnNlLmRhdGEuZGVjb2RlKCd1dGYtOCcpKQotCi0g ICAgZGVmIHRlYXJEb3duKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAg VGhpcyBmdW5jdGlvbiBsb2dvdXQgdGhlIHRlc3QgY2xpZW50Ci0KLSAgICAg ICAgOnJldHVybjogTm9uZQotICAgICAgICAiIiIKLQotICAgICAgICB1dGls cy5sb2dvdXRfdGVzdGVyX2FjY291bnQoc2VsZi50ZXN0ZXIpCmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Rlc3RzL3Rlc3RfbG9naW4ucHkg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3Rlc3RzL3Rlc3RfbG9naW4ucHkKaW5k ZXggMGM4YTE2ZC4uYjBlYTM2MSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4v YnJvd3Nlci90ZXN0cy90ZXN0X2xvZ2luLnB5CisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvdGVzdHMvdGVzdF9sb2dpbi5weQpAQCAtNDEsNyArNDEsNyBA QCBjbGFzcyBMb2dpblRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAg ICAgICAgICAgIHJlc3BkYXRhPSdFbWFpbCBub3QgcHJvdmlkZWQnKSksCiAK ICAgICAgICAgIyBUaGlzIHRlc3QgY2FzZSB2YWxpZGF0ZXMgZW1wdHkgZW1h aWwgYW5kIHBhc3N3b3JkCi0gICAgICAgICgnRW1wdHlfQ3JlYWRlbnRpYWxz JywgZGljdCgKKyAgICAgICAgKCdFbXB0eV9DcmVkZW50aWFscycsIGRpY3Qo CiAgICAgICAgICAgICBlbWFpbD0nJywgcGFzc3dvcmQ9JycsCiAgICAgICAg ICAgICByZXNwZGF0YT0nRW1haWwgbm90IHByb3ZpZGVkJykpLAogCkBAIC01 MywxNCArNTMsMTQgQEAgY2xhc3MgTG9naW5UZXN0Q2FzZShCYXNlVGVzdEdl bmVyYXRvcik6CiAgICAgICAgICAgICByZXNwZGF0YT0nU3BlY2lmaWVkIHVz ZXIgZG9lcyBub3QgZXhpc3QnKSksCiAKICAgICAgICAgIyBUaGlzIHRlc3Qg Y2FzZSB2YWxpZGF0ZXMgaW52YWxpZCBlbWFpbCBhbmQgcGFzc3dvcmQKLSAg ICAgICAgKCdJbnZhbGlkX0NyZWFkZW50aWFscycsIGRpY3QoCisgICAgICAg ICgnSW52YWxpZF9DcmVkZW50aWFscycsIGRpY3QoCiAgICAgICAgICAgICBl bWFpbD1zdHIodXVpZC51dWlkNCgpKVsxOjZdICsgJ0B4eXouY29tJywKICAg ICAgICAgICAgIHBhc3N3b3JkPXN0cih1dWlkLnV1aWQ0KCkpWzQ6OF0sCiAg ICAgICAgICAgICByZXNwZGF0YT0nU3BlY2lmaWVkIHVzZXIgZG9lcyBub3Qg ZXhpc3QnKSksCiAKICAgICAgICAgIyBUaGlzIHRlc3QgY2FzZSB2YWxpZGF0 ZXMgdGhlIHZhbGlkL2NvcnJlY3QgY3JlZGVudGlhbHMgYW5kIGFsbG93IHVz ZXIKICAgICAgICAgIyB0byBsb2dpbiBwZ0FkbWluIDQKLSAgICAgICAgKCdW YWxpZF9DcmVhZGVudGlhbHMnLCBkaWN0KAorICAgICAgICAoJ1ZhbGlkX0Ny ZWRlbnRpYWxzJywgZGljdCgKICAgICAgICAgICAgIGVtYWlsPShjb25maWdf ZGF0YVsncGdBZG1pbjRfbG9naW5fY3JlZGVudGlhbHMnXQogICAgICAgICAg ICAgICAgICAgIFsndGVzdF9sb2dpbl91c2VybmFtZSddKSwKICAgICAgICAg ICAgIHBhc3N3b3JkPShjb25maWdfZGF0YVsncGdBZG1pbjRfbG9naW5fY3Jl ZGVudGlhbHMnXQpAQCAtNzEsNyArNzEsMTIgQEAgY2xhc3MgTG9naW5UZXN0 Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgXQogCiAgICAgZGVmIHNl dFVwKHNlbGYpOgotICAgICAgICBwYXNzCisgICAgICAgICIiIgorICAgICAg ICBXZSBuZWVkIHRvIGxvZ291dCB0aGUgdGVzdCBjbGllbnQgYXMgd2UgYXJl IHRlc3Rpbmcgc2NlbmFyaW9zIG9mCisgICAgICAgIGxvZ2dpbmcgaW4gdGhl IGNsaWVudCBsaWtlIGludmFsaWQgcGFzc3dvcmQsIGludmFsaWQgZW1haWxz LAorICAgICAgICBlbXB0eSBjcmVkZW50aWFscyBldGMuCisgICAgICAgICIi IgorICAgICAgICB1dGlscy5sb2dvdXRfdGVzdGVyX2FjY291bnQoc2VsZi50 ZXN0ZXIpCiAKICAgICBkZWYgcnVuVGVzdChzZWxmKToKICAgICAgICAgIiIi VGhpcyBmdW5jdGlvbiBjaGVja3MgbG9naW4gZnVuY3Rpb25hbGl0eS4iIiIK QEAgLTgzLDEwICs4OCw3IEBAIGNsYXNzIExvZ2luVGVzdENhc2UoQmFzZVRl c3RHZW5lcmF0b3IpOgogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAg ICAgICAiIiIKLSAgICAgICAgVGhpcyBmdW5jdGlvbiBkZWxldGVzIHRoZSAn cGFyZW50X2lkLnBrbCcgZmlsZSB3aGljaCBpcyBjcmVhdGVkIGluCi0gICAg ICAgIHNldHVwKCkgZnVuY3Rpb24uIEFsc28gdGhpcyBmdW5jdGlvbiBsb2dv dXQgdGhlIHRlc3QgY2xpZW50Ci0KLSAgICAgICAgOnJldHVybjogTm9uZQor ICAgICAgICBXZSBuZWVkIHRvIGFnYWluIGxvZ2luIHRoZSB0ZXN0IGNsaWVu dCBhcyBzb29uIGFzIHRlc3Qgc2NlbmFyaW9zCisgICAgICAgIGZpbmlzaGVz LgogICAgICAgICAiIiIKLQotICAgICAgICB1dGlscy5sb2dvdXRfdGVzdGVy X2FjY291bnQoc2VsZi50ZXN0ZXIpCisgICAgICAgIHV0aWxzLmxvZ2luX3Rl c3Rlcl9hY2NvdW50KHNlbGYudGVzdGVyKQpkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci90ZXN0cy90ZXN0X2xvZ291dC5weSBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvdGVzdHMvdGVzdF9sb2dvdXQucHkKaW5kZXggYzJjY2Y5 NC4uNzI5ZjdiMSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci90 ZXN0cy90ZXN0X2xvZ291dC5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3Rlc3RzL3Rlc3RfbG9nb3V0LnB5CkBAIC0yNSwxNSArMjUsMTcgQEAgY2xh c3MgTG9nb3V0VGVzdChCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgXQogCiAg ICAgZGVmIHNldFVwKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGhp cyBmdW5jdGlvbiBsb2dpbiB0aGUgdGVzdCBhY2NvdW50IGJlZm9yZSBydW5u aW5nIHRoZSBsb2dvdXQKLSAgICAgICAgdGVzdCBjYXNlCi0gICAgICAgICIi IgotCi0gICAgICAgIHV0aWxzLmxvZ2luX3Rlc3Rlcl9hY2NvdW50KHNlbGYu dGVzdGVyKQorICAgICAgICBwYXNzCiAKICAgICBkZWYgcnVuVGVzdChzZWxm KToKICAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiBjaGVja3MgdGhlIGxvZ291 dCBmdW5jdGlvbmFsaXR5LiIiIgogCiAgICAgICAgIHJlc3BvbnNlID0gc2Vs Zi50ZXN0ZXIuZ2V0KCcvbG9nb3V0JykKICAgICAgICAgc2VsZi5hc3NlcnRJ bihzZWxmLnJlc3BkYXRhLCByZXNwb25zZS5kYXRhLmRlY29kZSgndXRmOCcp KQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICAiIiIKKyAg ICAgICAgV2UgbmVlZCB0byBhZ2FpbiBsb2dpbiB0aGUgdGVzdCBjbGllbnQg YXMgc29vbiBhcyB0ZXN0IHNjZW5hcmlvcworICAgICAgICBmaW5pc2hlcy4K KyAgICAgICAgIiIiCisgICAgICAgIHV0aWxzLmxvZ2luX3Rlc3Rlcl9hY2Nv dW50KHNlbGYudGVzdGVyKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci90ZXN0cy90ZXN0X3Jlc2V0X3Bhc3N3b3JkLnB5IGIvd2ViL3BnYWRt aW4vYnJvd3Nlci90ZXN0cy90ZXN0X3Jlc2V0X3Bhc3N3b3JkLnB5CmluZGV4 IGQwYTZmYTcuLjk0MjBjNzIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvdGVzdHMvdGVzdF9yZXNldF9wYXNzd29yZC5weQorKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3Rlc3RzL3Rlc3RfcmVzZXRfcGFzc3dvcmQucHkK QEAgLTExLDcgKzExLDcgQEAgaW1wb3J0IHV1aWQKIAogZnJvbSBwZ2FkbWlu LnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgogZnJvbSBy ZWdyZXNzaW9uLnRlc3Rfc2V0dXAgaW1wb3J0IGNvbmZpZ19kYXRhCi1mcm9t IHJlZ3Jlc3Npb24gaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKK2Zyb20g dGVzdF91dGlscyBpbXBvcnQgbG9naW5fdGVzdGVyX2FjY291bnQsIGxvZ291 dF90ZXN0ZXJfYWNjb3VudAogCiAKIGNsYXNzIFJlc2V0UGFzc3dvcmRUZXN0 Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CkBAIC0zOCwyOCArMzgsMTggQEAg Y2xhc3MgUmVzZXRQYXNzd29yZFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9y KToKICAgICBdCiAKICAgICBkZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgICIi IgotICAgICAgICBUaGlzIGZ1bmN0aW9uIGxvZ2luIHRoZSB0ZXN0IGFjY291 bnQgYmVmb3JlIHJ1bm5pbmcgdGhlIGxvZ291dAotICAgICAgICB0ZXN0IGNh c2UKLSAgICAgICAgIiIiCi0KLSAgICAgICAgdXRpbHMubG9naW5fdGVzdGVy X2FjY291bnQoc2VsZi50ZXN0ZXIpCisgICAgICAgIGxvZ291dF90ZXN0ZXJf YWNjb3VudChzZWxmLnRlc3RlcikKIAogICAgIGRlZiBydW5UZXN0KHNlbGYp OgogICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIGNoZWNrcyByZXNldCBwYXNz d29yZCBmdW5jdGlvbmFsaXR5LiIiIgogCiAgICAgICAgIHJlc3BvbnNlID0g c2VsZi50ZXN0ZXIuZ2V0KCcvcmVzZXQnKQotICAgICAgICBzZWxmLmFzc2Vy dEluKCdSZWNvdmVyIHBnQWRtaW4gNCBQYXNzd29yZCcsIHJlc3BvbnNlLmRh dGEuZGVjb2RlKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ1JlY292ZXIg cGdBZG1pbiA0IFBhc3N3b3JkJywgcmVzcG9uc2UuZGF0YS5kZWNvZGUoCisg ICAgICAgICAgICAndXRmLTgnKSkKICAgICAgICAgcmVzcG9uc2UgPSBzZWxm LnRlc3Rlci5wb3N0KAogICAgICAgICAgICAgJy9yZXNldCcsIGRhdGE9ZGlj dChlbWFpbD1zZWxmLmVtYWlsKSwKICAgICAgICAgICAgIGZvbGxvd19yZWRp cmVjdHM9VHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRJbihzZWxmLnJlc3Bk YXRhLCByZXNwb25zZS5kYXRhLmRlY29kZSgndXRmLTgnKSkKIAogICAgIGRl ZiB0ZWFyRG93bihzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRoaXMg ZnVuY3Rpb24gbG9nb3V0IHRoZSB0ZXN0IGNsaWVudAotCi0gICAgICAgIDpy ZXR1cm46IE5vbmUKLSAgICAgICAgIiIiCi0KLSAgICAgICAgdXRpbHMubG9n b3V0X3Rlc3Rlcl9hY2NvdW50KHNlbGYudGVzdGVyKQorICAgICAgICBsb2dp bl90ZXN0ZXJfYWNjb3VudChzZWxmLnRlc3RlcikKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL3V0aWxzL3JvdXRlLnB5IGIvd2ViL3BnYWRtaW4vdXRpbHMv cm91dGUucHkKaW5kZXggYTJjZDFlYi4uYzdlZjFmOCAxMDA2NDQKLS0tIGEv d2ViL3BnYWRtaW4vdXRpbHMvcm91dGUucHkKKysrIGIvd2ViL3BnYWRtaW4v dXRpbHMvcm91dGUucHkKQEAgLTUwLDEyICs1MCwyNCBAQCBjbGFzcyBUZXN0 c0dlbmVyYXRvclJlZ2lzdHJ5KEFCQ01ldGEpOgogCiAgICAgICAgIGZyb20g aW1wb3J0bGliIGltcG9ydCBpbXBvcnRfbW9kdWxlCiAgICAgICAgIGZyb20g d2Vya3pldWcudXRpbHMgaW1wb3J0IGZpbmRfbW9kdWxlcwotCi0gICAgICAg IGZvciBtb2R1bGVfbmFtZSBpbiBmaW5kX21vZHVsZXMocGtnLCBGYWxzZSwg VHJ1ZSk6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgbW9k dWxlID0gaW1wb3J0X21vZHVsZShtb2R1bGVfbmFtZSkKLSAgICAgICAgICAg IGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCisg ICAgICAgIGltcG9ydCBjb25maWcKKworICAgICAgICAjIENoZWNrIGZvciBT RVJWRVIgbW9kZQorICAgICAgICBpZiBjb25maWcuU0VSVkVSX01PREU6Cisg ICAgICAgICAgICBmb3IgbW9kdWxlX25hbWUgaW4gZmluZF9tb2R1bGVzKHBr ZywgRmFsc2UsIFRydWUpOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAg ICAgICAgICAgICAgICAgbW9kdWxlID0gaW1wb3J0X21vZHVsZShtb2R1bGVf bmFtZSkKKyAgICAgICAgICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6Cisg ICAgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZWxzZToKKyAgICAg ICAgICAgIGZvciBtb2R1bGVfbmFtZSBpbiBmaW5kX21vZHVsZXMocGtnLCBG YWxzZSwgVHJ1ZSk6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAg ICAgICAgICAgICAjIEV4Y2x1ZGUgdGhlIHRlc3QgY2FzZXMgaW4gYnJvd3Nl ciBub2RlIGlmIFNFUlZFUl9NT0RFCisgICAgICAgICAgICAgICAgICAgICMg aXMgRmFsc2UKKyAgICAgICAgICAgICAgICAgICAgaWYgInBnYWRtaW4uYnJv d3Nlci50ZXN0cyIgbm90IGluIG1vZHVsZV9uYW1lOgorICAgICAgICAgICAg ICAgICAgICAgICAgbW9kdWxlID0gaW1wb3J0X21vZHVsZShtb2R1bGVfbmFt ZSkKKyAgICAgICAgICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAg ICAgICAgICAgICAgICAgIHBhc3MKIAogaW1wb3J0IHNpeAogCmRpZmYgLS1n aXQgYS93ZWIvcmVncmVzc2lvbi9ydW50ZXN0cy5weSBiL3dlYi9yZWdyZXNz aW9uL3J1bnRlc3RzLnB5CmluZGV4IDJlMzUyMGEuLmQxMWE3OTQgMTAwNjQ0 Ci0tLSBhL3dlYi9yZWdyZXNzaW9uL3J1bnRlc3RzLnB5CisrKyBiL3dlYi9y ZWdyZXNzaW9uL3J1bnRlc3RzLnB5CkBAIC0zMiw2ICszMiw3IEBAIGltcG9y dCBjb25maWcKICMgR2V0IHRoZSBjb25maWcgZGF0YWJhc2Ugc2NoZW1hIHZl cnNpb24uIFdlIHN0b3JlIHRoaXMgaW4gcGdhZG1pbi5tb2RlbAogIyBhcyBp dCB0dXJucyBvdXQgdGhhdCBwdXR0aW5nIGl0IGluIHRoZSBjb25maWcgZmls ZXMgaXNuJ3QgYSBncmVhdCBpZGVhCiBmcm9tIHBnYWRtaW4ubW9kZWwgaW1w b3J0IFNDSEVNQV9WRVJTSU9OCitmcm9tIHRlc3RfdXRpbHMgaW1wb3J0IGxv Z2luX3Rlc3Rlcl9hY2NvdW50LCBsb2dvdXRfdGVzdGVyX2FjY291bnQKIAog Y29uZmlnLlNFVFRJTkdTX1NDSEVNQV9WRVJTSU9OID0gU0NIRU1BX1ZFUlNJ T04KIApAQCAtNDMsNiArNDQsOCBAQCBjb25maWcuQ09OU09MRV9MT0dfTEVW RUwgPSBXQVJOSU5HCiBhcHAgPSBjcmVhdGVfYXBwKCkKIGFwcC5jb25maWdb J1dURl9DU1JGX0VOQUJMRUQnXSA9IEZhbHNlCiB0ZXN0X2NsaWVudCA9IGFw cC50ZXN0X2NsaWVudCgpCisjIExvZ2luIHRoZSB0ZXN0IGNsaWVudAorbG9n aW5fdGVzdGVyX2FjY291bnQodGVzdF9jbGllbnQpCiAKIAogZGVmIGdldF9z dWl0ZShhcmd1bWVudHMsIHRlc3RfYXBwX2NsaWVudCk6CkBAIC02NSwxMSAr NjgsMTEgQEAgZGVmIGdldF9zdWl0ZShhcmd1bWVudHMsIHRlc3RfYXBwX2Ns aWVudCk6CiAgICAgcGdhZG1pbl9zdWl0ZSA9IHVuaXR0ZXN0LlRlc3RTdWl0 ZSgpCiAKICAgICAjIExvYWQgdGhlIHRlc3QgbW9kdWxlcyB3aGljaCBhcmUg aW4gZ2l2ZW4gcGFja2FnZShpLmUuIGluIGFyZ3VtZW50cy5wa2cpCi0gICAg aWYgYXJndW1lbnRzLnBrZyBpcyBOb25lIG9yIGFyZ3VtZW50cy5wa2cgPT0g ImFsbCI6CisgICAgaWYgYXJndW1lbnRzWydwa2cnXSBpcyBOb25lIG9yIGFy Z3VtZW50c1sncGtnJ10gPT0gImFsbCI6CiAgICAgICAgIFRlc3RzR2VuZXJh dG9yUmVnaXN0cnkubG9hZF9nZW5lcmF0b3JzKCdwZ2FkbWluJykKICAgICBl bHNlOgogICAgICAgICBUZXN0c0dlbmVyYXRvclJlZ2lzdHJ5LmxvYWRfZ2Vu ZXJhdG9ycygncGdhZG1pbi57fS50ZXN0cycuZm9ybWF0KAotICAgICAgICAg ICAgYXJndW1lbnRzLnBrZykpCisgICAgICAgICAgICBhcmd1bWVudHNbJ3Br ZyddKSkKIAogICAgICMgR2V0IHRoZSBlYWNoIHRlc3QgbW9kdWxlIGFuZCBh ZGQgaW50byBsaXN0CiAgICAgZm9yIGtleSwga2xhc3MgaW4gVGVzdHNHZW5l cmF0b3JSZWdpc3RyeS5yZWdpc3RyeS5pdGVtcygpOgpAQCAtMTMwLDcgKzEz Myw4IEBAIGNsYXNzIFN0cmVhbVRvTG9nZ2VyKG9iamVjdCk6CiBpZiBfX25h bWVfXyA9PSAnX19tYWluX18nOgogICAgICMgU2V0IGJhc2ljIGxvZ2dpbmcg Y29uZmlndXJhdGlvbiBmb3IgbG9nIGZpbGUKICAgICBsb2dnaW5nLmJhc2lj Q29uZmlnKGxldmVsPWxvZ2dpbmcuREVCVUcsCi0gICAgICAgICAgICAgICAg ICAgICAgICBmb3JtYXQ9JyUoYXNjdGltZSlzOiUobGV2ZWxuYW1lKXM6JShu YW1lKXM6JShtZXNzYWdlKXMnLAorICAgICAgICAgICAgICAgICAgICAgICAg Zm9ybWF0PSclKGFzY3RpbWUpczolKGxldmVsbmFtZSlzOiUobmFtZSlzOiUo bWVzc2FnZSlzJworICAgICAgICAgICAgICAgICAgICAgICAgLAogICAgICAg ICAgICAgICAgICAgICAgICAgZmlsZW5hbWU9Q1VSUkVOVF9QQVRIICsgIi8i ICsgInJlZ3Jlc3Npb24ubG9nIiwKICAgICAgICAgICAgICAgICAgICAgICAg IGZpbGVtb2RlPSd3JwogICAgICAgICAgICAgICAgICAgICAgICAgKQpAQCAt MTM5LDkgKzE0MywxMiBAQCBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgog ICAgIHN0ZGVycl9sb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcignU1RERVJS JykKICAgICBzeXMuc3RkZXJyID0gU3RyZWFtVG9Mb2dnZXIoc3RkZXJyX2xv Z2dlciwgbG9nZ2luZy5FUlJPUikKIAotICAgIGFyZ3MgPSBhZGRfYXJndW1l bnRzKCkKKyAgICBhcmdzID0gdmFycyhhZGRfYXJndW1lbnRzKCkpCiAgICAg c3VpdGUgPSBnZXRfc3VpdGUoYXJncywgdGVzdF9jbGllbnQpCiAgICAgdGVz dHMgPSB1bml0dGVzdC5UZXh0VGVzdFJ1bm5lcihzdHJlYW09c3lzLnN0ZGVy ciwgZGVzY3JpcHRpb25zPVRydWUsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2ZXJib3NpdHk9MikucnVuKHN1aXRlKQogCisgICAg IyBMb2dvdXQgdGhlIHRlc3QgY2xpZW50CisgICAgbG9nb3V0X3Rlc3Rlcl9h Y2NvdW50KHRlc3RfY2xpZW50KQorCiAgICAgcHJpbnQoIlBsZWFzZSBjaGVj ayBvdXRwdXQgaW4gZmlsZTogJXMvcmVncmVzc2lvbi5sb2cgIiAlIENVUlJF TlRfUEFUSCkKZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL3Rlc3RfYWR2 YW5jZWRfY29uZmlnLmpzb24uaW4gYi93ZWIvcmVncmVzc2lvbi90ZXN0X2Fk dmFuY2VkX2NvbmZpZy5qc29uLmluCmluZGV4IGJjYjg2N2MuLmMwZDI3OGIg MTAwNjQ0Ci0tLSBhL3dlYi9yZWdyZXNzaW9uL3Rlc3RfYWR2YW5jZWRfY29u ZmlnLmpzb24uaW4KKysrIGIvd2ViL3JlZ3Jlc3Npb24vdGVzdF9hZHZhbmNl ZF9jb25maWcuanNvbi5pbgpAQCAtOTMsNyArOTMsMTAxIEBACiAgICAgInRl c3RfcHJpdmlsZWdlcyI6IFtdLAogICAgICJ0ZXN0X3NlY3VyaXRpZXMiOiBb XSwKICAgICAidGVzdF92YXJpYWJsZXMiOiBbXQotICB9CisgIH0sCisgICAg ICAgeworICAgICAgICAgInRlc3RfcHJpdmlsZWdlc19hY2wiOiBbCisgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAiZ3JhbnRlZSI6ICJlbnRlcnByaXNl ZGIiLAorICAgICAgICAgICAgICJncmFudG9yIjogImVudGVycHJpc2VkYiIs CisgICAgICAgICAgICAgInByaXZpbGVnZXMiOiBbCisgICAgICAgICAgICAg ICB7CisgICAgICAgICAgICAgICAgICJwcml2aWxlZ2VfdHlwZSI6ICJDIiwK KyAgICAgICAgICAgICAgICAgInByaXZpbGVnZSI6IHRydWUsCisgICAgICAg ICAgICAgICAgICJ3aXRoX2dyYW50IjogdHJ1ZQorICAgICAgICAgICAgICAg fSwKKyAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgInByaXZp bGVnZV90eXBlIjogIlQiLAorICAgICAgICAgICAgICAgICAicHJpdmlsZWdl IjogdHJ1ZSwKKyAgICAgICAgICAgICAgICAgIndpdGhfZ3JhbnQiOiBmYWxz ZQorICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIF0KKyAgICAgICAg ICAgfQorICAgICAgICAgXSwKKyAgICAgICAgICJ0ZXN0X2Nvbm5fbGltaXQi OiAtMSwKKyAgICAgICAgICJ0ZXN0X293bmVyIjogImVudGVycHJpc2VkYiIs CisgICAgICAgICAidGVzdF9mdW5fYWNsIjogWworICAgICAgICAgICB7Cisg ICAgICAgICAgICAgImdyYW50ZWUiOiAiZW50ZXJwcmlzZWRiIiwKKyAgICAg ICAgICAgICAiZ3JhbnRvciI6ICJlbnRlcnByaXNlZGIiLAorICAgICAgICAg ICAgICJwcml2aWxlZ2VzIjogWworICAgICAgICAgICAgICAgeworICAgICAg ICAgICAgICAgICAicHJpdmlsZWdlX3R5cGUiOiAiWCIsCisgICAgICAgICAg ICAgICAgICJwcml2aWxlZ2UiOiB0cnVlLAorICAgICAgICAgICAgICAgICAi d2l0aF9ncmFudCI6IGZhbHNlCisgICAgICAgICAgICAgICB9CisgICAgICAg ICAgICAgXQorICAgICAgICAgICB9CisgICAgICAgICBdLAorICAgICAgICAg InRlc3Rfc2VxX2FjbCI6IFsKKyAgICAgICAgICAgeworICAgICAgICAgICAg ICJncmFudGVlIjogImVudGVycHJpc2VkYiIsCisgICAgICAgICAgICAgImdy YW50b3IiOiAiZW50ZXJwcmlzZWRiIiwKKyAgICAgICAgICAgICAicHJpdmls ZWdlcyI6IFsKKyAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg InByaXZpbGVnZV90eXBlIjogInIiLAorICAgICAgICAgICAgICAgICAicHJp dmlsZWdlIjogdHJ1ZSwKKyAgICAgICAgICAgICAgICAgIndpdGhfZ3JhbnQi OiBmYWxzZQorICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgIHsK KyAgICAgICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjogInciLAorICAg ICAgICAgICAgICAgICAicHJpdmlsZWdlIjogdHJ1ZSwKKyAgICAgICAgICAg ICAgICAgIndpdGhfZ3JhbnQiOiBmYWxzZQorICAgICAgICAgICAgICAgfSwK KyAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgInByaXZpbGVn ZV90eXBlIjogIlUiLAorICAgICAgICAgICAgICAgICAicHJpdmlsZWdlIjog dHJ1ZSwKKyAgICAgICAgICAgICAgICAgIndpdGhfZ3JhbnQiOiBmYWxzZQor ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIF0KKyAgICAgICAgICAg fQorICAgICAgICAgXSwKKyAgICAgICAgICJ0ZXN0X3RibF9hY2wiOiBbCisg ICAgICAgICAgIHsKKyAgICAgICAgICAgICAiZ3JhbnRlZSI6ICJlbnRlcnBy aXNlZGIiLAorICAgICAgICAgICAgICJncmFudG9yIjogImVudGVycHJpc2Vk YiIsCisgICAgICAgICAgICAgInByaXZpbGVnZXMiOiBbCisgICAgICAgICAg ICAgICB7CisgICAgICAgICAgICAgICAgICJwcml2aWxlZ2VfdHlwZSI6ICJh IiwKKyAgICAgICAgICAgICAgICAgInByaXZpbGVnZSI6IHRydWUsCisgICAg ICAgICAgICAgICAgICJ3aXRoX2dyYW50IjogdHJ1ZQorICAgICAgICAgICAg ICAgfSwKKyAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgInBy aXZpbGVnZV90eXBlIjogInIiLAorICAgICAgICAgICAgICAgICAicHJpdmls ZWdlIjogdHJ1ZSwKKyAgICAgICAgICAgICAgICAgIndpdGhfZ3JhbnQiOiBm YWxzZQorICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIF0KKyAgICAg ICAgICAgfQorICAgICAgICAgXSwKKyAgICAgICAgICJ0ZXN0X3R5cGVfYWNs IjogWworICAgICAgICAgICB7CisgICAgICAgICAgICAgImdyYW50ZWUiOiAi ZW50ZXJwcmlzZWRiIiwKKyAgICAgICAgICAgICAiZ3JhbnRvciI6ICJlbnRl cnByaXNlZGIiLAorICAgICAgICAgICAgICJwcml2aWxlZ2VzIjogWworICAg ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAicHJpdmlsZWdlX3R5 cGUiOiAiVSIsCisgICAgICAgICAgICAgICAgICJwcml2aWxlZ2UiOiB0cnVl LAorICAgICAgICAgICAgICAgICAid2l0aF9ncmFudCI6IGZhbHNlCisgICAg ICAgICAgICAgICB9CisgICAgICAgICAgICAgXQorICAgICAgICAgICB9Cisg ICAgICAgICBdLAorICAgICAgICAgInRlc3RfZW5jb2RpbmciOiAiVVRGOCIs CisgICAgICAgICAidGVzdF9uYW1lIjogInRlc3RfZGJfYXV0b21hdGlvbiIs CisgICAgICAgICAidGVzdF9wcml2aWxlZ2VzIjogW10sCisgICAgICAgICAi dGVzdF9zZWN1cml0aWVzIjogW10sCisgICAgICAgICAidGVzdF92YXJpYWJs ZXMiOiBbXQorICAgICAgIH0KICBdLAogCiAgICJ0ZXN0X2RiX3VwZGF0ZV9k YXRhIjogWwpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vdGVzdF9jb25m aWcuanNvbi5pbiBiL3dlYi9yZWdyZXNzaW9uL3Rlc3RfY29uZmlnLmpzb24u aW4KaW5kZXggZDgxZDE3OS4uMDI4ZDFlNyAxMDA2NDQKLS0tIGEvd2ViL3Jl Z3Jlc3Npb24vdGVzdF9jb25maWcuanNvbi5pbgorKysgYi93ZWIvcmVncmVz c2lvbi90ZXN0X2NvbmZpZy5qc29uLmluCkBAIC0xNSw3ICsxNSwxNyBAQAog ICAgICAgInRlc3RfZGJfcG9ydCI6IDU0MzIsCiAgICAgICAidGVzdF9tYWlu dGVuYW5jZV9kYiI6ICJwb3N0Z3JlcyIsCiAgICAgICAidGVzdF9zc2xtb2Rl IjogInByZWZlciIKLSAgICB9CisgICAgfSwKKyAgICAgeworICAgICAgICJ0 ZXN0X25hbWUiOiAiUG9zdGdyZXMgUGx1cyBBZHZhbmNlZCBTZXJ2ZXIgOS40 IiwKKyAgICAgICAidGVzdF9jb21tZW50IjogIlBvc3RncmVzIFBsdXMgQWR2 YW5jZWQgOS40IFNlcnZlciAoRURCIEluc3RhbGxlcikiLAorICAgICAgICJ0 ZXN0X2RiX3VzZXJuYW1lIjogImVudGVycHJpc2VkYiIsCisgICAgICAgInRl c3RfaG9zdCI6ICJsb2NhbGhvc3QiLAorICAgICAgICJ0ZXN0X2RiX3Bhc3N3 b3JkIjogImVkYiIsCisgICAgICAgInRlc3RfZGJfcG9ydCI6IDU0NDQsCisg ICAgICAgInRlc3RfbWFpbnRlbmFuY2VfZGIiOiAiZWRiIiwKKyAgICAgICAi dGVzdF9zc2xtb2RlIjogInByZWZlciIKKyAgICAgfQogICBdLAogICAidGVz dF9zZXJ2ZXJfdXBkYXRlX2RhdGEiOiBbCiAgICAgewpkaWZmIC0tZ2l0IGEv d2ViL3JlZ3Jlc3Npb24vdGVzdF91dGlscy5weSBiL3dlYi9yZWdyZXNzaW9u L3Rlc3RfdXRpbHMucHkKaW5kZXggMGJjYzEwZi4uNmJlMmJiMiAxMDA2NDQK LS0tIGEvd2ViL3JlZ3Jlc3Npb24vdGVzdF91dGlscy5weQorKysgYi93ZWIv cmVncmVzc2lvbi90ZXN0X3V0aWxzLnB5CkBAIC0xMiwxMSArMTIsMTMgQEAg aW1wb3J0IHBpY2tsZQogaW1wb3J0IGpzb24KIGltcG9ydCB1dWlkCiAKLWZy b20gdGVzdF9zZXR1cCBpbXBvcnQgY29uZmlnX2RhdGEsIGFkdmFuY2VkX2Nv bmZpZ19kYXRhLCBwaWNrbGVfcGF0aAorZnJvbSB0ZXN0X3NldHVwIGltcG9y dCBjb25maWdfZGF0YSwgYWR2YW5jZWRfY29uZmlnX2RhdGEsIFwKKyAgICBw aWNrbGVfcGF0aAogCiBTRVJWRVJfVVJMID0gJy9icm93c2VyL3NlcnZlci9v YmovJwogU0VSVkVSX0NPTk5FQ1RfVVJMID0gJ2Jyb3dzZXIvc2VydmVyL2Nv bm5lY3QvJwotREFUQUJBU0VfQ09OTkVDVF9VUkwgPSAnL2Jyb3dzZXIvZGF0 YWJhc2Uvb2JqLycKK0RBVEFCQVNFX1VSTCA9ICcvYnJvd3Nlci9kYXRhYmFz ZS9vYmovJworREFUQUJBU0VfQ09OTkVDVF9VUkwgPSAnYnJvd3Nlci9kYXRh YmFzZS9jb25uZWN0LycKIAogCiBkZWYgZ2V0X2lkcyh1cmw9cGlja2xlX3Bh dGgpOgpAQCAtMzYsNiArMzgsMzkgQEAgZGVmIGdldF9pZHModXJsPXBpY2ts ZV9wYXRoKToKICAgICByZXR1cm4gaWRzCiAKIAorZGVmIHZlcmlmeV9kYXRh YmFzZSh0ZXN0ZXIsIHNlcnZlcl9ncm91cCwgc2VydmVyX2lkLCBkYl9pZCk6 CisgICAgIiIiCisgICAgVGhpcyBmdW5jdGlvbiB2ZXJpZmllcyB0aGF0IGRh dGFiYXNlIGlzIGV4aXN0cyBhbmQgd2hldGhlciBpdCBjb25uZWN0CisgICAg c3VjY2Vzc2Z1bGx5IG9yIG5vdAorCisgICAgOnBhcmFtIHRlc3RlcjogdGVz dCBjbGllbnQKKyAgICA6dHlwZSB0ZXN0ZXI6IGZsYXNrIHRlc3QgY2xpZW50 IG9iamVjdAorICAgIDpwYXJhbSBzZXJ2ZXJfZ3JvdXA6IHNlcnZlciBncm91 cCBpZAorICAgIDp0eXBlIHNlcnZlcl9ncm91cDogaW50CisgICAgOnBhcmFt IHNlcnZlcl9pZDogc2VydmVyIGlkCisgICAgOnR5cGUgc2VydmVyX2lkOiBz dHIKKyAgICA6cGFyYW0gZGJfaWQ6IGRhdGFiYXNlIGlkCisgICAgOnR5cGUg ZGJfaWQ6IHN0cgorICAgIDpyZXR1cm46IHRlbXBfZGJfY29uCisgICAgOnJ0 eXBlOiBsaXN0CisgICAgIiIiCisKKyAgICAjIENvbm5lY3QgdG8gc2VydmVy CisgICAgcmVzcG9uc2UgPSB0ZXN0ZXIucG9zdCgnezB9ezF9L3syfScuZm9y bWF0KAorICAgICAgICBTRVJWRVJfQ09OTkVDVF9VUkwsIHNlcnZlcl9ncm91 cCwgc2VydmVyX2lkKSwgZGF0YT1kaWN0KAorICAgICAgICBwYXNzd29yZD1j b25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfY3JlZGVudGlhbHMnXVswXVsKKyAg ICAgICAgICAgICd0ZXN0X2RiX3Bhc3N3b3JkJ10pLAorICAgICAgICBmb2xs b3dfcmVkaXJlY3RzPVRydWUpCisKKyAgICAjIENvbm5lY3QgdG8gZGF0YWJh c2UKKyAgICBjb25fcmVzcG9uc2UgPSB0ZXN0ZXIucG9zdCgnezB9ezF9L3sy fS97M30nLmZvcm1hdCgKKyAgICAgICAgREFUQUJBU0VfQ09OTkVDVF9VUkws IHNlcnZlcl9ncm91cCwgc2VydmVyX2lkLCBkYl9pZCksCisgICAgICAgIGZv bGxvd19yZWRpcmVjdHM9VHJ1ZSkKKyAgICB0ZW1wX2RiX2NvbiA9IGpzb24u bG9hZHMoY29uX3Jlc3BvbnNlLmRhdGEuZGVjb2RlKCd1dGYtOCcpKQorCisg ICAgcmV0dXJuIHRlbXBfZGJfY29uCisKKwogZGVmIHRlc3RfZ2V0bm9kZXMo dGVzdGVyPU5vbmUpOgogICAgICMgQ29ubmVjdCB0byBzZXJ2ZXIgYW5kIGRh dGFiYXNlLgogCkBAIC00NSwyNCArODAsMTMgQEAgZGVmIHRlc3RfZ2V0bm9k ZXModGVzdGVyPU5vbmUpOgogICAgIGFsbF9pZCA9IGdldF9pZHMoKQogCiAg ICAgc2VydmVyX2lkcyA9IGFsbF9pZFsic2lkIl0KLSAgICBkYl9pZCA9IGFs bF9pZFsiZGlkIl1bMF0KKyAgICBkYl9pZHNfZGljdCA9IGFsbF9pZFsiZGlk Il1bMF0KICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVy X2dyb3VwJ10KIAotICAgICMgVE9ETzogbmVlZCB0byBhZGQgY29kZSB0byBo YW5kbGUgbXVsdGlwbGUgZGF0YWJhc2VzIHdpdGggc2VydmVycworICAgIGRi X2NvbiA9IFtdCiAgICAgZm9yIHNlcnZlcl9pZCBpbiBzZXJ2ZXJfaWRzOgot ICAgICAgICAjIENvbm5lY3QgdG8gc2VydmVyCi0gICAgICAgIHJlc3BvbnNl ID0gdGVzdGVyLnBvc3QoJ2Jyb3dzZXIvc2VydmVyL2Nvbm5lY3QvezB9L3sx fScuZm9ybWF0KAotICAgICAgICAgICAgc3J2X2dycCwgc2VydmVyX2lkKSwg ZGF0YT1kaWN0KAotICAgICAgICAgICAgcGFzc3dvcmQ9Y29uZmlnX2RhdGFb J3Rlc3Rfc2VydmVyX2NyZWRlbnRpYWxzJ11bMF1bCi0gICAgICAgICAgICAg ICAgJ3Rlc3RfZGJfcGFzc3dvcmQnXSksCi0gICAgICAgICAgICBmb2xsb3df cmVkaXJlY3RzPVRydWUpCi0KLSAgICAgICAgIyBDb25uZWN0IHRvIGRhdGFi YXNlCi0gICAgICAgIGNvbl9yZXNwb25zZSA9IHRlc3Rlci5wb3N0KAotICAg ICAgICAgICAgJ2Jyb3dzZXIvZGF0YWJhc2UvY29ubmVjdC97MH0vezF9L3sy fScuZm9ybWF0KAotICAgICAgICAgICAgICAgIHNydl9ncnAsIHNlcnZlcl9p ZCwgZGJfaWQpLCBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCi0gICAgICAgIGRi X2NvbiA9IGpzb24ubG9hZHMoY29uX3Jlc3BvbnNlLmRhdGEuZGVjb2RlKCd1 dGYtOCcpKQotCisgICAgICAgIGRiX2lkID0gZGJfaWRzX2RpY3RbaW50KHNl cnZlcl9pZCldCisgICAgICAgIGRiX2Nvbi5hcHBlbmQodmVyaWZ5X2RhdGFi YXNlKHRlc3Rlciwgc3J2X2dycCwgc2VydmVyX2lkLCBkYl9pZCkpCiAgICAg cmV0dXJuIGRiX2NvbgogCiAKQEAgLTc2LDMxICsxMDAsMzAgQEAgZGVmIGdl dF9kYl9kYXRhKHNlcnZlcl9jb25uZWN0X2RhdGEpOgogICAgIDpydHlwZTog ZGljdAogICAgICIiIgogCisgICAgYWR2X2NvbmZpZ19kYXRhID0gTm9uZQor ICAgIGRhdGEgPSBOb25lCiAgICAgZGJfdXNlciA9IHNlcnZlcl9jb25uZWN0 X2RhdGFbJ2RhdGEnXVsndXNlciddWyduYW1lJ10KIAotICAgIGlmIGRiX3Vz ZXIgPT0gInBvc3RncmVzIjoKLSAgICAgICAgIyBHZXQgdGhlIGFkdmFuY2Ug dGVzdCBkYXRhIG9mICdwb3N0Z3JlcycgdXNlcgotICAgICAgICBhZHZfY29u ZmlnX2RhdGEgPSBhZHZhbmNlZF9jb25maWdfZGF0YVsKLSAgICAgICAgICAg ICd0ZXN0X2FkZF9kYXRhYmFzZV9kYXRhJ11bMF0KLSAgICBlbHNlOgotICAg ICAgICAjIEdldCB0aGUgYWR2YW5jZSB0ZXN0IGRhdGEgb2YgJ2VudGVycHJp c2VkYicgdXNlcgotICAgICAgICBhZHZfY29uZmlnX2RhdGEgPSBhZHZhbmNl ZF9jb25maWdfZGF0YVsKLSAgICAgICAgICAgICd0ZXN0X2FkZF9kYXRhYmFz ZV9kYXRhJ11bMV0KLQotICAgIGRhdGEgPSB7Ci0gICAgICAgICJkYXRhY2wi OiBhZHZfY29uZmlnX2RhdGFbJ3Rlc3RfcHJpdmlsZWdlc19hY2wnXSwKLSAg ICAgICAgImRhdGNvbm5saW1pdCI6IGFkdl9jb25maWdfZGF0YVsndGVzdF9j b25uX2xpbWl0J10sCi0gICAgICAgICJkYXRvd25lciI6IGFkdl9jb25maWdf ZGF0YVsndGVzdF9vd25lciddLAotICAgICAgICAiZGVmZnVuY2FjbCI6IGFk dl9jb25maWdfZGF0YVsndGVzdF9mdW5fYWNsJ10sCi0gICAgICAgICJkZWZz ZXFhY2wiOiBhZHZfY29uZmlnX2RhdGFbJ3Rlc3Rfc2VxX2FjbCddLAotICAg ICAgICAiZGVmdGJsYWNsIjogYWR2X2NvbmZpZ19kYXRhWyd0ZXN0X3RibF9h Y2wnXSwKLSAgICAgICAgImRlZnR5cGVhY2wiOiBhZHZfY29uZmlnX2RhdGFb J3Rlc3RfdHlwZV9hY2wnXSwKLSAgICAgICAgImVuY29kaW5nIjogYWR2X2Nv bmZpZ19kYXRhWyd0ZXN0X2VuY29kaW5nJ10sCi0gICAgICAgICJuYW1lIjog c3RyKHV1aWQudXVpZDQoKSlbMTo4XSwKLSAgICAgICAgInByaXZpbGVnZXMi OiBhZHZfY29uZmlnX2RhdGFbJ3Rlc3RfcHJpdmlsZWdlcyddLAotICAgICAg ICAic2VjdXJpdGllcyI6IGFkdl9jb25maWdfZGF0YVsndGVzdF9zZWN1cml0 aWVzJ10sCi0gICAgICAgICJ2YXJpYWJsZXMiOiBhZHZfY29uZmlnX2RhdGFb J3Rlc3RfdmFyaWFibGVzJ10KLSAgICB9CisgICAgIyBHZXQgdGhlIGNvbmZp ZyBkYXRhIG9mIGFwcHJvcHJpYXRlIGRiIHVzZXIKKyAgICBmb3IgY29uZmln X3Rlc3RfZGF0YSBpbiBhZHZhbmNlZF9jb25maWdfZGF0YVsndGVzdF9hZGRf ZGF0YWJhc2VfZGF0YSddOgorICAgICAgICBpZiBkYl91c2VyID09IGNvbmZp Z190ZXN0X2RhdGFbJ3Rlc3Rfb3duZXInXToKKyAgICAgICAgICAgIGFkdl9j b25maWdfZGF0YSA9IGNvbmZpZ190ZXN0X2RhdGEKKworICAgIGlmIGFkdl9j b25maWdfZGF0YSBpcyBub3QgTm9uZToKKyAgICAgICAgZGF0YSA9IHsKKyAg ICAgICAgICAgICJkYXRhY2wiOiBhZHZfY29uZmlnX2RhdGFbJ3Rlc3RfcHJp dmlsZWdlc19hY2wnXSwKKyAgICAgICAgICAgICJkYXRjb25ubGltaXQiOiBh ZHZfY29uZmlnX2RhdGFbJ3Rlc3RfY29ubl9saW1pdCddLAorICAgICAgICAg ICAgImRhdG93bmVyIjogYWR2X2NvbmZpZ19kYXRhWyd0ZXN0X293bmVyJ10s CisgICAgICAgICAgICAiZGVmZnVuY2FjbCI6IGFkdl9jb25maWdfZGF0YVsn dGVzdF9mdW5fYWNsJ10sCisgICAgICAgICAgICAiZGVmc2VxYWNsIjogYWR2 X2NvbmZpZ19kYXRhWyd0ZXN0X3NlcV9hY2wnXSwKKyAgICAgICAgICAgICJk ZWZ0YmxhY2wiOiBhZHZfY29uZmlnX2RhdGFbJ3Rlc3RfdGJsX2FjbCddLAor ICAgICAgICAgICAgImRlZnR5cGVhY2wiOiBhZHZfY29uZmlnX2RhdGFbJ3Rl c3RfdHlwZV9hY2wnXSwKKyAgICAgICAgICAgICJlbmNvZGluZyI6IGFkdl9j b25maWdfZGF0YVsndGVzdF9lbmNvZGluZyddLAorICAgICAgICAgICAgIm5h bWUiOiBzdHIodXVpZC51dWlkNCgpKVsxOjhdLAorICAgICAgICAgICAgInBy aXZpbGVnZXMiOiBhZHZfY29uZmlnX2RhdGFbJ3Rlc3RfcHJpdmlsZWdlcydd LAorICAgICAgICAgICAgInNlY3VyaXRpZXMiOiBhZHZfY29uZmlnX2RhdGFb J3Rlc3Rfc2VjdXJpdGllcyddLAorICAgICAgICAgICAgInZhcmlhYmxlcyI6 IGFkdl9jb25maWdfZGF0YVsndGVzdF92YXJpYWJsZXMnXQorICAgICAgICB9 CiAKICAgICByZXR1cm4gZGF0YQogCkBAIC0xOTksMTMgKzIyMiwxOCBAQCBk ZWYgd3JpdGVfZGJfcGFyZW50X2lkKHJlc3BvbnNlX2RhdGEpOgogICAgICIi IgogCiAgICAgZGJfaWQgPSByZXNwb25zZV9kYXRhWydub2RlJ11bJ19pZCdd CisgICAgc2VydmVyX2lkID0gcmVzcG9uc2VfZGF0YVsnbm9kZSddWydfcGlk J10KICAgICBpZiBvcy5wYXRoLmlzZmlsZShwaWNrbGVfcGF0aCk6CiAgICAg ICAgIGV4aXN0aW5nX3NlcnZlcl9pZCA9IG9wZW4ocGlja2xlX3BhdGgsICdy YicpCiAgICAgICAgIHRvbF9zZXJ2ZXJfaWQgPSBwaWNrbGUubG9hZChleGlz dGluZ19zZXJ2ZXJfaWQpCiAgICAgICAgIHBpY2tsZV9pZF9kaWN0ID0gdG9s X3NlcnZlcl9pZAotCi0gICAgICAgIHBpY2tsZV9pZF9kaWN0WyJkaWQiXS5h cHBlbmQoZGJfaWQpCi0KKyAgICAgICAgaWYgJ2RpZCcgaW4gcGlja2xlX2lk X2RpY3Q6CisgICAgICAgICAgICBpZiBwaWNrbGVfaWRfZGljdFsnZGlkJ106 CisgICAgICAgICAgICAgICAgIyBBZGQgdGhlIGRiX2lkIGFzIHZhbHVlIGlu IGRpY3QKKyAgICAgICAgICAgICAgICBwaWNrbGVfaWRfZGljdFsiZGlkIl1b MF0udXBkYXRlKHtzZXJ2ZXJfaWQ6IGRiX2lkfSkKKyAgICAgICAgICAgIGVs c2U6CisgICAgICAgICAgICAgICAgIyBDcmVhdGUgbmV3IGRpY3Qgd2l0aCBz ZXJ2ZXJfaWQgYW5kIGRiX2lkCisgICAgICAgICAgICAgICAgcGlja2xlX2lk X2RpY3RbImRpZCJdLmFwcGVuZCh7c2VydmVyX2lkOiBkYl9pZH0pCiAgICAg ICAgIGRiX291dHB1dCA9IG9wZW4ocGlja2xlX3BhdGgsICd3YicpCiAgICAg ICAgIHBpY2tsZS5kdW1wKHBpY2tsZV9pZF9kaWN0LCBkYl9vdXRwdXQpCiAg ICAgICAgIGRiX291dHB1dC5jbG9zZSgpCkBAIC0yODgsNyArMzE2LDggQEAg ZGVmIGNvbm5lY3Rfc2VydmVyKHRlc3Rlcik6CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFsndGVzdF9kYl9wYXNzd29yZCddKSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3Rz PVRydWUpCiAgICAgICAgIHNlcnZlcl9jb25uZWN0X2RldGFpbCA9IGpzb24u bG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKLSAgICAgICAgY29ubmVj dF9kYXRhYmFzZSh0ZXN0ZXIsIHNlcnZlcl9jb25uZWN0X2RldGFpbCwgc2Vy dmVyX2lkLCBzZXJ2ZXJfZ3JvdXApCisgICAgICAgIGNvbm5lY3RfZGF0YWJh c2UodGVzdGVyLCBzZXJ2ZXJfY29ubmVjdF9kZXRhaWwsIHNlcnZlcl9pZCwK KyAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfZ3JvdXApCiAgICAg ICAgIHNlcnZlcl9jb25uZWN0LmFwcGVuZChzZXJ2ZXJfY29ubmVjdF9kZXRh aWwpCiAgICAgICAgIHNlcnZlcnMuYXBwZW5kKHNlcnZlcl9pZCkKICAgICBy ZXR1cm4gc2VydmVyX2Nvbm5lY3QsIHNlcnZlcl9ncm91cCwgc2VydmVycwpA QCAtMzEzLDcgKzM0Miw3IEBAIGRlZiBjb25uZWN0X2RhdGFiYXNlKHRlc3Rl ciwgc2VydmVyX2Nvbm5lY3QsIHNlcnZlcl9pZCwgc2VydmVyX2dyb3VwKToK ICAgICBpZiBzZXJ2ZXJfY29ubmVjdFsnZGF0YSddWydjb25uZWN0ZWQnXToK ICAgICAgICAgZGJfZGF0YSA9IGdldF9kYl9kYXRhKHNlcnZlcl9jb25uZWN0 KQogICAgICAgICBkYl9yZXNwb25zZSA9IHRlc3Rlci5wb3N0KAotICAgICAg ICAgICAgREFUQUJBU0VfQ09OTkVDVF9VUkwgKyBzdHIoc2VydmVyX2dyb3Vw KSArICIvIiArIHNlcnZlcl9pZCArICIvIiwKKyAgICAgICAgICAgIERBVEFC QVNFX1VSTCArIHN0cihzZXJ2ZXJfZ3JvdXApICsgIi8iICsgc2VydmVyX2lk ICsgIi8iLAogICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBzKGRiX2RhdGEp LAogICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQogICAg ICAgICByZXNwb25zZV9kYXRhID0ganNvbi5sb2FkcyhkYl9yZXNwb25zZS5k YXRhLmRlY29kZSgpKQpAQCAtMzQxLDMxICszNzAsMjggQEAgZGVmIGRlbGV0 ZV9zZXJ2ZXIodGVzdGVyKToKICAgICAgICAgYXNzZXJ0IHJlc3BvbnNlX2Rh dGFbJ3N1Y2Nlc3MnXSA9PSAxCiAKIAotZGVmIGRlbGV0ZV9kYXRhYmFzZSh0 ZXN0ZXIsIGRiX2lkKToKK2RlZiBkZWxldGVfZGF0YWJhc2UodGVzdGVyKToK ICAgICAiIiIKICAgICBUaGlzIGZ1bmN0aW9uIHVzZWQgdG8gZGVsZXRlIHRo ZSBhZGRlZCBkYXRhYmFzZXMKIAogICAgIDpwYXJhbSB0ZXN0ZXI6IHRlc3Qg Y2xpZW50IG9iamVjdAotICAgIDpwYXJhbSBkYl9pZDogZGF0YWJhc2UgaWQg dG8gYmUgZGVsZXRlCi0gICAgOnR5cGUgZGJfaWQ6IGludAogICAgIDpyZXR1 cm46IE5vbmUKICAgICAiIiIKIAogICAgIHNydl9ncnAgPSBjb25maWdfZGF0 YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQogICAgIGFsbF9pZCA9IGdldF9pZHMo KQogICAgIHNlcnZlcl9pZHMgPSBhbGxfaWRbInNpZCJdCi0KLSAgICAjIFRP RE86IE5lZWQgdG8gbW9kaWZ5IHRoZSBjb2RlICwgdG8gZGVsZXRlIHRoZSBk YXRhYmFzZXMgZm9yIGFsbAotICAgICMgVE9ETzogc2VydmVycy4gQ3VycmVu dGx5IGl0IGRlbGV0ZSBvbmx5IG9uZSBkYXRhYmFzZS4KLSAgICAjZGJfaWQg PSBhbGxfaWRbImRpZCJdWzBdCisgICAgZGJfaWRzX2RpY3QgPSBhbGxfaWRb J2RpZCddWzBdCiAKICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVzKHRlc3Rl cikKICAgICBpZiBsZW4oZGJfY29uKSA9PSAwOgogICAgICAgICByYWlzZSBF eGNlcHRpb24oIk5vIGRhdGFiYXNlKHMpIHRvIGRlbGV0ZS4iKQogCiAgICAg Zm9yIHNlcnZlcl9pZCBpbiBzZXJ2ZXJfaWRzOgotICAgICAgICByZXNwb25z ZSA9IHRlc3Rlci5kZWxldGUoREFUQUJBU0VfQ09OTkVDVF9VUkwgKyBzdHIo c3J2X2dycCkgKyAnLycgKyBzdHIoCi0gICAgICAgICAgICBzZXJ2ZXJfaWQp ICsgJy8nICsgc3RyKGRiX2lkKSwgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQor ICAgICAgICBkYl9pZCA9IGRiX2lkc19kaWN0W2ludChzZXJ2ZXJfaWQpXQor ICAgICAgICByZXNwb25zZSA9IHRlc3Rlci5kZWxldGUoREFUQUJBU0VfVVJM ICsgc3RyKHNydl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsgc3RyKGRiX2lk KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19y ZWRpcmVjdHM9VHJ1ZSkKICAgICAgICAgYXNzZXJ0IHJlc3BvbnNlLnN0YXR1 c19jb2RlID09IDIwMAogICAgICAgICByZXNwb25zZV9kYXRhID0ganNvbi5s b2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgndXRmLTgnKSkKICAgICAgICAg YXNzZXJ0IHJlc3BvbnNlX2RhdGFbJ3N1Y2Nlc3MnXSA9PSAxCg== --001a1149cd50fb51ca05389d0641 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --001a1149cd50fb51ca05389d0641--