Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d8SCz-0003Eo-GB for pgadmin-hackers@arkaria.postgresql.org; Wed, 10 May 2017 14:03:17 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1d8SCy-0001od-Ua for pgadmin-hackers@arkaria.postgresql.org; Wed, 10 May 2017 14:03:16 +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 1d8SCh-0001No-C3 for pgadmin-hackers@postgresql.org; Wed, 10 May 2017 14:02:59 +0000 Received: from mail-wr0-x230.google.com ([2a00:1450:400c:c0c::230]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1d8SCd-0007PX-Cy for pgadmin-hackers@postgresql.org; Wed, 10 May 2017 14:02:57 +0000 Received: by mail-wr0-x230.google.com with SMTP id w50so45671081wrc.0 for ; Wed, 10 May 2017 07:02:55 -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=e0PthN5u8QG9bZMPkMrPjpkTtXVEApeoIQodvzJptNY=; b=JhoQSW5YNa6ocbzjJkinnAsToP+qt+O32PHZ7OULIXpdK9sRsU4SoD8pLFQOPKnv9R ln/LzvNAjn9GXZnFwHU5gtktNiibZ8m2PIUy0eWRh6IxFaHG8ZM3o3EeE3KLD/Tpm8G0 TyUiOVpi7UF9FgEpXOKu01lRWfIYRC1boi17t1drnLcwC0sv1JkM9UpkBahLzsevqjZN JzA3xVyY3j22Eh0ESwD9zPFapxL6SybfbsIlhoapnFRlp0100svDz/sOPsCY6N0wKfQP Ax51SwBlul5JluDRPW9z3tc9iPgPf7QUg6rC8FF9WfbfZSb7B11i6pxMjIpzcNVOcMam PSRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=e0PthN5u8QG9bZMPkMrPjpkTtXVEApeoIQodvzJptNY=; b=myL9pznrhTG6i3lS4CMth2/jTU7+oJdAsST0FNFtSBF5BR/NoVimLPivVeJvN9oha7 SlgYsgKm+yBxFT1p5dNrGveqdBAkltrTfmuB5qIhxGU/JG0eiAm2W/j/2uH861i1RrK6 5/7T2DheQzvezeaqPNL5qAc7ZhVBwALKKsCSThB4WAOOC7u8s0/HRwcY2PXf0hJGrwdf T3TIyeVV/Kb98+cA4o4GkHwNXCCi30tz3UqrOt1Tq2TWvuoSCC1soE3B5/hj8JJu0G+/ /S8jHTOf4XcDitb08Ya8ZofABO5tonOunVB73ZUE5+VyOB4JjlRARGMQweNdDGsX/SUx SBUQ== X-Gm-Message-State: AODbwcCLUb/5i/1SWmMe+ck+PWUwLlbJPpobTNIrmqLxGQASEJ9CmtS3 39gvk68HuFbR/uLwC1aAmSUXLY4OtkgB X-Received: by 10.223.136.235 with SMTP id g40mr4246678wrg.107.1494424973502; Wed, 10 May 2017 07:02:53 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.19.138 with HTTP; Wed, 10 May 2017 07:02:22 -0700 (PDT) In-Reply-To: References: From: Surinder Kumar Date: Wed, 10 May 2017 19:32:22 +0530 Message-ID: Subject: Re: [pgAdmin4][Patch][RM2257]: Query tool - Insert row doesn't use default values To: Dave Page Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary=001a11498cd4b0fb98054f2bed05 X-Pg-Spam-Score: -1.9 (-) 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 --001a11498cd4b0fb98054f2bed05 Content-Type: multipart/alternative; boundary=001a11498cd4b0fb93054f2bed03 --001a11498cd4b0fb93054f2bed03 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Dave, Please find attached patch for Feature test cases for RM_2257 *Implementation detail:* - Added a test_data.json file which contains Insert and Update test related input data - First of all, we create three tables such as a) defaults_text b) defaults_boolean c) defaults_number d) defaults_json These tables has columns with different constraints (default value, not_null etc) to test with various input test data. - Test cases for insert are executed first and then test cases for update. Please review the patch. On Wed, May 10, 2017 at 2:22 PM, Surinder Kumar < surinder.kumar@enterprisedb.com> wrote: > Hi Dave, > > Please find attached patch for RM only. > > *Changes:* > > - All formatters now handles both [null] and [default] values > > - the cell values are validated on server side as in pgAdmin3. > > - added light grey color for cells with [null] and [default] placeholder= s. > > On Wed, May 10, 2017 at 2:12 PM, Dave Page wrote: > >> >> >> On Wed, May 10, 2017 at 9:39 AM, Surinder Kumar < >> surinder.kumar@enterprisedb.com> wrote: >> >>> Hi Dave, >>> >>> On Wed, May 10, 2017 at 2:06 PM, Dave Page wrote: >>> >>>> Any chance we can get this wrapped up today Surinder? >>>> >>> =E2=80=8BI have fixed RM case, I am currently writing its feature test = cases >>> which is taking some time. >>> Should I send patch for RM case only?=E2=80=8B I will try to complete t= est cases >>> by today eod. >>> >> >> Yes please. >> >> Thanks! >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > > --001a11498cd4b0fb93054f2bed03 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi = Dave,

Please find attache= d patch for Feature test cases for RM_2257

Implementation detail:

=C2=A0- Added a test_data.json file which contains I= nsert and Update test related input data

=C2=A0- First of all, we create three tables such as
<= div class=3D"gmail_default" style=3D"font-size:small">=C2=A0 =C2=A0 =C2=A0a= ) defaults_text =C2=A0 =C2=A0 =C2=A0=C2=A0
=C2=A0 =C2=A0 =C2=A0b) defaults_boolean
=C2=A0 =C2=A0 =C2=A0c)= defaults_number
=C2=A0 =C2=A0 =C2=A0d) defaults_json
=C2=A0 =C2=A0 =C2=A0These tables has columns with d= ifferent constraints (default value, not_null etc) to test with various inp= ut test data.

- Test = cases for insert are executed first and then test cases for update.

Please review the patch.
=


=

On Wed, May 10, 2017 at 2:12 PM, Dave Page <
dpage@p= gadmin.org> wrote:


On Wed, May 10, 2017 at 9:39 AM, Surinder Kumar <surinder.= kumar@enterprisedb.com> wrote:
Hi Dave,

On= Wed, May 10, 2017 at 2:06 PM, Dave Page <dpage@pgadmin.org>= wrote:
Any chance we ca= n get this wrapped up today Surinder?
=E2=80=8BI have fixed RM case, I am currently writing = its feature test cases which is taking some time.
Should I send patch for RM case only?=E2=80=8B I will try to com= plete test cases by today eod.
<= /div>
Yes please.

Thanks!

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

Ent= erpriseDB UK: htt= p://www.enterprisedb.com
The Enterprise PostgreSQL Company


