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 1kVC5j-00013x-2Z for pgadmin-hackers@arkaria.postgresql.org; Wed, 21 Oct 2020 11:15: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 1kVC5g-0004NU-53 for pgadmin-hackers@arkaria.postgresql.org; Wed, 21 Oct 2020 11:15:36 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kVC5f-0004NM-NT for pgadmin-hackers@lists.postgresql.org; Wed, 21 Oct 2020 11:15:35 +0000 Received: from mail-yb1-xb2a.google.com ([2607:f8b0:4864:20::b2a]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1kVC5X-0005hU-73 for pgadmin-hackers@postgresql.org; Wed, 21 Oct 2020 11:15:35 +0000 Received: by mail-yb1-xb2a.google.com with SMTP id h196so1444147ybg.4 for ; Wed, 21 Oct 2020 04:15:26 -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=D9Z8XHh5j6UX2o+PPLB0pp8SXYOmTTs9lbl4a4Chab0=; b=h7Bqu1kGbEUAK5fFY4Oie6rBzUXj/S6YEBmP1uCTZ1ongFnWBjQGL/vaMn8wXrhx6L Cb1CdKc2jkl/WzmLk1kbRKKZ/5Egk5khJuibw8cDYpbqYQ1xUKLaI1UVg/0JK+ulnI2D 66hEwkgLtGM6PFGJ9dATtYC3jkUmIrsIw+CT8tY/0yZWQXw0IXXlkJbP8/Y/B5t7Eq/D YRJBSXdwRp5NrD2YUL8bFRYnhcv2INv0s6AtHjtTiip3akesE4HyzdvDYWsMpQdmhUag oDNaHVM53kr6tJH+ueJi7ygxZL6rY4DrwY3gctQFrhnlSneypB3fTsDVNao6X2zmS0w8 9BvA== 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=D9Z8XHh5j6UX2o+PPLB0pp8SXYOmTTs9lbl4a4Chab0=; b=eJ5Ggts9iwEP/3jql3gKBMoQofxVtzvQb0DwN4WYS9Q7S1wVNlGat+OXeuo4fz+YPF Y+8mCkb8qDvuFH/yFEMlOuCRH4bF5cH6CDsFGX/NrYAruhvwXo/TBKgeQYSLnN8uLCd6 ta7unurqwrVJi2Q8IWbE1GxfHC0aalSeU9WPsM3RAwD2N0LETup3OZ4e5efru6GKpWnV n/aW+6rgP+E04jlnZSwB0q3SPqBCIdeyJHzXTX6fTJrOxfnogWJvJPa1yB+MvVk3qk+5 jeq2IljWDQQkKLfF79aBjbqP9f9UZ6u1SD6KyKbu54NES89u3Sr01cof6/bNBCR3kZC1 805A== X-Gm-Message-State: AOAM532rDQ3IWe+qFaRj4RUIaWN2tyTHuxA+xbXF4Jf7Jet9oCHhf9Wh zP8RiAfx9aB2ryEUWjQx+g1iiDrbgr96juzbAL+ryQXTMPOXmEF1eDknBAfBsFt/s3maPw1mmma zG+z1jnaQJqKa2+XN3AOMRrOK3lengvs4HALgyhKCQUQifKxnGphbMkm/a6D+ruieTAKKxiaAne QIXoA+WVYiz1H1aOIBsmQr9VZ5N91aEp9OROnXAz7tVEHFc179WRLG6y1dFA== X-Google-Smtp-Source: ABdhPJzSeOPwL6vnhgqv639IjGBsPyVsQWSPq9PfKF09FAEpFNo3NVgDAcBhueCyOuO2K6diPj49SyCF9H6xJxxRm/w= X-Received: by 2002:a25:b342:: with SMTP id k2mr4022047ybg.479.1603278925053; Wed, 21 Oct 2020 04:15:25 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Nikhil Mohite Date: Wed, 21 Oct 2020 16:45:13 +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="000000000000ce001c05b22c76a3" 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 --000000000000ce001c05b22c76a3 Content-Type: multipart/alternative; boundary="000000000000ce001a05b22c76a1" --000000000000ce001a05b22c76a1 Content-Type: text/plain; charset="UTF-8" Hi Akshay, I have fixed the review comments, PFA the updated patch for the same. Regards, Nikhil Mohite. On Wed, Oct 21, 2020 at 2:55 PM Akshay Joshi wrote: > Hi Nikhil > > Following are the review comments: > > - Connect to any server from the browser tree. Open the query tool and > then open the new connection dialog. Click on the "OK" button without > changing any field. It shows the popup for "Change connection" which should > not be raised because the server is the same. > - In the above scenario, if you click on the Yes button it is showing > a duplicate entry for the same server. > - The server name is not getting changed when we connect to any > other server from the new connection. Changes needed in alertify message, > tab title, and a combo box. > - Remove the "." from the "Change connection." title. > - Change the string "Change connection will lose all non committed > changes for current connection, do you want to continue?" to "*By > changing the connection you will lose all your unsaved data for the current > connection.* > *Do you want to continue?*" > > Please fix the above changes and send the patch again. > > On Wed, Oct 21, 2020 at 11:08 AM Nikhil Mohite < > nikhil.mohite@enterprisedb.com> wrote: > >> 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 < >> akshay.joshi@enterprisedb.com> 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* >>> >> > > -- > *Thanks & Regards* > *Akshay Joshi* > *pgAdmin Hacker | Sr. Software Architect* > *EDB Postgres * > > *Mobile: +91 976-788-8246* > --000000000000ce001a05b22c76a1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Akshay,

I have fixed the review comm= ents, PFA the updated patch for the same.


Regards,
Nikhil Mohite.

On Wed, Oct 21, 2020 at 2:55 = PM Akshay Joshi <akshay= .joshi@enterprisedb.com> wrote:
Hi Nikhil

Follow= ing are the review comments:
  • Connect to any server from t= he browser tree. Open the query tool and then open=C2=A0the new connection = dialog. Click on the "OK" button without changing=C2=A0any field.= It shows the popup for "Change connection" which should not be r= aised because=C2=A0the server is the same.
  • In the above scenario, i= f you click on the Yes button it is showing a=C2=A0duplicate=C2=A0entry for= the same server.
  • The server name is not getting changed when we co= nnect to any other=C2=A0server from the new connection. Changes needed in a= lertify message, tab title, and a combo box.
  • Remove the ".&quo= t; from the "Change connection." title.
  • Change the string= "Change connection will lose all non committed changes for current co= nnection, do you want to continue?"=C2=A0 to "By changing the = connection you will lose all your unsaved data for the current connection.<= /b>
    Do you want to continue?"
Please fix the= above changes and send the patch again.

On Wed, Oct 21, 2020 at 11:08= AM Nikhil Mohite <nikhil.mohite@enterprisedb.com> wrote:
Hi Akshay,
I have updated the existing=C2=A0implementation as per sug= gestions.
1. Show servers in server groups in the dropdown.
=
2. Current selected connection in the new connection dropdown is now h= ighlighted as selected.
3. Notification to the user before the ch= ange connection action.
4. If we connect to the server through a = new connection dialog, the=C2=A0tree will use the same connection and it wi= ll not create a new connection.
(In earlier implementation it was= asking for the password even we=C2=A0have connected from a new connection = dialog.)

PFA patch

Regard= s,
Nikhil Mohite.

On Thu, Oct 8, 2020 at 11:39 AM Akshay Jos= hi <a= kshay.joshi@enterprisedb.com> wrote:
Thanks, patch applied.
On Wed, = Oct 7, 2020 at 12:11 PM Nikhil Mohite <nikhil.mohite@enterprisedb.com> w= rote:
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=C2=A0add= ed 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@enterpris= edb.com> wrote:
Hi Nikhil=C2=A0

Please verify an= d remove async =3D false wherever possible.

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


On = Tue, Oct 6, 2020 at 12:51 PM Murtuza Zabuawala <murtuza.zabuawala@enterpris= edb.com> wrote:
Hi Akshay,

We have used aysnc=3DFalse in most ajax calls with t= his feature, It is causing=C2=A0UI hang in case of slow server response.
You ca= n 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.<= /div>
=C2=A0


--
Reg= ards,
Murtuza Zabuawala
EDB
POWER TO POSTGRES


On Thu, Oct 1, 2020 at 1:31 = PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks, patch app= lied.

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

I have=C2=A0resol= ved 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=C2=A0Nikhil

Your patch introduces 1 ne= w Bug and 13 new code smells, please fix those and resend the patch.
<= /div>

Hi=C2=A0Nikhi= l

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 revi= ew comments and also updated the test cases as per the new implementation.<= /div>

PFA updated patch.




Hi Team,
Regarding RM-3794 allow the=C2=A0user to change the database = connection from an open query tool:
I have implemented the featur= e and also added documentation for it.

PFA patch.<= br>

--
Thanks & Regards,
Nikhil Mohite
Software Engineer.
Mob.No: +91-7798364578.


--
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



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

--000000000000ce001a05b22c76a1-- --000000000000ce001c05b22c76a3 Content-Type: application/octet-stream; name="RM_3794_review_comments_v2.patch" Content-Disposition: attachment; filename="RM_3794_review_comments_v2.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kgjaty890 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 dG9yL25ld19jb25uZWN0aW9uX2RpYWxvZ19tb2RlbC5qcwppbmRleCAwOWIyOTc5Li4wYmJkYTYw 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 ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb24udmFsdWUgPT0gbG9jYWxfc2VsZi5n ZXRWYWx1ZUZyb21ET00oKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9u c2Uuc2VydmVyX25hbWUgPSBvcHRpb24ubGFiZWw7CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAg ICAgIH0pOworCiAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nRGl2LmFkZENsYXNzKCdk LW5vbmUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGFsZXJ0aWZ5LmNvbm5lY3RTZXJ2ZXIo KS5kZXN0cm95KCk7CiAgICAgICAgICAgICAgICAgICAgICAgfSkKQEAgLTE2MCw4ICsyMTgsNiBA QCBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBuZXdDb25uZWN0aW9uRGlhbG9nTW9kZWwocmVzcG9u c2UsIHNnaWQsIHNpZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgYWxlcnRpZnkuY29ubmVj dFNlcnZlcigpLmRlc3Ryb3koKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGFsZXJ0aWZ5LmNv bm5lY3RTZXJ2ZXIoJ0Nvbm5lY3QgdG8gc2VydmVyJywgeGhyLnJlc3BvbnNlSlNPTi5yZXN1bHQs IGxvY2FsX3NlbGYuZ2V0VmFsdWVGcm9tRE9NKCkpOwogICAgICAgICAgICAgICAgICAgICAgIH0p OwotICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmVzcG9u c2UucGFzc3dvcmQgPSAkKCcjcGFzc3dvcmQnKS52YWwoKTsKICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgbG9jYWxfc2VsZi5t b2RlbC5hdHRyaWJ1dGVzLmRhdGFiYXNlID0gbnVsbDsKQEAgLTE3OCw2ICsyMzQsMTkgQEAgZXhw b3J0IGRlZmF1bHQgZnVuY3Rpb24gbmV3Q29ubmVjdGlvbkRpYWxvZ01vZGVsKHJlc3BvbnNlLCBz Z2lkLCBzaWQpIHsKICAgICAgICAgcmVuZGVyOiBmdW5jdGlvbigpIHsKICAgICAgICAgICBsZXQg c2VsZiA9IHRoaXM7CiAgICAgICAgICAgc2VsZi5jb25uZWN0KHNlbGYpOworICAgICAgICAgIE9i amVjdC5rZXlzKHJlc3BvbnNlLnNlcnZlcl9saXN0KS5mb3JFYWNoKGtleSA9PiB7CisgICAgICAg ICAgICByZXNwb25zZS5zZXJ2ZXJfbGlzdFtrZXldLmZvckVhY2gob3B0aW9uID0+IHsKKyAgICAg ICAgICAgICAgaWYgKG9wdGlvbi52YWx1ZSA9PSBwYXJzZUludChzaWQpKSB7CisgICAgICAgICAg ICAgICAgcmVzcG9uc2Uuc2VydmVyX25hbWUgPSBvcHRpb24ubGFiZWw7CisgICAgICAgICAgICAg IH0KKyAgICAgICAgICAgIH0pOworICAgICAgICAgIH0pOworICAgICAgICAgIHZhciB0cmFuc2Zv cm0gPSBzZWxmLmZpZWxkLmdldCgndHJhbnNmb3JtJykgfHwgc2VsZi5kZWZhdWx0cy50cmFuc2Zv cm07CisgICAgICAgICAgaWYgKHRyYW5zZm9ybSAmJiBfLmlzRnVuY3Rpb24odHJhbnNmb3JtKSkg eworICAgICAgICAgICAgc2VsZi5maWVsZC5zZXQoJ29wdGlvbnMnLCB0cmFuc2Zvcm0uYmluZChz ZWxmLCByZXNwb25zZS5zZXJ2ZXJfbGlzdCkpOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg ICAgICBzZWxmLmZpZWxkLnNldCgnb3B0aW9ucycsIHJlc3BvbnNlLnNlcnZlcl9saXN0KTsKKyAg ICAgICAgICB9CiAgICAgICAgICAgcmV0dXJuIEJhY2tmb3JtLlNlbGVjdDJDb250cm9sLnByb3Rv dHlwZS5yZW5kZXIuYXBwbHkoc2VsZiwgYXJndW1lbnRzKTsKICAgICAgICAgfSwKICAgICAgICAg b25DaGFuZ2U6IGZ1bmN0aW9uKCkgewpAQCAtMjAwLDEwICsyNjksMTIgQEAgZXhwb3J0IGRlZmF1 bHQgZnVuY3Rpb24gbmV3Q29ubmVjdGlvbkRpYWxvZ01vZGVsKHJlc3BvbnNlLCBzZ2lkLCBzaWQp IHsKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgfSkuZG9uZShmdW5jdGlvbiAoKSB7CiAgICAg ICAgICAgICBCYWNrZm9ybS5TZWxlY3QyQ29udHJvbC5wcm90b3R5cGUub25DaGFuZ2UuYXBwbHko c2VsZiwgYXJndW1lbnRzKTsKLSAgICAgICAgICAgIHJlc3BvbnNlLnNlcnZlcl9saXN0LmZvckVh Y2goZnVuY3Rpb24ob2JqKXsKLSAgICAgICAgICAgICAgaWYob2JqLmlkPT1zZWxmLm1vZGVsLmNo YW5nZWQuc2VydmVyKSB7Ci0gICAgICAgICAgICAgICAgcmVzcG9uc2Uuc2VydmVyX25hbWUgPSBv YmoubmFtZTsKLSAgICAgICAgICAgICAgfQorICAgICAgICAgICAgT2JqZWN0LmtleXMocmVzcG9u c2Uuc2VydmVyX2xpc3QpLmZvckVhY2goa2V5ID0+IHsKKyAgICAgICAgICAgICAgcmVzcG9uc2Uu c2VydmVyX2xpc3Rba2V5XS5mb3JFYWNoKG9wdGlvbiA9PiB7CisgICAgICAgICAgICAgICAgaWYg KG9wdGlvbi52YWx1ZSA9PSBzZWxmLmdldFZhbHVlRnJvbURPTSgpKSB7CisgICAgICAgICAgICAg ICAgICByZXNwb25zZS5zZXJ2ZXJfbmFtZSA9IG9wdGlvbi5sYWJlbDsKKyAgICAgICAgICAgICAg ICB9CisgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICBsb2Fk aW5nRGl2LmFkZENsYXNzKCdkLW5vbmUnKTsKICAgICAgICAgICB9KS5mYWlsKGZ1bmN0aW9uKHho cil7CkBAIC0yMTMsMTcgKzI4NCw2IEBAIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG5ld0Nvbm5l Y3Rpb25EaWFsb2dNb2RlbChyZXNwb25zZSwgc2dpZCwgc2lkKSB7CiAKICAgICAgICAgfSwKICAg ICAgIH0pLAotICAgICAgb3B0aW9uczogZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiBfLm1h cChyZXNwb25zZS5zZXJ2ZXJfbGlzdCwgKG9iaikgPT4gewotICAgICAgICAgIGlmIChvYmouaWQg PT0gcGFyc2VJbnQoc2lkKSkKLSAgICAgICAgICAgIHJlc3BvbnNlLnNlcnZlcl9uYW1lID0gb2Jq Lm5hbWU7Ci0KLSAgICAgICAgICByZXR1cm4gewotICAgICAgICAgICAgdmFsdWU6IG9iai5pZCwK LSAgICAgICAgICAgIGxhYmVsOiBvYmoubmFtZSwKLSAgICAgICAgICB9OwotICAgICAgICB9KTsK LSAgICAgIH0sCiAgICAgfSwKICAgICB7CiAgICAgICBpZDogJ2RhdGFiYXNlJywKQEAgLTMwMiwy NyArMzYyLDYgQEAgZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbmV3Q29ubmVjdGlvbkRpYWxvZ01v ZGVsKHJlc3BvbnNlLCBzZ2lkLCBzaWQpIHsKICAgICAgIHVybDogJ3NxbGVkaXRvci5nZXRfbmV3 X2Nvbm5lY3Rpb25fcm9sZScsCiAgICAgICBkaXNhYmxlZDogZmFsc2UsCiAgICAgfSwKLSAgICAv KnsKLSAgICAgIGlkOiAncGFzc3dvcmQnLAotICAgICAgbmFtZTogJ3Bhc3N3b3JkJywKLSAgICAg IGxhYmVsOiBnZXR0ZXh0KCdQYXNzd29yZCd0b29scy9zcWxlZGl0b3IvX19pbml0X18ucHkpLAot ICAgICAgdHlwZTogJ3Bhc3N3b3JkJywKLSAgICAgIGVkaXRhYmxlOiB0cnVlLAotICAgICAgZGlz YWJsZWQ6IHRydWUsCi0gICAgICBkZXBzOiBbJ3VzZXInXSwKLSAgICAgIGNvbnRyb2w6IEJhY2tm b3JtLklucHV0Q29udHJvbC5leHRlbmQoewotICAgICAgICByZW5kZXI6IGZ1bmN0aW9uKCkgewot ICAgICAgICAgIGxldCBzZWxmID0gdGhpczsKLSAgICAgICAgICBzZWxmLm1vZGVsLmF0dHJpYnV0 ZXMucGFzc3dvcmQgPSBudWxsOwotICAgICAgICAgIEJhY2tmb3JtLklucHV0Q29udHJvbC5wcm90 b3R5cGUucmVuZGVyLmFwcGx5KHNlbGYsIGFyZ3VtZW50cyk7Ci0gICAgICAgICAgcmV0dXJuIHNl bGY7Ci0gICAgICAgIH0sCi0gICAgICAgIG9uQ2hhbmdlOiBmdW5jdGlvbigpIHsKLSAgICAgICAg ICBsZXQgc2VsZiA9IHRoaXM7Ci0gICAgICAgICAgQmFja2Zvcm0uSW5wdXRDb250cm9sLnByb3Rv dHlwZS5vbkNoYW5nZS5hcHBseShzZWxmLCBhcmd1bWVudHMpOwotICAgICAgICB9LAotICAgICAg fSksCi0gICAgfSwqLwogICAgIF0sCiAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uKCkgewogICAgICAg bGV0IG1zZyA9IG51bGw7CkBAIC0zMzYsMTEgKzM3NSw2IEBAIGV4cG9ydCBkZWZhdWx0IGZ1bmN0 aW9uIG5ld0Nvbm5lY3Rpb25EaWFsb2dNb2RlbChyZXNwb25zZSwgc2dpZCwgc2lkKSB7CiAgICAg ICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ3VzZXInLCBtc2cpOwogICAgICAgICByZXR1cm4gbXNn OwogICAgICAgfQotICAgICAgLyplbHNlIGlmKCh0aGlzLmF0dHJpYnV0ZXMucGFzc3dvcmQgPT0g JycgfHwgXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgncGFzc3dvcmQnKSkgfHwgXy5pc051bGwodGhp cy5nZXQoJ3Bhc3N3b3JkJykpKSkgewotICAgICAgICBtc2cgPSBnZXR0ZXh0KCdQbGVhc2UgZW50 ZXIgcGFzc3dvcmQnKTsKLSAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgncGFzc3dvcmQnLCBt c2cpOwotICAgICAgICByZXR1cm4gbXNnOwotICAgICAgfSovCiAgICAgICByZXR1cm4gbnVsbDsK ICAgICB9LAogICB9KTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL19f aW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18ucHkKaW5kZXgg MTk0OTcwOS4uNDIyYThhZSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIv X19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18ucHkK QEAgLTk4LDYgKzk4LDE4IEBAIGNsYXNzIERlYnVnZ2VyTW9kdWxlKFBnQWRtaW5Nb2R1bGUpOgog ICAgICAgICAgICAgKQogICAgICAgICApCiAKKyAgICAgICAgc2VsZi50YWJfdGl0bGUgPSBzZWxm LnByZWZlcmVuY2UucmVnaXN0ZXIoCisgICAgICAgICAgICAnZGlzcGxheScsICdkZWJ1Z2dlcl90 YWJfdGl0bGVfcGxhY2Vob2xkZXInLAorICAgICAgICAgICAgZ2V0dGV4dCgiRGVidWdnZXIgdGFi IHRpdGxlIHBsYWNlaG9sZGVyIiksCisgICAgICAgICAgICAndGV4dCcsICclRlVOQ1RJT04lLyVT Q0hFTUElLyVEQVRBQkFTRSUnLAorICAgICAgICAgICAgY2F0ZWdvcnlfbGFiZWw9UFJFRl9MQUJF TF9ESVNQTEFZLAorICAgICAgICAgICAgaGVscF9zdHI9Z2V0dGV4dCgKKyAgICAgICAgICAgICAg ICAnU3VwcG9ydGVkIHBsYWNlaG9sZGVyczogRlVOQ1RJT04sIFNDSEVNQSBhbmQgREFUQUJBU0Uu ICcKKyAgICAgICAgICAgICAgICAnWW91IGNhbiBhbHNvIHByb3ZpZGUgYW55IHN0cmluZyB3aXRo IG9yICcKKyAgICAgICAgICAgICAgICAnd2l0aG91dCBwbGFjZWhvbGRlcnMnCisgICAgICAgICAg ICApCisgICAgICAgICkKKwogICAgICAgICBzZWxmLnByZWZlcmVuY2UucmVnaXN0ZXIoCiAgICAg ICAgICAgICAna2V5Ym9hcmRfc2hvcnRjdXRzJywgJ2J0bl9zdGFydCcsCiAgICAgICAgICAgICBn ZXR0ZXh0KCdBY2Nlc3NrZXkgKENvbnRpbnVlL1N0YXJ0KScpLCAna2V5Ym9hcmRzaG9ydGN1dCcs CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvX19pbml0X18ucHkgYi93 ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvX19pbml0X18ucHkKaW5kZXggOWRhODg0Mi4uZjlm YjI2ZiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL19faW5pdF9fLnB5 CisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9fX2luaXRfXy5weQpAQCAtNDYsNyAr NDYsNyBAQCBmcm9tIHBnYWRtaW4udG9vbHMuc3FsZWRpdG9yLnV0aWxzLm1hY3JvcyBpbXBvcnQg Z2V0X21hY3JvcyxcCiAgICAgZ2V0X3VzZXJfbWFjcm9zLCBzZXRfbWFjcm9zCiBmcm9tIHBnYWRt aW4udXRpbHMuY29uc3RhbnRzIGltcG9ydCBNSU1FVFlQRV9BUFBfSlMsIFwKICAgICBTRVJWRVJf Q09OTkVDVElPTl9DTE9TRUQsIEVSUk9SX01TR19UUkFOU19JRF9OT1RfRk9VTkQsIEVSUk9SX0ZF VENISU5HX0RBVEEKLWZyb20gcGdhZG1pbi5tb2RlbCBpbXBvcnQgU2VydmVyCitmcm9tIHBnYWRt aW4ubW9kZWwgaW1wb3J0IFNlcnZlciwgU2VydmVyR3JvdXAKIGZyb20gcGdhZG1pbi50b29scy5z Y2hlbWFfZGlmZi5ub2RlX3JlZ2lzdHJ5IGltcG9ydCBTY2hlbWFEaWZmUmVnaXN0cnkKIAogTU9E VUxFX05BTUUgPSAnc3FsZWRpdG9yJwpAQCAtMTQ4OSwxMCArMTQ4OSwxNCBAQCBkZWYgZ2V0X25l d19jb25uZWN0aW9uX2RhdGEoc2dpZCwgc2lkPU5vbmUpOgogICAgIDpleHRyYWN0X3NxbF9mcm9t X25ldHdvcmtfcGFyYW1ldGVycywKICAgICAiIiIKICAgICB0cnk6Ci0gICAgICAgICMgaWYgc2lk IGFuZCBub3QgZGlkOgorICAgICAgICBzZXJ2ZXJfZ3JvdXBzID0gU2VydmVyR3JvdXAucXVlcnku YWxsKCkKKyAgICAgICAgc2VydmVyX2dyb3VwX2RhdGEgPSB7c2VydmVyX2dyb3VwLm5hbWU6IFtd IGZvciBzZXJ2ZXJfZ3JvdXAgaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVy X2dyb3Vwc30KICAgICAgICAgc2VydmVycyA9IFNlcnZlci5xdWVyeS5hbGwoKQotICAgICAgICBz ZXJ2ZXJfbGlzdCA9IFsKLSAgICAgICAgICAgIHsnbmFtZSc6IHNlcnZlci5zZXJpYWxpemVbJ25h bWUnXSwgImlkIjogc2VydmVyLnNlcmlhbGl6ZVsnaWQnXX0KKworICAgICAgICBbc2VydmVyX2dy b3VwX2RhdGFbc2VydmVyLnNlcnZlcnMubmFtZV0uYXBwZW5kKAorICAgICAgICAgICAgeydsYWJl bCc6IHNlcnZlci5zZXJpYWxpemVbJ25hbWUnXSwKKyAgICAgICAgICAgICAidmFsdWUiOiBzZXJ2 ZXIuc2VyaWFsaXplWydpZCddfSkKICAgICAgICAgICAgIGZvciBzZXJ2ZXIgaW4gc2VydmVyc10K IAogICAgICAgICBtc2cgPSAiU3VjY2VzcyIKQEAgLTE1MDEsNyArMTUwNSw3IEBAIGRlZiBnZXRf bmV3X2Nvbm5lY3Rpb25fZGF0YShzZ2lkLCBzaWQ9Tm9uZSk6CiAgICAgICAgICAgICAgICAgJ3N0 YXR1cyc6IFRydWUsCiAgICAgICAgICAgICAgICAgJ21zZyc6IG1zZywKICAgICAgICAgICAgICAg ICAncmVzdWx0JzogewotICAgICAgICAgICAgICAgICAgICAnc2VydmVyX2xpc3QnOiBzZXJ2ZXJf bGlzdAorICAgICAgICAgICAgICAgICAgICAnc2VydmVyX2xpc3QnOiBzZXJ2ZXJfZ3JvdXBfZGF0 YQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgKQpkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9qcy9zcWxlZGl0b3IuanMgYi93 ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pzL3NxbGVkaXRvci5qcwppbmRleCBk M2EyZDI1Li4yNmM4OGJjIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Iv c3RhdGljL2pzL3NxbGVkaXRvci5qcworKysgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Iv c3RhdGljL2pzL3NxbGVkaXRvci5qcwpAQCAtMTczLDggKzE3MywxMyBAQCBkZWZpbmUoJ3Rvb2xz LnF1ZXJ5dG9vbCcsIFsKICAgICAgICAgdmFyIGRyb3Bkb3duRWxlbWVudCA9IGRvY3VtZW50Lmdl dEVsZW1lbnRCeUlkKCdjb25uZWN0aW9ucy1saXN0Jyk7CiAgICAgICAgIGRyb3Bkb3duRWxlbWVu dC5pbm5lckhUTUwgPSAnJzsKICAgICAgICAgZGF0YV9saXN0LmZvckVhY2goKG9wdGlvbiwgaW5k ZXgpID0+IHsKLSAgICAgICAgICAkKCcjY29ubmVjdGlvbnMtbGlzdCcpLmFwcGVuZCgnPGxpIGNs YXNzPSJjb25uZWN0aW9uLWxpc3QtaXRlbSIgZGF0YS1pbmRleD0nKyBpbmRleCArJz48YSBjbGFz cz0iZHJvcGRvd24taXRlbSIgaHJlZj0iIyIgdGFiaW5kZXg9IjAiPicrIG9wdGlvbi50aXRsZSAr JzwvYT48L2xpPicpOwotCisgICAgICAgICAgdmFyIG9wdCA9ICcnOworICAgICAgICAgIGlmICgn aXNfc2VsZWN0ZWQnIGluIG9wdGlvbiAmJiBvcHRpb25bJ2lzX3NlbGVjdGVkJ10pIHsKKyAgICAg ICAgICAgIG9wdCA9ICc8bGkgY2xhc3M9ImNvbm5lY3Rpb24tbGlzdC1pdGVtIHNlbGVjdGVkLWNv bm5lY3Rpb24iIGRhdGEtaW5kZXg9JysgaW5kZXggKyc+PGEgY2xhc3M9ImRyb3Bkb3duLWl0ZW0i IGhyZWY9IiMiIHRhYmluZGV4PSIwIj4nKyBvcHRpb24udGl0bGUgKyc8L2E+PC9saT4nOworICAg ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBvcHQgPSAnPGxpIGNsYXNzPSJjb25uZWN0aW9u LWxpc3QtaXRlbSIgZGF0YS1pbmRleD0nKyBpbmRleCArJz48YSBjbGFzcz0iZHJvcGRvd24taXRl bSIgaHJlZj0iIyIgdGFiaW5kZXg9IjAiPicrIG9wdGlvbi50aXRsZSArJzwvYT48L2xpPic7Cisg ICAgICAgICAgfQorICAgICAgICAgICQoJyNjb25uZWN0aW9ucy1saXN0JykuYXBwZW5kKG9wdCk7 CiAgICAgICAgIH0pOwogICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAgICAgICQoJy5jb25u ZWN0aW9uLWxpc3QtaXRlbScpLmNsaWNrKGZ1bmN0aW9uKCkgewpAQCAtMjEzMSw3ICsyMTM2LDYg QEAgZGVmaW5lKCd0b29scy5xdWVyeXRvb2wnLCBbCiAgICAgb25fY2hhbmdlX2Nvbm5lY3Rpb246 IGZ1bmN0aW9uKGNvbm5lY3Rpb25fZGV0YWlscywgcmVmKSB7CiAgICAgICBpZighY29ubmVjdGlv bl9kZXRhaWxzWydpc19zZWxlY3RlZCddKSB7CiAgICAgICAgIHZhciBzZWxmID0gdGhpczsKLSAg ICAgICAgc2VsZi5zZXRfc2VsZWN0ZWRfb3B0aW9uKGNvbm5lY3Rpb25fZGV0YWlscyk7CiAgICAg ICAgIHZhciBsb2FkaW5nRGl2ID0gbnVsbDsKICAgICAgICAgdmFyIG1zZ0RpdiA9IG51bGw7CiAg ICAgICAgIGlmKHJlZil7CkBAIC0yMTQ1LDY2ICsyMTQ5LDc4IEBAIGRlZmluZSgndG9vbHMucXVl cnl0b29sJywgWwogICAgICAgICAgIG1zZ0RpdiA9IGxvYWRpbmdEaXYuZmluZCgnLnNxbC1lZGl0 b3ItYnVzeS10ZXh0Jyk7CiAgICAgICAgIH0KIAotICAgICAgICAkLmFqYXgoewotICAgICAgICAg IHVybDogdXJsX2ZvcignZGF0YWdyaWQudXBkYXRlX3F1ZXJ5X3Rvb2xfY29ubmVjdGlvbicsIHsK LSAgICAgICAgICAgICd0cmFuc19pZCc6IHNlbGYudHJhbnNJZCwKLSAgICAgICAgICAgICdzZ2lk JzogY29ubmVjdGlvbl9kZXRhaWxzWydzZXJ2ZXJfZ3JvdXAnXSwKLSAgICAgICAgICAgICdzaWQn OiBjb25uZWN0aW9uX2RldGFpbHNbJ3NlcnZlciddLAotICAgICAgICAgICAgJ2RpZCc6IGNvbm5l Y3Rpb25fZGV0YWlsc1snZGF0YWJhc2UnXSwKLSAgICAgICAgICB9KSwKLSAgICAgICAgICBtZXRo b2Q6ICdQT1NUJywKLSAgICAgICAgICBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLAot ICAgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KGNvbm5lY3Rpb25fZGV0YWlscyksCi0gICAg ICAgIH0pCi0gICAgICAgICAgLmRvbmUoZnVuY3Rpb24ocmVzKSB7Ci0gICAgICAgICAgICBpZihy ZXMuc3VjY2VzcykgewotICAgICAgICAgICAgICBzZWxmLnRyYW5zSWQgPSByZXMuZGF0YS50cmFu X2lkOwotICAgICAgICAgICAgICBzZWxmLmhhbmRsZXIudHJhbnNJZCA9IHJlcy5kYXRhLnRyYW5f aWQ7Ci0gICAgICAgICAgICAgIHNlbGYuaGFuZGxlci51cmxfcGFyYW1zID0gewotICAgICAgICAg ICAgICAgICdkaWQnOiBjb25uZWN0aW9uX2RldGFpbHNbJ2RhdGFiYXNlJ10sCi0gICAgICAgICAg ICAgICAgJ2lzX3F1ZXJ5X3Rvb2wnOiBzZWxmLmhhbmRsZXIudXJsX3BhcmFtcy5pc19xdWVyeV90 b29sLAotICAgICAgICAgICAgICAgICdzZXJ2ZXJfdHlwZSc6IHNlbGYuaGFuZGxlci51cmxfcGFy YW1zLnNlcnZlcl90eXBlLAorICAgICAgICBhbGVydGlmeS5jb25maXJtKGdldHRleHQoJ0NoYW5n ZSBjb25uZWN0aW9uJyksCisgICAgICAgICAgZ2V0dGV4dCgnQnkgY2hhbmdpbmcgdGhlIGNvbm5l Y3Rpb24geW91IHdpbGwgbG9zZSBhbGwgeW91ciB1bnNhdmVkIGRhdGEgZm9yIHRoZSBjdXJyZW50 IGNvbm5lY3Rpb24uIDxicj4gRG8geW91IHdhbnQgdG8gY29udGludWU/JyksCisgICAgICAgICAg ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBzZWxmLnNldF9zZWxlY3RlZF9vcHRpb24oY29ubmVj dGlvbl9kZXRhaWxzKTsKKyAgICAgICAgICAgICQuYWpheCh7CisgICAgICAgICAgICAgIHVybDog dXJsX2ZvcignZGF0YWdyaWQudXBkYXRlX3F1ZXJ5X3Rvb2xfY29ubmVjdGlvbicsIHsKKyAgICAg ICAgICAgICAgICAndHJhbnNfaWQnOiBzZWxmLnRyYW5zSWQsCiAgICAgICAgICAgICAgICAgJ3Nn aWQnOiBjb25uZWN0aW9uX2RldGFpbHNbJ3NlcnZlcl9ncm91cCddLAogICAgICAgICAgICAgICAg ICdzaWQnOiBjb25uZWN0aW9uX2RldGFpbHNbJ3NlcnZlciddLAotICAgICAgICAgICAgICAgICd0 aXRsZSc6IGNvbm5lY3Rpb25fZGV0YWlsc1sndGl0bGUnXSwKLSAgICAgICAgICAgICAgfTsKLSAg ICAgICAgICAgICAgc2VsZi5zZXRfZWRpdG9yX3RpdGxlKF8udW5lc2NhcGUoc2VsZi5oYW5kbGVy LnVybF9wYXJhbXMudGl0bGUpKTsKLSAgICAgICAgICAgICAgc2VsZi5oYW5kbGVyLnNldFRpdGxl KF8udW5lc2NhcGUoc2VsZi5oYW5kbGVyLnVybF9wYXJhbXMudGl0bGUpKTsKLSAgICAgICAgICAg ICAgbGV0IHN1Y2Nlc3NfbXNnID0gY29ubmVjdGlvbl9kZXRhaWxzWydzZXJ2ZXJfbmFtZSddICsg Jy8nICsgY29ubmVjdGlvbl9kZXRhaWxzWydkYXRhYmFzZV9uYW1lJ10gKyAnLSBEYXRhYmFzZSBj b25uZWN0ZWQnOwotICAgICAgICAgICAgICBhbGVydGlmeS5zdWNjZXNzKHN1Y2Nlc3NfbXNnKTsK LSAgICAgICAgICAgICAgaWYocmVmKXsKLSAgICAgICAgICAgICAgICBsZXQgY29ubmVjdGlvbl9k YXRhID0gewotICAgICAgICAgICAgICAgICAgJ3NlcnZlcl9ncm91cCc6IHNlbGYuaGFuZGxlci51 cmxfcGFyYW1zLnNnaWQsCi0gICAgICAgICAgICAgICAgICAnc2VydmVyJzogY29ubmVjdGlvbl9k ZXRhaWxzWydzZXJ2ZXInXSwKLSAgICAgICAgICAgICAgICAgICdkYXRhYmFzZSc6IGNvbm5lY3Rp b25fZGV0YWlsc1snZGF0YWJhc2UnXSwKLSAgICAgICAgICAgICAgICAgICd1c2VyJzogY29ubmVj dGlvbl9kZXRhaWxzWyd1c2VyJ10sCi0gICAgICAgICAgICAgICAgICAndGl0bGUnOiBjb25uZWN0 aW9uX2RldGFpbHNbJ3RpdGxlJ10sCi0gICAgICAgICAgICAgICAgICAncm9sZSc6IGNvbm5lY3Rp b25fZGV0YWlsc1sncm9sZSddLAotICAgICAgICAgICAgICAgICAgJ3Bhc3N3b3JkJzogY29ubmVj dGlvbl9kZXRhaWxzWydwYXNzd29yZCddLAotICAgICAgICAgICAgICAgICAgJ2lzX2FsbG93X25l d19jb25uZWN0aW9uJzogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICdkYXRhYmFzZV9uYW1lJzog Y29ubmVjdGlvbl9kZXRhaWxzWydkYXRhYmFzZV9uYW1lJ10sCi0gICAgICAgICAgICAgICAgICAn c2VydmVyX25hbWUnOiBjb25uZWN0aW9uX2RldGFpbHNbJ3NlcnZlcl9uYW1lJ10sCi0gICAgICAg ICAgICAgICAgICAnaXNfc2VsZWN0ZWQnOiB0cnVlLAotICAgICAgICAgICAgICAgIH07Ci0gICAg ICAgICAgICAgICAgc2VsZi5jb25uZWN0aW9uX2xpc3QudW5zaGlmdChjb25uZWN0aW9uX2RhdGEp OwotICAgICAgICAgICAgICAgIHNlbGYucmVuZGVyX2Nvbm5lY3Rpb24oc2VsZi5jb25uZWN0aW9u X2xpc3QpOwotICAgICAgICAgICAgICAgIGxvYWRpbmdEaXYuYWRkQ2xhc3MoJ2Qtbm9uZScpOwot ICAgICAgICAgICAgICAgIGFsZXJ0aWZ5Lm5ld0Nvbm5lY3Rpb25EaWFsb2coKS5kZXN0cm95KCk7 Ci0gICAgICAgICAgICAgICAgcmVmLmNsb3NlKCk7Ci0gICAgICAgICAgICAgIH0gZWxzZSB7Ci0g ICAgICAgICAgICAgICAgbG9hZGluZ0Rpdi5hZGRDbGFzcygnZC1ub25lJyk7Ci0gICAgICAgICAg ICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAg IH0pCi0gICAgICAgICAgLmZhaWwoZnVuY3Rpb24oeGhyKSB7CisgICAgICAgICAgICAgICAgJ2Rp ZCc6IGNvbm5lY3Rpb25fZGV0YWlsc1snZGF0YWJhc2UnXSwKKyAgICAgICAgICAgICAgfSksCisg ICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLAorICAgICAgICAgICAgICBjb250ZW50VHlwZTog J2FwcGxpY2F0aW9uL2pzb24nLAorICAgICAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeShj b25uZWN0aW9uX2RldGFpbHMpLAorICAgICAgICAgICAgfSkKKyAgICAgICAgICAgICAgLmRvbmUo ZnVuY3Rpb24ocmVzKSB7CisgICAgICAgICAgICAgICAgaWYocmVzLnN1Y2Nlc3MpIHsKKyAgICAg ICAgICAgICAgICAgIHNlbGYudHJhbnNJZCA9IHJlcy5kYXRhLnRyYW5faWQ7CisgICAgICAgICAg ICAgICAgICBzZWxmLmhhbmRsZXIudHJhbnNJZCA9IHJlcy5kYXRhLnRyYW5faWQ7CisgICAgICAg ICAgICAgICAgICBzZWxmLmhhbmRsZXIudXJsX3BhcmFtcyA9IHsKKyAgICAgICAgICAgICAgICAg ICAgJ2RpZCc6IGNvbm5lY3Rpb25fZGV0YWlsc1snZGF0YWJhc2UnXSwKKyAgICAgICAgICAgICAg ICAgICAgJ2lzX3F1ZXJ5X3Rvb2wnOiBzZWxmLmhhbmRsZXIudXJsX3BhcmFtcy5pc19xdWVyeV90 b29sLAorICAgICAgICAgICAgICAgICAgICAnc2VydmVyX3R5cGUnOiBzZWxmLmhhbmRsZXIudXJs X3BhcmFtcy5zZXJ2ZXJfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgJ3NnaWQnOiBjb25uZWN0 aW9uX2RldGFpbHNbJ3NlcnZlcl9ncm91cCddLAorICAgICAgICAgICAgICAgICAgICAnc2lkJzog Y29ubmVjdGlvbl9kZXRhaWxzWydzZXJ2ZXInXSwKKyAgICAgICAgICAgICAgICAgICAgJ3RpdGxl JzogY29ubmVjdGlvbl9kZXRhaWxzWyd0aXRsZSddLAorICAgICAgICAgICAgICAgICAgfTsKKyAg ICAgICAgICAgICAgICAgIHNlbGYuc2V0X2VkaXRvcl90aXRsZShfLnVuZXNjYXBlKHNlbGYuaGFu ZGxlci51cmxfcGFyYW1zLnRpdGxlKSk7CisgICAgICAgICAgICAgICAgICBzZWxmLmhhbmRsZXIu c2V0VGl0bGUoXy51bmVzY2FwZShzZWxmLmhhbmRsZXIudXJsX3BhcmFtcy50aXRsZSkpOworICAg ICAgICAgICAgICAgICAgbGV0IHN1Y2Nlc3NfbXNnID0gY29ubmVjdGlvbl9kZXRhaWxzWydzZXJ2 ZXJfbmFtZSddICsgJy8nICsgY29ubmVjdGlvbl9kZXRhaWxzWydkYXRhYmFzZV9uYW1lJ10gKyAn LSBEYXRhYmFzZSBjb25uZWN0ZWQnOworICAgICAgICAgICAgICAgICAgYWxlcnRpZnkuc3VjY2Vz cyhzdWNjZXNzX21zZyk7CisgICAgICAgICAgICAgICAgICBpZihyZWYpeworICAgICAgICAgICAg ICAgICAgICBsZXQgY29ubmVjdGlvbl9kYXRhID0geworICAgICAgICAgICAgICAgICAgICAgICdz ZXJ2ZXJfZ3JvdXAnOiBzZWxmLmhhbmRsZXIudXJsX3BhcmFtcy5zZ2lkLAorICAgICAgICAgICAg ICAgICAgICAgICdzZXJ2ZXInOiBjb25uZWN0aW9uX2RldGFpbHNbJ3NlcnZlciddLAorICAgICAg ICAgICAgICAgICAgICAgICdkYXRhYmFzZSc6IGNvbm5lY3Rpb25fZGV0YWlsc1snZGF0YWJhc2Un XSwKKyAgICAgICAgICAgICAgICAgICAgICAndXNlcic6IGNvbm5lY3Rpb25fZGV0YWlsc1sndXNl ciddLAorICAgICAgICAgICAgICAgICAgICAgICd0aXRsZSc6IGNvbm5lY3Rpb25fZGV0YWlsc1sn dGl0bGUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAncm9sZSc6IGNvbm5lY3Rpb25fZGV0YWls c1sncm9sZSddLAorICAgICAgICAgICAgICAgICAgICAgICdpc19hbGxvd19uZXdfY29ubmVjdGlv bic6IHRydWUsCisgICAgICAgICAgICAgICAgICAgICAgJ2RhdGFiYXNlX25hbWUnOiBjb25uZWN0 aW9uX2RldGFpbHNbJ2RhdGFiYXNlX25hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAnc2Vy dmVyX25hbWUnOiBjb25uZWN0aW9uX2RldGFpbHNbJ3NlcnZlcl9uYW1lJ10sCisgICAgICAgICAg ICAgICAgICAgICAgJ2lzX3NlbGVjdGVkJzogdHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgfTsK KyAgICAgICAgICAgICAgICAgICAgc2VsZi5jb25uZWN0aW9uX2xpc3QudW5zaGlmdChjb25uZWN0 aW9uX2RhdGEpOworICAgICAgICAgICAgICAgICAgICBzZWxmLnJlbmRlcl9jb25uZWN0aW9uKHNl bGYuY29ubmVjdGlvbl9saXN0KTsKKyAgICAgICAgICAgICAgICAgICAgbG9hZGluZ0Rpdi5hZGRD bGFzcygnZC1ub25lJyk7CisgICAgICAgICAgICAgICAgICAgIGFsZXJ0aWZ5Lm5ld0Nvbm5lY3Rp b25EaWFsb2coKS5kZXN0cm95KCk7CisgICAgICAgICAgICAgICAgICAgIHJlZi5jbG9zZSgpOwor ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgbG9hZGluZ0Rp di5hZGRDbGFzcygnZC1ub25lJyk7CisgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgICB9KQorICAg ICAgICAgICAgICAuZmFpbChmdW5jdGlvbih4aHIpIHsKKyAgICAgICAgICAgICAgICBpZih4aHIu c3RhdHVzID09IDQyOCkgeworICAgICAgICAgICAgICAgICAgYWxlcnRpZnkuY29ubmVjdFNlcnZl cignQ29ubmVjdCB0byBzZXJ2ZXInLCB4aHIucmVzcG9uc2VKU09OLnJlc3VsdCwgY29ubmVjdGlv bl9kZXRhaWxzWydzZXJ2ZXInXSwgZmFsc2UpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7Cisg ICAgICAgICAgICAgICAgICBhbGVydGlmeS5lcnJvcih4aHIucmVzcG9uc2VKU09OWydlcnJvcm1z ZyddKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIH0pOworICAgICAgICAgIH0s CisgICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICBsb2FkaW5nRGl2LmFkZENsYXNz KCdkLW5vbmUnKTsKLSAgICAgICAgICAgIGlmKHhoci5zdGF0dXMgPT0gNDI4KSB7Ci0gICAgICAg ICAgICAgIGFsZXJ0aWZ5LmNvbm5lY3RTZXJ2ZXIoJ0Nvbm5lY3QgdG8gc2VydmVyJywgeGhyLnJl c3BvbnNlSlNPTi5yZXN1bHQsIGNvbm5lY3Rpb25fZGV0YWlsc1snc2VydmVyJ10sIGZhbHNlKTsK LSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgIGFsZXJ0aWZ5LmVycm9yKHhoci5y ZXNwb25zZUpTT05bJ2Vycm9ybXNnJ10pOwotICAgICAgICAgICAgfQotICAgICAgICAgIH0pOwor ICAgICAgICAgICAgYWxlcnRpZnkubmV3Q29ubmVjdGlvbkRpYWxvZygpLmRlc3Ryb3koKTsKKyAg ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgIH0KKyAgICAgICAgKS5zZXQoJ2xhYmVs cycsIHsKKyAgICAgICAgICBvazogZ2V0dGV4dCgnWWVzJyksCisgICAgICAgICAgY2FuY2VsOiBn ZXR0ZXh0KCdObycpLAorICAgICAgICB9KTsKICAgICAgIH0KICAgICB9LAogICB9KTsKQEAgLTI1 NDIsNyArMjU1OCw3IEBAIGRlZmluZSgndG9vbHMucXVlcnl0b29sJywgWwogICAgICAgICAgICAg J3NlcnZlcl9ncm91cCc6IHNlbGYuZ3JpZFZpZXcuaGFuZGxlci51cmxfcGFyYW1zLnNnaWQsCiAg ICAgICAgICAgICAnc2VydmVyJzogc2VsZi5ncmlkVmlldy5oYW5kbGVyLnVybF9wYXJhbXMuc2lk LAogICAgICAgICAgICAgJ2RhdGFiYXNlJzogc2VsZi5ncmlkVmlldy5oYW5kbGVyLnVybF9wYXJh bXMuZGlkLAotICAgICAgICAgICAgJ3VzZXInOiBudWxsLAorICAgICAgICAgICAgJ3VzZXInOiBz ZXJ2ZXJfZGF0YS5kYXRhLnVzZXIubmFtZSwKICAgICAgICAgICAgICdyb2xlJzogbnVsbCwKICAg ICAgICAgICAgICd0aXRsZSc6IF8udW5lc2NhcGUodXJsX3BhcmFtcy50aXRsZSksCiAgICAgICAg ICAgICAnaXNfYWxsb3dfbmV3X2Nvbm5lY3Rpb24nOiBmYWxzZSwKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvc2Nzcy9fc3FsZWRpdG9yLnNjc3MgYi93ZWIv cGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL3Njc3MvX3NxbGVkaXRvci5zY3NzCmluZGV4 IDdmYzU3NmEuLjlkNWJhNGQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRv ci9zdGF0aWMvc2Nzcy9fc3FsZWRpdG9yLnNjc3MKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3Fs ZWRpdG9yL3N0YXRpYy9zY3NzL19zcWxlZGl0b3Iuc2NzcwpAQCAtMzcxLDYgKzM3MSw5IEBAIGRp di5zdHJpa2VvdXQ6YWZ0ZXIgewogICBoZWlnaHQ6IDEwMCU7CiB9CiAKKy5zZWxlY3RlZC1jb25u ZWN0aW9uIHsKKyAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHQ7Cit9CiAK IC8qIFNldHRpbmcgaXQgdG8gaGFyZGNvZGVkIHdoaXRlIGFzIHRoZSBTVkcgZ2VuZXJhdGVkIGlz IGhhdmluZyB3aGl0ZSBiZwogICogTmVlZCB0byBjaGVjayB3aGF0IGNhbiBiZSBkb25lLgpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3V0aWxzL3F1ZXJ5X3Rvb2xfcHJl ZmVyZW5jZXMucHkgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvdXRpbHMvcXVlcnlfdG9v bF9wcmVmZXJlbmNlcy5weQppbmRleCA3NjUyM2IxLi42NDJhMWViIDEwMDY0NAotLS0gYS93ZWIv cGdhZG1pbi90b29scy9zcWxlZGl0b3IvdXRpbHMvcXVlcnlfdG9vbF9wcmVmZXJlbmNlcy5weQor KysgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvdXRpbHMvcXVlcnlfdG9vbF9wcmVmZXJl bmNlcy5weQpAQCAtMzI2LDYgKzMyNiwyOSBAQCBkZWYgcmVnaXN0ZXJfcXVlcnlfdG9vbF9wcmVm ZXJlbmNlcyhzZWxmKToKICAgICAgICAgKQogICAgICkKIAorICAgIHNlbGYucXRfdGFiX3RpdGxl ID0gc2VsZi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAorICAgICAgICAnZGlzcGxheScsICdxdF90YWJf dGl0bGVfcGxhY2Vob2xkZXInLAorICAgICAgICBnZXR0ZXh0KCJRdWVyeSB0b29sIHRhYiB0aXRs ZSBwbGFjZWhvbGRlciIpLAorICAgICAgICAndGV4dCcsICclREFUQUJBU0UlLyVVU0VSTkFNRSVA JVNFUlZFUiUnLAorICAgICAgICBjYXRlZ29yeV9sYWJlbD1QUkVGX0xBQkVMX0RJU1BMQVksCisg ICAgICAgIGhlbHBfc3RyPWdldHRleHQoCisgICAgICAgICAgICAnU3VwcG9ydGVkIHBsYWNlaG9s ZGVyczogREFUQUJBU0UsIFVTRVJOQU1FIGFuZCBTRVJWRVIuICcKKyAgICAgICAgICAgICdZb3Ug Y2FuIGFsc28gcHJvdmlkZSBhbnkgc3RyaW5nIHdpdGggb3Igd2l0aG91dCBwbGFjZWhvbGRlcnMu JworICAgICAgICApCisgICAgKQorCisgICAgc2VsZi52ZV9lZHRfdGFiX3RpdGxlID0gc2VsZi5w cmVmZXJlbmNlLnJlZ2lzdGVyKAorICAgICAgICAnZGlzcGxheScsICd2d19lZHRfdGFiX3RpdGxl X3BsYWNlaG9sZGVyJywKKyAgICAgICAgZ2V0dGV4dCgiVmlldy9FZGl0IHRhYiB0aXRsZSBwbGFj ZWhvbGRlciIpLAorICAgICAgICAndGV4dCcsICclU0NIRU1BJS4lVEFCTEUlLyVEQVRBQkFTRSUv JVVTRVJOQU1FJUAlU0VSVkVSJScsCisgICAgICAgIGNhdGVnb3J5X2xhYmVsPVBSRUZfTEFCRUxf RElTUExBWSwKKyAgICAgICAgaGVscF9zdHI9Z2V0dGV4dCgKKyAgICAgICAgICAgICdTdXBwb3J0 ZWQgcGxhY2Vob2xkZXJzOiBTQ0hFTUEsIFRBQkxFLCBEQVRBQkFTRSwgVVNFUk5BTUUgYW5kICcK KyAgICAgICAgICAgICdTRVJWRVIuIFlvdSBjYW4gYWxzbyBwcm92aWRlIGFueSBzdHJpbmcgd2l0 aCBvciAnCisgICAgICAgICAgICAnd2l0aG91dCBwbGFjZWhvbGRlcnMuJworICAgICAgICApCisg ICAgKQorCiAgICAgc2VsZi5jb25uZWN0aW9uX3N0YXR1cyA9IHNlbGYucHJlZmVyZW5jZS5yZWdp c3RlcigKICAgICAgICAgJ2Rpc3BsYXknLCAnY29ubmVjdGlvbl9zdGF0dXNfZmV0Y2hfdGltZScs CiAgICAgICAgIGdldHRleHQoIkNvbm5lY3Rpb24gc3RhdHVzIHJlZnJlc2ggcmF0ZSIpLCAnaW50 ZWdlcicsIDIsCg== --000000000000ce001c05b22c76a3--