Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bNfB3-0008O6-PE for pgadmin-hackers@arkaria.postgresql.org; Thu, 14 Jul 2016 11:51:38 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bNfB3-0006xx-56 for pgadmin-hackers@arkaria.postgresql.org; Thu, 14 Jul 2016 11:51:37 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bNfB0-0006xq-Tm for pgadmin-hackers@postgresql.org; Thu, 14 Jul 2016 11:51:35 +0000 Received: from mail-qt0-x22a.google.com ([2607:f8b0:400d:c0d::22a]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1bNfAx-0000ZE-Gk for pgadmin-hackers@postgresql.org; Thu, 14 Jul 2016 11:51:33 +0000 Received: by mail-qt0-x22a.google.com with SMTP id w38so41162294qtb.0 for ; Thu, 14 Jul 2016 04:51:31 -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=3oChYxPK9ikx4jAlzNLbQbBQOIBPSNqA4ZQKx7V/5Do=; b=TROoDLugNCHKush9IRYQVF371+J5RCGI+Yif4x5sRNO+kJcMHc1KX8Wj08QJeNcppV +ApTGsrEeE1G9ezwA0f5dsgZ5AO3bCA/LpWstunQkpYn2LQJ4aGmvlrxcJ2EGF6IswyA bUY+yeu410MyBFdlfwAdzTWiz+x+99jBshoiFOfY0ALZky3ilwMIpB/aFHRjP4q6LlHh IfGdLN6RdPZX9KhgVdUgErwObXo8zrXvlK93yMY29usM2NIoEuN3FdpYuZP0qz7lZq6P RTKMWj3Zxgl1mn8PJWQRPQARsseifOMjk5y4spA/wYj1wA3+GWknEQGBYWYAOwtGR0F+ dfqw== 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=3oChYxPK9ikx4jAlzNLbQbBQOIBPSNqA4ZQKx7V/5Do=; b=fRy86edPaaqr6r5mijD7aG71MKY9bnMPkepHr79A8qcOXo8pLFR6m/lzIrL12rVSQF +Mb0lC06ckkYk0AiGPHht6gurDP2Hw7kysf9CDdeKMySNrIXATIgC9qPT6E+8cBbo7lm Job6TVodwxT0x9mhVzchCvCNKg6AsHVPA4iy5NCB7EBfX7PS+fA8nZAzdrpptfUUzIb4 7bX8fCyGBVh3qoxQPLGc2OuZAVlyuLZoHYzqzMucsEkrZyth9vc/oI1VWgB6bHQG6UTQ 7QwZbJHkdjQ7IShWXRyO4eC7irLZ5zzi1AQHvNws/lXQ93EJhkTL2pbcZAvj2bq3ySS3 RbWQ== X-Gm-Message-State: ALyK8tKTWSS0MySAOx0Q5AIqmii2J6EcwRJmu1Ay6f8LX5AofwR9lFDJTj+WKzZ+4KpXxzIt5K0mstRmzPbY1alZ X-Received: by 10.200.34.19 with SMTP id o19mr19775404qto.97.1468497090169; Thu, 14 Jul 2016 04:51:30 -0700 (PDT) MIME-Version: 1.0 Received: by 10.200.51.174 with HTTP; Thu, 14 Jul 2016 04:50:48 -0700 (PDT) In-Reply-To: References: <1C830532-F2F0-4FBC-BD17-4428CE9AA53D@pgadmin.org> From: Priyanka Shendge Date: Thu, 14 Jul 2016 17:20:48 +0530 Message-ID: Subject: Re: pgAdmin IV API test cases patch To: Dave Page Cc: pgadmin-hackers , Kanchan Mohitey , Khushboo Vashi Content-Type: multipart/mixed; boundary=001a11394dbe70bc580537971fce 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 --001a11394dbe70bc580537971fce Content-Type: multipart/alternative; boundary=001a11394dbe70bc530537971fcc --001a11394dbe70bc530537971fcc Content-Type: text/plain; charset=UTF-8 Hi Dave, I have added more debug statements to older patch. New patch attached. Also, i removed database deletion test case from current patch so that we can analyse if database is added or not. I have added few more debug statements to database add test case. After running the testsuite can you please confirm whether the database is created or not under server node? Could you please re-run the attached patch and send me the logs and output? On 12 July 2016 at 17:34, Dave Page wrote: > On Tue, Jul 12, 2016 at 5:14 AM, Khushboo Vashi > wrote: > > > > > > On Mon, Jul 11, 2016 at 7:15 PM, Priyanka Shendge > > wrote: > >> > >> > >> > >> On 11 July 2016 at 18:35, Dave Page wrote: > >>> > >>> On Mon, Jul 11, 2016 at 1:25 PM, Priyanka Shendge > >>> wrote: > >>> > Sorry, by mistake i copied incomplete query. There is an OID present > >>> > for > >>> > added database. > >>> > > >>> > SELECT > >>> > db.oid as did, db.datname, db.datallowconn, > >>> > pg_encoding_to_char(db.encoding) AS serverencoding, > >>> > has_database_privilege(db.oid, 'CREATE') as cancreate, > >>> > datlastsysoid > >>> > FROM > >>> > pg_database db > >>> > WHERE db.oid = 158579 > >>> > >>> There's nothing wrong with that query. Can you work with Khushboo to > >>> see if she can reproduce or help figure it out please? > >> > >> > >> I had work with Khushboo, she also tried to reproduce the issue at her > >> it's working fine for her. > >> Khushboo also tried to troubleshoot/trace the issue but not able to > figure > >> out where exactly its failing; > >> as issue was not reproducible. > >> > >> @Khushboo: > >> Please add if i am missing anything. > >>> > >>> > > > > > > We have tried to reproduce this issue at our end several times with the > > different scenarios but every attempt was unsuccessful. > > > > Here the newly created database connection is failing which should not as > > the database is created properly as per the log. > > The above query (mentioned by Priyanka) executes from the psycopg2 driver > > and could fail in 2 scenarios, either the database has been dropped > before > > this particular test-case runs or the database is not created properly > > through the 'create database test-case'. But as per the log, the 'delete > > database test-case' runs after this test-case and the database is created > > properly. > > > > Can any privilege issue prevent the database connection in this scenario? > > Not on my system, that I can think of. > > If there was a connection error like that though, shouldn't we see a > message from libpq at least? If not, that implies that there are error > reporting issues to be fixed. > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- Best, Priyanka EnterpriseDB Corporation The Enterprise PostgreSQL Company --001a11394dbe70bc530537971fcc Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Dave,

I have added more debug statem= ents to older patch. New patch attached.
Also, i removed database= deletion test case from current patch so that we can analyse=C2=A0
if database is added or not.=C2=A0

I have added few more debug statements to database ad= d test case. After running the testsuite=C2=A0
can you=C2=A0= please confirm=C2=A0whether the dat= abase is created or not under server node?

Co= uld you please re-run the attached patch and send me the logs and output?

On 12 July 2016 at 17:34, Dave Page <dpage@pgadmin.org> = wrote:
On Tue, Jul 12, 2016 at 5:14 AM, Khushboo Vashi
<khushboo.vashi@enter= prisedb.com> wrote:
>
>
> On Mon, Jul 11, 2016 at 7:15 PM, Priyanka Shendge
> <priyanka.shen= dge@enterprisedb.com> wrote:
>>
>>
>>
>> On 11 July 2016 at 18:35, Dave Page <dpage@pgadmin.org> wrote:
>>>
>>> On Mon, Jul 11, 2016 at 1:25 PM, Priyanka Shendge
>>> <priya= nka.shendge@enterprisedb.com> wrote:
>>> > Sorry, by mistake i copied incomplete query.=C2=A0 There = is an OID present
>>> > for
>>> > added database.
>>> >
>>> > SELECT
>>> >=C2=A0 =C2=A0 =C2=A0db.oid as did, db.datname, db.datallow= conn,
>>> >=C2=A0 =C2=A0 =C2=A0pg_encoding_to_char(db.encoding) AS se= rverencoding,
>>> >=C2=A0 =C2=A0 =C2=A0has_database_privilege(db.oid, 'CR= EATE') as cancreate,
>>> > datlastsysoid
>>> > FROM
>>> >=C2=A0 =C2=A0 =C2=A0pg_database db
>>> > WHERE db.oid =3D 158579
>>>
>>> There's nothing wrong with that query. Can you work with K= hushboo to
>>> see if she can reproduce or help figure it out please?
>>
>>
>> I had work with Khushboo, she also tried to reproduce the issue at= her
>> it's working fine for her.
>> Khushboo also tried to troubleshoot/trace the issue but not able t= o figure
>> out where exactly its failing;
>> as issue was not reproducible.
>>
>> @Khushboo:
>>=C2=A0 Please add if i am missing anything.
>>>
>>>
>
>
> We have tried to reproduce this issue at our end several times with th= e
> different scenarios but every attempt was unsuccessful.
>
> Here the newly created database connection is failing which should not= as
> the database is created properly as per the log.
> The above query (mentioned by Priyanka) executes from the psycopg2 dri= ver
> and could fail in 2 scenarios, either the database has been dropped be= fore
> this particular test-case runs or the database is not created properly=
> through the 'create database test-case'.=C2=A0 But as per the = log, the 'delete
> database test-case' runs after this test-case and the database is = created
> properly.
>
> Can any privilege issue prevent the database connection in this scenar= io?

Not on my system, that I can think of.

If there was a connection error like that though, shouldn't we see a
message from libpq at least? If not, that implies that there are error
reporting issues to be fixed.


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



--
=
Best,
Priyanka

EnterpriseDB Corporation
The Enterprise PostgreSQL Co= mpany

--001a11394dbe70bc530537971fcc-- --001a11394dbe70bc580537971fce Content-Type: application/octet-stream; name="test_db_connection.patch" Content-Disposition: attachment; filename="test_db_connection.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iqm3u4n90 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZXN0cy9fX2luaXRfXy5weSBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy90ZXN0cy9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi42MGVkNGM3Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3Rlc3RzL19faW5pdF9fLnB5CkBAIC0wLDAgKzEsMTYgQEAKKyMgIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgI3BnQWRtaW4gNCAtIFBv c3RncmVTUUwgVG9vbHMKKyMKKyMgI0NvcHlyaWdodCAoQykgMjAxMyAtIDIw MTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgI1RoaXMgc29m dHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5j ZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmcm9t IHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9y CisKKworY2xhc3MgRGF0YWJhc2VHZW5lcmF0ZVRlc3RDYXNlKEJhc2VUZXN0 R2VuZXJhdG9yKToKKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAg ICByZXR1cm4KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZXN0cy90ZXN0X2RiX2Fk ZC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy90ZXN0cy90ZXN0X2RiX2FkZC5weQpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODViZTBhCi0tLSAvZGV2L251 bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3Rlc3RfZGJfYWRkLnB5CkBAIC0wLDAg KzEsMTA2IEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRt aW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAy MDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBU aGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FM IExpY2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20g cmVncmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhLCBhZHZhbmNl X2NvbmZpZ19kYXRhLCBwaWNrbGVfcGF0aAorZnJvbSBwZ2FkbWluLmJyb3dz ZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0Q2FzZQoraW1w b3J0IGpzb24KK2ltcG9ydCBwaWNrbGUKK2ltcG9ydCB1dWlkCitpbXBvcnQg b3MKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRfaWRz CisKKworY2xhc3MgRGF0YWJhc2VBZGRUZXN0Q2FzZShMb2dpblRlc3RDYXNl KToKKyAgICAiIiIKKyAgICBUaGlzIGNsYXNzIHdpbGwgY2hlY2sgc2VydmVy IGdyb3VwIG5vZGUgcHJlc2VudCBvbiB0aGUgb2JqZWN0IGJyb3dzZXIncwor ICAgIHRyZWUgbm9kZSBieSByZXNwb25zZSBjb2RlLgorICAgICIiIgorICAg IHByaW9yaXR5ID0gNworCisgICAgc2NlbmFyaW9zID0gWworICAgICAgICAj IEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciBkYXRhYmFzZSBub2RlLgorICAg ICAgICAoJ0NoZWNrIERhdGFiYXNlcyBOb2RlIFVSTCcsIGRpY3QodXJsPScv YnJvd3Nlci9kYXRhYmFzZS9vYmovJykpCisgICAgXQorCisgICAgZGVmIHJ1 blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwg YWRkIGRhdGFiYXNlIHVuZGVyIDFzdCBzZXJ2ZXIgb2YgdHJlZSBub2RlLiAi IiIKKworICAgICAgICBzcnZfaWQgPSBnZXRfaWRzKCkKKworICAgICAgICBz ZXJ2ZXJfaWQgPSBzcnZfaWRbInNpZCJdWzBdCisgICAgICAgIHNydl9ncnAg PSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAg IHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdCgnYnJvd3Nlci9zZXJ2ZXIv Y29ubmVjdC8nICsgc3RyKHNydl9ncnApICsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICcvJyArIHNlcnZlcl9pZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9ZGljdCgKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkPWNvbmZp Z19kYXRhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb J3Rlc3Rfc2VydmVyX2NyZWRlbnRpYWxzJ11bMF0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9kYl9wYXNzd29yZCddKSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19y ZWRpcmVjdHM9VHJ1ZSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhy ZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorCisgICAgICAgIHNydl9jb25u ZWN0ID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisg ICAgICAgIGlmIHNydl9jb25uZWN0WydkYXRhJ11bJ2Nvbm5lY3RlZCddOgor CisgICAgICAgICAgICBkYXRhID0geworICAgICAgICAgICAgICAgICAgICAg ImRhdGFjbCI6IGFkdmFuY2VfY29uZmlnX2RhdGFbJ3Rlc3RfYWRkX2RhdGFi YXNlX2RhdGEnXQorICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X3ByaXZp bGVnZXNfYWNsJ10sCisgICAgICAgICAgICAgICAgICAgICAiZGF0Y29ubmxp bWl0IjogYWR2YW5jZV9jb25maWdfZGF0YQorICAgICAgICAgICAgICAgICAg ICAgWyd0ZXN0X2FkZF9kYXRhYmFzZV9kYXRhJ11bJ3Rlc3RfY29ubl9saW1p dCddLAorICAgICAgICAgICAgICAgICAgICAgImRhdG93bmVyIjogYWR2YW5j ZV9jb25maWdfZGF0YQorICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X2Fk ZF9kYXRhYmFzZV9kYXRhJ11bJ3Rlc3Rfb3duZXInXSwKKyAgICAgICAgICAg ICAgICAgICAgICJkZWZmdW5jYWNsIjogYWR2YW5jZV9jb25maWdfZGF0YQor ICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X2FkZF9kYXRhYmFzZV9kYXRh J11bJ3Rlc3RfZnVuX2FjbCddLAorICAgICAgICAgICAgICAgICAgICAgImRl ZnNlcWFjbCI6IGFkdmFuY2VfY29uZmlnX2RhdGEKKyAgICAgICAgICAgICAg ICAgICAgIFsndGVzdF9hZGRfZGF0YWJhc2VfZGF0YSddWyd0ZXN0X3NlcV9h Y2wnXSwKKyAgICAgICAgICAgICAgICAgICAgICJkZWZ0YmxhY2wiOiBhZHZh bmNlX2NvbmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rf YWRkX2RhdGFiYXNlX2RhdGEnXVsndGVzdF90YmxfYWNsJ10sCisgICAgICAg ICAgICAgICAgICAgICAiZGVmdHlwZWFjbCI6IGFkdmFuY2VfY29uZmlnX2Rh dGEKKyAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9hZGRfZGF0YWJhc2Vf ZGF0YSddWyd0ZXN0X3R5cGVfYWNsJ10sCisgICAgICAgICAgICAgICAgICAg ICAiZW5jb2RpbmciOiBhZHZhbmNlX2NvbmZpZ19kYXRhCisgICAgICAgICAg ICAgICAgICAgICBbJ3Rlc3RfYWRkX2RhdGFiYXNlX2RhdGEnXVsndGVzdF9l bmNvZGluZyddLAorICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiBzdHIo dXVpZC51dWlkNCgpKVsxOjhdLAorICAgICAgICAgICAgICAgICAgICAgInBy aXZpbGVnZXMiOiBhZHZhbmNlX2NvbmZpZ19kYXRhCisgICAgICAgICAgICAg ICAgICAgICBbJ3Rlc3RfYWRkX2RhdGFiYXNlX2RhdGEnXVsndGVzdF9wcml2 aWxlZ2VzJ10sCisgICAgICAgICAgICAgICAgICAgICAic2VjdXJpdGllcyI6 IGFkdmFuY2VfY29uZmlnX2RhdGEKKyAgICAgICAgICAgICAgICAgICAgIFsn dGVzdF9hZGRfZGF0YWJhc2VfZGF0YSddWyd0ZXN0X3NlY3VyaXRpZXMnXSwK KyAgICAgICAgICAgICAgICAgICAgICJ2YXJpYWJsZXMiOiBhZHZhbmNlX2Nv bmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfYWRkX2Rh dGFiYXNlX2RhdGEnXVsndGVzdF92YXJpYWJsZXMnXQorICAgICAgICAgICAg ICAgICAgICB9CisKKyAgICAgICAgICAgIGRiX3Jlc3BvbnNlID0gc2VsZi50 ZXN0ZXIucG9zdChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICIvIiArCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vy dmVyX2lkICsgIi8iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5 cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgICAgIHByaW50KCJcbkRhdGFi YXNlIFJlc3BvbnNlIGFmdGVyIEFkZGl0aW9uLi4uLi4uLi4uIikKKyAgICAg ICAgICAgIHByaW50KGRiX3Jlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAg ICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkYl9yZXNwb25zZS5zdGF0dXNf Y29kZSwgMjAwKQorCisgICAgICAgICAgICByZXNwZGF0YSA9IGpzb24ubG9h ZHMoZGJfcmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICAgICAg ZGJfaWQgPSByZXNwZGF0YVsnbm9kZSddWydfaWQnXQorCisgICAgICAgICAg ICBpZiBvcy5wYXRoLmlzZmlsZShwaWNrbGVfcGF0aCk6CisKKyAgICAgICAg ICAgICAgICBleHN0X3NlcnZlcl9pZCA9IG9wZW4ocGlja2xlX3BhdGgsICdy YicpCisKKyAgICAgICAgICAgICAgICB0b2xfc2VydmVyX2lkID0gcGlja2xl LmxvYWQoZXhzdF9zZXJ2ZXJfaWQpCisgICAgICAgICAgICAgICAgcGlja2xl X2lkX2RpY3QgPSB0b2xfc2VydmVyX2lkCisKKyAgICAgICAgICAgICAgICBw aWNrbGVfaWRfZGljdFsiZGlkIl0uYXBwZW5kKGRiX2lkKQorICAgICAgICAg ICAgICAgIHByaW50KCJcbkRhdGFiYXNlIGlkIGFkZGluZyBpbnRvIHBpY2ts ZToiLAorICAgICAgICAgICAgICAgICAgICAgIHBpY2tsZV9pZF9kaWN0WyJk aWQiXVswXSkKKworICAgICAgICAgICAgICAgIGRiX291dHB1dCA9IG9wZW4o cGlja2xlX3BhdGgsICd3YicpCisgICAgICAgICAgICAgICAgcGlja2xlLmR1 bXAocGlja2xlX2lkX2RpY3QsIGRiX291dHB1dCkKKyAgICAgICAgICAgICAg ICBkYl9vdXRwdXQuY2xvc2UoKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Rlc3Rz L3Rlc3RfZGJfZ2V0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3Rlc3RfZGJfZ2V0LnB5 Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5Zjc4NzcK LS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVzdHMvdGVzdF9kYl9nZXQu cHkKQEAgLTAsMCArMSw0OCBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor IworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHly aWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50 IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUg UG9zdGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworCitmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0 YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBv cnQgTG9naW5UZXN0Q2FzZQorZnJvbSByZWdyZXNzaW9uLnRlc3Rfbm9kZXMg aW1wb3J0IHRlc3RfZ2V0bm9kZXMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0 aWxzIGltcG9ydCBnZXRfaWRzCisKKworY2xhc3MgRGF0YWJhc2VzR2V0VGVz dENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIiCisgICAgVGhpcyBjbGFz cyB3aWxsIGZldGNoIGFkZGVkIGRhdGFiYXNlIHVuZGVyIHNlcnZlciBub2Rl LgorICAgICIiIgorICAgIHByaW9yaXR5ID0gOAorCisgICAgc2NlbmFyaW9z ID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciBkYXRh YmFzZSBub2RlLgorICAgICAgICAoJ0NoZWNrIERhdGFiYXNlcyBOb2RlIFVS TCcsIGRpY3QodXJsPScvYnJvd3Nlci9kYXRhYmFzZS9vYmovJykpCisgICAg XQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlz IGZ1bmN0aW9uIHdpbGwgZmV0Y2ggYWRkZWQgZGF0YWJhc2UuICIiIgorCisg ICAgICAgIGFsbF9pZCA9IGdldF9pZHMoKQorICAgICAgICBzZXJ2ZXJfaWQg PSBhbGxfaWRbInNpZCJdWzBdCisgICAgICAgIGRiX2lkID0gYWxsX2lkWyJk aWQiXVswXQorICAgICAgICBwcmludCgnXG4nKQorICAgICAgICBwcmludCgi ZGIgaWQgaW4gZ2V0IGRhdGFiYXNlIGZyb20gcGlja2xlOiIsIGRiX2lkKQor CisgICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJf Z3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9kZXMobm9k ZT1zZWxmKQorCisgICAgICAgIGlmIGRiX2NvblsnZGF0YSddWyJjb25uZWN0 ZWQiXToKKworICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5n ZXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkg KyAnLycgKyBzdHIoZGJfaWQpLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQorICAgICAg ICAgICAgcHJpbnQoJ1xuJykKKyAgICAgICAgICAgIHByaW50KCJkYXRhYmFz ZSBnZXQgcmVzcG9uc2UiLCByZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisg ICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhyZXNwb25zZS5zdGF0dXNf Y29kZSwgMjAwKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3Rlc3RfZGJf cHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3Rlc3RfZGJfcHV0LnB5Cm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5OTMzOTAKLS0tIC9kZXYv bnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvdGVzdHMvdGVzdF9kYl9wdXQucHkKQEAgLTAs MCArMSw1NSBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0Fk bWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykg MjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMg VGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNR TCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmcm9t IHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YSwgIGFkdmFu Y2VfY29uZmlnX2RhdGEKK2Zyb20gcGdhZG1pbi5icm93c2VyLnRlc3RzLnRl c3RfbG9naW4gaW1wb3J0IExvZ2luVGVzdENhc2UKK2ltcG9ydCBqc29uCitm cm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcworZnJv bSByZWdyZXNzaW9uLnRlc3Rfbm9kZXMgaW1wb3J0IHRlc3RfZ2V0bm9kZXMK KworCitjbGFzcyBEYXRhYmFzZXNVcGRhdGVUZXN0Q2FzZShMb2dpblRlc3RD YXNlKToKKyAgICAiIiIKKyAgICBUaGlzIGNsYXNzIHdpbGwgdXBkYXRlIHRo ZSBkYXRhYmFzZSB1bmRlciBsYXN0IGFkZGVkIHNlcnZlci4KKyAgICAiIiIK KyAgICBwcmlvcml0eSA9IDkKKworICAgIHNjZW5hcmlvcyA9IFsKKyAgICAg ICAgIyBGZXRjaGluZyBkZWZhdWx0IFVSTCBmb3IgZGF0YWJhc2Ugbm9kZS4K KyAgICAgICAgKCdDaGVjayBEYXRhYmFzZXMgTm9kZScsIGRpY3QodXJsPScv YnJvd3Nlci9kYXRhYmFzZS9vYmovJykpCisgICAgXQorCisgICAgZGVmIHJ1 blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwg dXBkYXRlIHRoZSBjb21tZW50cyBmaWVsZCBvZiBkYXRhYmFzZS4iIiIKKwor ICAgICAgICBhbGxfaWQgPSBnZXRfaWRzKCkKKyAgICAgICAgc2VydmVyX2lk ID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsi ZGlkIl1bMF0KKyAgICAgICAgcHJpbnQoJ1xuJykKKyAgICAgICAgcHJpbnQo ImRiIGlkIGluIHVwZGF0ZSBkYXRhYmFzZSBmcm9tIHBpY2tsZToiLCBkYl9p ZCkKKworICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2Vy dmVyX2dyb3VwJ10KKworICAgICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVz KG5vZGU9c2VsZikKKworICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29u bmVjdGVkIl06CisKKyAgICAgICAgICAgIGRhdGEgPSB7CisgICAgICAgICAg ICAgICAgImNvbW1lbnRzIjogYWR2YW5jZV9jb25maWdfZGF0YVsidGVzdF9k Yl91cGRhdGVfZGF0YSJdCisgICAgICAgICAgICAgICAgWyJ0ZXN0X2NvbW1l bnQiXSwKKyAgICAgICAgICAgICAgICAiaWQiOiBkYl9pZAorICAgICAgICAg ICAgICAgICAgIH0KKworICAgICAgICAgICAgcHV0X3Jlc3BvbnNlID0gc2Vs Zi50ZXN0ZXIucHV0KHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgJy8nICsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHIoc2VydmVyX2lkKSArICcvJyArIHN0cihkYl9pZCksCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1qc29uLmR1 bXBzKGRhdGEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKyAgICAgICAgICAg IHByaW50KCJkYXRhYmFzZSBwdXQgcmVzcG9uc2UiLCBwdXRfcmVzcG9uc2Uu ZGF0YS5kZWNvZGUoKSkKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh bHMocHV0X3Jlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCmRpZmYgLS1naXQg YS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90 ZXN0cy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL19faW5pdF9fLnB5CmluZGV4IDI4Y2Ri OTQuLjRmZDIwNjYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL19faW5pdF9fLnB5CisrKyBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rl c3RzL19faW5pdF9fLnB5CkBAIC0xMiw0ICsxMiw0IEBAIGZyb20gcGdhZG1p bi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKIAogY2xh c3MgU2VydmVyR2VuZXJhdGVUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6 CiAgICAgZGVmIHJ1blRlc3Qoc2VsZik6Ci0gICAgICAgIHByaW50ICgiSW4g U2VydmVyR2VuZXJhdGVUZXN0Q2FzZS4uLiIpCisgICAgICAgIHJldHVybgpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJfYWRkLnB5IGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9z ZXJ2ZXJfYWRkLnB5CmluZGV4IDBhZjEzZDMuLjQ5OWMwYTAgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L3Rlc3RzL3Rlc3Rfc2VydmVyX2FkZC5weQorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZl cl9hZGQucHkKQEAgLTgsMTYgKzgsMTQgQEAKICMgIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKIAogaW1wb3J0IGpzb24KLQoraW1wb3J0IHBpY2ts ZQoraW1wb3J0IG9zCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50ZXN0 X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNlCi1mcm9tIHJlZ3Jlc3Npb24u Y29uZmlnIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSByZWdyZXNzaW9uLmNv bmZpZyBpbXBvcnQgY29uZmlnX2RhdGEsIHBpY2tsZV9wYXRoCiAKIAogY2xh c3MgU2VydmVyc0FkZFRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgotICAgICIi IgotICAgIFRoaXMgY2xhc3Mgd2lsbCBhZGQgdGhlIHNlcnZlcnMgdW5kZXIg ZGVmYXVsdCBzZXJ2ZXIgZ3JvdXAgYW5kIHZlcmlmeSB3aXRoCi0gICAgc2Vy dmVyJ3MgbmFtZS4KLSAgICAiIiIKKyAgICAiIiIgVGhpcyBjbGFzcyB3aWxs IGFkZCB0aGUgc2VydmVycyB1bmRlciBkZWZhdWx0IHNlcnZlciBncm91cC4g IiIiCiAKICAgICBwcmlvcml0eSA9IDQKIApAQCAtMjcsMTQgKzI1LDE5IEBA IGNsYXNzIFNlcnZlcnNBZGRUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKICAg ICBdCiAKICAgICBkZWYgcnVuVGVzdChzZWxmKToKLSAgICAgICAgIiIiCi0g ICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgdGhlIHNlcnZlciB1bmRl ciBkZWZhdWx0IHNlcnZlciBncm91cC4KLSAgICAgICAgVmVyaWZ5IHRoZSBh ZGRlZCBzZXJ2ZXIgd2l0aCByZXNwb25zZSBjb2RlIGFzIHdlbGwgYXMgc2Vy dmVyIG5hbWUuCi0gICAgICAgICIiIgorICAgICAgICAiIiIgVGhpcyBmdW5j dGlvbiB3aWxsIGFkZCB0aGUgc2VydmVyIHVuZGVyIGRlZmF1bHQgc2VydmVy IGdyb3VwLiIiIgorCisgICAgICAgICMgU3RvcmluZyBwYXJlbnQgaWQncyBp bnRvIHBpY2tsZSBkaWN0CisgICAgICAgIHBpY2tsZV9pZF9kaWN0ID0gXAor ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJzaWQiOiBbXSwgICMg c2VydmVyCisgICAgICAgICAgICAgICAgImRpZCI6IFtdICAgIyBkYXRhYmFz ZQorICAgICAgICAgICAgfQogCiAgICAgICAgIHNydl9ncnAgPSBjb25maWdf ZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQogCiAgICAgICAgIGZvciBzcnYg aW4gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2NyZWRlbnRpYWxzJ106CisK ICAgICAgICAgICAgIGRhdGEgPSB7Im5hbWUiOiBzcnZbJ3Rlc3RfbmFtZSdd LAogICAgICAgICAgICAgICAgICAgICAiY29tbWVudCI6ICIiLAogICAgICAg ICAgICAgICAgICAgICAiaG9zdCI6IHNydlsndGVzdF9ob3N0J10sCkBAIC00 NCwxMCArNDcsMjIgQEAgY2xhc3MgU2VydmVyc0FkZFRlc3RDYXNlKExvZ2lu VGVzdENhc2UpOgogICAgICAgICAgICAgICAgICAgICAicm9sZSI6ICIiLAog ICAgICAgICAgICAgICAgICAgICAic3NsbW9kZSI6IHNydlsndGVzdF9zc2xt b2RlJ119CiAKLSAgICAgICAgICAgIHVybCA9IHNlbGYudXJsICsgc3RyKHNy dl9ncnApICsgIi8iCi0KLSAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50 ZXN0ZXIucG9zdCh1cmwsIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAgICAg ICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdChzZWxmLnVybCAr IHN0cihzcnZfZ3JwKSArICIvIiwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMoZGF0YSksCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90 eXBlPSdodG1sL2pzb24nKQorCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRy dWUocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKLSAgICAgICAgICAgIHJl c3BkYXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhKQotICAgICAgICAg ICAgc2VsZi5hc3NlcnRUcnVlKHJlc3BkYXRhWydub2RlJ11bJ2xhYmVsJ10s IHNydlsndGVzdF9uYW1lJ10pCisgICAgICAgICAgICByZXNwZGF0YSA9IGpz b24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICAg ICAgc2VydmVyX2lkID0gcmVzcGRhdGFbJ25vZGUnXVsnX2lkJ10KKworICAg ICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGlja2xlX3BhdGgpOgorICAg ICAgICAgICAgICAgIGV4c3Rfc2VydmVyX2lkID0gb3BlbihwaWNrbGVfcGF0 aCwgJ3JiJykKKyAgICAgICAgICAgICAgICBwaWNrbGVfaWRfZGljdCA9IHBp Y2tsZS5sb2FkKGV4c3Rfc2VydmVyX2lkKQorCisgICAgICAgICAgICBwaWNr bGVfaWRfZGljdFsic2lkIl0uYXBwZW5kKHNlcnZlcl9pZCkKKyAgICAgICAg ICAgIHByaW50KCJcblNlcnZlciBpZCBpbiBzZXJ2ZXIgYWRkIiwgcGlja2xl X2lkX2RpY3RbInNpZCJdWzBdKQorCisgICAgICAgICAgICBvdXRwdXQgPSBv cGVuKHBpY2tsZV9wYXRoLCAnd2InKQorICAgICAgICAgICAgcGlja2xlLmR1 bXAocGlja2xlX2lkX2RpY3QsIG91dHB1dCkKKyAgICAgICAgICAgIG91dHB1 dC5jbG9zZSgpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZlcl9kZWxldGUu cHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy90ZXN0cy90ZXN0X3NlcnZlcl9kZWxldGUucHkKaW5kZXggMzI5ZDc0Zi4u OTk3MzA4ZSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJfZGVsZXRlLnB5 CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL3Rlc3RzL3Rlc3Rfc2VydmVyX2RlbGV0ZS5weQpAQCAtOCwxNyArOCwx NCBAQAogIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAogaW1wb3J0IGpzb24K LQogZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBv cnQgTG9naW5UZXN0Q2FzZQogZnJvbSByZWdyZXNzaW9uLmNvbmZpZyBpbXBv cnQgY29uZmlnX2RhdGEKIAogCi1jbGFzcyBTZXJ2ZXJzRGVsZXRlVGVzdENh c2UoTG9naW5UZXN0Q2FzZSk6Ci0gICAgIiIiCi0gICAgVGhpcyBjbGFzcyB3 aWxsIGNoZWNrIHNlcnZlciBub2RlIHByZXNlbnQgb24gdGhlIG9iamVjdCBi cm93c2VyJ3MgdHJlZSBub2RlCi0gICAgYnkgcmVzcG9uc2UgY29kZS4KLSAg ICAiIiIKLSAgICBwcmlvcml0eSA9IDcKK2NsYXNzIFNlcnZlckRlbGV0ZVRl c3RDYXNlKExvZ2luVGVzdENhc2UpOgorICAgICIiIiBUaGlzIGNsYXNzIHdp bGwgZGVsZXRlIHRoZSBsYXN0IHNlcnZlciBwcmVzZW50IHVuZGVyIHRyZWUg bm9kZS4iIiIKKworICAgIHByaW9yaXR5ID0gOTkKIAogICAgIHNjZW5hcmlv cyA9IFsKICAgICAgICAgIyBGZXRjaGluZyB0aGUgZGVmYXVsdCB1cmwgZm9y IHNlcnZlciBub2RlCkBAIC0yNiwzMiArMjMsMjIgQEAgY2xhc3MgU2VydmVy c0RlbGV0ZVRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgogICAgIF0KIAogICAg IGRlZiBydW5UZXN0KHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGhp cyBmdW5jdGlvbiB3aWxsIGdldCBhbGwgYXZhaWxhYmxlIHNlcnZlcnMgdW5k ZXIgb2JqZWN0IGJyb3dzZXIKLSAgICAgICAgYW5kIGRlbGV0ZSB0aGUgc2Vy dmVycyB1c2luZyBzZXJ2ZXIgaWQuCi0gICAgICAgICIiIgorICAgICAgICAi IiIgVGhpcyBmdW5jdGlvbiB3aWxsIGdldCBhbGwgYXZhaWxhYmxlIHNlcnZl cnMgdW5kZXIgb2JqZWN0IGJyb3dzZXIKKyAgICAgICAgYW5kIGRlbGV0ZSB0 aGUgbGFzdCBzZXJ2ZXIgdXNpbmcgc2VydmVyIGlkLiIiIgogCiAgICAgICAg IHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQog Ci0gICAgICAgIGZvciBzcnYgaW4gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVy X2NyZWRlbnRpYWxzJ106Ci0KLSAgICAgICAgICAgIGRhdGEgPSB7Im5hbWUi OiBzcnZbJ3Rlc3RfbmFtZSddLAotICAgICAgICAgICAgICAgICAgICAiaG9z dCI6IHNydlsndGVzdF9ob3N0J10sCi0gICAgICAgICAgICAgICAgICAgICJw b3J0Ijogc3J2Wyd0ZXN0X2RiX3BvcnQnXSwKLSAgICAgICAgICAgICAgICAg ICAgImRiIjogc3J2Wyd0ZXN0X21haW50ZW5hbmNlX2RiJ10sCi0gICAgICAg ICAgICAgICAgICAgICJ1c2VybmFtZSI6IHNydlsndGVzdF9kYl91c2VybmFt ZSddLAotICAgICAgICAgICAgICAgICAgICAicm9sZSI6ICIiLAotICAgICAg ICAgICAgICAgICAgICAic3NsbW9kZSI6IHNydlsndGVzdF9zc2xtb2RlJ119 CisgICAgICAgIHVybCA9IHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgIi8i CiAKLSAgICAgICAgICAgIHVybCA9IHNlbGYudXJsICsgc3RyKHNydl9ncnAp ICsgIi8iCisgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KHVy bCkKKyAgICAgICAgcmVzcGRhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRh dGEuZGVjb2RlKCkpCiAKLSAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50 ZXN0ZXIuZ2V0KHVybCwgZGF0YT1qc29uLmR1bXBzKGRhdGEpLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBl PSdodG1sL2pzb24nKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJl c3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCi0gICAgICAgICAgICByZXNwZGF0 YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YSkKKyAgICAgICAgaWYgbGVu KHJlc3BkYXRhKSA9PSAwOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9u KCJObyBzZXJ2ZXIocykgdG8gZGVsZXRlLiIpCiAKLSAgICAgICAgICAgIGZv ciBzZXJ2ZXIgaW4gcmVzcGRhdGE6Ci0gICAgICAgICAgICAgICAgcmVzcG9u c2UgPSBzZWxmLnRlc3Rlci5kZWxldGUodXJsICsganNvbi5kdW1wcyhzZXJ2 ZXJbJ2lkJ10pKQotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShy ZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQotICAgICAgICAgICAgICAgIHJl c3BkYXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhKQotICAgICAgICAg ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNwZGF0YVsnc3VjY2VzcyddLCAx KQorICAgICAgICAjIGRlbGV0ZSBsYXN0IHNlcnZlcgorICAgICAgICBzZXJ2 ZXIgPSByZXNwZGF0YVstMV0KKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRl c3Rlci5kZWxldGUodXJsICsgc3RyKHNlcnZlclsnaWQnXSkpCisgICAgICAg IHNlbGYuYXNzZXJ0VHJ1ZShyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQor ICAgICAgICByZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5k ZWNvZGUoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3BkYXRhWydz dWNjZXNzJ10sIDEpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZlcl9nZXQu cHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy90ZXN0cy90ZXN0X3NlcnZlcl9nZXQucHkKaW5kZXggMDUwODQzZS4uMTYz ZmVmMyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJfZ2V0LnB5CisrKyBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rl c3RzL3Rlc3Rfc2VydmVyX2dldC5weQpAQCAtNywxNSArNywxNCBAQAogIwog IyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCi1pbXBvcnQganNv bgotCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGlt cG9ydCBMb2dpblRlc3RDYXNlCiBmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGlt cG9ydCBjb25maWdfZGF0YQorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMg aW1wb3J0IGdldF9pZHMKIAogCiBjbGFzcyBTZXJ2ZXJzR2V0VGVzdENhc2Uo TG9naW5UZXN0Q2FzZSk6CiAgICAgIiIiCi0gICAgVGhpcyBjbGFzcyB3aWxs IGNoZWNrIHNlcnZlciBub2RlIHByZXNlbnQgb24gdGhlIG9iamVjdCBicm93 c2VyJ3MgdHJlZSBub2RlCisgICAgVGhpcyBjbGFzcyB3aWxsIGZldGNoIGFk ZGVkIHNlcnZlcnMgdW5kZXIgZGVmYXVsdCBzZXJ2ZXIgZ3JvdXAKICAgICBi eSByZXNwb25zZSBjb2RlLgogICAgICIiIgogCkBAIC0yNywyMyArMjYsMTYg QEAgY2xhc3MgU2VydmVyc0dldFRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgog ICAgIF0KIAogICAgIGRlZiBydW5UZXN0KHNlbGYpOgotICAgICAgICAiIiIK LSAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIGdldCBhbGwgYXZhaWxhYmxl IHNlcnZlcnMgcHJlc2VudCB1bmRlcgotICAgICAgICBvYmplY3QgYnJvd3Nl ci4KLSAgICAgICAgIiIiCisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdp bGwgZmV0Y2ggdGhlIGFkZGVkIHNlcnZlcnMgdG8gb2JqZWN0IGJyb3dzZXIu ICIiIgogCisgICAgICAgIGFsbF9pZCA9IGdldF9pZHMoKQorICAgICAgICBz ZXJ2ZXJfaWQgPSBhbGxfaWRbInNpZCJdCiAgICAgICAgIHNydl9ncnAgPSBj b25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQogCi0gICAgICAgIGZv ciBzcnYgaW4gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2NyZWRlbnRpYWxz J106Ci0gICAgICAgICAgICBkYXRhID0geyJuYW1lIjogc3J2Wyd0ZXN0X25h bWUnXSwKLSAgICAgICAgICAgICAgICAgICAgImhvc3QiOiBzcnZbJ3Rlc3Rf aG9zdCddLAotICAgICAgICAgICAgICAgICAgICAicG9ydCI6IHNydlsndGVz dF9kYl9wb3J0J10sCi0gICAgICAgICAgICAgICAgICAgICJkYiI6IHNydlsn dGVzdF9tYWludGVuYW5jZV9kYiddLAotICAgICAgICAgICAgICAgICAgICAi dXNlcm5hbWUiOiBzcnZbJ3Rlc3RfZGJfdXNlcm5hbWUnXSwKLSAgICAgICAg ICAgICAgICAgICAgInJvbGUiOiAiIiwKLSAgICAgICAgICAgICAgICAgICAg InNzbG1vZGUiOiBzcnZbJ3Rlc3Rfc3NsbW9kZSddfQotCi0gICAgICAgICAg ICB1cmwgPSBzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICIvIgotICAgICAg ICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQodXJsLCBkYXRhPWpz b24uZHVtcHMoZGF0YSksCisgICAgICAgIGZvciBzcnYgaW4gc2VydmVyX2lk OgorCisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldChz ZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc3J2KSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0n aHRtbC9qc29uJykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNw b25zZS5zdGF0dXNfY29kZSwgMjAwKQorCisgICAgICAgICAgICBzZWxmLmFz c2VydEVxdWFscyhyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvdGVzdHMvdGVzdF9zZXJ2ZXJfcHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJf cHV0LnB5CmluZGV4IDMwNmJiMDMuLjM1ZDdjMDMgMTAwNjQ0Ci0tLSBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3Rz L3Rlc3Rfc2VydmVyX3B1dC5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZlcl9wdXQu cHkKQEAgLTgsMTYgKzgsMTMgQEAKICMgIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKIAogaW1wb3J0IGpzb24KLQogZnJvbSBwZ2FkbWluLmJyb3dz ZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0Q2FzZQogZnJv bSByZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20g cmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRfaWRzCiAKIAotY2xh c3MgU2VydmVyc1VwZGF0ZVRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgotICAg ICIiIgotICAgIFRoaXMgY2xhc3Mgd2lsbCBjaGVjayBzZXJ2ZXIgbm9kZSBw cmVzZW50IG9uIHRoZSBvYmplY3QgYnJvd3NlcidzIHRyZWUgbm9kZQotICAg IGJ5IHJlc3BvbnNlIGNvZGUuCi0gICAgIiIiCitjbGFzcyBTZXJ2ZXJVcGRh dGVUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKKyAgICAiIiIgVGhpcyBjbGFz cyB3aWxsIHVwZGF0ZSBzZXJ2ZXIncyBjb21tZW50IGZpZWxkLiAiIiIKIAog ICAgIHByaW9yaXR5ID0gNgogCkBAIC0yNywzOSArMjQsNDEgQEAgY2xhc3Mg U2VydmVyc1VwZGF0ZVRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgogICAgIF0K IAogICAgIGRlZiBydW5UZXN0KHNlbGYpOgotICAgICAgICAiIiIKLSAgICAg ICAgVGhpcyBmdW5jdGlvbiB3aWxsIGVkaXQgYW5kIHVwZGF0ZSB0aGUgc2Vy dmVyJ3MgY29tbWVudCBmaWVsZAotICAgICAgICBieSB0aGUgc2VydmVyIGlk LgotICAgICAgICAiIiIKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2ls bCB1cGRhdGUgdGhlIHNlcnZlcidzIGNvbW1lbnQgZmllbGQuICIiIgogCisg ICAgICAgIGFsbF9pZCA9IGdldF9pZHMoKQorICAgICAgICBzZXJ2ZXJfaWQg PSBhbGxfaWRbInNpZCJdWzBdCiAgICAgICAgIHNydl9ncnAgPSBjb25maWdf ZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQogCi0gICAgICAgIGZvciBzcnYg aW4gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2NyZWRlbnRpYWxzJ106Cisg ICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KHNlbGYudXJsICsg c3RyKHNydl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCksCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKIAot ICAgICAgICAgICAgZGF0YSA9IHsibmFtZSI6IHNydlsndGVzdF9uYW1lJ10s Ci0gICAgICAgICAgICAgICAgICAgICJob3N0Ijogc3J2Wyd0ZXN0X2hvc3Qn XSwKLSAgICAgICAgICAgICAgICAgICAgInBvcnQiOiBzcnZbJ3Rlc3RfZGJf cG9ydCddLAotICAgICAgICAgICAgICAgICAgICAiZGIiOiBzcnZbJ3Rlc3Rf bWFpbnRlbmFuY2VfZGInXSwKLSAgICAgICAgICAgICAgICAgICAgInVzZXJu YW1lIjogc3J2Wyd0ZXN0X2RiX3VzZXJuYW1lJ10sCi0gICAgICAgICAgICAg ICAgICAgICJyb2xlIjogIiIsCi0gICAgICAgICAgICAgICAgICAgICJzc2xt b2RlIjogc3J2Wyd0ZXN0X3NzbG1vZGUnXX0KKyAgICAgICAgY29uX3Jlc3Bv bnNlID0gc2VsZi50ZXN0ZXIucG9zdCgnYnJvd3Nlci9zZXJ2ZXIvY29ubmVj dC97MH0vezF9Jy5mb3JtYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoc3J2X2dycCwgc2VydmVyX2lkKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPWRpY3QocGFz c3dvcmQ9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9zZXJ2ZXJf Y3JlZGVudGlhbHMnXVswXQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfZGJfcGFzc3dvcmQnXSks CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9s bG93X3JlZGlyZWN0cz1UcnVlKQogCi0gICAgICAgICAgICB1cmwgPSBzZWxm LnVybCArIHN0cihzcnZfZ3JwKSArICIvIgorICAgICAgICBzcnZfY29uID0g anNvbi5sb2Fkcyhjb25fcmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKIAotICAg ICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQodXJsLCBkYXRh PWpzb24uZHVtcHMoZGF0YSksCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicpCisgICAg ICAgIGlmIGxlbihzcnZfY29uKSA9PSAwOgorICAgICAgICAgICAgcmFpc2Ug RXhjZXB0aW9uKCJObyBTZXJ2ZXIocykgY29ubmVjdGVkIHRvIHVwZGF0ZS4i KQogCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzcG9uc2Uuc3Rh dHVzX2NvZGUsIDIwMCkKLSAgICAgICAgICAgIHJlc3BkYXRhID0ganNvbi5s b2FkcyhyZXNwb25zZS5kYXRhKQorICAgICAgICBkYXRhID0gXAorICAgICAg ICAgICAgeworICAgICAgICAgICAgICAgICJjb21tZW50IjogY29uZmlnX2Rh dGEKKyAgICAgICAgICAgICAgICBbJ3Rlc3Rfc2VydmVyX3VwZGF0ZV9kYXRh J11bMF1bJ3Rlc3RfY29tbWVudCddLAorICAgICAgICAgICAgICAgICJpZCI6 IHNlcnZlcl9pZAorICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBmb3Ig c2VydmVyIGluIHJlc3BkYXRhOgorICAgICAgICBwdXRfcmVzcG9uc2UgPSBz ZWxmLnRlc3Rlci5wdXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycg KworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry KHNlcnZlcl9pZCksIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0n aHRtbC9qc29uJykKIAotICAgICAgICAgICAgICAgIHVybCA9IHNlbGYudXJs ICsgc3RyKHNydl9ncnApICsgIi8iICsganNvbi5kdW1wcyhzZXJ2ZXJbJ2lk J10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHB1dF9yZXNwb25zZS5z dGF0dXNfY29kZSwgMjAwKQogCi0gICAgICAgICAgICAgICAgZm9yIHNlcnZl ciBpbiBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfdXBkYXRlX2RhdGEnXToK LSAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHsiY29tbWVudCI6IHNlcnZl clsndGVzdF9jb21tZW50J119Ci0gICAgICAgICAgICAgICAgICAgIHJlc3Bv bnNlID0gc2VsZi50ZXN0ZXIucHV0KHVybCwgZGF0YT1qc29uLmR1bXBzKGRh dGEpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicpCi0gICAgICAgICAg ICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNwb25zZS5zdGF0dXNfY29k ZSwgMjAwKQotICAgICAgICAgICAgICAgICAgICByZXNwZGF0YSA9IGpzb24u bG9hZHMocmVzcG9uc2UuZGF0YSkKLSAgICAgICAgICAgICAgICAgICAgc2Vs Zi5hc3NlcnRUcnVlKHJlc3BkYXRhWydzdWNjZXNzJ10sIDEpCisgICAgICAg IHJlc3BkYXRhID0ganNvbi5sb2FkcyhwdXRfcmVzcG9uc2UuZGF0YS5kZWNv ZGUoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3BkYXRhWydzdWNj ZXNzJ10sIDEpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvdGVzdHMvdGVzdF9zZ19nZXQucHkgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvdGVzdHMvdGVzdF9zZ19nZXQucHkK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU1MmQ4ZQot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy90ZXN0cy90ZXN0X3NnX2dldC5weQpAQCAtMCwwICsxLDM2IEBA CisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1p biA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIw MTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRo aXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwg TGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisK K2ltcG9ydCBqc29uCitmcm9tIHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50ZXN0 X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNlCitmcm9tIHJlZ3Jlc3Npb24u Y29uZmlnIGltcG9ydCBjb25maWdfZGF0YQorCisKK2NsYXNzIFNnR2V0VGVz dENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIiCisgICAgIFRoaXMgY2xh c3Mgd2lsbCBjaGVjayBhdmFpbGFibGUgc2VydmVyIGdyb3VwcyBpbiBwZ0Fk bWluLgorICAgICIiIgorCisgICAgcHJpb3JpdHkgPSAzCisKKyAgICBzY2Vu YXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcgdGhlIGRlZmF1bHQgdXJs IGZvciBzZXJ2ZXIgZ3JvdXAgbm9kZQorICAgICAgICAoJ0NoZWNrIFNlcnZl ciBHcm91cCBOb2RlJywgZGljdCh1cmw9Jy9icm93c2VyL3NlcnZlci1ncm91 cC9vYmovJykpCisgICAgXQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6Cisg ICAgICAgICIiIlRoaXMgZnVuY3Rpb24gd2lsbCBjaGVjayBhdmFpbGFibGUg c2VydmVyIGdyb3Vwcy4iIiIKKworICAgICAgICBzcnZfZ3JwID0gY29uZmln X2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KKworICAgICAgICByZXNwb25z ZSA9IHNlbGYudGVzdGVyLmdldChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90 eXBlPSdodG1sL2pzb24nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhy ZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorICAgICAgICByZXNwZGF0YSA9 IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAg c2VsZi5hc3NlcnRUcnVlKHJlc3BkYXRhWydpZCddLCBzcnZfZ3JwKQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci90ZXN0cy9fX2luaXRfXy5w eSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvdGVzdHMvX19pbml0X18ucHkKaW5k ZXggMjM4MWVmZC4uNDQ3MDcxMSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4v YnJvd3Nlci90ZXN0cy9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3Rlc3RzL19faW5pdF9fLnB5CkBAIC0xMSw1ICsxMSw2IEBAIGZy b20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0 b3IKIAogCiBjbGFzcyBCcm93c2VyR2VuZXJhdGVUZXN0Q2FzZShCYXNlVGVz dEdlbmVyYXRvcik6CisKICAgICBkZWYgcnVuVGVzdChzZWxmKToKLSAgICAg ICAgcHJpbnQgKCJJbiBCcm93c2VyR2VuZXJhdGVUZXN0Q2FzZS4uLiIpCisg ICAgICAgIHJldHVybgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci90ZXN0cy90ZXN0X2NoYW5nZV9wYXNzd29yZC5weSBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvdGVzdHMvdGVzdF9jaGFuZ2VfcGFzc3dvcmQucHkKaW5kZXgg ZGVkYjdkOS4uNWM0OTMwZCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJv d3Nlci90ZXN0cy90ZXN0X2NoYW5nZV9wYXNzd29yZC5weQorKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3Rlc3RzL3Rlc3RfY2hhbmdlX3Bhc3N3b3JkLnB5 CkBAIC04NSwxMCArODUsMTAgQEAgY2xhc3MgQ2hhbmdlUGFzc3dvcmRUZXN0 Q2FzZShMb2dpblRlc3RDYXNlKToKICAgICAgICAgIiIiVGhpcyBmdW5jdGlv biB3aWxsIGNoZWNrIGNoYW5nZSBwYXNzd29yZCBmdW5jdGlvbmFsaXR5LiIi IgogCiAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KCcvY2hh bmdlJywgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQotICAgICAgICBzZWxmLmFz c2VydEluKCdwZ0FkbWluIDQgUGFzc3dvcmQgQ2hhbmdlJywgcmVzcG9uc2Uu ZGF0YSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigncGdBZG1pbiA0IFBhc3N3 b3JkIENoYW5nZScsIHJlc3BvbnNlLmRhdGEuZGVjb2RlKCd1dGY4JykpCiAg ICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdCgnL2NoYW5nZScs IGRhdGE9ZGljdCgKICAgICAgICAgICAgIHBhc3N3b3JkPXNlbGYucGFzc3dv cmQsCiAgICAgICAgICAgICBuZXdfcGFzc3dvcmQ9c2VsZi5uZXdfcGFzc3dv cmQsCiAgICAgICAgICAgICBuZXdfcGFzc3dvcmRfY29uZmlybT1zZWxmLm5l d19wYXNzd29yZF9jb25maXJtKSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKLSAgICAgICAg c2VsZi5hc3NlcnRJbihzZWxmLnJlc3BkYXRhLCByZXNwb25zZS5kYXRhKQor ICAgICAgICBzZWxmLmFzc2VydEluKHNlbGYucmVzcGRhdGEsIHJlc3BvbnNl LmRhdGEuZGVjb2RlKCd1dGY4JykpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9icm93c2VyL3Rlc3RzL3Rlc3RfbG9naW4ucHkgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3Rlc3RzL3Rlc3RfbG9naW4ucHkKaW5kZXggN2MyYjc5Ni4uZDI3 MmE2MyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci90ZXN0cy90 ZXN0X2xvZ2luLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvdGVzdHMv dGVzdF9sb2dpbi5weQpAQCAtOCw3ICs4LDYgQEAKICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCiAKIGltcG9ydCB1dWlkCi0KIGZyb20gcGdhZG1p bi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKIGZyb20g cmVncmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCiAKQEAgLTY3 LDcgKzY2LDkgQEAgY2xhc3MgTG9naW5UZXN0Q2FzZShCYXNlVGVzdEdlbmVy YXRvcik6CiAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X2xvZ2luX3VzZXJu YW1lJ10pLAogICAgICAgICAgICAgcGFzc3dvcmQ9KGNvbmZpZ19kYXRhWydw Z0FkbWluNF9sb2dpbl9jcmVkZW50aWFscyddCiAgICAgICAgICAgICAgICAg ICAgICAgWyd0ZXN0X2xvZ2luX3Bhc3N3b3JkJ10pLAotICAgICAgICAgICAg cmVzcGRhdGE9J1lvdSBhcmUgY3VycmVudGx5IHJ1bm5pbmcgdmVyc2lvbicp KQorICAgICAgICAgICAgcmVzcGRhdGE9J0dyYXZhdGFyIGltYWdlIGZvciAl cycgJQorICAgICAgICAgICAgICAgICAgICAgY29uZmlnX2RhdGFbJ3BnQWRt aW40X2xvZ2luX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICAgICAg IFsndGVzdF9sb2dpbl91c2VybmFtZSddKSkKICAgICBdCiAKICAgICBkZWYg cnVuVGVzdChzZWxmKToKQEAgLTc2LDQgKzc3LDQgQEAgY2xhc3MgTG9naW5U ZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgIHJlc3BvbnNl ID0gc2VsZi50ZXN0ZXIucG9zdCgnL2xvZ2luJywgZGF0YT1kaWN0KAogICAg ICAgICAgICAgZW1haWw9c2VsZi5lbWFpbCwgcGFzc3dvcmQ9c2VsZi5wYXNz d29yZCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm b2xsb3dfcmVkaXJlY3RzPVRydWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0SW4o c2VsZi5yZXNwZGF0YSwgcmVzcG9uc2UuZGF0YSkKKyAgICAgICAgc2VsZi5h c3NlcnRJbihzZWxmLnJlc3BkYXRhLCByZXNwb25zZS5kYXRhLmRlY29kZSgn dXRmOCcpKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci90ZXN0 cy90ZXN0X2xvZ291dC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvdGVzdHMv dGVzdF9sb2dvdXQucHkKaW5kZXggODk3MWU3Mi4uZDk2MTFhZSAxMDA2NDQK LS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci90ZXN0cy90ZXN0X2xvZ291dC5w eQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Rlc3RzL3Rlc3RfbG9nb3V0 LnB5CkBAIC0xNCwxNCArMTQsMTMgQEAgZnJvbSByZWdyZXNzaW9uLmNvbmZp ZyBpbXBvcnQgY29uZmlnX2RhdGEKIGNsYXNzIExvZ291dFRlc3QoTG9naW5U ZXN0Q2FzZSk6CiAgICAgIiIiCiAgICAgVGhpcyBjbGFzcyB2ZXJpZmllcyB0 aGUgbG9nb3V0IGZ1bmN0aW9uYWxpdHk7IHByb3ZpZGVkIHRoZSB1c2VyIGlz IGFscmVhZHkKLSAgICBsb2dnZWQtaW4uIERpY3Rpb25hcnkgcGFyYW1ldGVy cyBkZWZpbmUgdGhlIHNjZW5hcmlvIGFwcGVuZGVkIGJ5IHRlc3QKLSAgICBu YW1lLgorICAgIGxvZ2dlZC1pbi4KICAgICAiIiIKIAotICAgIHByaW9yaXR5 ID0gMworICAgIHByaW9yaXR5ID0gMTAwCiAKICAgICBzY2VuYXJpb3MgPSBb Ci0gICAgICAgICMgVGhpcyB0ZXN0IGNhc2UgdmFsaWRhdGUgdGhlIGxvZ291 dCBwYWdlCisgICAgICAgICMgVGhpcyB0ZXN0IGNhc2UgdmFsaWRhdGUgdGhl IGxvZ291dCBwYWdlLgogICAgICAgICAoJ0xvZ2dpbmcgT3V0JywgZGljdChy ZXNwZGF0YT0nUmVkaXJlY3RpbmcuLi4nKSkKICAgICBdCiAKQEAgLTI5LDcg KzI4LDcgQEAgY2xhc3MgTG9nb3V0VGVzdChMb2dpblRlc3RDYXNlKToKICAg ICAgICAgIiIiVGhpcyBmdW5jdGlvbiBjaGVja3MgdGhlIGxvZ291dCBmdW5j dGlvbmFsaXR5LiIiIgogCiAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0 ZXIuZ2V0KCcvbG9nb3V0JykKLSAgICAgICAgc2VsZi5hc3NlcnRJbihzZWxm LnJlc3BkYXRhLCByZXNwb25zZS5kYXRhKQorICAgICAgICBzZWxmLmFzc2Vy dEluKHNlbGYucmVzcGRhdGEsIHJlc3BvbnNlLmRhdGEuZGVjb2RlKCd1dGY4 JykpCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgICIiIgpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci90ZXN0cy90ZXN0X3Jl c2V0X3Bhc3N3b3JkLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci90ZXN0cy90 ZXN0X3Jlc2V0X3Bhc3N3b3JkLnB5CmluZGV4IDAzMGIxODIuLjMxYTM5OTIg MTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvdGVzdHMvdGVzdF9y ZXNldF9wYXNzd29yZC5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Rl c3RzL3Rlc3RfcmVzZXRfcGFzc3dvcmQucHkKQEAgLTQxLDggKzQxLDkgQEAg Y2xhc3MgUmVzZXRQYXNzd29yZFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9y KToKICAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiBjaGVja3MgcmVzZXQgcGFz c3dvcmQgZnVuY3Rpb25hbGl0eS4iIiIKIAogICAgICAgICByZXNwb25zZSA9 IHNlbGYudGVzdGVyLmdldCgnL3Jlc2V0JykKLSAgICAgICAgc2VsZi5hc3Nl cnRJbignUmVjb3ZlciBwZ0FkbWluIDQgUGFzc3dvcmQnLCByZXNwb25zZS5k YXRhKQorICAgICAgICBzZWxmLmFzc2VydEluKCdSZWNvdmVyIHBnQWRtaW4g NCBQYXNzd29yZCcsCisgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2Uu ZGF0YS5kZWNvZGUoJ3V0ZjgnKSkKICAgICAgICAgcmVzcG9uc2UgPSBzZWxm LnRlc3Rlci5wb3N0KAogICAgICAgICAgICAgJy9yZXNldCcsIGRhdGE9ZGlj dChlbWFpbD1zZWxmLmVtYWlsKSwKICAgICAgICAgICAgIGZvbGxvd19yZWRp cmVjdHM9VHJ1ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRJbihzZWxmLnJlc3Bk YXRhLCByZXNwb25zZS5kYXRhKQorICAgICAgICBzZWxmLmFzc2VydEluKHNl bGYucmVzcGRhdGEsIHJlc3BvbnNlLmRhdGEuZGVjb2RlKCd1dGY4JykpCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi91dGlscy9yb3V0ZS5weSBiL3dlYi9w Z2FkbWluL3V0aWxzL3JvdXRlLnB5CmluZGV4IGZiOWRlNjkuLmEyY2QxZWIg MTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3V0aWxzL3JvdXRlLnB5CisrKyBi L3dlYi9wZ2FkbWluL3V0aWxzL3JvdXRlLnB5CkBAIC01Miw4ICs1MiwxMCBA QCBjbGFzcyBUZXN0c0dlbmVyYXRvclJlZ2lzdHJ5KEFCQ01ldGEpOgogICAg ICAgICBmcm9tIHdlcmt6ZXVnLnV0aWxzIGltcG9ydCBmaW5kX21vZHVsZXMK IAogICAgICAgICBmb3IgbW9kdWxlX25hbWUgaW4gZmluZF9tb2R1bGVzKHBr ZywgRmFsc2UsIFRydWUpOgotICAgICAgICAgICAgbW9kdWxlID0gaW1wb3J0 X21vZHVsZShtb2R1bGVfbmFtZSkKLQorICAgICAgICAgICAgdHJ5OgorICAg ICAgICAgICAgICAgIG1vZHVsZSA9IGltcG9ydF9tb2R1bGUobW9kdWxlX25h bWUpCisgICAgICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAg ICAgICAgICAgcGFzcwogCiBpbXBvcnQgc2l4CiAKZGlmZiAtLWdpdCBhL3dl Yi9yZWdyZXNzaW9uL1JFQURNRSBiL3dlYi9yZWdyZXNzaW9uL1JFQURNRQpp bmRleCBlMDAwM2U0Li4wNzUxNjYxIDEwMDY0NAotLS0gYS93ZWIvcmVncmVz c2lvbi9SRUFETUUKKysrIGIvd2ViL3JlZ3Jlc3Npb24vUkVBRE1FCkBAIC00 MCwyMyArNDAsMjUgQEAgR2VuZXJhbCBJbmZvcm1hdGlvbgogICAgIDMuIHRl c3Rfc2VydmVyX2dldC5weQogICAgIDQuIHRlc3Rfc2VydmVyX3VwZGF0ZS5w eQogCi0yKSBUaGUgcGdBZG1pbjQgc291cmNlIHRyZWUgaW5jbHVkZXMgYSBm aWxlIHRlbXBsYXRlIGZvciB0aGUgc2VydmVyIGNvbmZpZ3VyYXRpb24KLSAg IG5hbWVkIOKAmHRlc3RfY29uZmlnLmpzb24uaW4nIGluIHRoZSDigJhwZ0Fk bWluNC93ZWIvcmVncmVzc2lvbuKAmSBkaXJlY3RvcnkuIEFmdGVyCi0gICBj b21wbGV0aW5nIHRoZSBwZ0FkbWluNCBjb25maWd1cmF0aW9uLCB5b3UgbXVz dCBtYWtlIGEgd29ya2luZyBjb3B5IG9mIHRoZQotICAgdGVtcGxhdGUgY2Fs bGVkIHRlc3RfY29uZmlnLmpzb24gYmVmb3JlIG1vZGlmeWluZyB0aGUgZmls ZSBjb250ZW50cy4KKzIpIFRoZSBwZ0FkbWluNCBzb3VyY2UgdHJlZSBpbmNs dWRlcyAyIGRpZmZlcmVudCBjb25maWd1cmF0aW9uIGZpbGUgdGVtcGxhdGVz LgorICAgT25lIGZpbGUgdGVtcGxhdGUgZm9yIHRoZSBzZXJ2ZXIgY29uZmln dXJhdGlvbiBuYW1lZCDigJh0ZXN0X2NvbmZpZy5qc29uLmluJworICAgYW5k IGFub3RoZXIgZm9yIHRlc3QgY29uZmlndXJhdGlvbiBuYW1lZCAndGVzdF9h ZHZhbmNlZF9jb25maWcuanNvbi5pbicgaW4KKyAgIHRoZSDigJhwZ0FkbWlu NC93ZWIvcmVncmVzc2lvbuKAmSBkaXJlY3RvcnkuIEFmdGVyIGNvbXBsZXRp bmcgdGhlIHBnQWRtaW40CisgICBjb25maWd1cmF0aW9uLCB5b3UgbXVzdCBt YWtlIGEgd29ya2luZyBjb3B5IG9mIHRoZSB0ZW1wbGF0ZXMgY2FsbGVkCisg ICB0ZXN0X2NvbmZpZy5qc29uIGFuZCB0ZXN0X2FkdmFuY2VfY29uZmlnLmpz b24gYmVmb3JlIG1vZGlmeWluZyB0aGUgZmlsZSBjb250ZW50cy4KIAogCTJh KSBUaGUgZm9sbG93aW5nIGNvbW1hbmQgY29waWVzIHRoZSB0ZXN0X2NvbmZp Zy5qc29uLmluIGZpbGUsIGNyZWF0aW5nIGEKLQkgICAgY29uZmlndXJhdGlv biBmaWxlIG5hbWVkIHRlc3RfY29uZmlnLmpzb24KKwkgICAgY29uZmlndXJh dGlvbiBmaWxlIG5hbWVkIHRlc3RfY29uZmlnLmpzb24gKHNhbWUgd2F5IHVz ZXIgY2FuIGNvcHkKKwkgICAgdGVzdF9hZHZhbmNlX2NvbmZpZy5qc29uLmlu IGZpbGUgaW50byB0ZXN0X2FkdmFuY2VfY29uZmlnLmpzb24pCiAKICAgICAg ICAgICAgICMgY3AgcGdhZG1pbjQvd2ViL3JlZ3Jlc3Npb24vdGVzdF9jb25m aWcuanNvbi5pbiBcCiAgICAgICAgICAgICAgIHBnYWRtaW40L3dlYi9yZWdy ZXNzaW9uL3Rlc3RfY29uZmlnLmpzb24KIAotCTJiKSBBZnRlciBjcmVhdGlu ZyB0aGUgc2VydmVyIGNvbmZpZ3VyYXRpb24gZmlsZSwgYWRkIChvciBtb2Rp ZnkpCi0JICAgIHBhcmFtZXRlciB2YWx1ZXMgYXMgcGVyIHJlcXVpcmVtZW50 cy4gVGhlIGNvbmZpZ3VyYXRpb24KLQkgICAgZmlsZXMgYXJlIG93bmVkIGJ5 IHJvb3QvdXNlci4gVGhlIHBnQWRtaW40IHJlZ3Jlc3Npb24gZnJhbWV3b3Jr IGV4cGVjdHMKLQkgICAgdG8gZmluZCB0aGUgZmlsZXMgaW4gdGhlICBkaXJl Y3RvcnkgJy88aW5zdGFsbGF0aW9uIGRpcj4vd2ViL3JlZ3Jlc3Npb24vJy4K LQkgICAgSWYgeW91IG1vdmUgdGhlIGZpbGUgdG8gYW5vdGhlciBsb2NhdGlv biwgeW91IG11c3QgY3JlYXRlIGEgc3ltYm9saWMgbGluawotCSAgICB0aGF0 IHNwZWNpZmllcyB0aGUgbmV3IGxvY2F0aW9uLgorCTJiKSBBZnRlciBjcmVh dGluZyB0aGUgc2VydmVyIGFuZCB0ZXN0IGNvbmZpZ3VyYXRpb24gZmlsZSwg YWRkIChvciBtb2RpZnkpCisJICAgIHBhcmFtZXRlciB2YWx1ZXMgYXMgcGVy IHJlcXVpcmVtZW50cy4gVGhlIHBnQWRtaW40IHJlZ3Jlc3Npb24gZnJhbWV3 b3JrCisJICAgIGV4cGVjdHMgdG8gZmluZCB0aGUgZmlsZXMgaW4gdGhlICBk aXJlY3RvcnkKKwkgICAgJy88aW5zdGFsbGF0aW9uIGRpcj4vd2ViL3JlZ3Jl c3Npb24vJy4gSWYgeW91IG1vdmUgdGhlIGZpbGUgdG8gYW5vdGhlcgorCSAg ICBsb2NhdGlvbiwgeW91IG11c3QgY3JlYXRlIGEgc3ltYm9saWMgbGluayB0 aGF0IHNwZWNpZmllcyB0aGUgbmV3IGxvY2F0aW9uLgogCiAJMmMpIFNwZWNp ZnlpbmcgU2VydmVyIENvbmZpZ3VyYXRpb24gZmlsZToKIApAQCAtNjQsNiAr NjYsMTMgQEAgR2VuZXJhbCBJbmZvcm1hdGlvbgogCSAgICBzZXJ2ZXIgZGV0 YWlscyBhbmQgY29ubmVjdGlvbiBwcm9wZXJ0aWVzIGFzIHBlciB0aGVpciBs b2NhbCBzZXR1cC4gVGhlCiAJICAgIHRlc3RfY29uZmlnIGZpbGUgaXMgaW4g anNvbiBmb3JtYXQgYW5kIHByb3BlcnR5IHZhbHVlcyBhcmUgY2FzZS1zZW5z aXRpdmUuCiAKKwkyZCkgU3BlY2lmeWluZyB0aGUgVGVzdCBDb25maWd1cmF0 aW9uIGZpbGU6CisKKwkgICAgVGhlIHVzZXIgY2FuIGFkZC9jaGFuZ2UgdGVz dCBkYXRhIGFzIHBlciB0aGVpciBuZWVkLiBUaGUKKwkgICAgdGVzdF9hZHZh bmNlZF9jb25maWcgZmlsZSBpcyBpbiBqc29uIGZvcm1hdCBhbmQgcHJvcGVy dHkgdmFsdWVzIGFyZQorCSAgICBjYXNlLXNlbnNpdGl2ZS4KKworCiBUZXN0 IERhdGEgRGV0YWlscwogLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0 IGEvd2ViL3JlZ3Jlc3Npb24vY29uZmlnLnB5IGIvd2ViL3JlZ3Jlc3Npb24v Y29uZmlnLnB5CmluZGV4IGJlZjY1ZmIuLmY0OGVhZGUgMTAwNjQ0Ci0tLSBh L3dlYi9yZWdyZXNzaW9uL2NvbmZpZy5weQorKysgYi93ZWIvcmVncmVzc2lv bi9jb25maWcucHkKQEAgLTE0LDMgKzE0LDggQEAgcm9vdCA9IG9zLnBhdGgu ZGlybmFtZShvcy5wYXRoLnJlYWxwYXRoKF9fZmlsZV9fKSkKIAogd2l0aCBv cGVuKHJvb3QgKyAnL3Rlc3RfY29uZmlnLmpzb24nKSBhcyBkYXRhX2ZpbGU6 CiAgICAgY29uZmlnX2RhdGEgPSBqc29uLmxvYWQoZGF0YV9maWxlKQorCit3 aXRoIG9wZW4ocm9vdCArICcvdGVzdF9hZHZhbmNlX2NvbmZpZy5qc29uJykg YXMgZGF0YV9maWxlOgorICAgIGFkdmFuY2VfY29uZmlnX2RhdGEgPSBqc29u LmxvYWQoZGF0YV9maWxlKQorCitwaWNrbGVfcGF0aCA9IG9zLnBhdGguam9p bihyb290LCAncGFyZW50X2lkLnBrbCcpCmRpZmYgLS1naXQgYS93ZWIvcmVn cmVzc2lvbi90ZXN0X2FkdmFuY2VfY29uZmlnLmpzb24uaW4gYi93ZWIvcmVn cmVzc2lvbi90ZXN0X2FkdmFuY2VfY29uZmlnLmpzb24uaW4KbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQxNTg3NgotLS0gL2Rldi9u dWxsCisrKyBiL3dlYi9yZWdyZXNzaW9uL3Rlc3RfYWR2YW5jZV9jb25maWcu anNvbi5pbgpAQCAtMCwwICsxLDEwMyBAQAoreworICAidGVzdF9hZGRfZGF0 YWJhc2VfZGF0YSI6CisgICB7CisgICAgInRlc3RfcHJpdmlsZWdlc19hY2wi OiBbCisgICAgICB7CisgICAgICAgICJncmFudGVlIjogInBvc3RncmVzIiwK KyAgICAgICAgImdyYW50b3IiOiAicG9zdGdyZXMiLAorICAgICAgICAicHJp dmlsZWdlcyI6IFsKKyAgICAgICAgICB7CisgICAgICAgICAgICAicHJpdmls ZWdlX3R5cGUiOiAiQyIsCisgICAgICAgICAgICAicHJpdmlsZWdlIjogdHJ1 ZSwKKyAgICAgICAgICAgICJ3aXRoX2dyYW50IjogdHJ1ZQorICAgICAgICAg IH0sCisgICAgICAgICAgeworICAgICAgICAgICAgInByaXZpbGVnZV90eXBl IjogIlQiLAorICAgICAgICAgICAgInByaXZpbGVnZSI6IHRydWUsCisgICAg ICAgICAgICAid2l0aF9ncmFudCI6IGZhbHNlCisgICAgICAgICAgfQorICAg ICAgICBdCisgICAgICB9CisgICAgXSwKKyAgICAidGVzdF9jb25uX2xpbWl0 IjogLTEsCisgICAgInRlc3Rfb3duZXIiOiAicG9zdGdyZXMiLAorICAgICJ0 ZXN0X2Z1bl9hY2wiOiBbCisgICAgICB7CisgICAgICAgICJncmFudGVlIjog InBvc3RncmVzIiwKKyAgICAgICAgImdyYW50b3IiOiAicG9zdGdyZXMiLAor ICAgICAgICAicHJpdmlsZWdlcyI6IFsKKyAgICAgICAgICB7CisgICAgICAg ICAgICAicHJpdmlsZWdlX3R5cGUiOiAiWCIsCisgICAgICAgICAgICAicHJp dmlsZWdlIjogdHJ1ZSwKKyAgICAgICAgICAgICJ3aXRoX2dyYW50IjogZmFs c2UKKyAgICAgICAgICB9CisgICAgICAgIF0KKyAgICAgIH0KKyAgICBdLAor ICAgICJ0ZXN0X3NlcV9hY2wiOiBbCisgICAgICB7CisgICAgICAgICJncmFu dGVlIjogInBvc3RncmVzIiwKKyAgICAgICAgImdyYW50b3IiOiAicG9zdGdy ZXMiLAorICAgICAgICAicHJpdmlsZWdlcyI6IFsKKyAgICAgICAgICB7Cisg ICAgICAgICAgICAicHJpdmlsZWdlX3R5cGUiOiAiciIsCisgICAgICAgICAg ICAicHJpdmlsZWdlIjogdHJ1ZSwKKyAgICAgICAgICAgICJ3aXRoX2dyYW50 IjogZmFsc2UKKyAgICAgICAgICB9LAorICAgICAgICAgIHsKKyAgICAgICAg ICAgICJwcml2aWxlZ2VfdHlwZSI6ICJ3IiwKKyAgICAgICAgICAgICJwcml2 aWxlZ2UiOiB0cnVlLAorICAgICAgICAgICAgIndpdGhfZ3JhbnQiOiBmYWxz ZQorICAgICAgICAgIH0sCisgICAgICAgICAgeworICAgICAgICAgICAgInBy aXZpbGVnZV90eXBlIjogIlUiLAorICAgICAgICAgICAgInByaXZpbGVnZSI6 IHRydWUsCisgICAgICAgICAgICAid2l0aF9ncmFudCI6IGZhbHNlCisgICAg ICAgICAgfQorICAgICAgICBdCisgICAgICB9CisgICAgXSwKKyAgICAidGVz dF90YmxfYWNsIjogWworICAgICAgeworICAgICAgICAiZ3JhbnRlZSI6ICJw b3N0Z3JlcyIsCisgICAgICAgICJncmFudG9yIjogInBvc3RncmVzIiwKKyAg ICAgICAgInByaXZpbGVnZXMiOiBbCisgICAgICAgICAgeworICAgICAgICAg ICAgInByaXZpbGVnZV90eXBlIjogImEiLAorICAgICAgICAgICAgInByaXZp bGVnZSI6IHRydWUsCisgICAgICAgICAgICAid2l0aF9ncmFudCI6IHRydWUK KyAgICAgICAgICB9LAorICAgICAgICAgIHsKKyAgICAgICAgICAgICJwcml2 aWxlZ2VfdHlwZSI6ICJyIiwKKyAgICAgICAgICAgICJwcml2aWxlZ2UiOiB0 cnVlLAorICAgICAgICAgICAgIndpdGhfZ3JhbnQiOiBmYWxzZQorICAgICAg ICAgIH0KKyAgICAgICAgXQorICAgICAgfQorICAgIF0sCisgICAgInRlc3Rf dHlwZV9hY2wiOiBbCisgICAgICB7CisgICAgICAgICJncmFudGVlIjogInBv c3RncmVzIiwKKyAgICAgICAgImdyYW50b3IiOiAicG9zdGdyZXMiLAorICAg ICAgICAicHJpdmlsZWdlcyI6IFsKKyAgICAgICAgICB7CisgICAgICAgICAg ICAicHJpdmlsZWdlX3R5cGUiOiAiVSIsCisgICAgICAgICAgICAicHJpdmls ZWdlIjogdHJ1ZSwKKyAgICAgICAgICAgICJ3aXRoX2dyYW50IjogZmFsc2UK KyAgICAgICAgICB9CisgICAgICAgIF0KKyAgICAgIH0KKyAgICBdLAorICAg ICJ0ZXN0X2VuY29kaW5nIjogIlVURjgiLAorICAgICJ0ZXN0X25hbWUiOiAi dGVzdF9kYl9hdXRvbWF0aW9uIiwKKyAgICAidGVzdF9wcml2aWxlZ2VzIjog W10sCisgICAgInRlc3Rfc2VjdXJpdGllcyI6IFtdLAorICAgICJ0ZXN0X3Zh cmlhYmxlcyI6IFtdCisgIH0sCisKKyAgInRlc3RfZGJfdXBkYXRlX2RhdGEi OgorICB7CisgICAgICAidGVzdF9jb21tZW50IjogIlRoaXMgaXMgZGIgdXBk YXRlIGNvbW1lbnQiCisgIH0KKworfQpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jl c3Npb24vdGVzdF9ub2Rlcy5weSBiL3dlYi9yZWdyZXNzaW9uL3Rlc3Rfbm9k ZXMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM2 MTdlNAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9yZWdyZXNzaW9uL3Rlc3Rf bm9kZXMucHkKQEAgLTAsMCArMSw1MiBAQAorIyAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisj IENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVs b3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRl ciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworCitmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25m aWdfZGF0YQoraW1wb3J0IGpzb24KK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0 aWxzIGltcG9ydCBnZXRfaWRzCisKKworZGVmIHRlc3RfZ2V0bm9kZXMobm9k ZT1Ob25lKToKKyAgICAjIENvbm5lY3QgdG8gc2VydmVyIGFuZCBkYXRhYmFz ZS4KKworICAgIGlmIG5vdCBub2RlOgorICAgICAgICByZXR1cm4gTm9uZQor CisgICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICBzZXJ2ZXJfaWQgPSBh bGxfaWRbInNpZCJdWzBdCisgICAgZGJfaWQgPSBhbGxfaWRbImRpZCJdWzBd CisgICAgcHJpbnQoIkRhdGFiYXNlIERldGFpbHMgRnJvbSBwaWNrbGU6IGlk IGluIHRlc3Qgbm9kZXM6IiwgZGJfaWQpCisKKyAgICBzcnZfZ3JwID0gY29u ZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KKworICAgICMgQ29ubmVj dCB0byBzZXJ2ZXIKKyAgICByZXNwb25zZSA9IG5vZGUudGVzdGVyLnBvc3Qo J2Jyb3dzZXIvc2VydmVyL2Nvbm5lY3QvezB9L3sxfScuZm9ybWF0CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzcnZfZ3JwLCBzZXJ2ZXJf aWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPWRp Y3QocGFzc3dvcmQ9Y29uZmlnX2RhdGEKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWyd0ZXN0X3NlcnZlcl9jcmVkZW50aWFscyddWzBdCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9kYl9wYXNz d29yZCddKSwgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQorICAgIHByaW50KCdc bicpCisgICAgcHJpbnQoIlNlcnZlciBDb25uZWN0aW9uIFJlc3BvbnNlIEFm dGVyIERhdGFiYXNlIEFkZGl0aW9uIGluIHRlc3Qgbm9kZXMiLAorICAgICAg ICAgIHJlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAjIENvbm5lY3Qg dG8gZGF0YWJhc2UKKyAgICBjb25fcmVzcG9uc2UgPSBub2RlLnRlc3Rlci5w b3N0KCdicm93c2VyL2RhdGFiYXNlL2Nvbm5lY3QvJworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ3swfS97MX0vezJ9Jy5mb3JtYXQK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzcnZfZ3Jw LCBzZXJ2ZXJfaWQsIGRiX2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKyAgICBwcmlu dCgnXG4nKQorICAgIHByaW50KCJEYXRhYmFzZSBDb25uZWN0aW9uIFJlc3Bv bnNlIEFmdGVyIERhdGFiYXNlIEFkZGl0aW9uIGluIHRlc3Qgbm9kZXMiLAor ICAgICAgICAgIGNvbl9yZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAg ZGJfY29uID0ganNvbi5sb2Fkcyhjb25fcmVzcG9uc2UuZGF0YS5kZWNvZGUo KSkKKworICAgIHByaW50KCJcbkRhdGFiYXNlIENvbm5lY3Rpb24gUmVzcG9u c2UgaW4gdGVzdCBub2RlcyIsIGRiX2NvbikKKworICAgIHJldHVybiBkYl9j b24KZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL3Rlc3RfdXRpbHMucHkg Yi93ZWIvcmVncmVzc2lvbi90ZXN0X3V0aWxzLnB5Cm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2ODc0NGYKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcmVncmVzc2lvbi90ZXN0X3V0aWxzLnB5CkBAIC0wLDAgKzEs MjAgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0 IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMg LSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMg c29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGlj ZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworaW1wb3J0IHBp Y2tsZQorZnJvbSByZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgcGlja2xlX3Bh dGgKKworCitkZWYgZ2V0X2lkcyh1cmw9cGlja2xlX3BhdGgpOgorICAgICMg VGhpcyBmdW5jdGlvbiB3aWxsIHJlYWQgcGFyZW50IG5vZGVzIGlkJ3MgZnJv bSBwaWNrbGUgYW5kIHJldHVybiBpdC4KKworICAgIG91dHB1dCA9IG9wZW4o dXJsLCAncmInKQorICAgIGlkcyA9IHBpY2tsZS5sb2FkKG91dHB1dCkKKyAg ICBvdXRwdXQuY2xvc2UoKQorICAgIHJldHVybiBpZHMKZGlmZiAtLWdpdCBh L3dlYi9yZWdyZXNzaW9uL3Rlc3RzdWl0ZS5weSBiL3dlYi9yZWdyZXNzaW9u L3Rlc3RzdWl0ZS5weQppbmRleCA3NWQ0MzdiLi5lOGRkNTg2IDEwMDY0NAot LS0gYS93ZWIvcmVncmVzc2lvbi90ZXN0c3VpdGUucHkKKysrIGIvd2ViL3Jl Z3Jlc3Npb24vdGVzdHN1aXRlLnB5CkBAIC0xMyw3ICsxMyw4IEBAIHRoZW0g dG8gVGVzdFN1aXRlLiAiIiIKIGltcG9ydCBvcwogaW1wb3J0IHN5cwogaW1w b3J0IHVuaXR0ZXN0Ci0KK2ltcG9ydCBvcGVyYXRvcgoraW1wb3J0IGxvZ2dp bmcKIGZyb20gdGVzdHNjZW5hcmlvcy5zY2VuYXJpb3MgaW1wb3J0IGdlbmVy YXRlX3NjZW5hcmlvcwogCiAjIFdlIG5lZWQgdG8gaW5jbHVkZSB0aGUgcm9v dCBkaXJlY3RvcnkgaW4gc3lzLnBhdGggdG8gZW5zdXJlIHRoYXQgd2UgY2Fu CkBAIC01MSw2ICs1MiwyMSBAQCBUZXN0c0dlbmVyYXRvclJlZ2lzdHJ5Lmxv YWRfZ2VuZXJhdG9ycygncGdhZG1pbicpCiAjIGFwcGxpY2F0aW9uLiBXZSBj YW4gdHJpZ2dlciB0ZXN0IHJlcXVlc3QgdG8gdGhlIGFwcGxpY2F0aW9uLgog dGVzdF9jbGllbnQgPSBhcHAudGVzdF9jbGllbnQoKQogCitjbGFzcyBTdHJl YW1Ub0xvZ2dlcihvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBs b2dnZXIsIGxvZ19sZXZlbD1sb2dnaW5nLklORk8pOgorICAgICAgICBzZWxm LnRlcm1pbmFsID0gc3lzLnN0ZGVycgorICAgICAgICBzZWxmLmxvZ2dlciA9 IGxvZ2dlcgorICAgICAgICBzZWxmLmxvZ19sZXZlbCA9IGxvZ19sZXZlbAor ICAgICAgICBzZWxmLmxpbmVidWYgPSAnJworCisgICAgZGVmIHdyaXRlKHNl bGYsIGJ1Zik6CisgICAgICAgIHNlbGYudGVybWluYWwud3JpdGUoYnVmKQor ICAgICAgICBmb3IgbGluZSBpbiBidWYucnN0cmlwKCkuc3BsaXRsaW5lcygp OgorICAgICAgICAgICAgc2VsZi5sb2dnZXIubG9nKHNlbGYubG9nX2xldmVs LCBsaW5lLnJzdHJpcCgpKQorCisgICAgZGVmIGZsdXNoKHNlbGYpOgorICAg ICAgICBwYXNzCisKIAogZGVmIHN1aXRlKCk6CiAgICAgIiIiIERlZmluaW5n IHRlc3Qgc3VpdGUgd2hpY2ggd2lsbCBleGVjdXRlIGFsbCB0aGUgdGVzdGNh c2VzIHByZXNlbnQgaW4KQEAgLTY1LDYgKzgxLDggQEAgZGVmIHN1aXRlKCk6 CiAKICAgICAgICAgbW9kdWxlcy5pbnNlcnQoZ2VuLnByaW9yaXR5LCBnZW4p CiAKKyAgICBtb2R1bGVzLnNvcnQoa2V5PW9wZXJhdG9yLmF0dHJnZXR0ZXIo J3ByaW9yaXR5JykpCisKICAgICBmb3IgbSBpbiBtb2R1bGVzOgogICAgICAg ICBvYmogPSBtKCkKICAgICAgICAgb2JqLnNldFRlc3RDbGllbnQodGVzdF9j bGllbnQpCkBAIC03NSw1ICs5MywyNCBAQCBkZWYgc3VpdGUoKToKIAogCiBp ZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorCisgICAgbG9nZ2luZy5iYXNp Y0NvbmZpZyhsZXZlbD1sb2dnaW5nLkRFQlVHLAorICAgICAgICAgICAgICAg ICAgICAgICAgZm9ybWF0PSclKGFzY3RpbWUpczolKGxldmVsbmFtZSlzOiUo bmFtZSlzOiUobWVzc2FnZSlzJywKKyAgICAgICAgICAgICAgICAgICAgICAg IGZpbGVuYW1lPSJsb2dnZXIubG9nIiwKKyAgICAgICAgICAgICAgICAgICAg ICAgIGZpbGVtb2RlPSd3JykKKworICAgIHN0ZGVycl9sb2dnZXIgPSBsb2dn aW5nLmdldExvZ2dlcignU1RERVJSJykKKyAgICBzbCA9IFN0cmVhbVRvTG9n Z2VyKHN0ZGVycl9sb2dnZXIsIGxvZ2dpbmcuRVJST1IpCisgICAgc3lzLnN0 ZGVyciA9IHNsCisKICAgICBzdWl0ZSA9IHN1aXRlKCkKLSAgICB0ZXN0cyA9 IHVuaXR0ZXN0LlRleHRUZXN0UnVubmVyKGRlc2NyaXB0aW9ucz1UcnVlLCB2 ZXJib3NpdHk9MikucnVuKHN1aXRlKQorICAgIHRlc3RzID0gdW5pdHRlc3Qu VGV4dFRlc3RSdW5uZXIoZGVzY3JpcHRpb25zPVRydWUsIHZlcmJvc2l0eT0y LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFt PXN5cy5zdGRlcnIpLnJ1bihzdWl0ZSkKKworICAgIHByaW50KCJQbGVhc2Ug Y2hlY2sgb3V0cHV0IGluIGZpbGU6IGxvZ2dlci5sb2cgcGxhY2VkIGF0Iiwg Y3VycmVudF9wYXRoKQorCisgICAgdHJ5OgorICAgICAgICBvcy5yZW1vdmUo InBhcmVudF9pZC5wa2wiKQorCisgICAgZXhjZXB0IElPRXJyb3I6CisgICAg ICAgIHBhc3MK --001a11394dbe70bc580537971fce 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 --001a11394dbe70bc580537971fce--