--001a11498cd4b0fb93054f2bed03-- --001a11498cd4b0fb98054f2bed05 Content-Type: application/octet-stream; name="features_test_cases_RM_2257_v1.patch" Content-Disposition: attachment; filename="features_test_cases_RM_2257_v1.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j2j20v8r0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvdGVzdF9k YXRhLmpzb24gYi93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3Rlc3RfZGF0 YS5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3 MmIyMTcKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9mZWF0dXJl X3Rlc3RzL3Rlc3RfZGF0YS5qc29uCkBAIC0wLDAgKzEsODggQEAKK3sKKyAg InRhYmxlX2luc2VydF91cGRhdGVfY2FzZXMiOiB7CisKKyAgICAiZGVmYXVs dHNfdGV4dCI6IHsKKyAgICAgICJpbnNlcnQiOiB7CisgICAgICAgICJpbnNl cnRfd2l0aF9kZWZhdWx0cyI6IHsKKyAgICAgICAgICAiaWQiOiAiMSIsCisg ICAgICAgICAgImRhdGFfZGVmYXVsdF9udWxscyI6ICJhYmMxMjMiLAorICAg ICAgICAgICJkYXRhX2RlZmF1bHRfbm9fbnVsbHMiOiAiZGVmNDU2IiwKKyAg ICAgICAgICAiZGF0YV9ub19udWxscyI6ICJ0ZXN0IHN0cmluZyIKKyAgICAg ICAgfQorICAgICAgfSwKKyAgICAgICJ1cGRhdGUiOiB7CisgICAgICAgICJ1 cGRhdGVfd2l0aF9udWxsX3ZhbHVlIjogeworICAgICAgICAgICJpZCI6ICIx MiIsCisgICAgICAgICAgImRhdGFfZGVmYXVsdF9udWxscyI6ICIiLAorICAg ICAgICAgICJkYXRhX251bGxzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAg InVwZGF0ZV93aXRoX2VtcHR5X3N0cmluZyI6IHsKKyAgICAgICAgICAiaWQi OiAiMTUiLAorICAgICAgICAgICJkYXRhX2RlZmF1bHRfbnVsbHMiOiAiJyci LAorICAgICAgICAgICJkYXRhX251bGxzIjogIicnIgorICAgICAgICB9Cisg ICAgICB9CisgICAgfSwKKyAgICAiZGVmYXVsdHNfYm9vbGVhbiI6IHsKKyAg ICAgICJpbnNlcnQiOiB7CisgICAgICAgICJpbnNlcnRfd2l0aF9kZWZhdWx0 cyI6IHsKKyAgICAgICAgICAiaWQiOiAiMSIsCisgICAgICAgICAgImRhdGFf ZGVmYXVsdF9udWxscyI6ICJmYWxzZSIsCisgICAgICAgICAgImRhdGFfZGVm YXVsdF9ub19udWxscyI6ICJmYWxzZSIsCisgICAgICAgICAgImRhdGFfbm9f bnVsbHMiOiAidHJ1ZSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJ1 cGRhdGUiOiB7CisgICAgICAgICJ1cGRhdGVfd2l0aF9ib29sZWFuX3ZhbHVl IjogeworICAgICAgICAgICJpZCI6ICIxMiIsCisgICAgICAgICAgImRhdGFf ZGVmYXVsdF9udWxscyI6ICJ0cnVlIiwKKyAgICAgICAgICAiZGF0YV9udWxs cyI6ICJ0cnVlIgorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAi ZGVmYXVsdHNfbnVtYmVyIjogeworICAgICAgImluc2VydCI6IHsKKyAgICAg ICAgImluc2VydF93aXRoX2RlZmF1bHRzIjogeworICAgICAgICAgICJpZCI6 ICIxIiwKKyAgICAgICAgICAiZGF0YV9kZWZhdWx0X251bGxzIjogIjEwIiwK KyAgICAgICAgICAiZGF0YV9kZWZhdWx0X25vX251bGxzIjogIjIwIiwKKyAg ICAgICAgICAiZGF0YV9ub19udWxscyI6ICIxMCIKKyAgICAgICAgfQorICAg ICAgfSwKKyAgICAgICJ1cGRhdGUiOiB7CisgICAgICAgICJ1cGRhdGVfd2l0 aF9udWxsX3ZhbHVlIjogeworICAgICAgICAgICJpZCI6ICIxMiIsCisgICAg ICAgICAgImRhdGFfZGVmYXVsdF9udWxscyI6ICIiLAorICAgICAgICAgICJk YXRhX251bGxzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgInVwZGF0ZV93 aXRoX251bWVyaWNfdmFsdWUiOiB7CisgICAgICAgICAgImlkIjogIjE1IiwK KyAgICAgICAgICAiZGF0YV9kZWZhdWx0X251bGxzIjogIjEyIiwKKyAgICAg ICAgICAiZGF0YV9udWxscyI6ICIxMyIKKyAgICAgICAgfQorICAgICAgfQor ICAgIH0sCisgICAgImRlZmF1bHRzX2pzb24iOiB7CisgICAgICAiaW5zZXJ0 IjogeworICAgICAgICAiaW5zZXJ0X3dpdGhfZGVmYXVsdHMiOiB7CisgICAg ICAgICAgImlkIjogIjEiLAorICAgICAgICAgICJkYXRhX2RlZmF1bHRfbnVs bHMiOiAiWzAsMV0iLAorICAgICAgICAgICJkYXRhX2RlZmF1bHRfbm9fbnVs bHMiOiAiWzIsM10iLAorICAgICAgICAgICJkYXRhX25vX251bGxzIjogIls0 LDVdIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInVwZGF0ZSI6IHsK KyAgICAgICAgInVwZGF0ZV93aXRoX2pzb25fZGF0YSI6IHsKKyAgICAgICAg ICAiaWQiOiAiMTIiLAorICAgICAgICAgICJkYXRhX2RlZmF1bHRfbnVsbHMi OiAiWzEwLDExLDEyXSIsCisgICAgICAgICAgImRhdGFfbnVsbHMiOiAiWzMs NF0iCisgICAgICAgIH0sCisgICAgICAgICJ1cGRhdGVfd2l0aF9udWxsX3Zh bHVlIjogeworICAgICAgICAgICJpZCI6ICIxNSIsCisgICAgICAgICAgImRh dGFfZGVmYXVsdF9udWxscyI6ICIiLAorICAgICAgICAgICJkYXRhX251bGxz IjogIiIKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKyAgfQorfQpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2ZlYXR1cmVfdGVzdHMvdmlld19kYXRhX2RtbF9xdWVyaWVzLnB5IGIv d2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy92aWV3X2RhdGFfZG1sX3F1ZXJp ZXMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTZk ODlhNAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2ZlYXR1cmVf dGVzdHMvdmlld19kYXRhX2RtbF9xdWVyaWVzLnB5CkBAIC0wLDAgKzEsNDg2 IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0Fk bWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykg MjAxMyAtIDIwMTcsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMg VGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNR TCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor CitpbXBvcnQganNvbgoraW1wb3J0IG9zCitmcm9tIHNlbGVuaXVtLndlYmRy aXZlciBpbXBvcnQgQWN0aW9uQ2hhaW5zCitmcm9tIHJlZ3Jlc3Npb24ucHl0 aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMKK2Zyb20gcmVncmVz c2lvbi5mZWF0dXJlX3V0aWxzLmJhc2VfZmVhdHVyZV90ZXN0IGltcG9ydCBC YXNlRmVhdHVyZVRlc3QKK2ltcG9ydCB0aW1lCitmcm9tIHNlbGVuaXVtLndl YmRyaXZlci5jb21tb24ua2V5cyBpbXBvcnQgS2V5cworZnJvbSBzZWxlbml1 bS5jb21tb24uZXhjZXB0aW9ucyBpbXBvcnQgTm9TdWNoRWxlbWVudEV4Y2Vw dGlvbgorCisKK0NVUlJFTlRfUEFUSCA9IG9zLnBhdGguZGlybmFtZShvcy5w YXRoLnJlYWxwYXRoKF9fZmlsZV9fKSkKKwordHJ5OgorICAgIHdpdGggb3Bl bihDVVJSRU5UX1BBVEggKyAnL3Rlc3RfZGF0YS5qc29uJykgYXMgZGF0YV9m aWxlOgorICAgICAgICBjb25maWdfZGF0YSA9IGpzb24ubG9hZChkYXRhX2Zp bGUpWyd0YWJsZV9pbnNlcnRfdXBkYXRlX2Nhc2VzJ10KK2V4Y2VwdCBFeGNl cHRpb24gYXMgZToKKyAgICBwcmludChzdHIoZSkpCisKKworY2xhc3MgQ2hl Y2tGb3JWaWV3RGF0YVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKKyAgICAiIiIK KyAgICBUZXN0IGNhc2VzIHRvIHZhbGlkYXRlIGluc2VydCwgdXBkYXRlIG9w ZXJhdGlvbnMgaW4gdGFibGUKKyAgICB3aXRoIGlucHV0IHRlc3QgZGF0YQor CisgICAgRmlyc3Qgb2YgYWxsLCB0aGUgdGVzdCBkYXRhIGlzIGluc2VydGVk L3VwZGF0ZWQgaW50byB0YWJsZSBhbmQgdGhlbgorICAgIGluc2VydGVkIGRh dGEgaXMgY29tcGFyZWQgd2l0aCBvcmlnaW5hbCBkYXRhIHRvIGNoZWNrIGlm IGV4cGVjdGVkIGRhdGEKKyAgICBpcyByZXR1cm5lZCBmcm9tIHRhYmxlIG9y IG5vdC4KKworICAgIFdlIHdpbGwgY292ZXIgdGVzdCBjYXNlcyBmb3IsCisg ICAgICAgIDEpIEluc2VydCB3aXRoIGRlZmF1bHQgdmFsdWVzCisgICAgICAg IDIpIFVwZGF0ZSB3aXRoIG51bGwgdmFsdWVzCisgICAgICAgIDMpIFVwZGF0 ZSB3aXRoIGJsYW5rIHN0cmluZworICAgICIiIgorCisgICAgc2NlbmFyaW9z ID0gWworICAgICAgICAoIlZhbGlkYXRlIEluc2VydCwgVXBkYXRlIG9wZXJh dGlvbnMgaW4gVmlldyBkYXRhIHdpdGggZ2l2ZW4gdGVzdCAiCisgICAgICAg ICAiZGF0YSIsCisgICAgICAgICBkaWN0KCkpCisgICAgXQorCisgICAgIyBU byBjcmVhdGUgY29sdW1uIGlkIHdpdGggbmV4dHZhbCwgZmlyc3QgYSBzZXF1 ZW5jZSBtdXN0IGJlIGNyZWF0ZWQuCisgICAgY3JlYXRlX3NlcXVlbmNlID0g IiIiCitDUkVBVEUgU0VRVUVOQ0UgcHVibGljLmRlZmF1bHRzX3RleHRfaWRf c2VxCisgICAgSU5DUkVNRU5UIDEKKyAgICBTVEFSVCA5CisgICAgTUlOVkFM VUUgMQorICAgIE1BWFZBTFVFIDkyMjMzNzIwMzY4NTQ3NzU4MDcKKyAgICBD QUNIRSAxOworCitBTFRFUiBTRVFVRU5DRSBwdWJsaWMuZGVmYXVsdHNfdGV4 dF9pZF9zZXEKKyAgICBPV05FUiBUTyBwb3N0Z3JlczsKKyIiIgorCisgICAg IyBxdWVyeSBmb3IgY3JlYXRpbmcgJ2RlZmF1bHRzX3RleHQnIHRhYmxlCisg ICAgZGVmYXVsdHNfdGV4dF9xdWVyeSA9ICIiIgorQ1JFQVRFIFRBQkxFIHB1 YmxpYy5kZWZhdWx0c190ZXh0CisoCisgICAgaWQgYmlnaW50IE5PVCBOVUxM IERFRkFVTFQgbmV4dHZhbCgnZGVmYXVsdHNfdGV4dF9pZF9zZXEnOjpyZWdj bGFzcyksCisgICAgZGF0YV9kZWZhdWx0X251bGxzIHRleHQgQ09MTEFURSBw Z19jYXRhbG9nLiJkZWZhdWx0IiBERUZBVUxUICdhYmMxMjMnOjp0ZXh0LAor ICAgIGRhdGFfZGVmYXVsdF9ub19udWxscyB0ZXh0IENPTExBVEUgcGdfY2F0 YWxvZy4iZGVmYXVsdCIgTk9UIE5VTEwKK0RFRkFVTFQgJ2RlZjQ1Nic6OnRl eHQsCisgICAgZGF0YV9udWxscyB0ZXh0IENPTExBVEUgcGdfY2F0YWxvZy4i ZGVmYXVsdCIsCisgICAgZGF0YV9ub19udWxscyB0ZXh0IENPTExBVEUgcGdf Y2F0YWxvZy4iZGVmYXVsdCIgTk9UIE5VTEwsCisgICAgQ09OU1RSQUlOVCBk ZWZhdWx0c190ZXh0X3BrZXkgUFJJTUFSWSBLRVkgKGlkKQorKQorIiIiCisK KyAgICAjIHF1ZXJ5IGZvciBjcmVhdGluZyAnZGVmYXVsdHNfYm9vbGVhbicg dGFibGUKKyAgICBkZWZhdWx0c19ib29sZWFuX3F1ZXJ5ID0gIiIiCitDUkVB VEUgVEFCTEUgcHVibGljLmRlZmF1bHRzX2Jvb2xlYW4KKygKKyAgICBpZCBi aWdpbnQgTk9UIE5VTEwsCisgICAgZGF0YV9kZWZhdWx0X251bGxzIGJvb2xl YW4gREVGQVVMVCBmYWxzZSwKKyAgICBkYXRhX2RlZmF1bHRfbm9fbnVsbHMg Ym9vbGVhbiBOT1QgTlVMTCBERUZBVUxUIGZhbHNlLAorICAgIGRhdGFfbnVs bHMgYm9vbGVhbiwKKyAgICBkYXRhX25vX251bGxzIGJvb2xlYW4gTk9UIE5V TEwsCisgICAgQ09OU1RSQUlOVCBkZWZhdWx0X2Jvb2xlYW5fcGtleSBQUklN QVJZIEtFWSAoaWQpCispCisiIiIKKworICAgICMgcXVlcnkgZm9yIGNyZWF0 aW5nICdkZWZhdWx0c19udW1iZXInIHRhYmxlCisgICAgZGVmYXVsdHNfbnVt YmVyX3F1ZXJ5ID0gIiIiCitDUkVBVEUgVEFCTEUgcHVibGljLmRlZmF1bHRz X251bWJlcgorKAorICAgIGlkIGJpZ2ludCBOT1QgTlVMTCwKKyAgICBkYXRh X2RlZmF1bHRfbnVsbHMgbnVtZXJpYygxMDApIERFRkFVTFQgMTAsCisgICAg ZGF0YV9kZWZhdWx0X25vX251bGxzIG51bWVyaWMoMTAwKSBOT1QgTlVMTCBE RUZBVUxUIDIwLAorICAgIGRhdGFfbnVsbHMgbnVtZXJpYygxMDApLAorICAg IGRhdGFfbm9fbnVsbHMgbnVtZXJpYygxMDApIE5PVCBOVUxMLAorICAgIENP TlNUUkFJTlQgZGVmYXVsdF9udW1iZXJfcGtleSBQUklNQVJZIEtFWSAoaWQp CispCisiIiIKKworICAgICMgcXVlcnkgZm9yIGNyZWF0aW5nICdkZWZhdWx0 c19qc29uJyB0YWJsZQorICAgIGRlZmF1bHRzX2pzb25fcXVlcnkgPSAiIiIK K0NSRUFURSBUQUJMRSBwdWJsaWMuZGVmYXVsdHNfanNvbgorKAorICAgIGlk IGJpZ2ludCBOT1QgTlVMTCwKKyAgICBkYXRhX2RlZmF1bHRfbnVsbHMganNv biBERUZBVUxUICdbMCwxXSc6Ompzb24sCisgICAgZGF0YV9kZWZhdWx0X25v X251bGxzIGpzb24gTk9UIE5VTEwgREVGQVVMVCAnWzIsM10nOjpqc29uLAor ICAgIGRhdGFfbnVsbHMganNvbiwKKyAgICBkYXRhX25vX251bGxzIGpzb24g Tk9UIE5VTEwsCisgICAgQ09OU1RSQUlOVCBkZWZhdWx0c19qc29uX3BrZXkg UFJJTUFSWSBLRVkgKGlkKQorKQorIiIiCisKKyAgICBkZWYgYmVmb3JlKHNl bGYpOgorICAgICAgICBjb25uZWN0aW9uID0gdGVzdF91dGlscy5nZXRfZGJf Y29ubmVjdGlvbihzZWxmLnNlcnZlclsnZGInXSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2 ZXJbJ3VzZXJuYW1lJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWydkYl9wYXNzd29y ZCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZWxmLnNlcnZlclsnaG9zdCddLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNl cnZlclsncG9ydCddKQorICAgICAgICB0ZXN0X3V0aWxzLmRyb3BfZGF0YWJh c2UoY29ubmVjdGlvbiwgImFjY2VwdGFuY2VfdGVzdF9kYiIpCisgICAgICAg IHRlc3RfdXRpbHMuY3JlYXRlX2RhdGFiYXNlKHNlbGYuc2VydmVyLCAiYWNj ZXB0YW5jZV90ZXN0X2RiIikKKyAgICAgICAgdGVzdF91dGlscy5jcmVhdGVf dGFibGVfd2l0aF9xdWVyeSgKKyAgICAgICAgICAgIHNlbGYuc2VydmVyLAor ICAgICAgICAgICAgImFjY2VwdGFuY2VfdGVzdF9kYiIsCisgICAgICAgICAg ICBDaGVja0ZvclZpZXdEYXRhVGVzdC5jcmVhdGVfc2VxdWVuY2UpCisKKyAg ICAgICAgIyBDcmVhdGUgcHJlLXJlcXVpc2l0ZSB0YWJsZXMKKyAgICAgICAg Zm9yIGtleSBpbiBjb25maWdfZGF0YS5rZXlzKCk6CisgICAgICAgICAgICB0 ZXN0X3V0aWxzLmNyZWF0ZV90YWJsZV93aXRoX3F1ZXJ5KAorICAgICAgICAg ICAgICAgIHNlbGYuc2VydmVyLAorICAgICAgICAgICAgICAgICJhY2NlcHRh bmNlX3Rlc3RfZGIiLAorICAgICAgICAgICAgICAgIGdldGF0dHIoQ2hlY2tG b3JWaWV3RGF0YVRlc3QsIGtleSsnX3F1ZXJ5JykpCisKKyAgICBkZWYgcnVu VGVzdChzZWxmKToKKyAgICAgICAgc2VsZi5wYWdlLndhaXRfZm9yX3NwaW5u ZXJfdG9fZGlzYXBwZWFyKCkKKyAgICAgICAgc2VsZi5fY29ubmVjdHNfdG9f c2VydmVyKCkKKworICAgICAgICBzZWxmLl90YWJsZXNfbm9kZV9leHBhbmRh YmxlKCkKKyAgICAgICAgZm9yIGtleSBpbiBjb25maWdfZGF0YS5rZXlzKCk6 CisgICAgICAgICAgICBzZWxmLmRyaXZlci5zd2l0Y2hfdG8uZGVmYXVsdF9j b250ZW50KCkKKyAgICAgICAgICAgIHNlbGYucGFnZS5zZWxlY3RfdHJlZV9p dGVtKGtleSkKKyAgICAgICAgICAgICMgT3BlbiBPYmplY3QgLT4gVmlldyBk YXRhCisgICAgICAgICAgICBzZWxmLl9jaGVja194c3NfaW5fdmlld19kYXRh KCkKKworICAgICAgICAgICAgIyBSdW4gdGVzdCB0byBpbnNlcnQgYSBuZXcg cm93IGluIHRhYmxlIHdpdGggZGVmYXVsdCB2YWx1ZXMKKyAgICAgICAgICAg IHNlbGYuX2luc2VydF9yb3dfaW5fdGFibGUoa2V5KQorICAgICAgICAgICAg c2VsZi5fdmVyaWZ5X2luc2VydF9kYXRhKGtleSkKKyAgICAgICAgICAgIHNl bGYuX2Nsb3NlX3F1ZXJ5X3Rvb2woKQorCisgICAgICAgICMgUnVuIHVwZGF0 ZSBjZWxscyB0ZXN0IGNhc2VzCisgICAgICAgIGZvciBrZXkgaW4gY29uZmln X2RhdGEua2V5cygpOgorICAgICAgICAgICAgc2VsZi5kcml2ZXIuc3dpdGNo X3RvLmRlZmF1bHRfY29udGVudCgpCisgICAgICAgICAgICBzZWxmLnBhZ2Uu c2VsZWN0X3RyZWVfaXRlbShrZXkpCisgICAgICAgICAgICAjIE9wZW4gT2Jq ZWN0IC0+IFZpZXcgZGF0YQorICAgICAgICAgICAgc2VsZi5fY2hlY2tfeHNz X2luX3ZpZXdfZGF0YSgpCisKKyAgICAgICAgICAgICMgUnVuIHRlc3QgdG8g dXBkYXRlIGV4aXN0aW5nIHJvd3MgaW4gdGFibGUgd2l0aCBnaXZlbiB2YWx1 ZXMKKyAgICAgICAgICAgIHNlbGYuX3VwZGF0ZV9yb3dfaW5fdGFibGUoa2V5 KQorICAgICAgICAgICAgc2VsZi5fY2xvc2VfcXVlcnlfdG9vbCgpCisKKyAg ICBkZWYgYWZ0ZXIoc2VsZik6CisgICAgICAgIHRpbWUuc2xlZXAoMSkKKyAg ICAgICAgc2VsZi5wYWdlLnJlbW92ZV9zZXJ2ZXIoc2VsZi5zZXJ2ZXIpCisg ICAgICAgIGNvbm5lY3Rpb24gPSB0ZXN0X3V0aWxzLmdldF9kYl9jb25uZWN0 aW9uKHNlbGYuc2VydmVyWydkYiddLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsndXNl cm5hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ2RiX3Bhc3N3b3JkJ10sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNlbGYuc2VydmVyWydob3N0J10sCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWydw b3J0J10pCisgICAgICAgIHRlc3RfdXRpbHMuZHJvcF9kYXRhYmFzZShjb25u ZWN0aW9uLCAiYWNjZXB0YW5jZV90ZXN0X2RiIikKKworICAgIGRlZiBfY29u bmVjdHNfdG9fc2VydmVyKHNlbGYpOgorICAgICAgICBzZWxmLnBhZ2UuZmlu ZF9ieV94cGF0aCgiLy8qW0BjbGFzcz0nYWNpVHJlZVRleHQnIGFuZCAuPSdT ZXJ2ZXJzJ10iKS5jbGljaygpCisgICAgICAgIHNlbGYucGFnZS5kcml2ZXIu ZmluZF9lbGVtZW50X2J5X2xpbmtfdGV4dCgiT2JqZWN0IikuY2xpY2soKQor ICAgICAgICBBY3Rpb25DaGFpbnMoc2VsZi5wYWdlLmRyaXZlcikgXAorICAg ICAgICAgICAgLm1vdmVfdG9fZWxlbWVudChzZWxmLnBhZ2UuZHJpdmVyLmZp bmRfZWxlbWVudF9ieV9saW5rX3RleHQoIkNyZWF0ZSIpKSBcCisgICAgICAg ICAgICAucGVyZm9ybSgpCisgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X3Bh cnRpYWxfbGlua190ZXh0KCJTZXJ2ZXIuLi4iKS5jbGljaygpCisKKyAgICAg ICAgc2VydmVyX2NvbmZpZyA9IHNlbGYuc2VydmVyCisgICAgICAgIHNlbGYu cGFnZS5maWxsX2lucHV0X2J5X2ZpZWxkX25hbWUoIm5hbWUiLCBzZXJ2ZXJf Y29uZmlnWyduYW1lJ10pCisgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X3Bh cnRpYWxfbGlua190ZXh0KCJDb25uZWN0aW9uIikuY2xpY2soKQorICAgICAg ICBzZWxmLnBhZ2UuZmlsbF9pbnB1dF9ieV9maWVsZF9uYW1lKCJob3N0Iiwg c2VydmVyX2NvbmZpZ1snaG9zdCddKQorICAgICAgICBzZWxmLnBhZ2UuZmls bF9pbnB1dF9ieV9maWVsZF9uYW1lKCJwb3J0Iiwgc2VydmVyX2NvbmZpZ1sn cG9ydCddKQorICAgICAgICBzZWxmLnBhZ2UuZmlsbF9pbnB1dF9ieV9maWVs ZF9uYW1lKCJ1c2VybmFtZSIsIHNlcnZlcl9jb25maWdbJ3VzZXJuYW1lJ10p CisgICAgICAgIHNlbGYucGFnZS5maWxsX2lucHV0X2J5X2ZpZWxkX25hbWUo InBhc3N3b3JkIiwgc2VydmVyX2NvbmZpZ1snZGJfcGFzc3dvcmQnXSkKKyAg ICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfeHBhdGgoIi8vYnV0dG9uW2NvbnRh aW5zKC4sJ1NhdmUnKV0iKS5jbGljaygpCisKKyAgICBkZWYgX3RhYmxlc19u b2RlX2V4cGFuZGFibGUoc2VsZik6CisgICAgICAgIHNlbGYucGFnZS50b2dn bGVfb3Blbl90cmVlX2l0ZW0oc2VsZi5zZXJ2ZXJbJ25hbWUnXSkKKyAgICAg ICAgc2VsZi5wYWdlLnRvZ2dsZV9vcGVuX3RyZWVfaXRlbSgnRGF0YWJhc2Vz JykKKyAgICAgICAgc2VsZi5wYWdlLnRvZ2dsZV9vcGVuX3RyZWVfaXRlbSgn YWNjZXB0YW5jZV90ZXN0X2RiJykKKyAgICAgICAgc2VsZi5wYWdlLnRvZ2ds ZV9vcGVuX3RyZWVfaXRlbSgnU2NoZW1hcycpCisgICAgICAgIHNlbGYucGFn ZS50b2dnbGVfb3Blbl90cmVlX2l0ZW0oJ3B1YmxpYycpCisgICAgICAgIHNl bGYucGFnZS50b2dnbGVfb3Blbl90cmVlX2l0ZW0oJ1RhYmxlcycpCisKKyAg ICBkZWYgX2NoZWNrX3hzc19pbl92aWV3X2RhdGEoc2VsZik6CisgICAgICAg IHNlbGYucGFnZS5kcml2ZXIuZmluZF9lbGVtZW50X2J5X2xpbmtfdGV4dCgi T2JqZWN0IikuY2xpY2soKQorICAgICAgICBBY3Rpb25DaGFpbnMoc2VsZi5w YWdlLmRyaXZlcikgXAorICAgICAgICAgICAgLm1vdmVfdG9fZWxlbWVudCgK KyAgICAgICAgICAgICAgICBzZWxmLnBhZ2UuZHJpdmVyLmZpbmRfZWxlbWVu dF9ieV9saW5rX3RleHQoIlZpZXcgRGF0YSIpKSBcCisgICAgICAgICAgICAu cGVyZm9ybSgpCisgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X3BhcnRpYWxf bGlua190ZXh0KCJWaWV3IEFsbCBSb3dzIikuY2xpY2soKQorICAgICAgICB0 aW1lLnNsZWVwKDMpCisgICAgICAgIHNlbGYucGFnZS5kcml2ZXIuc3dpdGNo X3RvLmZyYW1lKAorICAgICAgICAgICAgc2VsZi5wYWdlLmRyaXZlci5maW5k X2VsZW1lbnRfYnlfdGFnX25hbWUoJ2lmcmFtZScpCisgICAgICAgICkKKwor ICAgIGRlZiBfaW5zZXJ0X3Jvd19pbl90YWJsZShzZWxmLCB0YWJsZSk6Cisg ICAgICAgIHhwYXRoX2NlbGwxID0gIi8vZGl2W2NvbnRhaW5zKEBjbGFzcywg J25ldy1yb3cnKV0vL2RpdlsiIFwKKyAgICAgICAgICAgICAgICAgICAgICJj b250YWlucyhAY2xhc3MsICdyMScpXSIKKworICAgICAgICBjZWxsMV92YWwg PSBjb25maWdfZGF0YVt0YWJsZV1bJ2luc2VydCddWydpbnNlcnRfd2l0aF9k ZWZhdWx0cyddWworICAgICAgICAgICAgJ2lkJ10KKworICAgICAgICBjZWxs Ml92YWwgPSBjb25maWdfZGF0YVt0YWJsZV1bJ2luc2VydCddWydpbnNlcnRf d2l0aF9kZWZhdWx0cyddWworICAgICAgICAgICAgJ2RhdGFfbm9fbnVsbHMn XQorCisgICAgICAgIHRpbWUuc2xlZXAoMSkKKyAgICAgICAgIyBJbnNlcnQg aW50byBmaXJzdCBjZWxsCisgICAgICAgIG5ld19yb3cgPSBzZWxmLnBhZ2Uu ZmluZF9ieV94cGF0aCh4cGF0aF9jZWxsMSkKKyAgICAgICAgbmV3X3Jvdy5j bGljaygpCisgICAgICAgIGZpZWxkID0gbmV3X3Jvdy5maW5kX2VsZW1lbnRf YnlfeHBhdGgoIi4vL2lucHV0IikKKyAgICAgICAgZmllbGQuY2xpY2soKQor ICAgICAgICBBY3Rpb25DaGFpbnMoc2VsZi5kcml2ZXIpLnNlbmRfa2V5cyhj ZWxsMV92YWwpLnBlcmZvcm0oKQorICAgICAgICBmaWVsZC5zZW5kX2tleXMo S2V5cy5UQUIpCisKKyAgICAgICAgIyAjIEluc2VydCBpbnRvIGxhc3QgY2Vs bC4gVG8gaW5zZXJ0IGludG8gY2VsbHMgbGlrZSBib29sZWFuLAorICAgICAg ICAjIG51bWJlciwganNvbiBoYXMgZGlmZmVyZW50IHByb2Nlc3MsIHNvIHRo ZSBjb2RlIGlzIGNvbmRpdGlvbmFsCisgICAgICAgIGlmIHRhYmxlID09ICdk ZWZhdWx0c19ib29sZWFuJzoKKyAgICAgICAgICAgIHhwYXRoX2NlbGw1ID0g Ii8vKltAaWQ9J2RhdGFncmlkJ10vL2RpdlsiIFwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiY29udGFpbnMoQGNsYXNzLCAnbmV3X3Jv dycpXS8vZGl2WyIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJjb250YWlucyhAY2xhc3MsICdyNScpXSIKKyAgICAgICAgICAgIGNl bGw1X2VsID0gc2VsZi5wYWdlLmZpbmRfYnlfeHBhdGgoeHBhdGhfY2VsbDUp CisgICAgICAgICAgICBBY3Rpb25DaGFpbnMoc2VsZi5kcml2ZXIpLm1vdmVf dG9fZWxlbWVudChjZWxsNV9lbCkuZG91YmxlX2NsaWNrKAorICAgICAgICAg ICAgICAgIGNlbGw1X2VsCisgICAgICAgICAgICApLnBlcmZvcm0oKQorICAg ICAgICAgICAgdGltZS5zbGVlcCgwLjQpCisKKyAgICAgICAgICAgIGNoZWNr Ym94X2VsID0gY2VsbDVfZWwuZmluZF9lbGVtZW50X2J5X3hwYXRoKCIuLy9p bnB1dCIpCisgICAgICAgICAgICBjaGVja2JveF9lbC5jbGljaygpCisgICAg ICAgICAgICBBY3Rpb25DaGFpbnMoc2VsZi5kcml2ZXIpLm1vdmVfdG9fZWxl bWVudChjaGVja2JveF9lbCkuZG91YmxlX2NsaWNrKAorICAgICAgICAgICAg ICAgIGNoZWNrYm94X2VsCisgICAgICAgICAgICApLnBlcmZvcm0oKQorICAg ICAgICAgICAgY2hlY2tib3hfZWwuc2VuZF9rZXlzKEtleXMuVEFCKSAgIyBQ cmVzcyB0YWIga2V5CisKKyAgICAgICAgZWxpZiB0YWJsZSA9PSAnZGVmYXVs dHNfbnVtYmVyJzoKKyAgICAgICAgICAgIHhwYXRoX2NlbGw1ID0gIi8vKltA aWQ9J2RhdGFncmlkJ10vL2RpdlsiIFwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgImNvbnRhaW5zKEBjbGFzcywnbmV3X3JvdycpXS8vZGl2WyIgXAor ICAgICAgICAgICAgICAgICAgICAgICAgICAiY29udGFpbnMoQGNsYXNzLCAn cjUnKV0iCisgICAgICAgICAgICBjZWxsNV9lbCA9IHNlbGYucGFnZS5maW5k X2J5X3hwYXRoKHhwYXRoX2NlbGw1KQorCisgICAgICAgICAgICBBY3Rpb25D aGFpbnMoc2VsZi5kcml2ZXIpLm1vdmVfdG9fZWxlbWVudChjZWxsNV9lbCku ZG91YmxlX2NsaWNrKAorICAgICAgICAgICAgICAgIGNlbGw1X2VsCisgICAg ICAgICAgICApLnBlcmZvcm0oKQorCisgICAgICAgICAgICB0aW1lLnNsZWVw KDAuNSkKKyAgICAgICAgICAgIGNlbGw1X2lucHV0X2VsID0gY2VsbDVfZWwu ZmluZF9lbGVtZW50X2J5X3hwYXRoKCcuLy9pbnB1dCcpCisgICAgICAgICAg ICBjZWxsNV9pbnB1dF9lbC5jbGljaygpCisgICAgICAgICAgICBBY3Rpb25D aGFpbnMoc2VsZi5kcml2ZXIpLnNlbmRfa2V5cyhjZWxsMl92YWwpLnBlcmZv cm0oKQorICAgICAgICAgICAgY2VsbDVfaW5wdXRfZWwuc2VuZF9rZXlzKEtl eXMuVEFCKSAgIyBQcmVzcyB0YWIga2V5CisgICAgICAgIGVsc2U6CisgICAg ICAgICAgICB4cGF0aF9jZWxsNSA9ICIvLypbQGlkPSdkYXRhZ3JpZCddLy9k aXZbY29udGFpbnMoQGNsYXNzLCAiIFwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIiduZXdfcm93JyldLy9kaXZbY29udGFpbnMoQGNsYXNzLCAncjUn KV0iCisgICAgICAgICAgICBjZWxsX2VsID0gc2VsZi5wYWdlLmZpbmRfYnlf eHBhdGgoeHBhdGhfY2VsbDUpCisKKyAgICAgICAgICAgIEFjdGlvbkNoYWlu cyhzZWxmLmRyaXZlcikubW92ZV90b19lbGVtZW50KGNlbGxfZWwpLmRvdWJs ZV9jbGljaygKKyAgICAgICAgICAgICAgICBjZWxsX2VsCisgICAgICAgICAg ICApLnBlcmZvcm0oKQorCisgICAgICAgICAgICBjZWxsNV9lbCA9IHNlbGYu cGFnZS5kcml2ZXIuZmluZF9lbGVtZW50X2J5X2Nzc19zZWxlY3RvcigKKyAg ICAgICAgICAgICAgICAiZGl2W3N0eWxlKj0nei1pbmRleDogMTAwMCddIHRl eHRhcmVhIgorICAgICAgICAgICAgKQorICAgICAgICAgICAgY2VsbDVfZWwu Y2xlYXIoKQorICAgICAgICAgICAgY2VsbDVfZWwuY2xpY2soKQorICAgICAg ICAgICAgdGltZS5zbGVlcCgwLjUpCisKKyAgICAgICAgICAgIEFjdGlvbkNo YWlucyhzZWxmLmRyaXZlcikuc2VuZF9rZXlzKGNlbGwyX3ZhbCkucGVyZm9y bSgpCisKKyAgICAgICAgICAgIHNlbGYucGFnZS5kcml2ZXIuZmluZF9lbGVt ZW50X2J5X2Nzc19zZWxlY3RvcigKKyAgICAgICAgICAgICAgICAiZGl2W3N0 eWxlKj0nei1pbmRleDogMTAwMCddIGRpdiBidXR0b246Zmlyc3QtY2hpbGQi CisgICAgICAgICAgICApLmNsaWNrKCkgICMgQ2xpY2sgb24gZWRpdG9yJ3Mg U2F2ZSBidXR0b24KKworICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9pZCgi YnRuLXNhdmUiKS5jbGljaygpICAjIFNhdmUgZGF0YQorCisgICAgZGVmIF92 ZXJpZnlfaW5zZXJ0X2RhdGEoc2VsZiwgdGFibGUpOgorICAgICAgICB0aW1l LnNsZWVwKDAuNSkKKyAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfaWQoImJ0 bi1mbGFzaCIpLmNsaWNrKCkKKyAgICAgICAgdGltZS5zbGVlcCgxKQorICAg ICAgICBtYWluX2VsID0gc2VsZi5wYWdlLmZpbmRfYnlfeHBhdGgoJy8vKltA aWQ9ImRhdGFncmlkIl0nKQorICAgICAgICBjZWxsMSA9IG1haW5fZWwuZmlu ZF9lbGVtZW50X2J5X3hwYXRoKAorICAgICAgICAgICAgJy4vL2Rpdltjb250 YWlucyhAY2xhc3MsICJyMSIpXS8vc3BhbicKKyAgICAgICAgKS5nZXRfYXR0 cmlidXRlKCdpbm5lckhUTUwnKQorICAgICAgICB0cnk6CisgICAgICAgICAg ICBjZWxsMiA9IG1haW5fZWwuZmluZF9lbGVtZW50X2J5X3hwYXRoKAorICAg ICAgICAgICAgICAgICcuLy9kaXZbY29udGFpbnMoQGNsYXNzLCAicjIiKV0v L3NwYW4nCisgICAgICAgICAgICApLmdldF9hdHRyaWJ1dGUoJ2lubmVySFRN TCcpCisgICAgICAgIGV4Y2VwdCBOb1N1Y2hFbGVtZW50RXhjZXB0aW9uOgor ICAgICAgICAgICAgY2VsbDIgPSBtYWluX2VsLmZpbmRfZWxlbWVudF9ieV94 cGF0aCgKKyAgICAgICAgICAgICAgICAnLi8vZGl2W2NvbnRhaW5zKEBjbGFz cywgInIyIildJworICAgICAgICAgICAgKS5nZXRfYXR0cmlidXRlKCdpbm5l ckhUTUwnKQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGNlbGwzID0g bWFpbl9lbC5maW5kX2VsZW1lbnRfYnlfeHBhdGgoCisgICAgICAgICAgICAg ICAgJy4vL2Rpdltjb250YWlucyhAY2xhc3MsICJyMyIpXS8vc3BhbicKKyAg ICAgICAgICAgICkuZ2V0X2F0dHJpYnV0ZSgnaW5uZXJIVE1MJykKKyAgICAg ICAgZXhjZXB0IE5vU3VjaEVsZW1lbnRFeGNlcHRpb246CisgICAgICAgICAg ICBjZWxsMyA9IG1haW5fZWwuZmluZF9lbGVtZW50X2J5X3hwYXRoKAorICAg ICAgICAgICAgICAgICcuLy9kaXZbY29udGFpbnMoQGNsYXNzLCAicjMiKV0n CisgICAgICAgICAgICApLmdldF9hdHRyaWJ1dGUoJ2lubmVySFRNTCcpCisK KyAgICAgICAgdHJ5OgorICAgICAgICAgICAgY2VsbDUgPSBtYWluX2VsLmZp bmRfZWxlbWVudF9ieV94cGF0aCgKKyAgICAgICAgICAgICAgICAnLi8vZGl2 W2NvbnRhaW5zKEBjbGFzcywgInI1IildLy9zcGFuJworICAgICAgICAgICAg KS5nZXRfYXR0cmlidXRlKCdpbm5lckhUTUwnKQorICAgICAgICBleGNlcHQg Tm9TdWNoRWxlbWVudEV4Y2VwdGlvbjoKKyAgICAgICAgICAgIGNlbGw1ID0g bWFpbl9lbC5maW5kX2VsZW1lbnRfYnlfeHBhdGgoCisgICAgICAgICAgICAg ICAgJy4vL2Rpdltjb250YWlucyhAY2xhc3MsICJyNSIpXScKKyAgICAgICAg ICAgICkuZ2V0X2F0dHJpYnV0ZSgnaW5uZXJIVE1MJykKKworICAgICAgICB0 ZXN0X3ZlcmlmeV9kYXRhID0gY29uZmlnX2RhdGFbdGFibGVdWydpbnNlcnQn XVsKKyAgICAgICAgICAgICdpbnNlcnRfd2l0aF9kZWZhdWx0cyddCisKKyAg ICAgICAgIyBjb21wYXJlIHVwZGF0ZWQgY2VsbCB2YWx1ZXMgd2l0aCBvcmln aW5hbCB2YWx1ZXMKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoY2VsbDEs IHRlc3RfdmVyaWZ5X2RhdGFbJ2lkJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0 RXF1YWxzKGNlbGwyLCB0ZXN0X3ZlcmlmeV9kYXRhWydkYXRhX2RlZmF1bHRf bnVsbHMnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoY2VsbDMsIHRl c3RfdmVyaWZ5X2RhdGFbJ2RhdGFfZGVmYXVsdF9ub19udWxscyddKQorICAg ICAgICBzZWxmLmFzc2VydEVxdWFscyhjZWxsNSwgdGVzdF92ZXJpZnlfZGF0 YVsnZGF0YV9ub19udWxscyddKQorCisgICAgZGVmIF91cGRhdGVfbnVtZXJp Y19jZWxsKHNlbGYsIHhwYXRoLCB2YWx1ZSk6CisgICAgICAgICIiIgorICAg ICAgICBUaGlzIGZ1bmN0aW9uIHVwZGF0ZXMgdGhlIGdpdmVuIGNlbGwoeHBh dGgpIHdpdGgKKyAgICAgICAgZ2l2ZW4gdmFsdWUKKyAgICAgICAgQXJnczoK KyAgICAgICAgICAgIHhwYXRoOiB4cGF0aCBvZiBjZWxsIGVsZW1lbnQKKyAg ICAgICAgICAgIHZhbHVlOiBjZWxsIHZhbHVlIHRvIHVwZGF0ZQorCisgICAg ICAgIFJldHVybnM6IE5vbmUKKworICAgICAgICAiIiIKKyAgICAgICAgdGlt ZS5zbGVlcCgyKQorICAgICAgICBjZWxsX2VsID0gc2VsZi5wYWdlLmZpbmRf YnlfeHBhdGgoeHBhdGgpCisgICAgICAgIEFjdGlvbkNoYWlucyhzZWxmLmRy aXZlcikubW92ZV90b19lbGVtZW50KGNlbGxfZWwpLmRvdWJsZV9jbGljaygK KyAgICAgICAgICAgIGNlbGxfZWwKKyAgICAgICAgKS5wZXJmb3JtKCkKKyAg ICAgICAgZmllbGQgPSBjZWxsX2VsLmZpbmRfZWxlbWVudF9ieV94cGF0aCgi Li8vaW5wdXQiKQorICAgICAgICBmaWVsZC5jbGVhcigpCisgICAgICAgIGZp ZWxkLmNsaWNrKCkKKyAgICAgICAgQWN0aW9uQ2hhaW5zKHNlbGYuZHJpdmVy KS5zZW5kX2tleXModmFsdWUpLnBlcmZvcm0oKQorICAgICAgICBmaWVsZC5z ZW5kX2tleXMoS2V5cy5UQUIpICAjIFByZXNzIHRhYiBrZXkKKworICAgIGRl ZiBfdXBkYXRlX3RleHRfY2VsbChzZWxmLCB4cGF0aCwgdmFsdWUpOgorICAg ICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB1cGRhdGVzIHRoZSBn aXZlbiBjZWxsKHhwYXRoKSB3aXRoCisgICAgICAgIGdpdmVuIHZhbHVlCisg ICAgICAgIEFyZ3M6CisgICAgICAgICAgICB4cGF0aDogeHBhdGggb2YgY2Vs bCBlbGVtZW50CisgICAgICAgICAgICB2YWx1ZTogY2VsbCB2YWx1ZSB0byB1 cGRhdGUKKworICAgICAgICBSZXR1cm5zOiBOb25lCisKKyAgICAgICAgIiIi CisgICAgICAgIGNlbGxfZWwgPSBzZWxmLnBhZ2UuZmluZF9ieV94cGF0aCh4 cGF0aCkKKyAgICAgICAgQWN0aW9uQ2hhaW5zKHNlbGYuZHJpdmVyKS5tb3Zl X3RvX2VsZW1lbnQoY2VsbF9lbCkuZG91YmxlX2NsaWNrKAorICAgICAgICAg ICAgY2VsbF9lbCkucGVyZm9ybSgpCisgICAgICAgIGZpZWxkID0gc2VsZi5w YWdlLmRyaXZlci5maW5kX2VsZW1lbnRfYnlfY3NzX3NlbGVjdG9yKAorICAg ICAgICAgICAgImRpdltzdHlsZSo9J3otaW5kZXg6IDEwMDAnXSB0ZXh0YXJl YSIKKyAgICAgICAgKQorICAgICAgICBmaWVsZC5jbGVhcigpCisgICAgICAg IGZpZWxkLmNsaWNrKCkKKyAgICAgICAgdGltZS5zbGVlcCgxKQorICAgICAg ICBBY3Rpb25DaGFpbnMoc2VsZi5kcml2ZXIpLnNlbmRfa2V5cyh2YWx1ZSku cGVyZm9ybSgpCisgICAgICAgIHRpbWUuc2xlZXAoMSkKKyAgICAgICAgc2Vs Zi5wYWdlLmRyaXZlci5maW5kX2VsZW1lbnRfYnlfY3NzX3NlbGVjdG9yKAor ICAgICAgICAgICAgImRpdltzdHlsZSo9J3otaW5kZXg6IDEwMDAnXSBkaXYg YnV0dG9uOmZpcnN0LWNoaWxkIgorICAgICAgICApLmNsaWNrKCkgICMgQ2xp Y2sgb24gZWRpdG9yJ3MgU2F2ZSBidXR0b24KKworICAgIGRlZiBfdXBkYXRl X2Jvb2xlYW5fY2VsbChzZWxmLCB4cGF0aCwgdmFsdWUpOgorICAgICAgICAi IiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB1cGRhdGVzIHRoZSBnaXZlbiBj ZWxsKHhwYXRoKSB3aXRoCisgICAgICAgIGdpdmVuIHZhbHVlCisgICAgICAg IEFyZ3M6CisgICAgICAgICAgICB4cGF0aDogeHBhdGggb2YgY2VsbCBlbGVt ZW50CisgICAgICAgICAgICB2YWx1ZTogY2VsbCB2YWx1ZSB0byB1cGRhdGUK KworICAgICAgICBSZXR1cm5zOiBOb25lCisKKyAgICAgICAgIiIiCisgICAg ICAgIGNlbGxfZWwgPSBzZWxmLnBhZ2UuZmluZF9ieV94cGF0aCh4cGF0aCkK KyAgICAgICAgQWN0aW9uQ2hhaW5zKHNlbGYuZHJpdmVyKS5tb3ZlX3RvX2Vs ZW1lbnQoY2VsbF9lbCkuZG91YmxlX2NsaWNrKAorICAgICAgICAgICAgY2Vs bF9lbAorICAgICAgICApLnBlcmZvcm0oKQorICAgICAgICB0aW1lLnNsZWVw KDAuNCkKKworICAgICAgICBjaGVja2JveF9lbCA9IGNlbGxfZWwuZmluZF9l bGVtZW50X2J5X3hwYXRoKCIuLy9pbnB1dCIpCisgICAgICAgIGNoZWNrYm94 X2VsLmNsaWNrKCkKKyAgICAgICAgQWN0aW9uQ2hhaW5zKHNlbGYuZHJpdmVy KS5tb3ZlX3RvX2VsZW1lbnQoY2hlY2tib3hfZWwpLmRvdWJsZV9jbGljaygK KyAgICAgICAgICAgIGNoZWNrYm94X2VsCisgICAgICAgICkucGVyZm9ybSgp CisgICAgICAgIGNoZWNrYm94X2VsLnNlbmRfa2V5cyhLZXlzLlRBQikgICMg UHJlc3MgdGFiIGtleQorCisgICAgZGVmIF91cGRhdGVfcm93X2luX3RhYmxl KHNlbGYsIHRhYmxlKToKKyAgICAgICAgeHBhdGhfY2VsbDEgPSAiLy9kaXZb Y29udGFpbnMoQGNsYXNzLCAnZXZlbicpXS8vZGl2WyIgXAorICAgICAgICAg ICAgICAgICAgICAgICAgImNvbnRhaW5zKEBjbGFzcywgJ3IxJyldIgorICAg ICAgICB4cGF0aF9jZWxsMiA9ICIvL2Rpdltjb250YWlucyhAY2xhc3MsICdl dmVuJyldLy9kaXZbIiBcCisgICAgICAgICAgICAgICAgICAgICAgICAiY29u dGFpbnMoQGNsYXNzLCAncjInKV0iCisgICAgICAgIHhwYXRoX2NlbGwzID0g Ii8vZGl2W2NvbnRhaW5zKEBjbGFzcywgJ2V2ZW4nKV0vL2RpdlsiIFwKKyAg ICAgICAgICAgICAgICAgICAgICAgICJjb250YWlucyhAY2xhc3MsICdyNCcp XSIKKworICAgICAgICB1cGRhdGVfY2FzZXMgPSBjb25maWdfZGF0YVt0YWJs ZV1bJ3VwZGF0ZSddCisKKyAgICAgICAgZm9yIHJvdyBpbiB1cGRhdGVfY2Fz ZXM6CisgICAgICAgICAgICBjZWxsMSA9IHVwZGF0ZV9jYXNlc1tyb3ddWydp ZCddCisgICAgICAgICAgICBjZWxsMiA9IHVwZGF0ZV9jYXNlc1tyb3ddWydk YXRhX2RlZmF1bHRfbnVsbHMnXQorICAgICAgICAgICAgY2VsbDMgPSB1cGRh dGVfY2FzZXNbcm93XVsnZGF0YV9udWxscyddCisKKyAgICAgICAgICAgIGlm IHRhYmxlID09ICdkZWZhdWx0c19ib29sZWFuJzoKKyAgICAgICAgICAgICAg ICBzZWxmLl91cGRhdGVfbnVtZXJpY19jZWxsKHhwYXRoX2NlbGwxLCBjZWxs MSkKKyAgICAgICAgICAgICAgICBzZWxmLl91cGRhdGVfYm9vbGVhbl9jZWxs KHhwYXRoX2NlbGwyLCBjZWxsMikKKyAgICAgICAgICAgICAgICBzZWxmLl91 cGRhdGVfYm9vbGVhbl9jZWxsKHhwYXRoX2NlbGwzLCBjZWxsMykKKyAgICAg ICAgICAgIGVsaWYgdGFibGUgPT0gJ2RlZmF1bHRzX251bWJlcic6CisgICAg ICAgICAgICAgICAgc2VsZi5fdXBkYXRlX251bWVyaWNfY2VsbCh4cGF0aF9j ZWxsMSwgY2VsbDEpCisgICAgICAgICAgICAgICAgc2VsZi5fdXBkYXRlX251 bWVyaWNfY2VsbCh4cGF0aF9jZWxsMiwgY2VsbDIpCisgICAgICAgICAgICAg ICAgc2VsZi5fdXBkYXRlX251bWVyaWNfY2VsbCh4cGF0aF9jZWxsMywgY2Vs bDMpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYu X3VwZGF0ZV9udW1lcmljX2NlbGwoeHBhdGhfY2VsbDEsIGNlbGwxKQorICAg ICAgICAgICAgICAgIHNlbGYuX3VwZGF0ZV90ZXh0X2NlbGwoeHBhdGhfY2Vs bDIsIGNlbGwyKQorICAgICAgICAgICAgICAgIHNlbGYuX3VwZGF0ZV90ZXh0 X2NlbGwoeHBhdGhfY2VsbDMsIGNlbGwzKQorCisgICAgICAgICAgICBzZWxm LnBhZ2UuZmluZF9ieV9pZCgiYnRuLXNhdmUiKS5jbGljaygpICAjIFNhdmUg ZGF0YQorICAgICAgICAgICAgc2VsZi5fdmVyaWZ5X3VwZGF0ZV9kYXRhKHRh YmxlLCByb3cpCisKKyAgICBkZWYgX2dldF9jZWxsX3ZhbHVlKHNlbGYsIHRh YmxlLCB4cGF0aCk6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0 aW9uIGV4dHJhY3RzIHRoZSB2YWx1ZSBmcm9tIG1hcmt1cCBhbmQgdGhlbgor ICAgICAgICBtYW5pcHVsYXRlIGlmIG5lY2Vzc2FyeQorICAgICAgICBBcmdz OgorICAgICAgICAgICAgdGFibGU6IHRlc3QgY2FzZSB0eXBlIFt3ZSBhcmUg dXNpbmcgdGFibGVfbmFtZV0KKyAgICAgICAgICAgIHhwYXRoOiB4cGF0aCBm b3IgZG9tIGVsZW1lbnQKKworICAgICAgICBSZXR1cm5zOiBlbGVtZW50IHZh bHVlCisKKyAgICAgICAgIiIiCisKKyAgICAgICAgY2VsbCA9IHNlbGYucGFn ZS5maW5kX2J5X3hwYXRoKHhwYXRoKS5nZXRfYXR0cmlidXRlKCdpbm5lckhU TUwnKQorICAgICAgICBpZiBjZWxsLmZpbmQoJzxzcGFuJykgIT0gLTE6Cisg ICAgICAgICAgICBjZWxsID0gc2VsZi5wYWdlLmZpbmRfYnlfeHBhdGgoCisg ICAgICAgICAgICAgICAgJ3swfS8vc3BhbicuZm9ybWF0KHhwYXRoKQorICAg ICAgICAgICAgKS5nZXRfYXR0cmlidXRlKCdpbm5lckhUTUwnKQorCisgICAg ICAgIGlmIGNlbGwgPT0gJ1tudWxsXSc6CisgICAgICAgICAgICBjZWxsID0g JycKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHRhYmxlID09ICdk ZWZhdWx0c190ZXh0JzoKKyAgICAgICAgICAgICAgICBjZWxsID0gIicnIiBp ZiBjZWxsID09ICcnIGVsc2UgY2VsbAorICAgICAgICByZXR1cm4gY2VsbAor CisgICAgZGVmIF92ZXJpZnlfdXBkYXRlX2RhdGEoc2VsZiwgdGFibGUsIHJv dyk6CisgICAgICAgIHRpbWUuc2xlZXAoMC41KQorICAgICAgICBzZWxmLnBh Z2UuZmluZF9ieV9pZCgiYnRuLWZsYXNoIikuY2xpY2soKQorICAgICAgICB0 aW1lLnNsZWVwKDEpCisKKyAgICAgICAgY2VsbDFfeHBhdGggPSAnLi8vZGl2 W2NvbnRhaW5zKEBjbGFzcywgInIxIildJworICAgICAgICBjZWxsMSA9IHNl bGYuX2dldF9jZWxsX3ZhbHVlKHRhYmxlLCBjZWxsMV94cGF0aCkKKworICAg ICAgICBjZWxsMl94cGF0aCA9ICcuLy9kaXZbY29udGFpbnMoQGNsYXNzLCAi cjIiKV0nCisgICAgICAgIGNlbGwyID0gc2VsZi5fZ2V0X2NlbGxfdmFsdWUo dGFibGUsIGNlbGwyX3hwYXRoKQorCisgICAgICAgIGNlbGw0X3hwYXRoID0g Jy4vL2Rpdltjb250YWlucyhAY2xhc3MsICJyNCIpXScKKyAgICAgICAgY2Vs bDQgPSBzZWxmLl9nZXRfY2VsbF92YWx1ZSh0YWJsZSwgY2VsbDRfeHBhdGgp CisKKyAgICAgICAgdGVzdF92ZXJpZnlfZGF0YSA9IGNvbmZpZ19kYXRhW3Rh YmxlXVsndXBkYXRlJ11bcm93XQorCisgICAgICAgICMgY29tcGFyZSB1cGRh dGVkIGNlbGwgdmFsdWVzIHdpdGggb3JpZ2luYWwgdmFsdWVzCisgICAgICAg IHNlbGYuYXNzZXJ0RXF1YWxzKGNlbGwxLCB0ZXN0X3ZlcmlmeV9kYXRhWydp ZCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhjZWxsMiwgdGVzdF92 ZXJpZnlfZGF0YVsnZGF0YV9kZWZhdWx0X251bGxzJ10pCisgICAgICAgIHNl bGYuYXNzZXJ0RXF1YWxzKGNlbGw0LCB0ZXN0X3ZlcmlmeV9kYXRhWydkYXRh X251bGxzJ10pCisKKyAgICBkZWYgX2Nsb3NlX3F1ZXJ5X3Rvb2woc2VsZik6 CisgICAgICAgIHRpbWUuc2xlZXAoMC41KQorICAgICAgICBzZWxmLnBhZ2Uu ZHJpdmVyLnN3aXRjaF90b19kZWZhdWx0X2NvbnRlbnQoKQorICAgICAgICBz ZWxmLnBhZ2UuY2xpY2tfZWxlbWVudCgKKyAgICAgICAgICAgIHNlbGYucGFn ZS5maW5kX2J5X3hwYXRoKAorICAgICAgICAgICAgICAgICIvLypbQGlkPSdk b2NrZXJDb250YWluZXInXS9kaXYvZGl2WzNdL2Rpdi9kaXZbMl0vZGl2WzFd IikKKyAgICAgICAgKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm ZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL2ZlYXR1cmVfdXRpbHMvcGdhZG1p bl9wYWdlLnB5IGIvd2ViL3JlZ3Jlc3Npb24vZmVhdHVyZV91dGlscy9wZ2Fk bWluX3BhZ2UucHkKaW5kZXggZjVkMGFjNy4uNGJiN2QwZiAxMDA2NDQKLS0t IGEvd2ViL3JlZ3Jlc3Npb24vZmVhdHVyZV91dGlscy9wZ2FkbWluX3BhZ2Uu cHkKKysrIGIvd2ViL3JlZ3Jlc3Npb24vZmVhdHVyZV91dGlscy9wZ2FkbWlu X3BhZ2UucHkKQEAgLTMzLDExICszMywxMSBAQCBjbGFzcyBQZ2FkbWluUGFn ZToKICAgICAgICAgc2VsZi5jbGlja19tb2RhbF9vaygpCiAgICAgICAgIHNl bGYud2FpdF9mb3JfcmVsb2FkaW5nX2luZGljYXRvcl90b19kaXNhcHBlYXIo KQogCi0gICAgZGVmIGNsaWNrX21vZGFsX29rKHNlbGYpOgorICAgIGRlZiBj bGlja19tb2RhbF9vayhzZWxmLCBidG5fbGFiZWw9J09LJyk6CiAgICAgICAg IHRpbWUuc2xlZXAoMC41KQogICAgICAgICAjIEZpbmQgYWN0aXZlIGFsZXJ0 aWZ5IGRpYWxvZyBpbiBjYXNlIG9mIG11bHRpcGxlIGFsZXJ0aWZ5IGRpYWxv ZyAmIGNsaWNrIG9uIHRoYXQgZGlhbG9nCiAgICAgICAgIHNlbGYuY2xpY2tf ZWxlbWVudCgKLSAgICAgICAgICAgIHNlbGYuZmluZF9ieV94cGF0aCgiLy9k aXZbY29udGFpbnMoQGNsYXNzLCAnYWxlcnRpZnknKSBhbmQgbm90KGNvbnRh aW5zKEBjbGFzcywgJ2Fqcy1oaWRkZW4nKSldLy9idXR0b25bLj0nT0snXSIp CisgICAgICAgICAgICBzZWxmLmZpbmRfYnlfeHBhdGgoIi8vKi8vZGl2W2Nv bnRhaW5zKEBjbGFzcywgJ2FsZXJ0aWZ5JykgYW5kIG5vdChjb250YWlucyhA Y2xhc3MsICdhanMtaGlkZGVuJykpXS8vYnV0dG9uWy49J3swfSddIi5mb3Jt YXQoYnRuX2xhYmVsKSkKICAgICAgICAgKQogCiAgICAgZGVmIGFkZF9zZXJ2 ZXIoc2VsZiwgc2VydmVyX2NvbmZpZyk6CmRpZmYgLS1naXQgYS93ZWIvcmVn cmVzc2lvbi9weXRob25fdGVzdF91dGlscy90ZXN0X3V0aWxzLnB5IGIvd2Vi L3JlZ3Jlc3Npb24vcHl0aG9uX3Rlc3RfdXRpbHMvdGVzdF91dGlscy5weQpp bmRleCAyYjdjNjk1Li5jNTBkZDMxIDEwMDY0NAotLS0gYS93ZWIvcmVncmVz c2lvbi9weXRob25fdGVzdF91dGlscy90ZXN0X3V0aWxzLnB5CisrKyBiL3dl Yi9yZWdyZXNzaW9uL3B5dGhvbl90ZXN0X3V0aWxzL3Rlc3RfdXRpbHMucHkK QEAgLTE3Miw2ICsxNzIsMzUgQEAgZGVmIGNyZWF0ZV90YWJsZShzZXJ2ZXIs IGRiX25hbWUsIHRhYmxlX25hbWUpOgogICAgIGV4Y2VwdCBFeGNlcHRpb246 CiAgICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoZmlsZT1zeXMuc3RkZXJy KQogCisKK2RlZiBjcmVhdGVfdGFibGVfd2l0aF9xdWVyeShzZXJ2ZXIsIGRi X25hbWUsIHF1ZXJ5KToKKyAgICAiIiIKKyAgICBUaGlzIGZ1bmN0aW9uIGNy ZWF0ZSB0aGUgdGFibGUgaW4gZ2l2ZW4gZGF0YWJhc2UgbmFtZQorICAgIDpw YXJhbSBzZXJ2ZXI6IHNlcnZlciBkZXRhaWxzCisgICAgOnR5cGUgc2VydmVy OiBkaWN0CisgICAgOnBhcmFtIGRiX25hbWU6IGRhdGFiYXNlIG5hbWUKKyAg ICA6dHlwZSBkYl9uYW1lOiBzdHIKKyAgICA6cGFyYW0gcXVlcnk6IGNyZWF0 ZSB0YWJsZSBxdWVyeQorICAgIDp0eXBlIHF1ZXJ5OiBzdHIKKyAgICA6cmV0 dXJuOiBOb25lCisgICAgIiIiCisgICAgdHJ5OgorICAgICAgICBjb25uZWN0 aW9uID0gZ2V0X2RiX2Nvbm5lY3Rpb24oZGJfbmFtZSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsndXNlcm5hbWUn XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl cnZlclsnZGJfcGFzc3dvcmQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlcnZlclsnaG9zdCddLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyWydwb3J0J10pCisg ICAgICAgIG9sZF9pc29sYXRpb25fbGV2ZWwgPSBjb25uZWN0aW9uLmlzb2xh dGlvbl9sZXZlbAorICAgICAgICBjb25uZWN0aW9uLnNldF9pc29sYXRpb25f bGV2ZWwoMCkKKyAgICAgICAgcGdfY3Vyc29yID0gY29ubmVjdGlvbi5jdXJz b3IoKQorICAgICAgICBwZ19jdXJzb3IuZXhlY3V0ZShxdWVyeSkKKyAgICAg ICAgY29ubmVjdGlvbi5zZXRfaXNvbGF0aW9uX2xldmVsKG9sZF9pc29sYXRp b25fbGV2ZWwpCisgICAgICAgIGNvbm5lY3Rpb24uY29tbWl0KCkKKworICAg IGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgIHRyYWNlYmFjay5wcmludF9l eGMoZmlsZT1zeXMuc3RkZXJyKQorCisKIGRlZiBjcmVhdGVfY29uc3RyYWlu dCgKICAgICAgICAgc2VydmVyLCBkYl9uYW1lLCB0YWJsZV9uYW1lLAogICAg ICAgICBjb25zdHJhaW50X3R5cGU9InVuaXF1ZSIsIGNvbnN0cmFpbnRfbmFt ZT0idGVzdF91bmlxdWUiKToKQEAgLTI3NCw3ICszMDMsNiBAQCBkZWYgZHJv cF9kYXRhYmFzZShjb25uZWN0aW9uLCBkYXRhYmFzZV9uYW1lKToKICAgICAg ICAgICAgIGNvbm5lY3Rpb24uY29tbWl0KCkKICAgICAgICAgICAgIGNvbm5l Y3Rpb24uY2xvc2UoKQogCi0KIGRlZiBkcm9wX3RhYmxlc3BhY2UoY29ubmVj dGlvbik6CiAgICAgIiIiVGhpcyBmdW5jdGlvbiB1c2VkIHRvIGRyb3AgdGhl IHRhYmxlc3BhY2UiIiIKICAgICBwZ19jdXJzb3IgPSBjb25uZWN0aW9uLmN1 cnNvcigpCg== --001a11498cd4b0fb98054f2bed05 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 --001a11498cd4b0fb98054f2bed05--