Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kV6qZ-0002D0-1J for pgadmin-hackers@arkaria.postgresql.org; Wed, 21 Oct 2020 05:39:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kV6q0-0005Tk-6g for pgadmin-hackers@arkaria.postgresql.org; Wed, 21 Oct 2020 05:39:04 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kV6pz-0005Td-6B for pgadmin-hackers@lists.postgresql.org; Wed, 21 Oct 2020 05:39:03 +0000 Received: from mail-yb1-xb2d.google.com ([2607:f8b0:4864:20::b2d]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1kV6pv-0004S4-Fe for pgadmin-hackers@postgresql.org; Wed, 21 Oct 2020 05:39:01 +0000 Received: by mail-yb1-xb2d.google.com with SMTP id 67so741804ybt.6 for ; Tue, 20 Oct 2020 22:38:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ydvNZZ8/GcS7pQW0B7dOC4tfeCZgeMhVYUBlRNdLIbg=; b=UJ2rHHpOhLv3p+JZmN9zBvDpuSD9p+/YKbBgkVPdc5FaB6Fu8ziGX2KLuaWbLdTBp6 7K+CBzAiU/0eK72Vx8VNUJGxvOmZl2HpREmoSqWEXfiaNvxXhHIlhMC2tTkDqtrqiUWy af+Bi1qniFKZnRKxQpASE5U5C0/iSGEwlG+eNAR5HN+kFAHYR4eSAQhplx+ZdcjIGuXV PxABEjLzOBAD5oHnJXejJ2cYHt0Jgr0L7jXGqfuY9SavZhKY4jw8nI+wWN42ais5iLbV CG1s/grV+BDDi8KPd3nUc8S/fKvw1nHythq6/XZfMltELMAhNxSkF4a1xB/6PzbquaYd Meww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ydvNZZ8/GcS7pQW0B7dOC4tfeCZgeMhVYUBlRNdLIbg=; b=hsmboV3U9S7NiA0ftINwyVb0Rpp4SbdFjo8opawVxYTtG9JOmZ0+hikJbw7nXqrXZL g2pdXGILg2+i9eWdRuE87L6aBw4fRc/kQax6WQphO7AVs0IDGAXPAjy78knI6oUVtW+2 R29KK6HJWEzNYhF7FrtFM4NkYtyBED5IJ8Q3WrT3bJ2THAg0R3fMBkkBiBHWUf4FBEc4 nnC8QA/OEvaxwelBThmGve20XUbPZHuYHVflzgHl/UQCJfbGjcgZOsDQxLqxRXpd/Rrl mZWGyk640RWR7mDd2M7NlpgyI3IBMIUY5JQY1cSRa/RnqyAdE+l5NAX5pUl1is+liKkF qRMw== X-Gm-Message-State: AOAM530ryQuDVGPwQ7UYp7HEZmYflB25mei9WnV0PJ8fwgoFccuhJbSk bk7OtCJng08qcgX35g9ysmCmG0iAdTnfLGzVCO6VvvRVT/xmLDTfi2LyJ1jtZgfW8OiwdOfy7Jp uYkDjN+X9V9u7FazSzfp3QDfunJ16JH+KLnz3G2aN5DrxnbkNRUnn0M98gT3AhVbv54CXtD9iWM y/dAkYpU8idwZtHjzkYweW78VDF8F5eEvj4CmpLJimIKZDHIgrz6tb273mzQ== X-Google-Smtp-Source: ABdhPJwgLa5DxxqSrdRv3O5d+x4++QO4mIPujqGvYMkH4R8YzXN75DFqvKe9XrNidhic+BBhrc2LyYEp70ej57/JPpg= X-Received: by 2002:a25:2558:: with SMTP id l85mr2741187ybl.46.1603258737829; Tue, 20 Oct 2020 22:38:57 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Nikhil Mohite Date: Wed, 21 Oct 2020 11:08:46 +0530 Message-ID: Subject: Re: [pgAdmin][RM3794]:Allow User to Change Database Connection from an Open Query Tool Tab To: Akshay Joshi Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary="0000000000008d676405b227c3a4" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000008d676405b227c3a4 Content-Type: multipart/alternative; boundary="0000000000008d676305b227c3a2" --0000000000008d676305b227c3a2 Content-Type: text/plain; charset="UTF-8" Hi Akshay, I have updated the existing implementation as per suggestions. 1. Show servers in server groups in the dropdown. 2. Current selected connection in the new connection dropdown is now highlighted as selected. 3. Notification to the user before the change connection action. 4. If we connect to the server through a new connection dialog, the tree will use the same connection and it will not create a new connection. (In earlier implementation it was asking for the password even we have connected from a new connection dialog.) PFA patch Regards, Nikhil Mohite. On Thu, Oct 8, 2020 at 11:39 AM Akshay Joshi wrote: > Thanks, patch applied. > > On Wed, Oct 7, 2020 at 12:11 PM Nikhil Mohite < > nikhil.mohite@enterprisedb.com> wrote: > >> Hi Akshay, >> >> I checked the implementation and found 2 locations which I missed in the >> last patch to remove async: False. >> I have removed all occurrences of async: False now also added missing >> loader in required places. >> >> PFA updated the patch for the same. >> >> Regards, >> Nikhil Mohite. >> >> On Tue, Oct 6, 2020 at 6:19 PM Akshay Joshi < >> akshay.joshi@enterprisedb.com> wrote: >> >>> Hi Nikhil >>> >>> Please verify and remove async = false wherever possible. >>> >>> On Tue, Oct 6, 2020 at 5:24 PM Dave Page >>> wrote: >>> >>>> >>>> >>>> On Tue, Oct 6, 2020 at 12:51 PM Murtuza Zabuawala < >>>> murtuza.zabuawala@enterprisedb.com> wrote: >>>> >>>>> Hi Akshay, >>>>> >>>>> We have used aysnc=False in most ajax calls with this feature, It is >>>>> causing UI hang in case of slow server response. >>>>> You can try adding a time.sleep() call at the python side response and >>>>> check the UI hang, I think we should avoid sync calls as much as possible. >>>>> >>>> >>>> I consider a sync ajax call to be a bug. >>>> >>>> >>>>> >>>>> >>>>> -- >>>>> Regards, >>>>> Murtuza Zabuawala >>>>> *EDB* >>>>> *POWER TO POSTGRES* >>>>> https://www.edbpostgres.com >>>>> >>>>> >>>>> On Thu, Oct 1, 2020 at 1:31 PM Akshay Joshi < >>>>> akshay.joshi@enterprisedb.com> wrote: >>>>> >>>>>> Thanks, patch applied. >>>>>> >>>>>> On Thu, Oct 1, 2020 at 10:42 AM Nikhil Mohite < >>>>>> nikhil.mohite@enterprisedb.com> wrote: >>>>>> >>>>>>> Hi Akshay, >>>>>>> >>>>>>> I have resolved the sonarQube issues, PFA updated patch for the same. >>>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> Nikhil Mohite. >>>>>>> >>>>>>> >>>>>>> On Tue, Sep 29, 2020 at 11:31 AM Akshay Joshi < >>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>> >>>>>>>> Hi Nikhil >>>>>>>> >>>>>>>> Your patch introduces 1 new Bug and 13 new code smells, please fix >>>>>>>> those and resend the patch. >>>>>>>> >>>>>>>> On Mon, Sep 28, 2020 at 7:31 PM Nikhil Mohite < >>>>>>>> nikhil.mohite@enterprisedb.com> wrote: >>>>>>>> >>>>>>>>> Hi Akshay, >>>>>>>>> >>>>>>>>> I have resolved code conflict issues and sonarqube issues. >>>>>>>>> PFA updated patch. >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Nikhil Mohite. >>>>>>>>> >>>>>>>>> On Mon, Sep 28, 2020 at 5:58 PM Akshay Joshi < >>>>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>>>> >>>>>>>>>> Hi Nikhil >>>>>>>>>> >>>>>>>>>> The patch is not applying, rebase, and send it again. Please >>>>>>>>>> check your code should not create any new SonarQube issues. >>>>>>>>>> >>>>>>>>>> On Mon, Sep 28, 2020 at 11:20 AM Nikhil Mohite < >>>>>>>>>> nikhil.mohite@enterprisedb.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Akshay, >>>>>>>>>>> >>>>>>>>>>> I have resolved all the review comments and also updated the >>>>>>>>>>> test cases as per the new implementation. >>>>>>>>>>> >>>>>>>>>>> PFA updated patch. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Mon, Sep 21, 2020 at 5:24 PM Akshay Joshi < >>>>>>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Nikhil >>>>>>>>>>>> >>>>>>>>>>>> Following are the initial review comments: >>>>>>>>>>>> >>>>>>>>>>>> - Open View/Edit data on any table and click on the same >>>>>>>>>>>> database connection and then click on the Execute button. Got >>>>>>>>>>>> "get_primary_keys() takes 1 positional argument but 2 were given" error. >>>>>>>>>>>> - In my opinion, we should hide the option to change the >>>>>>>>>>>> database connection for View/Edit Data. >>>>>>>>>>>> - If the user clicks on the same database connection >>>>>>>>>>>> multiple times then no need to change the backend connection and >>>>>>>>>>>> transaction id. Add validation at the backend, no action required in this >>>>>>>>>>>> case. >>>>>>>>>>>> - The role option is missing from the "connect to server" >>>>>>>>>>>> dialog. >>>>>>>>>>>> - The Password field should not be there on the "connect to >>>>>>>>>>>> server" dialog. Sometimes we saved the password so asking a password every >>>>>>>>>>>> time is not correct. Check the pgAdmin 3 behavior. >>>>>>>>>>>> >>>>>>>>>>>> Code review still remains. >>>>>>>>>>>> >>>>>>>>>>>> On Thu, Sep 17, 2020 at 4:15 PM Nikhil Mohite < >>>>>>>>>>>> nikhil.mohite@enterprisedb.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi Team, >>>>>>>>>>>>> >>>>>>>>>>>>> Regarding RM-3794 >>>>>>>>>>>>> allow the user to change the database connection from an open query tool: >>>>>>>>>>>>> I have implemented the feature and also added documentation >>>>>>>>>>>>> for it. >>>>>>>>>>>>> >>>>>>>>>>>>> PFA patch. >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> *Thanks & Regards,* >>>>>>>>>>>>> *Nikhil Mohite* >>>>>>>>>>>>> *Software Engineer.* >>>>>>>>>>>>> *EDB Postgres* >>>>>>>>>>>>> *Mob.No: +91-7798364578.* >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> *Thanks & Regards* >>>>>>>>>>>> *Akshay Joshi* >>>>>>>>>>>> *pgAdmin Hacker | Sr. Software Architect* >>>>>>>>>>>> *EDB Postgres * >>>>>>>>>>>> >>>>>>>>>>>> *Mobile: +91 976-788-8246* >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> *Thanks & Regards* >>>>>>>>>> *Akshay Joshi* >>>>>>>>>> *pgAdmin Hacker | Sr. Software Architect* >>>>>>>>>> *EDB Postgres * >>>>>>>>>> >>>>>>>>>> *Mobile: +91 976-788-8246* >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Thanks & Regards* >>>>>>>> *Akshay Joshi* >>>>>>>> *pgAdmin Hacker | Sr. Software Architect* >>>>>>>> *EDB Postgres * >>>>>>>> >>>>>>>> *Mobile: +91 976-788-8246* >>>>>>>> >>>>>>> >>>>>> >>>>>> -- >>>>>> *Thanks & Regards* >>>>>> *Akshay Joshi* >>>>>> *pgAdmin Hacker | Sr. Software Architect* >>>>>> *EDB Postgres * >>>>>> >>>>>> *Mobile: +91 976-788-8246* >>>>>> >>>>> >>>> >>>> -- >>>> Dave Page >>>> VP & Chief Architect, Database Infrastructure >>>> EDB: http://www.enterprisedb.com >>>> >>>> Blog: http://pgsnake.blogspot.com >>>> Twitter: @pgsnake >>>> >>> >>> >>> -- >>> *Thanks & Regards* >>> *Akshay Joshi* >>> *pgAdmin Hacker | Sr. Software Architect* >>> *EDB Postgres * >>> >>> *Mobile: +91 976-788-8246* >>> >> > > -- > *Thanks & Regards* > *Akshay Joshi* > *pgAdmin Hacker | Sr. Software Architect* > *EDB Postgres * > > *Mobile: +91 976-788-8246* > --0000000000008d676305b227c3a2 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Akshay,

I have updated the existing= =C2=A0implementation as per suggestions.
1. Show servers in serve= r groups in the dropdown.
2. Current selected connection in the n= ew connection dropdown is now highlighted as selected.
3. Notific= ation to the user before the change connection action.
4. If we c= onnect to the server through a new connection dialog, the=C2=A0tree will us= e the same connection and it will not create a new connection.
(I= n earlier implementation it was asking for the password even we=C2=A0have c= onnected from a new connection dialog.)

PFA patch<= /div>

Regards,
Nikhil Mohite.

<= div class=3D"gmail_quote">
On Thu, Oct= 8, 2020 at 11:39 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks, patch app= lied.

On Wed, Oct 7, 2020 at 12:11 PM Nikhil Mohite <nikhil.mohite@enterprisedb.= com> wrote:
Hi Akshay,

I checked the impleme= ntation and found 2 locations which I missed in the last patch to remove as= ync: False.
I have removed all occurrences of async: False now al= so=C2=A0added missing loader in required places.

P= FA updated the patch for the same.

Regards,
<= div>Nikhil Mohite.

On Tue, Oct 6, 2020 at 6:19 PM Akshay Joshi <akshay.josh= i@enterprisedb.com> wrote:
Hi Nikhil=C2=A0

Pleas= e verify and remove async =3D false wherever possible.

On Tue, Oct 6, = 2020 at 5:24 PM Dave Page <dave.page@enterprisedb.com> wrote:


On Tue, Oct 6, 2020 at 12:51 PM Murtuza Zabuawala <murtuza.zabuawal= a@enterprisedb.com> wrote:
Hi Akshay,

We have used aysnc=3DFalse in most ajax c= alls with this feature, It is causing=C2=A0UI hang in case of slow server r= esponse.
You can try adding a time.sleep() call at the python side response and= check the UI hang, I think we should avoid sync calls as much as possible.=

I consider a sync ajax call to= be a bug.
=C2=A0


--
Regards,
Murtuza Zabuawala
EDB
POWER TO POSTGRES
https://www.edbpostgres.com
<= /div>


On Thu, Oct 1, 202= 0 at 1:31 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks,= patch applied.

On Thu, Oct 1, 2020 at 10:42 AM Nikhil Mohite <nikhil.mohite= @enterprisedb.com> wrote:
Hi Akshay,

I have= =C2=A0resolved the sonarQube issues, PFA updated patch for the same.
<= div>

Regards,
Nikhil Mohite.


On Tue, Sep 29, 2020 at 11:31 AM Akshay Joshi <akshay.joshi@enterpr= isedb.com> wrote:
Hi=C2=A0Nikhil

Your patch in= troduces 1 new Bug and 13 new code smells, please fix those and resend the = patch.

On Mon, Sep 28, 2020 at 7:31 PM Nikhil Mohite <nikhil.mohite@enterp= risedb.com> wrote:
Hi Akshay,

I have resolv= ed code conflict issues and sonarqube issues.
PFA updated patch.<= /div>

Regards,
Nikhil Mohite.

<= div class=3D"gmail_quote">
On Mon, Sep= 28, 2020 at 5:58 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:<= br>
Hi=C2=A0Nikhil

The patch is not applying, rebase, and s= end it again. Please check your code should not create any new SonarQube is= sues.

On Mon, Sep 28, 2020 at 11:20 AM Nikhil Mohite <nikhil.mohite@enterp= risedb.com> wrote:
Hi Akshay,

I have resolv= ed all the review comments and also updated the test cases as per the new i= mplementation.

PFA updated patch.



On Mon, Sep 21, 2020 at 5:24 PM Akshay Joshi <akshay.joshi@en= terprisedb.com> wrote:
Hi=C2=A0Nikhil

Following = are the initial review comments:
  • Open View/Edit data on any tab= le and click on the same database connection and then click on the Execute = button. Got "get_primary_keys() takes 1 positional argument but 2 were= given" error.
  • In my opinion, we should hide the option to cha= nge the database connection for View/Edit Data.
  • If the user clicks = on the same database connection multiple times then no need to change the b= ackend connection and transaction id. Add validation at the backend, no act= ion required in this case.
  • The role option is missing from the &quo= t;connect to server" dialog.
  • The Password field should not be = there on the "connect to server" dialog. Sometimes we saved the p= assword so asking a password every time is not correct. Check the pgAdmin 3= behavior.
Code review still remains.

On Thu, Sep 17, 2= 020 at 4:15 PM Nikhil Mohite <nikhil.mohite@enterprisedb.com> wrote:
=
Hi= Team,

Regarding RM-3794 allow the=C2=A0user to change= the database connection from an open query tool:
I have implemen= ted the feature and also added documentation for it.

PFA patch.

--
Thanks & Regards,Nikhil Mohite
Software Engineer.
<= div>EDB Postgres
Mob.No: +91-7798364578.
<= /div>


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Sr. Software Ar= chitect
EDB Postgres=
Mobile: +91 976-788-8246



--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Sr. Software Ar= chitect
EDB Postgres=
Mobile: +91 976-788-8246



--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Sr. Software Ar= chitect
EDB Postgres=
Mobile: +91 976-788-8246



--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Sr. Software Ar= chitect
EDB Postgres=
Mobile: +91 976-788-8246



--
Dave Page
VP & Chief Architect, Database Infr= astructure
EDB: http://www.enterprisedb.com

Blog: http://pgsnake.blogspot.com
Twitter: @= pgsnake


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Sr. Software Ar= chitect
EDB Postgres=
Mobile: +91 976-788-8246



--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Sr. Software Ar= chitect
EDB Postgres=
Mobile: +91 976-788-8246

--0000000000008d676305b227c3a2-- --0000000000008d676405b227c3a4 Content-Type: application/octet-stream; name="RM_3794_review_comments.patch" Content-Disposition: attachment; filename="RM_3794_review_comments.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kgiy1c4w0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL19f aW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvX19p bml0X18ucHkKaW5kZXggMjYzMGQxZS4uYWI0YmVhNCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvX19pbml0X18ucHkKQEAgLTEzMTAsNyAr MTMxMCw4IEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVWaWV3KToKIAogICAgICAgICAj IENvbm5lY3QgdGhlIFNlcnZlcgogICAgICAgICBtYW5hZ2VyID0gZ2V0X2RyaXZlcihQR19ERUZB VUxUX0RSSVZFUikuY29ubmVjdGlvbl9tYW5hZ2VyKHNpZCkKLSAgICAgICAgbWFuYWdlci51cGRh dGUoc2VydmVyKQorICAgICAgICBpZiBub3QgbWFuYWdlci5jb25uZWN0aW9uKCkuY29ubmVjdGVk KCk6CisgICAgICAgICAgICBtYW5hZ2VyLnVwZGF0ZShzZXJ2ZXIpCiAgICAgICAgIGNvbm4gPSBt YW5hZ2VyLmNvbm5lY3Rpb24oKQogCiAgICAgICAgICMgR2V0IGVuYyBrZXkKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9zcWxlZGl0b3IvbmV3X2Nvbm5lY3Rpb25fZGlhbG9nLmpz IGIvd2ViL3BnYWRtaW4vc3RhdGljL2pzL3NxbGVkaXRvci9uZXdfY29ubmVjdGlvbl9kaWFsb2cu anMKaW5kZXggMTA4NTBlMS4uYjE5YTUwYSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGlj L2pzL3NxbGVkaXRvci9uZXdfY29ubmVjdGlvbl9kaWFsb2cuanMKKysrIGIvd2ViL3BnYWRtaW4v c3RhdGljL2pzL3NxbGVkaXRvci9uZXdfY29ubmVjdGlvbl9kaWFsb2cuanMKQEAgLTI0Myw3ICsy NDMsNiBAQCBsZXQgTmV3Q29ubmVjdGlvbkRpYWxvZyA9IHsKICAgICAgICAgICAgICAgICAgICd0 aXRsZSc6IF8uZXNjYXBlKHRhYl90aXRsZSksCiAgICAgICAgICAgICAgICAgICAndXNlcic6IG5l d0Nvbm5Db2xsZWN0aW9uTW9kZWxbJ3VzZXInXSwKICAgICAgICAgICAgICAgICAgICdyb2xlJzog bmV3Q29ubkNvbGxlY3Rpb25Nb2RlbFsncm9sZSddLAotICAgICAgICAgICAgICAgICAgJ3Bhc3N3 b3JkJzogcmVzcG9uc2UucGFzc3dvcmQsCiAgICAgICAgICAgICAgICAgICAnc2VydmVyX25hbWUn OiBfLmVzY2FwZShyZXNwb25zZS5zZXJ2ZXJfbmFtZSksCiAgICAgICAgICAgICAgICAgICAnZGF0 YWJhc2VfbmFtZSc6IF8uZXNjYXBlKHNlbGVjdGVkX2RhdGFiYXNlX25hbWUpLAogICAgICAgICAg ICAgICAgICAgJ2lzX3NlbGVjdGVkJzogZmFsc2UsCkBAIC0yNjAsMTMgKzI1OSwxMiBAQCBsZXQg TmV3Q29ubmVjdGlvbkRpYWxvZyA9IHsKICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAg ICAgICAgQWxlcnRpZnkubmV3Q29ubmVjdGlvbkRpYWxvZygnQ29ubmVjdCB0byBzZXJ2ZXIuJyku cmVzaXplVG8ocGdBZG1pbi5Ccm93c2VyLnN0ZFcubWQscGdBZG1pbi5Ccm93c2VyLnN0ZEgubWQp OwogICAgICAgfSwgNTAwKTsKLSAgICB9KS5mYWlsKGZ1bmN0aW9uKGVycm9yKSB7CisgICAgfSku ZmFpbChmdW5jdGlvbigpIHsKICAgICAgIEFsZXJ0aWZ5LmFsZXJ0KCkuc2V0dGluZyh7CiAgICAg ICAgICd0aXRsZSc6IGdldHRleHQoJ0Nvbm5lY3Rpb24gbG9zdCcpLAogICAgICAgICAnbGFiZWwn OmdldHRleHQoJ09rJyksCiAgICAgICAgICdtZXNzYWdlJzogZ2V0dGV4dCgnQ29ubmVjdGlvbiB0 byB0aGUgc2VydmVyIGhhcyBiZWVuIGxvc3QuJyksCiAgICAgICAgICdvbm9rJzogZnVuY3Rpb24o KXsKLSAgICAgICAgICBhbGVydChlcnJvcik7CiAgICAgICAgICAgLy9DbG9zZSB0aGUgd2luZG93 IGFmdGVyIGNvbm5lY3Rpb24gaXMgbG9zdAogICAgICAgICAgIHdpbmRvdy5jbG9zZSgpOwogICAg ICAgICB9LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL2pzL3NxbGVkaXRvci9uZXdf Y29ubmVjdGlvbl9kaWFsb2dfbW9kZWwuanMgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvc3FsZWRp dG9yL25ld19jb25uZWN0aW9uX2RpYWxvZ19tb2RlbC5qcwppbmRleCAwOWIyOTc5Li4xZGQzMmI3 IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvc3FsZWRpdG9yL25ld19jb25uZWN0 aW9uX2RpYWxvZ19tb2RlbC5qcworKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvc3FsZWRpdG9y L25ld19jb25uZWN0aW9uX2RpYWxvZ19tb2RlbC5qcwpAQCAtNzgsNyArNzgsNiBAQCBleHBvcnQg ZGVmYXVsdCBmdW5jdGlvbiBuZXdDb25uZWN0aW9uRGlhbG9nTW9kZWwocmVzcG9uc2UsIHNnaWQs IHNpZCkgewogICAgICAgc2VydmVyOiBwYXJzZUludChzaWQpLAogICAgICAgZGF0YWJhc2U6IG51 bGwsCiAgICAgICB1c2VyOiBudWxsLAotICAgICAgcGFzc3dvcmQ6IG51bGwsCiAgICAgICBzZXJ2 ZXJfbmFtZTogc2VydmVyX25hbWUsCiAgICAgICBkYXRhYmFzZV9uYW1lOiBkYXRhYmFzZV9uYW1l LAogICAgIH0sCkBAIC05Miw3ICs5MSw2MyBAQCBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBuZXdD b25uZWN0aW9uRGlhbG9nTW9kZWwocmVzcG9uc2UsIHNnaWQsIHNpZCkgewogICAgICAgc2VsZWN0 MjogewogICAgICAgICBhbGxvd0NsZWFyOiBmYWxzZSwKICAgICAgIH0sCisgICAgICB0cmFuc2Zv cm06IGZ1bmN0aW9uKGRhdGEpIHsKKyAgICAgICAgbGV0IGdyb3VwX3RlbXBsYXRlX29wdGlvbnMg PSBbXTsKKyAgICAgICAgZm9yIChsZXQga2V5IGluIGRhdGEpIHsKKyAgICAgICAgICBpZiAoZGF0 YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7CisgICAgICAgICAgICBncm91cF90ZW1wbGF0ZV9vcHRp b25zLnB1c2goeydncm91cCc6IGtleSwgJ29wdHZhbCc6IGRhdGFba2V5XX0pOworICAgICAgICAg IH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZ3JvdXBfdGVtcGxhdGVfb3B0aW9uczsKKyAg ICAgIH0sCiAgICAgICBjb250cm9sOiBCYWNrZm9ybS5TZWxlY3QyQ29udHJvbC5leHRlbmQoewor ICAgICAgICB0ZW1wbGF0ZTogXy50ZW1wbGF0ZShbCisgICAgICAgICAgJzwlIGlmKGxhYmVsID09 IGZhbHNlKSB7fSBlbHNlIHslPicsCisgICAgICAgICAgJyAgPGxhYmVsIGNsYXNzPSI8JT1CYWNr Zm9ybS5jb250cm9sTGFiZWxDbGFzc05hbWUlPiI+PCU9bGFiZWwlPjwvbGFiZWw+JywKKyAgICAg ICAgICAnPCUgfSU+JywKKyAgICAgICAgICAnPGRpdiBjbGFzcz0iPCU9Y29udHJvbHNDbGFzc05h bWUlPiI+JywKKyAgICAgICAgICAnIDxzZWxlY3QgY2xhc3M9IjwlPUJhY2tmb3JtLmNvbnRyb2xD bGFzc05hbWUlPiA8JT1leHRyYUNsYXNzZXMuam9pbihcJyBcJyklPiInLAorICAgICAgICAgICcg IG5hbWU9IjwlPW5hbWUlPiIgdmFsdWU9IjwlLXZhbHVlJT4iIDwlPWRpc2FibGVkID8gImRpc2Fi bGVkIiA6ICIiJT4nLAorICAgICAgICAgICcgIDwlPXJlcXVpcmVkID8gInJlcXVpcmVkIiA6ICIi JT48JT0gc2VsZWN0Mi5tdWx0aXBsZSA/ICIgbXVsdGlwbGU+IiA6ICI+IiAlPicsCisgICAgICAg ICAgJyAgPCU9c2VsZWN0Mi5maXJzdF9lbXB0eSA/ICIgPG9wdGlvbj48L29wdGlvbj4iIDogIiIl PicsCisgICAgICAgICAgJyAgPCUgZm9yICh2YXIgaT0wOyBpIDwgb3B0aW9ucy5sZW5ndGg7IGkr KykgeyU+JywKKyAgICAgICAgICAnICAgPCUgaWYgKG9wdGlvbnNbaV0uZ3JvdXApIHsgJT4nLAor ICAgICAgICAgICcgICAgIDwlIHZhciBncm91cCA9IG9wdGlvbnNbaV0uZ3JvdXA7ICU+JywKKyAg ICAgICAgICAnICAgICA8JSBpZiAob3B0aW9uc1tpXS5vcHR2YWwpIHsgJT4gPCUgdmFyIG9wdGlv bl9sZW5ndGggPSBvcHRpb25zW2ldLm9wdHZhbC5sZW5ndGg7ICU+JywKKyAgICAgICAgICAnICAg ICAgPG9wdGdyb3VwIGxhYmVsPSI8JT1ncm91cCU+Ij4nLAorICAgICAgICAgICcgICAgICA8JSBm b3IgKHZhciBzdWJpbmRleD0wOyBzdWJpbmRleCA8IG9wdGlvbl9sZW5ndGg7IHN1YmluZGV4Kysp IHslPicsCisgICAgICAgICAgJyAgICAgICAgPCUgdmFyIG9wdGlvbiA9IG9wdGlvbnNbaV0ub3B0 dmFsW3N1YmluZGV4XTsgJT4nLAorICAgICAgICAgICcgICAgICAgIDxvcHRpb24gJywKKyAgICAg ICAgICAnICAgICAgICA8JSBpZiAob3B0aW9uLmltYWdlKSB7ICU+IGRhdGEtaW1hZ2U9PCU9b3B0 aW9uLmltYWdlJT4gPCV9JT4nLAorICAgICAgICAgICcgICAgICAgIDwlIGlmIChvcHRpb24uY29u bmVjdGVkKSB7ICU+IGRhdGEtY29ubmVjdGVkPWNvbm5lY3RlZCA8JX0lPicsCisgICAgICAgICAg JyAgICAgICAgdmFsdWU9PCUtIGZvcm1hdHRlci5mcm9tUmF3KG9wdGlvbi52YWx1ZSkgJT4nLAor ICAgICAgICAgICcgICAgICAgIDwlIGlmIChvcHRpb24uc2VsZWN0ZWQpIHslPnNlbGVjdGVkPSJz ZWxlY3RlZCI8JX0gZWxzZSB7JT4nLAorICAgICAgICAgICcgICAgICAgIDwlIGlmICghc2VsZWN0 Mi5tdWx0aXBsZSAmJiBvcHRpb24udmFsdWUgPT09IHJhd1ZhbHVlKSB7JT5zZWxlY3RlZD0ic2Vs ZWN0ZWQiPCV9JT4nLAorICAgICAgICAgICcgICAgICAgIDwlIGlmIChzZWxlY3QyLm11bHRpcGxl ICYmIHJhd1ZhbHVlICYmIHJhd1ZhbHVlLmluZGV4T2Yob3B0aW9uLnZhbHVlKSAhPSAtMSl7JT5z ZWxlY3RlZD0ic2VsZWN0ZWQiIGRhdGEtaW5kZXg9InJhd1ZhbHVlLmluZGV4T2Yob3B0aW9uLnZh bHVlKSI8JX0lPicsCisgICAgICAgICAgJyAgICAgICAgPCV9JT4nLAorICAgICAgICAgICcgICAg ICAgIDwlPSBkaXNhYmxlZCA/ICJkaXNhYmxlZCIgOiAiIiU+PjwlLW9wdGlvbi5sYWJlbCU+PC9v cHRpb24+JywKKyAgICAgICAgICAnICAgICAgPCV9JT4nLAorICAgICAgICAgICcgICAgICA8L29w dGdyb3VwPicsCisgICAgICAgICAgJyAgICAgPCV9JT4nLAorICAgICAgICAgICcgICA8JX0gZWxz ZSB7JT4nLAorICAgICAgICAgICcgICAgIDwlIHZhciBvcHRpb24gPSBvcHRpb25zW2ldOyAlPics CisgICAgICAgICAgJyAgICAgPG9wdGlvbiAnLAorICAgICAgICAgICcgICAgIDwlIGlmIChvcHRp b24uaW1hZ2UpIHsgJT4gZGF0YS1pbWFnZT08JT1vcHRpb24uaW1hZ2UlPiA8JX0lPicsCisgICAg ICAgICAgJyAgICAgPCUgaWYgKG9wdGlvbi5jb25uZWN0ZWQpIHsgJT4gZGF0YS1jb25uZWN0ZWQ9 Y29ubmVjdGVkIDwlfSU+JywKKyAgICAgICAgICAnICAgICB2YWx1ZT08JS0gZm9ybWF0dGVyLmZy b21SYXcob3B0aW9uLnZhbHVlKSAlPicsCisgICAgICAgICAgJyAgICAgPCUgaWYgKG9wdGlvbi5z ZWxlY3RlZCkgeyU+c2VsZWN0ZWQ9InNlbGVjdGVkIjwlfSBlbHNlIHslPicsCisgICAgICAgICAg JyAgICAgPCUgaWYgKCFzZWxlY3QyLm11bHRpcGxlICYmIG9wdGlvbi52YWx1ZSA9PT0gcmF3VmFs dWUpIHslPnNlbGVjdGVkPSJzZWxlY3RlZCI8JX0lPicsCisgICAgICAgICAgJyAgICAgPCUgaWYg KHNlbGVjdDIubXVsdGlwbGUgJiYgcmF3VmFsdWUgJiYgcmF3VmFsdWUuaW5kZXhPZihvcHRpb24u dmFsdWUpICE9IC0xKXslPnNlbGVjdGVkPSJzZWxlY3RlZCIgZGF0YS1pbmRleD0icmF3VmFsdWUu aW5kZXhPZihvcHRpb24udmFsdWUpIjwlfSU+JywKKyAgICAgICAgICAnICAgICA8JX0lPicsCisg ICAgICAgICAgJyAgICAgPCU9IGRpc2FibGVkID8gImRpc2FibGVkIiA6ICIiJT4+PCUtb3B0aW9u LmxhYmVsJT48L29wdGlvbj4nLAorICAgICAgICAgICcgICA8JX0lPicsCisgICAgICAgICAgJyAg PCV9JT4nLAorICAgICAgICAgICcgPC9zZWxlY3Q+JywKKyAgICAgICAgICAnIDwlIGlmIChoZWxw TWVzc2FnZSAmJiBoZWxwTWVzc2FnZS5sZW5ndGgpIHsgJT4nLAorICAgICAgICAgICcgPHNwYW4g Y2xhc3M9IjwlPUJhY2tmb3JtLmhlbHBNZXNzYWdlQ2xhc3NOYW1lJT4iPjwlPWhlbHBNZXNzYWdl JT48L3NwYW4+JywKKyAgICAgICAgICAnIDwlIH0gJT4nLAorICAgICAgICAgICc8L2Rpdj4nLAor ICAgICAgICBdLmpvaW4oJ1xuJykpLAogICAgICAgICBjb25uZWN0OiBmdW5jdGlvbihzZWxmKSB7 CiAgICAgICAgICAgbGV0IGxvY2FsX3NlbGYgPSBzZWxmOwogCkBAIC0xNDcsMTEgKzIwMiwxNCBA QCBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBuZXdDb25uZWN0aW9uRGlhbG9nTW9kZWwocmVzcG9u c2UsIHNnaWQsIHNpZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxfc2VsZi5tb2Rl bC5hdHRyaWJ1dGVzLnVzZXIgPSBudWxsOwogICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxf c2VsZi5tb2RlbC5hdHRyaWJ1dGVzLnJvbGUgPSBudWxsOwogICAgICAgICAgICAgICAgICAgICAg ICAgQmFja2Zvcm0uU2VsZWN0MkNvbnRyb2wucHJvdG90eXBlLm9uQ2hhbmdlLmFwcGx5KGxvY2Fs X3NlbGYsIGFyZ3VtZW50cyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5zZXJ2 ZXJfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKG9iail7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg IGlmKG9iai5pZD09c2VsZi5tb2RlbC5jaGFuZ2VkLnNlcnZlcikgewotICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlc3BvbnNlLnNlcnZlcl9uYW1lID0gb2JqLm5hbWU7Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHJl c3BvbnNlLnNlcnZlcl9saXN0KS5mb3JFYWNoKGtleSA9PiB7CisgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlc3BvbnNlLnNlcnZlcl9saXN0W2tleV0uZm9yRWFjaChvcHRpb24gPT4geworICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb24udmFsdWUgPT0gcGFyc2VJbnQoc2lk KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2Uuc2VydmVyX25hbWUg PSBvcHRpb24ubGFiZWw7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg ICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0pOworCiAgICAg ICAgICAgICAgICAgICAgICAgICBsb2FkaW5nRGl2LmFkZENsYXNzKCdkLW5vbmUnKTsKICAgICAg ICAgICAgICAgICAgICAgICAgIGFsZXJ0aWZ5LmNvbm5lY3RTZXJ2ZXIoKS5kZXN0cm95KCk7CiAg ICAgICAgICAgICAgICAgICAgICAgfSkKQEAgLTE2MCw4ICsyMTgsNiBAQCBleHBvcnQgZGVmYXVs dCBmdW5jdGlvbiBuZXdDb25uZWN0aW9uRGlhbG9nTW9kZWwocmVzcG9uc2UsIHNnaWQsIHNpZCkg ewogICAgICAgICAgICAgICAgICAgICAgICAgYWxlcnRpZnkuY29ubmVjdFNlcnZlcigpLmRlc3Ry b3koKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGFsZXJ0aWZ5LmNvbm5lY3RTZXJ2ZXIoJ0Nv bm5lY3QgdG8gc2VydmVyJywgeGhyLnJlc3BvbnNlSlNPTi5yZXN1bHQsIGxvY2FsX3NlbGYuZ2V0 VmFsdWVGcm9tRE9NKCkpOwogICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAg ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucGFzc3dvcmQgPSAk KCcjcGFzc3dvcmQnKS52YWwoKTsKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgbG9jYWxfc2VsZi5tb2RlbC5hdHRyaWJ1dGVz LmRhdGFiYXNlID0gbnVsbDsKQEAgLTE3OCw2ICsyMzQsMTkgQEAgZXhwb3J0IGRlZmF1bHQgZnVu Y3Rpb24gbmV3Q29ubmVjdGlvbkRpYWxvZ01vZGVsKHJlc3BvbnNlLCBzZ2lkLCBzaWQpIHsKICAg ICAgICAgcmVuZGVyOiBmdW5jdGlvbigpIHsKICAgICAgICAgICBsZXQgc2VsZiA9IHRoaXM7CiAg ICAgICAgICAgc2VsZi5jb25uZWN0KHNlbGYpOworICAgICAgICAgIE9iamVjdC5rZXlzKHJlc3Bv bnNlLnNlcnZlcl9saXN0KS5mb3JFYWNoKGtleSA9PiB7CisgICAgICAgICAgICByZXNwb25zZS5z ZXJ2ZXJfbGlzdFtrZXldLmZvckVhY2gob3B0aW9uID0+IHsKKyAgICAgICAgICAgICAgaWYgKG9w dGlvbi52YWx1ZSA9PSBwYXJzZUludChzaWQpKSB7CisgICAgICAgICAgICAgICAgcmVzcG9uc2Uu c2VydmVyX25hbWUgPSBvcHRpb24ubGFiZWw7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg IH0pOworICAgICAgICAgIH0pOworICAgICAgICAgIHZhciB0cmFuc2Zvcm0gPSBzZWxmLmZpZWxk LmdldCgndHJhbnNmb3JtJykgfHwgc2VsZi5kZWZhdWx0cy50cmFuc2Zvcm07CisgICAgICAgICAg aWYgKHRyYW5zZm9ybSAmJiBfLmlzRnVuY3Rpb24odHJhbnNmb3JtKSkgeworICAgICAgICAgICAg c2VsZi5maWVsZC5zZXQoJ29wdGlvbnMnLCB0cmFuc2Zvcm0uYmluZChzZWxmLCByZXNwb25zZS5z ZXJ2ZXJfbGlzdCkpOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzZWxmLmZpZWxk LnNldCgnb3B0aW9ucycsIHJlc3BvbnNlLnNlcnZlcl9saXN0KTsKKyAgICAgICAgICB9CiAgICAg ICAgICAgcmV0dXJuIEJhY2tmb3JtLlNlbGVjdDJDb250cm9sLnByb3RvdHlwZS5yZW5kZXIuYXBw bHkoc2VsZiwgYXJndW1lbnRzKTsKICAgICAgICAgfSwKICAgICAgICAgb25DaGFuZ2U6IGZ1bmN0 aW9uKCkgewpAQCAtMjAwLDEwICsyNjksMTIgQEAgZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbmV3 Q29ubmVjdGlvbkRpYWxvZ01vZGVsKHJlc3BvbnNlLCBzZ2lkLCBzaWQpIHsKICAgICAgICAgICAg IH0sCiAgICAgICAgICAgfSkuZG9uZShmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBCYWNrZm9y bS5TZWxlY3QyQ29udHJvbC5wcm90b3R5cGUub25DaGFuZ2UuYXBwbHkoc2VsZiwgYXJndW1lbnRz KTsKLSAgICAgICAgICAgIHJlc3BvbnNlLnNlcnZlcl9saXN0LmZvckVhY2goZnVuY3Rpb24ob2Jq KXsKLSAgICAgICAgICAgICAgaWYob2JqLmlkPT1zZWxmLm1vZGVsLmNoYW5nZWQuc2VydmVyKSB7 Ci0gICAgICAgICAgICAgICAgcmVzcG9uc2Uuc2VydmVyX25hbWUgPSBvYmoubmFtZTsKLSAgICAg ICAgICAgICAgfQorICAgICAgICAgICAgT2JqZWN0LmtleXMocmVzcG9uc2Uuc2VydmVyX2xpc3Qp LmZvckVhY2goa2V5ID0+IHsKKyAgICAgICAgICAgICAgcmVzcG9uc2Uuc2VydmVyX2xpc3Rba2V5 XS5mb3JFYWNoKG9wdGlvbiA9PiB7CisgICAgICAgICAgICAgICAgaWYgKG9wdGlvbi52YWx1ZSA9 PSBwYXJzZUludChzaWQpKSB7CisgICAgICAgICAgICAgICAgICByZXNwb25zZS5zZXJ2ZXJfbmFt ZSA9IG9wdGlvbi5sYWJlbDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIH0pOwog ICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICBsb2FkaW5nRGl2LmFkZENsYXNzKCdkLW5vbmUn KTsKICAgICAgICAgICB9KS5mYWlsKGZ1bmN0aW9uKHhocil7CkBAIC0yMTMsMTcgKzI4NCw2IEBA IGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG5ld0Nvbm5lY3Rpb25EaWFsb2dNb2RlbChyZXNwb25z ZSwgc2dpZCwgc2lkKSB7CiAKICAgICAgICAgfSwKICAgICAgIH0pLAotICAgICAgb3B0aW9uczog ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiBfLm1hcChyZXNwb25zZS5zZXJ2ZXJfbGlzdCwg KG9iaikgPT4gewotICAgICAgICAgIGlmIChvYmouaWQgPT0gcGFyc2VJbnQoc2lkKSkKLSAgICAg ICAgICAgIHJlc3BvbnNlLnNlcnZlcl9uYW1lID0gb2JqLm5hbWU7Ci0KLSAgICAgICAgICByZXR1 cm4gewotICAgICAgICAgICAgdmFsdWU6IG9iai5pZCwKLSAgICAgICAgICAgIGxhYmVsOiBvYmou bmFtZSwKLSAgICAgICAgICB9OwotICAgICAgICB9KTsKLSAgICAgIH0sCiAgICAgfSwKICAgICB7 CiAgICAgICBpZDogJ2RhdGFiYXNlJywKQEAgLTMwMiwyNyArMzYyLDYgQEAgZXhwb3J0IGRlZmF1 bHQgZnVuY3Rpb24gbmV3Q29ubmVjdGlvbkRpYWxvZ01vZGVsKHJlc3BvbnNlLCBzZ2lkLCBzaWQp IHsKICAgICAgIHVybDogJ3NxbGVkaXRvci5nZXRfbmV3X2Nvbm5lY3Rpb25fcm9sZScsCiAgICAg ICBkaXNhYmxlZDogZmFsc2UsCiAgICAgfSwKLSAgICAvKnsKLSAgICAgIGlkOiAncGFzc3dvcmQn LAotICAgICAgbmFtZTogJ3Bhc3N3b3JkJywKLSAgICAgIGxhYmVsOiBnZXR0ZXh0KCdQYXNzd29y ZCd0b29scy9zcWxlZGl0b3IvX19pbml0X18ucHkpLAotICAgICAgdHlwZTogJ3Bhc3N3b3JkJywK LSAgICAgIGVkaXRhYmxlOiB0cnVlLAotICAgICAgZGlzYWJsZWQ6IHRydWUsCi0gICAgICBkZXBz OiBbJ3VzZXInXSwKLSAgICAgIGNvbnRyb2w6IEJhY2tmb3JtLklucHV0Q29udHJvbC5leHRlbmQo ewotICAgICAgICByZW5kZXI6IGZ1bmN0aW9uKCkgewotICAgICAgICAgIGxldCBzZWxmID0gdGhp czsKLSAgICAgICAgICBzZWxmLm1vZGVsLmF0dHJpYnV0ZXMucGFzc3dvcmQgPSBudWxsOwotICAg ICAgICAgIEJhY2tmb3JtLklucHV0Q29udHJvbC5wcm90b3R5cGUucmVuZGVyLmFwcGx5KHNlbGYs IGFyZ3VtZW50cyk7Ci0gICAgICAgICAgcmV0dXJuIHNlbGY7Ci0gICAgICAgIH0sCi0gICAgICAg IG9uQ2hhbmdlOiBmdW5jdGlvbigpIHsKLSAgICAgICAgICBsZXQgc2VsZiA9IHRoaXM7Ci0gICAg ICAgICAgQmFja2Zvcm0uSW5wdXRDb250cm9sLnByb3RvdHlwZS5vbkNoYW5nZS5hcHBseShzZWxm LCBhcmd1bWVudHMpOwotICAgICAgICB9LAotICAgICAgfSksCi0gICAgfSwqLwogICAgIF0sCiAg ICAgdmFsaWRhdGU6IGZ1bmN0aW9uKCkgewogICAgICAgbGV0IG1zZyA9IG51bGw7CkBAIC0zMzYs MTEgKzM3NSw2IEBAIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG5ld0Nvbm5lY3Rpb25EaWFsb2dN b2RlbChyZXNwb25zZSwgc2dpZCwgc2lkKSB7CiAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQo J3VzZXInLCBtc2cpOwogICAgICAgICByZXR1cm4gbXNnOwogICAgICAgfQotICAgICAgLyplbHNl IGlmKCh0aGlzLmF0dHJpYnV0ZXMucGFzc3dvcmQgPT0gJycgfHwgXy5pc1VuZGVmaW5lZCh0aGlz LmdldCgncGFzc3dvcmQnKSkgfHwgXy5pc051bGwodGhpcy5nZXQoJ3Bhc3N3b3JkJykpKSkgewot ICAgICAgICBtc2cgPSBnZXR0ZXh0KCdQbGVhc2UgZW50ZXIgcGFzc3dvcmQnKTsKLSAgICAgICAg dGhpcy5lcnJvck1vZGVsLnNldCgncGFzc3dvcmQnLCBtc2cpOwotICAgICAgICByZXR1cm4gbXNn OwotICAgICAgfSovCiAgICAgICByZXR1cm4gbnVsbDsKICAgICB9LAogICB9KTsKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4v dG9vbHMvZGVidWdnZXIvX19pbml0X18ucHkKaW5kZXggMTk0OTcwOS4uNDIyYThhZSAxMDA2NDQK LS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18ucHkKKysrIGIvd2ViL3Bn YWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18ucHkKQEAgLTk4LDYgKzk4LDE4IEBAIGNsYXNz IERlYnVnZ2VyTW9kdWxlKFBnQWRtaW5Nb2R1bGUpOgogICAgICAgICAgICAgKQogICAgICAgICAp CiAKKyAgICAgICAgc2VsZi50YWJfdGl0bGUgPSBzZWxmLnByZWZlcmVuY2UucmVnaXN0ZXIoCisg ICAgICAgICAgICAnZGlzcGxheScsICdkZWJ1Z2dlcl90YWJfdGl0bGVfcGxhY2Vob2xkZXInLAor ICAgICAgICAgICAgZ2V0dGV4dCgiRGVidWdnZXIgdGFiIHRpdGxlIHBsYWNlaG9sZGVyIiksCisg ICAgICAgICAgICAndGV4dCcsICclRlVOQ1RJT04lLyVTQ0hFTUElLyVEQVRBQkFTRSUnLAorICAg ICAgICAgICAgY2F0ZWdvcnlfbGFiZWw9UFJFRl9MQUJFTF9ESVNQTEFZLAorICAgICAgICAgICAg aGVscF9zdHI9Z2V0dGV4dCgKKyAgICAgICAgICAgICAgICAnU3VwcG9ydGVkIHBsYWNlaG9sZGVy czogRlVOQ1RJT04sIFNDSEVNQSBhbmQgREFUQUJBU0UuICcKKyAgICAgICAgICAgICAgICAnWW91 IGNhbiBhbHNvIHByb3ZpZGUgYW55IHN0cmluZyB3aXRoIG9yICcKKyAgICAgICAgICAgICAgICAn d2l0aG91dCBwbGFjZWhvbGRlcnMnCisgICAgICAgICAgICApCisgICAgICAgICkKKwogICAgICAg ICBzZWxmLnByZWZlcmVuY2UucmVnaXN0ZXIoCiAgICAgICAgICAgICAna2V5Ym9hcmRfc2hvcnRj dXRzJywgJ2J0bl9zdGFydCcsCiAgICAgICAgICAgICBnZXR0ZXh0KCdBY2Nlc3NrZXkgKENvbnRp bnVlL1N0YXJ0KScpLCAna2V5Ym9hcmRzaG9ydGN1dCcsCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi90b29scy9zcWxlZGl0b3IvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0 b3IvX19pbml0X18ucHkKaW5kZXggOWRhODg0Mi4uZjlmYjI2ZiAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vdG9vbHMvc3FsZWRpdG9yL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xz L3NxbGVkaXRvci9fX2luaXRfXy5weQpAQCAtNDYsNyArNDYsNyBAQCBmcm9tIHBnYWRtaW4udG9v bHMuc3FsZWRpdG9yLnV0aWxzLm1hY3JvcyBpbXBvcnQgZ2V0X21hY3JvcyxcCiAgICAgZ2V0X3Vz ZXJfbWFjcm9zLCBzZXRfbWFjcm9zCiBmcm9tIHBnYWRtaW4udXRpbHMuY29uc3RhbnRzIGltcG9y dCBNSU1FVFlQRV9BUFBfSlMsIFwKICAgICBTRVJWRVJfQ09OTkVDVElPTl9DTE9TRUQsIEVSUk9S X01TR19UUkFOU19JRF9OT1RfRk9VTkQsIEVSUk9SX0ZFVENISU5HX0RBVEEKLWZyb20gcGdhZG1p bi5tb2RlbCBpbXBvcnQgU2VydmVyCitmcm9tIHBnYWRtaW4ubW9kZWwgaW1wb3J0IFNlcnZlciwg U2VydmVyR3JvdXAKIGZyb20gcGdhZG1pbi50b29scy5zY2hlbWFfZGlmZi5ub2RlX3JlZ2lzdHJ5 IGltcG9ydCBTY2hlbWFEaWZmUmVnaXN0cnkKIAogTU9EVUxFX05BTUUgPSAnc3FsZWRpdG9yJwpA QCAtMTQ4OSwxMCArMTQ4OSwxNCBAQCBkZWYgZ2V0X25ld19jb25uZWN0aW9uX2RhdGEoc2dpZCwg c2lkPU5vbmUpOgogICAgIDpleHRyYWN0X3NxbF9mcm9tX25ldHdvcmtfcGFyYW1ldGVycywKICAg ICAiIiIKICAgICB0cnk6Ci0gICAgICAgICMgaWYgc2lkIGFuZCBub3QgZGlkOgorICAgICAgICBz ZXJ2ZXJfZ3JvdXBzID0gU2VydmVyR3JvdXAucXVlcnkuYWxsKCkKKyAgICAgICAgc2VydmVyX2dy b3VwX2RhdGEgPSB7c2VydmVyX2dyb3VwLm5hbWU6IFtdIGZvciBzZXJ2ZXJfZ3JvdXAgaW4KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2dyb3Vwc30KICAgICAgICAgc2VydmVy cyA9IFNlcnZlci5xdWVyeS5hbGwoKQotICAgICAgICBzZXJ2ZXJfbGlzdCA9IFsKLSAgICAgICAg ICAgIHsnbmFtZSc6IHNlcnZlci5zZXJpYWxpemVbJ25hbWUnXSwgImlkIjogc2VydmVyLnNlcmlh bGl6ZVsnaWQnXX0KKworICAgICAgICBbc2VydmVyX2dyb3VwX2RhdGFbc2VydmVyLnNlcnZlcnMu bmFtZV0uYXBwZW5kKAorICAgICAgICAgICAgeydsYWJlbCc6IHNlcnZlci5zZXJpYWxpemVbJ25h bWUnXSwKKyAgICAgICAgICAgICAidmFsdWUiOiBzZXJ2ZXIuc2VyaWFsaXplWydpZCddfSkKICAg ICAgICAgICAgIGZvciBzZXJ2ZXIgaW4gc2VydmVyc10KIAogICAgICAgICBtc2cgPSAiU3VjY2Vz cyIKQEAgLTE1MDEsNyArMTUwNSw3IEBAIGRlZiBnZXRfbmV3X2Nvbm5lY3Rpb25fZGF0YShzZ2lk LCBzaWQ9Tm9uZSk6CiAgICAgICAgICAgICAgICAgJ3N0YXR1cyc6IFRydWUsCiAgICAgICAgICAg ICAgICAgJ21zZyc6IG1zZywKICAgICAgICAgICAgICAgICAncmVzdWx0JzogewotICAgICAgICAg ICAgICAgICAgICAnc2VydmVyX2xpc3QnOiBzZXJ2ZXJfbGlzdAorICAgICAgICAgICAgICAgICAg ICAnc2VydmVyX2xpc3QnOiBzZXJ2ZXJfZ3JvdXBfZGF0YQogICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgIH0KICAgICAgICAgKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc3Fs ZWRpdG9yL3N0YXRpYy9qcy9zcWxlZGl0b3IuanMgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0 b3Ivc3RhdGljL2pzL3NxbGVkaXRvci5qcwppbmRleCBkM2EyZDI1Li45MDVkNzgyIDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pzL3NxbGVkaXRvci5qcwor KysgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pzL3NxbGVkaXRvci5qcwpA QCAtMTczLDggKzE3MywxMyBAQCBkZWZpbmUoJ3Rvb2xzLnF1ZXJ5dG9vbCcsIFsKICAgICAgICAg dmFyIGRyb3Bkb3duRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25uZWN0aW9u cy1saXN0Jyk7CiAgICAgICAgIGRyb3Bkb3duRWxlbWVudC5pbm5lckhUTUwgPSAnJzsKICAgICAg ICAgZGF0YV9saXN0LmZvckVhY2goKG9wdGlvbiwgaW5kZXgpID0+IHsKLSAgICAgICAgICAkKCcj Y29ubmVjdGlvbnMtbGlzdCcpLmFwcGVuZCgnPGxpIGNsYXNzPSJjb25uZWN0aW9uLWxpc3QtaXRl bSIgZGF0YS1pbmRleD0nKyBpbmRleCArJz48YSBjbGFzcz0iZHJvcGRvd24taXRlbSIgaHJlZj0i IyIgdGFiaW5kZXg9IjAiPicrIG9wdGlvbi50aXRsZSArJzwvYT48L2xpPicpOwotCisgICAgICAg ICAgdmFyIG9wdCA9ICcnOworICAgICAgICAgIGlmICgnaXNfc2VsZWN0ZWQnIGluIG9wdGlvbiAm JiBvcHRpb25bJ2lzX3NlbGVjdGVkJ10pIHsKKyAgICAgICAgICAgIG9wdCA9ICc8bGkgY2xhc3M9 ImNvbm5lY3Rpb24tbGlzdC1pdGVtIHNlbGVjdGVkLWNvbm5lY3Rpb24iIGRhdGEtaW5kZXg9Jysg aW5kZXggKyc+PGEgY2xhc3M9ImRyb3Bkb3duLWl0ZW0iIGhyZWY9IiMiIHRhYmluZGV4PSIwIj4n KyBvcHRpb24udGl0bGUgKyc8L2E+PC9saT4nOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg ICAgICBvcHQgPSAnPGxpIGNsYXNzPSJjb25uZWN0aW9uLWxpc3QtaXRlbSIgZGF0YS1pbmRleD0n KyBpbmRleCArJz48YSBjbGFzcz0iZHJvcGRvd24taXRlbSIgaHJlZj0iIyIgdGFiaW5kZXg9IjAi PicrIG9wdGlvbi50aXRsZSArJzwvYT48L2xpPic7CisgICAgICAgICAgfQorICAgICAgICAgICQo JyNjb25uZWN0aW9ucy1saXN0JykuYXBwZW5kKG9wdCk7CiAgICAgICAgIH0pOwogICAgICAgICB2 YXIgc2VsZiA9IHRoaXM7CiAgICAgICAgICQoJy5jb25uZWN0aW9uLWxpc3QtaXRlbScpLmNsaWNr KGZ1bmN0aW9uKCkgewpAQCAtMjEzMSw3ICsyMTM2LDYgQEAgZGVmaW5lKCd0b29scy5xdWVyeXRv b2wnLCBbCiAgICAgb25fY2hhbmdlX2Nvbm5lY3Rpb246IGZ1bmN0aW9uKGNvbm5lY3Rpb25fZGV0 YWlscywgcmVmKSB7CiAgICAgICBpZighY29ubmVjdGlvbl9kZXRhaWxzWydpc19zZWxlY3RlZCdd KSB7CiAgICAgICAgIHZhciBzZWxmID0gdGhpczsKLSAgICAgICAgc2VsZi5zZXRfc2VsZWN0ZWRf b3B0aW9uKGNvbm5lY3Rpb25fZGV0YWlscyk7CiAgICAgICAgIHZhciBsb2FkaW5nRGl2ID0gbnVs bDsKICAgICAgICAgdmFyIG1zZ0RpdiA9IG51bGw7CiAgICAgICAgIGlmKHJlZil7CkBAIC0yMTQ1 LDY2ICsyMTQ5LDc4IEBAIGRlZmluZSgndG9vbHMucXVlcnl0b29sJywgWwogICAgICAgICAgIG1z Z0RpdiA9IGxvYWRpbmdEaXYuZmluZCgnLnNxbC1lZGl0b3ItYnVzeS10ZXh0Jyk7CiAgICAgICAg IH0KIAotICAgICAgICAkLmFqYXgoewotICAgICAgICAgIHVybDogdXJsX2ZvcignZGF0YWdyaWQu dXBkYXRlX3F1ZXJ5X3Rvb2xfY29ubmVjdGlvbicsIHsKLSAgICAgICAgICAgICd0cmFuc19pZCc6 IHNlbGYudHJhbnNJZCwKLSAgICAgICAgICAgICdzZ2lkJzogY29ubmVjdGlvbl9kZXRhaWxzWydz ZXJ2ZXJfZ3JvdXAnXSwKLSAgICAgICAgICAgICdzaWQnOiBjb25uZWN0aW9uX2RldGFpbHNbJ3Nl cnZlciddLAotICAgICAgICAgICAgJ2RpZCc6IGNvbm5lY3Rpb25fZGV0YWlsc1snZGF0YWJhc2Un XSwKLSAgICAgICAgICB9KSwKLSAgICAgICAgICBtZXRob2Q6ICdQT1NUJywKLSAgICAgICAgICBj b250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLAotICAgICAgICAgIGRhdGE6IEpTT04uc3Ry aW5naWZ5KGNvbm5lY3Rpb25fZGV0YWlscyksCi0gICAgICAgIH0pCi0gICAgICAgICAgLmRvbmUo ZnVuY3Rpb24ocmVzKSB7Ci0gICAgICAgICAgICBpZihyZXMuc3VjY2VzcykgewotICAgICAgICAg ICAgICBzZWxmLnRyYW5zSWQgPSByZXMuZGF0YS50cmFuX2lkOwotICAgICAgICAgICAgICBzZWxm LmhhbmRsZXIudHJhbnNJZCA9IHJlcy5kYXRhLnRyYW5faWQ7Ci0gICAgICAgICAgICAgIHNlbGYu aGFuZGxlci51cmxfcGFyYW1zID0gewotICAgICAgICAgICAgICAgICdkaWQnOiBjb25uZWN0aW9u X2RldGFpbHNbJ2RhdGFiYXNlJ10sCi0gICAgICAgICAgICAgICAgJ2lzX3F1ZXJ5X3Rvb2wnOiBz ZWxmLmhhbmRsZXIudXJsX3BhcmFtcy5pc19xdWVyeV90b29sLAotICAgICAgICAgICAgICAgICdz ZXJ2ZXJfdHlwZSc6IHNlbGYuaGFuZGxlci51cmxfcGFyYW1zLnNlcnZlcl90eXBlLAorICAgICAg ICBhbGVydGlmeS5jb25maXJtKGdldHRleHQoJ0NoYW5nZSBjb25uZWN0aW9uLicpLAorICAgICAg ICAgIGdldHRleHQoJ0NoYW5nZSBjb25uZWN0aW9uIHdpbGwgbG9zZSBhbGwgbm9uIGNvbW1pdHRl ZCBjaGFuZ2VzIGZvciBjdXJyZW50IGNvbm5lY3Rpb24sIGRvIHlvdSB3YW50IHRvIGNvbnRpbnVl PycpLAorICAgICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgc2VsZi5zZXRfc2VsZWN0 ZWRfb3B0aW9uKGNvbm5lY3Rpb25fZGV0YWlscyk7CisgICAgICAgICAgICAkLmFqYXgoeworICAg ICAgICAgICAgICB1cmw6IHVybF9mb3IoJ2RhdGFncmlkLnVwZGF0ZV9xdWVyeV90b29sX2Nvbm5l Y3Rpb24nLCB7CisgICAgICAgICAgICAgICAgJ3RyYW5zX2lkJzogc2VsZi50cmFuc0lkLAogICAg ICAgICAgICAgICAgICdzZ2lkJzogY29ubmVjdGlvbl9kZXRhaWxzWydzZXJ2ZXJfZ3JvdXAnXSwK ICAgICAgICAgICAgICAgICAnc2lkJzogY29ubmVjdGlvbl9kZXRhaWxzWydzZXJ2ZXInXSwKLSAg ICAgICAgICAgICAgICAndGl0bGUnOiBjb25uZWN0aW9uX2RldGFpbHNbJ3RpdGxlJ10sCi0gICAg ICAgICAgICAgIH07Ci0gICAgICAgICAgICAgIHNlbGYuc2V0X2VkaXRvcl90aXRsZShfLnVuZXNj YXBlKHNlbGYuaGFuZGxlci51cmxfcGFyYW1zLnRpdGxlKSk7Ci0gICAgICAgICAgICAgIHNlbGYu aGFuZGxlci5zZXRUaXRsZShfLnVuZXNjYXBlKHNlbGYuaGFuZGxlci51cmxfcGFyYW1zLnRpdGxl KSk7Ci0gICAgICAgICAgICAgIGxldCBzdWNjZXNzX21zZyA9IGNvbm5lY3Rpb25fZGV0YWlsc1sn c2VydmVyX25hbWUnXSArICcvJyArIGNvbm5lY3Rpb25fZGV0YWlsc1snZGF0YWJhc2VfbmFtZSdd ICsgJy0gRGF0YWJhc2UgY29ubmVjdGVkJzsKLSAgICAgICAgICAgICAgYWxlcnRpZnkuc3VjY2Vz cyhzdWNjZXNzX21zZyk7Ci0gICAgICAgICAgICAgIGlmKHJlZil7Ci0gICAgICAgICAgICAgICAg bGV0IGNvbm5lY3Rpb25fZGF0YSA9IHsKLSAgICAgICAgICAgICAgICAgICdzZXJ2ZXJfZ3JvdXAn OiBzZWxmLmhhbmRsZXIudXJsX3BhcmFtcy5zZ2lkLAotICAgICAgICAgICAgICAgICAgJ3NlcnZl cic6IGNvbm5lY3Rpb25fZGV0YWlsc1snc2VydmVyJ10sCi0gICAgICAgICAgICAgICAgICAnZGF0 YWJhc2UnOiBjb25uZWN0aW9uX2RldGFpbHNbJ2RhdGFiYXNlJ10sCi0gICAgICAgICAgICAgICAg ICAndXNlcic6IGNvbm5lY3Rpb25fZGV0YWlsc1sndXNlciddLAotICAgICAgICAgICAgICAgICAg J3RpdGxlJzogY29ubmVjdGlvbl9kZXRhaWxzWyd0aXRsZSddLAotICAgICAgICAgICAgICAgICAg J3JvbGUnOiBjb25uZWN0aW9uX2RldGFpbHNbJ3JvbGUnXSwKLSAgICAgICAgICAgICAgICAgICdw YXNzd29yZCc6IGNvbm5lY3Rpb25fZGV0YWlsc1sncGFzc3dvcmQnXSwKLSAgICAgICAgICAgICAg ICAgICdpc19hbGxvd19uZXdfY29ubmVjdGlvbic6IHRydWUsCi0gICAgICAgICAgICAgICAgICAn ZGF0YWJhc2VfbmFtZSc6IGNvbm5lY3Rpb25fZGV0YWlsc1snZGF0YWJhc2VfbmFtZSddLAotICAg ICAgICAgICAgICAgICAgJ3NlcnZlcl9uYW1lJzogY29ubmVjdGlvbl9kZXRhaWxzWydzZXJ2ZXJf bmFtZSddLAotICAgICAgICAgICAgICAgICAgJ2lzX3NlbGVjdGVkJzogdHJ1ZSwKLSAgICAgICAg ICAgICAgICB9OwotICAgICAgICAgICAgICAgIHNlbGYuY29ubmVjdGlvbl9saXN0LnVuc2hpZnQo Y29ubmVjdGlvbl9kYXRhKTsKLSAgICAgICAgICAgICAgICBzZWxmLnJlbmRlcl9jb25uZWN0aW9u KHNlbGYuY29ubmVjdGlvbl9saXN0KTsKLSAgICAgICAgICAgICAgICBsb2FkaW5nRGl2LmFkZENs YXNzKCdkLW5vbmUnKTsKLSAgICAgICAgICAgICAgICBhbGVydGlmeS5uZXdDb25uZWN0aW9uRGlh bG9nKCkuZGVzdHJveSgpOwotICAgICAgICAgICAgICAgIHJlZi5jbG9zZSgpOwotICAgICAgICAg ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGxvYWRpbmdEaXYuYWRkQ2xhc3MoJ2Qtbm9u ZScpOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4g dHJ1ZTsKLSAgICAgICAgICB9KQotICAgICAgICAgIC5mYWlsKGZ1bmN0aW9uKHhocikgeworICAg ICAgICAgICAgICAgICdkaWQnOiBjb25uZWN0aW9uX2RldGFpbHNbJ2RhdGFiYXNlJ10sCisgICAg ICAgICAgICAgIH0pLAorICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NUJywKKyAgICAgICAgICAg ICAgY29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJywKKyAgICAgICAgICAgICAgZGF0YTog SlNPTi5zdHJpbmdpZnkoY29ubmVjdGlvbl9kZXRhaWxzKSwKKyAgICAgICAgICAgIH0pCisgICAg ICAgICAgICAgIC5kb25lKGZ1bmN0aW9uKHJlcykgeworICAgICAgICAgICAgICAgIGlmKHJlcy5z dWNjZXNzKSB7CisgICAgICAgICAgICAgICAgICBzZWxmLnRyYW5zSWQgPSByZXMuZGF0YS50cmFu X2lkOworICAgICAgICAgICAgICAgICAgc2VsZi5oYW5kbGVyLnRyYW5zSWQgPSByZXMuZGF0YS50 cmFuX2lkOworICAgICAgICAgICAgICAgICAgc2VsZi5oYW5kbGVyLnVybF9wYXJhbXMgPSB7Cisg ICAgICAgICAgICAgICAgICAgICdkaWQnOiBjb25uZWN0aW9uX2RldGFpbHNbJ2RhdGFiYXNlJ10s CisgICAgICAgICAgICAgICAgICAgICdpc19xdWVyeV90b29sJzogc2VsZi5oYW5kbGVyLnVybF9w YXJhbXMuaXNfcXVlcnlfdG9vbCwKKyAgICAgICAgICAgICAgICAgICAgJ3NlcnZlcl90eXBlJzog c2VsZi5oYW5kbGVyLnVybF9wYXJhbXMuc2VydmVyX3R5cGUsCisgICAgICAgICAgICAgICAgICAg ICdzZ2lkJzogY29ubmVjdGlvbl9kZXRhaWxzWydzZXJ2ZXJfZ3JvdXAnXSwKKyAgICAgICAgICAg ICAgICAgICAgJ3NpZCc6IGNvbm5lY3Rpb25fZGV0YWlsc1snc2VydmVyJ10sCisgICAgICAgICAg ICAgICAgICAgICd0aXRsZSc6IGNvbm5lY3Rpb25fZGV0YWlsc1sndGl0bGUnXSwKKyAgICAgICAg ICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgICBzZWxmLnNldF9lZGl0b3JfdGl0bGUoXy51 bmVzY2FwZShzZWxmLmhhbmRsZXIudXJsX3BhcmFtcy50aXRsZSkpOworICAgICAgICAgICAgICAg ICAgc2VsZi5oYW5kbGVyLnNldFRpdGxlKF8udW5lc2NhcGUoc2VsZi5oYW5kbGVyLnVybF9wYXJh bXMudGl0bGUpKTsKKyAgICAgICAgICAgICAgICAgIGxldCBzdWNjZXNzX21zZyA9IGNvbm5lY3Rp b25fZGV0YWlsc1snc2VydmVyX25hbWUnXSArICcvJyArIGNvbm5lY3Rpb25fZGV0YWlsc1snZGF0 YWJhc2VfbmFtZSddICsgJy0gRGF0YWJhc2UgY29ubmVjdGVkJzsKKyAgICAgICAgICAgICAgICAg IGFsZXJ0aWZ5LnN1Y2Nlc3Moc3VjY2Vzc19tc2cpOworICAgICAgICAgICAgICAgICAgaWYocmVm KXsKKyAgICAgICAgICAgICAgICAgICAgbGV0IGNvbm5lY3Rpb25fZGF0YSA9IHsKKyAgICAgICAg ICAgICAgICAgICAgICAnc2VydmVyX2dyb3VwJzogc2VsZi5oYW5kbGVyLnVybF9wYXJhbXMuc2dp ZCwKKyAgICAgICAgICAgICAgICAgICAgICAnc2VydmVyJzogY29ubmVjdGlvbl9kZXRhaWxzWydz ZXJ2ZXInXSwKKyAgICAgICAgICAgICAgICAgICAgICAnZGF0YWJhc2UnOiBjb25uZWN0aW9uX2Rl dGFpbHNbJ2RhdGFiYXNlJ10sCisgICAgICAgICAgICAgICAgICAgICAgJ3VzZXInOiBjb25uZWN0 aW9uX2RldGFpbHNbJ3VzZXInXSwKKyAgICAgICAgICAgICAgICAgICAgICAndGl0bGUnOiBjb25u ZWN0aW9uX2RldGFpbHNbJ3RpdGxlJ10sCisgICAgICAgICAgICAgICAgICAgICAgJ3JvbGUnOiBj b25uZWN0aW9uX2RldGFpbHNbJ3JvbGUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAnaXNfYWxs b3dfbmV3X2Nvbm5lY3Rpb24nOiB0cnVlLAorICAgICAgICAgICAgICAgICAgICAgICdkYXRhYmFz ZV9uYW1lJzogY29ubmVjdGlvbl9kZXRhaWxzWydkYXRhYmFzZV9uYW1lJ10sCisgICAgICAgICAg ICAgICAgICAgICAgJ3NlcnZlcl9uYW1lJzogY29ubmVjdGlvbl9kZXRhaWxzWydzZXJ2ZXJfbmFt ZSddLAorICAgICAgICAgICAgICAgICAgICAgICdpc19zZWxlY3RlZCc6IHRydWUsCisgICAgICAg ICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgICAgIHNlbGYuY29ubmVjdGlvbl9saXN0 LnVuc2hpZnQoY29ubmVjdGlvbl9kYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5yZW5k ZXJfY29ubmVjdGlvbihzZWxmLmNvbm5lY3Rpb25fbGlzdCk7CisgICAgICAgICAgICAgICAgICAg IGxvYWRpbmdEaXYuYWRkQ2xhc3MoJ2Qtbm9uZScpOworICAgICAgICAgICAgICAgICAgICBhbGVy dGlmeS5uZXdDb25uZWN0aW9uRGlhbG9nKCkuZGVzdHJveSgpOworICAgICAgICAgICAgICAgICAg ICByZWYuY2xvc2UoKTsKKyAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg ICAgICAgIGxvYWRpbmdEaXYuYWRkQ2xhc3MoJ2Qtbm9uZScpOworICAgICAgICAgICAgICAgICAg fQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg ICAgICAgICAgfSkKKyAgICAgICAgICAgICAgLmZhaWwoZnVuY3Rpb24oeGhyKSB7CisgICAgICAg ICAgICAgICAgaWYoeGhyLnN0YXR1cyA9PSA0MjgpIHsKKyAgICAgICAgICAgICAgICAgIGFsZXJ0 aWZ5LmNvbm5lY3RTZXJ2ZXIoJ0Nvbm5lY3QgdG8gc2VydmVyJywgeGhyLnJlc3BvbnNlSlNPTi5y ZXN1bHQsIGNvbm5lY3Rpb25fZGV0YWlsc1snc2VydmVyJ10sIGZhbHNlKTsKKyAgICAgICAgICAg ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgYWxlcnRpZnkuZXJyb3IoeGhyLnJlc3Bv bnNlSlNPTlsnZXJyb3Jtc2cnXSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICB9 KTsKKyAgICAgICAgICB9LAorICAgICAgICAgIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgbG9h ZGluZ0Rpdi5hZGRDbGFzcygnZC1ub25lJyk7Ci0gICAgICAgICAgICBpZih4aHIuc3RhdHVzID09 IDQyOCkgewotICAgICAgICAgICAgICBhbGVydGlmeS5jb25uZWN0U2VydmVyKCdDb25uZWN0IHRv IHNlcnZlcicsIHhoci5yZXNwb25zZUpTT04ucmVzdWx0LCBjb25uZWN0aW9uX2RldGFpbHNbJ3Nl cnZlciddLCBmYWxzZSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICBhbGVy dGlmeS5lcnJvcih4aHIucmVzcG9uc2VKU09OWydlcnJvcm1zZyddKTsKLSAgICAgICAgICAgIH0K LSAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGFsZXJ0aWZ5Lm5ld0Nvbm5lY3Rpb25EaWFsb2co KS5kZXN0cm95KCk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICB9CisgICAg ICAgICkuc2V0KCdsYWJlbHMnLCB7CisgICAgICAgICAgb2s6IGdldHRleHQoJ1llcycpLAorICAg ICAgICAgIGNhbmNlbDogZ2V0dGV4dCgnTm8nKSwKKyAgICAgICAgfSk7CiAgICAgICB9CiAgICAg fSwKICAgfSk7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGlj L3Njc3MvX3NxbGVkaXRvci5zY3NzIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRp Yy9zY3NzL19zcWxlZGl0b3Iuc2NzcwppbmRleCA3ZmM1NzZhLi45ZDViYTRkIDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL3Njc3MvX3NxbGVkaXRvci5zY3Nz CisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvc2Nzcy9fc3FsZWRpdG9y LnNjc3MKQEAgLTM3MSw2ICszNzEsOSBAQCBkaXYuc3RyaWtlb3V0OmFmdGVyIHsKICAgaGVpZ2h0 OiAxMDAlOwogfQogCisuc2VsZWN0ZWQtY29ubmVjdGlvbiB7CisgIGJhY2tncm91bmQtY29sb3I6 ICRjb2xvci1wcmltYXJ5LWxpZ2h0OworfQogCiAvKiBTZXR0aW5nIGl0IHRvIGhhcmRjb2RlZCB3 aGl0ZSBhcyB0aGUgU1ZHIGdlbmVyYXRlZCBpcyBoYXZpbmcgd2hpdGUgYmcKICAqIE5lZWQgdG8g Y2hlY2sgd2hhdCBjYW4gYmUgZG9uZS4KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3Nx bGVkaXRvci91dGlscy9xdWVyeV90b29sX3ByZWZlcmVuY2VzLnB5IGIvd2ViL3BnYWRtaW4vdG9v bHMvc3FsZWRpdG9yL3V0aWxzL3F1ZXJ5X3Rvb2xfcHJlZmVyZW5jZXMucHkKaW5kZXggNzY1MjNi MS4uNjQyYTFlYiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3V0aWxz L3F1ZXJ5X3Rvb2xfcHJlZmVyZW5jZXMucHkKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRp dG9yL3V0aWxzL3F1ZXJ5X3Rvb2xfcHJlZmVyZW5jZXMucHkKQEAgLTMyNiw2ICszMjYsMjkgQEAg ZGVmIHJlZ2lzdGVyX3F1ZXJ5X3Rvb2xfcHJlZmVyZW5jZXMoc2VsZik6CiAgICAgICAgICkKICAg ICApCiAKKyAgICBzZWxmLnF0X3RhYl90aXRsZSA9IHNlbGYucHJlZmVyZW5jZS5yZWdpc3RlcigK KyAgICAgICAgJ2Rpc3BsYXknLCAncXRfdGFiX3RpdGxlX3BsYWNlaG9sZGVyJywKKyAgICAgICAg Z2V0dGV4dCgiUXVlcnkgdG9vbCB0YWIgdGl0bGUgcGxhY2Vob2xkZXIiKSwKKyAgICAgICAgJ3Rl eHQnLCAnJURBVEFCQVNFJS8lVVNFUk5BTUUlQCVTRVJWRVIlJywKKyAgICAgICAgY2F0ZWdvcnlf bGFiZWw9UFJFRl9MQUJFTF9ESVNQTEFZLAorICAgICAgICBoZWxwX3N0cj1nZXR0ZXh0KAorICAg ICAgICAgICAgJ1N1cHBvcnRlZCBwbGFjZWhvbGRlcnM6IERBVEFCQVNFLCBVU0VSTkFNRSBhbmQg U0VSVkVSLiAnCisgICAgICAgICAgICAnWW91IGNhbiBhbHNvIHByb3ZpZGUgYW55IHN0cmluZyB3 aXRoIG9yIHdpdGhvdXQgcGxhY2Vob2xkZXJzLicKKyAgICAgICAgKQorICAgICkKKworICAgIHNl bGYudmVfZWR0X3RhYl90aXRsZSA9IHNlbGYucHJlZmVyZW5jZS5yZWdpc3RlcigKKyAgICAgICAg J2Rpc3BsYXknLCAndndfZWR0X3RhYl90aXRsZV9wbGFjZWhvbGRlcicsCisgICAgICAgIGdldHRl eHQoIlZpZXcvRWRpdCB0YWIgdGl0bGUgcGxhY2Vob2xkZXIiKSwKKyAgICAgICAgJ3RleHQnLCAn JVNDSEVNQSUuJVRBQkxFJS8lREFUQUJBU0UlLyVVU0VSTkFNRSVAJVNFUlZFUiUnLAorICAgICAg ICBjYXRlZ29yeV9sYWJlbD1QUkVGX0xBQkVMX0RJU1BMQVksCisgICAgICAgIGhlbHBfc3RyPWdl dHRleHQoCisgICAgICAgICAgICAnU3VwcG9ydGVkIHBsYWNlaG9sZGVyczogU0NIRU1BLCBUQUJM RSwgREFUQUJBU0UsIFVTRVJOQU1FIGFuZCAnCisgICAgICAgICAgICAnU0VSVkVSLiBZb3UgY2Fu IGFsc28gcHJvdmlkZSBhbnkgc3RyaW5nIHdpdGggb3IgJworICAgICAgICAgICAgJ3dpdGhvdXQg cGxhY2Vob2xkZXJzLicKKyAgICAgICAgKQorICAgICkKKwogICAgIHNlbGYuY29ubmVjdGlvbl9z dGF0dXMgPSBzZWxmLnByZWZlcmVuY2UucmVnaXN0ZXIoCiAgICAgICAgICdkaXNwbGF5JywgJ2Nv bm5lY3Rpb25fc3RhdHVzX2ZldGNoX3RpbWUnLAogICAgICAgICBnZXR0ZXh0KCJDb25uZWN0aW9u IHN0YXR1cyByZWZyZXNoIHJhdGUiKSwgJ2ludGVnZXInLCAyLAo= --0000000000008d676405b227c3a4--